/* ==========================================================================
   Merchants - PRODUCT PAGE (mockup design-refs/2-pdp.png)
   Markup: productdetails/details.tpl + mc_pdp_*.tpl, variation.tpl, basket.tpl, pushed_success.tpl  |  JS: js/mc-pdp.js
   Scoped with #result-wrapper / .mcp-* (the PDP markup is also rendered by AJAX variation switches, so no body[data-page] dependency).
   Control sizes come from the variables below: 1440 -> tablet -> phone.
   ========================================================================== */
#result-wrapper{
  --mcp-gap:clamp(24px,3.6vw,56px);      /* gallery | buy box */
  --mcp-ctl:clamp(46px,3.7vw,54px);      /* stepper + add-to-bag height */
  --mcp-sw:clamp(48px,4.1vw,60px);       /* colour swatch */
  --mcp-sz-h:clamp(42px,3.4vw,50px);     /* size button height */
  --mcp-r:4px;
  --mcp-ok:color-mix(in srgb,var(--mc-lime) 58%,var(--mc-success));
}

/* ---------- frame: gallery | buy box ---------- */
#result-wrapper>.container:first-child:empty{display:none}
#result-wrapper #product-offer.product-detail{display:grid;grid-template-columns:minmax(0,1.17fr) minmax(0,1fr);column-gap:var(--mcp-gap);row-gap:32px;align-items:start;margin:0}
#result-wrapper #product-offer.product-detail>[class*="col"]{flex:none;width:auto;max-width:none;padding:0;min-width:0}
#result-wrapper #product-offer.product-detail>#product-configurator{grid-column:1/-1}
#result-wrapper .product-info-inner{padding:0}
#result-wrapper .product-headline{margin:0}

/* ==========================================================================
   Gallery
   ========================================================================== */
