/* Public mobile experience: safe areas, comfortable controls, and grouped cards. */
@media (max-width: 979px) {
    html { scroll-padding-top: 100px; -webkit-text-size-adjust: 100%; }
    body { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
    .container { padding-left: max(18px, env(safe-area-inset-left)); padding-right: max(18px, env(safe-area-inset-right)); }
    .site-header { background: rgba(255,255,255,.96); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); box-shadow: 0 1px 0 rgba(20,18,58,.08); padding-top: env(safe-area-inset-top, 0px); }
    .site-header__inner { height: 78px; }
    .site-header__logo { width: 210px; border-radius: 10px; }
    .site-nav__toggle { width: 44px; height: 44px; padding: 11px; border-radius: 14px; background: rgba(255,255,255,.12); }
    .site-nav__toggle span { transition: transform .2s, opacity .2s; }
    .site-nav__toggle[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg); }
    .site-nav__toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
    .site-nav__toggle[aria-expanded="true"] span:last-child { transform: translateY(-7px) rotate(-45deg); }
    .site-nav.is-open { top: 100%; left: max(12px, env(safe-area-inset-left)); right: max(12px, env(safe-area-inset-right)); margin-top: 8px; padding: 8px; gap: 0; border-radius: 20px; background: #ffffff; border: 1px solid #e9e3da; align-items: stretch; max-height: calc(100dvh - 180px); overflow-y: auto; box-shadow: 0 16px 40px #14123a26; }
    .site-nav.is-open a { color: var(--color-night); padding: 14px 16px; min-height: 48px; border-radius: 12px; }
    .site-nav.is-open a:hover, .site-nav.is-open a.is-active { background: #eaf0fd; color: var(--color-maroon); }
    .mobile-cta-bar { left: max(12px, env(safe-area-inset-left)); right: max(12px, env(safe-area-inset-right)); bottom: calc(10px + env(safe-area-inset-bottom, 0px)); border: 1px solid #ffffffb3; border-radius: 24px; padding: 6px; gap: 4px; background: rgba(255,250,244,.96); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); box-shadow: 0 8px 32px #14123a26; }
    .mobile-cta-bar__item { min-width: 0; min-height: 58px; justify-content: center; border-radius: 18px; padding: 6px 2px; font-size: 11px; }
    .mobile-cta-bar__item--whatsapp { color: #13773b; }
    .floating-whatsapp { display: none; }
    .btn { min-height: 46px; white-space: normal; text-align: center; border-radius: 14px; }
    input, select, textarea, .form-group input, .form-group select, .form-group textarea { font-size: 16px; max-width: 100%; }
    .form-group input:not([type="checkbox"]):not([type="radio"]), .form-group select { min-height: 48px; border-radius: 12px; }
    .stepper__btn { width: 44px; height: 46px; }
    .stepper__control input { min-width: 0; font-size: 16px; }
    .link-chips a { min-height: 44px; display: inline-flex; align-items: center; }
    .booking-sidebar, .listing-price, .form-row > *, .two-col > * { min-width: 0; }
    .site-footer__bottom { padding-bottom: 24px; }
    .site-footer__phones, .site-footer__col { overflow-wrap: anywhere; }
    a:focus-visible, button:focus-visible { outline: 3px solid #1e4fd6; outline-offset: 4px; }
}
@media (max-width: 699px) {
    .section { padding-top: 36px; padding-bottom: 36px; }
    .announcement-bar__inner { font-size: 11px; padding-top: 7px; padding-bottom: 7px; }
    h1, .hero h1, .listing-title-row h1 { font-size: 28px; line-height: 1.2; letter-spacing: -.025em; }
    .boat-rail-head__title { flex-direction: column; align-items: flex-start; gap: 8px; }
    .boat-rail-head__title h2 { font-size: 25px; }
    .listing-layout { gap: 28px; margin-top: 20px; }
    .listing-title-row { gap: 12px; }
    .listing-title-row h1 { flex-basis: 100%; }
    .listing-price { text-align: left; width: 100%; }
    .listing-price .boat-price, .listing-price .boat-rating { justify-content: flex-start; flex-wrap: wrap; }
    .listing-quickfacts { gap: 8px; margin-bottom: 24px; }
    .listing-quickfacts__item { background: #fff; border: 1px solid #e9e3da; border-radius: 16px; padding: 14px 6px; overflow-wrap: anywhere; }
    .listing-quickfacts__item strong { font-size: 12px; }
    .listing-quickfacts__label { font-size: 9px; letter-spacing: 0; }
    .booking-sidebar__card, .enquiry-card { border-radius: 24px; box-shadow: 0 8px 28px #14123a0d; }
    .booking-sidebar__form, .booking-sidebar__head { padding: 20px; }
    .boat-comparison .boat-rail__card { background: #fff; border: 1px solid #e9e3da; border-radius: 24px; overflow: hidden; gap: 0; }
    .boat-comparison .boat-rail__media { border-radius: 0; aspect-ratio: 4/3; }
    .boat-comparison .boat-rail__info { padding: 18px; gap: 6px; }
    .boat-comparison .boat-rail__info h3 { font-size: 20px; }
    .boat-comparison .boat-rail__scroll { gap: 20px; }
    .boat-grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
    .boat-grid__media { aspect-ratio: 4/3; }
    .hero__ctas, .hero-slider__ctas { gap: 12px; }
    .hero__ctas .btn { flex: 1 1 100%; }
    .hero-slider__content { padding-top: 28px; padding-bottom: 48px; }
    .hero-slider__features { gap: 14px; }
    .hero-slider__features li { width: 72px; }
    .hero-slider__brand-heading { font-size: 30px; }
    .faq-item__q { min-height: 52px; }
    .site-footer__grid { grid-template-columns: minmax(0,1fr); gap: 26px; }
    .site-footer__links a { display: inline-flex; align-items: center; min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
    .site-nav__toggle span { transition: none; }
}
