/* P79 mobile-first polish — loaded after the main stylesheet on public + dashboard layouts.
   Rules are additive (min-sizes, hit-area extensions); they never change desktop. */
@media (max-width:768px){
  /* 44px minimum touch targets (WCAG 2.5.5 / Apple HIG) */
  .btn,a.btn,button.btn,.mini,a.mini{min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
  .btn.btn-block,a.btn[style*="width:100%"]{display:flex}
  input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select{min-height:44px}
  input,select,textarea{font-size:max(16px,1em)} /* stops iOS zoom-on-focus */
  /* carousel dots: keep the look, enlarge the hit area */
  .hx-dot{position:relative}
  .hx-dot::after{content:"";position:absolute;inset:-18px -4px}
  /* breadcrumbs + footer links: grow the tappable area without shifting layout */
  .breadcrumbs a,.crumbs a{display:inline-block;padding:14px 6px;margin:-14px -2px}
  .site-footer .footer-col a,.site-footer .footer-social a{display:inline-block;padding:11px 0;min-height:44px;box-sizing:border-box}
  .site-footer .footer-col a{display:block}
  .hp26 .btn,.hp26 a.btn,.hp26 .mini,.hp26 a.mini{min-height:44px!important;display:inline-flex!important;align-items:center;justify-content:center}
  .hp26 .hx-dot{position:relative}
  .hp26 .hx-dot::after{content:"";position:absolute;inset:-18px -4px}
  /* legibility floor for micro-labels */
  .eyebrow,.nav-mega-label,.footer-strip-label,.badge,.lbl,.hp26 .eyebrow{font-size:11px!important}
  /* never let tables or media push the viewport wide */
  img,video,canvas,svg{max-width:100%}
  .prose table,.table-wrap{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  /* respect notches */
  body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
}
@media (max-width:768px){
  /* dashboard chrome */
  .shafx-drawer-close,.topbar-bell,.motiv-x{min-width:44px;min-height:44px}
  .shafx-drawer a,.sidebar a,.brand-mark{min-height:44px;display:flex;align-items:center;box-sizing:border-box}
  .sf-chip,.pill[href],a.pill,.cta{min-height:40px;display:inline-flex;align-items:center;box-sizing:border-box}
  .sf-chip{padding-top:6px;padding-bottom:6px}
  aside .footer a,.sidebar .footer a,nav ~ .footer a{min-height:44px;display:flex;align-items:center;box-sizing:border-box}
  .signals-eyebrow,.ss-l,.ss-tf,.sai-badge,.mk-imp,.mk-when,.lbl,.sym{font-size:11px!important}
}
@media (max-width:768px){
  /* v2: footer legal row + strip, chips, pagers, admin row actions — 40px+ touch height without changing desktop */
  .footer-legal a,.footer-strip a{display:inline-flex;align-items:center;min-height:44px;padding-inline:8px;box-sizing:border-box}
  .footer-legal{display:flex;flex-wrap:wrap;gap:0 4px}
  .feed-fchip,.mn-chip,.mi-chip,.ib50-chip,a.chip,.dt-tab,.feed-pagebtn,.tq-btn,.more,.btn-ghost-sm,.btn-primary-sm,.hh-card-cta,.fr-cta,.rcc-queue,.lbx-row-link,.adm-status-action,.pf48-cm-next,.pf48-sec-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;box-sizing:border-box}
  .iba-back,.ja-back,.qzx-back,.av-link{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box}
  a.muted[href]{display:inline-block;padding-block:8px}
  /* cookie banner: never more than ~35% of a phone screen */
  #cookie-consent,.cookie-consent,.cookie-banner{max-height:38vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
}
@media (max-width:768px) and (hover:none){
  a:active,button:active{opacity:.85}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
