/* ---------- banner de cookies (consent.js) — também usado no editor ---------- */
.consent {
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 100;
  max-width: 880px; margin: 0 auto; display: flex; gap: 18px; align-items: flex-end; flex-wrap: wrap;
  background: #fff; color: #231F1C; border: 1px solid #D9D3CF; border-radius: 14px;
  padding: 18px 20px; box-shadow: 0 12px 32px rgba(35, 31, 28, .18);
  font: 400 14.5px/1.5 var(--font-sans, "Raleway", "Helvetica Neue", Arial, system-ui, sans-serif);
}
.consent-text { flex: 1 1 420px; margin: 0; }
/* barra da primeira visita: uma linha, dois botões */
.consent.consent-bar { padding: 12px 14px 12px 18px; align-items: center; gap: 12px 18px; border-radius: 12px; }
.consent.consent-bar .consent-text { flex: 1 1 280px; color: #231F1C; }
.consent-text p { margin: 4px 0 0; color: #6B625E; }
.consent-text a { color: #C9512B; font-weight: 800; }
.consent-options { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 10px; }
.consent-options[hidden] { display: none; }
.consent-options label { display: flex; align-items: center; gap: 6px; font-weight: 700; }
.consent-options span { font-weight: 400; color: #6B625E; font-size: 13px; }
.consent-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.consent-actions button {
  font: inherit; font-weight: 600; cursor: pointer; border-radius: 8px; padding: 9px 16px;
  border: 1px solid #231F1C; background: #fff; color: #231F1C;
}
/* "Aceitar" em destaque; "Recusar" branco, com borda, no mesmo tamanho e
   sempre a um clique (LGPD: recusar tem de ser tão fácil quanto aceitar) */
.consent-actions button[data-a=accept] { background: #231F1C; color: #fff; }
.consent-actions button[data-a=reject]:hover { background: #F1EDE9; }

/* ---------- espaços de anúncio (ad_slot.ctp / ads.js) ---------- */
.ad-slot { display: grid; place-items: center; margin: 24px auto; overflow: hidden; }
.ad-slot.ad-horizontal { min-height: 100px; max-width: 970px; }
.ad-slot.ad-square { width: 250px; min-height: 250px; margin: 16px auto; }
.ad-slot.ad-rectangle { width: 300px; min-height: 250px; }
.ad-slot.ad-preview { border: 2px dashed #C9512B; border-radius: 8px; color: #C9512B; font: 700 12px/1.3 var(--font-sans, "Raleway", "Helvetica Neue", Arial, system-ui, sans-serif); text-align: center; padding: 8px; background: rgba(201, 81, 43, .04); }
.ad-house {
  display: flex; flex-direction: column; gap: 4px; justify-content: center; width: 100%; min-height: inherit; padding: 16px 20px;
  border: 1px solid #D9D3CF; border-radius: 10px; background: #FAF8F6; color: #231F1C; text-decoration: none;
  font: 400 14px/1.4 var(--font-sans, "Raleway", "Helvetica Neue", Arial, system-ui, sans-serif);
}
.ad-house b { color: #C9512B; font-size: 16px; }

@media print { .consent { display: none !important; } }

/* ---------- anúncio de exemplo (?preview_ads=exemplo) ---------- */
.ad-slot.ad-mock { border: 0; background: transparent; }
.ad-mock-creative {
  position: relative; display: grid; align-content: center; justify-items: start; gap: 4px;
  width: 100%; height: 100%; min-height: inherit; padding: 14px 18px 22px;
  background: linear-gradient(135deg, #EAF2FB, #F7FBFF); border: 1px solid #C9D8EA; border-radius: 4px;
  font: 400 13px/1.35 Arial, Helvetica, sans-serif; color: #1F2B3A; overflow: hidden;
}
.ad-mock-creative b { font-size: 17px; color: #0B57D0; }
.ad-mock-line { color: #4A5868; }
.ad-mock-btn { margin-top: 6px; background: #0B57D0; color: #fff; font-weight: 700; padding: 6px 12px; border-radius: 4px; }
.ad-mock-tag { position: absolute; top: 4px; right: 6px; font-size: 10.5px; color: #5F6B7A; background: rgba(255,255,255,.8); padding: 1px 5px; border-radius: 3px; }
.ad-mock-size { position: absolute; bottom: 4px; right: 6px; font-size: 10.5px; color: #8A96A3; font-family: ui-monospace, Menlo, monospace; }
/* faixa: tudo numa linha */
.ad-leaderboard .ad-mock-creative { grid-auto-flow: column; grid-template-columns: auto 1fr auto; align-items: center; column-gap: 16px; padding: 10px 18px; }
.ad-leaderboard .ad-mock-btn { margin-top: 0; }

.ad-leaderboard .ad-mock-line, .ad-leaderboard .ad-mock-creative b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
