/* Banner e gerenciador de preferências de cookies do KernIA.
   Carregado nas 3 páginas públicas de kernia.app (index, /privacidade, /termos). */

.kc-banner,.kc-modal-overlay{font-family:'Satoshi','Geist',sans-serif}

.kc-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:1000;
  background:#FFFFFF;border-top:1px solid #E8DFD4;
  box-shadow:0 -8px 30px rgba(0,0,0,0.10);
  padding:18px 20px;
}
.kc-banner[hidden]{display:none}
.kc-banner-inner{
  max-width:980px;margin:0 auto;
  display:flex;flex-wrap:wrap;align-items:center;gap:16px;justify-content:space-between;
}
.kc-banner-text{flex:1 1 380px;min-width:240px;font-size:13px;line-height:1.55;color:#4B5560}
.kc-banner-text strong{color:#11161D}
.kc-banner-text a{color:#9A5C28;text-decoration:underline}
.kc-banner-actions{display:flex;flex-wrap:wrap;gap:10px;flex:0 0 auto}

.kc-btn{
  font-family:inherit;font-size:13px;font-weight:600;line-height:1;
  padding:11px 18px;border-radius:8px;cursor:pointer;border:1px solid transparent;
  transition:filter .15s ease;
}
.kc-btn:hover{filter:brightness(0.96)}
.kc-btn:focus-visible{outline:2px solid #9A5C28;outline-offset:2px}
.kc-btn-primary{background:linear-gradient(135deg,#9A5C28 0%,#C07840 60%,#B07038 100%);color:#fff}
.kc-btn-secondary{background:#F5EFE7;color:#11161D;border-color:#E8DFD4}
.kc-btn-text{background:none;color:#4B5560;border:none;text-decoration:underline;padding:11px 4px}

.kc-modal-overlay{
  position:fixed;inset:0;z-index:1100;
  background:rgba(17,22,29,0.45);
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.kc-modal-overlay[hidden]{display:none}
.kc-modal{
  background:#FFFFFF;border-radius:14px;max-width:520px;width:100%;
  max-height:86vh;overflow-y:auto;padding:28px;
  box-shadow:0 20px 60px rgba(0,0,0,0.25);
}
.kc-modal h2{font-family:'Satoshi',sans-serif;font-size:19px;font-weight:700;color:#11161D;margin-bottom:6px}
.kc-modal-intro{font-size:13px;color:#4B5560;line-height:1.55;margin-bottom:20px}
.kc-cat{border:1px solid #E8DFD4;border-radius:10px;padding:14px 16px;margin-bottom:12px}
.kc-cat-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.kc-cat-title{font-size:13.5px;font-weight:700;color:#11161D}
.kc-cat-desc{font-size:12.5px;color:#7F8A93;margin-top:6px;line-height:1.5}
.kc-cat-duration{font-size:11.5px;color:#A89888;margin-top:4px}

.kc-switch{position:relative;display:inline-block;width:38px;height:22px;flex-shrink:0}
.kc-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.kc-switch-track{
  position:absolute;inset:0;background:#D4C8BC;border-radius:999px;transition:background .15s;pointer-events:none;
}
.kc-switch-thumb{
  position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,0.25);transition:transform .15s;pointer-events:none;
}
.kc-switch input:checked + .kc-switch-track{background:#9A5C28}
.kc-switch input:checked + .kc-switch-track + .kc-switch-thumb{transform:translateX(16px)}
.kc-switch input:disabled + .kc-switch-track{background:#9A5C28;opacity:0.55}
.kc-switch input:focus-visible + .kc-switch-track{outline:2px solid #9A5C28;outline-offset:2px}

.kc-modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.kc-modal-close{
  position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;
  color:#7F8A93;font-size:20px;line-height:1;padding:6px;border-radius:6px;
}
.kc-modal-close:hover{color:#11161D}
.kc-modal-close:focus-visible{outline:2px solid #9A5C28;outline-offset:2px}
.kc-modal{position:relative}

@media (max-width:600px){
  .kc-banner-actions{width:100%}
  .kc-btn{flex:1 1 auto;text-align:center}
}

@media (prefers-reduced-motion:reduce){
  .kc-btn,.kc-switch-track,.kc-switch-thumb{transition:none}
}
