.video-container {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.background-video,
.video-fallback-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.overlay {
    position: absolute;
    inset: 0;
    background-color: rgb(8 18 34 / var(--tw-bg-opacity, 1));
    opacity: 0.6;
}

.home-banner.blue-overlay .overlay {
    opacity: 1;
    background: linear-gradient(to bottom right, rgba(8, 18, 34, 0.8), rgba(0, 56, 101, 0.7), rgba(8, 18, 34, 0.8));
}

.page-hero-section.home-banner {
    padding-bottom: 2rem;
    height: 100vh;
}

.home-banner :is(.page-hero-heading) {
    font-weight: 600;
}

.home-banner :is(.page-hero-heading, .page-hero-paragraph, page-hero-subheading) {
    color: var(--white);
    margin-bottom: 1.5rem;
}

.home-banner .page-hero-heading span {
    display: block;
}

.home-banner .page-hero-heading span.ltBlue {
    color: rgb(176 223 251 / var(--tw-text-opacity, 1))
}

.home-banner .page-hero-eyebrow-text {
    text-transform: capitalize;
    color: rgb(176 223 251 / var(--tw-text-opacity, 1));
}

.home-banner .page-hero-eyebrow {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.bannerButtonWrapper {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/*
 * Search Bar Wrapper and Container
 */
.search-bar-wrapper {
    max-width: 60rem; /* Equivalent to max-w-5xl, aligning with hero content max-width */
    margin-left: auto;
    margin-right: auto;
}

.search-bar-container {
    position: relative;
    background-color: #fff;
    border-radius: 0.75rem; /* Equivalent to rounded-xl */
    padding: 0.125rem; /* Equivalent to py-0.5 and px-0 */
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1); /* Equivalent to shadow-2xl */
}

.search-input-group {
    position: relative;
    display: flex; /* To align icon, input, and button */
    align-items: center; /* To vertically align items */
}

.search-icon {
    position: absolute;
    left: 1rem; /* Equivalent to left-4 */
    top: 50%;
    transform: translateY(-50%); /* Equivalent to transform -translate-y-1/2 */
    color: #6b7280; /* Equivalent to text-gray-500 */
    height: 1.25rem; /* Equivalent to h-5 */
    width: 1.25rem; /* Equivalent to w-5 */
}

.search-bar-container .search-input {
    width: 100%;
    padding-left: 3rem; /* Equivalent to pl-12 (48px for icon + spacing) */
    padding-right: 120px; /* Equivalent to pr-4 */
    padding-top: 0.75rem; /* Equivalent to py-3 */
    padding-bottom: 0.75rem; /* Equivalent to py-3 */
    font-size: 1.125rem; /* Equivalent to text-lg */
    border-radius: 0.5rem; /* Equivalent to rounded-lg */
    border: 0; /* Equivalent to border-0 */
    background-color: #fff; /* Equivalent to bg-white */
    outline: none; /* Equivalent to focus:outline-none */
    color: #333; /* Default text color for input */
    height: 52px;
}

.search-input::placeholder {
    color: #6b7280; /* Equivalent to placeholder:text-gray-500 */
}

.search-input:focus {
    /* Replicating focus:ring-2 focus:ring-daikin-light-blue */
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #87CEEB; /* A representative value for daikin-light-blue */
}

.search-button {
    position: absolute;
    right: 0.375rem; /* Equivalent to right-1.5 */
    top: 50%;
    transform: translateY(-50%); /* Equivalent to transform -translate-y-1/2 */
    background-color: var(--daikin-blue); /* Equivalent to bg-daikin-blue */
    color: #fff;
    padding: 0.625rem 1rem; /* Equivalent to py-2.5 (adjust px as needed) */
    border-radius: 0.5rem; /* Matches input rounded-lg */
    border: none;
    cursor: pointer;
    font-weight: 500;
    transition: background-color 0.2s ease-in-out;
}

.search-button:hover {
    background-color: #001f3f; /* Equivalent to hover:bg-daikin-dark-navy */
}

.searchError {
    display: none;
    color: var(--flamingo);
    margin-top: 0.4rem;
    font-size: 0.875em;
    font-weight: 600;
    text-shadow: 0px 0px 21px var(--black);
}

@media (min-width: 768px) {
    .home-banner .page-hero-eyebrow-text {
        font-size: 1.3rem;
    }

    .bannerButtonWrapper {
        display: flex;
        justify-content: center;
        gap: 1rem;
        flex-direction: row;
    }

    .bannerButtonWrapper .button {
        padding-block: 0.5rem;
    }

    .button.button-outline.button-outline--white {
        border-color: var(--white);
        color: var(--white);
    }

    .button.button-outline.button-outline--white:hover {
        background: var(--white);
        color: var(--primary-blue);
    }
}