.mcp-gallery{position:relative;min-width:0}
.mcp-stage{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;overflow:hidden;background:var(--mc-bg);border:1px solid var(--mc-line);border-radius:3px}
.mcp-stage-img{display:block;width:100%;height:100%;padding:clamp(16px,5%,56px);object-fit:contain;mix-blend-mode:multiply;cursor:zoom-in;transition:opacity .35s var(--mc-ease),transform 1.1s var(--mc-ease)}
.mcp-stage-img.is-switching{opacity:0}
.mcp-stage-img.is-placeholder{padding:22%;opacity:.4;cursor:default}
.mcp-stage:hover .mcp-stage-img:not(.is-placeholder){transform:scale(1.02)}
.mcp-zoom{position:absolute;right:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--mc-line);border-radius:50%;background:var(--mc-surface);color:var(--mc-ink);cursor:pointer;transition:transform .35s var(--mc-ease),background-color .25s,color .25s,border-color .25s}
.mcp-zoom .mc-icon{width:18px;height:18px}
.mcp-zoom:hover{background:var(--mc-ink);border-color:var(--mc-ink);color:#fff;transform:scale(1.06)}
.mcp-stage .ribbon{position:absolute;top:14px;left:14px;z-index:2;margin:0;padding:4px 9px;border-radius:2px;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.mcp-stage .ribbon::before,.mcp-stage .ribbon::after{display:none}

.mcp-thumbs{--mcp-tgap:clamp(8px,.9vw,12px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:clamp(4px,.6vw,10px);margin-top:clamp(12px,1.4vw,18px)}
.mcp-thumbs-view{min-width:0;overflow:hidden}
.mcp-thumbs-track{position:relative;display:flex;gap:var(--mcp-tgap);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.mcp-thumbs-track::-webkit-scrollbar{display:none}
.mcp-thumb{position:relative;flex:0 0 calc((100% - 3 * var(--mcp-tgap)) / 4);aspect-ratio:106/112;padding:0;overflow:hidden;scroll-snap-align:start;background:var(--mc-bg);border:1.5px solid transparent;border-radius:3px;cursor:pointer;transition:border-color .25s var(--mc-ease)}
.mcp-thumb img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;opacity:.92;transition:opacity .25s,transform .6s var(--mc-ease)}
.mcp-thumb:hover img{opacity:1;transform:scale(1.04)}
.mcp-thumb:hover{border-color:var(--mc-line-strong)}
.mcp-thumb.is-active,.mcp-thumb.is-active:hover{border-color:var(--mc-ink)}
.mcp-thumb.is-active img{opacity:1}
.mcp-thumbs-nav{display:inline-flex;align-items:center;justify-content:center;width:26px;height:44px;padding:0;border:0;background:none;color:var(--mc-ink);cursor:pointer;transition:opacity .2s,transform .3s var(--mc-ease)}
.mcp-thumbs-nav[hidden]{display:none}
.mcp-thumbs-nav .mc-icon{width:22px;height:22px}
.mcp-thumbs-nav:disabled{opacity:.28;cursor:default}
.mcp-thumbs-nav.is-prev:not(:disabled):hover{transform:translateX(-2px)}
.mcp-thumbs-nav.is-next:not(:disabled):hover{transform:translateX(2px)}

/* lightbox (built by mc-pdp.js) */
.mcp-locked{overflow:hidden}
.mcp-lightbox{position:fixed;inset:0;z-index:1080;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,64px);background:color-mix(in srgb,var(--mc-bg) 97%,transparent);cursor:zoom-out;opacity:0;transition:opacity .3s var(--mc-ease)}
.mcp-lightbox.is-open{opacity:1}
.mcp-lightbox img{max-width:min(1400px,100%);max-height:100%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply;transform:scale(.98);transition:transform .45s var(--mc-ease)}
.mcp-lightbox.is-open img{transform:none}
.mcp-lightbox-btn{position:absolute;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid var(--mc-line);border-radius:50%;background:var(--mc-surface);color:var(--mc-ink);cursor:pointer;transition:background-color .25s,color .25s,transform .3s var(--mc-ease)}
.mcp-lightbox-btn svg{width:22px;height:22px}
.mcp-lightbox-btn:hover{background:var(--mc-ink);border-color:var(--mc-ink);color:#fff}
.mcp-lightbox-close{top:clamp(14px,2vw,28px);right:clamp(14px,2vw,28px)}
.mcp-lightbox-prev,.mcp-lightbox-next{top:50%;margin-top:-24px}
.mcp-lightbox-prev{left:clamp(10px,2vw,28px)}
.mcp-lightbox-next{right:clamp(10px,2vw,28px)}
.mcp-lightbox-count{position:absolute;left:50%;bottom:clamp(14px,2vw,28px);transform:translateX(-50%);font-size:.8rem;font-weight:600;letter-spacing:.08em;color:var(--mc-text-2)}

/* ==========================================================================
   Buy box: brand, title, price
   ========================================================================== */
.mcp-brand{margin:0 0 clamp(10px,1.2vw,16px)}
.mcp-brand-link{display:inline-flex;align-items:center;gap:12px;max-width:100%;color:var(--mc-ink);font-family:var(--mc-cond);font-weight:700;font-size:clamp(1.05rem,.9rem + .5vw,1.35rem);letter-spacing:.01em;line-height:1.1}
a.mcp-brand-link:hover{color:var(--mc-ink);opacity:.7}
.mcp-brand-logo{display:block;height:clamp(26px,2.4vw,36px);width:auto;max-width:150px;object-fit:contain}
.mcp-brand-ic{display:inline-flex}
.mcp-brand-ic .mc-icon{width:24px;height:24px}
#result-wrapper h1.mcp-title{margin:0;font-family:var(--mc-display);font-weight:400;font-size:clamp(2.3rem,.6rem + 3.4vw,4.1rem);line-height:.98;letter-spacing:.004em;color:var(--mc-ink);overflow-wrap:anywhere;text-wrap:balance}
#result-wrapper .product-info .rating-wrapper{margin:12px 0 0;font-size:.82rem;color:var(--mc-muted)}
#result-wrapper .product-info .rating-wrapper a{color:var(--mc-text-2)}

.mcp-price{margin-top:clamp(10px,1.2vw,16px)}
.mcp-price .price_wrapper{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px}
.mcp-price .price,.mcp-price .price.h1{margin:0;font-family:var(--mc-font);font-weight:700;font-size:clamp(1.55rem,1.15rem + 1vw,2.05rem);line-height:1.1;letter-spacing:-.015em;text-transform:none;color:var(--mc-ink)}
.mcp-price .price.special-price{color:var(--mc-ink)}
.mcp-price .price_label{display:inline;margin:0;font-size:.82rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--mc-muted)}
.mcp-price .price-note{flex:0 0 100%;margin-top:6px;font-size:.78rem;line-height:1.5;color:var(--mc-muted)}
.mcp-price .price-note>*+*{margin-top:3px}
.mcp-price .vat_info,.mcp-price .vat_info a{color:var(--mc-muted)!important}
.mcp-price .vat_info a{text-decoration:underline;text-underline-offset:2px}
.mcp-price .old-price-dynamic,.mcp-price .suggested-price{color:var(--mc-muted)!important}
.mcp-price .old-price-value{text-decoration:line-through}
.mcp-price .discount,.mcp-price .yousave{color:var(--mc-danger);font-weight:600}
.mcp-price .bulk-prices{margin-top:12px;max-width:380px}
.mcp-price .bulk-prices .table{margin:0;font-size:.8rem;color:var(--mc-text-2);background:var(--mc-surface)}
.mcp-price .bulk-prices .table th{font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--mc-ink);border-top:0}
.mcp-price .bulk-prices .table td,.mcp-price .bulk-prices .table th{padding:.45rem .7rem;border-color:var(--mc-line)}
.mcp-price .bulk-prices .table td{color:var(--mc-text-2)}

/* ==========================================================================
   Variations (NOVA markup, restyled): colour swatches, size buttons, select
   ========================================================================== */
.mcp-variations{margin-top:clamp(18px,2vw,28px);scroll-margin-top:calc(var(--mc-header-h,64px) + 24px)}
.mcp-variations .variations{margin:0}
.mcp-variations .variations>[class*="col"]{padding:0}
.mcp-variations .updatingStockInfo{margin:0}
.mcp-variations dl{display:flex;flex-direction:column;gap:clamp(16px,1.8vw,24px);margin:0}
.mcp-variations .variation-wrapper{margin:0}
.mcp-variations dt{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 10px;font-weight:700}
.mc-var-head{font:700 .76rem/1.25 var(--mc-font);letter-spacing:.09em;text-transform:uppercase;color:var(--mc-ink)}
.mc-var-current{font-weight:700;color:var(--mc-ink)}
.mc-sizeguide{display:inline-flex;align-items:center;gap:8px;font:500 .84rem/1.2 var(--mc-font);letter-spacing:0;text-transform:none;color:var(--mc-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;white-space:nowrap}
.mc-sizeguide .mc-icon{width:18px;height:18px}
.mc-sizeguide:hover{color:var(--mc-ink);text-decoration-thickness:2px}
.mcp-variations dd{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.mcp-variations dd>.form-row,.mcp-variations dd .swatches{display:flex;flex-wrap:wrap;gap:8px;width:100%;margin:0;overflow:visible}
.mcp-variations dd .form-row>[class*="col"]{flex:0 0 auto;width:auto;max-width:none;min-width:0;padding:0}
.mcp-variations .js-slider-wrapper .js-slider-items .js-slider-item{width:auto;min-width:0}
.mcp-variations .js-btn-slider-btns{display:none}
.mcp-variations dd>.bootstrap-select,.mcp-variations dd>select,.mcp-variations dd>.form-control{flex:1 1 100%;width:100%!important}
.mcp-variations .bootstrap-select>.dropdown-toggle{font-family:var(--mc-font);font-size:.92rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--mc-ink)}
.mcp-variations .bootstrap-select>.dropdown-toggle.bs-placeholder{color:var(--mc-muted)}
.mcp-variations .bootstrap-select .dropdown-menu li a{font-size:.9rem}

/* shared swatch base */
.mcp-variations label.swatches{position:relative;display:inline-flex;align-items:center;justify-content:center;margin:0;box-sizing:border-box;cursor:pointer;text-align:center;opacity:1;transition:border-color .2s var(--mc-ease),background-color .2s var(--mc-ease),box-shadow .2s var(--mc-ease),color .2s}
.mcp-variations label.swatches:focus-within{outline:2px solid var(--mc-ink);outline-offset:2px}

/* colour: image swatch + colour chip = square tiles */
.mcp-variations label.swatches-image,.mcp-variations label.mc-sw--chip{width:var(--mcp-sw);height:var(--mcp-sw);padding:0;overflow:hidden;background:var(--mc-bg);border:2px solid var(--mc-line);border-radius:var(--mcp-r);font-weight:400}
.mcp-variations label.mc-sw--chip{padding:3px;background:var(--mc-surface)}
.mcp-variations label.swatches-image:hover,.mcp-variations label.mc-sw--chip:hover{border-color:var(--mc-line-strong)}
.mcp-variations label.swatches-image picture{display:block;width:100%;height:100%}
.mcp-variations label.swatches-image img,.mcp-variations .swatches-image .square-image .inner img{display:block;width:100%;height:100%;padding:0;object-fit:cover;filter:none!important;transform:none!important;transition:opacity .25s}
.mcp-variations .swatches.imgswatches.radio-selected img{filter:none}
.mc-chip-dot{display:block;width:100%;height:100%;border-radius:2px;background:var(--sw,#cfcfca);box-shadow:inset 0 0 0 1px rgba(14,18,19,.16)}
.mcp-variations label.swatches-image.active,.mcp-variations label.mc-sw--chip.active{border-color:var(--mc-lime);box-shadow:inset 0 0 0 1px var(--mc-ink)}
.mcp-variations label.swatches-image.active+*,.mcp-variations label.swatches-image.active img{opacity:1}
/* sold out / combination missing: struck through */
.mcp-variations label.swatches-image.not-available,.mcp-variations label.mc-sw--chip.swatches-sold-out,.mcp-variations label.mc-sw--chip.swatches-not-in-stock{border-style:solid;border-color:var(--mc-line);opacity:1}
.mcp-variations label.swatches-image.not-available img,.mcp-variations label.mc-sw--chip.swatches-sold-out .mc-chip-dot,.mcp-variations label.mc-sw--chip.swatches-not-in-stock .mc-chip-dot{opacity:.38}
.mcp-variations label.swatches-image.not-available::after,.mcp-variations label.mc-sw--chip.swatches-sold-out::after,.mcp-variations label.mc-sw--chip.swatches-not-in-stock::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top right,transparent calc(50% - .75px),var(--mc-ink) calc(50% - .75px),var(--mc-ink) calc(50% + .75px),transparent calc(50% + .75px))}

/* size: text swatches + radio values = buttons */
.mcp-variations label.swatches-text:not(.mc-sw--chip),.mcp-variations .custom-radio .custom-control-label.variation{min-width:clamp(52px,4.6vw,66px);height:var(--mcp-sz-h);padding:0 14px;background-color:var(--mc-surface);border:1px solid var(--mc-line-strong);border-radius:var(--mcp-r);font-size:.92rem;font-weight:500;line-height:1;letter-spacing:0;text-transform:none;color:var(--mc-text-2)}
.mcp-variations label.swatches-text .label-variation{display:inline;max-width:none;overflow:visible;margin:0;line-height:1;white-space:nowrap}
.mcp-variations label.swatches-text:not(.mc-sw--chip):hover,.mcp-variations .custom-radio .custom-control-label.variation:hover{border-color:var(--mc-ink);color:var(--mc-ink)}
.mcp-variations label.swatches-text:not(.mc-sw--chip).active{background-color:var(--mc-lime-a30);border-color:var(--mc-lime);box-shadow:inset 0 0 0 1px var(--mc-lime);color:var(--mc-ink);font-weight:700}
.mcp-variations label.swatches-text:not(.mc-sw--chip).swatches-sold-out,.mcp-variations label.swatches-text:not(.mc-sw--chip).swatches-not-in-stock,.mcp-variations .custom-radio .custom-control-label.variation[data-stock="out-of-stock"]{border-style:solid;border-color:var(--mc-line);color:var(--mc-subtle);opacity:1;background-color:var(--mc-surface-2);background-image:linear-gradient(to top right,transparent calc(50% - .5px),var(--mc-line-strong) calc(50% - .5px),var(--mc-line-strong) calc(50% + .5px),transparent calc(50% + .5px)),linear-gradient(to bottom right,transparent calc(50% - .5px),var(--mc-line-strong) calc(50% - .5px),var(--mc-line-strong) calc(50% + .5px),transparent calc(50% + .5px))}
.mcp-variations label.swatches-text:not(.mc-sw--chip).swatches-sold-out.active,.mcp-variations label.swatches-text:not(.mc-sw--chip).swatches-not-in-stock.active{border-color:var(--mc-ink);box-shadow:inset 0 0 0 1px var(--mc-ink);color:var(--mc-text-2)}
.mcp-variations .variation-badge{margin:0 0 0 8px;font-size:.72rem;font-weight:600;color:var(--mc-muted);white-space:nowrap}
.mcp-variations label.swatches .variation-badge{margin-left:8px}

/* radio values: hide the native look, the label is the button */
.mcp-variations .custom-radio{display:block;min-height:0;margin:0;padding:0}
.mcp-variations .custom-radio .custom-control-input{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;opacity:0;z-index:2;cursor:pointer}
.mcp-variations .custom-radio .custom-control-label{position:relative;display:inline-flex!important;align-items:center;justify-content:center;gap:6px;margin:0;padding-left:14px;cursor:pointer;transition:border-color .2s,background-color .2s,box-shadow .2s}
.mcp-variations .custom-radio .custom-control-label::before,.mcp-variations .custom-radio .custom-control-label::after{display:none!important}
.mcp-variations .custom-radio:hover,.mcp-variations .custom-radio:focus{background:none}
.mcp-variations .custom-radio .custom-control-input:checked+.custom-control-label,.mcp-variations .custom-radio .custom-control-label.variation.active{background-color:var(--mc-lime-a30);border-color:var(--mc-lime);box-shadow:inset 0 0 0 1px var(--mc-lime);color:var(--mc-ink);font-weight:700}
.mcp-variations .custom-radio .custom-control-input:focus-visible+.custom-control-label{outline:2px solid var(--mc-ink);outline-offset:2px}
.mcp-variations .badge-not-available{margin:0;padding:2px 6px;border-radius:2px;background:var(--mc-danger-bg);color:var(--mc-danger);font-size:.64rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}

/* ==========================================================================
   Stock
   ========================================================================== */
.mcp-stock{margin-top:clamp(14px,1.6vw,20px);padding:0;border:0;font-size:.86rem;color:var(--mc-muted)}
/* the critical CSS styles '#product-offer .product-info .stock-information' (lines + padding) and spaces .product-offer / .price_wrapper */
#result-wrapper #product-offer .product-info .stock-information.mcp-stock{margin-top:clamp(14px,1.6vw,20px);padding:0;border:0}
#result-wrapper #product-offer .product-info .product-offer{margin-bottom:0}
#result-wrapper #product-offer .product-info .product-offer>.row{margin-bottom:0}
#result-wrapper #product-offer .price_wrapper{margin-bottom:0}
.mcp-stock .delivery-status{margin:0}
.mcp-stock .delivery-status ul{display:flex;flex-direction:column;gap:3px;margin:0;padding:0;list-style:none}
.mcp-stock .delivery-status li{margin:0;padding:0}
.mcp-stock .delivery-status .status{display:inline-flex;align-items:center;gap:9px;color:var(--mc-text-2);font-size:.86rem;font-weight:400}
.mcp-stock .delivery-status .status::before{content:"";flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--mc-subtle)}
.mcp-stock .delivery-status .status-2::before{background:var(--mcp-ok)}
.mcp-stock .delivery-status .status-1::before{background:var(--mc-warning)}
.mcp-stock .delivery-status .status-0::before{background:var(--mc-danger)}
.mcp-stock .delivery-status .status .status-icon{display:none}
.mcp-stock .estimated-delivery{display:block;font-size:.78rem;color:var(--mc-muted)}
.mcp-stock .estimated-delivery span{color:var(--mc-text-2)}
.mcp-stock .estimated-delivery-info{color:var(--mc-muted);text-decoration:underline;text-underline-offset:2px;font-size:.74rem}
.mcp-stock .product-stock-info{margin-top:6px}
.mcp-stock .product-stock-info .btn-link{padding:0;font-size:.8rem}

/* ==========================================================================
   Quantity + add to bag
   ========================================================================== */
#result-wrapper #add-to-cart.product-buy{margin-top:clamp(18px,2vw,26px)}
#result-wrapper #add-to-cart .basket-form-inline{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:12px;margin:0;text-align:left}
#result-wrapper #add-to-cart .basket-form-inline>[class*="col"]{flex:0 0 auto;width:auto;max-width:none;margin:0;padding:0}
#result-wrapper #add-to-cart .basket-form-inline>.mcp-cta-col{flex:1 1 0;min-width:0}
#result-wrapper #add-to-cart .basket-form-inline>.col-12:only-child{flex:1 1 100%}
.mcp-label{display:block;margin:0 0 8px;font:700 .76rem/1.25 var(--mc-font);letter-spacing:.09em;text-transform:uppercase;color:var(--mc-ink)}
#add-to-cart .form-counter.mcp-qty{display:flex;flex-wrap:nowrap;width:auto;height:var(--mcp-ctl);max-height:none;border:1px solid var(--mc-line-strong);border-radius:var(--mcp-r);background:var(--mc-surface);overflow:hidden}
#add-to-cart .mcp-qty .input-group-prepend,#add-to-cart .mcp-qty .input-group-append{display:flex;margin:0}
#add-to-cart .mcp-qty .btn{width:clamp(38px,3.1vw,46px)!important;height:100%!important;min-height:0!important;padding:0;color:var(--mc-ink)!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;display:inline-flex;align-items:center;justify-content:center}
#add-to-cart .mcp-qty .btn:hover{background:var(--mc-surface-3)!important}
/* NOVA moves every svg inside '#add-to-cart .btn' out of the button (check-mark animation) - our line icons stay in flow */
#add-to-cart .btn svg.mc-icon{position:static;left:auto;top:auto;transform:none}
#add-to-cart .mcp-qty .btn .mc-icon{width:18px;height:18px}
#add-to-cart .mcp-qty .input-group-prepend .btn{border-right:1px solid var(--mc-line)!important}
#add-to-cart .mcp-qty .input-group-append .btn{border-left:1px solid var(--mc-line)!important}
#add-to-cart .mcp-qty input.quantity{flex:0 0 auto;width:clamp(44px,3.8vw,58px)!important;height:100%!important;padding:0!important;border:0!important;background:transparent!important;text-align:center;font-size:.98rem!important;font-weight:600;color:var(--mc-ink);-moz-appearance:textfield;appearance:textfield}
#add-to-cart .mcp-qty input.quantity::-webkit-outer-spin-button,#add-to-cart .mcp-qty input.quantity::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
#add-to-cart .mcp-qty .unit{display:flex;align-items:center;height:100%!important;min-height:0!important;padding:0 6px 0 0!important;border:0!important;background:transparent!important;font-size:.8rem;color:var(--mc-muted)!important}
#add-to-cart .mcp-qty:focus-within{border-color:var(--mc-ink);box-shadow:0 0 0 3px var(--mc-lime-a30)}

#add-to-cart .btn.mcp-cta{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;width:100%;min-height:var(--mcp-ctl);height:var(--mcp-ctl);padding:0 18px;border-radius:var(--mcp-r);font-size:clamp(1.12rem,1rem + .35vw,1.35rem);letter-spacing:.09em}
#add-to-cart .mcp-cta .btn-basket-check{display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:transform .45s var(--mc-ease),color .3s}
#add-to-cart .mcp-cta .btn-basket-check span{display:inline-block;margin:0}
#add-to-cart .mcp-cta .btn-basket-check .mc-icon{width:22px;height:22px}
#add-to-cart .mcp-cta>svg{position:absolute;left:50%;top:50%;width:32px;height:32px;transform:translate(-50%,150%);transition:transform .45s var(--mc-ease)}
#add-to-cart .mcp-cta.is-added>svg{transform:translate(-50%,-50%)}
#add-to-cart .mcp-cta.is-added>svg path{stroke-dashoffset:0;transition:stroke-dashoffset .5s .2s var(--mc-ease)}
#add-to-cart .mcp-cta.is-added .btn-basket-check{transform:translateY(-160%);color:inherit}
#add-to-cart .mcp-cta:disabled{opacity:.45}
#add-to-cart .purchase-info{margin:14px 0 0;font-size:.82rem}
#add-to-cart .purchase-info p{margin:0}
#add-to-cart .choose-variations{margin:0}
#result-wrapper .start-configuration{min-height:var(--mcp-ctl)}

/* ---------- secondary actions ---------- */
.mcp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px 22px;margin-top:clamp(12px,1.4vw,18px)}
.mcp-actions-list{display:contents}
.mcp-action{display:inline-flex;align-items:center;gap:8px;padding:6px 0;border:0;background:none;font:500 .86rem/1 var(--mc-font);letter-spacing:0;text-transform:none;color:var(--mc-text-2);cursor:pointer;transition:color .2s}
.mcp-action:hover{color:var(--mc-ink)}
.mcp-action .mc-icon{width:18px;height:18px;transition:transform .3s var(--mc-ease)}
.mcp-action:hover .mc-icon{transform:scale(1.1)}
.mcp-action.on-list{color:var(--mc-ink);font-weight:600}
.mcp-action.wishlist.on-list .mc-icon{fill:currentColor}

