/* Shared desktop booking bar for LHAG hotel hero banners. */
@media (min-width:768px){
    .hero-booking.hotel-booking-modern{
        --booking-accent:#ba9158;
        --booking-accent-hover:#a87d44;
        --booking-divider:#c7a06a;
        bottom:154px !important;
        width:min(940px, calc(100% - 70px)) !important;
        min-height:50px !important;
        display:grid !important;
        grid-template-columns:minmax(250px,1.65fr) minmax(150px,1fr) minmax(160px,1.08fr) minmax(150px,.92fr) !important;
        gap:0 !important;
        align-items:stretch !important;
        padding:0 !important;
        background:#f4f0e8 !important;
        box-shadow:0 8px 25px rgba(31,26,20,.12) !important;
        font-family:Montserrat,Arial,sans-serif !important;
        box-sizing:border-box !important;
        isolation:isolate !important;
    }

    .hero-booking.hotel-booking-modern.hotel-booking-red{
        --booking-accent:#8B0304;
        --booking-accent-hover:#6f0203;
        --booking-divider:#8B0304;
    }

    .hero-booking.hotel-booking-modern .booking-field{
        min-width:0 !important;
        min-height:50px !important;
        margin:0 !important;
        border:0 !important;
        background:transparent !important;
        transform:none !important;
    }
    .hero-booking.hotel-booking-modern .booking-legacy-guests{display:none !important;}

    .hero-booking.hotel-booking-modern .booking-date-field{
        position:relative !important;
        display:grid !important;
        grid-template-columns:1fr 1.1fr !important;
    }

    .hero-booking.hotel-booking-modern .booking-trigger{
        position:relative !important;
        min-width:0 !important;
        min-height:50px !important;
        height:50px !important;
        padding:0 24px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
        border:0 !important;
        background:transparent !important;
        color:#403d3a !important;
        text-align:left !important;
        cursor:pointer !important;
    }

    .hero-booking.hotel-booking-modern .booking-trigger::after{display:none !important;content:none !important;}
    .hero-booking.hotel-booking-modern .booking-trigger:focus,
    .hero-booking.hotel-booking-modern .booking-trigger:focus-visible{
        outline:none !important;
        box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--booking-accent) 45%,transparent) !important;
    }

    .hero-booking.hotel-booking-modern .booking-departure-trigger::before,
    .hero-booking.hotel-booking-modern .booking-guest-inline::before{
        content:"" !important;
        position:absolute !important;
        left:0 !important;
        top:13px !important;
        width:1px !important;
        height:24px !important;
        background:var(--booking-divider) !important;
        opacity:.85 !important;
    }

    .hero-booking.hotel-booking-modern .booking-label,
    .hero-booking.hotel-booking-modern .booking-value{
        margin:0 !important;
        color:#403d3a !important;
        font-size:14px !important;
        font-weight:500 !important;
        line-height:1 !important;
        letter-spacing:1.15px !important;
        text-transform:uppercase !important;
        white-space:nowrap !important;
    }

    .hero-booking.hotel-booking-modern .booking-value{display:none !important;font-size:13px !important;letter-spacing:.55px !important;}
    .hero-booking.hotel-booking-modern.has-booking-dates .booking-date-field .booking-label{display:none !important;}
    .hero-booking.hotel-booking-modern.has-booking-dates .booking-date-field .booking-value{display:block !important;}

    .hero-booking.hotel-booking-modern .booking-guest-inline{
        position:relative !important;
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        align-items:center !important;
        justify-content:space-between !important;
        padding:0 30px !important;
    }

    .hero-booking.hotel-booking-modern .booking-guest-inline .guest-stepper{display:flex !important;align-items:center !important;gap:0 !important;margin:0 !important;}
    .hero-booking.hotel-booking-modern .booking-guest-inline .guest-stepper button,
    .hero-booking.hotel-booking-modern .booking-guest-inline .guest-stepper span{
        width:25px !important;
        height:32px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
        color:#403d3a !important;
        font-family:Montserrat,Arial,sans-serif !important;
        font-size:14px !important;
        font-weight:500 !important;
        line-height:1 !important;
        box-shadow:none !important;
    }

    .hero-booking.hotel-booking-modern .booking-guest-inline .guest-stepper button{cursor:pointer !important;transition:color .2s ease,background .2s ease !important;}
    .hero-booking.hotel-booking-modern .booking-guest-inline .guest-stepper button:hover,
    .hero-booking.hotel-booking-modern .booking-guest-inline .guest-stepper button:focus-visible{
        color:var(--booking-accent) !important;
        background:color-mix(in srgb,var(--booking-accent) 12%,transparent) !important;
        outline:none !important;
    }
    .hero-booking.hotel-booking-modern .booking-guest-inline .guest-stepper button:disabled{opacity:.35 !important;cursor:not-allowed !important;background:transparent !important;}

    .hero-booking.hotel-booking-modern .hero-booking-submit,
    .hero-booking.hotel-booking-modern .hero-booking-submit:not(:hover):not(:focus-visible),
    .hero-booking.hotel-booking-modern .hero-booking-submit:active:not(:hover):not(:focus-visible),
    .hero-booking.hotel-booking-modern .hero-booking-submit:focus:not(:hover){
        width:100% !important;
        height:50px !important;
        min-height:50px !important;
        margin:0 !important;
        padding:0 20px !important;
        border:0 !important;
        background:var(--booking-accent) !important;
        background-color:var(--booking-accent) !important;
        color:#fff !important;
        font-size:15px !important;
        font-weight:700 !important;
        letter-spacing:1.35px !important;
        transform:none !important;
        box-shadow:none !important;
        border-radius:0 !important;
        box-sizing:border-box !important;
        min-width:0 !important;
        justify-self:stretch !important;
        -webkit-appearance:none !important;
        appearance:none !important;
        -webkit-background-clip:border-box !important;
        background-clip:border-box !important;
        margin-right:-1px !important;
        width:calc(100% + 1px) !important;
    }
    .hero-booking.hotel-booking-modern .hero-booking-submit::before,
    .hero-booking.hotel-booking-modern .hero-booking-submit::after{display:none !important;content:none !important;}
    .hero-booking.hotel-booking-modern .hero-booking-submit:hover,
    .hero-booking.hotel-booking-modern .hero-booking-submit:focus-visible{
        border:0 !important;
        background:var(--booking-accent-hover) !important;
        transform:none !important;
        outline:none !important;
    }

    .hero-booking.hotel-booking-modern .booking-date-panel{
        left:0 !important;
        right:auto !important;
        top:auto !important;
        bottom:calc(100% + 10px) !important;
        width:100% !important;
        min-width:0 !important;
        padding:10px !important;
        box-sizing:border-box !important;
        border:1px solid rgba(112,83,58,.12) !important;
        border-radius:0 !important;
        background:rgba(250,247,241,.98) !important;
        box-shadow:0 16px 38px rgba(31,24,18,.20) !important;
        z-index:1200 !important;
    }
    .hero-booking.hotel-booking-modern .booking-date-panel::before{
        content:"" !important;
        position:absolute !important;
        left:54px !important;
        bottom:-7px !important;
        width:12px !important;
        height:12px !important;
        display:block !important;
        border-right:1px solid rgba(112,83,58,.12) !important;
        border-bottom:1px solid rgba(112,83,58,.12) !important;
        background:#faf7f1 !important;
        transform:rotate(45deg) !important;
        pointer-events:none !important;
    }
    .hero-booking.hotel-booking-modern .calendar-head{min-height:28px !important;height:28px !important;margin:0 0 6px !important;}
    .hero-booking.hotel-booking-modern .calendar-title{font-size:14px !important;line-height:1 !important;letter-spacing:.8px !important;}
    .hero-booking.hotel-booking-modern .calendar-nav{width:26px !important;height:26px !important;flex:0 0 26px !important;}
    .hero-booking.hotel-booking-modern .calendar-weekdays,
    .hero-booking.hotel-booking-modern .calendar-grid{gap:3px !important;}
    .hero-booking.hotel-booking-modern .calendar-grid{
        height:auto !important;
        min-height:0 !important;
        grid-auto-rows:26px !important;
    }
    .hero-booking.hotel-booking-modern .calendar-weekdays{height:16px !important;min-height:16px !important;margin-bottom:4px !important;align-items:center !important;}
    .hero-booking.hotel-booking-modern .calendar-weekdays span{font-size:9px !important;height:16px !important;line-height:16px !important;letter-spacing:.35px !important;}
    .hero-booking.hotel-booking-modern .calendar-day{width:100% !important;height:26px !important;min-width:0 !important;padding:0 !important;font-size:12px !important;line-height:26px !important;}
}
