/* November 2026: responsive hero and a shortcut to the existing booking form. */
.hero .hero-media { position: absolute; inset: 0; display: block; }
.hero .hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero:has(.hero-media)::before { z-index: 1; }
.hero .hero-content, .hero .hero-badge, .hero .hero-actions { animation: none; }
.gp-booking-shortcut { display: none; }
#gp-booking { scroll-margin-top: 180px; }
.gp-booking-terms { margin: 1rem 0 0; font-size: .8rem; line-height: 1.5; text-align: center; }
.gp-booking-terms a { text-decoration: underline; }

@media (max-width: 940px) {
    body.single-product { padding-bottom: calc(82px + env(safe-area-inset-bottom, 0px)); }
    .gp-booking-shortcut {
        position: fixed;
        z-index: 900;
        right: 0;
        bottom: 0;
        left: 0;
        display: flex;
        justify-content: center;
        padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
        background: #fff;
        border-top: 1px solid var(--color-border);
        box-shadow: 0 -4px 18px rgba(27, 58, 75, .1);
    }
    .gp-booking-shortcut a { width: 100%; max-width: 480px; min-height: 48px; }
    .gp-booking-shortcut a:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; }
    body.single-product .whatsapp-float { bottom: calc(90px + env(safe-area-inset-bottom, 0px)); }
    body:has(.mobile-menu.is-open) .gp-booking-shortcut,
    body.gp-modal-open .gp-booking-shortcut,
    body:has(.gp-lb.open) .gp-booking-shortcut { display: none; }
    #gp-booking { scroll-margin-top: 150px; }
}

@media print {
    .gp-booking-shortcut { display: none; }
    body.single-product { padding-bottom: 0; }
}
