/* Tikitago · Fase 71 · responsive + accesibilidad transversal
   Capa no destructiva para superficies de producto. No se carga en overlays de emisión. */

:where(button,a,input,textarea,select,[role="button"],[role="link"],[tabindex]):focus-visible{
  outline:2px solid var(--n-oro,#f5c842) !important;
  outline-offset:2px !important;
}

/* Los nombres largos, URLs y correos nunca deben forzar el ancho de una tarjeta. */
:where(.card,.panel,.modal,.sheet,.drawer,.page,.wrap,.shell){min-width:0}
:where(.card,.panel,.modal,.sheet,.drawer,.page,.wrap,.shell) :where(p,span,small,strong,b,a){overflow-wrap:anywhere}

/* Estados anunciados por lectores de pantalla siguen siendo visualmente neutros. */
[role="status"][aria-live]{isolation:isolate}

/* Modales comunes: altura limitada y scroll interno estable. */
:where(.pf-modal,.pro-panel,.cr-modal-card,.up-detail,.up-people,.rg-modal-card,.gal-detail,.cdck-modal){
  max-height:calc(100dvh - 24px);
  overscroll-behavior:contain;
}

@media(max-width:820px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{padding-bottom:env(safe-area-inset-bottom)}

  /* Targets táctiles críticos. No agranda chips/filtros compactos de contenido. */
  :where(.pf-modal-x,.pro-close,.up-modal-close,.cr-modal-x,.gal-x,.mhback){
    min-width:42px !important;
    min-height:42px !important;
  }
  :where(.compose,.hdr-kebab,.ctool,.sup-comp button,.sup-back button,.tbtn){
    min-width:42px !important;
    min-height:42px !important;
  }

  /* Superficies modales no pueden quedar por debajo de notch/home indicator. */
  :where(.modal-overlay,.pf-ov,.up-modal,.cr-modal,.rg-modal,.gal-detail-ov){
    padding-top:max(8px,env(safe-area-inset-top)) !important;
    padding-right:max(8px,env(safe-area-inset-right)) !important;
    padding-bottom:max(8px,env(safe-area-inset-bottom)) !important;
    padding-left:max(8px,env(safe-area-inset-left)) !important;
  }
  :where(.pf-modal,.pro-panel,.cr-modal-card,.up-detail,.up-people,.rg-modal-card,.gal-detail,.cdck-modal){
    max-width:100% !important;
    max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
  }

  /* Formularios: evita zoom accidental de iOS por fuentes diminutas. */
  :where(input,textarea,select){font-size:max(16px,1em)}

  /* Mensajes y avisos nunca sobresalen horizontalmente. */
  :where(.cd-toast,#toast,.toast,.sa-toast){max-width:calc(100vw - 24px) !important}
}

/* Respeta preferencias de movimiento en UI. Esta hoja no se carga en overlays de emisión. */
@media(prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto !important}
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}
