.listing-header-mobile,
.mobile-search-dialog,
.advanced-filters-panel {
    display: none;
}

@media screen and (max-width: 991px) {
    .banner .item {
        height: auto;
        min-height: 270px;
        /* margin-top: 78px; */
    }

    .owl-homepage-slider .slider-caption h1.slider-title, 
    section.banner .slider-caption h1.slider-title {
        font-size: 30px;
    }

    .home .owl-homepage-slider .slider-caption h1.slider-title {
        font-size: 45px;
        margin-bottom: 2rem;
    }
}

@media (max-width: 744px) {
    .owl-homepage-slider {
        min-height: auto;
    }

    .banner .item {
        height: 320px;
    }

    .slider-caption h3, .slider-caption .slider-sub-title {
        text-transform: none;
    }

    .listing-header {
        display: none;
    }
    
    .listing-header-mobile {
        position: absolute;
        display: flex;
        flex-flow: column wrap;
        align-items: center;
        justify-content: flex-end;
        top: 0;
        bottom: 2rem;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 9;
        transition: all 0.3s ease;
    }

    .listing-header-mobile.sticky {
        position: fixed;
        top: 78px;
        bottom: auto;
        z-index: 999;
        background: #76052C;
    }
    
    .mobile-search-wrapper {
        width: 100%;
        padding-inline: 16px;
    }

    .listing-header-mobile.sticky .mobile-search-wrapper {
        margin-top: 0;
        padding-block: 16px;
    }

    .mobile-search-text {
        font-size: 14px;
        font-weight: 700;
        color: white;
        line-height: 1.5;
        margin-bottom: 24px;
        display: none;
    }

    .mobile-search-container {
        background-color: #fff;
        padding: 8px;
        border-radius: 1rem;
        display: flex;
        gap: 8px;
        max-width: 540px;
        margin: 0 auto;
        box-shadow: 0 6px 16px 0 oklch(0 0 0 / 0.14);
    }

    .mobile-search-box {
        background-color: #F4F4F5;
        padding: 12px 8px;
        border-radius: 8px;
        display: flex;
        align-items: center;
        gap: 8px;
        flex: 1;
    }

    .mobile-search-box .mobile-search-field-icon {
        display: inline-flex;
        place-content: center;
    }

    .mobile-search-box svg {
        width: 16px;
        height: 16px;
        transition: all 0.2s ease;
    }

    .mobile-search-btn {
        padding: 12px 9px;
        border-radius: 8px;
        background: #C4094A;
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 1;
    }

    /* Mobile Search Dialog */
    .mobile-search-dialog {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #fff;
        z-index: 9999;
        display: flex;
        flex-direction: column;
        opacity: 0;
        visibility: hidden;
        z-index: 9999999;
    }

    .mobile-search-dialog.active {
        opacity: 1;
        visibility: visible;
    }

    .search-dialog-content {
        background-color: #fff;
        width: 100%;
        height: calc(100vh - 48px);
        display: flex;
        flex-direction: column;
        position: relative;
        opacity: 0;
        /* transition: opacity 0.3s ease-out; */
    }

    .mobile-search-dialog.active .search-dialog-content {
        opacity: 1;
    }

    .mobile-search-dialog .search-dialog-content .search-accordion {
        transform: translateY(-5%);
        opacity: 0;
        will-change: transform;
        transition: transform 0.3s ease-out, opacity 0.4s ease-out;
    }

    .mobile-search-dialog.active .search-dialog-content .search-accordion {
        opacity: 1;
        transform: translateY(0);
    }

    .search-dialog-header {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 14px 16px;
        border-bottom: 1px solid #E5E7EB;
        background-color: #fff;
        position: sticky;
        top: 0;
        z-index: 10;
    }

    .search-dialog-header h4 {
        font-size: 16px;
        font-weight: 700;
        color: #23263B;
        margin: 0;
        text-align: center;
        line-height: 1.2;
        letter-spacing: 1px;
    }

    .close-dialog {
        background: none;
        border: none;
        position: absolute;
        right: 16px;
        padding: 4px;
        cursor: pointer;
        color: #6B7280;
        border-radius: 6px;
        transition: background-color 0.2s;
    }

    .close-dialog:hover {
        background-color: #F3F4F6;
    }

    .search-accordion {
        /* flex: 1; */
        /* height: calc(100% - 73px); */
        position: absolute;
        width: 100%;
        top: 0;
        bottom: 73px;
        overflow-y: auto;
        padding: 16px;
    }

    .accordion-item {
        border: 1px solid #D3D4D8;
        border-radius: 8px;
        margin-bottom: 8px;
    }

    .accordion-header {
        display: flex;
        align-items: center;
        cursor: pointer;
        background-color: #fff;
        transition: background-color 0.2s;
        gap: 12px;
        padding: 12px 16px;
        border-radius: 8px;
        overflow: hidden;
    }

    .accordion-icon {
        width: 24px;
        height: 24px;
        color: #91929D;
        flex-shrink: 0;
    }

    .accordion-content {
        flex: 1;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .accordion-title {
        color: #23263B;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.3;
        flex: 1;
    }

    .accordion-badge {
        font-size: 12px;
        font-weight: 700;
        color: #FFFFFF;
        background-color: #91929D;
        width: 24px;
        height: 24px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        flex-shrink: 0;
    }

    .accordion-body {
        height: 0;
        opacity: 0;
        overflow: hidden;
        padding: 0px 16px 0px;
        transition: max-height 0.4s ease, opacity 0.3s ease, padding 0.2s ease-out;
    }

    .accordion-item.active .accordion-body {
        /* max-height: 1000px; */
        height: fit-content; /* Large enough value to accommodate content */
        opacity: 1;
        padding: 4px 16px 16px;
    }

    .accordion-item[data-accordion="dates"].active .accordion-body {
        padding-top: 0;
        padding-bottom: 8px;
    }

    /* Region Options */
    .region-options, .guest-options {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .region-option, .guest-option {
        display: flex;
        align-items: center;
        gap: 8px;
        cursor: pointer;
        padding: 4px 0;
        margin-bottom: 0;
    }

    .region-option input[type="checkbox"], 
    .guest-option input[type="checkbox"] {
        width: 18px;
        height: 18px;
        border: 2px solid #91929D;
        border-radius: 4px;
        appearance: none;
        cursor: pointer;
        position: relative;
    }

    .region-option input[type="checkbox"]:checked,
    .guest-option input[type="checkbox"]:checked {
        background-color: #C4094A;
        border-color: #C4094A;
    }

    .region-option input[type="checkbox"]:checked::after,
    .guest-option input[type="checkbox"]:checked::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2U9IiNmZmYiIGNsYXNzPSJzaXplLTYiPgogIDxwYXRoIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0ibTQuNSAxMi43NSA2IDYgOS0xMy41IiAvPgo8L3N2Zz4K');
        background-size: contain;
        background-repeat: no-repeat;
        color: white;
        font-size: 12px;
        font-weight: bold;
        width: 14px;
        height: 14px;
        border-radius: 4px;
        animation: checkmarkAppear 0.3s ease-out;
    }

    @keyframes checkmarkAppear {
        0% {
            opacity: 0;
            transform: translate(-50%, -50%) scale(0);
        }
        50% {
            opacity: 1;
            transform: translate(-50%, -50%) scale(0.8);
        }
        100% {
            opacity: 1;
            transform: translate(-50%, -50%) scale(1);
        }
    }

    .region-option span,
    .guest-option span {
        font-size: 14px;
        font-weight: 400;
        color: #23263B;
    }

    /* Date Calendar */
    .calendar-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 16px;
    }

    .calendar-nav {
        background: none;
        border: none;
        padding: 8px;
        cursor: pointer;
        color: #6B7280;
        border-radius: 6px;
        outline: none;
        transition: background-color 0.2s;
    }

    .calendar-nav:hover {
        background-color: #F3F4F6;
    }

    .calendar-month {
        font-size: 16px;
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: 1px;
        color: #333333;
    }

    .calendar-grid {
        display: grid;
        grid-template-columns: repeat(7, 1fr);
        gap: 0px;
        margin-bottom: 8px;
    }

    .calendar-day-header {
        font-size: 14px;
        font-weight: 700;
        color: #91929D;
        text-align: center;
        height: 32px;
    }

    .calendar-date {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        cursor: pointer;
        border-radius: 6px;
        transition: all 0.2s;
        color: #374151;
        height: 34px;
    }

    .calendar-date.weekend {
        background-color: #F4ECE1;
        border-radius: 0;
    }

    .calendar-date.disabled {
        cursor: not-allowed;
        color: #D3D4D8;
    }

    .calendar-date.next-month {
        color: #D3D4D8;
    }

    .calendar-date.selected {
        background-color: #C4094A;
        color: #fff;
    }

    .calendar-date.selected.start {
        border-radius: 6px 0 0 6px;
    }

    .calendar-date.selected.end {
        border-radius: 0 6px 6px 0;
    }

    .calendar-date.in-range {
        background-color: #E79DB7;
        color: #fff;
        border-radius: 0;
    }


    .date-presets {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .date-preset {
        padding: 8px 12px;
        border: 1px solid #C4094A;
        border-radius: 8px;
        background-color: #fff;
        font-size: 12px;
        font-weight: 400;
        line-height: 1.4;
        color: #C4094A;
        cursor: pointer;
        transition: all 0.2s;
    }

    .date-preset:focus, .date-preset:active {
        outline: 0;
    }

    .date-preset.active {
        background-color: #C4094A;
        color: #fff;
    }


    /* Advanced Options */
    
    .advanced-section {
        margin-bottom: 16px;
    }

    .advanced-section label {
        display: block;
        font-size: 14px;
        font-weight: 500;
        color: #374151;
        margin-bottom: 8px;
    }

    /* Counter Controls */
    .counter-control {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 16px;
    }

    .counter-label {
        font-size: 14px;
        font-weight: 500;
        color: #374151;
        margin-bottom: 0;
        flex-shrink: 0;
    }

    .counter-buttons {
        display: flex;
        align-items: center;
        gap: 0px;
    }

    .counter-btn {
        width: 32px;
        height: 32px;
        border: 1px solid #D1D5DB;
        border-radius: 25px;
        background-color: #fff;
        color: #374151;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: all 0.2s;
        padding: 0;
        flex-shrink: 0;
    }

    .counter-btn:hover {
        background-color: #F9FAFB;
        border-color: #C4094A;
        color: #C4094A;
    }

    .counter-btn:active {
        background-color: #F3F4F6;
    }

    .counter-btn.minus:disabled,
    .counter-btn.plus:disabled {
        opacity: 0.4;
        cursor: not-allowed;
        border-color: #D1D5DB;
        color: #9CA3AF;
    }

    .counter-btn.minus:disabled:hover,
    .counter-btn.plus:disabled:hover {
        background-color: #fff;
        border-color: #D1D5DB;
        color: #9CA3AF;
    }

    .counter-value {
        width: 40px;
        height: 32px;
        text-align: center;
        border: 0px solid #D1D5DB;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        color: #23263B;
        background-color: transparent;
        -moz-appearance: textfield;
        appearance: textfield;
    }

    .counter-value::-webkit-outer-spin-button,
    .counter-value::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

    .advanced-toggles {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .toggle-option {
        display: flex;
        align-items: center;
        gap: 12px;
        cursor: pointer;
        margin-bottom: 0;
    }

    .toggle-option input[type="checkbox"] {
        display: none;
    }

    .toggle-slider {
        width: 44px;
        height: 24px;
        background-color: #D1D5DB;
        border-radius: 12px;
        position: relative;
        transition: background-color 0.3s;
        flex-shrink: 0;
    }

    .toggle-slider::after {
        content: '';
        position: absolute;
        top: 2px;
        left: 2px;
        width: 20px;
        height: 20px;
        background-color: white;
        border-radius: 50%;
        transition: transform 0.3s;
    }

    .toggle-option input[type="checkbox"]:checked + .toggle-slider {
        background-color: #C4094A;
    }

    .toggle-option input[type="checkbox"]:checked + .toggle-slider::after {
        transform: translateX(20px);
    }

    .toggle-option span:last-child {
        font-size: 14px;
        font-weight: 400;
        color: #374151;
    }

    /* Search Dialog Footer */
    .search-dialog-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 12px 16px 12px 4px;
        border-top: 1px solid #E5E7EB;
        background-color: #fff;
        position: absolute;
        bottom: 0;
        width: 100%;
        box-shadow: 8px 0px 16px 0px #23263B40;
    }

    .remove-all-btn {
        background: none;
        border: none;
        color: #23263B;
        font-size: 14px;
        font-weight: 400;
        line-height: 18px;
        cursor: pointer;
        padding: 15px 16px;
        border-radius: 6px;
        transition: background-color 0.2s;
        user-select: none;
    }

    .remove-all-btn:hover, 
    .remove-all-btn:active {
        color: #C4094A;
    }


    .search-btn {
        background-color: #C4094A;
        color: white;
        border: none;
        padding: 12px 24px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 700;
        line-height: 24px;
        letter-spacing: 1px;
        cursor: pointer;
        display: flex;
        align-items: center;
        gap: 8px;
        transition: background-color 0.2s;
        user-select: none;
    }

    .search-btn:hover {
        background-color: #be0848;
    }

    /* */
    .close-panel {
        display: inline-flex;
        place-items: center;
        position: absolute;
        right: 16px;
        background: none;
        border: none;
        padding: 4px;
        cursor: pointer;
        color: #6B7280;
        border-radius: 6px;
        transition: background-color 0.2s;
    }

    .close-panel:hover {
        background-color: #F3F4F6;
    }

    /* Header related styles */
    .home .slider-caption {
        padding: 0 60px;
        top: 20%;
    }

    body:not(.home) .slider-caption {
        padding: 60px;
        top: 10%;
    }

    #product_filter {
        display: none;
    }
/*     
    .navbar.navbar-default {
        position: sticky !important;
        top: 0;
        transition: all 0.2s ease;
    } */

    .banner_top_section {
        /* display: none !important; */
    }
    .banner {
        /* margin-top: 78px; */
    }
}

@media (max-width: 600px) {

}

@media (max-width: 480px) {
    body:not(.home) .slider-caption {
        top: 16%;
    }
    .home .slider-caption {
        position: relative;
        padding: 0 42px;
        top: 25%;
    }
    .slider-caption h3, .slider-caption .slider-sub-title {
        font-size: 16px;
        text-transform: none;
    }
}

@media (max-width: 414px) {
    .home .slider-caption {
        padding: 0 32px;
    }
    body:not(.home) .slider-caption {
        padding: 48px;
    }
}

@media (max-width: 400px) {
    .search-dialog-header h4 {
        font-size: 15px;
        letter-spacing: 0px;
    }

    .search-meta span {
        font-size: 12px;
    }

    .accordion-subtitle {
        font-size: 12px;
    }
}

@media (max-width: 368px) {
    .mobile-search-box {
        padding: 8px;
        gap: 0;
        flex-direction: column;
        justify-content: center;
    }
    .mobile-search-box svg {
        width: 16px;
        height: 16px;
    }
    .mobile-search-box .mobile-search-field-label {
        font-size: 12px;
    }
}