﻿/*
Theme Name: Blocksy Child - Délices Parfumés
Theme URI: https://delices-parfumes.com
Description: Thème enfant Blocksy - Design fidèle à la boutique Shopify
Author: Délices Parfumés
Template: blocksy
Version: 2.2.1
Text Domain: blocksy-child
*/

/* ============================================================
   IMPORT FONTS — même esprit que Shopify (sans-serif neutre)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&display=swap');

/* ============================================================
   VARIABLES
   ============================================================ */
/* ── Variables fixes ── */
:root {
  --dp-magenta:      #E0A598;
  --dp-magenta-dark: #C08070;
  --dp-amber:        #c8732a;       /* accent chaud — flamme de bougie */
  --dp-amber-light:  #f5a623;
  --dp-font-body:    'Raleway', -apple-system, BlinkMacSystemFont, sans-serif;
  --dp-font-titre:   'Playfair Display', Georgia, serif;
  --dp-font-title:   'Playfair Display', Georgia, serif;
  --dp-radius:       6px;
  --dp-transition:   0.25s ease;
}

/* ── Thème clair chaleureux — esprit bougie & parfum ── */
:root {
  --dp-bg:          #fff9f2;   /* crème chaude perceptible */
  --dp-surface:     #faf3e8;   /* parchemin doux */
  --dp-surface-2:   #f3e9dc;   /* beige chaud */
  --dp-text:        #2c1f12;   /* brun foncé chaleureux */
  --dp-text-muted:  #7a6555;   /* brun muted */
  --dp-border:      #e8ddd0;   /* contour sable */
  --dp-header-bg:   #fffbf4;
  --dp-footer-bg:   #f3e9dc;
  --dp-footer-text: #2c1f12;
  --dp-input-bg:    #faf5ee;
  /* Aliases */
  --dp-noir:        #2c1f12;
  --dp-gris-fonce:  #4a3728;
  --dp-gris-moyen:  #7a6555;
  --dp-gris-clair:  #faf3e8;
  --dp-gris-border: #e8ddd0;
  --dp-gris-texte:  #7a6555;
  --dp-blanc:       #fffdf8;
  --dp-accent:      #2c1f12;
}

/* ============================================================
   BASE
   ============================================================ */
*, *::before, *::after {
  box-sizing: border-box;
  font-family: inherit;
}

/* Reset universel — tous les éléments héritent la police du body */
input, button, select, textarea, optgroup, option,
::placeholder {
  font-family: var(--dp-font-body) !important;
}

body {
  font-family: 'Raleway', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #2c1f12 !important;
  background: #fff9f2 !important;
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0.01em !important;
  transition: background var(--dp-transition), color var(--dp-transition);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--dp-font-titre) !important;
  color: var(--dp-text) !important;
  font-weight: 400 !important;   /* Playfair Display est élégant à poids normal */
  letter-spacing: 0.01em !important;
}

a {
  color: var(--dp-noir) !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

a:hover {
  color: var(--dp-magenta) !important;
}

p {
  font-family: var(--dp-font-body) !important;
  color: var(--dp-gris-fonce) !important;
  line-height: 1.7 !important;
}

/* ============================================================
   HEADER — adaptatif au thème
   ============================================================ */
/* ── Header — fond crème chaud (valeur directe pour contourner Blocksy) ── */
.ct-header,
.ct-header-inner,
.ct-header-row,
.ct-header-row-inner,
.ct-container-fluid,
#masthead,
.site-header,
header.site-header,
[data-row="middle"],
[data-row="top"],
[data-row="bottom"] {
  background-color: #fffbf4 !important;
  border-bottom: 1px solid #e8ddd0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  transition: background-color var(--dp-transition), border-color var(--dp-transition) !important;
}

/* Blocksy stocke parfois la couleur dans ses propres custom properties */
.ct-header { --theme-palette-color-8: #fffbf4 !important; }

/* Dark mode header — règle ultra-spécifique + override variables Blocksy */

/* Certaines versions de Blocksy utilisent des rows/columns dans le header */

/* Logo + nav — alignement vertical centré ──────────────────────────── */
.ct-header-row-inner,
.ct-header-row [data-row="middle"] > .ct-container,
.ct-header [data-row="middle"] .ct-header-row-inner {
  display: flex !important;
  align-items: center !important;
}

.ct-logo,
.ct-header .ct-logo {
  display: flex !important;
  align-items: center !important;
  align-self: center !important;
}

/* Logo — hauteur forcée (Blocksy peut appliquer ses propres contraintes) */
.ct-logo img,
.site-logo img,
.ct-header .ct-logo img,
.ct-header .ct-logo a img,
.ct-header [class*="logo"] img,
header .ct-logo img {
  max-height: 140px !important;
  height: 140px !important;
  width: auto !important;
  object-fit: contain !important;
  display: block !important;
}

/* Navigation principale */
.ct-main-nav,
.menu-container,
.ct-main-nav ul,
nav ul {
  gap: 0 !important;
}

/* ── Tous les liens nav — typographie de base ── */
a.ct-menu-link,
.menu-container .menu-item > a,
nav li a {
  font-family: var(--dp-font-body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--dp-text) !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

/* ── Style pill 1er niveau ── */
body .menu-container .menu-item {
  display: flex !important;
  align-items: center !important;
}
body .menu-container .menu-item > a.ct-menu-link {
  display: inline-block !important;
  align-self: center !important;
  height: auto !important;
  padding: 4px 14px !important;
  border-radius: 20px !important;
  background-color: transparent !important;
  line-height: 1.3 !important;
  transition: background-color var(--dp-transition), color var(--dp-transition) !important;
}
body .menu-container .menu-item > a.ct-menu-link:hover {
  background-color: var(--dp-magenta) !important;
  color: var(--dp-text) !important;
}
body .menu-container .current-menu-item > a.ct-menu-link,
body .menu-container .current-menu-ancestor > a.ct-menu-link {
  background-color: transparent !important;
  color: var(--dp-text) !important;
  font-weight: 600 !important;
}

/* ── Reset pill pour les sous-menus ── */
body .menu-container .sub-menu .menu-item > a.ct-menu-link {
  border-radius: 0 !important;
  background-color: transparent !important;
  padding: 8px 18px !important;
  line-height: inherit !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body .menu-container .sub-menu .menu-item > a.ct-menu-link:hover {
  background-color: var(--dp-surface) !important;
  color: var(--dp-magenta) !important;
}
body .menu-container .sub-menu .current-menu-item > a.ct-menu-link {
  background-color: transparent !important;
  color: var(--dp-magenta) !important;
  font-weight: 600 !important;
}

/* ── Dropdowns du menu principal ── */
.ct-main-nav .sub-menu,
.menu-container .sub-menu,
.ct-main-nav ul.sub-menu,
nav ul.sub-menu {
  background: var(--dp-bg) !important;
  border: 1px solid var(--dp-border) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.10) !important;
  border-radius: 8px !important;
  padding: 8px 0 !important;
}

.ct-main-nav .sub-menu li a,
.ct-main-nav ul.sub-menu li a,
nav ul.sub-menu li a {
  color: var(--dp-text) !important;
  background: transparent !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  padding: 8px 18px !important;
  display: block !important;
  transition: background var(--dp-transition), color var(--dp-transition) !important;
}

.ct-main-nav .sub-menu li a:hover,
nav ul.sub-menu li a:hover {
  color: var(--dp-magenta) !important;
  background: var(--dp-surface) !important;
}

/* Dark mode — dropdown nav */

/* Icônes header */
.ct-header-cart,
[data-id="cart-icon"],
.ct-header [data-id="search"],
.ct-header [data-id="account"],
.ct-header svg {
  color: var(--dp-text) !important;
  fill: var(--dp-text) !important;
}

.ct-cart-count,
.ct-dynamic-count-cart,
.cart-count,
.xoo-wsc-items-count,
.xoo-wsch-items-count,
.xoo-wsc-sc-count {
  background: var(--dp-magenta) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-family: var(--dp-font-body) !important;
}

/* ============================================================
   BOUTONS — valeurs sémantiques (pas d'alias inversés)
   ============================================================ */
/* ── Boutons globaux — style magenta (ajouter au panier, choisir les options…) ── */
.button,
.btn,
button[type="submit"]:not(.search-submit),
input[type="submit"],
.wp-block-button__link,
.wc-block-components-button,
.single_add_to_cart_button,
.add_to_cart_button,
.wc-proceed-to-checkout .checkout-button,
.woocommerce-cart .cart .button {
  background: var(--dp-magenta) !important;
  color: #fff !important;
  border: 2px solid var(--dp-magenta) !important;
  border-radius: 4px !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 12px 18px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, opacity 0.18s ease !important;
}

.button:hover,
.btn:hover,
button[type="submit"]:not(.search-submit):hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.wc-block-components-button:hover,
.single_add_to_cart_button:hover,
.add_to_cart_button:hover,
.wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-cart .cart .button:hover {
  background: var(--dp-magenta-dark) !important;
  border-color: var(--dp-magenta-dark) !important;
  color: #fff !important;
  opacity: 1 !important;
}

/* Message "sélectionnez une option" au-dessus du bouton */
.dp-variation-notice {
  display: none;
  align-items: center;
  gap: 8px;
  background: #fff4f0;
  border: 1px solid var(--dp-magenta);
  border-radius: 6px;
  color: var(--dp-magenta);
  font-family: var(--dp-font-body);
  font-size: 0.82rem;
  font-weight: 500;
  padding: 10px 14px;
  margin-bottom: 12px;
  animation: dp-notice-in 0.2s ease;
}
.dp-variation-notice.dp-visible {
  display: flex;
}
.dp-variation-notice svg {
  flex-shrink: 0;
}
@keyframes dp-notice-in {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Bouton variation produit — état désactivé (aucune variation sélectionnée) */
.woocommerce-variation-add-to-cart .single_add_to_cart_button,
.woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button,
.variations_button .single_add_to_cart_button,
.single_variation_wrap .single_add_to_cart_button {
  background: var(--dp-magenta) !important;
  color: #fff !important;
  border: 2px solid var(--dp-magenta) !important;
  border-radius: 4px !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 12px 18px !important;
  cursor: pointer !important;
  transition: background 0.18s ease, color 0.18s ease, opacity 0.18s ease !important;
  display: inline-block !important;
}
.woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button[disabled],
.woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button:disabled {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
  background: var(--dp-magenta) !important;
  color: #fff !important;
  border-color: var(--dp-magenta) !important;
}
.woocommerce-variation-add-to-cart-enabled .single_add_to_cart_button,
.woocommerce-variation-add-to-cart-enabled .single_add_to_cart_button:not([disabled]),
.single_variation_wrap .woocommerce-variation-add-to-cart-enabled > div > button,
.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled > div > button {
  opacity: 1 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  display: inline-block !important;
  background: var(--dp-magenta) !important;
  color: #fff !important;
  border: 2px solid var(--dp-magenta) !important;
  border-radius: 4px !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 12px 18px !important;
  text-decoration: none !important;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease !important;
  box-shadow: none !important;
  outline: none !important;
}
.woocommerce-variation-add-to-cart .single_add_to_cart_button:not([disabled]):hover,
.woocommerce-variation-add-to-cart-enabled .single_add_to_cart_button:hover,
.single_variation_wrap .woocommerce-variation-add-to-cart-enabled > div > button:hover,
.variations_button .single_add_to_cart_button:not([disabled]):hover {
  background: var(--dp-magenta-dark) !important;
  border-color: var(--dp-magenta-dark) !important;
  color: #fff !important;
}

/* Bouton secondaire / outline */
.button.alt,
.woocommerce-page .button.alt {
  background: transparent !important;
  color: var(--dp-text) !important;
  border: 1px solid var(--dp-text) !important;
}

.button.alt:hover {
  background: var(--dp-text) !important;
  color: var(--dp-bg) !important;
}

/* ============================================================
   FOND GÉNÉRAL PAGES — gris très clair comme Shopify
   ============================================================ */
.woocommerce-page,
.woocommerce,
body.woocommerce,
body.woocommerce-page {
  background: var(--dp-gris-clair) !important;
}

.woocommerce .container,
.ct-container,
.entry-content {
  background: transparent !important;
}

/* ============================================================
   CATALOGUE PRODUITS — grille épurée sans bordures
   ============================================================ */
.woocommerce ul.products,
ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
  gap: 24px !important;
  padding: 0 !important;
  list-style: none !important;
}

ul.products li.product {
  background: var(--dp-blanc) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 8px rgba(44, 31, 18, 0.05) !important;
  padding: 0 !important;
  overflow: hidden !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
  will-change: transform;
}

ul.products li.product:hover {
  opacity: 1 !important;
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(44, 31, 18, 0.14) !important;
  border-color: var(--dp-amber) !important;
}

/* Image produit — carrée avec zoom au hover */
ul.products li.product a img,
ul.products li.product .woocommerce-loop-product__image {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  display: block !important;
  transition: transform 0.45s ease !important;
}

ul.products li.product:hover a img,
ul.products li.product:hover .woocommerce-loop-product__image {
  transform: scale(1.07) !important;
}

/* Infos sous l'image */
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2 {
  font-family: var(--dp-font-body) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--dp-noir) !important;
  margin: 10px 0 4px !important;
  padding: 0 4px !important;
  line-height: 1.4 !important;
}

ul.products li.product .price,
ul.products li.product .woocommerce-Price-amount {
  font-family: var(--dp-font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--dp-amber) !important;
  padding: 0 4px !important;
}

/* Infos sous image : padding chaud */
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2 {
  padding: 10px 12px 4px !important;
}
ul.products li.product .price { padding: 0 12px 10px !important; }

/* ── Label collection dans la vignette ── */
ul.products li.product .meta-categories {
  display: block !important;
  padding: 4px 12px 0 !important;        /* aligné sur le titre (12px) */
  list-style: none !important;
}
ul.products li.product .meta-categories a {
  font-family: var(--dp-font-titre) !important;
  font-style: italic !important;
  font-size: 0.72rem !important;
  font-weight: 400 !important;
  color: var(--dp-text-muted) !important;
  text-decoration: none !important;
  background: rgba(255,255,255,0.6) !important;
  border-radius: 3px !important;
  padding: 1px 6px !important;
  display: inline-block !important;
  transition: color 0.2s !important;
  letter-spacing: 0.02em !important;
}
ul.products li.product .meta-categories a:hover {
  color: var(--dp-magenta) !important;
}

/* ── Étoiles dans les vignettes produit ───────────────────────────── */

/* Conteneur étoiles : colonne (étoiles + résumé l'un sous l'autre)
   padding: 0 12px → aligné sur titre, prix et catégories */
.ct-woo-card-rating {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px !important;
  padding: 0 12px !important;
}

/* Ligne étoiles : centrée verticalement avec la note/lien éventuel */
.ct-woo-card-rating .woocommerce-product-rating {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  line-height: 1 !important;
}

/* Les étoiles elles-mêmes : forcer l'alignement vertical */
.ct-woo-card-rating .star-rating {
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

/* Lien "(N avis)" de WooCommerce : masqué car on affiche notre résumé */
.ct-woo-card-rating .woocommerce-review-link {
  display: none !important;
}

/* Résumé "noté : X,X sur N avis" injecté sous les étoiles (vignettes) */
.ct-woo-card-rating .dp-rating-summary {
  font-family: var(--dp-font-body) !important;
  font-size: 0.7rem !important;
  font-style: italic !important;
  color: var(--dp-text-muted) !important;
  line-height: 1.3 !important;
  padding: 0 !important;
}

/* Lien "noté : X,X sur N avis" — vignettes ET page produit */
.dp-review-link-formatted {
  font-family: var(--dp-font-body) !important;
  font-size: 0.7rem !important;
  font-style: italic !important;
  color: var(--dp-text-muted) !important;
  text-decoration: none !important;
  opacity: 1 !important;
  display: inline !important;
}
.dp-review-link-formatted:hover {
  color: var(--dp-magenta) !important;
  text-decoration: underline !important;
  opacity: 1 !important;
}
/* Nombres en gras dans le lien */
.dp-review-link-formatted strong {
  font-weight: 700 !important;
  font-style: normal !important;
  color: inherit !important;
}
/* Taille légèrement plus grande sur la page produit */
.woocommerce-product-rating .dp-review-link-formatted {
  font-size: 0.82rem !important;
}

/* Bouton ajouter au panier dans le catalogue */
ul.products li.product .button {
  font-size: 13px !important;
  padding: 8px 16px !important;
  margin: 8px 4px !important;
  width: calc(100% - 8px) !important;
}

/* Titre de page catalogue */
.woocommerce-products-header__title,
.woocommerce h1.page-title,
.entry-title {
  font-family: var(--dp-font-titre) !important;
  font-size: 2.5rem !important;
  font-weight: 400 !important;
  color: var(--dp-noir) !important;
  margin-bottom: 32px !important;
}

/* Filtres et tri */
.woocommerce-ordering select,
.orderby {
  font-family: var(--dp-font-body) !important;
  font-size: 14px !important;
  border: 1px solid var(--dp-gris-border) !important;
  border-radius: 4px !important;
  padding: 8px 12px !important;
  background: var(--dp-blanc) !important;
  color: var(--dp-noir) !important;
}

/* ============================================================
   PAGE PRODUIT
   ============================================================ */
.product_title,
.woocommerce div.product .product_title {
  font-family: var(--dp-font-titre) !important;
  font-size: 2rem !important;
  font-weight: 400 !important;
  font-style: italic !important;   /* Playfair italique = élégance */
  color: var(--dp-noir) !important;
  line-height: 1.25 !important;
  margin-bottom: 12px !important;
}

.woocommerce-Price-amount.amount {
  font-family: var(--dp-font-body) !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  color: var(--dp-amber) !important;  /* prix en ambre chaud */
}

/* Variantes */
.variations_form .variations label,
.variations label {
  font-family: var(--dp-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--dp-gris-moyen) !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
  display: block !important;
}

.variations select {
  font-family: var(--dp-font-body) !important;
  font-size: 14px !important;
  border: 1px solid var(--dp-noir) !important;
  border-radius: 4px !important;
  padding: 10px 14px !important;
  background: var(--dp-blanc) !important;
  color: var(--dp-noir) !important;
  width: 100% !important;
  max-width: 360px !important;
  appearance: auto !important;
}

.variations select:focus {
  outline: 2px solid var(--dp-noir) !important;
  outline-offset: 1px !important;
}

/* Description courte */
.woocommerce-product-details__short-description {
  font-family: var(--dp-font-body) !important;
  font-size: 14px !important;
  color: var(--dp-gris-fonce) !important;
  line-height: 1.7 !important;
  margin: 16px 0 !important;
}

/* Galerie produit — cadre réduit et centré */
.woocommerce div.product .woocommerce-product-gallery {
  max-width: 400px !important;
  width: 100% !important;
}

/* Photo principale — galerie multi-images (flexy) ET image unique */
.woocommerce-product-gallery .flexy-item .ct-media-container,
.woocommerce-product-gallery .flexy-item figure,
.woocommerce-product-gallery .ct-product-gallery-container > .ct-media-container,
.woocommerce-product-gallery .ct-product-gallery-container > figure {
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* Photos secondaires (miniatures en bas) */
.woocommerce-product-gallery .flexy-pills .ct-media-container,
.woocommerce-product-gallery .flexy-pills figure {
  border-radius: 8px !important;
  overflow: hidden !important;
}

/* Fallback flex-viewport (WooCommerce standard) */
.woocommerce-product-gallery .flex-viewport {
  border-radius: 12px !important;
  overflow: hidden !important;
}
.woocommerce-product-gallery .flex-control-thumbs li img {
  border-radius: 8px !important;
  border: 2px solid transparent !important;
  opacity: 0.65 !important;
  transition: opacity 0.2s, border-color 0.2s !important;
}
.woocommerce-product-gallery .flex-control-thumbs li img:hover { opacity: 0.9 !important; }
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
  border-color: var(--dp-amber) !important;
  opacity: 1 !important;
}

/* Onglets */
.woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--dp-gris-border) !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
}

.woocommerce-tabs ul.tabs li a {
  font-family: var(--dp-font-body) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--dp-gris-moyen) !important;
  padding: 12px 20px !important;
  border-bottom: 2px solid transparent !important;
}

.woocommerce-tabs ul.tabs li.active a {
  color: var(--dp-noir) !important;
  border-bottom-color: var(--dp-noir) !important;
  font-weight: 500 !important;
}

/* Onglets produit — centrage mobile */
@media (max-width: 690px) {
  .woocommerce div.product div.woocommerce-tabs ul.tabs {
    align-items: center !important;
    --vertical-alignment: center !important;
  }
  .woocommerce div.product div.woocommerce-tabs ul.tabs li {
    text-align: center !important;
    width: auto !important;
  }
}

/* Breadcrumb */
.woocommerce-breadcrumb {
  font-family: var(--dp-font-body) !important;
  font-size: 13px !important;
  color: var(--dp-gris-moyen) !important;
  margin-bottom: 20px !important;
}

.woocommerce-breadcrumb a {
  color: var(--dp-gris-moyen) !important;
}

.woocommerce-breadcrumb a:hover {
  color: var(--dp-noir) !important;
}

/* Wishlist */
.yith-wcwl-add-to-wishlist,
.yith-wcwl-add-to-wishlist a {
  font-family: var(--dp-font-body) !important;
  font-size: 13px !important;
  color: var(--dp-gris-moyen) !important;
}

/* ============================================================
   MESSAGES WOOCOMMERCE — notices stylisées
   ============================================================ */

/* Wrapper — respiration verticale */
.woocommerce-notices-wrapper {
  margin: 0 0 20px !important;
}

/* Animation d'entrée commune */
@keyframes dp-notice-in {
  from { opacity: 0; transform: translateY(-5px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Scroll reveal ──────────────────────────────────────────── */
@media (prefers-reduced-motion: no-preference) {
  .dp-reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.55s ease, transform 0.55s ease;
    will-change: opacity, transform;
  }
  .dp-reveal.dp-visible {
    opacity: 1;
    transform: translateY(0);
    will-change: auto;
  }
}

/* ── Barre d'achat sticky (fiche produit) ──────────────────── */
#dp-sticky-atc {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background: #faf3e8;
  border-top: 1px solid rgba(44, 31, 18, 0.13);
  box-shadow: 0 -4px 24px rgba(44, 31, 18, 0.09);
  transform: translateY(100%);
  transition: transform 0.3s ease;
  pointer-events: none;
}
#dp-sticky-atc.dp-sticky-visible {
  transform: translateY(0);
  pointer-events: auto;
}
.dp-sticky-atc__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 12px 24px;
}
.dp-sticky-atc__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.dp-sticky-atc__title {
  font-family: 'Playfair Display', serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: #2c1f12;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dp-sticky-atc__variation {
  font-size: 0.78rem;
  color: #2c1f12;
  opacity: 0.65;
}
.dp-sticky-atc__price {
  font-size: 0.88rem;
  color: #c8732a;
  font-weight: 500;
}
.dp-sticky-atc__btn {
  flex-shrink: 0;
  white-space: nowrap;
}
/* Hint discret si aucune variation sélectionnée */
.dp-sticky-atc__hint {
  font-size: 0.78rem;
  color: #2c1f12;
  opacity: 0.55;
  white-space: nowrap;
}
@media (max-width: 600px) {
  .dp-sticky-atc__title { font-size: 0.85rem; }
  .dp-sticky-atc__inner { padding: 10px 14px; gap: 10px; }
}

/* ── Feedback ajout panier ──────────────────────────────────── */
body.single-product .single_add_to_cart_button.dp-atc-added,
body.single-product .dp-sticky-atc__trigger.dp-atc-added {
  pointer-events: none;
  background-color: #5a9a6f !important;
  border-color: #5a9a6f !important;
  color: #fff !important;
  opacity: 1 !important;
  transition: background-color 0.25s ease, border-color 0.25s ease !important;
}

/* ── Base commune ── */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px 14px !important;
  padding: 14px 18px !important;
  margin: 0 0 10px !important;
  border-radius: 8px !important;
  border: 1px solid transparent !important;
  border-left-width: 4px !important;
  border-left-style: solid !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  list-style: none !important;
  animation: dp-notice-in 0.22s ease !important;
}

/* ── Succès / ajout panier — magenta doux ── */
.woocommerce-notices-wrapper .woocommerce-message {
  background: rgba(224, 165, 152, 0.13) !important;
  border-color: rgba(224, 165, 152, 0.35) !important;
  border-left-color: var(--dp-magenta) !important;
  color: var(--dp-text) !important;
}

/* ── Erreur — rouge chaud ── */
.woocommerce-notices-wrapper .woocommerce-error {
  background: rgba(215, 38, 56, 0.07) !important;
  border-color: rgba(215, 38, 56, 0.2) !important;
  border-left-color: #C0392B !important;
  color: var(--dp-text) !important;
  padding-left: 18px !important;
}
.woocommerce-notices-wrapper .woocommerce-error li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  color: var(--dp-text) !important;
}
.woocommerce-notices-wrapper .woocommerce-error li + li {
  margin-top: 4px !important;
  padding-top: 4px !important;
  border-top: 1px solid rgba(192, 57, 43, 0.12) !important;
}

/* ── Info — ambre ── */
.woocommerce-notices-wrapper .woocommerce-info {
  background: rgba(200, 115, 42, 0.09) !important;
  border-color: rgba(200, 115, 42, 0.28) !important;
  border-left-color: var(--dp-amber) !important;
  color: var(--dp-text) !important;
}

/* ── Liens dans les notices (ex : "Voir le panier", "Se connecter") ── */
.woocommerce-notices-wrapper .woocommerce-message a:not(.button),
.woocommerce-notices-wrapper .woocommerce-error a:not(.button),
.woocommerce-notices-wrapper .woocommerce-info a:not(.button) {
  color: var(--dp-magenta-dark) !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
}

/* ── Bouton "Voir le panier" dans la notice ── */
.woocommerce-notices-wrapper .woocommerce-message .button,
.woocommerce-notices-wrapper .woocommerce-info .button {
  background: var(--dp-magenta) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 6px 16px !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  float: none !important;
  display: inline-block !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  order: -1 !important;          /* bouton avant le texte */
  transition: background 0.18s !important;
}
.woocommerce-notices-wrapper .woocommerce-message .button:hover,
.woocommerce-notices-wrapper .woocommerce-info .button:hover {
  background: var(--dp-magenta-dark) !important;
  color: #fff !important;
}

/* ============================================================
   FOOTER — gris clair, logo centré, épuré
   ============================================================ */
.ct-footer,
footer,
#colophon {
  background: var(--dp-gris-clair) !important;
  border-top: 1px solid var(--dp-gris-border) !important;
  color: var(--dp-gris-fonce) !important;
}

.ct-footer a,
footer a {
  color: var(--dp-gris-fonce) !important;
  font-family: var(--dp-font-body) !important;
  font-size: 13px !important;
}

.ct-footer a:hover,
footer a:hover {
  color: var(--dp-noir) !important;
}

.ct-footer h4,
.ct-footer .ct-widget-title,
footer h4 {
  font-family: var(--dp-font-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--dp-noir) !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

/* Logo footer centré */
.ct-footer .ct-logo img {
  max-height: 80px !important;
}

/* Copyright */
.ct-footer-copyright,
.site-info {
  font-family: var(--dp-font-body) !important;
  font-size: 12px !important;
  color: var(--dp-gris-moyen) !important;
  border-top: 1px solid var(--dp-gris-border) !important;
  padding-top: 16px !important;
}

/* Newsletter footer */
.ct-footer input[type="email"] {
  font-family: var(--dp-font-body) !important;
  font-size: 14px !important;
  border: 1px solid var(--dp-gris-border) !important;
  border-radius: 4px !important;
  padding: 10px 16px !important;
  background: var(--dp-blanc) !important;
}

/* ============================================================
   FORMULAIRES GÉNÉRAUX
   ============================================================ */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
textarea,
select {
  font-family: var(--dp-font-body) !important;
  font-size: 14px !important;
  border: 1px solid var(--dp-gris-border) !important;
  border-radius: 4px !important;
  padding: 10px 14px !important;
  color: var(--dp-noir) !important;
  background: var(--dp-blanc) !important;
  transition: border-color 0.15s !important;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--dp-noir) !important;
  outline: none !important;
}

