/* Shared public-page mobile layout. Desktop styles stay in their existing bundles. */
@media (max-width: 767.98px) {
  .site-main > .section { padding-block: 1.5rem; }
  .site-main > .section > .section__inner.pt-5 { padding-top: 0 !important; }
  .site-main .section-title { font-size: clamp(1.5rem, 6.4vw, 1.95rem); line-height: 1.18; letter-spacing: -0.025em; overflow-wrap: break-word; }
  .site-main .section-kicker { font-size: .7rem; margin-bottom: .5rem; }
  .site-main .lead { font-size: .95rem; line-height: 1.65; }
  .site-main .section__header { margin-bottom: 1rem; }
  .site-main .row.g-5 { --bs-gutter-y: 1.5rem; --bs-gutter-x: 1rem; }
  .site-main .row > *, .site-main .section__header > *, .site-footer .row > * { min-width: 0; }
  .site-main p, .site-main dd, .site-footer p, .site-footer a { overflow-wrap: anywhere; }
  .site-main .trip-card.p-4, .site-main .trip-card.p-lg-5 { padding: 1rem !important; border-radius: 14px; }
  .site-main .btn, .site-footer button, .site-main .accordion-button { min-height: 44px; }
  .site-main .btn { white-space: normal; }
  .site-main .form-control, .site-main .form-select, .site-footer .form-control,
  .site-popup input.form-control, .site-popup select.form-select, .site-popup textarea.form-control,
  .enquiry-suggestags input.amsify-suggestags-input, .site-header input {
    min-width: 0; min-height: 44px; font-size: 16px !important;
  }
  .site-main textarea.form-control { min-height: 100px; }
  .site-main .form-label { font-size: .8rem; margin-bottom: .35rem; }
  .site-main .input-group { min-width: 0; }
  .site-main .newsletter-band, .site-main .newsletter-band > *, .site-main .newsletter-form > * { min-width: 0; max-width: 100%; }
  .site-main .newsletter-form { grid-template-columns: minmax(0, 1fr); }

  .site-main .pill-tabs, .site-main .travel-tabs { flex-wrap: nowrap; max-width: 100%; }
  .site-main .pill-tabs a, .site-main .travel-tab { min-height: 44px; display: inline-flex; align-items: center; }
  .site-main .showcase-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .65rem; }
  .site-main .trust-strip { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .75rem; }
  .site-main .trust-strip__item { padding: 1rem .6rem; }
  .site-main .dynamic-content { font-size: .95rem; line-height: 1.7; overflow-wrap: anywhere; }
  .site-main .dynamic-content h1, .site-main .dynamic-content h2 { font-size: 1.4rem; line-height: 1.3; }
  .site-main .dynamic-content h3 { font-size: 1.15rem; }
  .site-main .dynamic-content img { max-width: 100% !important; height: auto !important; }
  .site-main .dynamic-content iframe { max-width: 100%; }
  .site-main .dynamic-content pre { max-width: 100%; overflow-x: auto; }
  .site-main .dynamic-content table { display: block; max-width: 100%; overflow-x: auto; }
  .site-main .dynamic-content ul, .site-main .dynamic-content ol { padding-left: 1.25rem; }
  .page-contact .ratio-21x9 { --bs-aspect-ratio: 75%; margin-top: 1.5rem !important; }
  .page-about .rounded-3 { width: 100%; height: auto; }
  .page-profile dl > div { flex-direction: column; gap: .25rem; padding-bottom: .65rem; }
  .page-profile dd { max-width: 100%; }
  .page-unsubscribe .input-group { display: grid; gap: .65rem; }
  .page-unsubscribe .input-group > * { width: 100%; margin: 0 !important; border-radius: 10px !important; }
  .site-footer { padding-block: 2rem 1.25rem; }
  .site-footer__inner { padding-inline: 1rem; }
  .site-footer .newsletter-form { gap: .65rem; }
  .site-footer__bottom { font-size: .75rem; line-height: 1.6; }
  .site-footer__contact-item { min-width: 0; }
  .cookie-notice { grid-template-columns: minmax(0, 1fr) auto; gap: .65rem; max-height: 45dvh; overflow-y: auto; }
  .cookie-notice__icon { display: none; }
  .cookie-notice__content { grid-column: 1; grid-row: 1; }
  .cookie-notice__accept { grid-column: 2; grid-row: 1; width: auto; min-height: 44px; align-self: center; }
}

@media (max-width: 991.98px) {
  .site-header .navbar-collapse, .site-header .navbar-collapse.collapsing {
    height: 100dvh !important;
    padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
    overscroll-behavior: contain;
  }
}

@media (max-width: 767.98px) {
  .backend-auth-shell { min-height: 100dvh; padding: 1rem; }
  .backend-auth-card { width: 100%; min-width: 0; border-radius: 16px; }
  .backend-auth-visual { padding: 1.25rem; }
  .backend-auth-visual h1 { font-size: 1.5rem; }
  .backend-auth-visual p { font-size: .85rem; }
  .backend-auth-form { min-width: 0; padding: 1.25rem; }
  .backend-auth-title { font-size: 1.5rem; }
  .backend-auth-form .form-control { min-height: 46px; font-size: 16px; }
  .backend-auth-form .btn { min-height: 44px; }
  .backend-auth-form .d-flex { flex-wrap: wrap; gap: .75rem; }
  .backend-auth-form p, .backend-auth-form a { overflow-wrap: anywhere; }
}
