@media (min-width: 1024px) {
    .booking-body {
        background:
            radial-gradient(circle at 14% 0%, hsl(var(--accent) / 0.12), transparent 30rem),
            radial-gradient(circle at 86% 8%, hsl(var(--primary) / 0.10), transparent 34rem),
            linear-gradient(180deg, hsl(var(--background)) 0%, #fff 58%, hsl(var(--background)) 100%) !important;
    }

    .booking-home,
    .booking-results-page,
    .booking-checkout-page,
    .booking-confirmation-page,
    .booking-flash,
    .booking-width-narrow .booking-home,
    .booking-width-wide .booking-home,
    .booking-width-full .booking-home,
    .booking-width-narrow .booking-results-page,
    .booking-width-wide .booking-results-page,
    .booking-width-full .booking-results-page,
    .booking-width-narrow .booking-checkout-page,
    .booking-width-wide .booking-checkout-page,
    .booking-width-full .booking-checkout-page,
    .booking-width-narrow .booking-confirmation-page,
    .booking-width-wide .booking-confirmation-page,
    .booking-width-full .booking-confirmation-page,
    .booking-width-narrow .booking-flash,
    .booking-width-wide .booking-flash,
    .booking-width-full .booking-flash {
        width: min(1760px, calc(100% - 96px)) !important;
    }

    .booking-home {
        min-height: auto !important;
        align-content: start !important;
        gap: 0 !important;
        padding: clamp(2rem, 4vw, 4.5rem) 0 4rem !important;
    }

    .booking-home-hero {
        position: relative;
        isolation: isolate;
        min-height: clamp(560px, 65vh, 760px) !important;
        border-radius: 18px !important;
        padding: clamp(2rem, 4.8vw, 5.5rem) !important;
        background-position: center !important;
        box-shadow: 0 34px 90px rgb(15 23 42 / 0.18) !important;
    }

    .booking-home-hero::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 0;
        pointer-events: none;
        background:
            linear-gradient(90deg, rgb(0 0 0 / 0.56), rgb(0 0 0 / 0.24) 48%, rgb(0 0 0 / 0.08)),
            linear-gradient(0deg, rgb(0 0 0 / 0.42), transparent 42%);
    }

    .booking-home-hero > * {
        position: relative;
        z-index: 1;
    }

    .booking-hero-copy.positioned {
        left: clamp(3rem, var(--hero-x, 8%), calc(100% - min(760px, calc(100% - 6rem)) - 3rem)) !important;
        top: clamp(11rem, var(--hero-y, 58%), calc(100% - 9rem)) !important;
        width: min(760px, calc(100% - 6rem)) !important;
        max-width: none !important;
        transform: translateY(-50%) !important;
    }

    .booking-align-center .booking-hero-copy.positioned,
    .booking-hero-centered .booking-hero-copy.positioned {
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
    }

    .booking-home-hero .booking-hero-copy h1 {
        max-width: 12ch;
        font-size: clamp(4rem, 6.2vw, 7.25rem) !important;
        line-height: 1.02 !important;
        letter-spacing: 0 !important;
        overflow-wrap: anywhere;
        text-wrap: balance;
    }

    .booking-home-hero .booking-hero-copy p:last-child {
        max-width: 58rem !important;
        font-size: clamp(1.05rem, 1.25vw, 1.35rem);
        overflow-wrap: break-word;
    }

    .booking-brand-row {
        gap: 0.75rem;
        font-size: 1rem;
    }

    .booking-brand-mark {
        width: 52px;
        height: 52px;
        border-radius: 12px;
    }

    .booking-brand-row-positioned,
    .visual-brand-row {
        position: absolute;
        left: clamp(3rem, var(--brand-x, 6%), calc(100% - 18rem)) !important;
        top: clamp(3rem, var(--brand-y, 8%), calc(100% - 5rem)) !important;
        z-index: 4;
        font-size: var(--brand-text-size, 16px) !important;
    }

    .booking-brand-row-positioned .booking-brand-mark,
    .visual-brand-row .booking-brand-mark {
        width: var(--brand-logo-size, 52px) !important;
        height: var(--brand-logo-size, 52px) !important;
    }

    .booking-hero-copy.positioned .booking-kicker,
    .visual-hero-copy .booking-kicker {
        font-size: var(--hero-kicker-size, 13px) !important;
    }

    .booking-home-hero .booking-hero-copy.positioned h1,
    .visual-hero-copy h1 {
        font-size: clamp(2rem, var(--hero-title-size, 76px), 8.25rem) !important;
    }

    .booking-home-hero .booking-hero-copy.positioned p:last-child,
    .visual-hero-copy p:last-child {
        font-size: clamp(0.8rem, var(--hero-intro-size, 20px), 2.5rem) !important;
    }

    .booking-search-panel:not(.slim),
    .booking-search-style-card .booking-search-panel:not(.slim),
    .booking-search-style-stacked .booking-search-panel:not(.slim) {
        width: min(1480px, calc(100% - 9rem)) !important;
        max-width: none !important;
        grid-template-columns: minmax(210px, 1fr) minmax(210px, 1fr) minmax(130px, 0.55fr) minmax(130px, 0.55fr) minmax(190px, 0.75fr) !important;
        gap: 1rem !important;
        align-items: end !important;
        margin: -72px auto 0 !important;
        border: 1px solid rgb(255 255 255 / 0.75) !important;
        border-radius: 16px !important;
        background: rgb(255 255 255 / 0.94) !important;
        padding: 1.15rem !important;
        box-shadow: 0 28px 80px rgb(15 23 42 / 0.18) !important;
        backdrop-filter: blur(18px);
    }

    .booking-search-style-card .booking-search-panel:not(.slim) .booking-primary-button {
        grid-column: auto !important;
    }

    .booking-search-field label {
        color: rgb(51 65 85);
        font-size: 0.78rem;
        font-weight: 900;
        letter-spacing: 0;
    }

    .booking-search-field input,
    .booking-search-field select,
    .booking-search-field textarea {
        min-height: 3.5rem;
        border-color: hsl(var(--border));
        background: hsl(var(--background) / 0.62);
        font-size: 1rem;
    }

    .booking-search-panel:not(.slim) .booking-primary-button {
        min-height: 3.5rem;
        justify-content: center;
        border-radius: 12px;
        font-size: 1rem;
        box-shadow: 0 18px 36px hsl(var(--primary) / 0.24);
    }

    .booking-trust-strip {
        width: min(1480px, calc(100% - 9rem)) !important;
        margin: 1.75rem auto 0 !important;
        justify-content: center;
    }

    .booking-results-page,
    .booking-checkout-page,
    .booking-confirmation-page {
        padding-block: clamp(2rem, 4vw, 4.5rem);
    }

    .booking-room-card,
    .booking-empty-state,
    .booking-stay-summary,
    .booking-guest-form,
    .booking-info-panel {
        border-radius: 16px !important;
    }
}

@media (min-width: 1600px) {
    .booking-home,
    .booking-results-page,
    .booking-checkout-page,
    .booking-confirmation-page,
    .booking-flash,
    .booking-width-narrow .booking-home,
    .booking-width-wide .booking-home,
    .booking-width-full .booking-home,
    .booking-width-narrow .booking-results-page,
    .booking-width-wide .booking-results-page,
    .booking-width-full .booking-results-page,
    .booking-width-narrow .booking-checkout-page,
    .booking-width-wide .booking-checkout-page,
    .booking-width-full .booking-checkout-page,
    .booking-width-narrow .booking-confirmation-page,
    .booking-width-wide .booking-confirmation-page,
    .booking-width-full .booking-confirmation-page,
    .booking-width-narrow .booking-flash,
    .booking-width-wide .booking-flash,
    .booking-width-full .booking-flash {
        width: min(1840px, calc(100% - 112px)) !important;
    }

    .booking-search-panel:not(.slim),
    .booking-search-style-card .booking-search-panel:not(.slim),
    .booking-search-style-stacked .booking-search-panel:not(.slim),
    .booking-trust-strip {
        width: min(1560px, calc(100% - 12rem)) !important;
    }
}
