/* Shared mobile rhythm; full desktop and tablet styles remain in their own files. */
@media (max-width:767px) {
  body.family-field { --shell:calc(100% - 40px); }
  body.family-field .site-header__inner { min-height:68px; padding-inline:16px; gap:8px; }
  body.family-field :is(.menu-toggle,.theme-toggle) { min-width:44px; min-height:44px; }
  body.family-field .tpi-language-switcher a { min-height:44px; }
  body.family-field .primary-navigation { max-height:calc(100dvh - 68px); overflow-y:auto; }
  body.family-field .primary-navigation a { min-height:48px; }
  body.family-field main :is(input,select,textarea) { max-width:100%; font-size:16px; }
  body.family-field main .button { min-height:48px; white-space:normal; text-align:center; }
  body.family-field main :is(h1,h2,h3) { word-break:normal; hyphens:none; }
  body.family-field .field-photo-strip { display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; overflow-x:auto; gap:12px; padding:16px 20px; scroll-snap-type:x proximity; }
  body.family-field .field-photo-strip > :is(figure,.tpi-native-tag-figure) { flex:0 0 78%; min-width:0; height:180px; scroll-snap-align:start; }
  body.family-field .site-footer__mast { padding:24px 20px; }
  body.family-field .site-footer__mast strong { font-size:26px; line-height:1.25; }
  body.family-field .site-footer__top { grid-template-columns:minmax(0,1fr); gap:28px; padding:36px 0; }
  body.family-field .site-footer__top > div { grid-column:auto; }
  body.family-field .site-footer a { display:inline-flex; align-items:center; min-height:44px; overflow-wrap:anywhere; }
  body.family-field .site-footer__bottom { padding:20px; }
}
