.kgvcc-root{
--kgvcc-bg:var(--kgv-surface-dialog,#fffdf8);
--kgvcc-card:var(--kgv-surface-card,#fff);
--kgvcc-soft:var(--kgv-surface-soft,#f3f7ef);
--kgvcc-text:var(--kgv-page-text-color,#2f3b31);
--kgvcc-heading:var(--kgv-page-heading-color,#244b2d);
--kgvcc-muted:var(--kgv-social-info-color,#687269);
--kgvcc-border:var(--kgv-border-color,#cedacb);
--kgvcc-accent:var(--kgv-primary,#3f8f4f);
--kgvcc-accent-2:var(--kgv-page-link-hover-color,#286c38);
--kgvcc-link:var(--kgv-page-link-color,#2f7b3f);
--kgvcc-button-text:var(--kgv-button-text,#fff);
--kgvcc-gradient:var(--kgv-card-gradient,linear-gradient(135deg,#e6f2e2 0%,#fffaf1 58%,#edf4df 100%));
--kgvcc-dialog-radius:24px;
--kgvcc-card-radius:18px;
--kgvcc-button-radius:10px;
--kgvcc-small-radius:8px;
--kgvcc-shadow:var(--kgv-global-shadow,0 12px 38px rgba(0,0,0,.16));
font-family:inherit;
color:var(--kgvcc-text)
}
.kgvcc-banner{position:fixed;z-index:999998;left:12px;right:12px;bottom:12px;background:var(--kgvcc-gradient);border:1px solid var(--kgvcc-border);border-radius:var(--kgvcc-dialog-radius);box-shadow:var(--kgvcc-shadow);padding:18px}
.kgvcc-inner{max-width:1180px;margin:0 auto;display:flex;gap:20px;align-items:center;justify-content:space-between}
.kgvcc-copy{min-width:0}
.kgvcc-copy h2,.kgvcc-settings h2,.kgvcc-category h3{margin:0 0 8px;color:var(--kgvcc-heading)}
.kgvcc-copy h2{font-size:clamp(1.45rem,3vw,2rem);line-height:1.12}
.kgvcc-settings-card .kgvcc-settings-head h2{font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.08;letter-spacing:normal;text-transform:none}
.kgvcc-settings-card .kgvcc-category h3{font-size:clamp(1.25rem,3vw,1.55rem);line-height:1.15;letter-spacing:normal;text-transform:none}
.kgvcc-copy p,.kgvcc-settings p,.kgvcc-category p{margin:0;line-height:1.5}
.kgvcc-small{font-size:.9em;margin-top:8px!important}.kgvcc-small a{color:var(--kgvcc-link);text-decoration:underline}.kgvcc-small a:hover,.kgvcc-small a:focus{color:var(--kgvcc-accent-2)}
.kgvcc-actions,.kgvcc-settings-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.kgvcc-btn{appearance:none;border:1px solid var(--kgvcc-accent);border-radius:var(--kgvcc-button-radius);padding:10px 14px;font:inherit;font-weight:700;cursor:pointer;line-height:1.2;transition:background .15s ease,color .15s ease,border-color .15s ease}
.kgvcc-btn-strong{background:var(--kgvcc-accent);color:var(--kgvcc-button-text)}.kgvcc-btn-strong:hover,.kgvcc-btn-strong:focus{background:var(--kgvcc-accent-2);border-color:var(--kgvcc-accent-2)}
.kgvcc-btn-secondary{background:var(--kgvcc-card);color:var(--kgvcc-text)}.kgvcc-btn-secondary:hover,.kgvcc-btn-secondary:focus{background:var(--kgvcc-soft);border-color:var(--kgvcc-accent-2)}
.kgvcc-btn:focus-visible,.kgvcc-icon-btn:focus-visible,.kgvcc-reopen:focus-visible,.kgvcc-inline-link:focus-visible{outline:3px solid var(--kgvcc-accent);outline-offset:2px}
.kgvcc-overlay{position:fixed;z-index:999998;inset:0;background:rgba(0,0,0,.45)}
.kgvcc-settings{position:fixed;z-index:999999;inset:0;display:flex;align-items:center;justify-content:center;padding:18px}
.kgvcc-settings[hidden],.kgvcc-overlay[hidden],.kgvcc-banner[hidden],.kgvcc-reopen[hidden]{display:none!important}
.kgvcc-settings-card{box-sizing:border-box;width:min(760px,100%);max-height:min(86vh,820px);overflow:auto;overscroll-behavior:contain;background:var(--kgvcc-bg);border:1px solid var(--kgvcc-border);border-radius:var(--kgvcc-dialog-radius);box-shadow:var(--kgvcc-shadow);padding:20px}
.kgvcc-settings-head{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;margin-bottom:14px}
.kgvcc-settings-head>div{min-width:0}
.kgvcc-settings-head p{font-size:1rem}
.kgvcc-icon-btn{flex:0 0 40px;border:0;background:var(--kgvcc-soft);color:var(--kgvcc-heading);font-size:30px;line-height:1;width:40px;height:40px;cursor:pointer;border-radius:var(--kgvcc-small-radius);padding:0}
.kgvcc-icon-btn:hover,.kgvcc-icon-btn:focus{background:var(--kgvcc-card)}
.kgvcc-category{box-sizing:border-box;position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;border:1px solid var(--kgvcc-border);border-radius:var(--kgvcc-card-radius);padding:14px 16px;margin:10px 0;background:var(--kgvcc-card);cursor:pointer}
.kgvcc-category>div{min-width:0}
.kgvcc-category p{color:var(--kgvcc-muted);font-size:.94rem;overflow-wrap:anywhere}
.kgvcc-category-required{cursor:default;background:var(--kgvcc-soft)}
.kgvcc-required-label{align-self:center;font-size:.86rem;font-weight:700;white-space:nowrap;color:var(--kgvcc-accent-2)}
.kgvcc-category input{position:absolute;opacity:0;pointer-events:none}
.kgvcc-switch{position:relative;width:46px;height:26px;border-radius:999px;background:var(--kgvcc-border);flex:none;transition:.2s}
.kgvcc-switch:after{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:var(--kgvcc-card);box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.2s}
.kgvcc-category input:checked+.kgvcc-switch{background:var(--kgvcc-accent)}
.kgvcc-category input:checked+.kgvcc-switch:after{transform:translateX(20px)}
.kgvcc-category input:focus-visible+.kgvcc-switch{outline:3px solid var(--kgvcc-accent);outline-offset:2px}
.kgvcc-note{margin:14px 0;padding:12px 14px;border:1px solid var(--kgvcc-border);border-radius:var(--kgvcc-card-radius);background:var(--kgvcc-soft);line-height:1.5;font-size:.93rem}
.kgvcc-settings-actions{margin-top:16px}
.kgvcc-reopen{position:fixed;z-index:999990;left:12px;bottom:12px;border:1px solid var(--kgvcc-border);border-radius:999px;background:var(--kgvcc-gradient);color:var(--kgvcc-text);box-shadow:var(--kgvcc-shadow);padding:8px 12px;font:inherit;font-size:.85em;cursor:pointer}.kgvcc-reopen:hover,.kgvcc-reopen:focus{border-color:var(--kgvcc-accent);color:var(--kgvcc-accent-2)}
.kgvcc-inline-link{appearance:none;border:0;background:transparent;padding:0;color:var(--kgvcc-link);font:inherit;text-decoration:underline;cursor:pointer}.kgvcc-inline-link:hover,.kgvcc-inline-link:focus{color:var(--kgvcc-accent-2)}
.kgvcc-modal-open{overflow:hidden}
@media(max-width:760px){
.kgvcc-banner{left:8px;right:8px;bottom:8px;padding:14px;border-radius:18px}
.kgvcc-inner{display:block}
.kgvcc-actions{margin-top:14px;display:grid;grid-template-columns:1fr 1fr}
.kgvcc-actions .kgvcc-btn-secondary{grid-column:1/-1}
.kgvcc-btn{width:100%;min-height:44px}
.kgvcc-settings{padding:8px;align-items:flex-end}
.kgvcc-settings-card{width:100%;max-height:94dvh;max-height:94vh;border-radius:22px 22px 10px 10px;padding:16px 14px 14px}
.kgvcc-settings-head{gap:10px;margin-bottom:12px}
.kgvcc-settings-card .kgvcc-settings-head h2{font-size:clamp(1.85rem,8vw,2.2rem);line-height:1.05;margin-bottom:8px}
.kgvcc-settings-head p{font-size:.98rem;line-height:1.42}
.kgvcc-icon-btn{flex-basis:42px;width:42px;height:42px;font-size:31px}
.kgvcc-category{grid-template-columns:minmax(0,1fr) auto;gap:10px;border-radius:16px;padding:13px 14px;margin:9px 0;align-items:center}
.kgvcc-settings-card .kgvcc-category h3{font-size:1.35rem;line-height:1.12;margin-bottom:6px}
.kgvcc-category p{font-size:.93rem;line-height:1.42}
.kgvcc-required-label{font-size:.82rem}
.kgvcc-switch{width:44px;height:25px}
.kgvcc-switch:after{width:19px;height:19px}
.kgvcc-category input:checked+.kgvcc-switch:after{transform:translateX(19px)}
.kgvcc-note{border-radius:16px;margin:10px 0;padding:11px 12px;font-size:.9rem}
.kgvcc-settings-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}
.kgvcc-reopen{left:8px;bottom:8px;font-size:.78em}
}
@media(max-width:420px){
.kgvcc-settings{padding:6px}
.kgvcc-settings-card{padding:14px 12px 12px}
.kgvcc-settings-card .kgvcc-settings-head h2{font-size:1.85rem}
.kgvcc-settings-head p{font-size:.94rem}
.kgvcc-settings-card .kgvcc-category h3{font-size:1.28rem}
.kgvcc-category{padding:12px;gap:8px}
.kgvcc-category p{font-size:.9rem}
.kgvcc-required-label{font-size:.78rem}
}
@media(prefers-reduced-motion:reduce){.kgvcc-switch,.kgvcc-switch:after,.kgvcc-btn{transition:none}}
