/* ==========================================================
   SandyX Atelier — thème enfant de Classic
   Tentak Digital
   ========================================================== */
/* Polices chargées dans templates/_partials/head.tpl */

:root{
  --sdx-encre:#18224E;
  --sdx-rouge:#D8122E;
  --sdx-rouge-fonce:#A80D24;
  --sdx-rose:#F8E1E3;
  --sdx-metre:#F4C21B;
  --sdx-doux:#5A6185;
  --sdx-ligne:#D9DCE8;
  --sdx-fond2:#F5F6FA;
  --sdx-grille:rgba(24,34,78,.07);
  --sdx-serif:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  --sdx-sans:"Familjen Grotesk",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}

/* ---------- Base ---------- */
body{font-family:var(--sdx-sans);color:var(--sdx-encre);background:#fff;font-size:1rem;line-height:1.55}
#wrapper{background:#fff;padding-top:1rem}
#index #wrapper{padding-top:0}
#index #wrapper > .container,#index #content-wrapper{max-width:none}
h1,h2,h3,.h1,.h2,.h3,.page-header h1,.products-section-title{font-family:var(--sdx-serif);font-weight:500;color:var(--sdx-encre);text-transform:none;letter-spacing:-.01em;line-height:1.1}
a{color:var(--sdx-encre)}
a:hover,a:focus{color:var(--sdx-rouge)}
:focus-visible{outline:3px solid var(--sdx-rouge);outline-offset:3px}
.sdx-wrap{width:min(1200px,100% - 40px);margin-inline:auto}
.sdx-full{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}
.sdx-lead{color:var(--sdx-doux);font-size:1.08rem;max-width:58ch}

/* Boutons */
.btn-primary,.sdx-btn--rouge{background:var(--sdx-rouge);border-color:var(--sdx-rouge);color:#fff}
.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.sdx-btn--rouge:hover{background:var(--sdx-rouge-fonce)!important;border-color:var(--sdx-rouge-fonce)!important;color:#fff!important}
.btn{border-radius:999px;text-transform:none;font-weight:600;font-family:var(--sdx-sans);box-shadow:none}
.btn-secondary,.btn-tertiary{border-radius:999px}
.sdx-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.9em 1.5em;border-radius:999px;font-weight:600;text-decoration:none!important;border:2px solid var(--sdx-rouge);line-height:1.2;transition:background .2s,color .2s}
.sdx-btn--ligne{border-color:var(--sdx-encre);color:var(--sdx-encre);background:transparent}
.sdx-btn--ligne:hover{background:var(--sdx-encre);color:#fff!important}
.sdx-btn--blanc{background:#fff;border-color:#fff;color:var(--sdx-rouge)!important}
.sdx-btn--blanc:hover{background:var(--sdx-encre);border-color:var(--sdx-encre);color:#fff!important}

/* ---------- En-tête ---------- */
.sdx-top{background:var(--sdx-encre);color:#fff;font-size:.88rem}
.sdx-top__inner{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 15px;flex-wrap:wrap}
.sdx-top a{color:#fff;font-weight:600;text-decoration:none}
.sdx-top a:hover{color:#fff;text-decoration:underline}
.sdx-top__links span{margin:0 .4rem;opacity:.6}
#header{box-shadow:none;border-bottom:1px solid var(--sdx-ligne);color:var(--sdx-encre)}
#header .header-nav{border-bottom:none;max-height:none;margin-bottom:0}
#header .header-nav a,#header .header-nav .material-icons{color:var(--sdx-encre)}
#header .header-nav .blockcart{background:transparent;padding:.5rem}
#header .header-nav .cart-preview.active{background:var(--sdx-rouge);border-radius:999px}
#header .header-nav .cart-preview.active a,#header .header-nav .cart-preview.active i{color:#fff}
#header .header-top{padding-bottom:.6rem}
#header .logo{max-height:70px;width:auto}
.top-menu a[data-depth="0"]{font-family:var(--sdx-sans);text-transform:none;font-weight:500;font-size:1rem;color:var(--sdx-encre);padding:.5rem .6rem;border-bottom:2px solid transparent}
.top-menu a[data-depth="0"]:hover{color:var(--sdx-rouge);border-bottom:2px dashed var(--sdx-rouge)}
#_desktop_top_menu .top-menu li:nth-child(3) > a[data-depth="0"]{color:var(--sdx-rouge);font-weight:700}
.top-menu .sub-menu{box-shadow:0 18px 40px -18px rgba(24,34,78,.35);border-top:3px solid var(--sdx-metre)}
#search_widget form input[type=text]{border-radius:999px;border:1.5px solid var(--sdx-ligne);background:#fff;padding:10px 20px 10px 44px;font-family:var(--sdx-sans)}
#search_widget form input[type=text]:focus{outline:2px solid var(--sdx-rouge);outline-offset:0;color:var(--sdx-encre)}
#search_widget form i{left:6px}
#mobile_top_menu_wrapper{background:#fff}

/* ---------- Fil d'Ariane ---------- */
.breadcrumb{background:transparent;padding:.4rem 0 1rem;font-size:.9rem}
.breadcrumb li a{color:var(--sdx-doux)}
.breadcrumb li:last-child{color:var(--sdx-encre)}

/* ---------- Accueil ---------- */
.sdx-home h2{font-size:clamp(2.1rem,4.4vw,3.5rem)}
.sdx-home h2 em,.sdx-home .sdx-hero__titre span{font-style:italic}
.sdx-bloc{padding:5rem 0;max-width:1200px;margin-inline:auto}
.sdx-entete{margin-bottom:2.4rem}
.sdx-entete .sdx-lead{margin:.8rem 0 0}

.sdx-hero{background:#fff}
.sdx-hero__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:3rem;align-items:center;padding:4rem 0 4.5rem}
.sdx-hero__titre{font-size:clamp(3rem,7vw,6.2rem)!important;font-weight:500;margin:0}
.sdx-hero__titre span{display:block;color:var(--sdx-rouge);padding-left:.6em}
.sdx-hero .sdx-lead{margin:1.6rem 0 2rem}
.sdx-hero__ctas{display:flex;gap:.8rem;flex-wrap:wrap}
.sdx-chiffres{margin-top:2.2rem;display:flex;gap:2rem;flex-wrap:wrap;color:var(--sdx-doux);font-size:.95rem}
.sdx-chiffres b{display:block;color:var(--sdx-encre);font-family:var(--sdx-serif);font-size:1.8rem;font-weight:600;line-height:1}
.sdx-collage{position:relative;height:540px}
.sdx-collage figure{position:absolute;margin:0;background:#fff;padding:10px;box-shadow:0 18px 40px -18px rgba(24,34,78,.45)}
.sdx-collage figure::after{content:"";position:absolute;inset:4px;border:1.5px dashed var(--sdx-rouge);pointer-events:none}
.sdx-collage img{width:100%;height:100%;object-fit:cover}
.sdx-c1{width:52%;height:72%;left:4%;top:4%;transform:rotate(-4deg)}
.sdx-c2{width:46%;height:62%;right:2%;top:0;transform:rotate(3deg)}
.sdx-c3{width:44%;height:46%;right:14%;bottom:0;transform:rotate(-2deg);z-index:2}
.sdx-etiquette{position:absolute;left:2%;bottom:6%;z-index:3;background:var(--sdx-metre);color:var(--sdx-encre);padding:.7rem 1rem .7rem 1.6rem;font-weight:700;font-size:.95rem;transform:rotate(-8deg);clip-path:polygon(14px 0,100% 0,100% 100%,14px 100%,0 50%)}
.sdx-etiquette span{display:block;font-weight:500;font-size:.8rem}

.sdx-metre{background:var(--sdx-metre);color:var(--sdx-encre);overflow:hidden;border-block:2px solid var(--sdx-encre)}
.sdx-metre::before{content:"";position:absolute;inset:0 0 auto;height:14px;background:repeating-linear-gradient(90deg,var(--sdx-encre) 0 1.5px,transparent 1.5px 10px),repeating-linear-gradient(90deg,var(--sdx-encre) 0 2px,transparent 2px 50px);background-size:10px 8px,50px 14px;background-repeat:repeat-x}
.sdx-defile{display:flex;gap:3rem;white-space:nowrap;padding:1.25rem 0 .8rem;animation:sdx-defile 38s linear infinite;width:max-content}
.sdx-defile span{font-family:var(--sdx-serif);font-style:italic;font-size:1.45rem;font-weight:600}
.sdx-defile i{font-style:normal;color:var(--sdx-rouge);font-size:1.2rem}
.sdx-metre:hover .sdx-defile{animation-play-state:paused}
@keyframes sdx-defile{to{transform:translateX(-50%)}}

.sdx-univers{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:260px 260px;gap:16px}
.sdx-tuile{position:relative;overflow:hidden;border-radius:4px;color:#fff!important;background:#222;display:block}
.sdx-tuile img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.sdx-tuile:hover img{transform:scale(1.05)}
.sdx-tuile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(16,20,48,.85))}
.sdx-tuile div{position:absolute;left:1.3rem;right:1.3rem;bottom:1.1rem;z-index:2}
.sdx-tuile h3{color:#fff;font-size:1.9rem;font-style:italic;margin:0}
.sdx-tuile p{margin:.2rem 0 0;font-size:.92rem;color:#fff;opacity:.9}
.sdx-t1{grid-row:span 2}
.sdx-t1 h3{font-size:2.6rem}

/* Blocs produits natifs sur l'accueil */
.sdx-produits-home{padding-top:0}
.sdx-produits-home > section,.sdx-produits-home .featured-products{margin-bottom:4rem}
.products-section-title{text-align:left!important;font-size:clamp(2rem,4vw,3rem)!important;margin:0 0 2rem!important}
.all-product-link{color:var(--sdx-encre);font-weight:600;text-decoration:underline dashed;text-underline-offset:4px}

.sdx-diablesa{background:var(--sdx-encre);color:#fff;padding:5rem 0}
.sdx-diablesa__grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.sdx-diablesa h2{color:#fff;font-size:clamp(2.5rem,5.2vw,4.3rem)}
.sdx-diablesa .sdx-lead{color:#C9CDE4}
.sdx-diablesa__logo{background:#fff;border-radius:8px;padding:6px 10px;display:inline-block;margin-bottom:1.6rem}
.sdx-diablesa__logo img{height:52px;width:auto}
.sdx-diablesa__liste{list-style:none;padding:0;margin:1.8rem 0 2.2rem;display:grid;gap:.9rem}
.sdx-diablesa__liste li{padding-left:1.8rem;position:relative}
.sdx-diablesa__liste li::before{content:"";position:absolute;left:0;top:.7em;width:14px;border-top:2px dashed var(--sdx-rouge)}
.sdx-piece{position:relative;justify-self:center;width:min(420px,100%)}
.sdx-piece__cadre{background:#fff;padding:14px;transform:rotate(2deg)}
.sdx-piece__cadre img{width:100%;aspect-ratio:4/5;object-fit:cover}
.sdx-piece__cadre p{color:var(--sdx-encre);margin:.8rem .2rem .1rem;font-family:var(--sdx-serif);font-style:italic;font-size:1.15rem}
.sdx-sceau{position:absolute;right:-28px;bottom:40px;width:132px;height:132px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#F0324C,#B00C22 55%,#7E0718);display:grid;place-items:center;text-align:center;color:#FFE7EA;box-shadow:0 10px 24px -8px rgba(0,0,0,.6);transform:rotate(-12deg)}
.sdx-sceau::before{content:"";position:absolute;inset:12px;border-radius:50%;border:1.5px dashed rgba(255,231,234,.6)}
.sdx-sceau b{font-family:var(--sdx-serif);font-size:2.2rem;line-height:1;font-style:italic}
.sdx-sceau small{display:block;font-size:.72rem;font-weight:600;margin-top:.2rem}

.sdx-ateliers{background-color:var(--sdx-fond2);background-image:linear-gradient(var(--sdx-grille) 1px,transparent 1px),linear-gradient(90deg,var(--sdx-grille) 1px,transparent 1px);background-size:30px 30px;padding:5rem 0}
.sdx-cours{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sdx-carte-cours{background:#fff;border:1px solid var(--sdx-ligne);display:flex;flex-direction:column}
.sdx-carte-cours img{width:100%;aspect-ratio:16/11;object-fit:cover}
.sdx-carte-cours__corps{padding:1.4rem 1.4rem 1.6rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.sdx-carte-cours h3{font-size:1.7rem;margin:0}
.sdx-carte-cours p{margin:0;color:var(--sdx-doux)}
.sdx-meta{display:flex;gap:.5rem;flex-wrap:wrap}
.sdx-meta span{font-size:.82rem;font-weight:600;border:1.5px dashed var(--sdx-doux);border-radius:999px;padding:.15em .7em;color:var(--sdx-doux)}
.sdx-carte-cours__bas{margin-top:auto;padding-top:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.sdx-prix{font-family:var(--sdx-serif);font-size:2rem;font-weight:600}
.sdx-vedette{border:2px solid var(--sdx-rouge)}

.sdx-creatrice{display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:center}
.sdx-couverture{position:relative;width:min(380px,100%);justify-self:center}
.sdx-couverture img{width:100%;box-shadow:0 30px 60px -25px rgba(24,34,78,.6);transform:rotate(-3deg)}
.sdx-couverture__note{position:absolute;right:-20px;top:30px;background:var(--sdx-rouge);color:#fff;padding:.6rem .9rem;font-weight:700;transform:rotate(6deg);font-size:.9rem}
.sdx-citation{margin:0 0 1.5rem;padding:0;border:none;font-family:var(--sdx-serif);font-style:italic;font-size:clamp(2rem,3.8vw,3.2rem);line-height:1.1;color:var(--sdx-encre)}
.sdx-faits{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}
.sdx-faits div{border-top:2px dashed var(--sdx-rouge);padding-top:.8rem}
.sdx-faits b{display:block;font-family:var(--sdx-serif);font-size:1.25rem}
.sdx-faits span{color:var(--sdx-doux);font-size:.92rem}

.sdx-pdv{background:var(--sdx-rose);padding:4rem 0}
.sdx-pdv__inner{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.sdx-pdv .sdx-lead{margin:.6rem 0 0}

/* ---------- Miniatures produit (partout) ---------- */
.product-miniature .thumbnail-container{box-shadow:none;background:transparent;border-radius:0}
.product-miniature .thumbnail-container:hover,.product-miniature .thumbnail-container:focus{box-shadow:none}
.product-miniature .thumbnail-top{background:var(--sdx-fond2)}
.product-miniature .product-thumbnail img{transition:transform .5s ease}
.product-miniature:hover .product-thumbnail img{transform:scale(1.04)}
.product-miniature .product-description{box-shadow:none!important;background:transparent;text-align:left;padding:.8rem 0 0;position:static;height:auto}
.product-miniature .product-title{text-align:left;text-transform:none}
.product-miniature .product-title a{font-family:var(--sdx-sans);font-weight:600;font-size:1rem;color:var(--sdx-encre)}
.product-miniature .product-price-and-shipping{text-align:left;font-family:var(--sdx-serif);font-size:1.25rem;font-weight:600;color:var(--sdx-encre)}
.product-miniature .highlighted-informations{background:rgba(255,255,255,.95);box-shadow:none}
.product-miniature .variant-links{background:transparent}
.product-flags li.product-flag{background:var(--sdx-rouge);color:#fff;font-family:var(--sdx-sans);text-transform:none;font-size:.8rem;font-weight:700;padding:.3em .9em .3em .6em;min-height:0;box-shadow:none;clip-path:polygon(0 0,100% 0,calc(100% - 8px) 50%,100% 100%,0 100%)}
.product-flags li.product-flag.discount,.product-flags li.product-flag.discount-percentage{background:var(--sdx-metre);color:var(--sdx-encre)}

/* ---------- Catégorie ---------- */
.block-category{box-shadow:none;border:1px solid var(--sdx-ligne);border-top:6px solid var(--sdx-metre);padding:2rem;min-height:0}
.block-category h1{font-size:clamp(2.2rem,4vw,3.2rem);text-transform:none}
.block-category #category-description{color:var(--sdx-doux);font-size:1.02rem}
#left-column .block-categories,#left-column #search_filters{box-shadow:none;border:1px solid var(--sdx-ligne);background:#fff}
#left-column .block-categories .category-top-menu a.h6{font-family:var(--sdx-serif);font-size:1.3rem;text-transform:none}
.products-sort-order .select-title{border-radius:999px;border:1.5px solid var(--sdx-ligne);box-shadow:none}
.pagination .current a{color:var(--sdx-rouge)}

/* ---------- Fiche produit ---------- */
#product #content{max-width:none}
.product-cover{background:#fff;padding:12px;box-shadow:0 24px 50px -24px rgba(24,34,78,.5);position:relative}
.product-cover::after{content:"";position:absolute;inset:5px;border:1.5px dashed var(--sdx-rouge);pointer-events:none}
.product-cover img{box-shadow:none;background:transparent}
.product-images > li.thumb-container > .thumb.selected,.product-images > li.thumb-container > .thumb:hover{border:2px dashed var(--sdx-rouge)}
#product h1.h1,#product .page-content h1{font-size:clamp(2.2rem,4.2vw,3.4rem);text-transform:none;font-weight:500;margin-bottom:.8rem}
#product .product-prices .current-price,#product .product-prices .product-price{font-family:var(--sdx-serif);font-size:2.2rem;color:var(--sdx-encre);font-weight:600}
.product-prices .tax-shipping-delivery-label{color:var(--sdx-doux)}
.product-information{color:var(--sdx-encre)}
.product-variants > .product-variants-item .control-label{font-weight:600;color:var(--sdx-encre);margin-bottom:.6rem}
.product-variants > .product-variants-item select{border-radius:999px;border:1.5px solid var(--sdx-ligne);box-shadow:none;padding:.6rem 2.5rem .6rem 1rem;min-width:220px;height:auto}
.product-variants > .product-variants-item ul li .radio-label{border-radius:0;box-shadow:none;border:1.5px solid var(--sdx-ligne);font-weight:600;padding:.6rem 1rem}
.product-variants > .product-variants-item ul li .input-radio:checked + span{border:2px solid var(--sdx-encre);background:var(--sdx-encre);color:#fff}
.product-variants > .product-variants-item .input-color:checked + span{border:2px solid var(--sdx-encre)}
.product-variants > .product-variants-item .color{border-radius:50%;width:2.2rem;height:2.2rem}
.product-actions .add-to-cart{border-radius:999px;padding:.9rem 2rem;font-size:1.05rem;height:auto}
#block-reassurance{box-shadow:none;border-block:1.5px dashed var(--sdx-ligne);margin-top:1.5rem}
#block-reassurance li{border-bottom:none}
#block-reassurance li .block-reassurance-item{padding:.7rem 0}
#block-reassurance img{filter:invert(14%) sepia(87%) saturate(5000%) hue-rotate(345deg) brightness(88%)}
#block-reassurance span{font-weight:500;color:var(--sdx-encre)}
.tabs{box-shadow:none;border-top:1px solid var(--sdx-ligne);padding:1.5rem 0 0;margin-top:2rem}
.tabs .nav-tabs{border-bottom:1px solid var(--sdx-ligne)}
.tabs .nav-tabs .nav-link{font-family:var(--sdx-serif);font-size:1.3rem;color:var(--sdx-doux);border:none;padding:.4rem 0;margin-right:1.6rem}
.tabs .nav-tabs .nav-link.active,.tabs .nav-tabs .nav-link:hover{color:var(--sdx-encre);border:none;border-bottom:3px solid var(--sdx-rouge)}
.product-description{color:var(--sdx-doux);line-height:1.65}
.product-description ul{padding-left:1.2rem;list-style:disc}
.product-accessories h2,.featured-products h2,.product-accessories .products-section-title{text-align:left}
.social-sharing{margin-top:1rem}

/* ---------- Panier / tunnel ---------- */
.card,.cart-summary,.cart-grid-body .card-block{box-shadow:none}
.cart-summary{border:1px solid var(--sdx-ligne)}
body#checkout section.checkout-step{box-shadow:none;border:1px solid var(--sdx-ligne)}
body#checkout section.checkout-step .step-title{font-family:var(--sdx-serif);text-transform:none;font-size:1.3rem}

/* ---------- Page magasins ---------- */
#stores .page-stores .store-item{box-shadow:none;border:1px solid var(--sdx-ligne);border-left:5px solid var(--sdx-rouge);margin-bottom:14px}
#stores .page-stores .store-item-container .store-description .card-title{font-family:var(--sdx-serif);font-size:1.3rem;text-transform:none}
#stores .page-stores .store-item-container .divide-left{border-left:1.5px dashed var(--sdx-ligne)}
#stores .page-stores .store-item-container .divide-left table tr th{color:var(--sdx-encre)}
#stores .page-stores .store-item-container img{border-radius:6px}

/* ---------- Pages CMS ---------- */
#cms #content.page-cms{box-shadow:none;border:1px solid var(--sdx-ligne);padding:2rem}

/* ---------- Bandeau pro + pied de page ---------- */
.sdx-pro{background:var(--sdx-rouge);color:#fff}
.sdx-pro__inner{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:3.2rem 15px;flex-wrap:wrap}
.sdx-pro__title{color:#fff;font-size:clamp(2rem,4vw,3rem);margin:0}
.sdx-pro p{margin:.6rem 0 0;max-width:56ch;color:#fff;opacity:.95}
.footer-container{background:var(--sdx-encre);color:#C9CDE4;box-shadow:none;margin-top:0;padding-top:3.5rem}
.footer-container li a,.footer-container a,#footer .footer-container li a{color:#C9CDE4}
.footer-container li a:hover,.footer-container a:hover{color:#fff}
.footer-container .h3,.footer-container .h4,.footer-container .links .h3,.footer-container p.h3{color:#fff;font-family:var(--sdx-sans);font-size:1rem;text-transform:none;font-weight:600}
.footer-container .links .collapse,.footer-container .block-contact{color:#C9CDE4}
.footer-container .block-contact a{color:#fff}
.block_newsletter{background:var(--sdx-encre);border-bottom:1px solid #2B3361;color:#fff;padding:2rem 0;margin-bottom:0}
.block_newsletter #block-newsletter-label,.block_newsletter p{color:#fff;font-family:var(--sdx-serif);font-size:1.4rem}
.block_newsletter form input[type=email]{border-radius:999px 0 0 999px;border:1px solid #3A4479;background:transparent;color:#fff;padding:11px 18px}
.block_newsletter form input[type=email]::placeholder{color:#A9AECB}
.block_newsletter form .input-wrapper{flex:1}
.block_newsletter form input.btn,.block_newsletter form .btn{border-radius:0 999px 999px 0;background:var(--sdx-rouge);border:none;color:#fff;height:auto;padding:12px 20px}
.block_newsletter .col-xs-12 p,.block_newsletter #gdpr_consent label{color:#A9AECB;font-family:var(--sdx-sans);font-size:.85rem}
#footer{background:var(--sdx-encre);padding-top:0}
#footer .text-sm-center a,#footer .footer-container .row:last-child a{color:#A9AECB}

/* ---------- Responsive ---------- */
@media (max-width:991px){
  .sdx-hero__grid{grid-template-columns:1fr;padding-top:2.5rem}
  .sdx-collage{height:440px}
  .sdx-univers{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .sdx-t1{grid-column:span 2;height:360px}
  .sdx-tuile{height:240px}
  .sdx-diablesa__grid,.sdx-creatrice{grid-template-columns:1fr}
  .sdx-cours{grid-template-columns:1fr}
  .sdx-sceau{right:-6px}
  .sdx-bloc{padding:4rem 15px}
}
@media (max-width:767px){
  .sdx-top__inner{justify-content:center;text-align:center}
  .sdx-top__msg{display:none}
  #header .header-nav .mobile{padding:.4rem 0}
  .sdx-bloc{padding:3.2rem 15px}
  .sdx-hero__grid{padding:2rem 0 3rem;gap:2rem}
  .sdx-hero__ctas .sdx-btn{width:100%}
  .sdx-chiffres{gap:1rem;flex-wrap:nowrap}
  .sdx-chiffres > div{flex:1 1 0;min-width:0;font-size:.82rem}
  .sdx-chiffres b{font-size:1.3rem}
  .sdx-collage{height:360px}
  .sdx-etiquette{font-size:.85rem}
  .sdx-tuile h3{font-size:1.35rem}
  .sdx-t1 h3{font-size:2rem}
  .sdx-tuile p{font-size:.8rem}
  .sdx-tuile div{left:.9rem;right:.9rem;bottom:.8rem}
  .sdx-diablesa,.sdx-ateliers{padding:3.5rem 0}
  .sdx-sceau{width:100px;height:100px;right:-4px}
  .sdx-sceau b{font-size:1.7rem}
  .sdx-faits{grid-template-columns:1fr}
  .sdx-couverture__note{right:0}
  .sdx-pdv .sdx-btn,.sdx-pro .sdx-btn{width:100%}
  .sdx-pro__inner{padding:2.6rem 15px}
  .product-actions .add-to-cart{width:100%}
  .block-category{padding:1.4rem}
}
@media (prefers-reduced-motion:reduce){
  .sdx-defile{animation:none}
  .sdx-tuile img,.product-miniature .product-thumbnail img{transition:none}
}

/* Évite la barre de défilement horizontale due aux sections pleine largeur */
#wrapper,#footer{overflow-x:hidden;overflow-x:clip}

/* ==========================================================
   Compatibilité Classic 1.7.6.x
   (miniatures à largeur et hauteur fixes, description en absolu)
   ========================================================== */
.featured-products .products,#products .products,.product-accessories .products,.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:28px 20px;justify-content:stretch}
.products .product-miniature{width:auto!important;margin:0!important;float:none}
.product-miniature .thumbnail-container{width:100%!important;height:auto!important;margin:0}
.product-miniature .thumbnail-container .product-thumbnail{display:block;height:auto;aspect-ratio:4/5;overflow:hidden;background:var(--sdx-fond2)}
.product-miniature .thumbnail-container .product-thumbnail img{position:static;width:100%;height:100%;object-fit:cover;max-width:none;transform:none;left:auto;margin:0}
.product-miniature .product-description{position:static!important;width:auto!important;bottom:auto}
.product-miniature .highlighted-informations{display:none!important}
.product-miniature .product-flags{top:12px;left:0}
.products .product-miniature .product-title{margin:0 0 .2rem}
@media (max-width:767px){
  .featured-products .products,#products .products,.product-accessories .products,.products{grid-template-columns:repeat(2,1fr);gap:22px 12px}
}

/* ==========================================================
   Page catégorie — en-tête éditorial
   ========================================================== */
#category .block-category{display:block;padding:2.2rem 2.4rem;background:#fff}
#category .block-category h1{margin:0 0 1.2rem;font-size:clamp(2.4rem,4.4vw,3.6rem)}
#category .block-category-inner{display:grid;grid-template-columns:1fr 260px;gap:2.4rem;align-items:start}
#category .block-category-inner #category-description{color:var(--sdx-doux)!important;font-size:1.02rem;line-height:1.7;max-width:62ch}
#category #category-description p{margin:0 0 .9rem}

#category #category-description strong,#category #category-description b{color:var(--sdx-encre)}
#category .category-cover{position:relative;background:#fff;padding:10px;box-shadow:0 18px 40px -18px rgba(24,34,78,.45);transform:rotate(2deg)}
#category .category-cover::after{content:"";position:absolute;inset:4px;border:1.5px dashed var(--sdx-rouge);pointer-events:none}
#category .category-cover img{width:100%;height:auto;display:block}
#category #left-column .block-categories{padding:1.4rem}
#category #left-column .block-categories .category-top-menu a.h6{font-size:1.4rem;color:var(--sdx-encre)}
#category #left-column .block-categories .category-sub-menu li a{color:var(--sdx-doux)}
#category #left-column .block-categories .category-sub-menu li a:hover{color:var(--sdx-rouge)}
#js-product-list-top{margin:1.6rem 0 1rem;align-items:center}
#js-product-list-top .total-products p{color:var(--sdx-doux);margin:0}
.products-selection .sort-by{color:var(--sdx-doux)}

/* Miniatures : renforcement pour Classic 1.7.6 */
body .product-miniature .thumbnail-container{box-shadow:none!important;background:transparent!important;overflow:visible}
body .product-miniature .product-description{background:transparent!important;box-shadow:none!important;padding:.8rem 0 0!important}
body .product-miniature .product-title{text-align:left!important;margin:0 0 .25rem}
body .product-miniature .product-title a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;font-size:.98rem;line-height:1.35}
body .product-miniature .product-price-and-shipping{text-align:left!important;font-size:1.2rem}

@media (max-width:991px){
  #category .block-category-inner{grid-template-columns:1fr}
  #category .category-cover{max-width:320px;transform:none}
}
@media (max-width:767px){
  #category .block-category{padding:1.4rem}
}

/* ==========================================================
   Descriptions collées (polices intégrées depuis Word / autre site)
   ========================================================== */
#category-description *,
.product-description *,
#product-description-short *,
#cms .page-content *{
  font-family:var(--sdx-sans)!important;
  font-size:inherit!important;
  line-height:inherit!important;
}
#category-description strong,#category-description b,
.product-description strong,.product-description b{font-weight:700}
#category-description img{max-width:100%;height:auto}

/* ==========================================================
   Compatibilité Ap Page Builder (cartes produits et menu)
   ========================================================== */
/* Conteneurs de liste : grille souple quel que soit le balisage */
#js-product-list .products,
.product_list,
.products.row{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))!important;gap:28px 20px!important;margin:0!important}
#js-product-list .products > *,
.product_list > *,
.products.row > *{width:auto!important;max-width:none!important;flex:none!important;float:none!important;padding:0!important;margin:0!important}
.products.row::before,.products.row::after,.product_list::before,.product_list::after{display:none!important}

/* Carte produit */
.product-miniature,.ajax_block_product .product-miniature{width:100%!important;max-width:none!important;margin:0!important}
.product-miniature .thumbnail-container,
.product-miniature .product-container{width:100%!important;height:auto!important;box-shadow:none!important;border:none!important;background:transparent!important;overflow:visible!important}
.product-miniature .product-image,
.product-miniature .product-thumbnail{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--sdx-fond2);position:relative}
.product-miniature .product-image img,
.product-miniature .product-thumbnail img{position:static!important;width:100%!important;height:100%!important;object-fit:cover;max-width:none!important;transform:none!important;margin:0!important}
.product-miniature .product-meta,
.product-miniature .product-description{position:static!important;width:auto!important;height:auto!important;background:transparent!important;box-shadow:none!important;padding:.8rem 0 0!important;text-align:left!important}
.product-miniature .product-title,
.product-miniature .product-title a,
.product-miniature h2,.product-miniature h3{text-align:left!important;text-transform:none!important}
.product-miniature .product-title a{font-family:var(--sdx-sans)!important;font-weight:600!important;color:var(--sdx-encre)!important;font-size:.98rem!important;line-height:1.35!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}
.product-miniature .product-price-and-shipping,
.product-miniature .content_price{text-align:left!important;justify-content:flex-start!important}
.product-miniature .price{font-family:var(--sdx-serif)!important;font-size:1.2rem!important;font-weight:600!important;color:var(--sdx-encre)!important}
.product-miniature .highlighted-informations,
.product-miniature .functional-buttons{display:none!important}

/* Menu (ps_mainmenu ou mégamenu Ap Page Builder) */
.top-menu a[data-depth="0"],
.megamenu .navbar-nav > li > a,
.leo-megamenu .navbar-nav > li > a,
.megamenu > ul > li > a,
ul.megamenu > li > a,
.navbar-nav > li.nav-item > a.nav-link{
  font-family:var(--sdx-sans)!important;
  text-transform:none!important;
  font-weight:500!important;
  font-size:1rem!important;
  color:var(--sdx-encre)!important;
  letter-spacing:0!important;
}
.top-menu a[data-depth="0"]:hover,
.megamenu .navbar-nav > li > a:hover,
.leo-megamenu .navbar-nav > li > a:hover,
ul.megamenu > li > a:hover,
.navbar-nav > li.nav-item > a.nav-link:hover{color:var(--sdx-rouge)!important}

@media (max-width:767px){
  #js-product-list .products,.product_list,.products.row{grid-template-columns:repeat(2,1fr)!important;gap:22px 12px!important}
}

/* ==========================================================
   Gamme Haute Couture : logo Diablesa + pièce de la collection
   ========================================================== */
#category .sdx-cat-hc{display:grid!important;grid-template-columns:1fr 320px;gap:3rem;align-items:start;background:var(--sdx-encre)!important;color:#fff;border:none!important;border-top:6px solid var(--sdx-rouge)!important;padding:2.6rem!important;overflow:hidden}
#category .sdx-cat-hc h1{color:#fff;margin:0 0 1.2rem}
#category .sdx-cat-hc #category-description,
#category .sdx-cat-hc #category-description *{color:#C9CDE4!important}
#category .sdx-cat-hc #category-description strong,
#category .sdx-cat-hc #category-description b{color:#fff!important}
.sdx-cat-hc__visuel{position:relative;padding:40px 10px 30px}
.sdx-cat-hc__piece{margin:0;background:#fff;padding:12px;transform:rotate(2deg);box-shadow:0 24px 50px -20px rgba(0,0,0,.6);position:relative}
.sdx-cat-hc__piece::after{content:"";position:absolute;inset:5px;border:1.5px dashed var(--sdx-rouge);pointer-events:none}
.sdx-cat-hc__piece img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.sdx-cat-hc__piece figcaption{color:var(--sdx-encre);margin:.7rem .2rem 0;font-family:var(--sdx-serif);font-style:italic;font-size:1.05rem}
.sdx-cat-hc__logo{position:absolute;top:0;left:-18px;z-index:3;background:#fff;border-radius:10px;padding:8px 12px;transform:rotate(-6deg);box-shadow:0 12px 26px -10px rgba(0,0,0,.55)}
.sdx-cat-hc__logo img{display:block;width:150px;height:auto;mix-blend-mode:multiply}
#category .sdx-cat-hc__sceau{right:-14px;bottom:70px;width:110px;height:110px}
#category .sdx-cat-hc__sceau b{font-size:1.9rem}
@media (max-width:991px){
  #category .sdx-cat-hc{grid-template-columns:1fr;padding:1.6rem!important}
  .sdx-cat-hc__visuel{max-width:340px;margin:0 auto}
}

/* Descriptions de catégorie : écriture identique sur toutes les catégories */
#category #category-description,
#category #category-description *{font-style:normal!important;font-weight:400;font-size:1rem!important;line-height:1.7!important}
#category #category-description strong,#category #category-description b{font-weight:700!important}
#category #category-description em,#category #category-description i{font-style:italic!important}

/* ==========================================================
   Fiche produit : sélecteur de quantité (Classic 1.7.6)
   ========================================================== */
.product-quantity{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem}
.product-quantity .qty{float:none;width:auto;margin:0}
.product-quantity .add{float:none;margin:0}
.product-quantity .bootstrap-touchspin{display:flex!important;align-items:stretch;width:auto;height:52px;border:1.5px solid var(--sdx-ligne);border-radius:999px;overflow:hidden;background:#fff;box-shadow:none!important}
.product-quantity #quantity_wanted{width:56px;height:100%;border:none!important;background:transparent;text-align:center;font-family:var(--sdx-sans);font-weight:600;font-size:1.05rem;color:var(--sdx-encre);padding:0 0 0 14px;box-shadow:none}
.product-quantity #quantity_wanted:focus{outline:none}
.product-quantity .bootstrap-touchspin .input-group-btn-vertical{display:flex;flex-direction:column;float:none;width:40px;position:static}
.product-quantity .bootstrap-touchspin .input-group-btn-vertical > .btn{flex:1;display:flex;align-items:center;justify-content:center;width:100%;height:auto;margin:0;padding:0;border:none!important;border-radius:0!important;background:transparent;color:var(--sdx-encre);position:static}
.product-quantity .bootstrap-touchspin .input-group-btn-vertical > .btn:hover{background:var(--sdx-fond2);color:var(--sdx-rouge)}
.product-quantity .bootstrap-touchspin .input-group-btn-vertical i{position:static!important;font-size:1.1rem;line-height:1}
.product-quantity .add-to-cart{height:52px!important;padding:0 2rem!important;display:inline-flex;align-items:center;gap:.4rem}
.product-quantity .add-to-cart .material-icons{line-height:1}
.social-sharing{display:flex;align-items:center;gap:.6rem;margin-top:1.4rem}
.social-sharing li{box-shadow:none!important;border:1.5px solid var(--sdx-ligne);background-color:#fff}
.social-sharing li:hover{border-color:var(--sdx-rouge)}
@media (max-width:767px){
  .product-quantity .add{flex:1}
  .product-quantity .add-to-cart{width:100%;justify-content:center}
}

/* ==========================================================
   Fiche produit : photos au format portrait 3:4
   (formats d'image large_default 800x1067, medium 452x603, home 400x533)
   ========================================================== */
.product-cover{padding:10px}
.product-cover img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block}
.product-cover .layer{background:rgba(24,34,78,.35)}
#product-modal .modal-content .modal-body .product-cover-modal{width:auto;max-width:100%;height:auto;max-height:85vh;object-fit:contain}
#product-modal .modal-content .modal-body figure{max-width:100%}

/* Vignettes de la fiche produit : petites, portrait, alignées */
#product .images-container .product-images{display:flex;gap:8px;margin:0}
#product .images-container .product-images > li.thumb-container{display:block;flex:none;width:80px!important;margin:0}
#product .images-container .product-images > li.thumb-container > .thumb{width:80px!important;height:107px!important;max-width:none;aspect-ratio:auto;object-fit:cover;margin:0;border:2px solid transparent}
#product .images-container .product-images > li.thumb-container > .thumb.selected,
#product .images-container .product-images > li.thumb-container > .thumb:hover{border:2px dashed var(--sdx-rouge)}
#product .images-container .js-qv-mask{margin-top:12px}
#product .scroll-box-arrows i{color:var(--sdx-encre)}

/* ==========================================================
   Réassurance fiche produit : étiquettes de couture
   (module blockreassurance, anciennes et nouvelles versions)
   ========================================================== */
#block-reassurance,
.blockreassurance_product{box-shadow:none!important;border:none!important;background:transparent!important;margin:2rem 0 1rem!important;padding:0!important;position:relative}
#block-reassurance::before,
.blockreassurance_product::before{content:"✂  Nos promesses d’atelier";display:block;font-family:var(--sdx-serif);font-style:italic;font-size:1.3rem;color:var(--sdx-encre);padding-bottom:.7rem;margin-bottom:1.2rem;border-bottom:1.5px dashed var(--sdx-ligne)}
#block-reassurance ul,
.blockreassurance_product{display:grid!important;grid-template-columns:repeat(3,1fr);gap:14px;list-style:none;margin:0;padding:0}
.blockreassurance_product::before{grid-column:1 / -1}
#block-reassurance ul{margin:0!important}
#block-reassurance li,
.blockreassurance_product > div{border:none!important;padding:0!important;margin:0!important;width:auto!important;float:none!important;clear:none!important}
#block-reassurance li .block-reassurance-item,
.blockreassurance_product > div{position:relative;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-align:center;min-height:118px;padding:1.1rem .7rem 1rem 1.3rem!important;background:var(--sdx-metre);color:var(--sdx-encre);clip-path:polygon(16px 0,100% 0,100% 100%,16px 100%,0 50%);transform:rotate(-2deg);transition:transform .25s ease}
#block-reassurance li:nth-child(2) .block-reassurance-item,
.blockreassurance_product > div:nth-of-type(2){transform:rotate(1.5deg);background:var(--sdx-rose)}
#block-reassurance li:nth-child(3) .block-reassurance-item,
.blockreassurance_product > div:nth-of-type(3){transform:rotate(-1deg)}
#block-reassurance li .block-reassurance-item:hover,
.blockreassurance_product > div:hover{transform:rotate(0) scale(1.03)}
/* œillet de l'étiquette */
#block-reassurance li .block-reassurance-item::after,
.blockreassurance_product > div::after{content:"";position:absolute;left:12px;top:50%;width:8px;height:8px;border-radius:50%;background:#fff;transform:translateY(-50%);box-shadow:inset 0 0 0 1.5px rgba(24,34,78,.25)}
/* icônes du thème à la place des images du module */
#block-reassurance img,
.blockreassurance_product img,
.blockreassurance_product .item-product{display:none!important}
#block-reassurance li .block-reassurance-item::before,
.blockreassurance_product > div::before{content:"";display:block;width:30px;height:30px;background-repeat:no-repeat;background-position:center;background-size:contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2318224E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3Ccircle cx='12' cy='16' r='1.3'/%3E%3C/svg%3E")}
#block-reassurance li:nth-child(2) .block-reassurance-item::before,
.blockreassurance_product > div:nth-of-type(2)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D8122E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='6' width='14' height='11' rx='1'/%3E%3Cpath d='M15 10h4l3 3v4h-7'/%3E%3Ccircle cx='6' cy='18' r='2'/%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3C/svg%3E")}
#block-reassurance li:nth-child(3) .block-reassurance-item::before,
.blockreassurance_product > div:nth-of-type(3)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2318224E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7'/%3E%3Cpath d='M3 4v5h5'/%3E%3Cpath d='M12 8.5c-1.2-1.6-4-1-4 1.2 0 2 4 4.3 4 4.3s4-2.3 4-4.3c0-2.2-2.8-2.8-4-1.2Z'/%3E%3C/svg%3E")}
#block-reassurance span,
#block-reassurance .h6,
.blockreassurance_product .block-title,
.blockreassurance_product p{margin:0!important;font-family:var(--sdx-sans)!important;font-weight:700!important;font-size:.9rem!important;line-height:1.25!important;color:var(--sdx-encre)!important;text-transform:none!important}
.blockreassurance_product p:empty{display:none}
.blockreassurance_product .clearfix{display:none}
@media (max-width:520px){
  #block-reassurance ul,.blockreassurance_product{grid-template-columns:1fr;gap:10px}
  #block-reassurance li .block-reassurance-item,
  .blockreassurance_product > div{flex-direction:row;justify-content:flex-start;min-height:0;padding:.8rem 1rem .8rem 2rem!important;text-align:left}
}
@media (prefers-reduced-motion:reduce){
  #block-reassurance li .block-reassurance-item,.blockreassurance_product > div{transition:none}
}

/* Réassurance : masque l'élément vide en trop généré par le module */
.blockreassurance_product > div:nth-of-type(n+4),
#block-reassurance li:nth-child(n+4),
.blockreassurance_product > div:not(:has(.block-title, p:not(:empty))),
#block-reassurance li:not(:has(span:not(:empty))){display:none!important}

/* ==========================================================
   Fiche produit : onglets + description « papier patron »
   ========================================================== */
#product .tabs{border-top:none!important;padding:0!important;margin-top:2.4rem!important;background:transparent!important;box-shadow:none!important}
#product .tabs .nav-tabs{display:flex;flex-wrap:wrap;gap:.6rem;border:none!important;margin:0 0 -1px 0;padding:0}
#product .tabs .nav-tabs .nav-item{margin:0!important;float:none}
#product .tabs .nav-tabs .nav-link{display:inline-block;margin:0!important;padding:.65rem 1.4rem!important;border:1.5px dashed var(--sdx-doux)!important;border-bottom:none!important;border-radius:14px 14px 0 0!important;background:#fff;color:var(--sdx-doux)!important;font-family:var(--sdx-serif)!important;font-size:1.2rem!important;font-weight:500;outline:none!important;box-shadow:none!important;transition:background .2s,color .2s}
#product .tabs .nav-tabs .nav-link:hover{color:var(--sdx-rouge)!important;border-color:var(--sdx-rouge)!important}
#product .tabs .nav-tabs .nav-link.active{background:var(--sdx-encre);color:#fff!important;border:1.5px solid var(--sdx-encre)!important;border-bottom:none!important;font-style:italic}
#product .tabs .nav-tabs .nav-link:focus-visible{outline:3px solid var(--sdx-rouge)!important;outline-offset:2px}
#product .tabs .tab-content{position:relative;padding:2.2rem 2rem 2rem!important;background-color:var(--sdx-fond2);background-image:linear-gradient(var(--sdx-grille) 1px,transparent 1px),linear-gradient(90deg,var(--sdx-grille) 1px,transparent 1px);background-size:24px 24px;border-top:4px solid var(--sdx-encre)}
#product .tabs .tab-content::before{content:"";position:absolute;inset:9px;border:1.5px dashed rgba(216,18,46,.35);pointer-events:none}

/* Texte de la description */
#product .product-description{color:var(--sdx-encre)!important;max-width:62ch}
#product .product-description,
#product .product-description *{font-weight:400!important;line-height:1.75!important}
#product .product-description p{margin:0 0 1rem}
/* Onglet Détails du produit */
#product #product-details{color:var(--sdx-encre)}
#product #product-details .label{font-weight:700;color:var(--sdx-encre);font-size:.95rem}
#product #product-details .product-reference,
#product #product-details .product-quantities,
#product #product-details .product-manufacturer{background:#fff;border-left:4px solid var(--sdx-metre);padding:.6rem .9rem;margin:0 0 .6rem}
#product #product-details .product-manufacturer img{max-height:50px;width:auto}
#product .product-features dl.data-sheet dt.name,
#product .product-features dl.data-sheet dd.value{background:#fff;font-weight:500}
#product .product-features dl.data-sheet dt.name:nth-of-type(even),
#product .product-features dl.data-sheet dd.value:nth-of-type(even){background:var(--sdx-rose)}

@media (max-width:767px){
  #product .tabs .nav-tabs .nav-link{font-size:1.05rem!important;padding:.55rem 1rem!important}
  #product .tabs .tab-content{padding:1.6rem 1.2rem 1.4rem!important}
}
#product .tabs .nav-tabs{list-style:none}
#product .tabs .nav-tabs .nav-link{text-decoration:none!important}

/* ==========================================================
   Fiche produit : la colonne photos suit le défilement
   (comble le vide à gauche quand la description est longue)
   ========================================================== */
@media (min-width:768px){
  #product .row:has(> [class*="col-"] .images-container){display:flex;flex-wrap:wrap;align-items:flex-start}
  #product .row:has(> [class*="col-"] .images-container) > [class*="col-"]:has(.images-container){position:sticky;top:24px;align-self:flex-start;z-index:1}
}
/* Étiquette sous les photos */
#product .images-container::after{content:"Imaginé, coupé et cousu en France";display:inline-block;margin:1.6rem 0 0 .4rem;padding:.65rem 1.1rem .65rem 1.7rem;background:var(--sdx-metre);color:var(--sdx-encre);font-family:var(--sdx-sans);font-weight:700;font-size:.92rem;transform:rotate(-3deg);clip-path:polygon(14px 0,100% 0,100% 100%,14px 100%,0 50%)}

/* ==========================================================
   Descriptions produit : mise en forme UNIQUE pour toutes les fiches
   (neutralise polices, tailles, couleurs et alignements collés)
   ========================================================== */
#product .product-description,
#product .product-description *,
#product #product-description-short,
#product #product-description-short *{
  font-family:var(--sdx-sans)!important;
  font-size:1rem!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:1.75!important;
  color:var(--sdx-encre)!important;
  text-align:left!important;
  text-decoration:none!important;
  letter-spacing:normal!important;
  text-transform:none!important;
  background:transparent!important;
}
#product .product-description strong,#product .product-description b,
#product #product-description-short strong,#product #product-description-short b{font-weight:700!important}
#product .product-description em,#product .product-description i,
#product #product-description-short em,#product #product-description-short i{font-style:italic!important}
#product .product-description h1,#product .product-description h2,#product .product-description h3,
#product .product-description h4,#product .product-description h5,#product .product-description h6{font-weight:700!important;margin:1.2rem 0 .5rem}
#product .product-description a,#product #product-description-short a{color:var(--sdx-rouge)!important;text-decoration:underline!important;text-underline-offset:3px}
#product .product-description p,#product .product-description div{margin:0 0 .9rem}
#product .product-description ul,#product .product-description ol{margin:0 0 1rem;padding-left:1.2rem}
#product .product-description img{max-width:100%;height:auto}
#product #product-description-short{color:var(--sdx-doux)!important;margin:1rem 0 1.4rem}
#product #product-description-short *{color:var(--sdx-doux)!important}
/* En-tête identique sur toutes les fiches */
#product .product-description::before{content:"✂  Le mot de la créatrice";display:inline-block;font-family:var(--sdx-serif)!important;font-style:italic!important;font-size:1.6rem!important;line-height:1.2!important;color:var(--sdx-encre)!important;padding-bottom:.6rem;margin-bottom:1.3rem;border-bottom:3px solid var(--sdx-metre)}

/* Badge « Nouveau » / promo : jamais tronqué */
.product-flags{pointer-events:none;z-index:3}
.product-flags li.product-flag{width:auto!important;max-width:none!important;min-width:0!important;white-space:nowrap!important;overflow:visible!important;line-height:1.2!important;padding:.35em 1.3em .35em .75em!important;margin-top:.5rem!important;font-size:.82rem!important;letter-spacing:.01em}
#product .product-flags{top:14px;left:10px}

/* ==========================================================
   Badges produit : petite pastille discrète dans le coin
   (remplace les bandeaux qui couvraient les photos)
   ========================================================== */
.product-flags,
#product .product-flags{position:absolute!important;top:10px!important;left:10px!important;right:auto!important;width:auto!important;display:flex!important;flex-direction:column;align-items:flex-start;gap:6px;margin:0!important;padding:0!important;z-index:3;pointer-events:none}
.product-flags li.product-flag{display:inline-flex!important;align-items:center;gap:.45em;width:max-content!important;min-width:0!important;min-height:0!important;margin:0!important;padding:.32em .8em!important;border-radius:999px!important;clip-path:none!important;background:rgba(255,255,255,.94)!important;color:var(--sdx-encre)!important;font-family:var(--sdx-sans)!important;font-size:.7rem!important;font-weight:700!important;letter-spacing:.07em!important;text-transform:uppercase!important;line-height:1.2!important;box-shadow:0 6px 14px -6px rgba(16,20,48,.45)!important}
.product-flags li.product-flag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sdx-rouge);flex:none}
.product-flags li.product-flag.discount,
.product-flags li.product-flag.discount-percentage,
.product-flags li.product-flag.discount-amount,
.product-flags li.product-flag.on-sale{background:var(--sdx-rouge)!important;color:#fff!important}
.product-flags li.product-flag.discount::before,
.product-flags li.product-flag.discount-percentage::before,
.product-flags li.product-flag.discount-amount::before,
.product-flags li.product-flag.on-sale::before{background:#fff}
.product-flags li.product-flag.out_of_stock{background:var(--sdx-encre)!important;color:#fff!important}
#product .product-flags{top:20px!important;left:20px!important}

/* ==========================================================
   Badges : étiquette cousue dans le coin (version finale)
   ========================================================== */
body .product-flags,
body#product .product-flags{top:0!important;left:0!important;gap:0}
body .product-flags li.product-flag{
  border-radius:0 0 8px 0!important;
  padding:.45em .95em .5em .85em!important;
  background:var(--sdx-encre)!important;
  color:#fff!important;
  font-family:var(--sdx-serif)!important;
  font-style:italic!important;
  font-weight:500!important;
  font-size:.92rem!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
  box-shadow:none!important;
  gap:0!important;
}
body .product-flags li.product-flag::before{display:none!important}
body .product-flags li.product-flag + li.product-flag{border-radius:0 0 8px 0!important;margin-top:2px!important}
body .product-flags li.product-flag.discount,
body .product-flags li.product-flag.discount-percentage,
body .product-flags li.product-flag.discount-amount,
body .product-flags li.product-flag.on-sale{background:var(--sdx-rouge)!important;font-family:var(--sdx-sans)!important;font-style:normal!important;font-weight:700!important}
body#product .product-flags{top:12px!important;left:12px!important}
/* Inutile d'afficher « Nouveau » sur la page Nouveaux produits */
body#new-products .product-flags li.product-flag.new{display:none!important}

/* Liens du bandeau du haut : toujours blancs (le #header de Classic les foncait) */
#header .sdx-top a,#header .sdx-top a:visited{color:#fff!important}
#header .sdx-top a:hover{color:var(--sdx-metre)!important;text-decoration:none}

/* ==========================================================
   Pages d'information (CMS : Livraison, Mentions, CGV…)
   ========================================================== */
body#cms #wrapper{padding-top:.5rem}
body#cms .page-header{text-align:center;margin:1.5rem auto 2.4rem;max-width:820px}
body#cms .page-header::before{content:"SandyX, créatrice made in France";display:block;font-family:var(--sdx-sans);font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sdx-rouge);margin-bottom:.8rem}
body#cms .page-header h1{font-family:var(--sdx-serif)!important;font-style:italic;font-weight:500;font-size:clamp(2.6rem,5.5vw,4.2rem)!important;color:var(--sdx-encre);text-transform:none;margin:0}
body#cms .page-header::after{content:"";display:block;width:90px;height:4px;background:var(--sdx-metre);margin:1.2rem auto 0}

body#cms #content.page-cms{position:relative;max-width:820px;margin:0 auto 4rem;padding:3.2rem 3.4rem!important;border:none!important;box-shadow:0 30px 60px -40px rgba(24,34,78,.45)!important;background-color:var(--sdx-fond2)!important;background-image:linear-gradient(var(--sdx-grille) 1px,transparent 1px),linear-gradient(90deg,var(--sdx-grille) 1px,transparent 1px);background-size:26px 26px;border-top:5px solid var(--sdx-encre)!important}
body#cms #content.page-cms::before{content:"";position:absolute;inset:10px;border:1.5px dashed rgba(216,18,46,.35);pointer-events:none}
body#cms #content.page-cms::after{content:"✂ — — — — — — — — —";display:block;text-align:center;margin-top:2.4rem;color:var(--sdx-rouge);letter-spacing:.2em;font-size:.9rem;opacity:.7}

/* Texte uniforme, quelle que soit la mise en forme collée */
body#cms .page-cms,
body#cms .page-cms *{font-family:var(--sdx-sans)!important;color:var(--sdx-encre)!important;background-color:transparent!important;text-align:left!important;line-height:1.75!important;letter-spacing:normal!important}
body#cms .page-cms p,body#cms .page-cms li,body#cms .page-cms td{font-size:1.02rem!important;color:#3D4470!important}
body#cms .page-cms p{margin:0 0 1.1rem}
body#cms .page-cms a{color:var(--sdx-rouge)!important;text-decoration:underline;text-underline-offset:3px}
body#cms .page-cms strong,body#cms .page-cms b{font-weight:700!important;color:var(--sdx-encre)!important}

/* Titres internes : Bodoni, avec un fil de couture */
body#cms .page-cms h1,body#cms .page-cms h2,body#cms .page-cms h3,body#cms .page-cms h4,body#cms .page-cms h5{font-family:var(--sdx-serif)!important;font-weight:500!important;text-transform:none!important;line-height:1.2!important;margin:2rem 0 .9rem}
body#cms .page-cms h1,body#cms .page-cms h2{font-size:1.9rem!important;font-style:italic}
body#cms .page-cms h3,body#cms .page-cms h4,body#cms .page-cms h5{font-size:1.4rem!important;padding-left:1.4rem;position:relative}
body#cms .page-cms h3::before,body#cms .page-cms h4::before,body#cms .page-cms h5::before{content:"";position:absolute;left:0;top:.65em;width:.85rem;border-top:2px dashed var(--sdx-rouge)}
body#cms .page-cms > :first-child,body#cms .page-cms > :first-child *{margin-top:0}

/* Listes et tableaux */
body#cms .page-cms ul{list-style:none;padding-left:0;margin:0 0 1.2rem}
body#cms .page-cms ul li{position:relative;padding-left:1.6rem;margin-bottom:.4rem}
body#cms .page-cms ul li::before{content:"";position:absolute;left:0;top:.8em;width:.9rem;border-top:2px dashed var(--sdx-rouge)}
body#cms .page-cms table{width:100%;border-collapse:collapse;margin:1rem 0 1.6rem;background:#fff!important}
body#cms .page-cms th,body#cms .page-cms td{border:1px solid var(--sdx-ligne)!important;padding:.7rem .9rem}
body#cms .page-cms th{background:var(--sdx-encre)!important;color:#fff!important}
body#cms .page-cms img{max-width:100%;height:auto;border-radius:4px}

@media (max-width:767px){
  body#cms #content.page-cms{padding:2rem 1.5rem!important}
  body#cms .page-header{margin:1rem auto 1.6rem}
}

/* ==========================================================
   Page « Salons » : calendrier façon étiquettes
   (classes sdx-salon* à coller dans le contenu de la page CMS)
   ========================================================== */
body#cms .page-cms .sdx-salons__intro{font-size:1.1rem!important;color:var(--sdx-encre)!important;margin-bottom:1.8rem}
body#cms .page-cms .sdx-salons h2{display:flex;align-items:center;gap:1rem}
body#cms .page-cms .sdx-salons h2::after{content:"";flex:1;border-top:1.5px dashed var(--sdx-ligne)}
body#cms .page-cms .sdx-salons__liste{display:grid;gap:12px;margin:0 0 1.6rem}
body#cms .page-cms .sdx-salon{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:1.2rem;background-color:#fff!important;border-left:5px solid var(--sdx-rouge);padding:.9rem 1.2rem;box-shadow:0 10px 24px -18px rgba(24,34,78,.5);transition:transform .2s}
body#cms .page-cms .sdx-salon:hover{transform:translateX(4px)}
body#cms .page-cms .sdx-salon__date{display:flex;flex-direction:column;line-height:1.1!important}
body#cms .page-cms .sdx-salon__jours{font-family:var(--sdx-serif)!important;font-size:1.55rem!important;font-weight:600!important;color:var(--sdx-encre)!important;line-height:1.1!important}
body#cms .page-cms .sdx-salon__jours sup{font-size:.6em!important}
body#cms .page-cms .sdx-salon__mois{font-size:.78rem!important;font-weight:700!important;letter-spacing:.1em;text-transform:uppercase!important;color:var(--sdx-rouge)!important;line-height:1.4!important}
body#cms .page-cms .sdx-salon__infos{display:flex;flex-direction:column;line-height:1.3!important}
body#cms .page-cms .sdx-salon__ville{font-family:var(--sdx-serif)!important;font-style:italic;font-size:1.45rem!important;color:var(--sdx-encre)!important;line-height:1.2!important}
body#cms .page-cms .sdx-salon__lieu{font-size:.9rem!important;color:var(--sdx-doux)!important;line-height:1.4!important}
body#cms .page-cms .sdx-salon__marque{justify-self:end;white-space:nowrap;padding:.4em .9em .4em 1.4em;font-size:.8rem!important;font-weight:700!important;line-height:1.2!important;background-color:var(--sdx-metre)!important;color:var(--sdx-encre)!important;clip-path:polygon(10px 0,100% 0,100% 100%,10px 100%,0 50%)}
body#cms .page-cms .sdx-salon__marque--sphere{background-color:var(--sdx-rose)!important}
body#cms .page-cms .sdx-salons__note{font-size:.88rem!important;color:var(--sdx-doux)!important;border-top:1.5px dashed var(--sdx-ligne);padding-top:1rem}
@media (max-width:600px){
  body#cms .page-cms .sdx-salon{grid-template-columns:1fr auto;gap:.4rem 1rem}
  body#cms .page-cms .sdx-salon__date{grid-column:1 / -1;flex-direction:row;align-items:baseline;gap:.6rem}
}

/* ==========================================================
   Pages d'information : blocs réutilisables
   (sdx-infos, sdx-cartes, sdx-carte, sdx-infos__contact)
   ========================================================== */
body#cms .page-cms .sdx-infos__intro{font-size:1.1rem!important;color:var(--sdx-encre)!important;margin-bottom:1.8rem}
body#cms .page-cms .sdx-infos h2{display:flex;align-items:center;gap:1rem}
body#cms .page-cms .sdx-infos h2::after{content:"";flex:1;border-top:1.5px dashed var(--sdx-ligne)}
body#cms .page-cms .sdx-cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:0 0 1.8rem}
body#cms .page-cms .sdx-carte{background-color:#fff!important;padding:1.3rem 1.2rem 1.2rem;border-top:4px solid var(--sdx-metre);box-shadow:0 12px 26px -20px rgba(24,34,78,.55)}
body#cms .page-cms .sdx-carte:nth-child(2){border-top-color:var(--sdx-rouge)}
body#cms .page-cms .sdx-carte:nth-child(3){border-top-color:var(--sdx-encre)}
body#cms .page-cms .sdx-carte h3{margin:.6rem 0 .4rem!important;padding:0!important;font-size:1.35rem!important;font-style:italic}
body#cms .page-cms .sdx-carte h3::before{display:none!important}
body#cms .page-cms .sdx-carte p{font-size:.95rem!important;margin:0!important;line-height:1.6!important}
body#cms .page-cms .sdx-carte__icone{display:block;width:38px;height:38px;background-repeat:no-repeat;background-position:center;background-size:contain}
body#cms .page-cms .sdx-carte__icone--cb{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2318224E' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20M6 15h4'/%3E%3C/svg%3E")}
body#cms .page-cms .sdx-carte__icone--paypal{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D8122E' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 21l1.5-9h4a5 5 0 0 0 0-10H7.5L4.5 19H8'/%3E%3Cpath d='M9.5 16h3a4 4 0 0 0 4-4'/%3E%3C/svg%3E")}
body#cms .page-cms .sdx-carte__icone--virement{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2318224E' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10 12 4l9 6'/%3E%3Cpath d='M5 10v8M9.5 10v8M14.5 10v8M19 10v8M3 20h18'/%3E%3C/svg%3E")}
body#cms .page-cms .sdx-infos__contact{margin-top:2rem;padding:1.1rem 1.3rem;background-color:var(--sdx-rose)!important;border-left:5px solid var(--sdx-rouge)}
body#cms .page-cms .sdx-infos__contact p{margin:0!important;color:var(--sdx-encre)!important}
body#cms .page-cms .sdx-carte__icone--mobile{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D8122E' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='2' width='12' height='20' rx='2.5'/%3E%3Cpath d='M11 18h2'/%3E%3Cpath d='M9.5 10.5l2 2 3.5-4'/%3E%3C/svg%3E")}
body#cms .page-cms .sdx-carte__icone--bouclier{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2318224E' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 4 6v6c0 5 3.5 8 8 9 4.5-1 8-4 8-9V6l-8-3Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E")}

/* ==========================================================
   Connexion / Création de compte / Mot de passe oublié
   ========================================================== */
:is(body#authentication,body#registration,body#password) .page-header{text-align:center;margin:1.5rem auto 2rem;max-width:720px}
:is(body#authentication,body#registration,body#password) .page-header::before{content:"L’atelier SandyX";display:block;font-family:var(--sdx-sans);font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sdx-rouge);margin-bottom:.7rem}
body#registration .page-header::before{content:"Rejoignez l’atelier SandyX"}
:is(body#authentication,body#registration,body#password) .page-header h1{font-family:var(--sdx-serif)!important;font-style:italic;font-weight:500;font-size:clamp(2.4rem,5vw,3.6rem)!important;color:var(--sdx-encre);margin:0;text-transform:none}
:is(body#authentication,body#registration,body#password) .page-header::after{content:"";display:block;width:90px;height:4px;background:var(--sdx-metre);margin:1.1rem auto 0}

/* La carte du formulaire : papier patron */
:is(body#authentication,body#registration,body#password) #content.page-content{position:relative;max-width:720px;margin:0 auto 4rem;padding:2.6rem 3rem 2.4rem!important;border:none!important;border-top:5px solid var(--sdx-encre)!important;box-shadow:0 30px 60px -40px rgba(24,34,78,.45)!important;background-color:var(--sdx-fond2)!important;background-image:linear-gradient(var(--sdx-grille) 1px,transparent 1px),linear-gradient(90deg,var(--sdx-grille) 1px,transparent 1px);background-size:26px 26px}
:is(body#authentication,body#registration,body#password) #content.page-content::before{content:"";position:absolute;inset:10px;border:1.5px dashed rgba(216,18,46,.35);pointer-events:none}

/* « Vous avez déjà un compte ? » */
body#registration .register-form > p:first-child{background:var(--sdx-rose);border-left:5px solid var(--sdx-rouge);padding:.9rem 1.1rem;margin:0 0 1.8rem;color:var(--sdx-encre);font-weight:500}
body#registration .register-form > p:first-child a{color:var(--sdx-rouge);font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* Champs : libellé au-dessus, pleine largeur */
:is(body#authentication,body#registration,body#password) .form-group.row{display:flex;flex-wrap:wrap;align-items:center;margin:0 0 1.1rem}
:is(body#authentication,body#registration,body#password) .form-group.row > [class*="col-md-"]{float:none;flex:0 0 100%;max-width:100%;width:100%;padding:0}
:is(body#authentication,body#registration,body#password) .form-control-label{text-align:left!important;padding:0 0 .35rem!important;font-weight:700;font-size:.92rem;color:var(--sdx-encre)}
:is(body#authentication,body#registration,body#password) .form-control-comment{padding:.25rem 0 0!important;font-size:.8rem;color:var(--sdx-doux);font-style:italic}
:is(body#authentication,body#registration,body#password) .form-control{height:50px;border:1.5px solid var(--sdx-ligne)!important;border-radius:12px!important;background:#fff!important;color:var(--sdx-encre)!important;font-family:var(--sdx-sans);font-size:1rem;padding:0 1rem;box-shadow:none!important;transition:border-color .2s,box-shadow .2s}
:is(body#authentication,body#registration,body#password) .form-control:focus{border-color:var(--sdx-rouge)!important;box-shadow:0 0 0 4px rgba(216,18,46,.12)!important;outline:none}
:is(body#authentication,body#registration,body#password) .form-control::placeholder{color:#A9AECB}

/* Mot de passe + bouton Montrer */
:is(body#authentication,body#registration,body#password) .input-group{display:flex;width:100%}
:is(body#authentication,body#registration,body#password) .input-group .form-control{border-radius:12px 0 0 12px!important;border-right:none!important}
:is(body#authentication,body#registration,body#password) .input-group-btn{display:flex;width:auto}
:is(body#authentication,body#registration,body#password) .input-group-btn .btn{height:50px;border-radius:0 12px 12px 0!important;background:var(--sdx-encre)!important;color:#fff!important;border:none;font-size:.78rem;font-weight:700;letter-spacing:.08em;padding:0 1.1rem}
:is(body#authentication,body#registration,body#password) .input-group-btn .btn:hover{background:var(--sdx-rouge)!important}

/* Civilité : boutons-pastilles */
:is(body#authentication,body#registration) .radio-inline{display:inline-flex;align-items:center;gap:.4rem;margin:0 .5rem 0 0;padding:.5rem 1rem;border:1.5px solid var(--sdx-ligne);border-radius:999px;background:#fff;cursor:pointer;font-weight:600;color:var(--sdx-encre)}
:is(body#authentication,body#registration) .radio-inline:has(input:checked){border-color:var(--sdx-encre);background:var(--sdx-encre);color:#fff}
:is(body#authentication,body#registration) .custom-radio{width:18px;height:18px;border:1.5px solid currentColor;border-radius:50%;margin:0;background:transparent}
:is(body#authentication,body#registration) .custom-radio input[type=radio]:checked + span{background:var(--sdx-rouge);width:8px;height:8px;top:3.5px;left:3.5px}

/* Cases à cocher */
:is(body#authentication,body#registration) .custom-checkbox{display:flex;align-items:flex-start;gap:.6rem}
:is(body#authentication,body#registration) .custom-checkbox input[type=checkbox] + span{width:22px;height:22px;flex:none;border:1.5px solid var(--sdx-encre);border-radius:6px;background:#fff;margin:0;display:inline-flex;align-items:center;justify-content:center}
:is(body#authentication,body#registration) .custom-checkbox input[type=checkbox]:checked + span{background:var(--sdx-rouge);border-color:var(--sdx-rouge)}
:is(body#authentication,body#registration) .custom-checkbox input[type=checkbox] + span .checkbox-checked{color:#fff;font-size:18px;margin:0}
:is(body#authentication,body#registration) .custom-checkbox label{padding-left:0;font-weight:500;color:var(--sdx-encre);line-height:1.5}
:is(body#authentication,body#registration) .custom-checkbox em,
:is(body#authentication,body#registration) .custom-checkbox + br + em,
:is(body#authentication,body#registration) .form-group em{display:block;font-size:.82rem;color:var(--sdx-doux);margin-top:.3rem}

/* Bouton principal */
:is(body#authentication,body#registration,body#password) .form-footer{margin-top:1.6rem;text-align:center}
:is(body#authentication,body#registration,body#password) .form-footer .btn,
:is(body#authentication,body#registration,body#password) .form-control-submit{float:none!important;width:100%;height:56px;border-radius:999px!important;font-size:1.05rem;font-weight:700;letter-spacing:.02em}

/* Page connexion : liens secondaires */
body#authentication .forgot-password{text-align:right;margin:-.3rem 0 .8rem}
body#authentication .forgot-password a{color:var(--sdx-doux);font-size:.88rem;text-decoration:underline;text-underline-offset:3px}
body#authentication hr{border-top:1.5px dashed var(--sdx-ligne);margin:2rem 0 1.4rem}
body#authentication .no-account{text-align:center}
body#authentication .no-account a{display:inline-flex;align-items:center;justify-content:center;width:100%;height:52px;border:2px solid var(--sdx-encre);border-radius:999px;color:var(--sdx-encre);font-weight:700;text-decoration:none}
body#authentication .no-account a:hover{background:var(--sdx-encre);color:#fff}

@media (max-width:767px){
  :is(body#authentication,body#registration,body#password) #content.page-content{padding:1.8rem 1.3rem 1.6rem!important}
}
:is(body#authentication,body#registration,body#password) .form-control{width:100%;display:block}
:is(body#authentication,body#registration,body#password) .input-group .form-control{flex:1;width:auto}

/* ==========================================================
   Espace client (Mon compte et ses sous-pages)
   ========================================================== */
body.page-customer-account .page-header{text-align:center;margin:1.5rem auto 2.2rem}
body.page-customer-account .page-header::before{content:"Votre espace SandyX";display:block;font-family:var(--sdx-sans);font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sdx-rouge);margin-bottom:.7rem}
body.page-customer-account .page-header h1{font-family:var(--sdx-serif)!important;font-style:italic;font-weight:500;font-size:clamp(2.4rem,5vw,3.6rem)!important;color:var(--sdx-encre);margin:0;text-transform:none}
body.page-customer-account .page-header::after{content:"";display:block;width:90px;height:4px;background:var(--sdx-metre);margin:1.1rem auto 0}
body.page-customer-account #content.page-content{background:transparent!important;box-shadow:none!important;border:none!important;padding:0!important}

/* Tuiles de « Mon compte » */
body#my-account #content .links{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin:0 0 2rem}
body#my-account #content .links::before,body#my-account #content .links::after{display:none!important}
body#my-account #content .links a{float:none!important;width:auto!important;max-width:none!important;padding:0!important;margin:0!important;text-decoration:none}
body#my-account #content .links a .link-item{position:relative;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;height:100%;min-height:170px;margin:0!important;padding:1.6rem 1.2rem!important;background:#fff!important;box-shadow:0 14px 30px -22px rgba(24,34,78,.6)!important;border-top:4px solid var(--sdx-metre);font-family:var(--sdx-serif)!important;font-style:italic;font-weight:500!important;font-size:1.25rem!important;text-transform:none!important;color:var(--sdx-encre)!important;text-align:center;transition:transform .25s ease,box-shadow .25s ease}
body#my-account #content .links a:nth-child(3n+2) .link-item{border-top-color:var(--sdx-rouge)}
body#my-account #content .links a:nth-child(3n) .link-item{border-top-color:var(--sdx-encre)}
body#my-account #content .links a .link-item::after{content:"";position:absolute;inset:7px;border:1.5px dashed transparent;pointer-events:none;transition:border-color .25s}
body#my-account #content .links a:hover .link-item{transform:translateY(-4px);box-shadow:0 22px 40px -24px rgba(24,34,78,.7)!important}
body#my-account #content .links a:hover .link-item::after{border-color:rgba(216,18,46,.45)}
body#my-account #content .links a .link-item i.material-icons{display:grid;place-items:center;width:64px;height:64px;margin:0!important;padding:0!important;border-radius:50%;background:var(--sdx-rose);color:var(--sdx-encre)!important;font-size:30px!important;font-style:normal;transition:background .25s,color .25s}
body#my-account #content .links a:hover .link-item i.material-icons{background:var(--sdx-encre);color:#fff!important}

/* Déconnexion */
body.page-customer-account .page-footer{text-align:center;margin-top:1rem}
body.page-customer-account .page-footer a{color:var(--sdx-doux);font-weight:600;text-decoration:underline;text-underline-offset:4px}
body.page-customer-account .page-footer a:hover{color:var(--sdx-rouge)}
body.page-customer-account .page-footer .account-link{display:inline-flex;align-items:center;gap:.3rem;padding:.6rem 1.2rem;border:1.5px solid var(--sdx-ligne);border-radius:999px;text-decoration:none;margin:0 .3rem .5rem}

/* Formulaires des sous-pages (Informations, Adresses…) */
body.page-customer-account .form-group.row{display:flex;flex-wrap:wrap;align-items:center;margin:0 0 1.1rem}
body.page-customer-account .form-group.row > [class*="col-md-"]{float:none;flex:0 0 100%;max-width:100%;width:100%;padding:0}
body.page-customer-account .form-control-label{text-align:left!important;padding:0 0 .35rem!important;font-weight:700;font-size:.92rem;color:var(--sdx-encre)}
body.page-customer-account .form-control-comment{padding:.25rem 0 0!important;font-size:.8rem;color:var(--sdx-doux);font-style:italic}
body.page-customer-account .form-control{width:100%;height:50px;border:1.5px solid var(--sdx-ligne)!important;border-radius:12px!important;background:#fff!important;color:var(--sdx-encre)!important;padding:0 1rem;box-shadow:none!important}
body.page-customer-account select.form-control{padding-right:2.5rem}
body.page-customer-account .form-control:focus{border-color:var(--sdx-rouge)!important;box-shadow:0 0 0 4px rgba(216,18,46,.12)!important}
body.page-customer-account form:not(.form-inline),
body.page-customer-account .address-form,
body.page-customer-account #content > section{max-width:720px;margin-left:auto;margin-right:auto}
body.page-customer-account .form-footer{margin-top:1.4rem}
body.page-customer-account .form-footer .btn{float:none!important;width:100%;height:54px;border-radius:999px!important;font-weight:700}
/* Cartes d'adresses et tableaux de commandes */
body.page-customer-account .address{box-shadow:0 14px 30px -22px rgba(24,34,78,.6)!important;border-top:4px solid var(--sdx-metre);background:#fff}
body.page-customer-account .address .address-body h4{font-family:var(--sdx-serif);font-style:italic;font-size:1.3rem}
body.page-customer-account .addresses-footer a,
body.page-customer-account .address-footer a{color:var(--sdx-rouge)}
body.page-customer-account .table thead th,body.page-customer-account .thead-default th{background:var(--sdx-encre)!important;color:#fff!important;border:none!important}
body.page-customer-account .table td{vertical-align:middle;border-color:var(--sdx-ligne)}
body.page-customer-account .label-pill{border-radius:999px;padding:.35em .8em}

/* ==========================================================
   Panier et tunnel de commande
   ========================================================== */
/* Cartes */
:is(body#cart,body#checkout) .card,
:is(body#cart,body#checkout) .cart-summary,
body#checkout section.checkout-step{background:#fff!important;border:none!important;box-shadow:0 18px 40px -30px rgba(24,34,78,.55)!important;border-radius:0}
body#cart .cart-grid-body .card{border-top:5px solid var(--sdx-encre)!important}
body#cart .cart-grid-body .card-block h1,body#cart .cart-container .h1{font-family:var(--sdx-serif)!important;font-style:italic;font-weight:500;font-size:2.2rem!important;text-transform:none;color:var(--sdx-encre);margin:0}
body#cart .cart-container hr.separator{border-top:1.5px dashed var(--sdx-ligne)}

/* Lignes produit du panier */
body#cart .cart-items .cart-item{padding:1.4rem 0;border-bottom:1.5px dashed var(--sdx-ligne)}
body#cart .cart-items .cart-item:last-child{border-bottom:none}
body#cart .product-line-grid-left img{border-radius:6px;aspect-ratio:3/4;object-fit:cover;width:100%;max-width:110px}
body#cart .product-line-info a.label{font-weight:700;color:var(--sdx-encre);font-size:1rem;line-height:1.4}
body#cart .product-line-info a.label:hover{color:var(--sdx-rouge)}
body#cart .product-line-grid-body .product-price .current-price,
body#cart .product-line-grid-body .current-price .price{font-family:var(--sdx-serif)!important;font-size:1.25rem!important;font-weight:600;color:var(--sdx-doux)!important}
body#cart .product-line-info .label,body#cart .product-line-info .value{font-size:.9rem;color:var(--sdx-doux)}
body#cart .product-line-grid-right .price,
body#cart .product-line-grid-right .product-price{font-family:var(--sdx-serif)!important;font-size:1.5rem!important;font-weight:600;color:var(--sdx-encre)!important}
body#cart .remove-from-cart{color:var(--sdx-doux)!important;display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1.5px solid var(--sdx-ligne)}
body#cart .remove-from-cart:hover{color:#fff!important;background:var(--sdx-rouge);border-color:var(--sdx-rouge)}
body#cart .remove-from-cart i{font-size:20px!important}
/* Quantité dans le panier */
body#cart .bootstrap-touchspin{display:flex!important;height:44px;border:1.5px solid var(--sdx-ligne);border-radius:999px;overflow:hidden;background:#fff;box-shadow:none!important;width:auto}
body#cart .bootstrap-touchspin input.js-cart-line-product-quantity{width:46px;height:100%;border:none!important;background:transparent;text-align:center;font-weight:700;color:var(--sdx-encre);padding:0 0 0 12px;box-shadow:none}
body#cart .bootstrap-touchspin .input-group-btn-vertical{display:flex;flex-direction:column;width:34px;position:static;float:none}
body#cart .bootstrap-touchspin .input-group-btn-vertical > .btn{flex:1;padding:0;margin:0;border:none!important;border-radius:0!important;background:transparent;position:static;display:flex;align-items:center;justify-content:center}
body#cart .bootstrap-touchspin .input-group-btn-vertical i{position:static!important;font-size:1rem}
body#cart a.label + br,body#cart .cart-line-product-actions{line-height:1}
body#cart .cart-grid-body > a.label{display:inline-flex;align-items:center;gap:.3rem;margin-top:1.2rem;color:var(--sdx-encre);font-weight:600;text-decoration:underline;text-underline-offset:4px}

/* Récapitulatif (panier et tunnel) */
:is(body#cart,body#checkout) .cart-summary{border-top:5px solid var(--sdx-metre)!important}
:is(body#cart,body#checkout) .cart-summary-line{font-size:.95rem;color:var(--sdx-doux)}
:is(body#cart,body#checkout) .cart-summary-line .value{color:var(--sdx-encre);font-weight:600}
:is(body#cart,body#checkout) .cart-summary-totals .cart-total,
:is(body#cart,body#checkout) .cart-total{background:var(--sdx-encre)!important;color:#fff!important;border-radius:6px;padding:.9rem 1rem!important}
:is(body#cart,body#checkout) .cart-total .label,:is(body#cart,body#checkout) .cart-total .value{color:#fff!important;font-weight:700}
:is(body#cart,body#checkout) .cart-total .value{font-family:var(--sdx-serif);font-size:1.4rem}
:is(body#cart,body#checkout) .block-promo .promo-code-button a,
:is(body#cart,body#checkout) .block-promo .collapse-button{color:var(--sdx-rouge);font-weight:600;text-decoration:underline dashed;text-underline-offset:4px}
:is(body#cart,body#checkout) .block-promo .promo-input{border:1.5px solid var(--sdx-ligne);border-radius:999px 0 0 999px;height:44px;padding:0 1rem}
:is(body#cart,body#checkout) .block-promo form .btn{border-radius:0 999px 999px 0;height:44px}
body#cart .checkout .btn{width:100%;height:54px;border-radius:999px;font-size:1.05rem;font-weight:700}
:is(body#cart,body#checkout) .js-cart-detailed-actions,:is(body#cart,body#checkout) .cart-detailed-actions{padding:1rem 1.25rem 1.4rem}
body#checkout #cart-summary-product-list img{border-radius:4px}
body#checkout .cart-summary-products a[data-toggle="collapse"]{color:var(--sdx-rouge);font-weight:600}

/* Étapes du tunnel */
body#checkout section.checkout-step{border-left:5px solid var(--sdx-ligne)!important;margin-bottom:14px;padding:1.1rem 1.5rem}
body#checkout section.checkout-step.-current{border-left-color:var(--sdx-rouge)!important}
body#checkout section.checkout-step.-complete{border-left-color:var(--sdx-encre)!important}
body#checkout section.checkout-step.-unreachable{opacity:.6}
body#checkout section.checkout-step .step-title{font-family:var(--sdx-serif)!important;font-style:italic;font-weight:500;font-size:1.5rem!important;text-transform:none!important;color:var(--sdx-encre);display:flex;align-items:center;gap:.7rem;margin:0}
body#checkout section.checkout-step .step-number{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--sdx-fond2);color:var(--sdx-encre);font-family:var(--sdx-sans);font-style:normal;font-size:.95rem;font-weight:700;margin:0}
body#checkout section.checkout-step.-current .step-number{background:var(--sdx-rouge);color:#fff}
body#checkout section.checkout-step .done{color:var(--sdx-encre)!important;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--sdx-metre);margin:0!important}
body#checkout section.checkout-step.-complete .step-number{display:none}
body#checkout section.checkout-step .step-edit{color:var(--sdx-rouge)!important;font-family:var(--sdx-sans);font-style:normal;font-size:.85rem;font-weight:600;margin-left:auto}
body#checkout section.checkout-step .content{padding:1.2rem 0 .4rem}
body#checkout section.checkout-step p,body#checkout section.checkout-step small{color:var(--sdx-doux)}

/* Champs du tunnel : libellé au-dessus */
body#checkout .form-group.row{display:flex;flex-wrap:wrap;align-items:center;margin:0 0 1rem}
body#checkout .form-group.row > [class*="col-md-"]{float:none;flex:0 0 100%;max-width:100%;width:100%;padding:0}
body#checkout .form-control-label{text-align:left!important;padding:0 0 .35rem!important;font-weight:700;font-size:.9rem;color:var(--sdx-encre)}
body#checkout .form-control-comment{padding:.25rem 0 0!important;font-size:.8rem;color:var(--sdx-doux);font-style:italic}
body#checkout .form-control{width:100%;height:48px;border:1.5px solid var(--sdx-ligne)!important;border-radius:12px!important;background:#fff!important;color:var(--sdx-encre)!important;padding:0 1rem;box-shadow:none!important}
body#checkout .form-control:focus{border-color:var(--sdx-rouge)!important;box-shadow:0 0 0 4px rgba(216,18,46,.12)!important}
body#checkout textarea.form-control,body#checkout #delivery textarea{height:auto;min-height:100px;padding:.8rem 1rem;border:1.5px solid var(--sdx-ligne)!important;border-radius:12px!important;width:100%}
body#checkout .form-footer .btn,body#checkout .continue.btn{float:none!important;min-width:220px;height:50px;border-radius:999px!important;font-weight:700}
body#checkout .form-footer{text-align:right}

/* Modes de livraison et de paiement : cartes sélectionnables */
body#checkout .delivery-option{background:#fff!important;border:1.5px dashed var(--sdx-ligne);border-radius:12px;padding:1rem!important;margin:0 0 .8rem!important;align-items:center}
body#checkout .delivery-option:has(input:checked){border:2px solid var(--sdx-rouge);background:var(--sdx-rose)!important}
body#checkout .delivery-option .carrier-name{font-weight:700;color:var(--sdx-encre)}
body#checkout .delivery-option .carrier-delay,body#checkout .delivery-option .carrier-price{color:var(--sdx-doux);font-weight:600}
body#checkout .payment-options .payment-option{display:flex;align-items:center;gap:.7rem;border:1.5px dashed var(--sdx-ligne);border-radius:12px;padding:.9rem 1rem;margin:0 0 .7rem;background:#fff}
body#checkout .payment-options .payment-option:has(input:checked){border:2px solid var(--sdx-rouge);background:var(--sdx-rose)}
body#checkout .payment-options .payment-option label{margin:0;font-weight:700;color:var(--sdx-encre);cursor:pointer}
body#checkout .custom-radio{border-color:var(--sdx-encre)}
body#checkout .custom-radio input[type=radio]:checked + span{background:var(--sdx-rouge)}
body#checkout .custom-checkbox input[type=checkbox] + span{border:1.5px solid var(--sdx-encre);border-radius:5px;width:20px;height:20px}
body#checkout .custom-checkbox input[type=checkbox]:checked + span{background:var(--sdx-rouge);border-color:var(--sdx-rouge)}
body#checkout .custom-checkbox input[type=checkbox] + span .checkbox-checked{color:#fff}
body#checkout #conditions-to-approve{background:var(--sdx-fond2);border-radius:12px;padding:.9rem 1rem;margin:1rem 0}
body#checkout #conditions-to-approve label{color:var(--sdx-encre);font-weight:500}

/* Récapitulatif avant paiement */
body#checkout #order-summary-content h4,body#checkout #order-summary-content .h4{font-family:var(--sdx-serif);font-style:italic;font-weight:500;font-size:1.3rem;color:var(--sdx-encre);text-transform:none}
body#checkout #order-summary-content .card{border-top:4px solid var(--sdx-metre)!important;box-shadow:none!important;border:1px solid var(--sdx-ligne)!important}
body#checkout #order-summary-content .addresshead,body#checkout #order-summary-content h4.addresshead{font-weight:700}
body#checkout #order-items table.total-value{background:transparent}
body#checkout #order-items table tr.total-value td,body#checkout #order-items .total-value{background:var(--sdx-encre)!important;color:#fff!important;font-weight:700}
body#checkout #payment-confirmation .btn{width:100%;height:56px;border-radius:999px;font-size:1.05rem;font-weight:700}
body#checkout #payment-confirmation .btn.disabled,body#checkout #payment-confirmation .btn:disabled{opacity:.45}
body#checkout .alert-danger,body#checkout .js-alert-payment-conditions{background:var(--sdx-rose);border:none;border-left:5px solid var(--sdx-rouge);color:var(--sdx-encre);border-radius:0}

/* Pied de page simplifié du tunnel */
body#checkout #footer .text-sm-center,body#checkout #footer a{color:var(--sdx-doux)!important;font-size:.85rem}

@media (max-width:767px){
  body#checkout section.checkout-step{padding:1rem}
  body#checkout .form-footer .btn,body#checkout .continue.btn{width:100%}
}

/* Tunnel : jamais la coche ET le numéro en même temps */
body#checkout section.checkout-step .done,
body#checkout section.checkout-step .step-number{position:static!important;float:none!important;flex:none}
body#checkout section.checkout-step.-current .done{display:none!important}
body#checkout section.checkout-step.-current .step-number{display:inline-grid!important}
body#checkout section.checkout-step.-complete:not(.-current) .step-number{display:none!important}
body#checkout section.checkout-step.-complete:not(.-current) .done{display:inline-grid!important}

/* Tunnel : boutons « Continuer » texte centré, alignés à droite */
body#checkout .form-footer .btn,
body#checkout button.continue{display:flex!important;align-items:center;justify-content:center;text-align:center!important;margin:1.2rem 0 0 auto!important;padding:0 2rem!important}
@media (max-width:767px){body#checkout button.continue,body#checkout .form-footer .btn{width:100%!important;margin-left:0!important}}

/* Tunnel : coche parfaitement centrée dans son rond */
body#checkout section.checkout-step.-complete:not(.-current) .done,
body#checkout section.checkout-step i.done{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important;padding:0!important;margin:0!important;line-height:1!important;font-size:20px!important;text-align:center!important;text-indent:0!important;vertical-align:middle!important;box-sizing:border-box!important;overflow:hidden}

/* ==========================================================
   Tunnel : option de paiement Stripe mise en valeur
   ========================================================== */
body#checkout .payment-options .payment-option:has(input[data-module-name*="stripe"]){padding:1.1rem 1.2rem;gap:1rem}
body#checkout .payment-options .payment-option:has(input[data-module-name*="stripe"]) label{display:grid!important;grid-template-columns:44px 1fr;column-gap:.9rem;align-items:center;font-size:1.05rem}
body#checkout .payment-options .payment-option:has(input[data-module-name*="stripe"]) label::before{content:"";grid-row:1 / span 2;width:44px;height:44px;border-radius:12px;background:var(--sdx-encre) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20M6 15h4'/%3E%3C/svg%3E") center/24px no-repeat}
body#checkout .payment-options .payment-option:has(input[data-module-name*="stripe"]) label::after{content:"CB, Visa, Mastercard · Paiement sécurisé par Stripe";grid-column:2;font-size:.82rem;font-weight:500;color:var(--sdx-doux);margin-top:.15rem}
body#checkout .payment-options .payment-option:has(input[data-module-name*="stripe"]) label img{display:none}

/* Tunnel : option de paiement par chèque, même présentation que Stripe */
body#checkout .payment-options .payment-option:has(input[data-module-name*="checkpayment"]){padding:1.1rem 1.2rem;gap:1rem}
body#checkout .payment-options .payment-option:has(input[data-module-name*="checkpayment"]) label{display:grid!important;grid-template-columns:44px 1fr;column-gap:.9rem;align-items:center;font-size:1.05rem}
body#checkout .payment-options .payment-option:has(input[data-module-name*="checkpayment"]) label::before{content:"";grid-row:1 / span 2;width:44px;height:44px;border-radius:12px;background:var(--sdx-rouge) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='6' width='20' height='12' rx='1.5'/%3E%3Cpath d='M6 10h7M6 14h4'/%3E%3Cpath d='M14.5 14.5c1-.2 1.5-1.2 2.3-1.6.6-.3 1 .4.6.9-.5.6-1 1.2-.2 1.2.6 0 1-.6 1.8-.6'/%3E%3C/svg%3E") center/24px no-repeat}
body#checkout .payment-options .payment-option:has(input[data-module-name*="checkpayment"]) label::after{content:"À l’ordre de SandyX · Commande expédiée dès réception du chèque";grid-column:2;font-size:.82rem;font-weight:500;color:var(--sdx-doux);margin-top:.15rem}
body#checkout .payment-options .payment-option:has(input[data-module-name*="checkpayment"]) label img{display:none}

/* Tunnel : libellés de paiement alignés à gauche, « Pay online » → « Paiement CB » */
body#checkout .payment-options .payment-option label{justify-items:start!important;text-align:left!important;width:100%}
body#checkout .payment-options .payment-option label > span{grid-column:2;justify-self:start;text-align:left!important;display:block;width:100%}
body#checkout .payment-options .payment-option:has(input[data-module-name*="stripe"]) label > span{font-size:0!important;line-height:0}
body#checkout .payment-options .payment-option:has(input[data-module-name*="stripe"]) label > span::before{content:"Paiement CB";font-size:1.05rem;line-height:1.3;font-weight:700;color:var(--sdx-encre)}
.sdx-home .sdx-hero__titre{line-height:1.02;letter-spacing:-.01em;color:var(--sdx-encre)}

/* ==========================================================
   CLS : réserver la place des images avant leur chargement
   ========================================================== */
#header .logo,#_desktop_logo img,#_mobile_logo img{height:70px!important;max-height:70px;width:auto!important;display:block}
#_desktop_logo{min-height:70px}
@media (max-width:767px){#_mobile_logo img{height:46px!important;max-height:46px}}
.sdx-diablesa__logo img{height:52px;width:auto;aspect-ratio:77/52}
.sdx-couverture img{aspect-ratio:2/3;height:auto;object-fit:cover}
.sdx-collage figure img{aspect-ratio:3/4}
