/* Banner de consentimento de cookies — reutilizado no site institucional
   (css/site.css) e na academy (academy/css/app.css). Depende das variáveis
   de :root já definidas em ambos os arquivos (--bg, --surface, --line,
   --text, --text-muted, --amber, --violet, --radius etc.), então este
   arquivo não redefine tokens, só usa var(...). */

#cookie-consent{
  position:fixed; left:20px; bottom:20px; z-index:9999;
  width:calc(100% - 40px); max-width:400px;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:0 24px 60px -20px rgba(0,0,0,.6);
  padding:22px; font-size:14px; color:var(--text);
  transform:translateY(24px); opacity:0; pointer-events:none;
  transition:transform .28s ease, opacity .28s ease;
}
#cookie-consent.is-visible{transform:translateY(0); opacity:1; pointer-events:auto;}
@media(max-width:480px){
  #cookie-consent{left:12px; bottom:12px; width:calc(100% - 24px); padding:18px;}
}

.cc-head{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px;}
.cc-head-title{display:flex; align-items:center; gap:8px; font-family:'Fraunces',serif; font-weight:600; font-size:16px;}
.cc-head-title svg{flex-shrink:0;}
.cc-brand{font-family:'IBM Plex Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); white-space:nowrap;}

.cc-text{color:var(--text-muted); font-size:13.5px; line-height:1.55; margin:0 0 14px;}

.cc-links{display:flex; flex-wrap:wrap; gap:6px 14px; font-size:12.5px; margin-bottom:16px;}
.cc-links a{color:var(--violet); text-decoration:none;}
.cc-links a:hover{text-decoration:underline;}

.cc-categories{display:none; flex-direction:column; gap:12px; margin:2px 0 16px; padding-top:14px; border-top:1px solid var(--line);}
#cookie-consent.is-customizing .cc-categories{display:flex;}

.cc-category{display:flex; align-items:flex-start; justify-content:space-between; gap:14px;}
.cc-category-copy strong{display:block; font-size:13.5px; margin-bottom:2px;}
.cc-category-copy span{display:block; color:var(--text-muted); font-size:12.5px; line-height:1.5;}

.cc-switch{position:relative; flex-shrink:0; width:38px; height:22px; margin-top:2px;}
.cc-switch input{opacity:0; width:100%; height:100%; position:absolute; margin:0; cursor:pointer;}
.cc-switch .cc-track{position:absolute; inset:0; background:var(--bg-alt); border:1px solid var(--line); border-radius:999px; transition:background .15s, border-color .15s;}
.cc-switch .cc-thumb{position:absolute; top:2px; left:2px; width:16px; height:16px; border-radius:50%; background:var(--text-muted); transition:transform .15s, background .15s;}
.cc-switch input:checked ~ .cc-track{background:var(--amber-soft); border-color:var(--amber);}
.cc-switch input:checked ~ .cc-thumb{transform:translateX(16px); background:var(--amber);}
.cc-switch input:disabled{cursor:not-allowed;}
.cc-switch input:disabled ~ .cc-track{opacity:.6;}

.cc-actions{display:flex; flex-wrap:wrap; gap:8px;}
.cc-actions .cc-btn{
  flex:1; white-space:nowrap; font-size:13.5px; padding:10px 14px; border-radius:9px;
  font-weight:600; text-decoration:none; border:1px solid transparent; cursor:pointer;
  transition:transform .12s ease, opacity .12s ease, border-color .12s ease; font-family:inherit;
  text-align:center;
}
.cc-actions .cc-btn:hover{transform:translateY(-1px);}
.cc-btn-amber{background:var(--amber); color:#1b1204;}
.cc-btn-amber:hover{opacity:.92;}
.cc-btn-outline{border-color:var(--line); color:var(--text); background:transparent;}
.cc-btn-outline:hover{border-color:var(--amber);}
#cookie-consent.is-customizing .cc-btn-customize{display:none;}
.cc-btn-save{display:none;}
#cookie-consent.is-customizing .cc-btn-save{display:inline-block;}
#cookie-consent.is-customizing .cc-btn-reject{display:none;}
