/* ==========================================================
   Complementos do novo site (acessibilidade, LGPD, segurança)
   Mantém o visual original — só adiciona o necessário.
   ========================================================== */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;z-index:1000;background:var(--primaria);color:#fff;padding:10px 16px}
.skip-link:focus{left:10px;top:10px}
.is-hidden,[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--cor-4);outline-offset:2px}

/* botões que substituíram <a href="javascript:void(0)"> e <span> */
button.header-link,button.lang-toggle{background:none;border:0;color:inherit;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:0}
.menu-topo button.lang-toggle{font-size:inherit}
.open-mobile,.close-mobile{background:none;border:0;color:inherit;cursor:pointer;font-size:inherit}
.arrow button,button.arrow,.banner .arrow button{background:none;border:0;padding:0;color:inherit;cursor:pointer;font:inherit}
.link-button{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline}

/* dropdown de idioma acessível também por teclado/toque */
.menu-topo .hover-btn:focus-within .hover1,.menu-topo .hover-btn.open .hover1{min-width:150px;max-width:200px;display:flex;position:absolute;background-color:var(--primaria);flex-direction:column;z-index:10;top:37px}
.footer-bottom .hover-btn:focus-within .hover1,.footer-bottom .hover-btn.open .hover1{min-width:150px;max-width:200px;display:flex;position:relative;background-color:var(--primaria);flex-direction:column;z-index:10}
.header-mobile .hover-btn.open .hover1,.header-mobile .hover-btn:focus-within .hover1{display:flex;flex-direction:column;gap:10px;padding:10px 0}
.hover1 a[aria-current="true"]{font-weight:700}
.menu-topo .hover-btn{position:relative}

/* rodapé – links legais */
.footer-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px}
.footer-legal a,.footer-legal .link-button{color:inherit;font-size:14px;text-decoration:none;opacity:.85}
.footer-legal a:hover,.footer-legal .link-button:hover{opacity:1;text-decoration:underline}

