/* Sistema de foco compartido. Se carga al final, sin alterar colores de hover ni errores. */
:root{--focus-color:#176449;--focus-border:#648f76;--focus-halo:rgba(23,100,73,.13)}
html :is(a,button,input,select,textarea,summary,[tabindex],[contenteditable=true]):focus{outline:none}
html :is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--focus-halo)}
html :is(input[type=checkbox],input[type=radio]){accent-color:var(--focus-color)}
html :is(input,select,textarea):is([aria-invalid=true],:user-invalid):focus{border-color:#aa4a3a;box-shadow:0 0 0 3px rgba(170,74,58,.14)}
html.keyboard-navigation :is(a,button,input,select,textarea,summary,[tabindex],[contenteditable=true]):focus,
html:not(.focus-managed) :is(a,button,input,select,textarea,summary,[tabindex],[contenteditable=true]):focus-visible{outline:2px solid var(--focus-color);outline-offset:3px}
/* El buscador de cabecera recibe el efecto en su contenedor para evitar un marco interior recortado. */
html .header-search:focus-within{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--focus-halo)}
html .header-search input:focus,
html.keyboard-navigation .header-search input:focus{outline:none;box-shadow:none}
html.keyboard-navigation .header-search:focus-within{outline:2px solid var(--focus-color);outline-offset:3px}
html.keyboard-navigation .header-search button:focus{outline-offset:-4px}
/* Mantener el indicador dentro de paneles con bordes redondeados y overflow oculto. */
html.keyboard-navigation :is(.product-info-tabs button,.retail-panel,.nutrition-scroll):focus{outline-offset:-3px}
@media(forced-colors:active){
 html :is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus{outline:2px solid Highlight;outline-offset:2px}
 html .header-search:focus-within{outline:2px solid Highlight;outline-offset:2px}
 html.keyboard-navigation :is(a,button,input,select,textarea,summary,[tabindex]):focus{outline-color:Highlight}
 html.keyboard-navigation .header-search:focus-within{outline-color:Highlight}
}
