/* Shared mobile layout safeguards */
@media (max-width: 1100px) {
  body .site-nav {
    position: absolute !important;
    inset: 100% 0 auto 0 !important;
  }

  body .site-nav__list {
    top: 8px !important;
    right: 16px !important;
    left: 16px !important;
    min-width: 0 !important;
  }
}

@media (max-width: 767px) {
  html, body { overflow-x: hidden; }

  body .container { padding-right: 16px !important; padding-left: 16px !important; }
  body .section { padding-top: 40px !important; padding-bottom: 40px !important; }
  body .section--tight { padding-top: 28px !important; padding-bottom: 28px !important; }
  body .card { padding: 20px !important; border-radius: 18px !important; }

  body h1 { font-size: clamp(2rem, 9vw, 2.55rem) !important; letter-spacing: .055em !important; }
  body h2 { font-size: clamp(1.6rem, 7vw, 2.1rem) !important; }
  body h3 { font-size: clamp(1.3rem, 6vw, 1.65rem) !important; }

  body .grid-2,
  body .grid-3,
  body .home-hero__grid,
  body .portfolio-card,
  body .portfolio-card--reverse,
  body .booking-layout,
  body .contact-hero__inner,
  body .contact-form__grid,
  body .contact-info__grid,
  body .cookie-grid,
  body .page-legal__grid,
  body .packages-hero__grid,
  body .packages-theme__grid,
  body .packages-grid,
  body .packages-decor__grid,
  body .packages-full__grid,
  body .packages-full__steps,
  body .services-hero__layout,
  body .services-overview__header-grid,
  body .services-overview__grid,
  body .services-casino__layout,
  body .services-grid__layout,
  body .services-grid__item--media,
  body .services-audiences__layout,
  body .services-audiences__grid,
  body .services-territoire__layout,
  body .services-conseil__layout,
  body .services-experience__layout,
  body .team-hero__grid,
  body .team-leadership__grid,
  body .team-ambassadors__grid,
  body .team-values__grid,
  body .team-expertise__grid,
  body .team-spirit__grid,
  body .team-moments__layout,
  body .team-partners__grid,
  body .team-responsibility__grid,
  body .about-intro__grid,
  body .about-leadership__grid,
  body .about-moments__grid,
  body .contact-form__group--inline,
  body .booking-form__group--split {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body .home-hero__media,
  body .packages-hero__media,
  body .team-hero__media,
  body .about-intro__media,
  body .about-leadership__media,
  body .about-moments__media {
    order: -1;
  }

  body .home-hero__frame,
  body .packages-hero__frame { max-width: 100% !important; }
  body .home-hero__seal,
  body .packages-hero__seal { right: 10px !important; bottom: 12px !important; }

  body .home-hero__caption {
    right: 12px;
    left: 12px;
    bottom: 10px;
    justify-content: center;
    border-radius: 14px;
    text-align: center;
  }

  body .home-facts { border-radius: 18px !important; }
  body .home-facts__items { gap: 8px !important; font-size: .72rem !important; }

  body .home-hero__actions,
  body .page-hero__actions,
  body .about-intro__cta-group,
  body .about-cta__actions,
  body .about-recognition__cta,
  body .team-hero__actions,
  body .team-ambassadors__cta,
  body .team-partners__cta-wrap,
  body .team-cta__actions,
  body .portfolio-hero__actions,
  body .portfolio-card__actions,
  body .portfolio-cta__actions,
  body .packages-hero__actions,
  body .packages-animations__actions,
  body .packages-full__cta,
  body .services-hero__actions,
  body .services-casino__cta,
  body .services-conseil__cta-group,
  body .services-bottom-cta__actions,
  body .contact-hero__actions,
  body .booking-form__actions,
  body .home-engagement__actions {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100%;
  }

  body main .btn,
  body main .btn-secondary,
  body main .btn-ghost {
    justify-content: center;
    width: 100%;
    min-height: 46px;
  }

  body .input,
  body .textarea,
  body .select { min-height: 46px; font-size: 16px !important; }
  body .textarea { min-height: 128px; }

  body .packages-card__footer,
  body .portfolio-cta__card,
  body .team-cta__card,
  body .about-cta__card,
  body .services-bottom-cta__inner,
  body .contact-faq__footer {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  body .cookie-banner { padding: 0 10px 10px !important; }
  body .cookie-banner__inner { padding: 14px !important; }
  body .cookie-banner__actions { width: 100%; margin-left: 0 !important; }
  body .cookie-banner__btn { flex: 1; padding-right: 12px !important; padding-left: 12px !important; }
}

@media (max-width: 480px) {
  body .container { padding-right: 14px !important; padding-left: 14px !important; }
  body .section { padding-top: 32px !important; padding-bottom: 32px !important; }
  body .card { padding: 16px !important; border-radius: 16px !important; }
  body .rt-brand__name { font-size: .77rem !important; letter-spacing: .12em !important; }
  body .rt-brand__crest { width: 36px !important; height: 36px !important; }
  body .home-hero__seal,
  body .packages-hero__seal { display: none !important; }
  body .home-hero__caption { position: static !important; margin: 10px 10px 0; }
  body .age-modal__dialog { margin: 12px !important; padding: 22px 18px 18px !important; }
  body .age-modal__actions { flex-direction: column; align-items: stretch; }
  body .age-modal__btn { justify-content: center; width: 100%; }
}
