/*
YosuTravels Mobile Consistency Release
Keeps one deterministic mobile homepage behavior across devices and avoids layout drift.
*/

:root {
    --yt-mobile-nav-safe-bottom: max(0.8rem, env(safe-area-inset-bottom));
}

/* Ensure mobile app layout is shown consistently up to tablet portrait widths. */
@media (max-width: 991.98px) {
    .yt-mobile-app-home {
        display: block !important;
    }

    .yt-home-legacy,
    .yt-home-legacy.d-none.d-md-block {
        display: none !important;
    }

    .yt-mobile-app-home.d-md-none {
        display: block !important;
    }

    .yt-home-legacy,
    .yt-home-legacy .home-mobile-heading,
    .yt-home-legacy .home-official-hero,
    .yt-home-legacy .mobile-home-categories.d-md-none,
    .yt-home-legacy .mobile-discovery-hero.d-md-none,
    .yt-home-legacy .yt-mobile-recent.d-md-none {
        display: none !important;
    }
}

/* Restore desktop/tablet breakpoint behavior above this range. */
@media (min-width: 992px) {
    .yt-mobile-app-home {
        display: none !important;
    }
}

/* Universal mobile containment (prevents large icons/images and horizontal overflow). */
@media (max-width: 991.98px) {
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden !important;
    }

    .page-wrapper,
    .container,
    .container-fluid,
    .body-wrapper,
    .row,
    main {
        max-width: 100%;
        width: 100%;
        overflow-x: hidden !important;
    }

    .yt-mobile-app-home,
    .yt-mobile-app-section,
    .yt-mobile-app-scroll,
    .yt-mobile-app-card {
        box-sizing: border-box;
    }

    .yt-mobile-app-home {
        width: 100%;
        padding: 0.85rem 0.85rem 7.2rem !important;
        background: #ffffff;
        color: #2a3547;
    }

    .yt-mobile-app-hero {
        text-align: center;
        padding: .9rem;
        border-radius: 1.5rem;
        margin: 0 0 0.9rem;
        border: 1px solid rgba(42, 53, 71, 0.08);
        background: #fff;
        box-shadow: 0 12px 28px rgba(42, 53, 71, 0.09);
    }

    .yt-mobile-app-hero h1 {
        margin: 0 0 .22rem;
        font-size: clamp(1.5rem, 7vw, 2rem);
        font-weight: 650;
        line-height: 1.05;
        color: #111827;
    }

    .yt-mobile-app-hero h2 {
        margin: 0 0 .45rem;
        font-size: clamp(1rem, 4.5vw, 1.3rem);
        font-weight: 650;
        line-height: 1.12;
        color: #111827;
    }

    .yt-mobile-app-hero p {
        margin: 0;
        color: #5a6a85;
        font-size: 0.93rem;
        font-weight: 500;
    }

    .yt-mobile-app-search {
        margin: 0 0 .9rem;
        padding: .75rem .82rem;
        border: 1px solid rgba(42, 53, 71, 0.1);
        border-radius: 1.2rem;
        background: #fff;
        box-shadow: 0 10px 26px rgba(42, 53, 71, 0.09);
    }

    .yt-mobile-app-search label {
        display: block;
        margin-bottom: .45rem;
        color: #111827;
        font-size: 0.9rem;
        font-weight: 600;
    }

    .yt-mobile-search-open,
    .yt-mobile-app-search-line input,
    .yt-mobile-search-submit,
    .yt-mobile-contact-card button,
    .yt-mobile-contact-card a.yt-mobile-contact-btn,
    .yt-mobile-contact-card input,
    .yt-mobile-search-types button,
    .yt-mobile-search-popular button {
        min-height: 2.85rem;
        border-radius: 999px;
    }

    .yt-mobile-search-open {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .6rem;
        padding: 0 .9rem;
        border: 1px solid rgba(42, 53, 71, 0.18);
        background: #f8fafc;
        color: #2a3547;
        font-size: 0.92rem;
        font-weight: 600;
    }

    .yt-mobile-search-open i {
        color: #111827;
    }

    .yt-mobile-app-chips,
    .yt-mobile-app-scroll {
        display: flex;
        gap: .55rem;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding: 0 .1rem .7rem;
        scrollbar-width: none;
    }

    .yt-mobile-app-chips::-webkit-scrollbar,
    .yt-mobile-app-scroll::-webkit-scrollbar {
        display: none;
    }

    .yt-mobile-app-chips a,
    .yt-mobile-app-chips button {
        border-radius: 999px;
        padding: .58rem .9rem;
        min-height: 2.55rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        white-space: nowrap;
        border: 1px solid rgba(42, 53, 71, 0.15);
        background: #fff;
        color: #2a3547;
        font-size: 0.88rem;
        font-weight: 600;
        text-decoration: none;
    }

    .yt-mobile-app-chips a:first-child {
        background: var(--color-theme-darker);
        border-color: var(--color-theme-darker);
        color: #fff;
    }

    .yt-mobile-app-section {
        margin-top: 1.45rem;
    }

    .yt-mobile-app-section-head {
        margin-bottom: .95rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .yt-mobile-app-section-head span {
        font-size: 1rem;
        font-weight: 650;
        color: #111827;
    }

    .yt-mobile-app-section-head a {
        color: var(--color-theme-darker);
        font-size: .84rem;
        font-weight: 600;
    }

    .yt-mobile-app-card {
        flex: 0 0 76%;
        max-width: 76%;
        min-width: 76%;
        border: 1px solid rgba(42, 53, 71, 0.1);
        border-radius: 1.25rem;
        padding: .5rem;
        background: #fff;
        text-decoration: none;
        color: #2a3547;
        box-shadow: 0 12px 30px rgba(42, 53, 71, 0.08);
        scroll-snap-align: start;
        overflow: hidden;
    }

    .yt-mobile-app-card img {
        width: 100%;
        height: 9.6rem;
        max-height: 9.6rem;
        object-fit: cover;
        border-radius: .95rem;
        display: block;
    }

    .yt-mobile-app-card small {
        margin-top: .6rem;
        color: var(--color-theme-darker);
        font-size: .77rem;
        font-weight: 550;
        display: block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .yt-mobile-app-card strong {
        margin-top: .18rem;
        display: block;
        color: #111827;
        font-size: .96rem;
        font-weight: 650;
        line-height: 1.2;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .yt-mobile-app-card em {
        margin-top: .32rem;
        display: block;
        color: #5a6a85;
        font-size: .82rem;
        font-style: normal;
        font-weight: 500;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .yt-mobile-contact-card {
        margin: 0 0 .75rem;
        border-radius: 1rem;
        border: 1px solid rgba(42, 53, 71, 0.12);
        background: #fff;
        color: #2a3547;
        padding: .82rem;
    }

    .yt-mobile-contact-card p {
        margin: 0 0 .55rem;
        color: #5a6a85;
        font-size: .86rem;
        line-height: 1.35;
        white-space: pre-line;
    }

    .yt-mobile-contact-card input {
        width: 100%;
        min-height: 2.55rem;
        border: 1px solid rgba(42, 53, 71, 0.2);
        border-radius: 999px;
        padding: 0 .95rem;
        background: #fff;
        font-size: .9rem;
    }

    .yt-mobile-contact-card .yt-mobile-contact-btn,
    .yt-mobile-contact-card button {
        width: 100%;
        min-height: 2.55rem;
        border: 1px solid var(--color-theme-darker);
        background: var(--color-theme-darker) !important;
        color: #fff !important;
        border-radius: 999px;
        font-size: .9rem;
        font-weight: 550;
    }

    .yt-mobile-search-sheet {
        position: fixed;
        inset: 0;
        z-index: 1050;
        display: flex;
        align-items: stretch;
        justify-content: stretch;
        padding: .8rem;
        background: rgba(9, 20, 42, 0.26);
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
    }

    .yt-mobile-search-sheet.is-open {
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
    }

    .yt-mobile-search-panel {
        margin-top: auto;
        margin-bottom: auto;
        width: 100%;
        background: #fff;
        border-radius: 1.2rem;
        box-shadow: 0 26px 70px rgba(17, 24, 39, 0.2);
        padding: .8rem;
        border: 1px solid rgba(42, 53, 71, 0.12);
    }

    .yt-mobile-search-result,
    .yt-mobile-search-popular button {
        display: flex;
        gap: .7rem;
        align-items: center;
        min-height: 3rem;
        border-radius: .85rem;
        padding: .5rem .55rem;
    }

    .yt-mobile-search-thumb {
        width: 52px;
        height: 52px;
        object-fit: cover;
        border-radius: .65rem;
        flex: 0 0 52px;
    }

    .yt-mobile-search-label {
        margin: .8rem 0 .35rem;
        font-size: .86rem;
        font-weight: 650;
        color: #26324a;
    }

    .yt-mobile-search-results,
    .yt-mobile-search-popular,
    .yt-mobile-search-sheet,
    .yt-mobile-search-label,
    .yt-mobile-search-types button,
    .yt-mobile-search-dates input {
        font-size: .9rem;
    }

    .mobile-bottom-nav,
    .yt-mobile-bottom-nav {
        left: .8rem !important;
        right: .8rem !important;
        bottom: var(--yt-mobile-nav-safe-bottom);
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: .25rem !important;
        padding: .35rem !important;
        border: 1px solid rgba(42, 53, 71, 0.12) !important;
        border-radius: 999px !important;
        background: rgba(255, 255, 255, 0.96) !important;
        box-shadow: 0 18px 40px rgba(42, 53, 71, 0.16) !important;
    }

    .mobile-bottom-nav-link,
    .yt-mobile-bottom-nav a {
        min-height: 2.4rem !important;
        border-radius: 999px !important;
        color: #2a3547 !important;
        background: transparent !important;
        font-size: .62rem !important;
        font-weight: 600 !important;
    }

    .mobile-bottom-nav-link.active,
    .yt-mobile-bottom-nav a.active {
        background: var(--color-theme-darker) !important;
        color: #fff !important;
    }

    .page-wrapper {
        padding-bottom: 6rem !important;
    }
}

/* Keep legacy hero section from being shown on mobile layout widths. */
@media (max-width: 991.98px) {
    .home-official-hero,
    .home-mobile-heading {
        display: none !important;
    }
}

/* Full phone range: iPhone SE through Pro Max and common Android 6-7 inch devices. */
@media (min-width: 320px) and (max-width: 991.98px) {
    .yt-mobile-app-home {
        display: block !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding-left: max(0.85rem, env(safe-area-inset-left)) !important;
        padding-right: max(0.85rem, env(safe-area-inset-right)) !important;
    }

    .yt-mobile-app-home *,
    .yt-mobile-search-sheet * {
        min-width: 0;
        letter-spacing: 0 !important;
    }

    .yt-mobile-app-card {
        flex: 0 0 clamp(15.5rem, 76vw, 21.5rem) !important;
        width: clamp(15.5rem, 76vw, 21.5rem) !important;
        max-width: clamp(15.5rem, 76vw, 21.5rem) !important;
        min-width: clamp(15.5rem, 76vw, 21.5rem) !important;
    }

    .yt-mobile-app-card img {
        height: clamp(9rem, 40vw, 10.2rem) !important;
        max-height: 10.2rem !important;
    }

    .yt-mobile-app-hero h1 {
        font-size: clamp(1.45rem, 6vw, 2rem) !important;
    }

    .yt-mobile-app-hero h2 {
        font-size: clamp(1rem, 4.5vw, 1.28rem) !important;
    }

    .mobile-bottom-nav,
    .yt-mobile-bottom-nav {
        width: auto !important;
        max-width: calc(100vw - 1.6rem) !important;
    }
}

/* v17 stability pass: keep public pages usable on desktop and mobile. */
@media (min-width: 992px) {
    .yt-mobile-app-home {
        display: none !important;
    }

    .yt-home-legacy {
        display: block !important;
    }
}

@media (max-width: 991.98px) {
    .header,
    .navbar,
    .fixed-header {
        max-width: 100% !important;
        overflow: visible !important;
    }

    .navbar-collapse.show,
    .navbar-collapse.collapsing {
        position: absolute !important;
        top: calc(100% + .35rem) !important;
        left: .75rem !important;
        right: .75rem !important;
        z-index: 1060 !important;
        max-height: calc(100vh - 7rem) !important;
        overflow-y: auto !important;
        border: 1px solid rgba(42, 53, 71, .12) !important;
        border-radius: 1.15rem !important;
        background: rgba(255, 255, 255, .98) !important;
        box-shadow: 0 18px 45px rgba(42, 53, 71, .18) !important;
        padding: .75rem !important;
    }

    .navbar-collapse .navbar-nav {
        margin: 0 !important;
        gap: .35rem !important;
        font-size: .95rem !important;
        font-weight: 600 !important;
    }

    .navbar-collapse .nav-link {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        min-height: 2.7rem !important;
        border-radius: 999px !important;
        padding: .55rem .9rem !important;
        text-decoration: none !important;
        color: #2a3547 !important;
        background: #fff !important;
    }

    .navbar-collapse .nav-link.active,
    .navbar-collapse .nav-link:hover {
        background: var(--color-theme-darker) !important;
        color: #fff !important;
    }

    .shop-part,
    .shop-part > .card-body,
    .container.pb-5,
    .container .card.position-relative.overflow-hidden {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .shop-part {
        display: block !important;
    }

    .shop-part .card-body,
    .container.pb-5 .card-body {
        padding: 1rem !important;
    }

    .shop-part .row,
    .container.pb-5 .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .shop-part .row > [class*="col-"],
    .container.pb-5 .row > [class*="col-"] {
        padding-left: .35rem !important;
        padding-right: .35rem !important;
    }

    .shop-part .card.hover-img,
    .container.pb-5 .card.hover-img {
        border-radius: 1.15rem !important;
        border: 1px solid rgba(42, 53, 71, .1) !important;
        box-shadow: 0 12px 28px rgba(42, 53, 71, .08) !important;
        overflow: hidden !important;
    }

    .shop-part .card-img-top,
    .container.pb-5 .card-img-top {
        width: 100% !important;
        height: clamp(12rem, 52vw, 16rem) !important;
        max-height: 16rem !important;
        object-fit: cover !important;
        display: block !important;
    }

    .shop-part .card-body h6.fs-4,
    .container.pb-5 .card-body h6.fs-4 {
        font-size: 1rem !important;
        line-height: 1.25 !important;
        font-weight: 650 !important;
    }

    .shop-part .card-body .fs-2,
    .shop-part .card-body .fs-3,
    .container.pb-5 .card-body .fs-2,
    .container.pb-5 .card-body .fs-3 {
        font-size: .88rem !important;
        line-height: 1.35 !important;
        font-weight: 520 !important;
    }

    .travel-card-cta {
        min-height: 2.55rem !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: .9rem !important;
        font-weight: 550 !important;
    }

    .container img,
    .page-wrapper img {
        max-width: 100% !important;
    }

    .container .height-400 {
        height: auto !important;
        min-height: 0 !important;
        margin-right: 0 !important;
    }

    .container .height-400 img {
        height: auto !important;
        max-height: 22rem !important;
        aspect-ratio: 4 / 3 !important;
    }

    .mobile-home-categories {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .65rem !important;
    }

    .mobile-category-pill {
        min-width: 0 !important;
    }
}

/* v66 final visual polish: this file loads after app.css, so keep the final mobile
   glass and horizontal rail rules here too. */
@media (max-width: 767.98px) {
    body.public-hue-bg {
        background:
            radial-gradient(circle at 12% 5%, rgba(var(--color-theme-rgb), 0.13), transparent 18rem),
            radial-gradient(circle at 88% 22%, rgba(var(--color-theme-rgb), 0.09), transparent 17rem),
            linear-gradient(180deg, #ffffff 0%, rgba(var(--color-theme-rgb), 0.035) 42%, #ffffff 100%) !important;
    }

    .public-hue-bg .fixed-header {
        margin-top: 0.65rem !important;
        padding: 0.42rem 0.65rem !important;
        overflow: visible !important;
        border: 1px solid rgba(255, 255, 255, 0.7) !important;
        border-radius: 1.55rem !important;
        background: rgba(255, 255, 255, 0.72) !important;
        box-shadow: 0 18px 42px rgba(42, 53, 71, 0.11) !important;
        backdrop-filter: blur(18px) saturate(1.15) !important;
        -webkit-backdrop-filter: blur(18px) saturate(1.15) !important;
    }

    .public-hue-bg .brand-logo img {
        height: 54px !important;
        width: auto !important;
        object-fit: contain !important;
    }

    .public-hue-bg .navbar-toggler {
        width: 2.65rem !important;
        height: 2.65rem !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 50% !important;
        background: rgba(255, 255, 255, 0.75) !important;
        box-shadow: 0 10px 24px rgba(42, 53, 71, 0.1) !important;
    }

    .home-stable-page {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .home-stable-hero,
    .home-stable-section,
    .booking-content-section {
        position: relative !important;
        isolation: isolate !important;
    }

    .home-stable-hero::before,
    .home-stable-section::before,
    .booking-content-section::before {
        content: "" !important;
        position: absolute !important;
        inset: 0.15rem -0.45rem !important;
        z-index: -1 !important;
        border-radius: 1.6rem !important;
        background: radial-gradient(circle at 20% 10%, rgba(var(--color-theme-rgb), 0.09), transparent 56%) !important;
        pointer-events: none !important;
    }

    .home-stable-page .home-destination-strip,
    .home-stable-page .home-horizontal-scroll,
    .home-mobile-article-list {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 0.85rem !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        width: auto !important;
        max-width: none !important;
        margin-left: -1rem !important;
        margin-right: -1rem !important;
        padding: 0.25rem 1rem 1.1rem !important;
        scroll-snap-type: x proximity !important;
        overscroll-behavior-x: contain !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-x pan-y !important;
        scrollbar-width: none !important;
    }

    .home-stable-page .home-horizontal-scroll > .home-scroll-item,
    .home-stable-page .home-horizontal-scroll > [class*="col-"] {
        flex: 0 0 76% !important;
        width: 76% !important;
        max-width: 18.75rem !important;
        min-width: 14.25rem !important;
        padding: 0 !important;
        margin: 0 !important;
        scroll-snap-align: start !important;
    }

    .home-stable-page .home-destination-strip > .home-destination-item,
    .home-stable-page .home-destination-strip > [class*="col-"] {
        flex: 0 0 44% !important;
        width: 44% !important;
        max-width: 10.25rem !important;
        min-width: 8.75rem !important;
        padding: 0 !important;
        margin: 0 !important;
        scroll-snap-align: start !important;
    }

    .home-premium-card,
    .home-destination-card,
    .home-stable-section .card {
        border-radius: 1.35rem !important;
        background: rgba(255, 255, 255, 0.92) !important;
        border: 1px solid rgba(255, 255, 255, 0.74) !important;
        box-shadow: 0 18px 40px rgba(42, 53, 71, 0.09) !important;
    }

    .home-premium-card img {
        height: 11rem !important;
        object-fit: cover !important;
    }

    .home-destination-card img {
        height: 7.8rem !important;
        object-fit: cover !important;
    }

    .mobile-bottom-nav,
    .yt-mobile-bottom-nav {
        left: 0.85rem !important;
        right: 0.85rem !important;
        bottom: max(0.75rem, env(safe-area-inset-bottom)) !important;
        width: auto !important;
        max-width: none !important;
        border-radius: 1.6rem !important;
        border: 1px solid rgba(255, 255, 255, 0.72) !important;
        background: rgba(255, 255, 255, 0.78) !important;
        box-shadow: 0 18px 44px rgba(42, 53, 71, 0.16) !important;
        backdrop-filter: blur(18px) saturate(1.12) !important;
        -webkit-backdrop-filter: blur(18px) saturate(1.12) !important;
    }

    .mobile-bottom-nav-link,
    .yt-mobile-bottom-nav a {
        color: #1f2937 !important;
        background: transparent !important;
        border-radius: 1.1rem !important;
        font-weight: 560 !important;
    }

    .mobile-bottom-nav-link.active,
    .mobile-bottom-nav-link:hover,
    .yt-mobile-bottom-nav a.active,
    .yt-mobile-bottom-nav a:hover {
        color: var(--color-theme-darker) !important;
        background: rgba(var(--color-theme-rgb), 0.16) !important;
    }
}

/* v67: safe lower-homepage polish after this mobile release file loads. */
@media (max-width: 767.98px) {
    .home-service-links-section,
    .home-account-cta-section {
        padding-top: 0.85rem !important;
        padding-bottom: 1rem !important;
    }

    .home-service-links-grid {
        display: grid !important;
        gap: 0.85rem !important;
    }

    .home-service-link-card {
        display: flex !important;
        align-items: center !important;
        gap: 0.85rem !important;
        padding: 0.9rem !important;
        border-radius: 1.2rem !important;
        border: 1px solid rgba(var(--color-theme-darker-rgb), 0.1) !important;
        background:
            radial-gradient(circle at top left, rgba(var(--color-theme-rgb), 0.12), transparent 48%),
            rgba(255, 255, 255, 0.94) !important;
        color: #111827 !important;
        text-decoration: none !important;
        box-shadow: 0 14px 34px rgba(42, 53, 71, 0.08) !important;
    }

    .home-service-link-icon {
        flex: 0 0 2.55rem !important;
        width: 2.55rem !important;
        height: 2.55rem !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 50% !important;
        background: rgba(var(--color-theme-rgb), 0.16) !important;
        color: var(--color-theme-darker) !important;
        font-size: 1.18rem !important;
    }

    .home-service-link-copy {
        display: grid !important;
        gap: 0.15rem !important;
        flex: 1 1 auto !important;
    }

    .home-service-link-copy strong,
    .home-section-intro h3,
    .home-account-cta-card h3 {
        font-weight: 650 !important;
    }

    .home-service-link-copy small {
        color: #5d6878 !important;
        line-height: 1.35 !important;
    }

    .home-account-cta-card {
        background:
            radial-gradient(circle at 12% 10%, rgba(var(--color-theme-rgb), 0.18), transparent 42%),
            #ffffff !important;
    }

    .public-footer-wrap {
        padding: 0 0.85rem 6.8rem !important;
        background:
            radial-gradient(circle at 15% 0%, rgba(var(--color-theme-rgb), 0.12), transparent 24rem),
            linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(var(--color-theme-rgb), 0.055)) !important;
    }

    .public-footer,
    .public-footer h5 {
        color: #111827 !important;
    }

    .public-footer .container {
        border-radius: 1.6rem !important;
        border: 1px solid rgba(var(--color-theme-darker-rgb), 0.12) !important;
        background: rgba(255, 255, 255, 0.86) !important;
        box-shadow: 0 18px 46px rgba(42, 53, 71, 0.08) !important;
        padding: 1rem !important;
    }

    .public-footer a,
    .public-footer .ti {
        color: var(--color-theme-darker) !important;
    }

    .public-footer p,
    .public-footer small {
        color: #5d6878 !important;
    }
}

/* v68: keep internal page hero headings readable on mobile. */
@media (max-width: 767.98px) {
    .page-list-hero-title,
    .container > .row:first-child .main-title,
    .about-stable-page .main-title,
    .booking-content-section .main-title {
        font-size: clamp(1.45rem, 7vw, 2rem) !important;
        line-height: 1.14 !important;
        font-weight: 680 !important;
        letter-spacing: -0.028em !important;
    }

    .page-list-hero-intro,
    .page-list-hero-copy,
    .container > .row:first-child .lead,
    .about-stable-page .lead {
        font-size: clamp(0.95rem, 4vw, 1.1rem) !important;
        line-height: 1.45 !important;
        font-weight: 480 !important;
        max-width: 34rem !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .home-mobile-search-grid input[type="number"],
    .home-mobile-search-grid input[type="date"],
    .home-mobile-search-grid select {
        min-height: 2.65rem !important;
        border-radius: 0.95rem !important;
        color: #111827 !important;
        background: rgba(255, 255, 255, 0.92) !important;
    }
}

/* v69: final mobile menu active-state and gallery/account polish. */
@media (max-width: 767.98px) {
    .home-account-cta-logo {
        width: auto !important;
        max-width: 9rem !important;
        height: 4.25rem !important;
        object-fit: contain !important;
        border-radius: 0 !important;
        background: transparent !important;
        filter: drop-shadow(0 10px 18px rgba(42, 53, 71, 0.14)) !important;
        box-shadow: none !important;
        padding: 0 !important;
    }

    .home-gallery-strip .home-scroll-item {
        flex: 0 0 78% !important;
        width: 78% !important;
        max-width: 18rem !important;
    }

    .home-gallery-strip img {
        height: 11.5rem !important;
        object-fit: cover !important;
    }

    .public-hue-bg .navbar-collapse .nav-link:not(.active).bg-theme-darker {
        background: #ffffff !important;
        color: #111827 !important;
    }
}

/* v70: final lightweight mobile homepage polish. */
.home-section-note {
    color: #5f6c7b;
    font-size: 0.82rem;
    font-weight: 500;
}

.home-inspiration-card {
    display: block;
    position: relative;
    isolation: isolate;
}

.home-inspiration-card::after {
    content: "\ea9a";
    font-family: "tabler-icons";
    position: absolute;
    right: 0.8rem;
    bottom: 0.8rem;
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: 999px;
    color: #ffffff;
    background: rgba(31, 41, 55, 0.72);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.home-news-section {
    margin-bottom: 1.5rem;
}

.home-news-card {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(184, 203, 30, 0.16) !important;
}

.home-news-card img {
    height: 10.5rem;
    object-fit: cover;
}

.home-news-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.18rem 0.55rem;
    background: rgba(184, 203, 30, 0.14);
    color: #111827;
    font-size: 0.72rem;
    font-weight: 650;
}

.home-news-share {
    display: inline-grid;
    width: 2.15rem;
    height: 2.15rem;
    place-items: center;
    border-radius: 999px;
    color: #111827;
    background: rgba(184, 203, 30, 0.16);
    text-decoration: none;
}

.home-news-share:hover,
.home-news-share:focus {
    color: #ffffff;
    background: var(--color-theme-darker, #b8cb1e);
}

.home-card-actions-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    margin: 0.45rem 0 0.6rem;
}

.home-card-rating {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    min-width: 0;
    color: #111827;
    font-size: 0.78rem;
    font-weight: 650;
    line-height: 1.2;
}

.home-card-rating span {
    color: var(--color-theme-darker, #b8cb1e);
    letter-spacing: -0.08em;
}

@media (max-width: 767.98px) {
    .home-stable-page .home-news-section .home-scroll-item {
        flex-basis: 70% !important;
        max-width: 16.5rem !important;
    }

    .home-news-card img {
        height: 8.75rem !important;
    }

    .home-news-card .card-body {
        padding: 0.95rem !important;
    }

    .home-news-card h5 {
        font-size: 0.96rem !important;
        line-height: 1.3 !important;
        font-weight: 600 !important;
    }

    .home-section-note {
        font-size: 0.75rem;
        text-align: right;
    }

    .home-card-actions-row {
        margin-top: 0.35rem;
        margin-bottom: 0.5rem;
    }

    .home-card-rating {
        font-size: 0.74rem !important;
    }
}

/* v113: final mobile homepage flow override loaded after app.css. */
@media (max-width: 767.98px) {
    body.public-hue-bg {
        background:
            radial-gradient(circle at 9% 2%, rgba(var(--color-theme-rgb), 0.17), transparent 16rem),
            radial-gradient(circle at 94% 22%, rgba(var(--color-theme-rgb), 0.12), transparent 18rem),
            linear-gradient(180deg, #ffffff 0%, rgba(var(--color-theme-rgb), 0.058) 44%, #ffffff 100%) !important;
    }

    .public-hue-bg .page-wrapper,
    .home-stable-page {
        background: transparent !important;
    }

    .home-stable-page.container {
        max-width: 100% !important;
        padding-inline: 1rem !important;
    }

    .home-visual-hero {
        margin: -0.35rem -1rem 1.35rem !important;
        min-height: min(70vh, 35rem) !important;
        border-radius: 0 0 1.9rem 1.9rem !important;
        box-shadow: 0 30px 72px rgba(15, 23, 42, 0.17) !important;
    }

    .home-visual-hero-content {
        max-width: calc(100vw - 2rem) !important;
        padding: 1.1rem !important;
        border-radius: 1.35rem !important;
        background: linear-gradient(135deg, rgba(15, 23, 42, 0.18), rgba(15, 23, 42, 0.02)) !important;
        backdrop-filter: blur(2px);
    }

    .home-stable-page .home-stable-section {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        margin: 0 !important;
        padding-top: 0.85rem !important;
        padding-bottom: 1.25rem !important;
    }

    .home-stable-page .home-stable-section::before {
        display: none !important;
    }

    .home-stable-page .home-stable-section > .d-flex {
        margin-bottom: 0.95rem !important;
    }

    .home-stable-page .home-stable-section > .d-flex h3,
    .home-section-intro h3,
    .home-account-cta-card h3 {
        font-size: 1.18rem !important;
        font-weight: 650 !important;
        letter-spacing: -0.02em;
    }

    .home-product-section {
        position: relative;
    }

    .home-product-section::after {
        content: "";
        position: absolute;
        inset: 0 -1rem;
        z-index: -1;
        border-radius: 1.6rem;
        background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(var(--color-theme-rgb), 0.06), rgba(255, 255, 255, 0));
        pointer-events: none;
    }

    .home-premium-card,
    .home-news-card,
    .home-destination-card,
    .home-account-cta-card,
    .home-stable-section > .row.g-3 > .col-md-6 > .card {
        background: rgba(255, 255, 255, 0.9) !important;
        border: 1px solid rgba(var(--color-theme-darker-rgb), 0.075) !important;
        box-shadow: 0 16px 38px rgba(15, 23, 42, 0.075) !important;
    }

    .home-service-links-section .home-section-intro {
        text-align: left !important;
    }

    .home-service-link-card {
        min-height: auto !important;
        padding: 0.9rem !important;
        background: rgba(255, 255, 255, 0.72) !important;
        border-color: rgba(var(--color-theme-darker-rgb), 0.08) !important;
        box-shadow: 0 12px 28px rgba(15, 23, 42, 0.055) !important;
    }

    .home-service-link-icon {
        background: rgba(var(--color-theme-rgb), 0.14) !important;
    }

    .home-stable-section > .row.g-3 {
        row-gap: 0.85rem !important;
    }

    .home-stable-section > .row.g-3 > .col-md-6 > .card .card-body,
    .home-account-cta-card .card-body {
        padding: 1.15rem !important;
    }

    .home-news-card img {
        height: 150px !important;
    }
}

/* v119: mobile hero/gallery is an immersive visual area, not a rounded card. */
@media (max-width: 767.98px) {
    .home-visual-hero {
        margin: -0.35rem -1rem 0.75rem !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        min-height: min(68vh, 34rem) !important;
    }

    .home-visual-hero--fallback {
        min-height: min(46vh, 24rem) !important;
    }

    .home-visual-hero-content {
        background: transparent !important;
        border-radius: 0 !important;
        backdrop-filter: none !important;
    }
}

/* v120: lighter mobile menu after moving Tavura/currency into the header. */
@media (max-width: 991.98px) {
    .public-header-utilities {
        gap: .45rem !important;
    }

    .mobile-header-icon-button {
        min-width: 2.25rem;
        height: 2.45rem;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: #13231b;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .22rem;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        text-decoration: none;
    }

    .mobile-header-icon-button i {
        font-size: 1.15rem;
        line-height: 1;
    }

    .mobile-header-icon-button img {
        width: 1.22rem;
        height: 1.22rem;
        object-fit: contain;
        filter: drop-shadow(0 4px 8px rgba(16, 45, 34, .16));
    }

    .mobile-header-icon-button span {
        font-size: 1rem;
        font-weight: 750;
    }

    .mobile-header-icon-button.active,
    .mobile-header-icon-button:hover,
    .mobile-header-icon-button:focus {
        background: transparent;
        color: #122d23;
    }

    .mobile-header-currency-symbol {
        min-width: 1.15rem;
        display: inline-block;
        font-size: 1.2rem !important;
        line-height: 1;
        text-align: center;
    }

    .mobile-header-currency .dropdown-toggle::after {
        display: none;
    }

    .mobile-header-currency-menu {
        min-width: 9.5rem;
        border-radius: 1rem;
        padding: .45rem;
        box-shadow: 0 22px 50px rgba(16, 45, 34, .16);
    }

    .yosu-mobile-menu-shell .navbar-nav {
        gap: .2rem;
        padding: .7rem;
    }

    .yosu-mobile-menu-shell .nav-item {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .yosu-mobile-menu-shell .nav-link {
        min-height: 2.65rem;
        padding: .68rem .9rem !important;
        border-radius: 1rem !important;
        font-size: .9rem !important;
        font-weight: 650 !important;
        letter-spacing: .01em;
    }

    .mobile-bottom-nav-tavura img {
        width: 1.25rem;
        height: 1.25rem;
        object-fit: contain;
        margin-bottom: .12rem;
        filter: drop-shadow(0 4px 8px rgba(16, 45, 34, .16));
    }

    /* v124: keep header and quick-action utility icons visually balanced. */
    .mobile-header-currency-symbol {
        font-size: 1.05rem !important;
        font-weight: 760;
    }

    .mobile-header-tavura img {
        width: 1.58rem !important;
        height: 1.58rem !important;
    }

    .mobile-bottom-nav-link i,
    .yt-mobile-bottom-nav i {
        font-size: 1.2rem !important;
    }

    .mobile-bottom-nav-tavura img {
        width: 1.55rem !important;
        height: 1.55rem !important;
        margin-bottom: .04rem;
    }
}

/* v140: force Tavura access icons to stay readable on iPhone/Safari. */
@media (max-width: 991.98px) {
    .mobile-header-icon-button.mobile-header-tavura {
        width: 2.65rem !important;
        min-width: 2.65rem !important;
        height: 2.65rem !important;
        padding: 0 !important;
    }

    .mobile-header-icon-button.mobile-header-tavura img,
    .mobile-header-tavura > img {
        display: block !important;
        width: 2.2rem !important;
        min-width: 2.2rem !important;
        height: 2.2rem !important;
        min-height: 2.2rem !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: contain !important;
        transform: none !important;
    }

    .mobile-bottom-nav-link.mobile-bottom-nav-tavura img,
    .mobile-bottom-nav-tavura > img {
        display: block !important;
        width: 2.05rem !important;
        min-width: 2.05rem !important;
        height: 2.05rem !important;
        min-height: 2.05rem !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: contain !important;
        margin: 0 auto .05rem !important;
        transform: none !important;
    }
}

/* v140-final: must stay at the end so Tavura mobile icon size wins on iPhone/Safari. */
@media (max-width: 991.98px) {
    .mobile-header-icon-button.mobile-header-tavura {
        width: 2.65rem !important;
        min-width: 2.65rem !important;
        height: 2.65rem !important;
        padding: 0 !important;
        flex: 0 0 2.65rem !important;
    }

    .mobile-header-icon-button.mobile-header-tavura img,
    .mobile-header-tavura > img {
        display: block !important;
        width: 2.2rem !important;
        min-width: 2.2rem !important;
        height: 2.2rem !important;
        min-height: 2.2rem !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: contain !important;
        transform: none !important;
    }

    .mobile-bottom-nav-link.mobile-bottom-nav-tavura img,
    .mobile-bottom-nav-tavura > img {
        display: block !important;
        width: 2.05rem !important;
        min-width: 2.05rem !important;
        height: 2.05rem !important;
        min-height: 2.05rem !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: contain !important;
        margin: 0 auto .05rem !important;
        transform: none !important;
    }
}
/* v142-final: Tavura PNG has transparent padding, so allow a larger visual mark without affecting other icons. */
@media (max-width: 991.98px) {
    .mobile-header-icon-button.mobile-header-tavura,
    .mobile-bottom-nav-link.mobile-bottom-nav-tavura {
        overflow: visible !important;
    }

    .mobile-header-icon-button.mobile-header-tavura img,
    .mobile-header-tavura > img {
        width: 3.35rem !important;
        min-width: 3.35rem !important;
        height: 3.35rem !important;
        min-height: 3.35rem !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: contain !important;
        transform: scale(1.08) !important;
        transform-origin: center !important;
    }

    .mobile-bottom-nav-link.mobile-bottom-nav-tavura img,
    .mobile-bottom-nav-tavura > img {
        width: 3rem !important;
        min-width: 3rem !important;
        height: 3rem !important;
        min-height: 3rem !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: contain !important;
        margin: -.35rem auto -.18rem !important;
        transform: scale(1.06) !important;
        transform-origin: center !important;
    }
}
/* v144 final mobile image-first card polish and system dark support. */
@media (max-width: 991.98px) {
    .home-destination-card,
    .home-premium-card,
    .yt-search-card,
    .booking-list-image-card,
    .public-hue-bg .hover-img.card {
        border-radius: 14px !important;
        border: 1px solid rgba(var(--color-theme-darker-rgb), 0.08) !important;
        background: rgba(255, 255, 255, 0.96) !important;
        box-shadow: 0 16px 38px rgba(15, 23, 42, 0.09) !important;
    }

    .home-destination-card img,
    .home-premium-card > a > img,
    .home-premium-card img,
    .yt-search-card img,
    .booking-list-image-card img,
    .public-hue-bg .hover-img.card .card-img-top {
        min-height: 245px !important;
        object-fit: cover !important;
        border-radius: 0 !important;
    }

    .home-destination-card .card-body,
    .home-premium-card .card-body,
    .yt-search-card .card-body,
    .booking-list-image-card .card-body,
    .public-hue-bg .hover-img.card .card-body {
        padding: 1rem 1rem 1.15rem !important;
    }
}

@media (prefers-color-scheme: dark) {
    body.public-hue-bg,
    .public-hue-bg {
        color: #f8fafc !important;
        background:
            radial-gradient(circle at 12% 4%, rgba(var(--color-theme-rgb), 0.17), transparent 24rem),
            radial-gradient(circle at 88% 18%, rgba(var(--color-theme-rgb), 0.1), transparent 28rem),
            linear-gradient(180deg, #07110d 0%, #101815 45%, #07110d 100%) !important;
    }

    .public-hue-bg .text-black,
    .public-hue-bg h1,
    .public-hue-bg h2,
    .public-hue-bg h3,
    .public-hue-bg h4,
    .public-hue-bg h5,
    .public-hue-bg h6,
    .public-hue-bg .lead,
    .public-hue-bg .nav-link,
    .public-hue-bg label {
        color: #f8fafc !important;
    }

    .public-hue-bg .text-muted,
    .public-hue-bg small,
    .public-hue-bg p {
        color: #cbd5e1 !important;
    }

    .public-hue-bg .card,
    .public-hue-bg .home-destination-card,
    .public-hue-bg .home-premium-card,
    .public-hue-bg .yt-search-card,
    .public-hue-bg .hover-img.card,
    .public-hue-bg .account-card,
    .public-hue-bg .tavura-landing-card {
        background: rgba(15, 23, 21, 0.94) !important;
        border-color: rgba(var(--color-theme-rgb), 0.16) !important;
        color: #f8fafc !important;
        box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28) !important;
    }

    .public-hue-bg .navbar,
    .public-hue-bg .mobile-header-shell,
    .public-hue-bg .mobile-bottom-nav,
    .public-hue-bg .bottom-quick-actions {
        background: rgba(12, 18, 16, 0.78) !important;
        border-color: rgba(var(--color-theme-rgb), 0.16) !important;
        color: #f8fafc !important;
        backdrop-filter: blur(18px);
    }

    .public-hue-bg .form-control,
    .public-hue-bg .form-select,
    .public-hue-bg input,
    .public-hue-bg select,
    .public-hue-bg textarea,
    .public-hue-bg .dropdown-menu {
        background-color: rgba(15, 23, 21, 0.96) !important;
        border-color: rgba(var(--color-theme-rgb), 0.18) !important;
        color: #f8fafc !important;
    }
}

/* v159-listing-ui: apply destination-style logic to listings and move bulky filters out of view. */
.listing-page-search-panel {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

.listing-filter-chip-row {
    margin-top: .25rem !important;
    margin-bottom: 1.2rem !important;
}

.listing-filter-chip {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 2rem !important;
    padding: .35rem .75rem !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.74) !important;
    border: 1px solid rgba(17, 24, 39, 0.08) !important;
    color: #111827 !important;
    font-size: .82rem !important;
    font-weight: 600 !important;
}

.public-hue-bg .shop-part,
.public-hue-bg .shop-part > .card-body,
.public-hue-bg .card.position-relative.overflow-hidden {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.public-hue-bg .shop-filters {
    background: rgba(255, 255, 255, 0.64) !important;
    border-radius: 18px !important;
    border-color: rgba(17, 24, 39, 0.08) !important;
}

.listing-editorial-card .position-relative > a:first-child {
    display: block !important;
}

.listing-editorial-card .position-absolute.rounded-circle {
    display: none !important;
}

.listing-editorial-card .card-body {
    padding: 1rem .2rem 0 !important;
}

.listing-editorial-card .travel-card-cta {
    width: auto !important;
    padding-inline: 1.1rem !important;
}

@media (max-width: 991.98px) {
    .public-hue-bg .shop-part {
        display: block !important;
    }

    .public-hue-bg .shop-part > .card-body {
        padding: 0 !important;
    }

    .public-hue-bg .shop-part .row > [class*="col-"] {
        margin-bottom: 1.5rem !important;
    }

    .listing-editorial-card .card-img-top,
    .listing-editorial-card img.card-img-top {
        min-height: clamp(320px, 82vw, 460px) !important;
    }
}

@media (prefers-color-scheme: dark) {
    .listing-filter-chip {
        background: rgba(15, 23, 21, 0.92) !important;
        border-color: rgba(255, 255, 255, 0.12) !important;
        color: #f8fafc !important;
    }

    .public-hue-bg .shop-filters {
        background: rgba(15, 23, 21, 0.9) !important;
        border-color: rgba(255, 255, 255, 0.1) !important;
        color: #f8fafc !important;
    }
}

/* v145: calmer green accent + sharper image-first mobile cards. */
@media (max-width: 991.98px) {
    body.public-hue-bg,
    .public-hue-bg {
        background:
            radial-gradient(circle at 8% 0%, rgba(var(--color-theme-rgb), 0.105), transparent 18rem),
            radial-gradient(circle at 92% 16%, rgba(var(--color-theme-rgb), 0.065), transparent 20rem),
            linear-gradient(180deg, #fbfdf9 0%, #f7fbf4 38%, #ffffff 100%) !important;
    }

    .public-hue-bg h1,
    .public-hue-bg h2,
    .public-hue-bg h3,
    .public-hue-bg h4,
    .public-hue-bg h5,
    .public-hue-bg h6,
    .public-hue-bg .section-title,
    .public-hue-bg .home-card-title,
    .public-hue-bg .card-title {
        color: #101418 !important;
    }

    .public-hue-bg p,
    .public-hue-bg .lead,
    .public-hue-bg .text-muted,
    .public-hue-bg .home-card-preview,
    .public-hue-bg .card-text {
        color: #606973 !important;
    }

    .home-destination-card,
    .home-premium-card,
    .yt-search-card,
    .booking-list-image-card,
    .public-hue-bg .hover-img.card {
        border-radius: 8px !important;
        border-color: rgba(17, 24, 39, 0.075) !important;
        background: rgba(255, 255, 255, 0.96) !important;
        box-shadow: 0 14px 34px rgba(17, 24, 39, 0.1) !important;
        overflow: hidden !important;
    }

    .home-destination-card img,
    .home-premium-card > a > img,
    .home-premium-card img,
    .yt-search-card img,
    .booking-list-image-card img,
    .public-hue-bg .hover-img.card .card-img-top {
        min-height: 260px !important;
        width: 100% !important;
        object-fit: cover !important;
        border-radius: 0 !important;
        display: block !important;
    }

    .home-destination-card .card-body,
    .home-premium-card .card-body,
    .yt-search-card .card-body,
    .booking-list-image-card .card-body,
    .public-hue-bg .hover-img.card .card-body {
        padding: .95rem 1rem 1.1rem !important;
    }

    .public-hue-bg .price,
    .public-hue-bg .card-price,
    .public-hue-bg .home-card-price,
    .public-hue-bg .fw-bold:not(.btn):not(.badge) {
        color: #161a1d !important;
    }

    .public-hue-bg .home-card-more,
    .public-hue-bg .home-card-rating,
    .public-hue-bg .offer-card-location i,
    .public-hue-bg .active,
    .public-hue-bg .nav-link.active {
        color: var(--color-theme) !important;
    }

    .public-hue-bg .btn:not(.btn-outline-dark):not(.btn-light):not(.btn-link) {
        background-color: var(--color-theme) !important;
        border-color: var(--color-theme) !important;
        color: #fff !important;
    }
}

@media (prefers-color-scheme: dark) and (max-width: 991.98px) {
    body.public-hue-bg,
    .public-hue-bg {
        background:
            radial-gradient(circle at 12% 4%, rgba(var(--color-theme-rgb), 0.14), transparent 22rem),
            radial-gradient(circle at 88% 18%, rgba(var(--color-theme-rgb), 0.08), transparent 24rem),
            linear-gradient(180deg, #07110d 0%, #111815 48%, #07110d 100%) !important;
    }

    .public-hue-bg h1,
    .public-hue-bg h2,
    .public-hue-bg h3,
    .public-hue-bg h4,
    .public-hue-bg h5,
    .public-hue-bg h6,
    .public-hue-bg .section-title,
    .public-hue-bg .home-card-title,
    .public-hue-bg .card-title,
    .public-hue-bg .price,
    .public-hue-bg .card-price,
    .public-hue-bg .home-card-price,
    .public-hue-bg .fw-bold:not(.btn):not(.badge) {
        color: #f8fafc !important;
    }

    .public-hue-bg p,
    .public-hue-bg .lead,
    .public-hue-bg .text-muted,
    .public-hue-bg .home-card-preview,
    .public-hue-bg .card-text {
        color: #cbd5e1 !important;
    }
}

/* v153: keep the top mobile header on the same dark glass system as the bottom nav. */
@media (prefers-color-scheme: dark) {
    .header,
    .header .navbar,
    .fixed-header {
        background: rgba(7, 13, 11, 0.76) !important;
        border-color: rgba(255, 255, 255, 0.12) !important;
        box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34) !important;
        color: #f8fafc !important;
        -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
        backdrop-filter: blur(18px) saturate(145%) !important;
    }

    .fixed-header .navbar-brand,
    .fixed-header .navbar-brand *,
    .public-header-utilities,
    .public-header-utilities *,
    .mobile-header-icon-button,
    .mobile-header-icon-button i,
    .mobile-header-icon-button span,
    .mobile-header-currency-symbol,
    .navbar-toggler,
    .navbar-toggler i {
        color: #f8fafc !important;
        border-color: rgba(255, 255, 255, 0.14) !important;
    }

    .mobile-header-icon-button {
        background: rgba(255, 255, 255, 0.07) !important;
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08) !important;
    }

    .mobile-header-icon-button.active,
    .mobile-header-icon-button:hover,
    .mobile-header-icon-button:focus {
        color: var(--color-theme) !important;
        background: rgba(var(--color-theme-rgb), 0.16) !important;
    }

    .mobile-header-currency-menu,
    .public-header-utilities .dropdown-menu {
        background: rgba(12, 18, 16, 0.98) !important;
        border-color: rgba(255, 255, 255, 0.12) !important;
        box-shadow: 0 20px 42px rgba(0, 0, 0, 0.38) !important;
    }

    .mobile-header-currency-menu .dropdown-item,
    .public-header-utilities .dropdown-item {
        color: #f8fafc !important;
    }

    .mobile-header-currency-menu .dropdown-item.active,
    .mobile-header-currency-menu .dropdown-item:hover,
    .public-header-utilities .dropdown-item.active,
    .public-header-utilities .dropdown-item:hover {
        background: rgba(var(--color-theme-rgb), 0.18) !important;
        color: #ffffff !important;
    }

    .public-hue-bg .home-stable-section .card:not(.home-editorial-tile):not(.listing-editorial-card),
    .public-hue-bg .home-news-card,
    .public-hue-bg .home-account-cta-card,
    .public-hue-bg .home-service-link-card {
        background: rgba(15, 23, 21, 0.94) !important;
        border-color: rgba(255, 255, 255, 0.1) !important;
        color: #f8fafc !important;
        box-shadow: 0 18px 42px rgba(0, 0, 0, 0.26) !important;
    }

    .public-hue-bg .home-stable-section .card h1,
    .public-hue-bg .home-stable-section .card h2,
    .public-hue-bg .home-stable-section .card h3,
    .public-hue-bg .home-stable-section .card h4,
    .public-hue-bg .home-stable-section .card h5,
    .public-hue-bg .home-stable-section .card h6,
    .public-hue-bg .home-stable-section .text-black,
    .public-hue-bg .home-section-intro h3,
    .public-hue-bg .home-news-section h3,
    .public-hue-bg .home-news-section a.text-black,
    .public-hue-bg .home-service-link-card strong {
        color: #f8fafc !important;
    }

    .public-hue-bg .home-stable-section .card p,
    .public-hue-bg .home-stable-section .card .text-muted,
    .public-hue-bg .home-stable-section .card small,
    .public-hue-bg .home-section-intro p,
    .public-hue-bg .home-service-link-card small {
        color: #cbd5e1 !important;
    }

    .public-hue-bg .home-stable-section input,
    .public-hue-bg .home-stable-section .form-control {
        background: rgba(7, 13, 11, 0.9) !important;
        border-color: rgba(255, 255, 255, 0.14) !important;
        color: #f8fafc !important;
    }

    .public-hue-bg .home-stable-section input::placeholder {
        color: #94a3b8 !important;
    }

    .public-hue-bg .home-account-secondary,
    .public-hue-bg .btn-light {
        background: rgba(255, 255, 255, 0.08) !important;
        border-color: rgba(255, 255, 255, 0.16) !important;
        color: #f8fafc !important;
    }
}

/* v154: make destination cards proper mobile image tiles, not narrow Bootstrap strips. */
.home-stable-page .home-destination-strip {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 1rem !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x proximity !important;
    padding: .2rem .15rem 1rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.home-stable-page .home-destination-strip > .home-destination-item {
    width: auto !important;
    flex: 0 0 min(82vw, 360px) !important;
    max-width: min(82vw, 360px) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    scroll-snap-align: start !important;
}

.home-stable-page .home-destination-card {
    display: block !important;
    width: 100% !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.home-stable-page .home-destination-card img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: cover !important;
    border-radius: 10px !important;
}

@media (min-width: 992px) {
    .home-stable-page .home-destination-strip {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        overflow: visible !important;
        gap: 1.15rem !important;
    }

    .home-stable-page .home-destination-strip > .home-destination-item {
        max-width: none !important;
        width: 100% !important;
        flex: none !important;
    }
}

/* v154: tint the actual top header glass in dark mode across mobile and desktop. */
@media (prefers-color-scheme: dark) {
    body .header,
    body .header.bg-transparent,
    body .header .navbar,
    body .header .navbar.navbar-light,
    body .fixed-header,
    body .public-header-utilities {
        background-color: rgba(6, 12, 10, 0.84) !important;
        background-image: linear-gradient(135deg, rgba(6, 12, 10, 0.92), rgba(17, 28, 24, 0.78)) !important;
        border: 1px solid rgba(255, 255, 255, 0.12) !important;
        color: #f8fafc !important;
        -webkit-backdrop-filter: blur(20px) saturate(150%) !important;
        backdrop-filter: blur(20px) saturate(150%) !important;
    }

    body .header .navbar-light .navbar-toggler,
    body .header .navbar-toggler,
    body .header .mobile-header-icon-button,
    body .header .mobile-header-currency-symbol,
    body .header .ti,
    body .header i,
    body .header span:not(.badge) {
        color: #f8fafc !important;
    }
}

/* v155: shared public dark-mode surfaces for about/listing/presentation boxes. */
@media (prefers-color-scheme: dark) {
    body.public-hue-bg,
    .public-hue-bg {
        color: #f8fafc !important;
    }

    .public-hue-bg .about-stable-page .card,
    .public-hue-bg .about-stable-page .card-body,
    .public-hue-bg .shop-part .card,
    .public-hue-bg .container.pb-5 .card,
    .public-hue-bg .booking-panel-card,
    .public-hue-bg .booking-summary-card,
    .public-hue-bg .engagement-card,
    .public-hue-bg .account-card,
    .public-hue-bg .tavura-landing-card,
    .public-hue-bg .tavura-explorer-card,
    .public-hue-bg .tavura-benefits-card,
    .public-hue-bg .page-wrapper .card,
    .public-hue-bg .card:not(.home-editorial-tile):not(.listing-editorial-card):not(.home-destination-card):not(.home-premium-card) {
        background: rgba(15, 23, 21, 0.94) !important;
        border-color: rgba(255, 255, 255, 0.1) !important;
        color: #f8fafc !important;
        box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28) !important;
    }

    .public-hue-bg .about-stable-page h1,
    .public-hue-bg .about-stable-page h2,
    .public-hue-bg .about-stable-page h3,
    .public-hue-bg .about-stable-page h4,
    .public-hue-bg .about-stable-page h5,
    .public-hue-bg .about-stable-page h6,
    .public-hue-bg .about-stable-page .text-black,
    .public-hue-bg .shop-part .text-black,
    .public-hue-bg .container.pb-5 .text-black,
    .public-hue-bg .page-wrapper .text-black,
    .public-hue-bg .card .text-black,
    .public-hue-bg .card h1,
    .public-hue-bg .card h2,
    .public-hue-bg .card h3,
    .public-hue-bg .card h4,
    .public-hue-bg .card h5,
    .public-hue-bg .card h6,
    .public-hue-bg .card .fw-bolder,
    .public-hue-bg .card .fw-bold,
    .public-hue-bg .card .fw-semibold {
        color: #f8fafc !important;
    }

    .public-hue-bg .about-stable-page p,
    .public-hue-bg .about-stable-page .lead,
    .public-hue-bg .about-stable-page .text-muted,
    .public-hue-bg .shop-part .text-muted,
    .public-hue-bg .container.pb-5 .text-muted,
    .public-hue-bg .page-wrapper .text-muted,
    .public-hue-bg .card p,
    .public-hue-bg .card small,
    .public-hue-bg .card .text-muted,
    .public-hue-bg .card .card-text {
        color: #cbd5e1 !important;
    }

    .public-hue-bg .card a:not(.btn),
    .public-hue-bg .about-stable-page a:not(.btn),
    .public-hue-bg .shop-part a:not(.btn) {
        color: #f8fafc !important;
    }

    .public-hue-bg .card .btn-light,
    .public-hue-bg .card .btn-outline-dark {
        background: rgba(255, 255, 255, 0.08) !important;
        border-color: rgba(255, 255, 255, 0.16) !important;
        color: #f8fafc !important;
    }

    .public-hue-bg .feature-pill,
    .public-hue-bg .characteristic-pill,
    .public-hue-bg .service-pill {
        background: rgba(255, 255, 255, 0.08) !important;
        border-color: rgba(255, 255, 255, 0.12) !important;
        color: #f8fafc !important;
    }
}

/* v156-final: last-word visual conflict cleanup for hero, header, drawer, footer, Tavura. */
.home-visual-hero .home-visual-hero-content,
.home-visual-hero .home-visual-hero-content h1,
.home-visual-hero .home-visual-hero-content h2,
.home-visual-hero .home-visual-hero-content p,
.home-visual-hero .main-title,
.home-visual-hero .lead {
    color: #ffffff !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35) !important;
}

.header {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}

.header .navbar,
.public-header-utilities {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}

.fixed-header {
    background: rgba(255, 255, 255, 0.72) !important;
    border: 1px solid rgba(255, 255, 255, 0.52) !important;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.12) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
}

.home-search-drawer-panel,
.home-mobile-search-card,
.public-footer-wrap,
.public-footer,
.tavura-landing-page,
.tavura-landing-card,
.tavura-explorer-card,
.tavura-benefits-card {
    color: #111827 !important;
}

@media (prefers-color-scheme: dark) {
    .header,
    .header.bg-transparent,
    .header .navbar,
    .header .navbar.navbar-light,
    .public-header-utilities {
        background: transparent !important;
        box-shadow: none !important;
        border: 0 !important;
    }

    .fixed-header {
        background: rgba(6, 12, 10, 0.76) !important;
        background-image: linear-gradient(135deg, rgba(6, 12, 10, 0.86), rgba(16, 26, 22, 0.7)) !important;
        border: 1px solid rgba(255, 255, 255, 0.12) !important;
        box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34) !important;
        color: #f8fafc !important;
        -webkit-backdrop-filter: blur(20px) saturate(150%) !important;
        backdrop-filter: blur(20px) saturate(150%) !important;
    }

    .fixed-header *,
    .header .mobile-header-icon-button,
    .header .mobile-header-icon-button i,
    .header .mobile-header-icon-button span,
    .header .mobile-header-currency-symbol,
    .header .navbar-toggler,
    .header .navbar-toggler i {
        color: #f8fafc !important;
    }

    .home-search-drawer-panel,
    .home-mobile-search-card,
    .home-mobile-search-options,
    .public-footer-wrap,
    .public-footer,
    .tavura-landing-page,
    .tavura-landing-card,
    .tavura-explorer-card,
    .tavura-benefits-card {
        background: rgba(15, 23, 21, 0.96) !important;
        border-color: rgba(255, 255, 255, 0.12) !important;
        color: #f8fafc !important;
    }

    .home-search-drawer-panel h1,
    .home-search-drawer-panel h2,
    .home-search-drawer-panel h3,
    .home-search-drawer-panel .text-black,
    .public-footer h1,
    .public-footer h2,
    .public-footer h3,
    .public-footer h4,
    .public-footer h5,
    .public-footer a,
    .public-footer .ti,
    .tavura-landing-page h1,
    .tavura-landing-page h2,
    .tavura-landing-page h3,
    .tavura-landing-page h4,
    .tavura-landing-page h5,
    .tavura-landing-page .text-black {
        color: #f8fafc !important;
    }

    .home-search-drawer-panel p,
    .home-search-drawer-panel small,
    .home-search-drawer-panel label,
    .home-search-drawer-panel span,
    .home-search-drawer-panel summary,
    .public-footer p,
    .public-footer small,
    .tavura-landing-page p,
    .tavura-landing-page small,
    .tavura-landing-page .text-muted {
        color: #cbd5e1 !important;
    }

    .home-search-drawer-panel input,
    .home-search-drawer-panel select,
    .home-search-drawer-panel .form-control {
        background: rgba(7, 13, 11, 0.92) !important;
        border-color: rgba(255, 255, 255, 0.14) !important;
        color: #f8fafc !important;
    }

    .home-search-drawer-panel input::placeholder {
        color: #94a3b8 !important;
    }
}

/* v158-design-system: hero-inspired public visual language. CSS only. */
:root {
    --yt-surface-light: rgba(255, 255, 255, 0.72);
    --yt-surface-dark: rgba(15, 23, 21, 0.92);
    --yt-text-strong: #111827;
    --yt-text-soft: #4b5563;
    --yt-dark-text-strong: #f8fafc;
    --yt-dark-text-soft: #cbd5e1;
}

body.public-hue-bg,
.public-hue-bg {
    background:
        radial-gradient(circle at 8% 0%, rgba(var(--color-theme-rgb), 0.075), transparent 22rem),
        radial-gradient(circle at 92% 20%, rgba(var(--color-theme-rgb), 0.055), transparent 26rem),
        linear-gradient(180deg, #fbfdf9 0%, #f7fbf4 38%, #ffffff 100%) !important;
    color: var(--yt-text-strong) !important;
}

.home-stable-page,
.about-stable-page,
.public-hue-bg .page-wrapper > .container,
.public-hue-bg .shop-part,
.public-hue-bg .container.pb-5 {
    background: transparent !important;
}

.home-stable-section,
.home-product-section,
.home-service-links-section,
.home-news-section {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.home-stable-section > .card,
.home-account-cta-card,
.home-news-card,
.about-stable-page .card,
.listing-editorial-card,
.yt-search-card.listing-editorial-card,
.public-hue-bg .hover-img.card.listing-editorial-card {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.home-editorial-tile img,
.home-premium-card img,
.listing-editorial-card .card-img-top,
.listing-editorial-card img.card-img-top,
.yt-search-card.listing-editorial-card img {
    border-radius: 10px !important;
    width: 100% !important;
    aspect-ratio: 4 / 5 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.1) !important;
}

.home-premium-card img,
.listing-editorial-card .card-img-top,
.listing-editorial-card img.card-img-top,
.yt-search-card.listing-editorial-card img {
    min-height: clamp(310px, 76vw, 430px) !important;
}

.home-editorial-copy,
.listing-editorial-card .card-body,
.yt-search-card.listing-editorial-card .card-body {
    background: transparent !important;
    padding: 1rem .15rem 0 !important;
}

.home-editorial-copy h5,
.listing-editorial-card h4,
.listing-editorial-card h5,
.listing-editorial-card h6,
.yt-search-card.listing-editorial-card h4,
.public-hue-bg .section-title,
.public-hue-bg .home-stable-section h3,
.public-hue-bg .text-black {
    color: var(--yt-text-strong) !important;
}

.home-editorial-copy p,
.home-editorial-copy small,
.home-editorial-copy .text-muted,
.listing-editorial-card p,
.listing-editorial-card small,
.listing-editorial-card .text-muted,
.yt-search-card.listing-editorial-card p,
.public-hue-bg .home-stable-section p,
.public-hue-bg .home-stable-section .text-muted {
    color: var(--yt-text-soft) !important;
}

.home-card-rating,
.home-card-more,
.offer-card-location i,
.public-hue-bg .active,
.public-hue-bg .nav-link.active {
    color: var(--color-theme) !important;
}

.home-service-link-card,
.public-hue-bg .card:not(.home-editorial-tile):not(.listing-editorial-card):not(.home-premium-card):not(.home-destination-card) {
    background: var(--yt-surface-light) !important;
    border: 1px solid rgba(17, 24, 39, 0.08) !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08) !important;
    color: var(--yt-text-strong) !important;
}

.home-stable-page .home-horizontal-scroll,
.home-stable-page .home-destination-strip {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 1rem !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x proximity !important;
    padding-bottom: 1.1rem !important;
}

.home-stable-page .home-scroll-item,
.home-stable-page .home-destination-strip > .home-destination-item {
    width: auto !important;
    flex: 0 0 min(82vw, 380px) !important;
    max-width: min(82vw, 380px) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    scroll-snap-align: start !important;
}

@media (min-width: 992px) {
    .home-stable-page .home-horizontal-scroll,
    .home-stable-page .home-destination-strip {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        overflow: visible !important;
        gap: 1.25rem !important;
    }

    .home-stable-page .home-scroll-item,
    .home-stable-page .home-destination-strip > .home-destination-item {
        width: 100% !important;
        max-width: none !important;
        flex: none !important;
    }

    .home-premium-card img,
    .listing-editorial-card .card-img-top,
    .listing-editorial-card img.card-img-top,
    .yt-search-card.listing-editorial-card img {
        min-height: clamp(320px, 24vw, 440px) !important;
    }
}

@media (prefers-color-scheme: dark) {
    body.public-hue-bg,
    .public-hue-bg {
        background:
            radial-gradient(circle at 8% 0%, rgba(var(--color-theme-rgb), 0.12), transparent 24rem),
            radial-gradient(circle at 92% 18%, rgba(var(--color-theme-rgb), 0.07), transparent 28rem),
            linear-gradient(180deg, #070d0b 0%, #101715 46%, #070d0b 100%) !important;
        color: var(--yt-dark-text-strong) !important;
    }

    .home-editorial-copy h5,
    .listing-editorial-card h4,
    .listing-editorial-card h5,
    .listing-editorial-card h6,
    .yt-search-card.listing-editorial-card h4,
    .public-hue-bg .section-title,
    .public-hue-bg .home-stable-section h3,
    .public-hue-bg .text-black {
        color: var(--yt-dark-text-strong) !important;
    }

    .home-editorial-copy p,
    .home-editorial-copy small,
    .home-editorial-copy .text-muted,
    .listing-editorial-card p,
    .listing-editorial-card small,
    .listing-editorial-card .text-muted,
    .yt-search-card.listing-editorial-card p,
    .public-hue-bg .home-stable-section p,
    .public-hue-bg .home-stable-section .text-muted {
        color: var(--yt-dark-text-soft) !important;
    }

    .home-service-link-card,
    .public-hue-bg .card:not(.home-editorial-tile):not(.listing-editorial-card):not(.home-premium-card):not(.home-destination-card) {
        background: var(--yt-surface-dark) !important;
        border-color: rgba(255, 255, 255, 0.1) !important;
        box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28) !important;
        color: var(--yt-dark-text-strong) !important;
    }
}
/* v160: hard-hide old listing body search blocks and make listing pages image-led. */
.listing-page-search-panel[hidden],
form.listing-page-search-panel[style*="display:none"] {
    display: none !important;
    visibility: hidden !important;
}

.listing-shell,
.listing-shell > .shop-part,
.listing-shell .shop-part,
.listing-shell .card-body {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.listing-shell > .shop-part > .card-body {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.listing-editorial-card.yosu-image-tile {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.listing-editorial-card.yosu-image-tile .card-img-top,
.listing-editorial-card.yosu-image-tile img.card-img-top {
    width: 100% !important;
    height: auto !important;
    min-height: min(82vw, 430px) !important;
    aspect-ratio: 4 / 5 !important;
    border-radius: 10px !important;
    object-fit: cover !important;
    box-shadow: 0 18px 40px rgba(8, 32, 22, 0.14) !important;
}

.listing-editorial-card.yosu-image-tile .card-body {
    padding: 1rem 0.15rem 0 !important;
    background: transparent !important;
}

.listing-editorial-card.yosu-image-tile .position-absolute.rounded-circle {
    display: none !important;
}

@media (prefers-color-scheme: dark) {
    .listing-shell,
    .listing-shell > .shop-part,
    .listing-shell .card-body {
        background: transparent !important;
        color: #f6fbf7 !important;
    }

    .listing-editorial-card.yosu-image-tile h4,
    .listing-editorial-card.yosu-image-tile h5,
    .listing-editorial-card.yosu-image-tile h6,
    .listing-editorial-card.yosu-image-tile .text-black,
    .listing-editorial-card.yosu-image-tile span:not(.badge) {
        color: #f7fbf8 !important;
    }

    .listing-editorial-card.yosu-image-tile p,
    .listing-editorial-card.yosu-image-tile small,
    .listing-editorial-card.yosu-image-tile .text-muted,
    .listing-editorial-card.yosu-image-tile .offer-card-location,
    .listing-editorial-card.yosu-image-tile .offer-card-location span {
        color: rgba(237, 247, 241, 0.78) !important;
    }
}

/* v166: small scoped UI fix after rollback. Do not alter hero/header/quick actions. */
.home-stable-page .home-popular-card {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
}

.home-stable-page .home-popular-card > a {
    display: block;
}

.home-stable-page .home-popular-card > a img {
    display: block;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: .85rem !important;
    box-shadow: 0 12px 28px rgba(10, 36, 24, .10);
}

.home-stable-page .home-popular-card .home-popular-copy {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: .85rem .35rem 0 !important;
    color: #111513 !important;
}

.home-stable-page .home-popular-card .home-popular-copy h5,
.home-stable-page .home-popular-card .home-popular-copy .text-black,
.home-stable-page .home-popular-card .home-popular-copy > span {
    color: #111513 !important;
}

.home-stable-page .home-popular-card .home-card-preview {
    color: rgba(17, 21, 19, .68) !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.home-stable-page .home-popular-card .home-card-actions-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    min-height: 1.5rem;
}

.home-stable-page .home-popular-card .home-card-more {
    display: inline-flex;
    margin-top: .35rem;
    color: #6f7f00 !important;
    font-weight: 700;
}

.public-hue-bg .listing-page-search-panel,
.public-hue-bg #section-search,
.public-hue-bg .listing-shell .shop-filters,
.public-hue-bg .listing-shell #filtercategory,
.public-hue-bg .listing-shell [data-bs-toggle="offcanvas"][href="#filtercategory"],
.public-hue-bg .listing-shell [data-bs-target="#filtercategory"],
.public-hue-bg .listing-filter-button-row,
.public-hue-bg .listing-filter-chip-row [data-mobile-search-trigger] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

@media (prefers-color-scheme: dark) {
    .home-stable-page .home-popular-card .home-popular-copy,
    .home-stable-page .home-popular-card .home-popular-copy h5,
    .home-stable-page .home-popular-card .home-popular-copy .text-black,
    .home-stable-page .home-popular-card .home-popular-copy > span {
        color: #f7fbf8 !important;
    }

    .home-stable-page .home-popular-card .home-card-preview,
    .home-stable-page .home-popular-card .offer-card-location,
    .home-stable-page .home-popular-card .offer-card-location span {
        color: rgba(237, 247, 241, .76) !important;
    }

    .home-stable-page .home-popular-card > a img {
        box-shadow: 0 14px 32px rgba(0, 0, 0, .34);
    }
}
