:root{
  --ccm-brand:#ffbe98;--ccm-accent:#9B4825;--ccm-bg:#fff;--ccm-text:#1f1f1f;--ccm-muted:#777;
  --ccm-overlay:rgba(0,0,0,.45);--ccm-overlay-blur:0px;
  --ccm-card-bg:#fff;--ccm-card-border:#ececec;--ccm-header-border:#e7e7e7;
  --ccm-acc-bg:#fafafa;--ccm-acc-bg-open:#fff;--ccm-acc-border:#eee;
  --ccm-title-color:#1f1f1f;--ccm-groups-title-color:#1f1f1f;--ccm-groups-desc-color:#777;--ccm-font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ccm-chip-bg:#fff6f1;--ccm-chip-border:#ffbe98;--ccm-chip-text:#9B4825;
  --ccm-switch-off:#d9d9d9;--ccm-switch-on:#ffbe98;--ccm-switch-knob:#fff;
  --ccm-btn-accept-bg:#ffbe98;--ccm-btn-accept-bg-hover:#f3a981;--ccm-btn-accept-text:#1f1f1f;--ccm-btn-accept-text-hover:#1f1f1f;
  --ccm-btn-save-bg:#fff;--ccm-btn-save-bg-hover:#fff6f1;--ccm-btn-save-text:#9B4825;--ccm-btn-save-text-hover:#9B4825;--ccm-btn-save-border:#ffbe98;--ccm-btn-save-border-hover:#ffbe98;
  --ccm-btn-reject-bg:#f2f2f2;--ccm-btn-reject-bg-hover:#e6e6e6;--ccm-btn-reject-text:#333;--ccm-btn-reject-text-hover:#333;--ccm-btn-reject-border:#ddd;--ccm-btn-reject-border-hover:#ccc;
  --ccm-fab-bg:#fff;--ccm-fab-border:#e5e5e5;
  --ccm-policy-link:#9B4825;--ccm-policy-link-hover:#7d3619;
  --ccm-radius:14px;--ccm-shadow:0 10px 30px rgba(0,0,0,.12);--ccm-lm-blur:14px;
}
html.ccm-modal-open,
html.ccm-modal-open body{overflow:hidden}
.ccm-modal,.ccm-modal *,.ccm-fab,.ccm-fab *{box-sizing:border-box}
.ccm-modal[hidden],.ccm-overlay[hidden],.ccm-fab[hidden],.ccm-modal [hidden]{display:none !important}
.ccm-modal,
.ccm-fab{font-family:var(--ccm-font-family)}
.ccm-overlay{position:fixed;inset:0;background:var(--ccm-overlay);backdrop-filter:blur(var(--ccm-overlay-blur));-webkit-backdrop-filter:blur(var(--ccm-overlay-blur));opacity:0;pointer-events:none;transition:.2s;z-index:99998}
.ccm-overlay.show{opacity:1;pointer-events:auto}
.ccm-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;z-index:99999;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}
.ccm-modal.show{opacity:1;transform:none;pointer-events:auto}
.ccm-card{width:min(900px,100%);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;background:var(--ccm-card-bg);color:var(--ccm-text);border-radius:var(--ccm-radius);box-shadow:0 24px 60px rgba(73,42,26,.14), var(--ccm-shadow);border:1px solid var(--ccm-card-border);padding:22px}
.ccm-header{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--ccm-header-border)}
.ccm-logo{width:36px;height:36px;border-radius:50%}
.ccm-title{margin:0;color:var(--ccm-title-color, var(--ccm-text));font-size:clamp(1.25rem, 1.05rem + .6vw, 1.7rem);font-weight:700;letter-spacing:-.02em;line-height:1.15}
.ccm-modal .ccm-close{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;margin-left:auto;padding:0 !important;border:1px solid var(--ccm-card-border);border-radius:50%;line-height:1;cursor:pointer;color:var(--ccm-text);background:var(--ccm-card-bg)}
.ccm-modal .ccm-close svg{display:block;flex:none;width:20px;height:20px;margin:0;padding:0;transform:none;pointer-events:none}
.ccm-close:focus-visible{outline:3px solid var(--ccm-accent);outline-offset:2px}
.ccm-intro{margin:14px 0 0;font-size:.94rem;line-height:1.6;color:var(--ccm-text)}
.ccm-cookie-info{margin:10px 0 0;font-size:.85em;overflow-wrap:anywhere}
.ccm-groups{display:flex;flex-direction:column;gap:12px;padding:18px 0}
.ccm-group-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border:1px solid var(--ccm-acc-border);border-radius:18px;background:var(--ccm-acc-bg);position:relative;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.ccm-acc summary::-webkit-details-marker{display:none}
.ccm-acc summary::marker{content:""}
.ccm-acc[open] summary{background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,245,237,.98))}
.ccm-toggle{display:flex;align-items:center;justify-content:flex-end;min-width:64px}
.ccm-modal .ccm-group-title{margin:0;font-family:inherit;font-size:1rem;line-height:1.4;color:var(--ccm-groups-title-color, var(--ccm-text));font-weight:700;letter-spacing:-.01em}
.ccm-acc-body{padding:14px 18px 18px;color:var(--ccm-groups-desc-color, var(--ccm-muted));line-height:1.6}
.ccm-chip{font-size:12px;padding:6px 12px;border-radius:999px;background:var(--ccm-chip-bg);color:var(--ccm-chip-text);border:1px solid var(--ccm-chip-border);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.ccm-switch{position:relative;width:46px;height:26px;flex:0 0 auto}
.ccm-switch input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0}
.ccm-slider{position:absolute;inset:0;pointer-events:none;background:var(--ccm-switch-off);border-radius:999px;transition:.2s;box-shadow:inset 0 2px 6px rgba(120,74,42,.14)}
.ccm-slider:after{content:"";position:absolute;width:20px;height:20px;top:3px;left:3px;background:var(--ccm-switch-knob);border-radius:50%;transition:.2s;box-shadow:0 4px 10px rgba(68,38,21,.18)}
.ccm-switch input:checked + .ccm-slider{background:var(--ccm-switch-on);box-shadow:inset 0 2px 6px rgba(80,35,14,.2)}
.ccm-switch input:checked + .ccm-slider:after{transform:translateX(20px)}
.ccm-switch input:focus-visible + .ccm-slider,
.ccm-acc summary:focus-visible,
.ccm-btn:focus-visible,
.ccm-policy:focus-visible,
.ccm-fab:focus-visible{outline:3px solid var(--ccm-accent);outline-offset:3px}
.ccm-footer{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:16px;border-top:1px solid rgba(155,74,40,.08)}
.ccm-actions{display:flex;gap:10px}
.ccm-btn{all:unset;display:inline-block !important;border-radius:16px !important;padding:14px 20px !important;font-weight:700 !important;font-size:.98rem !important;line-height:1.2 !important;text-align:center !important;cursor:pointer !important;transition:all .2s ease !important;user-select:none !important;white-space:nowrap !important;background:transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}

