/* Aviso de cookies (LGPD) e links legais do rodapé. Usado em todas as páginas. */
.cc-banner {
 position:fixed; z-index:55; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom,0px));
 max-width:560px; margin-inline:auto; padding:18px 18px 14px;
 background:#f6f2e8; color:#3a3530; border:1px solid #e3d9cc; border-radius:18px;
 box-shadow:0 18px 60px rgb(0 0 0 / .45); font:400 14px/1.45 'DM Sans',system-ui,sans-serif; letter-spacing:-.1px;
}
.cc-banner[hidden] { display:none; }
.cc-banner h2 { margin:0 0 6px; font:400 21px/1.15 'Gloock',Georgia,serif; color:#500c11; letter-spacing:-.3px; }
.cc-banner p { margin:0; }
.cc-banner a { color:#500c11; font-weight:700; }
.cc-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:14px; }
.cc-btn { min-height:46px; padding:10px 14px; border-radius:999px; border:1.5px solid #500c11; background:transparent; color:#500c11; font:700 14px/1.15 'DM Sans',system-ui,sans-serif; letter-spacing:-.2px; cursor:pointer; }
.cc-btn:hover { background:#500c1110; }
.cc-btn--primary { background:#a80910; border-color:#a80910; color:#fcf6f0; }
.cc-btn--primary:hover { background:#c20b13; border-color:#c20b13; }
.cc-link { display:block; margin:10px auto 0; padding:4px 8px; border:0; background:none; color:#500c11; font:600 13px/1.2 'DM Sans',system-ui,sans-serif; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.cc-btn:focus-visible,.cc-link:focus-visible,.cc-switch input:focus-visible + span { outline:3px solid #f71319; outline-offset:2px; }
@media (min-width:768px) {
 .cc-banner { left:auto; right:24px; bottom:24px; width:420px; margin:0; }
}
@media (prefers-reduced-motion:no-preference) {
 .cc-banner:not([hidden]) { animation:cc-in .5s cubic-bezier(.22,1,.36,1); }
 @keyframes cc-in { from { opacity:0; translate:0 24px; } }
}

/* Preferências */
.cc-modal { width:min(520px,calc(100vw - 24px)); max-height:min(88vh,720px); max-height:min(88svh,720px); padding:0; border:0; border-radius:18px; background:#f6f2e8; color:#3a3530; box-shadow:0 30px 120px rgb(0 0 0 / .55); font:400 14px/1.45 'DM Sans',system-ui,sans-serif; }
.cc-modal::backdrop { background:rgb(0 0 0 / .7); }
.cc-modal-body { padding:26px 22px 20px; }
.cc-modal h2 { margin:0 0 6px; font:400 26px/1.1 'Gloock',Georgia,serif; color:#500c11; }
.cc-modal-close { position:absolute; top:8px; right:10px; padding:6px 10px; border:0; background:none; color:#500c11; font-size:28px; line-height:1; cursor:pointer; }
.cc-category { padding:14px 0; border-top:1px solid #e3d9cc; }
.cc-category:first-of-type { margin-top:16px; }
.cc-category-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.cc-category h3 { margin:0; font:700 15px/1.3 'DM Sans',system-ui,sans-serif; color:#1c1a18; }
.cc-category p { margin:6px 0 0; font-size:13px; color:#66534c; }
.cc-always { font-size:12px; font-weight:700; color:#500c11; white-space:nowrap; }
.cc-switch { position:relative; display:inline-block; flex-shrink:0; width:46px; height:26px; }
.cc-switch input { position:absolute; inset:0; margin:0; opacity:0; cursor:pointer; }
.cc-switch span { position:absolute; inset:0; border-radius:999px; background:#cfc4b8; transition:background .2s; pointer-events:none; }
.cc-switch span::after { content:''; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgb(0 0 0 / .25); transition:translate .2s; }
.cc-switch input:checked + span { background:#a80910; }
.cc-switch input:checked + span::after { translate:20px 0; }
.cc-modal .cc-actions { margin-top:18px; }

/* Links legais no rodapé das páginas. */
.copyright { height:auto!important; min-height:80px; padding:18px 16px 20px; gap:10px; }
.legal-links { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 18px; font-size:13px; line-height:1.3; }
.legal-links a,.legal-links button { padding:4px 0; border:0; background:none; color:rgb(255 255 255 / .8); font:inherit; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.legal-links a:hover,.legal-links button:hover { color:#fff; }
.legal-id { font-size:12px; color:rgb(255 255 255 / .6); }
