/* Interface compartilhada. Não altera categorias, sinais ou validade da escolha. */
.ciplex-consent-root{font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color:#16304b;--ciplex-consent-blue:#0864ed;--ciplex-consent-edge:24px}
.ciplex-consent-root [hidden]{display:none!important}
.ciplex-consent-root *,.ciplex-consent-root *::before,.ciplex-consent-root *::after{box-sizing:border-box}
.ciplex-consent-banner,.ciplex-consent-panel{background:#fff;border:1px solid #dce5f0;border-radius:22px;box-shadow:0 8px 36px #16304b1a;padding:24px;text-align:left}
.ciplex-consent-banner{position:fixed;z-index:10000;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));width:min(940px,calc(100% - 48px));display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px - env(safe-area-inset-top));overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.ciplex-consent-root h2{font:700 20px/1.3 system-ui,-apple-system,"Segoe UI",sans-serif;margin:0 0 8px;color:#16304b;letter-spacing:-.02em;text-transform:none}
.ciplex-consent-root p{margin:0 0 16px;font-size:15px;line-height:1.5;color:#425976}
.ciplex-consent-banner-copy{min-width:0}
.ciplex-consent-banner-copy p{margin:0;font-size:14px}
.ciplex-consent-banner-copy .ciplex-consent-caption{margin-top:6px;font-size:12px;color:#425976}
.ciplex-consent-banner-controls{min-width:0;text-align:center}
.ciplex-consent-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 16px}
.ciplex-consent-banner .ciplex-consent-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 10px}
.ciplex-consent-root .ciplex-consent-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--ciplex-consent-blue);border-radius:10px;background:#fff;color:#0858cd;padding:10px 14px;min-height:44px;min-width:0;font:600 14px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;text-align:center;text-decoration:none;text-transform:none;letter-spacing:normal;cursor:pointer;white-space:normal;overflow-wrap:anywhere;box-shadow:none;margin:0}
.ciplex-consent-root .ciplex-consent-button:hover{background:#eef5ff;color:#064caf}
.ciplex-consent-root .ciplex-consent-button--primary{background:var(--ciplex-consent-blue);color:#fff}
.ciplex-consent-root .ciplex-consent-button--primary:hover{background:#0754c7;color:#fff}
.ciplex-consent-root :focus-visible{outline:3px solid #16304b;outline-offset:3px}
.ciplex-consent-root a{color:#0858cd;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;font-size:13px;line-height:1.5}
.ciplex-consent-root a:hover{color:#064caf}
.ciplex-consent-root .ciplex-consent-reopen{position:fixed;z-index:9999;bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));min-height:44px;width:auto;box-shadow:0 3px 16px #16304b1a;border-color:#dce5f0;color:#16304b;padding:8px 12px;font-size:13px;border-radius:12px}
.ciplex-consent-reopen::before{content:"";width:15px;height:17px;flex:0 0 15px;background:currentColor;clip-path:polygon(50% 0,94% 16%,90% 58%,73% 85%,50% 100%,27% 85%,10% 58%,6% 16%)}
.ciplex-consent-banner:not([hidden])~.ciplex-consent-reopen{display:none}
.ciplex-consent-backdrop{position:fixed;inset:0;z-index:10001;background:#0d234a80;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.ciplex-consent-panel{width:min(650px,100%);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.ciplex-consent-option{display:flex;align-items:flex-start;gap:12px;border-top:1px solid #e2e9f2;padding:16px 0;cursor:pointer}
.ciplex-consent-root .ciplex-consent-option input[type=checkbox]{flex:0 0 20px;width:20px;min-width:20px;height:20px;min-height:20px;padding:0;margin:3px 0 0;appearance:auto;accent-color:var(--ciplex-consent-blue)}
.ciplex-consent-root .ciplex-consent-option>span{flex:1;min-width:0;text-align:left}
.ciplex-consent-option span span{display:block;margin-top:4px;color:#425976}
/* Nas páginas CakePHP, reservar espaço antes do conteúdo, sem cobrir campos ou CTAs. */
.ciplex-consent-root--inline{width:min(940px,calc(100% - 32px));margin:20px auto 24px;position:relative;z-index:2}
.ciplex-consent-root--inline .ciplex-consent-banner{position:relative;inset:auto;width:100%;max-height:none;overflow:visible;scrollbar-gutter:auto}
.ciplex-consent-root--inline:has(>.ciplex-consent-banner[hidden]){margin:0;height:0}
.ciplex-consent-root--flow{position:relative;width:min(940px,calc(100% - 48px));margin:24px 24px 24px auto}
.ciplex-consent-root--flow .ciplex-consent-banner{position:relative;inset:auto;width:100%}
@media(max-width:1000px){.ciplex-consent-root--flow{max-width:620px}}
@media(max-width:560px){.ciplex-consent-root{--ciplex-consent-edge:12px}.ciplex-consent-root--flow{width:calc(100% - 24px);margin:12px auto}}
@media(max-width:1000px){.ciplex-consent-banner{grid-template-columns:minmax(0,1fr);gap:16px;max-width:620px;padding:20px}.ciplex-consent-banner-controls{text-align:left}.ciplex-consent-root--inline .ciplex-consent-banner{max-width:none}}
@media(max-width:560px){.ciplex-consent-banner{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:20px;padding:18px;gap:14px}.ciplex-consent-banner .ciplex-consent-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.ciplex-consent-banner .ciplex-consent-actions>:last-child{grid-column:1/-1}.ciplex-consent-banner-controls{text-align:center}.ciplex-consent-panel{padding:20px;border-radius:20px}.ciplex-consent-panel .ciplex-consent-actions{display:grid;grid-template-columns:1fr}.ciplex-consent-root--inline{width:calc(100% - 24px);margin:12px auto 20px}.ciplex-consent-root--inline .ciplex-consent-banner{width:100%}}
@media(forced-colors:active){.ciplex-consent-banner,.ciplex-consent-panel,.ciplex-consent-root .ciplex-consent-button{border:1px solid ButtonText}.ciplex-consent-root :focus-visible{outline-color:Highlight}}
/* Pouca altura/teclado: o aviso participa da rolagem da página, sem tapar o CTA. */
@media(max-height:500px),(max-width:600px) and (max-height:700px){.ciplex-consent-root:not(.ciplex-consent-root--inline){position:relative;width:calc(100% - 24px);max-width:940px;margin:16px auto}.ciplex-consent-root:not(.ciplex-consent-root--inline) .ciplex-consent-banner{position:relative;inset:auto;width:100%;max-width:none}}
