/* Deliberately namespaced to coexist with the custom Eisenach theme. */
.cdcc, .cdcc-embed { --cdcc-accent:#7d1f2e; --cdcc-text:#222731; --cdcc-muted:#5e6471; --cdcc-border:#e7e2e4; font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; box-sizing:border-box; color:var(--cdcc-text); line-height:1.55; }
.cdcc *, .cdcc-embed * { box-sizing:border-box; }
.cdcc [hidden], .cdcc-embed [hidden] { display:none!important; }
.cdcc button, .cdcc-embed button { cursor:pointer; font:inherit; }
.cdcc a { color:var(--cdcc-accent); text-underline-offset:3px; }
.cdcc button:focus-visible,.cdcc a:focus-visible,.cdcc input:focus-visible,.cdcc-embed button:focus-visible { outline:3px solid #ac7080; outline-offset:3px; }
.cdcc-banner { position:fixed; z-index:2147483600; bottom:20px; left:50%; transform:translateX(-50%); display:grid; grid-template-columns:56px minmax(0,1fr) 216px; align-items:start; gap:18px; width:min(1000px,calc(100% - 36px)); padding:24px; border:1px solid rgba(150,130,135,.20); border-radius:24px; background:rgba(255,255,255,.97); box-shadow:0 22px 86px rgba(32,21,28,.20),0 2px 10px rgba(0,0,0,.04); backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px); }
.cdcc-hero-icon { display:grid; place-items:center; width:52px; height:52px; border-radius:17px; background:#faeef0; color:var(--cdcc-accent); }
.cdcc-eyebrow { display:block; color:var(--cdcc-accent); font-size:10px; font-weight:800; letter-spacing:.14em; margin:0 0 7px; }
.cdcc-banner h2,.cdcc-dialog h2 { font-size:clamp(19px,2.2vw,25px); margin:0 0 7px; font-weight:750; letter-spacing:-.035em; line-height:1.25; color:#1f222a; }
.cdcc-banner p,.cdcc-dialog-head p { margin:0; color:var(--cdcc-muted); font-size:13px; line-height:1.68; }
.cdcc-banner-links { display:flex; flex-wrap:wrap; gap:6px 18px; margin-top:13px; font-size:12px; font-weight:650; }
.cdcc-banner-actions { display:flex; flex-direction:column; gap:8px; }
.cdcc-btn { min-height:42px; border-radius:11px; padding:10px 14px; font-size:12.5px; font-weight:750; transition:background .18s,border-color .18s,transform .18s; border:1px solid transparent; white-space:normal; }
.cdcc-btn:hover { transform:translateY(-1px); }
.cdcc-btn-solid { color:#fff; background:var(--cdcc-accent); border-color:var(--cdcc-accent); }
.cdcc-btn-solid:hover { background:#671927; border-color:#671927; }
.cdcc-btn-outline { color:var(--cdcc-accent); background:#fff; border-color:var(--cdcc-accent); }
.cdcc-btn-outline:hover { background:#fbf1f2; }
.cdcc-btn-text { background:transparent; color:#434552; border-color:transparent; font-weight:650; }
.cdcc-btn-text:hover { background:#f5f2f3; }
.cdcc-floating { position:fixed; z-index:2147483597; bottom:15px; left:15px; display:inline-flex; gap:8px; align-items:center; border:1px solid #e7dde0; background:rgba(255,255,255,.96); box-shadow:0 8px 24px rgba(0,0,0,.10); color:#4b343c; padding:10px 14px; border-radius:999px; font-size:12px!important; font-weight:750!important; backdrop-filter:blur(12px); }
.cdcc-floating:hover { background:#fff4f6; }
.cdcc-floating span { color:var(--cdcc-accent); font-size:16px; }
.cdcc-backdrop { position:fixed; inset:0; z-index:2147483601; background:rgba(18,21,29,.57); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
.cdcc-dialog { position:fixed; z-index:2147483602; left:50%; top:50%; transform:translate(-50%,-50%); width:min(640px,calc(100vw - 30px)); max-height:min(88dvh,820px); display:flex; flex-direction:column; overflow:hidden; border-radius:24px; background:#fff; box-shadow:0 30px 110px rgba(5,5,10,.36); }
body.cdcc-dialog-open { overflow:hidden!important; }
.cdcc-dialog-head { padding:27px 30px 20px; position:relative; background:linear-gradient(145deg,#fff 40%,#fff5f6); border-bottom:1px solid var(--cdcc-border); }
.cdcc-dialog-mark { font-size:10px; color:var(--cdcc-accent); font-weight:850; letter-spacing:.13em; margin-bottom:9px; }
.cdcc-dialog-head h2 { margin-right:42px; }
.cdcc-dialog-head p { max-width:490px; }
.cdcc-x { position:absolute; top:18px; right:20px; border:0; width:37px; height:37px; border-radius:12px; background:#f4edef; color:#523c44; font-size:24px!important; line-height:1; }
.cdcc-x:hover { background:#e8dce0; }
.cdcc-dialog-scroll { overflow-y:auto; overscroll-behavior:contain; padding:21px 30px 19px; }
.cdcc-necessary,.cdcc-category { border:1px solid var(--cdcc-border); border-radius:15px; margin:0 0 12px; background:#fff; }
.cdcc-necessary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 17px; background:#faf9f9; }
.cdcc-necessary strong { font-size:14px; }
.cdcc-necessary p { margin:3px 0 0; color:var(--cdcc-muted); font-size:12px; }
.cdcc-required { color:#48765b; font-weight:750; font-size:11px; white-space:nowrap; }
.cdcc-category-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 17px; }
.cdcc-category h3 { margin:0 0 2px; color:var(--cdcc-text); font-size:14px; line-height:1.25; }
.cdcc-category-head p { margin:0; color:var(--cdcc-muted); font-size:12px; }
.cdcc-service { border-top:1px solid #f0edee; display:flex; justify-content:space-between; gap:20px; align-items:center; padding:14px 17px 14px 30px; }
.cdcc-service-copy { min-width:0; }
.cdcc-service strong { font-size:13px; }
.cdcc-service p { color:var(--cdcc-muted); font-size:12px; margin:4px 0 0; }
.cdcc-service-details { margin-top:7px; color:var(--cdcc-muted); font-size:12px; }
.cdcc-service-details summary { color:var(--cdcc-accent); font-size:11px; cursor:pointer; font-weight:750; }
.cdcc-service-details div { padding:9px 12px 11px; margin-top:6px; background:#faf8f8; border-radius:8px; }
.cdcc-service-details p { margin:3px 0!important; overflow-wrap:anywhere; }
.cdcc-service-details a { display:inline-block; font-size:11px; margin-top:8px; }
.cdcc-toggle { position:relative; flex:0 0 auto; display:block; width:43px; height:25px; cursor:pointer; }
.cdcc-toggle input { position:absolute; opacity:0; inset:0; margin:0; width:100%; height:100%; z-index:1; cursor:pointer; }
.cdcc-toggle-track { display:block; border-radius:999px; height:25px; width:43px; background:#d6d8df; transition:background .16s; }
.cdcc-toggle-track::after { content:""; position:absolute; left:4px; top:4px; height:17px; width:17px; background:white; border-radius:50%; box-shadow:0 2px 4px #0001; transition:transform .16s; }
.cdcc-toggle input:checked + .cdcc-toggle-track { background:var(--cdcc-accent); }
.cdcc-toggle input:checked + .cdcc-toggle-track::after { transform:translateX(18px); }
.cdcc-toggle input:focus-visible + .cdcc-toggle-track { outline:3px solid #ac7080; outline-offset:3px; }
.cdcc-toggle input:indeterminate + .cdcc-toggle-track { background:#9f858c; }
.cdcc-highlight { background:#fff7f8; box-shadow:inset 3px 0 0 var(--cdcc-accent); }
.cdcc-none { font-size:13px; color:var(--cdcc-muted); text-align:center; }
.cdcc-dialog-legal { display:flex; gap:18px; flex-wrap:wrap; padding:7px 2px; font-size:12px; }
.cdcc-dialog-foot { display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:10px; padding:16px 30px 22px; border-top:1px solid var(--cdcc-border); background:#fff; }
.cdcc-embed { min-height:220px; width:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; text-align:center; padding:24px; border:1px solid #e7dadd; border-radius:18px; background:radial-gradient(circle at top,#fdf4f5,#eee9eb); aspect-ratio:16/9; }
.cdcc-embed-icon { display:grid; place-items:center; width:57px; height:48px; border-radius:14px; background:var(--cdcc-accent); color:#fff; font-size:24px; box-shadow:0 10px 24px rgba(89,25,39,.18); }
.cdcc-embed strong { font-size:16px; }
.cdcc-embed p { font-size:12px; margin:0 0 7px; color:#535565; }
.cdcc-embed-button { border:1px solid var(--cdcc-accent); color:var(--cdcc-accent); background:white; padding:9px 16px; border-radius:11px; font-weight:750!important; font-size:12px!important; }
.cdcc-loaded-embed { display:block; width:100%; min-height:220px; border:0; aspect-ratio:16/9; border-radius:15px; }
.cdcc-shortcode { display:inline-block; padding:6px 0; background:none; border:0; color:inherit; font:inherit; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:700px) {
 .cdcc-banner { grid-template-columns:38px minmax(0,1fr); gap:12px; padding:17px; bottom:12px; width:calc(100% - 24px); border-radius:19px; max-height:calc(100dvh - 24px); overflow-y:auto; }
 .cdcc-hero-icon { width:38px; height:38px; border-radius:12px; }
 .cdcc-hero-icon svg { width:20px; }
 .cdcc-banner h2 { font-size:19px; }
 .cdcc-banner p { font-size:12px; }
 .cdcc-banner-actions { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
 .cdcc-banner-actions .cdcc-btn-text { grid-column:1/-1; }
 .cdcc-banner-actions .cdcc-btn { font-size:12px; padding:9px 7px; }
 .cdcc-dialog { max-height:calc(100dvh - 24px); border-radius:18px; }
 .cdcc-dialog-head { padding:20px 18px 16px; }
 .cdcc-dialog-scroll { padding:13px 15px; }
 .cdcc-dialog-foot { padding:12px 14px 16px; grid-template-columns:1fr 1fr; }
 .cdcc-dialog-foot .cdcc-btn-text { grid-column:1/-1; }
 .cdcc-necessary { align-items:flex-start; }
 .cdcc-required { font-size:10px; }
 .cdcc-floating { bottom:12px; left:12px; font-size:11px!important; padding:8px 11px; }
}
@media (max-width:380px){ .cdcc-necessary { flex-direction:column; gap:7px; } .cdcc-service { padding-left:15px; } }
@media (prefers-reduced-motion:reduce) { .cdcc * { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }
