/* WEB-E49 · OSABUENA legibilidad 0.16.0.86
   Capa aditiva y delimitada al body de páginas públicas y /admin/updates.
   Tipografía sans serif; conserva composición cinematográfica y jerarquía.
*/
body.osa86-public,body.osa86-admin{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body.osa86-public main :is(h1,h2,h3,h4,h5,h6,p,li,blockquote,figcaption,label,small),
body.osa86-admin :is(main,aside) :is(h1,h2,h3,h4,h5,h6,p,li,blockquote,figcaption,label,small){
  font-family:Inter,Manrope,Arial,Helvetica,system-ui,sans-serif!important;
}
/* Menús y pies de página: lectura sin inflar el layout de escritorio. */
body.osa86-public header nav :is(a,summary),body.osa86-public footer :is(a,p,small,li),
body.osa86-admin header nav :is(a,summary),body.osa86-admin footer :is(a,p,small){
  font-size:clamp(14.5px,1.05vw,16px)!important;
  line-height:1.5!important;
}
body.osa86-public main :is(.osa74-cover-type,.osa74-detail-cover figcaption,.osa74-detail-cover small,.osa74-formats em){
  font-size:clamp(14px,.95vw,15px)!important;line-height:1.5!important;
}
body.osa86-public main :is(p,li,blockquote,figcaption,small,dd),
body.osa86-public main :is(.osa-lead,.osa74-product-body p,.osa74-shelf-head>p,.osa74-detail-more p,.osa74-formats small,.osa84-guide-card p,.osa84-guide-bottom p){
  font-size:clamp(16px,1.16vw,18px)!important;
  line-height:1.65!important;
  overflow-wrap:break-word;
}
body.osa86-public main :is(.osa84-guide-topic,.osa74-item-kicker,.osa74-cover-mark,.osa74-price-status,.osa74-breadcrumb),
body.osa86-public main :is(.osa-kicker,.osa-eyebrow,.eyebrow,.kicker){
  font-size:clamp(14px,.94vw,15px)!important;
  line-height:1.5!important;
}
/* Escenarios: captions que puedan leerse en pantalla y en móvil. */
body.osa86-public.osa84-scenarios main :is(figcaption,figcaption p,small),
body.osa86-public main .osa-gallery-caption{
  font-size:clamp(16px,1.15vw,18px)!important;
  line-height:1.6!important;
}
body.osa86-public.osa84-scenarios main figcaption{padding:1rem 1.1rem!important;}
/* Contacto y agenda: formularios, textos de ayuda y separación vertical. */
body.osa86-public main :is(label,.form-label,.field-label){
  font-size:clamp(16px,1.13vw,18px)!important;
  line-height:1.5!important;
  font-weight:650;
}
body.osa86-public main :is(input:not([type=checkbox]):not([type=radio]),select,textarea){
  font-size:16px!important;
  line-height:1.5!important;
  min-height:48px;
}
body.osa86-public main textarea{min-height:130px;}
body.osa86-public main :is(button:not([aria-label]),input[type=submit],.osa-btn,.osa84-cta){
  font-size:16px!important;
  line-height:1.4!important;
  min-height:46px;
}
body.osa86-public main :is(.form-note,.field-hint,.helper,.osa-form-help,.osa84-guide-meta){
  font-size:15px!important;
  line-height:1.6!important;
}
body.osa86-public :is(a,button,input,select,textarea,summary):focus-visible,
body.osa86-admin :is(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid #e8c577!important;
  outline-offset:3px!important;
}
/* Ajuste explícito de contraste sobre fondos púrpuras/negros de OSABUENA. */
body.osa86-public main :is(.text-muted,.muted,.subtle,.secondary){color:#d6cbdc!important;}
/* Administración: legibilidad funcional sin modificar posiciones de las tarjetas. */
body.osa86-admin :is(main,aside) :is(p,small,label,li,dt,dd,td,th),
body.osa86-admin main :is(.description,.subtitle,.helper,.hint,.muted){
  font-size:clamp(15px,1vw,16px)!important;
  line-height:1.57!important;
}
body.osa86-admin aside :is(a,button,summary){
  font-size:15px!important;
  line-height:1.4!important;
}
body.osa86-admin main :is(button:not([aria-label]),input:not([type=checkbox]):not([type=radio]),select){
  min-height:44px;
  font-size:15.5px!important;
}
body.osa86-admin main :is(.label,.eyebrow,.kicker){
  font-size:14px!important;
  line-height:1.5!important;
}
body.osa86-admin :is(main,aside) :is(p,small,li){overflow-wrap:break-word;}
@media(max-width:700px){
  body.osa86-public main :is(p,li,blockquote,figcaption,small,dd),
  body.osa86-public main :is(.osa-lead,.osa74-product-body p,.osa74-formats small),
  body.osa86-public main :is(label,.field-label,.form-label){font-size:16px!important;line-height:1.65!important;}
  body.osa86-admin :is(main,aside) :is(p,small,label,li,dt,dd,td,th){font-size:15px!important;}
  body.osa86-public main :is(a.osa-btn,button,input[type=submit]){min-height:48px;}
}
@media(prefers-reduced-motion:reduce){
  body.osa86-public *,body.osa86-admin *{scroll-behavior:auto!important;}
}
