/* ========================================================================== 
   APD 39.0.0 · final public marketplace layer measured from the supplied
   Airbnb reference walkthrough and the current APD walkthrough (1920×1044).
   ========================================================================== */
:root {
    --apd39-content: 1376px;
    --apd39-detail: 1120px;
    --apd39-ink: #222222;
    --apd39-muted: #717171;
    --apd39-line: #dddddd;
    --apd39-soft: #f7f7f7;
    --apd39-blue: #126fe8;
    --apd39-blue-dark: #0758be;
    --apd39-shadow: 0 3px 14px rgba(0,0,0,.12);
    --apd39-popover-shadow: 0 10px 38px rgba(0,0,0,.18);
}

body.apd39-video-reference,
body.apd39-video-reference * {
    box-sizing: border-box;
}
body.apd39-video-reference {
    color: var(--apd39-ink);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body.apd39-video-reference [hidden] { display: none !important; }
body.apd39-video-reference img { image-rendering: auto; }

/* --------------------------------------------------------------------------
   Header / navigation
   -------------------------------------------------------------------------- */
@media (min-width: 1180px) {
    body.apd39-video-reference .apd5-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 1800 !important;
        border-bottom: 1px solid #ebebeb !important;
        background: rgba(255,255,255,.985) !important;
        box-shadow: none !important;
        backdrop-filter: blur(18px) saturate(150%) !important;
        transition: height .22s cubic-bezier(.2,.75,.2,1), box-shadow .2s ease !important;
    }
    body.apd39-video-reference .apd5-header.is-discovery-context:not(.is-compact),
    body.apd39-video-reference .apd5-header.is-discovery-context.is-search-expanded {
        height: 158px !important;
        min-height: 158px !important;
    }
    body.apd39-video-reference .apd5-header.is-discovery-context.is-compact:not(.is-search-expanded),
    body.apd39-video-reference.apd5-search-results-page .apd5-header,
    body.apd39-video-reference.single-listing .apd5-header,
    body.apd39-video-reference.single-experience .apd5-header,
    body.apd39-video-reference.single-apd_service .apd5-header {
        height: 80px !important;
        min-height: 80px !important;
        box-shadow: 0 1px 0 rgba(0,0,0,.06) !important;
    }
    body.apd39-video-reference .apd5-header-row {
        width: min(calc(100vw - 96px), var(--apd39-content)) !important;
        max-width: var(--apd39-content) !important;
        height: 78px !important;
        min-height: 78px !important;
        margin: 0 auto !important;
        display: grid !important;
        grid-template-columns: 184px minmax(610px,1fr) 260px !important;
        align-items: center !important;
        gap: 18px !important;
    }
    body.apd39-video-reference .apd5-logo {
        width: 96px !important;
        min-width: 96px !important;
        height: 38px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }
    body.apd39-video-reference .apd5-logo img {
        width: 96px !important;
        max-width: 96px !important;
        height: 38px !important;
        object-fit: contain !important;
        object-position: left center !important;
    }
    body.apd39-video-reference .apd5-main-nav {
        min-width: 0 !important;
        height: 78px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 28px !important;
    }
    body.apd39-video-reference .apd5-main-nav > a {
        min-width: 76px !important;
        height: 72px !important;
        padding: 8px 4px 7px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        gap: 4px !important;
        border: 0 !important;
        border-radius: 0 !important;
        color: #5f5f5f !important;
        background: transparent !important;
        text-decoration: none !important;
        transition: color .15s ease, transform .15s ease !important;
    }
    body.apd39-video-reference .apd5-main-nav > a:hover { color: #222 !important; }
    body.apd39-video-reference .apd5-main-nav > a:active { transform: scale(.97) !important; }
    body.apd39-video-reference .apd5-main-nav > a > span:first-child {
        width: 31px !important;
        height: 31px !important;
        display: grid !important;
        place-items: center !important;
    }
    body.apd39-video-reference .apd5-main-nav .apd15-nav-svg,
    body.apd39-video-reference .apd5-main-nav svg {
        width: 31px !important;
        height: 31px !important;
        display: block !important;
    }
    body.apd39-video-reference .apd5-main-nav strong {
        color: inherit !important;
        font-size: 11px !important;
        line-height: 1.15 !important;
        font-weight: 600 !important;
        letter-spacing: -.01em !important;
    }
    body.apd39-video-reference .apd5-main-nav > a::after {
        content: "" !important;
        position: absolute !important;
        left: 14px !important;
        right: 14px !important;
        bottom: 0 !important;
        height: 2px !important;
        border-radius: 2px !important;
        background: #222 !important;
        transform: scaleX(0) !important;
        transition: transform .16s ease !important;
    }
    body.apd39-video-reference .apd5-main-nav > a { position: relative !important; }
    body.apd39-video-reference .apd5-main-nav > a.is-active::after,
    body.apd39-video-reference .apd5-main-nav > a[aria-current="page"]::after { transform: scaleX(1) !important; }
    body.apd39-video-reference .apd5-header-actions {
        min-width: 0 !important;
        height: 78px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 10px !important;
    }
    body.apd39-video-reference .apd5-host-trigger {
        min-height: 40px !important;
        padding: 0 13px !important;
        display: inline-flex !important;
        align-items: center !important;
        border-radius: 22px !important;
        color: #222 !important;
        font-size: 11px !important;
        font-weight: 650 !important;
        text-decoration: none !important;
    }
    body.apd39-video-reference .apd5-host-trigger:hover { background: #f7f7f7 !important; }
    body.apd39-video-reference .apd25-account-cluster,
    body.apd39-video-reference .apd5-account-button.is-guest {
        transition: transform .14s ease, box-shadow .14s ease, background .14s ease !important;
    }
    body.apd39-video-reference .apd25-account-cluster:hover,
    body.apd39-video-reference .apd5-account-button.is-guest:hover {
        transform: translateY(-1px) !important;
        box-shadow: 0 2px 10px rgba(0,0,0,.10) !important;
    }

    /* Compact header used on results and detail pages. */
    body.apd39-video-reference.apd5-search-results-page .apd5-main-nav,
    body.apd39-video-reference.single-listing .apd5-main-nav,
    body.apd39-video-reference.single-experience .apd5-main-nav,
    body.apd39-video-reference.single-apd_service .apd5-main-nav,
    body.apd39-video-reference .apd5-header.is-discovery-context.is-compact:not(.is-search-expanded) .apd5-main-nav {
        visibility: hidden !important;
        pointer-events: none !important;
    }
    body.apd39-video-reference.apd5-search-results-page .apd5-header-row,
    body.apd39-video-reference.single-listing .apd5-header-row,
    body.apd39-video-reference.single-experience .apd5-header-row,
    body.apd39-video-reference.single-apd_service .apd5-header-row,
    body.apd39-video-reference .apd5-header.is-discovery-context.is-compact:not(.is-search-expanded) .apd5-header-row {
        height: 80px !important;
        min-height: 80px !important;
        grid-template-columns: 184px minmax(560px,1fr) 260px !important;
    }

    /* Search row: centered, with no layout jump between open/closed states. */
    body.apd39-video-reference .apd5-header.is-discovery-context > .apd5-header-search-row {
        position: absolute !important;
        left: 50% !important;
        top: 78px !important;
        z-index: 1840 !important;
        width: 680px !important;
        height: 68px !important;
        min-height: 68px !important;
        padding: 8px 0 10px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        transform: translateX(-50%) !important;
        transition: top .2s ease, width .2s ease, height .2s ease !important;
    }
    body.apd39-video-reference .apd5-header.is-discovery-context.is-compact:not(.is-search-expanded) > .apd5-header-search-row,
    body.apd39-video-reference.apd5-search-results-page .apd5-header > .apd5-header-search-row {
        top: 0 !important;
        height: 80px !important;
        min-height: 80px !important;
        padding: 14px 0 !important;
        width: 520px !important;
    }
    body.apd39-video-reference .apd19-detail-header-search {
        width: 510px !important;
        max-width: 510px !important;
        height: 80px !important;
        min-height: 80px !important;
        justify-self: center !important;
        align-self: center !important;
        padding: 14px 0 !important;
        display: flex !important;
        align-items: center !important;
    }
}

/* --------------------------------------------------------------------------
   Search control and popovers
   -------------------------------------------------------------------------- */
@media (min-width: 1180px) {
    body.apd39-video-reference .apd5-search {
        position: relative !important;
        width: 680px !important;
        max-width: 680px !important;
        min-width: 0 !important;
        height: 52px !important;
        min-height: 52px !important;
        display: grid !important;
        grid-template-columns: 1.18fr 1px 1fr 1px 1fr auto !important;
        align-items: center !important;
        border: 1px solid #dddddd !important;
        border-radius: 28px !important;
        background: #fff !important;
        box-shadow: 0 2px 10px rgba(0,0,0,.10) !important;
        overflow: visible !important;
        transition: box-shadow .17s ease, width .2s ease, height .2s ease !important;
    }
    body.apd39-video-reference .apd5-search:hover { box-shadow: 0 3px 14px rgba(0,0,0,.14) !important; }
    body.apd39-video-reference .apd5-search-field {
        position: relative !important;
        min-width: 0 !important;
        height: 50px !important;
        border-radius: 26px !important;
    }
    body.apd39-video-reference .apd5-search-field > button:first-child {
        width: 100% !important;
        height: 50px !important;
        min-height: 50px !important;
        padding: 6px 18px !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;
        flex-direction: column !important;
        gap: 1px !important;
        border: 0 !important;
        border-radius: 26px !important;
        background: transparent !important;
        text-align: left !important;
        overflow: hidden !important;
    }
    body.apd39-video-reference .apd5-search-field > button:first-child > span:first-child {
        color: #222 !important;
        font-size: 10px !important;
        line-height: 1.1 !important;
        font-weight: 650 !important;
    }
    body.apd39-video-reference .apd5-search-field > button:first-child > strong[id],
    body.apd39-video-reference .apd5-search-field .apd26-compact-summary {
        width: 100% !important;
        color: #717171 !important;
        font-size: 10px !important;
        line-height: 1.25 !important;
        font-weight: 450 !important;
        overflow: hidden !important;
        white-space: nowrap !important;
        text-overflow: ellipsis !important;
    }
    body.apd39-video-reference .apd5-search-field.has-value > button:first-child > strong[id] {
        color: #222 !important;
        font-weight: 550 !important;
    }
    body.apd39-video-reference .apd5-search-field:hover > button:first-child { background: #f7f7f7 !important; }
    body.apd39-video-reference .apd5-search-field.is-open > button:first-child {
        position: relative !important;
        z-index: 2 !important;
        background: #fff !important;
        box-shadow: 0 3px 12px rgba(0,0,0,.14) !important;
    }
    body.apd39-video-reference .apd5-search.has-open-panel {
        background: #ebebeb !important;
        box-shadow: 0 4px 18px rgba(0,0,0,.16) !important;
    }
    body.apd39-video-reference .apd5-search-separator {
        width: 1px !important;
        height: 30px !important;
        background: #dddddd !important;
    }
    body.apd39-video-reference .apd5-search.has-open-panel .apd5-search-separator { opacity: 0 !important; }
    body.apd39-video-reference .apd5-search-submit {
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
        min-height: 40px !important;
        margin: 0 6px 0 2px !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 7px !important;
        border: 0 !important;
        border-radius: 22px !important;
        background: var(--apd39-blue) !important;
        color: #fff !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        box-shadow: none !important;
        transition: width .18s ease, background .15s ease, transform .1s ease !important;
    }
    body.apd39-video-reference .apd5-search-submit:hover { background: var(--apd39-blue-dark) !important; }
    body.apd39-video-reference .apd5-search-submit:active { transform: scale(.96) !important; }
    body.apd39-video-reference .apd5-search-submit .apd5-icon,
    body.apd39-video-reference .apd5-search-submit svg { width: 15px !important; height: 15px !important; }
    body.apd39-video-reference .apd5-search-submit > span { display: none !important; }
    body.apd39-video-reference .apd5-search.has-open-panel .apd5-search-submit {
        width: 88px !important;
        padding: 0 13px !important;
    }
    body.apd39-video-reference .apd5-search.has-open-panel .apd5-search-submit > span { display: inline !important; }

    body.apd39-video-reference .apd5-search-panel {
        top: calc(100% + 12px) !important;
        z-index: 1880 !important;
        padding: 22px !important;
        border: 1px solid rgba(0,0,0,.08) !important;
        border-radius: 24px !important;
        background: #fff !important;
        box-shadow: var(--apd39-popover-shadow) !important;
        overflow: auto !important;
        overscroll-behavior: contain !important;
        animation: apd39Popover .17s cubic-bezier(.2,.75,.2,1) both !important;
    }
    body.apd39-video-reference .apd5-location-panel {
        left: 0 !important;
        right: auto !important;
        width: 390px !important;
        max-height: min(620px, calc(100vh - 190px)) !important;
    }
    body.apd39-video-reference .apd5-date-panel {
        left: 50% !important;
        right: auto !important;
        width: 760px !important;
        max-width: calc(100vw - 48px) !important;
        max-height: min(650px, calc(100vh - 190px)) !important;
        transform: translateX(-50%) !important;
    }
    body.apd39-video-reference .apd5-guests-panel,
    body.apd39-video-reference .apd5-service-panel {
        left: auto !important;
        right: 0 !important;
        width: 390px !important;
        max-height: min(620px, calc(100vh - 190px)) !important;
    }
    body.apd39-video-reference .apd5-panel-title {
        min-height: 38px !important;
        margin: 0 0 12px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 14px !important;
    }
    body.apd39-video-reference .apd5-panel-title strong { font-size: 13px !important; font-weight: 650 !important; }
    body.apd39-video-reference .apd5-panel-title [data-panel-close] {
        width: 30px !important;
        height: 30px !important;
        display: grid !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: transparent !important;
        color: #222 !important;
        font-size: 20px !important;
    }
    body.apd39-video-reference .apd5-panel-title [data-panel-close]:hover { background: #f2f2f2 !important; }
    body.apd39-video-reference .apd5-panel-filter {
        height: 48px !important;
        margin-bottom: 14px !important;
        padding: 0 14px !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        border: 1px solid #b0b0b0 !important;
        border-radius: 12px !important;
        background: #fff !important;
    }
    body.apd39-video-reference .apd5-panel-filter input {
        width: 100% !important;
        height: 44px !important;
        border: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;
        font-size: 13px !important;
    }
    body.apd39-video-reference .apd5-destination-option {
        min-height: 54px !important;
        padding: 7px 8px !important;
        gap: 12px !important;
        border-radius: 10px !important;
    }
    body.apd39-video-reference .apd5-destination-option:hover,
    body.apd39-video-reference .apd5-destination-option.is-keyboard-active { background: #f7f7f7 !important; }
    body.apd39-video-reference .apd5-destination-option > span {
        width: 42px !important;
        height: 42px !important;
        flex: 0 0 42px !important;
        border-radius: 10px !important;
        background: #f2f2f2 !important;
    }
    body.apd39-video-reference .apd5-destination-option strong { font-size: 12px !important; font-weight: 600 !important; }
    body.apd39-video-reference .apd5-destination-option small { font-size: 10px !important; color: #717171 !important; }
    body.apd39-video-reference .apd5-calendar-months {
        display: grid !important;
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
        gap: 34px !important;
    }
    body.apd39-video-reference .apd5-calendar-month h3 { margin: 0 0 12px !important; font-size: 13px !important; text-align: center !important; }
    body.apd39-video-reference .apd5-calendar-grid { gap: 2px !important; }
    body.apd39-video-reference .apd5-calendar-grid button,
    body.apd39-video-reference .apd5-calendar-grid span {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        min-height: 34px !important;
        margin: 0 auto !important;
        border-radius: 50% !important;
        font-size: 10px !important;
    }
    body.apd39-video-reference .apd5-calendar-grid button:hover:not(:disabled) { border: 1px solid #222 !important; }
    body.apd39-video-reference .apd5-calendar-grid button.is-selected,
    body.apd39-video-reference .apd5-calendar-grid button.is-start,
    body.apd39-video-reference .apd5-calendar-grid button.is-end {
        background: #222 !important;
        color: #fff !important;
    }
    body.apd39-video-reference .apd5-guest-row {
        min-height: 66px !important;
        padding: 10px 0 !important;
        border-bottom: 1px solid #ebebeb !important;
    }
    body.apd39-video-reference .apd5-guest-row > div:first-child strong { font-size: 12px !important; }
    body.apd39-video-reference .apd5-guest-row > div:first-child span { font-size: 10px !important; color: #717171 !important; }
    body.apd39-video-reference .apd5-guest-row [data-counter] {
        width: 30px !important;
        height: 30px !important;
        border: 1px solid #b0b0b0 !important;
        border-radius: 50% !important;
        background: #fff !important;
        color: #717171 !important;
    }
    body.apd39-video-reference .apd5-guest-row output { min-width: 28px !important; font-size: 12px !important; font-weight: 600 !important; }
    body.apd39-video-reference .apd5-search-backdrop:not([hidden]) {
        position: fixed !important;
        inset: 158px 0 0 !important;
        z-index: 1750 !important;
        display: block !important;
        background: rgba(0,0,0,.12) !important;
        backdrop-filter: none !important;
    }
    body.apd39-video-reference.apd5-search-results-page .apd5-search-backdrop:not([hidden]),
    body.apd39-video-reference.single-listing .apd5-search-backdrop:not([hidden]),
    body.apd39-video-reference.apd39-header-compact:not(.apd-header-search-expanded) .apd5-search-backdrop:not([hidden]) { inset: 80px 0 0 !important; }
}
@keyframes apd39Popover {
    from { opacity: 0; translate: 0 -5px; scale: .985; }
    to { opacity: 1; translate: 0 0; scale: 1; }
}

/* --------------------------------------------------------------------------
   Home discovery
   -------------------------------------------------------------------------- */
@media (min-width: 1180px) {
    body.home.apd39-video-reference .apd29-video-home {
        width: min(calc(100vw - 96px), var(--apd39-content)) !important;
        max-width: var(--apd39-content) !important;
        margin: 0 auto !important;
        padding: 0 0 72px !important;
    }
    body.home.apd39-video-reference .apd39-home-greeting {
        width: 100% !important;
        margin: 22px 0 12px !important;
        color: #222 !important;
        font-size: 14px !important;
        line-height: 1.2 !important;
        font-weight: 650 !important;
        letter-spacing: -.015em !important;
    }
    body.home.apd39-video-reference .apd29-continue-strip {
        width: 100% !important;
        min-height: 56px !important;
        margin: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
        align-items: stretch !important;
        gap: 16px !important;
        border: 0 !important;
        background: transparent !important;
    }
    body.home.apd39-video-reference .apd29-continue-strip > a {
        width: 100% !important;
        max-width: none !important;
        min-height: 56px !important;
        padding: 7px 12px !important;
        justify-content: flex-start !important;
        gap: 10px !important;
        border: 1px solid #eeeeee !important;
        border-radius: 12px !important;
        background: #fff !important;
        box-shadow: 0 3px 12px rgba(0,0,0,.08) !important;
        transition: transform .16s ease, box-shadow .16s ease !important;
    }
    body.home.apd39-video-reference .apd29-continue-strip > a:hover {
        transform: translateY(-1px) !important;
        background: #fff !important;
        box-shadow: 0 5px 16px rgba(0,0,0,.12) !important;
    }
    body.home.apd39-video-reference .apd29-continue-strip img {
        width: 43px !important;
        height: 43px !important;
        flex: 0 0 43px !important;
        border-radius: 9px !important;
    }
    body.home.apd39-video-reference .apd29-continue-strip span {
        flex: 1 1 auto !important;
        display: block !important;
    }
    body.home.apd39-video-reference .apd29-continue-strip strong,
    body.home.apd39-video-reference .apd29-continue-strip small { display: block !important; }
    body.home.apd39-video-reference .apd29-continue-strip strong { font-size: 11px !important; }
    body.home.apd39-video-reference .apd29-continue-strip small { margin-top: 3px !important; font-size: 9.5px !important; }
    body.home.apd39-video-reference .apd29-continue-strip b { margin-left: auto !important; }
    body.home.apd39-video-reference .apd29-continue-strip + .apd5-rail { margin-top: 28px !important; }
    body.home.apd39-video-reference .apd29-video-home > .apd5-rail,
    body.home.apd39-video-reference .apd29-topic-section { width: 100% !important; margin-top: 30px !important; }
    body.home.apd39-video-reference .apd5-section-head { min-height: 24px !important; margin-bottom: 10px !important; }
    body.home.apd39-video-reference .apd5-section-head h2,
    body.home.apd39-video-reference .apd5-section-head h2 a {
        font-size: 15px !important;
        line-height: 1.2 !important;
        font-weight: 650 !important;
        letter-spacing: -.02em !important;
    }
    body.home.apd39-video-reference .apd5-card-rail {
        grid-auto-columns: calc((100% - 72px)/7) !important;
        gap: 12px !important;
        padding: 0 !important;
        scroll-padding-inline: 0 !important;
    }
    body.home.apd39-video-reference .apd5-card { min-width: 0 !important; }
    body.home.apd39-video-reference .apd5-card-media,
    body.home.apd39-video-reference .apd30-show-all-collage {
        aspect-ratio: 1.02/1 !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        background: #f1f1f1 !important;
    }
    body.home.apd39-video-reference .apd5-card-media img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        transition: transform .25s cubic-bezier(.2,.75,.2,1) !important;
    }
    body.home.apd39-video-reference .apd5-card:hover .apd5-card-media img { transform: scale(1.025) !important; }
    body.home.apd39-video-reference .apd5-card-body { padding-top: 7px !important; }
    body.home.apd39-video-reference .apd5-card-title-row h3 { font-size: 10.5px !important; line-height: 1.25 !important; font-weight: 600 !important; }
    body.home.apd39-video-reference .apd5-card-location,
    body.home.apd39-video-reference .apd5-card-price,
    body.home.apd39-video-reference .apd5-card-rating { font-size: 9px !important; line-height: 1.3 !important; }
    body.home.apd39-video-reference .apd5-card-badge {
        top: 8px !important;
        left: 8px !important;
        padding: 4px 7px !important;
        border-radius: 10px !important;
        font-size: 7.5px !important;
        box-shadow: 0 1px 4px rgba(0,0,0,.10) !important;
    }
}

/* --------------------------------------------------------------------------
   Stay search result + map
   -------------------------------------------------------------------------- */
@media (min-width: 1180px) {
    body.apd39-video-reference.apd5-search-results-page .apd5-header-row {
        width: min(calc(100vw - 52px), 1868px) !important;
        max-width: 1868px !important;
    }
    body.apd39-video-reference.apd5-search-results-page .apd53-filter-strip {
        position: sticky !important;
        top: 80px !important;
        z-index: 1250 !important;
        height: 54px !important;
        min-height: 54px !important;
        border-bottom: 1px solid #e7e7e7 !important;
        background: rgba(255,255,255,.99) !important;
        box-shadow: none !important;
    }
    body.apd39-video-reference.apd5-search-results-page .apd53-filter-inner {
        width: 100% !important;
        height: 54px !important;
        padding: 0 18px !important;
        display: flex !important;
        align-items: center !important;
        gap: 7px !important;
        overflow-x: auto !important;
        scrollbar-width: none !important;
    }
    body.apd39-video-reference.apd5-search-results-page .apd53-filter-inner::-webkit-scrollbar { display: none !important; }
    body.apd39-video-reference.apd5-search-results-page .apd53-filter-master,
    body.apd39-video-reference.apd5-search-results-page .apd53-filter-inner > a {
        min-height: 32px !important;
        padding: 0 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid #dedede !important;
        border-radius: 17px !important;
        background: #fff !important;
        color: #222 !important;
        font-size: 9.5px !important;
        font-weight: 600 !important;
        white-space: nowrap !important;
        text-decoration: none !important;
    }
    body.apd39-video-reference.apd5-search-results-page .apd53-filter-master:hover,
    body.apd39-video-reference.apd5-search-results-page .apd53-filter-inner > a:hover { border-color: #222 !important; }
    body.apd39-video-reference.apd5-search-results-page .apd53-filter-drawer:not([hidden]) {
        position: fixed !important;
        left: 18px !important;
        top: 142px !important;
        z-index: 1700 !important;
        width: 520px !important;
        max-height: calc(100vh - 166px) !important;
        padding: 22px !important;
        border: 1px solid #dedede !important;
        border-radius: 18px !important;
        background: #fff !important;
        box-shadow: var(--apd39-popover-shadow) !important;
        overflow: auto !important;
        animation: apd39Popover .17s ease both !important;
    }
    body.apd39-video-reference.apd5-search-results-page .apd53-results-layout {
        height: calc(100vh - 134px) !important;
        min-height: 560px !important;
        display: grid !important;
        grid-template-columns: minmax(0,50%) minmax(0,50%) !important;
        overflow: hidden !important;
    }
    body.apd39-video-reference.apd5-search-results-page .apd53-results-pane {
        height: 100% !important;
        padding: 22px 18px 44px !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        border-right: 1px solid #e6e6e6 !important;
        scrollbar-gutter: stable !important;
    }
    body.apd39-video-reference.apd5-search-results-page .apd53-results-heading {
        margin: 0 0 17px !important;
        align-items: flex-end !important;
    }
    body.apd39-video-reference.apd5-search-results-page .apd53-results-heading p { margin: 0 0 4px !important; font-size: 10px !important; color: #717171 !important; }
    body.apd39-video-reference.apd5-search-results-page .apd53-results-heading h1 { margin: 0 !important; font-size: 18px !important; line-height: 1.15 !important; }
    body.apd39-video-reference.apd5-search-results-page .apd53-results-heading > span {
        max-width: 250px !important;
        padding: 8px 10px !important;
        border-radius: 10px !important;
        font-size: 8.5px !important;
        line-height: 1.25 !important;
    }
    body.apd39-video-reference.apd5-search-results-page .apd53-results-grid {
        display: grid !important;
        grid-template-columns: repeat(3,minmax(0,1fr)) !important;
        gap: 26px 12px !important;
    }
    body.apd39-video-reference.apd5-search-results-page .apd53-result-card {
        min-width: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }
    body.apd39-video-reference.apd5-search-results-page .apd53-result-image {
        aspect-ratio: 1.04/1 !important;
        border-radius: 13px !important;
        background: #eeeeee !important;
        overflow: hidden !important;
    }
    body.apd39-video-reference.apd5-search-results-page .apd53-result-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        transition: transform .22s ease !important;
    }
    body.apd39-video-reference.apd5-search-results-page .apd53-result-card:hover .apd53-result-image img { transform: scale(1.025) !important; }
    body.apd39-video-reference.apd5-search-results-page .apd53-result-body { padding: 7px 1px 0 !important; }
    body.apd39-video-reference.apd5-search-results-page .apd53-result-title > a { font-size: 10.5px !important; line-height: 1.25 !important; font-weight: 600 !important; }
    body.apd39-video-reference.apd5-search-results-page .apd53-result-body p,
    body.apd39-video-reference.apd5-search-results-page .apd53-result-title > span { font-size: 8.5px !important; line-height: 1.3 !important; }
    body.apd39-video-reference.apd5-search-results-page .apd53-result-body > strong { font-size: 10px !important; }
    body.apd39-video-reference.apd5-search-results-page .apd53-map-pane,
    body.apd39-video-reference.apd5-search-results-page .apd53-results-map {
        width: 100% !important;
        height: 100% !important;
        min-height: 560px !important;
        background: #e6ece2 !important;
    }
    body.apd39-video-reference.apd5-search-results-page .apd53-map-toolbar {
        top: 14px !important;
        right: 14px !important;
        z-index: 800 !important;
        min-height: 34px !important;
        padding: 0 8px 0 12px !important;
        border-radius: 18px !important;
        background: rgba(255,255,255,.96) !important;
        box-shadow: 0 2px 12px rgba(0,0,0,.16) !important;
    }
    body.apd39-video-reference.apd5-search-results-page .apd53-price-marker {
        min-width: 58px !important;
        height: 29px !important;
        padding: 0 9px !important;
        border: 0 !important;
        border-radius: 15px !important;
        background: #fff !important;
        color: #222 !important;
        font-size: 9px !important;
        font-weight: 700 !important;
        box-shadow: 0 2px 8px rgba(0,0,0,.18) !important;
    }
}

/* --------------------------------------------------------------------------
   Listing detail
   -------------------------------------------------------------------------- */
@media (min-width: 1180px) {
    body.single-listing.apd39-video-reference .apd52-listing-page {
        padding-top: 22px !important;
        color: #222 !important;
    }
    body.single-listing.apd39-video-reference .apd52-shell {
        width: min(calc(100vw - 96px), var(--apd39-detail)) !important;
        max-width: var(--apd39-detail) !important;
    }
    body.single-listing.apd39-video-reference .apd52-listing-head {
        min-height: 58px !important;
        margin-bottom: 14px !important;
        align-items: flex-end !important;
    }
    body.single-listing.apd39-video-reference .apd52-listing-head h1 {
        margin: 0 0 5px !important;
        font-size: 25px !important;
        line-height: 1.15 !important;
        font-weight: 650 !important;
        letter-spacing: -.025em !important;
    }
    body.single-listing.apd39-video-reference .apd52-eyebrow { display: none !important; }
    body.single-listing.apd39-video-reference .apd52-head-meta { gap: 10px !important; font-size: 10px !important; color: #717171 !important; }
    body.single-listing.apd39-video-reference .apd52-head-actions { gap: 14px !important; }
    body.single-listing.apd39-video-reference .apd52-text-action {
        min-height: 34px !important;
        padding: 0 7px !important;
        border-radius: 7px !important;
        color: #222 !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        text-decoration: underline !important;
        text-underline-offset: 2px !important;
    }
    body.single-listing.apd39-video-reference .apd52-text-action:hover { background: #f7f7f7 !important; }
    body.single-listing.apd39-video-reference .apd52-gallery {
        height: 385px !important;
        min-height: 385px !important;
        display: grid !important;
        grid-template-columns: 2fr 1fr 1fr !important;
        grid-template-rows: 1fr 1fr !important;
        gap: 7px !important;
        overflow: hidden !important;
        border-radius: 14px !important;
        background: #ededed !important;
    }
    body.single-listing.apd39-video-reference .apd52-gallery-item {
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: #ededed !important;
        overflow: hidden !important;
    }
    body.single-listing.apd39-video-reference .apd52-gallery-item-1 { grid-column: 1 !important; grid-row: 1/3 !important; }
    body.single-listing.apd39-video-reference .apd52-gallery-item-2 { grid-column: 2 !important; grid-row: 1 !important; }
    body.single-listing.apd39-video-reference .apd52-gallery-item-3 { grid-column: 3 !important; grid-row: 1 !important; }
    body.single-listing.apd39-video-reference .apd52-gallery-item-4 { grid-column: 2 !important; grid-row: 2 !important; }
    body.single-listing.apd39-video-reference .apd52-gallery-item-5 { grid-column: 3 !important; grid-row: 2 !important; }
    body.single-listing.apd39-video-reference .apd52-gallery-item img {
        width: 100% !important;
        height: 100% !important;
        min-width: 1px !important;
        min-height: 1px !important;
        display: block !important;
        object-fit: cover !important;
        opacity: 1 !important;
        visibility: visible !important;
        filter: none !important;
        transform: scale(1.001) !important;
        transition: transform .22s ease, filter .18s ease !important;
    }
    body.single-listing.apd39-video-reference .apd52-gallery-item:hover img { transform: scale(1.025) !important; filter: brightness(.94) !important; }
    body.single-listing.apd39-video-reference .apd52-show-all-photos {
        right: 14px !important;
        bottom: 14px !important;
        min-height: 34px !important;
        padding: 0 12px !important;
        border: 1px solid #222 !important;
        border-radius: 8px !important;
        background: rgba(255,255,255,.96) !important;
        color: #222 !important;
        font-size: 9px !important;
        font-weight: 600 !important;
        box-shadow: 0 2px 7px rgba(0,0,0,.12) !important;
    }
    body.single-listing.apd39-video-reference .apd52-detail-nav {
        top: 80px !important;
        min-height: 58px !important;
        z-index: 1150 !important;
        border-bottom: 1px solid #e7e7e7 !important;
        box-shadow: none !important;
    }
    body.single-listing.apd39-video-reference .apd52-content-grid {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) 330px !important;
        gap: 72px !important;
        align-items: start !important;
    }
    body.single-listing.apd39-video-reference .apd52-main-column { min-width: 0 !important; }
    body.single-listing.apd39-video-reference .apd52-side-column,
    body.single-listing.apd39-video-reference [data-apd-booking-card],
    body.single-listing.apd39-video-reference .apd52-booking-card {
        position: sticky !important;
        top: 104px !important;
    }
    body.single-listing.apd39-video-reference .apd52-section {
        padding: 28px 0 !important;
        border-bottom: 1px solid #dddddd !important;
    }
    body.single-listing.apd39-video-reference .apd52-summary-section { padding-top: 22px !important; }
    body.single-listing.apd39-video-reference .apd52-summary-section h2 { margin: 0 0 5px !important; font-size: 18px !important; line-height: 1.25 !important; }
    body.single-listing.apd39-video-reference .apd52-summary-section p { margin: 0 !important; font-size: 11px !important; color: #717171 !important; }
    body.single-listing.apd39-video-reference .apd13-guest-favorite {
        min-height: 112px !important;
        padding: 18px 22px !important;
        border: 1px solid #dddddd !important;
        border-radius: 12px !important;
        box-shadow: none !important;
    }
    body.single-listing.apd39-video-reference .apd52-booking-card,
    body.single-listing.apd39-video-reference .apd31-booking-card {
        padding: 20px !important;
        border: 1px solid #dddddd !important;
        border-radius: 14px !important;
        background: #fff !important;
        box-shadow: 0 6px 20px rgba(0,0,0,.10) !important;
    }
    body.single-listing.apd39-video-reference .apd52-booking-card input,
    body.single-listing.apd39-video-reference .apd52-booking-card select,
    body.single-listing.apd39-video-reference .apd52-booking-card button,
    body.single-listing.apd39-video-reference .apd31-booking-card input,
    body.single-listing.apd39-video-reference .apd31-booking-card select,
    body.single-listing.apd39-video-reference .apd31-booking-card button {
        font-family: inherit !important;
    }
    body.single-listing.apd39-video-reference .apd52-btn-primary,
    body.single-listing.apd39-video-reference .apd31-booking-card [type="submit"] {
        min-height: 44px !important;
        border-radius: 8px !important;
        background: #0d2b6c !important;
        color: #fff !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        box-shadow: none !important;
    }
    body.single-listing.apd39-video-reference .apd52-btn-primary:hover,
    body.single-listing.apd39-video-reference .apd31-booking-card [type="submit"]:hover { background: #081f50 !important; }
    body.single-listing.apd39-video-reference .apd52-reviews-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 26px 42px !important; }
    body.single-listing.apd39-video-reference .apd52-review-card { padding: 0 !important; border: 0 !important; box-shadow: none !important; }
    body.single-listing.apd39-video-reference .apd52-map-section { padding-bottom: 34px !important; }
}

/* --------------------------------------------------------------------------
   Interaction polish and stability
   -------------------------------------------------------------------------- */
body.apd39-video-reference :is(a,button,[role="button"]) {
    -webkit-tap-highlight-color: transparent;
}
body.apd39-video-reference :is(a,button,[role="button"]):focus-visible {
    outline: 2px solid #222 !important;
    outline-offset: 3px !important;
}
body.apd39-video-reference .apd39-pressed { transform: scale(.975) !important; transition-duration: .07s !important; }
body.apd39-video-reference.apd39-filter-open::after {
    content: "";
    position: fixed;
    inset: 134px 0 0;
    z-index: 1190;
    background: rgba(0,0,0,.16);
}

/* Responsive adjustments preserve the existing mobile application layer. */
@media (min-width: 1180px) and (max-width: 1450px) {
    :root { --apd39-content: 1280px; --apd39-detail: 1080px; }
    body.home.apd39-video-reference .apd5-card-rail { grid-auto-columns: calc((100% - 60px)/6) !important; }
    body.apd39-video-reference .apd5-header-row { width: min(calc(100vw - 64px),var(--apd39-content)) !important; }
}
@media (min-width: 1180px) and (max-width: 1280px) {
    body.apd39-video-reference .apd5-header-row { grid-template-columns: 150px minmax(560px,1fr) 220px !important; }
    body.apd39-video-reference .apd5-main-nav { gap: 16px !important; }
    body.home.apd39-video-reference .apd29-video-home { width: calc(100vw - 56px) !important; }
    body.apd39-video-reference.apd5-search-results-page .apd53-results-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 1179px) {
    body.home.apd39-video-reference .apd39-home-greeting {
        width: calc(100% - 32px) !important;
        margin: 18px auto 10px !important;
        font-size: 16px !important;
    }
    body.home.apd39-video-reference .apd29-continue-strip {
        width: calc(100% - 32px) !important;
        margin: 0 auto !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        border: 0 !important;
    }
    body.home.apd39-video-reference .apd29-continue-strip > a { max-width: none !important; justify-content: flex-start !important; box-shadow: 0 3px 12px rgba(0,0,0,.08) !important; }
}
@media (prefers-reduced-motion: reduce) {
    body.apd39-video-reference *,
    body.apd39-video-reference *::before,
    body.apd39-video-reference *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }
}
