/* Front-end theme only. Loaded after the preserved source and runtime styles. */
:root {
  --toffee-brand: #582C63;
  --toffee-brand-hover: #43214C;
  --toffee-canvas: #FAF7F5;
  --toffee-surface: #FFFFFF;
  --toffee-story: #F0DFE8;
  --toffee-guide: #EEEAF1;
  --toffee-secondary: #F2EAF4;
  --toffee-ink: #2C2430;
  --toffee-muted: #716775;
  --toffee-border: #E4DDE6;
  /* Essential input boundaries need more contrast than decorative dividers. */
  --toffee-control-border: #948799;
  --toffee-whatsapp: #128C7E;
  --toffee-whatsapp-button: #0D7166;
  --toffee-whatsapp-hover: #095C53;
  --toffee-on-brand: #FFFFFF;
  --toffee-footer-text: #F0DFE8;
  --toffee-error: #B3261E;
  --toffee-success: #246A46;
  --toffee-warning: #805400;
  --toffee-backdrop: rgb(44 36 48 / 45%);
  --td-paper: var(--toffee-surface);
  --td-sand: var(--toffee-guide);
  --td-ink: var(--toffee-ink);
  --td-muted: var(--toffee-muted);
  --td-cocoa: var(--toffee-brand);
  --td-accent: var(--toffee-brand);
}

body[data-toffee-theme="toffee"] {
  color: var(--toffee-ink);
  background: var(--toffee-canvas);
  color-scheme: light;
}
[data-toffee-theme] :is(.main-wrapper,main,.o-guidance__wrapper,.o-guidance__container,.guidance__slider,.o-productListing,.m-genericTitle,.bo-exp) {
  background-color: var(--toffee-canvas) !important;
  color: var(--toffee-ink);
}
[data-toffee-theme] main :is(h1,h2,h3,h4,p,li,th,td,label) { color: var(--toffee-ink); }
[data-toffee-theme] :is(.bo-exp-muted,.bo-product-demo-note,.bo-product-gallery-count,.td-form-intro,.bo-b2b-disclosure,.toffee-contact-note,.bo-nav-result small) {
  color: var(--toffee-muted) !important;
}
[data-toffee-theme] :is(a,button,input,select,textarea,[role="radio"],[role="tab"],[role="button"]):focus-visible {
  outline: 2px solid var(--toffee-brand) !important;
  outline-offset: 4px;
  box-shadow: none !important;
}

/* The header remains in its original position, including when revealed on scroll. */
[data-toffee-theme] .o-header,
[data-toffee-theme] .o-header .o-header__primary,
[data-toffee-theme] .o-header[data-toffee-scrolled] .o-header__primary {
  color: var(--toffee-ink) !important;
  background: var(--toffee-surface) !important;
}
[data-toffee-theme] .o-header .o-header__primary { border-bottom: 1px solid var(--toffee-border); }
[data-toffee-theme] .o-header :is(a,button,.menu-label) { color: var(--toffee-ink) !important; }
[data-toffee-theme] .o-header :is(a,button):hover,
[data-toffee-theme] .o-header [aria-current="page"] { color: var(--toffee-brand) !important; }
[data-toffee-theme] .o-header .a-navToggle em,
[data-toffee-theme] .o-header .a-navToggle em::before,
[data-toffee-theme] .o-header .a-navToggle em::after { background: currentColor !important; }
[data-toffee-theme] .o-header img[alt="Inquiry list"] { filter: brightness(0) !important; }
[data-toffee-theme] .o-header #header-logo { filter: none !important; }
[data-toffee-theme] .bo-nav-cart-badge { background: var(--toffee-brand); color: var(--toffee-on-brand); }

/* Media heroes retain the original B&O overlay composition. */
[data-toffee-theme] .o-hero,
[data-toffee-theme] .o-hero .o-hero__bg,
[data-toffee-theme] .o-hero .o-hero__bgVideo,
[data-toffee-theme] .o-hero .o-hero__bgImage,
[data-toffee-theme] .o-hero .m-heroV4 { background: var(--toffee-canvas) !important; }
[data-toffee-theme] .toffee-video-backdrop { display: none; }
[data-toffee-theme] :is(.heroV4__content,.productHeader__contentWrapper) { text-shadow: none !important; }
[data-toffee-theme] .o-hero :is(.heroV4__contentWrapper,.displayright) { max-width: 100%; }
[data-toffee-theme] .o-overlayImmersive-wrapper { background-color: var(--toffee-canvas); }

