/* Aviso de privacidade / cookies - padrao Plenui
   Card compacto (nao banner de largura total), canto inferior esquerdo,
   com modal de preferencias granular. Sem dependencia de jQuery/Bootstrap. */

:root{
  --pcb-bg:#fff;
  --pcb-border:#d8deea;
  --pcb-text:#171a27;
  --pcb-text-secondary:#58647a;
  --pcb-primary:#6557e8;
  --pcb-primary-contrast:#fff;
  --pcb-track-off:#d8deea;
  --pcb-shadow:0 18px 55px rgba(23,26,39,.16);
  --pcb-overlay:rgba(15,17,28,.5);
}
@media (prefers-color-scheme:dark){
  :root{
    --pcb-bg:#161d30;
    --pcb-border:#273047;
    --pcb-text:#f5f6fa;
    --pcb-text-secondary:#a7afc2;
    --pcb-primary:#8174f7;
    --pcb-primary-contrast:#fff;
    --pcb-track-off:#2d3651;
    --pcb-shadow:0 18px 55px rgba(0,0,0,.35);
    --pcb-overlay:rgba(6,8,16,.62);
  }
}

.plenui-cookie-banner,
.pcb-modal-overlay,
.pcb-modal *{box-sizing:border-box}

/* ---- card compacto ---- */
.plenui-cookie-banner{
  background:var(--pcb-bg);
  border:1px solid var(--pcb-border);
  border-radius:14px;
  bottom:24px;
  box-shadow:var(--pcb-shadow);
  font-family:Montserrat,Helvetica,Arial,sans-serif;
  left:24px;
  max-width:calc(100vw - 32px);
  padding:18px;
  position:fixed;
  width:430px;
  z-index:99998;
  transition:opacity .2s ease,transform .2s ease;
}
.plenui-cookie-banner[hidden],
.pcb-modal-overlay[hidden]{display:none!important}
.plenui-cookie-banner.pcb-leaving{opacity:0;transform:translateY(8px);pointer-events:none}

.pcb-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}
.pcb-icon{color:var(--pcb-primary);flex:0 0 18px;height:18px;stroke-width:1.6;width:18px}
.pcb-title{color:var(--pcb-text);font-size:15px;font-weight:700;line-height:1.3;margin:0}
.pcb-text{color:var(--pcb-text-secondary);font-size:12px;line-height:1.55;margin:0 0 14px}

.pcb-actions{display:flex;flex-wrap:wrap;gap:8px}
.pcb-btn{
  border-radius:9px;
  cursor:pointer;
  font-family:inherit;
  font-size:12.5px;
  font-weight:650;
  padding:9px 14px;
  transition:background .15s ease,border-color .15s ease,opacity .15s ease;
}
.pcb-btn-primary{background:var(--pcb-primary);border:1px solid var(--pcb-primary);color:var(--pcb-primary-contrast)}
.pcb-btn-primary:hover{opacity:.9}
.pcb-btn-secondary{background:transparent;border:1px solid var(--pcb-border);color:var(--pcb-text)}
.pcb-btn-secondary:hover{background:var(--pcb-track-off)}

.pcb-link{
  background:none;border:0;color:var(--pcb-text-secondary);cursor:pointer;
  display:inline-block;font-family:inherit;font-size:12px;font-weight:600;
  margin-top:10px;padding:2px 0;text-decoration:underline;text-underline-offset:2px;
}
.pcb-link:hover{color:var(--pcb-text)}

@media (max-width:640px){
  .plenui-cookie-banner{
    bottom:16px;left:16px;right:16px;width:auto;max-width:none;
  }
}

/* ---- modal de preferencias ---- */
.pcb-modal-overlay{
  align-items:center;background:var(--pcb-overlay);bottom:0;display:flex;
  justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:99999;
}
.pcb-modal{
  background:var(--pcb-bg);border:1px solid var(--pcb-border);border-radius:16px;
  box-shadow:var(--pcb-shadow);font-family:Montserrat,Helvetica,Arial,sans-serif;
  max-height:calc(100vh - 40px);overflow-y:auto;width:min(440px,100%);
}
.pcb-modal-header{
  align-items:flex-start;border-bottom:1px solid var(--pcb-border);display:flex;
  gap:16px;justify-content:space-between;padding:20px 22px 16px;
}
.pcb-modal-title{color:var(--pcb-text);font-size:17px;font-weight:700;margin:0}
.pcb-modal-close{
  align-items:center;background:transparent;border:0;border-radius:8px;color:var(--pcb-text-secondary);
  cursor:pointer;display:inline-flex;flex:0 0 30px;height:30px;justify-content:center;padding:0;width:30px;
}
.pcb-modal-close:hover{background:var(--pcb-track-off);color:var(--pcb-text)}
.pcb-modal-close svg{height:16px;stroke-width:1.6;width:16px}

.pcb-modal-body{padding:16px 22px}
.pcb-category+.pcb-category{border-top:1px solid var(--pcb-border);margin-top:14px;padding-top:14px}
.pcb-category-head{align-items:center;display:flex;gap:12px;justify-content:space-between}
.pcb-category-name{color:var(--pcb-text);font-size:13.5px;font-weight:650}
.pcb-category-desc{color:var(--pcb-text-secondary);font-size:12px;line-height:1.5;margin:6px 0 0}
.pcb-badge-locked{color:var(--pcb-text-secondary);flex:0 0 auto;font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.04em}

.pcb-switch{display:inline-flex;flex:0 0 auto;height:22px;position:relative;width:38px}
.pcb-switch input{cursor:pointer;inset:0;margin:0;opacity:0;position:absolute;z-index:1}
.pcb-switch input:disabled{cursor:not-allowed}
.pcb-switch-track{background:var(--pcb-track-off);border-radius:999px;inset:0;position:absolute;transition:background .15s ease}
.pcb-switch-track::after{
  background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.3);content:"";
  height:18px;left:2px;position:absolute;top:2px;transition:transform .15s ease;width:18px;
}
.pcb-switch input:checked+.pcb-switch-track{background:var(--pcb-primary)}
.pcb-switch input:checked+.pcb-switch-track::after{transform:translateX(16px)}
.pcb-switch input:focus-visible+.pcb-switch-track{box-shadow:0 0 0 3px rgba(101,87,232,.25)}

.pcb-modal-footer{
  border-top:1px solid var(--pcb-border);display:flex;gap:10px;justify-content:flex-end;padding:16px 22px;
}

@media (max-width:480px){
  .pcb-modal-footer{flex-wrap:wrap}
  .pcb-modal-footer .pcb-btn{flex:1 1 auto}
}