/* ============================================================
   PAGE D'ACCUEIL
   ============================================================ */

/* Titre sections */
.wp-block-heading,
.widget-title,
section h2 {
  font-family: var(--dp-font-titre) !important;
  font-size: 2rem !important;
  font-weight: 400 !important;
  color: var(--dp-noir) !important;
}

/* ── Titre page Actualités ── */
.dp-archive-heading {
  font-family: var(--dp-font-titre) !important;
  font-size: clamp(1.8rem, 3.5vw, 2.8rem) !important;
  font-weight: 400 !important;
  color: var(--dp-text) !important;
  text-align: left !important;
  margin: 40px 0 32px !important;
  letter-spacing: 0.01em !important;
}

/* Section actualités */
.wp-block-latest-posts,
.wp-block-post-template {
  font-family: var(--dp-font-body) !important;
}

.wp-block-latest-posts__post-title,
.wp-block-post-title a {
  font-family: var(--dp-font-titre) !important;
  font-size: 1.2rem !important;
  color: var(--dp-noir) !important;
  font-weight: 400 !important;
}

.wp-block-latest-posts__post-date,
.wp-block-post-date {
  font-size: 12px !important;
  color: var(--dp-gris-moyen) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-family: var(--dp-font-body) !important;
}

/* ============================================================
   BADGE PROMO / ON SALE
   ============================================================ */
.onsale,
.woocommerce span.onsale {
  background: var(--dp-amber) !important;
  color: #fff !important;
  border-radius: 20px !important;
  font-family: var(--dp-font-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  padding: 4px 10px !important;
}

/* ============================================================
   PANIER & CHECKOUT
   ============================================================ */
.woocommerce-cart-form th,
.shop_table th {
  font-family: var(--dp-font-body) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--dp-gris-moyen) !important;
  border-bottom: 1px solid var(--dp-gris-border) !important;
}

.woocommerce-checkout h3,
.woocommerce-cart h2 {
  font-family: var(--dp-font-titre) !important;
  font-weight: 400 !important;
  font-size: 1.4rem !important;
}

/* ── Prix dans la page Panier — même style que "Total estimé" ──
   Deux variantes : cart classique + cart Blocks (Gutenberg)        */

/* — Cart classique — */
.woocommerce-cart .product-price .woocommerce-Price-amount,
.woocommerce-cart .product-price .amount,
.woocommerce-cart .product-total .woocommerce-Price-amount,
.woocommerce-cart .product-total .amount,
.woocommerce-cart .cart-subtotal .woocommerce-Price-amount,
.woocommerce-cart .cart-subtotal .amount,
.woocommerce-cart .order-total .woocommerce-Price-amount,
.woocommerce-cart .order-total .amount,

/* — Cart Blocks (Gutenberg) — */
/* Prix unitaire dans la colonne PRODUIT */
.wc-block-cart-item__prices .wc-block-components-product-price__value,
.wc-block-cart-item__prices .wc-block-formatted-money-amount,
.wc-block-cart-item__prices span span,
.wc-block-cart-item__prices .amount,
/* Total par ligne (colonne TOTAL) */
.wc-block-cart-item__total .wc-block-components-product-price__value,
.wc-block-cart-item__total .wc-block-formatted-money-amount,
.wc-block-cart-item__total span,
.wc-block-cart-item__total .amount,
/* Sous-total et total dans le panneau latéral */
.wc-block-cart__totals .wc-block-components-totals-item__value,
.wc-block-cart__totals .wc-block-formatted-money-amount,
.wc-block-components-order-summary__totals .wc-block-formatted-money-amount {
  color: var(--dp-amber) !important;
  font-weight: 700 !important;
  font-family: var(--dp-font-body) !important;
  font-size: 1rem !important;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 768px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }

  .ct-logo img {
    max-height: 70px !important;
  }

  .product_title {
    font-size: 1.4rem !important;
  }
}

@media (max-width: 480px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
}

/* ============================================================
   MENU — MEGA DROPDOWN COLLECTIONS v2 (clic, large, cartes)
   ============================================================ */

/* Chevron sur le lien Collections */
.ct-main-nav li.dp-collections-mega > a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}
.dp-mega-chevron {
  transition: transform 0.22s ease;
  flex-shrink: 0;
}
.dp-collections-mega.is-open .dp-mega-chevron {
  transform: rotate(180deg);
}

/* Dropdown — fixe, pleine largeur, sous le header */
.dp-mega-dropdown {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
  /* top et bottom gérés dynamiquement par JS selon l'espace disponible */
  top: auto;
  bottom: auto;
  background: var(--dp-bg);
  border-top: 1px solid var(--dp-border);
  border-bottom: 1px solid var(--dp-border);
  box-shadow: 0 12px 40px rgba(0,0,0,0.10);
  z-index: 9998;
  padding: 28px 0 20px;
  animation: dp-mega-in 0.18s ease;
}
.dp-collections-mega.is-open .dp-mega-dropdown {
  display: block;
}
/* Animation vers le bas (header) */
@keyframes dp-mega-in {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
/* Animation vers le haut (footer) */
@keyframes dp-mega-in-up {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
/* Variante ancrée au-dessus : animation inversée + ombre vers le haut */
.dp-mega-dropdown--above {
  animation: dp-mega-in-up 0.18s ease !important;
  box-shadow: 0 -12px 40px rgba(0,0,0,0.10) !important;
}

/* ── Isolation complète du dropdown vis-à-vis du contexte footer ──
   Toutes les règles footer (couleurs, liens, bg) sont neutralisées
   à l'intérieur du dropdown, quelle que soit sa position dans le DOM. */
.dp-mega-dropdown {
  background: var(--dp-bg) !important;
  color: var(--dp-text) !important;
}
.dp-mega-dropdown *,
.dp-mega-dropdown *::before,
.dp-mega-dropdown *::after {
  box-sizing: border-box;
}
/* Réinitialiser les couleurs héritées du footer */
.dp-mega-dropdown a {
  color: var(--dp-text) !important;
  text-decoration: none !important;
  opacity: 1 !important;
}
.dp-mega-dropdown a:hover {
  opacity: 1 !important;
}
/* Titres de section */
.dp-mega-dropdown h2,
.dp-mega-dropdown h3,
.dp-mega-dropdown h4 {
  color: var(--dp-text) !important;
  background: none !important;
}

/* ── Layout & police : isolation vis-à-vis des surcharges footer ──
   Le footer peut forcer display:block sur les <a> et changer la police ;
   on verrouille tout avec !important depuis le contexte .dp-mega-dropdown. */

/* Carte : lien-header = image + texte côte à côte */
.dp-mega-dropdown .dp-mega-col-header {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  font-family: var(--dp-font-body) !important;
}
/* Meta : colonne nom + badge */
.dp-mega-dropdown .dp-mega-col-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  min-width: 0 !important;
}
/* Nom de collection */
.dp-mega-dropdown .dp-mega-col-name {
  font-family: var(--dp-font-body) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: var(--dp-text) !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
/* Badge saisonnière */
.dp-mega-dropdown .dp-mega-col-badge {
  font-family: var(--dp-font-body) !important;
  font-size: 0.58rem !important;
  font-weight: 700 !important;
  color: var(--dp-amber) !important;
  background: rgba(200,115,42,0.12) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  padding: 1px 5px !important;
  border-radius: 3px !important;
  display: inline-block !important;
}
/* Miniature */
.dp-mega-dropdown .dp-mega-col-thumb {
  width: 42px !important;
  height: 42px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  flex-shrink: 0 !important;
  display: block !important;
}
/* Titres de section : police body */
.dp-mega-dropdown .dp-mega-section-hdr {
  font-family: var(--dp-font-body) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}
/* Footer "Voir tous" : police body */
.dp-mega-dropdown .dp-mega-see-all {
  font-family: var(--dp-font-body) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

/* ── Icônes SVG : isolation fill/stroke indépendante du contexte DOM ──
   Les SVGs utilisent stroke/fill="currentColor" → on force la couleur
   héritée sur chaque contexte plutôt que de laisser le footer l'écraser. */

/* En-tête de section permanente : cercle en brun muted */
.dp-mega-dropdown .dp-mega-section-hdr {
  color: var(--dp-text-muted) !important;
}
.dp-mega-dropdown .dp-mega-section-hdr svg {
  color: var(--dp-text-muted) !important;
  stroke: var(--dp-text-muted) !important;
  fill: none !important;
}
/* En-tête de section saisonnière : étoile en ambre */
.dp-mega-dropdown .dp-mega-section--seasonal .dp-mega-section-hdr {
  color: var(--dp-amber) !important;
}
.dp-mega-dropdown .dp-mega-section--seasonal .dp-mega-section-hdr svg {
  color: var(--dp-amber) !important;
  fill: var(--dp-amber) !important;
  stroke: none !important;
}
/* Flèches dans "Voir tous les produits / Voir toutes les collections" */
.dp-mega-dropdown .dp-mega-see-all {
  color: var(--dp-magenta) !important;
}
.dp-mega-dropdown .dp-mega-see-all svg {
  color: var(--dp-magenta) !important;
  stroke: var(--dp-magenta) !important;
  fill: none !important;
}

/* Conteneur centré */
.dp-mega-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* Section */
.dp-mega-section { display: flex; flex-direction: column; gap: 10px; }

/* En-tête de section */
.dp-mega-section-hdr {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--dp-font-body) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--dp-text-muted) !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid var(--dp-border) !important;
  margin: 0 !important;
  text-shadow: none !important;
}
.dp-mega-section--seasonal .dp-mega-section-hdr {
  color: var(--dp-amber) !important;
}

/* Grille de cartes */
.dp-mega-cols {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 10px;
}

/* Carte collection */
.dp-mega-col {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* Header carte : miniature + nom */
.dp-mega-col-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  background: var(--dp-surface) !important;
  color: var(--dp-text) !important;
  text-decoration: none !important;
  transition: background 0.18s ease;
  border: 1px solid transparent;
}
.dp-mega-col-header:hover {
  background: rgba(224,165,152,0.18) !important;
  border-color: var(--dp-border) !important;
  color: var(--dp-text) !important;
  opacity: 1 !important;
}
.dp-mega-col--seasonal .dp-mega-col-header {
  border-color: rgba(200,115,42,0.25);
}
.dp-mega-col--seasonal .dp-mega-col-header:hover {
  background: rgba(200,115,42,0.10) !important;
  border-color: rgba(200,115,42,0.45) !important;
}

/* Miniature */
.dp-mega-col-thumb {
  width: 42px;
  height: 42px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
}
.dp-mega-col-thumb--empty {
  width: 42px;
  height: 42px;
  border-radius: 6px;
  background: var(--dp-border);
  flex-shrink: 0;
}

/* Nom + badge */
.dp-mega-col-meta {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.dp-mega-col-name {
  font-family: var(--dp-font-body) !important;
  font-weight: 600 !important;
  font-size: 0.82rem !important;
  color: var(--dp-text) !important;
  line-height: 1.2 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dp-mega-col-badge {
  display: inline-block;
  font-size: 0.58rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  color: var(--dp-amber) !important;
  background: rgba(200,115,42,0.12);
  border-radius: 3px;
  padding: 1px 5px;
}

/* Liste de produits */
.dp-mega-col-products {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 0 0 10px !important;
  border-left: 2px solid var(--dp-border);
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.dp-mega-col--seasonal .dp-mega-col-products {
  border-left-color: rgba(200,115,42,0.3);
}
.dp-mega-col-products li { list-style: none !important; margin: 0 !important; }
.dp-mega-dropdown .dp-mega-col-products li a {
  font-size: 0.75rem !important;
  color: var(--dp-text-muted) !important;
  text-decoration: none !important;
  display: block !important;
  padding: 2px 0 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.15s !important;
  opacity: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
}
.dp-mega-dropdown .dp-mega-col-products li a:hover {
  color: var(--dp-magenta) !important;
  opacity: 1 !important;
}

/* Footer "Voir tous les produits / Voir toutes les collections" */
.dp-mega-footer {
  max-width: 1100px;
  margin: 4px auto 0;
  padding: 12px 32px 0;
  border-top: 1px solid var(--dp-border);
  display: flex;
  justify-content: flex-end;
  gap: 20px;
}
.dp-mega-see-all,
.dp-mega-dropdown .dp-mega-see-all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: var(--dp-magenta) !important;
  text-decoration: none !important;
  transition: opacity 0.15s !important;
  opacity: 1 !important;
}
.dp-mega-see-all:hover,
.dp-mega-dropdown .dp-mega-see-all:hover { opacity: 0.7 !important; }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .dp-mega-inner, .dp-mega-footer { padding-left: 20px; padding-right: 20px; }
  .dp-mega-cols { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
}
@media (max-width: 768px) {
  .dp-mega-dropdown {
    position: fixed;
    max-height: 72vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch; /* scroll momentum iOS */
    overscroll-behavior: contain;      /* bloque le scroll parent */
    padding: 20px 0 16px;
  }
  /* Quand ancré au-dessus (footer) : max-height calculé dynamiquement via JS,
     on s'assure que le conteneur laisse bien scroller */
  .dp-mega-dropdown--above {
    max-height: var(--dp-mega-max-h, 72vh) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .dp-mega-cols { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .dp-mega-col-products { display: none; } /* masqué sur mobile */

  /* Footer : liens empilés verticalement */
  .dp-mega-footer {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .dp-mega-footer .dp-mega-see-all {
    justify-content: space-between;
    width: 100%;
    font-size: 0.82rem !important;
  }

  /* Bouton Collections mobile : texte visible + chevron à droite */
  #offcanvas li.dp-collections-mega > a.ct-menu-link {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    gap: 8px !important;
  }
  /* État ouvert : fond magenta + texte blanc lisible */
  #offcanvas li.dp-collections-mega.is-open > a.ct-menu-link {
    background-color: var(--dp-magenta) !important;
    color: #fff !important;
  }
  /* État fermé : texte normal */
  #offcanvas li.dp-collections-mega:not(.is-open) > a.ct-menu-link {
    color: var(--dp-text, #1a1a1a) !important;
  }
  #offcanvas li.dp-collections-mega > a.ct-menu-link .dp-mega-chevron {
    margin-left: auto;
    flex-shrink: 0;
  }

  /* Liens footer mega — couleur magenta, spécificité maximale */
  body #offcanvas li.dp-collections-mega .dp-mega-footer .dp-mega-see-all,
  body #offcanvas li.dp-collections-mega .dp-mega-footer a {
    color: var(--dp-magenta) !important;
    text-decoration: none !important;
  }
}
@media (max-width: 480px) {
  .dp-mega-cols { grid-template-columns: 1fr; }
}

/* ============================================================
   HEADER — ICÔNES (recherche, profil, panier)
   ============================================================ */

/* Zone icônes header */
.site-header .header-cart-icon,
.site-header .header-account-icon,
.site-header .header-search-icon {
  color: var(--dp-noir);
  transition: color 0.2s;
}

/* Icône profil — toujours visible sur desktop */
.ct-header [data-id="account"],
header [data-id="account"],
.ct-header-account,
[data-id="account"] {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Mobile : cacher panier + compte à côté du burger (gérés dans le menu hamburger) */
[data-device="mobile"] [data-id="cart"],
[data-device="mobile"] [data-id="account"],
[data-device="mobile"] .ct-header-cart,
[data-device="mobile"] .ct-header-account {
  display: none !important;
}
.site-header .header-cart-icon:hover,
.site-header .header-account-icon:hover,
.site-header .header-search-icon:hover {
  color: var(--dp-magenta);
}

/* Badge panier */
.site-header .cart-count {
  background: var(--dp-magenta);
  color: var(--dp-blanc);
  font-size: 0.65rem;
  font-weight: 600;
  border-radius: 50%;
  min-width: 18px;
  height: 18px;
  line-height: 18px;
  text-align: center;
}

/* ============================================================
   SÉLECTEUR DE LANGUE — dropdown avec drapeaux
   ============================================================ */

/* Conteneur — position fixe par défaut, remplacée par JS si injecté dans le header */
.dp-lang-header {
  position: fixed;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  z-index: 99999;
  display: flex;
  align-items: center;
}

/* Compensation barre admin WordPress */
.admin-bar .dp-lang-header {
  top: calc(50% + 16px);
}

/* Une fois déplacé dans le header Blocksy (position réinitialisée par JS) */
.ct-header .dp-lang-header,
[class*="end"] .dp-lang-header {
  position: static !important;
  transform: none !important;
  display: flex;
  align-items: center;
  margin-left: 8px;
}

/* Wrapper dropdown */
.dp-lang-dropdown {
  position: relative;
  font-family: var(--dp-font-body);
}

/* Bouton langue courante */
.dp-lang-current {
  display: flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 5px 8px;
  border-radius: 6px;
  font-family: var(--dp-font-body);
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--dp-noir);
  letter-spacing: 0.03em;
  transition: color 0.2s, background 0.2s;
  text-transform: uppercase;
}
.dp-lang-current:hover {
  color: var(--dp-magenta);
  background: var(--dp-gris-clair);
}
.dp-lang-current img {
  border-radius: 2px;
  display: block;
}

/* Flèche rotation */
.dp-lang-arrow {
  transition: transform 0.2s;
  opacity: 0.6;
}
.dp-lang-dropdown.open .dp-lang-arrow {
  transform: rotate(180deg);
  opacity: 1;
}

/* Liste déroulante */
.dp-lang-list {
  display: none;
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  background: var(--dp-blanc);
  border: 1px solid var(--dp-gris-border);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  list-style: none !important;
  margin: 0 !important;
  padding: 4px !important;
  min-width: 90px;
  z-index: 99999;
}
.dp-lang-dropdown.open .dp-lang-list {
  display: block;
}

/* Items de la liste */
.dp-lang-list li {
  margin: 0 !important;
  padding: 0 !important;
}
.dp-lang-list li a {
  display: flex !important;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  text-decoration: none !important;
  color: var(--dp-noir) !important;
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  border-radius: 5px;
  letter-spacing: 0.03em;
  transition: background 0.15s, color 0.15s;
}
.dp-lang-list li a:hover {
  background: var(--dp-gris-clair);
  color: var(--dp-magenta) !important;
}
.dp-lang-list li a img {
  border-radius: 2px;
  display: block;
}

/* ============================================================
   PAGE D'ACCUEIL — SECTIONS GÉNÉRALES
   ============================================================ */

.dp-homepage {
  margin: 0;
  padding: 0;
}

.dp-section {
  padding: 64px 0;
}

.dp-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.dp-section-header {
  text-align: center;
  margin-bottom: 40px;
}

.dp-section-title {
  font-family: var(--dp-font-title);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 400;
  font-style: italic;
  color: var(--dp-noir);
  margin: 0 0 10px;
  letter-spacing: 0.01em;
}

.dp-section-subtitle {
  font-size: 1rem;
  color: var(--dp-gris-texte);
  margin: 0;
}

.dp-section-cta {
  text-align: center;
  margin-top: 40px;
}

/* ── Boutons ── */
.dp-btn {
  display: inline-block;
  font-family: var(--dp-font-body);
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 13px 32px;
  border-radius: 4px;
  text-decoration: none !important;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
  border: 2px solid transparent;
}

.dp-btn-primary {
  background: var(--dp-magenta);
  color: var(--dp-blanc) !important;
  border-color: var(--dp-magenta);
}
.dp-btn-primary:hover {
  background: #C08070;
  border-color: #C08070;
  color: var(--dp-blanc) !important;
}

.dp-btn-outline {
  background: transparent;
  color: var(--dp-magenta) !important;
  border-color: var(--dp-magenta);
}
.dp-btn-outline:hover {
  background: var(--dp-magenta);
  color: var(--dp-blanc) !important;
}

/* ============================================================
   SECTION 1 — HÉRO / CARROUSEL
   ============================================================ */

.dp-hero {
  padding: 0;
  background: var(--dp-gris-clair);
}

/* Placeholder quand MetaSlider n'est pas configuré */
.dp-hero-placeholder {
  min-height: 520px;
  background: linear-gradient(160deg, #fff5e6 0%, #fffdf8 45%, #ffecd8 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.dp-hero-placeholder-inner {
  max-width: 600px;
  padding: 48px 24px;
}

.dp-hero-placeholder-inner h1 {
  font-family: var(--dp-font-title);
  font-size: clamp(2rem, 5vw, 3.6rem);
  font-weight: 400;
  color: var(--dp-noir);
  margin: 0 0 16px;
  letter-spacing: -0.02em;
}

.dp-hero-placeholder-inner p {
  font-size: 1.15rem;
  color: var(--dp-gris-texte);
  margin: 0 0 32px;
}

/* MetaSlider full-width */
.dp-hero .metaslider,
.dp-hero .ml-slider-wrapper,
.dp-hero .flexslider {
  margin: 0 !important;
  width: 100% !important;
}

.dp-hero .metaslider img {
  width: 100%;
  height: auto;
  display: block;
}

/* ============================================================
   SECTION 2 — PRODUITS EN VEDETTE
   ============================================================ */

.dp-featured-products {
  background: var(--dp-blanc);
}

/* Grille 3 colonnes → 6 produits sur 2 lignes */
.dp-products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

@media (max-width: 900px) {
  .dp-products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media (max-width: 540px) {
  .dp-products-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* Carte produit */
.dp-product-card {
  border-radius: 10px;
  overflow: hidden;
  background: var(--dp-blanc);
  border: 1px solid var(--dp-border);
  box-shadow: 0 2px 8px rgba(44, 31, 18, 0.05);
  transition: box-shadow 0.3s ease, transform 0.3s ease, border-color 0.3s ease;
  will-change: transform;
}

.dp-product-card:hover {
  box-shadow: 0 18px 44px rgba(44, 31, 18, 0.15);
  transform: translateY(-7px);
  border-color: var(--dp-amber);
}

.dp-product-card-link {
  display: block;
  text-decoration: none !important;
  color: inherit;
}

.dp-product-card-img {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--dp-gris-clair);
}

.dp-product-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}

.dp-product-card:hover .dp-product-card-img img {
  transform: scale(1.09);
}

.dp-product-card-body {
  padding: 14px 16px 18px;
}

.dp-product-card-title {
  font-family: var(--dp-font-body);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--dp-noir);
  margin: 0 0 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dp-product-card-price {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--dp-magenta);
}

.dp-product-card-price .woocommerce-Price-amount {
  color: var(--dp-magenta);
}

.dp-no-products {
  text-align: center;
  color: var(--dp-gris-texte);
  font-style: italic;
  padding: 40px 0;
}

/* ============================================================
   SECTION 3 — ACTUALITÉS
   ============================================================ */

.dp-news {
  background: #fdf8f2;   /* crème chaude légère */
}

/* Grille 3 colonnes */
.dp-news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

@media (max-width: 900px) {
  .dp-news-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media (max-width: 540px) {
  .dp-news-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* Carte article */
.dp-news-card {
  border-radius: 10px;
  overflow: hidden;
  background: var(--dp-blanc);
  border: 1px solid var(--dp-gris-border);
  transition: box-shadow 0.25s, transform 0.25s;
}

.dp-news-card:hover {
  box-shadow: 0 8px 32px rgba(233, 30, 140, 0.12);
  transform: translateY(-3px);
}

.dp-news-card-link {
  display: block;
  text-decoration: none !important;
  color: inherit;
}

.dp-news-card-img {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--dp-gris-clair);
}

.dp-news-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s;
}

.dp-news-card:hover .dp-news-card-img img {
  transform: scale(1.05);
}

.dp-news-card-img-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #ffecd8 0%, #fff5e6 100%);
}

/* Badge catégorie */
.dp-news-card-cat {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--dp-magenta);
  color: var(--dp-blanc);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 20px;
  white-space: nowrap;
}

.dp-news-card-body {
  padding: 18px 18px 20px;
}

.dp-news-card-date {
  display: block;
  font-size: 0.76rem;
  color: var(--dp-gris-texte);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 8px;
}

.dp-news-card-title {
  font-family: var(--dp-font-body);
  font-size: 1rem;
  font-weight: 700;
  color: var(--dp-noir);
  margin: 0 0 10px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dp-news-card-excerpt {
  font-size: 0.875rem;
  color: var(--dp-gris-texte);
  line-height: 1.6;
  margin: 0 0 14px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dp-news-card-more {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--dp-magenta);
  letter-spacing: 0.03em;
  text-transform: uppercase;
  transition: gap 0.2s;
}

.dp-news-card:hover .dp-news-card-more {
  text-decoration: underline;
}

.dp-no-news {
  text-align: center;
  color: var(--dp-gris-texte);
  font-style: italic;
  padding: 40px 0;
}

/* ============================================================
   RESPONSIVE — SECTIONS
   ============================================================ */

@media (max-width: 768px) {
  .dp-section {
    padding: 44px 0;
  }

  .dp-hero-placeholder {
    min-height: 340px;
  }

  .dp-hero-placeholder-inner h1 {
    font-size: 2rem;
  }

  .dp-section-title {
    font-size: 1.5rem;
  }
}

/* ============================================================
   PAGE COLLECTIONS — MOSAÏQUE
   ============================================================ */

/* En-tête */
.dp-collections-hero {
  background: linear-gradient(160deg, #fff5e6 0%, #fffdf8 55%, #ffecd8 100%);
  padding: 56px 0 48px;
  text-align: center;
}

.dp-collections-title {
  font-family: var(--dp-font-title);
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 400;
  color: var(--dp-noir);
  margin: 0 0 12px;
  letter-spacing: -0.01em;
}

.dp-collections-intro {
  font-size: 1rem;
  color: var(--dp-gris-texte);
  max-width: 520px;
  margin: 0 auto;
}

/* Section */
.dp-collections-section {
  padding: 56px 24px;
}

/* ── Mosaïque principale ── */
.dp-collections-mosaic {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 1fr;
  gap: 16px;
}

/* Force les cellules carrées via padding-bottom trick */
.dp-collections-mosaic::before {
  content: '';
  width: 0;
  padding-bottom: 100%;
  grid-row: 1 / 1;
  grid-column: 1 / 1;
}
.dp-collections-mosaic > *:first-child {
  grid-row: 1 / 1;
  grid-column: 1 / 1;
}

/* Tuile de base */
.dp-cat-tile {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background-color: var(--dp-gris-clair);
  background-size: cover;
  background-position: center;
  text-decoration: none !important;
  display: flex;
  align-items: flex-end;
  aspect-ratio: 1 / 1;
  transition: transform 0.3s, box-shadow 0.3s;
}

.dp-cat-tile:hover {
  transform: scale(1.02);
  box-shadow: 0 12px 40px rgba(233, 30, 140, 0.18);
}

/* Tuile vedette : 2×2 colonnes+lignes → reste carrée */
.dp-cat-tile--featured {
  grid-column: span 2;
  grid-row: span 2;
  aspect-ratio: 1 / 1;
}

/* Overlay dégradé */
.dp-cat-tile-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(26,26,26,0.7) 0%, rgba(26,26,26,0.1) 55%, transparent 100%);
  transition: background 0.3s;
}

.dp-cat-tile:hover .dp-cat-tile-overlay {
  background: linear-gradient(to top, rgba(224,165,152,0.6) 0%, rgba(26,26,26,0.15) 55%, transparent 100%);
}

/* Placeholder sans image */
.dp-cat-tile-bg-placeholder {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #fce8f3 0%, #e8d5f0 100%);
}

/* Contenu texte */
.dp-cat-tile-content {
  position: relative;
  z-index: 1;
  padding: 20px;
  width: 100%;
}

.dp-cat-tile-name {
  display: block;
  font-family: var(--dp-font-title);
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--dp-blanc);
  letter-spacing: 0.01em;
  line-height: 1.2;
}