/* ---------- USP tiles ---------- */
.mcp-usp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px clamp(10px,1.4vw,22px);margin:clamp(22px,2.4vw,32px) 0 0;padding:0;list-style:none}
.mcp-usp-item{display:flex;align-items:center;gap:12px;min-width:0}
.mcp-usp-ic{flex:0 0 auto;display:inline-flex;color:var(--mc-ink)}
.mcp-usp-ic .mc-icon{width:clamp(28px,2.5vw,36px);height:clamp(28px,2.5vw,36px)}
.mcp-usp-copy{display:flex;flex-direction:column;gap:1px;min-width:0}
.mcp-usp-copy strong{font:700 .84rem/1.25 var(--mc-font);color:var(--mc-ink);overflow-wrap:anywhere}
.mcp-usp-copy span{font-size:.76rem;line-height:1.3;color:var(--mc-muted);overflow-wrap:anywhere}

/* ==========================================================================
   Accordion (merchants.js data-mc-accordion)
   ========================================================================== */
.mcp-acc{margin-top:clamp(22px,2.4vw,32px);border-top:1px solid var(--mc-line)}
.mcp-acc-item{border-bottom:1px solid var(--mc-line)}
#result-wrapper .mcp-acc-h{margin:0;font:inherit;letter-spacing:0;text-transform:none}
.mcp-acc-btn{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:clamp(50px,4.2vw,60px);padding:0;border:0;background:none;text-align:left;cursor:pointer;color:var(--mc-ink);font-family:var(--mc-cond);font-weight:700;font-size:clamp(1.05rem,.95rem + .35vw,1.25rem);letter-spacing:.01em;line-height:1.1}
.mcp-acc-btn:hover .mcp-acc-ic{transform:scale(1.12)}
.mcp-acc-ic{position:relative;flex:0 0 auto;width:14px;height:14px;color:var(--mc-text-2);transition:transform .3s var(--mc-ease)}
.mcp-acc-ic::before,.mcp-acc-ic::after{content:"";position:absolute;left:0;top:50%;width:100%;height:1.5px;margin-top:-.75px;background:currentColor;transition:transform .35s var(--mc-ease)}
.mcp-acc-ic::after{transform:rotate(90deg)}
.mcp-acc-item.is-open .mcp-acc-ic::after{transform:rotate(0)}
.mcp-acc-body{padding:2px 0 clamp(18px,2vw,26px);overflow-x:auto;font-size:.92rem;line-height:1.65;color:var(--mc-text-2)}
.mcp-prose>*:first-child{margin-top:0}
.mcp-prose>*:last-child{margin-bottom:0}
.mcp-prose img,.mcp-prose video,.mcp-prose iframe{max-width:100%;height:auto}
.mcp-prose h2,.mcp-prose h3,.mcp-prose h4{margin:1.1em 0 .4em;padding:0;border:0;font-size:1.02rem}
.mcp-prose ul,.mcp-prose ol{padding-left:1.2em}
.mcp-prose table{max-width:100%}
.mcp-lead{margin-bottom:12px;color:var(--mc-ink);font-weight:500}
.mcp-spec{width:100%;border-collapse:collapse;font-size:.88rem}
.mcp-spec th,.mcp-spec td{padding:9px 0;border-bottom:1px solid var(--mc-line);text-align:left;vertical-align:top}
.mcp-spec th{width:42%;padding-right:16px;font-weight:600;color:var(--mc-ink)}
.mcp-spec tr:last-child th,.mcp-spec tr:last-child td{border-bottom:0}
.mcp-spec a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.mcp-deliv{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}
.mcp-deliv li{display:flex;align-items:flex-start;gap:12px}
.mcp-deliv .mc-icon{flex:0 0 auto;width:22px;height:22px;margin-top:1px;color:var(--mc-ink)}
.mcp-deliv strong{color:var(--mc-ink)}
.mcp-deliv-more{margin:14px 0 0}
.mcp-acc .productdetails-download{column-count:1}
.mcp-acc .card{margin-bottom:12px}
.mcp-meta{display:flex;flex-wrap:wrap;gap:2px 18px;margin:clamp(14px,1.6vw,22px) 0 0;padding:0;font-size:.74rem;line-height:1.5;color:var(--mc-muted)}
.mcp-meta a{color:var(--mc-muted);text-decoration:underline;text-underline-offset:2px}
.mcp-meta table.adr-table{display:inline-table}

