:root{--ccc-ui-page:#f5f5f3;--ccc-ui-panel:#fff;--ccc-ui-soft:#eeefed;--ccc-ui-ink:#25292e;--ccc-ui-muted:#62686e;--ccc-ui-line:#d8dcd8;--ccc-ui-accent:#ad332b}
:root[data-ccc-theme=dark]{--ccc-ui-page:#191c20;--ccc-ui-panel:#24282d;--ccc-ui-soft:#30353b;--ccc-ui-ink:#f1f2f3;--ccc-ui-muted:#b8bec5;--ccc-ui-line:#464c54;--ccc-ui-accent:#f29c91;color-scheme:dark}
:root[data-ccc-theme=light]{color-scheme:light}
/* Theme colours apply to existing layouts, including their legacy important rules. */
@layer ccc-theme{
  body:not(.app-home) :is(dt,dd,.t,.h,.v,.k,.sub,.vd-price,.p-price,.faq-answer,.iv-t,.iv-status,.foot,.cart div){color:var(--ccc-ui-ink)!important}
  body:not(.app-home) :is(.sp-card,.sp-hero-mark,.sp-icon-button){background:var(--ccc-ui-panel)!important;color:var(--ccc-ui-ink)!important;border-color:var(--ccc-ui-line)!important}
  body.app-home .ccc-presence{background:var(--ccc-ui-panel)!important;color:var(--ccc-ui-ink)!important;border-color:var(--ccc-ui-line)!important}
  body.app-home .ccc-presence :is(strong,span,a){color:var(--ccc-ui-ink)!important}
  body.app-home .small-card{--ink:#25292e;--muted:#62686e;color:#25292e!important}
  body.app-home .price-reference :is(summary,th,caption){color:var(--ccc-ui-ink)!important}
  body:not(.app-home) .booking-stepper button{background:var(--ccc-ui-panel)!important;color:var(--ccc-ui-ink)!important;border-color:var(--ccc-ui-line)!important}
  body:not(.app-home) .booking-stepper button.is-active{border-color:var(--ccc-ui-accent)!important}
  body{--bg:var(--ccc-ui-page)!important;--panel:var(--ccc-ui-panel)!important;--text:var(--ccc-ui-ink)!important;--muted:var(--ccc-ui-muted)!important;--line:var(--ccc-ui-line)!important}
  body:not(.app-home) :is(.wrap,.nav-inner){background:transparent!important}
  body:not(.app-home) :is(.price-overview__intro,.price-table-wrap,.price-rule,.pkg,.hint,.viz-dock,.radio,.surface-price-note,.ccc-ag-banner,.ccc-advisor-launcher,.ccc-advisor-panel,.ccc-advisor-option,.ccc-advisor-result,.ccc-advisor-foot,.ccc-service-route,.ccc-service-route a,.project-link,.btn,.btn-mini,.ccc-action-secondary,.menu-trigger,.toast,.acc-block,.acc-item,.modal-box,.gv-hero,.gv-proof){background:var(--ccc-ui-panel)!important;color:var(--ccc-ui-ink)!important;border-color:var(--ccc-ui-line)!important}
  body:not(.app-home) :is(th,td){background:var(--ccc-ui-panel)!important}
  body:not(.app-home) :is(.ticker,.ticker-wrap){background:var(--ccc-ui-soft)!important;color:var(--ccc-ui-ink)!important}
  body:not(.app-home) :is(.btn-mini.gold,.ccc-ag-cta,.ccc-model-load,.vd-cta){background:#aa3228!important;color:#fff!important}
  body:not(.app-home) :is(.btn-mini.gold,.ccc-ag-cta,.ccc-model-load,.vd-cta) *{color:inherit!important}
  body.app-home :is(.company-links>a,.secondary){background:var(--ccc-ui-panel)!important;color:var(--ccc-ui-ink)!important;border-color:var(--ccc-ui-line)!important}
  body{background:var(--ccc-ui-page)!important;color:var(--ccc-ui-ink)!important;--ccc-page:var(--ccc-ui-page)!important;--ccc-paper:var(--ccc-ui-panel)!important;--ccc-page-soft:var(--ccc-ui-soft)!important;--ccc-ink:var(--ccc-ui-ink)!important;--ccc-muted:var(--ccc-ui-muted)!important;--ccc-line:var(--ccc-ui-line)!important}
  body:not(.app-home) :is(main,section,main>header,.hero,.section,.ccc-projects,.gv-sec,.project-intro){background:var(--ccc-ui-page)!important;color:var(--ccc-ui-ink)!important;border-color:var(--ccc-ui-line)!important}
  body:not(.app-home) :is(article,.project-card,.contact-panel,.material-flow__truth,.suitability-copy,.price-panel,.cart-overlay,.cabin-subzero-teaser,.scan-wrap,.scan-row,.workflow-item,.dryice-tech__machine-copy,.dryice-proof,.dryice-interior__config-result,.risk-box,.ppf-catalog-note,.ppf-table-wrap,.iv-card,.iv-chip,.advisor-inline,.booking-recap__item,.service-preview,.portal-benefit,.step,.back,.sp-button,.button,.skip-link,.ccc-skip-link,.project-skip,details>summary){background:var(--ccc-ui-panel)!important;color:var(--ccc-ui-ink)!important;border-color:var(--ccc-ui-line)!important}
  body:not(.app-home) :is(.material-flow__figure,.material-flow__image,.diagnosis__visual,.dryice-spotlight__signal,.dryice-hero__media,.dryice-tech__machine-feature,.dryice-stage__frame,.dryice-interior__visual){background:var(--ccc-ui-soft)!important;color:var(--ccc-ui-ink)!important}
  body:not(.app-home) :is(.button--primary,.sp-button){background:#aa3228!important;color:#fff!important}
  body:not(.app-home) :is(.button--primary,.sp-button) *{color:inherit!important}
  body:not(.app-home) :is(header,footer,.navbar,.ccc-site-header,.project-header,.project-footer,.menu-overlay,.dashboard-panel,.cart,.modal,.panel,.card,.box,.bento-card,.side-card,.price-card,.addon-card,.trust-card,.value-card,.comparison-card,.gv-card,.workflow-box,.seo-box,.account-card,.portal-card,.notice,.note,.faq-item,details,fieldset,dialog,table,.config-summary,.risk-ack,.ccc-presence){background:var(--ccc-ui-panel)!important;color:var(--ccc-ui-ink)!important;border-color:var(--ccc-ui-line)!important}
  body:not(.app-home) :is(h1,h2,h3,h4,h5,h6,p,li,span,small,strong,b,label,legend,summary,th,td,a,button){color:var(--ccc-ui-ink)!important}
  body:not(.app-home) :is(input,textarea,select,.addon,.chip,.service-option,.option,.pill){background-color:var(--ccc-ui-soft)!important;color:var(--ccc-ui-ink)!important;border-color:var(--ccc-ui-line)!important}
  body:not(.app-home) :is(th,td,hr){border-color:var(--ccc-ui-line)!important}
  body:not(.app-home) :is(.primary,.btn-primary,.ccc-action-primary,.project-link--primary,.project-header-booking,.pill.gold,button[type=submit]){background:#aa3228!important;color:#fff!important;border-color:#aa3228!important}
  body:not(.app-home) :is(.primary,.btn-primary,.ccc-action-primary,.project-link--primary,.project-header-booking,.pill.gold,button[type=submit]) *{color:inherit!important}
  body.app-home{--bg:var(--ccc-ui-page);--ink:var(--ccc-ui-ink);--muted:var(--ccc-ui-muted);--line:var(--ccc-ui-line)}
  body.app-home :is(.tabs,.tab-indicator,.winter-card,.contact-card,.company-identity,.account,.person-chip,dialog,.option,.selection-total,#enquiry-selection){background:var(--ccc-ui-panel)!important;color:var(--ccc-ui-ink)!important;border-color:var(--ccc-ui-line)!important}
  body.app-home :is(.dashboard-heading,.onboard-copy,.company-intro,.contact-card,.winter-card,dialog,.tabs,.footer,.price-reference,.next-steps) :is(p,h1,h2,h3,h4,small,strong,b,span,a,button){color:var(--ccc-ui-ink)!important}
  html body.app-home :is(.primary,.primary *){color:#fff!important}
  body.app-home :is(.eyebrow,.price-intro,.model-summary,.welcome-note,.company-identity-label,.company-identity-foot,.company-identity-foot span,.fineprint){color:var(--ccc-ui-muted)!important}
  body.app-home .onboard-copy h1 span{-webkit-text-fill-color:var(--ccc-ui-ink)!important;background:none!important}
  body.app-home :is(.selection-total strong,.option>b,.winter-price,.price-reference td){color:var(--ccc-ui-ink)!important}
  body.app-home .option[aria-pressed=true]{background:var(--ccc-ui-soft)!important;border-color:var(--ccc-ui-muted)!important}
  body.app-home .launch{background:var(--ccc-ui-page)!important}
  .ccc-privacy-banner,.ccc-preferences-dialog,.ccc-policy-bar{background:var(--ccc-ui-panel)!important;color:var(--ccc-ui-ink)!important;border-color:var(--ccc-ui-line)!important}
  :is(.ccc-privacy-banner,.ccc-preferences-dialog,.ccc-policy-bar) :is(h2,h3,p,span,button,a,summary){color:var(--ccc-ui-ink)!important}
  :is(.ccc-privacy-banner,.ccc-preferences-dialog) button{background:var(--ccc-ui-soft)!important;color:var(--ccc-ui-ink)!important;border:1px solid var(--ccc-ui-line)!important}
  :is(.ccc-privacy-banner,.ccc-preferences-dialog) button.ccc-required{background:#a93229!important;color:white!important;border-color:#a93229!important}
  .ccc-mode-options button[aria-pressed=true]{outline:2px solid var(--ccc-ui-accent);outline-offset:2px}
}
.ccc-policy-bar{position:relative;z-index:2200;margin-bottom:85px!important}
body:has(.ccc-privacy-banner:not([hidden])) :is(.ccc-ag-banner,.ccc-advisor-launcher){visibility:hidden!important}
.ccc-privacy-banner{position:fixed;z-index:12000;bottom:18px;left:50%;transform:translateX(-50%);width:min(720px,calc(100% - 28px));padding:22px 25px;border:1px solid;border-radius:22px;box-shadow:0 12px 60px #0003;font-size:13px;line-height:1.65}
.ccc-privacy-banner[hidden]{display:none}.ccc-privacy-banner h2{font-size:19px;line-height:1.3;margin:0 0 8px}.ccc-privacy-banner p{margin:0 0 14px}.ccc-privacy-actions{display:flex;flex-wrap:wrap;gap:10px}.ccc-privacy-actions button,.ccc-mode-options button,.ccc-preferences-dialog>button{padding:12px 16px;border-radius:12px;min-height:44px;font:inherit;cursor:pointer}
.ccc-policy-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 22px;padding:20px 16px;margin:0;border-top:1px solid;font-size:12px;line-height:1.5}.ccc-policy-bar a,.ccc-policy-bar button{font:inherit;color:inherit;background:none;border:0;padding:4px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.ccc-preferences-dialog{width:min(580px,calc(100vw - 28px));max-height:calc(100svh - 32px);padding:28px;border:1px solid;border-radius:24px;overflow:auto;box-sizing:border-box;text-align:left;line-height:1.65;font-size:14px}.ccc-preferences-dialog::backdrop{background:#10141acc;backdrop-filter:blur(5px)}.ccc-preferences-dialog h2{font-size:25px;margin:0 0 12px}.ccc-preferences-dialog h3{font-size:17px;margin:24px 0 8px}.ccc-preferences-dialog p{margin:8px 0 14px}.ccc-preferences-dialog a{text-decoration:underline;text-underline-offset:3px}.ccc-preferences-dialog .ccc-close{float:right;margin:-12px -10px 6px 12px;width:44px;height:44px;padding:8px;border-radius:50%;font-size:24px}.ccc-mode-options{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.ccc-mode-options button{flex:1}.ccc-preferences-dialog details{border-top:1px solid var(--ccc-ui-line);padding-top:14px;margin-top:18px}.ccc-preferences-dialog summary{cursor:pointer;font-weight:650}.ccc-privacy-links{display:flex;flex-wrap:wrap;gap:15px;font-size:12px;margin-top:16px}
@media(max-width:600px){.ccc-privacy-banner{bottom:10px;padding:18px;font-size:12px;max-height:calc(100svh - 24px);overflow:auto}.ccc-privacy-banner h2{font-size:17px}.ccc-privacy-actions{display:grid;grid-template-columns:1fr}.ccc-preferences-dialog{padding:23px}.ccc-policy-bar{padding-bottom:30px}}
@media print{.ccc-privacy-banner,.ccc-policy-bar,.ccc-preferences-dialog{display:none!important}}