.dp-cat-tile-count {
  display: block;
  font-size: 0.78rem;
  color: rgba(255,255,255,0.75);
  margin-top: 4px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* ── Collections saisonnières ── */
.dp-collections-seasonal {
  padding: 0 24px 64px;
}

.dp-seasonal-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.dp-seasonal-tile {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  height: 160px;
  background-color: var(--dp-gris-clair);
  background-size: cover;
  background-position: center;
  text-decoration: none !important;
  display: flex;
  align-items: flex-end;
  border: 2px dashed var(--dp-magenta);
  transition: transform 0.3s, box-shadow 0.3s;
}

.dp-seasonal-tile:hover {
  transform: scale(1.02);
  box-shadow: 0 8px 28px rgba(233, 30, 140, 0.2);
}

.dp-seasonal-tile-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(26,26,26,0.65) 0%, rgba(26,26,26,0.05) 60%, transparent 100%);
}

.dp-seasonal-tile-content {
  position: relative;
  z-index: 1;
  padding: 16px;
  width: 100%;
}

.dp-seasonal-tile-name {
  display: block;
  font-family: var(--dp-font-title);
  font-size: 1rem;
  font-weight: 400;
  color: var(--dp-blanc);
}

.dp-seasonal-tile-count {
  display: block;
  font-size: 0.72rem;
  color: rgba(255,255,255,0.7);
  margin-top: 3px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .dp-collections-mosaic {
    grid-template-columns: repeat(3, 1fr);
  }
  .dp-cat-tile--featured {
    grid-column: span 2;
    grid-row: span 2;
  }
}

@media (max-width: 768px) {
  .dp-collections-mosaic {
    grid-template-columns: repeat(2, 1fr);
  }
  .dp-cat-tile--featured {
    grid-column: span 2;
    grid-row: span 2;
  }
  .dp-seasonal-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .dp-collections-mosaic {
    grid-template-columns: repeat(2, 1fr);
  }
  .dp-cat-tile--featured {
    grid-column: span 2;
    grid-row: span 2;
  }
  .dp-seasonal-grid {
    grid-template-columns: 1fr;
  }
  .dp-seasonal-tile { height: 130px; }
}

/* ============================================================
   DARK THEME — surcharges globales
   ============================================================ */

/* ============================================================
   HEADER — LOGO AGRANDI, NOM SITE MASQUÉ
   ============================================================ */
.site-title,
.ct-site-title,
[data-id="site-title"] { display: none !important; }

.ct-logo img,
.site-logo img {
  max-height: 140px !important;
  width: auto !important;
}

/* ════════════════════════════════════════════
   COMPTE UTILISATEUR — header + dropdown
════════════════════════════════════════════ */

/* Widget compte — flex pour aligner icône + nom */
.ct-header-account {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  overflow: visible !important;
  position: relative !important;
}

/* Trigger (span cliquable Blocksy) */
.ct-header-account .ct-account-item {
  display: flex !important;
  align-items: center !important;
  cursor: pointer;
}

/* Icône SVG moderne dans le trigger */
.dp-account-icon,
.ct-header-account .ct-account-item .dp-account-icon,
.ct-header-account .ct-media-container .dp-account-icon {
  width: 22px !important;
  height: 22px !important;
  flex-shrink: 0 !important;
  color: var(--dp-magenta) !important;
  stroke: var(--dp-magenta) !important;
  fill: none !important;
  transition: color 0.2s, stroke 0.2s !important;
  display: block !important;
}
/* Icône dans le dropdown (remplace le Gravatar dans user-info) */
.ct-header-account-user-info .ct-media-container {
  width: 40px !important;
  height: 40px !important;
  flex: 0 0 40px !important;
  max-width: 40px !important;
  border-radius: 50% !important;
  background: #f0d8d0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}
.dp-account-icon--dropdown {
  width: 22px !important;
  height: 22px !important;
  flex-shrink: 0 !important;
  color: var(--dp-magenta) !important;
  stroke: var(--dp-magenta) !important;
  fill: none !important;
  display: block !important;
}

.ct-header-account:hover .dp-account-icon {
  color: var(--dp-magenta-dark) !important;
  stroke: var(--dp-magenta-dark) !important;
}

/* Nom — lien cliquable */
a.dp-account-name {
  font-family: var(--dp-font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  color: var(--dp-text) !important;
  text-decoration: none !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  transition: color 0.2s !important;
}
a.dp-account-name:hover {
  color: var(--dp-magenta) !important;
}

/* ── Dropdown (popout Blocksy) ── */
.dp-account-wrap .ct-toggle-dropdown-desktop,
.ct-header-account + .ct-toggle-dropdown-desktop,
.dp-account-wrap ~ .ct-toggle-dropdown-desktop,
#header .ct-toggle-dropdown-desktop {
  background: var(--dp-bg) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 40px rgba(44,31,18,0.14) !important;
  padding: 0 !important;
  overflow: hidden !important;
  min-width: 210px !important;
  margin-top: 8px !important;
}

/* Section avatar + nom + email */
.dp-account-wrap .ct-toggle-dropdown-desktop .ct-account-user-info,
#header .ct-toggle-dropdown-desktop .ct-account-user-info,
.ct-account-user-info {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 16px !important;
  background: var(--dp-surface) !important;
  border-bottom: 1px solid var(--dp-border) !important;
}

/* Avatar */
.ct-account-user-info img,
.ct-account-user-info .ct-account-user-avatar {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  border: 2px solid var(--dp-magenta) !important;
  object-fit: cover !important;
}

/* Nom dans le dropdown */
.ct-account-user-info .ct-account-user-name,
.ct-account-user-info strong,
.ct-account-user-info b {
  font-family: var(--dp-font-body) !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: var(--dp-text) !important;
  letter-spacing: 0.03em !important;
  display: block !important;
}

/* Email dans le dropdown */
.ct-account-user-info .ct-account-user-description,
.ct-account-user-info small,
.ct-account-user-info span:not(.ct-account-user-name) {
  font-family: var(--dp-font-body) !important;
  font-size: 0.7rem !important;
  color: var(--dp-text-muted) !important;
  display: block !important;
  margin-top: 2px !important;
}

/* Liste des liens */
.ct-toggle-dropdown-desktop ul,
.ct-account-links {
  list-style: none !important;
  margin: 0 !important;
  padding: 6px 0 !important;
}

.ct-toggle-dropdown-desktop ul li a,
.ct-account-links li a,
.ct-toggle-dropdown-desktop a {
  display: block !important;
  padding: 9px 18px !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: var(--dp-text) !important;
  transition: background var(--dp-transition), color var(--dp-transition),
              padding-left var(--dp-transition) !important;
  border-radius: 0 !important;
  text-decoration: none !important;
}

/* Hover tous les liens dropdown — identique au hover nav principale */
.ct-toggle-dropdown-desktop ul li a:hover,
.ct-account-links li a:hover,
.ct-toggle-dropdown-desktop a:hover,
.dp-account-wrap ul li a:hover,
.dp-account-wrap li a:hover {
  background-color: var(--dp-magenta) !important;
  color: var(--dp-text) !important;
  padding-left: 18px !important;
}

/* ── Recherche inline ── */
.dp-search-wrap {
  display: flex;
  align-items: center;
  margin: 0 8px;
}
.dp-search-form {
  display: flex;
  align-items: center;
  background: var(--dp-input-bg);
  border: 1px solid var(--dp-border);
  border-radius: 20px;
  padding: 5px 14px;
  gap: 8px;
  transition: border-color var(--dp-transition), box-shadow var(--dp-transition);
}
.dp-search-form:focus-within {
  border-color: var(--dp-magenta);
  box-shadow: 0 0 0 3px rgba(224,165,152,0.1);
}
.dp-search-input {
  border: none !important;
  background: transparent !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.85rem !important;
  color: var(--dp-text) !important;
  outline: none !important;
  width: 240px;
  padding: 0 !important;
  box-shadow: none !important;
}
.dp-search-input::placeholder { color: var(--dp-text-muted); }
.dp-search-btn {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer;
  color: var(--dp-text-muted);
  display: flex;
  align-items: center;
  transition: color var(--dp-transition);
}
.dp-search-btn svg { width: 14px !important; height: 14px !important; flex-shrink: 0; }
.dp-search-btn:hover { color: var(--dp-magenta); }

/* Dark mode : champ de recherche */

/* ============================================================
   ACCUEIL — CARROUSEL HAUTEUR RÉDUITE
   ============================================================ */
.dp-hero-placeholder {
  min-height: 340px !important;
}
.dp-hero .metaslider .flexslider,
.dp-hero .metaslider {
  max-height: none !important;
  overflow: visible !important;
}
.dp-hero .metaslider img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
}

/* ── Produits vedette — 1 seule ligne (6 colonnes) ── */
.dp-products-grid {
  grid-template-columns: repeat(6, 1fr) !important;
  gap: 16px !important;
}
.dp-product-card-title { font-size: 0.8rem !important; }
.dp-product-card-price { font-size: 0.82rem !important; }
@media (max-width: 1024px) {
  .dp-products-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 600px) {
  .dp-products-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ============================================================
   CONTACT — PAGE AMÉLIORÉE
   ============================================================ */
.dp-contact-page {
  max-width: 900px;
  margin: 0 auto;
  padding: 64px 24px;
}
.dp-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 48px;
  align-items: start;
}
@media (max-width: 768px) {
  .dp-contact-grid { grid-template-columns: 1fr; gap: 32px; }
}
.dp-contact-info h1 {
  font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
  margin-bottom: 16px !important;
}
.dp-contact-info p { font-size: 1rem; line-height: 1.7; color: var(--dp-text-muted); }
.dp-contact-detail {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
  font-size: 0.9rem;
  color: var(--dp-text);
}
.dp-contact-detail svg { flex-shrink: 0; color: var(--dp-magenta); }
.dp-contact-form-wrap {
  background: var(--dp-surface);
  border-radius: 16px;
  padding: 36px;
  border: 1px solid var(--dp-border);
}
.dp-contact-form-wrap .wpcf7-form label,
.dp-contact-form-wrap label {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--dp-text-muted);
  margin-bottom: 6px;
  margin-top: 18px;
}
.dp-contact-form-wrap .wpcf7-form label:first-child { margin-top: 0; }
.dp-contact-form-wrap input[type="text"],
.dp-contact-form-wrap input[type="email"],
.dp-contact-form-wrap textarea {
  width: 100% !important;
  background: var(--dp-bg) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: var(--dp-radius) !important;
  padding: 11px 14px !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.9rem !important;
  color: var(--dp-text) !important;
  transition: border-color var(--dp-transition) !important;
  outline: none !important;
}
.dp-contact-form-wrap input:focus,
.dp-contact-form-wrap textarea:focus {
  border-color: var(--dp-magenta) !important;
  box-shadow: 0 0 0 3px rgba(224,165,152,0.1) !important;
}
.dp-contact-form-wrap textarea { min-height: 120px; resize: vertical; }
.dp-contact-form-wrap .wpcf7-submit,
.dp-contact-form-wrap input[type="submit"] {
  margin-top: 20px;
  width: 100% !important;
  background: var(--dp-magenta) !important;
  border-color: var(--dp-magenta) !important;
  color: #fff !important;
  padding: 13px !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  border-radius: var(--dp-radius) !important;
}
.dp-contact-form-wrap .wpcf7-submit:hover,
.dp-contact-form-wrap input[type="submit"]:hover {
  background: var(--dp-magenta-dark) !important;
  border-color: var(--dp-magenta-dark) !important;
}

/* Liens infos contact (adresse → maps, tél → appel) */
.dp-contact-info-link {
  color: var(--dp-text) !important;
  text-decoration: none !important;
  transition: color 0.2s;
}
.dp-contact-info-link:hover {
  color: var(--dp-magenta) !important;
  text-decoration: underline !important;
}

/* Lien email contact */
.dp-contact-email-link {
  color: var(--dp-text) !important;
  text-decoration: none !important;
  transition: color 0.2s;
}
.dp-contact-email-link:hover {
  color: var(--dp-magenta) !important;
  text-decoration: underline !important;
}

/* Liens réseaux sociaux contact */
.dp-contact-social-link {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--dp-text) !important;
  text-decoration: none !important;
  padding: 7px 14px;
  border-radius: 20px;
  border: 1.5px solid var(--dp-border);
  background: transparent;
  transition: color 0.2s, background 0.2s, border-color 0.2s, transform 0.15s;
}
.dp-contact-social-link:hover {
  text-decoration: none !important;
  transform: translateY(-2px);
}
.dp-contact-social-fb:hover {
  color: #fff !important;
  background: #1877f2;
  border-color: #1877f2;
}
.dp-contact-social-ig:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #f58529, #dd2a7b, #8134af);
  border-color: #dd2a7b;
}

/* ============================================================
   BLOG / ACTUALITÉS — adaptatif au thème (clair + sombre)
   ============================================================ */

/* Images contenues dans leur bloc */
.blog article img,
.archive article img,
.single .entry-content img,
.blog .entry-content img,
.ct-blog-post img,
.ct-blog-card img,
[class*="blog-post"] img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* Fond de page */
body.blog,
body.single,
body.archive,
body.category,
body.tag,
body.search {
  background: var(--dp-bg) !important;
  color: var(--dp-text) !important;
}

/* Conteneur articles */
.blog .site-main,
.single .site-main,
.archive .site-main,
body.blog .entry-content,
body.single .entry-content {
  background: transparent !important;
}

/* ── Cartes articles blog (Blocksy .entry-card) ── */
article.entry-card {
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  background: var(--dp-surface) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  padding: 0 !important;
  transition: transform 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease !important;
}

article.entry-card:hover {
  border-color: #E0A598 !important;
  transform: translateY(-5px) !important;
  box-shadow: 0 10px 32px rgba(224,165,152,0.22) !important;
}

/* Image en premier visuellement */
article.entry-card a.ct-media-container {
  order: -1 !important;
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  align-self: stretch !important;
}

/* Wrapper interne Blocksy éventuel */
article.entry-card a.ct-media-container > * {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

/* Image centrée + zoom hover */
article.entry-card a.ct-media-container img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transition: transform 0.38s ease !important;
}

article.entry-card:hover a.ct-media-container img {
  transform: scale(1.07) !important;
}

/* Badge catégorie — overlaid sur l'image */
article.entry-card ul.entry-meta[data-id="meta_1"] {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  z-index: 10 !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  display: flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}

article.entry-card ul.entry-meta[data-id="meta_1"] a {
  display: inline-block !important;
  background: var(--dp-magenta) !important;
  color: var(--dp-text) !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

/* Padding texte sous l'image */
article.entry-card .entry-title,
article.entry-card .entry-excerpt,
article.entry-card .entry-content,
article.entry-card .entry-footer,
article.entry-card ul.entry-meta[data-id="meta_2"] {
  padding-left: 18px !important;
  padding-right: 18px !important;
}
article.entry-card .entry-title  { padding-top: 14px !important; }
article.entry-card ul.entry-meta[data-id="meta_2"],
article.entry-card .entry-footer { padding-bottom: 16px !important; }

/* Extrait — texte libre, sans limitation */
article.entry-card .entry-excerpt,
article.entry-card .entry-excerpt p {
  display: block !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  font-size: 0.875rem !important;
  line-height: 1.65 !important;
  color: var(--dp-text-muted) !important;
  margin: 8px 0 14px !important;
}

/* Titres des articles */
.blog .entry-title,
.archive .entry-title,
.single .entry-title,
.blog h1, .blog h2, .blog h3,
.archive h1, .archive h2, .archive h3,
.single h1, .single h2, .single h3 {
  color: var(--dp-text) !important;
  font-family: var(--dp-font-titre) !important;
}

/* Liens titres */
.blog .entry-title a,
.archive .entry-title a,
.single .entry-title a {
  color: var(--dp-text) !important;
}
.blog .entry-title a:hover,
.archive .entry-title a:hover {
  color: var(--dp-magenta) !important;
}

/* Méta (date, auteur, catégories) */
.blog .entry-meta,
.archive .entry-meta,
.single .entry-meta,
.blog .posted-on,
.blog .byline,
.blog .cat-links,
.archive .posted-on,
.archive .byline {
  color: var(--dp-text-muted) !important;
  font-family: var(--dp-font-body) !important;
  font-size: 12px !important;
}

/* Extrait */
.blog .entry-summary,
.archive .entry-summary,
.blog .entry-content p,
.single .entry-content p {
  color: var(--dp-text) !important;
  font-family: var(--dp-font-body) !important;
  line-height: 1.7 !important;
}

/* Sidebar */
.widget,
.widget_categories,
.widget_recent_entries,
.widget_tag_cloud {
  background: var(--dp-surface) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: var(--dp-radius) !important;
  padding: 20px !important;
  color: var(--dp-text) !important;
}

.widget-title,
.widgettitle {
  color: var(--dp-text) !important;
  font-family: var(--dp-font-titre) !important;
  border-bottom: 1px solid var(--dp-border) !important;
  padding-bottom: 10px !important;
  margin-bottom: 12px !important;
}

/* Pagination */
.page-numbers,
.nav-links a,
.navigation .page-numbers {
  color: var(--dp-text) !important;
  background: var(--dp-surface) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 4px !important;
  padding: 6px 12px !important;
}
.page-numbers.current,
.page-numbers:hover {
  background: var(--dp-magenta) !important;
  color: #fff !important;
  border-color: var(--dp-magenta) !important;
}

/* Header de catégorie/archive */
.page-header,
.archive-description,
.taxonomy-description {
  background: var(--dp-surface) !important;
  border-radius: var(--dp-radius) !important;
  padding: 24px !important;
  margin-bottom: 32px !important;
  border-left: 3px solid var(--dp-magenta) !important;
}

.page-header .page-title,
.archive-title {
  color: var(--dp-text) !important;
  font-family: var(--dp-font-titre) !important;
}

/* ── Dark mode overrides spécifiques blog ── */

/* Blocksy specific: cards d'articles */

/* ============================================================
   FOOTER — RÉSEAUX SOCIAUX + CENTRÉ + THÈME TOGGLE
   ============================================================ */
.ct-footer,
footer {
  background: var(--dp-footer-bg) !important;
  color: var(--dp-footer-text) !important;
  border-top: 1px solid var(--dp-border) !important;
}
.ct-footer a, footer a {
  color: var(--dp-footer-text) !important;
  opacity: 0.75;
  transition: opacity var(--dp-transition);
}
.ct-footer a:hover, footer a:hover { opacity: 1; color: var(--dp-magenta) !important; }

/* (ancienne règle dp-footer-cols supprimée — remplacée par la grille en bas du fichier) */

/* Réseaux sociaux */
.dp-social-links { display: flex; gap: 16px; align-items: center; }
.dp-social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(0,0,0,0.07);       /* neutre — fonctionne sur fond clair ET foncé */
  color: var(--dp-footer-text) !important;
  text-decoration: none !important;
  transition: background var(--dp-transition), transform var(--dp-transition);
  opacity: 1 !important;
}

.dp-social-link:hover {
  background: var(--dp-magenta) !important;
  transform: translateY(-2px);
  color: #fff !important;
}
.dp-social-link svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  pointer-events: none;
  position: relative;
  z-index: 1;
}
/* Forcer l'icône visible sur hover (les chemins fill-based suivent currentColor) */
.dp-social-link:hover svg,
.dp-social-link:hover svg path,
.dp-social-link:hover svg circle,
.dp-social-link:hover svg rect {
  fill: #fff !important;
  color: #fff !important;
}

/* Liens légaux footer */
.dp-footer-links {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
}
.dp-footer-links a {
  font-size: 0.78rem;
  color: var(--dp-footer-text) !important;
  opacity: 0.7;
  text-decoration: none !important;
  transition: opacity 0.2s, color 0.2s;
}
.dp-footer-links a:hover {
  opacity: 1;
  color: var(--dp-magenta) !important;
}
.dp-footer-sep {
  font-size: 0.78rem;
  color: var(--dp-footer-text);
  opacity: 0.4;
}

/* Texte copyright */
.dp-footer-copy {
  font-size: 0.8rem;
  color: var(--dp-footer-text);
  opacity: 0.55;
  text-align: center;
}

/* Barre footer (toggle thème) */
.dp-footer-bar {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 16px;
  border-top: 1px solid var(--dp-border);
  position: relative;
}

/* ── Toggle thème dark/light ── */
.dp-theme-toggle {
  position: absolute;
  right: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(0,0,0,0.06);
  border: 1px solid var(--dp-border);
  border-radius: 20px;
  padding: 5px 12px;
  cursor: pointer;
  color: var(--dp-footer-text);
  font-family: var(--dp-font-body);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: background var(--dp-transition);
}

.dp-theme-toggle:hover { background: rgba(0,0,0,0.12); }

.dp-theme-toggle svg { width: 14px; height: 14px; fill: currentColor; }

/* ── Page Collections — Polaroïds éparpillés ──────────────────────── */

.dp-col-section { margin-bottom: 64px; }

.dp-col-section-title {
  font-family: var(--dp-font-title);
  font-size: 1.4rem;
  font-weight: 400;
  font-style: italic;
  color: var(--dp-text-muted);
  margin: 0 0 40px;
  text-align: center;
  letter-spacing: 0.04em;
}
.dp-col-section--seasonal .dp-col-section-title { color: var(--dp-amber); }

/* Grille */
.dp-collections-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px 24px;
  padding: 16px 24px 48px;
}

/* Carte polaroïd */
.dp-col-tile {
  background: #FFFDF8;
  border: 2px solid transparent !important;
  border-radius: 6px;
  box-shadow: 2px 3px 10px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.07);
  padding: 7px 7px 30px;
  display: block;
  text-decoration: none;
  position: relative;
  transition: transform .7s cubic-bezier(.22,.68,0,1.15),
              box-shadow .7s cubic-bezier(.22,.68,0,1.15);
  transform-origin: center 16px;
  overflow: visible !important;
}

/* Bordure ambrée sur les saisonnières */
.dp-col-tile.dp-col-tile--seasonal {
  border-color: var(--dp-amber) !important;
}

/* Épingle */
.dp-col-tile::before {
  content: '';
  position: absolute;
  top: -9px; left: 50%;
  transform: translateX(-50%);
  width: 11px; height: 11px;
  background: radial-gradient(circle at 38% 32%, #ff9999, #bb1122);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,.35);
  z-index: 2;
}

/* Épingle dorée pour les saisonnières */
.dp-col-tile.dp-col-tile--seasonal::before {
  background: radial-gradient(circle at 38% 32%, #ffe599, #c87332);
}

/* Rotations et décalages alternés */
.dp-col-tile:nth-child(4n+1) { transform: rotate(-2.2deg); }
.dp-col-tile:nth-child(4n+2) { transform: rotate(1.6deg);  margin-top: 22px; }
.dp-col-tile:nth-child(4n+3) { transform: rotate(-1.0deg); margin-top: 10px; }
.dp-col-tile:nth-child(4n)   { transform: rotate(2.4deg);  margin-top: 30px; }

/* Hover : se redresse et passe au premier plan */
.dp-col-tile:hover {
  transform: rotate(0deg) scale(1.07) !important;
  box-shadow: 4px 14px 36px rgba(0,0,0,.20) !important;
  z-index: 10;
}

/* Photo */
.dp-col-tile-img {
  width: 100%;
  aspect-ratio: 1/1;
  background-size: cover;
  background-position: center;
  background-color: var(--dp-surface);
  border-radius: 4px;
  display: block;
}

/* Légende sous la photo */
.dp-col-tile-label {
  text-align: center;
  padding: 9px 4px 0;
  background: transparent;
  flex-direction: column;
  gap: 2px;
}
.dp-col-tile-label span {
  display: block;
  font-family: var(--dp-font-title);
  font-style: italic;
  font-weight: 400;
  font-size: 0.85rem;
  color: #555;
  letter-spacing: 0.01em;
}
.dp-col-tile-label small {
  display: block;
  font-family: sans-serif;
  font-size: 0.65rem;
  color: #aaa;
  margin-top: 2px;
  letter-spacing: 0.03em;
}

/* Badge saisonnière */
.dp-col-tile-badge {
  position: absolute;
  top: 16px; right: -6px;
  background: var(--dp-amber);
  color: #fff;
  font-family: sans-serif;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 2px 0 0 2px;
  box-shadow: 2px 2px 6px rgba(0,0,0,.2);
}
.dp-col-tile-badge::after {
  content: '';
  position: absolute;
  right: -6px; top: 0;
  border: 10px solid transparent;
  border-left-color: var(--dp-amber);
  border-right: none;
  height: 0; width: 0;
}

/* Responsive */
@media (max-width: 1024px) {
  .dp-collections-grid { grid-template-columns: repeat(3, 1fr); gap: 36px 20px; }
}
@media (max-width: 680px) {
  .dp-collections-grid { grid-template-columns: repeat(2, 1fr); gap: 36px 16px; padding: 12px 16px 40px; }
}
@media (max-width: 420px) {
  .dp-collections-grid { grid-template-columns: 1fr; gap: 44px 0; padding: 12px 48px 40px; }
  .dp-col-tile:nth-child(n) { margin-top: 0; }
}

/* ── Barre de filtres catalogue ────────────────────────────────────── */
.dp-toolbar {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  width: 100%;
}
.dp-toolbar .woocommerce-result-count {
  margin: 0;
  float: none !important;
  white-space: nowrap;
  font-family: var(--dp-font-body) !important;
  font-size: 0.83rem;
  color: var(--dp-text-muted);
}
/* Tri aligné à droite */
.dp-toolbar .woocommerce-ordering {
  margin: 0 0 0 auto !important;
  float: none !important;
}
/* Masquer l'icône ↑↓ de Blocksy — on utilise notre propre select stylisé */
.dp-toolbar .ct-sort-icon { display: none !important; }
/* Forcer le select visible sur tous les breakpoints dans notre toolbar */
.dp-toolbar .woocommerce-ordering select.orderby { display: block !important; }
.dp-toolbar .woocommerce-ordering select.orderby {
  font-family: var(--dp-font-body) !important;
  font-size: 0.82rem !important;
  color: var(--dp-text) !important;
  background: var(--dp-surface) !important;
  border: 1.5px solid var(--dp-border) !important;
  border-radius: 20px !important;
  padding: 5px 32px 5px 14px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%237a6555' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  transition: border-color 0.2s;
}
.dp-toolbar .woocommerce-ordering select.orderby:focus,
.dp-toolbar .woocommerce-ordering select.orderby:hover {
  border-color: var(--dp-magenta) !important;
  outline: none !important;
}
.dp-filter-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 0;
  padding: 7px 12px;
  background: var(--dp-surface);
  border: 1px solid var(--dp-border);
  border-radius: 10px;
}
.dp-filter-label {
  font-family: var(--dp-font-body);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--dp-text-muted);
  margin-right: 4px;
  white-space: nowrap;
}
.dp-filter-group { position: relative; }
.dp-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  background: var(--dp-bg);
  border: 1.5px solid var(--dp-border);
  border-radius: 20px;
  font-family: var(--dp-font-body);
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--dp-text);
  cursor: pointer;
  white-space: nowrap;
  transition: border-color 0.2s, background 0.2s, color 0.2s;
  user-select: none;
}
.dp-filter-btn:hover { border-color: var(--dp-magenta); color: var(--dp-magenta); }
.dp-filter-group.is-active .dp-filter-btn {
  border-color: var(--dp-magenta);
  background: rgba(224,165,152,0.07);
  color: var(--dp-magenta);
  font-weight: 600;
}
.dp-filter-group.is-open .dp-filter-btn {
  border-color: var(--dp-magenta);
  background: var(--dp-magenta);
  color: #fff;
}
.dp-filter-btn svg { transition: transform 0.2s; flex-shrink: 0; }
.dp-filter-group.is-open .dp-filter-btn svg { transform: rotate(180deg); }
.dp-filter-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--dp-magenta);
  display: inline-block;
}
.dp-filter-group.is-open .dp-filter-dot { background: #fff; }

/* Dropdown */
.dp-filter-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 185px;
  background: var(--dp-surface);
  border: 1px solid var(--dp-border);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(44,31,18,0.12);
  list-style: none;
  margin: 0;
  padding: 6px 0;
  z-index: 9999;
}
.dp-filter-group.is-open .dp-filter-dropdown { display: block; }

/* Dropdown avec ascenseur (Arôme) */
.dp-filter-dropdown--scroll {
  max-height: 360px; /* ~10 entrées × 36px */
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--dp-border) transparent;
}
.dp-filter-dropdown--scroll::-webkit-scrollbar {
  width: 4px;
}
.dp-filter-dropdown--scroll::-webkit-scrollbar-track {
  background: transparent;
}
.dp-filter-dropdown--scroll::-webkit-scrollbar-thumb {
  background: var(--dp-border);
  border-radius: 4px;
}
.dp-filter-dropdown--scroll::-webkit-scrollbar-thumb:hover {
  background: var(--dp-magenta);
}
.dp-filter-dropdown li a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  font-family: var(--dp-font-body);
  font-size: 0.83rem;
  color: var(--dp-text) !important;
  text-decoration: none !important;
  transition: background 0.15s, color 0.15s;
}
.dp-filter-dropdown li a:hover { background: rgba(224,165,152,0.06); color: var(--dp-magenta) !important; }
.dp-filter-dropdown li a.is-selected { color: var(--dp-magenta) !important; font-weight: 600; }
.dp-filter-dropdown li a svg { flex-shrink: 0; color: var(--dp-magenta); }

/* Bouton effacer */
.dp-filter-reset {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 10px;
  font-family: var(--dp-font-body);
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--dp-text-muted) !important;
  text-decoration: none !important;
  border: 1.5px dashed var(--dp-border);
  border-radius: 20px;
  transition: color 0.2s, border-color 0.2s;
}
.dp-filter-reset:hover { color: var(--dp-magenta) !important; border-color: var(--dp-magenta); }

@media (max-width: 600px) {
  .dp-toolbar { flex-wrap: wrap; gap: 8px; }
  .dp-filter-bar { gap: 5px; padding: 6px 10px; order: 1; flex: 1; }
  .dp-toolbar .woocommerce-ordering { order: 2; margin-left: 0 !important; }
  .dp-toolbar .woocommerce-result-count { width: 100%; order: 3; }
  .dp-filter-btn { font-size: 0.78rem; padding: 4px 10px; }
  .dp-filter-dropdown { min-width: 160px; }
}


/* ============================================================
   PALETTE DE COULEURS — page produit
   ============================================================ */

.dp-select-hidden {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 1px;
  height: 1px;
}

.dp-color-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 12px;
  max-width: calc(8 * 36px + 7 * 8px); /* 8 pastilles max par ligne */
}

.dp-swatch {
  position: relative;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid transparent;
  background-color: var(--swatch-color);
  cursor: pointer;
  padding: 0;
  outline: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.12);
}

.dp-swatch--light {
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.25);
}

.dp-swatch:hover {
  transform: scale(1.12);
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(0,0,0,0.2);
}

.dp-swatch--active {
  border-color: var(--dp-magenta);
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--dp-magenta);
  transform: scale(1.08);
}

.dp-swatch--disabled {
  opacity: 0.28;
  cursor: not-allowed;
  pointer-events: none;
}

.dp-swatch--disabled::after {
  content: '';
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 3px,
    rgba(0,0,0,0.35) 3px,
    rgba(0,0,0,0.35) 4px
  );
}

.dp-swatch-tip {
  position: absolute;
  bottom: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  background: #1a1a1a;
  color: #fff;
  font-size: 0.7rem;
  white-space: nowrap;
  padding: 3px 7px;
  border-radius: 4px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.15s ease;
  z-index: 10;
}

.dp-swatch:hover .dp-swatch-tip {
  opacity: 1;
}

/* ============================================================
   SIDE CART — Boutons & styles généraux
   ============================================================ */

/* ── Scrollbar du panneau ── */
.xoo-wsc-markup *::-webkit-scrollbar-track {
  background: var(--dp-surface) !important;
}
.xoo-wsc-markup *::-webkit-scrollbar-thumb {
  background: var(--dp-border) !important;
}

/* ── Overlay (fond sombre derrière le panneau) ── */
.xoo-wsc-opac {
  background-color: #2c1f12 !important; /* brun chaud au lieu du noir froid */
}

/* ── Icône panier side cart — transition fluide position + hover ──
   Le plugin anime right/bottom via "transition: 0.5s ease-out" (toutes props).
   Notre override précédent (transform only) cassait l'animation de déplacement.
   On restaure "all 0.5s" pour le déplacement, avec "transform" en plus rapide pour le hover. */
.xoo-wsc-basket {
  transition: right 0.5s ease-out, bottom 0.5s ease-out, left 0.5s ease-out, top 0.5s ease-out, transform 0.2s ease !important;
}
.xoo-wsc-basket:hover {
  transform: scale(1.2) !important;
}
/* ── Icône header générique — zoom au hover ── */
.ct-icon {
  transition: transform 0.2s ease !important;
}
.ct-icon:hover {
  transform: scale(1.2) !important;
}

/* ── Conteneur & fond ── */
.xoo-wsc-container,
.xoo-wsc-slider {
  background: var(--dp-bg) !important;
  font-family: var(--dp-font-body) !important;
}

/* ── En-tête du panier ── */
.xoo-wsc-header {
  background: var(--dp-surface) !important;
  border-bottom: 1px solid var(--dp-border) !important;
  font-family: var(--dp-font-titre) !important;
  color: var(--dp-text) !important;
}
.xoo-wsch-text {
  font-family: var(--dp-font-titre) !important;
  font-style: italic !important;
  letter-spacing: 0.02em !important;
}

/* ── Corps ── */
.xoo-wsc-body {
  background: var(--dp-bg) !important;
}

/* ── Ligne produit ── */
.xoo-wsc-product {
  border-bottom-color: var(--dp-border) !important;
  background: var(--dp-bg) !important;
}

/* ── Footer (totaux + boutons) ── */
.xoo-wsc-footer {
  background: var(--dp-surface) !important;
  border-top: 1px solid var(--dp-border) !important;
  box-shadow: none !important;
}

/* ── Ligne total ── */
.xoo-wsc-ft-amt-total {
  border-top-color: var(--dp-border) !important;
}

/* ── Texte de bas de page (livraison, taxes…) ── */
span.xoo-wsc-footer-txt {
  color: var(--dp-text-muted) !important;
  font-size: 0.75rem !important;
  font-family: var(--dp-font-body) !important;
}

/* ── Panier vide ── */
.xoo-wsc-empty-cart {
  background: var(--dp-bg) !important;
  color: var(--dp-text-muted) !important;
}

/* ── Base commune à tous les boutons du side cart ── */
a.xoo-wsc-ft-btn,
.xoo-wsc-container .xoo-wsc-btn {
  font-family: var(--dp-font-body) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  border-radius: 4px !important;
  padding: 12px 18px !important;
  border: 2px solid transparent !important;
  cursor: pointer !important;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, opacity 0.18s ease !important;
  text-decoration: none !important;
}

/* ── "Commander" — CTA principal magenta ── */
a.xoo-wsc-ft-btn-checkout {
  background: var(--dp-magenta) !important;
  color: #fff !important;
  border-color: var(--dp-magenta) !important;
  order: 1;
}
a.xoo-wsc-ft-btn-checkout:hover {
  background: var(--dp-magenta-dark) !important;
  border-color: var(--dp-magenta-dark) !important;
  color: #fff !important;
  opacity: 1 !important;
}

/* ── "Voir le panier" — bouton secondaire sombre ── */
a.xoo-wsc-ft-btn-cart {
  background: var(--dp-text) !important;
  color: var(--dp-bg) !important;
  border-color: var(--dp-text) !important;
}
a.xoo-wsc-ft-btn-cart:hover {
  opacity: 0.82 !important;
  color: var(--dp-bg) !important;
}

/* ── "Continuer mes achats" — ghost / outline ── */
a.xoo-wsc-ft-btn-continue {
  background: transparent !important;
  color: var(--dp-text-muted) !important;
  border-color: var(--dp-border) !important;
}
a.xoo-wsc-ft-btn-continue:hover {
  background: var(--dp-surface-2) !important;
  color: var(--dp-text) !important;
  border-color: var(--dp-border) !important;
  opacity: 1 !important;
}

/* ── Bouton "Retourner à la boutique" (panier vide) ── */
.xoo-wsc-empty-cart a.xoo-wsc-ft-btn {
  background: var(--dp-magenta) !important;
  color: #fff !important;
  border-color: var(--dp-magenta) !important;
}
.xoo-wsc-empty-cart a.xoo-wsc-ft-btn:hover {
  background: var(--dp-magenta-dark) !important;
  border-color: var(--dp-magenta-dark) !important;
  opacity: 1 !important;
}

/* ── Montant dans le bouton Commander (italique désactivé) ── */
a.xoo-wsc-ft-btn-checkout .amount {
  font-style: normal !important;
  font-weight: 700 !important;
}

/* ── Totaux & sous-total ── */
.xoo-wsc-ft-totals {
  border-top: 1px solid var(--dp-border) !important;
}
span.xoo-wsc-ft-amt-label {
  font-family: var(--dp-font-body) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: var(--dp-text) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
.xoo-wsc-ft-amt-value {
  font-family: var(--dp-font-body) !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: var(--dp-text) !important;
}

/* ── Texte produit dans le panier ── */
.xoo-wsc-name,
.xoo-wsc-smr-name {
  font-family: var(--dp-font-body) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: var(--dp-text) !important;
}
.xoo-wsc-card-price,
.xoo-wsc-sml-qty,
.xoo-wsc-smr-price {
  font-family: var(--dp-font-body) !important;
  font-size: 0.78rem !important;
  color: var(--dp-text-muted) !important;
}
.xoo-wsc-sml-qty span,
.xoo-wsc-smr-qty {
  font-weight: 700 !important;
  color: var(--dp-text) !important;
}

/* ── Bouton suppression ── */
.xoo-wsc-smr-del {
  color: var(--dp-text-muted) !important;
  transition: color var(--dp-transition) !important;
}
.xoo-wsc-smr-del:hover {
  color: var(--dp-magenta) !important;
}

/* ============================================================
   MINI-CART BLOCKSY — Popup contextuel (icône panier header)
   ============================================================ */

/* ── Variables : fond chaud, séparateur sable ── */
.ct-cart-content {
  --mini-cart-background-color: var(--dp-surface) !important;
  --mini-cart-divider-color:    var(--dp-border)  !important;
  background: var(--dp-surface) !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 32px rgba(44, 31, 18, 0.14) !important;
  border: 1px solid var(--dp-border) !important;
}

/* ── Textes généraux dans le popup ── */
.ct-cart-content,
.ct-cart-content .woocommerce-mini-cart li,
.ct-cart-content .product-title,
.ct-cart-content .woocommerce-mini-cart__total,
.ct-cart-content .woocommerce-mini-cart__empty-message {
  color: var(--dp-text) !important;
  font-family: var(--dp-font-body) !important;
}

/* ── Nom du produit ── */
.ct-cart-content .product-title,
.ct-cart-content .product-title a {
  font-family: var(--dp-font-body) !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  color: var(--dp-text) !important;
}

/* ── Variations (arôme, couleur…) ── */
.ct-cart-content .woocommerce-mini-cart dl.variation,
.ct-cart-content .woocommerce-mini-cart dl.variation dt,
.ct-cart-content .woocommerce-mini-cart dl.variation dd {
  color: var(--dp-text-muted) !important;
  font-size: 0.75rem !important;
}

/* ── Prix ── */
.ct-cart-content .woocommerce-mini-cart .amount,
.ct-cart-content .woocommerce-mini-cart .price,
.ct-cart-content .woocommerce-mini-cart__total .amount {
  color: var(--dp-amber) !important;
  font-weight: 700 !important;
  font-family: var(--dp-font-body) !important;
}

/* ── Ligne "Sous-total" ── */
.ct-cart-content .woocommerce-mini-cart__total {
  font-family: var(--dp-font-body) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--dp-text-muted) !important;
  border-top-color: var(--dp-border) !important;
}

/* ── Séparateur entre produits ── */
.ct-cart-content .woocommerce-mini-cart li:not(:last-child) {
  border-bottom-color: var(--dp-border) !important;
}

/* ── Bouton supprimer (×) ── */
.ct-cart-content .woocommerce-mini-cart .remove {
  color: var(--dp-text-muted) !important;
  transition: color var(--dp-transition) !important;
}
.ct-cart-content .woocommerce-mini-cart .remove:hover {
  color: var(--dp-magenta) !important;
}

/* ── Boutons du mini-cart : base commune ── */
.ct-cart-content .woocommerce-mini-cart__buttons .button {
  font-family: var(--dp-font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  border-radius: 4px !important;
  border: 2px solid transparent !important;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease !important;
  min-height: 42px !important;
}

/* ── "Commander" — CTA magenta ── */
.ct-cart-content .woocommerce-mini-cart__buttons .button.checkout {
  background: var(--dp-magenta) !important;
  color: #fff !important;
  border-color: var(--dp-magenta) !important;
}
.ct-cart-content .woocommerce-mini-cart__buttons .button.checkout:hover {
  background: var(--dp-magenta-dark) !important;
  border-color: var(--dp-magenta-dark) !important;
  color: #fff !important;
}

/* ── "Voir le panier" — style checkout magenta ── */
.ct-cart-content .woocommerce-mini-cart__buttons .button.wc-forward,
.wc-forward {
  background: var(--dp-magenta) !important;
  color: #fff !important;
  border: 2px solid var(--dp-magenta) !important;
}
.ct-cart-content .woocommerce-mini-cart__buttons .button.wc-forward:hover,
.wc-forward:hover {
  background: var(--dp-magenta-dark) !important;
  border-color: var(--dp-magenta-dark) !important;
  color: #fff !important;
  opacity: 1 !important;
}

/* ── Séparateur au-dessus des boutons ── */
.ct-cart-content .woocommerce-mini-cart__buttons {
  border-top-color: var(--dp-border) !important;
}

/* ── Scrollbar interne ── */
.ct-cart-content .woocommerce-mini-cart::-webkit-scrollbar-track {
  background: var(--dp-surface-2) !important;
}
.ct-cart-content .woocommerce-mini-cart::-webkit-scrollbar-thumb {
  background: var(--dp-border) !important;
}

/* ============================================================
   MY ACCOUNT — Navigation, contenu, commandes, formulaires
   ============================================================ */

/* ── Surcharge palette Blocksy sur la page account ──
   --theme-palette-color-8 est #ffffff dans global.css
   → on le remplace par notre crème pour tous les éléments
   qui l'utilisent comme fond (nav sidebar, wrappers…)      ── */
body.woocommerce-account {
  --theme-palette-color-8: var(--dp-bg) !important;
  background: var(--dp-bg) !important;
}

/* Tous les wrappers intermédiaires : transparents */
body.woocommerce-account .entry-content,
body.woocommerce-account .ct-container,
body.woocommerce-account article,
body.woocommerce-account .entry,
body.woocommerce-account .ct-content,
body.woocommerce-account main,
body.woocommerce-account .woocommerce,
body.woocommerce-account .woocommerce-MyAccount-content {
  background: transparent !important;
}

/* ────────────────────────────────────────
   NAVIGATION LATÉRALE
   ──────────────────────────────────────── */
.ct-acount-nav {
  --account-nav-background-initial-color: var(--dp-surface);
  --account-nav-background-active-color:  var(--dp-magenta);
  --account-nav-text-initial-color:       var(--dp-text);
  --account-nav-text-active-color:        #ffffff;
  --account-nav-divider-color:            var(--dp-border);
  border-radius: 10px !important;
  border: 1px solid var(--dp-border) !important;
  box-shadow: 0 2px 12px rgba(44,31,18,0.07) !important;
  overflow: hidden !important;
}

/* Liens de navigation */
.woocommerce-MyAccount-navigation ul li a {
  font-family: var(--dp-font-body) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  color: var(--dp-text) !important;
  height: 48px !important;
  padding: 0 18px !important;
  transition: background var(--dp-transition), color var(--dp-transition) !important;
}

/* Séparateurs */
.woocommerce-MyAccount-navigation ul li:not(:last-child) a {
  border-bottom-color: var(--dp-border) !important;
}

/* Actif & survol */
.woocommerce-MyAccount-navigation ul li:hover a,
.woocommerce-MyAccount-navigation ul li.is-active a {
  background: var(--dp-magenta) !important;
  color: #fff !important;
}

/* Icônes Woo font — couleur héritée */
.woocommerce-MyAccount-navigation ul li a::before {
  color: inherit !important;
}

/* Déconnexion — teinte muted */
.woocommerce-MyAccount-navigation-link--customer-logout a {
  color: var(--dp-text-muted) !important;
  font-style: italic !important;
}
.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  color: #fff !important;
}

/* ────────────────────────────────────────
   ZONE DE CONTENU
   ──────────────────────────────────────── */
.woocommerce-MyAccount-content {
  font-family: var(--dp-font-body) !important;
  color: var(--dp-text) !important;
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-family: var(--dp-font-titre) !important;
  font-size: 1.2rem !important;
  font-weight: 400 !important;
  color: var(--dp-text) !important;
  margin-bottom: 18px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--dp-border) !important;
}

/* Message de bienvenue (dashboard) */
.woocommerce-MyAccount-content > p:first-child {
  background: var(--dp-surface) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 8px !important;
  padding: 16px 20px !important;
  font-size: 0.9rem !important;
  color: var(--dp-text) !important;
}

/* ────────────────────────────────────────
   TABLEAU COMMANDES
   ──────────────────────────────────────── */
.woocommerce-MyAccount-content table.shop_table {
  background: var(--dp-surface) !important;
  border-radius: 10px !important;
  border: 1px solid var(--dp-border) !important;
  overflow: hidden !important;
  font-size: 0.85rem !important;
}

/* En-têtes de colonnes */
.woocommerce-MyAccount-content .shop_table thead th {
  background: var(--dp-surface-2) !important;
  color: var(--dp-text) !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  padding: 12px 14px !important;
  border-bottom: 2px solid var(--dp-border) !important;
}

/* Cellules */
.woocommerce-MyAccount-content .shop_table tbody td,
.woocommerce-MyAccount-content .shop_table tbody th {
  padding: 12px 14px !important;
  border-bottom: 1px solid var(--dp-border) !important;
  vertical-align: middle !important;
  color: var(--dp-text) !important;
  font-family: var(--dp-font-body) !important;
}

/* Survol ligne */
.woocommerce-MyAccount-content .shop_table tbody tr:hover td,
.woocommerce-MyAccount-content .shop_table tbody tr:hover th {
  background: var(--dp-surface) !important;
}

/* Lien numéro de commande */
.woocommerce-orders-table__cell-order-number a {
  font-weight: 700 !important;
  color: var(--dp-magenta) !important;
}

/* ── Badges de statut de commande ── */
.woocommerce-orders-table__cell-order-status {
  font-weight: 600 !important;
  font-size: 0.78rem !important;
}
.woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status {
  color: #2e7d32 !important;
}
.woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status {
  color: var(--dp-amber) !important;
}
.woocommerce-orders-table__row--status-pending .woocommerce-orders-table__cell-order-status,
.woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status {
  color: var(--dp-text-muted) !important;
}
.woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status,
.woocommerce-orders-table__row--status-failed .woocommerce-orders-table__cell-order-status {
  color: #c62828 !important;
}

/* Bouton "Voir" dans le tableau */
.woocommerce-orders-table__cell-order-actions .button {
  font-size: 0.72rem !important;
  padding: 7px 14px !important;
  border-radius: 4px !important;
  background: var(--dp-text) !important;
  color: var(--dp-bg) !important;
  border: none !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
}
.woocommerce-orders-table__cell-order-actions .button:hover {
  opacity: 0.82 !important;
}

/* ────────────────────────────────────────
   FORMULAIRES (édition compte, adresses)
   ──────────────────────────────────────── */
.woocommerce-MyAccount-content fieldset {
  background: var(--dp-surface) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 10px !important;
  padding: 24px 24px 16px !important;
  margin-bottom: 24px !important;
}

.woocommerce-MyAccount-content fieldset legend {
  font-family: var(--dp-font-titre) !important;
  font-style: italic !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  color: var(--dp-amber) !important;
  padding: 0 10px !important;
  letter-spacing: 0.02em !important;
}

/* Labels */
.woocommerce-MyAccount-content .woocommerce-form-row label,
.woocommerce-MyAccount-content .form-row label,
.woocommerce-address-fields .form-row label {
  font-family: var(--dp-font-body) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--dp-text-muted) !important;
  margin-bottom: 5px !important;
  display: block !important;
}

/* Inputs */
.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content input[type="tel"],
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea {
  background: var(--dp-bg) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: var(--dp-radius) !important;
  color: var(--dp-text) !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.88rem !important;
  padding: 10px 14px !important;
  transition: border-color var(--dp-transition), box-shadow var(--dp-transition) !important;
}
.woocommerce-MyAccount-content input:focus,
.woocommerce-MyAccount-content select:focus,
.woocommerce-MyAccount-content textarea:focus {
  border-color: var(--dp-magenta) !important;
  box-shadow: 0 0 0 3px rgba(224,165,152,0.1) !important;
  outline: none !important;
}

/* ────────────────────────────────────────
   ADRESSES
   ──────────────────────────────────────── */
.woocommerce-Addresses {
  gap: 20px !important;
}
.woocommerce-Address {
  background: var(--dp-surface) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 10px !important;
  padding: 24px !important;
}
.woocommerce-Address header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 14px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--dp-border) !important;
}
.woocommerce-Address header h3 {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  font-size: 1rem !important;
}
.woocommerce-Address address {
  font-style: normal !important;
  font-size: 0.88rem !important;
  line-height: 1.7 !important;
  color: var(--dp-text-muted) !important;
}
.woocommerce-Address header a {
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--dp-magenta) !important;
  text-decoration: none !important;
}
.woocommerce-Address header a:hover {
  text-decoration: underline !important;
}

/* ────────────────────────────────────────
   FORMULAIRE LOGIN / REGISTER (non connecté)
   ──────────────────────────────────────── */
.woocommerce-form-login,
.woocommerce-form-register {
  background: var(--dp-surface) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 12px !important;
  padding: 32px !important;
  box-shadow: 0 2px 16px rgba(44,31,18,0.07) !important;
}
.woocommerce-form-login h2,
.woocommerce-form-register h2 {
  font-family: var(--dp-font-titre) !important;
  font-size: 1.3rem !important;
  margin-bottom: 20px !important;
  font-style: italic !important;
  border-bottom: none !important;
}

/* Checkbox "Se souvenir de moi" */
.woocommerce-form-login__rememberme {
  font-size: 0.82rem !important;
  color: var(--dp-text-muted) !important;
}

/* Lien mot de passe perdu */
.woocommerce-LostPassword a,
.woocommerce-form-login .lost_password a {
  font-size: 0.8rem !important;
  color: var(--dp-text-muted) !important;
  text-decoration: underline !important;
}
.woocommerce-LostPassword a:hover,
.woocommerce-form-login .lost_password a:hover {
  color: var(--dp-magenta) !important;
}

/* ────────────────────────────────────────
   DETAIL COMMANDE (view-order)
   ──────────────────────────────────────── */
.woocommerce-order-details,
.woocommerce-customer-details {
  background: var(--dp-surface) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 10px !important;
  padding: 24px !important;
  margin-bottom: 24px !important;
}
.woocommerce-order-details .woocommerce-order-details__title,
.woocommerce-customer-details h2 {
  border-bottom: 1px solid var(--dp-border) !important;
  padding-bottom: 10px !important;
  margin-bottom: 16px !important;
}

/* ────────────────────────────────────────
   RESPONSIVE mobile
   ──────────────────────────────────────── */
@media (max-width: 689px) {
  .ct-acount-nav {
    border-radius: 8px !important;
  }
  .woocommerce-MyAccount-content fieldset {
    padding: 16px !important;
  }
  .woocommerce-form-login,
  .woocommerce-form-register {
    padding: 20px !important;
  }
}

/* ============================================================
   CHECKOUT — Formulaire, récapitulatif, paiement, confirmation
   ============================================================ */

/* ── Fond page (même fix que account) ── */
body.woocommerce-checkout {
  --theme-palette-color-8: var(--dp-bg) !important;
  background: var(--dp-bg) !important;
}
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .ct-container,
body.woocommerce-checkout article,
body.woocommerce-checkout .entry,
body.woocommerce-checkout .ct-content,
body.woocommerce-checkout main,
body.woocommerce-checkout .woocommerce {
  background: transparent !important;
}

/* ── Variables Blocksy pour le récapitulatif ── */
body.woocommerce-checkout {
  --order-review-border:        1px solid var(--dp-border) !important;
  --order-review-padding:       28px !important;
  --order-review-border-radius: 10px !important;
}

/* ────────────────────────────────────────
   TITRES DE SECTION
   ──────────────────────────────────────── */
.woocommerce-checkout h3,
.woocommerce-checkout h3#order_review_heading {
  font-family: var(--dp-font-titre) !important;
  font-style: italic !important;
  font-size: 1.15rem !important;
  font-weight: 400 !important;
  color: var(--dp-text) !important;
  margin-bottom: 20px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--dp-border) !important;
}

/* ────────────────────────────────────────
   SECTION DÉTAILS CLIENT (facturation / livraison)
   ──────────────────────────────────────── */
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
  background: var(--dp-surface) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 10px !important;
  padding: 28px !important;
}

/* Labels */
.woocommerce-checkout .form-row label,
.woocommerce-checkout .woocommerce-form__label {
  font-family: var(--dp-font-body) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--dp-text-muted) !important;
  margin-bottom: 5px !important;
  display: block !important;
}

/* Inputs */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  background: var(--dp-bg) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: var(--dp-radius) !important;
  color: var(--dp-text) !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.88rem !important;
  padding: 10px 14px !important;
  width: 100% !important;
  transition: border-color var(--dp-transition), box-shadow var(--dp-transition) !important;
}
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
  border-color: var(--dp-magenta) !important;
  box-shadow: 0 0 0 3px rgba(224,165,152,0.1) !important;
  outline: none !important;
}