/* ==========================================================================
   Below the fold: NOVA tabs (reviews ...), editorial band, recommendations
   ========================================================================== */
#result-wrapper .tab-navigation,#result-wrapper #tabAccordion{margin-top:clamp(36px,4.6vw,64px)}

.mcp-band{display:grid;grid-template-columns:1.66fr 1fr 1fr;grid-template-rows:minmax(0,1fr);gap:6px;height:clamp(300px,34.3vw,760px);margin:clamp(36px,5vw,72px) 0 0;padding:0}
.mcp-band-tile{position:relative;min-height:0;margin:0;overflow:hidden;background:var(--mc-black-2)}
.mcp-band-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mcp-band-tile.is-1::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,18,19,.66) 0,rgba(14,18,19,.28) 52%,rgba(14,18,19,0) 78%),linear-gradient(0deg,rgba(14,18,19,.5) 0,rgba(14,18,19,0) 38%)}
.mcp-band-tile.is-3::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,18,19,.62) 0,rgba(14,18,19,0) 46%)}
.mcp-band-cap{position:absolute;z-index:2;left:clamp(18px,3.8vw,56px);top:clamp(20px,3vw,44px);right:clamp(14px,2vw,32px);display:flex;flex-direction:column;align-items:flex-start;color:#fff}
.mcp-band-cap.is-small{top:auto;bottom:clamp(18px,2.6vw,38px);left:clamp(16px,2.4vw,34px)}
.mcp-band-brand{font:700 clamp(.64rem,.5rem + .3vw,.8rem)/1.2 var(--mc-font);letter-spacing:.18em;text-transform:uppercase}
.mcp-band-claim{display:flex;flex-direction:column;margin-top:clamp(8px,1.2vw,16px);font-family:var(--mc-display);font-size:clamp(2.4rem,.6rem + 4.6vw,5.2rem);line-height:.94;letter-spacing:.004em;}
.mcp-band-slash{display:block;margin-top:clamp(8px,1vw,14px);font-family:var(--mc-display);font-size:clamp(1.3rem,1rem + 1vw,2rem);line-height:1;color:var(--mc-lime);transform:skewX(-14deg);transform-origin:left bottom;display:none}
.mcp-band-cap.is-small .mcp-band-slash{margin:0 0 8px}
.mcp-band-sub{display:block;max-width:15ch;margin-top:clamp(8px,1vw,14px);font-size:clamp(.78rem,.7rem + .25vw,.98rem);line-height:1.35;font-weight:500;color:rgba(255,255,255,.92)}
.mcp-band-detail{display:block;max-width:12ch;font:700 clamp(.64rem,.5rem + .3vw,.82rem)/1.5 var(--mc-font);letter-spacing:.16em;text-transform:uppercase}

.mcp-reco{padding:clamp(36px,5vw,64px) 0 0}
.mcp-reco-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:clamp(14px,1.8vw,24px)}
.mcp-reco-all{flex:0 0 auto;font-size:.88rem;font-weight:500;line-height:1.2}
.merchants .mcp-reco .mc-card--reco .mc-card-media{aspect-ratio:1/1.04}
#result-wrapper .recommendations{margin-top:0}

