/* ==========================================================================
   D'Artigues : feuille du thème (complète theme.json)
   Couleurs, polices et tailles : variables WordPress issues de theme.json.
   ========================================================================== */
:root {
	--dg-ink: var(--wp--preset--color--ink);
	--dg-ink-2: var(--wp--preset--color--ink-2);
	--dg-muted: var(--wp--preset--color--muted);
	--dg-bx: var(--wp--preset--color--bordeaux);
	--dg-bx-dark: var(--wp--preset--color--bordeaux-dark);
	--dg-gold: var(--wp--preset--color--gold);
	--dg-gold-soft: var(--wp--preset--color--gold-soft);
	--dg-cream: var(--wp--preset--color--cream);
	--dg-sand: var(--wp--preset--color--sand);
	--dg-line: var(--wp--preset--color--line);
	--dg-ok: var(--wp--preset--color--ok);
	--dg-serif: var(--wp--preset--font-family--cormorant);
	--dg-sans: var(--wp--preset--font-family--inter);
	--dg-gutter: clamp(20px, 4vw, 32px);
	--dg-wide: 1280px;
	--dg-section: clamp(48px, 6vw, 80px);
}
body { -webkit-font-smoothing: antialiased; font-variant-numeric: lining-nums; overflow-x: clip; }
img { max-width: 100%; height: auto; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.wp-site-blocks > main { margin-block-start: 0; }

/* ---------- Conteneur commun ---------- */
.dg-wrap { width: 100%; max-width: var(--dg-wide); margin-inline: auto !important; padding-inline: var(--dg-gutter); box-sizing: border-box; }
.dg-section { padding-block: var(--dg-section); }
.dg-bg-cream { background: var(--dg-cream); }
.dg-bg-ink { background: var(--dg-ink); color: #fff; }
.dg-bg-bx { background: var(--dg-bx); color: #fff; }
.dg-bg-ink :where(h1,h2,h3,h4), .dg-bg-bx :where(h1,h2,h3,h4) { color: #fff; }

/* ---------- Styles de blocs (équivalent classes globales) ---------- */
.is-style-dg-eyebrow { font-family: var(--dg-sans); font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--dg-bx); }
.dg-bg-ink .is-style-dg-eyebrow, .dg-bg-bx .is-style-dg-eyebrow { color: var(--dg-gold-soft); }
.is-style-dg-link-arrow a, a.dg-link-arrow { font-weight: 600; color: var(--dg-ink); border-bottom: 1px solid currentColor; padding-bottom: 2px; text-decoration: none; }
.is-style-dg-link-arrow a:hover, a.dg-link-arrow:hover { color: var(--dg-bx); }
.dg-bg-ink .is-style-dg-link-arrow a, .dg-bg-bx .is-style-dg-link-arrow a { color: #fff; }
.dg-lead { font-size: 18px; color: var(--dg-ink-2); max-width: 620px; }
.dg-bg-ink .dg-lead, .dg-bg-bx .dg-lead { color: #EDE4E5; }

.wp-block-button.is-style-dg-ghost .wp-block-button__link { background: transparent; color: var(--dg-ink); box-shadow: inset 0 0 0 1.5px var(--dg-ink); }
.wp-block-button.is-style-dg-ghost .wp-block-button__link:hover { background: var(--dg-ink); color: #fff; }
.dg-bg-ink .wp-block-button.is-style-dg-ghost .wp-block-button__link, .dg-bg-bx .wp-block-button.is-style-dg-ghost .wp-block-button__link { color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.55); }
.dg-bg-ink .wp-block-button.is-style-dg-ghost .wp-block-button__link:hover, .dg-bg-bx .wp-block-button.is-style-dg-ghost .wp-block-button__link:hover { background: #fff; color: var(--dg-ink); }
.wp-block-button.is-style-dg-light .wp-block-button__link { background: #fff; color: var(--dg-ink); }
.wp-block-button.is-style-dg-light .wp-block-button__link:hover { background: var(--dg-cream); color: var(--dg-ink); }
.wp-block-button.is-style-dg-gold .wp-block-button__link { background: var(--dg-gold); color: var(--dg-ink); }
.wp-block-button.is-style-dg-gold .wp-block-button__link:hover { background: var(--dg-gold-soft); color: var(--dg-ink); }

.wp-block-group.is-style-dg-card { background: #fff; border: 1px solid var(--dg-line); border-radius: 20px; padding: 28px; }

hr.is-style-dg-liteau { border: 0 !important; height: 22px; margin: 0; opacity: 1; background: linear-gradient(180deg, var(--dg-cream) 0 5px, var(--dg-bx) 5px 8px, var(--dg-cream) 8px 10px, var(--dg-bx) 10px 11px, var(--dg-cream) 11px 13px, var(--dg-bx) 13px 16px, var(--dg-cream) 16px 22px); }
hr.is-style-dg-orn { border: 0 !important; height: 9px; width: 108px; margin: 0; opacity: 1; background:
	linear-gradient(var(--dg-gold), var(--dg-gold)) left 50% / 44px 1px no-repeat,
	linear-gradient(var(--dg-gold), var(--dg-gold)) right 50% / 44px 1px no-repeat,
	linear-gradient(45deg, transparent 42%, var(--dg-gold) 42% 50%, transparent 50%) center / 9px 9px no-repeat; }
.has-text-align-center hr.is-style-dg-orn, hr.is-style-dg-orn.aligncenter { margin-inline: auto; }

/* Sceau */
.dg-seal { line-height: 0; }
.dg-seal-svg { filter: drop-shadow(0 10px 22px rgba(94,7,11,.25)); }
.dg-seal-ring { transform-origin: 60px 60px; animation: dg-turn 40s linear infinite; }
@keyframes dg-turn { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .dg-seal-ring { animation: none; } }

/* Icônes en masque (réassurance) : icône et texte côte à côte */
.dg-ico { display: flex; align-items: flex-start; gap: 12px; }
.dg-ico::before { content: ""; flex: none; width: 22px; height: 22px; margin-top: 1px; background: currentColor; color: var(--dg-bx); -webkit-mask: var(--dg-i) center / contain no-repeat; mask: var(--dg-i) center / contain no-repeat; }
.dg-bg-ink .dg-ico::before, .dg-bg-bx .dg-ico::before, .dg-footer .dg-ico::before { color: var(--dg-gold); }
.dg-i-medal { --dg-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Ccircle cx='12' cy='9' r='5'/%3E%3Cpath d='m9 13-2 8 5-3 5 3-2-8'/%3E%3C/svg%3E"); }
.dg-i-drop { --dg-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M12 3c3 3 7 4 7 9a7 7 0 0 1-14 0c0-5 4-6 7-9Z'/%3E%3C/svg%3E"); }
.dg-i-truck { --dg-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M3 7h11v9H3zM14 10h4l3 3v3h-7'/%3E%3Ccircle cx='7' cy='18' r='1.8'/%3E%3Ccircle cx='17' cy='18' r='1.8'/%3E%3C/svg%3E"); }
.dg-i-lock { --dg-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Crect x='4' y='10' width='16' height='10' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E"); }
.dg-i-phone { --dg-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2Z'/%3E%3C/svg%3E"); }
.dg-i-snow { --dg-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M12 2v20M4 7l16 10M20 7 4 17'/%3E%3C/svg%3E"); }
.dg-i-pin { --dg-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M12 21s7-6.2 7-12a7 7 0 0 0-14 0c0 5.8 7 12 7 12Z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E"); }

/* ==========================================================================
   En-tête
   ========================================================================== */
.dg-header { position: relative; z-index: 30; background: #fff; }
.dg-topbar { background: var(--dg-bx); color: #fff; font-size: 13px; }
.dg-topbar-in { min-height: 38px; gap: 16px; }
.dg-topbar-msg strong { color: var(--dg-gold-soft); font-weight: 600; }
.dg-topnav { font-size: 13px; font-weight: 500; gap: 20px; }
.dg-topnav a { color: #fff !important; opacity: .9; }
.dg-topnav a:hover { opacity: 1; text-decoration: underline; }
.dg-header-row { min-height: 88px; gap: 28px; }
.dg-header-row .wp-block-site-logo img { width: auto !important; height: 60px; }
.dg-header-row .wp-block-search { flex: 1 1 auto; max-width: 640px; min-width: 0; }
.dg-header-row .wp-block-search__inside-wrapper { border: 1.5px solid var(--dg-ink) !important; border-radius: 999px; padding: 4px 4px 4px 18px !important; background: #fff; }
.dg-header-row .wp-block-search__input { border: 0 !important; outline: 0; background: transparent; font-size: 15px; padding: 8px 4px; min-width: 0; }
.dg-header-row .wp-block-search__button { margin: 0; border-radius: 999px; padding: 10px 18px; font-size: 14px; }
.dg-header-actions { margin-left: auto; gap: 8px; flex-wrap: nowrap; }
.dg-header-actions .wc-block-customer-account a { color: var(--dg-ink); font-size: 14px; font-weight: 600; padding: 10px 12px; border-radius: 12px; display: inline-flex; gap: 8px; align-items: center; }
.dg-header-actions .wc-block-customer-account a:hover { background: var(--dg-cream); }
.dg-header-actions .wc-block-mini-cart__button { background: var(--dg-ink); color: #fff; border-radius: 999px; padding: 10px 18px; font-weight: 600; }
.dg-header-actions .wc-block-mini-cart__button:hover { background: #000; }
.dg-header-actions .wc-block-mini-cart__badge { background: var(--dg-gold) !important; color: var(--dg-ink) !important; font-weight: 700; }
.dg-catbar { border-top: 1px solid var(--dg-line); border-bottom: 1px solid var(--dg-line); }
.dg-catnav { min-height: 56px; font-size: 15px; font-weight: 600; }
.dg-catnav .wp-block-navigation__container { gap: 4px; }
.dg-catnav .wp-block-navigation-item__content { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px !important; border-radius: 999px; color: var(--dg-ink) !important; white-space: nowrap; }
.dg-catnav .wp-block-navigation-item__content:hover { background: var(--dg-cream); }
.dg-catnav .dg-nav-all > .wp-block-navigation-item__content { background: var(--dg-ink); color: #fff !important; }
.dg-catnav .dg-nav-all > .wp-block-navigation-item__content:hover { background: #000; }
.dg-catnav .dg-nav-noel > .wp-block-navigation-item__content { color: var(--dg-bx) !important; }
.dg-catnav .dg-nav-noel > .wp-block-navigation-item__content::after { content: "Noël"; margin-left: 7px; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; background: var(--dg-bx); color: #fff; border-radius: 999px; padding: 3px 7px; }
.dg-catnav .dg-nav-pro { margin-left: auto; }
.dg-catnav .dg-nav-pro > .wp-block-navigation-item__content { font-weight: 500; color: var(--dg-ink-2) !important; }
.dg-catnav .wp-block-navigation__submenu-container { border: 1px solid var(--dg-line) !important; border-radius: 16px; padding: 10px !important; box-shadow: 0 30px 60px rgba(31,27,28,.12); min-width: 260px !important; }
.dg-catnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { border-radius: 10px; width: 100%; font-weight: 500; }
@media (max-width: 1180px) { .dg-catnav .dg-nav-pro { display: none; } }
@media (max-width: 1060px) { .dg-catnav .dg-nav-p2 { display: none; } }
@media (min-width: 901px) { .dg-mobilenav { display: none !important; } }
.dg-mobilenav .wp-block-navigation__responsive-container-open { background: var(--dg-ink); color: #fff; border-radius: 999px; padding: 10px 14px; display: inline-flex; gap: 6px; align-items: center; font-size: 14px; }
.dg-mobilenav .wp-block-navigation__responsive-container-open::after { content: "Boutique"; font-weight: 600; }
.dg-mobilenav .wp-block-navigation__responsive-container.is-menu-open { padding: 24px var(--dg-gutter); }
.dg-mobilenav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 18px; font-weight: 600; padding: 12px 0; }
@media (max-width: 900px) {
	.dg-topnav { display: none !important; }
	.dg-topbar-in { justify-content: center !important; text-align: center; font-size: 12px; }
	.dg-header-row { min-height: 64px; gap: 12px; flex-wrap: wrap !important; padding-block: 10px; }
	.dg-header-row .wp-block-site-logo img { height: 42px; }
	.dg-header-row .wp-block-search { order: 5; flex: 1 1 100%; max-width: none; }
	.dg-header-actions .wc-block-customer-account__account-label { display: none; }
	.dg-catbar { display: none !important; }
}
@media (max-width: 680px) { .dg-topbar-msg .dg-hide-m { display: none; } }

/* ==========================================================================
   Pied de page
   ========================================================================== */
.dg-footer { background: var(--dg-ink); color: #D9D0D1; font-size: 15px; }
.dg-footer a { color: #fff; }
.dg-footer a:hover { color: var(--dg-gold-soft); }
.dg-ft-trust { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding-block: 36px; border-bottom: 1px solid rgba(255,255,255,.12); }
.dg-ft-trust p { color: #fff; font-size: 14px; align-items: center; }
.dg-ft-main { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.4fr; gap: 40px; padding-block: 48px; }
.dg-ft-main h4, .dg-ft-main .dg-ft-h { font-family: var(--dg-sans); font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--dg-gold-soft); margin: 0 0 14px; }
.dg-ft-main ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.dg-ft-logo img { width: auto !important; height: 70px; margin-left: -12px; }
.dg-ft-bottom { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-block: 22px; border-top: 1px solid rgba(255,255,255,.12); font-size: 13px; color: #A99FA1; }
.dg-ft-bottom a { color: #D9D0D1; }
@media (max-width: 900px) { .dg-ft-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dg-ft-main { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .dg-ft-main { grid-template-columns: 1fr; gap: 28px; } }

/* ==========================================================================
   Accueil
   ========================================================================== */
/* Hero : texte à gauche aligné sur la marge du site, photo pleine hauteur à droite */
.dg-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 640px; background: #1A1314; color: #fff; }
.dg-hero-txt { padding: 84px 72px 64px max(var(--dg-gutter), calc((100vw - var(--dg-wide)) / 2 + var(--dg-gutter))); display: flex; flex-direction: column; justify-content: center; gap: 0; }
.dg-hero-txt h1 { color: #fff; font-size: clamp(42px, 5.2vw, 76px); margin-top: 20px; }
.dg-hero-txt h1 em { color: var(--dg-gold); font-style: italic; font-weight: 500; }
.dg-hero-txt .dg-lead { color: #E6DDDE; margin-top: 22px; font-size: 18px; }
.dg-hero-txt .wp-block-buttons { margin-top: 32px; gap: 12px; }
.dg-hero-trust { margin-top: 52px !important; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.14); gap: 28px !important; }
.dg-hero-trust p { color: #E6DDDE; font-size: 14px; align-items: center; }
.dg-hero-media { position: relative; min-height: 420px; background-size: cover; background-position: center; }
.dg-hero-media .dg-seal { position: absolute; top: 28px; right: 28px; }
@media (max-width: 900px) {
	.dg-hero { grid-template-columns: minmax(0, 1fr); min-height: 0; }
	.dg-hero-media { order: -1; min-height: 380px; }
	.dg-hero-media .dg-seal { top: 16px; right: 16px; }
	.dg-hero-media .dg-seal svg { width: 84px; height: 84px; }
	.dg-hero-txt { padding: 40px var(--dg-gutter) 48px; }
	.dg-hero-txt .wp-block-button { flex: 1 1 100%; }
	.dg-hero-txt .wp-block-button__link { width: 100%; }
	.dg-hero-trust { flex-direction: column; gap: 12px !important; margin-top: 36px !important; }
}

/* En-tête de section : titre à gauche, lien à droite */
.dg-sec-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; margin-bottom: 28px; }
.dg-sec-head h2 { margin-top: 12px; }

/* Catégories en mosaïque */
.dg-bento { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; grid-template-rows: repeat(2, 250px); gap: 16px; }
.dg-tile { position: relative; isolation: isolate; overflow: hidden; border-radius: 20px; display: flex; flex-direction: column; justify-content: flex-end; padding: 22px !important; color: #fff; background-size: cover; background-position: center; background-color: var(--dg-sand); transition: transform .35s; }
.dg-tile::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(20,14,15,0) 30%, rgba(20,14,15,.55) 62%, rgba(20,14,15,.88) 100%); }
.dg-tile:hover { transform: translateY(-2px); }
.dg-tile h3 { color: #fff; font-family: var(--dg-sans); font-size: 20px; font-weight: 600; line-height: 1.2; margin: 0; }
.dg-tile h3 a { color: inherit; }
.dg-tile h3 a::after { content: ""; position: absolute; inset: 0; }
.dg-tile p { font-size: 13px; opacity: .85; margin-top: 4px; }
.dg-tile-big { grid-row: span 2; }
.dg-tile-big h3 { font-family: var(--dg-serif); font-size: 44px; line-height: 1; }
.dg-tile-big p { font-size: 15px; margin-top: 8px; }
.dg-tile-cta { background: var(--dg-ink); justify-content: space-between; }
.dg-tile-cta::before { display: none; }
.dg-tile-cta h3 { font-family: var(--dg-serif); font-size: 28px; line-height: 1.1; }
.dg-tile-cta::after { content: "→"; align-self: flex-end; width: 40px; height: 40px; border-radius: 999px; background: var(--dg-gold); color: var(--dg-ink); display: flex; align-items: center; justify-content: center; font-size: 18px; }
@media (max-width: 1100px) { .dg-bento { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: none; grid-auto-rows: 220px; } .dg-tile-big { grid-column: span 3; grid-row: auto; } }
@media (max-width: 680px) {
	.dg-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 170px; gap: 12px; }
	.dg-tile-big { grid-column: span 2; }
	.dg-tile { padding: 16px !important; border-radius: 16px; }
	.dg-tile h3 { font-size: 16px; text-shadow: 0 1px 8px rgba(0,0,0,.35); }
	.dg-tile p { font-size: 12px; }
	.dg-tile-big h3 { font-size: 34px; }
	.dg-tile-cta h3 { font-size: 22px; }
	.dg-tile-cta::after { width: 36px; height: 36px; }
}

/* Noël */
.dg-noel { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.dg-noel-visual { position: relative; border-radius: 24px; overflow: hidden; aspect-ratio: 4 / 5; background-size: cover; background-position: center; }
.dg-noel-visual .dg-tag { position: absolute; left: 20px; top: 20px; background: rgba(255,255,255,.95); color: var(--dg-bx); border-radius: 999px; padding: 8px 14px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.dg-noel h2 { margin-top: 12px; }
.dg-noel .dg-lead { margin-top: 16px; }
.dg-noel .dg-products { margin-top: 32px; }
.dg-noel .wp-block-buttons { margin-top: 28px; }
@media (max-width: 1100px) { .dg-noel { gap: 40px; } .dg-noel-visual { aspect-ratio: 1 / 1; } }
@media (max-width: 900px) { .dg-noel { grid-template-columns: minmax(0, 1fr); gap: 32px; } .dg-noel-visual { aspect-ratio: 16 / 9; } }
@media (max-width: 680px) { .dg-noel-visual { aspect-ratio: 4 / 3; } }

/* Lignes compactes (coffrets) */
.dg-rows { display: flex; flex-direction: column; gap: 12px; }
.dg-row { display: grid; grid-template-columns: 88px minmax(0, 1fr) auto; gap: 18px; align-items: center; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: 18px; padding: 10px 12px 10px 10px; color: #fff; transition: background .2s; }
.dg-row:hover { background: rgba(255,255,255,.14); }
.dg-row-img img { width: 88px; height: 88px; border-radius: 12px; object-fit: cover; background: var(--dg-cream); display: block; }
.dg-row-txt { display: flex; flex-direction: column; gap: 4px; color: #fff !important; }
.dg-row-txt b { font-size: 17px; font-weight: 600; }
.dg-row-price, .dg-row-price .amount { color: #fff; font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; }
:where(.dg-cream, .dg-bg-cream, body) .dg-row:not(.dg-bg-bx *) { color: var(--dg-ink); }
@media (max-width: 680px) {
	.dg-row { grid-template-columns: 64px minmax(0, 1fr) auto; gap: 12px; padding: 8px 10px 8px 8px; }
	.dg-row-img img { width: 64px; height: 64px; }
	.dg-row-txt b { font-size: 15px; line-height: 1.25; }
	.dg-row-price, .dg-row-price .amount { font-size: 19px; }
}

/* La maison */
.dg-maison { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; align-items: center; }
.dg-maison-img { position: relative; aspect-ratio: 4 / 5; border-radius: 20px; overflow: hidden; background-size: cover; background-position: center; }
.dg-maison-img .dg-seal { position: absolute; right: 20px; bottom: 20px; }
.dg-maison h2 { margin-top: 12px; }
.dg-maison .dg-lead { margin-top: 18px; }
.dg-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px !important; background: var(--dg-line); border-radius: 16px; overflow: hidden; margin-top: 36px !important; }
.dg-fact { background: var(--dg-cream); padding: 22px 24px !important; display: flex; flex-direction: column; gap: 6px; }
.dg-fact .dg-fact-n { font-family: var(--dg-serif); font-size: 44px; font-weight: 600; color: var(--dg-bx); line-height: 1; }
.dg-fact p:not(.dg-fact-n) { font-size: 14px; color: var(--dg-ink-2); }
.dg-maison .is-style-dg-link-arrow { margin-top: 28px; }
@media (max-width: 1100px) { .dg-maison { gap: 48px; } .dg-maison-img { aspect-ratio: 1 / 1; } }
@media (max-width: 900px) { .dg-maison { grid-template-columns: minmax(0, 1fr); gap: 40px; } .dg-maison-img { aspect-ratio: 16 / 10; } }
@media (max-width: 680px) { .dg-fact { padding: 16px !important; } .dg-fact .dg-fact-n { font-size: 34px; } }

/* Récompenses */
.dg-awards-band { border-top: 1px solid var(--dg-line); border-bottom: 1px solid var(--dg-line); padding-block: clamp(40px, 5vw, 64px); }
.dg-awards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dg-award { display: flex; flex-direction: column; gap: 6px; padding: 8px 28px !important; border-left: 1px solid var(--dg-line); }
.dg-award:first-child { border-left: 0; padding-left: 0 !important; }
.dg-award .dg-award-t { font-size: 17px; font-weight: 600; }
.dg-award p:last-child { font-size: 14px; color: var(--dg-muted); }
@media (max-width: 1100px) { .dg-awards { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 24px; } .dg-award:nth-child(3) { border-left: 0; padding-left: 0 !important; } }
@media (max-width: 680px) { .dg-awards { grid-template-columns: minmax(0, 1fr); } .dg-award { border-left: 0; padding: 12px 0 !important; border-top: 1px solid var(--dg-line); } .dg-award:first-child { border-top: 0; } }

/* Articles */
.dg-posts { gap: 24px !important; }
.dg-posts > li { display: flex; flex-direction: column; gap: 12px; }
.dg-post-img { border-radius: 16px; overflow: hidden; margin: 0; }
.dg-post-img img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; transition: transform .6s; }
.dg-posts > li:hover .dg-post-img img { transform: scale(1.04); }
.dg-post-cat a { display: inline-flex; background: var(--dg-cream); color: var(--dg-ink-2); border-radius: 999px; padding: 5px 10px; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.dg-post-title { font-family: var(--dg-sans) !important; font-size: 19px !important; font-weight: 600 !important; line-height: 1.3 !important; letter-spacing: -.01em; margin: 0; }
.dg-post-title a { color: var(--dg-ink); }
.dg-post-title a:hover { color: var(--dg-bx); }
@media (max-width: 680px) { .dg-posts { grid-template-columns: minmax(0, 1fr) !important; } }

/* Deux cartes entreprises / pros */
.dg-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.dg-duo-card { position: relative; border-radius: 20px; padding: 40px !important; display: flex; flex-direction: column; gap: 16px; min-height: 280px; justify-content: flex-end; }
.dg-duo-card h3 { font-size: var(--wp--preset--font-size--x-large); }
.dg-duo-card .is-style-dg-link-arrow a::after { content: ""; position: absolute; inset: 0; }
@media (max-width: 680px) { .dg-duo { grid-template-columns: minmax(0, 1fr); } .dg-duo-card { padding: 28px !important; min-height: 220px; } }

/* ==========================================================================
   Carte produit unique
   ========================================================================== */
.dg-grid { display: grid; gap: 16px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dg-grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dg-grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dg-collection .wc-block-product-template { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px !important; margin: 0; padding: 0; list-style: none; }
.dg-collection .wc-block-product-template > li { margin: 0 !important; width: auto !important; max-width: none !important; display: flex; }
.dg-collection .wc-block-product-template > li > .dg-card { flex: 1; }
.dg-shop-grid .wc-block-product-template { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { .dg-shop-grid .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) { .dg-grid, .dg-grid.cols-3, .dg-collection .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .dg-shop-grid .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .dg-grid, .dg-collection .wc-block-product-template { gap: 10px !important; } }

.dg-card { display: flex; flex-direction: column; gap: 6px; height: 100%; box-sizing: border-box; padding: 0 0 18px; overflow: hidden; background: #fff; color: var(--dg-ink); border: 1px solid rgba(31,27,28,.10); border-radius: 20px; box-shadow: 0 1px 2px rgba(31,27,28,.04); transition: box-shadow .25s, border-color .25s, transform .25s; container-type: inline-size; }
.dg-card:hover { border-color: rgba(31,27,28,.18); box-shadow: 0 16px 36px rgba(31,27,28,.10); transform: translateY(-2px); }
.dg-card > :not(.dg-card-media) { margin-inline: 18px; }
.dg-card-media { position: relative; display: block; aspect-ratio: 1 / 1; margin-bottom: 12px; overflow: hidden; background: var(--dg-sand); }
.dg-card-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.dg-card:hover .dg-card-media img { transform: scale(1.05); }
.dg-badge { position: absolute; left: 12px; top: 12px; display: inline-flex; align-items: center; padding: 5px 10px; border-radius: 999px; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; background: #fff; color: var(--dg-ink); }
.dg-badge.is-gold { background: var(--dg-gold-soft); color: #5A3E10; }
.dg-badge.is-bx { background: var(--dg-bx); color: #fff; }
.dg-card-kicker { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--dg-muted); margin-block: 0; }
.dg-card-title { font-family: var(--dg-sans) !important; font-size: 16px !important; font-weight: 600 !important; line-height: 1.35 !important; letter-spacing: 0; min-height: 2.7em; margin: 0; }
.dg-card-title a { color: var(--dg-ink); }
.dg-card-title a:hover { color: var(--dg-bx); }
.dg-card-opts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.dg-chip { min-height: 32px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--dg-line); background: #fff; color: var(--dg-ink-2); font: 500 13px/1 var(--dg-sans); font-variant-numeric: tabular-nums; cursor: pointer; transition: border-color .2s, color .2s; }
.dg-chip:hover { border-color: var(--dg-bx); color: var(--dg-bx); }
.dg-chip.is-on { border-color: var(--dg-bx); color: var(--dg-bx); background: #FBF4F3; font-weight: 600; box-shadow: inset 0 0 0 1px var(--dg-bx); }
.dg-chip:disabled { opacity: .4; text-decoration: line-through; cursor: not-allowed; }
.dg-card-note { font-size: 13px; color: var(--dg-bx); font-weight: 600; margin: 6px 0 0; }
.dg-card-buy { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 14px; }
.dg-card-price, .dg-card-price .amount { font-family: var(--dg-sans); font-weight: 700; color: var(--dg-bx); font-size: 24px; line-height: 1; letter-spacing: -.02em; font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; }
.dg-card-price del, .dg-card-price del .amount { font-size: 14px; color: var(--dg-muted); font-weight: 500; margin-right: 4px; }
.dg-card-price ins { text-decoration: none; }
.dg-add { display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex: none; min-height: 44px; padding: 0 18px 0 14px; border-radius: 999px; border: 0; background: var(--dg-bx); color: #fff !important; font: 600 14px/1 var(--dg-sans); white-space: nowrap; cursor: pointer; text-decoration: none; transition: background .2s, box-shadow .2s, opacity .2s; }
.dg-add:hover { background: var(--dg-bx-dark); }
.dg-add.is-ghost { background: transparent; color: var(--dg-ink-2) !important; box-shadow: inset 0 0 0 1.5px var(--dg-line); }
.dg-add.is-ghost:hover { background: var(--dg-cream); }
.dg-add.is-light { background: #fff; color: var(--dg-bx) !important; }
.dg-add.is-light:hover { background: var(--dg-gold-soft); }
.dg-add.is-done { background: var(--dg-ok) !important; color: #fff !important; }
.dg-add.is-loading { opacity: .6; pointer-events: none; }
.dg-card.is-out .dg-card-media img { opacity: .55; }
@container (max-width: 250px) { .dg-add { width: 44px; padding: 0; } .dg-add span { display: none; } }
@media (max-width: 680px) {
	.dg-card { padding-bottom: 12px; border-radius: 16px; }
	.dg-card > :not(.dg-card-media) { margin-inline: 10px; }
	.dg-card-title { font-size: 15px !important; min-height: 3.9em; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
	.dg-card-kicker { font-size: 10px; letter-spacing: .1em; }
	.dg-badge { left: 8px; top: 8px; font-size: 10px; padding: 4px 8px; }
	.dg-card-opts { gap: 4px; }
	.dg-card-opts .dg-chip { flex: 1 1 auto; padding: 0 5px; font-size: 11.5px; white-space: nowrap; }
	.dg-card-price, .dg-card-price .amount { font-size: 21px; }
}
.dg-card-placeholder .dg-card-media { background: var(--dg-sand); }

/* ==========================================================================
   Pages catégorie et boutique
   ========================================================================== */
.dg-cat-head { background: var(--dg-cream); padding-block: 28px 36px; }
.dg-cat-head-in { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: end; }
.dg-cat-head h1 { margin-top: 14px; }
.dg-cat-head .wp-block-term-description { margin-top: 14px; max-width: 640px; font-size: 17px; color: var(--dg-ink-2); }
.dg-cat-head .wp-block-term-description p { margin: 0; }
.dg-reassure { display: flex; flex-direction: column; gap: 10px; min-width: 300px; }
.dg-reassure p { background: #fff; border-radius: 12px; padding: 12px 16px; font-size: 14px; font-weight: 500; align-items: center; }
.woocommerce-breadcrumb, .wc-block-breadcrumbs { font-size: 13px; color: var(--dg-muted); }
.woocommerce-breadcrumb a, .wc-block-breadcrumbs a { color: var(--dg-ink-2); }
.dg-crumb-sep { margin: 0 8px; opacity: .6; }
.dg-toolbar { margin-top: 24px; margin-bottom: 24px; padding: 12px 12px 12px 18px; border: 1px solid var(--dg-line); border-radius: 18px; background: #fff; align-items: center; gap: 16px; }
.dg-toolbar .woocommerce-result-count { margin: 0; font-size: 14px; color: var(--dg-muted); }
.dg-toolbar .woocommerce-ordering { margin: 0; }
.dg-toolbar select { appearance: none; -webkit-appearance: none; min-height: 40px; padding: 0 40px 0 16px; border: 1px solid var(--dg-line); border-radius: 999px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F1B1C' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center / 16px no-repeat; font: 500 14px var(--dg-sans); color: var(--dg-ink); cursor: pointer; }
.dg-shop-main { padding-bottom: 72px; }
.dg-shop-main .wp-block-query-pagination { margin-top: 40px; gap: 6px; font-weight: 600; }
.dg-shop-main .wp-block-query-pagination a, .dg-shop-main .wp-block-query-pagination .current { display: inline-flex; min-width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: 999px; border: 1px solid var(--dg-line); color: var(--dg-ink); padding: 0 12px; }
.dg-shop-main .wp-block-query-pagination .current { background: var(--dg-ink); color: #fff; border-color: var(--dg-ink); }
.dg-trust { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 48px; }
.dg-trust > .wp-block-group { background: var(--dg-cream); border-radius: 16px; padding: 20px 22px !important; display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: 12px; row-gap: 4px; align-items: center; }
.dg-trust > .wp-block-group::before { content: ""; width: 22px; height: 22px; background: var(--dg-bx); -webkit-mask: var(--dg-i) center / contain no-repeat; mask: var(--dg-i) center / contain no-repeat; grid-row: 1; }
.dg-trust .dg-trust-t { font-size: 15px; font-weight: 600; grid-column: 2; }
.dg-trust p:not(.dg-trust-t) { grid-column: 2; font-size: 14px; color: var(--dg-muted); }
@media (max-width: 1024px) { .dg-cat-head-in { grid-template-columns: minmax(0, 1fr); gap: 24px; } .dg-reassure { flex-direction: row; flex-wrap: wrap; min-width: 0; } .dg-reassure p { flex: 1 1 200px; } .dg-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .dg-reassure p { flex: 1 1 100%; padding: 10px 14px; } .dg-trust { grid-template-columns: minmax(0, 1fr); } .dg-toolbar { padding: 10px; } .dg-toolbar > * { width: 100%; } .dg-toolbar select { width: 100%; } }

/* ==========================================================================
   Fiche produit
   ========================================================================== */
.dg-pdp { padding-top: 24px; padding-bottom: var(--dg-section); }
.dg-pdp-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; align-items: start; margin-top: 20px; }
.dg-pdp-gallery { position: sticky; top: 24px; }
.dg-pdp-gallery .woocommerce-product-gallery { margin: 0; }
.dg-pdp-gallery .woocommerce-product-gallery__image img, .dg-pdp-gallery .woocommerce-product-gallery__wrapper img { border-radius: 20px; aspect-ratio: 1 / 1; object-fit: cover; background: var(--dg-sand); }
.dg-pdp-gallery .flex-control-thumbs { display: flex; gap: 10px; margin-top: 12px !important; padding: 0; list-style: none; }
.dg-pdp-gallery .flex-control-thumbs li { width: 76px !important; float: none !important; }
.dg-pdp-gallery .flex-control-thumbs img { border-radius: 10px; border: 2px solid transparent; opacity: .8; cursor: pointer; }
.dg-pdp-gallery .flex-control-thumbs img.flex-active { border-color: var(--dg-bx); opacity: 1; }
.dg-pdp-gallery .woocommerce-product-gallery__trigger { top: 14px !important; right: 14px !important; background: #fff; border-radius: 999px; }
.dg-pdp-summary { display: flex; flex-direction: column; gap: 18px; }
.dg-pdp-summary .wp-block-post-terms { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--dg-muted); }
.dg-pdp-summary .wp-block-post-terms a { color: var(--dg-muted); }
.dg-pdp-summary h1 { font-size: clamp(32px, 3.6vw, 52px); margin: 0; }
.dg-pdp-summary .wp-block-post-excerpt { font-size: 17px; color: var(--dg-ink-2); }
.dg-pdp-summary .wp-block-post-excerpt__excerpt { margin: 0; }
.dg-buybox { background: var(--dg-cream); border-radius: 24px; padding: 28px !important; display: flex; flex-direction: column; gap: 18px; }
.dg-pdp-price { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.dg-pdp-price .price, .dg-pdp-price .amount, .dg-pdp-price .wc-block-components-product-price { font-family: var(--dg-sans); font-size: 46px !important; font-weight: 700; color: var(--dg-bx); line-height: 1; letter-spacing: -.02em; font-variant-numeric: lining-nums tabular-nums; }
.dg-pdp-price del, .dg-pdp-price del .amount { font-size: 22px !important; color: var(--dg-muted); }
.dg-pdp-unit { font-size: 14px; color: var(--dg-ink-2); }
.dg-buybox .stock { font-size: 13px; font-weight: 600; color: var(--dg-ok); margin: 0; }
.dg-buybox .stock.out-of-stock { color: var(--dg-bx); }
.dg-buybox form.cart { display: flex; flex-direction: column; gap: 16px; margin: 0; }
.dg-buybox form.cart:not(.variations_form), .dg-buybox .woocommerce-variation-add-to-cart { display: flex; flex-direction: row; gap: 12px; align-items: stretch; }
.dg-buybox .quantity { display: inline-flex; }
.dg-buybox .quantity .qty { width: 72px; min-height: 52px; border: 1px solid var(--dg-line); border-radius: 999px; text-align: center; font: 600 16px var(--dg-sans); background: #fff; }
.dg-buybox .single_add_to_cart_button { flex: 1; min-height: 52px; border-radius: 999px !important; background: var(--dg-bx) !important; color: #fff !important; font: 600 16px var(--dg-sans) !important; border: 0; padding: 0 24px !important; }
.dg-buybox .single_add_to_cart_button:hover { background: var(--dg-bx-dark) !important; }
.dg-buybox .single_add_to_cart_button.disabled { opacity: .5; }
.dg-buybox table.variations.dg-hidden { display: none; }
.dg-buybox .woocommerce-variation-price { display: none; }
.dg-buybox .woocommerce-variation-description { font-size: 14px; color: var(--dg-ink-2); }
.dg-buybox .reset_variations { display: none !important; }
.dg-vars-label { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 14px; font-weight: 600; margin: 0 0 10px; }
.dg-vars-label em { font-style: normal; font-weight: 500; color: var(--dg-muted); }
.dg-vars-list { display: flex; flex-direction: column; gap: 8px; }
.dg-var { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; column-gap: 14px; align-items: center; width: 100%; padding: 14px 18px; border-radius: 14px; border: 1px solid var(--dg-line); background: #fff; color: var(--dg-ink); text-align: left; font: inherit; cursor: pointer; transition: border-color .2s, box-shadow .2s, background .2s; }
.dg-var:hover { border-color: rgba(31,27,28,.32); }
.dg-var:disabled { opacity: .5; cursor: not-allowed; }
.dg-var-radio { width: 20px; height: 20px; border-radius: 999px; border: 1.5px solid rgba(31,27,28,.3); position: relative; box-sizing: border-box; }
.dg-var-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.dg-var-main b { font-size: 16px; font-weight: 700; }
.dg-var-main span { font-size: 13px; color: var(--dg-muted); }
.dg-var-main .is-out { color: var(--dg-bx); }
.dg-var-price { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.dg-var-price strong { font-size: 18px; font-weight: 700; color: var(--dg-bx); font-variant-numeric: tabular-nums; line-height: 1.1; }
.dg-var-price small { font-size: 12px; color: var(--dg-muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.dg-var.is-on { border-color: var(--dg-bx); box-shadow: inset 0 0 0 1px var(--dg-bx); background: #FFFBF7; }
.dg-var.is-on .dg-var-radio { border-color: var(--dg-bx); }
.dg-var.is-on .dg-var-radio::after { content: ""; position: absolute; inset: 3px; border-radius: 999px; background: var(--dg-bx); }
.dg-buybox-note { font-size: 13px; color: var(--dg-muted); }
.dg-perks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.dg-perks p { font-size: 13px; }
.dg-perks p strong { display: block; font-size: 14px; color: var(--dg-ink); }
.dg-pdp .wc-tabs-wrapper, .dg-pdp .woocommerce-tabs { margin-top: 8px; }
.dg-pdp .woocommerce-tabs ul.tabs { display: flex; gap: 6px; padding: 0 !important; margin: 0 0 18px !important; border-bottom: 1px solid var(--dg-line); list-style: none; }
.dg-pdp .woocommerce-tabs ul.tabs::before, .dg-pdp .woocommerce-tabs ul.tabs li::before, .dg-pdp .woocommerce-tabs ul.tabs li::after { display: none !important; }
.dg-pdp .woocommerce-tabs ul.tabs li { background: none !important; border: 0 !important; margin: 0 !important; padding: 0 !important; }
.dg-pdp .woocommerce-tabs ul.tabs li a { display: block; padding: 12px 16px !important; font-weight: 600; color: var(--dg-muted); border-bottom: 2px solid transparent; }
.dg-pdp .woocommerce-tabs ul.tabs li.active a { color: var(--dg-ink); border-color: var(--dg-bx); }
.dg-pdp .woocommerce-Tabs-panel h2:first-child { display: none; }
.dg-pdp .woocommerce-Tabs-panel { font-size: 16px; color: var(--dg-ink-2); }
.dg-related { padding-block: var(--dg-section); background: var(--dg-cream); }
.dg-related h2 { margin: 12px 0 28px; }
@media (max-width: 1100px) { .dg-pdp-grid { gap: 40px; } }
@media (max-width: 860px) { .dg-pdp-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; } .dg-pdp-gallery { position: static; } }
@media (max-width: 680px) {
	.dg-buybox { padding: 18px !important; border-radius: 18px; }
	.dg-pdp-price .price, .dg-pdp-price .amount { font-size: 38px !important; }
	.dg-var { padding: 12px 14px; column-gap: 12px; }
	.dg-var-main b { font-size: 15px; }
	.dg-var-price strong { font-size: 17px; }
	.dg-perks { grid-template-columns: minmax(0, 1fr); }
}

/* ==========================================================================
   Panier, commande, compte, pages
   ========================================================================== */
.dg-page { padding-block: clamp(32px, 5vw, 64px) var(--dg-section); }
.dg-page-title { margin-bottom: 28px; }
.wc-block-components-button:not(.is-link) { border-radius: 999px !important; min-height: 52px; font-weight: 600 !important; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: var(--dg-bx) !important; color: #fff !important; }
.wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover { background: var(--dg-bx-dark) !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value, .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: 20px; font-weight: 700; color: var(--dg-bx); }
.wc-block-components-product-name { font-weight: 600; color: var(--dg-ink) !important; }
.wc-block-cart-items__row .wc-block-components-product-price, .wc-block-components-order-summary-item__total-price { font-weight: 700; color: var(--dg-ink); }
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input, .wc-block-components-textarea, .wc-blocks-components-select__select { border-radius: 10px !important; border-color: var(--dg-line) !important; }
.wc-block-components-sidebar .wc-block-components-panel, .wp-block-woocommerce-cart-order-summary-block, .wp-block-woocommerce-checkout-order-summary-block { background: var(--dg-cream); border-radius: 20px; }
.wp-block-woocommerce-cart-order-summary-block, .wp-block-woocommerce-checkout-order-summary-block { padding: 8px 20px; border: 0 !important; }
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 40px; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.woocommerce-MyAccount-navigation a { display: block; padding: 10px 14px; border-radius: 12px; color: var(--dg-ink); font-weight: 500; }
.woocommerce-MyAccount-navigation .is-active a, .woocommerce-MyAccount-navigation a:hover { background: var(--dg-cream); color: var(--dg-bx); }
.woocommerce form .input-text, .woocommerce form select { min-height: 48px; border: 1px solid var(--dg-line); border-radius: 10px; padding: 0 14px; font: inherit; }
.woocommerce .button, .woocommerce button.button { border-radius: 999px !important; background: var(--dg-bx) !important; color: #fff !important; font-weight: 600 !important; padding: 14px 24px !important; border: 0 !important; }
@media (max-width: 760px) { .woocommerce-account .woocommerce { grid-template-columns: minmax(0, 1fr); } }

/* Message d'ajout au panier */
.dg-toast { position: fixed; left: 50%; bottom: 28px; transform: translate(-50%, 20px); opacity: 0; pointer-events: none; z-index: 100000; display: flex; gap: 14px; align-items: center; background: var(--dg-ink); color: #fff; padding: 14px 22px; border-radius: 999px; font-size: 14px; box-shadow: 0 12px 30px rgba(0,0,0,.25); transition: opacity .25s, transform .25s; max-width: calc(100vw - 32px); }
.dg-toast.is-on { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.dg-toast a { color: var(--dg-gold-soft); font-weight: 600; white-space: nowrap; }

/* Accessibilité : focus visible partout */
:where(a, button, input, select, textarea, .dg-chip, .dg-var):focus-visible { outline: 2px solid var(--dg-gold); outline-offset: 2px; }
.dg-hide-m:empty { display: none; }
hr.is-style-dg-liteau.dg-liteau-dark { background: linear-gradient(180deg, #fff 0 5px, var(--dg-bx) 5px 8px, #fff 8px 10px, var(--dg-gold) 10px 11px, #fff 11px 13px, var(--dg-bx) 13px 16px, var(--dg-ink) 16px 22px); }
.dg-ft-bottom p { margin: 0; }
.dg-perks p > span { display: flex; flex-direction: column; color: var(--dg-muted); }

/* ==========================================================================
   v0.1.2 : corrections après premier rendu
   ========================================================================== */
/* Les grilles du thème gèrent leurs propres écarts : pas de marge haute automatique de WordPress. */
:is(.dg-bento, .dg-noel, .dg-maison, .dg-hero, .dg-facts, .dg-awards, .dg-duo, .dg-trust, .dg-ft-trust, .dg-ft-main, .dg-ft-bottom, .dg-cat-head-in, .dg-pdp-grid, .dg-reassure, .dg-perks, .dg-sec-head, .dg-header, .dg-header-row, .dg-hero-trust, .dg-toolbar, .dg-buybox, .dg-pdp-summary) > * { margin-block-start: 0 !important; }
.dg-main > *, .dg-header > *, .dg-footer > * { margin-block-start: 0 !important; }
/* Liseré : toute la largeur */
hr.wp-block-separator.is-style-dg-liteau { width: 100% !important; max-width: none !important; }
/* Hero sur fond sombre */
.dg-hero .is-style-dg-eyebrow { color: var(--dg-gold-soft); }
.dg-hero .wp-block-button.is-style-dg-ghost .wp-block-button__link { color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.55); }
.dg-hero .wp-block-button.is-style-dg-ghost .wp-block-button__link:hover { background: #fff; color: var(--dg-ink); }
.dg-hero .dg-ico::before { color: var(--dg-gold); }
/* Pied de page : respiration entre les paragraphes de coordonnées */
.dg-ft-main p + p { margin-top: 12px !important; }
.dg-ft-main .dg-ft-logo { margin-bottom: 16px !important; }
/* Tri des produits */
.dg-toolbar select.orderby { min-width: 230px; padding-right: 44px !important; }
/* Fiche produit : la galerie prend toute sa colonne */
.dg-pdp-gallery .woocommerce-product-gallery, .dg-pdp-gallery .images { width: 100% !important; float: none !important; }
.dg-pdp-summary .wp-block-woocommerce-product-summary p { margin: 0 0 8px; font-size: 16px; color: var(--dg-ink-2); }
.dg-pdp-summary .wp-block-woocommerce-product-summary p:last-child { margin-bottom: 0; }
.dg-buybox .single_variation_wrap .woocommerce-variation:empty, .dg-buybox .woocommerce-variation.single_variation:not(:has(*:not(:empty))) { display: none; }
/* Avatar du compte : icône sobre à la place de la photo */
.dg-header-actions .wc-block-customer-account__avatar { width: 22px !important; height: 22px !important; border-radius: 999px; }

/* ==========================================================================
   v0.2 : parité maquette et micro-interactions
   ========================================================================== */
:root { --dg-ease: cubic-bezier(.2, .7, .2, 1); --dg-spring: cubic-bezier(.34, 1.56, .64, 1); }

/* ---------- En-tête collant ---------- */
header.wp-block-template-part.dg-sticky { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 60; background: #fff; transition: box-shadow .3s var(--dg-ease); }
header.dg-sticky.is-scrolled { box-shadow: 0 10px 30px rgba(31,27,28,.08); }
/* Repli sans changement de hauteur : l'en-tête glisse vers le haut de la hauteur du bandeau rouge (aucun saut de page). */
header.wp-block-template-part.dg-sticky { transition: box-shadow .3s var(--dg-ease), transform .35s var(--dg-ease); will-change: transform; }
header.dg-sticky.is-hidden-bar { transform: translateY(calc(-1 * var(--dg-topbar-h, 38px))); }
@media (max-width: 782px) { header.wp-block-template-part.dg-sticky { top: 0; } }

/* Recherche : loupe dans le champ */
.dg-header-row .wp-block-search__inside-wrapper { padding-left: 46px !important; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F1B1C' stroke-width='1.7'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 18px center / 20px no-repeat !important; transition: box-shadow .25s; }
.dg-header-row .wp-block-search__inside-wrapper:focus-within { box-shadow: 0 0 0 4px rgba(135,10,16,.12); }
.dg-header-row .wp-block-search__button { transition: background .2s, transform .2s var(--dg-spring); }
.dg-header-row .wp-block-search__button:hover { transform: translateX(2px); }

/* Compte : icône silhouette au lieu de l'avatar, libellé sur deux lignes */
.dg-header-actions .wc-block-customer-account__avatar, .dg-header-actions .wc-block-customer-account__visual img { display: none !important; }
.dg-header-actions .wc-block-customer-account__link, .dg-header-actions .wc-block-customer-account a { display: inline-flex !important; align-items: center; gap: 10px; color: var(--dg-ink) !important; font-size: 14px; font-weight: 600; padding: 8px 12px; border-radius: 12px; transition: background .2s; }
.dg-header-actions .wc-block-customer-account__link::before, .dg-header-actions .wc-block-customer-account a::before { content: ""; width: 24px; height: 24px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1.5-4 4.5-6 8-6s6.5 2 8 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1.5-4 4.5-6 8-6s6.5 2 8 6'/%3E%3C/svg%3E") center / contain no-repeat; }
.dg-header-actions .wc-block-customer-account svg { display: none !important; }
.dg-header-actions .wc-block-customer-account a:hover { background: var(--dg-cream); }
/* Panier : pastille sombre avec libellé et compteur doré */
.dg-header-actions .wc-block-mini-cart__button { gap: 10px; min-height: 48px; padding: 0 18px !important; transition: background .2s, transform .2s var(--dg-spring); }
.dg-header-actions .wc-block-mini-cart__button::after { content: "Panier"; font-size: 14px; font-weight: 600; order: 1; }
.dg-header-actions .wc-block-mini-cart__quantity-badge { display: inline-flex; align-items: center; gap: 10px; }
.dg-header-actions .wc-block-mini-cart__badge { order: 2; position: static !important; transform: none !important; min-width: 22px; height: 22px; font-size: 12px; margin: 0 0 0 4px; }
.dg-header-actions .wc-block-mini-cart__button:hover { transform: translateY(-1px); }
@media (max-width: 1100px) { .dg-header-actions .wc-block-mini-cart__button::after, .dg-header-actions .wc-block-customer-account__account-label { display: none; } }
@keyframes dg-bump { 0% { transform: scale(1); } 35% { transform: scale(1.28); } 70% { transform: scale(.92); } 100% { transform: scale(1); } }
.dg-bump { animation: dg-bump .5s var(--dg-spring); }

/* ---------- Barre des catégories et méga-menu ---------- */
.dg-catbar-in { gap: 4px; min-height: 56px; }
.dg-catnav .wp-block-navigation-item__content { position: relative; transition: background .2s, color .2s; }
.dg-mega-btn { display: inline-flex; align-items: center; gap: 10px; height: 40px; padding: 0 16px 0 14px; border: 0; border-radius: 999px; background: var(--dg-ink); color: #fff; font: 600 15px var(--dg-sans); cursor: pointer; white-space: nowrap; transition: background .2s; }
.dg-mega-btn:hover, .dg-mega-btn[aria-expanded="true"] { background: #000; }
.dg-burger { display: inline-flex; flex-direction: column; gap: 3px; width: 16px; }
.dg-burger i { display: block; height: 2px; border-radius: 2px; background: currentColor; transition: transform .3s var(--dg-ease), opacity .2s; }
.dg-mega-btn[aria-expanded="true"] .dg-burger i:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.dg-mega-btn[aria-expanded="true"] .dg-burger i:nth-child(2) { opacity: 0; }
.dg-mega-btn[aria-expanded="true"] .dg-burger i:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }
.dg-header, .dg-catbar { position: relative; }
.dg-catbar { position: static; }
.dg-mega-panel { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 1px solid var(--dg-line); box-shadow: 0 30px 60px rgba(31,27,28,.12); opacity: 0; transform: translateY(-8px); transition: opacity .22s var(--dg-ease), transform .28s var(--dg-ease); z-index: 70; }
.dg-mega-panel.is-open { opacity: 1; transform: none; }
.dg-mega-in { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) 1.4fr; gap: 36px; padding-block: 36px 44px; }
.dg-mega-h { font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; margin: 0 0 12px; }
.dg-mega-h a { color: var(--dg-bx); }
.dg-mega-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.dg-mega-col li a { display: inline-block; padding: 6px 0; color: var(--dg-ink); font-size: 15px; transition: color .2s, transform .2s var(--dg-ease); }
.dg-mega-col li a:hover { color: var(--dg-bx); transform: translateX(4px); }
.dg-mega-feat { display: flex; gap: 18px; align-items: center; background: var(--dg-cream); border-radius: 16px; padding: 16px; color: var(--dg-ink) !important; transition: transform .3s var(--dg-ease), box-shadow .3s; }
.dg-mega-feat:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(31,27,28,.10); }
.dg-mega-feat img { width: 130px; height: 160px; object-fit: cover; border-radius: 12px; flex: none; }
.dg-mega-feat-body { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.dg-mega-feat-body .dg-badge { position: static; }
.dg-mega-feat-body b { font-size: 17px; line-height: 1.3; }
.dg-mega-price { font-size: 22px; font-weight: 700; color: var(--dg-bx); }
.dg-mega-price .dg-from { font-size: 13px; font-weight: 600; color: var(--dg-ink-2); }
@media (max-width: 1100px) { .dg-mega-in { grid-template-columns: repeat(4, minmax(0, 1fr)); } .dg-mega-feat { display: none; } }

/* Soulignement animé des liens de navigation */
.dg-catnav .wp-block-navigation-item:not(.dg-nav-pro) > .wp-block-navigation-item__content::before { content: ""; position: absolute; left: 14px; right: 14px; bottom: 7px; height: 2px; border-radius: 2px; background: var(--dg-bx); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--dg-ease); }
.dg-catnav .wp-block-navigation-item > .wp-block-navigation-item__content:hover::before { transform: scaleX(1); }
.dg-catnav .wp-block-navigation-item__content:hover { background: transparent !important; color: var(--dg-bx) !important; }
.dg-topnav a { position: relative; text-decoration: none !important; }

/* ---------- Boutons et liens : micro-interactions ---------- */
.wp-element-button, .wp-block-button__link { transition: background .25s, color .25s, box-shadow .25s, transform .25s var(--dg-spring); }
.wp-block-button:not(.dg-tabbar .wp-block-button) .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(31,27,28,.14); }
.wp-block-button__link:active, .dg-add:active, .dg-chip:active, .dg-var:active, .dg-mega-btn:active { transform: scale(.97) !important; }
.is-style-dg-link-arrow a, a.dg-link-arrow, .dg-link-arrow { display: inline-flex; align-items: center; gap: 8px; }
.is-style-dg-link-arrow a::after, a.dg-link-arrow::after, span.dg-link-arrow::after { content: "→"; display: inline-block; transition: transform .3s var(--dg-ease); }
.is-style-dg-link-arrow a:hover::after, a.dg-link-arrow:hover::after, .dg-mega-feat:hover .dg-link-arrow::after { transform: translateX(4px); }
.dg-add { position: relative; overflow: hidden; }
.dg-add:hover { box-shadow: 0 8px 18px rgba(135,10,16,.28); }
.dg-add.is-ghost:hover, .dg-add.is-light:hover { box-shadow: 0 8px 18px rgba(31,27,28,.12); }
.dg-add svg { transition: transform .35s var(--dg-spring); }
.dg-add:hover svg { transform: translateY(-1px) rotate(-8deg); }
.dg-add.is-done svg { animation: dg-pop .5s var(--dg-spring); }
.dg-add.is-loading::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent); animation: dg-shimmer 1s linear infinite; }
@keyframes dg-pop { 0% { transform: scale(.4); } 60% { transform: scale(1.25); } 100% { transform: scale(1); } }
@keyframes dg-shimmer { from { transform: translateX(-100%); } to { transform: translateX(100%); } }
.dg-chip { transition: border-color .2s, color .2s, background .2s, transform .2s var(--dg-spring); }
.dg-chip:hover:not(:disabled):not(.is-on) { transform: translateY(-1px); }
.dg-card-price { transition: color .2s; }
.dg-card-price.is-flash { animation: dg-flash .45s var(--dg-ease); }
@keyframes dg-flash { 0% { opacity: .2; transform: translateY(4px); } 100% { opacity: 1; transform: none; } }

/* Mosaïque : léger zoom de la photo et titre qui remonte */
.dg-tile { background-size: 0 0 !important; }
.dg-tile::after { content: ""; position: absolute; inset: 0; z-index: -2; background-image: inherit; background-size: cover; background-position: center; transition: transform .8s var(--dg-ease); }
.dg-tile:hover::after { transform: scale(1.07); }
.dg-tile h3, .dg-tile p { transition: transform .4s var(--dg-ease); }
.dg-tile:hover h3, .dg-tile:hover p { transform: translateY(-4px); }
.dg-tile:hover { transform: none; }
.dg-tile-cta { background-color: var(--dg-ink) !important; }
.dg-tile-cta::after { content: "→"; position: static; inset: auto; z-index: auto; background-image: none; transition: transform .35s var(--dg-spring), background .2s; }
.dg-tile-cta:hover::after { transform: translateX(6px); background: var(--dg-gold-soft); }

/* ---------- Hero : carte produit posée sur la photo ---------- */
.dg-hero-media { overflow: hidden; }
.dg-hero-media::before { content: ""; position: absolute; inset: 0; background-image: inherit; background-size: cover; background-position: inherit; transform: scale(1.06); animation: dg-kenburns 14s var(--dg-ease) forwards; }
@keyframes dg-kenburns { to { transform: scale(1); } }
.dg-hero-media .dg-seal { z-index: 2; }
.dg-hl { position: absolute; z-index: 2; left: 32px; bottom: 32px; width: min(400px, calc(100% - 64px)); background: #fff; color: var(--dg-ink); border-radius: 18px; padding: 12px; display: flex; gap: 14px; align-items: center; box-shadow: 0 20px 40px rgba(0,0,0,.22); animation: dg-rise .8s .35s var(--dg-ease) both; transition: transform .3s var(--dg-ease), box-shadow .3s; }
.dg-hl:hover { transform: translateY(-3px); box-shadow: 0 26px 50px rgba(0,0,0,.28); }
.dg-hl-img img { width: 80px; height: 80px; border-radius: 12px; object-fit: cover; display: block; background: var(--dg-cream); }
.dg-hl-body { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0; }
.dg-hl-tag { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #7A5413; }
.dg-hl-name { font-size: 15px; font-weight: 600; line-height: 1.3; color: var(--dg-ink) !important; }
.dg-hl-price, .dg-hl-price .amount { font-size: 20px; font-weight: 700; color: var(--dg-bx); }
.dg-hl-add { width: 48px; height: 48px; min-height: 48px; padding: 0 !important; border-radius: 12px !important; }
.dg-hl-add svg { transition: transform .35s var(--dg-spring); }
.dg-hl-add:hover svg { transform: rotate(90deg); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
@keyframes dg-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.dg-hero-txt > * { animation: dg-rise .8s var(--dg-ease) both; }
.dg-hero-txt > *:nth-child(2) { animation-delay: .08s; } .dg-hero-txt > *:nth-child(3) { animation-delay: .16s; } .dg-hero-txt > *:nth-child(4) { animation-delay: .24s; } .dg-hero-txt > *:nth-child(5) { animation-delay: .32s; }
@media (max-width: 900px) { .dg-hl { left: 16px; bottom: 16px; width: calc(100% - 32px); } }
@media (max-width: 680px) { .dg-hl-img img { width: 64px; height: 64px; } }

/* ---------- Onglets ---------- */
.dg-tabbar { gap: 8px !important; flex-wrap: wrap; }
.dg-tabbar .wp-block-button__link { background: #fff !important; color: var(--dg-ink) !important; box-shadow: inset 0 0 0 1px var(--dg-line) !important; padding: 10px 18px !important; font-size: 14px !important; font-weight: 500 !important; transform: none !important; }
.dg-tabbar .wp-block-button__link:hover { box-shadow: inset 0 0 0 1px var(--dg-ink) !important; }
.dg-tabbar .wp-block-button__link.is-on { background: var(--dg-ink) !important; color: #fff !important; box-shadow: none !important; font-weight: 600 !important; }
.dg-tabpanel[hidden] { display: none !important; }
.dg-tabpanel.is-in .dg-card { animation: dg-rise .5s var(--dg-ease) both; }
.dg-tabpanel.is-in .dg-card:nth-child(2) { animation-delay: .06s; } .dg-tabpanel.is-in .dg-card:nth-child(3) { animation-delay: .12s; } .dg-tabpanel.is-in .dg-card:nth-child(4) { animation-delay: .18s; }
.dg-tabs .dg-tabpanel { margin-top: 0 !important; }

/* ---------- Sous-catégories en pastilles ---------- */
.dg-subs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.dg-sub { display: inline-flex; align-items: center; gap: 10px; min-height: 54px; padding: 4px 16px 4px 4px; border-radius: 999px; background: #fff; color: var(--dg-ink) !important; font-size: 15px; font-weight: 600; box-shadow: inset 0 0 0 1px var(--dg-line); transition: box-shadow .2s, transform .25s var(--dg-spring), background .2s; }
.dg-sub img, .dg-sub .dg-sub-ph { width: 46px; height: 46px; border-radius: 999px; object-fit: cover; background: var(--dg-sand); display: block; transition: transform .4s var(--dg-ease); }
.dg-sub em { font-style: normal; font-size: 12px; font-weight: 600; color: var(--dg-muted); }
.dg-sub:hover { transform: translateY(-2px); box-shadow: inset 0 0 0 1px var(--dg-ink), 0 8px 18px rgba(31,27,28,.08); }
.dg-sub:hover img { transform: rotate(-6deg) scale(1.06); }
.dg-sub.is-on { background: var(--dg-ink); color: #fff !important; box-shadow: none; }
.dg-sub.is-on em { color: var(--dg-gold-soft); }
@media (max-width: 680px) { .dg-sub { min-height: 46px; font-size: 14px; padding: 3px 12px 3px 3px; } .dg-sub img, .dg-sub .dg-sub-ph { width: 38px; height: 38px; } }

/* ---------- Guide et questions (page Foie gras) ---------- */
.dg-guide-band hr.is-style-dg-orn { margin-bottom: 18px !important; }
.dg-guide-title { margin-bottom: 40px !important; font-size: var(--wp--preset--font-size--xx-large); }
.dg-guides { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.dg-guide { background: #fff; border: 1px solid var(--dg-line); border-radius: 16px; padding: 28px !important; display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 14px; row-gap: 8px; align-items: baseline; transition: transform .3s var(--dg-ease), box-shadow .3s; }
.dg-guide:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(31,27,28,.08); }
.dg-guide > * { margin: 0 !important; }
.dg-guide-n { font-family: var(--dg-serif); font-size: 34px; color: var(--dg-gold); line-height: 1; }
.dg-guide h3 { font-family: var(--dg-sans); font-size: 19px; line-height: 1.3; }
.dg-guide p:not(.dg-guide-n) { grid-column: 2; color: var(--dg-muted); }
.dg-faq { max-width: 860px; margin: 64px auto 0 !important; }
.dg-faq-title { font-size: var(--wp--preset--font-size--x-large); margin-bottom: 20px !important; }
@media (max-width: 900px) { .dg-guides { grid-template-columns: minmax(0, 1fr); } }

/* Accordéons (FAQ, fiche produit) */
.dg-acc { border-bottom: 1px solid var(--dg-line); margin: 0 !important; }
.dg-acc > summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; cursor: pointer; font-size: 17px; font-weight: 600; color: var(--dg-ink); transition: color .2s; }
.dg-acc > summary::-webkit-details-marker { display: none; }
.dg-acc > summary::after { content: "+"; flex: none; width: 30px; height: 30px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: var(--dg-cream); color: var(--dg-bx); font-size: 18px; font-weight: 500; transition: transform .3s var(--dg-spring), background .2s; }
.dg-acc[open] > summary::after { transform: rotate(45deg); background: var(--dg-gold-soft); }
.dg-acc > summary:hover { color: var(--dg-bx); }
.dg-acc > :not(summary) { padding-bottom: 18px; color: var(--dg-ink-2); }
.dg-acc[open] > :not(summary) { animation: dg-rise .35s var(--dg-ease) both; }
.dg-details .woocommerce-tabs.dg-accs { margin-top: 8px; }
.dg-details .woocommerce-Tabs-panel { margin: 0 !important; padding: 0 0 18px !important; display: block !important; }
.dg-details .woocommerce-Tabs-panel h2:first-child { display: none; }
.dg-acc-static { margin-top: 0 !important; }

/* ---------- Fiche produit : galerie, quantité, conseil, barre mobile ---------- */
.dg-pdp-gallery { position: relative; }
.dg-pdp-gallery .woocommerce-product-gallery { display: grid !important; grid-template-columns: 88px minmax(0, 1fr); gap: 20px; align-items: start; }
.dg-pdp-gallery .woocommerce-product-gallery .flex-viewport, .dg-pdp-gallery .woocommerce-product-gallery__wrapper { grid-column: 2; grid-row: 1; border-radius: 20px; overflow: hidden; }
.dg-pdp-gallery .flex-control-thumbs { grid-column: 1; grid-row: 1; flex-direction: column; margin: 0 !important; gap: 12px !important; }
.dg-pdp-gallery .flex-control-thumbs li { width: 88px !important; }
.dg-pdp-gallery .flex-control-thumbs img { border-radius: 12px; transition: opacity .2s, border-color .2s, transform .25s var(--dg-spring); }
.dg-pdp-gallery .flex-control-thumbs img:hover { opacity: 1; transform: scale(1.04); }
.dg-pdp-gallery .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) { grid-template-columns: minmax(0, 1fr); }
.dg-pdp-gallery .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) .woocommerce-product-gallery__wrapper { grid-column: 1; }
.dg-pdp-gallery .woocommerce-product-gallery__trigger { z-index: 3; left: auto; }
.dg-pdp-gallery > .dg-seal { position: absolute; right: 16px; top: 16px; z-index: 4; pointer-events: none; }
.dg-pdp-gallery:has(.dg-seal) .woocommerce-product-gallery__trigger { top: auto !important; bottom: 14px; }
@media (max-width: 1100px) { .dg-pdp-gallery .woocommerce-product-gallery { grid-template-columns: 64px minmax(0, 1fr); gap: 12px; } .dg-pdp-gallery .flex-control-thumbs li { width: 64px !important; } .dg-pdp-gallery > .dg-seal svg { width: 76px; height: 76px; } }
@media (max-width: 860px) { .dg-pdp-gallery .woocommerce-product-gallery { grid-template-columns: minmax(0, 1fr); } .dg-pdp-gallery .woocommerce-product-gallery .flex-viewport, .dg-pdp-gallery .woocommerce-product-gallery__wrapper { grid-column: 1; } .dg-pdp-gallery .flex-control-thumbs { grid-column: 1; grid-row: 2; flex-direction: row; } .dg-pdp-gallery .flex-control-thumbs li { width: 64px !important; } .dg-pdp-gallery > .dg-seal svg { width: 64px; height: 64px; } }
.dg-buybox .stock { display: inline-flex; align-items: center; gap: 8px; }
.dg-buybox .stock.in-stock::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--dg-ok); box-shadow: 0 0 0 0 rgba(47,107,58,.45); animation: dg-pulse 2.2s infinite; }
@keyframes dg-pulse { 70% { box-shadow: 0 0 0 8px rgba(47,107,58,0); } 100% { box-shadow: 0 0 0 0 rgba(47,107,58,0); } }
.dg-qty { display: inline-flex !important; align-items: center; height: 52px; border: 1px solid var(--dg-line); border-radius: 999px; background: #fff; }
.dg-qty .qty { border: 0 !important; width: 36px !important; min-height: 0 !important; height: 48px; text-align: center; background: transparent !important; -moz-appearance: textfield; }
.dg-qty .qty::-webkit-outer-spin-button, .dg-qty .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.dg-qty-btn { width: 44px; height: 48px; border: 0; background: transparent; font-size: 18px; color: var(--dg-ink); cursor: pointer; border-radius: 999px; transition: background .2s, transform .2s var(--dg-spring); }
.dg-qty-btn:hover { background: var(--dg-cream); }
.dg-buybox .single_add_to_cart_button { transition: background .25s, transform .25s var(--dg-spring), box-shadow .25s !important; }
.dg-buybox .single_add_to_cart_button:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(135,10,16,.25); }
.dg-var { transition: border-color .2s, box-shadow .2s, background .2s, transform .25s var(--dg-spring); }
.dg-var:hover:not(:disabled) { transform: translateX(3px); }
.dg-var-radio::after { transform: scale(0); transition: transform .3s var(--dg-spring); }
.dg-var.is-on .dg-var-radio::after { transform: scale(1); }
.dg-advice-band { margin-top: 0 !important; }
.dg-advice { background: var(--dg-ink); color: #E6DEDF; padding-block: var(--dg-section); }
.dg-advice-in { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.dg-advice h2 { color: #fff; font-size: var(--wp--preset--font-size--x-large); margin: 12px 0 0; }
.dg-advice .is-style-dg-eyebrow { color: var(--dg-gold-soft); margin: 0; }
.dg-advice-txt { margin-top: 12px !important; }
.dg-advice-pair { font-family: var(--dg-serif); font-size: 26px; font-weight: 600; color: #fff; line-height: 1.2; margin-top: 12px !important; }
.dg-advice .is-style-dg-link-arrow { margin-top: 16px !important; }
.dg-advice .is-style-dg-link-arrow a { color: #fff; }
@media (max-width: 1100px) { .dg-advice-in { gap: 32px; } }
@media (max-width: 860px) { .dg-advice-in { grid-template-columns: minmax(0, 1fr); gap: 24px; } .dg-advice .dg-seal svg { width: 96px; height: 96px; } }
.dg-stickybuy { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: none; align-items: center; justify-content: space-between; gap: 12px; padding: 12px var(--dg-gutter) calc(12px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--dg-line); box-shadow: 0 -10px 30px rgba(31,27,28,.10); transform: translateY(110%); transition: transform .35s var(--dg-ease); }
.dg-stickybuy.is-on { transform: none; }
.dg-stickybuy-price, .dg-stickybuy-price .amount { font-size: 22px; font-weight: 700; color: var(--dg-bx); white-space: nowrap; }
.dg-stickybuy-btn { flex: 1; max-width: 260px; min-height: 48px; border: 0; border-radius: 999px; background: var(--dg-bx); color: #fff; font: 600 15px var(--dg-sans); }
@media (max-width: 860px) { .dg-stickybuy { display: flex; } }

/* ---------- Apparitions au défilement ---------- */
.dg-reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s var(--dg-ease) var(--dg-delay, 0ms), transform .7s var(--dg-ease) var(--dg-delay, 0ms); }
.dg-reveal.dg-in { opacity: 1; transform: none; }
.dg-card.dg-reveal.dg-in:hover { transform: translateY(-2px); transition-delay: 0ms; }

/* ---------- Mouvement réduit : on coupe tout ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	.dg-reveal { opacity: 1; transform: none; }
}

/* ---------- v0.2.1 : corrections du contrôle PC et mobile ---------- */
/* Icône + texte : le texte reste un seul bloc (liens compris) */
.dg-ico { display: block !important; position: relative; padding-left: 34px; }
.dg-ico::before { position: absolute; left: 0; top: 50%; transform: translateY(-50%); margin: 0; }
.dg-reassure .dg-ico, .dg-ft-trust .dg-ico, .dg-hero-trust .dg-ico { padding-left: 46px; }
.dg-reassure .dg-ico::before { left: 16px; }
.dg-ft-trust .dg-ico, .dg-hero-trust .dg-ico { padding-left: 32px; }
.dg-perks .dg-ico::before { top: 2px; transform: none; }
/* Carte du hero : bordures comprises dans la largeur */
.dg-hl { box-sizing: border-box; }
/* Méga-menu : la carte produit prend toute sa colonne */
.dg-mega-feat-body { flex: 1; min-width: 0; }
.dg-mega-feat-body b { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
/* Barre des catégories : « Entreprises » calé à droite */
.dg-catbar-in > .dg-catnav { flex: 1; }
.dg-catnav .wp-block-navigation__container { width: 100%; }
/* Mobile */
@media (max-width: 900px) {
	.dg-header-row { flex-wrap: wrap !important; row-gap: 10px; }
	.dg-header-actions { flex-wrap: nowrap !important; gap: 4px; }
	.dg-header-actions .wc-block-customer-account a, .dg-header-actions .wc-block-customer-account__link { font-size: 0 !important; padding: 10px !important; gap: 0; }
	.dg-header-actions .wc-block-customer-account a::before { width: 24px; height: 24px; }
	.dg-header-actions .wc-block-mini-cart__button { padding: 0 14px !important; min-height: 44px; }
}
@media (max-width: 680px) {
	.dg-card-opts { flex-wrap: nowrap; }
	.dg-card-opts .dg-chip { flex: 1 1 0; min-width: 0; padding: 0 3px; font-size: 11px; overflow: hidden; text-overflow: clip; }
	.dg-ft-trust { gap: 16px 12px; }
	.dg-ft-trust p { font-size: 13px; }
}
.dg-pdp-gallery .wp-block-woocommerce-product-image-gallery, .dg-pdp-gallery .woocommerce-product-gallery { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }

/* ==========================================================================
   v0.2.2 : tailles resserrées (boutons, prix, champs, titres)
   ========================================================================== */
.dg-hero { min-height: 580px; }
.dg-hero-txt { padding-top: 72px; padding-bottom: 56px; }
.dg-hero-txt h1 { font-size: clamp(38px, 4.4vw, 62px); }
.dg-hero-txt .dg-lead { font-size: 17px; }
.dg-hero-trust { margin-top: 40px !important; padding-top: 22px; }
.dg-cat-head { padding-block: 22px 28px; }
.dg-cat-head h1 { font-size: clamp(32px, 3.6vw, 48px); margin-top: 10px; }
.dg-cat-head .wp-block-term-description { font-size: 16px; margin-top: 10px; }
.dg-sec-head { margin-bottom: 22px; }

/* Carte produit */
.dg-chip { min-height: 28px; padding: 0 10px; font-size: 12.5px; }
.dg-card-price, .dg-card-price .amount { font-size: 20px; }
.dg-card-price del, .dg-card-price del .amount { font-size: 13px; }
.dg-add { min-height: 38px; padding: 0 14px 0 12px; font-size: 13.5px; gap: 6px; }
.dg-add svg { width: 16px; height: 16px; }

/* En-tête */
.dg-header-row .wp-block-search__inside-wrapper { padding: 3px 3px 3px 42px !important; }
.dg-header-row .wp-block-search__input { font-size: 14.5px; padding: 6px 4px; }
.dg-header-row .wp-block-search__button { padding: 8px 16px; font-size: 13.5px; }
.dg-header-actions .wc-block-mini-cart__button { min-height: 42px; padding: 0 16px !important; }
.dg-header-actions .wc-block-mini-cart__button::after { font-size: 13.5px; }
.dg-catnav, .dg-catbar-in { min-height: 50px; }
.dg-catnav { font-size: 14.5px; }

/* Onglets, pastilles */
.dg-tabbar .wp-block-button__link { padding: 8px 16px !important; font-size: 13.5px !important; }
.dg-sub { min-height: 46px; gap: 8px; padding: 3px 14px 3px 3px; font-size: 14px; }
.dg-sub img, .dg-sub .dg-sub-ph { width: 40px; height: 40px; }

/* Carte du hero, méga-menu */
.dg-hl-img img { width: 68px; height: 68px; }
.dg-hl-price, .dg-hl-price .amount { font-size: 18px; }
.dg-hl-add { width: 42px; height: 42px; min-height: 42px; }
.dg-mega-feat img { width: 110px; height: 136px; }
.dg-mega-feat-body b { font-size: 16px; }

/* Fiche produit */
.dg-pdp-grid { gap: 56px; }
.dg-pdp-summary { gap: 14px; }
.dg-pdp-summary h1 { font-size: clamp(30px, 3vw, 44px); }
.dg-pdp-summary .wp-block-post-excerpt { font-size: 16px; }
.dg-pdp-price .price, .dg-pdp-price .amount, .dg-pdp-price .wc-block-components-product-price { font-size: 38px !important; }
.dg-pdp-price del, .dg-pdp-price del .amount { font-size: 19px !important; }
.dg-buybox .quantity .qty { min-height: 46px; width: 64px; font-size: 15px; }
.dg-buybox .single_add_to_cart_button { min-height: 46px; font-size: 15px !important; }
.dg-qty { height: 46px; }
.dg-qty .qty { height: 42px; }
.dg-qty-btn { width: 38px; height: 42px; font-size: 16px; }
.dg-var { padding: 11px 14px; }
.dg-var-main b { font-size: 15px; }
.dg-var-price strong { font-size: 16px; }
.dg-stickybuy-price, .dg-stickybuy-price .amount { font-size: 19px; }
.dg-stickybuy-btn { min-height: 44px; font-size: 14.5px; }
.wc-block-components-button:not(.is-link) { min-height: 46px; }
.woocommerce form .input-text, .woocommerce form select { min-height: 44px; }

@media (max-width: 680px) {
	.dg-hero { min-height: 0; }
	.dg-add { min-height: 36px; padding: 0 12px 0 10px; font-size: 13px; }
	.dg-card-price, .dg-card-price .amount { font-size: 18px; }
	.dg-header-actions .wc-block-mini-cart__button { min-height: 40px; }
}

/* ==========================================================================
   v0.3 : pages (maison, entreprises, professionnels, contact), formulaires,
   pages éditoriales, blog, article, 404, pages légales
   ========================================================================== */
:is(.dg-timeline, .dg-pillars, .dg-split, .dg-ehero, .dg-how, .dg-formwrap, .dg-ct, .dg-ctfaq, .dg-404, .dg-f2, .dg-uses, .dg-ed-hero-in, .dg-art-cta) > * { margin-block-start: 0 !important; }
.dg-i-clock { --dg-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.dg-split-btns { margin-top: 28px !important; gap: 10px; }
.dg-sub-lead { color: var(--dg-ink-2); max-width: 620px; margin-top: 10px !important; }

/* Bandeau photo (maison) */
.dg-phero { position: relative; min-height: 540px; display: flex; align-items: flex-end; color: #fff; overflow: hidden; }
.dg-phero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(20,14,15,.82), rgba(20,14,15,.08) 62%); }
.dg-phero-in { position: relative; z-index: 1; padding-bottom: clamp(40px, 6vw, 72px); }
.dg-phero h1 { color: #fff; max-width: 760px; margin-top: 12px !important; }
.dg-phero .is-style-dg-eyebrow { color: var(--dg-gold-soft); }
.dg-quote { font-family: var(--dg-serif); font-size: clamp(26px, 3vw, 40px); font-weight: 500; line-height: 1.2; max-width: 980px; color: var(--dg-ink); }

/* Chronologie */
.dg-timeline { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; margin-top: 44px !important; }
.dg-tl { border-top: 2px solid var(--dg-bx); padding-top: 18px; display: flex; flex-direction: column; gap: 10px; }
.dg-tl > * { margin: 0 !important; }
.dg-tl-n { font-family: var(--dg-serif); font-size: 36px; font-weight: 600; color: var(--dg-bx); line-height: 1; }
.dg-tl p:not(.dg-tl-n) { color: var(--dg-ink-2); font-size: 15px; }

/* Piliers */
.dg-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.dg-pillar { background: #fff; border-radius: 18px; padding: 28px !important; display: flex; flex-direction: column; gap: 10px; transition: transform .3s var(--dg-ease), box-shadow .3s; }
.dg-pillar:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(31,27,28,.08); }
.dg-pillar > * { margin: 0 !important; }
.dg-pillar-n { font-family: var(--dg-serif); font-size: 48px; font-weight: 600; color: var(--dg-bx); line-height: 1; }
.dg-pillar h3 { font-family: var(--dg-sans); font-size: 16px; line-height: 1.3; }
.dg-pillar p:not(.dg-pillar-n) { color: var(--dg-ink-2); font-size: 15px; }

/* Texte et image */
.dg-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.dg-split h2 { margin-top: 12px !important; }
.dg-split .dg-lead { margin-top: 16px !important; }
.dg-split-img { margin: 0; border-radius: 22px; overflow: hidden; aspect-ratio: 5 / 4; }
.dg-split-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s var(--dg-ease); }
.dg-split-img:hover img { transform: scale(1.03); }
.dg-infos { display: flex; flex-direction: column; gap: 12px; margin-top: 24px !important; }
.dg-infos > * { margin: 0 !important; }
.dg-infos a { color: var(--dg-ink); font-weight: 600; }
.dg-infos.is-lined { gap: 0; margin-top: 0 !important; }
.dg-infos.is-lined > p { padding-block: 18px; border-bottom: 1px solid var(--dg-line); }
.dg-infos.is-lined > p:first-child { padding-top: 4px; }
.dg-infos.is-lined strong { display: block; margin-bottom: 2px; }

/* Entreprises et professionnels */
.dg-ehero { display: grid; grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: center; }
.dg-ehero h1 { margin-top: 12px !important; font-size: clamp(34px, 4vw, 56px); }
.dg-ehero .dg-lead { margin-top: 16px !important; }
.dg-ehero-img { margin: 0; border-radius: 22px; overflow: hidden; aspect-ratio: 1 / 1; background: var(--dg-cream); }
.dg-ehero-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dg-seg { display: inline-flex !important; background: #fff; border-radius: 999px; padding: 5px; gap: 4px !important; margin-bottom: 28px !important; box-shadow: inset 0 0 0 1px var(--dg-line); }
.dg-seg .wp-block-button__link { box-shadow: none !important; background: transparent !important; color: var(--dg-ink) !important; }
.dg-seg .wp-block-button__link.is-on { background: var(--dg-ink) !important; color: #fff !important; }
.dg-segs .dg-tabpanel h2 { max-width: 760px; }
.dg-segs .dg-tabpanel .dg-lead { margin-top: 12px !important; }
.dg-uses { list-style: none; padding: 0 !important; margin: 24px 0 0 !important; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.dg-uses.is-one { grid-template-columns: minmax(0, 1fr); gap: 8px; }
.dg-uses li { margin: 0 !important; display: flex; gap: 12px; align-items: flex-start; padding: 16px 18px; border-radius: 14px; background: #fff; border: 1px solid var(--dg-line); font-weight: 500; transition: border-color .2s, transform .25s var(--dg-ease); }
.dg-uses.is-one li { padding: 0; border: 0; background: none; }
.dg-uses li:hover { border-color: rgba(135,10,16,.35); transform: translateX(2px); }
.dg-uses li::before { content: ""; flex: none; width: 20px; height: 20px; margin-top: 1px; background: var(--dg-bx); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / contain no-repeat; }
.dg-how { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 36px !important; }
.dg-how-step { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 16px; align-items: start; }
.dg-how-step > * { margin: 0 !important; }
.dg-how-n { font-family: var(--dg-serif); font-size: 46px; font-weight: 600; color: var(--dg-gold); line-height: .9; grid-row: span 2; min-width: 52px; }
.dg-how-step h3 { font-family: var(--dg-sans); font-size: 17px; line-height: 1.3; margin-top: 4px !important; }
.dg-how-step p:not(.dg-how-n) { grid-column: 2; color: var(--dg-ink-2); margin-top: 6px !important; }
.dg-formwrap { display: grid; grid-template-columns: 1fr 1.2fr; gap: 56px; align-items: start; }
.dg-formwrap h2 { margin-top: 12px !important; }
.dg-formwrap .dg-lead { margin-top: 14px !important; }

/* Formulaires */
.dg-form-box { background: #fff; border: 1px solid var(--dg-line); border-radius: 20px; padding: clamp(20px, 3vw, 32px); box-shadow: 0 20px 50px rgba(31,27,28,.06); scroll-margin-top: 140px; }
.dg-f2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.dg-field { margin: 0 !important; display: flex; flex-direction: column; gap: 6px; }
.dg-field.is-wide { grid-column: 1 / -1; }
.dg-field label { font-size: 13.5px; font-weight: 600; color: var(--dg-ink); }
.dg-field label span { color: var(--dg-bx); }
.dg-field :is(input, select, textarea) { width: 100%; box-sizing: border-box; min-height: 46px; padding: 10px 14px; border: 1px solid var(--dg-line); border-radius: 12px; background: #fff; font: 400 15px/1.4 var(--dg-sans); color: var(--dg-ink); transition: border-color .2s, box-shadow .2s; }
.dg-field textarea { min-height: 130px; resize: vertical; }
.dg-field select { appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F1B1C' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center / 16px no-repeat; padding-right: 40px; }
.dg-field :is(input, select, textarea):hover { border-color: rgba(31,27,28,.35); }
.dg-field :is(input, select, textarea):focus { outline: 0; border-color: var(--dg-bx); box-shadow: 0 0 0 4px rgba(135,10,16,.1); }
.dg-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.dg-form-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; flex-wrap: wrap; }
.dg-form-note { margin: 0; font-size: 13px; color: var(--dg-muted); }
.dg-form-btn { border: 0; cursor: pointer; transition: background .2s, transform .2s var(--dg-spring), box-shadow .2s; }
.dg-form-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(135,10,16,.25); }
.dg-form-err { margin: 0 0 14px; padding: 12px 14px; border-radius: 12px; background: #FBF0EF; color: var(--dg-bx); font-size: 14px; font-weight: 500; }
.dg-form-ok { text-align: center; padding: 28px 8px; animation: dg-rise .5s var(--dg-ease) both; }
.dg-form-ok h3 { font-size: 26px; margin: 14px 0 8px; }
.dg-form-ok p { color: var(--dg-ink-2); margin: 0 auto 18px; max-width: 420px; }
.dg-form-ok-ico { display: inline-block; width: 56px; height: 56px; border-radius: 999px; background: var(--dg-ok); -webkit-mask: none; position: relative; animation: dg-pop .6s var(--dg-spring) both; }
.dg-form-ok-ico::after { content: ""; position: absolute; inset: 14px; background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / contain no-repeat; }

/* Contact */
.dg-ct-title { margin-top: 12px !important; margin-bottom: 36px !important; }
.dg-ct { display: grid; grid-template-columns: 1fr 1.15fr; gap: 48px; align-items: start; }
.dg-mapcard { position: relative; border-radius: 22px; overflow: hidden; aspect-ratio: 16 / 10; margin-top: 24px !important; display: flex; align-items: flex-end; padding: 18px !important; box-sizing: border-box; }
.dg-mapcard::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(20,14,15,.45), transparent 55%); }
.dg-mapcard > * { position: relative; z-index: 1; margin: 0 !important; }
.dg-ct-h { font-size: 28px; margin-bottom: 16px !important; }
.dg-ctfaq { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 48px; align-items: start; }
.dg-ctfaq h2 { margin-top: 12px !important; }
.dg-ctfaq .dg-acc { margin: 0 !important; }

/* Pages éditoriales (contenus repris du site actuel) */
.dg-ed-hero { background: var(--dg-cream); padding-block: clamp(36px, 5vw, 64px); }
.dg-ed-hero-in { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.dg-ed-hero h1 { margin-top: 12px !important; font-size: clamp(32px, 3.6vw, 50px); }
.dg-ed-hero .dg-lead { margin-top: 14px !important; font-family: var(--dg-serif); font-size: clamp(20px, 2vw, 24px); font-style: italic; color: var(--dg-ink-2); }
.dg-ed-hero .wp-block-image { margin: 0; border-radius: 22px; overflow: hidden; aspect-ratio: 4 / 3; background: #fff; }
.dg-ed-hero .wp-block-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dg-ed-hero-in > :only-child { grid-column: 1 / -1; max-width: 860px; }

/* Typographie de lecture (articles, pages éditoriales, pages légales) */
.dg-prose { padding-block: clamp(36px, 5vw, 56px); padding-inline: var(--dg-gutter); font-size: 17px; line-height: 1.7; color: var(--dg-ink-2); }
.dg-prose > * { max-width: 720px; }
.dg-prose > * + * { margin-block-start: 1.1em !important; }
.dg-prose :is(h2, h3, h4) { color: var(--dg-ink); }
.dg-prose h2 { font-size: clamp(26px, 2.6vw, 34px); margin-block-start: 1.8em !important; line-height: 1.15; }
.dg-prose h3 { font-family: var(--dg-sans); font-size: 19px; font-weight: 700; line-height: 1.35; margin-block-start: 1.5em !important; }
.dg-prose h4 { font-family: var(--dg-sans); font-size: 17px; font-weight: 700; }
.dg-prose :is(h2, h3) + * { margin-block-start: .6em !important; }
.dg-prose .is-style-dg-eyebrow { margin-block-start: 2.6em !important; font-size: 12px; line-height: 1.4; }
.dg-prose .is-style-dg-eyebrow + h2 { margin-block-start: .35em !important; }
.dg-prose strong { color: var(--dg-ink); font-weight: 600; }
.dg-prose a:not(.wp-element-button) { color: var(--dg-bx); text-decoration: underline; text-decoration-color: rgba(135,10,16,.3); text-underline-offset: 3px; transition: text-decoration-color .2s; }
.dg-prose a:not(.wp-element-button):hover { text-decoration-color: currentColor; }
.dg-prose :is(ul, ol) { padding-left: 1.3em; }
.dg-prose li + li { margin-top: .4em; }
.dg-prose ul li::marker { color: var(--dg-bx); }
.dg-prose .wp-block-image { margin-block: 1.8em !important; }
.dg-prose .wp-block-image img { border-radius: 16px; width: 100%; height: auto; max-height: 560px; object-fit: cover; }
.dg-prose .wp-block-image.aligncenter { text-align: center; }
.dg-prose .wp-block-image figcaption { font-size: 14px; color: var(--dg-muted); text-align: center; }
.dg-prose .wp-block-table { margin-block: 1.6em !important; overflow-x: auto; border: 1px solid var(--dg-line); border-radius: 14px; }
.dg-prose .wp-block-table table { border-collapse: collapse; width: 100%; font-size: 15px; line-height: 1.5; }
.dg-prose .wp-block-table :is(th, td) { border: 0; border-bottom: 1px solid var(--dg-line); padding: 12px 16px; text-align: left; vertical-align: top; }
.dg-prose .wp-block-table thead th { background: var(--dg-cream); color: var(--dg-ink); font-weight: 600; font-size: 14px; }
.dg-prose .wp-block-table tbody tr:last-child td { border-bottom: 0; }
.dg-prose .wp-block-table tbody tr:hover td { background: #FDFBF8; }
.dg-prose .wp-block-buttons { margin-block: 1.6em !important; }
.dg-prose .dg-acc { max-width: 720px; }
.dg-prose .dg-acc + .dg-acc { margin-block-start: 0 !important; }
.dg-prose .dg-acc > summary { font-size: 17px; }
.dg-prose iframe { width: 100%; border-radius: 16px; }

/* Blog */
.dg-blog-head { background: var(--dg-cream); padding-block: clamp(36px, 5vw, 64px); }
.dg-blog-head h1 { margin-top: 12px !important; }
.dg-blog-head .dg-lead { margin-top: 14px !important; }
.dg-blog { padding-top: clamp(32px, 4vw, 48px); }
.dg-posts { gap: 32px 24px !important; }
.dg-post-body { display: flex; flex-direction: column; gap: 8px; }
.dg-post-body > * { margin: 0 !important; }
.dg-post-meta { gap: 0 !important; font-size: 13px; color: var(--dg-muted); }
.dg-post-meta > * { margin: 0 !important; }
.dg-post-meta > * + *::before { content: "·"; margin: 0 8px; }
.dg-post-ex { font-size: 15px; color: var(--dg-ink-2); }
.dg-post-ex .wp-block-post-excerpt__excerpt { margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.dg-post-ex .wp-block-post-excerpt__more-text { margin: 10px 0 0; }
.dg-post-ex .wp-block-post-excerpt__more-link { font-size: 14px; font-weight: 600; color: var(--dg-ink); border-bottom: 1px solid currentColor; padding-bottom: 1px; }
.dg-post-ex .wp-block-post-excerpt__more-link:hover { color: var(--dg-bx); }
.dg-post-img img { aspect-ratio: 3 / 2; height: auto !important; }
.dg-posts > li { min-width: 0; }
@media (min-width: 900px) {
	.dg-blog-grid > li:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: center; padding-bottom: 16px; margin-bottom: 8px; border-bottom: 1px solid var(--dg-line); }
	.dg-blog-grid > li:first-child .dg-post-img { border-radius: 22px; }
	.dg-blog-grid > li:first-child .dg-post-img img { aspect-ratio: 16 / 10; }
	.dg-blog-grid > li:first-child .dg-post-title { font-family: var(--dg-serif) !important; font-size: clamp(28px, 3vw, 40px) !important; font-weight: 600 !important; line-height: 1.1 !important; }
	.dg-blog-grid > li:first-child .dg-post-ex { font-size: 17px; }
	.dg-blog-grid > li:first-child .dg-post-body { gap: 12px; }
	.dg-blog-grid > li:first-child .dg-post-meta::before { content: "À la une"; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; font-size: 11px; color: var(--dg-bx); margin-right: 12px; }
}
.dg-pagination { margin-top: 48px !important; gap: 6px; font-weight: 600; }
.dg-pagination :is(a, span.current) { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px; border-radius: 999px; color: var(--dg-ink); box-shadow: inset 0 0 0 1px var(--dg-line); transition: background .2s, box-shadow .2s; }
.dg-pagination a:hover { box-shadow: inset 0 0 0 1px var(--dg-ink); }
.dg-pagination span.current { background: var(--dg-ink); color: #fff; box-shadow: none; }

/* Article */
.dg-art-head { text-align: center; padding-top: clamp(32px, 5vw, 56px); max-width: 920px !important; }
.dg-art-crumb { margin: 0; }
.dg-art-crumb a { font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--dg-bx); }
.dg-art-crumb a::before { content: "← "; }
.dg-art-title { font-size: clamp(32px, 4vw, 52px) !important; margin-top: 14px !important; text-wrap: balance; }
.dg-art-head .dg-post-meta { margin-top: 14px !important; font-size: 14px; }
.dg-art-media { margin-top: clamp(24px, 3vw, 36px) !important; max-width: 1120px !important; }
.dg-art-img { margin: 0; border-radius: 22px; overflow: hidden; }
.dg-art-img img { width: 100%; object-fit: cover; }
.dg-article .dg-prose { padding-top: clamp(32px, 4vw, 48px); }
.dg-article .dg-prose > p:first-child { font-size: 19px; color: var(--dg-ink); }
.dg-art-cta { max-width: calc(720px + 2 * var(--dg-gutter)) !important; margin-bottom: clamp(40px, 5vw, 64px) !important; }
.dg-art-cta { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.dg-art-cta::before { content: none; }
.dg-art-cta-in > * { margin: 0 !important; }
.dg-art-cta-in p:not(.is-style-dg-eyebrow) { margin-top: 6px !important; color: var(--dg-ink-2); max-width: 420px; }
.dg-art-cta { position: relative; }
.dg-art-cta > .dg-art-cta-in, .dg-art-cta > .wp-block-buttons { position: relative; z-index: 1; }
.dg-art-cta { padding-block: 24px !important; background: linear-gradient(var(--dg-cream), var(--dg-cream)) padding-box; border-radius: 20px; }
.dg-art-cta .wp-block-buttons { gap: 8px; }

/* 404 */
.dg-404-sec { background: var(--dg-cream); }
.dg-404 { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.dg-404 h1 { margin-top: 12px !important; font-size: clamp(34px, 4vw, 54px); }
.dg-404 .dg-lead { margin-top: 14px !important; }
.dg-404-search { margin-top: 24px !important; max-width: 560px; }
.dg-404-search .wp-block-search__inside-wrapper { border: 1.5px solid var(--dg-ink); border-radius: 999px; padding: 4px 4px 4px 18px; background: #fff; }
.dg-404-search .wp-block-search__input { border: 0; background: transparent; font-size: 15px; outline: 0; }
.dg-404-search .wp-block-search__button { margin: 0; border-radius: 999px; padding: 9px 18px; font-size: 14px; }
.dg-404-art { position: relative; display: grid; place-items: center; }
.dg-404-n { margin: 0 !important; font-family: var(--dg-serif); font-weight: 600; font-size: clamp(120px, 18vw, 240px); line-height: .8; color: transparent; -webkit-text-stroke: 2px var(--dg-bx); letter-spacing: -.02em; animation: dg-rise .8s var(--dg-ease) both; }
.dg-404-art .dg-seal { position: absolute; right: 8%; bottom: -10%; animation: dg-pop .8s .3s var(--dg-spring) both; }

/* Pages légales (modèle « page ») */
.dg-page:not(.dg-article) .wp-block-post-content { font-size: 16px; line-height: 1.7; color: var(--dg-ink-2); }
.dg-page .wp-block-post-content h2 { font-size: clamp(22px, 2.2vw, 28px); margin-top: 1.6em; }
.dg-page .wp-block-post-content :is(p, li) > a { color: var(--dg-bx); text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1100px) {
	.dg-timeline { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	.dg-pillars, .dg-split, .dg-ehero, .dg-formwrap, .dg-how, .dg-ct, .dg-ctfaq, .dg-ed-hero-in, .dg-404 { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.dg-split.is-rev > :last-child { order: -1; }
	.dg-ehero-img { aspect-ratio: 16 / 10; }
	.dg-404-art { display: none; }
}
@media (max-width: 680px) {
	.dg-timeline, .dg-uses, .dg-f2 { grid-template-columns: minmax(0, 1fr); }
	.dg-phero { min-height: 440px; }
	.dg-prose { font-size: 16px; }
	.dg-seg { display: flex !important; }
	.dg-seg .wp-block-button { flex: 1; }
	.dg-seg .wp-block-button__link { width: 100%; padding-inline: 10px !important; font-size: 13px !important; }
	.dg-form-foot { flex-direction: column-reverse; align-items: stretch; }
	.dg-form-btn { width: 100%; }
	.dg-art-cta { flex-direction: column; align-items: flex-start; }
}

/* v0.3 : en-tête mobile sur une seule ligne (menu, logo, compte, panier) */
@media (max-width: 680px) {
	.dg-header-row { column-gap: 8px !important; }
	.dg-header-row .wp-block-site-logo img { height: 38px; }
	.dg-mobilenav .wp-block-navigation__responsive-container-open { padding: 9px 12px; font-size: 13.5px; }
	.dg-header-actions { gap: 0 !important; }
	.dg-header-actions .wc-block-customer-account a, .dg-header-actions .wc-block-customer-account__link { padding: 8px !important; }
	.dg-header-actions .wc-block-mini-cart__button { padding: 0 12px !important; min-height: 40px; gap: 6px; }
}
.dg-infos .dg-ico::before { top: 2px; transform: none; }
.dg-infos.is-lined .dg-ico::before { top: 20px; }
.dg-infos.is-lined > p:first-child.dg-ico::before { top: 6px; }
.dg-infos.is-lined strong + br { display: none; }
.dg-ct-title, .dg-ehero h1, .dg-ed-hero h1, .dg-phero h1, .dg-404 h1 { text-wrap: balance; }
:where(h1, h2, h3) { text-wrap: balance; }

/* ==========================================================================
   v0.3.3 : en-tête (actions calées à droite) et menu mobile
   ========================================================================== */
.dg-header-actions { margin-left: auto !important; }

/* L'en-tête collant ne doit pas enfermer le menu plein écran (transform et will-change créent un repère). */
header.dg-sticky:has(.is-menu-open) { transform: none !important; will-change: auto !important; transition: none !important; }
body:has(.dg-mobilenav .is-menu-open) { overflow: hidden; }

.dg-mobilenav .wp-block-navigation__responsive-container.is-menu-open {
	position: fixed; inset: 0; top: var(--wp-admin--admin-bar--height, 0px); z-index: 100000;
	background: #fff !important; color: var(--dg-ink) !important;
	padding: 16px var(--dg-gutter) 32px !important; overflow-y: auto;
	animation: dg-menu-in .3s var(--dg-ease) both;
}
@keyframes dg-menu-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.dg-mobilenav .is-menu-open .wp-block-navigation__responsive-close { width: 100%; max-width: none; }
.dg-mobilenav .is-menu-open .wp-block-navigation__responsive-container-close {
	position: static; margin-left: auto; display: flex; align-items: center; justify-content: center;
	width: 42px; height: 42px; border-radius: 999px; background: var(--dg-cream); color: var(--dg-ink);
}
.dg-mobilenav .is-menu-open .wp-block-navigation__responsive-container-close svg { width: 22px; height: 22px; }
.dg-mobilenav .is-menu-open .wp-block-navigation__responsive-dialog { margin-top: 0 !important; display: flex; flex-direction: column; gap: 12px; }
.dg-mobilenav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 0 !important; align-items: stretch !important; }
.dg-mobilenav .is-menu-open .wp-block-navigation__container {
	display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px !important; width: 100%; align-items: stretch !important;
}
.dg-mobilenav .is-menu-open .wp-block-navigation-item { width: 100%; margin: 0 !important; }
.dg-mobilenav .is-menu-open .wp-block-navigation-item__content { display: flex !important; align-items: center; width: 100%; box-sizing: border-box; padding: 0 !important; color: var(--dg-ink) !important; text-decoration: none; }

/* Toute la boutique : bouton plein */
.dg-mobilenav .is-menu-open .dg-nav-all { grid-column: 1 / -1; margin-bottom: 10px !important; }
.dg-mobilenav .is-menu-open .dg-nav-all .wp-block-navigation-item__content {
	justify-content: center; min-height: 48px; border-radius: 999px; background: var(--dg-ink); color: #fff !important; font-size: 15px !important; font-weight: 600 !important;
}
/* Catégories : lignes larges avec flèche */
.dg-mobilenav .is-menu-open .dg-nav-cat { grid-column: 1 / -1; border-bottom: 1px solid var(--dg-line); }
.dg-mobilenav .is-menu-open .dg-nav-cat .wp-block-navigation-item__content {
	justify-content: space-between; min-height: 54px; font-family: var(--dg-serif); font-size: 24px !important; font-weight: 600 !important;
}
.dg-mobilenav .is-menu-open .dg-nav-cat .wp-block-navigation-item__content::after {
	content: ""; width: 18px; height: 18px; flex: none; background: var(--dg-bx);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .2s var(--dg-ease);
}
.dg-mobilenav .is-menu-open .dg-nav-cat .wp-block-navigation-item__content:active::after { transform: translateX(3px); }
/* Liens secondaires : deux colonnes, puis le téléphone en bouton */
.dg-mobilenav .is-menu-open .dg-nav-tel { grid-column: 1 / -1; margin-top: 16px !important; }
.dg-mobilenav .is-menu-open .dg-nav-tel .wp-block-navigation-item__content {
	justify-content: center; gap: 8px; min-height: 48px; border-radius: 999px; box-shadow: inset 0 0 0 1.5px var(--dg-ink); font-size: 15px !important; font-weight: 600 !important;
}
.dg-mobilenav .is-menu-open .dg-nav-tel .wp-block-navigation-item__content::before {
	content: ""; width: 18px; height: 18px; background: var(--dg-bx);
	-webkit-mask: var(--dg-i) center / contain no-repeat; mask: var(--dg-i) center / contain no-repeat;
	--dg-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E");
}
/* Sous 600 px, la barre d'administration défile avec la page : le menu part du haut de l'écran. */


/* ==========================================================================
   v0.3.5 : formulaires Forminator (style « aucun ») aux couleurs du thème
   ========================================================================== */
.dg-form-fm .forminator-ui { font-family: var(--dg-sans); }
.dg-form-fm .forminator-row { display: flex; gap: 14px; margin: 0 0 14px !important; }
.dg-form-fm .forminator-col { flex: 1 1 0; min-width: 0; }
.dg-form-fm .forminator-field { display: flex; flex-direction: column; gap: 6px; }
.dg-form-fm .forminator-label { font-size: 13.5px; font-weight: 600; color: var(--dg-ink); }
.dg-form-fm .forminator-required { color: var(--dg-bx); }
.dg-form-fm :is(.forminator-input, .forminator-textarea, select) { width: 100%; box-sizing: border-box; min-height: 46px; padding: 10px 14px; border: 1px solid var(--dg-line); border-radius: 12px; background: #fff; font: 400 15px/1.4 var(--dg-sans); color: var(--dg-ink); transition: border-color .2s, box-shadow .2s; }
.dg-form-fm .forminator-textarea { min-height: 130px; resize: vertical; }
.dg-form-fm select { appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F1B1C' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center / 16px no-repeat; padding-right: 40px; }
.dg-form-fm :is(.forminator-input, .forminator-textarea, select):hover { border-color: rgba(31,27,28,.35); }
.dg-form-fm :is(.forminator-input, .forminator-textarea, select):focus { outline: 0; border-color: var(--dg-bx); box-shadow: 0 0 0 4px rgba(135,10,16,.1); }
.dg-form-fm .forminator-has_error :is(.forminator-input, .forminator-textarea, select) { border-color: var(--dg-bx); }
.dg-form-fm .forminator-error-message { font-size: 13px; color: var(--dg-bx); }
.dg-form-fm .forminator-description { font-size: 12.5px; color: var(--dg-muted); }
.dg-form-fm .forminator-button-submit { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 26px; border: 0; border-radius: 999px; background: var(--dg-bx); color: #fff; font: 600 14.5px var(--dg-sans); cursor: pointer; transition: background .2s, transform .2s var(--dg-spring), box-shadow .2s; }
.dg-form-fm .forminator-button-submit:hover { background: var(--dg-bx-dark); transform: translateY(-2px); box-shadow: 0 10px 22px rgba(135,10,16,.25); }
.dg-form-fm .forminator-row-last, .dg-form-fm .forminator-row:last-of-type { margin-bottom: 0 !important; }
.dg-form-fm .forminator-response-message { margin-bottom: 14px; border-radius: 12px; font-size: 14.5px; }
.dg-form-fm .forminator-response-message:not(:empty) { padding: 14px 16px; }
.dg-form-fm .forminator-response-message.forminator-success { background: #EEF5EF; color: #2F6B3A; }
.dg-form-fm .forminator-response-message.forminator-error { background: #FBF0EF; color: var(--dg-bx); }
.dg-form-fm .forminator-response-message p { margin: 0; }
.dg-form-fm > .dg-form-note { margin: 14px 0 0; }
.dg-form-fm .forminator-hidden, .dg-form-fm .forminator-screen-reader-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
@media (max-width: 680px) { .dg-form-fm .forminator-row { flex-direction: column; } .dg-form-fm .forminator-button-submit { width: 100%; } }
.dg-form-fm .forminator-col { margin: 0 !important; }
.dg-form-fm .forminator-row { align-items: flex-start; }

/* Logo plus présent (hauteur fixe : pas de variation au défilement, sinon l'en-tête collant saute) */
.dg-header-row .wp-block-site-logo img { height: 72px; }
@media (max-width: 900px) { .dg-header-row .wp-block-site-logo img { height: 48px; } }
@media (max-width: 680px) { .dg-header-row .wp-block-site-logo img { height: 40px; } }

/* ==========================================================================
   v0.4 : hero d'accueil refait, logo agrandi, burger mobile animé,
   recherche instantanée
   ========================================================================== */

/* ---------- Hero : grande photo arrondie dans le conteneur ---------- */
.dg-hero2-sec { padding-top: 20px; }
.dg-hero2 { background-position: 50% 78% !important; padding: 0 !important; position: relative; isolation: isolate; overflow: hidden; border-radius: 28px; min-height: clamp(540px, 64vh, 680px); display: flex; align-items: center; color: #fff; background-color: #1A1314; }
.dg-hero2::before { content: ""; position: absolute; inset: 0; z-index: -2; background-image: inherit; background-size: cover; background-position: inherit; transform: scale(1.08); animation: dg-kenburns 14s var(--dg-ease) forwards; }
.dg-hero2::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(22,15,16,.95) 0%, rgba(22,15,16,.86) 30%, rgba(22,15,16,.45) 58%, rgba(22,15,16,.08) 100%), linear-gradient(0deg, rgba(22,15,16,.5), rgba(22,15,16,0) 45%); }
.dg-hero2-txt { position: relative; z-index: 1; width: min(640px, 58%); padding: clamp(40px, 6vw, 76px) clamp(28px, 5vw, 68px) !important; box-sizing: border-box; }
.dg-hero2-txt > * { margin: 0 !important; animation: dg-rise .8s var(--dg-ease) both; }
.dg-hero2-txt > *:nth-child(2) { animation-delay: .08s; } .dg-hero2-txt > *:nth-child(3) { animation-delay: .16s; } .dg-hero2-txt > *:nth-child(4) { animation-delay: .24s; } .dg-hero2-txt > *:nth-child(5) { animation-delay: .32s; }
.dg-hero2-kicker { display: inline-flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--dg-gold-soft); }
.dg-hero2 h1 { color: #fff; font-size: clamp(40px, 4.8vw, 70px); line-height: 1.02; margin-top: 18px !important; text-wrap: balance; }
.dg-hero2 h1 em { display: block; font-style: italic; font-weight: 500; color: var(--dg-gold); }
.dg-hero2 .dg-lead { color: #EDE5E6; font-size: 17px; max-width: 500px; margin-top: 20px !important; }
.dg-hero2-ctas { margin-top: 30px !important; gap: 10px; }
.dg-hero2 .wp-block-button.is-style-dg-ghost .wp-block-button__link { color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.6); }
.dg-hero2 .wp-block-button.is-style-dg-ghost .wp-block-button__link:hover { background: #fff; color: var(--dg-ink); }
.dg-hero2-trust { margin-top: 30px !important; gap: 8px !important; }
.dg-hero2-trust p { margin: 0 !important; padding: 8px 14px 8px 38px !important; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); color: #F1EAEB; font-size: 13.5px; font-weight: 500; }
.dg-hero2-trust .dg-ico::before { left: 14px; width: 17px; height: 17px; background: var(--dg-gold); }
.dg-hero2 > .dg-seal { position: absolute; top: 28px; right: 28px; z-index: 2; }
.dg-hero2 .dg-hl { position: absolute; z-index: 2; left: auto; right: 28px; bottom: 28px; width: min(380px, calc(100% - 56px)); }
@media (max-width: 1100px) { .dg-hero2-txt { width: min(600px, 66%); } }
@media (max-width: 900px) {
	.dg-hero2-sec { padding-top: 12px; }
	.dg-hero2 { display: block; min-height: 0; border-radius: 22px; background-position: 50% 70% !important; }
	.dg-hero2::after { background: linear-gradient(180deg, rgba(22,15,16,.05) 0, rgba(22,15,16,.35) 160px, rgba(22,15,16,.92) 300px, rgba(22,15,16,.97) 100%); }
	.dg-hero2-txt { width: auto; padding: 250px 22px 20px !important; }
	.dg-hero2 h1 { font-size: clamp(36px, 9vw, 48px); }
	.dg-hero2 .dg-lead { font-size: 16px; }
	.dg-hero2-ctas .wp-block-button { flex: 1 1 100%; }
	.dg-hero2-ctas .wp-block-button__link { width: 100%; }
	.dg-hero2 > .dg-seal { top: 16px; right: 16px; }
	.dg-hero2 > .dg-seal svg { width: 84px; height: 84px; }
	.dg-hero2 .dg-hl { position: relative; left: auto; right: auto; bottom: auto; width: auto; margin: 4px 16px 16px; }
}

/* ---------- Logo : plus présent, marges blanches du fichier absorbées ---------- */
.dg-header-row { min-height: 108px; }
.dg-header-row .wp-block-site-logo img { height: 96px; margin: -7px -18px -10px; }
@media (max-width: 900px) { .dg-header-row { min-height: 80px; } .dg-header-row .wp-block-site-logo img { height: 66px; margin: -5px -12px -7px; } }
@media (max-width: 680px) { .dg-header-row { min-height: 0; padding-top: 12px !important; } .dg-header-row .wp-block-site-logo img { height: 70px; margin: -5px -12px -8px; } }

/* ---------- Burger mobile : bouton rond, panneau qui glisse, liens en cascade ---------- */
@media (max-width: 680px) {
	.dg-mobilenav .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; padding: 0 !important; justify-content: center; border-radius: 999px; }
	.dg-mobilenav .wp-block-navigation__responsive-container-open::after { content: none !important; }
}
.dg-mobilenav .wp-block-navigation__responsive-container-open { transition: transform .2s var(--dg-spring), background .2s; }
.dg-mobilenav .wp-block-navigation__responsive-container-open:active { transform: scale(.92); }
@keyframes dg-panel-in { from { opacity: 0; transform: translateX(-28px); } to { opacity: 1; transform: none; } }
.dg-mobilenav .wp-block-navigation__responsive-container.is-menu-open { animation: dg-panel-in .38s var(--dg-ease) both !important; }
.dg-mobilenav .is-menu-open .wp-block-navigation__responsive-container-close { animation: dg-pop .45s .1s var(--dg-spring) both; }
.dg-mobilenav .is-menu-open .wp-block-navigation-item { animation: dg-rise .5s var(--dg-ease) both; }
.dg-mobilenav .is-menu-open .wp-block-navigation-item:nth-child(1) { animation-delay: .06s; }
.dg-mobilenav .is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay: .1s; }
.dg-mobilenav .is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay: .14s; }
.dg-mobilenav .is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay: .18s; }
.dg-mobilenav .is-menu-open .wp-block-navigation-item:nth-child(5) { animation-delay: .22s; }
.dg-mobilenav .is-menu-open .wp-block-navigation-item:nth-child(6) { animation-delay: .26s; }
.dg-mobilenav .is-menu-open .wp-block-navigation-item:nth-child(7) { animation-delay: .3s; }
.dg-mobilenav .is-menu-open .wp-block-navigation-item:nth-child(n+8) { animation-delay: .36s; }
.dg-mobilenav .is-menu-open .dg-nav-cat .wp-block-navigation-item__content { transition: padding .25s var(--dg-ease), color .2s; }
.dg-mobilenav .is-menu-open .dg-nav-cat .wp-block-navigation-item__content:active { padding-left: 6px !important; color: var(--dg-bx) !important; }

/* ---------- Recherche instantanée ---------- */
.dg-ac-form { position: relative; }
.dg-ac { position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 90; box-sizing: border-box; background: #fff; border-radius: 18px; padding: 8px; max-height: min(70vh, 560px); overflow: auto; overscroll-behavior: contain; box-shadow: 0 24px 60px rgba(31,27,28,.18), 0 0 0 1px var(--dg-line); animation: dg-ac-in .22s var(--dg-ease) both; text-align: left; }
.dg-ac[hidden] { display: none; }
@keyframes dg-ac-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.dg-ac-h { margin: 8px 10px 4px; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--dg-muted); }
.dg-ac-group { display: flex; flex-direction: column; }
.dg-ac-item { text-decoration: none; }
.dg-ac-prod { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 7px 10px; border-radius: 12px; color: var(--dg-ink) !important; animation: dg-ac-in .26s var(--dg-ease) both; animation-delay: calc(var(--i, 0) * 30ms); }
.dg-ac-prod img, .dg-ac-ph { width: 48px; height: 48px; border-radius: 10px; object-fit: cover; background: var(--dg-cream); display: block; }
.dg-ac-txt { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.dg-ac-cat { font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--dg-muted); }
.dg-ac-name { font-size: 14.5px; font-weight: 600; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dg-ac-price { font-size: 14px; font-weight: 700; color: var(--dg-bx); white-space: nowrap; }
.dg-ac-item.is-active, .dg-ac-prod:hover, .dg-ac-post:hover { background: var(--dg-cream); }
.dg-ac mark { background: var(--dg-gold-soft); color: inherit; border-radius: 3px; padding: 0 1px; }
.dg-ac-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 2px 10px 6px; }
.dg-ac-chip { padding: 6px 12px; border-radius: 999px; border: 1px solid var(--dg-line); font-size: 13.5px; font-weight: 600; color: var(--dg-ink) !important; transition: border-color .2s, background .2s; }
.dg-ac-chip em { font-style: normal; font-weight: 500; font-size: 12px; color: var(--dg-muted); }
.dg-ac-chip:hover, .dg-ac-chip.is-active { border-color: var(--dg-ink); background: var(--dg-cream); }
.dg-ac-post { display: block; padding: 8px 10px; border-radius: 10px; font-size: 14px; color: var(--dg-ink-2) !important; }
.dg-ac-all { display: flex; justify-content: center; gap: 6px; margin-top: 8px; padding: 12px; border-radius: 12px; background: var(--dg-ink); color: #fff !important; font-size: 14px; font-weight: 600; transition: background .2s; }
.dg-ac-all:hover, .dg-ac-all.is-active { background: #000; }
.dg-ac-empty { margin: 0; padding: 14px; font-size: 14px; color: var(--dg-muted); }
.dg-ac-form.is-ac-loading .wp-block-search__inside-wrapper { background-image: none !important; }
.dg-ac-form.is-ac-loading .wp-block-search__inside-wrapper::before { content: ""; position: absolute; left: 16px; top: 50%; width: 16px; height: 16px; margin-top: -8px; border-radius: 999px; border: 2px solid var(--dg-line); border-top-color: var(--dg-bx); animation: dg-turn .7s linear infinite; }
.dg-ac-form .wp-block-search__inside-wrapper { position: relative; }
@media (max-width: 680px) { .dg-ac { max-height: 62vh; border-radius: 16px; } .dg-ac-prod { grid-template-columns: 44px minmax(0, 1fr) auto; } .dg-ac-prod img, .dg-ac-ph { width: 44px; height: 44px; } }
@media (prefers-reduced-motion: reduce) { .dg-hero2::before, .dg-hero2-txt > *, .dg-mobilenav .is-menu-open *, .dg-ac, .dg-ac-prod { animation: none !important; } }
/* Hero : la photo occupe la partie droite, le texte reste sur un fond uni qui se fond dans l'image */
@media (min-width: 901px) {
	.dg-hero2::before { left: 34%; background-position: 50% 72% !important; }
	.dg-hero2::after { background: linear-gradient(90deg, #1A1314 0%, #1A1314 34%, rgba(26,19,20,.72) 42%, rgba(26,19,20,.18) 58%, rgba(26,19,20,0) 70%), linear-gradient(0deg, rgba(26,19,20,.35), rgba(26,19,20,0) 40%); }
}
@media (max-width: 900px) {
	.dg-hero2::before { bottom: auto; height: 340px; background-position: 50% 74% !important; }
	.dg-hero2::after { background: linear-gradient(180deg, rgba(26,19,20,0) 0, rgba(26,19,20,.2) 150px, rgba(26,19,20,.9) 290px, #1A1314 340px, #1A1314 100%); }
}

/* Menu mobile : logo en tête du panneau, aligné sur le bouton de fermeture */
.dg-mobilenav .is-menu-open .wp-block-navigation__responsive-dialog { position: relative; }
.dg-mobilenav .is-menu-open .wp-block-navigation__responsive-dialog::before { content: ""; position: absolute; left: 0; top: -4px; width: 120px; height: 50px; background: url("../images/logo.webp") left center / contain no-repeat; animation: dg-rise .45s var(--dg-ease) both; }


/* Menu mobile : liens secondaires en liste simple */
.dg-mobilenav .is-menu-open .dg-nav-sec:not(.dg-nav-tel) { grid-column: 1 / -1; margin: 0 !important; border: 0 !important; }
.dg-mobilenav .is-menu-open .dg-nav-cat + .dg-nav-sec { margin-top: 14px !important; }
.dg-mobilenav .is-menu-open .dg-nav-sec:not(.dg-nav-tel) .wp-block-navigation-item__content { min-height: 40px; font-size: 15.5px !important; font-weight: 500 !important; color: var(--dg-ink-2) !important; }

/* Logo : proportions d'origine respectées (aucune largeur maximale qui l'écraserait) */
.dg-header-row .wp-block-site-logo, .dg-header-row .wp-block-site-logo a { width: auto !important; max-width: none !important; flex: none; }
.dg-header-row .wp-block-site-logo img { width: auto !important; max-width: none !important; aspect-ratio: 480 / 234; object-fit: contain; }

/* Mosaïque des catégories : la grande tuile Foie gras garde une forme proche du carré à toutes les tailles */
@media (max-width: 1100px) {
	.dg-bento { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 210px; }
	.dg-tile-big { grid-column: span 2; grid-row: span 2; }
	.dg-tile-cta { grid-column: 1 / -1; min-height: 0; }
}
@media (max-width: 680px) {
	.dg-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 170px; }
	.dg-tile-big { grid-column: span 2; grid-row: span 2; }
	.dg-tile-cta { grid-column: auto; }
}

/* ==========================================================================
   v0.4.8 : barre d'onglets mobile et libellé « Menu » sous le burger
   ========================================================================== */
.dg-tabnav { display: none; }
@media (max-width: 680px) {
	.dg-tabnav {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 95; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
		padding: 6px 8px calc(6px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.96);
		-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-top: 1px solid var(--dg-line);
		box-shadow: 0 -8px 24px rgba(31,27,28,.06); transition: transform .35s var(--dg-ease);
	}
	body.has-dg-tabnav { padding-bottom: 0; }
	body.has-dg-tabnav .dg-footer { padding-bottom: calc(64px + env(safe-area-inset-bottom)) !important; }
	body.dg-buybar-on .dg-tabnav { transform: translateY(110%); }
	.dg-tab { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 52px; padding: 0; border: 0; border-radius: 14px; background: transparent; color: var(--dg-ink-2) !important; font: 600 11px/1 var(--dg-sans); text-decoration: none; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: background .2s, color .2s, transform .15s var(--dg-spring); }
	.dg-tab:active { transform: scale(.92); background: var(--dg-cream); }
	.dg-tab.is-current { color: var(--dg-bx) !important; }
	.dg-tab svg { display: block; }
	.dg-tab-count { position: absolute; top: 4px; left: calc(50% + 6px); min-width: 18px; height: 18px; padding: 0 5px; box-sizing: border-box; border-radius: 999px; background: var(--dg-bx); color: #fff; font: 700 10.5px/18px var(--dg-sans); text-align: center; }
	.dg-tab-count[hidden] { display: none; }
	.dg-ac-form.dg-ping .wp-block-search__inside-wrapper { animation: dg-ping .7s var(--dg-ease); }
	/* Burger du haut : icône et libellé « Menu » */
	.dg-mobilenav .wp-block-navigation__responsive-container-open { flex-direction: column; gap: 1px; width: 48px !important; height: 48px !important; border-radius: 14px !important; }
	.dg-mobilenav .wp-block-navigation__responsive-container-open svg { width: 20px; height: 20px; }
	.dg-mobilenav .wp-block-navigation__responsive-container-open::after { content: "Menu" !important; display: block !important; font-size: 10px; font-weight: 600; line-height: 1; letter-spacing: .02em; }
}
@keyframes dg-ping { 0% { box-shadow: 0 0 0 0 rgba(135,10,16,.35); } 100% { box-shadow: 0 0 0 10px rgba(135,10,16,0); } }

/* Hero d'accueil sur ordinateur : le fond s'étire sur toute la largeur, le contenu reste aligné sur le conteneur */
@media (min-width: 901px) {
	.dg-hero2-sec { padding-top: 0; --dg-edge: max(var(--dg-gutter), calc((100vw - var(--dg-wide)) / 2 + var(--dg-gutter))); }
	.dg-hero2-sec > .dg-wrap { max-width: none !important; padding-inline: 0 !important; }
	.dg-hero2 { border-radius: 0; min-height: clamp(560px, 68vh, 720px); }
	.dg-hero2-txt { width: calc(var(--dg-edge) + 600px); max-width: 64%; padding-left: var(--dg-edge) !important; padding-right: 40px !important; }
	.dg-hero2 .dg-hl { right: var(--dg-edge); bottom: 36px; }
	.dg-hero2::before { left: 36%; }
	.dg-hero2::after { background: linear-gradient(90deg, #1A1314 0%, #1A1314 36%, rgba(26,19,20,.7) 44%, rgba(26,19,20,.15) 60%, rgba(26,19,20,0) 72%), linear-gradient(0deg, rgba(26,19,20,.35), rgba(26,19,20,0) 40%); }
}

/* ==========================================================================
   v0.4.9 : en-tête mobile, logo centré et panier en icône avec pastille en exposant
   ========================================================================== */
@media (max-width: 900px) {
	.dg-header-row { display: grid !important; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; column-gap: 8px !important; row-gap: 10px; }
	.dg-header-row > .dg-mobilenav { grid-column: 1; grid-row: 1; justify-self: start; }
	.dg-header-row > .wp-block-site-logo { grid-column: 2; grid-row: 1; justify-self: center; margin: 0 !important; }
	.dg-header-row > .dg-header-actions { grid-column: 3; grid-row: 1; justify-self: end; margin: 0 !important; }
	.dg-header-row > .wp-block-search { grid-column: 1 / -1; grid-row: 2; margin: 0 !important; }
}
/* En-tête mobile compact : bandeau et recherche masqués sans changer la hauteur réservée (pas de saut) */
@media (max-width: 900px) {
	header.wp-block-template-part.dg-sticky { transition: transform .35s var(--dg-ease), clip-path .35s var(--dg-ease), box-shadow .3s var(--dg-ease); }
	header.dg-sticky.is-compact { transform: translateY(calc(-1 * var(--dg-topbar-h, 38px))); clip-path: inset(0 0 var(--dg-search-cut, 60px) 0); }
	header.dg-sticky.is-compact .dg-header-row > .wp-block-search { opacity: 0; pointer-events: none; transition: opacity .2s; }
	header.dg-sticky.is-compact .dg-header-row::after { content: ""; position: absolute; left: 0; right: 0; bottom: calc(var(--dg-search-cut, 60px) - 1px); height: 1px; background: var(--dg-line); }
	.dg-header-row { position: relative; }
}


/* ==========================================================================
   v0.5 : compte et panier harmonisés (ordinateur et mobile), menu mobile
   réparé, soulignements parasites supprimés
   ========================================================================== */

/* Le menu plein écran et le tiroir du panier ne doivent jamais être enfermés par l'en-tête collant */
header.dg-sticky:has(.is-menu-open), header.dg-sticky:has(.wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden)) { transform: none !important; clip-path: none !important; will-change: auto !important; }

/* Compte et panier v0.5.2 : même pilule, même icône 24 px, même survol, alignés à droite */
.dg-header-actions { display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 4px !important; margin-left: auto !important; }
.dg-header-actions > * { margin: 0 !important; }
.dg-header-actions .wp-block-woocommerce-customer-account { display: flex; }
.dg-header-actions .wc-block-customer-account__link, .dg-header-actions .wc-block-mini-cart__button {
	position: relative; display: inline-flex !important; align-items: center !important; justify-content: center; gap: 0 !important;
	height: 44px; min-height: 44px !important; box-sizing: border-box; padding: 0 16px 0 12px !important; margin: 0 !important;
	border: 0; border-radius: 999px; background: transparent !important; color: var(--dg-ink) !important; white-space: nowrap;
	font: 600 14px/1 var(--dg-sans) !important; text-decoration: none !important; box-shadow: none !important; transform: none !important; transition: background .2s, color .2s;
}
.dg-header-actions .wc-block-customer-account__link:hover, .dg-header-actions .wc-block-customer-account__link:focus-visible,
.dg-header-actions .wc-block-mini-cart__button:hover, .dg-header-actions .wc-block-mini-cart__button:focus-visible { background: var(--dg-cream) !important; color: var(--dg-bx) !important; }
/* Compte : seule l'icône du thème est gardée, tout le reste d'origine (avatar, svg vide) disparaît */
.dg-header-actions .wc-block-customer-account__link :is(svg, img, .wc-block-customer-account__visual, .wc-block-customer-account__account-icon, .wc-block-customer-account__avatar) { display: none !important; }
.dg-header-actions .wc-block-customer-account__link * { margin: 0 !important; padding: 0 !important; font: inherit !important; color: inherit !important; }
.dg-header-actions .wc-block-customer-account__link::before { width: 24px !important; height: 24px !important; margin: 0 8px 0 0 !important; flex: none; }
/* Panier : icône puis libellé, pastille en exposant sur l'icône */
.dg-header-actions .wc-block-mini-cart__quantity-badge { position: relative !important; display: inline-flex !important; align-items: center; gap: 0 !important; margin: 0 8px 0 0 !important; order: 1; }
.dg-header-actions .wc-block-mini-cart__icon { display: none !important; }
.dg-header-actions .wc-block-mini-cart__quantity-badge::before { content: ""; display: block; width: 24px; height: 24px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M4.5 8h15l-1.1 11.6a1.6 1.6 0 0 1-1.6 1.4H7.2a1.6 1.6 0 0 1-1.6-1.4L4.5 8z'/%3E%3Cpath d='M8.5 10.5V7a3.5 3.5 0 0 1 7 0v3.5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M4.5 8h15l-1.1 11.6a1.6 1.6 0 0 1-1.6 1.4H7.2a1.6 1.6 0 0 1-1.6-1.4L4.5 8z'/%3E%3Cpath d='M8.5 10.5V7a3.5 3.5 0 0 1 7 0v3.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.dg-header-actions .wc-block-mini-cart__button::after { content: "Panier" !important; display: inline !important; order: 2; font: inherit; }
.dg-header-actions .wc-block-mini-cart__amount, .dg-header-actions .wc-block-mini-cart__tax-label { display: none !important; }
.dg-header-actions .wc-block-mini-cart__badge {
	position: absolute !important; top: -7px !important; left: 14px !important; right: auto !important; bottom: auto !important; transform: none !important; order: 0;
	display: flex !important; align-items: center; justify-content: center; min-width: 19px !important; height: 19px !important; padding: 0 4px !important; margin: 0 !important; box-sizing: border-box;
	border: 2px solid #fff !important; border-radius: 999px; background: var(--dg-bx) !important; color: #fff !important;
	font: 700 10px/1 var(--dg-sans) !important; transition: border-color .2s; pointer-events: none;
}
.dg-header-actions .wc-block-mini-cart__badge:empty { display: none !important; }
.dg-header-actions .wc-block-mini-cart__button:is(:hover, :focus-visible) .wc-block-mini-cart__badge { border-color: var(--dg-cream) !important; }
/* Libellés visibles tant que la recherche est sur la même ligne ; dessous, icônes seules en boutons ronds de 44 px */
@media (max-width: 900px) {
	.dg-header-actions .wc-block-customer-account__link, .dg-header-actions .wc-block-mini-cart__button { width: 44px; padding: 0 !important; overflow: visible; font-size: 0 !important; }
	.dg-header-actions .wc-block-customer-account__link { overflow: hidden !important; }
	.dg-header-actions .wc-block-customer-account__link * { display: none !important; }
	.dg-header-actions .wc-block-customer-account__link::before { margin: 0 !important; }
	.dg-header-actions .wc-block-mini-cart__button::after { display: none !important; content: none !important; }
	.dg-header-actions .wc-block-mini-cart__quantity-badge { margin: 0 !important; }
}

/* Numéros de téléphone : jamais coupés */
a[href^="tel:"], .dg-nowrap { white-space: nowrap !important; }

/* Soulignements : aucun par défaut, sauf dans les textes de lecture et les mentions de commande */
body a:not(.dg-prose a, .dg-page .wp-block-post-content :is(p, li) > a, .wc-block-checkout__terms a, .wc-block-components-checkbox__label a, .woocommerce-privacy-policy-text a, .wp-block-woocommerce-checkout-terms-block a),
body a:not(.dg-prose a):hover, body button, body .wp-element-button, body .wc-block-components-button, body .wc-block-components-product-name, body .wc-block-components-product-name:hover { text-decoration: none !important; }
.dg-prose a:not(.wp-element-button), .dg-page .wp-block-post-content :is(p, li) > a:not(.wp-element-button) { text-decoration: underline !important; }
.dg-trust a, .dg-perks a, .dg-ft-trust a { color: inherit !important; font-weight: 600; }
/* Menu mobile ouvert : la barre d'onglets s'efface pour ne rien masquer */
body:has(.dg-mobilenav .is-menu-open) .dg-tabnav, body:has(.wp-block-navigation__responsive-container.is-menu-open) .dg-tabnav { transform: translateY(110%) !important; pointer-events: none; }
/* Récapitulatif panier et commande : plus de filets entre chaque bloc, code promo en champ discret, un seul filet avant le total */
:is(.wp-block-woocommerce-cart-order-summary-block, .wp-block-woocommerce-checkout-order-summary-block) { padding: 18px 20px 20px !important; }
:is(.wp-block-woocommerce-cart-order-summary-block, .wp-block-woocommerce-checkout-order-summary-block) .wc-block-components-totals-wrapper { border: 0 !important; padding: 6px 0 !important; }
:is(.wp-block-woocommerce-cart-order-summary-block, .wp-block-woocommerce-checkout-order-summary-block) .wc-block-components-totals-wrapper::after { display: none !important; }
:is(.wp-block-woocommerce-cart-order-summary-block, .wp-block-woocommerce-checkout-order-summary-block) .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item) { border-top: 1px solid rgba(31, 27, 28, .12) !important; margin-top: 10px; padding-top: 14px !important; }
:is(.wp-block-woocommerce-cart-order-summary-block, .wp-block-woocommerce-checkout-order-summary-block) .wc-block-components-totals-item { padding-block: 4px !important; }
.wc-block-components-totals-coupon.wc-block-components-panel { background: #fff !important; border: 0 !important; border-radius: 14px !important; padding: 0 !important; margin: 4px 0 8px !important; }
.wc-block-components-totals-coupon .wc-block-components-panel__button { position: relative; margin: 0 !important; padding: 14px 44px 14px 16px !important; border: 0 !important; font: 600 14px/1.2 var(--dg-sans) !important; color: var(--dg-ink) !important; text-decoration: none !important; }
.wc-block-components-totals-coupon .wc-block-components-panel__button .wc-block-components-panel__button-icon { right: 14px !important; color: var(--dg-bx); }
.wc-block-components-totals-coupon .wc-block-components-panel__content { padding: 0 16px 16px !important; }
.wc-block-components-totals-coupon__form { gap: 8px; }
.wc-block-components-totals-coupon__form .wc-block-components-text-input input { border-radius: 10px !important; }
.wc-block-components-totals-coupon__button { border-radius: 999px !important; }
:is(.wp-block-woocommerce-cart-order-summary-totals-block, .wp-block-woocommerce-checkout-order-summary-totals-block) { border: 0 !important; padding-top: 4px !important; }

/* Icônes + texte v0.5.8 : l'icône et le texte forment une ligne flex, toujours centrés verticalement l'un sur l'autre */
.dg-ico { display: flex !important; align-items: center !important; gap: 12px; padding-left: 0 !important; }
.dg-ico::before { position: static !important; transform: none !important; margin: 0 !important; top: auto !important; left: auto !important; flex: none; align-self: center; }
.dg-ico > .dg-ico-t { display: block; flex: 1 1 auto; min-width: 0; }
.dg-ft-trust .dg-ico, .dg-hero-trust .dg-ico { gap: 10px; }
.dg-reassure .dg-ico { padding: 12px 16px !important; }
@media (max-width: 680px) { .dg-reassure .dg-ico { padding: 10px 14px !important; } }
.dg-hero2-trust .dg-ico { padding: 8px 14px !important; gap: 8px; }
/* Blocs titre + texte (fiche produit, coordonnées) : l'icône s'aligne sur la ligne du titre */
.dg-perks .dg-ico, .dg-infos .dg-ico { align-items: flex-start !important; }
.dg-perks .dg-ico::before, .dg-infos .dg-ico::before { align-self: flex-start; margin-top: 1px !important; }
.dg-perks .dg-ico > .dg-ico-t { display: block !important; }
/* Bandeau du haut : rien ne passe à la ligne ; entre 901 et 1180 px on ne garde que le message et le téléphone */
.dg-topbar, .dg-topbar * { white-space: nowrap; }
@media (min-width: 901px) and (max-width: 1180px) { .dg-topnav .wp-block-navigation-item:not(:last-child) { display: none !important; } }

/* Champs : 16 px minimum sur écrans tactiles, sinon iOS zoome au focus (on garde le zoom manuel, pas de maximum-scale) */
@media (pointer: coarse), (max-width: 1100px) {
	input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"]), select, textarea,
	.wp-block-search__input, .wc-block-components-text-input input, .wc-blocks-components-select__select, .wc-block-components-quantity-selector__input, .forminator-ui .forminator-input, .forminator-ui .forminator-textarea { font-size: 16px !important; }
}

/* Boutique : la barre « Affichage de… / Tri » respire autant au-dessus qu'en dessous */
.dg-shop-main { padding-top: 32px; }
.dg-shop-main .dg-toolbar { margin: 0 0 28px !important; }
.dg-shop-main .dg-shop-grid { margin-top: 0 !important; }
@media (max-width: 680px) { .dg-shop-main { padding-top: 20px; } .dg-shop-main .dg-toolbar { margin-bottom: 20px !important; } }

/* Page de résultats de recherche */
.dg-sr-head { background: var(--dg-cream); padding-block: clamp(28px, 4vw, 48px) 0; }
.dg-sr-title { margin: 10px 0 0 !important; font-size: clamp(30px, 3.6vw, 46px); }
.dg-sr-title em { color: var(--dg-bx); }
.dg-sr-sum { margin: 10px 0 0 !important; color: var(--dg-muted); font-size: 15px; }
.dg-sr-form { display: flex; align-items: center; gap: 6px; max-width: 640px; margin-top: 22px; padding: 4px 4px 4px 46px; border: 1.5px solid var(--dg-ink); border-radius: 999px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F1B1C' stroke-width='1.7'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 18px center / 20px no-repeat; }
.dg-sr-form:focus-within { box-shadow: 0 0 0 4px rgba(135, 10, 16, .12); }
.dg-sr-form input { flex: 1; min-width: 0; border: 0 !important; outline: 0; background: transparent; font-size: 16px; padding: 10px 4px; }
.dg-sr-form button { flex: none; margin: 0; border-radius: 999px; padding: 11px 20px; font-size: 14px; }
.dg-sr-tabs { display: flex; gap: 4px; margin-top: 26px; overflow-x: auto; scrollbar-width: none; }
.dg-sr-tabs::-webkit-scrollbar { display: none; }
.dg-sr-tabs a { flex: none; display: inline-flex; align-items: center; gap: 8px; padding: 12px 16px 14px; border-bottom: 2px solid transparent; color: var(--dg-ink-2); font: 600 15px/1 var(--dg-sans); white-space: nowrap; transition: color .2s, border-color .2s; }
.dg-sr-tabs a span { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: #fff; color: var(--dg-muted); font-size: 12px; }
.dg-sr-tabs a:hover { color: var(--dg-bx); }
.dg-sr-tabs a.is-on { color: var(--dg-bx); border-bottom-color: var(--dg-bx); }
.dg-sr-tabs a.is-on span { background: var(--dg-bx); color: #fff; }
.dg-sr-body { padding-block: 36px 72px; display: flex; flex-direction: column; gap: 48px; }
.dg-sr-sec > * + * { margin-top: 18px; }
.dg-sr-sechead { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.dg-sr-h { margin: 0 !important; font-size: clamp(22px, 2.4vw, 28px); display: flex; align-items: center; gap: 10px; }
.dg-sr-h span { font: 600 13px/1 var(--dg-sans); color: var(--dg-muted); background: var(--dg-cream); border-radius: 999px; padding: 5px 9px; }
.dg-sr-more { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1px solid var(--dg-line); border-radius: 999px; color: var(--dg-ink); font: 600 14px/1 var(--dg-sans); white-space: nowrap; transition: border-color .2s, color .2s; }
.dg-sr-more:hover { border-color: var(--dg-bx); color: var(--dg-bx); }
.dg-sr-cats { display: flex; flex-wrap: wrap; gap: 8px; }
.dg-sr-cat { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 16px; border: 1px solid var(--dg-line); border-radius: 999px; background: #fff; color: var(--dg-ink); font: 600 14px/1 var(--dg-sans); transition: border-color .2s, color .2s; }
.dg-sr-cat span { color: var(--dg-muted); font-weight: 500; font-size: 13px; }
.dg-sr-cat:hover { border-color: var(--dg-bx); color: var(--dg-bx); }
.dg-sr-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 24px; list-style: none; margin: 0; padding: 0; }
.dg-sr-posts .dg-post-ex { margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.dg-sr-pagelist { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.dg-sr-pagelist a { display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; border-radius: 999px; background: var(--dg-cream); color: var(--dg-ink); font: 600 14px/1 var(--dg-sans); }
.dg-sr-pagelist a:hover { color: var(--dg-bx); }
.dg-sr-pages { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 40px !important; font-weight: 600; }
.dg-sr-pages a, .dg-sr-pages span { display: inline-flex; min-width: 40px; height: 40px; padding: 0 12px; align-items: center; justify-content: center; border-radius: 999px; border: 1px solid var(--dg-line); color: var(--dg-ink); font-size: 14px; }
.dg-sr-pages .current { background: var(--dg-ink); border-color: var(--dg-ink); color: #fff; }
.dg-sr-pages .dots { border: 0; min-width: 20px; padding: 0; }
.dg-sr-pages a:hover { border-color: var(--dg-bx); color: var(--dg-bx); }
.dg-sr-empty > * + * { margin-top: 16px; }
.dg-sr-empty-t { font-size: 19px; font-weight: 600; color: var(--dg-ink); }
.dg-sr-empty .dg-sr-h { margin-top: 40px !important; }
@media (max-width: 900px) { .dg-sr-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) {
	.dg-sr-body { padding-block: 24px 56px; gap: 36px; }
	.dg-sr-posts { grid-template-columns: minmax(0, 1fr); }
	.dg-sr-form { padding-left: 40px; background-position: 14px center; }
	.dg-sr-form button { padding: 11px 14px; }
	.dg-sr-tabs { margin-inline: calc(-1 * var(--dg-gutter, 16px)); padding-inline: var(--dg-gutter, 16px); }
}
/* Résultats de recherche : un seul rythme vertical (20 px titre > contenu, 56 px entre sections, 40 px avant la pagination) */
.dg-sr-body { padding-block: 40px 80px !important; gap: 56px !important; }
.dg-sr-sec > *, .dg-sr-empty > * { margin-block: 0 !important; }
.dg-sr-sec > * + * { margin-top: 20px !important; }
.dg-sr-sec > .dg-sr-pages { margin-top: 40px !important; }
.dg-sr-empty > * + * { margin-top: 12px !important; }
.dg-sr-empty > .dg-sr-cats { margin-top: 20px !important; }
.dg-sr-empty > .dg-sr-h { margin-top: 56px !important; }
.dg-sr-empty > .dg-sr-h + * { margin-top: 20px !important; }
.dg-sr-sechead { min-height: 40px; }
@media (max-width: 680px) {
	.dg-sr-body { padding-block: 28px 56px !important; gap: 40px !important; }
	.dg-sr-sec > * + * { margin-top: 16px !important; }
	.dg-sr-sec > .dg-sr-pages { margin-top: 32px !important; }
	.dg-sr-empty > .dg-sr-h { margin-top: 40px !important; }
}

/* -------------------------------------------------------------------------
 * Texte éditorial du rayon (v0.7) : sous la grille de produits
 * ---------------------------------------------------------------------- */
.dg-rayon { background: var(--dg-cream); padding-block: clamp(56px, 7vw, 96px); }
.dg-rayon-in { display: grid; grid-template-columns: minmax(260px, 340px) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.dg-rayon-stick { position: sticky; top: 150px; display: flex; flex-direction: column; gap: 0; }
.dg-rayon-stick > * { margin: 0 !important; }
.dg-rayon-title { margin-top: 12px !important; font-size: clamp(28px, 2.8vw, 40px); line-height: 1.1; color: var(--dg-ink); }
.dg-rayon-img { margin-top: 24px !important; border-radius: 18px; overflow: hidden; aspect-ratio: 4 / 3; }
.dg-rayon-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dg-rayon-toc { margin-top: 28px !important; }
.dg-rayon-toc-h { margin: 0 0 10px !important; font: 600 12px/1.4 var(--dg-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--dg-muted); }
.dg-rayon-toc ol { list-style: none; counter-reset: toc; margin: 0; padding: 0; display: flex; flex-direction: column; }
.dg-rayon-toc li { counter-increment: toc; margin: 0; }
.dg-rayon-toc a { display: flex; gap: 12px; padding: 9px 0; color: var(--dg-ink-2); font: 500 14.5px/1.4 var(--dg-sans); text-decoration: none !important; transition: color .2s; }
.dg-rayon-toc a::before { content: counter(toc, decimal-leading-zero); flex: none; width: 22px; font-weight: 600; font-size: 12.5px; line-height: 1.6; color: var(--dg-bx); font-variant-numeric: tabular-nums; }
.dg-rayon-toc a:hover, .dg-rayon-toc a.is-on { color: var(--dg-bx); }
.dg-rayon-toc a.is-on { font-weight: 600; }

.dg-rayon-body { min-width: 0; background: #fff; border-radius: 24px; padding: clamp(28px, 4vw, 56px); box-shadow: 0 1px 0 rgba(31, 27, 28, .04), 0 18px 40px -28px rgba(31, 27, 28, .25); }
.dg-rayon-text { max-width: 720px; font-size: 17px; line-height: 1.75; color: var(--dg-ink-2); }
.dg-rayon-text > * { margin-block: 0 !important; }
.dg-rayon-text > * + * { margin-top: 1.1em !important; }
.dg-rayon-text > p:first-child { font-size: 19px; line-height: 1.65; color: var(--dg-ink); }
.dg-rayon-text h2 { scroll-margin-top: 170px; margin-top: 2em !important; font-size: clamp(26px, 2.4vw, 32px); line-height: 1.15; color: var(--dg-ink); }
.dg-rayon-text h3 { scroll-margin-top: 170px; margin-top: 1.6em !important; font: 700 19px/1.35 var(--dg-sans); color: var(--dg-ink); }
.dg-rayon-text :is(h2, h3) + * { margin-top: .6em !important; }
.dg-rayon-text .is-style-dg-eyebrow { margin-top: 2.4em !important; font-size: 12px; line-height: 1.4; }
.dg-rayon-text .is-style-dg-eyebrow + h2 { margin-top: .4em !important; }
.dg-rayon-text strong { color: var(--dg-ink); font-weight: 600; }
.dg-rayon-text a:not(.wp-element-button) { color: var(--dg-bx); text-decoration: underline !important; text-decoration-color: rgba(135, 10, 16, .3) !important; text-underline-offset: 3px; transition: text-decoration-color .2s; }
.dg-rayon-text a:not(.wp-element-button):hover { text-decoration-color: currentColor !important; }
.dg-rayon-text :is(ul, ol) { padding-left: 1.3em; }
.dg-rayon-text li + li { margin-top: .4em; }
.dg-rayon-text ul li::marker { color: var(--dg-bx); }
.dg-rayon-text .wp-block-image { margin-top: 1.6em !important; }
.dg-rayon-text .wp-block-image img { display: block; width: 100%; height: auto; max-height: 420px; object-fit: cover; border-radius: 16px; }
.dg-rayon-text .wp-block-buttons { margin-top: 1.2em !important; gap: 8px; }
.dg-rayon-text .wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; padding: 12px 20px !important; border: 1.5px solid var(--dg-ink) !important; border-radius: 999px !important; background: transparent !important; color: var(--dg-ink) !important; font: 600 14.5px/1.2 var(--dg-sans) !important; transition: background .2s, color .2s, border-color .2s; }
.dg-rayon-text .wp-block-button__link::after { content: ""; width: 16px; height: 16px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .2s; }
.dg-rayon-text .wp-block-button__link:hover { background: var(--dg-ink) !important; color: #fff !important; }
.dg-rayon-text .wp-block-button__link:hover::after { transform: translateX(3px); }
.dg-rayon-text .dg-acc { margin-top: 0 !important; }
.dg-rayon-text p + .dg-acc, .dg-rayon-text h3 + .dg-acc { margin-top: 1em !important; }
.dg-rayon-text .dg-acc > summary { font-size: 17px; }
.dg-rayon-text .dg-acc .wp-block-image img { max-height: 280px; }

/* Texte replié : la fin s'estompe, un bouton déplie */
.dg-rayon-text.is-clamped { max-height: 760px; overflow: hidden; -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 180px), transparent); mask-image: linear-gradient(to bottom, #000 calc(100% - 180px), transparent); }
.dg-rayon-more { display: flex; align-items: center; gap: 10px; margin: 24px auto 0; min-height: 46px; padding: 0 22px; border: 1.5px solid var(--dg-ink); border-radius: 999px; background: #fff; color: var(--dg-ink); font: 600 15px/1 var(--dg-sans); cursor: pointer; transition: background .2s, color .2s; }
.dg-rayon-more[hidden] { display: none; }
.dg-rayon-more::after { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .25s; }
.dg-rayon-more[aria-expanded="true"]::after { transform: rotate(180deg); }
.dg-rayon-more:hover { background: var(--dg-ink); color: #fff; }

@media (max-width: 1024px) {
	.dg-rayon-in { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.dg-rayon-stick { position: static; }
	.dg-rayon-img, .dg-rayon-toc { display: none; }
}
@media (max-width: 680px) {
	.dg-rayon { padding-block: 40px 48px; }
	.dg-rayon-body { border-radius: 18px; padding: 24px 20px; }
	.dg-rayon-text { font-size: 16px; }
	.dg-rayon-text > p:first-child { font-size: 17px; }
	.dg-rayon-text.is-clamped { max-height: 560px; }
}
@media (min-width: 1025px) {
	.dg-rayon-stick { max-height: calc(100vh - 180px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(31, 27, 28, .2) transparent; padding-right: 6px; }
}

/* Mosaïque 681-1100 px : la tuile « Toute la boutique » devient un bandeau compact, plus un pavé noir de 210 px */
@media (min-width: 681px) and (max-width: 1100px) {
	.dg-bento { grid-auto-rows: auto !important; }
	.dg-bento > .dg-tile:not(.dg-tile-cta) { min-height: 210px; }
	.dg-bento > .dg-tile-cta { grid-column: 1 / -1; min-height: 0 !important; display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 24px; align-items: center; padding: 22px 24px 22px 28px !important; }
	.dg-tile-cta h3 { grid-column: 1; font-size: 26px; }
	.dg-tile-cta p { grid-column: 1; margin-top: 4px !important; }
	.dg-tile-cta::after { grid-column: 2; grid-row: 1 / span 2; align-self: center !important; }
}

/* Catégories v0.7.5 : nombre de produits et tri sur une simple ligne au-dessus de la grille, sans cadre */
.dg-shop-main .dg-toolbar { margin: 0 0 20px !important; padding: 0 !important; border: 0 !important; border-radius: 0; background: none !important; display: flex !important; flex-wrap: nowrap !important; align-items: center; justify-content: space-between; gap: 16px; }
.dg-shop-main .dg-toolbar > * { width: auto !important; margin: 0 !important; }
.dg-shop-main .woocommerce-result-count { margin: 0 !important; font: 500 14px/1 var(--dg-sans); color: var(--dg-muted); white-space: nowrap; }
.dg-shop-main .dg-toolbar select.orderby { min-width: 0; min-height: 42px; background-color: #fff; border-color: rgba(31, 27, 28, .14); font: 500 14px/1 var(--dg-sans); color: var(--dg-ink); cursor: pointer; }
.dg-shop-main .dg-toolbar select.orderby:hover { border-color: var(--dg-ink); }
.dg-shop-main { padding-top: clamp(24px, 3vw, 32px) !important; }
@media (max-width: 680px) {
	.dg-shop-main .dg-toolbar { margin-bottom: 16px !important; }
	.dg-shop-main .dg-toolbar select.orderby { max-width: 62vw; font-size: 16px; }
}

/* Panier : « Total panier » collé en haut du récapitulatif (la marge haute des titres h2 creusait 37 px + 8 px) */
.wc-block-cart .wc-block-cart__totals-title, .wp-block-woocommerce-cart-order-summary-heading-block { margin: 0 0 8px !important; padding: 0 !important; }

/* Panier et commande : l'icône du panier reste en place (WooCommerce la masque par défaut sur ces pages) ; un clic mène à la page Panier au lieu d'ouvrir le tiroir */
body:is(.woocommerce-cart, .woocommerce-checkout) .dg-header-actions .wc-block-mini-cart { display: block !important; visibility: visible !important; opacity: 1 !important; }
body.woocommerce-cart .dg-header-actions .wc-block-mini-cart__button { cursor: default; }
body.woocommerce-cart .dg-header-actions .wc-block-mini-cart__button:hover { background: transparent !important; color: var(--dg-ink) !important; }

/* -------------------------------------------------------------------------
 * Articles v0.8 : encadré contact dans les marges, encart produit, fiche recette, produits de l'article
 * ---------------------------------------------------------------------- */
.dg-art-cta { box-sizing: border-box; width: calc(100% - 2 * var(--dg-gutter)) !important; max-width: 720px !important; margin-inline: auto !important; padding: 24px 28px !important; }
@media (max-width: 680px) { .dg-art-cta { padding: 22px 20px !important; gap: 16px; } .dg-art-cta .wp-block-buttons { width: 100%; } .dg-art-cta .wp-block-button { flex: 1 1 auto; } .dg-art-cta .wp-block-button__link { width: 100%; justify-content: center; } }

/* Encart produit dans le texte */
.dg-prose .dg-spot { display: grid; grid-template-columns: 112px minmax(0, 1fr) auto; align-items: center; gap: 20px; margin-block: 2em !important; padding: 14px 18px 14px 14px; border: 1px solid var(--dg-line); border-radius: 20px; background: #fff; box-shadow: 0 16px 36px -28px rgba(31, 27, 28, .35); line-height: 1.35; }
.dg-spot-img { display: block; border-radius: 14px; overflow: hidden; background: var(--dg-cream); aspect-ratio: 1; }
.dg-spot-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dg-spot-txt { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.dg-spot-txt p { margin: 0 !important; max-width: none !important; }
.dg-prose .dg-spot-k { font: 600 11.5px/1.4 var(--dg-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--dg-bx); }
.dg-prose .dg-spot-name a { color: var(--dg-ink) !important; font: 600 17px/1.3 var(--dg-sans); text-decoration: none !important; }
.dg-prose .dg-spot-name a:hover { color: var(--dg-bx) !important; }
.dg-spot-price, .dg-spot-price .amount { font: 700 18px/1 var(--dg-sans); color: var(--dg-bx); }
.dg-spot-price del { opacity: .5; font-weight: 500; margin-right: 6px; }
.dg-prose .dg-spot .dg-add { text-decoration: none !important; }
@media (max-width: 680px) {
	.dg-prose .dg-spot { grid-template-columns: 84px minmax(0, 1fr); gap: 12px 14px; padding: 12px; }
	.dg-prose .dg-spot .dg-add { grid-column: 1 / -1; width: 100%; }
	.dg-prose .dg-spot-name a { font-size: 15.5px; }
}

/* Fiche recette */
.dg-recipe { box-sizing: border-box; max-width: calc(820px + 2 * var(--dg-gutter)); margin: clamp(28px, 4vw, 44px) auto 0; padding-inline: var(--dg-gutter); }
.dg-recipe-in { background: var(--dg-cream); border-radius: 24px; padding: clamp(22px, 4vw, 40px); }
.dg-recipe-top > * { margin: 0 !important; }
.dg-recipe-title { margin-top: 8px !important; font-size: clamp(24px, 2.6vw, 32px); line-height: 1.15; }
.dg-recipe-facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0 !important; padding: 0; }
.dg-recipe-facts > div { display: flex; flex-direction: column; gap: 4px; padding: 10px 16px; border-radius: 14px; background: #fff; min-width: 92px; }
.dg-recipe-facts dt { margin: 0; font: 600 11px/1.3 var(--dg-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--dg-muted); }
.dg-recipe-facts dd { margin: 0; font: 700 16px/1.2 var(--dg-sans); color: var(--dg-ink); white-space: nowrap; }
.dg-recipe-cols { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr); gap: clamp(24px, 4vw, 48px); margin-top: 28px; }
.dg-recipe-cols h3 { margin: 0 0 14px !important; font: 700 13px/1.3 var(--dg-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--dg-bx); }
.dg-recipe-ing ul, .dg-recipe-steps ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.dg-recipe-ing li { position: relative; padding: 6px 0 6px 22px; font-size: 15.5px; line-height: 1.45; color: var(--dg-ink); }
.dg-recipe-ing li::before { content: ""; position: absolute; left: 2px; top: 13px; width: 7px; height: 7px; border-radius: 999px; background: var(--dg-gold); }
.dg-recipe-steps ol { counter-reset: st; gap: 14px; }
.dg-recipe-steps li { counter-increment: st; position: relative; padding-left: 44px; min-height: 30px; font-size: 15.5px; line-height: 1.6; color: var(--dg-ink-2); }
.dg-recipe-steps li::before { content: counter(st); position: absolute; left: 0; top: 0; width: 30px; height: 30px; border-radius: 999px; background: var(--dg-bx); color: #fff; font: 700 13px/30px var(--dg-sans); text-align: center; }
@media (max-width: 760px) { .dg-recipe-cols { grid-template-columns: minmax(0, 1fr); } }

/* Produits de l'article */
.dg-pp { padding-block: clamp(48px, 6vw, 80px); }

/* Cartes produit sur mobile : formats jamais tronqués (au-delà de 3, ils passent sur 2 lignes) */
@media (max-width: 680px) {
	.dg-card-opts { flex-wrap: wrap !important; }
	.dg-card-opts .dg-chip { flex: 1 1 auto !important; min-width: max-content !important; padding: 0 8px !important; overflow: visible !important; white-space: nowrap; }
}
@media (max-width: 680px) { .dg-form-fm .forminator-row { align-items: stretch !important; } .dg-form-fm .forminator-col { width: 100%; flex: 1 1 auto; } }
.dg-article > .dg-recipe { margin-top: clamp(32px, 4vw, 48px) !important; }

/* Mobile v0.8.5 : récapitulatif de commande en Inter (plus de nom de produit en Cormorant), sans cadre interne ; bouton d'ajout sur une ligne */
.wc-block-components-order-summary .wc-block-components-product-name, .wc-block-components-order-summary-item__description .wc-block-components-product-name { font-family: var(--dg-sans) !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.35 !important; color: var(--dg-ink) !important; }
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata { font-size: 12.5px; color: var(--dg-muted); }
:is(.wp-block-woocommerce-checkout-order-summary-cart-items-block, .wc-block-components-order-summary) { border: 0 !important; padding-inline: 0 !important; }
:is(.wp-block-woocommerce-checkout-order-summary-block) .wc-block-components-totals-shipping .wc-block-components-totals-item { padding-block: 4px !important; }
.dg-buybox .single_add_to_cart_button, .dg-buybox .wc-block-components-product-button__button { white-space: nowrap; padding-inline: 18px !important; }

/* Espacements v0.8.6
   - plus de bande blanche de 24 px (marge automatique de WordPress) entre deux sections pleine largeur ;
   - deux sections blanches qui se suivent ne cumulent plus leurs marges intérieures ;
   - bandeau des distinctions et bas de boutique resserrés. */
:is(main, .entry-content, .wp-block-post-content) > :is(.alignfull, .dg-section, .dg-awards-band, .dg-duo-band, .dg-rayon, .dg-pp, .dg-shop-main, .dg-cat-head) { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.dg-section:not(.dg-bg-cream):not(.dg-bg-bx):not(.dg-bg-ink):not(.dg-pp) + .dg-section:not(.dg-bg-cream):not(.dg-bg-bx):not(.dg-bg-ink):not(.dg-pp) { padding-top: 0 !important; }
.dg-awards-band { padding-block: 28px !important; }
.dg-shop-main { padding-bottom: var(--dg-section) !important; }
.dg-phero + .dg-section:not(.dg-bg-cream):not(.dg-bg-bx):not(.dg-bg-ink) { padding-top: 24px !important; }

/* Panier mobile : nom du produit lisible, code promo aéré */
.wc-block-cart-items .wc-block-components-product-name { font-size: 16px !important; font-weight: 600 !important; line-height: 1.3 !important; color: var(--dg-ink) !important; }
.wc-block-components-totals-coupon .wc-block-components-panel__content { padding: 4px 16px 16px !important; }
.wc-block-components-totals-coupon__form { display: flex !important; flex-wrap: nowrap !important; align-items: stretch; gap: 8px !important; margin: 0 !important; }
.wc-block-components-totals-coupon__form .wc-block-components-text-input { flex: 1 1 auto; min-width: 0; margin: 0 !important; }
.wc-block-components-totals-coupon__form .wc-block-components-text-input input { height: 50px !important; border: 1px solid rgba(31, 27, 28, .18) !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important; }
.wc-block-components-totals-coupon__form .wc-block-components-text-input input:focus { border-color: var(--dg-bx) !important; box-shadow: 0 0 0 3px rgba(135, 10, 16, .12) !important; outline: 0; }
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button { flex: none; height: 50px !important; min-height: 50px; margin: 0 !important; padding: 0 18px !important; border-radius: 999px !important; }
@media (max-width: 680px) {
	.wp-block-woocommerce-cart-order-summary-block { padding: 16px 16px 18px !important; }
	.wc-block-components-totals-coupon .wc-block-components-panel__button { padding: 14px 44px 14px 16px !important; }
}

/* Fiche produit : « En cuisine avec ce produit » */
.dg-prc { padding-block: var(--dg-section); }
.dg-prc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.dg-prc-card { position: relative; display: flex; flex-direction: column; border-radius: 20px; overflow: hidden; background: #fff; border: 1px solid var(--dg-line); transition: transform .3s var(--dg-ease), box-shadow .3s; }
.dg-prc-card:hover { transform: translateY(-3px); box-shadow: 0 22px 40px -28px rgba(31, 27, 28, .4); }
.dg-prc-img { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--dg-cream); }
.dg-prc-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.dg-prc-card:hover .dg-prc-img img { transform: scale(1.04); }
.dg-prc-badge { position: absolute; left: 14px; top: 14px; padding: 6px 12px; border-radius: 999px; background: #fff; color: var(--dg-bx); font: 700 11px/1 var(--dg-sans); letter-spacing: .12em; text-transform: uppercase; }
.dg-prc-body { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px 20px; flex: 1; }
.dg-prc-body > * { margin: 0 !important; }
.dg-prc-meta { font: 600 13px/1.3 var(--dg-sans); color: var(--dg-muted); }
.dg-prc-title { font: 600 18px/1.3 var(--dg-sans) !important; letter-spacing: -.01em; }
.dg-prc-title a { color: var(--dg-ink); text-decoration: none !important; }
.dg-prc-title a::after { content: ""; position: absolute; inset: 0; }
.dg-prc-link { margin-top: auto !important; padding-top: 6px; font: 600 14px/1 var(--dg-sans); color: var(--dg-bx); }
.dg-prc-link::after { content: " →"; }
@media (max-width: 900px) { .dg-prc-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; } .dg-prc-card { flex-direction: row; } .dg-prc-img { flex: none; width: 120px; aspect-ratio: auto; } .dg-prc-badge { left: 8px; top: 8px; padding: 5px 8px; font-size: 9.5px; } .dg-prc-body { padding: 14px 16px; gap: 6px; } .dg-prc-title { font-size: 15.5px !important; } }

/* ---------- v0.9.0 : page Commande, bouton « Commander » du récapitulatif et barre fixe mobile ---------- */
.dg-co-cta { padding: 20px 16px 4px; }
.dg-co-cta-btn { width: 100%; min-height: 52px; border: 0; border-radius: 999px; background: var(--dg-bx); color: #fff; font: 600 16px var(--dg-sans); cursor: pointer; transition: background .2s; }
.dg-co-cta-btn:hover { background: var(--dg-bx-dark); }
@media (max-width: 860px) {
	.dg-co-cta { display: none; }
	.dg-co-bar .dg-stickybuy-btn { max-width: none; }
}
@media (min-width: 861px) { .dg-co-bar { display: none !important; } }

/* ---------- v0.9.2 : tableau des valeurs nutritionnelles ---------- */
.dg-nutri { width: 100%; max-width: 520px; border-collapse: collapse; margin: 4px 0 8px; font-size: 15px; font-variant-numeric: tabular-nums; }
.dg-nutri caption { caption-side: top; text-align: left; font-weight: 600; color: var(--dg-ink); padding: 0 0 10px; }
.dg-nutri th, .dg-nutri td { padding: 9px 0; border-bottom: 1px solid var(--dg-line); text-align: left; font-weight: 400; vertical-align: baseline; }
.dg-nutri td { text-align: right; white-space: nowrap; color: var(--dg-ink); font-weight: 600; padding-left: 16px; }
.dg-nutri tr.is-sub th { padding-left: 16px; color: var(--dg-ink-2); }
.dg-nutri tr.is-sub td { font-weight: 400; color: var(--dg-ink-2); }
.dg-nutri tr:last-child th, .dg-nutri tr:last-child td { border-bottom: 0; }

/* ==========================================================================
   v0.9.2 : espace Mon compte
   ========================================================================== */
.woocommerce-MyAccount-navigation-link--dashboard a, .dg-acc-card--dashboard { --dg-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11 12 4l8 7v8a1 1 0 0 1-1 1h-4v-6H9v6H5a1 1 0 0 1-1-1z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--orders a, .dg-acc-card--orders { --dg-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1.2 12H6.2z'/%3E%3Cpath d='M9 8V6.5a3 3 0 0 1 6 0V8'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-address a, .dg-acc-card--edit-address { --dg-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6.2 7-12a7 7 0 0 0-14 0c0 5.8 7 12 7 12z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-account a, .dg-acc-card--edit-account { --dg-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1.4-4 4.4-6 8-6s6.6 2 8 6'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--customer-logout a, .dg-acc-card--customer-logout { --dg-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4'/%3E%3Cpath d='M10 16l-4-4 4-4M6 12h10'/%3E%3C/svg%3E"); }
.dg-acc-card a { --dg-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E"); }

.woocommerce-account .dg-page-title { margin-bottom: 32px; }
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 48px; align-items: start; }
.woocommerce-account .woocommerce > :not(.woocommerce-MyAccount-navigation):not(.woocommerce-MyAccount-content) { grid-column: 1 / -1; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; margin: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation { position: sticky; top: 150px; background: var(--dg-cream); border-radius: 20px; padding: 10px; }
.woocommerce-MyAccount-navigation ul { gap: 2px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; color: var(--dg-ink) !important; font-weight: 500; font-size: 15px; text-decoration: none !important; background: transparent; transition: background .2s, color .2s; }
.woocommerce-account .woocommerce-MyAccount-navigation a::before { content: ""; flex: none; width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--dg-i) center / contain no-repeat; mask: var(--dg-i) center / contain no-repeat; opacity: .75; }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: rgba(255,255,255,.65); color: var(--dg-bx) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: #fff; color: var(--dg-bx) !important; font-weight: 600; box-shadow: 0 1px 3px rgba(31,27,28,.08); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a::before { opacity: 1; }
.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 10px; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--dg-ink-2) !important; font-size: 14px; }
.woocommerce-MyAccount-content { font-size: 16px; line-height: 1.6; min-width: 0; }
.woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3, .woocommerce-account .woocommerce-column__title, .woocommerce-account .woocommerce-order-details__title { font-family: var(--dg-serif); font-weight: 600; font-size: 28px; line-height: 1.15; margin: 0 0 16px; color: var(--dg-ink); }
.woocommerce-MyAccount-content p a:not(.button), .woocommerce-MyAccount-content td a:not(.button) { color: var(--dg-bx); text-underline-offset: 3px; }

/* Tableau de bord */
.dg-acc-hello h2 { font-size: 34px; margin-bottom: 6px; }
.dg-acc-hello p { color: var(--dg-ink-2); margin: 0 0 28px; }
.dg-acc-last { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: 22px 24px; border: 1px solid var(--dg-line); border-radius: 20px; margin-bottom: 20px; }
.dg-acc-last p { margin: 0; }
.dg-acc-k { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--dg-bx); }
.dg-acc-v { font-size: 18px; font-weight: 600; color: var(--dg-ink); margin-top: 4px !important; }
.dg-acc-meta { display: flex; align-items: center; gap: 12px; margin-top: 8px !important; font-weight: 600; }
.woocommerce .dg-acc-last-btn { padding: 12px 22px !important; white-space: nowrap; }
.dg-acc-cards { list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.dg-acc-card a { position: relative; display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 22px 22px 22px 64px; background: var(--dg-cream); border-radius: 20px; color: var(--dg-ink) !important; text-decoration: none !important; transition: transform .2s var(--dg-ease), box-shadow .2s; }
.dg-acc-card a::before { content: ""; position: absolute; left: 22px; top: 22px; width: 26px; height: 26px; background: var(--dg-bx); -webkit-mask: var(--dg-i) center / contain no-repeat; mask: var(--dg-i) center / contain no-repeat; }
.dg-acc-card a:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(31,27,28,.08); }
.dg-acc-card-t { font-weight: 600; font-size: 17px; line-height: 26px; }
.dg-acc-card-d { font-size: 14px; color: var(--dg-ink-2); line-height: 1.45; }
.dg-acc-help { font-size: 15px; color: var(--dg-ink-2); margin: 0; }
.dg-acc-help a { font-weight: 600; color: var(--dg-ink) !important; text-decoration: none !important; white-space: nowrap; }

/* Statuts de commande */
.woocommerce-account mark.order-status, .woocommerce-order mark.order-status, .woocommerce-MyAccount-content mark { background: var(--dg-cream); color: var(--dg-ink); font-weight: 600; }
mark.order-status { display: inline-flex; align-items: center; padding: 4px 12px; border-radius: 999px; font-size: 13px; line-height: 1.4; white-space: nowrap; }
mark.order-status.status-processing, mark.order-status.status-completed { background: #e8f3ea; color: #1f6b35; }
mark.order-status.status-pending, mark.order-status.status-on-hold { background: #fbf1dc; color: #8a5a00; }
mark.order-status.status-cancelled, mark.order-status.status-failed, mark.order-status.status-refunded { background: #f6e3e5; color: var(--dg-bx); }

/* Tableaux (commandes, détail, paiement) */
.woocommerce-account table.shop_table, .woocommerce-order table.shop_table, .woocommerce table.shop_table.order_details { width: 100%; border-collapse: collapse; border: 0; border-radius: 0; margin: 0 0 28px; font-size: 15px; }
.woocommerce-account table.shop_table th, .woocommerce-account table.shop_table td, .woocommerce table.shop_table.order_details th, .woocommerce table.shop_table.order_details td { padding: 14px 12px 14px 0; border: 0; border-bottom: 1px solid var(--dg-line); text-align: left; vertical-align: middle; background: none; }
.woocommerce-account table.shop_table thead th, .woocommerce table.shop_table.order_details thead th { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--dg-ink-2); padding-top: 0; }
.woocommerce-account table.shop_table tfoot th { font-weight: 500; color: var(--dg-ink-2); }
.woocommerce table.shop_table tfoot tr:has(.includes_tax) th, .woocommerce table.shop_table tfoot tr:has(.includes_tax) td { font-weight: 700 !important; font-size: 18px; color: var(--dg-bx) !important; }
.woocommerce table.shop_table tfoot tr:last-child th, .woocommerce table.shop_table tfoot tr:last-child td { border-bottom: 0; }
.woocommerce table.shop_table td.product-total, .woocommerce-orders-table__cell-order-total, .woocommerce-orders-table__header-order-total { text-align: right !important; white-space: nowrap; }
.woocommerce-orders-table__cell-order-number a { font-weight: 700; color: var(--dg-ink) !important; text-decoration: none !important; }
.woocommerce-orders-table__cell-order-actions { text-align: right !important; white-space: nowrap; }
.woocommerce-orders-table__cell-order-actions .button { padding: 9px 16px !important; font-size: 14px !important; margin: 2px 0 2px 6px; }
.woocommerce-orders-table__cell-order-actions .button.view { background: #fff !important; color: var(--dg-ink) !important; box-shadow: inset 0 0 0 1px var(--dg-line); }
.woocommerce-orders-table__cell-order-actions .button.view:hover { box-shadow: inset 0 0 0 1px var(--dg-ink); }
.woocommerce table.shop_table.order_details td.product-name a { color: var(--dg-ink) !important; font-weight: 600; text-decoration: none !important; }
.woocommerce table.shop_table .wc-item-meta { list-style: none; margin: 4px 0 0; padding: 0; font-size: 13px; color: var(--dg-ink-2); }
.woocommerce table.shop_table .wc-item-meta li, .woocommerce table.shop_table .wc-item-meta p { display: inline; margin: 0; }
.woocommerce table.shop_table .product-quantity { font-weight: 600; color: var(--dg-ink-2); }
.woocommerce-MyAccount-content > p:first-of-type mark { padding: 2px 8px; border-radius: 6px; }

/* Adresses */
.woocommerce-account .woocommerce-Addresses, .woocommerce-account .woocommerce-columns--addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 20px 0 0; }
.woocommerce-account .woocommerce-Addresses::before, .woocommerce-account .woocommerce-Addresses::after, .woocommerce-account .woocommerce-columns--addresses::before, .woocommerce-account .woocommerce-columns--addresses::after { display: none; }
.woocommerce-account .woocommerce-Address, .woocommerce-account .woocommerce-column { float: none !important; width: auto !important; margin: 0 !important; padding: 24px; background: var(--dg-cream); border-radius: 20px; }
.woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.woocommerce-Address-title::before, .woocommerce-Address-title::after { display: none !important; }
.woocommerce-Address-title h2, .woocommerce-column__title { font-size: 22px !important; margin: 0 !important; float: none !important; }
.woocommerce-Address-title .edit { float: none !important; flex: none; padding: 7px 14px; border-radius: 999px; background: #fff; color: var(--dg-ink) !important; font-size: 14px; font-weight: 600; text-decoration: none !important; box-shadow: inset 0 0 0 1px var(--dg-line); }
.woocommerce-Address-title .edit:hover { box-shadow: inset 0 0 0 1px var(--dg-ink); }
.woocommerce-account address, .woocommerce-order address { font-style: normal; line-height: 1.6; border: 0 !important; padding: 0 !important; }
.woocommerce-customer-details--phone, .woocommerce-customer-details--email { margin: 6px 0 0 !important; }

/* Formulaires (adresse, informations, connexion) */
.woocommerce-account .woocommerce-address-fields__field-wrapper, .woocommerce-account .woocommerce-EditAccountForm, .woocommerce-account fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; row-gap: 4px; }
.woocommerce-account .woocommerce-EditAccountForm > *, .woocommerce-account fieldset > * { grid-column: 1 / -1; }
.woocommerce-account .woocommerce-EditAccountForm > .form-row-first { grid-column: 1; }
.woocommerce-account .woocommerce-EditAccountForm > .form-row-last { grid-column: 2; }
.woocommerce-account .woocommerce-address-fields__field-wrapper > .form-row-wide, .woocommerce-account .woocommerce-address-fields__field-wrapper > .address-field:not(.form-row-first):not(.form-row-last) { grid-column: 1 / -1; }
.woocommerce-account .form-row, .woocommerce-checkout .woocommerce .form-row { float: none !important; width: auto !important; margin: 0 0 14px !important; padding: 0 !important; }
.woocommerce form .form-row label { display: block; font-size: 14px; font-weight: 600; color: var(--dg-ink); margin-bottom: 6px; line-height: 1.4; }
.woocommerce form .form-row .required { color: var(--dg-bx); text-decoration: none; border: 0; }
.woocommerce form .form-row .optional { font-weight: 400; color: var(--dg-ink-2); }
.woocommerce form .input-text, .woocommerce form select { width: 100%; background: #fff; color: var(--dg-ink); font-size: 16px; transition: border-color .2s, box-shadow .2s; }
.woocommerce form textarea.input-text { min-height: 110px; padding: 12px 14px; }
.woocommerce form .input-text:focus, .woocommerce form select:focus { outline: none; border-color: var(--dg-ink); box-shadow: 0 0 0 3px rgba(130,16,30,.12); }
.woocommerce form .form-row.woocommerce-invalid .input-text { border-color: var(--dg-bx); }
.woocommerce .select2-container .select2-selection--single { height: 48px; border: 1px solid var(--dg-line); border-radius: 10px; display: flex; align-items: center; }
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { padding-left: 14px; line-height: 46px; color: var(--dg-ink); font-size: 16px; }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }
.select2-dropdown { border-color: var(--dg-line) !important; border-radius: 10px !important; overflow: hidden; }
.woocommerce-account fieldset { margin: 18px 0 8px; padding: 22px 22px 8px; border: 0; border-radius: 20px; background: var(--dg-cream); }
.woocommerce-account fieldset legend { float: left; width: 100%; padding: 0; margin-bottom: 14px; font-family: var(--dg-serif); font-size: 24px; font-weight: 600; }
.woocommerce-account #account_display_name_description { display: block; margin-top: 6px; font-size: 13px; color: var(--dg-ink-2); }
.woocommerce form .password-input { display: block; position: relative; }
.woocommerce form .show-password-input { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; cursor: pointer; }
.woocommerce-account .woocommerce-MyAccount-content form > p:last-of-type, .woocommerce-account .woocommerce-address-fields > p { margin-top: 10px; }
.woocommerce-account .woocommerce-MyAccount-content form .button { min-height: 50px; }

/* Connexion et inscription (visiteur) */
.woocommerce-account #customer_login { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; grid-column: 1 / -1; }
.woocommerce-account #customer_login::before, .woocommerce-account #customer_login::after { display: none; }
.woocommerce-account #customer_login > div { float: none !important; width: auto !important; padding: 32px; border-radius: 24px; background: var(--dg-cream); }
.woocommerce-account #customer_login h2 { font-family: var(--dg-serif); font-size: 30px; font-weight: 600; margin: 0 0 18px; }
.woocommerce-account form.login, .woocommerce-account form.register, .woocommerce-account form.lost_reset_password { border: 0 !important; padding: 0 !important; margin: 0 !important; border-radius: 0; }
.woocommerce-account .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; font-weight: 500 !important; margin: 0 0 16px !important; }
.woocommerce-account .woocommerce-form-login .button, .woocommerce-account .woocommerce-form-register .button { width: 100%; min-height: 52px; }
.woocommerce-account .woocommerce-LostPassword { margin: 14px 0 0; font-size: 14px; }
.woocommerce-account .woocommerce-LostPassword a { color: var(--dg-bx); }
.woocommerce-account .woocommerce-privacy-policy-text { font-size: 13px; color: var(--dg-ink-2); }
.woocommerce-account:not(.logged-in) .woocommerce { display: block; }
.woocommerce-account .woocommerce > .woocommerce-form-login, .woocommerce-account .woocommerce > form.lost_reset_password { max-width: 520px; padding: 32px !important; background: var(--dg-cream); border-radius: 24px; }

/* Avis WooCommerce dans le compte */
.woocommerce-account .woocommerce-info, .woocommerce-account .woocommerce-message { border-radius: 14px; }

@media (max-width: 1000px) {
	.dg-acc-cards { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 860px) {
	.woocommerce-account .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.woocommerce-account .dg-page-title { margin-bottom: 18px; }
	.woocommerce-account .woocommerce-MyAccount-navigation { position: static; background: none; padding: 0; margin: 0 calc(-1 * var(--dg-gutter)) !important; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { flex-direction: row; gap: 8px; overflow-x: auto; padding: 2px var(--dg-gutter) 6px; scroll-snap-type: x proximity; scrollbar-width: none; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
	.woocommerce-account .woocommerce-MyAccount-navigation li { flex: none; scroll-snap-align: start; margin: 0; }
	.woocommerce-account .woocommerce-MyAccount-navigation a { padding: 10px 16px; border-radius: 999px; background: var(--dg-cream); font-size: 14px; gap: 8px; white-space: nowrap; }
	.woocommerce-account .woocommerce-MyAccount-navigation a::before { width: 18px; height: 18px; }
	.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--dg-ink); color: #fff !important; box-shadow: none; }
	.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 0; }
	.dg-acc-hello h2 { font-size: 28px; }
	.dg-acc-last { padding: 18px; }
	.dg-acc-last-btn { width: 100%; text-align: center; }
	.woocommerce-account .woocommerce-Addresses, .woocommerce-account .woocommerce-columns--addresses, .woocommerce-account #customer_login { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-account #customer_login > div, .woocommerce-account .woocommerce > .woocommerce-form-login { padding: 22px !important; }
	/* Liste des commandes en cartes */
	.woocommerce-account table.woocommerce-orders-table thead { display: none; }
	.woocommerce-account table.woocommerce-orders-table, .woocommerce-account table.woocommerce-orders-table tbody { display: block; }
	.woocommerce-account table.woocommerce-orders-table tr { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; padding: 16px 18px; margin-bottom: 12px; border-radius: 18px; background: var(--dg-cream); }
	.woocommerce-account table.woocommerce-orders-table td, .woocommerce-account table.woocommerce-orders-table th { display: block; padding: 0; border: 0; text-align: left !important; }
	.woocommerce-account table.woocommerce-orders-table td::before, .woocommerce-account table.woocommerce-orders-table th::before { display: none !important; }
	.woocommerce-orders-table__cell-order-number { font-size: 17px; }
	.woocommerce-orders-table__cell-order-total { grid-column: 2; grid-row: 1; font-weight: 700; color: var(--dg-bx); }
	.woocommerce-orders-table__cell-order-date { grid-column: 1; color: var(--dg-ink-2); font-size: 14px; }
	.woocommerce-orders-table__cell-order-status { grid-column: 2; grid-row: 2; }
	.woocommerce-orders-table__cell-order-actions { grid-column: 1 / -1; display: flex !important; gap: 8px; margin-top: 8px; }
	.woocommerce-orders-table__cell-order-actions .button { flex: 1; margin: 0; text-align: center; }
	.woocommerce-account .woocommerce-address-fields__field-wrapper, .woocommerce-account .woocommerce-EditAccountForm, .woocommerce-account fieldset { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-account .woocommerce-EditAccountForm > .form-row-first, .woocommerce-account .woocommerce-EditAccountForm > .form-row-last { grid-column: 1; }
	.woocommerce-account fieldset { padding: 18px 18px 6px; }
	.woocommerce-account .woocommerce-MyAccount-content form .button { width: 100%; }
}

/* Jauge livraison offerte (panier, commande) */
.dg-fs { margin: 12px 0 6px; padding: 14px 16px; background: #fff; border-radius: 14px; }
.dg-fs-t { margin: 0 0 10px; font-size: 14px; line-height: 1.45; color: var(--dg-ink); }
.dg-fs-t strong { color: var(--dg-bx); white-space: nowrap; }
.dg-fs-bar { display: block; height: 6px; border-radius: 999px; background: var(--dg-cream); overflow: hidden; }
.dg-fs-bar span { display: block; height: 100%; border-radius: inherit; background: var(--dg-bx); transition: width .5s var(--dg-ease); }
.dg-fs.is-ok .dg-fs-bar span { background: #1f6b35; }
.dg-fs.is-ok .dg-fs-t strong { color: #1f6b35; }
.wc-block-cart .wc-block-cart__totals-title { text-transform: none !important; font-family: var(--dg-serif); font-size: 26px !important; font-weight: 600 !important; letter-spacing: 0; padding: 14px 0 0 !important; color: var(--dg-ink); }
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display: none !important; content: none !important; }
.dg-page .wp-block-post-content .woocommerce-MyAccount-navigation li > a:not(.wp-element-button), .dg-page .wp-block-post-content .dg-acc-card > a:not(.wp-element-button), .dg-page .wp-block-post-content .dg-acc-help > a:not(.wp-element-button) { text-decoration: none !important; }
.woocommerce-account .woocommerce { max-width: none !important; margin: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li { padding: 0 !important; margin: 0 !important; border: 0 !important; }
.dg-acc-help { display: flex !important; align-items: center !important; gap: 12px; }
.dg-acc-cards > .dg-acc-card { display: flex; margin: 0 !important; padding: 0 !important; }
.dg-acc-cards > .dg-acc-card > a { flex: 1; height: auto; }
.woocommerce-account .woocommerce-orders-table__cell-order-actions { display: table-cell; }
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button { display: inline-flex; margin: 3px 0 3px 6px; }
.woocommerce-account table.shop_table td.woocommerce-orders-table__cell-order-total { font-weight: 600; color: var(--dg-ink); }
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button.cancel { background: transparent !important; color: var(--dg-ink-2) !important; box-shadow: none; padding-inline: 8px !important; }
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button.cancel:hover { color: var(--dg-bx) !important; }
.woocommerce-MyAccount-content > p mark.order-number, .woocommerce-MyAccount-content > p mark.order-date { background: none !important; padding: 0 !important; font-weight: 600; color: var(--dg-ink); }
.woocommerce-MyAccount-content > p:has(mark.order-number) { padding: 16px 20px; border-radius: 14px; background: var(--dg-cream); margin-bottom: 28px; }
.woocommerce table.shop_table.order_details tfoot th { font-weight: 500 !important; color: var(--dg-ink-2) !important; }
.woocommerce table.shop_table.order_details tfoot .order-actions--heading { display: none; }
.woocommerce table.shop_table.order_details tfoot .order-actions-button { margin-left: 6px; }
.woocommerce table.shop_table.order_details tfoot small, .woocommerce table.shop_table .includes_tax { display: block; font-size: 12px; font-weight: 400; color: var(--dg-ink-2); }
.woocommerce-account .woocommerce-address-fields__field-wrapper > [id$="_postcode_field"] { grid-column: 1 !important; }
.woocommerce-account .woocommerce-address-fields__field-wrapper > [id$="_city_field"] { grid-column: 2 !important; }
.woocommerce-account .woocommerce-address-fields__field-wrapper > [id$="_country_field"] strong { display: block; min-height: 48px; line-height: 48px; padding: 0 14px; border-radius: 10px; background: var(--dg-cream); font-weight: 500; }
.woocommerce-account .woocommerce-MyAccount-content > p:first-child { color: var(--dg-ink-2); }
@media (max-width: 860px) {
	.woocommerce-account .woocommerce-address-fields__field-wrapper > [id$="_postcode_field"], .woocommerce-account .woocommerce-address-fields__field-wrapper > [id$="_city_field"] { grid-column: 1 !important; }
}
.woocommerce table.shop_table tfoot td { text-align: right; }
.woocommerce-MyAccount-content .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-MyAccount-content .dg-acc-hello h2 { margin-top: 0; }
@media (max-width: 860px) {
	.woocommerce-account .woocommerce-MyAccount-navigation ul { scroll-padding-inline: var(--dg-gutter); padding-bottom: 2px; }
	.woocommerce-account .woocommerce table.woocommerce-orders-table tbody th { display: block !important; }
	.woocommerce-account .woocommerce table.woocommerce-orders-table tr td, .woocommerce-account .woocommerce table.woocommerce-orders-table tr th { text-align: left !important; }
	.woocommerce-account .woocommerce table.woocommerce-orders-table tr td.woocommerce-orders-table__cell-order-total { text-align: right !important; }
	.woocommerce-account .woocommerce table.woocommerce-orders-table tr td.woocommerce-orders-table__cell-order-status { justify-self: end; }
	.woocommerce table.shop_table.order_details th, .woocommerce table.shop_table.order_details td { padding-right: 0; }
	.woocommerce table.shop_table.order_details td.product-total { padding-left: 12px; }
}

/* ==========================================================================
   v0.9.4 : page de confirmation de commande
   ========================================================================== */
.dg-thanks-head { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; padding: clamp(24px, 4vw, 40px); border-radius: 28px; background: var(--dg-cream); margin-bottom: 40px; }
.dg-thanks .wc-block-order-confirmation-status { position: relative; margin: 0 !important; }
.dg-thanks .wc-block-order-confirmation-status h1 { font-family: var(--dg-serif); font-size: clamp(34px, 4.4vw, 52px) !important; line-height: 1.05; margin: 0 0 10px !important; }
.dg-thanks .wc-block-order-confirmation-status p { margin: 0; font-size: 17px; color: var(--dg-ink-2); }
.dg-thanks .wc-block-order-confirmation-status.is-ok { padding-left: 76px; }
.dg-thanks .wc-block-order-confirmation-status.is-ok::before { content: ""; position: absolute; left: 0; top: 2px; width: 56px; height: 56px; border-radius: 50%; background: #1f6b35; }
.dg-thanks .wc-block-order-confirmation-status.is-ok::after { content: ""; position: absolute; left: 14px; top: 16px; width: 28px; height: 28px; background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.dg-thanks .wc-block-order-confirmation-summary { margin: 0 !important; }
.dg-thanks .wc-block-order-confirmation-summary-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; }
.dg-thanks .wc-block-order-confirmation-summary-list-item { margin: 0 !important; padding: 14px 16px; border-radius: 14px; background: #fff; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.dg-thanks .wc-block-order-confirmation-summary-list-item__key { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--dg-ink-2); }
.dg-thanks .wc-block-order-confirmation-summary-list-item__value { font-size: 16px; font-weight: 600; color: var(--dg-ink); overflow-wrap: anywhere; }
.dg-thanks-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 40px; align-items: start; }
.dg-thanks-main > *, .dg-thanks-side > * { margin-top: 0 !important; }
.dg-thanks h2.wp-block-heading { font-family: var(--dg-serif); font-size: 30px; margin: 0 0 16px !important; }
.dg-thanks h3.wp-block-heading { font-family: var(--dg-serif); font-size: 22px; margin: 0 0 10px !important; }
.dg-thanks .wc-block-order-confirmation-totals-wrapper, .dg-thanks .wc-block-order-confirmation-additional-fields-wrapper { margin: 0 0 32px !important; }
.dg-thanks .wc-block-order-confirmation-totals table { width: 100%; border-collapse: collapse; border: 0 !important; font-size: 15px; }
.dg-thanks .wc-block-order-confirmation-totals th, .dg-thanks .wc-block-order-confirmation-totals td { padding: 14px 0 !important; border: 0 !important; border-bottom: 1px solid var(--dg-line) !important; text-align: left; vertical-align: middle; background: none !important; }
.dg-thanks .wc-block-order-confirmation-totals thead th { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--dg-ink-2); padding-top: 0 !important; }
.dg-thanks .wc-block-order-confirmation-totals th:last-child, .dg-thanks .wc-block-order-confirmation-totals td:last-child { text-align: right; padding-left: 16px !important; }
.dg-thanks .wc-block-order-confirmation-totals td.wc-block-order-confirmation-totals__product a { color: var(--dg-ink) !important; font-weight: 600; text-decoration: none !important; }
.dg-thanks .wc-block-order-confirmation-totals tfoot th { font-weight: 500; color: var(--dg-ink-2); }
.dg-thanks .wc-block-order-confirmation-totals tfoot tr:last-child th, .dg-thanks .wc-block-order-confirmation-totals tfoot tr:last-child td { font-weight: 700; font-size: 18px; color: var(--dg-bx); border-bottom: 0 !important; }
.dg-thanks .wc-block-order-confirmation-totals small, .dg-thanks .wc-block-order-confirmation-totals .includes_tax { display: block; font-size: 12px; font-weight: 400; color: var(--dg-ink-2); }
.dg-thanks .wc-block-order-confirmation-order-note { margin-top: 18px; padding: 16px 18px; border: 0 !important; border-radius: 14px; background: var(--dg-cream); }
.dg-thanks .wc-block-order-confirmation-order-note p { margin: 0; }
.dg-thanks .wc-block-order-confirmation-order-note__label { font-weight: 600; margin-bottom: 4px !important; }
.dg-thanks-side { display: flex; flex-direction: column; gap: 14px; }
.dg-thanks-side .wc-block-order-confirmation-shipping-wrapper, .dg-thanks-side .wc-block-order-confirmation-billing-wrapper { margin: 0 !important; padding: 22px; border-radius: 20px; background: var(--dg-cream); }
.dg-thanks-side address { font-style: normal; line-height: 1.6; border: 0 !important; padding: 0 !important; margin: 0; }
.dg-thanks-help { padding: 22px; border-radius: 20px; border: 1px solid var(--dg-line); display: flex; flex-direction: column; gap: 16px; }
.dg-thanks-help p { margin: 0; font-size: 15px; color: var(--dg-ink-2); }
.dg-thanks-help a[href^="tel"] { color: var(--dg-ink); font-weight: 600; white-space: nowrap; text-decoration: none; }
.dg-thanks-help .wp-block-buttons, .dg-thanks-help .wp-block-button, .dg-thanks-help .wp-block-button__link { width: 100%; text-align: center; margin: 0; }
@media (max-width: 960px) {
	.dg-thanks-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 600px) {
	.dg-thanks .wc-block-order-confirmation-status.is-ok { padding-left: 0; padding-top: 64px; }
	.dg-thanks .wc-block-order-confirmation-status.is-ok::before { width: 48px; height: 48px; }
	.dg-thanks .wc-block-order-confirmation-status.is-ok::after { left: 12px; top: 14px; width: 24px; height: 24px; }
	.dg-thanks .wc-block-order-confirmation-summary-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dg-thanks-head { border-radius: 22px; }
}

/* Page « Payer la commande » */
.woocommerce-order-pay #order_review .shop_table { width: 100%; border-collapse: collapse; border: 0; border-radius: 0; margin: 0 0 24px; font-size: 15px; }
.woocommerce-order-pay #order_review .shop_table th, .woocommerce-order-pay #order_review .shop_table td { padding: 14px 10px 14px 0; border: 0; border-bottom: 1px solid var(--dg-line); background: none; text-align: left; }
.woocommerce-order-pay #order_review .shop_table thead th { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--dg-ink-2); }
.woocommerce-order-pay #order_review .shop_table .product-name { width: 100%; font-weight: 600; }
.woocommerce-order-pay #order_review .shop_table .product-quantity { white-space: nowrap; color: var(--dg-ink-2); }
.woocommerce-order-pay #order_review .shop_table .product-subtotal { text-align: right; white-space: nowrap; padding-right: 0; }
.woocommerce-order-pay #order_review .shop_table tfoot td { text-align: right; padding-right: 0; }
.woocommerce-order-pay #order_review .shop_table tfoot td small { display: block; font-size: 12px; color: var(--dg-ink-2); }
.woocommerce-order-pay #order_review .shop_table tfoot tr:last-child th, .woocommerce-order-pay #order_review .shop_table tfoot tr:last-child td { font-weight: 700; font-size: 18px; color: var(--dg-bx); border-bottom: 0; }
.woocommerce-order-pay #payment { background: var(--dg-cream) !important; border-radius: 20px !important; padding: 8px 20px 20px; }
.woocommerce-order-pay #payment ul.payment_methods { border: 0 !important; padding: 12px 0 !important; }
.woocommerce-order-pay #payment .place-order { padding: 0 !important; }
.woocommerce-order-pay #payment #place_order { width: 100%; min-height: 52px; float: none; }
.dg-thanks-side .wc-block-order-confirmation-shipping-address, .dg-thanks-side .wc-block-order-confirmation-billing-address { border: 0 !important; padding: 0 !important; background: none !important; margin: 0 !important; }
.dg-thanks .wc-block-order-confirmation-summary-list { display: grid !important; width: 100%; box-sizing: border-box; }
.dg-thanks .wc-block-order-confirmation-summary-list-item { flex: none !important; width: auto !important; max-width: none !important; box-sizing: border-box; }
.woocommerce-account .woocommerce table.woocommerce-orders-table tr th, .woocommerce-account .woocommerce table.woocommerce-orders-table tr td { border: 0 !important; }

/* ---------- v0.9.9 : méga-menu, carte « À la une » en format vertical ---------- */
.dg-mega-featcol { min-width: 0; }
.dg-mega-in .dg-mega-feat { display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 0; border-radius: 18px; overflow: hidden; background: var(--dg-cream); text-decoration: none !important; }
.dg-mega-feat .dg-mega-feat-media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--dg-cream); }
.dg-mega-feat .dg-mega-feat-media img { display: block; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; border-radius: 0 !important; transition: transform .6s var(--dg-ease); }
.dg-mega-feat:hover .dg-mega-feat-media img { transform: scale(1.04); }
.dg-mega-feat .dg-mega-feat-media .dg-badge { position: absolute !important; left: 12px; top: 12px; margin: 0; white-space: nowrap; }
.dg-mega-in .dg-mega-feat-body { display: flex; flex-direction: column; align-items: stretch; gap: 12px; padding: 16px 18px 18px; flex: none; }
.dg-mega-in .dg-mega-feat-body b { font-size: 16px; line-height: 1.35; font-weight: 600; -webkit-line-clamp: 2; }
.dg-mega-feat-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.dg-mega-feat-foot .dg-mega-price { font-size: 20px; line-height: 1; white-space: nowrap; }
.dg-mega-feat-cta { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--dg-bx); white-space: nowrap; }
.dg-mega-feat-cta::after { content: "→"; transition: transform .2s var(--dg-ease); }
.dg-mega-feat:hover .dg-mega-feat-cta::after { transform: translateX(4px); }
@media (max-width: 1100px) { .dg-mega-featcol { display: none; } }

/* ---------- v0.9.9 : barre de catégories plus aérée sur PC ---------- */
@media (min-width: 1181px) {
	.dg-catbar-in, .dg-catnav { min-height: 62px !important; }
	.dg-catbar-in { gap: 14px !important; }
	.dg-catnav { font-size: 15px !important; }
	.dg-catnav .wp-block-navigation__container { gap: 10px !important; }
	.dg-catnav .wp-block-navigation-item__content { padding: 0 16px !important; min-height: 42px; }
	.dg-catnav .wp-block-navigation-item:not(.dg-nav-pro) > .wp-block-navigation-item__content::before { left: 16px; right: 16px; }
	.dg-mega-btn { height: 42px; padding: 0 18px 0 16px; }
}
@media (min-width: 1360px) {
	.dg-catnav .wp-block-navigation__container { gap: 16px !important; }
	.dg-catnav .wp-block-navigation-item__content { padding: 0 18px !important; }
	.dg-catnav .wp-block-navigation-item:not(.dg-nav-pro) > .wp-block-navigation-item__content::before { left: 18px; right: 18px; }
}
.dg-mega-featcol .dg-mega-h { color: var(--dg-bx); }

/* ---------- v0.9.12 : en-tête mobile, la recherche s'efface en douceur au défilement et revient de même ---------- */
@media (max-width: 900px) {
	header.wp-block-template-part.dg-sticky { transition: transform .45s cubic-bezier(.22, .61, .36, 1), clip-path .45s cubic-bezier(.22, .61, .36, 1), box-shadow .3s ease; }
	header.dg-sticky .dg-header-row > .wp-block-search { transform-origin: 50% 0; transition: opacity .3s ease .12s, transform .45s cubic-bezier(.22, .61, .36, 1) .05s; }
	header.dg-sticky.is-compact .dg-header-row > .wp-block-search { opacity: 0; transform: translateY(-12px) scale(.96); transition: opacity .18s ease, transform .35s cubic-bezier(.22, .61, .36, 1); }
	header.dg-sticky .dg-header-row::after { content: ""; position: absolute; left: 0; right: 0; bottom: calc(var(--dg-search-cut, 60px) - 1px); height: 1px; background: var(--dg-line); opacity: 0; transition: opacity .3s ease; pointer-events: none; }
	header.dg-sticky.is-compact .dg-header-row::after { opacity: 1; }
}
@media (max-width: 900px) and (prefers-reduced-motion: reduce) {
	header.wp-block-template-part.dg-sticky, header.dg-sticky .dg-header-row > .wp-block-search, header.dg-sticky .dg-header-row::after { transition: none !important; }
}

/* ---------- v0.9.13 : en-tête mobile fixe, bandeau et recherche repliés d'un seul mouvement ---------- */
@media (max-width: 900px) {
	header.wp-block-template-part.dg-sticky { position: fixed !important; top: var(--dg-htop, 0px) !important; left: 0; right: 0; transform: none !important; clip-path: none !important; will-change: auto !important; transition: box-shadow .3s ease !important; }
	.wp-site-blocks { padding-top: var(--dg-hh, 0px); }
	header.dg-sticky .dg-header-row::after { display: none !important; }
	header.dg-sticky .dg-topbar { overflow: hidden; max-height: 80px; opacity: 1; transition: max-height .4s cubic-bezier(.22, .61, .36, 1), opacity .3s ease; }
	header.dg-sticky.is-compact .dg-topbar { max-height: 0; opacity: 0; }
	header.dg-sticky .dg-header-row { transition: row-gap .4s cubic-bezier(.22, .61, .36, 1), padding .4s cubic-bezier(.22, .61, .36, 1); }
	header.dg-sticky.is-compact .dg-header-row { row-gap: 0 !important; padding-top: 8px !important; padding-bottom: 12px !important; }
	header.dg-sticky .dg-header-row .wp-block-site-logo img { transition: height .4s cubic-bezier(.22, .61, .36, 1), margin .4s cubic-bezier(.22, .61, .36, 1); }
	header.dg-sticky.is-compact .dg-header-row .wp-block-site-logo img { height: 54px !important; margin: -4px -9px -6px !important; }
	header.dg-sticky .dg-header-row > .wp-block-search { max-height: 72px; overflow: hidden; opacity: 1; transform: none !important; transition: max-height .4s cubic-bezier(.22, .61, .36, 1), opacity .3s ease !important; }
	header.dg-sticky.is-compact .dg-header-row > .wp-block-search { max-height: 0; opacity: 0; pointer-events: none; }
	header.dg-sticky.dg-measuring, header.dg-sticky.dg-measuring * { transition: none !important; }
}
@media (max-width: 900px) and (prefers-reduced-motion: reduce) {
	header.dg-sticky .dg-topbar, header.dg-sticky .dg-header-row, header.dg-sticky .dg-header-row > .wp-block-search { transition: none !important; }
}