/* Champ optionnel — indication */
.woocommerce-checkout .optional {
  color: var(--dp-text-muted) !important;
  font-size: 0.7rem !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ────────────────────────────────────────
   COUPON
   ──────────────────────────────────────── */
.checkout_coupon {
  background: var(--dp-surface) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 10px !important;
  padding: 20px 24px !important;
  margin-bottom: 24px !important;
}
.checkout_coupon .form-row input[type="text"] {
  width: 100% !important;
}

/* ────────────────────────────────────────
   RÉCAPITULATIF COMMANDE (droite)
   ──────────────────────────────────────── */
.ct-order-review,
#order_review,
.woocommerce-checkout-review-order {
  background: var(--dp-surface) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 10px !important;
}

/* ── Table récapitulative — structure ── */
.woocommerce-checkout-review-order-table {
  font-family: var(--dp-font-body) !important;
  font-size: 0.88rem !important;
  width: 100% !important;
  border-collapse: collapse !important;
}

/* En-têtes colonnes */
.woocommerce-checkout-review-order-table thead th {
  font-family: var(--dp-font-body) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.09em !important;
  color: var(--dp-text-muted) !important;
  padding: 14px 20px !important;
  border-bottom: 2px solid var(--dp-border) !important;
  background: transparent !important;
}
.woocommerce-checkout-review-order-table thead th.product-total {
  text-align: right !important;
}

/* Lignes produits (tbody) */
.woocommerce-checkout-review-order-table tbody td {
  padding: 12px 20px !important;
  border-bottom: 1px solid var(--dp-border) !important;
  color: var(--dp-text) !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.88rem !important;
  vertical-align: middle !important;
}
.woocommerce-checkout-review-order-table tbody td.product-name {
  font-weight: 500 !important;
  color: var(--dp-text) !important;
}
.woocommerce-checkout-review-order-table tbody td.product-total {
  text-align: right !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

/* Quantité : sobre, en muted */
.woocommerce-checkout-review-order-table .product-quantity {
  color: var(--dp-text-muted) !important;
  font-weight: 400 !important;
  font-size: 0.82rem !important;
  margin-left: 2px !important;
}

/* ── Tfoot : sous-total, livraison, total ── */
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
  padding: 10px 20px !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.85rem !important;
  color: var(--dp-text-muted) !important;
  border-bottom: 1px solid var(--dp-border) !important;
  vertical-align: middle !important;
}
.woocommerce-checkout-review-order-table tfoot td {
  text-align: right !important;
}

/* Ligne livraison — colspan=2, layout vertical interne */
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals td {
  text-align: left !important;
  padding: 12px 20px !important;
}
.woocommerce-checkout-review-order-table .ct-shipping-heading {
  font-family: var(--dp-font-body) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.09em !important;
  color: var(--dp-text-muted) !important;
  margin-bottom: 6px !important;
}
.woocommerce-checkout-review-order-table .woocommerce-shipping-methods {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout-review-order-table .woocommerce-shipping-methods li {
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout-review-order-table .woocommerce-shipping-methods label {
  font-family: var(--dp-font-body) !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  color: var(--dp-text) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  display: inline !important;
  cursor: default !important;
}
.woocommerce-checkout-review-order-table .woocommerce-shipping-methods label .amount {
  color: var(--dp-amber) !important;
  font-weight: 700 !important;
}

/* Ligne Total */
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
  font-family: var(--dp-font-body) !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  color: var(--dp-text) !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
  border-bottom: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
.woocommerce-checkout-review-order-table .order-total .amount {
  color: var(--dp-amber) !important;
  font-size: 1.05rem !important;
}

/* Style inline PW Gift Cards dans tfoot — écrasé par notre font-family */
.pwgc-checkout-subtitle {
  font-family: var(--dp-font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 400 !important;
  color: var(--dp-text-muted) !important;
  line-height: 1.4 !important;
}

/* ────────────────────────────────────────
   MÉTHODES DE PAIEMENT
   ──────────────────────────────────────── */
#payment.woocommerce-checkout-payment {
  background: var(--dp-surface-2) !important;
  border-top: 1px solid var(--dp-border) !important;
  border-radius: 0 0 10px 10px !important;
  margin-top: 0 !important;
}

.payment_methods.methods {
  border-radius: 6px !important;
  overflow: hidden !important;
}
.payment_methods > li.wc_payment_method {
  border-color: var(--dp-border) !important;
  background: var(--dp-surface) !important;
}
.payment_methods > li.wc_payment_method > label {
  font-family: var(--dp-font-body) !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  color: var(--dp-text) !important;
  padding: 14px 20px !important;
}
.payment_methods > li.wc_payment_method:first-child {
  border-radius: 6px 6px 0 0 !important;
}
.payment_methods > li.wc_payment_method:last-child {
  border-radius: 0 0 6px 6px !important;
}
.payment_methods .payment_box {
  background: var(--dp-bg) !important;
  border-top-color: var(--dp-border) !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.82rem !important;
  color: var(--dp-text-muted) !important;
}
/* Radio button couleur magenta */
.payment_methods > li.wc_payment_method > input[type="radio"]:checked + label::before {
  border-color: var(--dp-magenta) !important;
  background: var(--dp-magenta) !important;
  border-width: 4px !important;
  box-shadow: inset 0 0 0 3px var(--dp-bg) !important;
}

/* ────────────────────────────────────────
   BOUTON "PASSER LA COMMANDE"
   ──────────────────────────────────────── */
#place_order,
.woocommerce-checkout .place-order .button {
  background: var(--dp-magenta) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  padding: 16px 24px !important;
  width: 100% !important;
  min-height: 52px !important;
  transition: background 0.18s ease, opacity 0.18s ease !important;
}
#place_order:hover,
.woocommerce-checkout .place-order .button:hover {
  background: var(--dp-magenta-dark) !important;
  opacity: 1 !important;
}

/* Texte CGV */
.woocommerce-terms-and-conditions-wrapper {
  font-family: var(--dp-font-body) !important;
  font-size: 0.78rem !important;
  color: var(--dp-text-muted) !important;
  line-height: 1.5 !important;
}
.woocommerce-terms-and-conditions-wrapper a {
  color: var(--dp-magenta) !important;
}

/* ────────────────────────────────────────
   PAGE DE CONFIRMATION (thank you)
   ──────────────────────────────────────── */
body.woocommerce-order-received {
  --theme-palette-color-8: var(--dp-bg) !important;
  background: var(--dp-bg) !important;
}
body.woocommerce-order-received .entry-content,
body.woocommerce-order-received article,
body.woocommerce-order-received .woocommerce {
  background: transparent !important;
}

.woocommerce-order-received .woocommerce-thankyou-order-received {
  font-family: var(--dp-font-titre) !important;
  font-style: italic !important;
  font-size: 1.4rem !important;
  color: var(--dp-text) !important;
  background: var(--dp-surface) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 10px !important;
  padding: 20px 24px !important;
  margin-bottom: 24px !important;
}

.woocommerce-order-overview {
  background: var(--dp-surface) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 10px !important;
  padding: 20px 24px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  list-style: none !important;
  margin-bottom: 32px !important;
}
.woocommerce-order-overview li {
  flex: 1 1 auto !important;
  padding: 10px 20px !important;
  border-right: 1px solid var(--dp-border) !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.8rem !important;
  color: var(--dp-text-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
.woocommerce-order-overview li:last-child { border-right: none !important; }
.woocommerce-order-overview li strong {
  display: block !important;
  font-size: 0.95rem !important;
  color: var(--dp-text) !important;
  margin-top: 4px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Détails & adresses de la confirmation */
.woocommerce-order-details,
.woocommerce-customer-details {
  background: var(--dp-surface) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 10px !important;
  padding: 24px !important;
  margin-bottom: 24px !important;
}

/* ────────────────────────────────────────
   RESPONSIVE (classic)
   ──────────────────────────────────────── */
@media (max-width: 768px) {
  .woocommerce-checkout .col2-set .col-1,
  .woocommerce-checkout .col2-set .col-2 {
    padding: 18px !important;
  }
  .ct-order-review,
  #order_review {
    padding: 18px !important;
  }
}

/* ============================================================
   CHECKOUT BLOCKS — WooCommerce Blocks-based checkout
   ============================================================ */

/* ── Fond de page (même fix que account) ── */
body.woocommerce-checkout {
  --theme-palette-color-8: var(--dp-bg) !important;
  background: var(--dp-bg) !important;
}
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .ct-container,
body.woocommerce-checkout article,
body.woocommerce-checkout .entry,
body.woocommerce-checkout .ct-content,
body.woocommerce-checkout main,
body.woocommerce-checkout .woocommerce {
  background: transparent !important;
}

/* ── Conteneur global Blocks ── */
.wc-block-checkout.has-dark-controls,
.wc-block-checkout {
  background: transparent !important;
  color: var(--dp-text) !important;
}

/* ── Layout checkout : laisser WooCommerce gérer entièrement ── */

/* ── Titres de section (Contact, Livraison, Paiement…) ── */
.wc-block-checkout__main .wc-block-components-checkout-step__title,
.wc-block-checkout__main h2,
.wc-block-checkout__main h3 {
  font-family: var(--dp-font-titre) !important;
  font-style: italic !important;
  font-size: 1.1rem !important;
  font-weight: 400 !important;
  color: var(--dp-text) !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--dp-border) !important;
  margin-bottom: 20px !important;
}

/* ── Numéro d'étape ── */
.wc-block-components-checkout-step__heading-number {
  background: var(--dp-magenta) !important;
  color: #fff !important;
  border-radius: 50% !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
}

/* ── Blocs de section (cartes surface) ── */
/* Seules les sections avec formulaires reçoivent le style carte */
.wp-block-woocommerce-checkout-contact-information-block,
.wp-block-woocommerce-checkout-shipping-address-block,
.wp-block-woocommerce-checkout-billing-address-block,
.wp-block-woocommerce-checkout-payment-block {
  background: var(--dp-surface) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 10px !important;
  padding: 20px 24px !important;
  margin-bottom: 16px !important;
}
/* Blocs fonctionnels sans carte (livraison, retrait, note) */
.wp-block-woocommerce-checkout-shipping-method-block,
.wp-block-woocommerce-checkout-pickup-options-block,
.wp-block-woocommerce-checkout-additional-information-block,
.wp-block-woocommerce-checkout-order-note-block {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
}

/* ── Boutons Expédier / Retrait en magasin ── */
.wc-block-checkout__shipping-method-container {
  display: flex !important;
  gap: 10px !important;
  margin-bottom: 20px !important;
}
.wc-block-checkout__shipping-method-option {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 20px 14px !important;
  border: 1.5px solid var(--dp-border) !important;
  border-radius: 8px !important;
  background: var(--dp-bg) !important;
  cursor: pointer !important;
  transition: border-color 0.2s, background 0.2s, color 0.2s, box-shadow 0.2s !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: var(--dp-text-muted) !important;
  text-align: center !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}
.wc-block-checkout__shipping-method-option:hover {
  border-color: var(--dp-magenta) !important;
  color: var(--dp-magenta) !important;
}
/* Bouton actif — fond plein magenta, texte blanc (comme COMMANDER) */
.wc-block-checkout__shipping-method-option[aria-checked="true"],
.wc-block-checkout__shipping-method-option-selected {
  border-color: var(--dp-magenta) !important;
  background: var(--dp-magenta) !important;
  color: #fff !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
/* Wrapper icône + texte : flex pour aligner les deux */
.wc-block-checkout__shipping-method-option-title-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
}
/* Icône SVG fill — taille réduite, alignée dans le wrapper flex */
.wc-block-checkout__shipping-method-option-icon {
  width: 15px !important;
  height: 15px !important;
  min-width: 15px !important;
  flex-shrink: 0 !important;
  display: block !important;
  fill: currentColor !important;
  stroke: none !important;
}
/* Texte du bouton */
.wc-block-checkout__shipping-method-option-title {
  display: block !important;
  line-height: 1 !important;
}
/* Input radio caché dans ces boutons */
.wc-block-checkout__shipping-method-option input[type="radio"] {
  display: none !important;
}

/* ── Labels flottants text-input ── */
.wc-block-components-text-input label {
  font-family: var(--dp-font-body) !important;
  color: var(--dp-text-muted) !important;
}
/* ── Labels checkbox / radio ── */
.wc-block-components-checkbox__label,
.wc-block-components-radio-control__label {
  font-family: var(--dp-font-body) !important;
  font-size: 0.85rem !important;
  color: var(--dp-text) !important;
}

/* ── Checkbox style site ── */
/* Label comme référence de positionnement pour le SVG coche */
.wc-block-components-checkbox {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.wc-block-components-checkbox__input {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  border: 1.5px solid var(--dp-border) !important;
  border-radius: 4px !important;
  background: #fff !important;
  cursor: pointer !important;
  position: relative !important;
  transition: border-color 0.2s, background 0.2s !important;
  outline: none !important;
  box-shadow: none !important;
  flex-shrink: 0 !important;
}
.wc-block-components-checkbox__input:hover {
  border-color: var(--dp-magenta) !important;
}
.wc-block-components-checkbox__input:checked {
  background: var(--dp-magenta) !important;
  border-color: var(--dp-magenta) !important;
}
/* Supprime le ::before bleu Emotion sur la checkbox */
.wc-block-components-checkbox__input::before {
  display: none !important;
  content: none !important;
  background: none !important;
  border: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
}
/* SVG coche — WC Blocks gère le positionnement, on surcharge uniquement la couleur */
.wc-block-components-checkbox__mark {
  fill: transparent !important;
  stroke: transparent !important;
  pointer-events: none !important;
  transition: fill 0.15s !important;
}
.wc-block-components-checkbox__input:checked ~ .wc-block-components-checkbox__mark {
  fill: #fff !important;
  stroke: none !important;
}
.wc-block-components-checkbox__input:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(224,165,152,0.2) !important;
}
/* ── Select Pays/Région : label entièrement géré par WooCommerce Blocks ── */

/* ── Tous les champs du checkout : inputs + selects (sélecteur large) ── */
.wc-block-checkout input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.wc-block-checkout select,
.wc-block-checkout textarea,
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-select__select,
.wc-block-components-country-input input,
.wc-block-components-state-input input {
  background: var(--dp-bg) !important;
  border: 1.5px solid var(--dp-border) !important;
  border-radius: var(--dp-radius) !important;
  color: var(--dp-text) !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.88rem !important;
  padding-top: 1.5rem !important;
  padding-bottom: 0.4rem !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  width: 100% !important;
  transition: border-color var(--dp-transition), box-shadow var(--dp-transition) !important;
}
.wc-block-checkout input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,
.wc-block-checkout select:focus,
.wc-block-checkout textarea:focus,
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wc-block-components-select__select:focus,
.wc-block-components-country-input input:focus {
  border-color: var(--dp-magenta) !important;
  box-shadow: 0 0 0 3px rgba(224,165,152,0.1) !important;
  outline: none !important;
}
.wc-block-components-select,
.wc-block-components-country-input,
.wc-block-components-state-input {
  width: 100% !important;
}
/* Select : même hauteur que les text-inputs */
.wc-block-checkout select,
.wc-block-components-select select,
.wc-block-components-select__select {
  min-height: 3.25rem !important;
  box-sizing: border-box !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
/* État valide (green check de Blocks) */
.wc-block-components-text-input.is-active input {
  border-color: var(--dp-magenta) !important;
}

/* ── Options de livraison ── */
/* La label EST le conteneur carte : input + option-layout sont ses enfants directs */
.wc-block-components-radio-control__option {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  border: 1.5px solid var(--dp-border) !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  margin-bottom: 8px !important;
  background: var(--dp-bg) !important;
  cursor: pointer !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.wc-block-components-radio-control__option:last-child {
  margin-bottom: 0 !important;
}
.wc-block-components-radio-control__option:hover {
  border-color: var(--dp-magenta) !important;
  box-shadow: 0 0 0 3px rgba(224,165,152,0.15) !important;
}
.wc-block-components-radio-control__option:has(input:checked),
.wc-block-components-radio-control__option-checked {
  border-color: var(--dp-magenta) !important;
  background: var(--dp-surface) !important;
  box-shadow: 0 0 0 3px rgba(224,165,152,0.15) !important;
}

/* Option-layout : prend le reste de la largeur, nom + prix côte à côte */
.wc-block-components-radio-control__option-layout {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex: 1 !important;
  gap: 8px !important;
  min-width: 0 !important;
}

/* Puce radio : style personnalisé — remise dans le flux flex */
/* ::after ne fonctionne pas sur <input> (void element) → dégradé radial pour le point */
.wc-block-components-radio-control__input {
  -webkit-appearance: none !important;
  appearance: none !important;
  position: static !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  flex-shrink: 0 !important;
  align-self: center !important;
  border: 2px solid var(--dp-border) !important;
  border-radius: 50% !important;
  background: #fff !important;
  margin: 0 !important;
  cursor: pointer !important;
  transition: border-color 0.2s, background 0.2s !important;
  outline: none !important;
  box-shadow: none !important;
}
.wc-block-components-radio-control__input:focus,
.wc-block-components-radio-control__input:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}
/* ::before de WooCommerce Blocks = le point bleu natif — supprimé */
.wc-block-components-radio-control__input::before,
#shipping-option .wc-block-components-radio-control__input::before,
.wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__input::before {
  display: none !important;
  content: none !important;
  background: none !important;
  border: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Supprime bordures + espaces du bloc livraison complet */
#shipping-option,
.wc-block-checkout__shipping-option,
fieldset#shipping-option,
.wc-block-components-shipping-rates-control,
.wc-block-components-shipping-rates-control__package {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Marge entre le bloc livraison et Options de paiement */
.wc-block-components-shipping-rates-control__package {
  margin-bottom: 16px !important;
}

/* Réduit l'espace entre le titre "Options de livraison" et le bloc calcul */
#shipping-option > legend,
.wc-block-checkout__shipping-option > legend,
fieldset#shipping-option > legend {
  margin-bottom: 6px !important;
  padding-bottom: 0 !important;
}
/* Supprime le titre masqué screen-reader-text qui crée de l'espace */
#shipping-option > legend.wc-block-components-checkout-step__heading,
.wc-block-components-shipping-rates-control__package > p,
.wc-block-components-shipping-rates-control__package > .wc-block-components-shipping-rates-control__package-name {
  display: none !important;
}
.wc-block-components-radio-control__input:hover {
  border-color: var(--dp-magenta) !important;
}
/* État coché : point central via dégradé radial */
.wc-block-components-radio-control__input:checked {
  border-color: var(--dp-magenta) !important;
  background: radial-gradient(circle, var(--dp-magenta) 38%, transparent 38%) !important;
}
/* Input natif parasite dans le label-group ou option-layout — masqué */
.wc-block-components-radio-control__label input,
.wc-block-components-radio-control__label-group input,
.wc-block-components-radio-control__option-layout input {
  display: none !important;
}
/* Forcer appearance:none avec spécificité maximale */
#shipping-option input[type="radio"].wc-block-components-radio-control__input,
#payment-method input[type="radio"].wc-block-components-radio-control__input {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: #fff !important;
  border: 2px solid var(--dp-border) !important;
  border-radius: 50% !important;
  outline: none !important;
  box-shadow: none !important;
}
#shipping-option input[type="radio"].wc-block-components-radio-control__input:checked,
#payment-method input[type="radio"].wc-block-components-radio-control__input:checked {
  border-color: var(--dp-magenta) !important;
  background: radial-gradient(circle, var(--dp-magenta) 38%, #fff 38%) !important;
}

/* Texte de l'option (nom + prix) aligné à côté de la puce */
.wc-block-components-radio-control__label-group {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex: 1 !important;
  gap: 8px !important;
}
.wc-block-components-radio-control__label {
  font-family: var(--dp-font-body) !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  color: var(--dp-text) !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}
/* "gratuit" centré horizontalement dans le label-group */
.wc-block-components-radio-control__secondary-label {
  font-family: var(--dp-font-body) !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: var(--dp-amber) !important;
  margin: 0 auto 0 0 !important;
  white-space: nowrap !important;
  text-align: center !important;
}
/* Prix/Gratuit aligné à droite dans les options de livraison */
.wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label {
  text-align: right !important;
  margin: 0 !important;
}
/* Quand l'option a un description-group (retrait en magasin) :
   grille 2 colonnes — [nom+description | GRATUIT centré] */
.wc-block-components-radio-control__option:has(.wc-block-components-radio-control__description-group)
  .wc-block-components-radio-control__input {
  align-self: flex-start !important;
  margin-top: 2px !important;
}
.wc-block-components-radio-control__option:has(.wc-block-components-radio-control__description-group)
  .wc-block-components-radio-control__option-layout {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  gap: 2px 0 !important;
}
/* display:contents "aplatit" label-group → ses enfants deviennent items de la grille */
.wc-block-components-radio-control__option:has(.wc-block-components-radio-control__description-group)
  .wc-block-components-radio-control__label-group {
  display: contents !important;
}
/* Nom : colonne 1, ligne 1 */
.wc-block-components-radio-control__option:has(.wc-block-components-radio-control__description-group)
  .wc-block-components-radio-control__label {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
/* GRATUIT : colonne 2, s'étend sur toutes les lignes, centré verticalement */
.wc-block-components-radio-control__option:has(.wc-block-components-radio-control__description-group)
  .wc-block-components-radio-control__secondary-label {
  grid-column: 2 !important;
  grid-row: 1 / -1 !important;
  align-self: center !important;
  text-align: center !important;
  padding-left: 16px !important;
  margin: 0 !important;
}
/* Description : colonne 1, ligne 2 */
.wc-block-components-radio-control__option:has(.wc-block-components-radio-control__description-group)
  .wc-block-components-radio-control__description-group {
  grid-column: 1 !important;
  grid-row: 2 !important;
}
/* Description (adresse + texte) sous le nom */
.wc-block-components-radio-control__description-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  width: 100% !important;
}
.wc-block-components-radio-control__description {
  font-family: var(--dp-font-body) !important;
  font-size: 0.78rem !important;
  color: var(--dp-text-muted) !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 4px !important;
}
.wc-block-components-radio-control__secondary-description {
  font-family: var(--dp-font-body) !important;
  font-size: 0.75rem !important;
  color: var(--dp-text-muted) !important;
  font-style: italic !important;
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
}
/* Icône téléphone dans secondary-description */
.wc-block-components-radio-control__secondary-description .dp-phone-icon {
  color: var(--dp-magenta) !important;
  flex-shrink: 0 !important;
}
/* Lien numéro de téléphone cliquable */
.dp-phone-link {
  color: var(--dp-magenta) !important;
  text-decoration: none !important;
  font-style: italic !important;
  font-weight: 500 !important;
}
.dp-phone-link:hover {
  text-decoration: underline !important;
}
/* Lien "Localiser" dans la description adresse */
.dp-localiser-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  margin-left: 8px !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.72rem !important;
  font-style: normal !important;
  color: var(--dp-magenta) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  opacity: 0.85 !important;
  transition: opacity 0.2s !important;
}
.dp-localiser-link:hover {
  opacity: 1 !important;
  text-decoration: underline !important;
}

/* Bordure basse du bloc retrait pour séparer du bloc adresse facturation */
.wp-block-woocommerce-checkout-pickup-options-block {
  border-bottom: 1px solid var(--dp-border) !important;
  padding-bottom: 20px !important;
  margin-bottom: 20px !important;
}

/* ── Méthodes de paiement (Blocks) ── */
.wc-block-components-payment-method-label {
  font-family: var(--dp-font-body) !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  color: var(--dp-text) !important;
}
.wc-block-components-payment-method-description {
  font-size: 0.78rem !important;
  color: var(--dp-text-muted) !important;
}

/* ── Options de paiement — style cohérent avec les options de livraison ── */

/* Chaque ligne d'option (carte enregistrée, nouveau moyen) */
#payment-method .wc-block-components-radio-control__option {
  border: 1.5px solid var(--dp-border) !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  margin-bottom: 8px !important;
  background: var(--dp-bg) !important;
  transition: border-color 0.2s, background 0.2s !important;
  cursor: pointer !important;
}
#payment-method .wc-block-components-radio-control__option:last-child {
  margin-bottom: 0 !important;
}
/* Option sélectionnée */
#payment-method .wc-block-components-radio-control__option:has(input:checked) {
  border-color: var(--dp-magenta) !important;
  background: var(--dp-surface) !important;
}
/* Survol */
#payment-method .wc-block-components-radio-control__option:hover {
  border-color: var(--dp-magenta) !important;
}
/* Layout interne : radio + label alignés horizontalement
   Structure réelle : <label.option> > <input> + <div.option-layout> */
label.wc-block-components-radio-control__option {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
}
label.wc-block-components-radio-control__option > input.wc-block-components-radio-control__input {
  position: static !important;
  float: none !important;
  flex-shrink: 0 !important;
  align-self: center !important;
  margin: 0 !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
}
label.wc-block-components-radio-control__option > .wc-block-components-radio-control__option-layout {
  flex: 1 !important;
  min-width: 0 !important;
}
/* Lien "Utiliser un autre moyen de paiement" */
.wc-block-components-payment-methods__save-card-use-new-payment-method-link,
#payment-method a {
  color: var(--dp-magenta) !important;
  font-size: 0.82rem !important;
  font-family: var(--dp-font-body) !important;
  text-decoration: none !important;
}
.wc-block-components-payment-methods__save-card-use-new-payment-method-link:hover,
#payment-method a:hover {
  text-decoration: underline !important;
}
/* Zone de description de la méthode sélectionnée (formulaire carte, etc.) */
#payment-method .wc-block-components-radio-control__description-group {
  margin-top: 10px !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--dp-border) !important;
}
/* Remplace l'outline bleue WooCommerce Blocks (--wp-admin-theme-color) par le magenta */
/* WC Blocks génère : outline: var(--wp-admin-theme-color) solid 2px sur cet élément */
:root {
  --wp-admin-theme-color: #E0A598;
  --wp-admin-theme-color-darker-10: #d4897a;
  --wp-admin-theme-color-darker-20: #c8736b;
}
.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  outline: 2px solid #E0A598 !important;
  outline-offset: 2px !important;
  border-color: #E0A598 !important;
  box-shadow: none !important;
}

/* ── Récapitulatif commande (colonne droite) ── */
.wp-block-woocommerce-checkout-order-summary-block {
  background: var(--dp-surface) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
.wc-block-components-order-summary__title,
.wc-block-checkout__sidebar .wc-block-components-panel__button {
  font-family: var(--dp-font-titre) !important;
  font-style: italic !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  color: var(--dp-text) !important;
  background: var(--dp-surface) !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--dp-border) !important;
}
.wc-block-components-order-summary__content {
  background: var(--dp-surface) !important;
  padding: 0 20px !important;
}
/* Lignes articles */
.wc-block-components-order-summary-item {
  border-bottom: 1px solid var(--dp-border) !important;
  padding: 12px 0 !important;
}
.wc-block-components-order-summary-item__description {
  font-family: var(--dp-font-body) !important;
  font-size: 0.82rem !important;
  color: var(--dp-text-muted) !important;
}
/* Badge quantité — couleur site au lieu du bleu natif WC Blocks */
.wc-block-components-order-summary-item__quantity {
  background: var(--dp-magenta) !important;
  color: #fff !important;
  border-color: var(--dp-magenta) !important;
}

/* Prix individuel et total — amber gras */
.wc-block-components-order-summary-item__individual-price,
.wc-block-components-order-summary-item__total-price,
.wc-block-components-product-price__value {
  color: var(--dp-amber) !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
}
/* Totaux (sous-total, livraison, total) — compact */
.wc-block-components-totals-wrapper {
  background: var(--dp-surface) !important;
  padding: 4px 16px 10px !important;
}
.wc-block-components-totals-item {
  padding: 5px 0 !important;
}
.wc-block-components-totals-item__label {
  font-family: var(--dp-font-body) !important;
  font-size: 0.78rem !important;
  color: var(--dp-text-muted) !important;
}
.wc-block-components-totals-item__value {
  font-family: var(--dp-font-body) !important;
  font-size: 0.78rem !important;
  color: var(--dp-text) !important;
}
/* Ligne Total — légèrement accentuée */
.wc-block-components-totals-footer-item {
  padding: 8px 0 4px !important;
  border-top: 1px solid var(--dp-border) !important;
  margin-top: 4px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  color: var(--dp-text) !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value .wc-block-formatted-money-amount {
  color: var(--dp-amber) !important;
  font-size: 1rem !important;
}

/* ── Code promo (Blocks) ── */
.wc-block-components-totals-coupon__form input {
  background: var(--dp-bg) !important;
  border: 1.5px solid var(--dp-border) !important;
  border-radius: var(--dp-radius) !important;
  color: var(--dp-text) !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.85rem !important;
  padding: 10px 14px !important;
}
.wc-block-components-totals-coupon__form input:focus {
  border-color: var(--dp-magenta) !important;
  box-shadow: 0 0 0 3px rgba(224,165,152,0.1) !important;
  outline: none !important;
}
.wc-block-components-totals-coupon__button {
  background: var(--dp-surface) !important;
  border: 1.5px solid var(--dp-border) !important;
  border-radius: var(--dp-radius) !important;
  color: var(--dp-text) !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  padding: 10px 16px !important;
  transition: border-color 0.2s, color 0.2s !important;
}
.wc-block-components-totals-coupon__button:hover {
  border-color: var(--dp-magenta) !important;
  color: var(--dp-magenta) !important;
}

/* ── CGV (texte sous le bouton) ── */
.wc-block-checkout__terms {
  font-family: var(--dp-font-body) !important;
  font-size: 0.78rem !important;
  color: var(--dp-text-muted) !important;
  line-height: 1.55 !important;
}
.wc-block-checkout__terms a {
  color: var(--dp-magenta) !important;
}

/* ── Bouton "Commander" ── */
.wc-block-components-checkout-place-order-button {
  background: var(--dp-magenta) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  padding: 14px 36px !important;
  width: auto !important;
  min-width: 200px !important;
  min-height: 48px !important;
  cursor: pointer !important;
  transition: background 0.18s ease, box-shadow 0.18s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-checkout-place-order-button:focus {
  background: var(--dp-magenta-dark) !important;
  box-shadow: 0 4px 16px rgba(224,165,152,0.25) !important;
  opacity: 1 !important;
}

/* ── Panier vide (WC Blocks) ── */
.wp-block-woocommerce-empty-cart-block {
  text-align: center !important;
  padding: 20px 0 40px !important;
}

.wc-block-cart__empty-cart__title {
  font-family: var(--dp-font-titre) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: 1.6rem !important;
  color: var(--dp-text) !important;
}

/* Icône panier vide */
.wp-block-woocommerce-empty-cart-block svg,
.wc-block-cart__empty-cart__title svg {
  color: var(--dp-magenta) !important;
  fill: var(--dp-magenta) !important;
}

/* Titre "New in store" / "Nouveautés" */
.wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title) {
  font-family: var(--dp-font-titre) !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: 1.4rem !important;
  color: var(--dp-text-muted) !important;
  margin: 32px 0 20px !important;
}

/* Séparateur */
.wp-block-woocommerce-empty-cart-block hr {
  border-color: var(--dp-border) !important;
  margin: 24px auto !important;
  max-width: 120px !important;
}

/* ── Grille "Nouveautés" panier vide ── */

/* Carte : flex colonne */
.wc-block-grid__product {
  display: flex !important;
  flex-direction: column !important;
  background: var(--dp-blanc) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  transition: transform var(--dp-transition), box-shadow var(--dp-transition) !important;
}

.wc-block-grid__product:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(44, 31, 18, 0.14) !important;
}

/* Lien image+titre : prend toute la hauteur disponible */
.wc-block-grid__product-link {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  text-decoration: none !important;
}

/* Image carrée */
.wc-block-grid__product-image {
  overflow: hidden !important;
  flex-shrink: 0 !important;
}

.wc-block-grid__product-image img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.45s ease !important;
}

.wc-block-grid__product:hover .wc-block-grid__product-image img {
  transform: scale(1.07) !important;
}

/* Titre */
.wc-block-grid__product-title {
  font-family: var(--dp-font-body) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--dp-text) !important;
  line-height: 1.4 !important;
  padding: 10px 12px 6px !important;
  flex: 1 !important;
}

/* Prix */
.wc-block-grid__product-price {
  padding: 0 12px 8px !important;
}

.wc-block-grid__product-price,
.wc-block-grid__product-price .woocommerce-Price-amount {
  font-family: var(--dp-font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--dp-amber) !important;
}

/* Bouton */
.wc-block-grid__product-add-to-cart {
  padding: 0 12px 12px !important;
}

.wc-block-grid__product .wp-block-button__link,
.wc-block-grid__product .add_to_cart_button {
  background: var(--dp-magenta) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  font-family: var(--dp-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  width: 100% !important;
  text-align: center !important;
  padding: 10px !important;
  display: block !important;
  transition: background var(--dp-transition) !important;
}

.wc-block-grid__product .wp-block-button__link:hover,
.wc-block-grid__product .add_to_cart_button:hover {
  background: var(--dp-magenta-dark) !important;
}

/* ── Responsive Blocks ── */
@media (max-width: 768px) {
  .wp-block-woocommerce-checkout-contact-information-block,
  .wp-block-woocommerce-checkout-shipping-address-block,
  .wp-block-woocommerce-checkout-billing-address-block,
  .wp-block-woocommerce-checkout-shipping-method-block,
  .wp-block-woocommerce-checkout-payment-block {
    padding: 16px 18px !important;
  }
  .wp-block-woocommerce-checkout-order-summary-block {
    margin-top: 24px !important;
  }
}

/* ============================================================
   RESPONSIVE GLOBAL — audit complet
   Breakpoints : 1200 / 1024 / 768 / 480 / 380
   ============================================================ */

/* ── 1200px : grands tablettes / petits laptops ── */
@media (max-width: 1200px) {
  /* Logo */
  .ct-logo img,
  .site-logo img {
    max-height: 110px !important;
    height: 110px !important;
  }
}

/* ── 1024px : tablettes paysage ── */
@media (max-width: 1024px) {
  /* Logo */
  .ct-logo img,
  .site-logo img {
    max-height: 90px !important;
    height: 90px !important;
  }

  /* Catalogue : 3 colonnes */
  .woocommerce ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* ── 768px : tablettes portrait & mobile paysage ── */
@media (max-width: 768px) {

  /* — Logo — */
  .ct-logo img,
  .site-logo img {
    max-height: 70px !important;
    height: 70px !important;
  }

  /* — Catalogue : 2 colonnes — */
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }

  /* — Footer : empilement vertical — */
  .dp-footer-cols {
    flex-direction: column !important;
    gap: 12px !important;
    align-items: center !important;
    text-align: center !important;
  }
  .dp-social-links {
    justify-content: center !important;
  }
  .dp-footer-links {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 6px 10px !important;
  }

  /* — Side cart — */
  .xoo-wsc-ft-btns {
    flex-direction: column !important;
    gap: 8px !important;
  }
  .xoo-wsc-ft-btn-checkout,
  .xoo-wsc-ft-btn-cart,
  .xoo-wsc-ft-btn-continue {
    width: 100% !important;
    text-align: center !important;
  }

  /* — My Account — */
  .woocommerce-MyAccount-content .woocommerce-Addresses {
    grid-template-columns: 1fr !important;
  }
  .woocommerce-MyAccount-content .woocommerce-Address {
    margin-bottom: 20px !important;
  }

  /* — Checkout Blocks : réduire padding des cartes — */
  .wp-block-woocommerce-checkout-contact-information-block,
  .wp-block-woocommerce-checkout-billing-address-block,
  .wp-block-woocommerce-checkout-payment-block {
    padding: 16px !important;
  }

  /* — Bouton Commander : pleine largeur sur mobile — */
  .wc-block-components-checkout-place-order-button {
    width: 100% !important;
    min-width: unset !important;
  }

  /* — Mini-cart popup mobile/tablette — */
  .ct-cart-content {
    position: fixed !important;
    top: 80px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    border-radius: 0 0 12px 12px !important;
    box-shadow: 0 8px 24px rgba(44,31,18,0.18) !important;
    z-index: 99999 !important;
    max-height: calc(100vh - 90px) !important;
    overflow-y: auto !important;
  }

  /* — Confirmation commande — */
  .woocommerce-order-overview {
    flex-direction: column !important;
    gap: 0 !important;
  }
  .woocommerce-order-overview li {
    border-right: none !important;
    border-bottom: 1px solid var(--dp-border) !important;
  }
  .woocommerce-order-overview li:last-child {
    border-bottom: none !important;
  }

  /* — Page Contact — */
  .dp-contact-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  /* — Titres H1 — */
  .entry-title,
  .page-title,
  h1 {
    font-size: clamp(1.6rem, 5vw, 2.4rem) !important;
  }
}

/* ── 480px : mobiles portrait ── */
@media (max-width: 480px) {

  /* — Logo — */
  .ct-logo img,
  .site-logo img {
    max-height: 55px !important;
    height: 55px !important;
  }

  /* — Catalogue : 2 colonnes compactes — */
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  ul.products li.product .woocommerce-loop-product__title,
  ul.products li.product h2 {
    font-size: 12px !important;
    padding: 8px 8px 4px !important;
  }
  ul.products li.product .price {
    font-size: 12px !important;
    padding: 0 8px 8px !important;
  }
  ul.products li.product .meta-categories a {
    font-size: 0.65rem !important;
  }
  ul.products li.product .meta-categories {
    padding: 3px 8px 0 !important;
  }

  /* — Boutons add-to-cart — */
  ul.products li.product .button {
    font-size: 0.7rem !important;
    padding: 7px 10px !important;
  }

  /* — Footer — */
  .dp-footer-cols {
    padding: 16px 12px !important;
    gap: 10px !important;
  }
  .dp-social-link {
    width: 36px !important;
    height: 36px !important;
  }
  .dp-footer-links a,
  .dp-footer-sep {
    font-size: 0.72rem !important;
  }
  .dp-footer-copy {
    font-size: 0.72rem !important;
  }

  /* — My Account — */
  .ct-acount-nav li a {
    padding: 10px 14px !important;
    font-size: 0.82rem !important;
  }
  .woocommerce-MyAccount-content {
    padding: 16px !important;
  }

  /* — Checkout — */
  .wp-block-woocommerce-checkout-contact-information-block,
  .wp-block-woocommerce-checkout-billing-address-block,
  .wp-block-woocommerce-checkout-payment-block {
    padding: 14px 12px !important;
    border-radius: 8px !important;
  }

  /* — Mini-cart popup : fixé sous le header, pleine largeur — */
  .ct-cart-content {
    position: fixed !important;
    top: 70px !important;        /* hauteur approximative du header mobile */
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    border-radius: 0 0 12px 12px !important;
    box-shadow: 0 8px 24px rgba(44,31,18,0.18) !important;
    z-index: 99999 !important;
    overflow-y: auto !important;
    max-height: calc(100vh - 80px) !important;
  }
}

/* ── 380px : très petits mobiles (iPhone SE, etc.) ── */
@media (max-width: 380px) {
  .ct-logo img,
  .site-logo img {
    max-height: 48px !important;
    height: 48px !important;
  }

  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }

  .xoo-wsc-container {
    width: 100vw !important;
  }
}

/* ============================================================
   FOOTER PERSONNALISÉ — dp-footer
   ============================================================ */

/* Masque le footer builder Blocksy */
footer#footer.ct-footer {
  display: none !important;
}

.dp-footer {
  background: var(--dp-footer-bg);
  color: var(--dp-footer-text);
  font-family: var(--dp-font-body);
  display: flex;
  flex-direction: column;
}

/* Grille 4 colonnes */
.dp-footer-cols {
  display: grid;
  grid-template-columns: 1.4fr 1.2fr 1fr 1fr;
  gap: 48px;
  padding: 56px 0 40px;
  align-items: start;
}

/* Logo */
.dp-footer-col--logo {
  align-self: start !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
}
.dp-footer-col--logo .custom-logo-link {
  display: block;
  line-height: 0;
}
.dp-footer-col--logo .custom-logo-link img {
  max-height: 240px;
  width: auto;
  display: block;
  margin-top: -54px;
}
.dp-footer-sitename {
  font-family: var(--dp-font-titre);
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--dp-footer-text);
}

/* Titres de section */
.dp-footer-heading {
  font-family: var(--dp-font-titre);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--dp-footer-text);
  margin: 0 0 18px;
  opacity: 0.55;
}

/* Liste coordonnées */
.dp-footer-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 0.88rem;
  line-height: 1.4;
  color: var(--dp-footer-text);
  opacity: 0.85;
}
.dp-footer-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.dp-footer-icon {
  flex-shrink: 0;
  margin-top: 2px;
  opacity: 0.7;
  color: var(--dp-magenta);
}
.dp-footer-list a {
  color: inherit !important;
  text-decoration: none !important;
}
.dp-footer-list a:hover {
  color: var(--dp-magenta) !important;
}

/* Menu vertical */
.dp-footer-nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.dp-footer-nav li a {
  display: block;
  font-size: 0.88rem;
  color: var(--dp-footer-text) !important;
  text-decoration: none !important;
  text-transform: lowercase !important;
  opacity: 0.85;
  transition: color 0.18s ease, opacity 0.18s ease;
}
.dp-footer-nav li a::first-letter {
  text-transform: uppercase !important;
}
.dp-footer-nav li a:hover {
  color: var(--dp-magenta) !important;
  opacity: 1;
}

/* Réseaux sociaux */
.dp-footer-social {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.dp-footer-social-link {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--dp-footer-text) !important;
  text-decoration: none !important;
  opacity: 0.85;
  transition: color 0.18s ease, opacity 0.18s ease;
}
.dp-footer-social-link:hover {
  color: var(--dp-magenta) !important;
  opacity: 1;
}

/* Barre de bas de page */
.dp-footer-bottom {
  border-top: 1px solid rgba(0,0,0,0.10);
  margin-top: 8px;
}
.dp-footer-bottom .ct-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding-top: 24px;
  padding-bottom: 24px;
  text-align: center;
}
.dp-footer-bottom p {
  margin: 0;
  font-size: 0.78rem;
  color: var(--dp-footer-text);
  opacity: 0.5;
  width: 100%;
}
.dp-footer-legal {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
  font-size: 0.78rem;
  color: var(--dp-footer-text);
  opacity: 0.5;
  width: 100%;
}
.dp-footer-legal a {
  color: var(--dp-footer-text) !important;
  text-decoration: none !important;
  transition: opacity 0.18s ease;
  white-space: nowrap;
}
.dp-footer-legal a:hover {
  opacity: 1;
  text-decoration: underline !important;
}
.dp-footer-legal .dp-footer-sep {
  margin: 0 8px;
  opacity: 0.4;
  pointer-events: none;
  user-select: none;
}

/* ============================================================
   MENU MOBILE — #offcanvas
   ============================================================ */
#offcanvas {
  --theme-palette-color-8: var(--dp-bg) !important;
  background: var(--dp-header-bg) !important;
}

/* Fond du panneau */
#offcanvas .ct-panel-inner {
  background: var(--dp-header-bg) !important;
}

/* Texte et liens */
#offcanvas,
#offcanvas .ct-menu-link,
#offcanvas .menu-item a,
#offcanvas nav a {
  color: var(--dp-text) !important;
}

/* Liens hover */
#offcanvas .ct-menu-link:hover,
#offcanvas .menu-item a:hover,
#offcanvas nav a:hover {
  color: var(--dp-magenta) !important;
}

/* ── Séparateur dans le menu hamburger ── */
#offcanvas li.dp-mobile-sep {
  border: none !important;
  background: none !important;
  padding: 4px 0 !important;
  margin: 4px 0 !important;
}
#offcanvas li.dp-mobile-sep::after {
  content: '';
  display: block;
  height: 1px;
  background: var(--dp-border);
}

/* ── PROFIL & PANIER — liens communs ── */
#offcanvas .dp-mobile-account-link,
#offcanvas .dp-mobile-cart-link {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
#offcanvas .dp-mobile-account-link svg,
#offcanvas .dp-mobile-cart-link svg {
  flex-shrink: 0;
}
#offcanvas .dp-mobile-account-link span,
#offcanvas .dp-mobile-cart-link span {
  font-weight: 500;
  letter-spacing: 0.04em;
}

/* ── Icône panier + badge ── */
#offcanvas .dp-mobile-cart-icon {
  position: relative;
  display: flex;
  align-items: center;
}
#offcanvas .dp-mobile-cart-badge {
  position: absolute;
  top: -6px;
  right: -8px;
  background: var(--dp-magenta);
  color: #fff;
  font-size: 0.62rem;
  font-weight: 700;
  min-width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 3px;
  line-height: 1;
  letter-spacing: 0;
}

/* ── Prix panier ── */
#offcanvas .dp-mobile-cart-total {
  margin-left: auto;
  font-weight: 600;
  color: var(--dp-magenta) !important;
  font-size: 0.9rem;
  letter-spacing: 0;
}

/* ── Mini-cart dans le menu hamburger ── */
#offcanvas .dp-mobile-minicart-wrapper {
  padding: 0 !important;
  border: none !important;
  background: none !important;
}
#offcanvas .dp-mobile-minicart {
  padding: 8px 0 4px;
}

/* Liste produits */
#offcanvas .dp-mobile-minicart .woocommerce-mini-cart {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#offcanvas .dp-mobile-minicart .woocommerce-mini-cart-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid var(--dp-border) !important;
  background: none !important;
}
#offcanvas .dp-mobile-minicart .woocommerce-mini-cart-item img {
  width: 52px !important;
  height: 52px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  flex-shrink: 0;
}
#offcanvas .dp-mobile-minicart .woocommerce-mini-cart-item a:not(.remove_from_cart_button) {
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: var(--dp-text) !important;
  text-decoration: none !important;
  flex: 1;
  display: block;
}
#offcanvas .dp-mobile-minicart .quantity {
  font-size: 0.78rem !important;
  color: var(--dp-gris-moyen) !important;
  white-space: nowrap;
}
#offcanvas .dp-mobile-minicart .woocommerce-Price-amount {
  color: var(--dp-magenta) !important;
  font-weight: 600 !important;
}
/* Bouton supprimer */
#offcanvas .dp-mobile-minicart .remove_from_cart_button {
  color: var(--dp-gris-moyen) !important;
  font-size: 1rem !important;
  text-decoration: none !important;
  flex-shrink: 0;
  line-height: 1;
  /* Zone de clic agrandie */
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50%;
  transition: background 0.15s, color 0.15s !important;
}
#offcanvas .dp-mobile-minicart .remove_from_cart_button:hover {
  color: var(--dp-magenta) !important;
  background: rgba(208, 54, 120, 0.08) !important;
}

/* Total */
#offcanvas .dp-mobile-minicart .woocommerce-mini-cart__total {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 10px 0 4px !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  border: none !important;
  background: none !important;
}
#offcanvas .dp-mobile-minicart .woocommerce-mini-cart__total .woocommerce-Price-amount {
  font-size: 0.95rem !important;
}
/* Boutons Voir le panier & Commander */
#offcanvas .dp-mobile-minicart .woocommerce-mini-cart__buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 10px 0 0 !important;
}
#offcanvas .dp-mobile-minicart .woocommerce-mini-cart__buttons .button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  padding: 10px 16px !important;
  border-radius: 6px !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: opacity 0.15s !important;
}
/* "Voir le panier" — contour magenta */
#offcanvas .dp-mobile-minicart .woocommerce-mini-cart__buttons .button.wc-forward {
  background: transparent !important;
  color: var(--dp-magenta) !important;
  border: 1.5px solid var(--dp-magenta) !important;
}
#offcanvas .dp-mobile-minicart .woocommerce-mini-cart__buttons .button.wc-forward:hover {
  opacity: 0.75 !important;
}
/* "Commander" — plein magenta */
#offcanvas .dp-mobile-minicart .woocommerce-mini-cart__buttons .button.checkout {
  background: var(--dp-magenta) !important;
  color: #fff !important;
  border: 1.5px solid var(--dp-magenta) !important;
}
#offcanvas .dp-mobile-minicart .woocommerce-mini-cart__buttons .button.checkout:hover {
  opacity: 0.85 !important;
}

/* Espace vide en bas pour ne pas être masqué par le bouton xoo-wsc */
#offcanvas .dp-mobile-minicart-wrapper {
  padding-bottom: 80px !important;
}

/* Icône fermeture (×) */
#offcanvas .ct-panel-actions svg,
#offcanvas .ct-toggle-close svg {
  color: var(--dp-text) !important;
  fill: var(--dp-text) !important;
}

/* Séparateurs entre items */
#offcanvas .ct-menu > li {
  border-color: var(--dp-border) !important;
}

/* Sous-menus */
#offcanvas .sub-menu {
  background: var(--dp-surface) !important;
}
#offcanvas .sub-menu a {
  color: var(--dp-text-muted) !important;
}
#offcanvas .sub-menu a:hover {
  color: var(--dp-magenta) !important;
}

/* ============================================================
   YITH WISHLIST — Page & boutons
   ============================================================ */

/* ── Tableau principal ── */
/* ═══════════════════════════════════════
   WISHLIST — Ma liste d'envies
   ═══════════════════════════════════════ */

.wishlist_table.shop_table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-family: var(--dp-font-body) !important;
  background: var(--dp-bg) !important;
  border: none !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

/* En-têtes — tous uniformes */
.wishlist_table thead th,
#yith-wcwl-form > table > thead > tr > th.product-name,
#yith-wcwl-form > table > thead > tr > th.product-price {
  background: transparent !important;
  color: var(--dp-text-muted) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 10px 16px !important;
  border-bottom: 2px solid var(--dp-border) !important;
  font-family: var(--dp-font-body) !important;
}

/* Lignes produits */
.wishlist_table tbody tr,
#yith-wcwl-form > table > tbody > tr {
  border-bottom: 1px solid var(--dp-border) !important;
  background: var(--dp-bg) !important;
  transition: background 0.18s ease !important;
}
.wishlist_table tbody tr:last-child,
#yith-wcwl-form > table > tbody > tr:last-child {
  border-bottom: none !important;
}
.wishlist_table tbody tr:hover,
#yith-wcwl-form > table > tbody > tr:hover {
  background: var(--dp-surface) !important;
}
.wishlist_table td,
#yith-wcwl-form > table > tbody > tr > td {
  padding: 18px 16px !important;
  vertical-align: middle !important;
  color: var(--dp-text) !important;
  background: transparent !important;
  background-color: transparent !important;
}
#yith-wcwl-form > table {
  background: var(--dp-bg) !important;
}
#yith-wcwl-form > table > tbody {
  background: transparent !important;
}

/* Miniature produit */
.wishlist_table .product-thumbnail img {
  width: 72px !important;
  height: 72px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  display: block !important;
}

/* Nom produit */
.wishlist_table .product-name a {
  font-weight: 600 !important;
  color: var(--dp-text) !important;
  text-decoration: none !important;
  font-size: 0.95rem !important;
}
.wishlist_table .product-name a:hover {
  color: var(--dp-magenta) !important;
}

/* Prix */
.wishlist_table .product-price {
  font-weight: 600 !important;
  color: var(--dp-magenta) !important;
  white-space: nowrap !important;
}
.wishlist_table .product-price .woocommerce-Price-amount {
  color: var(--dp-magenta) !important;
}

/* Bouton supprimer (×) */
.wishlist_table .product-remove a.remove {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: var(--dp-text-muted) !important;
  font-size: 1rem !important;
  text-decoration: none !important;
  border: 1px solid var(--dp-border) !important;
  transition: background 0.18s, color 0.18s, border-color 0.18s !important;
}
.wishlist_table .product-remove a.remove:hover {
  background: #fee2e2 !important;
  color: #dc2626 !important;
  border-color: #fca5a5 !important;
}

/* Stock dispo / indispo */
.wishlist_table .wishlist-in-stock {
  color: #5a9e72 !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
}
.wishlist_table .wishlist-out-of-stock {
  color: #b85c5c !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
}

/* Cellule bouton add-to-cart dans la wishlist */
#yith-wcwl-form > table > tbody td.product-add-to-cart {
  vertical-align: middle !important;
  text-align: right !important;
  padding: 12px 16px !important;
  white-space: nowrap !important;
}
#yith-wcwl-form > table > tbody td.product-add-to-cart .button,
#yith-wcwl-form > table > tbody td.product-add-to-cart a.button,
#yith-wcwl-form > table > tbody td.product-add-to-cart .add_to_cart_button,
#yith-wcwl-form > table > tbody td.product-add-to-cart .single_add_to_cart_button {
  display: inline-block !important;
  background: var(--dp-magenta) !important;
  color: #fff !important;
  border: 2px solid var(--dp-magenta) !important;
  border-radius: 4px !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 8px 16px !important;
  transition: background 0.2s ease, color 0.2s ease !important;
  white-space: nowrap !important;
}
#yith-wcwl-form > table > tbody td.product-add-to-cart .button:hover,
#yith-wcwl-form > table > tbody td.product-add-to-cart a.button:hover,
#yith-wcwl-form > table > tbody td.product-add-to-cart > a:hover {
  background: transparent !important;
  color: var(--dp-magenta) !important;
  border-color: var(--dp-magenta) !important;
}

/* Date d'ajout */
.wishlist_table .wishlist-dateadded,
.wishlist_table td.wishlist-dateadded {
  font-size: 0.78rem !important;
  color: var(--dp-text-muted) !important;
  white-space: nowrap !important;
}

/* Liste vide */
.wishlist_table .wishlist-empty {
  text-align: center !important;
  padding: 48px 16px !important;
  color: var(--dp-text-muted) !important;
  font-style: italic !important;
}

/* Titre de la wishlist — masqué */
#yith-wcwl-form > div.wishlist-title-container {
  display: none !important;
}

/* Footer wishlist (Partager sur…) */
.yith_wcwl_wishlist_footer {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-top: 24px !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--dp-border) !important;
  font-size: 0.82rem !important;
  color: var(--dp-text-muted) !important;
}
.yith_wcwl_wishlist_footer input[type="submit"],
.yith_wcwl_wishlist_footer .button {
  font-size: 0.8rem !important;
}

/* ── Icônes de partage YITH Wishlist ── */
.yith-wcwl-share h4.yith-wcwl-share-title {
  font-family: var(--dp-font-body) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: var(--dp-text-muted) !important;
  text-transform: none !important;
  margin-bottom: 10px !important;
}
.yith-wcwl-share ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
.yith-wcwl-share ul li.share-button {
  margin: 0 !important;
  list-style: none !important;
}
.yith-wcwl-share ul li.share-button::marker {
  display: none !important;
  content: '' !important;
}
.yith-wcwl-share ul li.share-button a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 8px !important;
  background: var(--dp-surface) !important;
  color: var(--dp-text-muted) !important;
  border: 1px solid var(--dp-border) !important;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease !important;
  text-decoration: none !important;
}
.yith-wcwl-share ul li.share-button a:hover {
  background: var(--dp-magenta) !important;
  color: #fff !important;
  border-color: var(--dp-magenta) !important;
}
.yith-wcwl-share ul li.share-button a svg {
  width: 14px !important;
  height: 14px !important;
  fill: currentColor !important;
}
.yith_wcwl_wishlist_footer [class*="ssk-"]:hover {
  background-color: var(--dp-magenta) !important;
  color: #fff !important;
  border-color: var(--dp-magenta) !important;
}

/* ── Boutons cœur "Ajouter à la liste d'envies" ── */
.yith-wcwl-add-to-wishlist .add_to_wishlist,
.yith-wcwl-add-to-wishlist a {
  font-family: var(--dp-font-body) !important;
  font-size: 0.78rem !important;
  color: var(--dp-text-muted) !important;
  text-decoration: none !important;
  transition: color 0.18s ease !important;
}
.yith-wcwl-add-to-wishlist .add_to_wishlist:hover,
.yith-wcwl-add-to-wishlist a:hover {
  color: var(--dp-magenta) !important;
}

/* Lien "Voir la liste d'envies" après ajout */
.yith-wcwl-add-to-wishlist .yith-wcwl-wishlistadded-text a,
.yith-wcwl-add-to-wishlist .feedback a {
  color: var(--dp-magenta) !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

/* ══════════════════════════════════════════════
   WISHLIST MOBILE — template ul.wishlist_table.mobile
   ══════════════════════════════════════════════ */

/* Conteneur liste */
ul.wishlist_table.mobile,
#yith-wcwl-form > ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--dp-surface) !important;
}

/* Carte par article */
ul.wishlist_table.mobile > li,
li[id^="yith-wcwl-row-"] {
  list-style: none !important;
  background: var(--dp-bg) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 10px !important;
  margin-bottom: 12px !important;
  padding: 14px !important;
  overflow: hidden !important;
}
ul.wishlist_table.mobile > li::marker,
li[id^="yith-wcwl-row-"]::marker { content: '' !important; }

/* Fond uniforme sur tous les enfants — mobile */
li[id^="yith-wcwl-row-"] *,
li[id^="yith-wcwl-row-"] > div,
li[id^="yith-wcwl-row-"] .item-wrapper,
li[id^="yith-wcwl-row-"] .item-details,
li[id^="yith-wcwl-row-"] .product-thumbnail,
li[id^="yith-wcwl-row-"] .product-name,
li[id^="yith-wcwl-row-"] .product-remove,
li[id^="yith-wcwl-row-"] .additional-info-wrapper,
li[id^="yith-wcwl-row-"] .product-add-to-cart,
li[id^="yith-wcwl-row-"] > div.item-wrapper > div.item-details > table,
li[id^="yith-wcwl-row-"] > div.item-wrapper > div.item-details > table tr,
li[id^="yith-wcwl-row-"] > div.item-wrapper > div.item-details > table td,
li[id^="yith-wcwl-row-"] > div.additional-info-wrapper > table,
li[id^="yith-wcwl-row-"] > div.additional-info-wrapper > table tr,
li[id^="yith-wcwl-row-"] > div.additional-info-wrapper > table td {
  background: transparent !important;
  background-color: transparent !important;
}

/* Ligne haut : miniature + détails */
ul.wishlist_table.mobile .item-wrapper {
  display: flex !important;
  gap: 14px !important;
  align-items: flex-start !important;
}

