/* Correções de acessibilidade (WCAG 2.2, nível AA).
   Carregado depois dos outros estilos em todas as páginas públicas. */

/* Link "Pular para o conteúdo": aparece só quando recebe foco pelo teclado. */
.skip-link{position:absolute;left:16px;top:-100px;z-index:2000;padding:12px 18px;background:#fff;color:#08090d;font:800 12px Manrope,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;text-decoration:none}
.skip-link:focus{top:12px}
main:focus{outline:none}

/* Texto lido só por leitores de tela. */
.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}

/* Foco sempre visível ao navegar pelo teclado (vários campos tinham outline:0). */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid #fff!important;outline-offset:2px!important}

/* Contraste mínimo de 4,5:1 para textos pequenos. */
.announcement{color:#000}                       /* era 4,04:1 */
.primary,.pill,.detail-purchase .add-to-cart{color:#000}  /* era 4,19:1 */
.campaign{background:#c8121a}                   /* texto branco: era 4,38:1, agora 5,9:1 */
.campaign-copy .eyebrow{color:#fff}             /* era 3,37:1 */
.campaign .primary{background:#fff;color:#c8121a}
.copyright,.admin-owner-icon{color:#8a8d99}     /* era 4,46:1 */

/* Área de toque mínima de 24 × 24 px nas setas dos menus. */
.nav-toggle{min-width:24px;min-height:24px;display:inline-grid;place-items:center}
/* Bolinhas dos carrosséis: o desenho continua pequeno, mas a área clicável tem 24 px. */
.carousel-dots,.tcg-vertical-dots{gap:0!important}
.carousel-dot,.carousel-dot.active,.tcg-vertical-dots button,.tcg-vertical-dots button.active{display:grid;place-items:center;width:24px!important;height:24px!important;padding:0;border:0;border-radius:0!important;background:transparent!important}
.carousel-dot::before,.tcg-vertical-dots button::before{content:"";width:8px;height:8px;border-radius:50%;background:#ffffff80;transition:width .2s ease,background .2s ease}
.carousel-dot.active::before,.tcg-vertical-dots button.active::before{width:22px;border-radius:8px;background:#ed1c24}

/* Botão de pausar a troca automática dos banners. */
.carousel-pause{position:absolute;z-index:4;right:14px;bottom:14px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #ffffff8a;border-radius:50%;background:#08090dcc;color:#fff;font:700 11px/1 Arial,sans-serif;letter-spacing:-1px;cursor:pointer}
.carousel-pause:hover{background:#000}

/* Respeita quem pediu ao sistema para reduzir animações. */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
