/* MR_ACCESSIBILITY_V1 · P71
   Capa transversal: foco, legibilidad, contraste, reducción de movimiento y ayudas táctiles.
   No sustituye los estilos de producto; solo corrige requisitos comunes. */
:root{
  --mr-a11y-focus:#ffd166;
  --mr-a11y-focus-shadow:#17372f;
  --mr-a11y-gold-text:#735718;
  --mr-a11y-muted-text:#5e625f;
}

/* Solo visible al navegar con teclado. */
.mr-skip-link{
  position:fixed;left:14px;top:14px;z-index:100000;
  transform:translateY(-180%);
  padding:11px 15px;border-radius:10px;
  background:#ffffff;color:#08261f;
  border:2px solid #08261f;
  font:700 14px/1.2 Inter,Arial,sans-serif;
  box-shadow:0 8px 28px rgba(0,0,0,.18);
  transition:transform .16s ease;
}
.mr-skip-link:focus{transform:translateY(0)}

.sr-only{
  position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}

/* El foco nunca se elimina: el anillo doble funciona sobre fondos claros y oscuros. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid var(--mr-a11y-focus)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 5px var(--mr-a11y-focus-shadow)!important;
}
:where(input,select,textarea):focus-visible{
  border-color:#0d5b4c!important;
}

/* Mejora de lectura sin cambiar rejillas ni distribución. */
body{-webkit-text-size-adjust:100%;text-size-adjust:100%}
:where(p,li,label,input,select,textarea,button,a){text-rendering:optimizeLegibility}

/* Portada / formulario público: tonos que sí alcanzan contraste de texto sobre superficies claras. */
.section:not(.dark) .eyebrow,
.quote-form label,
.form-head small,
.summary-item small,
.estimate-heading small,
.estimate-live span,
.estimate-details summary span,
.field-help,
.door-selection-summary a{
  color:var(--mr-a11y-gold-text)!important;
}
.field label,.total small,.mini-note,.note{color:#5f5f59}

/* Textos muy pequeños de catálogos/configuradores: mínimo visual práctico sin remaquetar tarjetas. */
.model-chip b,.model-chip span,.label,.selected small,.meta small,.meta span,
.pending span,.pending small,.price-main span,.price-main small,.line,
.choice-grid a,.product-choice-grid a,.back,.back-products,.help-tip,
.confirm-actions a,.confirm-actions button{
  font-size:max(10.5px,.68rem)!important;
}

/* El texto dorado sobre superficies claras usa un dorado de lectura, no altera bordes/decoración. */
.selected small,.meta small,.choice-grid a,.product-choice-grid a{
  color:var(--mr-a11y-gold-text);
}

/* Área táctil efectiva para controles visualmente pequeños sin agrandar la rejilla. */
.dot,.help-btn{position:relative}
.dot::after,.help-btn::after{content:"";position:absolute;inset:-10px}

/* Estados de formulario no dependen solo del color. */
[aria-invalid="true"]{border-color:#9e3f38!important;box-shadow:0 0 0 2px rgba(158,63,56,.14)!important}

/* Respeta la preferencia del sistema y evita mareo / animación innecesaria. */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
}

/* En pantallas táctiles, acciones principales mantienen una altura cómoda sin tocar puntos/dots. */
@media (pointer:coarse){
  button:not(.dot):not(.help-btn),
  input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
  select,textarea,
  a.btn,.cta,.project-trigger,.project-action,.primary,.secondary{
    min-height:44px;
  }
}

/* Ajustes de microtexto específicos de la web pública. */
.menu,.nav-cta,.kicker,.eyebrow,.btn,.quick strong,
.video-meta span,.video-note,.video-control-label,.video-actions button,
.door-selection-summary a,.door-selection-note,.quote-step,.quote-step span,
.form-head small,.quote-form label,.estimate-details summary span,
.estimate-result span,.summary-item small,.kitchen-config-cta,
.success-channels span,.field-help,.estimate-heading small,.estimate-live span{
  font-size:max(10.5px,.68rem)!important;
}

/* Catálogo de puertas: conservar la densidad, pero eliminar texto de 7–9 px. */
.door-price-note,.server-note,.project-editor-head p,.door-label,.door-check,
.door-price-state span,.door-price-line,.door-model-label,.door-model-finish,
.door-model-price small,.public-quote-contract p{
  font-size:max(10.5px,.68rem)!important;
}

/* Configurador de armario: microcopys legibles sin cambiar columnas. */
.brand small,.wizard-top small,.wizard-top p,.card p,.choice small,
.price small,.price span,.toggle-row div small,.view-label small,.small-note,
.material-gallery-title,.material-card small,.material-card b,.final-intro span,
.send-success span,.module-chip b,.module-chip small,.module-meta{
  font-size:max(10.5px,.68rem)!important;
}
