/* FastIQ — complementos de produção: acessibilidade, formulário, consentimento e páginas institucionais.
   Usa os tokens de styles.css; não altera a aparência padrão dos componentes existentes. */

/* ---------- Acessibilidade ---------- */
.skip-link{position:absolute;left:1rem;top:-100px;z-index:200;background:var(--fiq-orange);color:#0A0A0A;
  font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;padding:.75rem 1rem}
.skip-link:focus{top:1rem}

a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible,
input[type="checkbox"]:focus-visible{outline:2px solid var(--fiq-orange);outline-offset:3px}
/* clip-path recorta o outline externo: nos botões chanfrados o foco é desenhado por dentro */
.clip-chamfer:focus-visible,.clip-chamfer-lg:focus-visible{outline:2px solid currentColor;outline-offset:-6px}
input:not([type="checkbox"]):focus-visible,textarea:focus-visible{outline:none}

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

/* ---------- Formulário de contato ---------- */
.hp-field{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
.form-error{margin-top:.4rem;font-size:12px;line-height:1.4;color:#B3261E}
[aria-invalid="true"]{border-color:#B3261E!important}
.form-status{margin-top:1rem;padding:.75rem 1rem;font-size:14px;line-height:1.5;border-left:2px solid}
.form-status--success{border-color:var(--fiq-orange);background:rgba(255,90,0,.08);color:#0A0A0A}
.form-status--error{border-color:#B3261E;background:rgba(179,38,30,.07);color:#7A1A14}
.form-link{text-decoration:underline;text-underline-offset:2px;color:inherit}
.form-link:hover{color:var(--fiq-orange-600)}
button[aria-busy="true"]{cursor:progress;opacity:.75}
button:disabled{cursor:not-allowed}
.btn-spinner{display:inline-block;width:14px;height:14px;margin-right:.5rem;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:9999px;animation:fiq-spin .8s linear infinite}

/* ---------- Links legais do rodapé ---------- */
.footer-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 1.25rem}
.footer-legal a,.footer-legal button{color:inherit;transition:color .2s}
.footer-legal a:hover,.footer-legal button:hover{color:#fff}
.footer-legal button{font:inherit;letter-spacing:inherit;text-transform:inherit;background:none;border:0;padding:0;cursor:pointer}

/* ---------- Consentimento ---------- */
.consent-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:120;max-width:960px;margin:0 auto;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.5rem;padding:1.25rem 1.5rem;
  background:rgba(10,10,10,.96);color:var(--fiq-on-dark);border:1px solid var(--fiq-line-2);box-shadow:0 18px 45px rgba(0,0,0,.45);
  backdrop-filter:blur(8px)}
.consent-banner__body{flex:1 1 320px}
.consent-banner__title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.22em;font-size:11px;color:var(--fiq-orange);margin-bottom:.4rem}
.consent-banner__text{font-size:14px;line-height:1.55;color:rgba(242,238,230,.75)}
.consent-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.consent-actions--dialog{justify-content:space-between;margin-top:1.5rem;gap:1rem}
.consent-btn{font-family:var(--font-sans);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.7rem 1.1rem;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
.consent-btn--primary{background:var(--fiq-orange);color:#0A0A0A;border:1px solid var(--fiq-orange)}
.consent-btn--primary:hover{background:var(--fiq-orange-400)}
.consent-btn--ghost{background:transparent;color:var(--fiq-on-dark);border:1px solid rgba(255,255,255,.25)}
.consent-btn--ghost:hover{border-color:var(--fiq-orange);color:var(--fiq-orange)}
.consent-btn:focus-visible{outline:2px solid currentColor;outline-offset:-5px}
.consent-link{font-size:13px;color:var(--fiq-orange);text-decoration:underline;text-underline-offset:2px}
.consent-dialog{width:min(560px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;padding:1.75rem;margin:auto;
  background:var(--fiq-ink-700);color:var(--fiq-on-dark);border:1px solid var(--fiq-line-2);box-shadow:0 24px 60px rgba(0,0,0,.6)}
.consent-dialog::backdrop{background:rgba(5,5,5,.78);backdrop-filter:blur(6px)}
.consent-dialog__title{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;font-size:1.5rem;line-height:1.15}
.consent-dialog__intro{margin-top:.75rem;font-size:14px;line-height:1.6;color:rgba(242,238,230,.7)}
.consent-list{margin-top:1.25rem;border-top:1px solid var(--fiq-line-2)}
.consent-item{padding:1rem 0;border-bottom:1px solid var(--fiq-line-2)}
.consent-item__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer}
.consent-item__name{font-weight:600;font-size:15px}
.consent-item__always{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--fiq-orange)}
.consent-item__desc{margin-top:.35rem;font-size:13px;line-height:1.55;color:rgba(242,238,230,.55)}
.consent-toggle{width:1.1rem;height:1.1rem;accent-color:var(--fiq-orange);cursor:pointer}

/* ---------- Páginas institucionais (políticas e termos) ---------- */
.legal{font-size:16px;line-height:1.75;color:rgba(10,10,10,.8)}
.legal>*+*{margin-top:1rem}
.legal h2{font-family:var(--font-display);font-weight:800;letter-spacing:-.025em;line-height:1.15;font-size:1.5rem;color:#0A0A0A;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--fiq-line-cream)}
.legal h2:first-child{margin-top:0;padding-top:0;border-top:0}
.legal h3{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:#0A0A0A;margin-top:1.75rem}
.legal ul{list-style:none;padding-left:0}
.legal ul li{position:relative;padding-left:1.25rem}
.legal ul li+li{margin-top:.5rem}
.legal ul li::before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;background:var(--fiq-orange)}
.legal a{color:#0A0A0A;text-decoration:underline;text-decoration-color:var(--fiq-orange);text-underline-offset:3px}
.legal a:hover{color:var(--fiq-orange-600)}
.legal strong{color:#0A0A0A;font-weight:600}
.legal table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.5}
.legal th,.legal td{text-align:left;vertical-align:top;padding:.75rem .75rem .75rem 0;border-bottom:1px solid var(--fiq-line-cream)}
.legal th{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:rgba(10,10,10,.55)}
.legal .table-wrap{overflow-x:auto}
.legal .placeholder{background:rgba(255,90,0,.14);padding:0 .25rem;font-family:var(--font-mono);font-size:.85em;color:#7A2E00}
.legal .note{border-left:2px solid var(--fiq-orange);padding-left:1rem;color:rgba(10,10,10,.65);font-size:15px}
