:root{--cc-ink:#1c2418;--cc-green:#243d2e;--cc-bronze:#b77126;--cc-paper:#fbf8f1;--cc-line:#d9cfbd;--cc-muted:#64675f}
.cc-lock{overflow:hidden}
.cc-backdrop{position:fixed;inset:0;z-index:9998;display:grid;align-items:end;justify-items:center;padding:12px 16px;background:rgba(15,22,14,.18);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.cc-backdrop.cc-open{opacity:1;visibility:visible}
.cc-dialog{width:min(1380px,100%);max-height:min(82vh,620px);overflow:auto;display:grid;grid-template-columns:minmax(360px,1fr) auto;align-items:center;border:1px solid rgba(255,255,255,.45);border-radius:15px;background:var(--cc-paper);color:var(--cc-ink);box-shadow:0 18px 54px rgba(15,22,14,.24);transform:translateY(18px);transition:transform .22s ease}
.cc-open .cc-dialog{transform:translateY(0)}
.cc-head{position:relative;padding:15px 18px}
.cc-kicker{display:block;margin-bottom:4px;color:var(--cc-bronze);font:700 9px/1.2 system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.cc-title{margin:0;font:700 clamp(20px,2.2vw,25px)/1.08 Georgia,serif}
.cc-copy{margin:6px 38px 0 0;max-width:760px;color:var(--cc-muted);font:13px/1.42 system-ui,sans-serif}
.cc-copy a,.cc-details a{color:var(--cc-green);font-weight:700;text-underline-offset:3px}
.cc-close{position:absolute;top:12px;right:14px;width:32px;height:32px;border:1px solid var(--cc-line);border-radius:50%;background:transparent;color:var(--cc-ink);font-size:20px;line-height:1;cursor:pointer}
.cc-close:hover,.cc-close:focus-visible{background:#efe8db;outline:2px solid var(--cc-bronze);outline-offset:2px}
.cc-details{display:none;grid-column:1/-1;margin:0 18px 12px;border:1px solid var(--cc-line);border-radius:11px;overflow:hidden;background:#fff}
.cc-details.cc-visible{display:block}
.cc-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:10px 12px;border-bottom:1px solid #e9e2d7}
.cc-row:last-child{border-bottom:0}
.cc-row strong{display:block;font:700 13px/1.25 system-ui,sans-serif}
.cc-row p{margin:2px 0 0;color:var(--cc-muted);font:11px/1.35 system-ui,sans-serif}
.cc-always{color:#397346;font:700 12px/1.2 system-ui,sans-serif;white-space:nowrap}
.cc-switch{position:relative;display:inline-flex;width:48px;height:28px}
.cc-switch input{position:absolute;opacity:0;pointer-events:none}
.cc-switch span{width:100%;border:1px solid #9c9f97;border-radius:999px;background:#d8d8d3;cursor:pointer;transition:.18s}
.cc-switch span:after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.2);transition:.18s}
.cc-switch input:checked+span{border-color:var(--cc-green);background:var(--cc-green)}
.cc-switch input:checked+span:after{transform:translateX(20px)}
.cc-switch input:focus-visible+span{outline:2px solid var(--cc-bronze);outline-offset:3px}
.cc-actions{display:flex;align-items:center;gap:8px;padding:15px 18px 15px 0;white-space:nowrap}
.cc-btn{min-width:148px;min-height:42px;padding:9px 16px;border:1px solid var(--cc-green);border-radius:999px;background:transparent;color:var(--cc-green);font:700 13px/1.2 system-ui,sans-serif;cursor:pointer;transition:transform .15s ease,background .15s ease,color .15s ease}
.cc-btn:hover{transform:translateY(-1px)}
.cc-btn:focus-visible{outline:3px solid rgba(183,113,38,.35);outline-offset:2px}
.cc-btn.cc-primary{border-color:var(--cc-bronze);background:var(--cc-bronze);color:#fff}
.cc-btn.cc-necessary:hover,.cc-btn.cc-choice:hover{background:var(--cc-green);color:#fff}
@media(max-width:980px){.cc-dialog{display:block;width:min(760px,100%)}.cc-actions{display:grid;grid-template-columns:repeat(3,1fr);padding:10px 18px 15px}.cc-btn{min-width:0}.cc-details{margin-top:0}}
@media(max-width:650px){.cc-backdrop{padding:0;align-items:end;background:rgba(15,22,14,.24)}.cc-dialog{max-height:88vh;border-radius:14px 14px 0 0}.cc-head{padding:15px 16px 4px}.cc-title{font-size:22px}.cc-copy{margin-right:0;font-size:12px}.cc-details{margin:8px 16px 0}.cc-row{padding:9px 11px}.cc-actions{grid-template-columns:1fr 1fr;padding:10px 16px 14px}.cc-btn{min-height:42px;padding-inline:10px}.cc-btn.cc-primary{order:-1;grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.cc-backdrop,.cc-dialog,.cc-btn,.cc-switch span,.cc-switch span:after{transition:none}}
