/* Scoped styles: no global theme resets. */
#ccc-consent { --ccc-bg:#fff; --ccc-text:#172b26; --ccc-accent:#155d47; --ccc-button-text:#fff; --ccc-radius:16px; color:var(--ccc-text); font:400 15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
#ccc-consent *, #ccc-consent *::before, #ccc-consent *::after { box-sizing:border-box; }
#ccc-consent [hidden] { display:none !important; }
#ccc-consent .ccc-banner, #ccc-consent .ccc-dialog { background:var(--ccc-bg); color:var(--ccc-text); border:1px solid color-mix(in srgb,var(--ccc-text) 18%,transparent); border-radius:var(--ccc-radius); padding:26px; box-shadow:0 16px 64px #0002,0 2px 8px #0001; text-align:start; overflow-wrap:anywhere; }
#ccc-consent .ccc-banner { position:fixed; z-index:2147483645; bottom:22px; left:22px; width:460px; max-width:calc(100vw - 44px); max-height:calc(100dvh - 44px); overflow:auto; }
#ccc-consent[data-position="bottom-right"] .ccc-banner { left:auto; right:22px; }
#ccc-consent[data-position="bottom-bar"] .ccc-banner, #ccc-consent[data-position="top-bar"] .ccc-banner { width:960px; left:50%; transform:translateX(-50%); }
#ccc-consent[data-position="top-bar"] .ccc-banner { bottom:auto; top:22px; }
#ccc-consent .ccc-brand { margin:0 0 10px; font:600 11px/1.5 system-ui,sans-serif; text-transform:uppercase; letter-spacing:.12em; }
#ccc-consent .ccc-title { color:inherit; margin:0 0 12px; font:650 23px/1.25 system-ui,sans-serif; letter-spacing:-.025em; text-transform:none; }
#ccc-consent .ccc-description { color:inherit; margin:0 0 14px; font:inherit; white-space:pre-line; }
#ccc-consent .ccc-policy { display:inline-block; color:inherit; font:inherit; font-size:13px; text-decoration:underline; text-underline-offset:3px; }
#ccc-consent .ccc-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:22px; }
#ccc-consent button { cursor:pointer; font:600 13px/1.4 system-ui,sans-serif; letter-spacing:normal; text-transform:none; margin:0; box-shadow:none; }
#ccc-consent .ccc-button { flex:1 1 120px; padding:12px 15px; min-height:44px; border:1px solid var(--ccc-accent); border-radius:max(4px,calc(var(--ccc-radius) - 7px)); transition:filter .15s; white-space:normal; }
#ccc-consent .ccc-choice { background:var(--ccc-accent); color:var(--ccc-button-text); }
#ccc-consent .ccc-secondary { background:var(--ccc-bg); color:var(--ccc-text); border-color:currentColor; }
#ccc-consent button:hover { filter:brightness(.94); }
#ccc-consent button:focus-visible, #ccc-consent input:focus-visible, #ccc-consent a:focus-visible { outline:3px solid var(--ccc-text); outline-offset:4px; }
#ccc-consent .ccc-reopen { position:fixed; left:18px; bottom:18px; z-index:2147483644; padding:10px 15px; min-height:44px; background:var(--ccc-bg); color:var(--ccc-text); border:1px solid currentColor; border-radius:40px; box-shadow:0 3px 14px #0001; max-width:calc(100vw - 36px); }
#ccc-consent[data-position="bottom-right"] .ccc-reopen { left:auto; right:18px; }
#ccc-consent .ccc-dialog { position:fixed; inset:0; margin:auto; width:560px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); overflow:auto; }
#ccc-consent .ccc-dialog::backdrop { background:rgb(15 30 25 / 55%); backdrop-filter:blur(3px); }
#ccc-consent .ccc-dialog-head { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; }
/* Fixed geometry prevents theme button padding/minimum sizes from stretching the circle. */
#ccc-consent .ccc-close { appearance:none; display:flex; align-items:center; justify-content:center; position:relative; flex:0 0 44px; box-sizing:border-box !important; width:44px !important; min-width:44px !important; max-width:44px !important; height:44px !important; min-height:44px !important; max-height:44px !important; padding:0 !important; margin:0; background:transparent; color:inherit; border:1px solid currentColor; border-radius:50% !important; line-height:1; text-indent:0; transform:none; }
#ccc-consent .ccc-close::before, #ccc-consent .ccc-close::after { content:none !important; display:none !important; }
#ccc-consent .ccc-close-icon { display:block; flex:none; width:20px; height:20px; margin:0; padding:0; pointer-events:none; transform:none; }
#ccc-consent .ccc-close-icon path { fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
#ccc-consent .ccc-category { padding:16px 0; border-top:1px solid color-mix(in srgb,var(--ccc-text) 18%,transparent); }
#ccc-consent .ccc-category-line { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:32px; }
#ccc-consent .ccc-category-name { color:inherit; font:650 15px/1.4 system-ui,sans-serif; cursor:pointer; margin:0; }
#ccc-consent .ccc-category-description { font:400 13px/1.5 system-ui,sans-serif; margin:6px 0 0; color:inherit; }
#ccc-consent .ccc-always { font-size:12px; font-weight:600; white-space:nowrap; }
#ccc-consent .ccc-toggle { appearance:auto; -webkit-appearance:checkbox; width:24px; height:24px; margin:4px; flex-shrink:0; accent-color:var(--ccc-accent); cursor:pointer; }
#ccc-consent .ccc-dialog > .ccc-policy { margin-top:16px; }
#ccc-consent .ccc-status { position:fixed; z-index:2147483647; left:18px; bottom:76px; width:400px; max-width:calc(100vw - 36px); border:1px solid currentColor; background:var(--ccc-bg); color:var(--ccc-text); padding:14px; border-radius:8px; }
@media (max-width:520px) {
  #ccc-consent .ccc-banner { padding:20px; bottom:12px; left:12px; max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
  #ccc-consent[data-position="bottom-right"] .ccc-banner { right:12px; }
  #ccc-consent[data-position="top-bar"] .ccc-banner { top:12px; }
  #ccc-consent .ccc-dialog { padding:20px; }
  #ccc-consent .ccc-actions { gap:8px; }
  #ccc-consent .ccc-actions .ccc-secondary { flex-basis:100%; }
}
@media (prefers-reduced-motion:reduce) { #ccc-consent .ccc-button { transition:none; } }
@media print { #ccc-consent { display:none !important; } }