/* Miniature */
ul.wishlist_table.mobile .product-thumbnail {
  flex: 0 0 72px !important;
}
ul.wishlist_table.mobile .product-thumbnail img {
  width: 72px !important;
  height: 72px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  display: block !important;
}

/* Détails texte */
ul.wishlist_table.mobile .item-details {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

/* Nom du produit */
ul.wishlist_table.mobile .product-name h3 {
  margin: 0 0 6px !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  font-family: var(--dp-font-body) !important;
  line-height: 1.3 !important;
}
ul.wishlist_table.mobile .product-name h3 a {
  color: var(--dp-text) !important;
  text-decoration: none !important;
}
ul.wishlist_table.mobile .product-name h3 a:hover {
  color: var(--dp-magenta) !important;
}

/* Tableau interne date / prix */
ul.wishlist_table.mobile .item-details-table {
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
ul.wishlist_table.mobile .item-details-table td {
  border: none !important;
  padding: 2px 6px 2px 0 !important;
  vertical-align: middle !important;
  font-size: 0.8rem !important;
}
ul.wishlist_table.mobile .item-details-table td.label {
  color: var(--dp-text-muted) !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  width: auto !important;
}
ul.wishlist_table.mobile .item-details-table td.value {
  color: var(--dp-magenta) !important;
  font-weight: 600 !important;
}
/* Masquer la ligne date sur mobile */
ul.wishlist_table.mobile .item-details-table tr:first-child {
  display: none !important;
}

/* Partie inférieure : stock + bouton + supprimer */
ul.wishlist_table.mobile .additional-info-wrapper {
  margin-top: 10px !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--dp-border) !important;
}

/* Tableau stock */
ul.wishlist_table.mobile table.additional-info {
  border: none !important;
  margin-bottom: 10px !important;
  width: 100% !important;
}
ul.wishlist_table.mobile table.additional-info td {
  border: none !important;
  padding: 2px 6px 2px 0 !important;
  font-size: 0.8rem !important;
}
ul.wishlist_table.mobile table.additional-info td.label {
  color: var(--dp-text-muted) !important;
  font-weight: 600 !important;
  width: auto !important;
}
ul.wishlist_table.mobile .wishlist-in-stock {
  color: #5a9e72 !important;
  font-weight: 500 !important;
}
ul.wishlist_table.mobile .wishlist-out-of-stock {
  color: #b85c5c !important;
  font-weight: 500 !important;
}

/* Bouton ajouter au panier — pleine largeur */
ul.wishlist_table.mobile .product-add-to-cart {
  margin-bottom: 8px !important;
}
ul.wishlist_table.mobile .product-add-to-cart .button,
ul.wishlist_table.mobile .product-add-to-cart > a,
ul.wishlist_table.mobile .product-add-to-cart a.button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  background: var(--dp-magenta) !important;
  color: #fff !important;
  border: 2px solid var(--dp-magenta) !important;
  border-radius: 4px !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 10px 16px !important;
  box-sizing: border-box !important;
  transition: background 0.2s, color 0.2s !important;
}
ul.wishlist_table.mobile .product-add-to-cart .button:hover,
ul.wishlist_table.mobile .product-add-to-cart > a:hover,
ul.wishlist_table.mobile .product-add-to-cart a.button:hover {
  background: transparent !important;
  color: var(--dp-magenta) !important;
}

/* Bouton supprimer */
ul.wishlist_table.mobile .product-remove {
  text-align: right !important;
  margin-top: 4px !important;
}
ul.wishlist_table.mobile .product-remove a {
  font-size: 0.75rem !important;
  color: var(--dp-text-muted) !important;
  text-decoration: none !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 4px !important;
  padding: 3px 10px !important;
  display: inline-block !important;
  transition: color 0.18s, border-color 0.18s !important;
}
ul.wishlist_table.mobile .product-remove a:hover {
  color: #dc2626 !important;
  border-color: #fca5a5 !important;
}
ul.wishlist_table.mobile .product-remove a i.fa-trash::before {
  content: 'Supprimer' !important;
  font-family: var(--dp-font-body) !important;
  font-style: normal !important;
  font-size: 0.75rem !important;
}

/* ── Responsive footer ── */
@media (max-width: 960px) {
  .dp-footer-cols {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }
}
@media (max-width: 600px) {
  .dp-footer-cols {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 40px 0 28px;
    text-align: center;
  }

  /* Logo centré */
  .dp-footer-col--logo {
    align-items: center !important;
  }
  .dp-footer-col--logo .custom-logo-link img {
    margin-left: auto;
    margin-right: auto;
  }

  /* Séparateurs entre colonnes (sauf le logo) */
  .dp-footer-col:not(.dp-footer-col--logo) {
    border-top: 1px solid var(--dp-border);
    padding-top: 24px;
  }

  /* Coordonnées : centré */
  .dp-footer-item {
    justify-content: center;
  }

  /* Menu navigation : centré */
  .dp-footer-nav {
    align-items: center;
  }

  /* Réseaux sociaux : icônes centrées sur la même ligne */
  .dp-footer-social {
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }

  /* Barre de bas centrée (déjà centrée, renforcement) */
  .dp-footer-bottom .ct-container {
    align-items: center;
  }
  .dp-footer-legal {
    justify-content: center;
  }
}

/* ── Page confirmation commande — icône ::before + texte alignés ── */
.woocommerce-notice--success.woocommerce-thankyou-order-received {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  position: static !important;
}
.woocommerce-notice--success.woocommerce-thankyou-order-received::before {
  position: static !important;
  flex-shrink: 0 !important;
  align-self: center !important;
  margin: 0 !important;
  top: auto !important;
  left: auto !important;
}

/* ============================================================
   CHECKOUT CLASSIQUE — #order_review : enfants & carte cadeau
   ============================================================ */

/* Padding interne du bloc récapitulatif */
#order_review,
.woocommerce-checkout-review-order {
  padding: 0 !important;       /* le padding est géré par les zones internes */
  overflow: hidden !important; /* pour que border-radius couvre tout */
}

/* Table récapitulative — pas de padding sur <table>, c'est sur les <td> */
#order_review .woocommerce-checkout-review-order-table {
  margin: 0 !important;
}

/* Zone livraison dans le récapitulatif */
#order_review .woocommerce-shipping-totals td,
#order_review .woocommerce-shipping-totals th {
  vertical-align: middle !important;
}

/* ── Section paiement ── */
#payment.woocommerce-checkout-payment {
  padding: 20px 24px !important;
}

/* Méthode de paiement : espacement interne cohérent */
#payment .payment_methods {
  margin: 0 0 16px !important;
}

/* ── Formulaire carte cadeau (PW Gift Cards) ── */
#pwgc-redeem-gift-card-form,
.pwgc-redeem-gift-card-form {
  background: var(--dp-surface) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: var(--dp-radius) !important;
  padding: 14px 18px !important;
  margin: 0 0 16px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}

#pwgc-redeem-gift-card-form label,
.pwgc-redeem-gift-card-form label {
  font-family: var(--dp-font-body) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--dp-text-muted) !important;
  width: 100% !important;
  margin-bottom: 0 !important;
}

#pwgc-redeem-gift-card-form input[type="text"],
.pwgc-redeem-gift-card-form input[type="text"] {
  flex: 1 1 160px !important;
  min-width: 0 !important;
  background: var(--dp-bg) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: var(--dp-radius) !important;
  padding: 9px 12px !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.85rem !important;
  color: var(--dp-text) !important;
}

#pwgc-redeem-gift-card-form input[type="text"]:focus,
.pwgc-redeem-gift-card-form input[type="text"]:focus {
  border-color: var(--dp-magenta) !important;
  box-shadow: 0 0 0 3px rgba(224,165,152,0.15) !important;
  outline: none !important;
}

#pwgc-redeem-gift-card-form input[type="submit"],
#pwgc-redeem-gift-card-form button[type="submit"],
.pwgc-redeem-gift-card-form input[type="submit"],
.pwgc-redeem-gift-card-form button[type="submit"] {
  flex-shrink: 0 !important;
  background: var(--dp-magenta) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--dp-radius) !important;
  padding: 9px 18px !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.18s ease !important;
  width: auto !important;
  min-height: auto !important;
}

#pwgc-redeem-gift-card-form input[type="submit"]:hover,
#pwgc-redeem-gift-card-form button[type="submit"]:hover,
.pwgc-redeem-gift-card-form input[type="submit"]:hover,
.pwgc-redeem-gift-card-form button[type="submit"]:hover {
  background: var(--dp-magenta-dark) !important;
}

/* Bouton "Retirer" carte cadeau appliquée */
a.pwgc-remove-card {
  display: inline-flex !important;
  align-items: center !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0 !important;           /* masque le texte brut avec crochets */
  color: var(--dp-text-muted) !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 20px !important;
  padding: 3px 10px 3px 8px !important;
  transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  vertical-align: middle !important;
}

/* Icône × */
a.pwgc-remove-card::before {
  content: '×' !important;
  font-size: 0.82rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  opacity: 0.55 !important;
  margin-right: 4px !important;
}

/* Texte "Retirer" injecté proprement */
a.pwgc-remove-card::after {
  content: 'Retirer' !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  color: var(--dp-text-muted) !important;
}

a.pwgc-remove-card:hover,
a.pwgc-remove-card:hover::before,
a.pwgc-remove-card:hover::after {
  color: #b94040 !important;
}
a.pwgc-remove-card:hover {
  border-color: #e8b0b0 !important;
  background: #fff5f5 !important;
  opacity: 1 !important;
}

/* Solde carte cadeau affiché après validation */
.pwgc-gift-card-balance,
#pwgc-redeem-gift-card-form .pwgc-gift-card-balance {
  font-family: var(--dp-font-body) !important;
  font-size: 0.8rem !important;
  color: var(--dp-text-muted) !important;
  width: 100% !important;
}

/* ── Zone "Passer la commande" (.form-row.place-order) ── */
.woocommerce-checkout .place-order {
  padding: 0 !important;
  margin: 0 !important;
}

/* Politique de confidentialité (texte sous le bouton commander) */
.woocommerce-privacy-policy-text {
  font-family: var(--dp-font-body) !important;
  font-size: 0.75rem !important;
  color: var(--dp-text-muted) !important;
  line-height: 1.5 !important;
  margin-bottom: 14px !important;
}

.woocommerce-privacy-policy-text a {
  color: var(--dp-magenta) !important;
  text-decoration: underline !important;
}

/* Responsive */
@media (max-width: 768px) {
  #order_review .woocommerce-checkout-review-order-table {
    margin: 0 !important;
  }
  .woocommerce-checkout-review-order-table thead th,
  .woocommerce-checkout-review-order-table tbody td,
  .woocommerce-checkout-review-order-table tfoot th,
  .woocommerce-checkout-review-order-table tfoot td,
  .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  #payment.woocommerce-checkout-payment {
    padding: 16px !important;
  }
  #pwgc-redeem-gift-card-form,
  .pwgc-redeem-gift-card-form {
    padding: 12px 14px !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   MODAL CONNEXION — Charte graphique Délices Parfumés
   ═══════════════════════════════════════════════════════════════════ */

/* Fond blanc → beige chaud de la marque */
.ct-account-modal {
  background: #fff9f2 !important;
  border-radius: 16px !important;
  box-shadow: 0 24px 64px rgba(44, 31, 18, 0.22) !important;
}

/* Filet décoratif en haut du contenu */
.ct-account-forms {
  position: relative;
}
.ct-account-forms::before {
  content: "— Connexion —";
  display: block;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 21px;
  font-style: italic;
  color: #c17d6b;
  text-align: center;
  letter-spacing: 0.04em;
  margin-bottom: 30px;
}

/* Champs de saisie */
#account-modal input.input {
  background: #ffffff !important;
  border: 1px solid #e2d5c8 !important;
  border-radius: 8px !important;
  color: #2c1f12 !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
}
#account-modal input.input:focus {
  border-color: #E0A598 !important;
  box-shadow: 0 0 0 3px rgba(224, 165, 152, 0.22) !important;
  outline: none !important;
}

/* Labels */
#account-modal label {
  color: #5a4232 !important;
  font-family: Raleway, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

/* Boutons "Connexion" & "S'inscrire" — bleu Blocksy → rose magenta */
#account-modal .ct-account-login-submit,
#account-modal .ct-account-register-submit,
.ct-register-form .ct-account-register-submit,
.ct-login-form    .ct-account-login-submit {
  background: #E0A598 !important;
  border: 2px solid #E0A598 !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-family: Raleway, sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 13px 20px !important;
  width: 100% !important;
  box-shadow: 0 4px 16px rgba(193, 125, 107, 0.3) !important;
  transition: background 0.25s ease, box-shadow 0.25s ease, transform 0.15s ease !important;
  cursor: pointer !important;
}
#account-modal .ct-account-login-submit:hover,
#account-modal .ct-account-register-submit:hover,
.ct-register-form .ct-account-register-submit:hover,
.ct-login-form    .ct-account-login-submit:hover {
  background: #c97a6b !important;
  border-color: #c97a6b !important;
  box-shadow: 0 6px 20px rgba(193, 125, 107, 0.45) !important;
  transform: translateY(-1px) !important;
}

/* Lien "Mot de passe oublié ?" */
#account-modal a.ct-forgot-password {
  color: #c17d6b !important;
  font-size: 12.5px !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}
#account-modal a.ct-forgot-password:hover {
  color: #E0A598 !important;
  text-decoration: underline !important;
}

/* Label "Se souvenir de moi" */
#account-modal label[for="rememberme"] {
  font-size: 12.5px !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
  font-weight: 400 !important;
  color: #5a4232 !important;
}

/* Icône œil (afficher/masquer mot de passe) */
#account-modal .show-password-input {
  color: #c17d6b !important;
}

/* Bouton de fermeture (×) */
#account-modal .ct-toggle-close {
  opacity: 0.55;
  transition: opacity 0.2s, transform 0.2s !important;
}
#account-modal .ct-toggle-close:hover {
  opacity: 1 !important;
  transform: scale(1.15) !important;
}

/* Lien "Retour à la connexion" (formulaire mot de passe oublié) */
#account-modal .ct-back-to-login {
  color: #c17d6b !important;
  font-size: 13px !important;
}

/* ═══════════════════════════════════════════════════════════════════
   DROPDOWN COMPTE — Charte Délices Parfumés
   ═══════════════════════════════════════════════════════════════════ */

/* Conteneur dropdown */
.ct-header-account-dropdown {
  border-radius: 12px !important;
  box-shadow: 0 12px 40px rgba(44, 31, 18, 0.16) !important;
  border: 1px solid rgba(224, 165, 152, 0.25) !important;
  overflow: hidden !important;
  font-family: Raleway, sans-serif !important;
  min-width: 220px !important;
}

/* Section infos utilisateur (avatar + nom + email) */
.ct-header-account-user-info .ct-menu-link {
  padding: 16px 20px !important;
  background: linear-gradient(135deg, #fff9f2 0%, #fdf0e8 100%) !important;
  border-bottom: 1px solid rgba(224, 165, 152, 0.25) !important;
}
.ct-header-account-user-info b {
  color: #2c1f12 !important;
  font-family: Raleway, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  display: block !important;
}
.ct-header-account-user-info small {
  color: #c17d6b !important;
  font-family: Raleway, sans-serif !important;
  font-size: 11.5px !important;
}

/* Séparateur */
.ct-header-account-divider {
  border-top: 1px solid rgba(224, 165, 152, 0.3) !important;
  margin: 4px 0 !important;
}

/* Liens du menu */
.ct-header-account-dropdown li.menu-item:not(.ct-header-account-user-info) a.ct-menu-link {
  color: #5a4232 !important;
  font-family: Raleway, sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 11px 20px !important;
  display: flex !important;
  align-items: center !important;
  transition: background 0.2s ease, color 0.2s ease, padding-left 0.2s ease !important;
}
.ct-header-account-dropdown li.menu-item:not(.ct-header-account-user-info) a.ct-menu-link:hover {
  background: rgba(224, 165, 152, 0.12) !important;
  color: #c17d6b !important;
  padding-left: 26px !important;
}

/* ═══════════════════════════════════════════════════════════════════
   PAGE MON COMPTE — Général
   ═══════════════════════════════════════════════════════════════════ */

/* Masquer le titre de page "Mon compte" (redondant avec le dashboard) */
body.woocommerce-account .entry-header,
body.woocommerce-account .page-title,
body.woocommerce-account h1.entry-title {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════════════
   TABLEAU DE BORD — Page Mon Compte
   ═══════════════════════════════════════════════════════════════════ */

.dp-dashboard {
  max-width: 640px;
}

/* Accueil */
.dp-dashboard-welcome {
  margin-bottom: 32px;
}
.dp-dashboard-greeting {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 22px;
  font-style: italic;
  color: #2c1f12;
  margin: 0 0 4px;
}
.dp-dashboard-subtitle {
  font-family: Raleway, sans-serif;
  font-size: 13px;
  color: #c17d6b;
  letter-spacing: 0.04em;
  margin: 0;
}

/* Grille de tuiles */
.dp-dashboard-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 36px;
}
.dp-dashboard-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: #fff9f2;
  border: 1px solid rgba(224, 165, 152, 0.3);
  border-radius: 12px;
  padding: 24px 16px;
  text-decoration: none !important;
  color: #5a4232;
  font-family: Raleway, sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
}
.dp-dashboard-card:hover {
  background: #fdf0e8;
  border-color: #E0A598;
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(224, 165, 152, 0.25);
  color: #c17d6b;
}
.dp-dashboard-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, #fff 0%, #fdf0e8 100%);
  border-radius: 50%;
  border: 1px solid rgba(224, 165, 152, 0.35);
  color: #E0A598;
  transition: background 0.25s ease;
}
.dp-dashboard-card:hover .dp-dashboard-card-icon {
  background: linear-gradient(135deg, #fdf0e8 0%, #fce4da 100%);
}
.dp-dashboard-card-icon svg {
  width: 22px;
  height: 22px;
}
.dp-dashboard-card-label {
  text-align: center;
  line-height: 1.3;
}

/* Titre de section */
.dp-dashboard-section-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 14px;
  font-style: italic;
  color: #c17d6b;
  text-align: center;
  letter-spacing: 0.06em;
  margin: 0 0 16px;
}

/* Carte dernière commande */
.dp-dashboard-last-order {
  margin-bottom: 32px;
}
.dp-dashboard-order-card {
  background: #fff9f2;
  border: 1px solid rgba(224, 165, 152, 0.3);
  border-radius: 12px;
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.dp-dashboard-order-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.dp-dashboard-order-number {
  font-family: Raleway, sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #2c1f12;
  letter-spacing: 0.03em;
}
.dp-dashboard-order-date {
  font-family: Raleway, sans-serif;
  font-size: 12px;
  color: #a08070;
}
.dp-dashboard-order-status {
  font-family: Raleway, sans-serif;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.03em;
}
.dp-dashboard-order-total {
  font-family: Raleway, sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: #2c1f12;
}
.dp-dashboard-order-link {
  display: inline-block;
  font-family: Raleway, sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #E0A598;
  text-decoration: none;
  margin-top: 4px;
  transition: color 0.2s, letter-spacing 0.2s;
}
.dp-dashboard-order-link:hover {
  color: #c17d6b;
  letter-spacing: 0.1em;
}

/* Déconnexion */
.dp-dashboard-footer {
  border-top: 1px solid rgba(224, 165, 152, 0.25);
  padding-top: 20px;
}
.dp-dashboard-logout-link {
  font-family: Raleway, sans-serif;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #a08070 !important;
  text-decoration: none;
  transition: color 0.2s;
}
.dp-dashboard-logout-link:hover {
  color: #c17d6b !important;
}

/* Bouton "Voir" dans le tableau des commandes */
.woocommerce-orders-table .woocommerce-button.button.view {
  background: #E0A598 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 8px 18px !important;
  font-family: Raleway, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: 0 3px 10px rgba(224, 165, 152, 0.35) !important;
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
.woocommerce-orders-table .woocommerce-button.button.view:hover {
  background: #c97a6b !important;
  box-shadow: 0 5px 16px rgba(193, 125, 107, 0.45) !important;
  transform: translateY(-1px) !important;
  color: #fff !important;
}

/* Alignement vertical top sur toutes les cellules du tableau commandes */
.woocommerce-orders-table th,
.woocommerce-orders-table td {
  vertical-align: top !important;
}

/* Cellule Total — montant + nb articles empilés */
.dp-order-total-amount {
  display: block;
  font-family: Raleway, sans-serif;
  font-weight: 700;
  color: #c17d6b;
}
.dp-order-total-qty {
  display: block;
  font-family: Raleway, sans-serif;
  font-size: 11.5px;
  font-weight: 500;
  color: #a08070;
  margin-top: 3px;
}

/* Colonne Articles — tableau des commandes */
.dp-order-products-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.dp-order-product-item {
  display: flex;
  align-items: center;
  gap: 10px;
}
.dp-order-product-img {
  width: 44px !important;
  height: 44px !important;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid rgba(224, 165, 152, 0.3);
  flex-shrink: 0;
}
.dp-order-product-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.dp-order-product-name {
  font-family: Raleway, sans-serif;
  font-size: 12.5px;
  font-weight: 600;
  color: #2c1f12;
  line-height: 1.3;
}
.dp-order-product-qty {
  font-family: Raleway, sans-serif;
  font-size: 11.5px;
  color: #c17d6b;
  font-weight: 500;
}

/* Pagination commandes — Afficher plus / Afficher moins */
.dp-orders-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid rgba(224, 165, 152, 0.2);
}
.dp-orders-page-indicator {
  font-family: Raleway, sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: #a08070;
  letter-spacing: 0.04em;
}
.dp-orders-pagination-buttons {
  display: flex;
  align-items: center;
  gap: 10px;
}
.dp-orders-show-more,
.dp-orders-show-less {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: Raleway, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none !important;
  border-radius: 8px;
  padding: 7px 14px;
  transition: background 0.2s, border-color 0.2s;
}
.dp-orders-show-more {
  color: #c17d6b !important;
  border: 1px solid rgba(224, 165, 152, 0.5);
}
.dp-orders-show-more:hover {
  background: rgba(224, 165, 152, 0.1);
  border-color: #E0A598;
}
.dp-orders-show-less {
  color: #a08070 !important;
  border: 1px solid rgba(160, 128, 112, 0.3);
}
.dp-orders-show-less:hover {
  background: rgba(160, 128, 112, 0.08);
  border-color: #a08070;
}
.dp-orders-show-more svg,
.dp-orders-show-less svg {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
}

/* Bouton "Facture" — ton plus soutenu pour se distinguer de "Voir" */
.woocommerce-orders-table .woocommerce-button.button.invoice {
  background: #b5736a !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 8px 18px !important;
  font-family: Raleway, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: 0 3px 10px rgba(181, 115, 106, 0.35) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease !important;
}
.woocommerce-orders-table .woocommerce-button.button.invoice:hover {
  background: #9a5e56 !important;
  box-shadow: 0 5px 16px rgba(154, 94, 86, 0.45) !important;
  transform: translateY(-1px) !important;
  color: #fff !important;
}

/* Responsive */
@media (max-width: 480px) {
  .dp-dashboard-cards {
    grid-template-columns: 1fr;
  }
}

/* Lien "Se déconnecter" — style discret différencié */
.ct-header-account-dropdown li.menu-item:last-child a.ct-menu-link {
  color: #a07060 !important;
  border-top: 1px solid rgba(224, 165, 152, 0.2) !important;
  margin-top: 2px !important;
  font-size: 11px !important;
}
.ct-header-account-dropdown li.menu-item:last-child a.ct-menu-link:hover {
  color: #c17d6b !important;
  background: rgba(176, 112, 96, 0.08) !important;
}

/* ── Adresses Mon Compte ── */
.dp-addresses-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 8px;
}
@media (max-width: 640px) {
  .dp-addresses-grid {
    grid-template-columns: 1fr;
  }
}

.dp-address-card {
  background: #fff9f2;
  border: 1px solid rgba(224, 165, 152, 0.3);
  border-radius: 14px;
  overflow: hidden;
}

/* En-tête */
.dp-address-card-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px 20px 16px;
  border-bottom: 1px solid rgba(224, 165, 152, 0.2);
}
.dp-address-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  background: rgba(224, 165, 152, 0.15);
  border-radius: 8px;
  flex-shrink: 0;
  color: #c17d6b;
}
.dp-address-card-icon svg {
  width: 17px;
  height: 17px;
}
.dp-address-card-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 15px;
  font-style: italic;
  font-weight: 600;
  color: #2c1f12;
  margin: 0;
  padding: 0;
  flex: 1;
  text-decoration: none !important;
}
/* Neutralise le border-bottom Blocksy sur les h3 */
.dp-address-card-header .dp-address-card-title,
.dp-address-card-header h3.dp-address-card-title {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.dp-address-card-edit {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: Raleway, sans-serif;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #c17d6b !important;
  text-decoration: none !important;
  border: 1px solid rgba(224, 165, 152, 0.5);
  border-radius: 7px;
  padding: 5px 11px;
  transition: background 0.2s, border-color 0.2s;
  flex-shrink: 0;
}
.dp-address-card-edit:hover {
  background: rgba(224, 165, 152, 0.12);
  border-color: #E0A598;
}
.dp-address-card-edit svg {
  width: 12px;
  height: 12px;
}

/* Corps — aligné avec le titre (icône 34px + gap 10px) */
.dp-address-card-body {
  padding: 4px 20px 20px calc(20px + 34px + 10px);
}
.dp-address-content {
  font-family: Raleway, sans-serif;
  font-size: 13.5px;
  font-style: normal;
  line-height: 1.7;
  color: #2c1f12;
}
.dp-address-empty {
  font-family: Raleway, sans-serif;
  font-size: 13px;
  color: #a08070;
  font-style: italic;
  margin: 0;
}

/* Supprime la description générique WC */
.woocommerce-MyAccount-content > p:first-child {
  display: none;
}

/* ── Moyens de paiement — cartes ── */
.dp-payment-methods-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 28px;
}

.dp-pm-card {
  display: flex;
  align-items: center;
  gap: 20px;
  background: #fff9f2;
  border: 1px solid rgba(224, 165, 152, 0.3);
  border-radius: 14px;
  padding: 18px 20px;
}
.dp-pm-card--default {
  border-color: rgba(224, 165, 152, 0.65);
  box-shadow: 0 2px 12px rgba(224, 165, 152, 0.18);
}

/* Visuel puce + badge */
.dp-pm-card-visual {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.dp-pm-chip svg {
  width: 36px;
  height: auto;
  display: block;
}
.dp-pm-brand-badge {
  font-family: Raleway, sans-serif;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.06em;
  border-radius: 4px;
  padding: 2px 6px;
  display: inline-block;
}

/* Infos */
.dp-pm-card-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.dp-pm-card-number {
  display: flex;
  align-items: baseline;
  gap: 6px;
  font-family: 'Courier New', monospace;
}
.dp-pm-dots {
  font-size: 13px;
  color: #a08070;
  letter-spacing: 0.15em;
}
.dp-pm-last4 {
  font-size: 15px;
  font-weight: 700;
  color: #2c1f12;
  letter-spacing: 0.12em;
}
.dp-pm-card-meta {
  display: flex;
  align-items: center;
  gap: 12px;
}
.dp-pm-expires {
  font-family: Raleway, sans-serif;
  font-size: 12px;
  color: #a08070;
}
.dp-pm-expires-label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #c9b0a0;
  margin-right: 3px;
}
.dp-pm-default-badge {
  font-family: Raleway, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #c17d6b;
  background: rgba(224, 165, 152, 0.15);
  border: 1px solid rgba(224, 165, 152, 0.4);
  border-radius: 20px;
  padding: 2px 10px;
}