/* Primary actions, with explicit component scope rather than a global button rule. */
[data-toffee-theme] :is(.a-anchorButton.-primary,.a-button.-primary,.bo-product-purchase:where(:not(.bo-b2b-whatsapp,.toffee-whatsapp,.bo-b2b-secondary)),.bo-exp-button,.bo-content-submit,.bo-nav-primary-button,.newsletter-subscribe-button,[data-sln-id="newsletter_submit_button"],[data-toffee-quote],.shop-cta) {
  color: var(--toffee-on-brand) !important;
  background: var(--toffee-brand) !important;
  border: 1px solid var(--toffee-brand) !important;
  text-shadow: none;
  box-shadow: none;
  opacity: 1;
}
[data-toffee-theme] :is(.a-anchorButton.-primary,.a-button.-primary,.bo-product-purchase:where(:not(.bo-b2b-whatsapp,.toffee-whatsapp,.bo-b2b-secondary)),.bo-exp-button,.bo-content-submit,.bo-nav-primary-button,.newsletter-subscribe-button,[data-sln-id="newsletter_submit_button"],[data-toffee-quote],.shop-cta):hover:not(:disabled) {
  color: var(--toffee-on-brand) !important;
  background: var(--toffee-brand-hover) !important;
  border-color: var(--toffee-brand-hover) !important;
  opacity: 1;
}
[data-toffee-theme] :is(.a-anchorButton.-secondary,.bo-b2b-secondary,.bo-nav-secondary,.bo-exp-outline,.bo-product-zoom-button,.bo-product-arrow,.bo-exp-qty button,.bo-nav-close,.bo-product-close) {
  color: var(--toffee-brand) !important;
  background: var(--toffee-secondary) !important;
  border: 1px solid var(--toffee-brand) !important;
  box-shadow: none;
  opacity: 1;
}
[data-toffee-theme] :is(.a-anchorButton.-secondary,.bo-b2b-secondary,.bo-nav-secondary,.bo-exp-outline,.bo-product-zoom-button,.bo-product-arrow,.bo-exp-qty button,.bo-nav-close,.bo-product-close):hover:not(:disabled) {
  color: var(--toffee-brand-hover) !important;
  background: var(--toffee-guide) !important;
  border-color: var(--toffee-brand-hover) !important;
  opacity: 1;
}
[data-toffee-theme] :is(.bo-product-purchase,.bo-exp-button,.a-anchorButton,.bo-nav-actions button) :is(svg,span) { color: inherit; }

