.wcc-root { --wcc-bg:#ffffff; --wcc-fg:#111114; --wcc-muted:#5b6472; --wcc-border:#e5dff2;
            --wcc-accent:#673DE6; --wcc-accent-fg:#ffffff; --wcc-button:#f4f1f9; --wcc-shadow:0 12px 44px rgba(30,18,50,.16); }
        .wcc-root *, .wcc-root *::before, .wcc-root *::after { box-sizing: border-box; }
        /* Footer entrance animations must not block access to preferences. */
        [data-cookie-preferences] { pointer-events: auto; }
        .wcc-root [hidden] { display: none !important; }

        .wcc-banner {
            position: fixed; left: 20px; bottom: 20px; z-index: 2147483000;
            width: min(420px, calc(100vw - 40px)); margin: 0; background: var(--wcc-bg); color: var(--wcc-fg);
            border: 1px solid var(--wcc-border); border-radius: 18px; box-shadow: var(--wcc-shadow);
            padding: 20px; font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
            font-size: 13px; line-height: 1.6;
        }
        .wcc-title { display: block; color: var(--wcc-fg); font-size: 14px; font-weight: 650; margin: 0 0 8px; }
        .wcc-text { margin: 0 0 14px; color: var(--wcc-muted); font-size: 13px; font-weight: 400; line-height: 1.5; }
        .wcc-links { margin: 12px 0 0; font-size: 13px; color: var(--wcc-muted);
            display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
        .wcc-links a { color: var(--wcc-link, var(--wcc-accent)); text-decoration: underline; }
        .wcc-link { appearance: none; background: none; border: 0; padding: 0; font: inherit;
            color: var(--wcc-link, var(--wcc-accent)); text-decoration: underline; cursor: pointer; vertical-align: baseline; }
        .wcc-actions { display: flex; flex-wrap: wrap; gap: 8px; }
        .wcc-panel-links { margin: 0 0 4px; }
        .wcc-btn {
            appearance: none; cursor: pointer; border-radius: 10px; padding: 10px 14px; font-size: 14px;
            font-weight: 600; border: 1px solid var(--wcc-border); background: var(--wcc-button); color: var(--wcc-fg);
            font-family: inherit; line-height: 1.2;
        }
        .wcc-btn:hover { filter: brightness(.97); }
        .wcc-btn--primary { background: var(--wcc-accent); color: var(--wcc-accent-fg); border-color: var(--wcc-link, var(--wcc-accent)); }
        .wcc-btn--block { flex: 1 1 auto; }
        .wcc-root :focus-visible { outline: 3px solid var(--wcc-link, var(--wcc-accent)); outline-offset: 2px; border-radius: 8px; }

        .wcc-overlay { position: fixed; inset: 0; background: rgba(16,24,40,.55); z-index: 2147483001; }
        .wcc-panel {
            position: fixed; z-index: 2147483002; left: 50%; top: 50%; transform: translate(-50%, -50%);
            width: min(560px, calc(100vw - 32px)); max-height: calc(100vh - 48px); overflow: auto;
            background: var(--wcc-bg); color: var(--wcc-fg); border-radius: 16px; box-shadow: var(--wcc-shadow);
            padding: 20px; font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
            font-size: 14px; line-height: 1.5;
        }
        .wcc-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
        .wcc-panel-title { font-size: 17px; font-weight: 700; margin: 0; color: var(--wcc-fg); }
        .wcc-close { appearance: none; border: 0; background: transparent; cursor: pointer; font-size: 22px;
            line-height: 1; color: var(--wcc-muted); padding: 4px 8px; border-radius: 8px; }
        .wcc-cat { border: 1px solid var(--wcc-border); border-radius: 12px; padding: 12px 14px; margin-top: 10px; }
        .wcc-cat-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
        .wcc-cat-label { font-weight: 700; margin: 0; color: var(--wcc-fg); }
        .wcc-cat-desc { margin: 6px 0 0; color: var(--wcc-muted); font-size: 13px; }
        .wcc-always { font-size: 12px; font-weight: 700; color: #16794c; }

        /* Switch acessivel (checkbox nativo estilizado) */
        .wcc-switch { position: relative; display: inline-block; width: 44px; height: 24px; flex: 0 0 auto; }
        .wcc-switch input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; z-index: 2; }
        .wcc-switch input[disabled] { cursor: not-allowed; }
        .wcc-track { position: absolute; inset: 0; width: 44px; height: 24px; border-radius: 999px; background: #cbd2dd; transition: background .15s; }
        .wcc-track::after { content: ""; position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.3); transition: transform .15s; }
        .wcc-switch input:checked + .wcc-track { background: var(--wcc-accent); }
        .wcc-switch input:checked + .wcc-track::after { transform: translateX(20px); }
        .wcc-switch input:disabled + .wcc-track { background: #9aa7bd; }
        .wcc-switch input:focus-visible + .wcc-track { outline: 3px solid var(--wcc-link, var(--wcc-accent)); outline-offset: 2px; }
        .wcc-panel-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }

        @media (max-width: 480px) {
            .wcc-banner { left: 12px; right: 12px; bottom: 12px; width: auto; padding: 16px; }
            .wcc-actions .wcc-btn { flex: 1 1 0; }
            .wcc-panel-actions .wcc-btn { flex: 1 1 100%; }
        }
        @media (prefers-reduced-motion: reduce) {
            .wcc-track, .wcc-track::after { transition: none; }
        }