/* ==========================================================================
   Sticky add-to-bag bar (phones + tablets)
   ========================================================================== */
.mcp-buybar{display:none}
@media (max-width:991.98px){
  .mcp-buybar{--mcp-bar-h:68px;display:block;position:fixed;left:0;right:0;bottom:0;z-index:1030;padding:10px var(--mc-gutter) calc(10px + env(safe-area-inset-bottom,0px));background:var(--mc-surface);border-top:1px solid var(--mc-line);box-shadow:0 -10px 28px rgba(14,18,19,.08);transform:translateY(110%);visibility:hidden;transition:transform .4s var(--mc-ease),visibility 0s .4s}
  .mcp-buybar.is-visible{transform:none;visibility:visible;transition-delay:0s}
  .mcp-buybar-inner{display:flex;align-items:center;gap:14px;max-width:var(--mc-max);margin:0 auto}
  .mcp-buybar-info{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}
  .mcp-buybar-title{overflow:hidden;font-size:.82rem;font-weight:600;line-height:1.3;text-overflow:ellipsis;white-space:nowrap;color:var(--mc-ink)}
  .mcp-buybar-price{font-size:1.02rem;font-weight:700;line-height:1.25;color:var(--mc-ink)}
  .mcp-buybar-add.btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 22px;white-space:nowrap}
  .mcp-buybar-add .mc-icon{width:20px;height:20px}
  body:has(.mcp-buybar.is-visible) .mc-totop{bottom:calc(var(--mcp-bar-h,68px) + 14px)}
  body:has(.mcp-buybar.is-visible) #consent-settings-btn{bottom:calc(var(--mcp-bar-h,68px) + 14px)!important}
  body:has(.mcp-buybar) footer#footer,body:has(.mcp-buybar) .mc-footer{padding-bottom:var(--mcp-bar-h,68px)}
}