/* Only real WhatsApp contact actions use green; URLs and phone numbers stay intact. */
[data-toffee-theme] :is(.toffee-whatsapp,.bo-b2b-whatsapp) {
  color: var(--toffee-on-brand) !important;
  background: var(--toffee-whatsapp-button) !important;
  border: 1px solid var(--toffee-whatsapp-button) !important;
  opacity: 1 !important;
}
[data-toffee-theme] :is(.toffee-whatsapp,.bo-b2b-whatsapp):hover:not(:disabled) {
  background: var(--toffee-whatsapp-hover) !important;
  border-color: var(--toffee-whatsapp-hover) !important;
}
[data-toffee-theme] :is(.toffee-whatsapp-link,.toffee-contact-note a,.toffee-inquiry-aside>a) {
  color: var(--toffee-whatsapp-button) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
[data-toffee-theme] :is(.toffee-whatsapp-link,.toffee-contact-note a,.toffee-inquiry-aside>a):hover { color: var(--toffee-whatsapp-hover) !important; }

/* Product surfaces keep the original photographs and their existing geometry. */
[data-toffee-theme] :is(.versionTwo__anchor,.grid__productCard,.m-productListItem,.product-card-info,.bo-product-gallery,.o-productDetail,.m-productCard) {
  color: var(--toffee-ink) !important;
  background-color: var(--toffee-surface) !important;
}
[data-toffee-theme] :is(.versionTwo__anchor,.grid__productCard,.m-productListItem) { border: 1px solid var(--toffee-border); box-sizing: border-box; }
[data-toffee-theme] :is(.product-card-info,.product-name-text,.o-productDetail__name,.o-productDetail__description,.o-productDetail__longDesc) { color: var(--toffee-ink) !important; }
[data-toffee-theme] :is(.product-price,.productPrice,[data-sln-id$="productPrice"],.o-productDetail__price) { color: var(--toffee-brand) !important; }
[data-toffee-theme] :is(.a-filterTab,.filterTab_content__text,.guidanceFilter__list-item button) { color: var(--toffee-muted) !important; }
[data-toffee-theme] :is(.a-filterTab[aria-selected="true"],.a-filterTab.-active,.a-filterTab.-active a,.a-filterTab.-active .filterTab_content__text,[role="radio"][aria-checked="true"],[data-toffee-supporting-nav] [aria-current="true"]) {
  color: var(--toffee-brand) !important;
  border-color: var(--toffee-brand) !important;
}
[data-toffee-theme] :is(.a-filterTab a,.bo-nav-link,.bo-nav-subcategories a,.bo-nav-services a):hover { color: var(--toffee-brand) !important; opacity: 1; }
[data-toffee-theme] .bo-product-dot::after { background: var(--toffee-control-border); }
[data-toffee-theme] .bo-product-dot[aria-pressed="true"]::after { background: var(--toffee-brand); }
[data-toffee-theme] .m-swatches__form [role="radio"][aria-checked="true"] { outline: 2px solid var(--toffee-brand); outline-offset: 3px; }
[data-toffee-theme] [data-toffee-supporting-nav] { background: var(--toffee-surface) !important; color: var(--toffee-ink); border-bottom: 1px solid var(--toffee-border); }
[data-toffee-theme] [data-toffee-supporting-nav] :is(a,.product-name) { color: var(--toffee-ink); }

/* Existing story and information sections alternate with the light canvas. */
[data-toffee-theme] .newsLetter__wrapper { background: var(--toffee-story) !important; color: var(--toffee-ink); }
[data-toffee-theme] :is(.m-techSpecsHero,.m-techSpecsCategories,.textAndImageTextWrapper) { background: var(--toffee-guide) !important; color: var(--toffee-ink); }
[data-toffee-theme] :is(.textImmersive,#comparisonSection,#recommendedProducts,.m-textAndIcon) { background-color: var(--toffee-canvas) !important; color: var(--toffee-ink); }
[data-toffee-theme] :is(.m-techSpecsCategory,.m-accordionAnimated__button,.m-techSpecsCategory__type1,.productComparison) { color: var(--toffee-ink) !important; border-color: var(--toffee-border) !important; }

/* Shared dialogs, contact page, cart/inquiry list and native form controls. */
[data-toffee-theme] :is(.bo-nav-panel,.bo-b2b-dialog,.bo-product-notify,.bo-content-dialog,.bo-product-zoom,.td-dialog-heading,.bo-exp-form) {
  color: var(--toffee-ink) !important;
  background: var(--toffee-surface) !important;
  border-color: var(--toffee-border) !important;
}
[data-toffee-theme] :is(.bo-nav-dialog,.bo-local-dialog,.bo-product-notify,.bo-product-zoom)::backdrop { background: var(--toffee-backdrop); }
[data-toffee-theme] :is(.bo-nav-heading,.bo-nav-link,.bo-nav-copy,.bo-nav-country a,.bo-nav-subcategories a,.bo-nav-result,.bo-nav-services a,.bo-b2b-model strong,.bo-b2b-model small,.bo-b2b-form label,.bo-exp-form label) { color: var(--toffee-ink) !important; }
[data-toffee-theme] :is(.toffee-selection,.toffee-inquiry-aside) { color: var(--toffee-ink); background: var(--toffee-guide); }
[data-toffee-theme] :is(.bo-nav-row,.bo-nav-result,.bo-nav-cookie-row,.bo-exp-row,.toffee-form-extra,.td-dialog-heading) { border-color: var(--toffee-border); }
[data-toffee-theme] :is(.bo-b2b-form,.bo-exp-form,.bo-product-notify,.bo-nav-panel,.bo-content-dialog) :is(input:not([type="checkbox"]),textarea,select) {
  color: var(--toffee-ink) !important;
  background: var(--toffee-surface) !important;
  border: 1px solid var(--toffee-control-border) !important;
  box-shadow: none;
}
[data-toffee-theme] :is(input,textarea)::placeholder { color: var(--toffee-muted); opacity: 1; }
[data-toffee-theme] :is(input[type="checkbox"],input[type="radio"]) { accent-color: var(--toffee-brand); }
[data-toffee-theme] :is(.bo-b2b-form,.bo-exp-form,.bo-product-notify,.bo-nav-panel,.bo-content-dialog) :is(input,textarea,select):focus-visible { border-color: var(--toffee-brand) !important; }
[data-toffee-theme] :is(.bo-b2b-form,.bo-exp-form,.bo-product-notify,.bo-nav-panel,.bo-content-dialog) :is(input,textarea,select):is([aria-invalid="true"],:user-invalid) { border-color: var(--toffee-error) !important; }
[data-toffee-theme] [data-status="error"] { color: var(--toffee-error) !important; }
[data-toffee-theme] [data-status="success"] { color: var(--toffee-success) !important; }
[data-toffee-theme] [data-status="warning"] { color: var(--toffee-warning) !important; }
[data-toffee-theme] :is(button,input,select,textarea):disabled,
[data-toffee-theme] [aria-disabled="true"] {
  background-color: var(--toffee-guide) !important;
  color: var(--toffee-muted) !important;
  border-color: var(--toffee-control-border) !important;
  opacity: 1;
  cursor: not-allowed;
}

/* Existing original-purple raster logo is placed on a warm-white carrier. */
[data-toffee-theme] .o-footer { background: var(--toffee-ink) !important; color: var(--toffee-footer-text); }
[data-toffee-theme] .o-footer :is(a,button,p,li,.head,.copyright-text,.country-lang-selector) { color: var(--toffee-footer-text) !important; }
[data-toffee-theme] .o-footer :is(.head,h2,h3) { color: var(--toffee-surface) !important; }
[data-toffee-theme] .o-footer :is(a,button):hover { color: var(--toffee-surface) !important; text-decoration: underline; opacity: 1; }
[data-toffee-theme] .o-footer :focus-visible { outline-color: var(--toffee-story) !important; }
[data-toffee-theme] .o-footer [data-toffee-logo-carrier] { background: var(--toffee-canvas) !important; }
[data-toffee-theme] .o-footer img[src^="/brand/"] { filter: none !important; object-fit: contain; }
[data-toffee-theme] .o-footer .a-responsiveImage { background: transparent !important; }

[data-toffee-theme] main :where(h1,h2,h3,h4,p:not([role="status"]):not([role="alert"]):not([class*="status"]),li,th,td,label){color:var(--toffee-ink)!important}
[data-toffee-theme] .bo-nav-link[aria-current="page"]{color:var(--toffee-brand)!important}
[data-toffee-theme] .o-footer [data-toffee-logo-carrier]{background:var(--toffee-canvas)!important}

[data-toffee-theme] .heroV4__contentWrapper{background:transparent!important}
[data-toffee-theme] .heroV4__contentWrapper::after{background:none!important}

/* A white fixed header needs document space, while retaining the original modules. */
[data-toffee-theme] .main-wrapper:not(.isCategoryPage){padding-top:var(--toffee-header-height,116px)!important}
[data-toffee-theme] .bo-exp{padding-top:48px}
[data-toffee-theme] .bo-b2b-dialog{box-shadow:0 12px 40px rgb(44 36 48 / 12%)}
@media(max-width:767px){[data-toffee-theme] .main-wrapper:not(.isCategoryPage){padding-top:var(--toffee-header-height,85px)!important}[data-toffee-theme] .bo-exp{padding-top:24px}}

[data-toffee-theme] .m-productHeader .displayright{background:transparent!important;padding:0}

/* Transparent copy containers must not intercept the existing video control. */
[data-toffee-theme] :is(.heroV4__content,.heroV4__contentWrapper){pointer-events:none}
[data-toffee-theme] .heroV4__content :is(a,button){pointer-events:auto}
[data-toffee-theme] .o-hero .-playPauseA11yButton {
  background:var(--toffee-surface)!important;
  color:var(--toffee-ink)!important;
  opacity:1!important;
}
[data-toffee-theme] .o-hero .-playPauseA11yButton::before {
  content:"";display:inline-block;box-sizing:border-box;
  width:10px;height:12px;border-inline:3px solid currentColor;
}
[data-toffee-theme] .o-hero .-playPauseA11yButton[aria-label="Play"]::before {
  width:0;height:0;border:7px solid transparent;border-right:0;border-left:10px solid currentColor;
}

/* White copy over a neutral scrim is intentional only within full-bleed media. */
[data-toffee-theme] .o-hero :is(.heroV4__title,.heroV4__description,.productHeader__title,.productHeader__description,.productHeader__price),
[data-toffee-theme] .o-hero [data-sln-id$="productPrice"],
[data-toffee-theme] .o-overlayImmersive-wrapper :is(.overlay_immersive__title,.overlay_immersive__description) {
  color: var(--toffee-on-brand) !important;
  background: transparent;
  text-shadow: none !important;
}
