/* Merchant storefront: white canvas, campaign photography, quiet product grid. */
.sf-checkout{max-width:1120px;padding-top:24px}
.sf-checkout__header{max-width:650px;margin:28px 0 40px}
.sf-checkout__header h1{font-family:var(--store-heading);font-weight:var(--store-heading-weight,600);font-size:clamp(29px,3.6vw,44px);line-height:1.15;letter-spacing:-.025em;color:var(--store-text);margin:0 0 14px}
.sf-checkout__header>p:last-child{font-size:15px;line-height:1.7;color:color-mix(in srgb,var(--store-text) 80%,transparent)}
.sf-checkout__layout{grid-template-columns:minmax(0,1.25fr) minmax(300px,.85fr);gap:56px}
.sf-checkout-form{gap:16px}
.sf-checkout__layout>*,.sf-checkout .sf-form-grid,.sf-checkout-card{min-width:0;max-width:100%}
.sf-checkout .sf-field input,.sf-checkout .sf-field textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box;scroll-margin-block:100px}
.sf-checkout .sf-field>span{overflow-wrap:anywhere}
.sf-checkout-card{padding:24px;border:1px solid var(--sf-line);border-radius:10px;background:var(--store-card-bg,#fff);box-shadow:none}
.sf-checkout-card__title{gap:12px;margin-bottom:22px}
.sf-checkout-card__title>span{background:color-mix(in srgb,var(--store-primary) 14%,var(--store-card-bg,#fff));color:var(--store-primary-text);font-size:13px;font-weight:650;border-radius:6px}
.sf-checkout-card__title h2,.sf-checkout-summary h2{font-size:18px;font-weight:600;color:var(--store-text)}
.sf-checkout-card__title p{color:var(--sf-muted);font-size:13px;line-height:1.6}
.sf-field{font-size:14px;font-weight:500;gap:8px;min-width:0}
.sf-field input,.sf-field textarea{font-size:16px;font-weight:400;border-color:#d7dcda;border-radius:8px;min-height:50px;background:#fff;color:#1b2124;transition:border-color .16s ease}
.sf-checkout .sf-field input:focus,.sf-checkout .sf-field textarea:focus{outline:none;border-color:var(--store-primary);box-shadow:none}
.sf-checkout.is-keyboard-navigation .sf-field:focus-within{outline:1px solid var(--store-primary);outline-offset:3px;border-radius:8px}
.sf-checkout .sf-field [aria-invalid="true"]{border-color:#b42318}
.sf-checkout .sf-field-error{display:block;color:#8a1c13;font-size:12px;font-weight:500;line-height:1.45;margin-top:-2px}
.sf-checkout .sf-field-error[hidden]{display:none}
.sf-checkout .sf-alert{scroll-margin-top:100px}
.sf-field small{color:var(--sf-muted);font-size:12px}
.sf-payment-choice{background:color-mix(in srgb,var(--store-primary) 6%,var(--store-card-bg,#fff));border-color:color-mix(in srgb,var(--store-primary) 30%,var(--sf-line));border-radius:8px;padding:18px}
.sf-payment-choice>span{flex-shrink:0}
.sf-payment-choice strong{font-size:14px;font-weight:600}.sf-payment-choice small{color:color-mix(in srgb,var(--store-text) 80%,transparent);line-height:1.6;margin-top:4px}
.sf-checkout-submit{font-size:14px;min-height:44px}
.sf-checkout-recap{display:none}.sf-checkout-submit-note{margin:6px 0 0;color:color-mix(in srgb,var(--store-text) 80%,transparent);font-size:13px;line-height:1.35;text-align:center}.sf-whatsapp-help{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:6px;color:var(--store-primary-text);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px}.sf-whatsapp-help svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.sf-checkout-consent,.sf-checkout-note{color:color-mix(in srgb,var(--store-text) 80%,transparent);font-size:12px;line-height:1.7;margin:-14px 0 0}
.sf-checkout-summary{top:110px;background:color-mix(in srgb,var(--store-primary) 5%,var(--store-card-bg,#fff));border:1px solid color-mix(in srgb,var(--store-primary) 18%,var(--sf-line));border-radius:10px;padding:26px;box-shadow:none}
.sf-checkout-summary__heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.sf-checkout-summary__heading a{font-size:13px;text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center;color:color-mix(in srgb,var(--store-text) 80%,transparent)}
.sf-checkout-summary__lines{gap:18px;margin-top:18px}
.sf-checkout-summary__lines>.sf-checkout-item{align-items:center;gap:12px}
.sf-checkout-item img{width:64px;height:64px;object-fit:cover;border-radius:9px;flex-shrink:0;background:#fff}
.sf-checkout-item span{flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.5;color:color-mix(in srgb,var(--store-text) 80%,transparent);font-size:13px}
.sf-checkout-item strong{font-size:13px;white-space:nowrap;font-weight:600}
.sf-checkout-summary__row{font-size:14px;line-height:1.6;flex-wrap:wrap;gap:8px}
.sf-checkout-summary__row>span:first-child{color:color-mix(in srgb,var(--store-text) 80%,transparent)}
.sf-checkout-summary__row>span:last-child{font-size:12px;color:color-mix(in srgb,var(--store-text) 80%,transparent)}
.sf-checkout-summary hr{border:0;border-top:1px solid var(--sf-line);margin:20px 0}
.sf-checkout-summary__total{font-size:18px}.sf-checkout-summary__total>span:first-child{color:var(--store-text)}
.sf-checkout-summary__notice{font-size:12px;line-height:1.7;color:color-mix(in srgb,var(--store-text) 80%,transparent);margin:16px 0 0}
[data-checkout-load-error] a{display:inline-flex;padding:12px;text-decoration:underline}
@media(max-width:780px){
 body:has([data-checkout-content]:not([hidden])){padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}
 .sf-checkout-submit-bar{position:fixed;inset:auto 0 0;z-index:40;padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px));background:var(--store-bg,#fff);border-top:1px solid var(--sf-line);box-shadow:0 -4px 20px #00000008}
 .sf-checkout-submit-bar .sf-checkout-submit{min-height:44px;white-space:normal}
 .sf-checkout .sf-field input,.sf-checkout .sf-field textarea{scroll-margin-bottom:140px}
 .sf-checkout-recap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-bottom:-12px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--store-primary) 18%,var(--sf-line));border-radius:10px;background:color-mix(in srgb,var(--store-primary) 5%,var(--store-bg,#fff));color:var(--store-text);font-size:14px;line-height:1.35;text-decoration:none}
 .sf-checkout-recap small{font-size:12px;white-space:nowrap}
 .sf-checkout-recap__link{flex:none;color:var(--store-primary-text);font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
 .sf-checkout-summary{scroll-margin-top:90px}
 .sf-checkout__layout{grid-template-columns:1fr;gap:32px}
 .sf-checkout__header{margin:22px 0 24px}.sf-checkout__header h1{font-size:clamp(27px,7.8vw,31px);margin-bottom:10px}.sf-checkout-summary{position:static;padding:20px;order:0}
 .sf-checkout-summary__lines{gap:14px}.sf-checkout-card{padding:20px}
 .sf-checkout .sf-form-grid{grid-template-columns:minmax(0,1fr);gap:18px}
 .sf-checkout .sf-field{width:100%;grid-column:1/-1}
 .sf-checkout .sf-field input,.sf-checkout .sf-field textarea{min-height:44px;padding:9px 11px;font-size:16px;line-height:1.4}
 .sf-checkout .sf-field textarea{min-height:76px;resize:vertical}
}
@media(max-width:360px){
 .sf-checkout-summary{padding:16px}.sf-checkout-item img{width:44px;height:44px}
 .sf-checkout-summary__lines>.sf-checkout-item{gap:8px;flex-wrap:wrap}.sf-checkout-item strong{margin-left:auto}
}
.sf-cart-page{max-width:1120px;min-height:65vh;padding:24px 0 80px}
.sf-cart-title{align-items:flex-end;margin:28px 0 38px}
.sf-cart-title h1{font-family:var(--store-heading);font-size:clamp(30px,3.8vw,46px);font-weight:var(--store-heading-weight,600);line-height:1.1;letter-spacing:-.03em;color:var(--store-text)}
.sf-cart-title p{max-width:580px;color:color-mix(in srgb,var(--store-text) 80%,transparent);font-size:14px;line-height:1.7}
.sf-cart-title>a{font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.sf-cart-layout{grid-template-columns:minmax(0,1fr) 340px;gap:48px}
.sf-cart-layout.is-updating{opacity:.72;cursor:progress;transition:opacity .15s ease}
.sf-cart-layout.is-updating .sf-cart-line__actions,.sf-cart-layout.is-updating .sf-cart-checkout-bar{pointer-events:none}
.sf-cart-lines{border-color:var(--sf-line);border-radius:8px}
.sf-cart-line{grid-template-columns:96px minmax(0,1fr) auto;gap:18px;padding:20px;border-color:var(--sf-line)}
.sf-cart-line__media{width:96px;height:96px;border-radius:5px;background:#f5f5f4}
.sf-cart-line__media img{object-fit:cover}
.sf-cart-line__details>a{font-size:15px;font-weight:600;color:var(--store-text)}
.sf-cart-line__details span{font-size:12px;color:var(--sf-muted)}
.sf-cart-line__details .sf-cart-line__unit{margin-top:8px;color:color-mix(in srgb,var(--store-text) 80%,transparent);font-size:13px;font-weight:500}
.sf-cart-line__actions{display:grid;grid-template-columns:auto auto;align-items:center;justify-items:end;gap:7px 16px}
.sf-cart-line__total{grid-column:1/-1;color:var(--store-text);font-size:16px;font-weight:700;white-space:nowrap}
.sf-cart-quantity{grid-template-columns:40px 36px 40px;border-color:var(--sf-line-strong);border-radius:5px}
.sf-cart-quantity button{width:40px;height:40px}.sf-cart-quantity span{font-weight:600}
.sf-button.sf-cart-remove{min-height:32px;padding-inline:4px;color:#8f332d;font-size:13px;font-weight:500}
.sf-cart-summary{top:110px;padding:26px;border:1px solid color-mix(in srgb,var(--store-primary) 18%,var(--sf-line));border-radius:8px;background:color-mix(in srgb,var(--store-primary) 5%,var(--store-card-bg,#fff));box-shadow:none}
.sf-cart-summary h2{font-size:19px;font-weight:600;color:var(--store-text)}
.sf-cart-summary>div{font-size:13px}.sf-cart-summary hr{border-color:var(--sf-line)}
.sf-cart-summary .sf-cart-summary__total{font-weight:500}.sf-cart-summary__total strong{font-size:20px;font-weight:600}.sf-cart-summary__total span{color:var(--store-text)}
.sf-cart-checkout-bar>span{display:none}
.sf-cart-summary .sf-cart-checkout-bar{display:block;margin:20px 0 0}
.sf-cart-summary .sf-cart-checkout-bar .sf-button{min-height:44px;margin:0;font-size:14px}
.sf-cart-summary>p{margin-top:14px;color:color-mix(in srgb,var(--store-text) 80%,transparent);line-height:1.6}
@media(max-width:900px){
 .sf-cart-layout{grid-template-columns:1fr;gap:26px}.sf-cart-summary{position:static}
}
@media(max-width:560px){
 body:has([data-cart-content]:not([hidden])){padding-bottom:calc(116px + env(safe-area-inset-bottom,0px))}
 .sf-cart-page{padding-top:12px}.sf-cart-title{display:block;margin:20px 0 28px}.sf-cart-title h1{font-size:31px}
 .sf-cart-title p{font-size:13px}.sf-cart-title>a{margin-top:6px}
 .sf-cart-line{grid-template-columns:76px minmax(0,1fr);gap:12px;padding:14px}
 .sf-cart-line__media{width:76px;height:76px}.sf-cart-line__details>a{font-size:14px}.sf-cart-line__details .sf-cart-line__unit{margin-top:5px;font-size:12px}
 .sf-cart-line__actions{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;width:100%;gap:10px;align-items:center;justify-items:start}
 .sf-cart-line__total{grid-column:auto;font-size:14px}.sf-cart-quantity{grid-column:2;justify-self:center}.sf-cart-remove{grid-column:3;justify-self:end}
 .sf-cart-summary{padding:20px;margin-bottom:12px}
 .sf-cart-summary .sf-cart-checkout-bar{position:fixed;inset:auto 0 0;z-index:40;display:grid;grid-template-columns:1fr;align-items:center;gap:6px;margin:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:var(--store-bg,#fff);border-top:1px solid var(--sf-line);box-shadow:0 -4px 20px #00000008}
 .sf-cart-checkout-bar>span{display:flex;align-items:baseline;justify-content:space-between;color:var(--store-text);font-size:15px;font-weight:600;line-height:1.25}.sf-cart-checkout-bar>span strong{color:var(--sf-dark);font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
 .sf-cart-summary .sf-cart-checkout-bar .sf-button{width:100%;min-height:44px;font-size:14px}
 body:has([data-cart-content]:not([hidden])) .sf-cart-toast{bottom:calc(120px + env(safe-area-inset-bottom,0px))}
}
.sf-product-page{padding-top:20px;padding-bottom:72px}
.sf-product-detail{grid-template-columns:minmax(0,1.08fr) minmax(400px,.78fr);gap:clamp(44px,6vw,84px)}
.sf-product-gallery{min-width:0}
.sf-product-detail__media{border:1px solid var(--sf-line);border-radius:10px;background:#f6f6f5}
.sf-product-detail__media img{object-fit:contain}
.sf-product-detail__content{position:static;max-width:520px;padding-top:4px}
.sf-product-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:9px 0 0;color:var(--sf-muted);font-size:12px}
.sf-product-review-summary{display:flex;align-items:center;gap:18px;width:100%;margin:10px 0 0;color:var(--sf-dark)}
.sf-product-stars{display:inline-flex;align-items:center;gap:2px;flex:0 0 auto;color:#ed9200}.sf-product-stars svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linejoin:round}
.sf-product-review-summary__count{font-size:13.5px;font-weight:500;line-height:1.35}.sf-product-review-summary__count strong{font-weight:700}
.sf-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sf-product-detail h1{min-width:0;font-family:var(--store-heading);font-weight:var(--store-heading-weight,600);font-size:var(--sf-font-size-product-title);letter-spacing:-.015em;color:var(--sf-dark);line-height:1.25;margin:0;text-wrap:wrap;overflow-wrap:break-word;word-break:normal;hyphens:none}
.sf-product-summary{max-width:55ch;margin:11px 0 0;color:var(--sf-text-soft);font-size:14px;line-height:1.62}
.sf-product-highlights{display:grid;gap:7px;margin:15px 0 0;padding:0;list-style:none}.sf-product-highlights li{display:flex;align-items:flex-start;gap:8px;color:var(--sf-text-soft);font-size:13px;line-height:1.45}.sf-product-highlights svg{width:17px;height:17px;flex:0 0 auto;margin-top:1px;fill:none;stroke:var(--store-primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}
.sf-product-price-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:19px;font-variant-numeric:tabular-nums}
.sf-product-detail__price{display:block;margin:0;color:var(--store-text);font-size:27px;font-weight:700;line-height:1.2}
.sf-product-price-row del{color:var(--sf-muted);font-size:14px}.sf-product-price-row [hidden]{display:none}.sf-discount{display:inline-flex;align-items:center;min-height:26px;padding:3px 8px;border-radius:999px;background:#feeceb;color:#a72d25;font-size:11px;font-weight:700}
.sf-sale-countdown{margin:16px 0 0;font-variant-numeric:tabular-nums}.sf-sale-countdown[hidden]{display:none}.sf-sale-countdown__title{margin:0 0 8px;color:var(--sf-dark);font-size:13px;font-weight:600}.sf-sale-countdown__units{display:flex;gap:8px}.sf-sale-countdown__units>span{display:flex;width:56px;flex-direction:column;align-items:center;gap:2px;padding:7px 0 6px;border:1px solid var(--sf-line-strong);border-radius:7px;background:var(--store-bg,#fff)}.sf-sale-countdown__units>span[hidden]{display:none}.sf-sale-countdown__units strong{color:var(--sf-dark);font-size:19px;font-weight:700;line-height:1.1}.sf-sale-countdown__units small{color:var(--sf-muted);font-size:10.5px;font-weight:500}
.sf-status-badge{--sf-status-badge-bg:#59615d;--sf-status-badge-text:#fff;display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:4px 9px;border-radius:7px;background:var(--sf-status-badge-bg);color:var(--sf-status-badge-text);font-size:11px;font-weight:700;line-height:1;white-space:nowrap}
.sf-status-badge--success{--sf-status-badge-bg:#247a2c}.sf-status-badge--warning{--sf-status-badge-bg:#a65b00}.sf-status-badge--danger{--sf-status-badge-bg:#a8322a}
.sf-variants{margin:24px 0 0;padding:0;border:0}.sf-variants legend,.sf-quantity-field>label{margin:0 0 10px;color:var(--store-text);font-size:13px;font-weight:700}.sf-variants legend span{text-transform:uppercase;letter-spacing:.035em}.sf-variants legend strong{font-weight:700}
.sf-variant-options{display:flex;flex-wrap:wrap;gap:10px}.sf-variant-options label{position:relative;margin:0}.sf-variant-options input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.sf-variant-options label>span{display:flex;min-width:132px;min-height:52px;flex-direction:column;justify-content:center;gap:2px;padding:8px 13px;border:1px solid var(--sf-line-strong);border-radius:7px;background:var(--store-bg,#fff);color:var(--sf-dark);font-size:13px;line-height:1.25;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.sf-variant-options small{color:var(--sf-muted);font-size:11px;font-weight:500}.sf-variant-options input:checked+span{border-color:var(--store-primary);box-shadow:inset 0 0 0 1px var(--store-primary);background:color-mix(in srgb,var(--store-primary) 6%,var(--store-bg,#fff));color:var(--store-primary-text)}.sf-variant-options input:focus-visible+span{outline:2px solid var(--store-primary);outline-offset:3px}.sf-variant-options input:disabled+span{cursor:not-allowed;opacity:.45}
.sf-variant-options label>.sf-variant-option-image{display:grid;grid-template-rows:86px auto;box-sizing:border-box;width:88px;height:auto;min-width:88px;min-height:0;gap:0;padding:0;overflow:hidden;background:var(--store-bg,#fff)}.sf-variant-option-image img{width:100%;height:100%;border-radius:6px 6px 0 0;object-fit:cover}.sf-variant-option-image small{box-sizing:border-box;width:100%;padding:5px 4px 6px;color:#454a4c;font-size:10.5px;font-weight:400;line-height:1.25;text-align:center;white-space:normal;overflow-wrap:anywhere}
.sf-quantity-field{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding-top:18px;border-top:1px solid var(--sf-line)}.sf-quantity-field>label{margin:0}
.sf-product-quantity{display:inline-flex;align-items:center;border:1px solid var(--sf-line-strong);border-radius:7px;overflow:hidden}
.sf-product-quantity button{width:44px;height:44px;border:0;background:var(--store-bg,#fff);font-size:20px;cursor:pointer;color:var(--store-text);touch-action:manipulation}.sf-product-quantity button:hover:not(:disabled){background:var(--sf-soft)}.sf-product-quantity button:focus-visible{position:relative;z-index:1;outline:2px solid var(--store-primary);outline-offset:-2px}
.sf-product-quantity button:disabled{opacity:.35;cursor:default}
.sf-product-quantity input{border:0;border-radius:0;background:transparent;color:var(--store-text);width:48px;min-height:44px;text-align:center;appearance:textfield;margin:0;padding:0;font-size:15px;font-variant-numeric:tabular-nums}
.sf-product-quantity input::-webkit-inner-spin-button{appearance:none}
.sf-product-detail__actions{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:9px;margin-top:22px}
.sf-product-detail__actions.sf-product-detail__actions--single{grid-template-columns:minmax(0,1fr)}
.sf-product-detail__actions .sf-button{min-width:0;width:100%;min-height:46px;gap:5px;padding-inline:12px;white-space:normal;text-align:center;touch-action:manipulation}
.sf-product-detail__actions [data-buy-now]{font-weight:700}.sf-product-detail__actions [data-product-total]{font-size:12px;font-weight:500;opacity:.86}
.sf-product-facts{margin-top:18px;border-top:1px solid var(--sf-line);border-bottom:1px solid var(--sf-line)}.sf-product-facts details+details{border-top:1px solid var(--sf-line)}.sf-product-facts summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:46px;padding:10px 0;color:var(--sf-dark);font-size:12.5px;font-weight:650;cursor:pointer;list-style:none;touch-action:manipulation}.sf-product-facts summary::-webkit-details-marker{display:none}.sf-product-facts summary>span{display:flex;align-items:center;gap:10px}.sf-product-facts summary svg{width:19px;height:19px;flex:0 0 auto;fill:none;stroke:var(--store-primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.sf-product-facts summary .sf-product-facts__chevron{width:17px;height:17px;stroke:var(--sf-muted);transition:transform .16s ease}.sf-product-facts details[open] .sf-product-facts__chevron{transform:rotate(180deg)}.sf-product-facts summary:focus-visible{outline:2px solid var(--store-primary);outline-offset:3px;border-radius:3px}.sf-product-facts p{margin:-2px 0 12px;padding-left:29px;color:var(--sf-muted);font-size:12px;line-height:1.55}
.sf-product-thumbnails{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:10px 2px 4px;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-x}
.sf-product-thumbnails::-webkit-scrollbar{display:none}
.sf-product-thumbnails button{position:relative;flex-shrink:0;padding:0;border:1px solid #e2e4e4;background:#f5f5f5;cursor:pointer;border-radius:5px;overflow:hidden;touch-action:manipulation}.sf-product-thumbnails button::after{content:"";position:absolute;inset:0;border:2px solid transparent;border-radius:4px;pointer-events:none}
.sf-product-thumbnails button[aria-pressed=true]::after{border-color:var(--store-primary)}.sf-product-thumbnails button:focus-visible{outline:2px solid var(--store-primary);outline-offset:2px}
.sf-product-thumbnails img{width:68px;height:68px;object-fit:cover;display:block}
/* Galerie produit : bande d'images qui défile, flèches, compteur et points. Les classes sf-gallery--desktop-* et sf-gallery--mobile-* choisissent les contrôles visibles. */
.sf-product-detail__media{position:relative}
.sf-gallery-track{display:flex;align-self:stretch;justify-self:stretch;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none}
.sf-gallery-track::-webkit-scrollbar{display:none}
.sf-gallery-slide{display:grid;place-items:center;flex:0 0 100%;min-width:0;scroll-snap-align:center;scroll-snap-stop:always}
.sf-gallery-slide img{width:100%;height:100%;object-fit:contain}
.sf-gallery-arrow{position:absolute;top:50%;z-index:1;display:none;place-items:center;width:44px;height:44px;margin-top:-22px;padding:0;border:1px solid #e2e4e4;border-radius:50%;background:#fffffff2;color:#1f2224;cursor:pointer;box-shadow:0 2px 8px #0000000f;transition:opacity .16s ease,visibility .16s ease,background-color .16s ease;touch-action:manipulation}
.sf-gallery-arrow--prev{left:12px}.sf-gallery-arrow--next{right:12px}
.sf-gallery-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sf-gallery-arrow:hover{background:#fff}.sf-gallery-arrow:focus-visible{outline:2px solid var(--store-primary);outline-offset:2px}
.sf-gallery-arrow:disabled{opacity:0!important;visibility:hidden!important}
.sf-gallery-counter{position:absolute;right:12px;bottom:12px;z-index:1;display:none;margin:0;padding:4px 9px;border-radius:999px;background:#191b1cb8;color:#fff;font-size:12px;font-weight:600;line-height:1.35;font-variant-numeric:tabular-nums;pointer-events:none}
.sf-gallery-dots{display:none;flex-wrap:wrap;justify-content:center;padding:6px 0 0}
.sf-gallery-dots button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:6px;background:none;cursor:pointer;touch-action:manipulation}
.sf-gallery-dots button::before{content:"";width:7px;height:7px;border-radius:999px;background:#c5c9cb;transition:background-color .16s ease}
.sf-gallery-dots button[aria-pressed=true]::before{width:18px;background:var(--store-primary)}
.sf-gallery-dots button:focus-visible{outline:2px solid var(--store-primary);outline-offset:-2px}
@media(max-width:760px){
 .sf-product-gallery:not(.sf-gallery--mobile-thumbnails) .sf-product-thumbnails{display:none}
 .sf-gallery--mobile-dots:not(.sf-gallery--many) .sf-gallery-dots{display:flex}
 .sf-gallery--mobile-counter .sf-gallery-counter,.sf-gallery--mobile-dots.sf-gallery--many .sf-gallery-counter{display:block}
}
@media(min-width:761px){
 .sf-product-gallery:not(.sf-gallery--desktop-thumbnails_bottom,.sf-gallery--desktop-thumbnails_left,.sf-gallery--desktop-thumbnails_right) .sf-product-thumbnails{display:none}
 .sf-gallery--desktop-dots:not(.sf-gallery--many) .sf-gallery-dots{display:flex}
 .sf-gallery--desktop-counter .sf-gallery-counter,.sf-gallery--desktop-dots.sf-gallery--many .sf-gallery-counter{display:block}
 .sf-gallery-arrow{display:grid}
 /* Avec les miniatures, les flèches n'apparaissent qu'au survol de l'image ou quand le clavier est dans la galerie. */
 :is(.sf-gallery--desktop-thumbnails_bottom,.sf-gallery--desktop-thumbnails_left,.sf-gallery--desktop-thumbnails_right) .sf-gallery-arrow{opacity:0;visibility:hidden}
 :is(.sf-gallery--desktop-thumbnails_bottom,.sf-gallery--desktop-thumbnails_left,.sf-gallery--desktop-thumbnails_right):focus-within .sf-gallery-arrow{opacity:1;visibility:visible}
 :is(.sf-gallery--desktop-thumbnails_left,.sf-gallery--desktop-thumbnails_right){display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px}
 .sf-gallery--desktop-thumbnails_right{grid-template-columns:minmax(0,1fr) auto}
 :is(.sf-gallery--desktop-thumbnails_left,.sf-gallery--desktop-thumbnails_right) .sf-product-detail__media{grid-row:1;grid-column:2}
 .sf-gallery--desktop-thumbnails_right .sf-product-detail__media{grid-column:1}
 /* La colonne de miniatures prend la hauteur de l'image sans l'agrandir, puis défile. */
 :is(.sf-gallery--desktop-thumbnails_left,.sf-gallery--desktop-thumbnails_right) .sf-product-thumbnails{grid-row:1;grid-column:1;flex-direction:column;height:0;min-height:100%;padding:2px;overflow-x:hidden;overflow-y:auto;touch-action:pan-y}
 .sf-gallery--desktop-thumbnails_right .sf-product-thumbnails{grid-column:2}
}
@media(min-width:761px) and (hover:hover){
 :is(.sf-gallery--desktop-thumbnails_bottom,.sf-gallery--desktop-thumbnails_left,.sf-gallery--desktop-thumbnails_right) .sf-product-detail__media:hover .sf-gallery-arrow{opacity:1;visibility:visible}
}
@media(min-width:1101px){
 /* La colonne de miniatures s'ajoute à la largeur de l'image au lieu de la réduire. */
 .sf-product-detail:has(.sf-gallery--desktop-thumbnails_left,.sf-gallery--desktop-thumbnails_right){grid-template-columns:minmax(0,642px) minmax(400px,520px)}
 .sf-product-gallery:is(.sf-gallery--desktop-thumbnails_left,.sf-gallery--desktop-thumbnails_right){width:min(642px,calc(100vh - 175px + 82px))}
}
@media(prefers-reduced-motion:reduce){
 .sf-gallery-track{scroll-behavior:auto}
 .sf-gallery-arrow,.sf-gallery-dots button::before{transition:none}
}
.sf-description{display:block;max-width:none;margin-top:30px;padding:28px 0 0;border-top:1px solid var(--sf-line);border-bottom:0}
.sf-description__heading h2,.sf-product-related h2{font-family:var(--store-heading);font-size:clamp(24px,2.2vw,30px);line-height:1.15;letter-spacing:-.02em;font-weight:var(--store-heading-weight,600);color:var(--sf-dark);margin:0}.sf-description__heading span{display:block;margin-top:12px;color:var(--sf-muted);font-size:12px;line-height:1.5}.sf-description__body{max-width:68ch;color:var(--sf-text-soft);font-size:16px;line-height:1.8;white-space:normal}.sf-return-policy{margin-top:24px;padding-top:20px;border-top:1px solid var(--sf-line)}.sf-return-policy strong{font-size:14px;color:var(--sf-dark)}.sf-return-policy p{margin:7px 0 0;color:var(--sf-muted);font-size:14px;line-height:1.65}
.sf-description__body{margin-top:16px}
.sf-description__body>*{margin:0}.sf-description__body>*+*{margin-top:.85em}.sf-description__body h2,.sf-description__body h3{font-family:var(--store-heading);color:var(--sf-dark);line-height:1.3;font-weight:var(--store-heading-weight,600)}.sf-description__body h2{font-size:1.25em}.sf-description__body h3{font-size:1.08em}.sf-description__body strong{color:var(--sf-dark);font-weight:600}.sf-description__body ul,.sf-description__body ol{padding-left:1.4em}.sf-description__body ul{list-style:disc}.sf-description__body ol{list-style:decimal}.sf-description__body li+li{margin-top:.3em}.sf-description__body blockquote{border-left:3px solid var(--sf-line);padding-left:1em;color:var(--sf-muted)}.sf-description__body a{color:var(--store-primary,#0f766e);text-decoration:underline;text-underline-offset:2px}.sf-description__body img{display:block;max-width:100%;height:auto;border-radius:10px}
@media(min-width:761px){
 .sf-product-detail__actions--embedded>[data-checkout-open]{display:none}
 .sf-product-detail__actions--embedded{grid-template-columns:minmax(0,1fr)}
 .sf-product-detail__actions--embedded.sf-product-detail__actions--single{display:none}
 .sf-product-detail__content--embedded>.sf-express-embedded{width:100%;max-width:none;margin:28px 0 0;padding:20px}
}
@media(min-width:901px){
 .sf-product-gallery{position:sticky;top:84px;align-self:start}
 .sf-product-detail__media{width:100%;height:auto;aspect-ratio:1}
}
@media(min-width:1101px){
 .sf-product-detail{grid-template-columns:minmax(0,560px) minmax(400px,520px);justify-content:center;gap:clamp(44px,4vw,64px)}
 .sf-product-gallery{width:min(560px,calc(100vh - 175px));justify-self:end}
}
.sf-product-related{margin-top:52px}.sf-product-related h2{margin-bottom:22px}.sf-product-related .sf-product-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none}
@media(max-width:760px){
 body:has([data-product-purchase]){padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
 .sf-product-detail{grid-template-columns:minmax(0,1fr);gap:12px}
 .sf-product-detail__content{position:static;padding-top:0}
 .sf-product-detail h1{line-height:1.2;letter-spacing:-.01em}
 .sf-product-detail__actions{position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--store-bg,#fff);padding:9px 12px calc(9px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--sf-line);box-shadow:0 -4px 20px #0000000a;gap:8px;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);margin:0}
 .sf-product-detail__actions .sf-button{min-height:44px;min-width:0;width:100%;padding:4px 10px;white-space:normal;font-size:14px;line-height:1.2;text-align:center;overflow-wrap:anywhere}
 .sf-product-detail__actions--single .sf-button{min-height:46px;font-size:16px;font-weight:750}
 .sf-product-detail__actions [data-buy-now]{flex-direction:row;justify-content:center;gap:4px;white-space:nowrap;overflow-wrap:normal}
 .sf-product-detail__actions [data-product-total]{font-size:inherit;font-weight:700}
 .sf-product-detail__actions [data-product-total]::before{content:"· ";font-weight:700}
 body:has([data-product-purchase]) .sf-cart-toast{bottom:calc(88px + env(safe-area-inset-bottom,0px))}
 /* Bouton collant retiré (formulaire ou autre bouton de commande à l'écran, saisie en cours) : storefront-product.js. */
 .sf-product-detail__actions{transition:transform .2s ease,visibility 0s linear 0s}
 .sf-product-detail__actions.is-concealed{transform:translateY(calc(100% + 8px));visibility:hidden;box-shadow:none;transition:transform .2s ease,visibility 0s linear .2s}
 /* Bandeau d'information cookies au-dessus du bouton collant, jamais par-dessus. */
 body:has([data-product-actions]:not(.is-concealed)) .sf-meta-consent{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
 .sf-product-detail__price{font-size:24px}.sf-product-summary{font-size:14px;line-height:1.62}.sf-product-meta{margin-top:8px}.sf-product-review-summary{margin-top:8px;gap:14px}.sf-product-stars svg{width:19px;height:19px}.sf-product-review-summary__count{font-size:13px}.sf-product-highlights{gap:6px;margin-top:13px}.sf-product-price-row{margin-top:16px}.sf-variants{margin-top:20px}.sf-variant-options{gap:8px}.sf-variant-options:not(.sf-variant-options--images) label{flex:0 1 auto}.sf-variant-options label>span{min-width:128px;width:auto;min-height:48px;padding:7px 11px}.sf-variant-options--images{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(4px,1.6vw,8px)}.sf-variant-options--images label{width:100%;min-width:0}.sf-variant-options--images label>span{box-sizing:border-box;width:100%;min-width:0;height:100%;padding-inline:6px;overflow-wrap:anywhere}.sf-variant-options--images label>.sf-variant-option-image{width:100%;min-width:0;grid-template-rows:auto auto}.sf-variant-options--images .sf-variant-option-image img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}.sf-variant-options--images .sf-variant-option-image small{padding:clamp(4px,1.3vw,6px) 3px;font-size:clamp(9.5px,2.6vw,10.5px);line-height:1.25}.sf-quantity-field{margin-top:20px;padding-top:17px}.sf-product-facts{margin-top:17px}
 .sf-product-page{padding-top:16px}
 .sf-description{grid-template-columns:1fr;gap:16px;margin-top:36px;padding:28px 0}.sf-description__heading h2,.sf-product-related h2{font-size:23px}.sf-description__heading span{margin-top:8px}.sf-description__body{font-size:15px;line-height:1.75}
 .sf-product-related{margin-top:34px}.sf-product-related .sf-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
}
@media(max-width:380px){.sf-product-detail__actions:not(.sf-product-detail__actions--single) .sf-button{font-size:13px}.sf-product-thumbnails img{width:58px;height:58px}}
/* Prix sous « Commander » seulement quand les deux ne tiennent pas sur une ligne (classe posée par storefront-product.js). */
.sf-product-detail__actions [data-buy-now].is-wrapped{flex-wrap:wrap;row-gap:0;white-space:normal;line-height:1.15}.sf-product-detail__actions [data-buy-now].is-wrapped [data-product-total]::before{content:none}
/* Choix par axe (Couleur, puis Taille) */
.sf-variant-axes .sf-variants+.sf-variants{margin-top:18px}.sf-variant-options--axis:not(.sf-variant-options--images) label>span{min-width:56px;width:auto;align-items:center;text-align:center;font-weight:600}.sf-variant-option-image__empty{display:block;aspect-ratio:1;border-radius:6px 6px 0 0;background:#f1f2f3}.sf-variant-options label.is-unavailable>span{color:#8b9093;background:linear-gradient(to top left,transparent calc(50% - .6px),#c9cdd0 50%,transparent calc(50% + .6px)),#fff}.sf-variant-options label.is-unavailable>.sf-variant-option-image{background:#fff}.sf-variant-options label.is-unavailable .sf-variant-option-image img{opacity:.5}.sf-variant-options label.is-unavailable input:checked+span{color:var(--store-primary-text)}
@media(max-width:360px){.sf-variant-options--images{gap:4px}.sf-variant-options--images .sf-variant-option-image small{letter-spacing:-.015em}}
.sf-shell{width:min(1320px,calc(100% - 80px))}
.sf-announcement{background:var(--sf-announcement-bg,#f5f5f4);color:var(--sf-announcement-text,#444);font-size:12px;font-weight:400;padding:8px 20px}
.sf-header{background:var(--store-bg,#fff);backdrop-filter:none;border-bottom:1px solid var(--sf-line)}
.sf-mobile-menu{display:none}
.sf-header__inner{min-height:68px}
.sf-brand{font-family:var(--store-heading);font-size:27px;font-weight:400;letter-spacing:-.04em;color:var(--store-text);min-width:0}
.sf-brand>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sf-header__nav{flex-shrink:0}
.sf-brand__initials{display:none}
.sf-header__nav{font-size:13px;font-weight:500;gap:32px}
.sf-header__nav .sf-button{border:0;color:var(--store-text);font-weight:500;padding:0;box-shadow:none}
/* Lien de la page en cours : couleur de la boutique et trait sous le texte, comme le menu mobile. */
.sf-header__nav>a[aria-current=page]:not(.sf-cart-link){color:var(--store-primary-text);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.sf-cart-link{font-weight:500}
.sf-button{font-size:14px;font-weight:600;min-height:44px;padding-inline:16px;box-shadow:none}
.sf-editorial{padding-top:0}
.sf-editorial__intro{position:relative;z-index:1;width:min(calc(100% - 48px),760px);padding:clamp(48px,7vw,96px) 24px;text-align:center;overflow-wrap:anywhere}
.sf-editorial h1{max-width:18ch;margin:0 auto 16px;color:#26312c;font-family:var(--store-heading);font-size:clamp(40px,5vw,68px);font-weight:var(--store-heading-weight,600);letter-spacing:-.045em;line-height:1.06;text-wrap:balance;text-shadow:0 1px 12px rgba(255,255,255,.75)}
.sf-editorial__intro p{max-width:54ch;margin:0 auto 28px;color:#3f4944;font-size:15px;line-height:1.7;text-shadow:0 1px 8px rgba(255,255,255,.85)}
.sf-editorial__campaign{position:relative;isolation:isolate;display:grid;min-height:clamp(430px,43vw,620px);overflow:hidden;background:#f7f5ef;place-items:center}
.sf-editorial__campaign>.sf-responsive-picture{position:absolute;inset:0;display:block}.sf-editorial__campaign>.sf-responsive-picture img{width:100%;height:100%;object-fit:cover;object-position:center}
.sf-editorial__campaign{--hero-veil:255,255,255;--hero-veil-k:1;--hero-glow:50% 50%}
.sf-editorial__campaign::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at var(--hero-glow),rgba(var(--hero-veil),calc(.82*var(--hero-veil-k))) 0%,rgba(var(--hero-veil),calc(.66*var(--hero-veil-k))) 28%,rgba(var(--hero-veil),calc(.12*var(--hero-veil-k))) 68%,rgba(var(--hero-veil),0) 100%)}
.sf-editorial #storefront-hero-cta.sf-button{min-width:128px;border:1px solid #26312c;background:rgba(255,255,255,.38);color:#26312c;backdrop-filter:blur(3px)}
.sf-editorial #storefront-hero-cta.sf-button:hover{background:#26312c;color:#fff}
/* Héros sans textes : image nette (pas de voile), titre et description gardés pour le référencement, bouton étendu à toute l'image. */
.sf-editorial__campaign--image-only::after{display:none}
.sf-editorial__campaign--image-only .sf-editorial__intro{position:static;padding:0}
.sf-editorial__campaign--image-only .sf-editorial__intro>:is(h1,p){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sf-editorial .sf-editorial__campaign--image-only #storefront-hero-cta.sf-button,.sf-editorial .sf-editorial__campaign--image-only #storefront-hero-cta.sf-button:hover{position:absolute;inset:0;z-index:2;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:transparent;font-size:0;backdrop-filter:none}
.sf-editorial .sf-editorial__campaign--image-only #storefront-hero-cta.sf-button:focus-visible{outline:3px solid var(--store-primary);outline-offset:-3px}
.sf-service-strip{display:flex;align-items:center;justify-content:center;gap:60px;padding:23px 0;border-bottom:1px solid #e8e8e8;color:color-mix(in srgb,var(--store-text) 80%,transparent);font-size:12px}
.sf-service-strip>span,.sf-service-strip>a{display:flex;align-items:center;gap:10px}
.sf-service-strip svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linejoin:round;stroke-linecap:round;flex-shrink:0}
.sf-catalog{position:relative;display:flex;flex-direction:column;padding-top:44px;scroll-margin-top:95px}
.sf-section-heading{order:-3;margin:0 0 28px;align-items:center;padding-right:330px;min-height:50px}
.sf-section-heading .sf-eyebrow{display:none}
/* En-tête de collection : fil d'Ariane, titre de page, description courte. */
.sf-section-heading--collection{align-items:flex-end}
.sf-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 6px;color:var(--sf-muted);font-size:12.5px;line-height:1.4}.sf-breadcrumb a{color:inherit;text-decoration:none}.sf-breadcrumb a:hover{color:var(--sf-dark);text-decoration:underline}.sf-breadcrumb a:focus-visible{outline:2px solid var(--store-primary);outline-offset:2px;border-radius:2px}.sf-breadcrumb [aria-current]{color:var(--sf-text-soft)}
.sf-collection-description{max-width:62ch;margin:10px 0 0;color:var(--sf-text-soft);font-size:14px;line-height:1.6}
/* Colonnes du catalogue : 4 sur ordinateur et 2 sur mobile par défaut (storefront.css) ; 3 ou 1 au choix du marchand. */
@media(min-width:901px){.sf-catalog--desktop-3 .sf-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sf-catalog--desktop-4 .sf-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.sf-catalog--mobile-1 .sf-product-grid{grid-template-columns:minmax(0,1fr)}.sf-catalog--mobile-2 .sf-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* « Voir plus de produits » sous la grille. */
.sf-load-more{display:flex;flex-direction:column;align-items:center;gap:12px;margin:40px 0 0;text-align:center}
.sf-load-more__status{margin:0;color:var(--sf-muted);font-size:13px;font-variant-numeric:tabular-nums}
.sf-load-more .sf-button{min-height:46px;min-width:min(100%,280px)}
.sf-load-more__previous{color:var(--sf-text-soft);font-size:13px;text-decoration:underline;text-underline-offset:3px}.sf-load-more__previous:focus-visible{outline:2px solid var(--store-primary);outline-offset:2px;border-radius:2px}
/* Ligne au-dessus de la grille : nombre de produits à gauche, tri à droite. */
.sf-catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;margin:0 0 18px}
.sf-catalog-count{margin:0;color:var(--sf-muted);font-size:13px}
.sf-sort{display:flex;align-items:center;gap:8px;margin:0}.sf-sort label{color:var(--sf-text-soft);font-size:13px}
.sf-sort select{min-height:44px;max-width:100%;padding:0 12px;border:1px solid var(--sf-line-strong);border-radius:7px;background:var(--store-bg,#fff);color:var(--sf-dark);font:inherit;font-size:14px;cursor:pointer}.sf-sort select:focus,.sf-sort select:focus-visible{outline:none;border-color:#8a9094}.sf-sort__apply:focus-visible{outline:2px solid var(--store-primary);outline-offset:2px}
.sf-sort__apply{min-height:44px;padding:0 14px;border:1px solid var(--sf-line-strong);border-radius:7px;background:var(--store-bg,#fff);color:var(--sf-dark);font:inherit;font-size:13px;cursor:pointer}
.sf-section-heading :is(h1,h2),.sf-how h2{font-family:var(--store-heading);font-size:36px;font-weight:400;letter-spacing:-.035em}
.sf-search{position:absolute;top:44px;right:0;width:285px;height:46px;border:0;border-bottom:1px solid var(--sf-line-strong);border-radius:0;background:var(--store-bg,#fff);margin:0;padding:0 4px}
.sf-search input{font-size:13px}
.sf-search:focus-within{border-color:var(--store-primary)}
.sf-categories{order:-2;margin:0 0 20px;gap:24px}
.sf-categories a{border:0;border-bottom:2px solid transparent;border-radius:0;padding:10px 0;font-weight:500}
.sf-categories a.is-active{color:var(--store-primary-text);border-color:var(--store-primary);background:transparent}
.sf-product-grid{gap:32px 18px}
.sf-product-card{display:flex;flex-direction:column;border:1px solid transparent;border-radius:9px;overflow:hidden;background:transparent;color:var(--store-card-text,inherit)}
.sf-product-card:hover{border-color:transparent;box-shadow:none}
.sf-product-card--outlined{border-color:color-mix(in srgb,var(--store-text) 14%,var(--store-bg))}
.sf-product-card--outlined:hover{border-color:color-mix(in srgb,var(--store-primary) 45%,var(--store-text))}
.sf-product-card__media{aspect-ratio:1;border-radius:0;background:#f5f5f4;overflow:hidden;color:#aaa;font-weight:400}
.sf-product-card__media img{transition:transform .3s ease}
.sf-product-card__media:hover img{transform:scale(1.035)}
.sf-product-card__media em{border-radius:0;box-shadow:none;color:color-mix(in srgb,var(--store-text) 80%,transparent);font-size:11px;font-weight:500;top:14px;left:14px}
.sf-product-card__badges{position:absolute;top:12px;left:12px;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.sf-product-card__badges>span,.sf-product-card__badges>em{position:static;white-space:nowrap}
.sf-product-card__sold-out{padding:5px 9px;border-radius:999px;background:var(--store-card-text,#171C1A);color:var(--store-card-bg,#fff);font-size:11px;font-weight:700}.sf-product-card--sold-out .sf-product-card__media img{opacity:.6;filter:grayscale(.5)}.sf-product-card__body>.sf-product-card__unavailable{display:flex;align-items:center;justify-content:center;min-height:44px;margin:auto 0 2px;border-radius:6px;background:color-mix(in srgb,var(--store-card-text,#171C1A) 6%,var(--store-card-bg,#fff));color:color-mix(in srgb,var(--store-card-text,#171C1A) 78%,var(--store-card-bg,#fff));font-size:12px;font-weight:600}
.sf-product-card__discount{padding:5px 9px;border-radius:999px;background:var(--store-accent,#dc2626);color:var(--store-accent-contrast,#fff);font-size:11px;font-weight:700}
.sf-product-card__body{display:flex;flex:1;flex-direction:column;padding:12px;background:var(--store-card-bg,transparent)}
.sf-product-card h3,.sf-product-card h3 a{color:var(--store-card-text,#222)}
.sf-product-card h3{display:-webkit-box;overflow:hidden;font-size:15px;font-weight:600;min-height:2.8em;margin:2px 0 6px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.sf-product-card__body>.sf-product-card__category{display:block;margin:0 0 4px;font-size:11px}
.sf-product-card__body>.sf-button--card{margin-top:auto}.sf-product-card__rating~.sf-button--card{margin-top:2px}
.sf-product-card p{display:-webkit-box;overflow:hidden;min-height:38px;margin:0 0 12px;color:color-mix(in srgb,var(--store-card-text,#171C1A) 68%,var(--store-card-bg,#fff));font-size:12.5px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.sf-product-card__rating{display:flex;align-items:center;gap:clamp(4px,1.3vw,7px);min-width:0;margin-top:auto;margin-bottom:7px;white-space:nowrap}
.sf-product-card__stars{display:inline-flex;align-items:center;gap:clamp(0px,.2vw,1px);flex:0 0 auto;color:#ed9200}.sf-product-card__stars svg{width:clamp(12px,2.75vw,13px);height:clamp(12px,2.75vw,13px);fill:none;stroke:currentColor;stroke-width:1.35;stroke-linejoin:round}
.sf-product-card__review-copy{display:inline-flex;align-items:center;gap:3px;min-width:0;overflow:hidden;color:color-mix(in srgb,var(--store-card-text,#171C1A) 64%,var(--store-card-bg,#fff));font-size:11px;font-weight:500;text-overflow:ellipsis}.sf-product-card__review-copy strong{color:var(--store-card-text,#333);font-size:inherit;font-weight:700}
.sf-product-card__pricing{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 8px;margin-bottom:8px}
.sf-product-card__pricing strong{color:var(--store-card-text,#222);font-size:19px;font-weight:700;line-height:1.2}
.sf-product-card__pricing del{color:color-mix(in srgb,var(--store-card-text,#171C1A) 60%,var(--store-card-bg,#fff));font-size:12px}
.sf-button--card{gap:5px;width:100%;min-height:44px;margin-block:2px;padding:2px 8px;border-radius:6px;font-size:14px;line-height:1.2;text-align:center}
.sf-button--card::before{inset:-3px 0}
.sf-button--card svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sf-button--card:hover{filter:brightness(.94)}
.sf-button--card.is-disabled{border-color:#d5d8da;background:#eceeef;color:#777}
.sf-product-card__visual{position:relative}
.sf-product-card__quick{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:46px;height:46px;padding:0;border:0;border-radius:999px;background:var(--store-primary);color:var(--store-primary-contrast);box-shadow:0 6px 18px rgba(0,0,0,.16);cursor:pointer;transition:transform .18s ease,filter .18s ease}
.sf-product-card__quick:hover{filter:brightness(.94);transform:scale(1.05)}
.sf-product-card__media:focus-visible{outline-offset:-3px}.sf-product-card h3 a:focus-visible{outline-offset:-2px;border-radius:3px}
.sf-product-card__quick:focus-visible{outline:2px solid var(--store-card-text,#171C1A);outline-offset:2px}
.sf-product-card__quick svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
[data-card-action][hidden]{display:none!important}
/* Fond de « Comment ça marche » : réglage de la section (défaut « Doux », .sf-section-bg plus bas). */
.sf-how{background:transparent;padding-block:44px}
.sf-how>.sf-shell>.sf-eyebrow{display:none}
.sf-how__grid{gap:40px}
.sf-how__grid>div{padding:0;border:0;border-radius:0;background:transparent;display:grid;grid-template-columns:24px 1fr;column-gap:14px}
.sf-how__grid b{width:auto;height:auto;display:block;background:transparent;color:var(--sf-muted);font-size:13px;grid-row:1/3;padding-top:2px}
.sf-how__grid h3{margin:0 0 5px;font-size:15px;font-weight:500}
.sf-how__grid p{grid-column:2;font-size:13px}
.sf-footer{background:var(--store-footer-bg);color:var(--store-footer-text);padding:58px 0 0;border-top:0}
.sf-footer__inner{display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(3,minmax(0,1fr));gap:clamp(32px,4vw,64px);padding-bottom:46px;align-items:start}
.sf-footer__identity{max-width:390px;overflow-wrap:anywhere}
.sf-footer__brand{display:inline-flex;align-items:center;gap:12px;max-width:100%;color:var(--store-footer-text)}
.sf-footer__brand strong{min-width:0;overflow-wrap:anywhere}
.sf-footer__logo,.sf-footer__initials{width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:rgba(255,255,255,.14)}
.sf-footer__logo{display:block;object-fit:contain;padding:5px}
.sf-footer__initials{display:grid;place-items:center;color:#fff;font:700 12px/1 'Segoe UI',sans-serif;letter-spacing:.02em}
.sf-footer__intro{margin-top:20px}
.sf-footer__identity p,.sf-footer__column p{font-size:14px;line-height:1.7;color:var(--store-footer-muted);margin:10px 0 0}
.sf-footer__column{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.sf-footer__column h2{font:700 12px/1.5 'Segoe UI',sans-serif;margin:0 0 13px;color:var(--store-footer-text);letter-spacing:.08em;text-transform:uppercase}
.sf-footer__column p{margin:0 0 10px}
.sf-footer__column a{display:flex;align-items:center;min-height:38px;font-size:13px;line-height:1.5;color:var(--store-footer-muted);overflow-wrap:anywhere;max-width:100%;text-decoration-color:transparent}
.sf-footer a:hover{color:var(--store-footer-text);text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:4px}
.sf-footer a:focus-visible{outline-color:#fff}
.sf-footer__social{flex-direction:row;flex-wrap:wrap;gap:8px}
.sf-footer__social h2{width:100%}
.sf-footer__social a{min-height:34px;padding:0 12px;border:1px solid var(--store-footer-line);border-radius:999px;color:var(--store-footer-text);background:rgba(255,255,255,.06)}
.sf-footer__social a:hover{background:rgba(255,255,255,.12);text-decoration:none}
.sf-footer__bottom{display:flex;justify-content:center;border-top:1px solid var(--store-footer-line);padding-block:18px;color:var(--store-footer-muted);font-size:12px;text-align:center}
.sf-footer__powered{border-top:1px solid var(--store-footer-line);background:rgba(0,0,0,.09);padding:11px 20px;color:var(--store-footer-muted);font-size:11px;letter-spacing:.01em;text-align:center}
.sf-footer__powered a{color:inherit;text-decoration:none}
.sf-footer__powered a:hover{text-decoration:underline;text-underline-offset:3px}
.sf-footer__powered b{color:var(--store-footer-text);font-weight:700}
.sf-footer strong{font-family:var(--store-heading);font-size:23px;font-weight:var(--store-heading-weight,600)}
.sf-footer p,.sf-footer__links{color:var(--store-footer-muted)}
a:focus-visible,button:focus-visible{outline:2px solid var(--store-primary);outline-offset:5px}
.sf-brand,.sf-editorial h1,.sf-section-heading :is(h1,h2),.sf-how h2,.sf-footer strong{font-weight:var(--store-heading-weight,600);letter-spacing:var(--store-heading-spacing,-.025em)}
@media(max-width:900px){
 .sf-footer__inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px}.sf-footer__identity{grid-column:1/-1;max-width:560px}
 .sf-shell{width:calc(100% - 40px)}
 .sf-editorial__intro{width:min(calc(100% - 40px),680px);padding:56px 20px}
 .sf-service-strip{gap:24px;font-size:11px}
 .sf-product-grid{gap:30px 16px}.sf-product-related .sf-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sf-section-heading{padding-right:260px}.sf-search{width:235px}
}
@media(max-width:560px){
 .sf-footer{padding-top:38px}.sf-footer__inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px;padding-bottom:30px}.sf-footer__identity{grid-column:1/-1;max-width:none}.sf-footer__intro{margin-top:16px}.sf-footer__column h2{font-size:11px;margin-bottom:10px}.sf-footer__column a{min-height:36px;font-size:12.5px}.sf-footer__column p{font-size:12.5px;line-height:1.65}.sf-footer__bottom{padding-block:18px}
 .sf-shell{width:calc(100% - 32px)}
 .sf-header__inner{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;min-height:60px}
 .sf-mobile-menu{position:relative;display:block;grid-column:1;grid-row:1;justify-self:start}
 .sf-mobile-menu__toggle{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--sf-dark);cursor:pointer;touch-action:manipulation}
 .sf-mobile-menu__toggle:hover{background:var(--sf-soft)}.sf-mobile-menu__toggle:focus-visible{outline:2px solid var(--store-primary);outline-offset:2px}
 .sf-mobile-menu__toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
 .sf-brand{grid-column:2;grid-row:1;justify-self:center;max-width:100%;gap:0;font-size:17px;text-align:center}
 .sf-brand__name{display:block;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .sf-brand--has-logo .sf-brand__name{display:none}.sf-brand__logo{width:34px;height:34px;border-radius:0;object-fit:contain}
 .sf-header__nav{display:contents}.sf-header__nav>:not(.sf-cart-link){display:none!important}
 .sf-cart-link{grid-column:3;grid-row:1;justify-self:end;width:44px;height:44px;min-height:44px;justify-content:center;border:1px solid var(--sf-line);border-radius:50%;color:var(--sf-dark)}
 .sf-cart-link:hover{background:var(--sf-soft)}.sf-cart-link>span{display:none}.sf-cart-link svg{width:22px;height:22px}
 .sf-cart-link strong{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding-inline:4px;border:2px solid var(--store-bg,#fff);font-size:9px}
 .sf-editorial__intro{width:calc(100% - 32px);padding:44px 16px}
 .sf-editorial h1{max-width:16ch;font-size:clamp(34px,10vw,46px)}.sf-editorial__intro p{max-width:32ch;margin-bottom:22px;font-size:14px}
 .sf-editorial__campaign{min-height:420px}.sf-editorial__campaign>.sf-responsive-picture img{object-position:center}
 .sf-editorial__campaign::after{background:radial-gradient(ellipse at var(--hero-glow),rgba(var(--hero-veil),calc(.9*var(--hero-veil-k))) 0%,rgba(var(--hero-veil),calc(.7*var(--hero-veil-k))) 38%,rgba(var(--hero-veil),calc(.16*var(--hero-veil-k))) 78%,rgba(var(--hero-veil),0) 100%)}
 .sf-service-strip{gap:14px;justify-content:space-around;padding:18px 0;flex-wrap:wrap}
 .sf-service-strip>span,.sf-service-strip>a{gap:7px;font-size:11px}
 .sf-service-strip svg{width:18px;height:18px}
 .sf-catalog{padding-top:30px}.sf-section-heading{padding:0;margin-bottom:16px;min-height:0}
 .sf-section-heading :is(h1,h2),.sf-how h2{font-size:29px}
 .sf-search{position:static;order:-2;width:100%;margin-bottom:22px}
 .sf-product-card h3{display:-webkit-box;overflow:hidden;min-height:40px;font-size:14px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.sf-product-card__body{padding:10px}.sf-product-grid{gap:10px}.sf-cards--blend .sf-product-card:not(.sf-product-card--outlined) .sf-product-card__body{padding-bottom:0}
 .sf-product-card p{display:-webkit-box;overflow:hidden;min-height:36px;margin-bottom:9px;font-size:11.5px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}
 .sf-product-card__pricing{display:flex;flex-wrap:wrap;gap:3px 6px;margin-bottom:6px}.sf-product-card__pricing strong{display:inline;font-size:16px}.sf-product-card__pricing del{display:inline;margin-top:0;font-size:11px}
 .sf-button--card{min-height:44px;margin-block:4px;padding:1px 6px;font-size:13px}.sf-button--card::before{inset:0}.sf-button--card svg{width:14px;height:14px}
 .sf-product-card__media em{top:8px;left:8px;font-size:10px}.sf-product-card__badges{top:8px;left:8px;gap:4px}
 .sf-product-card__quick{right:8px;bottom:8px;width:44px;height:44px}.sf-product-card__body>.sf-product-card__unavailable{margin-bottom:4px}.sf-product-card__quick svg{width:18px;height:18px}
 .sf-how__grid{gap:24px}.sf-footer__inner{gap:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Store theme directions and accent usage. */
.sf-announcement{background:var(--sf-announcement-bg,color-mix(in srgb,var(--store-primary) 8%,var(--store-bg)));color:var(--sf-announcement-text,var(--store-text));border-bottom:1px solid color-mix(in srgb,var(--store-accent) 28%,transparent)}
.sf-eyebrow,.sf-product-card__category{color:var(--store-accent)}
.sf-product-card__stars,.sf-product-stars{color:var(--store-accent)}
.sf-how__grid b{color:var(--store-accent)}
.sf-theme-clean .sf-editorial__campaign,.sf-theme-sunny .sf-editorial__campaign,.sf-theme-tropical .sf-editorial__campaign,.sf-theme-coral .sf-editorial__campaign{background:color-mix(in srgb,var(--store-bg) 96%,var(--store-primary))}
.sf-theme-editorial .sf-editorial__campaign{background:color-mix(in srgb,var(--store-bg) 92%,var(--store-accent))}
.sf-theme-editorial .sf-product-card__media{border-radius:2px}
.sf-theme-editorial .sf-product-card h3{font-family:var(--store-heading);font-weight:var(--store-heading-weight,400)}
.sf-theme-bold .sf-editorial h1{max-width:900px;font-weight:800;letter-spacing:-.04em}
.sf-theme-bold .sf-editorial__campaign{background:color-mix(in srgb,var(--store-bg) 86%,var(--store-accent))}
.sf-theme-bold .sf-product-card{overflow:hidden;border:1px solid transparent;border-radius:16px}
.sf-theme-bold .sf-product-card--outlined{border:1px solid color-mix(in srgb,var(--store-accent) 45%,var(--store-text))}
.sf-theme-bold .sf-product-card__media{border-radius:0}
.sf-theme-bold .sf-product-card__body{padding:14px}
.sf-theme-bold .sf-section-heading :is(h1,h2),.sf-theme-bold .sf-how h2{font-weight:800;letter-spacing:-.02em}
/* Héros : mise en forme du texte (plan accueil § 4.1). Les valeurs par défaut (center, medium, normal, soft, texte foncé) gardent le rendu d'origine. */
.sf-hero--pos-top-left,.sf-hero--pos-top-center,.sf-hero--pos-top-right{align-items:start}
.sf-hero--pos-bottom-left,.sf-hero--pos-bottom-center,.sf-hero--pos-bottom-right{align-items:end}
.sf-hero--pos-top-left,.sf-hero--pos-middle-left,.sf-hero--pos-bottom-left{justify-items:start}
.sf-hero--pos-top-right,.sf-hero--pos-middle-right,.sf-hero--pos-bottom-right{justify-items:end}
/* Sur un côté, le bloc prend la largeur de son texte (sinon il garde 760 px et ne se décale presque pas). */
.sf-hero--pos-top-left .sf-editorial__intro,.sf-hero--pos-middle-left .sf-editorial__intro,.sf-hero--pos-bottom-left .sf-editorial__intro,.sf-hero--pos-top-right .sf-editorial__intro,.sf-hero--pos-middle-right .sf-editorial__intro,.sf-hero--pos-bottom-right .sf-editorial__intro{width:auto;max-width:min(calc(100% - 48px),760px)}
.sf-hero--pos-top-left .sf-editorial__intro,.sf-hero--pos-middle-left .sf-editorial__intro,.sf-hero--pos-bottom-left .sf-editorial__intro{margin-left:clamp(0px,4vw,72px)}
.sf-hero--pos-top-right .sf-editorial__intro,.sf-hero--pos-middle-right .sf-editorial__intro,.sf-hero--pos-bottom-right .sf-editorial__intro{margin-right:clamp(0px,4vw,72px)}
.sf-hero--pos-top-left{--hero-glow:24% 28%}.sf-hero--pos-top-center{--hero-glow:50% 28%}.sf-hero--pos-top-right{--hero-glow:76% 28%}
.sf-hero--pos-middle-left{--hero-glow:24% 50%}.sf-hero--pos-middle-right{--hero-glow:76% 50%}
.sf-hero--pos-bottom-left{--hero-glow:24% 72%}.sf-hero--pos-bottom-center{--hero-glow:50% 72%}.sf-hero--pos-bottom-right{--hero-glow:76% 72%}
.sf-hero--align-left .sf-editorial__intro{text-align:left}.sf-hero--align-left .sf-editorial__intro>:is(h1,p){margin-left:0;margin-right:auto}
.sf-hero--align-right .sf-editorial__intro{text-align:right}.sf-hero--align-right .sf-editorial__intro>:is(h1,p){margin-left:auto;margin-right:0}
.sf-editorial .sf-hero--size-small h1{font-size:clamp(30px,3.6vw,48px)}
.sf-editorial .sf-hero--size-large h1{font-size:clamp(46px,6vw,82px)}
.sf-editorial .sf-hero--size-xlarge h1{max-width:20ch;font-size:clamp(52px,7.4vw,100px)}
.sf-hero--width-narrow .sf-editorial__intro{max-width:min(calc(100% - 48px),560px)}.sf-editorial .sf-hero--width-narrow h1{max-width:14ch}
.sf-editorial__campaign.sf-hero--width-wide .sf-editorial__intro{max-width:min(calc(100% - 48px),1040px)}.sf-hero--width-wide:is(.sf-hero--pos-top-center,.sf-hero--pos-center,.sf-hero--pos-bottom-center) .sf-editorial__intro{width:min(calc(100% - 48px),1040px)}.sf-editorial .sf-hero--width-wide h1{max-width:24ch}.sf-hero--width-wide .sf-editorial__intro p{max-width:66ch}
.sf-hero--overlay-none::after{display:none}
.sf-hero--overlay-strong{--hero-veil-k:1.15}
.sf-hero--text-light{--hero-veil:12,17,15;--hero-veil-k:.7}.sf-hero--text-light.sf-hero--overlay-strong{--hero-veil-k:.95}
.sf-editorial .sf-hero--text-light h1,.sf-hero--text-light .sf-editorial__intro p{color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.35)}
.sf-hero--text-light .sf-editorial__intro p{color:rgba(255,255,255,.9)}
.sf-editorial .sf-hero--text-light:not(.sf-editorial__campaign--image-only) #storefront-hero-cta.sf-button{border-color:#fff;background:rgba(0,0,0,.18);color:#fff}
.sf-editorial .sf-hero--text-light:not(.sf-editorial__campaign--image-only) #storefront-hero-cta.sf-button:hover{background:#fff;color:#1f2723}
.sf-editorial .sf-hero--text-custom h1{color:var(--hero-text-color)}.sf-hero--text-custom .sf-editorial__intro p{color:color-mix(in srgb,var(--hero-text-color) 88%,transparent)}
.sf-editorial .sf-hero--text-custom:not(.sf-editorial__campaign--image-only) #storefront-hero-cta.sf-button{border-color:var(--hero-text-color);color:var(--hero-text-color)}
.sf-editorial .sf-hero--text-custom:not(.sf-editorial__campaign--image-only) #storefront-hero-cta.sf-button:hover{background:var(--hero-text-color);color:#fff}
.sf-editorial .sf-hero--text-custom.sf-hero--text-light:not(.sf-editorial__campaign--image-only) #storefront-hero-cta.sf-button:hover{color:#1f2723}
@media(max-width:560px){
 .sf-hero--pos-top-left .sf-editorial__intro,.sf-hero--pos-middle-left .sf-editorial__intro,.sf-hero--pos-bottom-left .sf-editorial__intro,.sf-hero--pos-top-right .sf-editorial__intro,.sf-hero--pos-middle-right .sf-editorial__intro,.sf-hero--pos-bottom-right .sf-editorial__intro{max-width:calc(100% - 32px);margin-inline:16px}
 .sf-editorial__campaign.sf-hero--width-wide .sf-editorial__intro{max-width:calc(100% - 32px)}
 .sf-editorial .sf-hero--size-small h1{font-size:clamp(28px,8vw,36px)}
 .sf-editorial .sf-hero--size-large h1{font-size:clamp(38px,11vw,52px)}
 .sf-editorial .sf-hero--size-xlarge h1{max-width:16ch;font-size:clamp(42px,12.5vw,60px)}
}
/* Vignettes de variante : l'enveloppe <picture> est « transparente » (display:contents), ses <source> AVIF/WebP prenaient la 1re ligne de la grille et repoussaient l'image dans une ligne de taille libre. Image en ligne 1, nom en ligne 2. */
.sf-variant-option-image source{display:none}.sf-variant-option-image img,.sf-variant-option-image__empty{grid-row:1;grid-column:1}.sf-variant-option-image small{grid-row:2;grid-column:1}
/* Pages collection (§ 8.11, § 8.12) : bannière, colonne de filtres, étiquettes, panneau mobile */
.sf-section-heading--with-image{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:28px;align-items:center}
.sf-collection-banner{overflow:hidden;border-radius:10px;background:#f5f5f4;aspect-ratio:3/2}.sf-collection-banner .sf-responsive-picture,.sf-collection-banner img{display:block;width:100%;height:100%;object-fit:cover}
.sf-catalog-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.sf-catalog-main{min-width:0}
.sf-catalog-aside h2,.sf-filter-group legend{margin:0 0 10px;padding:0;color:var(--sf-dark);font-size:14px;font-weight:700}
.sf-filters-head{display:none}
.sf-filters-body{display:flex;flex-direction:column;gap:24px}
.sf-aside-collections a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;color:var(--sf-muted);font-size:14px;text-decoration:none}.sf-aside-collections a:hover{color:var(--sf-dark)}.sf-aside-collections a.is-active{color:var(--store-primary-text,var(--store-primary));font-weight:600}
.sf-aside-count{flex:none;color:var(--sf-muted);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}
.sf-filters-form{display:flex;flex-direction:column;gap:24px}
.sf-filter-group{min-width:0;margin:0;padding:0 0 22px;border:0;border-bottom:1px solid var(--sf-line)}
.sf-price-range{position:relative;height:28px;margin:4px 6px 12px}.sf-price-range[hidden]{display:none}
.sf-price-range__track{position:absolute;top:50%;right:0;left:0;height:4px;border-radius:4px;background:var(--sf-line);transform:translateY(-50%)}.sf-price-range__track span{position:absolute;top:0;bottom:0;border-radius:4px;background:var(--store-primary)}
.sf-price-range input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
.sf-price-range input[type=range]::-webkit-slider-runnable-track{background:none;border:0}
.sf-price-range input[type=range]::-webkit-slider-thumb{width:20px;height:20px;border:2px solid var(--store-primary);border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);cursor:pointer;pointer-events:auto;-webkit-appearance:none;appearance:none}
.sf-price-range input[type=range]::-moz-range-thumb{width:16px;height:16px;border:2px solid var(--store-primary);border-radius:50%;background:#fff;cursor:pointer;pointer-events:auto}
.sf-price-range input[type=range]::-moz-range-track{background:none;border:0}
.sf-price-range input[type=range]:focus{outline:none}.sf-price-range input[type=range]:focus-visible::-webkit-slider-thumb{border-color:#191b1c}
.sf-price-filter__fields{display:flex;align-items:flex-end;gap:8px}.sf-price-filter__fields>span{padding-bottom:12px;color:var(--sf-muted)}.sf-price-filter__fields label{flex:1;min-width:0;margin:0}.sf-price-filter__fields label span{display:block;margin-bottom:4px;color:var(--sf-muted);font-size:12px}
.sf-price-filter__fields input{width:100%;min-height:44px;padding:0 10px;border:1px solid var(--sf-line-strong);border-radius:7px;background:var(--store-bg,#fff);color:var(--sf-dark);font:inherit;font-size:14px;font-variant-numeric:tabular-nums}.sf-price-filter__fields input:focus,.sf-price-filter__fields input:focus-visible{outline:none;border-color:#8a9094}
.sf-price-filter__hint{margin:8px 0 0;color:var(--sf-muted);font-size:12px}
.sf-filters-apply{min-height:40px;margin-top:12px;padding-inline:16px;font-size:13px}
.sf-filter-check{display:flex;align-items:center;gap:10px;min-height:36px;margin:0;color:var(--sf-text-soft);font-size:14px;cursor:pointer}.sf-filter-check span:nth-of-type(1){flex:1;min-width:0}
.sf-filter-check input{flex:none;width:18px;height:18px;margin:0;accent-color:var(--store-primary);cursor:pointer}.sf-filter-check input:focus-visible{outline:1px solid #8a9094;outline-offset:2px}
.sf-filter-check.is-empty{color:color-mix(in srgb,var(--store-text,#171c1a) 40%,var(--store-bg,#fff))}
.sf-filters-foot{display:none}
.sf-catalog-tools{display:flex;align-items:center;gap:10px;margin-left:auto}
.sf-filters-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--sf-line-strong);border-radius:7px;background:var(--store-bg,#fff);color:var(--sf-dark);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.sf-filters-toggle[hidden]{display:none}.sf-filters-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.sf-filters-toggle:focus-visible{outline:none;border-color:#8a9094}
.sf-filters-toggle__count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--store-primary);color:var(--store-primary-contrast,#fff);font-size:11px;font-weight:700}
.sf-applied-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-6px 0 18px}
.sf-filter-chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 10px 0 12px;border:1px solid var(--sf-line-strong);border-radius:999px;background:var(--store-bg,#fff);color:var(--sf-dark);font-size:13px;font-variant-numeric:tabular-nums;text-decoration:none}.sf-filter-chip:hover{border-color:#8a9094}.sf-filter-chip svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.sf-applied-filters__clear{margin-left:4px;color:var(--sf-muted);font-size:13px;text-decoration:underline;text-underline-offset:3px}
.sf-product-card__in-cart{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;margin:0 0 6px;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--store-primary) 12%,var(--store-card-bg,#fff));color:var(--store-primary-text,var(--store-primary));font-size:11px;font-weight:600}.sf-product-card__in-cart[hidden]{display:none}.sf-product-card__in-cart svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:1024px){
 .sf-catalog-layout{grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:start}
 .sf-catalog-aside{position:sticky;top:96px;max-height:calc(100vh - 110px);overflow-y:auto}
 .sf-categories--with-aside{display:none}
 .sf-filters-toggle{display:none!important}
}
/* Mobile avec JS : la colonne devient un panneau latéral ouvert par « Filtres » */
@media(max-width:1023px){
 .sf-catalog-tools{width:100%;justify-content:space-between}
 .sf-catalog-layout--js .sf-aside-collections{display:none}
 .sf-catalog-aside--collections-only{display:none}
 .sf-catalog-layout--js .sf-catalog-aside{position:fixed;inset:0 0 0 auto;z-index:60;display:flex;width:min(88vw,380px);flex-direction:column;background:var(--store-bg,#fff);box-shadow:-12px 0 30px rgba(0,0,0,.16);transform:translateX(100%);visibility:hidden;transition:transform .22s ease,visibility 0s linear .22s}
 .sf-catalog-layout--js.is-filters-open .sf-catalog-aside{transform:none;visibility:visible;transition:transform .22s ease,visibility 0s}
 .sf-catalog-layout--js .sf-filters-head{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:0 8px 0 18px;border-bottom:1px solid var(--sf-line)}.sf-filters-head h2{margin:0;font-size:16px}
 .sf-filters-close{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:none;color:var(--sf-dark);cursor:pointer}.sf-filters-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.sf-filters-close:focus-visible{outline:1px solid #8a9094}
 .sf-catalog-layout--js .sf-filters-body{flex:1;overflow-y:auto;padding:18px}
 .sf-catalog-layout--js .sf-filters-form{min-height:100%}
 .sf-catalog-layout--js .sf-filters-apply{display:none}
 .sf-catalog-layout--js .sf-filters-foot{position:sticky;bottom:-18px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:auto -18px -18px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--sf-line);background:var(--store-bg,#fff)}
 .sf-catalog-layout--js .sf-filters-foot a{color:var(--sf-muted);font-size:14px;text-decoration:underline;text-underline-offset:3px}
 .sf-catalog-layout--js .sf-filters-foot .sf-button{flex:1;min-height:48px}
 .sf-filters-backdrop{position:fixed;inset:0;z-index:59;background:rgba(17,20,19,.42)}.sf-filters-backdrop[hidden]{display:none}
}
@media(max-width:700px){
 .sf-section-heading--with-image{grid-template-columns:minmax(0,1fr);gap:16px}
 .sf-collection-banner{aspect-ratio:16/9}
}
@media(prefers-reduced-motion:reduce){.sf-catalog-aside{transition:none!important}}
/* Ville ou commune : bouton et panneau de recherche (composant x-storefront.place-select). */
.sf-place-select{position:relative}
.sf-place-select .sf-place-select__value{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;border:0!important;opacity:0;pointer-events:none}
.sf-place-select__trigger{display:flex;width:100%;min-height:50px;align-items:center;justify-content:space-between;gap:10px;padding:0 12px 0 14px;border:1px solid #d7dcda;border-radius:8px;background:#fff;color:#1b2124;font:inherit;font-size:16px;font-weight:400;line-height:1.3;text-align:left;cursor:pointer;transition:border-color .16s ease}
.sf-place-select__trigger:hover{border-color:color-mix(in srgb,var(--store-primary) 44%,#d7dcda)}
.sf-place-select__trigger:focus-visible,.sf-place-select__trigger[aria-expanded=true]{outline:none;border-color:var(--store-primary)}
.sf-place-select__trigger[aria-invalid=true]{border-color:#b42318}
.sf-place-select__text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sf-place-select__text.is-placeholder{color:#6b7a90}
.sf-place-select__trigger svg{flex:none;width:20px;height:20px;fill:none;stroke:#64726f;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease}
.sf-place-select__trigger[aria-expanded=true] svg{transform:rotate(180deg)}
.sf-place-select__panel{position:absolute;z-index:30;top:calc(100% + 6px);right:0;left:0;padding:6px;border:1px solid #d7dcda;border-radius:10px;background:#fff;color:#1b2124;box-shadow:0 12px 32px rgba(15,23,20,.14)}
.sf-place-select__panel[hidden]{display:none}
.sf-place-select__search{position:relative;margin-bottom:4px}
.sf-place-select__search svg{position:absolute;top:50%;left:12px;width:18px;height:18px;margin-top:-9px;fill:none;stroke:#6b7a90;stroke-width:1.8;stroke-linecap:round;pointer-events:none}
.sf-place-select .sf-place-select__search input{width:100%;min-height:44px;height:44px;padding:8px 10px 8px 38px;border:1px solid #d7dcda;border-radius:8px;background:#fff;font-size:16px}
.sf-place-select .sf-place-select__search input:focus{outline:none;border-color:var(--store-primary);box-shadow:none}.sf-place-select__search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.sf-place-select__list{max-height:232px;margin:0;padding:0;overflow-y:auto;overscroll-behavior:contain;list-style:none}
.sf-place-select__list li{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:6px;color:inherit;font-size:15px;line-height:1.35;cursor:pointer}
.sf-place-select__list li.is-active{background:#f1f4f3}
.sf-place-select__list li[aria-selected=true]{color:var(--store-primary-text);font-weight:600}
.sf-place-select__list li.sf-place-select__free{color:var(--store-primary-text);font-weight:600}
.sf-place-select__list li>span{min-width:0;overflow-wrap:anywhere}.sf-place-select__fee{flex:none;color:#5d6461;font-size:13px;font-weight:500;white-space:nowrap}.sf-place-select__fee.is-free{color:#1f7a3f;font-weight:600}
.sf-place-select__status{margin:0;padding:8px 10px;color:#5d6461;font-size:13px;line-height:1.4}
.sf-place-select__status:empty{display:none}
.sf-express .sf-place-select__trigger{min-height:38px;border-color:#d5dbe2;border-radius:10px;font-size:15px}
@media(max-width:780px){.sf-checkout .sf-place-select__trigger{min-height:44px}}
/* Coins droits choisis par le marchand : carte et photo sans arrondi, quel que soit le style. */
.sf-cards--square .sf-product-card,.sf-cards--square .sf-product-card__media{border-radius:0}
/* Accueil (critique du 2026-11-07) : héros moins haut pour voir les produits plus tôt, bouton du héros
   à la couleur du marchand, textes utiles lisibles. Le héros « image seule » garde sa hauteur. */
.sf-product-card__from{color:color-mix(in srgb,var(--store-card-text,#171C1A) 72%,var(--store-card-bg,#fff));font-size:12px;font-weight:500}
.sf-editorial__campaign:not(.sf-editorial__campaign--image-only){min-height:clamp(340px,32vw,500px)}
.sf-editorial__campaign:not(.sf-editorial__campaign--image-only) .sf-editorial__intro{padding-block:clamp(36px,4.5vw,64px)}
.sf-editorial .sf-editorial__campaign:not(.sf-editorial__campaign--image-only) #storefront-hero-cta.sf-button{border-color:var(--store-primary);background:var(--store-primary);color:var(--store-primary-contrast,#fff);backdrop-filter:none}
.sf-editorial .sf-editorial__campaign:not(.sf-editorial__campaign--image-only) #storefront-hero-cta.sf-button:hover{border-color:var(--store-primary);background:var(--store-primary);color:var(--store-primary-contrast,#fff);filter:brightness(.92)}
.sf-service-strip,.sf-service-strip>span,.sf-service-strip>a{font-size:13px}
.sf-product-card__media em,.sf-product-card__discount,.sf-product-card__sold-out{font-size:12px}
.sf-product-card__pricing del{color:color-mix(in srgb,var(--store-card-text,#171C1A) 72%,var(--store-card-bg,#fff));font-size:12px}
@media(max-width:560px){
 .sf-editorial__campaign:not(.sf-editorial__campaign--image-only){min-height:0}
 .sf-service-strip{padding:6px 12px;gap:0 18px}
 .sf-service-strip>a{min-height:44px}
 .sf-editorial__campaign:not(.sf-editorial__campaign--image-only) .sf-editorial__intro{padding-block:26px}
 /* Catalogue de l'accueil : titre sur une ligne et marges resserrées, la grille remonte. */
 .sf-catalog[data-section-type="catalog"]{padding-top:18px}
 .sf-catalog[data-section-type="catalog"] .sf-section-heading{margin-bottom:10px}
 .sf-catalog[data-section-type="catalog"] .sf-section-heading h2{font-size:22px;line-height:1.25}
 .sf-catalog[data-section-type="catalog"] .sf-search{margin-bottom:10px}
 .sf-catalog[data-section-type="catalog"] .sf-categories{margin-bottom:12px}
 .sf-product-card__media em{font-size:12px}
 .sf-product-card p{font-size:12.5px}
}
/* Zones à toucher et petits textes (revue de « Tous les produits », 2026-11-07). */
.sf-categories a{min-width:44px;text-align:center}
.sf-breadcrumb a{display:inline-block;padding-block:13px;margin-block:-13px}
.sf-footer__column h2,.sf-footer__powered{font-size:12px}
/* Recherche dans l'en-tête (loupe) : le champ se déplie sous l'en-tête, sur toutes les pages. */
.sf-header__inner{position:relative}
.sf-header-search{display:flex}
.sf-header-search>summary{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--store-text);list-style:none;cursor:pointer}
.sf-header-search>summary::-webkit-details-marker{display:none}
.sf-header-search>summary:hover,.sf-header-search[open]>summary{background:color-mix(in srgb,var(--store-text) 6%,transparent)}
.sf-header-search>summary:focus-visible{outline:2px solid var(--store-primary);outline-offset:2px}
.sf-header-search svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.sf-header-search__form{position:absolute;z-index:40;top:calc(100% + 6px);right:0;left:auto;display:flex;align-items:center;gap:10px;width:min(480px,100%);height:52px;margin:0;padding:0 16px;border:1px solid var(--sf-line);border-radius:12px;background:var(--store-bg,#fff);box-shadow:0 14px 34px rgba(0,0,0,.12)}
.sf-header-search__form:focus-within{border-color:var(--store-primary)}
.sf-header-search__form svg{flex:none;color:var(--sf-muted)}
.sf-header-search__form input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--sf-dark);font:inherit;font-size:16px}
.sf-header-search__form input::-webkit-search-cancel-button{cursor:pointer}
/* Le catalogue n'a plus de champ de recherche à droite du titre. */
.sf-catalog .sf-section-heading{padding-right:0}
@media(max-width:560px){
 .sf-header__inner{grid-template-columns:44px 44px minmax(0,1fr) 44px 44px}
 .sf-brand{grid-column:3}
 .sf-cart-link{grid-column:5}
 .sf-header__nav>.sf-header-search{display:flex!important;grid-column:2;grid-row:1}
 .sf-header-search__form{left:0;width:auto}
}
/* Prix des cartes : remise en pastille rouge (code des soldes, quel que soit le thème) ; prix et prix barré
   sur une ligne dès qu'ils tiennent, sans descendre sous 15 px (prix) et 13 px (prix barré). */
.sf-product-card__discount{background:#dc2626;color:#fff}
.sf-product-card__pricing{flex-wrap:wrap;align-items:baseline;column-gap:6px}
.sf-product-card__pricing>*{white-space:nowrap}
.sf-product-card__pricing del{font-size:13px}
@media(max-width:560px){
 .sf-product-card__pricing{column-gap:5px}
 .sf-product-card__pricing strong{font-size:14px}
 .sf-product-card__del-currency{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
}
/* Cartes sur mobile : texte des boutons gras et lisible (14 px, 700) sur une ligne, sans l'icône panier
   qui prenait la place du libellé ; intérieur un peu resserré pour que prix et prix barré tiennent ensemble. */
.sf-button--card{font-weight:700}
@media(max-width:560px){
 .sf-product-card__body,.sf-theme-bold .sf-product-card__body{padding-inline:8px}
 .sf-button--card{padding-inline:4px;font-size:14px}
 .sf-button--card>svg{display:none}
}
/* Tri : menu sur mesure (storefront-catalog.js) à la place du menu natif, aux couleurs de la boutique. */
.sf-sort__native{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sf-sort-menu{position:relative}
.sf-sort-menu__button{display:inline-flex;min-height:44px;align-items:center;gap:8px;padding:0 12px 0 14px;border:1px solid var(--sf-line-strong);border-radius:8px;background:var(--store-bg,#fff);color:var(--sf-dark);font:inherit;font-size:14px;font-weight:500;cursor:pointer}
.sf-sort-menu__button:hover{border-color:#b9bec1}
.sf-sort-menu__button:focus-visible{outline:2px solid var(--store-primary);outline-offset:2px}
.sf-sort-menu__button[aria-expanded="true"]{border-color:#8a9094}
.sf-sort-menu__button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s ease}
.sf-sort-menu__button[aria-expanded="true"] svg{transform:rotate(180deg)}
.sf-sort-menu__list{position:absolute;z-index:30;top:calc(100% + 6px);right:0;min-width:max(100%,200px);margin:0;padding:6px;border:1px solid var(--sf-line);border-radius:10px;background:var(--store-bg,#fff);box-shadow:0 14px 34px rgba(0,0,0,.12);list-style:none;outline:none}
.sf-sort-menu__list[hidden]{display:none}.sf-sort-menu__list.is-start{right:auto;left:0}
.sf-sort-menu__list li{display:flex;min-height:44px;align-items:center;gap:8px;padding:0 12px 0 8px;border-radius:7px;color:var(--sf-dark);font-size:14px;cursor:pointer;white-space:nowrap}
.sf-sort-menu__list li svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;visibility:hidden}
.sf-sort-menu__list li.is-active{background:color-mix(in srgb,var(--store-primary) 9%,var(--store-bg,#fff))}
.sf-sort-menu__list li[aria-selected="true"]{color:var(--store-primary-text,var(--store-primary));font-weight:600}
.sf-sort-menu__list li[aria-selected="true"] svg{visibility:visible}
.sf-sort-menu__list:focus-visible li.is-active{outline:2px solid var(--store-primary);outline-offset:-2px}
@media(prefers-reduced-motion:reduce){.sf-sort-menu__button svg{transition:none}}
/* Titre des cartes : plus de hauteur réservée pour 2 lignes ; le prix suit le titre, les boutons restent alignés en bas. */
.sf-product-card h3{min-height:0}
@media(max-width:560px){.sf-product-card h3{min-height:0}}
/* Pastilles de couleur des variantes (fiche produit) : rond de la couleur, anneau à la couleur du marchand quand choisie,
   barre en travers si indisponible ; le nom reste dans la légende (« Couleur : Rouge ») et pour les lecteurs d'écran. */
.sf-variant-options--swatches{gap:10px}
.sf-variant-options--swatches label>span.sf-variant-swatch{display:block;box-sizing:border-box;width:44px;min-width:0;height:44px;min-height:0;padding:0;border:1px solid rgba(0,0,0,.18);border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 3px #fff;cursor:pointer}
.sf-variant-options--swatches input:checked+.sf-variant-swatch{border-color:var(--store-primary);box-shadow:inset 0 0 0 3px #fff,0 0 0 2px var(--store-primary)}
.sf-variant-options--swatches input:focus-visible+.sf-variant-swatch{outline:2px solid var(--store-primary);outline-offset:4px}
.sf-variant-options--swatches label.is-unavailable>span.sf-variant-swatch,.sf-variant-options--swatches input:disabled+.sf-variant-swatch{background:linear-gradient(to top left,transparent calc(50% - 1px),rgba(255,255,255,.95) calc(50% - 1px),rgba(255,255,255,.95) calc(50% + 1px),transparent calc(50% + 1px)),var(--swatch);opacity:.55}
/* Fiche produit : hiérarchie des tailles. Nom du produit au-dessus des intertitres (22 px mobile, 30 px ordinateur) ;
   intertitres Description, avis et « À découvrir aussi » identiques (20 à 24 px) ; petits textes utiles à 13-14 px. */
:root{--sf-font-size-product-title:clamp(22px,1.4vw + 17px,30px)}
.sf-description__heading h2,.sf-product-related h2,.sf-reviews__heading h2{font-family:var(--store-heading);font-size:clamp(20px,.5vw + 18px,24px);font-weight:var(--store-heading-weight,600);line-height:1.2;letter-spacing:-.015em}
.sf-product-facts summary{font-size:14px}
.sf-product-price-row .sf-status-badge{font-size:13px}
/* Mise en forme des cartes produit (Apparence > Cartes produit). */
/* Photo avec marge : posée dans la carte, coins arrondis à elle (droits si les cartes sont droites). */
.sf-cards--inset .sf-product-card__visual{padding:8px 8px 0;background:var(--store-card-bg,transparent)}
.sf-cards--inset .sf-product-card__media{border-radius:6px}
.sf-cards--inset.sf-cards--square .sf-product-card__media{border-radius:0}
/* Format de la photo : portrait (mode) ou paysage (électronique, maison) ; carré par défaut. */
.sf-cards--portrait .sf-product-card__media{aspect-ratio:4/5}
.sf-cards--landscape .sf-product-card__media{aspect-ratio:4/3}
/* Photo entière : produit visible sans être rogné, sur fond blanc (photos détourées). */
.sf-cards--contain .sf-product-card__media{background:#fff}
.sf-cards--contain .sf-product-card__media img{object-fit:contain}
/* Texte centré : nom, prix et avis au centre ; le bouton garde toute la largeur. */
.sf-cards--centered .sf-product-card__body{text-align:center}
.sf-cards--centered .sf-product-card__pricing,.sf-cards--centered .sf-product-card__rating{justify-content:center}
.sf-cards--centered .sf-product-card__in-cart{align-self:center}
/* Page produit : la grande photo et les miniatures suivent le format choisi pour les cartes (portrait, paysage).
   La photo y reste toujours entière ; « Photo entière » passe seulement son fond au blanc, comme sur les cartes. */
.sf-cards--portrait .sf-product-detail__media{aspect-ratio:4/5}
.sf-cards--landscape .sf-product-detail__media{aspect-ratio:4/3}
.sf-cards--portrait .sf-product-thumbnails img{height:auto;aspect-ratio:4/5}
.sf-cards--landscape .sf-product-thumbnails img{height:auto;aspect-ratio:4/3}
.sf-cards--contain .sf-product-detail__media,.sf-cards--contain .sf-product-thumbnails button{background:#fff}
.sf-cards--contain .sf-product-thumbnails img{object-fit:contain}
/* Page produit, grande photo bord à bord sur mobile : toute la largeur de l'écran, sans cadre ni coins arrondis. */
@media(max-width:760px){
 .sf-gallery--bleed .sf-product-detail__media{width:auto;max-width:none;margin-inline:calc(50% - 50vw);border:0;border-radius:0}
 /* 100vw compte la barre de défilement quand elle prend de la place (fenêtre étroite sur ordinateur) : on coupe ce débordement. */
 main:has(.sf-gallery--bleed){overflow-x:clip}
}
/* Offres par lot (« Choisissez votre offre ») : une ligne par offre, total à droite, économie en pastille ;
   l'offre choisie prend la couleur du marchand. Le sélecteur de quantité est masqué tant que le bloc est affiché. */
.sf-quantity-offers{margin:4px 0 14px;padding:0;border:0;min-width:0}
.sf-quantity-offers legend{margin-bottom:10px;padding:0;color:var(--store-text);font-size:15px;font-weight:600}
.sf-quantity-offers__list{display:grid;gap:8px}
.sf-quantity-offer{position:relative;display:block;margin:0;cursor:pointer}
.sf-quantity-offer input{position:absolute;width:1px;height:1px;opacity:0}
.sf-quantity-offer__box{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px 10px 42px;border:1px solid var(--sf-line-strong);border-radius:10px;background:var(--store-bg,#fff);transition:border-color .15s ease,background-color .15s ease}
.sf-quantity-offer__box::before{content:"";position:absolute;left:14px;top:50%;width:18px;height:18px;margin-top:-9px;border:1.5px solid #9aa0a3;border-radius:50%;background:var(--store-bg,#fff);box-sizing:border-box}
.sf-quantity-offer input:checked+.sf-quantity-offer__box{border-color:var(--store-primary);background:color-mix(in srgb,var(--store-primary) 6%,var(--store-bg,#fff));box-shadow:inset 0 0 0 1px var(--store-primary)}
.sf-quantity-offer input:checked+.sf-quantity-offer__box::before{border:5px solid var(--store-primary)}
.sf-quantity-offer input:focus-visible+.sf-quantity-offer__box{outline:2px solid var(--store-primary);outline-offset:2px}
.sf-quantity-offer__main{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.sf-quantity-offer__main strong{color:var(--store-text);font-size:15px;font-weight:600}
.sf-quantity-offer__saving{display:inline-flex;padding:2px 8px;border-radius:999px;background:#dc2626;color:#fff;font-size:12px;font-weight:700}
.sf-quantity-offer__price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap}
.sf-quantity-offer__price strong{color:var(--store-text);font-size:16px;font-weight:700}
.sf-quantity-offer__price del{color:var(--sf-muted);font-size:13px}
.sf-quantity-field.is-replaced-by-offers{display:none}
/* Boutique d'un seul produit : en-tête réduit au logo et au bouton « Commander ». */
.sf-header--single .sf-header__inner{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sf-header--single .sf-brand{min-width:0;justify-self:auto;text-align:left}
.sf-header--single .sf-header__order{flex:none}
/* La cible du bouton ne passe pas sous l'en-tête collant. */
#acheter,#commander{scroll-margin-top:84px}
/* Sur mobile, la barre « Commander » fixée en bas de la fiche suffit : pas de second bouton dans l'en-tête. */
@media(max-width:760px){body:has(.sf-product-detail__actions) .sf-header--single .sf-header__order{display:none}}
/* Sections de la page de vente (docs/PLAN_THEMES_BOUTIQUE.md § 7.5). */
.sf-benefits__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:20px 0 0;padding:0;list-style:none}
.sf-benefits__list li{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 16px;border:1px solid var(--sf-line);border-radius:12px;background:var(--store-card-bg,#fff);color:var(--store-text);font-size:15px;line-height:1.4}
.sf-benefits__list svg{flex:none;width:24px;height:24px;fill:none;stroke:var(--store-primary);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sf-faq{max-width:820px}
.sf-faq__list{margin-top:18px;border-top:1px solid var(--sf-line)}
.sf-faq__item{border-bottom:1px solid var(--sf-line)}
.sf-faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:12px 0;color:var(--store-text);font-size:16px;font-weight:600;cursor:pointer;list-style:none}
.sf-faq__item summary::-webkit-details-marker{display:none}
.sf-faq__item summary::after{content:"";flex:none;width:9px;height:9px;margin-right:4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease}
.sf-faq__item[open] summary::after{transform:rotate(-135deg)}
.sf-faq__item summary:focus-visible{outline:2px solid var(--store-primary);outline-offset:2px}
.sf-faq__item p{margin:0 0 16px;color:var(--sf-muted,#5f6662);font-size:15px;line-height:1.65}
.sf-video{max-width:920px}
.sf-video__frame{position:relative;margin-top:20px;overflow:hidden;border-radius:12px;background:#111;aspect-ratio:16/9}
.sf-video__frame iframe,.sf-video__play,.sf-video__play img{position:absolute;inset:0;width:100%;height:100%;border:0}
.sf-video__play{display:block;padding:0;background:#111;cursor:pointer}
.sf-video__play img{object-fit:cover}
.sf-video__icon{position:absolute;left:50%;top:50%;display:grid;width:68px;height:68px;place-items:center;border-radius:50%;background:var(--store-primary);color:#fff;transform:translate(-50%,-50%);box-shadow:0 6px 24px rgb(0 0 0 / 28%);transition:transform .15s ease}
.sf-video__icon svg{width:30px;height:30px;margin-left:4px;fill:currentColor}
.sf-video__play:hover .sf-video__icon{transform:translate(-50%,-50%) scale(1.06)}
.sf-video__play:focus-visible{outline:3px solid var(--store-primary);outline-offset:3px}
.sf-order-reminder__box{display:grid;justify-items:center;gap:12px;padding:32px 20px;border-radius:16px;background:color-mix(in srgb,var(--store-primary) 7%,var(--store-bg,#fff));text-align:center}
.sf-order-reminder__box p{max-width:560px;margin:0;color:var(--sf-muted,#5f6662);font-size:15px;line-height:1.6}
.sf-order-reminder__box .sf-button{min-width:240px}
@media(max-width:560px){.sf-benefits__list{grid-template-columns:1fr}.sf-order-reminder__box .sf-button{width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){.sf-faq__item summary::after,.sf-video__icon{transition:none}}
/* Formats en cartes (plan des thèmes § 9) : photo, nom et prix ; la carte choisie prend la couleur du marchand. */
.sf-variant-options--cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}
.sf-variant-options--cards label{position:relative;display:block;margin:0;cursor:pointer}
.sf-variant-options--cards input{position:absolute;width:1px;height:1px;opacity:0}
.sf-variant-card{display:grid;height:100%;overflow:hidden;border:1px solid var(--sf-line-strong);border-radius:12px;background:var(--store-bg,#fff);transition:border-color .15s ease,box-shadow .15s ease}
.sf-variant-card__media{display:block;aspect-ratio:1;background:#f3f4f2}
.sf-variant-card__media img{display:block;width:100%;height:100%;object-fit:cover}
.sf-cards--contain .sf-variant-card__media{background:#fff}.sf-cards--contain .sf-variant-card__media img{object-fit:contain}
.sf-variant-card__name{padding:10px 12px 0;color:var(--store-text);font-size:14px;font-weight:600;line-height:1.3}
.sf-variant-card__price{padding:4px 12px 12px;color:var(--store-text);font-size:15px;font-weight:700}
.sf-variant-options--cards input:checked+.sf-variant-card{border-color:var(--store-primary);box-shadow:inset 0 0 0 1px var(--store-primary)}
.sf-variant-options--cards input:focus-visible+.sf-variant-card{outline:2px solid var(--store-primary);outline-offset:2px}
.sf-variant-options--cards input:disabled+.sf-variant-card{cursor:not-allowed;opacity:.5}
.sf-variant-options--cards input:disabled+.sf-variant-card .sf-variant-card__price{color:#6b7280;font-size:13px;font-weight:600}
@media(max-width:560px){.sf-variant-options--cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sf-variant-card__name{padding:8px 8px 0;font-size:13px}.sf-variant-card__price{padding:2px 8px 10px;font-size:14px}}
/* Idées d'utilisation (plan des thèmes § 9) : 3 cartes image + titre + texte, empilées sur mobile. */
.sf-use-cases__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:20px}
.sf-use-case{overflow:hidden;border:1px solid var(--sf-line);border-radius:14px;background:var(--store-card-bg,#fff)}
.sf-use-case__media{aspect-ratio:16/10;background:color-mix(in srgb,var(--store-primary) 8%,#f6f5ef)}
.sf-use-case__media img{display:block;width:100%;height:100%;object-fit:cover}
.sf-use-case__body{padding:16px 18px 18px}
.sf-use-case__body h3{margin:0;color:var(--store-text);font-size:17px;font-weight:700;line-height:1.3}
.sf-use-case__body p{margin:6px 0 0;color:var(--sf-muted,#5f6662);font-size:14px;line-height:1.6}
/* Image avec texte : lignes cochées sous le texte (plan des thèmes § 9). */
.sf-image-text__checks{display:grid;gap:10px;margin:16px 0 4px;padding:0;list-style:none}
.sf-image-text__checks li{display:flex;align-items:flex-start;gap:10px;color:var(--store-text);font-size:15px;font-weight:600;line-height:1.45}
.sf-image-text__checks svg{flex:none;width:22px;height:22px;padding:3px;border-radius:50%;background:color-mix(in srgb,var(--store-primary) 14%,var(--store-bg,#fff));fill:none;stroke:var(--store-primary);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
/* Rappel de commande sur la couleur de la boutique : texte et bouton contrastés (--store-primary-contrast). */
.sf-order-reminder--brand .sf-order-reminder__box{background:var(--store-primary);color:var(--store-primary-contrast)}
.sf-order-reminder--brand .sf-order-reminder__box h2,.sf-order-reminder--brand .sf-order-reminder__box p{color:var(--store-primary-contrast)}
.sf-order-reminder--brand .sf-order-reminder__box p{opacity:.85}
.sf-order-reminder--brand .sf-order-reminder__box .sf-button{border-color:var(--store-primary-contrast);background:var(--store-primary-contrast);color:var(--store-primary)}
/* Garanties en petites coches sous le bouton « Commander » (plan des thèmes § 9). */
.sf-product-reassurance{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 2px;padding:0;list-style:none}
.sf-product-reassurance li{display:inline-flex;align-items:center;gap:6px;color:color-mix(in srgb,var(--store-text) 80%,transparent);font-size:13px;font-weight:600}
.sf-product-reassurance svg{flex:none;width:16px;height:16px;fill:none;stroke:var(--store-primary);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
/* Héros « texte et image côte à côte » (plan des thèmes § 9.4) : texte à gauche, image entière à droite sur un rond doux. */
.sf-hero-split{overflow:hidden;background:linear-gradient(120deg,color-mix(in srgb,var(--store-primary) 5%,var(--store-bg,#fff)),color-mix(in srgb,var(--store-primary) 9%,var(--store-bg,#fff)))}
.sf-hero-split__inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:48px;min-height:min(680px,calc(100svh - 120px));padding-block:80px 64px}
.sf-hero-split__copy{position:relative;z-index:1;max-width:600px}
.sf-hero-split__eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 18px;color:var(--store-primary-text);font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.sf-hero-split__eyebrow::before{content:"";width:24px;height:2px;background:currentColor}
.sf-hero-split h1{margin:0;color:var(--store-text);font-family:var(--store-heading,inherit);font-size:clamp(34px,4.2vw,52px);font-weight:800;line-height:1.1;letter-spacing:-.045em;text-wrap:balance}
.sf-hero-split__highlight{color:var(--store-primary-text)}
.sf-hero-split__text{max-width:520px;margin:22px 0 0;color:color-mix(in srgb,var(--store-text) 70%,transparent);font-size:17px;line-height:1.75}
.sf-hero-split__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.sf-hero-split__actions .sf-button{min-height:52px;padding-inline:26px;font-size:15px}
.sf-hero-split__checks{display:flex;flex-wrap:wrap;gap:8px 22px;margin:28px 0 0;padding:0;list-style:none}
.sf-hero-split__checks li{display:inline-flex;align-items:center;gap:7px;color:color-mix(in srgb,var(--store-text) 78%,transparent);font-size:13px;font-weight:700}
.sf-hero-split__checks svg{flex:none;width:16px;height:16px;fill:none;stroke:var(--store-primary);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.sf-hero-split__reviews{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding-block:4px;color:color-mix(in srgb,var(--store-text) 78%,transparent);font-size:14px;text-decoration:none}
.sf-hero-split__reviews strong{color:var(--store-text);font-weight:700}
.sf-hero-split__reviews:hover span{text-decoration:underline}
/* Image : photo (cadre 4:5 rempli) ou produit détouré (cutout) sur un rond pâle, avec ombre au sol. */
.sf-hero-split__media{position:relative;display:grid;grid-template:100%/100%;place-items:center;width:min(100%,440px);aspect-ratio:4/5;justify-self:center}
.sf-hero-split__media picture{position:relative;display:block;width:100%;height:100%}
.sf-hero-split__media img{display:block;width:100%;height:100%;object-fit:cover;border-radius:28px;box-shadow:0 24px 60px -24px rgb(15 23 42 / 35%)}
.sf-hero-split--cutout .sf-hero-split__media{width:min(100%,520px);aspect-ratio:1}
.sf-hero-split--cutout .sf-hero-split__media::before{content:"";position:absolute;inset:3%;border-radius:50%;background:color-mix(in srgb,var(--store-primary) 13%,var(--store-bg,#fff))}
.sf-hero-split--cutout .sf-hero-split__media picture{z-index:1;display:flex;justify-content:center;width:100%;height:86%}
.sf-hero-split--cutout .sf-hero-split__media img{width:auto;max-width:100%;height:100%;object-fit:contain;border-radius:0;box-shadow:none;animation:sf-hero-rise .7s cubic-bezier(.2,.7,.2,1) both}
.sf-hero-split__shadow{position:absolute;left:50%;bottom:7%;z-index:0;width:42%;height:5%;border-radius:50%;background:rgb(15 23 42 / 30%);filter:blur(10px);transform:translateX(-50%)}
@keyframes sf-hero-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.sf-hero-split--cutout .sf-hero-split__media img{animation:none}}
@media(max-width:760px){
 /* Image d'abord, compacte (≈ 42 % de la hauteur) */
 .sf-hero-split__inner{grid-template-columns:1fr;gap:16px;min-height:0;padding-block:12px 24px}
 .sf-hero-split h1{font-size:clamp(30px,8.6vw,40px)}
 .sf-hero-split__actions{margin-top:18px}.sf-hero-split__actions .sf-button{width:100%}
 .sf-hero-split__checks{margin-top:16px;gap:6px 16px}.sf-hero-split__checks li{font-size:12px}
 .sf-hero-split__media{order:-1;width:auto;max-width:100%;height:min(42svh,360px);aspect-ratio:4/5}
 .sf-hero-split--cutout .sf-hero-split__media{width:100%;aspect-ratio:auto}
 .sf-hero-split--cutout .sf-hero-split__media::before{inset:auto;top:0;left:50%;width:min(100%,min(42svh,360px));height:100%;transform:translateX(-50%)}
 .sf-hero-split--cutout .sf-hero-split__media picture{height:90%}
 .sf-hero-split__shadow{bottom:3%;width:36%}
}
/* Police du texte choisie par le marchand (StorefrontFonts::BODY) ; sans réglage, la pile d'avant. */
body{font-family:var(--store-body,Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)}
/* Avant / après : comparateur à curseur (sections/before_after.blade.php). La photo « après » est dessous,
   la photo « avant » dessus, découpée jusqu'à --position ; l'input range transparent couvre tout le cadre. */
.sf-before-after__frame{--position:50%;position:relative;max-width:720px;margin:20px auto 0;overflow:hidden;border-radius:16px;background:#f3f4f6;aspect-ratio:4/5;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.sf-before-after__layer{position:absolute;inset:0}
.sf-before-after__layer .sf-responsive-picture,.sf-before-after__layer img{display:block;width:100%;height:100%}
.sf-before-after__layer img{object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.sf-before-after__layer--before{clip-path:inset(0 calc(100% - var(--position)) 0 0)}
.sf-before-after__label{position:absolute;bottom:14px;padding:6px 12px;border-radius:999px;background:rgb(255 255 255 / 92%);color:#111827;font-size:13px;font-weight:500;line-height:1.2;box-shadow:0 1px 4px rgb(0 0 0 / 12%);pointer-events:none}
.sf-before-after__label--before{left:14px}
.sf-before-after__label--after{right:14px}
.sf-before-after__divider{position:absolute;top:0;bottom:0;left:var(--position);z-index:1;width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 0 1px rgb(0 0 0 / 6%),0 0 10px rgb(0 0 0 / 28%);pointer-events:none}
.sf-before-after__handle{position:absolute;left:50%;top:50%;display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:#fff;color:#111827;box-shadow:0 2px 10px rgb(0 0 0 / 22%);transform:translate(-50%,-50%)}
.sf-before-after__handle svg{width:28px!important;height:28px!important;max-width:none;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.sf-before-after__range{position:absolute;inset:0;z-index:2;width:100%;height:100%;margin:0;padding:0;background:transparent;opacity:0;cursor:ew-resize;touch-action:pan-y;-webkit-appearance:none;appearance:none}
.sf-before-after__range::-webkit-slider-runnable-track{height:100%;background:transparent}
.sf-before-after__range::-webkit-slider-thumb{width:2px;height:100%;border:0;background:transparent;-webkit-appearance:none;appearance:none}
.sf-before-after__range::-moz-range-track{height:100%;background:transparent}
.sf-before-after__range::-moz-range-thumb{width:2px;height:100%;border:0;border-radius:0;background:transparent}
.sf-before-after__range:focus-visible+.sf-before-after__divider .sf-before-after__handle{outline:2px solid var(--store-primary,#111827);outline-offset:3px}
/* Ordinateur : grand cadre paysage (toute la largeur de la page, 1100 px au plus) qui tient en hauteur dans l'écran avec son titre. */
@media(min-width:761px){.sf-before-after__frame{max-width:1100px;aspect-ratio:3/2;max-height:calc(100svh - 190px);min-height:420px}.sf-before-after>h2{text-align:center}}
@media(prefers-reduced-motion:reduce){.sf-before-after__layer--before,.sf-before-after__divider{transition:none}}
/* Fond de chaque section (réglage « Arrière-plan » : Aucun, Teinté, Doux, Couleur de la boutique, Foncé).
   La bande couvre toute la largeur de l'écran sans enveloppe autour de .sf-shell : image de bordure remplie,
   débordant de 100vmax à gauche et à droite (débordement visuel seulement : pas de défilement horizontal,
   et pas de liseré entre la section et son prolongement, contrairement à une ombre étendue). */
.sf-section-bg{--section-bg:transparent;border-image:conic-gradient(var(--section-bg) 0 0) fill 0//0 100vmax}
.sf-home-section.sf-section-bg,.sf-catalog.sf-section-bg{padding-block:clamp(44px,6vw,72px)}
.sf-section-bg--tint{--section-bg:color-mix(in srgb,var(--store-primary) 6%,var(--store-bg,#fff))}
.sf-section-bg--soft{--section-bg:color-mix(in srgb,var(--store-text,#171c1a) 2%,var(--store-bg,#fff))}
.sf-section-bg--brand{--section-bg:var(--store-primary);--sf-on-bg:var(--store-primary-contrast,#fff);--sf-on-bg-muted:color-mix(in srgb,var(--store-primary-contrast,#fff) 82%,var(--store-primary));--sf-on-bg-line:color-mix(in srgb,var(--store-primary-contrast,#fff) 24%,var(--store-primary))}
.sf-section-bg--dark{--section-bg:#151817;--sf-on-bg:#fff;--sf-on-bg-muted:rgba(255,255,255,.76);--sf-on-bg-line:rgba(255,255,255,.18)}
/* Couleur de la boutique et Foncé : texte clair (ou foncé si la couleur principale est claire). */
.sf-section-bg:is(.sf-section-bg--brand,.sf-section-bg--dark){--store-text:var(--sf-on-bg);--sf-dark:var(--sf-on-bg);--sf-muted:var(--sf-on-bg-muted);--sf-text-soft:var(--sf-on-bg-muted);--sf-line:var(--sf-on-bg-line);--sf-line-strong:var(--sf-on-bg-line);--sf-soft:color-mix(in srgb,var(--sf-on-bg) 6%,transparent);color:var(--sf-on-bg)}
.sf-section-bg:is(.sf-section-bg--brand,.sf-section-bg--dark) :is(h2,h3,.sf-home-section__link,.sf-collection-tile){color:var(--sf-on-bg)}
.sf-section-bg:is(.sf-section-bg--brand,.sf-section-bg--dark) :is(p,.sf-service-strip,.sf-collection-tile__count){color:var(--sf-on-bg-muted)}
.sf-section-bg:is(.sf-section-bg--brand,.sf-section-bg--dark) :is(.sf-faq__list,.sf-faq__item){border-color:var(--sf-on-bg-line)}
.sf-section-bg:is(.sf-section-bg--brand,.sf-section-bg--dark) .sf-faq__item summary:focus-visible{outline-color:var(--sf-on-bg)}
.sf-section-bg:is(.sf-section-bg--brand,.sf-section-bg--dark) .sf-how__grid b{color:var(--sf-on-bg-muted)}
.sf-section-bg:is(.sf-section-bg--brand,.sf-section-bg--dark) .sf-image-text__checks svg{background:var(--sf-on-bg-line);stroke:var(--sf-on-bg)}
/* Cartes blanches (bénéfices, idées d'utilisation, produits) : elles gardent leur texte foncé. */
.sf-section-bg:is(.sf-section-bg--brand,.sf-section-bg--dark) :is(.sf-benefits__list li,.sf-use-case,.sf-product-card){--store-text:#171c1a;--sf-dark:#171c1a;--sf-muted:#5f6662;--sf-text-soft:#3f4446;--sf-line:#e5e7e6;--sf-line-strong:#d7dadd;--sf-soft:#f6f7f6;--store-card-text:#171c1a;--store-card-bg:#fff;color:#171c1a;background:#fff}
.sf-section-bg:is(.sf-section-bg--brand,.sf-section-bg--dark) :is(.sf-use-case,.sf-product-card) :is(h3,p){color:inherit}
.sf-section-bg:is(.sf-section-bg--brand,.sf-section-bg--dark) :is(.sf-use-case,.sf-product-card) p{color:#5f6662}
/* Bouton principal sur la couleur de la boutique : inversé pour rester visible (hors cartes). */
.sf-section-bg--brand .sf-button:not(.sf-button--card,.sf-button--text){border-color:var(--store-primary-contrast);background:var(--store-primary-contrast);color:var(--store-primary)}
.sf-section-bg--dark .sf-button--ghost{border-color:#fff;color:#fff}
.sf-section-bg .sf-service-strip{border-bottom:0}
/* Rappel de commande : en Teinté et Doux, la bande est le fond (boîte transparente) ; en Foncé, la boîte prend ce fond. */
.sf-order-reminder.sf-section-bg .sf-order-reminder__box{background:transparent;padding-block:8px}
.sf-order-reminder--dark .sf-order-reminder__box{background:#151817;color:#fff}
.sf-order-reminder--dark .sf-order-reminder__box h2{color:#fff}
.sf-order-reminder--dark .sf-order-reminder__box p{color:rgba(255,255,255,.76)}
/* Fond de page foncé (body.sf-page--dark) : les nuances calculées pour une page claire se confondraient avec le fond.
   Teinté et Doux plus marqués ; Foncé devient une bande anthracite, nettement distincte d'une page noire. */
.sf-page--dark .sf-section-bg--tint{--section-bg:color-mix(in srgb,var(--store-primary) 22%,var(--store-bg,#000))}
.sf-page--dark .sf-section-bg--soft{--section-bg:color-mix(in srgb,var(--store-text,#fff) 8%,var(--store-bg,#000))}
.sf-page--dark .sf-section-bg--dark{--section-bg:color-mix(in srgb,#fff 15%,var(--store-bg,#000))}
.sf-page--dark .sf-order-reminder--dark .sf-order-reminder__box{background:color-mix(in srgb,#fff 15%,var(--store-bg,#000))}
/* Héros de la page de vente (mode un seul produit) : prix, note réelle et paiement à la livraison sous le titre.
   Mobile : héros compact pour que titre, prix, mention et bouton tiennent dans le premier écran,
   et la photo (sous le texte, hauteur limitée, entière) dans les deux premiers. */
.sf-hero-offer{display:grid;gap:8px;margin-top:22px}
.sf-hero-offer p{margin:0}
.sf-hero-offer__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.sf-hero-offer__price strong{color:var(--store-text);font-size:clamp(26px,2.6vw,34px);font-weight:800;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.sf-hero-offer__price del{color:color-mix(in srgb,var(--store-text) 55%,transparent);font-size:16px;font-weight:500;font-variant-numeric:tabular-nums}
.sf-hero-offer__cod{display:inline-flex;align-items:center;gap:8px;color:color-mix(in srgb,var(--store-text) 78%,transparent);font-size:14px;font-weight:600}
.sf-hero-offer__cod svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--store-primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sf-hero-split--sales .sf-hero-split__actions{margin-top:24px}
@media(max-width:760px){
 .sf-hero-split--sales .sf-hero-split__text{display:-webkit-box;margin-top:10px;overflow:hidden;font-size:15px;line-height:1.55;-webkit-line-clamp:3;-webkit-box-orient:vertical}
 .sf-hero-offer{gap:6px;margin-top:14px}
 .sf-hero-offer__price strong{font-size:26px}
 .sf-hero-split--sales .sf-hero-split__actions{margin-top:16px}
 .sf-hero-split--sales .sf-hero-split__checks{margin-top:14px}
}
/* Premier affichage plus rapide (plan des thèmes § 10, E6) : les sections sous la ligne de flottaison ne sont mises en page
   qu'à leur approche ; leur taille réelle est retenue ensuite (« auto »). Pas sur la première section, ni sur le héros, ni sur
   la fiche produit (formulaire #commander), ni sur les sections placées avant elle (le défilement vers #commander resterait
   exact), ni sur le catalogue (ses filtres mobiles sont en position fixe), ni dans l'éditeur de sections de l'administration
   (il calcule la position de la section choisie). Contenu toujours trouvé par Ctrl+F et lu par les lecteurs d'écran. */
@supports (content-visibility:auto){
 /* Règle à part : un navigateur sans :has() ignore seulement celle-ci. */
 body:not(.sf-sections-editor) [data-home-sections]~[data-section-id]~[data-section-id]:not([data-section-type="hero"],[data-section-type="main_product"],[data-section-type="catalog"]):not(:has(~.sf-product-page)){content-visibility:auto;contain-intrinsic-size:auto 700px}
 body:not(.sf-sections-editor) .sf-product-page .sf-description,
 body:not(.sf-sections-editor) .sf-product-page .sf-reviews,
 body:not(.sf-sections-editor) .sf-product-page .sf-product-related,
 body:not(.sf-sections-editor) .sf-footer{content-visibility:auto;contain-intrinsic-size:auto 700px}
}
/* Bouton de validation : retour à la ligne équilibré (le montant, insécable, passe en entier sur la 2e ligne si besoin). */
.sf-express__submit [data-checkout-submit-label],.sf-checkout-submit [data-checkout-submit-label]{text-wrap:balance}
/* ===== Blocs partagés des thèmes (docs/PLAN_THEMES_BOUTIQUE.md § 2.5, 2026-11-09) =====
   Variantes communes à toutes les mises en page ; chaque thème les habille dans public/css/themes/{layout}.css.
   Sans réglage, rien ne change pour la mise en page Classique. */

/* Bandeau à plusieurs messages avec icône : côte à côte sur ordinateur, un à la fois en fondu sur téléphone
   (délais négatifs : chaque message commence à sa place dans le cycle, jamais deux à la fois). */
.sf-announcement__messages{display:none;margin:0;padding:0;list-style:none}
.sf-announcement--messages{padding-block:9px}
.sf-announcement--messages .sf-announcement__track{display:none}
.sf-announcement--messages .sf-announcement__messages{display:flex;align-items:center;justify-content:space-around;gap:24px;max-width:1180px;margin-inline:auto}
.sf-announcement__message{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;white-space:nowrap}
.sf-announcement__message svg{flex:none;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sf-announcement__message span{overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){
 .sf-announcement--messages .sf-announcement__messages{display:grid;justify-content:center}
 .sf-announcement--messages .sf-announcement__message{grid-area:1/1;max-width:calc(100vw - 32px)}
 .sf-announcement--count-2 .sf-announcement__message{animation:sf-announce-2 8s infinite both;animation-delay:calc(var(--i,0) * 4s - 8s)}
 .sf-announcement--count-3 .sf-announcement__message{animation:sf-announce-3 12s infinite both;animation-delay:calc(var(--i,0) * 4s - 12s)}
 .sf-announcement--messages:is(:hover,:focus-within) .sf-announcement__message{animation-play-state:paused}
}
@keyframes sf-announce-2{0%,46%{opacity:1;visibility:visible}50%,96%{opacity:0;visibility:hidden}100%{opacity:1;visibility:visible}}
@keyframes sf-announce-3{0%,30%{opacity:1;visibility:visible}33.4%,96%{opacity:0;visibility:hidden}100%{opacity:1;visibility:visible}}
@media(max-width:760px) and (prefers-reduced-motion:reduce){
 /* Sans animation : les messages s'empilent, tous lisibles. */
 .sf-announcement--messages .sf-announcement__messages{gap:4px}
 .sf-announcement--messages .sf-announcement__message{grid-area:auto;animation:none!important;opacity:1;visibility:visible}
}

/* Héros en carrousel : piste en scroll-snap, une bannière par écran ; image au-dessus du texte sur téléphone. */
.sf-hero-carousel{position:relative;isolation:isolate}
.sf-hero-carousel__track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none}
.sf-hero-carousel__track::-webkit-scrollbar{display:none}
.sf-hero-slide{position:relative;isolation:isolate;display:grid;flex:0 0 100%;min-width:0;min-height:clamp(420px,40vw,540px);align-items:center;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;background:color-mix(in srgb,var(--store-primary) 7%,var(--store-bg,#fff))}
.sf-hero-slide>.sf-responsive-picture img{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover}
/* Voile côté texte : le texte foncé reste lisible sur n'importe quelle photo. Couleur réglable par thème
   (--sf-hero-veil, fond de la page par défaut ; foncé pour un héros sombre comme celui de Tech). */
.sf-hero-slide:not(.sf-hero-slide--no-image)::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,color-mix(in srgb,var(--sf-hero-veil,var(--store-bg,#fff)) 88%,transparent) 0%,color-mix(in srgb,var(--sf-hero-veil,var(--store-bg,#fff)) 62%,transparent) 38%,transparent 66%)}
.sf-hero-slide__copy{position:relative;z-index:1;width:min(100%,600px);padding:56px clamp(24px,7vw,112px);color:var(--store-text);overflow-wrap:anywhere}
.sf-hero-slide__eyebrow{margin:0 0 14px;color:var(--store-primary-text);font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.sf-hero-slide__title{max-width:16ch;margin:0;color:var(--store-text);font-family:var(--store-heading);font-size:clamp(36px,4.6vw,62px);font-weight:var(--store-heading-weight,600);letter-spacing:var(--store-heading-spacing,-.025em);line-height:1.08;text-wrap:balance}
.sf-hero-slide__text{max-width:44ch;margin:18px 0 0;color:color-mix(in srgb,var(--store-text) 82%,var(--store-bg,#fff));font-size:16px;line-height:1.6}
.sf-hero-slide__text:empty{display:none}
.sf-hero-slide__copy .sf-button{gap:10px;margin-top:28px;padding-inline:28px}
.sf-hero-slide__copy .sf-button::after{content:"\2192" / "";font-size:17px;line-height:1}
.sf-hero-carousel__arrow{position:absolute;top:50%;z-index:3;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--store-bg,#fff) 90%,transparent);color:var(--store-text);box-shadow:0 2px 10px rgba(0,0,0,.12);cursor:pointer;translate:0 -50%;transition:background-color .16s ease}
.sf-hero-carousel__arrow:hover{background:var(--store-bg,#fff)}
.sf-hero-carousel__arrow:focus-visible,.sf-hero-carousel__dot:focus-visible{outline:2px solid var(--store-primary);outline-offset:2px}
.sf-hero-carousel__arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sf-hero-carousel__arrow--prev{left:16px}.sf-hero-carousel__arrow--next{right:16px}
.sf-hero-carousel__dots{position:absolute;bottom:14px;left:50%;z-index:2;display:flex;gap:4px;translate:-50% 0}
/* Point visible de 10 px, zone de toucher de 32 px. */
.sf-hero-carousel__dot{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;background:transparent;cursor:pointer}
.sf-hero-carousel__dot::before{content:"";width:10px;height:10px;border:1.5px solid var(--store-text);border-radius:50%;background:transparent;transition:background-color .16s ease}
.sf-hero-carousel__dot[aria-current="true"]::before{background:var(--store-text)}
@media(max-width:760px){
 /* Mobile : texte, bouton, points et flèches posés sur l'image (comme sur ordinateur). L'image remplit la
    bannière, cadrée sur la droite où se trouve le sujet ; un voile clair en bas garde le texte lisible. */
 .sf-hero-slide{align-items:end;min-height:clamp(440px,118vw,560px)}
 .sf-hero-slide>.sf-responsive-picture img{object-position:72% center}
 .sf-hero-slide:not(.sf-hero-slide--no-image)::before{background:linear-gradient(0deg,color-mix(in srgb,var(--sf-hero-veil,var(--store-bg,#fff)) 94%,transparent) 0%,color-mix(in srgb,var(--sf-hero-veil,var(--store-bg,#fff)) 82%,transparent) 34%,color-mix(in srgb,var(--sf-hero-veil,var(--store-bg,#fff)) 20%,transparent) 62%,transparent 78%)}
 .sf-hero-slide__copy{box-sizing:border-box;width:100%;padding:24px 20px 28px}
 .sf-hero-carousel:not(.sf-hero-carousel--single) .sf-hero-slide__copy{padding-bottom:52px}
 .sf-hero-slide__title{font-size:clamp(27px,7.6vw,34px)}
 /* Mobile : la description est masquée (surtitre, titre, bouton et garanties suffisent) ; visible sur ordinateur. */
 .sf-hero-slide__text{display:none}
 .sf-hero-slide__copy .sf-button{margin-top:18px}
 /* Flèches sur les bords, à mi-hauteur de la bannière, posées au-dessus du texte (z-index) : choix de
    l'utilisateur, 2026-11-10. Le texte garde toute la largeur. */
 .sf-hero-carousel__arrow{top:50%;width:32px;height:32px;translate:0 -50%}
 .sf-hero-carousel__arrow--prev{left:6px}.sf-hero-carousel__arrow--next{right:6px}
 .sf-hero-carousel__arrow svg{width:16px;height:16px}
 .sf-hero-carousel__dots{bottom:8px}
}
@media(prefers-reduced-motion:reduce){.sf-hero-carousel__track{scroll-behavior:auto}}

/* Catégories en ronds : photo ronde, nom, « Voir » ; défilement horizontal sur téléphone. */
.sf-collection-circles{display:flex;flex-wrap:wrap;justify-content:center;gap:24px clamp(16px,4vw,56px);margin:0;padding:0;list-style:none}
.sf-collection-circle{display:grid;justify-items:center;gap:6px;width:132px;color:inherit;text-align:center;text-decoration:none}
.sf-collection-circle__media{display:grid;width:112px;height:112px;place-items:center;overflow:hidden;border-radius:50%;background:color-mix(in srgb,var(--store-primary) 10%,var(--store-bg,#fff));transition:box-shadow .2s ease}
.sf-collection-circle__media img{display:block;width:100%;height:100%;object-fit:cover}
.sf-collection-circle__initials{color:var(--store-primary-text);font-family:var(--store-heading);font-size:34px}
.sf-collection-circle__name{margin-top:8px;color:var(--sf-dark);font-size:15px;font-weight:600;line-height:1.3}
.sf-collection-circle__more{display:inline-flex;align-items:center;gap:6px;color:var(--sf-muted);font-size:13px}
.sf-collection-circle__more::after{content:"\2192" / ""}
.sf-collection-circle:hover .sf-collection-circle__media{box-shadow:0 0 0 2px var(--store-primary)}
.sf-collection-circle:hover .sf-collection-circle__name{text-decoration:underline;text-underline-offset:4px}
.sf-collection-circle:focus-visible{outline:2px solid var(--store-primary);outline-offset:4px;border-radius:12px}
@media(max-width:760px){
 .sf-collection-circles{flex-wrap:nowrap;justify-content:flex-start;gap:14px;margin-inline:-16px;padding:4px 16px 8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
 .sf-collection-circles::-webkit-scrollbar{display:none}
 .sf-collection-circles>li{flex:0 0 auto;scroll-snap-align:start}
 .sf-collection-circle{width:92px}
 .sf-collection-circle__media{width:80px;height:80px}
 .sf-collection-circle__name{margin-top:4px;font-size:13px}
 .sf-collection-circle__more{font-size:12px}
}

/* Bande de garanties : 4 colonnes icône + titre + précision ; 2 colonnes sur téléphone. */
.sf-guarantees--band{padding-block:clamp(28px,4vw,44px);border-top:1px solid var(--sf-line)}
.sf-guarantee-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-block:0;padding:0;list-style:none}
.sf-guarantee-band>li{display:flex;justify-content:center;padding:8px 20px}
.sf-guarantee-band>li+li{border-left:1px solid var(--sf-line)}
.sf-guarantee-band__item{display:flex;align-items:center;gap:14px;color:inherit;text-decoration:none}
a.sf-guarantee-band__item:hover strong{text-decoration:underline;text-underline-offset:3px}
.sf-guarantee-band__icon svg{display:block;width:32px;height:32px;fill:none;stroke:var(--store-primary-text);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.sf-guarantee-band__copy{display:grid;gap:2px}
.sf-guarantee-band__copy strong{color:var(--sf-dark);font-size:14px;font-weight:600}
.sf-guarantee-band__copy span{color:var(--sf-muted);font-size:12.5px;line-height:1.45}
@media(max-width:760px){
 .sf-guarantee-band{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 0}
 .sf-guarantee-band>li{justify-content:flex-start;padding:4px 12px}
 .sf-guarantee-band>li+li{border-left:0}
 .sf-guarantee-band__item{flex-direction:column;align-items:flex-start;gap:8px}
 .sf-guarantee-band__icon svg{width:28px;height:28px}
}

/* Fiches : badge « Nouveau » et pastilles de couleur (affichés seulement par la fiche d'une mise en page). */
.sf-product-card__new{padding:5px 9px;border-radius:999px;background:var(--store-card-bg,#fff);color:var(--store-card-text,#171C1A);font-size:11px;font-weight:700;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.sf-product-card__swatches{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none}
.sf-product-card__swatches .sf-variant-swatch{display:block;width:16px;height:16px;border:1px solid rgba(0,0,0,.18);border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 2px #fff}

/* ===== Blocs partagés ajoutés avec le thème Tech (plan des thèmes § 2.9, 2026-11-10) =====
   Sans réglage, rien ne change pour Classique et Élégance : ces classes n'apparaissent qu'avec la section ou la variante. */

/* Garanties sous le bouton du carrousel (réglage `perks` du héros) : icône et texte court, sur une seule ligne
   (la liste peut dépasser la colonne du texte) ; repli sur deux lignes seulement sur les très petits écrans. */
.sf-hero-slide__perks{display:flex;flex-wrap:nowrap;gap:10px 22px;width:max-content;max-width:calc(100vw - 48px);margin:26px 0 0;padding:0;list-style:none}
.sf-hero-slide__perks li{display:flex;align-items:center;gap:8px;white-space:nowrap;color:color-mix(in srgb,var(--store-text) 82%,var(--store-bg,#fff));font-size:13px;font-weight:500;line-height:1.3}
.sf-hero-slide__perks svg{flex:none;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){
 .sf-hero-slide__perks{gap:8px 12px;max-width:100%;margin-top:16px}
 .sf-hero-slide__perks li{gap:5px;font-size:11px}
 .sf-hero-slide__perks svg{width:16px;height:16px}
}

/* Catégories en tuiles (collection_list.style = boxed) : tuile claire arrondie, image entière centrée, nom et flèche ;
   défilement horizontal sur téléphone, grille sur ordinateur. */
.sf-collection-boxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;margin:0;padding:0;list-style:none}
.sf-collection-box{display:grid;justify-items:center;gap:12px;height:100%;padding:18px 12px 14px;border:1px solid transparent;border-radius:14px;background:color-mix(in srgb,var(--store-text) 4%,var(--store-bg,#fff));color:inherit;text-align:center;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease}
.sf-collection-box__media{display:grid;width:100%;aspect-ratio:1;max-width:112px;place-items:center}
.sf-collection-box__media img{display:block;width:100%;height:100%;object-fit:contain}
.sf-collection-box__initials{color:var(--store-primary-text);font-family:var(--store-heading);font-size:32px;font-weight:var(--store-heading-weight,600)}
.sf-collection-box__name{display:inline-flex;align-items:center;gap:4px;color:var(--sf-dark);font-size:14px;font-weight:600;line-height:1.3}
.sf-collection-box__name svg{flex:none;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sf-collection-box:hover{border-color:color-mix(in srgb,var(--store-text) 14%,transparent);box-shadow:0 6px 18px rgba(0,0,0,.06)}
.sf-collection-box:focus-visible{outline:2px solid var(--store-primary);outline-offset:2px}
@media(max-width:760px){
 .sf-collection-boxes{display:flex;gap:10px;margin-inline:-16px;padding:2px 16px 8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
 .sf-collection-boxes::-webkit-scrollbar{display:none}
 .sf-collection-boxes>li{flex:0 0 112px;scroll-snap-align:start}
 .sf-collection-box{gap:8px;padding:12px 8px 10px;border-radius:12px}
 .sf-collection-box__media{max-width:76px}
 .sf-collection-box__name{font-size:12.5px}
}

/* Tuiles promo (section promo_tiles) : 2 ou 3 cartes, image en fond avec le sujet à droite, texte à gauche ;
   ton clair ou sombre par carte, voile du même ton côté texte. Une colonne sur téléphone. */
.sf-promo-tiles__grid{display:grid;grid-template-columns:repeat(var(--promo-columns,2),minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
/* Deux sections de tuiles qui se suivent (ex. univers puis offres) : un seul espace entre elles. */
.sf-promo-tiles:not(.sf-section-bg)+.sf-promo-tiles:not(.sf-section-bg){padding-top:0}
.sf-promo-tiles--count-1 .sf-promo-tiles__grid{--promo-columns:1}
.sf-promo-tiles--count-3 .sf-promo-tiles__grid{--promo-columns:3}
.sf-promo-tile{--tile-bg:color-mix(in srgb,var(--store-text) 5%,var(--store-bg,#fff));--tile-text:var(--store-text);--tile-muted:color-mix(in srgb,var(--store-text) 74%,var(--store-bg,#fff));position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(200px,20vw,250px);overflow:hidden;border-radius:16px;background:var(--tile-bg);color:var(--tile-text)}
.sf-promo-tile--dark{--tile-bg:color-mix(in srgb,var(--store-primary) 10%,#0a0d14);--tile-text:#fff;--tile-muted:rgba(255,255,255,.8)}
/* Image limitée à la partie droite de la tuile et fondue sur son bord gauche : le texte (à gauche) ne passe
   jamais sur le sujet de la photo, quel que soit son cadrage. */
.sf-promo-tile>.sf-responsive-picture img{position:absolute;top:0;right:0;bottom:0;left:auto;z-index:-2;width:60%;height:100%;object-fit:cover;object-position:center;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 32%);mask-image:linear-gradient(90deg,transparent 0%,#000 32%)}
.sf-promo-tile:not(.sf-promo-tile--no-image)::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--tile-bg) 0%,color-mix(in srgb,var(--tile-bg) 82%,transparent) 36%,transparent 68%)}
.sf-promo-tile__copy{display:grid;justify-items:start;gap:8px;width:min(100%,56%);padding:24px clamp(20px,2.4vw,30px);overflow-wrap:anywhere}
.sf-promo-tiles--count-3 .sf-promo-tile__copy{width:min(100%,60%)}
.sf-promo-tile__eyebrow{margin:0;color:var(--tile-muted);font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.sf-promo-tile__title{margin:0;color:var(--tile-text);font-family:var(--store-heading);font-size:clamp(20px,2vw,26px);font-weight:var(--store-heading-weight,600);letter-spacing:var(--store-heading-spacing,-.02em);line-height:1.15;text-wrap:balance}
.sf-promo-tile__text{margin:0;color:var(--tile-muted);font-size:14px;line-height:1.5}
.sf-promo-tile__button{display:inline-flex;align-items:center;gap:8px;min-height:44px;white-space:nowrap;margin-top:8px;padding:0 18px;border-radius:999px;background:var(--tile-text);color:var(--tile-bg);font-size:14px;font-weight:600;text-decoration:none;transition:filter .16s ease}
.sf-promo-tile--light .sf-promo-tile__button{background:var(--store-text);color:var(--store-bg,#fff)}
.sf-promo-tile--dark .sf-promo-tile__button{background:#fff;color:#0b1220}
.sf-promo-tile__button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sf-promo-tile__button:hover{filter:brightness(.92)}
.sf-promo-tile__button:focus-visible{outline:2px solid var(--store-primary);outline-offset:3px}
@media(max-width:1000px){.sf-promo-tiles--count-3 .sf-promo-tiles__grid{--promo-columns:2}.sf-promo-tiles--count-3 .sf-promo-tile:first-child{grid-column:1/-1}}
@media(max-width:760px){
 .sf-promo-tiles__grid,.sf-promo-tiles--count-3 .sf-promo-tiles__grid{--promo-columns:1;gap:12px}
 .sf-promo-tile{min-height:190px;border-radius:14px}
 .sf-promo-tile__copy,.sf-promo-tiles--count-3 .sf-promo-tile__copy{width:min(100%,58%);padding:20px 18px}
 .sf-promo-tile__title{font-size:20px}
 .sf-promo-tile__text{font-size:13px}
}

/* « Rejoignez-nous sur WhatsApp » (section whatsapp_join) : encart clair arrondi, icône, texte et bouton. */
.sf-whatsapp-join__box{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px 24px;padding:clamp(20px,3vw,30px) clamp(20px,3.6vw,40px);border-radius:16px;background:color-mix(in srgb,var(--store-text) 4%,var(--store-bg,#fff))}
.sf-whatsapp-join__icon{display:grid;width:56px;height:56px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--store-primary) 12%,var(--store-bg,#fff));color:var(--store-primary-text)}
.sf-whatsapp-join__icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sf-home-section .sf-whatsapp-join__copy h2{margin:0;font-size:clamp(19px,2vw,23px)}
.sf-whatsapp-join__copy p{margin:6px 0 0;color:var(--sf-muted);font-size:14.5px;line-height:1.55}
.sf-whatsapp-join__button.sf-button{min-height:48px;padding-inline:24px;white-space:nowrap}
.sf-section-bg:is(.sf-section-bg--brand,.sf-section-bg--dark) .sf-whatsapp-join__box{background:transparent;padding-inline:0}
@media(max-width:760px){
 .sf-whatsapp-join__box{grid-template-columns:auto minmax(0,1fr);gap:14px 16px}
 .sf-whatsapp-join__icon{width:48px;height:48px}
 .sf-whatsapp-join__button.sf-button{grid-column:1/-1;width:100%}
}
/* Très petits écrans : les garanties du carrousel peuvent passer sur deux lignes. */
@media(max-width:369px){.sf-hero-slide__perks{flex-wrap:wrap;width:auto}}

/* ==== Blocs partagés ajoutés avec le thème « Multi-produits » (docs/PLAN_THEMES_BOUTIQUE.md § 2.10, 2026-11-10) ====
   Sans effet tant qu'un réglage ne les demande pas : Classique, Élégance et Tech restent identiques. */

/* Pastille promotionnelle en coin d'une bannière du carrousel (réglage `badge`). */
.sf-hero-slide__badge{position:absolute;top:clamp(14px,2vw,24px);right:clamp(14px,2vw,24px);z-index:2;max-width:min(46%,240px);margin:0;padding:10px 14px;border-radius:12px;background:var(--store-primary);color:var(--store-primary-contrast,#fff);font-family:var(--store-heading);font-size:clamp(14px,1.4vw,17px);font-weight:var(--store-heading-weight,700);line-height:1.2;text-align:center;overflow-wrap:anywhere;box-shadow:0 6px 18px rgba(0,0,0,.14)}
@media(max-width:760px){.sf-hero-slide__badge{top:12px;right:12px;max-width:52%;padding:7px 10px;border-radius:10px;font-size:12.5px}}

/* Catégories en ronds colorés (collection_list.style = colored) : fond pastel différent par rond (palette cyclique de
   8 teintes, réglable par thème), photo ronde au centre, nom dessous ; dernier rond « Voir tout ». */
.sf-collection-list--colored{--sf-pastel-1:#E4F0E6;--sf-pastel-2:#FBE6DE;--sf-pastel-3:#FCEFD3;--sf-pastel-4:#F9E3EA;--sf-pastel-5:#E1ECF7;--sf-pastel-6:#F1E7DA;--sf-pastel-7:#E8E5F6;--sf-pastel-8:#DFF1EE}
.sf-collection-colored{display:flex;flex-wrap:wrap;justify-content:center;gap:20px clamp(12px,2.4vw,32px);margin:0;padding:0;list-style:none}
.sf-collection-colored>li{--pastel:var(--sf-pastel-1)}
.sf-collection-colored>li:nth-child(8n+2){--pastel:var(--sf-pastel-2)}.sf-collection-colored>li:nth-child(8n+3){--pastel:var(--sf-pastel-3)}
.sf-collection-colored>li:nth-child(8n+4){--pastel:var(--sf-pastel-4)}.sf-collection-colored>li:nth-child(8n+5){--pastel:var(--sf-pastel-5)}
.sf-collection-colored>li:nth-child(8n+6){--pastel:var(--sf-pastel-6)}.sf-collection-colored>li:nth-child(8n+7){--pastel:var(--sf-pastel-7)}
.sf-collection-colored>li:nth-child(8n+8){--pastel:var(--sf-pastel-8)}
.sf-collection-colored__item{display:grid;justify-items:center;gap:10px;width:104px;color:inherit;text-align:center;text-decoration:none}
.sf-collection-colored__media{display:grid;width:88px;height:88px;place-items:center;overflow:hidden;border-radius:50%;background:var(--pastel);box-shadow:0 0 0 4px var(--store-bg,#fff),0 0 0 5px color-mix(in srgb,var(--store-text) 8%,transparent);transition:transform .2s ease,box-shadow .2s ease}
.sf-collection-colored__media .sf-responsive-picture,.sf-collection-colored__media picture{display:contents}
.sf-collection-colored__media img{display:block;width:76%;height:76%;border-radius:50%;object-fit:cover}
.sf-collection-colored__initials{color:color-mix(in srgb,var(--store-text) 72%,var(--pastel));font-family:var(--store-heading);font-size:30px}
.sf-collection-colored__all .sf-collection-colored__media{background:var(--store-bg,#fff);color:var(--store-text)}
.sf-collection-colored__all svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.6}
.sf-collection-colored__name{color:var(--sf-dark);font-size:14px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.sf-collection-colored__item:hover .sf-collection-colored__media{transform:translateY(-2px);box-shadow:0 0 0 4px var(--store-bg,#fff),0 0 0 6px var(--store-primary)}
.sf-collection-colored__item:hover .sf-collection-colored__name{text-decoration:underline;text-underline-offset:4px}
.sf-collection-colored__item:focus-visible{outline:2px solid var(--store-primary);outline-offset:4px;border-radius:12px}
@media(max-width:760px){
 .sf-collection-colored{flex-wrap:nowrap;justify-content:flex-start;gap:12px;margin-inline:-16px;padding:6px 16px 8px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:16px;scrollbar-width:none}
 .sf-collection-colored::-webkit-scrollbar{display:none}
 .sf-collection-colored>li{flex:0 0 auto;scroll-snap-align:start}
 .sf-collection-colored__item{width:76px;gap:8px}
 .sf-collection-colored__media{width:66px;height:66px}
 .sf-collection-colored__name{font-size:12.5px}
}
@media(max-width:560px){.sf-collection-colored{margin-inline:-12px;padding-inline:12px;scroll-padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.sf-collection-colored__media{transition:none}.sf-collection-colored__item:hover .sf-collection-colored__media{transform:none}}

/* Rangée défilante (partials/product-rail) et cartes d'avis : piste en scroll-snap, flèches sur ordinateur. */
.sf-product-rail,.sf-testimonials__rail{position:relative}
.sf-product-rail__track,.sf-testimonials__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 4 * 16px) / 5);gap:16px;margin:0;padding:4px 2px 10px;list-style:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.sf-product-rail__track::-webkit-scrollbar,.sf-testimonials__track::-webkit-scrollbar{display:none}
.sf-product-rail__item,.sf-testimonial{min-width:0;scroll-snap-align:start}
.sf-product-rail__item>.sf-product-card{height:100%}
.sf-product-rail__arrow{position:absolute;top:calc(50% - 22px);z-index:2;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid color-mix(in srgb,var(--store-text) 10%,transparent);border-radius:50%;background:var(--store-bg,#fff);color:var(--store-text);box-shadow:0 4px 14px rgba(0,0,0,.1);cursor:pointer;transition:opacity .16s ease,background-color .16s ease}
.sf-product-rail .sf-product-rail__arrow{top:clamp(70px,8vw,100px)}
.sf-product-rail__arrow--prev{left:-14px}.sf-product-rail__arrow--next{right:-14px}
.sf-product-rail__arrow:hover{background:color-mix(in srgb,var(--store-text) 5%,var(--store-bg,#fff))}
.sf-product-rail__arrow:disabled{opacity:0;pointer-events:none}
.sf-product-rail__arrow:focus-visible{outline:2px solid var(--store-primary);outline-offset:2px}
.sf-product-rail__arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.is-static>.sf-product-rail__arrow{display:none}
@media(max-width:1000px){.sf-product-rail__track{grid-auto-columns:calc((100% - 2 * 16px) / 3.2)}}
@media(max-width:760px){
 .sf-product-rail__track,.sf-testimonials__track{grid-auto-columns:calc((100% - 12px) / 2.2);gap:12px;margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px}
 .sf-product-rail__arrow{display:none}
}
@media(max-width:560px){.sf-product-rail__track,.sf-testimonials__track{margin-inline:-12px;padding-inline:12px;scroll-padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.sf-product-rail__track,.sf-testimonials__track{scroll-behavior:auto}}
.sf-catalog.sf-home-section--rail .sf-section-heading{align-items:baseline}

/* Avis clients (section testimonials) : note moyenne, cartes avec photo ronde ou initiale, prénom, étoiles, texte. */
.sf-testimonials .sf-home-section__heading{flex-wrap:wrap;align-items:center}
.sf-testimonials__average{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;color:var(--sf-muted);font-size:14px}
.sf-testimonials__average strong{color:var(--sf-dark);font-weight:700}
.sf-testimonials__average .sf-stars,.sf-testimonial__who .sf-stars{color:#B7791F}
.sf-testimonials__track{grid-auto-columns:calc((100% - 2 * 16px) / 3)}
.sf-testimonial figure{display:flex;flex-direction:column;gap:12px;height:100%;margin:0;padding:20px;border:1px solid color-mix(in srgb,var(--store-text) 8%,transparent);border-radius:16px;background:var(--store-card-bg,var(--store-bg,#fff));color:var(--store-card-text,var(--store-text))}
.sf-testimonial__head{display:flex;align-items:center;gap:12px;min-width:0}
.sf-testimonial__avatar{display:grid;flex:none;width:48px;height:48px;place-items:center;overflow:hidden;border-radius:50%;background:color-mix(in srgb,var(--store-primary) 12%,var(--store-bg,#fff));color:var(--store-primary-text);font-family:var(--store-heading);font-size:20px;font-weight:600}
.sf-testimonial__avatar .sf-responsive-picture,.sf-testimonial__avatar picture{display:contents}
.sf-testimonial__avatar img{display:block;width:100%;height:100%;object-fit:cover}
.sf-testimonial__who{display:grid;gap:3px;min-width:0}
.sf-testimonial__who strong{overflow:hidden;font-size:15px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.sf-testimonial__text{margin:0}
.sf-testimonial__text p{margin:0;color:color-mix(in srgb,currentColor 84%,transparent);font-size:14.5px;line-height:1.6;overflow-wrap:anywhere}
@media(max-width:1000px){.sf-testimonials__track{grid-auto-columns:calc((100% - 16px) / 2.1)}}
@media(max-width:760px){.sf-testimonials__track{grid-auto-columns:84%}.sf-testimonial figure{padding:16px}}

/* Passage du titre en couleur sur la bannière 1 du carrousel (réglage `title_highlight`, thème Promotions, 2026-11-10) :
   couleur de la boutique lisible sur le fond ; un thème à héros sombre l'éclaircit (promo.css). */
.sf-hero-slide__highlight{color:var(--store-primary-text)}
