/*!
 * Shoreman — Estilos da camada de consentimento
 * Autossuficiente: não depende de variáveis nem de classes das páginas,
 * para que o mesmo componente funcione igual no desktop, no mobile e nas
 * páginas renderizadas por PHP.
 * Todos os seletores usam o prefixo .sh-c- para não colidir com o site.
 */

#sh-consent{--shc-laranja:#D96400;--shc-laranja-esc:#bf5800;--shc-preto:#1A1818;
  --shc-txt:#2E2E2E;--shc-mudo:#6B6B6B;--shc-linha:#E4E4E4;
  --shc-h:'Poppins',system-ui,-apple-system,Segoe UI,sans-serif;
  --shc-b:'Lato',system-ui,-apple-system,Segoe UI,sans-serif;}

#sh-consent [hidden]{display:none !important;}
#sh-consent *{box-sizing:border-box;}

/* ── Faixa inferior ───────────────────────────────────────────────────── */
.sh-c-banner{position:fixed;left:0;right:0;bottom:0;z-index:2147483000;
  background:rgba(26,24,24,.98);backdrop-filter:blur(10px);
  border-top:2px solid var(--shc-laranja);
  padding:20px 32px;display:flex;align-items:center;justify-content:space-between;
  gap:24px;flex-wrap:wrap;box-shadow:0 -6px 28px rgba(0,0,0,.28);}
.sh-c-banner-txt{flex:1 1 420px;min-width:260px;}
.sh-c-banner-txt p{margin:0;font-family:var(--shc-b);font-size:14px;line-height:1.6;
  color:rgba(255,255,255,.78);}
.sh-c-banner-txt strong{color:#fff;}
.sh-c-mini{margin-top:6px !important;font-size:12.5px !important;color:rgba(255,255,255,.5) !important;}
.sh-c-banner a{color:var(--shc-laranja);text-decoration:underline;}
.sh-c-banner a:hover{color:#fff;}

.sh-c-acoes{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex-shrink:0;}

/* ── Botões — mesmo peso visual entre aceitar e recusar ───────────────── */
.sh-c-btn{font-family:var(--shc-h);font-size:11px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;padding:13px 24px;border-radius:2px;cursor:pointer;
  transition:.15s;line-height:1;min-height:44px;}
.sh-c-btn-pri{background:var(--shc-laranja);color:#fff;border:1px solid var(--shc-laranja);}
.sh-c-btn-pri:hover{background:var(--shc-laranja-esc);border-color:var(--shc-laranja-esc);}
.sh-c-btn-sec{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45);}
.sh-c-btn-sec:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.sh-c-btn-txt{background:transparent;color:rgba(255,255,255,.62);border:1px solid transparent;
  text-decoration:underline;text-underline-offset:3px;padding-left:6px;padding-right:6px;}
.sh-c-btn-txt:hover{color:#fff;}
.sh-c-btn:focus-visible,.sh-c-fechar:focus-visible,.sh-c-switch input:focus-visible+span{
  outline:3px solid var(--shc-laranja);outline-offset:3px;}

/* ── Painel de preferências ───────────────────────────────────────────── */
.sh-c-overlay{position:fixed;inset:0;z-index:2147483100;background:rgba(0,0,0,.55);
  display:flex;align-items:center;justify-content:center;padding:24px;
  overflow-y:auto;backdrop-filter:blur(2px);}
.sh-c-modal{background:#fff;width:100%;max-width:600px;border-radius:4px;
  box-shadow:0 20px 60px rgba(0,0,0,.35);display:flex;flex-direction:column;
  max-height:calc(100vh - 48px);}
.sh-c-modal-head{display:flex;align-items:center;justify-content:space-between;
  padding:22px 26px;border-bottom:1px solid var(--shc-linha);flex-shrink:0;}
.sh-c-modal-head h2{margin:0;font-family:var(--shc-h);font-size:17px;font-weight:800;
  color:var(--shc-preto);letter-spacing:-.01em;}
.sh-c-fechar{background:none;border:none;font-size:26px;line-height:1;color:var(--shc-mudo);
  cursor:pointer;padding:4px 8px;border-radius:2px;min-height:44px;min-width:44px;}
.sh-c-fechar:hover{color:var(--shc-preto);}

.sh-c-modal-corpo{padding:24px 26px;overflow-y:auto;}
.sh-c-intro{margin:0 0 20px;font-family:var(--shc-b);font-size:14px;line-height:1.65;
  color:var(--shc-mudo);}

.sh-c-cat{border:1px solid var(--shc-linha);border-radius:3px;padding:16px 18px;margin-bottom:12px;}
.sh-c-cat-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px;}
.sh-c-cat-nome{font-family:var(--shc-h);font-size:13px;font-weight:700;color:var(--shc-preto);}
label.sh-c-cat-nome{cursor:pointer;}
.sh-c-cat p{margin:0;font-family:var(--shc-b);font-size:13px;line-height:1.6;color:var(--shc-mudo);}
.sh-c-fixo{font-family:var(--shc-h);font-size:10px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--shc-laranja);background:rgba(217,100,0,.09);
  padding:5px 10px;border-radius:2px;white-space:nowrap;}

/* Interruptor */
.sh-c-switch{position:relative;display:inline-block;width:46px;height:26px;flex-shrink:0;cursor:pointer;}
.sh-c-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;}
.sh-c-switch span{position:absolute;inset:0;background:#CFCFCF;border-radius:26px;transition:.2s;pointer-events:none;}
.sh-c-switch span::before{content:'';position:absolute;width:20px;height:20px;left:3px;top:3px;
  background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.25);}
.sh-c-switch input:checked+span{background:var(--shc-laranja);}
.sh-c-switch input:checked+span::before{transform:translateX(20px);}

.sh-c-modal-pe{display:flex;justify-content:flex-end;gap:10px;padding:18px 26px;
  border-top:1px solid var(--shc-linha);flex-wrap:wrap;flex-shrink:0;}
.sh-c-modal-pe .sh-c-btn-sec{color:var(--shc-txt);border-color:#CBCBCB;}
.sh-c-modal-pe .sh-c-btn-sec:hover{border-color:var(--shc-preto);background:#F4F4F4;}

/* ── Mobile ───────────────────────────────────────────────────────────── */
@media (max-width:760px){
  .sh-c-banner{padding:18px 18px calc(18px + env(safe-area-inset-bottom));
    flex-direction:column;align-items:stretch;justify-content:flex-start;gap:16px;
    max-height:82vh;overflow-y:auto;}
  /* flex:1 1 420px é para o layout em linha. Em coluna, o 420px vira altura
     de base e o flex-grow estica o bloco, abrindo um vão até os botões. */
  .sh-c-banner-txt{flex:0 0 auto;min-width:0;}
  .sh-c-acoes{flex-direction:column;align-items:stretch;gap:8px;}
  .sh-c-btn{width:100%;text-align:center;padding:15px 20px;}
  .sh-c-btn-pri{order:1;}
  .sh-c-btn-sec{order:2;}
  .sh-c-btn-txt{order:3;padding:10px;}
  .sh-c-overlay{padding:0;align-items:flex-end;}
  .sh-c-modal{max-width:none;border-radius:12px 12px 0 0;max-height:92vh;}
  .sh-c-modal-pe{flex-direction:column-reverse;}
  .sh-c-modal-pe .sh-c-btn{width:100%;}
}

/* ── Preferências de movimento e contraste ────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  #sh-consent *{transition:none !important;}
}
@media (prefers-contrast:more){
  .sh-c-btn-sec{border-color:#fff;}
  .sh-c-cat{border-color:#8A8A8A;}
}