/* Reject */
.ccm-secondary{background:var(--ccm-btn-reject-bg) !important;color:var(--ccm-btn-reject-text) !important;border:1px solid var(--ccm-btn-reject-border) !important}
.ccm-secondary:hover{background:var(--ccm-btn-reject-bg-hover) !important;color:var(--ccm-btn-reject-text-hover) !important;border-color:var(--ccm-btn-reject-border-hover) !important;transform:translateY(-1px) !important;box-shadow:0 10px 20px rgba(71,41,25,.08) !important}

/* Save */
.ccm-outline{background:var(--ccm-btn-save-bg) !important;border:2px solid var(--ccm-btn-save-border) !important;color:var(--ccm-btn-save-text) !important}
.ccm-outline:hover{background:var(--ccm-btn-save-bg-hover) !important;border-color:var(--ccm-btn-save-border-hover) !important;color:var(--ccm-btn-save-text-hover) !important;box-shadow:0 10px 20px rgba(121,61,27,.08) !important}

/* Accept */
.ccm-primary{background:var(--ccm-btn-accept-bg) !important;color:var(--ccm-btn-accept-text) !important}
.ccm-primary:hover{background:var(--ccm-btn-accept-bg-hover) !important;color:var(--ccm-btn-accept-text-hover) !important;box-shadow:0 12px 22px rgba(170,92,52,.14) !important}

