/**
 * Maquette — styles globaux portés de la maquette (Site Steve Amizet.dc.html, l. 12-38)
 * + bascule desktop/mobile (point de rupture 860px).
 * Les @font-face sont dans assets/fonts/fonts.css.
 */
html,body{margin:0;background:#161B1A}
body{min-height:100vh;background:#161B1A;color:#F1EEE7;font-family:'Manrope',sans-serif;font-size:16px;line-height:1.6}
*{box-sizing:border-box}
a{color:#E2894F;text-decoration:none}
a:hover{color:#F1EEE7}
input,select,textarea,button{font:inherit}
::selection{background:#C8642A;color:#F1EEE7}

@media (max-width:860px){.dc-desktop{display:none!important}}
@media (min-width:861px){.dc-mobile{display:none!important}}

/* Accessibilité clavier (absent de la maquette). */
:focus-visible{outline:2px solid #E2894F;outline-offset:2px}

/* En-tête : liens rendus comme les boutons de la maquette. */
.dc-header a{text-decoration:none}
.dc-nav-link:hover{color:#F1EEE7}
#dc-mobile-menu[hidden]{display:none!important}
.dc-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.dc-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.dc-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.dc-noscript-nav{display:flex;flex-wrap:wrap;gap:8px 20px;padding:10px 20px}

/* Bandeau cookies (Tâche 4) : carte flottante, maquette l. 906-936. Les
   valeurs d'interrupteur (track/curseur/pointeur) dépendent de l'état
   aria-checked, impossible à figer en style inline statique : regroupées ici
   plutôt qu'éclatées en attributs style= comme le reste de la maquette. */
.dc-pref-panel{position:fixed;left:clamp(12px,2vw,24px);bottom:clamp(12px,2vw,24px);z-index:70;width:min(440px,calc(100% - 24px));max-height:calc(100% - 24px);overflow:auto;background:#F1EEE7;color:#161B1A;border-radius:6px;box-shadow:0 20px 50px rgba(0,0,0,.4);padding:22px 22px 20px;display:flex;flex-direction:column;gap:14px;font-size:14px;line-height:1.5}
.dc-pref-panel[hidden]{display:none!important}
.dc-pref-head{display:flex;align-items:center;gap:10px}
.dc-pref-panel .dc-pref-icon{height:28px;width:auto}
.dc-pref-title{font-family:'Dosis',sans-serif;font-weight:700;text-transform:uppercase;font-size:20px;line-height:1}
.dc-pref-intro{margin:0;color:#2A302E}
.dc-pref-categories{display:flex;flex-direction:column;gap:10px}
.dc-pref-categories[hidden]{display:none!important}
.dc-pref-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;align-items:center;border-top:1px solid rgba(22,27,26,.12);padding-top:10px}
.dc-pref-label{font-weight:700}
.dc-pref-switch{width:44px;height:24px;border-radius:999px;border:0;padding:2px;display:flex;align-items:center;cursor:pointer;background:rgba(22,27,26,.22)}
.dc-pref-switch[aria-checked="true"]{background:#C8642A}
.dc-pref-switch[data-pref-locked]{cursor:default}
.dc-pref-switch[data-pref-locked][aria-checked="true"]{background:#A9B49C}
.dc-pref-knob{width:20px;height:20px;border-radius:50%;background:#fff;display:block;transform:translateX(0);transition:transform .2s}
.dc-pref-switch[aria-checked="true"] .dc-pref-knob{transform:translateX(20px)}
.dc-pref-desc{font-size:13px;color:#59605C}
.dc-pref-status{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#59605C;text-align:right}
.dc-pref-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dc-pref-btn{background:#161B1A;color:#F1EEE7;border:0;border-radius:999px;padding:12px 14px;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.dc-pref-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px}
.dc-pref-link{background:none;border:0;padding:0;cursor:pointer;font-size:inherit;text-decoration:underline;font-family:inherit}
.dc-pref-link-personnaliser{color:#161B1A;font-weight:600}
.dc-pref-link-save{color:#A9501E;font-weight:700}
.dc-pref-link-more{color:#59605C}

/* Formules (Tâche 7, page Stages) : sélectionné/non sélectionné (maquette
   script l. 1035-1038, état par défaut dur=2). Toggle en classe plutôt
   qu'en style inline basculé par JS, pour rester simple à maintenir. */
.dc-formule-btn{background:transparent;color:#F1EEE7;border:1px solid rgba(241,238,231,.28)}
.dc-formule-btn .dc-formule-sub{color:#A9B49C}
.dc-formule-btn.is-selected{background:#F1EEE7;color:#161B1A;border-color:#F1EEE7}
.dc-formule-btn.is-selected .dc-formule-sub{color:#2C4235}

/* Formulaires Contact Form 7 portés sur le style en ligne de la maquette
   (Tâche 7, carte « Demande de réservation » l. 350-363 ; réutilisé par le
   formulaire Contact, Tâche 10). Générique : pas de couleurs spécifiques à
   une page au-delà de celles de la maquette elle-même. */
.dc-form .wpcf7-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px}
.dc-form p{margin:0}
.dc-form p:has(textarea),.dc-form p:has(span.wpcf7-acceptance),.dc-form p:has(input.wpcf7-submit),.dc-form p.form-mention-donnees{grid-column:1/-1}
.dc-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#4A514D}
.dc-form label br{display:none}
.dc-form input,.dc-form select,.dc-form textarea{border:1px solid rgba(22,27,26,.22);background:#fff;border-radius:4px;padding:12px 14px;font-size:15px;text-transform:none;letter-spacing:0;color:#161B1A;width:100%;box-sizing:border-box}
.dc-form textarea{resize:vertical}
.dc-form .wpcf7-acceptance label,.dc-form .wpcf7-list-item label{flex-direction:row;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.5;font-weight:400;letter-spacing:normal;text-transform:none;color:#2A302E;cursor:pointer}
.dc-form input[type="checkbox"]{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:#C8642A;cursor:pointer}
.dc-form .wpcf7-submit{align-self:flex-start;background:#C8642A;color:#F1EEE7;border:0;border-radius:999px;padding:15px 28px;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;width:auto}
.dc-form .wpcf7-submit:hover,.dc-form .wpcf7-submit:focus-visible{background:#B3561F}
.dc-form p.form-mention-donnees{margin-top:4px;font-size:12.5px;line-height:1.5;color:#59605C}
.dc-form p.form-mention-donnees a{color:#161B1A;text-decoration:underline}
.dc-form .wpcf7-not-valid-tip{color:#B3561F;font-size:12px;font-weight:600;text-transform:none;letter-spacing:0;margin-top:4px}
.dc-form .wpcf7-response-output{grid-column:1/-1;margin:0;border-radius:4px;padding:10px 14px;font-size:13px}

/* Contact (Tâche 10, maquette l. 585) : le champ « Objet » (select) est seul
   sur sa ligne dans la maquette, pas apparié à un autre champ comme
   Nom/E-mail. Sans cette règle, la grille auto-fit générique de .dc-form
   (2 colonnes à la largeur de cette carte) le laisserait à moitié largeur,
   collé à gauche, avec un vide à droite — ciblé par nom de champ (propre à
   Contact #5571) plutôt qu'en généralisant `p:has(select)`, pour ne pas
   affecter le select "your-formule" du formulaire Stages (Tâche 7). */
.dc-form p:has(select[name="your-objet"]){grid-column:1/-1}

/* Boutique (Tâche 8, archive-product.php + content-product.php + single-product.php) :
   bloc Tirages de la maquette, `Site Steve Amizet.dc.html` l. 418-499. Les
   deux gabarits (archive + fiche produit) partagent le fond clair #F1EEE7
   via la classe `.dc-shop` posée sur leur conteneur racine ; tout le reste
   restylé ici cible les classes réellement rendues par les hooks WooCommerce
   (gabarits eux-mêmes inchangés hors conteneurs ajoutés autour des hooks). */
.dc-shop{background:#F1EEE7;color:#161B1A}
.dc-shop .woocommerce-breadcrumb{padding:16px clamp(20px,5vw,56px) 0;max-width:1280px;margin:0 auto;box-sizing:border-box}
/* woocommerce_shop_loop_header (hooked woocommerce_product_taxonomy_archive_header,
   WC >= 8.6) rend un <h1>« Boutique » même sur l'archive principale, en plus
   du titre déjà porté de la maquette dans le héros ci-dessus. Le hook est
   conservé (ordre intact) ; son rendu visuel est masqué hors écran plutôt
   que supprimé, pour ne pas retirer le titre de page réel (SEO/lecteurs
   d'écran) tout en évitant le doublon visuel absent de la maquette. */
.dc-shop .woocommerce-products-header__title.page-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* En-tête (maquette l. 420-429 : éyebrow, titre, accroche, motif). Chips de
   finition (l. 431-438) omises : aucun attribut « finition » réel au
   catalogue (voir note dans archive-product.php). */
.dc-shop-hero{max-width:1280px;margin:0 auto;padding:clamp(56px,8vw,104px) clamp(20px,5vw,56px) 0;box-sizing:border-box}
.dc-shop-hero-top{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap}
.dc-eyebrow{font-size:12px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:#C8642A;margin-bottom:14px}
.dc-shop-title{margin:0;font-family:'Dosis',sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(44px,6.4vw,92px);line-height:.92}
.dc-shop-intro{margin:18px 0 0;font-family:'Sentient',Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(18px,1.8vw,22px);max-width:40ch;color:#2A302E}
.dc-shop-hero-motif{width:min(300px,60vw);opacity:.35;display:block}
/* Filtres par sujet (style des chips de finition de la maquette, l. 430-437). */
.dc-shop-filtres{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px;margin-top:44px}
.dc-shop-filtre{display:flex;flex-direction:column;gap:2px;border:1px solid rgba(22,27,26,.2);border-radius:4px;padding:18px 20px;color:#161B1A;text-decoration:none;transition:background .2s}
.dc-shop-filtre:hover,.dc-shop-filtre:focus-visible{background:rgba(22,27,26,.06)}
.dc-shop-filtre.is-active{background:#161B1A;border-color:#161B1A;color:#F1EEE7}
.dc-shop-filtre-label{font-family:'Dosis',sans-serif;font-weight:700;text-transform:uppercase;font-size:20px;line-height:1.1}
.dc-shop-filtre-sub{font-size:13px;color:#59605C}
.dc-shop-filtre.is-active .dc-shop-filtre-sub{color:#A9B49C}

/* Grille produits (maquette l. 440-447). `ul.products` est rendu par
   woocommerce_product_loop_start() (gabarit WooCommerce, non surchargé) ;
   `.produit-carte` est la classe posée par content-product.php via
   wc_product_class(). Une carte sans vignette reçoit quand même un `<img>`
   (WooCommerce rend son image de remplacement) : le fond #E3DCCF appliqué
   directement sur l'image couvre donc aussi ce cas (Review Focus Tâche 8). */
.dc-shop-grid-section{max-width:1280px;margin:0 auto;padding:clamp(36px,5vw,56px) clamp(20px,5vw,56px) clamp(64px,9vw,112px);box-sizing:border-box}
.dc-shop-grid-section .woocommerce-notices-wrapper:empty{display:none}
.dc-shop-grid-section .woocommerce-result-count{float:left;margin:0 0 24px;font-size:13px;color:#4A514D;font-family:'Manrope',sans-serif}
.dc-shop-grid-section .woocommerce-ordering{float:right;margin:0 0 24px}
.dc-shop-grid-section .woocommerce-ordering select{border:1px solid rgba(22,27,26,.22);background:#fff;border-radius:4px;padding:8px 12px;font-size:13px;color:#161B1A}
@media (max-width:860px){
	.dc-shop-grid-section .woocommerce-result-count,
	.dc-shop-grid-section .woocommerce-ordering{float:none;display:block;width:100%}
}
.dc-shop ul.products{clear:both;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:clamp(20px,2.4vw,32px) clamp(16px,2vw,28px);list-style:none;margin:0;padding:0}
/* WooCommerce enqueue toujours woocommerce-layout.css et
   woocommerce-smallscreen.css (mise en page par défaut en colonnes
   flottantes, ex. `.woocommerce ul.products.columns-3 li.product{width:
   30.75%}`) en plus de woocommerce-general.css, que le thème déclare ou non
   add_theme_support('woocommerce') (déclaré ici — cf. functions.php — ça ne
   change rien à cet enqueue par défaut, seul un filtre explicite sur
   `woocommerce_enqueue_styles` le ferait). Une fois `ul.products` passé en
   CSS Grid, ce `width:30.75%` continue de s'appliquer, mais À LA CELLULE DE
   GRILLE (plus à la largeur totale comme prévu pour un flottant) : grille
   correcte, mais chaque carte réduite à ~30% de sa colonne. Même spécificité
   que ces règles (4 classes + 2 éléments) pour gagner sans `!important`, en
   comptant sur l'ordre de chargement (amizet-maquette.css après
   woocommerce-layout/-smallscreen, cf. <head>). */
.dc-shop ul.products li.produit-carte.product{float:none;width:auto;margin:0;list-style:none}
/* Clearfix WooCommerce (::before/::after en display:table) : dans une grille
   ils deviennent des cellules vides. */
.dc-shop ul.products::before,.dc-shop ul.products::after{content:none;display:none}
.dc-shop .produit-carte .woocommerce-loop-product__link{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:#161B1A}
.dc-shop .produit-carte img.attachment-woocommerce_thumbnail{aspect-ratio:4/3;width:100%;height:auto;object-fit:contain;padding:14px;box-sizing:border-box;display:block;border-radius:3px;background:#E3DCCF;transition:transform .5s}
.dc-shop .produit-carte .woocommerce-loop-product__link:hover img.attachment-woocommerce_thumbnail,
.dc-shop .produit-carte .woocommerce-loop-product__link:focus img.attachment-woocommerce_thumbnail{transform:scale(1.03)}
.dc-shop .produit-carte .woocommerce-loop-product__title{margin:0;font-family:'Dosis',sans-serif;font-weight:700;text-transform:uppercase;font-size:20px;line-height:1.05}
.dc-shop .produit-carte .price{display:block;font-size:14px;color:#4A514D;font-family:'Manrope',sans-serif;font-weight:400}
.dc-shop .produit-carte .button.add_to_cart_button{align-self:flex-start;margin-top:4px;background:none;border:1px solid rgba(22,27,26,.22);color:#161B1A;border-radius:999px;padding:8px 16px;font-family:'Dosis',sans-serif;font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}
.dc-shop .produit-carte .button.add_to_cart_button:hover,
.dc-shop .produit-carte .button.add_to_cart_button:focus{background:#161B1A;color:#F1EEE7;border-color:#161B1A}
.dc-shop .woocommerce-pagination{clear:both;margin-top:40px}
.dc-shop .woocommerce-pagination .current{background:#C8642A;border-color:#C8642A;color:#F1EEE7}

/* Bandeau de confiance (maquette l. 448-452), réutilisé sur la fiche produit
   (Tâche 8, texte repris à l'identique). */
.dc-shop-trust{border-top:1px solid rgba(22,27,26,.12);max-width:1280px;margin:0 auto;padding:36px clamp(20px,5vw,56px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:24px;box-sizing:border-box}
.dc-shop-trust-title{font-family:'Dosis',sans-serif;font-weight:700;text-transform:uppercase;font-size:17px}
.dc-shop-trust-sub{font-size:14px;color:#4A514D}

/* Fiche produit (single-product.php) : langage visuel de la fenêtre de
   sélection de la maquette (l. 462-499 : éyebrow, titre, description,
   sélecteur de format, prix + bouton panier) appliqué sur les classes
   natives WooCommerce rendues par content-single-product.php (non
   surchargé). */
.dc-product-detail{max-width:1280px;margin:0 auto;padding:clamp(40px,6vw,72px) clamp(20px,5vw,56px) 0;box-sizing:border-box}
.dc-product-detail .product{display:flex;flex-wrap:wrap;gap:clamp(32px,4vw,56px)}
.dc-product-detail .woocommerce-product-gallery{flex:1 1 360px;min-width:0;align-self:flex-start;background:#E3DCCF;border-radius:6px;padding:clamp(16px,2vw,28px);box-sizing:border-box}
.dc-product-detail .woocommerce-product-gallery img{border-radius:3px}
.dc-product-detail .summary.entry-summary{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:16px}
/* Modules tiers accrochés après le résumé (Merchant : logos de paiement,
   badges de confiance ; non couverts par la maquette) : simple pleine
   largeur propre plutôt qu'un repli en bord de colonne image, sans changer
   leur contenu ni les hooks qui les impriment. */
.dc-product-detail .merchant-payment-logos,
.dc-product-detail .merchant-trust-badges{flex:1 1 100%;margin-top:8px}
/* related.php réutilise lui aussi content-product.php (même boucle
   WooCommerce, mêmes hooks), donc les mêmes cartes `.produit-carte` — mais
   `section.related.products` est un enfant flex de `.product` sans largeur
   explicite : sans ce `flex-basis`, le calcul flex/grid imbriqué lui donne
   une largeur arbitraire trop étroite (~1 colonne) au lieu de la pleine
   largeur. */
.dc-product-detail .product > .related.products{flex:1 1 100%;margin-top:clamp(40px,6vw,72px)}
.dc-product-detail .product_title.entry-title{margin:0;font-family:'Dosis',sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(30px,3.4vw,44px);line-height:.98}
.dc-product-detail p.price{margin:0;font-family:'Dosis',sans-serif;font-weight:700;font-size:38px;line-height:1;color:#161B1A}
.dc-product-detail p.price .woocommerce-Price-amount{color:#161B1A}
.dc-product-detail .woocommerce-product-details__short-description{font-family:'Sentient',Georgia,serif;font-style:italic;font-size:18px;line-height:1.45;color:#2A302E}
.dc-product-detail .woocommerce-product-details__short-description p{margin:0 0 .6em}
.dc-product-detail table.variations{width:100%;border:0}
.dc-product-detail table.variations tr{display:flex;flex-direction:column;gap:8px}
.dc-product-detail table.variations .label{font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:#4A514D;padding:0}
.dc-product-detail table.variations .value{padding:0}
.dc-product-detail table.variations select{width:100%;border:1px solid rgba(22,27,26,.22);background:#fff;border-radius:4px;padding:12px 14px;font-size:15px;color:#161B1A;box-sizing:border-box}
/* Champs du bon cadeau (plugin PW Gift Cards) alignés sur le sélecteur de variation. */
.dc-product-detail #pwgc-purchase-container .pwgc-field-container{margin:16px 0 0}
.dc-product-detail #pwgc-purchase-container .pwgc-label{display:block;font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:#4A514D;margin:0 0 8px}
.dc-product-detail #pwgc-purchase-container input[type=text],.dc-product-detail #pwgc-purchase-container input[type=email],.dc-product-detail #pwgc-purchase-container textarea{width:100%;border:1px solid rgba(22,27,26,.22);background:#fff;border-radius:4px;padding:12px 14px;font-size:15px;font-family:inherit;color:#161B1A;box-sizing:border-box}
.dc-product-detail #pwgc-purchase-container textarea{min-height:110px;resize:vertical}
.dc-product-detail #pwgc-purchase-container .pwgc-subtitle,.dc-product-detail #pwgc-message-characters-remaining{display:block;font-size:12px;color:#59605C;margin-top:6px}
.dc-product-detail #pwgc-purchase-container + .woocommerce-variation-add-to-cart,.dc-product-detail .pwgc-field-container:last-child{margin-bottom:18px}
.dc-product-detail .quantity .qty{border:1px solid rgba(22,27,26,.22);background:#fff;border-radius:4px;padding:10px 12px;font-size:15px;color:#161B1A;width:5em}
/* Spécificité volontairement élevée (répétition de classes plutôt que
   !important, cf. convention du fichier) : le CSS par défaut de WooCommerce
   cible `.woocommerce button.button.alt` (3 classes + élément), plus
   spécifique qu'un simple `.dc-product-detail .single_add_to_cart_button`
   (2 classes) qui serait ignoré malgré un ordre de chargement plus tardif. */
.dc-shop .dc-product-detail button.single_add_to_cart_button.alt{background:#C8642A;color:#F1EEE7;border:0;border-radius:999px;padding:15px 28px;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-family:'Dosis',sans-serif;cursor:pointer}
.dc-shop .dc-product-detail button.single_add_to_cart_button.alt:hover,
.dc-shop .dc-product-detail button.single_add_to_cart_button.alt:focus{background:#B3561F}
.dc-product-trust{border-top:1px solid rgba(22,27,26,.12);margin-top:clamp(40px,6vw,72px)}

/* Pages légales (template-parts/legal-layout.php, Tâche 11) : typographie de
   `the_content()` à l'intérieur de l'<article>, portée des styles en ligne
   des 4 blocs isMentions/isCgv/isPrivacy/isCookies de la maquette (l.
   620-712). Chrome uniquement : le post_content lui-même n'est pas modifié
   (cf. Tâche 11, contrainte RGPD). */
.dc-legal-article h2{margin:18px 0 0;font-family:'Dosis',sans-serif;font-weight:700;text-transform:uppercase;font-size:22px;color:#161B1A}
.dc-legal-article p{margin:0}
/* <strong> du post_content sert aussi bien aux amorces en gras (« Produits
   (posters…) : », « Stages : »…) qu'aux placeholders « [à compléter] » — la
   maquette ne le distingue pas non plus par balise (ses placeholders sont
   des <span style="background:#F3DCCB…"> séparés, l. 625 etc., absents du
   post_content réel) : on ne reproduit donc que la graisse, pas le badge
   orange, pour ne pas sur-styler les amorces légitimes. */
.dc-legal-article strong{font-weight:700;color:inherit}
/* <table> du post_content n'est pas enveloppé dans le
   <div style="overflow-x:auto"> de la maquette (l. 629, 668) : plutôt que
   d'imposer son min-width (560/520px, différent par page et absent du
   HTML réel), les cellules sont laissées libres de se réduire/renvoyer à la
   ligne — plus sûr pour la largeur tablette (Review Focus, 861-1024px) que
   de risquer un débordement horizontal de page. */
.dc-legal-article table{width:100%;border-collapse:collapse;font-size:14px;margin:4px 0 0}
.dc-legal-article th{text-align:left;padding:10px 12px;border-bottom:1.5px solid #161B1A;font-family:'Dosis',sans-serif;text-transform:uppercase;font-size:14px}
.dc-legal-article th:first-child{padding-left:0}
.dc-legal-article th:last-child{padding-right:0}
.dc-legal-article td{padding:10px 12px;border-bottom:1px solid #E3DCCF;vertical-align:top}
.dc-legal-article td:first-child{padding-left:0;font-weight:600}
.dc-legal-article td:last-child{padding-right:0}
.dc-legal-article tbody tr:last-child td{border-bottom:0}
/* Encart « Formulaire de rétractation » (maquette l. 650 : <div
   style="background:#fff;border:1px solid rgba(22,27,26,.12);border-
   radius:4px;padding:16px 18px;font-size:14px">) ; le post_content réel
   utilise une <blockquote> pour ce même encart. */
.dc-legal-article blockquote{margin:0;background:#fff;border:1px solid rgba(22,27,26,.12);border-radius:4px;padding:16px 18px;font-size:14px}
.dc-legal-article blockquote p{margin:0}
/* Liens du post_content (ex. mentions légales, lien vers la CNIL, etc.) :
   le `a{color:#E2894F;text-decoration:none}` global (Tâche 2) ne passe pas
   WCAG 1.4.3/1.4.1 sur le fond #F1EEE7 sans soulignement. La maquette
   spécifie ces liens de contenu en #A9501E souligné (contrairement au nav
   latéral .dc-legal-nav, déjà conforme) — ne touche pas au post_content. */
.dc-legal-article a{color:#A9501E;text-decoration:underline}

/* Nav latérale "Informations légales" (template-parts/legal-layout.php) :
   la maquette l'ancre en `position:sticky` pour la colonne desktop (2
   colonnes cote a cote). En dessous de 860px la grille passe en une seule
   colonne (auto-fit/minmax) : la nav et l'article se retrouvent l'un sous
   l'autre dans le MEME flux, donc le sticky colle la nav en haut du
   viewport et la fait défiler PAR-DESSUS le texte de la page en dessous.
   Corrigé ici (pas dans le fichier PHP, pour ne pas toucher au style
   inline verbatim de la maquette) en repassant en position normale sous
   861px. */
@media(max-width:860px){.dc-legal-nav{position:static!important;top:auto!important}}

/* Panier (woocommerce/cart/cart.php, Tâche 12 — maquette l. 716-847) :
   habillage visuel du gabarit conservé à l'identique (mêmes hooks, mêmes
   classes natives .cart/.cart_item/.product-name/.cart_totals/.coupon…) — rien
   ci-dessous n'ajoute de classe dans le gabarit en dehors de `.dc-cart`/
   `.dc-cart__inner` (conteneurs) déjà posés par cart.php, et de
   `.dc-cart-steps`/`.dc-cart-empty` posés par les hooks d'inc/maquette.php
   (woocommerce_before_cart, woocommerce_cart_is_empty). `body.woocommerce-cart`
   est la classe native posée par wc_body_class(), pas une classe de ce thème. */
/* Spécificité à 2 classes volontaire (`.woocommerce-cart.woocommerce-page`,
   natives WooCommerce toutes deux) : /panier/ porte encore l'ancien gabarit
   de page Elementor (page_template `elementor_header_footer`, classe <body>
   `elementor-kit-7`), dont le kit global pose `background-color:#FFFFFF` sur
   <body> avec la même spécificité (1 classe) qu'un simple `body.woocommerce-
   cart` -- gagner sans dépendre de l'ordre de chargement (CSS Elementor
   généré, potentiellement régénéré) plutôt que `!important`. */
body.woocommerce-cart.woocommerce-page{background:#F1EEE7;color:#161B1A}
.dc-cart{background:#F1EEE7;color:#161B1A}
.dc-cart__inner{max-width:1280px;margin:0 auto;padding:clamp(48px,7vw,88px) clamp(20px,5vw,56px) clamp(64px,9vw,112px);box-sizing:border-box}

/* Panier vide (maquette l. 732-741) et lien "Retour à la boutique" natif de
   cart/cart-empty.php (non surchargé) : chacun imprimé par un hook séparé
   (woocommerce_cart_is_empty, prio 1 pour le titre/étapes, prio 10 pour le
   message), sans conteneur commun -- même largeur/marges posée
   indépendamment sur chacun. */
body.woocommerce-cart .dc-cart-steps,
body.woocommerce-cart .dc-cart-empty,
body.woocommerce-cart p.return-to-shop{max-width:1280px;margin-left:auto;margin-right:auto;padding-left:clamp(20px,5vw,56px);padding-right:clamp(20px,5vw,56px);box-sizing:border-box}
body.woocommerce-cart .dc-cart-steps{padding-top:clamp(48px,7vw,88px)}
body.woocommerce-cart p.return-to-shop{padding-bottom:clamp(64px,9vw,112px);margin-top:0}
body.woocommerce-cart p.return-to-shop a.button{background:#C8642A;color:#F1EEE7;border:0;border-radius:999px;padding:15px 28px;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;display:inline-block;font-family:'Dosis',sans-serif}
body.woocommerce-cart p.return-to-shop a.button:hover,
body.woocommerce-cart p.return-to-shop a.button:focus-visible{background:#B3561F}

/* Ligne d'articles (maquette l. 742-764) : vignette, titre, quantité,
   suppression, sous-total. Gardés en <table>/<tr>/<td> natifs (le JS panier
   WooCommerce cible ces éléments/classes), display re-basculé en flex pour
   l'allure de la maquette. En-têtes de colonnes gardés dans le DOM
   (lecteurs d'écran, scope="col") mais masqués visuellement : la maquette
   n'a pas de ligne d'en-têtes. */
.dc-cart table.cart{width:100%;border-collapse:collapse;font-family:'Manrope',sans-serif}
.dc-cart table.cart thead th{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.dc-cart table.cart tbody tr.cart_item{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;border-top:1px solid rgba(22,27,26,.14);padding:18px 0}
.dc-cart table.cart tbody tr.cart_item td{border:0;padding:0}
.dc-cart table.cart td.product-thumbnail{flex:none}
.dc-cart table.cart td.product-thumbnail a,
.dc-cart table.cart td.product-thumbnail img{display:block;width:84px;height:105px;object-fit:cover;border-radius:3px;background:#E3DCCF}
.dc-cart table.cart td.product-name{flex:1 1 220px;min-width:0;font-family:'Dosis',sans-serif;font-weight:700;text-transform:uppercase;font-size:20px;line-height:1.05}
.dc-cart table.cart td.product-name a{color:inherit;text-decoration:none}
.dc-cart table.cart td.product-name .wc-item-meta,
.dc-cart table.cart td.product-name dl.variation{font-family:'Manrope',sans-serif;font-weight:400;text-transform:none;font-size:14px;color:#4A514D;margin-top:4px;display:grid;grid-template-columns:auto 1fr;gap:2px 6px}
.dc-cart table.cart td.product-name dl.variation dt,.dc-cart table.cart td.product-name dl.variation dd{float:none;margin:0;padding:0}
.dc-cart table.cart td.product-name dl.variation dd p{margin:0}
.dc-cart table.cart td.product-price{flex:0 0 auto;font-size:14px;color:#4A514D;font-family:'Manrope',sans-serif;font-weight:400}
.dc-cart table.cart td.product-quantity{flex:0 0 auto}
.dc-cart table.cart .quantity .qty{border:1px solid rgba(22,27,26,.22);background:#fff;border-radius:999px;padding:8px 14px;font-size:15px;color:#161B1A;width:4.5em;text-align:center}
.dc-cart table.cart td.product-remove{flex:0 0 auto}
.dc-cart table.cart td.product-remove a.remove{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:none;color:#59605C;text-decoration:none;font-size:18px;line-height:1}
.dc-cart table.cart td.product-remove a.remove:hover,
.dc-cart table.cart td.product-remove a.remove:focus-visible{background:#E3DCCF;color:#161B1A}
.dc-cart table.cart td.product-subtotal{flex:0 0 auto;margin-left:auto;font-family:'Dosis',sans-serif;font-weight:700;font-size:22px;white-space:nowrap}

/* Ligne actions (coupon, mise à jour du panier — maquette l. 765-768,
   boutons "Continuer mes achats"/"Passer à la livraison") : noms de champ et
   classes JS (coupon_code, update_cart, woocommerce-cart-nonce) inchangés. */
.dc-cart table.cart tr.actions td{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;border-top:1px solid rgba(22,27,26,.14);padding:24px 0 0}
.dc-cart table.cart .coupon{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.dc-cart table.cart .coupon .input-text{border:1px solid rgba(22,27,26,.22);background:#fff;border-radius:4px;padding:10px 14px;font-size:14px;color:#161B1A}
.dc-cart table.cart button[name="apply_coupon"],
.dc-cart table.cart button[name="update_cart"]{background:none;border:1px solid rgba(22,27,26,.22);color:#161B1A;border-radius:999px;padding:10px 20px;font-family:'Dosis',sans-serif;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.dc-cart table.cart button[name="apply_coupon"]:hover,
.dc-cart table.cart button[name="update_cart"]:hover,
.dc-cart table.cart button[name="apply_coupon"]:focus-visible,
.dc-cart table.cart button[name="update_cart"]:focus-visible{background:#161B1A;color:#F1EEE7;border-color:#161B1A}
/* Saisie d'un bon cadeau (PW Gift Cards : panier + validation de commande),
   même langage que le champ code promo. */
#pwgc-redeem-gift-card-form,#pwgc-redeem-form{font-family:'Manrope',sans-serif;color:#161B1A;margin:18px 0 14px}
#pwgc-redeem-gift-card-form *,#pwgc-redeem-form *{font-family:inherit}
#pwgc-redeem-gift-card-container{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px}
#pwgc-redeem-gift-card-number{flex:1 1 180px;min-width:0;border:1px solid rgba(22,27,26,.22);background:#fff;border-radius:4px;padding:10px 14px;font-size:14px;color:#161B1A;box-sizing:border-box}
#pwgc-redeem-button{background:none;border:1px solid rgba(22,27,26,.22);color:#161B1A;border-radius:999px;padding:10px 20px;font-family:'Dosis',sans-serif!important;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
#pwgc-redeem-button:hover,#pwgc-redeem-button:focus-visible{background:#161B1A;color:#F1EEE7;border-color:#161B1A}
#pwgc-redeem-error{color:#A9501E;font-size:13px}

/* Récapitulatif (maquette l. 829-844 : aside sticky blanc) : classes
   natives .cart-collaterals/.cart_totals (cart/cart-totals.php, non
   surchargé), posées dans cart.php par `do_action('woocommerce_cart_collaterals')`. */
.dc-cart .cart-collaterals{display:flex;justify-content:flex-end;margin-top:clamp(28px,4vw,64px)}
.dc-cart .cart_totals{background:#fff;border:1px solid rgba(22,27,26,.1);border-radius:6px;padding:24px;max-width:380px;width:100%;box-sizing:border-box;position:sticky;top:96px}
.dc-cart .cart_totals h2{margin:0 0 14px;font-family:'Dosis',sans-serif;font-weight:700;text-transform:uppercase;font-size:20px}
.dc-cart .cart_totals table{width:100%;border-collapse:collapse;font-size:14px}
.dc-cart .cart_totals tr th,
.dc-cart .cart_totals tr td{border:0;padding:6px 0;text-align:left}
.dc-cart .cart_totals tr td{text-align:right}
.dc-cart .cart_totals tr.order-total th,
.dc-cart .cart_totals tr.order-total td{border-top:1px solid rgba(22,27,26,.12);padding-top:12px;font-weight:700}
.dc-cart .cart_totals tr.order-total .amount{font-family:'Dosis',sans-serif;font-size:30px;font-weight:700;color:#161B1A}
.dc-cart .wc-proceed-to-checkout{margin-top:14px}
.dc-cart .wc-proceed-to-checkout a.checkout-button{display:block;width:100%;text-align:center;box-sizing:border-box;background:#C8642A;color:#F1EEE7;border:0;border-radius:999px;padding:15px 28px;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;font-family:'Dosis',sans-serif}
.dc-cart .wc-proceed-to-checkout a.checkout-button:hover,
.dc-cart .wc-proceed-to-checkout a.checkout-button:focus-visible{background:#B3561F}
@media (max-width:860px){
	.dc-cart .cart-collaterals{justify-content:stretch}
	.dc-cart .cart_totals{position:static;max-width:none}
}

/* Commande (/commander/, Tâche 12) : CSS seul, aucun gabarit checkout
   surchargé (common-context.md, « aucune surcharge PHP du checkout »).
   `body.dc-checkout` est posée par un filtre `body_class` (inc/maquette.php) —
   pas un conteneur de gabarit : tout le DOM ciblé ici reste celui des
   templates WooCommerce natifs (checkout/form-checkout.php et ses
   sous-gabarits). Reprend la palette de la maquette (l. 769-815,
   Livraison/Paiement) sans reproduire littéralement sa mise en page en deux
   écrans successifs : la page réelle affiche facturation + livraison +
   paiement en une fois (cf. inc/maquette.php, amizet_dc_cart_steps(2, false)
   pour l'indicateur d'étapes, posé en étapes 2-3). */
/* Même remarque que .woocommerce-cart ci-dessus : /commander/ porte
   vraisemblablement le même gabarit Elementor hérité (à vérifier à l'e2e). */
body.dc-checkout.woocommerce-page{background:#F1EEE7;color:#161B1A}
body.dc-checkout #main{max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,56px) clamp(64px,9vw,112px);box-sizing:border-box}
body.dc-checkout #main article h1{font-family:'Dosis',sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(40px,5.6vw,76px);line-height:.95;margin:0 0 12px}
body.dc-checkout .dc-cart-steps{padding-top:clamp(48px,7vw,88px);margin-bottom:24px}
body.dc-checkout form.checkout{display:flex;flex-direction:column;gap:18px}
body.dc-checkout #customer_details{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px}
body.dc-checkout #customer_details h3,
body.dc-checkout #order_review_heading{font-family:'Dosis',sans-serif;font-weight:700;text-transform:uppercase;font-size:26px;line-height:1;margin:0 0 4px}
body.dc-checkout .form-row label{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#4A514D;margin-bottom:6px}
body.dc-checkout .form-row .input-text,
body.dc-checkout .form-row select,
body.dc-checkout .form-row textarea{border:1px solid rgba(22,27,26,.22);background:#fff;border-radius:4px;padding:12px 14px;font-size:15px;color:#161B1A;width:100%;box-sizing:border-box}
body.dc-checkout #order_review{background:#fff;border:1px solid rgba(22,27,26,.12);border-radius:4px;padding:18px}
body.dc-checkout .woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse;font-size:14px}
body.dc-checkout .woocommerce-checkout-review-order-table th,
body.dc-checkout .woocommerce-checkout-review-order-table td{border:0;padding:6px 0}
body.dc-checkout .woocommerce-checkout-review-order-table .order-total .amount{font-family:'Dosis',sans-serif;font-weight:700;font-size:22px}
body.dc-checkout ul.wc_payment_methods{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
body.dc-checkout ul.wc_payment_methods li{background:#fff;border:1px solid rgba(22,27,26,.12);border-radius:4px;padding:14px 16px}
body.dc-checkout .woocommerce-terms-and-conditions-wrapper{font-size:13.5px;line-height:1.5;color:#2A302E}
body.dc-checkout #place_order{background:#C8642A;color:#F1EEE7;border:0;border-radius:999px;padding:15px 28px;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;font-family:'Dosis',sans-serif}
body.dc-checkout #place_order:hover,
body.dc-checkout #place_order:focus-visible{background:#B3561F}
/* Grilles WooCommerce (.col2-set) : neutralise le clearfix ::before/::after
   (sinon cellule vide) et les largeurs flottantes 48 % de woocommerce-layout. */
body.dc-checkout #customer_details::before,body.dc-checkout #customer_details::after,
body.dc-account .u-columns.col2-set::before,body.dc-account .u-columns.col2-set::after{content:none;display:none}
body.dc-checkout #customer_details > .col-1,body.dc-checkout #customer_details > .col-2,
body.dc-account .u-columns.col2-set > .col-1,body.dc-account .u-columns.col2-set > .col-2{float:none;width:auto;max-width:none}
body.dc-checkout #main article{padding-top:clamp(48px,7vw,88px)}
body.dc-checkout .dc-cart-steps{padding-top:0}

/* Mon compte (connexion / inscription / espace client). */
body.dc-account.woocommerce-page,body.dc-account{background:#F1EEE7;color:#161B1A}
body.dc-account #main{max-width:1280px;margin:0 auto;padding:clamp(48px,7vw,88px) clamp(20px,5vw,56px) clamp(64px,9vw,112px);box-sizing:border-box}
body.dc-account #main article h1{font-family:'Dosis',sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(40px,5.6vw,76px);line-height:.95;margin:0 0 28px}
body.dc-account .u-columns.col2-set{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px}
body.dc-account .woocommerce h2{font-family:'Dosis',sans-serif;font-weight:700;text-transform:uppercase;font-size:26px;line-height:1;margin:0 0 14px}
body.dc-account form.woocommerce-form{background:#fff;border:1px solid rgba(22,27,26,.12);border-radius:4px;padding:22px;margin:0}
body.dc-account .form-row{margin:0 0 14px;padding:0}
body.dc-account .form-row label{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#4A514D;margin-bottom:6px}
body.dc-account .form-row label.woocommerce-form__label-for-checkbox{display:inline-flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-weight:400;font-size:14px;color:#2A302E}
body.dc-account .form-row .input-text,body.dc-account .form-row select{border:1px solid rgba(22,27,26,.22);background:#fff;border-radius:4px;padding:12px 14px;font-size:15px;color:#161B1A;width:100%;box-sizing:border-box}
body.dc-account .woocommerce-form-login__submit,body.dc-account .woocommerce-form-register__submit,body.dc-account .woocommerce-Button.button,body.dc-account .woocommerce-MyAccount-content .button{background:#C8642A;color:#F1EEE7;border:0;border-radius:999px;padding:13px 26px;font-family:'Dosis',sans-serif;font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;margin-top:4px}
body.dc-account .woocommerce-form-login__submit:hover,body.dc-account .woocommerce-form-register__submit:hover,body.dc-account .woocommerce-Button.button:hover,body.dc-account .woocommerce-MyAccount-content .button:hover{background:#A9501E;color:#F1EEE7}
body.dc-account .woocommerce-LostPassword a,body.dc-account .woocommerce-privacy-policy-text a,body.dc-account .woocommerce-MyAccount-content a:not(.button){color:#A9501E}
body.dc-account .woocommerce-privacy-policy-text{font-size:13.5px;line-height:1.5;color:#2A302E}
body.dc-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
body.dc-account .woocommerce-MyAccount-navigation a{display:inline-block;border:1px solid rgba(22,27,26,.2);border-radius:999px;padding:8px 16px;color:#161B1A;text-decoration:none;font-size:14px}
body.dc-account .woocommerce-MyAccount-navigation .is-active a{background:#161B1A;color:#F1EEE7;border-color:#161B1A}
body.dc-account .woocommerce-MyAccount-navigation,body.dc-account .woocommerce-MyAccount-content{float:none;width:auto}

@media (max-width:860px){
	body.dc-checkout #customer_details{grid-template-columns:1fr}
}
