/* TwinShop module bridge v1.1.0 – all shared modules consume the active shop's design tokens. */
:root{
  --bw-bg:var(--ds-bg,#09090b);--bw-surface:var(--ds-surface,#141417);--bw-surface-2:var(--ds-surface-alt,#1b1b20);
  --bw-text:var(--ds-text,#f7f7f9);--bw-muted:var(--ds-muted,#b7b7c1);--bw-border:var(--ds-border,#303038);--bw-accent:var(--ds-accent,#d00032);
}
/* Homepage Builder */
.bw-home{background:var(--ds-bg)!important;color:var(--ds-text)!important}
.bw-home .bw-section,.bw-home .bw-story{background:var(--ds-bg)!important;color:var(--ds-text)!important}
.bw-home .bw-brand,.bw-home .bw-team,.bw-home .bw-community aside,.bw-home .bw-config,.bw-home-slot>section{background:var(--ds-surface)!important;color:var(--ds-text)!important;border-color:var(--ds-border)!important}
.bw-home .bw-brand__copy p,.bw-home .bw-team__copy p,.bw-home .bw-finder p,.bw-home .bw-story p,.bw-home .bw-community small,.bw-home .bw-community blockquote{color:var(--ds-muted)!important}
.bw-home .bw-eyebrow,.bw-home .bw-section__head span{color:var(--ds-link)!important}
.bw-home .bw-btn--light,.bw-home .bw-config__steps b{background:var(--ds-accent)!important;border-color:var(--ds-accent)!important;color:var(--ds-accent-contrast)!important}
.bw-home .bw-btn--ghost{border-color:color-mix(in srgb,var(--ds-text) 45%,transparent)!important;color:var(--ds-text)!important}
.bw-home .bw-category,.bw-home .bw-material,.bw-home .bw-product{background:var(--ds-card-bg,var(--ds-surface))!important;border-color:var(--ds-card-border,var(--ds-border))!important}
.bw-home .bw-product__body,.bw-home .bw-product__name,.bw-home .bw-product strong{color:var(--ds-card-text,var(--ds-text))!important}
.bw-home .bw-product__media{background:var(--ds-image-bg,#fff)!important}
.bw-home .bw-finder{background:linear-gradient(90deg,var(--ds-surface-alt),var(--ds-surface))!important;border-color:var(--ds-border)!important}
.bw-home .bw-config label,.bw-home .bw-config__steps li{color:var(--ds-muted)!important;background:var(--ds-surface-alt)!important;border-color:var(--ds-border)!important}
.bw-home .bw-config label span{background:var(--ds-bg)!important;color:var(--ds-text)!important;border-color:var(--ds-border)!important}
.boswear-page-home .bw-home-slot .product-miniature,.boswear-page-home .bw-home-slot .product-miniature__inner,.boswear-page-home .bw-home-slot .product-miniature__bottom,.boswear-page-home .bw-home-slot .product-miniature__infos,.boswear-page-home .bw-home-slot .product-miniature__actions{background:var(--ds-card-bg,var(--ds-surface))!important;color:var(--ds-card-text,var(--ds-text))!important;border-color:var(--ds-card-border,var(--ds-border))!important}
.boswear-page-home .bw-home-slot .product-miniature__title,.boswear-page-home .bw-home-slot .product-miniature__price,.boswear-page-home .bw-home-slot .product-miniature__prices,.boswear-page-home .bw-home-slot .product-miniature__price *{color:var(--ds-card-text,var(--ds-text))!important}
.boswear-page-home .bw-home-slot .product-miniature__top,.boswear-page-home .bw-home-slot .product-miniature__top img{background:var(--ds-image-bg,#fff)!important}
.boswear-page-home .bw-home-slot>#custom-text{background:var(--ds-surface)!important;color:var(--ds-text)!important;border-color:var(--ds-border)!important}
.boswear-page-home .bw-home-slot>#custom-text :is(h1,h2,h3,p,li){color:var(--ds-text)!important}

/* Commerce UX */
.bwc-product-usps,.bwc-reassurance,.bwc-cart-help,.bwc-team-cta{background:var(--ds-surface-alt)!important;color:var(--ds-text)!important;border-color:var(--ds-border)!important}
.bwc-product-usps *,.bwc-reassurance *,.bwc-cart-help *,.bwc-team-cta *{border-color:var(--ds-border)}

/* Delivery */
.flt-product-delivery,.flt-cart-summary-delivery,.flt-cart-delivery,.flt-mini-delivery,.bw-delivery-line{background:var(--ds-surface-alt)!important;color:var(--ds-text)!important;border-color:var(--ds-border)!important}
.flt-product-delivery__icon,.flt-product-delivery .material-icons{color:var(--ds-accent)!important}

/* GPSR */
.flgpsr-card,.flgpsr-section,.flgpsr-mini,.flgpsr-native-row,.flgpsr-safety{background:var(--ds-surface)!important;color:var(--ds-text)!important;border-color:var(--ds-border)!important}
.flgpsr-section{background:var(--ds-surface-alt)!important}
.flgpsr-card__kicker,.flgpsr-section__title,.flgpsr-native-label{color:var(--ds-link)!important}
.flgpsr-card__title,.flgpsr-native-value,.flgpsr-lines,.flgpsr-note{color:var(--ds-text)!important}

/* Reviews */
.bwr-reviews,.bwr-card,.bwr-form{background:var(--ds-surface)!important;color:var(--ds-text)!important;border-color:var(--ds-border)!important}
.bwr-card,.bwr-form{background:var(--ds-surface-alt)!important}.bwr-kicker,.bwr-verified{color:var(--ds-link)!important}
.bwr-form :is(input,select,textarea){background:var(--ds-input-bg)!important;color:var(--ds-text)!important;border-color:var(--ds-border)!important}

/* Consent */
.bwc-consent,.bwc-dialog,.bwc-categories,.bwc-row,.bwc-privacy{background:var(--ds-surface)!important;color:var(--ds-text)!important;border-color:var(--ds-border)!important}
.bwc-row{background:var(--ds-surface-alt)!important}.bwc-primary,.bwc-reopen{background:var(--ds-accent)!important;border-color:var(--ds-accent)!important;color:var(--ds-accent-contrast)!important}
.bwc-btn{border-color:var(--ds-border)!important;color:var(--ds-text)!important}

/* Instagram */
.bwi-feed,.bwi-card{background:var(--ds-surface)!important;color:var(--ds-text)!important;border-color:var(--ds-border)!important}.bwi-kicker{color:var(--ds-link)!important}

/* Address autocomplete */
.bos-aa-dropdown{background:var(--ds-surface)!important;color:var(--ds-text)!important;border-color:var(--ds-border)!important;box-shadow:var(--ds-shadow,0 12px 32px rgba(0,0,0,.14))!important}
.bos-aa-item{color:var(--ds-text)!important;border-color:var(--ds-border)!important}.bos-aa-item:hover,.bos-aa-item.is-active{background:var(--ds-selected-bg,var(--ds-surface-alt))!important}.bos-aa-pin{color:var(--ds-accent)!important}.bos-aa-credit,.bos-aa-status,.bos-aa-label{color:var(--ds-muted)!important}

/* Withdrawal – front.css now consumes these variables instead of BOS blue hard-codes. */
.bosw-page{--bosw-accent:var(--ds-accent);--bosw-accent-2:var(--ds-accent-hover);--bosw-bg:var(--ds-bg);--bosw-panel:var(--ds-surface);--bosw-panel-2:var(--ds-surface-alt);--bosw-line:var(--ds-border);--bosw-text:var(--ds-text);--bosw-muted:var(--ds-muted);--bosw-input:var(--ds-input-bg);--bosw-accent-contrast:var(--ds-accent-contrast)}
.bosw-revocation{background:var(--ds-surface)!important;color:var(--ds-text)!important;border-color:var(--ds-border)!important}.bosw-revocation :is(h1,h2,h3,label){color:var(--ds-text)!important}
.bosw-step,.bosw-privacy-note,.bosw-order-meta,.bosw-product-row,.bosw-confirm-box{background:var(--ds-surface-alt)!important;color:var(--ds-text)!important;border-color:var(--ds-border)!important}
.bosw-input,.bosw-revocation input.form-control{background:var(--ds-input-bg)!important;color:var(--ds-text)!important;border-color:var(--ds-border)!important}
.bosw-primary,.bosw-confirm-button,#footer a.bosw-footer-withdrawal__button,.footer-container a.bosw-footer-withdrawal__button,a.bosw-footer-withdrawal__button{background:var(--ds-accent)!important;border-color:var(--ds-accent)!important;color:var(--ds-accent-contrast)!important;box-shadow:none!important}
.bosw-primary:hover,.bosw-primary:focus,.bosw-confirm-button:hover,.bosw-confirm-button:focus,#footer a.bosw-footer-withdrawal__button:hover,#footer a.bosw-footer-withdrawal__button:focus{background:var(--ds-accent-hover)!important;border-color:var(--ds-accent-hover)!important;color:var(--ds-accent-contrast)!important}

/* Mail / order status */
.bwms-status-card{--bwms-accent:var(--ds-accent)!important;--bwms-bg:var(--ds-bg)!important;--bwms-panel:var(--ds-surface)!important;--bwms-text:var(--ds-text)!important;--bwms-muted:var(--ds-muted)!important}
.bwms-status-card,.bwms-status-card *{border-color:var(--ds-border)}

/* Gallery */
.bosg-pro-gallery{--bosg-accent:var(--ds-accent);--bosg-border:var(--ds-border);--bosg-bg:var(--ds-surface)}
.bosg-stage,.bosg-thumb{background:var(--ds-image-bg,#fff)!important;border-color:var(--ds-border)!important}.bosg-thumb.is-active,.bosg-thumb:hover{border-color:var(--ds-accent)!important}

/* Common accessible contrast */
:is(.bw-home,.bwc-product-usps,.flt-product-delivery,.flgpsr-card,.bwr-reviews,.bwc-consent,.bosw-page,.bwms-status-card) a:focus-visible{outline:3px solid var(--ds-focus)!important;outline-offset:3px!important}
@media(max-width:767.98px){.bosw-page{padding-inline:10px!important}.bwc-dialog{max-height:min(78vh,720px);overflow:auto}}


/* TwinShop v1.2.1 listing/header polish */
:root{--bw-accent:var(--ds-accent)!important;--bw-text:var(--ds-text)!important;--bw-surface:var(--ds-surface)!important}
.flt-mini-delivery,.flt-mini-delivery *, .bw-delivery-line, .bw-delivery-line *{color:var(--ds-text)!important}
.flt-mini-delivery,.bw-delivery-line{display:inline-flex!important;align-items:center;gap:.35rem;padding:.16rem .45rem;border-radius:999px;background:color-mix(in srgb,var(--ds-accent) 10%, transparent)!important;border:1px solid color-mix(in srgb,var(--ds-accent) 25%, transparent)!important}
.flt-mini-delivery .material-icons,.bw-delivery-line .material-icons{color:var(--ds-accent)!important}
#footer a.bosw-footer-withdrawal__button,.footer-container a.bosw-footer-withdrawal__button,a.bosw-footer-withdrawal__button{border-radius:999px!important;padding:.8rem 1rem!important;font-weight:800!important}