.ccm-policy{color:var(--ccm-policy-link);text-decoration:underline}
.ccm-policy:hover{color:var(--ccm-policy-link-hover)}
.ccm-signature{margin-left:auto;font-size:12px;color:var(--ccm-muted);letter-spacing:.02em;text-transform:uppercase}
.ccm-fab{all:unset !important;box-sizing:border-box !important;position:fixed !important;width:80px !important;height:64px !important;display:block !important;cursor:pointer !important;overflow:visible !important;isolation:isolate;z-index:99997 !important;font-family:var(--ccm-font-family) !important;-webkit-tap-highlight-color:transparent}
.ccm-fab.bottom-center{left:50% !important;bottom:env(safe-area-inset-bottom,0px) !important;transform:translateX(-50%) !important}
.ccm-fab.bottom-right{right:16px !important;bottom:env(safe-area-inset-bottom,0px) !important}
.ccm-fab.bottom-left{left:16px !important;bottom:env(safe-area-inset-bottom,0px) !important}
.ccm-fab.top-right{right:16px !important;top:0 !important}
.ccm-fab.top-left{left:16px !important;top:0 !important}
.ccm-fab .ccm-bubble{position:absolute;left:50%;bottom:2px;width:46px;height:30px;margin-left:-23px;display:grid;place-items:center;border-radius:60% 60% 40% 40%;border:1px solid var(--ccm-fab-border);background:linear-gradient(150deg,rgba(255,255,255,.55),transparent 70%),var(--ccm-fab-bg);color:var(--ccm-accent);box-shadow:0 0 0 1.5px var(--ccm-accent),0 0 0 3px rgba(255,255,255,.92),0 -3px 16px rgba(0,0,0,.2),inset 0 1px 1px rgba(255,255,255,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:width .35s cubic-bezier(.2,.8,.2,1.2),height .35s cubic-bezier(.2,.8,.2,1.2),bottom .35s,margin .35s,border-radius .35s}
.ccm-bubble-icon{width:26px;height:26px;opacity:.95;transform:scale(.58);transition:opacity .2s,transform .35s}
.ccm-fab:hover .ccm-bubble,.ccm-fab:focus-visible .ccm-bubble{width:56px;height:56px;margin-left:-28px;bottom:6px;border-radius:48% 52% 48% 52%;animation:none}
.ccm-fab:hover .ccm-bubble-icon,.ccm-fab:focus-visible .ccm-bubble-icon{opacity:1;transform:scale(1)}
.ccm-fab:focus-visible .ccm-bubble{outline:3px solid var(--ccm-accent);outline-offset:3px}
.ccm-bubble-label{position:absolute;bottom:74px;left:50%;transform:translateX(-50%) translateY(4px);white-space:nowrap;padding:7px 12px;border-radius:10px;background:var(--ccm-text);color:var(--ccm-card-bg);font-size:12px;line-height:1.4;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.ccm-fab:hover .ccm-bubble-label,.ccm-fab:focus-visible .ccm-bubble-label{opacity:1;transform:translateX(-50%) translateY(0)}
.ccm-fab.bottom-left .ccm-bubble-label,.ccm-fab.top-left .ccm-bubble-label{left:0;transform:translateY(0)}
.ccm-fab.bottom-right .ccm-bubble-label,.ccm-fab.top-right .ccm-bubble-label{left:auto;right:0;transform:translateY(0)}
.ccm-fab.top-left .ccm-bubble,.ccm-fab.top-right .ccm-bubble{bottom:auto;top:2px}
.ccm-fab.top-left:hover .ccm-bubble,.ccm-fab.top-right:hover .ccm-bubble,.ccm-fab.top-left:focus-visible .ccm-bubble,.ccm-fab.top-right:focus-visible .ccm-bubble{top:6px}
.ccm-fab.top-left .ccm-bubble-label,.ccm-fab.top-right .ccm-bubble-label{bottom:auto;top:74px}
.ccm-fab-motion .ccm-bubble{animation:ccmBubbleWobble 1.4s ease-in-out 3}
@keyframes ccmBubbleWobble{0%,100%{transform:scale(1)}35%{transform:scale(1.12,.9) rotate(-3deg)}70%{transform:scale(.94,1.14) rotate(3deg)}}
@media (hover:none),(pointer:coarse){.ccm-fab .ccm-bubble{width:48px;height:36px;margin-left:-24px;bottom:2px}.ccm-fab .ccm-bubble-icon{width:22px;height:22px;opacity:1;transform:none}}

/* MOBILE FIXES */
@media (max-width: 480px){
  .ccm-card{padding:16px}
  .ccm-footer{flex-direction:column; align-items:stretch; gap:12px; }
  .ccm-actions{flex-direction:column; width:100%; gap:8px;}
  .ccm-btn{width:100% !important;box-sizing:border-box !important;white-space:normal !important}
  .ccm-signature{margin:0 auto; text-align:center;}
}

@media (max-width:640px){
  .ccm-actions{width:100%;justify-content:space-between}
  .ccm-header h3{font-size:18px}
}
@media (prefers-reduced-motion:reduce){.ccm-modal,.ccm-modal *,.ccm-fab,.ccm-fab *{animation:none !important;transition:none !important}}