/* banner LGPD */
.lgpd-cookies{display:flex}
.lgpd-cookies[hidden]{display:none!important}
.lgpd-texto p{color:#fff}
.lgpd-botao.sair{border:1px solid #fff;border-radius:8px;padding:10px 15px;margin-top:15px;margin-bottom:15px}

/* formulário – consentimento LGPD e honeypot */
.contato form .hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;box-shadow:none}
.contato form .consent{display:flex;gap:10px;align-items:flex-start;color:#fff;font-size:14px;line-height:1.4;cursor:pointer}
.contato form .consent input{width:18px;height:18px;min-width:18px;margin-top:2px;padding:0;background:none;accent-color:var(--cor-4)}
.contato form .consent a{color:#9DCBEA;text-decoration:underline}
.contato form .form-notice{color:#9DCBEA;font-size:13px;line-height:1.4}
.contato form button{display:flex;align-items:center;justify-content:center;gap:10px}
.contato form button[disabled]{opacity:.6;cursor:wait}
.contato .informacoes a{color:#fff}

/* mapa com consentimento */
.map-consent{width:100%;min-height:450px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;padding:40px;background:#e0e5eb;color:var(--primaria)}
.map-consent i{font-size:48px}
.map-consent p{max-width:640px}
.map-actions{display:flex;gap:15px;flex-wrap:wrap;justify-content:center}
.map-load,.map-open{padding:15px 30px;background:var(--cor-4);color:#fff;font-weight:600;border:0;cursor:pointer}
.map-open{background:var(--primaria)}
.map-consent iframe,.mapa iframe{width:100%;height:450px;border:0}
.map-consent.loaded{padding:0;background:none}

/* páginas legais */
.legal-container{max-width:900px;display:flex;flex-direction:column;gap:18px}
.legal h1{font-size:48px;font-weight:700}
.legal h2{font-size:24px;font-weight:600;margin-top:16px}
.legal p,.legal li{line-height:1.6}
.legal-list{list-style:disc;padding-left:24px;display:flex;flex-direction:column;gap:6px}
.legal-table{width:100%;border-collapse:collapse;font-size:15px}
.legal-table th,.legal-table td{border:1px solid #d5dbe3;padding:10px;text-align:left;vertical-align:top;color:var(--cor-3)}
.legal-table th{background:var(--primaria);color:#fff}
.legal code{font-family:ui-monospace,Consolas,monospace;font-size:14px}
@media (max-width:700px){.legal h1{font-size:34px}.legal-table{display:block;overflow-x:auto}}

/* lightbox próprio (substitui Fancybox – licença comercial) */
.lb{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center}
.lb img{max-width:92vw;max-height:88vh;object-fit:contain}
.lb button{position:absolute;background:rgba(255,255,255,.15);color:#fff;border:0;width:52px;height:52px;font-size:22px;cursor:pointer}
.lb button:hover{background:var(--cor-4)}
.lb .lb-close{top:20px;right:20px}
.lb .lb-prev{left:20px;top:50%;transform:translateY(-50%)}
.lb .lb-next{right:20px;top:50%;transform:translateY(-50%)}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* preferências granulares de cookies */
.lgpd-prefs{width:72%;display:flex;flex-direction:column;gap:10px;margin:10px 20px 0;color:#fff;font-size:14px;line-height:1.4}
.lgpd-prefs[hidden]{display:none!important}
.lgpd-pref{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.lgpd-pref input{width:18px;height:18px;min-width:18px;margin-top:1px;accent-color:var(--cor-4)}
.lgpd-pref strong{color:#fff}
.lgpd-botao.personalizar{text-decoration:underline;margin-left:10px}
@media (max-width:800px){.lgpd-prefs{width:100%;margin:10px 0 0}}
/* botões com o mesmo destaque (sem induzir o aceite) */
.lgpd-botao.continuar{border:1px solid #fff}
.lgpd-botao.continuar:hover,.lgpd-botao.sair:hover{background:var(--cor-4);border-color:var(--cor-4);color:#fff;text-decoration:none}

/* diálogo de mensagens (substitui SweetAlert2) */
.vt-dialog-backdrop{position:fixed;inset:0;z-index:1001;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:20px}
.vt-dialog{background:#fff;border-radius:8px;max-width:420px;width:100%;padding:32px 28px;text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center;box-shadow:0 10px 40px rgba(0,0,0,.25)}
.vt-dialog i{font-size:64px}
.vt-dialog.is-ok i{color:#2e9e5b}
.vt-dialog.is-err i{color:#d35151}
.vt-dialog h2{font-size:28px;font-weight:600;color:var(--cor-3)}
.vt-dialog p{color:var(--cor-3);font-size:17px}
.vt-dialog button{background:#3781fb;color:#fff;border:0;border-radius:5px;padding:10px 28px;font-size:16px;cursor:pointer;margin-top:6px}
.vt-dialog button:hover{background:var(--primaria)}

/* carrossel próprio (substitui Slick) */
.vt-carousel{position:relative;width:100%}
.vt-carousel:focus-visible{outline:3px solid var(--cor-4);outline-offset:4px}
.vt-list{overflow:hidden;width:100%;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.vt-track{display:flex;align-items:flex-start;will-change:transform}
.vt-slide{min-width:0;min-height:1px}
.vt-slide img{display:block;-webkit-user-drag:none}
.conteudo .galeria-div .mobile button.disabled i{background-color:#e0e5eb;color:var(--primaria)}
.conteudo .galeria-div .mobile button.disabled{pointer-events:none}
/* produtos: todos os slides com a altura do maior (igual ao site original) */
.prod-slider .vt-track{align-items:stretch}
.prod-slider .vt-slide{display:flex}

/* selo de versão de teste (somente build PREVIEW=1) */
body.is-preview::after{content:"VERSÃO DE TESTE";position:fixed;left:12px;bottom:12px;z-index:1002;background:#FD7228;color:#fff;font-size:12px;font-weight:700;letter-spacing:.05em;padding:6px 10px;border-radius:4px;pointer-events:none}