/* ==========================================================================
   "Added to bag" panel (productdetails/pushed_success.tpl) - page + NOVA notify modal
   ========================================================================== */
#pushed-success.mc-added{position:relative;width:392px;max-width:calc(100vw - 32px);margin:0;padding:18px;background:var(--mc-surface);color:var(--mc-text);border:1px solid var(--mc-line);border-radius:6px;box-shadow:var(--mc-shadow-lift)}
.mc-added-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.mc-added-check{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--mc-lime);color:var(--mc-on-accent);animation:mc-added-pop .45s var(--mc-ease) both .1s}
.mc-added-check .mc-icon{width:14px;height:14px}
.mc-added-title{font-size:.92rem;font-weight:600;line-height:1.3;color:var(--mc-ink)}
.mc-added-close{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--mc-text-2);cursor:pointer;transition:background-color .25s,color .25s}
.mc-added-close:hover{background:var(--mc-surface-3);color:var(--mc-ink)}
.mc-added-close .mc-icon{width:18px;height:18px}
.mc-added-item{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:14px}
.mc-added-img{display:flex;align-items:center;justify-content:center;width:72px;height:72px;overflow:hidden;border-radius:3px;background:var(--mc-plate);color:var(--mc-surface-4)}
.mc-added-img img{width:100%;height:100%;padding:6px;object-fit:contain;mix-blend-mode:multiply}
.mc-added-img .mc-icon{width:28px;height:28px}
.mc-added-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.mc-added-brand{font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mc-muted)}
.mc-added-name{display:-webkit-box;overflow:hidden;font-size:.9rem;font-weight:600;line-height:1.35;color:var(--mc-ink);-webkit-line-clamp:2;-webkit-box-orient:vertical}
.mc-added-meta{font-size:.84rem;color:var(--mc-muted);font-variant-numeric:tabular-nums}
.mc-added-sum{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--mc-line);font-size:.86rem;color:var(--mc-text-2)}
.mc-added-sum strong{font-size:1.02rem;font-weight:700;color:var(--mc-ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.mc-added-free{display:flex;align-items:flex-start;gap:8px;margin:12px 0 0;padding:9px 11px;border-radius:3px;background:var(--mc-lime-a12);font-size:.78rem;line-height:1.45;color:var(--mc-ink)}
.mc-added-free .mc-icon{flex:0 0 auto;width:16px;height:16px;margin-top:1px}
.mc-added-actions{display:grid;grid-template-columns:1fr 1.15fr;align-items:stretch;gap:10px;margin-top:16px}
/* body.merchants .btn{padding:0 30px;min-height:50px} (0,2,1) would win over a plain .mc-added-actions .btn - match it and pin ONE height for both buttons */
body.merchants .mc-added-actions .btn{display:flex;align-items:center;justify-content:center;box-sizing:border-box;height:52px;min-height:52px;padding:0 12px;margin:0;font-size:1.05rem;line-height:1.1;text-align:center;white-space:nowrap}
#pushed-success.mc-added.is-page{position:fixed;z-index:1045;top:calc(var(--mc-header-h,64px) + 16px);right:var(--mc-gutter);animation:mc-added-in .55s var(--mc-ease) both .15s}
#pushed-success.mc-added.is-closing{animation:mc-added-out .35s var(--mc-ease) forwards}
@keyframes mc-added-in{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes mc-added-out{to{opacity:0;transform:translateY(-8px) scale(.98)}}
@keyframes mc-added-pop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}
/* NOVA notify modal that carries this panel -> toast instead of the XL modal */
.modal:has(.mc-added){padding-right:0!important}
.modal:has(.mc-added) .modal-dialog{position:fixed;margin:0;left:auto;top:calc(var(--mc-header-h,64px) + 16px);right:var(--mc-gutter);width:392px;max-width:calc(100vw - 32px)}
.modal.fade:has(.mc-added) .modal-dialog{opacity:0;transform:translateY(-10px) scale(.98);transition:opacity .3s var(--mc-ease),transform .45s var(--mc-ease)}
.modal.show:has(.mc-added) .modal-dialog{opacity:1;transform:none}
.modal:has(.mc-added) .modal-content{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:6px!important}
.modal:has(.mc-added) .modal-header{display:none}
.modal:has(.mc-added) .modal-body{padding:0!important;max-height:none!important;overflow:visible!important}
.modal:has(.mc-added) #pushed-success.mc-added{width:100%;max-width:none}
body:has(.modal.show .mc-added) .modal-backdrop.show{opacity:.16}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1199.98px){
  .mcp-usp-item{gap:10px}
  .mcp-band-claim{font-size:clamp(2.2rem,.6rem + 4.4vw,4.2rem)}
}
@media (max-width:991.98px){
  #result-wrapper #product-offer.product-detail{grid-template-columns:minmax(0,1fr);row-gap:26px}
  .mcp-stage{aspect-ratio:5/4}
  #result-wrapper h1.mcp-title{font-size:clamp(2.2rem,1.4rem + 3vw,3.2rem)}
  .mcp-reco-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767.98px){
  .mcp-band{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:auto;height:auto}
  .mcp-band-tile.is-1{grid-column:1/-1;aspect-ratio:1/1}
  .mcp-band-tile.is-2,.mcp-band-tile.is-3{aspect-ratio:1/1.12}
  .mcp-band-claim{font-size:clamp(2.6rem,12vw,4rem)}
  .mcp-band-sub{max-width:20ch}
  .mcp-band-cap{left:clamp(16px,5vw,32px)}
  .mcp-band-cap.is-small{left:14px}
  .mcp-band-detail{font-size:.62rem}
}
@media (max-width:575.98px){
  #result-wrapper{--mcp-gap:20px}
  .mcp-stage{aspect-ratio:1/1}
  .mcp-usp{gap:14px 10px}
  .mcp-usp-item{flex-direction:column;align-items:flex-start;gap:8px}
  .mcp-usp-copy strong{font-size:.8rem}
  .mcp-usp-copy span{font-size:.72rem}
  #add-to-cart .btn.mcp-cta{padding:0 12px;letter-spacing:.07em}
  #add-to-cart .mcp-cta .btn-basket-check{gap:8px}
  #add-to-cart .mcp-cta .btn-basket-check span{display:inline-block}
  .mcp-actions{gap:2px 18px}
  .mcp-thumbs-nav{width:22px}
  #pushed-success.mc-added.is-page{top:auto;bottom:12px;left:12px;right:12px;width:auto;max-width:none}
  .modal:has(.mc-added) .modal-dialog{top:auto;bottom:12px;left:12px;right:12px;width:auto;max-width:none}
  .modal.fade:has(.mc-added) .modal-dialog{transform:translateY(16px)}
  @keyframes mc-added-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){
  .mcp-stage-img,.mcp-thumb img,.mcp-lightbox,.mcp-lightbox img,.mcp-buybar,.mc-added-check,#pushed-success.mc-added.is-page,.mcp-acc-ic,.mcp-acc-ic::before,.mcp-acc-ic::after{transition:none;animation:none}
  .mcp-stage:hover .mcp-stage-img:not(.is-placeholder){transform:none}
  #add-to-cart .mcp-cta>svg,#add-to-cart .mcp-cta .btn-basket-check{transition:none}
}