/* Actions */
.dp-pm-card-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  flex-shrink: 0;
}
.dp-pm-delete,
.dp-pm-card-actions .button.delete {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: transparent !important;
  color: #c17d6b !important;
  border: 1px solid rgba(193, 125, 107, 0.35) !important;
  border-radius: 8px !important;
  padding: 6px 13px !important;
  font-family: Raleway, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: background 0.2s, border-color 0.2s !important;
}
.dp-pm-delete:hover,
.dp-pm-card-actions .button.delete:hover {
  background: rgba(193, 125, 107, 0.08) !important;
  border-color: #c17d6b !important;
  color: #c17d6b !important;
}
.dp-pm-delete svg,
.dp-pm-card-actions .button.delete svg {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
}

/* État vide */
.dp-pm-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 40px 20px;
  color: #a08070;
  font-family: Raleway, sans-serif;
  font-style: italic;
}
.dp-pm-empty svg {
  width: 36px;
  height: 36px;
  opacity: 0.5;
}

/* Bouton Ajouter */
.dp-pm-add-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: Raleway, sans-serif;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #fff !important;
  background: #E0A598;
  border-radius: 10px;
  padding: 11px 22px;
  text-decoration: none !important;
  transition: background 0.2s;
  margin-top: 4px;
}
.dp-pm-add-btn:hover {
  background: #c17d6b;
  color: #fff !important;
}
.dp-pm-add-btn svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

/* ── Ajouter un moyen de paiement — formulaire ── */
#add_payment_method fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Cacher le radio (une seule option) */
#add_payment_method .payment_methods li input[type="radio"] {
  display: none !important;
}

/* Label "Carte de crédit/débit" → titre de section */
#add_payment_method .payment_methods li label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-style: italic !important;
  font-size: 17px !important;
  color: #2c1f12 !important;
  cursor: default !important;
  margin-bottom: 16px !important;
  pointer-events: none !important;
}
#add_payment_method .payment_methods li label::before {
  content: '';
  display: inline-block;
  width: 28px;
  height: 28px;
  background: rgba(224, 165, 152, 0.18);
  border-radius: 7px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c17d6b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='4' width='22' height='16' rx='2'/%3E%3Cline x1='1' y1='10' x2='23' y2='10'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px;
  flex-shrink: 0;
}

/* Cadre du formulaire Stripe */
#add_payment_method .payment_box {
  background: #fff9f2 !important;
  border: 1px solid rgba(224, 165, 152, 0.3) !important;
  border-radius: 14px !important;
  padding: 24px !important;
  margin: 0 0 20px !important;
  box-shadow: none !important;
}
#add_payment_method .payment_box::before {
  display: none !important; /* retire la flèche WooCommerce */
}

/* Notice "Mode test" */
#add_payment_method .testmode-info {
  background: rgba(224, 165, 152, 0.1) !important;
  border: 1px dashed rgba(224, 165, 152, 0.5) !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-family: Raleway, sans-serif !important;
  font-size: 12px !important;
  color: #a08070 !important;
  margin-bottom: 20px !important;
}
#add_payment_method .testmode-info strong {
  color: #c17d6b !important;
  font-weight: 700 !important;
}

/* Labels des champs */
#add_payment_method .wc-payment-form label,
#add_payment_method p.form-row label {
  font-family: Raleway, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #a08070 !important;
}

/* Texte legal */
#add_payment_method .woocommerce-SavedPaymentMethods-saveNew,
#add_payment_method .payment_box > p:last-child {
  font-family: Raleway, sans-serif !important;
  font-size: 11.5px !important;
  color: #b09080 !important;
  font-style: italic !important;
}

/* Zone bouton */
#add_payment_method .woocommerce-Payment > .form-row {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  margin-top: 8px !important;
  flex-wrap: wrap !important;
}

/* Bouton soumettre */
#add_payment_method #place_order {
  background: #E0A598 !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: Raleway, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 13px 28px !important;
  width: auto !important;
  flex-shrink: 0 !important;
  transition: background 0.2s !important;
  color: #fff !important;
}
#add_payment_method #place_order:hover {
  background: #c17d6b !important;
}

/* Lien retour injecté par JS */
.dp-pm-back-link {
  font-family: Raleway, sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #a08070 !important;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: color 0.2s;
}
.dp-pm-back-link:hover {
  color: #c17d6b !important;
}
.dp-pm-back-link svg {
  width: 13px;
  height: 13px;
}

/* ============================================================
   TÉLÉCHARGEMENTS — downloads.php + order-downloads.php
   ============================================================ */

/* ── État vide ── */
.dp-downloads-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  padding: 56px 24px;
  text-align: center;
  color: #a08070;
}
.dp-downloads-empty svg {
  width: 56px;
  height: 56px;
  stroke: #E0A598;
  opacity: 0.8;
}
.dp-downloads-empty p {
  font-family: Raleway, sans-serif;
  font-size: 15px;
  color: #7a6252;
  margin: 0;
}
.dp-downloads-shop-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 24px;
  background: #E0A598;
  color: #fff !important;
  font-family: Raleway, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none !important;
  border-radius: 8px;
  transition: background 0.2s;
}
.dp-downloads-shop-btn:hover {
  background: #c17d6b;
}

/* ── Liste de téléchargements (cartes) ── */
.dp-downloads-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.dp-downloads-section-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 18px;
  color: #2c1f12;
  margin: 0 0 16px;
}

.dp-download-card {
  display: flex;
  align-items: center;
  gap: 16px;
  background: #fff9f2;
  border: 1px solid #f0ddd6;
  border-radius: 12px;
  padding: 18px 20px;
  transition: box-shadow 0.2s;
}
.dp-download-card:hover {
  box-shadow: 0 4px 16px rgba(193,125,107,0.10);
}

/* Icône */
.dp-download-card-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  background: rgba(224,165,152,0.15);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dp-download-card-icon svg {
  width: 22px;
  height: 22px;
  stroke: #c17d6b;
}

/* Corps */
.dp-download-card-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.dp-download-card-product {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 15px;
  font-weight: 600;
  color: #2c1f12;
}
.dp-download-product-link {
  color: #2c1f12 !important;
  text-decoration: none !important;
}
.dp-download-product-link:hover {
  color: #c17d6b !important;
}
.dp-download-card-file {
  font-family: Raleway, sans-serif;
  font-size: 13px;
  color: #a08070;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dp-download-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 4px;
}
.dp-download-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: Raleway, sans-serif;
  font-size: 12px;
  color: #7a6252;
}
.dp-download-meta-item svg {
  width: 13px;
  height: 13px;
  stroke: #a08070;
  flex-shrink: 0;
}
.dp-download-unlimited,
.dp-download-no-expiry {
  color: #a08070;
}

/* Bouton télécharger */
.dp-download-card-action {
  flex-shrink: 0;
}
.dp-download-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 18px;
  background: #E0A598;
  color: #fff !important;
  font-family: Raleway, sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
  border-radius: 8px;
  white-space: nowrap;
  transition: background 0.2s;
}
.dp-download-btn:hover {
  background: #c17d6b;
}
.dp-download-btn svg {
  width: 14px;
  height: 14px;
  stroke: #fff;
}

/* Mobile */
@media (max-width: 600px) {
  .dp-download-card {
    flex-wrap: wrap;
  }
  .dp-download-card-action {
    width: 100%;
  }
  .dp-download-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ============================================================
   FICHE PRODUIT — single product
   ============================================================ */

/* Bouton Ajouter au panier — spécificité 030 pour battre .woocommerce-page .button.alt */
.woocommerce-page .single-product .single_add_to_cart_button,
.single-product form.cart .single_add_to_cart_button {
  background: #E0A598 !important;
  color: #fff !important;
  border-color: #E0A598 !important;
  border-radius: 8px !important;
  font-family: Raleway, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  transition: background 0.2s !important;
  padding: 14px 32px !important;
}
.woocommerce-page .single-product .single_add_to_cart_button:hover,
.single-product form.cart .single_add_to_cart_button:hover {
  background: #c17d6b !important;
  border-color: #c17d6b !important;
}

/* Sélecteur de quantité */
.single-product .quantity input[type=number] {
  border: 1px solid #f0ddd6 !important;
  border-radius: 8px !important;
  font-family: Raleway, sans-serif !important;
  color: #2c1f12 !important;
  background: #fff9f2 !important;
}

/* Lien "Ajouter à la liste d'envies" */
.single-product .yith-wcwl-add-to-wishlist a,
.single-product .add_to_wishlist {
  color: #a08070 !important;
  font-family: Raleway, sans-serif !important;
  font-size: 13px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: color 0.2s !important;
}
.single-product .yith-wcwl-add-to-wishlist a:hover,
.single-product .add_to_wishlist:hover {
  color: #E0A598 !important;
}

/* Méta (catégorie, tags) */
.single-product .product_meta {
  font-family: Raleway, sans-serif;
  font-size: 13px;
  color: #a08070;
  margin-top: 16px;
}
.single-product .product_meta a {
  color: #c17d6b !important;
  text-decoration: none !important;
}
.single-product .product_meta a:hover {
  color: #E0A598 !important;
}

/* Onglets description/avis */
.single-product .woocommerce-tabs .tabs li a {
  font-family: Raleway, sans-serif;
  font-weight: 600;
  color: #7a6252;
}
.single-product .woocommerce-tabs .tabs li.active a {
  color: #c17d6b;
}

/* ============================================================
   PANIER — cart page
   ============================================================ */

/* Table produits */
.woocommerce-cart .woocommerce-cart-form table.cart {
  border: none !important;
}
.woocommerce-cart .woocommerce-cart-form table.cart thead th {
  font-family: Raleway, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #a08070;
  border-bottom: 1px solid #f0ddd6 !important;
  background: transparent !important;
  padding: 10px 16px;
}
.woocommerce-cart .woocommerce-cart-form table.cart td {
  border-bottom: 1px solid #f5ede8 !important;
  vertical-align: middle;
  padding: 16px !important;
}
.woocommerce-cart .woocommerce-cart-form table.cart .product-name a {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 15px;
  color: #2c1f12 !important;
  text-decoration: none !important;
}
.woocommerce-cart .woocommerce-cart-form table.cart .product-name a:hover {
  color: #c17d6b !important;
}
.woocommerce-cart .woocommerce-cart-form table.cart .product-remove a {
  color: #d4a0a0 !important;
  font-size: 18px !important;
}
.woocommerce-cart .woocommerce-cart-form table.cart .product-remove a:hover {
  color: #c17d6b !important;
}

/* Bouton Mettre à jour */
.woocommerce-cart .woocommerce-cart-form button[name=update_cart] {
  background: transparent !important;
  color: #a08070 !important;
  border: 1px solid #f0ddd6 !important;
  border-radius: 8px !important;
  font-family: Raleway, sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 8px 18px !important;
  transition: all 0.2s !important;
}
.woocommerce-cart .woocommerce-cart-form button[name=update_cart]:hover {
  border-color: #E0A598 !important;
  color: #c17d6b !important;
}

/* Totaux panier */
.woocommerce-cart .cart-collaterals .cart_totals h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 18px;
  color: #2c1f12;
}
.woocommerce-cart .cart-collaterals .cart_totals table {
  border: none !important;
}
.woocommerce-cart .cart-collaterals .cart_totals table td,
.woocommerce-cart .cart-collaterals .cart_totals table th {
  border: none !important;
  border-bottom: 1px solid #f5ede8 !important;
  font-family: Raleway, sans-serif;
  color: #2c1f12;
}
.woocommerce-cart .cart-collaterals .cart_totals .order-total td,
.woocommerce-cart .cart-collaterals .cart_totals .order-total th {
  font-weight: 700;
  font-size: 16px;
}

/* Bouton Valider la commande */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.button {
  background: #E0A598 !important;
  color: #fff !important;
  border-color: #E0A598 !important;
  border-radius: 8px !important;
  font-family: Raleway, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  padding: 14px 32px !important;
  transition: background 0.2s !important;
  display: block !important;
  text-align: center !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
  background: #c17d6b !important;
}

/* ============================================================
   CHECKOUT — page paiement (blocks WooCommerce)
   ============================================================ */

/* Titres sections */
.wc-block-checkout .wc-block-components-title,
.wp-block-woocommerce-checkout .wc-block-components-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: #2c1f12 !important;
}

/* Bouton Commander */
.wc-block-checkout__form .wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout .wc-block-components-button--place-order,
.wc-block-components-checkout-place-order-button {
  background-color: #E0A598 !important;
  border-color: #E0A598 !important;
  border-radius: 8px !important;
  font-family: Raleway, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  transition: background 0.2s !important;
}
.wc-block-components-checkout-place-order-button:hover {
  background-color: #c17d6b !important;
  border-color: #c17d6b !important;
}

/* Boutons Expédier / Retrait */
.wc-block-checkout .wc-block-components-radio-control-accordion-option,
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option {
  border-color: #f0ddd6 !important;
  border-radius: 8px !important;
}

/* ============================================================
   VUE COMMANDE — view-order
   ============================================================ */

/* Bannière statut en haut */
.woocommerce-account .woocommerce > p:first-of-type {
  background: #fff9f2;
  border: 1px solid #f0ddd6;
  border-radius: 10px;
  padding: 14px 20px;
  font-family: Raleway, sans-serif;
  font-size: 14px;
  color: #5a4232;
  margin-bottom: 24px;
}

/* Titre Détails de la commande */
.woocommerce-order-details__title,
h2.woocommerce-order-details__title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 18px !important;
  color: #2c1f12 !important;
  margin-bottom: 12px !important;
}

/* Table détails commande */
.woocommerce-table--order-details {
  border: none !important;
  width: 100% !important;
}
.woocommerce-table--order-details thead th {
  font-family: Raleway, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #a08070 !important;
  background: #f9f0ea !important;
  border: none !important;
  padding: 10px 16px !important;
}
.woocommerce-table--order-details tbody td {
  font-family: Raleway, sans-serif !important;
  color: #2c1f12 !important;
  border-bottom: 1px solid #f5ede8 !important;
  padding: 14px 16px !important;
}
.woocommerce-table--order-details tfoot th,
.woocommerce-table--order-details tfoot td {
  font-family: Raleway, sans-serif !important;
  border-top: 1px solid #f0ddd6 !important;
  border-bottom: none !important;
  padding: 12px 16px !important;
  color: #2c1f12 !important;
}
.woocommerce-table--order-details tfoot .order-total th,
.woocommerce-table--order-details tfoot .order-total td {
  font-weight: 700 !important;
  font-size: 15px !important;
  color: #c17d6b !important;
}

/* Adresses de facturation/livraison sur la vue commande */
.woocommerce-column--billing-address h2,
.woocommerce-column--shipping-address h2 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 16px !important;
  color: #2c1f12 !important;
}
.woocommerce-column--billing-address address,
.woocommerce-column--shipping-address address {
  font-family: Raleway, sans-serif;
  font-size: 14px;
  color: #5a4232;
  line-height: 1.7;
}

/* ============================================================
   DÉTAILS DU COMPTE & MODIFIER ADRESSE — formulaires
   ============================================================ */

/* Titre de page formulaire */
.woocommerce-account .woocommerce-MyAccount-content > h3,
.woocommerce-account .woocommerce-MyAccount-content > h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 20px;
  color: #2c1f12;
  margin-bottom: 24px;
  border-bottom: 1px solid #f0ddd6;
  padding-bottom: 12px;
}

/* Labels */
.woocommerce-account .woocommerce-form-row label,
.woocommerce-account .form-row label,
.woocommerce-account fieldset legend {
  font-family: Raleway, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: #7a6252 !important;
}

/* Inputs */
.woocommerce-account .woocommerce-form-row input,
.woocommerce-account .form-row input,
.woocommerce-account .form-row select {
  border: 1px solid #f0ddd6 !important;
  border-radius: 8px !important;
  background: #fff9f2 !important;
  font-family: Raleway, sans-serif !important;
  color: #2c1f12 !important;
  padding: 10px 14px !important;
}
.woocommerce-account .woocommerce-form-row input:focus,
.woocommerce-account .form-row input:focus {
  border-color: #E0A598 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(224,165,152,0.15) !important;
}

/* Fieldset mot de passe */
.woocommerce-account fieldset {
  border: 1px solid #f0ddd6 !important;
  border-radius: 12px !important;
  padding: 20px 24px !important;
  margin-top: 24px !important;
}
.woocommerce-account fieldset legend {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 15px !important;
  font-weight: normal !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #c17d6b !important;
  padding: 0 10px !important;
}

/* Description sous le champ */
.woocommerce-account .form-row em,
.woocommerce-account .form-row span.description {
  font-family: Raleway, sans-serif;
  font-size: 12px;
  color: #a08070;
  font-style: italic;
}

/* Bouton Sauvegarder */
.woocommerce-account .woocommerce-form-row button[type=submit],
.woocommerce-account .form-row button[type=submit],
.woocommerce-account button.woocommerce-Button {
  background: #E0A598 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: Raleway, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 12px 28px !important;
  transition: background 0.2s !important;
  margin-top: 8px !important;
}
.woocommerce-account button.woocommerce-Button:hover {
  background: #c17d6b !important;
}

/* ============================================================
   ARTICLE DE BLOG — single post
   ============================================================ */

/* En-tête article */
.single-post .entry-header {
  margin-bottom: 32px;
  padding-bottom: 20px;
  border-bottom: 1px solid #f0ddd6;
}
.single-post .entry-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(22px, 3vw, 32px) !important;
  color: #2c1f12 !important;
  margin-bottom: 12px !important;
}
.single-post .entry-meta {
  font-family: Raleway, sans-serif;
  font-size: 12px;
  color: #a08070;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.single-post .entry-meta a {
  color: #c17d6b !important;
  text-decoration: none !important;
  font-weight: 600;
}
.single-post .entry-meta .avatar {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50%;
  border: 2px solid #f0ddd6;
}

/* Corps de l'article */
.single-post .entry-content {
  font-family: Raleway, sans-serif;
  font-size: 15px;
  line-height: 1.85;
  color: #3a2e25;
}
.single-post .entry-content h2 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(18px, 2.5vw, 24px) !important;
  color: #c17d6b !important;
  margin-top: 36px !important;
  margin-bottom: 12px !important;
}
.single-post .entry-content h3 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(16px, 2vw, 20px) !important;
  color: #2c1f12 !important;
  margin-top: 28px !important;
  margin-bottom: 10px !important;
}
.single-post .entry-content p {
  margin-bottom: 18px !important;
}
.single-post .entry-content a {
  color: #c17d6b !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
.single-post .entry-content ul,
.single-post .entry-content ol {
  padding-left: 24px !important;
  margin-bottom: 18px !important;
}
.single-post .entry-content li {
  margin-bottom: 6px !important;
}
.single-post .entry-content blockquote {
  border-left: 3px solid #E0A598 !important;
  margin: 28px 0 !important;
  padding: 12px 24px !important;
  background: #fff9f2 !important;
  border-radius: 0 8px 8px 0 !important;
  font-style: italic !important;
  color: #5a4232 !important;
}

/* Navigation entre articles */
.single-post .post-navigation {
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid #f0ddd6;
  display: flex;
  justify-content: space-between;
  gap: 16px;
}
.single-post .post-navigation a {
  font-family: Raleway, sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #c17d6b !important;
  text-decoration: none !important;
}
.single-post .post-navigation a:hover {
  color: #E0A598 !important;
}

/* ============================================================
   MODAL RECHERCHE — résultats sur fond clair
   ============================================================ */
#search-modal .ct-search-results {
  background: rgba(255, 249, 242, 0.98) !important;
  border-radius: 16px !important;
  padding: 20px 24px !important;
  margin-top: 16px !important;
}

#search-modal .ct-search-results a {
  background: #fff !important;
  border-radius: 10px !important;
  padding: 14px !important;
  border: 1px solid #f0ddd6 !important;
  transition: background 0.2s, box-shadow 0.2s;
}

#search-modal .ct-search-results a:hover {
  background: #fff9f2 !important;
  box-shadow: 0 2px 12px rgba(193, 125, 107, 0.1) !important;
}

#search-modal .ct-search-results a .woocommerce-Price-amount {
  color: #c17d6b !important;
  font-weight: 700 !important;
}

#search-modal .ct-search-more a {
  color: #E0A598 !important;
  font-weight: 600 !important;
}

/* ============================================================
   MODAL RECHERCHE — bouton circulaire + icône proportionnelle
   ============================================================ */
.ct-search-form .ct-search-form-controls button.wp-element-button {
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.ct-search-form .ct-ajax-loader {
  --loader-size: 30px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.ct-search-form .ct-ajax-loader svg {
  width: 30px !important;
  height: 30px !important;
}

/* ============================================================
   FORMULAIRES MOT DE PASSE (lost-password + reset-password)
   ============================================================ */

/* Carte centrée */
.dp-password-wrap {
  max-width: 440px;
  margin: 40px auto 60px;
  background: var(--dp-blanc);
  border: 1px solid var(--dp-border);
  border-radius: 16px;
  padding: 40px 40px 36px;
  box-shadow: 0 4px 32px rgba(44, 31, 18, 0.08);
  text-align: center;
}

/* Icône en haut */
.dp-password-icon {
  width: 60px;
  height: 60px;
  background: #faf0ec;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  border: 1px solid #f0e0da;
}

/* Titre */
.dp-password-title {
  font-family: var(--dp-font-titre) !important;
  font-size: 1.6rem !important;
  font-weight: 400 !important;
  font-style: italic !important;
  color: var(--dp-text) !important;
  margin: 0 0 12px !important;
  line-height: 1.25 !important;
}

/* Intro */
.dp-password-intro {
  font-family: var(--dp-font-body) !important;
  font-size: 0.9rem !important;
  color: var(--dp-text-muted) !important;
  line-height: 1.65 !important;
  margin: 0 0 28px !important;
}

/* Formulaire */
.dp-password-form {
  text-align: left;
}

/* Groupe champ */
.dp-field-group {
  margin-bottom: 18px;
}

/* Label */
.dp-label {
  display: block !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  color: var(--dp-text-muted) !important;
  margin-bottom: 7px !important;
}
.dp-label .required {
  color: var(--dp-magenta);
  margin-left: 2px;
}

/* Wrapper input + icône */
.dp-input-wrap {
  position: relative;
}
.dp-input-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--dp-text-muted);
  pointer-events: none;
  display: flex;
  align-items: center;
  z-index: 2;
}

/* Input stylisé — spécificité (0,2,0) pour battre input[type] (0,1,1) */
.dp-input-wrap .dp-input {
  width: 100% !important;
  padding: 11px 14px 11px 40px !important;
  border: 1.5px solid var(--dp-border) !important;
  border-radius: 8px !important;
  background: var(--dp-bg) !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.92rem !important;
  color: var(--dp-text) !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
  box-shadow: none !important;
  position: relative !important;
  z-index: 1 !important;
}
.dp-input-wrap .dp-input:focus {
  border-color: var(--dp-magenta) !important;
  box-shadow: 0 0 0 3px rgba(224, 165, 152, 0.18) !important;
  outline: none !important;
  background: #fff !important;
}

/* Conseil sécurité */
.dp-password-hint {
  font-family: var(--dp-font-body) !important;
  font-size: 0.76rem !important;
  color: var(--dp-text-muted) !important;
  margin: -8px 0 20px !important;
  line-height: 1.5 !important;
}

/* Bouton pleine largeur */
.dp-password-btn {
  width: 100% !important;
  padding: 14px 20px !important;
  margin-top: 8px !important;
  background: var(--dp-magenta) !important;
  color: #fff !important;
  border: 2px solid var(--dp-magenta) !important;
  border-radius: 8px !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.2s, border-color 0.2s, transform 0.15s !important;
}
.dp-password-btn:hover {
  background: var(--dp-magenta-dark) !important;
  border-color: var(--dp-magenta-dark) !important;
  transform: translateY(-1px) !important;
}

/* Lien retour connexion */
.dp-password-back {
  margin: 20px 0 0 !important;
  font-family: var(--dp-font-body) !important;
  font-size: 0.82rem !important;
  text-align: center !important;
}
.dp-password-back a {
  color: var(--dp-text-muted) !important;
  text-decoration: none !important;
  transition: color 0.15s !important;
}
.dp-password-back a:hover {
  color: var(--dp-magenta) !important;
}

/* Notices WooCommerce dans le contexte password */
.dp-password-wrap ~ .woocommerce-message,
.dp-password-wrap ~ .woocommerce-error,
.woocommerce-ResetPassword ~ .woocommerce-error {
  border-radius: 8px !important;
  margin-bottom: 16px !important;
}

/* Responsive */
@media (max-width: 520px) {
  .dp-password-wrap {
    margin: 20px 16px 40px !important;
    padding: 28px 22px 26px !important;
  }
}

/* ============================================================
   CHAMP PERSONNALISÉ — Textarea + picker arômes/couleurs
   (page produit, avant le bouton "Ajouter au panier")
   ============================================================ */
.dp-custom-field-wrap { margin: 16px 0 20px; }
.dp-custom-field-wrap label {
    display: block; font-weight: 600; font-size: .9rem;
    color: #7a5c52; margin-bottom: 6px;
}
.dp-custom-field-wrap textarea {
    width: 100%; padding: 10px 12px;
    border: 1px solid #d4b8ae; border-radius: 6px;
    font-size: .9rem; color: #4a3a34; background: #fffaf8;
    resize: vertical; transition: border-color .2s;
    font-family: inherit; box-sizing: border-box;
}
.dp-custom-field-wrap textarea:focus {
    outline: none; border-color: #c4927e; background: #fff;
}
/* ── Picker ── */
.dp-attr-picker { margin-top: 8px; }
.dp-attr-toggle {
    background: none; border: 1px solid #d4b8ae;
    border-radius: 20px; padding: 5px 14px;
    font-size: .8rem; color: #7a5c52; cursor: pointer;
    display: inline-flex; align-items: center; gap: 5px;
    transition: background .2s, border-color .2s;
}
.dp-attr-toggle:hover { background: #f5ede9; border-color: #c4927e; }
.dp-attr-toggle__arrow { transition: transform .2s; display: inline-block; }
.dp-attr-toggle[aria-expanded="true"] .dp-attr-toggle__arrow { transform: rotate(180deg); }
.dp-attr-panel {
    margin-top: 10px; padding: 14px 16px;
    background: #fdf7f4; border: 1px solid #e8d5cc;
    border-radius: 8px;
}
.dp-attr-group + .dp-attr-group { margin-top: 12px; }
.dp-attr-group__label {
    font-size: .78rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: .06em; color: #a08070; margin: 0 0 8px;
}
.dp-attr-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.dp-attr-chip {
    background: #fff; border: 1px solid #d4b8ae;
    border-radius: 16px; padding: 4px 12px;
    font-size: .82rem; color: #5a3e36; cursor: pointer;
    transition: background .15s, border-color .15s, color .15s;
}
.dp-attr-chip:hover { background: #c4927e; border-color: #c4927e; color: #fff; }
.dp-attr-chip.dp-selected { background: #c4927e; border-color: #c4927e; color: #fff; }
.dp-attr-hint {
    font-size: .75rem; color: #b09080; margin: 10px 0 0; font-style: italic;
}
/* ── Chips couleur avec pastille ── */
.dp-color-chip { display: inline-flex; align-items: center; gap: 6px; }
.dp-color-dot {
    width: 13px; height: 13px; border-radius: 50%; flex-shrink: 0;
    border: 1px solid rgba(0,0,0,.12); display: inline-block;
    background: #ccc;
}
.dp-color-chip.dp-selected .dp-color-dot { border-color: rgba(255,255,255,.5); }
/* ── Champ obligatoire ── */
.dp-required-star { color: #c0392b; font-weight: 700; }
.dp-custom-field-wrap textarea.dp-invalid {
    border-color: #c0392b !important;
    background: #fff8f8 !important;
}
.dp-required-msg {
    display: block; margin-top: 5px;
    font-size: .82rem; color: #c0392b; font-weight: 500;
}
.dp-required-msg[hidden] { display: none; }

/* ============================================================
   CHECKOUT — Contour radio paiement sélectionné (magenta)
   ============================================================ */
/* Spécificité (0,3,0) > Blocksy (0,2,1) */
.wc-block-components-radio-control--highlight-checked
.wc-block-components-radio-control-accordion-option.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
    outline: 2px solid #E0A598 !important;
    outline-offset: 2px !important;
    box-shadow: none !important;
}
