/* Sac de Cours — habillage WooCommerce (formulaires, panier, checkout, pages) dans la charte de la maquette */

/* ---------- Pages standard (légales, panier, checkout…) ---------- */
.page-wrap{max-width:960px;margin:0 auto;padding:140px 24px 80px}
.page-wrap .page-title{font-family:var(--font-serif);font-size:30px;margin-bottom:28px}
.page-content{font-size:14px;line-height:1.8}
.page-content h2,.page-content h3{margin:26px 0 10px;font-size:17px}
.page-content p{margin:0 0 14px}
.page-content ul,.page-content ol{margin:0 0 14px 20px;list-style:disc}
.page-content a{text-decoration:underline}

/* Le header est transparent/absolu : sur les pages sans hero, on lui donne un fond permanent */
body:not(.home) header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--c-border)}
body:not(.home) header .nav-left a,body:not(.home) header .nav-right a,body:not(.home) header .sdc-search-open{color:#000}
body:not(.home) header .nav-right svg{stroke:#000}
body:not(.home) header .logo img{filter:none}
body:not(.home) header .cart-count{background:#000;color:#fff}
body:not(.home) header .burger svg{stroke:#000}
body:not(.home) header .nav-left a.sale{color:#9a3324}

/* ---------- Prix WC (del/ins) au format maquette ---------- */
.price del,.p-price del{color:#9a9a9a;text-decoration:line-through;font-weight:400;margin-right:8px}
.price ins,.p-price ins{text-decoration:none;color:#9a3324;font-weight:700}

/* ---------- Formulaire d'achat (fiche produit) ---------- */
.p-buy{margin:18px 0}
.p-buy form.cart{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
/* Le prix et la disponibilité de la variation restent masqués : ils sont déjà
   affichés en haut de fiche, et les coloris partagent le même prix. Le
   sélecteur, lui, s'affiche — un produit décliné doit pouvoir se choisir. */
.p-buy .woocommerce-variation-price,
.p-buy .woocommerce-variation-availability{display:none!important}
/* Le catalogue garde une seule version par produit : les sélecteurs restent
   masqués partout, sauf sur les fiches déclinées en coloris (classe posée
   côté PHP), où le choix est justement l'intérêt de la page. */
/* Le menu deroulant natif ne disparait que si les pastilles l'ont remplace
   (`anyz-has-swatches` est posee par le JS au moment ou il les insere).
   Masquer la table entiere rendait le produit invendable des qu'une variation
   n'avait pas de couleur de pastille : plus de select, et les pastilles etaient
   elles aussi dans la table masquee. */
.p-buy .anyz-has-swatches select{display:none}
.p-buy:not(.has-swatch) .reset_variations{display:none!important}

/* Sélecteur de coloris — même vocabulaire visuel que le reste de la fiche. */
.p-buy .variations{width:100%;margin:0 0 14px;border-collapse:collapse}
.p-buy .variations th.label,
.p-buy .variations td.value{display:block;width:100%;padding:0;text-align:left}
.p-buy .variations th.label label{display:block;margin:0 0 7px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.p-buy .variations select{width:100%;padding:13px 34px 13px 12px;border:1px solid var(--c-border);background:#fff;font:inherit;font-size:14px;color:inherit;border-radius:0;cursor:pointer;
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:11px}
.p-buy .variations select:focus{outline:none;border-color:#000}
/* Pastilles de coloris — posées par JS ; sans JS le <select> reste visible. */
.p-buy .anyz-has-swatches select{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.p-buy .anyz-has-swatches{position:relative}
.p-buy .anyz-swatches{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:2px 0}
.p-buy .anyz-swatch{--sw:#ccc;position:relative;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:var(--sw);cursor:pointer;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.14), 0 1px 3px rgba(0,0,0,.10);
  transition:transform .18s ease, box-shadow .18s ease}
.p-buy .anyz-swatch:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px rgba(0,0,0,.2), 0 3px 8px rgba(0,0,0,.16)}
.p-buy .anyz-swatch:focus-visible{outline:none}
/* l'anneau de sélection se pose à distance, sans toucher la couleur */
.p-buy .anyz-swatch::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid transparent;transition:border-color .18s ease}
.p-buy .anyz-swatch.is-on::after,
.p-buy .anyz-swatch:focus-visible::after{border-color:#111}
.p-buy .anyz-swatch-name::before{content:"·";margin:0 8px;color:#c4c4c4}
.p-buy .anyz-swatch-name{margin-left:0;font-size:11px;letter-spacing:.1em;text-transform:none;font-weight:400;color:#666}
.p-buy .anyz-has-swatches + .reset_variations,
.p-buy .anyz-swatches ~ .reset_variations{display:none}

/* « Effacer » n'a de sens qu'une fois un coloris choisi : WC l'affiche seul. */
.p-buy .reset_variations{display:inline-block;margin-top:6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#666;text-decoration:underline}
.p-buy .quantity input{width:70px;padding:13px 8px;border:1px solid var(--c-border);text-align:center;font:inherit}
.p-buy .single_add_to_cart_button{flex:1;min-width:220px;background:#000;color:#fff;border:1px solid #000;padding:17px 22px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:all .2s}
.p-buy .single_add_to_cart_button:hover{background:#fff;color:#000}
.p-buy .single_variation_wrap{width:100%;display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
.p-buy .woocommerce-variation{width:100%}
.p-buy .woocommerce-variation-price{margin-bottom:8px;font-weight:700}
.p-buy .woocommerce-variation-add-to-cart{display:flex;gap:10px;flex:1}
.p-buy .stock{font-size:12px;color:#2e7d32}

/* ---------- Notices WC ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error{max-width:1200px;margin:12px auto;padding:14px 18px;border:1px solid var(--c-border);border-left:3px solid var(--c-accent);font-size:13px;list-style:none;background:#fafafa}
.woocommerce-error{border-left-color:#9a3324}
.woocommerce-message a.button,.woocommerce-info a.button{float:right;background:#000;color:#fff;padding:6px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}

/* ---------- Panier / Checkout / Compte : lisibilité de base ---------- */
.page-content table{width:100%;border-collapse:collapse;margin:0 0 20px}
.page-content table th,.page-content table td{padding:12px 10px;border-bottom:1px solid var(--c-border);text-align:left;vertical-align:middle}
.page-content table img{width:64px;height:auto}
.page-content .button,.page-content button[type="submit"],.page-content input[type="submit"]{background:#000;color:#fff;border:1px solid #000;padding:12px 20px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;font-family:var(--font-main)}
.page-content .button:hover{background:#fff;color:#000}
.page-content input[type="text"],.page-content input[type="email"],.page-content input[type="tel"],.page-content input[type="password"],.page-content textarea,.page-content select{width:100%;padding:11px 12px;border:1px solid var(--c-border);font:inherit;background:#fff}
.page-content .form-row{margin-bottom:12px}
.page-content .form-row label{display:block;font-size:12px;margin-bottom:4px;color:#444}
.woocommerce-checkout .page-wrap,.woocommerce-cart .page-wrap{max-width:1100px}
#order_review{border:1px solid var(--c-border);padding:18px}
.wc_payment_method{list-style:none;padding:8px 0}

/* ---------- Description de collection (SEO) ---------- */
.coll-desc{max-width:760px;margin:14px auto 0;font-size:13px;line-height:1.8;color:#555}

/* ---------- Pagination ---------- */
.pagination,.woocommerce-pagination{text-align:center;margin:20px 0 50px}
.pagination .page-numbers{display:inline-block;padding:8px 13px;border:1px solid var(--c-border);margin:0 3px;font-size:13px}
.pagination .page-numbers.current{background:#000;color:#fff;border-color:#000}

/* ---------- Avis : cacher les items repliés ---------- */
.avis-item.is-hidden{display:none}

/* ---------- Avis : bouton "voir tous" + référence produit ---------- */
.avis-cta button{background:#fff;color:#000;border:1px solid #000;padding:14px 28px;font-family:var(--font-main);font-size:11px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:all .2s}
.avis-cta button:hover{background:#000;color:#fff}
.avis-ref{font-size:11px;color:#888;margin:4px 0 8px}
.avis-ref a{text-decoration:underline;color:#666}

/* ---------- Méga-menu : pleine largeur (ancré au header), liste aérée, grands aperçus ---------- */
.nav-drop{position:static!important}
.drop-panel{position:absolute!important;left:0!important;right:0!important;top:100%!important;width:auto!important;max-width:none!important;border-left:none!important;border-right:none!important}
.nav-drop.dp-open .drop-panel{opacity:1;visibility:visible;transform:none}
.dp-nav{flex:0 0 280px;padding:18px 0 24px}
.dp-nav a{padding:12px 30px;font-size:12.5px;letter-spacing:.04em}
.dp-label{padding:14px 30px 6px;font-size:10px}
.dp-all{padding:17px 30px;font-size:13px}
.dp-group + .dp-group{margin-top:12px;padding-top:16px}
.dp-preview{padding:28px 32px!important;gap:24px!important}
.dp-card .im{aspect-ratio:4/5!important}
.dp-card .im img{width:100%;height:100%;object-fit:cover}
.dp-card .v{font-size:11.5px}
.dp-card .t{font-size:11.5px;line-height:1.45;margin-top:3px}

/* ---------- Hero en <picture> (bannière responsive) ---------- */
/* Bannière affichée entière, à son ratio naturel (pas de recadrage) */
.hero > picture img{width:100%;height:auto;min-height:0;object-fit:contain;display:block}
@media(max-width:720px){
  .hero > picture img{height:auto;min-height:0}
}

/* ---------- Section "Qui sommes-nous" (fin de home) ---------- */
.about-mini{background:var(--c-img-bg);border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border);padding:76px 24px;margin-top:4px}
.about-inner{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:380px 1fr;gap:60px;align-items:center}
.about-mini .visual{background:#fff;border:1px solid var(--c-border);padding:12px}
.about-mini .visual img{width:100%;height:auto;display:block}
.about-mini .kicker{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;margin-bottom:14px;color:#8a8578}
.about-mini h2{font-size:30px;font-weight:700;letter-spacing:-.015em;margin-bottom:12px}
.about-mini .about-lead{font-family:var(--font-serif);font-style:italic;font-size:16px;line-height:1.7;color:#555;margin-bottom:16px}
.about-mini p{font-size:14px;line-height:1.85;margin-bottom:12px;color:#333}
.about-mini .btn-line{display:inline-block;margin-top:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:#000;border-bottom:1px solid #000;padding-bottom:3px;text-decoration:none}
@media(max-width:840px){
  .about-inner{grid-template-columns:1fr;gap:32px}
  .about-mini{padding:52px 20px}
  .about-mini .visual{max-width:340px;margin:0 auto}
  .about-mini .content{text-align:center}
}

/* ---------- H1 hero façon masthead de magazine ---------- */
.hero h1{font-family:var(--font-serif);font-weight:400;text-transform:uppercase;letter-spacing:.16em;font-size:64px;line-height:1.08;margin-right:-.16em}
@media(min-width:841px){
  .hero .hero-content{max-width:none;right:6%}
  .hero h1{white-space:nowrap}
}
@media(max-width:840px){
  .hero h1{font-size:34px;letter-spacing:.12em}
}

/* ---------- iOS Safari : désactiver le gonflement automatique des textes (font boosting) ---------- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* ---------- Tactile : pas d'image de survol (évite le double-tap pour ouvrir la fiche) ---------- */
@media (hover: none){
  .card .media .hover-img{display:none!important}
}

/* ---------- Accordéon conseils (page collection Rentrée) ---------- */
.coll-accordion{max-width:760px;margin:8px auto 34px;padding:0 24px}
.coll-accordion details{border-top:1px solid var(--c-border)}
.coll-accordion details:last-child{border-bottom:1px solid var(--c-border)}
.coll-accordion summary{cursor:pointer;list-style:none;padding:15px 2px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;display:flex;justify-content:space-between;align-items:center}
.coll-accordion summary::-webkit-details-marker{display:none}
.coll-accordion summary::after{content:"+";font-size:15px;font-weight:400}
.coll-accordion details[open] summary::after{content:"−"}
.coll-accordion .body{padding:2px 2px 16px;font-size:13.5px;line-height:1.8;color:#444}
.coll-accordion .body p{margin-bottom:10px}

/* ---------- Vidéo produit (dans l'accordéon Description) ---------- */
.p-info details .body .p-video{display:block;width:100%;max-width:440px;height:auto;margin:4px auto 14px;background:#000}

/* ---------- Galerie "En vidéo" : plus étroite et aérée, marges latérales ---------- */
.videos-wrap{max-width:820px!important;padding:0 24px}
.videos-wrap .v-prev{left:2px}
.videos-wrap .v-next{right:2px}
@media(max-width:900px){
  .videos-wrap{padding:0 20px}
  .v-card{flex:0 0 72%!important}
  .videos-wrap .v-nav{display:flex!important;width:38px;height:38px}
  .videos-wrap .v-prev{left:8px}
  .videos-wrap .v-next{right:8px}
}

/* ---------- Drawer panier (slide droite) ---------- */
.sdc-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .3s;z-index:120}
.sdc-drawer-overlay.open{opacity:1;pointer-events:auto}
.sdc-drawer{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:90vw;background:#fff;z-index:121;transform:translateX(103%);transition:transform .38s cubic-bezier(.22,.61,.36,1);display:flex;flex-direction:column;box-shadow:-14px 0 44px rgba(0,0,0,.14)}
.sdc-drawer.open{transform:none}
.sdc-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--c-border);flex:0 0 auto}
.sdc-drawer-head .t{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.sdc-drawer-head .cart-count{background:#000;color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;letter-spacing:0}
.sdc-drawer-close{background:none;border:none;cursor:pointer;padding:6px;line-height:0}
.sdc-drawer-close svg{width:20px;height:20px;stroke:#000;stroke-width:1.8;fill:none}
.sdc-drawer-body{flex:1;overflow-y:auto;display:flex;flex-direction:column}
.sdc-drawer-items{display:flex;flex-direction:column;flex:1;min-height:100%}
.sdc-drawer-list{flex:1;padding:6px 22px}
.sdc-ditem{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--c-border);position:relative}
.sdc-ditem .im{flex:0 0 68px}
.sdc-ditem .im img{width:68px;height:68px;object-fit:cover;display:block;border:1px solid var(--c-border);background:var(--c-img-bg)}
.sdc-ditem .inf{flex:1;min-width:0;padding-right:20px}
.sdc-ditem .nm{display:block;font-size:13px;font-weight:600;line-height:1.45;color:#000;text-decoration:none;margin-bottom:5px}
.sdc-ditem .qp{font-size:12.5px;color:#555}
.sdc-ditem .qp .woocommerce-Price-amount{font-weight:700;color:#000}
.sdc-ditem .rm{position:absolute;top:14px;right:0;font-size:19px;line-height:1;color:#999;text-decoration:none;padding:2px 4px;transition:color .2s}
.sdc-ditem .rm:hover{color:#000}
.sdc-drawer-foot{flex:0 0 auto;border-top:1px solid var(--c-border);padding:18px 22px 22px;background:#fff}
.sdc-drawer-foot .tot{display:flex;justify-content:space-between;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.sdc-drawer-foot .ship{font-family:var(--font-serif);font-style:italic;font-size:12.5px;color:#777;margin-bottom:14px}
.sdc-drawer-foot .go{display:block;background:#000;color:#fff;text-align:center;padding:15px 20px;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border:1px solid #000;transition:all .2s;margin-bottom:12px}
.sdc-drawer-foot .go:hover{background:#fff;color:#000}
.sdc-drawer-foot .see{display:block;text-align:center;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#000}
.sdc-drawer-empty{padding:40px 22px 16px;text-align:center;font-family:var(--font-serif);font-style:italic;font-size:15px;color:#666}
.sdc-drawer-shop{display:block;margin:0 auto;width:max-content;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#000;border-bottom:1px solid #000;padding-bottom:3px;text-decoration:none}

/* -- Upsell trousse en bas du drawer -- */
.sdc-upsell{margin:14px 22px 16px;transition:opacity .25s}
.sdc-upsell-label{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#999;margin-bottom:9px}
.sdc-upsell-card{display:flex;align-items:center;gap:13px;border:1px solid var(--c-border);background:#faf9f7;padding:12px;transition:opacity .25s}
.sdc-upsell-card + .sdc-upsell-card{margin-top:10px}
.sdc-upsell-card .im{flex:0 0 62px}
.sdc-upsell-card .im img{width:62px;height:62px;object-fit:cover;display:block;border:1px solid var(--c-border);background:var(--c-img-bg)}
.sdc-upsell-card .inf{flex:1;min-width:0}
.sdc-upsell-card .nm{display:block;font-size:12.5px;font-weight:600;line-height:1.4;color:#000;margin-bottom:2px}
.sdc-upsell-card .pr{display:block;font-size:12.5px;font-weight:700;color:#000;margin-bottom:8px}
.sdc-upsell-card .pr del{color:#999;font-weight:400;margin-right:4px}
.sdc-upsell-card .pr ins{text-decoration:none;color:#000}
.sdc-upsell-card .btns{display:flex;gap:8px}
.sdc-upsell-btn{flex:1;background:#fff;color:#000;border:1px solid #000;padding:8px 10px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s}
.sdc-upsell-btn:hover{background:#000;color:#fff}
.sdc-upsell-btn:disabled{opacity:.5;cursor:default}

/* ============================================================
   PANIER & CHECKOUT : design charte (noir, bordures fines, uppercase)
   ============================================================ */

/* -- Boutons WC (vire le violet par defaut) -- */
.woocommerce .button,.woocommerce a.button,.woocommerce button.button,
.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce #payment #place_order,
.wc-proceed-to-checkout a.checkout-button{
  background:#000!important;color:#fff!important;border:1px solid #000!important;
  border-radius:0!important;font-family:var(--font-main)!important;
  font-size:11.5px!important;font-weight:700!important;letter-spacing:.14em!important;
  text-transform:uppercase!important;padding:15px 24px!important;line-height:1.2!important;
  transition:background .2s,color .2s!important;box-shadow:none!important}
.woocommerce .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce input.button:hover,.woocommerce #payment #place_order:hover,
.wc-proceed-to-checkout a.checkout-button:hover{background:#fff!important;color:#000!important}
.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled]{
  background:#f2f2f0!important;color:#999!important;border-color:var(--c-border)!important;opacity:1!important}

/* -- Notices -- */
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none!important;content:none!important}
.woocommerce-message,.woocommerce-info{border-left-color:#000;padding-left:18px!important}
.woocommerce-error{padding-left:18px!important}

/* -- Titres de page -- */
.woocommerce-cart .page-wrap .page-title,.woocommerce-checkout .page-wrap .page-title{
  font-family:var(--font-serif);font-weight:400;font-size:34px;letter-spacing:.01em;margin-bottom:30px}

/* ================= PANIER ================= */
.woocommerce-cart .page-wrap{max-width:1150px}
.woocommerce-cart-form table.shop_table{border:none;border-top:1px solid var(--c-border);border-collapse:collapse;margin-bottom:28px}
.woocommerce-cart-form table.shop_table th{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#777;padding:14px 12px;border-bottom:1px solid var(--c-border);text-align:left}
.woocommerce-cart-form table.shop_table td{padding:18px 12px;border-bottom:1px solid var(--c-border);font-size:13.5px;vertical-align:middle;background:#fff}
.woocommerce-cart-form td.product-thumbnail img{width:72px;height:72px;object-fit:cover;border:1px solid var(--c-border);background:var(--c-img-bg);display:block}
.woocommerce-cart-form td.product-name a{font-weight:600;color:#000;text-decoration:none;font-size:13.5px}
.woocommerce-cart-form td.product-name a:hover{text-decoration:underline}
.woocommerce-cart-form td.product-price,.woocommerce-cart-form td.product-subtotal{font-weight:700}
.woocommerce-cart-form td.product-remove a.remove{color:#999!important;font-size:20px;font-weight:400;width:26px;height:26px;line-height:24px;border-radius:50%;text-align:center;display:block;text-decoration:none;transition:all .2s}
.woocommerce-cart-form td.product-remove a.remove:hover{color:#fff!important;background:#000}
.woocommerce-cart-form .quantity input.qty{width:64px;padding:11px 6px;border:1px solid var(--c-border);text-align:center;font:inherit;border-radius:0}
.woocommerce-cart-form td.actions{padding:18px 0 0;border-bottom:none}
.woocommerce-cart-form .coupon{display:flex;gap:10px;align-items:stretch;float:left}
.woocommerce-cart-form .coupon label{display:none}
.woocommerce-cart-form .coupon input#coupon_code{width:180px!important;padding:12px 14px;border:1px solid var(--c-border);font:inherit;font-size:12.5px;border-radius:0}
.woocommerce-cart-form .coupon input#coupon_code:focus{outline:none;border-color:#000}
.woocommerce-cart .cart-collaterals{display:flex;justify-content:flex-end}
.woocommerce-cart .cart_totals{width:440px;max-width:100%;border:1px solid var(--c-border);padding:26px 28px;background:#fff;float:none}
.woocommerce-cart .cart_totals h2{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--c-border)}
.woocommerce-cart .cart_totals table.shop_table{border:none;margin-bottom:6px}
.woocommerce-cart .cart_totals th,.woocommerce-cart .cart_totals td{border:none;border-bottom:1px solid var(--c-border);padding:13px 0;font-size:13px;background:#fff}
.woocommerce-cart .cart_totals th{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#555}
.woocommerce-cart .cart_totals .order-total td{font-size:16px;font-weight:700}
.woocommerce-cart .cart_totals .order-total .includes_tax{display:block;font-size:11px;font-weight:400;color:#888;margin-top:3px}
.woocommerce-cart .wc-proceed-to-checkout{padding:16px 0 0}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:block;text-align:center;margin:0}

/* ================= CHECKOUT ================= */
.woocommerce-checkout .page-wrap{max-width:1200px;padding-top:96px}
.woocommerce-checkout form.woocommerce-checkout{display:grid;grid-template-areas:"details heading" "details review";grid-template-columns:minmax(0,1fr) 460px;grid-template-rows:auto 1fr;column-gap:56px;align-items:start}
.woocommerce-checkout #customer_details{grid-area:details;width:100%}
.woocommerce-checkout #order_review_heading{grid-area:heading}
.woocommerce-checkout #order_review{grid-area:review;position:sticky;top:90px}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{width:100%;float:none;margin-bottom:8px}
.woocommerce-checkout h3,#order_review_heading{font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--c-border)}
.woocommerce-checkout #customer_details .col-2 h3{margin-top:26px}
.woocommerce-checkout .form-row label{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#666;margin-bottom:6px}
.woocommerce-checkout .form-row label .required{color:#9a3324;text-decoration:none}
.woocommerce-checkout .form-row input.input-text,.woocommerce-checkout .form-row textarea,.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container--default .select2-selection--single{
  width:100%;padding:13px 14px;border:1px solid var(--c-border);font:inherit;font-size:13.5px;background:#fff;border-radius:0;height:auto}
.woocommerce-checkout .form-row input.input-text:focus,.woocommerce-checkout .form-row textarea:focus,.woocommerce-checkout .form-row select:focus{outline:none;border-color:#000}
.woocommerce-checkout .select2-container--default .select2-selection--single{display:flex;align-items:center;min-height:46px}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:100%;top:0}
.woocommerce-checkout .form-row{margin:0 0 16px;padding:0}
.woocommerce-checkout .form-row-first,.woocommerce-checkout .form-row-last{width:calc(50% - 8px);float:left}
.woocommerce-checkout .form-row-first{margin-right:16px}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper::after{content:"";display:block;clear:both}
/* Recap commande */
.woocommerce-checkout #order_review{border:1px solid var(--c-border);padding:26px 28px;background:#fff}
.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table{border:none;margin-bottom:18px;border-collapse:collapse;width:100%}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,.woocommerce-checkout .woocommerce-checkout-review-order-table td{border:none;border-bottom:1px solid var(--c-border);padding:12px 0;font-size:13px;text-align:left;background:#fff}
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#777}
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total,.woocommerce-checkout .woocommerce-checkout-review-order-table th:last-child{text-align:right}
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td{font-size:16px;font-weight:700}
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total .includes_tax{display:block;font-size:11px;font-weight:400;color:#888;margin-top:3px}
/* Paiement (vire le fond violet/gris WC) */
.woocommerce-checkout #payment{background:transparent!important;border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:none;padding:0 0 6px}
.woocommerce-checkout #payment ul.payment_methods li{list-style:none;border:1px solid var(--c-border);margin-bottom:10px;padding:14px 16px;background:#fff}
.woocommerce-checkout #payment ul.payment_methods li label{font-size:13px;font-weight:600;display:inline}
.woocommerce-checkout #payment input[type="radio"],.woocommerce-checkout input[type="checkbox"]{accent-color:#000}
.woocommerce-checkout #payment div.payment_box{background:#f7f7f5!important;border-radius:0;font-size:12.5px;margin-top:12px}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#f7f7f5!important}
.woocommerce-checkout .wc-stripe-elements-field,.woocommerce-checkout .wc-stripe-iban-element-field{
  border:1px solid var(--c-border)!important;border-radius:0!important;padding:13px 14px!important;background:#fff!important;box-shadow:none!important}
.woocommerce-checkout #payment .form-row{padding:0;margin-bottom:12px}
.woocommerce-checkout #payment #place_order{width:100%;margin-top:8px}
.woocommerce-checkout .woocommerce-privacy-policy-text p{font-size:11.5px;color:#888;line-height:1.7;margin:12px 0}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{margin:12px 0 4px}
/* Mobile */
@media(max-width:980px){
  .woocommerce-checkout form.woocommerce-checkout{display:block}
  .woocommerce-checkout #order_review{position:static;margin-top:28px}
  .woocommerce-checkout #order_review_heading{margin-top:28px}
  .woocommerce-cart .cart_totals{width:100%}
  .woocommerce-cart-form .coupon{float:none;width:100%}
  .woocommerce-cart-form .coupon input#coupon_code{flex:1;width:auto!important}
  .woocommerce-cart-form td.actions .button{width:100%;margin-top:10px}
  .woocommerce-cart-form table.shop_table th.product-price{display:none}
  .woocommerce-cart-form table.shop_table td.product-price{display:none}
}

/* -- Zone paiement : textes plus discrets -- */
.woocommerce-checkout #payment div.payment_box .form-row label{font-size:10px!important;font-weight:700;letter-spacing:.06em;color:#777!important;margin-bottom:5px}
.woocommerce-checkout #payment div.payment_box p{font-size:12px;color:#666}
.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew label,
.woocommerce-checkout #payment label[for="wc-stripe-new-payment-method"]{
  text-transform:none!important;font-size:12px!important;font-weight:400!important;letter-spacing:0!important;color:#555!important}
.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew{border:none;padding:0}

/* ---------- CTA sous la grille Rentree (home) ---------- */
.grid-cta{text-align:center;margin:30px 24px 14px}
.grid-cta .btn-outline{display:inline-block;background:#fff;color:#000;border:1px solid #000;padding:15px 38px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;transition:all .2s}
.grid-cta .btn-outline:hover{background:#000;color:#fff}

/* ---------- Header blanc quand le méga-menu est ouvert ---------- */
header.dp-hover{background:#fff;border-bottom:1px solid var(--c-border)}
header.dp-hover .nav-left a,header.dp-hover .nav-right a,header.dp-hover .sdc-search-open{color:#000}
header.dp-hover .nav-left a.sale{color:#9a3324}
header.dp-hover .nav-right svg{stroke:#000}
header.dp-hover .logo img{filter:none}
header.dp-hover .cart-count{background:#000;color:#fff}

/* ---------- Pastilles couleur devant les sous-collections ---------- */
.dp-nav a[data-k="noir"]::before,.dp-nav a[data-k="marron"]::before,.dp-nav a[data-k="beigeblanc"]::before{
  content:"";display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:10px;
  vertical-align:-1px;border:1px solid rgba(0,0,0,.18);box-shadow:inset 0 1px 2px rgba(255,255,255,.35)}
.dp-nav a[data-k="noir"]::before{background:#141414}
.dp-nav a[data-k="marron"]::before{background:#8a5a33}
.dp-nav a[data-k="beigeblanc"]::before{background:linear-gradient(135deg,#e9dfcc 50%,#fdfcf9 50%)}

/* ---------- Adresse société (footer) ---------- */
.foot-addr{text-align:center;font-size:10px;letter-spacing:.08em;color:#8a8a8a;margin-top:8px}

/* ---------- Offre duo (-30% sur le 2e sac) ---------- */
/* -- Badge expédition sous le bouton ajouter au panier -- */
.sdc-ship-badge{display:flex;align-items:center;gap:9px;margin:12px 0 0}
.sdc-ship-badge .flag{width:20px;height:13px;flex:0 0 auto;border:1px solid var(--c-border);display:block}
.sdc-ship-badge span{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#444}
.sdc-delay-note{margin:6px 0 0;padding-left:29px;font-size:12px;line-height:1.5;color:#777}
@media (max-width:480px){.sdc-delay-note{padding-left:0}}

.sdc-duo{border:1px solid var(--c-border);padding:16px 18px;margin:18px 0 30px;background:#fff}
.sdc-duo-head{display:flex;align-items:center;gap:8px;margin-bottom:13px}
.sdc-duo-head .t{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.sdc-duo-head .pill{background:#9a3324;color:#fff;font-size:10.5px;font-weight:700;padding:2px 7px;letter-spacing:.04em}
.sdc-duo-head .s{font-size:11px;color:#777;letter-spacing:.04em}
.sdc-duo-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.sdc-duo-row .im{flex:0 0 54px;width:54px;height:54px;border:1px solid var(--c-border);background:var(--c-img-bg);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0}
.sdc-duo-row .im img{width:100%;height:100%;object-fit:cover;display:block}
.sdc-duo-row .im-2{border-style:dashed;cursor:pointer;transition:border-color .2s}
.sdc-duo-row .im-2:hover{border-color:#000}
.sdc-duo-row .im-2 .add{font-size:18px;font-weight:400;color:#999;line-height:1}
.sdc-duo-row .plus{font-size:15px;font-weight:700;color:#777}
.sdc-duo-row .pick{flex:1;min-width:0}
.sdc-duo-choice{font-size:12.5px;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.sdc-duo-price{font-size:12.5px;margin-top:5px}
.sdc-duo-price del{color:#9a9a9a;margin-right:6px}
.sdc-duo-price ins{text-decoration:none;color:#9a3324;font-weight:700}
.sdc-duo-price .off{font-size:10px;color:#9a3324;margin-left:4px}
.sdc-duo-cta{width:100%;background:#fff;color:#000;border:1px solid #000;padding:12px 18px;font-family:var(--font-main);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:all .2s}
.sdc-duo-cta:hover:not(:disabled){background:#000;color:#fff}
.sdc-duo-cta:disabled{opacity:.45;cursor:default}
/* Modal de sélection rapide */
.sdc-duo-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:130;display:none;align-items:center;justify-content:center;padding:24px}
.sdc-duo-modal.open{display:flex}
.sdc-duo-modal .box{background:#fff;width:760px;max-width:96vw;max-height:84vh;min-height:0;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 18px 60px rgba(0,0,0,.25)}
.sdc-duo-modal .head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--c-border);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.sdc-duo-modal .head em{font-style:normal;color:#9a3324;margin-left:8px}
.sdc-duo-modal .close{background:none;border:none;cursor:pointer;padding:4px;line-height:0}
.sdc-duo-modal .close svg{width:18px;height:18px;stroke:#000;stroke-width:1.8;fill:none}
/* flex:1 1 auto + min-height:0 : sans eux, un enfant flex garde min-height:auto, refuse de se retrecir sous la hauteur de son contenu, et la boite deborde au lieu de defiler. -webkit-overflow-scrolling pour l inertie sur iOS. */
.sdc-duo-modal .grid{overflow-y:auto;flex:1 1 auto;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:2px;background:var(--c-border)}
.sdc-duo-modal .card{background:#fff;border:none;padding:10px 8px 12px;cursor:pointer;text-align:center;transition:background .15s;font-family:var(--font-main)}
.sdc-duo-modal .card:hover{background:#faf9f7}
.sdc-duo-modal .card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;margin-bottom:8px;background:var(--c-img-bg)}
.sdc-duo-modal .card .n{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px}
.sdc-duo-modal .card .p{display:block;font-size:11.5px}
.sdc-duo-modal .card .p del{color:#9a9a9a;margin-right:5px}
.sdc-duo-modal .card .p ins{text-decoration:none;color:#9a3324;font-weight:700}
@media(max-width:640px){
  .sdc-duo-modal{padding:12px}
  .sdc-duo-modal .grid{grid-template-columns:repeat(2,1fr)}
}

/* ---------- Drawer : remise duo visible ---------- */
.sdc-ditem .qp del{color:#9a9a9a;margin-right:5px;font-weight:400}
.sdc-ditem .qp ins{text-decoration:none;color:#9a3324;font-weight:700}
.sdc-ditem .duo-tag{font-size:10.5px;color:#9a3324;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-top:3px}
/* ---------- Fiche : total du duo ---------- */
.sdc-duo-total{font-size:12.5px;margin-top:6px;font-weight:600}
.sdc-duo-total del{color:#9a9a9a;margin:0 5px;font-weight:400}
.sdc-duo-total ins{text-decoration:none;color:#000;font-weight:700}


/* --- Fiche produit : disponibilite + reassurance --- */
.sdc-stock-badge{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;
  background:#f6f7f8;border-radius:6px;padding:9px 14px;margin:14px 0 8px;font-size:.82rem;color:#555}
.sdc-stock-dot{width:7px;height:7px;border-radius:50%;background:#16a34a;flex:0 0 auto;
  box-shadow:0 0 0 2px rgba(22,163,74,.16)}
.sdc-stock-badge strong{color:#111;font-weight:700}
.sdc-stock-ship{display:inline-flex;align-items:center;gap:6px;color:#555}
.sdc-stock-ship .flag{border-radius:2px;vertical-align:middle}

.sdc-reassure-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px}
.sdc-reassure-item{display:flex;align-items:center;gap:10px;background:#f6f7f8;border-radius:6px;padding:10px 13px}
.sdc-reassure-item svg{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:#111;stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round}
.sdc-reassure-item div{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.sdc-reassure-item strong{font-size:.8rem;color:#111;font-weight:700;letter-spacing:.01em}
.sdc-reassure-item span{font-size:.76rem;color:#6b7280}
@media (max-width:600px){
  /* Quatre arguments empilés sur une colonne poussaient le bouton d'achat
     hors de l'écran : on reste sur deux par ligne, avec un texte resserré. */
  .sdc-reassure-item{padding:9px 10px;gap:8px}
  .sdc-reassure-item svg{width:18px;height:18px}
  .sdc-reassure-item strong{font-size:.74rem}
  .sdc-reassure-item span{font-size:.7rem}
  .sdc-stock-badge{font-size:.9rem}
}

/* ---------- Comparateur de matière ---------- */
.anyz-compare{max-width:820px;margin:56px auto 0;padding:0 20px;text-align:center}
.anyz-compare-head .kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#8a8078;font-weight:700;margin-bottom:10px}
.anyz-compare-head h2{font-size:clamp(1.5rem,3.4vw,2.1rem);line-height:1.15;margin:0 0 12px;font-weight:700;text-wrap:balance}
.anyz-compare-head p{margin:0 auto 26px;max-width:56ch;color:#6b7280;font-size:.98rem;line-height:1.65}

.anyz-cmp{position:relative;overflow:hidden;border-radius:10px;user-select:none;touch-action:pan-y;
  box-shadow:0 2px 20px rgba(0,0,0,.10);cursor:ew-resize;line-height:0}
.anyz-cmp img{display:block;width:100%;height:auto}
/* Le calque du dessus garde la taille exacte de celui du dessous et se fait
   ROGNER, sans jamais être redimensionné : réduire sa largeur ferait rétrécir
   la photo au lieu de la dévoiler, et les deux sacs ne se superposeraient plus. */
.anyz-cmp-top{position:absolute;inset:0;width:100%;clip-path:inset(0 50% 0 0)}
.anyz-cmp-top img{width:100%;height:auto;display:block}

.anyz-cmp-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;
  transform:translateX(-1px);box-shadow:0 0 0 1px rgba(0,0,0,.10);pointer-events:none}
.anyz-cmp-knob{position:absolute;top:50%;left:50%;width:42px;height:42px;margin:-21px 0 0 -21px;border-radius:50%;
  background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.22)}
.anyz-cmp-knob::before,.anyz-cmp-knob::after{content:"";position:absolute;top:50%;width:0;height:0;
  border-top:5px solid transparent;border-bottom:5px solid transparent;margin-top:-5px}
.anyz-cmp-knob::before{left:11px;border-right:6px solid #1a1614}
.anyz-cmp-knob::after{right:11px;border-left:6px solid #1a1614}

.anyz-cmp-tag{position:absolute;bottom:16px;z-index:2;padding:8px 14px;border-radius:999px;
  background:rgba(20,17,15,.86);color:#fff;font-size:.74rem;letter-spacing:.06em;font-weight:600;
  line-height:1.2;max-width:44%;pointer-events:none}
.anyz-cmp-tag.left{left:16px}
.anyz-cmp-tag.right{right:16px}
.anyz-cmp-tag{transition:opacity .18s ease, transform .18s ease}
.anyz-cmp-tag.is-off{opacity:0;transform:translateY(4px)}

/* le champ natif reste le pilote : accessible au clavier, mais invisible */
.anyz-cmp input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.anyz-cmp input[type=range]:focus-visible{opacity:1;outline:2px solid #1a1614;outline-offset:-2px}

.anyz-compare-note{margin:14px auto 0;max-width:60ch;font-size:.78rem;color:#9aa0a6;line-height:1.5}

@media (max-width:600px){
  .anyz-compare{margin-top:40px;padding:0 14px}
  .anyz-cmp-tag{bottom:10px;font-size:.68rem;padding:6px 11px;max-width:46%}
  .anyz-cmp-tag.left{left:10px}
  .anyz-cmp-tag.right{right:10px}
  .anyz-cmp-knob{width:36px;height:36px;margin:-18px 0 0 -18px}
}

/* Grille du 2e sac : les cartes pas encore atteintes restent hors flux, et se
   découvrent par lots au défilement du panneau. */

/* Pastilles qui menent a la fiche voisine (Julie / Lea) : meme allure que les
   pastilles de variation, mais ce sont des liens. */
.anyz-swatches-liens{margin:0 0 18px}
.anyz-swatches-liens .anyz-swatch-name{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:9px}
.anyz-swatches-liens .anyz-swatch-name em{font-style:normal;font-weight:400;letter-spacing:.04em;text-transform:none;color:#6b6b6b}
.anyz-swatches-liens .anyz-swatch-row{display:flex;gap:10px;flex-wrap:wrap}
.anyz-swatches-liens .anyz-swatch{width:34px;height:34px;border-radius:50%;display:block;border:1px solid rgba(0,0,0,.14);box-shadow:inset 0 0 0 2px #fff;transition:box-shadow .15s,transform .15s}
.anyz-swatches-liens .anyz-swatch:hover{transform:scale(1.06)}
.anyz-swatches-liens .anyz-swatch.is-active{box-shadow:inset 0 0 0 2px #fff,0 0 0 1.5px #000}
