:root{
  --xcc-bg:#fff;
  --xcc-text:#202124;
  --xcc-muted:#656970;
  --xcc-border:#e1e4e8;
  --xcc-soft:#f3f5f7;
  --xcc-primary:#111827;
  --xcc-primary-text:#fff;
  --xcc-radius:14px;
  --xcc-shadow:0 22px 70px rgba(0,0,0,.18);
}

/* Protect the consent UI from host-site typography transforms. */
.xcc-banner,
.xcc-banner *,
.xcc-overlay,
.xcc-overlay *{
  text-transform:none !important;
  font-variant:normal;
  letter-spacing:normal;
}
.xcc-lock{overflow:hidden}
.xcc-banner{position:fixed;z-index:2147483000;left:18px;right:18px;bottom:18px;display:none;color:var(--xcc-text);font-family:var(--cookie-font-family,inherit)}
.xcc-banner.xcc-visible{display:block}
.xcc-banner__inner{max-width:1180px;margin:auto;padding:20px;background:var(--xcc-bg);border:1px solid var(--xcc-border);border-radius:var(--xcc-radius);box-shadow:var(--xcc-shadow);display:flex;align-items:center;justify-content:space-between;gap:24px}
.xcc-banner__copy{flex:1 1 auto;min-width:0;max-width:none}
.xcc-title{margin:0 0 8px;font-size:21px;line-height:1.25}
.xcc-text{margin:0;color:var(--xcc-muted);font-size:14px;line-height:1.55}
.xcc-links{display:flex;gap:15px;margin-top:10px;flex-wrap:wrap}
.xcc-links a{font-size:13px;color:inherit;text-decoration:underline}
.xcc-actions,.xcc-modal__footer{display:flex;gap:9px}
.xcc-actions{flex:0 0 auto;align-items:center;justify-content:flex-end;flex-wrap:nowrap}
.xcc-modal__footer{flex-wrap:wrap}
.xcc-btn{appearance:none;border:1px solid var(--xcc-border);background:#fff;color:var(--xcc-text);border-radius:9px;padding:11px 16px;font:600 14px/1 system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.xcc-actions .xcc-btn{flex:0 0 auto;min-width:max-content}
.xcc-btn--primary{background:var(--xcc-primary);border-color:var(--xcc-primary);color:var(--xcc-primary-text)}
.xcc-overlay{display:none;position:fixed;inset:0;z-index:2147483001;background:rgba(0,0,0,.52);padding:18px;align-items:center;justify-content:center;font-family:var(--cookie-font-family,inherit)}
.xcc-overlay.xcc-visible{display:flex}
.xcc-modal{width:min(980px,100%);max-height:92vh;overflow:auto;background:var(--xcc-bg);color:var(--xcc-text);border-radius:var(--xcc-radius);box-shadow:var(--xcc-shadow)}
.xcc-modal__head{position:sticky;top:0;z-index:3;background:var(--xcc-bg);display:flex;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid var(--xcc-border)}
.xcc-close{font-size:30px;border:0;padding:2px 8px;background:transparent}
.xcc-categories{padding:16px 24px}
.xcc-category{background:var(--xcc-soft);border-radius:10px;margin-bottom:10px;overflow:hidden;border:1px solid transparent}
.xcc-category__head{display:flex;align-items:center;gap:18px;min-height:68px;padding:0 18px}
.xcc-expand{flex:1;display:flex;align-items:center;gap:11px;text-align:left;border:0;background:none;color:inherit;font:700 17px/1.35 system-ui,sans-serif;cursor:pointer;padding:18px 0}
.xcc-chevron{display:inline-block;font-size:20px;transition:transform .2s}
.xcc-expand[aria-expanded="true"] .xcc-chevron{transform:rotate(180deg)}
.xcc-required{font-size:12px;font-weight:700;color:var(--xcc-muted);white-space:nowrap;background:#eceff2;border-radius:20px;padding:7px 10px}
.xcc-category__body{padding:0 18px 18px;background:#fff;border-top:1px solid var(--xcc-border)}
.xcc-category__desc{margin:18px 0;color:var(--xcc-muted);font-size:14px;line-height:1.6}
.xcc-switch{position:relative;width:48px;height:27px;flex:0 0 48px}
.xcc-switch input{opacity:0;width:0;height:0}
.xcc-slider{position:absolute;inset:0;background:#c9cbd1;border-radius:30px;cursor:pointer;transition:.2s}
.xcc-slider:before{content:"";position:absolute;width:21px;height:21px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.25);transition:.2s}
.xcc-switch input:checked+.xcc-slider{background:var(--xcc-primary)}
.xcc-switch input:checked+.xcc-slider:before{transform:translateX(21px)}
.xcc-table-wrap{width:100%;overflow-x:auto}
.xcc-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}
.xcc-table th{text-align:left;font-weight:700;color:var(--xcc-text);padding:12px 10px;border-bottom:1px solid var(--xcc-border)}
.xcc-table td{vertical-align:top;color:var(--xcc-muted);padding:13px 10px;border-bottom:1px solid #f0f1f2;line-height:1.45;overflow-wrap:anywhere}
.xcc-table th:nth-child(1),.xcc-table td:nth-child(1){width:20%}
.xcc-table th:nth-child(2),.xcc-table td:nth-child(2){width:22%}
.xcc-table th:nth-child(3),.xcc-table td:nth-child(3){width:40%}
.xcc-table th:nth-child(4),.xcc-table td:nth-child(4){width:18%}
.xcc-empty{font-size:13px;color:var(--xcc-muted);font-style:italic}
.xcc-retention{margin:0 24px 18px;padding:16px 18px;border:1px solid var(--xcc-border);border-radius:10px;color:var(--xcc-muted);font-size:14px;line-height:1.5;background:#fff}
.xcc-modal__footer{position:sticky;bottom:0;z-index:3;justify-content:flex-end;padding:18px 24px;background:var(--xcc-bg);border-top:1px solid var(--xcc-border)}
@media(max-width:980px) and (min-width:761px){
  .xcc-banner__inner{gap:16px}
  .xcc-btn{padding-left:12px;padding-right:12px;font-size:13px}
  .xcc-actions{gap:7px}
}
@media(max-width:760px){
  .xcc-banner{left:9px;right:9px;bottom:9px}
  .xcc-banner__inner{display:block;padding:17px}
  .xcc-actions{width:100%;margin-top:16px;flex-wrap:wrap;justify-content:stretch}
  .xcc-actions .xcc-btn{flex:1 1 calc(50% - 5px);min-width:0}
  .xcc-actions .xcc-btn--primary{flex-basis:100%}
  .xcc-overlay{padding:8px}
  .xcc-modal__head,.xcc-categories,.xcc-modal__footer{padding-left:14px;padding-right:14px}
  .xcc-retention{margin-left:14px;margin-right:14px}
  .xcc-modal__footer .xcc-btn{flex:1 1 100%}
  .xcc-table{min-width:720px}
  .xcc-category__head{gap:10px;padding:0 13px}
  .xcc-category__body{padding-left:13px;padding-right:13px}
  .xcc-expand{font-size:15px}
  .xcc-required{font-size:11px}
}

/* Typography inherited from host website */
.xcc-banner, .xcc-overlay { font-family: var(--cookie-font-family, inherit); }
.xcc-banner *, .xcc-overlay * { font-family: inherit; }
.xcc-banner button, .xcc-overlay button, .xcc-overlay input { font-family: inherit; }
