/* Mobile navigation and footer. Keep the approved glass and desktop layout. */
@media (max-width:820px) {
  .site-header { gap:8px; padding-inline:14px; }
  .site-header .brand { flex:none; min-height:44px; }
  .site-header .brand img { width:88px; height:44px; }
  .site-header nav { gap:0; flex:none; }
  .site-header nav button { display:block; min-height:44px; padding:0 8px; font-size:.72rem; white-space:nowrap; }
  .site-header .cart-trigger span { min-width:22px; height:22px; margin-left:4px; }
  .studio-footer .footer-directory { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px 20px; }
  .studio-footer .footer-column { gap:0; min-width:0; }
  .studio-footer .footer-column:last-child { grid-column:1/-1; padding-top:22px; border-top:1px solid #ddd; }
  .studio-footer .footer-column h2 { margin-bottom:8px; }
  .studio-footer .footer-column button,
  .studio-footer .footer-column a { display:flex; align-items:center; min-height:44px; max-width:100%; }
  .studio-footer .footer-instagram { min-width:44px; min-height:44px; align-items:center; justify-content:center; }
  .studio-footer .footer-legal { gap:8px 20px; margin:28px 0; line-height:1.5; }
  footer.studio-footer { padding-bottom:calc(24px + env(safe-area-inset-bottom,0px)); }
  .obj1-mobile-buy { padding-bottom:calc(12px + env(safe-area-inset-bottom,0px)); }
  body:has(.obj1-mobile-buy) footer.studio-footer { padding-bottom:calc(100px + env(safe-area-inset-bottom,0px)); }
}
@media (max-width:360px) {
  .site-header { gap:4px; padding-inline:10px; }
  .site-header .brand img { width:76px; }
  .site-header nav button { padding-inline:6px; font-size:.68rem; }
}

/* Keep Safari text sizing predictable without disabling pinch zoom. */
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; scroll-padding-top:76px; }
@media(max-width:820px) {
  html { scroll-padding-top:78px; }
  .site-header { padding-left:max(14px,env(safe-area-inset-left,0px)); padding-right:max(14px,env(safe-area-inset-right,0px)); }
  .site-header nav button { touch-action:manipulation; }
  .field input:not([type="checkbox"]):not([type="radio"]),.field select,.checkout-form textarea { font-size:16px; min-height:48px; }
  .checkout-form .field { min-width:0; }
  .field input:not([type="checkbox"]):not([type="radio"]),.field select { width:100%; }
  .checkout-form .privacy-consent { min-height:44px; }
  .checkout-form .privacy-consent input { width:18px; min-width:18px; height:18px; min-height:18px; flex:none; }
  button:focus-visible,a:focus-visible { outline:2px solid #1749d7; outline-offset:3px; }
  #toast { max-width:calc(100% - 32px); width:max-content; bottom:calc(20px + env(safe-area-inset-bottom,0px)); }
  body:has(.obj1-mobile-buy) #toast { bottom:calc(92px + env(safe-area-inset-bottom,0px)); }
  .obj1-mobile-buy { padding-left:max(18px,env(safe-area-inset-left,0px)); padding-right:max(12px,env(safe-area-inset-right,0px)); }
}
/* More breathing room on larger phones; retain compact sizing below 390px. */
@media(min-width:390px) and (max-width:820px) {
  .site-header .brand img { width:84px; }
  .site-header nav { gap:2px; }
  .site-header nav button { font-size:.8125rem; padding-inline:9px; }
}
@media(max-width:820px) and (orientation:landscape) and (max-height:500px) {
  .firmas-heading { top:10px; }
  .firmas-heading h2 { font-size:2rem; }
  .firmas-pair { top:26%; bottom:8%; grid-template-columns:1fr 1fr; grid-template-rows:1fr; }
  .firmas-card .firmas-preview { bottom:48px; }
  .firmas-card .firmas-actions { height:48px; }
}
