/* Maison Denois — V2 (Figma « Refonte V2 »). Feuille globale du site.
   Couleurs et typographies identiques à la HP V2 ; composants : header, footer, bandeau, navigation gammes,
   sections, cartes vins, boutons, réassurance, fiche produit, panier, règlement, compte, pages légales. */
:root {
	--dn-green: #545D5C;
	--dn-night: #2E3534;
	--dn-gold: #B98D58;
	--dn-gold-t: #8C6A3F;
	--dn-cream: #F9F8F4;
	--dn-sand: #EFE8DC;
	--dn-line: #DDD5C7;
	--dn-ink: #242E35;
	--dn-white: #FFFFFF;
	--dn-gutter: 80px;
	--dn-serif: "Cormorant Infant", "Cormorant Garamond", Georgia, serif;
	--dn-sans: "Raleway", "Helvetica Neue", Arial, sans-serif;
	--dn-label: "Alata", "Raleway", Arial, sans-serif;
}
body.dn-v2 { background-color: var(--dn-cream); }
body.dn-v2 #scroll-to-top { display: none !important; }
body.dn-v2 .dn-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* ---------- Typographie ---------- */
body.dn-v2 .dn-eyebrow { margin: 0; font-family: var(--dn-label); font-weight: 400; font-size: 11px; line-height: 16px; letter-spacing: 2px; text-transform: uppercase; color: var(--dn-gold-t); }
body.dn-v2 .dn-h1, body.dn-v2 .dn-h2, body.dn-v2 .dn-name { margin: 0; font-family: var(--dn-sans); font-weight: 500; text-transform: uppercase; color: var(--dn-green); }
body.dn-v2 .dn-h1 { font-size: 30px; line-height: 36px; letter-spacing: 10px; }
body.dn-v2 .dn-h2 { font-size: 24px; line-height: 30px; letter-spacing: 8px; }
body.dn-v2 .dn-name { font-size: 17px; line-height: 22px; letter-spacing: 5px; }
body.dn-v2 .dn-name a { color: inherit; text-decoration: none; }
body.dn-v2 .dn-name a:hover, body.dn-v2 .dn-name a:focus-visible { text-decoration: underline; text-underline-offset: 4px; }
body.dn-v2 .dn-intro { margin: 0; font-family: var(--dn-sans); font-weight: 500; font-size: 18px; line-height: 30px; color: var(--dn-gold-t); }
body.dn-v2 .dn-body, body.dn-v2 .dn-body p { font-family: var(--dn-serif); font-size: 20px; line-height: 30px; color: var(--dn-green); }
body.dn-v2 .dn-small { font-family: var(--dn-serif); font-size: 16px; line-height: 22px; color: var(--dn-green); }
/* ---------- Boutons ---------- */
body.dn-v2 .dn-btn, body.dn-v2 .dn-btn:visited {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px;
	padding: 16px 28px; border: 1px solid var(--dn-green); border-radius: 0; background: var(--dn-green); box-shadow: none;
	font-family: var(--dn-label); font-weight: 400; font-size: 12px; line-height: 16px; letter-spacing: 2px;
	text-transform: uppercase; text-decoration: none; color: var(--dn-cream); cursor: pointer; transition: background .2s, color .2s;
}
body.dn-v2 .dn-btn:hover, body.dn-v2 .dn-btn:focus-visible { background: var(--dn-night); border-color: var(--dn-night); color: var(--dn-cream); }
body.dn-v2 .dn-btn--secondary, body.dn-v2 .dn-btn--secondary:visited { background: transparent; color: var(--dn-green); }
body.dn-v2 .dn-btn--secondary:hover, body.dn-v2 .dn-btn--secondary:focus-visible { background: var(--dn-green); color: var(--dn-cream); }
body.dn-v2 .dn-btn--light { background: var(--dn-cream); border-color: var(--dn-cream); color: var(--dn-green); }
body.dn-v2 .dn-btn--link, body.dn-v2 .dn-btn--link:visited {
	min-height: 44px; padding: 0; border: 0; background: none; color: var(--dn-gold-t); text-decoration: underline; text-underline-offset: 4px;
}
body.dn-v2 .dn-btn--link:hover, body.dn-v2 .dn-btn--link:focus-visible { background: none; color: var(--dn-green); }
body.dn-v2 .dn-btn.added::after { content: none; }
body.dn-v2 .dn-btn.loading { opacity: .6; }
body.dn-v2 .dn-btns { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px; }
body.dn-v2 a.added_to_cart { display: none !important; }
/* ---------- Header ---------- */
body.dn-v2 .dn-site-header { position: relative; z-index: 50; background: var(--dn-green); }
body.dn-v2 .dn-site-header__inner { display: flex; align-items: center; justify-content: space-between; height: 96px; padding: 0 var(--dn-gutter); }
body.dn-v2 .dn-burger {
	-webkit-appearance: none; appearance: none; display: flex; align-items: center; justify-content: center;
	width: 32px; height: 32px; min-height: 0; padding: 0; margin: 0; border: 0; background: none; box-shadow: none; cursor: pointer; visibility: hidden;
}
body.dn-v2 .dn-burger * { visibility: inherit; }
body.dn-v2 .dn-btn { box-sizing: border-box; }
body.dn-v2 .dn-burger:hover, body.dn-v2 .dn-burger:focus { background: none; }
body.dn-v2 .dn-nav { display: flex; align-items: center; gap: 56px; }
body.dn-v2 .dn-nav__item { position: static; }
body.dn-v2 .dn-nav__link {
	display: flex; align-items: center; gap: 6px; height: 30px; padding: 0 16px; border: 0; background: none;
	font-family: var(--dn-label); font-weight: 400; font-size: 11px; line-height: 20px; letter-spacing: 3px;
	text-transform: uppercase; color: var(--dn-white); text-decoration: none; cursor: pointer;
}
body.dn-v2 .dn-nav__link.is-current { padding: 0; color: var(--dn-gold); }
body.dn-v2 .dn-nav__link.is-current::before, body.dn-v2 .dn-nav__link.is-current::after { content: ""; width: 10px; height: 1px; background: var(--dn-gold); }
body.dn-v2 .dn-nav__link:hover, body.dn-v2 .dn-nav__link:focus-visible { color: var(--dn-gold); background: none; }
body.dn-v2 .dn-logo { display: block; line-height: 0; }
body.dn-v2 .dn-logo img { display: block; width: 204px; height: 68px; object-fit: contain; }
body.dn-v2 .dn-cart { position: relative; display: block; width: 32px; height: 32px; }
body.dn-v2 .dn-cart svg { position: absolute; left: 4px; top: 8px; width: 20px; height: 20px; }
body.dn-v2 .dn-cart__count {
	position: absolute; left: 18px; top: 2px; display: flex; align-items: center; justify-content: center; min-width: 16px; height: 16px; padding: 0 3px;
	border-radius: 8px; background: var(--dn-cream); font-family: var(--dn-label); font-size: 10px; line-height: 10px; color: var(--dn-green);
}
/* Menu déroulant « Nos vins » */
body.dn-v2 .dn-dropdown {
	position: absolute; left: 0; right: 0; top: 96px; display: none; padding: 40px var(--dn-gutter);
	background: var(--dn-cream); border-bottom: 1px solid var(--dn-line); box-shadow: 0 12px 24px rgba(46, 53, 52, .08);
}
body.dn-v2 .dn-nav__item--wines:hover .dn-dropdown, body.dn-v2 .dn-nav__item--wines.is-open .dn-dropdown { display: block; }
body.dn-v2 .dn-dropdown__grid { display: flex; justify-content: center; gap: 24px; max-width: 1280px; margin: 0 auto; }
body.dn-v2 .dn-dropdown__item { display: flex; flex-direction: column; align-items: center; gap: 12px; width: 170px; text-decoration: none; }
body.dn-v2 .dn-dropdown__img { display: flex; align-items: center; justify-content: center; width: 170px; height: 190px; background: var(--dn-white); }
body.dn-v2 .dn-dropdown__img img { width: 70px; height: 170px; object-fit: contain; }
body.dn-v2 .dn-dropdown__label { font-family: var(--dn-label); font-size: 11px; line-height: 16px; letter-spacing: 2px; text-transform: uppercase; text-align: center; color: var(--dn-green); }
body.dn-v2 .dn-dropdown__item:hover .dn-dropdown__label, body.dn-v2 .dn-dropdown__item:focus-visible .dn-dropdown__label { color: var(--dn-gold-t); text-decoration: underline; }
body.dn-v2 .dn-dropdown__all { display: flex; align-items: center; justify-content: center; width: 140px; }
body.dn-v2 .dn-mobile-nav { display: none; }
/* ---------- Footer ---------- */
body.dn-v2 .dn-site-footer { background: var(--dn-cream); }
body.dn-v2 .dn-foot__top { display: flex; flex-direction: column; align-items: center; padding: 136px var(--dn-gutter) 0; }
body.dn-v2 .dn-foot__logo img { display: block; width: 216px; height: 72px; object-fit: contain; }
body.dn-v2 .dn-foot__contacts { display: flex; justify-content: center; gap: 40px; padding: 40px 0 120px; }
body.dn-v2 .dn-foot__col { display: flex; flex-direction: column; align-items: center; gap: 8px; width: 330px; text-align: center; }
body.dn-v2 .dn-foot__title { margin: 0; font-family: var(--dn-serif); font-weight: 700; font-size: 26px; line-height: 31px; color: var(--dn-green); }
body.dn-v2 .dn-foot__text { margin: 0; font-family: var(--dn-serif); font-size: 20px; line-height: 28px; color: var(--dn-green); }
body.dn-v2 .dn-foot__infos { margin: 12px 0 0; font-family: var(--dn-serif); font-style: italic; font-weight: 700; font-size: 26px; line-height: 31px; color: var(--dn-green); }
body.dn-v2 .dn-foot__infos a { color: var(--dn-ink); text-decoration: none; }
body.dn-v2 .dn-foot__infos a:hover, body.dn-v2 .dn-foot__infos a:focus-visible { text-decoration: underline; }
body.dn-v2 .dn-band {
	position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 18px; min-height: 400px; padding: 0 var(--dn-gutter) 36px;
	background: var(--dn-green) center bottom / cover no-repeat; overflow: hidden;
}
body.dn-v2 .dn-band::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .36); }
body.dn-v2 .dn-band::before {
	content: ""; position: absolute; z-index: 2; top: 0; left: -14px; width: calc(100% + 29px); height: 73px; pointer-events: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1469 73' preserveAspectRatio='none'%3E%3Cpath fill='%23F9F8F4' fill-rule='evenodd' d='M526.909 43.8C560.647 38.3498 596.951 28.2269 635.822 13.432C578.615 39.128 539.26 42.8163 542.862 43.8C560.608 48.6492 606.861 64.8311 610.519 67.744C614.92 71.248 624.821 67.744 624.821 67.744C624.821 67.744 651.223 73 652.874 73C654.524 73 680.377 64.24 690.828 64.24C701.279 64.24 724.382 73 740.884 73C757.386 73 794.79 67.744 905.353 30.952C867.398 46.72 836.308 54.312 838.796 54.312C846.496 54.312 865.762 44.0516 930.655 54.312C960.909 59.0953 1018.12 42.632 1013.17 39.712C1008.21 36.792 1001.86 36.3859 1002.16 36.208C1003.04 35.7055 1034.62 38.544 1056.62 46.136C1083.15 55.2886 1085.22 55.48 1100.08 53.144C1120.98 49.64 1405.58 20.5534 1463.79 20.5534C1465.21 20.5534 1465.21 13.702 1463.79 7.15256e-07H3.79128V20.5534C23.0314 20.5534 452.101 50.808 475.203 50.808C490.605 50.808 507.841 48.472 526.909 43.8Z'/%3E%3C/svg%3E") no-repeat 0 0 / 100% 100%;
}
body.dn-v2 .dn-band > * { position: relative; z-index: 1; }
body.dn-v2 .dn-band__social { display: flex; justify-content: center; gap: 24px; margin: 0; padding: 0; list-style: none; }
body.dn-v2 .dn-band__social a, body.dn-v2 .dn-legal a { color: var(--dn-white); text-decoration: underline; text-underline-offset: 3px; }
body.dn-v2 .dn-band__social a { font-family: var(--dn-label); font-size: 11px; line-height: 20px; letter-spacing: 3px; text-transform: uppercase; }
body.dn-v2 .dn-legal__alcohol { margin: 0; text-align: center; font-family: var(--dn-serif); font-style: italic; font-size: 16px; line-height: 22px; color: var(--dn-white); }
body.dn-v2 .dn-legal {
	display: flex; align-items: center; justify-content: space-between; margin: 0; padding: 0; list-style: none;
	font-family: var(--dn-label); font-size: 11px; line-height: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--dn-white);
}
body.dn-v2 .dn-legal a { text-decoration: none; }
body.dn-v2 .dn-legal a:hover, body.dn-v2 .dn-legal a:focus-visible, body.dn-v2 .dn-band__social a:hover { text-decoration: underline; }
/* ---------- Bandeau de page (H1) ---------- */
body.dn-v2 .dn-hero-band {
	position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
	min-height: 360px; padding: 0 var(--dn-gutter); background: var(--dn-night) center / cover no-repeat; text-align: center;
}
body.dn-v2 .dn-hero-band::before { content: ""; position: absolute; inset: 0; background: rgba(46, 53, 52, .45); }
body.dn-v2 .dn-hero-band > * { position: relative; }
body.dn-v2 .dn-hero-band .dn-eyebrow { color: var(--dn-cream); }
body.dn-v2 .dn-hero-band .dn-h1 { color: var(--dn-white); }
body.dn-v2 .dn-hero-band .dn-intro { max-width: 760px; color: var(--dn-cream); }
/* ---------- Fil d’Ariane + puces de gammes ---------- */
body.dn-v2 .dn-pagenav { display: flex; flex-direction: column; align-items: center; gap: 24px; padding: 32px var(--dn-gutter) 0; }
body.dn-v2 .dn-pagenav--left { align-items: flex-start; }
body.dn-v2 .dn-pagenav > nav { max-width: 100%; }
body.dn-v2 .dn-crumbs { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
body.dn-v2 .dn-crumbs li { display: flex; gap: 10px; font-family: var(--dn-label); font-size: 11px; line-height: 16px; letter-spacing: 2px; text-transform: uppercase; color: var(--dn-green); }
body.dn-v2 .dn-crumbs li + li::before { content: "/"; color: var(--dn-line); }
body.dn-v2 .dn-crumbs a { color: var(--dn-gold-t); text-decoration: none; }
body.dn-v2 .dn-crumbs a:hover, body.dn-v2 .dn-crumbs a:focus-visible { text-decoration: underline; }
body.dn-v2 .dn-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 0; padding: 0; list-style: none; }
body.dn-v2 .dn-chip {
	display: inline-flex; align-items: center; min-height: 40px; padding: 11px 18px; border: 1px solid var(--dn-line); border-radius: 40px;
	background: var(--dn-white); font-family: var(--dn-label); font-size: 11px; line-height: 16px; letter-spacing: 3px; text-transform: uppercase;
	color: var(--dn-green); text-decoration: none; white-space: nowrap;
}
body.dn-v2 .dn-chip:hover, body.dn-v2 .dn-chip:focus-visible { border-color: var(--dn-green); color: var(--dn-green); }
body.dn-v2 .dn-chip.is-active { border-color: var(--dn-green); background: var(--dn-green); color: var(--dn-cream); }
/* ---------- Sections ---------- */
body.dn-v2 .dn-sec { padding: 96px var(--dn-gutter) 0; }
body.dn-v2 .dn-sec--last { padding-bottom: 112px; }
body.dn-v2 .dn-sec__head { display: flex; flex-direction: column; align-items: center; gap: 16px; margin: 0 auto 40px; max-width: 1000px; text-align: center; }
body.dn-v2 .dn-sec__head--left { align-items: flex-start; max-width: none; text-align: left; }
body.dn-v2 .dn-sec__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 32px; }
body.dn-v2 .dn-sec__row .dn-sec__head { margin: 0; }
body.dn-v2 .dn-cta { display: flex; flex-direction: column; align-items: center; gap: 20px; padding: 112px var(--dn-gutter) 0; text-align: center; }
body.dn-v2 .dn-reas-wrap { padding: 96px var(--dn-gutter); }
body.dn-v2 .dn-reas { display: flex; gap: 40px; max-width: 1280px; margin: 0 auto; padding: 32px 0; border-top: 1px solid var(--dn-line); border-bottom: 1px solid var(--dn-line); }
body.dn-v2 .dn-reas__item { display: flex; flex: 1 1 0; align-items: center; gap: 14px; }
body.dn-v2 .dn-reas__item::before { content: ""; flex: none; width: 24px; height: 1px; background: var(--dn-gold); }
body.dn-v2 .dn-reas__title { margin: 0; font-family: var(--dn-label); font-size: 11px; line-height: 16px; letter-spacing: 2px; text-transform: uppercase; color: var(--dn-green); }
body.dn-v2 .dn-reas__text { margin: 2px 0 0; font-family: var(--dn-serif); font-size: 16px; line-height: 22px; color: var(--dn-green); }
/* ---------- Cartes vins ---------- */
body.dn-v2 .dn-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 413px)); justify-content: center; gap: 56px 20px; max-width: 1280px; margin: 0 auto; }
body.dn-v2 .dn-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.dn-v2 .dn-card { display: flex; flex-direction: column; align-items: center; min-width: 0; }
body.dn-v2 .dn-card__visual { display: flex; align-items: center; justify-content: center; width: 100%; height: 380px; padding: 20px 0; background: var(--dn-cream); line-height: 0; }
body.dn-v2 .dn-card__visual img { width: auto; max-width: 100%; height: 340px; object-fit: contain; mix-blend-mode: multiply; }
body.dn-v2 .dn-card__info { display: flex; flex-direction: column; align-items: center; gap: 8px; width: 100%; padding: 18px 0 20px; text-align: center; }
body.dn-v2 .dn-card__price { margin: 0; font-family: var(--dn-serif); font-weight: 600; font-size: 22px; line-height: 26px; color: var(--dn-green); }
body.dn-v2 .dn-card__price .woocommerce-Price-amount { color: inherit; }
body.dn-v2 .dn-card__stock { margin: 0; font-family: var(--dn-label); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #8A2B2B; }
body.dn-v2 .dn-card__review { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 12px; width: 100%; flex-grow: 1; margin: 0; padding: 24px 28px; background: var(--dn-white); text-align: center; }
body.dn-v2 .dn-card__quote { margin: 0; padding: 0; border: 0; font-family: var(--dn-serif); font-style: italic; font-size: 19px; line-height: 27px; color: var(--dn-green); quotes: none; }
body.dn-v2 .dn-card__quote::before, body.dn-v2 .dn-card__quote::after { content: none; }
body.dn-v2 .dn-card__source, body.dn-v2 .dn-press__source { border: 0; padding: 0; background: none; }
body.dn-v2 .dn-card__source { margin: 0; font-family: var(--dn-serif); font-style: normal; font-weight: 700; font-size: 16px; line-height: 22px; color: var(--dn-ink); }
body.dn-v2 .dn-card__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 20px; width: 100%; padding-top: 20px; }
body.dn-v2 .dn-grid--4 .dn-card__actions .dn-btn--link { display: none; }
body.dn-v2 .dn-grid--catalog .dn-card__info { flex-grow: 1; }
/* Ligne compacte (mobile, catalogue) */
body.dn-v2 .dn-list { display: none; }
body.dn-v2 .dn-row { display: flex; align-items: center; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--dn-line); }
body.dn-v2 .dn-row__visual { display: flex; flex: none; align-items: center; justify-content: center; width: 84px; height: 150px; background: var(--dn-white); }
body.dn-v2 .dn-row__visual img { width: 60px; height: 136px; object-fit: contain; }
body.dn-v2 .dn-row__info { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
body.dn-v2 .dn-row__info .dn-name { font-size: 15px; line-height: 20px; letter-spacing: 4px; }
body.dn-v2 .dn-row__actions { display: flex; align-items: center; gap: 14px; padding-top: 6px; }
body.dn-v2 .dn-row__actions .dn-btn { min-height: 44px; padding: 14px 16px; }
/* Barre de filtres (Tous les vins) */
body.dn-v2 .dn-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; max-width: 1280px; margin: 40px auto 0; padding: 16px 20px; background: var(--dn-white); border: 1px solid var(--dn-line); }
body.dn-v2 .dn-filters__label { margin-right: 4px; }
body.dn-v2 .dn-select {
	-webkit-appearance: none; appearance: none; height: 48px; padding: 0 40px 0 18px; border: 1px solid var(--dn-line); border-radius: 0;
	background: var(--dn-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%23545D5C' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 16px center;
	font-family: var(--dn-sans); font-weight: 600; font-size: 13px; color: var(--dn-green);
}
body.dn-v2 .dn-filters__spacer { flex: 1 1 auto; }
body.dn-v2 .dn-filters__count { font-family: var(--dn-sans); font-weight: 600; font-size: 13px; color: var(--dn-green); }
body.dn-v2 .dn-cat-sec[hidden], body.dn-v2 .dn-card[hidden], body.dn-v2 .dn-row[hidden] { display: none !important; }
body.dn-v2 .dn-empty { display: none; margin: 40px auto 0; text-align: center; }
body.dn-v2 .dn-empty.is-visible { display: block; }
/* Toast ajout au panier */
body.dn-v2 .dn-toast {
	position: fixed; z-index: 9999; right: 24px; bottom: 24px; display: flex; align-items: center; gap: 16px; max-width: 420px; padding: 16px 20px;
	background: var(--dn-night); color: var(--dn-cream); font-family: var(--dn-serif); font-size: 17px; line-height: 22px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .2); transform: translateY(140%); opacity: 0; visibility: hidden; transition: transform .3s ease, opacity .3s ease, visibility .3s;
}
body.dn-v2 .dn-toast.is-visible { transform: none; opacity: 1; visibility: visible; }
body.dn-v2 .dn-toast a { flex: none; font-family: var(--dn-label); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--dn-gold); }
/* ---------- Fiche produit ---------- */
body.dn-v2 .dn-product { display: grid; grid-template-columns: 600px minmax(0, 1fr); gap: 80px; max-width: 1280px; margin: 0 auto; padding: 32px var(--dn-gutter) 0; box-sizing: content-box; }
body.dn-v2 .dn-product__visual {
	position: relative; display: flex; align-items: center; justify-content: center; height: 720px; background: var(--dn-white) center / 520px no-repeat;
}
body.dn-v2 .dn-product__visual::before { content: ""; position: absolute; inset: 100px 40px; background: var(--dn-medallion) center / contain no-repeat; opacity: .12; }
body.dn-v2 .dn-product__visual img { position: relative; width: auto; max-width: 80%; height: 620px; object-fit: contain; }
body.dn-v2 .dn-product__info { display: flex; flex-direction: column; gap: 22px; padding-top: 56px; }
body.dn-v2 .dn-badge { align-self: flex-start; padding: 8px 14px; background: var(--dn-sand); }
body.dn-v2 .dn-product__info .dn-eyebrow a { color: inherit; text-decoration: none; }
body.dn-v2 .dn-product__info .dn-eyebrow a:hover { text-decoration: underline; }
body.dn-v2 .dn-product__price { margin: 0; font-family: var(--dn-serif); font-weight: 600; font-size: 32px; line-height: 36px; color: var(--dn-green); }
body.dn-v2 .dn-product__price .woocommerce-Price-amount { color: inherit; }
body.dn-v2 .dn-product form.cart { display: flex; align-items: stretch; gap: 12px; margin: 0; }
body.dn-v2 .dn-product form.cart .single_add_to_cart_button { flex: 1 1 auto; }
body.dn-v2 .dn-qty { display: inline-flex; align-items: stretch; border: 1px solid var(--dn-line); background: var(--dn-white); }
body.dn-v2 .dn-qty button {
	-webkit-appearance: none; appearance: none; width: 44px; min-height: 50px; padding: 0; margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none;
	font-family: var(--dn-sans); font-weight: 500; font-size: 18px; color: var(--dn-green); cursor: pointer;
}
body.dn-v2 .dn-qty button:hover { background: var(--dn-sand); color: var(--dn-green); }
body.dn-v2 .dn-qty .quantity { margin: 0 !important; }
body.dn-v2 .dn-qty input.qty {
	width: 48px; height: 50px; min-height: 0; padding: 0; margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; text-align: center;
	font-family: var(--dn-sans); font-weight: 500; font-size: 16px; color: var(--dn-green); -moz-appearance: textfield;
}
body.dn-v2 .dn-qty input.qty::-webkit-inner-spin-button, body.dn-v2 .dn-qty input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
body.dn-v2 .dn-product__ship { margin: 0; font-family: var(--dn-serif); font-size: 16px; line-height: 22px; color: var(--dn-gold-t); }
body.dn-v2 .dn-hr { height: 1px; margin: 0; border: 0; background: var(--dn-line); }
body.dn-v2 .dn-product .stock.out-of-stock { margin: 0; font-family: var(--dn-label); font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: #8A2B2B; }
body.dn-v2 .dn-press { display: flex; flex-direction: column; align-items: center; gap: 32px; padding: 112px var(--dn-gutter) 0; }
body.dn-v2 .dn-press__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; width: 100%; max-width: 1280px; }
body.dn-v2 .dn-press__item { display: flex; flex: 1 1 380px; flex-direction: column; align-items: center; gap: 16px; max-width: 860px; margin: 0; padding: 40px 48px; background: var(--dn-white); text-align: center; }
body.dn-v2 .dn-press__quote { margin: 0; padding: 0; border: 0; font-family: var(--dn-serif); font-style: italic; font-size: 22px; line-height: 32px; color: var(--dn-green); quotes: none; }
body.dn-v2 .dn-press__quote::before, body.dn-v2 .dn-press__quote::after { content: none; }
body.dn-v2 .dn-press__source { font-family: var(--dn-serif); font-style: normal; font-weight: 700; font-size: 16px; line-height: 22px; color: var(--dn-ink); }
/* ---------- Pages WooCommerce : étapes, règle, panier, règlement, compte ---------- */
body.dn-v2 .dn-shop { max-width: 1280px; margin: 0 auto; padding: 56px var(--dn-gutter) 0; box-sizing: content-box; }
body.dn-v2 .dn-steps { display: flex; align-items: center; justify-content: center; gap: 16px; margin: 0 0 24px; padding: 0; list-style: none; }
body.dn-v2 .dn-steps li { display: flex; align-items: center; gap: 8px; font-family: var(--dn-label); font-size: 11px; line-height: 16px; letter-spacing: 2px; text-transform: uppercase; color: var(--dn-gold-t); }
body.dn-v2 .dn-steps li + li::before { content: ""; width: 40px; height: 1px; margin-right: 8px; background: var(--dn-line); }
body.dn-v2 .dn-steps__n { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border: 1px solid var(--dn-green); border-radius: 50%; font-family: var(--dn-sans); font-weight: 600; font-size: 11px; letter-spacing: 0; color: var(--dn-green); }
body.dn-v2 .dn-steps li.is-done .dn-steps__n, body.dn-v2 .dn-steps li.is-current .dn-steps__n { background: var(--dn-green); color: var(--dn-cream); }
body.dn-v2 .dn-steps li.is-current { color: var(--dn-green); }
body.dn-v2 .dn-shop__title { margin: 0 0 32px; text-align: center; }
body.dn-v2 .dn-rule { display: flex; align-items: center; gap: 12px; margin: 0 0 8px; padding: 14px 18px; background: var(--dn-sand); font-family: var(--dn-serif); font-size: 17px; line-height: 23px; color: var(--dn-green); }
body.dn-v2 .dn-rule::before { content: ""; flex: none; width: 3px; height: 32px; background: var(--dn-gold); }
body.dn-v2 .dn-rule--ok { background: transparent; padding-left: 0; color: #243C1A; }
body.dn-v2 .dn-rule--ok::before { content: "✓"; width: auto; height: auto; background: none; }
body.dn-v2 .woocommerce-notices-wrapper .woocommerce-error, body.dn-v2 .woocommerce-notices-wrapper .woocommerce-message, body.dn-v2 .woocommerce-notices-wrapper .woocommerce-info, body.dn-v2 .woocommerce .woocommerce-error, body.dn-v2 .woocommerce .woocommerce-info, body.dn-v2 .woocommerce .woocommerce-message {
	margin: 0 0 24px; padding: 14px 18px 14px 18px; border: 0; border-left: 3px solid var(--dn-gold); background: var(--dn-sand); list-style: none;
	font-family: var(--dn-serif); font-size: 17px; line-height: 23px; color: var(--dn-green);
}
body.dn-v2 .woocommerce-error { border-left-color: #8A2B2B !important; }
body.dn-v2 .woocommerce-error::before, body.dn-v2 .woocommerce-info::before, body.dn-v2 .woocommerce-message::before { content: none !important; }
body.dn-v2 .dn-shop .woocommerce { font-family: var(--dn-serif); color: var(--dn-green); }
body.dn-v2 .dn-shop .woocommerce h2, body.dn-v2 .dn-shop .woocommerce h3, body.dn-v2 .dn-shop #order_review_heading {
	margin: 0 0 16px; font-family: var(--dn-sans); font-weight: 600; font-size: 15px; line-height: 22px; letter-spacing: 2px; text-transform: uppercase; color: var(--dn-green);
}
body.dn-v2 .dn-shop .woocommerce a { color: var(--dn-gold-t); }
body.dn-v2 .dn-shop .woocommerce .button, body.dn-v2 .dn-shop .woocommerce button.button, body.dn-v2 .dn-shop .woocommerce a.button, body.dn-v2 .dn-shop #place_order {
	min-height: 50px; padding: 16px 28px; border: 1px solid var(--dn-green); border-radius: 0; background: var(--dn-green); box-shadow: none;
	font-family: var(--dn-label); font-weight: 400; font-size: 12px; line-height: 16px; letter-spacing: 2px; text-transform: uppercase; color: var(--dn-cream);
}
body.dn-v2 .dn-shop .woocommerce .button:hover, body.dn-v2 .dn-shop #place_order:hover { background: var(--dn-night); border-color: var(--dn-night); color: var(--dn-cream); }
body.dn-v2 .dn-shop .woocommerce button[name="update_cart"], body.dn-v2 .dn-shop .woocommerce button[name="apply_coupon"] { background: transparent; color: var(--dn-green); }
body.dn-v2 .dn-shop .woocommerce button[name="update_cart"]:disabled { opacity: .4; }
body.dn-v2 .dn-shop .woocommerce input.input-text, body.dn-v2 .dn-shop .woocommerce textarea, body.dn-v2 .dn-shop .woocommerce select, body.dn-v2 .dn-shop .woocommerce .select2-container .select2-selection--single {
	min-height: 50px; padding: 12px 16px; border: 1px solid var(--dn-line); border-radius: 0; background: var(--dn-white); box-shadow: none;
	font-family: var(--dn-serif); font-size: 18px; line-height: 24px; color: var(--dn-green);
}
body.dn-v2 .dn-shop .woocommerce .select2-container .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 24px; color: var(--dn-green); }
body.dn-v2 .dn-shop .woocommerce .select2-container .select2-selection--single .select2-selection__arrow { top: 12px; right: 8px; }
body.dn-v2 .dn-shop .woocommerce form .form-row label {
	margin-bottom: 6px; font-family: var(--dn-sans); font-weight: 600; font-size: 13px; line-height: 18px; color: var(--dn-green);
}
body.dn-v2 .dn-shop .woocommerce form .form-row .required { color: var(--dn-gold-t); text-decoration: none; }
body.dn-v2 .dn-shop .woocommerce form .form-row { margin: 0 0 18px; padding: 0; }
/* Panier */
body.dn-v2 .dn-shop .woocommerce-cart-form, body.dn-v2 .dn-shop .cart-collaterals { font-size: 18px; }
body.dn-v2 .dn-shop .woocommerce .cart-collaterals .cart_totals, body.dn-v2 .dn-shop .woocommerce-checkout-review-order, body.dn-v2 .dn-shop .woocommerce .cart-collaterals .cart_totals { padding: 28px; background: var(--dn-white); }
body.dn-v2 .dn-shop table.shop_table { margin: 0; border: 0; border-collapse: collapse; border-radius: 0; background: none; }
body.dn-v2 .dn-shop table.shop_table th, body.dn-v2 .dn-shop table.shop_table td { padding: 16px 8px; border: 0; border-bottom: 1px solid var(--dn-line); background: none; font-family: var(--dn-serif); font-size: 18px; color: var(--dn-green); vertical-align: middle; }
body.dn-v2 .dn-shop table.shop_table thead th { font-family: var(--dn-label); font-weight: 400; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--dn-gold-t); }
body.dn-v2 .dn-shop table.cart img { width: 64px; height: 110px; object-fit: contain; background: var(--dn-white); }
body.dn-v2 .dn-shop table.cart td.product-name a { font-family: var(--dn-sans); font-weight: 500; font-size: 15px; letter-spacing: 4px; text-transform: uppercase; color: var(--dn-green); text-decoration: none; }
body.dn-v2 .dn-shop table.cart td.product-remove a.remove { color: var(--dn-gold-t) !important; font-size: 22px; }
body.dn-v2 .dn-shop table.cart td.product-remove a.remove:hover { background: var(--dn-sand); }
body.dn-v2 .dn-shop table.cart .quantity input.qty { width: 72px; min-height: 44px; padding: 8px; text-align: center; }
body.dn-v2 .dn-shop table.cart td.actions .coupon { display: flex; gap: 8px; }
body.dn-v2 .dn-shop table.cart td.actions .coupon input.input-text { width: 200px; }
body.dn-v2 .dn-shop .cart_totals .order-total td, body.dn-v2 .dn-shop .order-total td { font-weight: 600; font-size: 22px; }
body.dn-v2 .dn-shop .includes_tax, body.dn-v2 .dn-shop .tax_label { display: block; font-size: 15px; font-weight: 400; color: var(--dn-gold-t); }
body.dn-v2 .dn-shop .wc-proceed-to-checkout { padding: 20px 0 0; }
body.dn-v2 .dn-shop .wc-proceed-to-checkout .checkout-button { display: flex; width: 100%; margin: 0; }
body.dn-v2 .dn-shop .woocommerce-shipping-calculator .shipping-calculator-button { color: var(--dn-gold-t); text-decoration: underline; }
body.dn-v2 .dn-shop .cart-empty.woocommerce-info { display: none; }
body.dn-v2 .dn-shop .return-to-shop { display: none; }
/* Règlement */
body.dn-v2 .dn-shop form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 48px; align-items: start; }
body.dn-v2 .dn-shop form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
body.dn-v2 .dn-shop form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; width: auto; }
body.dn-v2 .dn-shop form.checkout #customer_details .col-1, body.dn-v2 .dn-shop form.checkout #customer_details .col-2 { float: none; width: 100%; max-width: none; padding: 0; }
body.dn-v2 .dn-shop form.checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0; padding: 28px 28px 0; background: var(--dn-white); }
body.dn-v2 .dn-shop form.checkout #order_review { grid-column: 2; grid-row: 2; width: auto; float: none; padding: 16px 28px 28px; background: var(--dn-white); }
body.dn-v2 .dn-shop .woocommerce-checkout-review-order { padding: 0; }
body.dn-v2 .dn-shop #payment { border-radius: 0; background: none; }
body.dn-v2 .dn-shop #payment ul.payment_methods { padding: 16px 0; border-bottom: 1px solid var(--dn-line); }
body.dn-v2 .dn-shop #payment ul.payment_methods li { padding: 14px 16px; margin: 0 0 10px; border: 1px solid var(--dn-line); background: var(--dn-white); list-style: none; font-family: var(--dn-serif); font-size: 17px; }
body.dn-v2 .dn-shop #payment div.payment_box { margin: 10px 0 0; padding: 0; background: none; font-family: var(--dn-serif); font-style: italic; font-size: 16px; line-height: 22px; color: var(--dn-gold-t); }
body.dn-v2 .dn-shop #payment div.payment_box::before { content: none; }
body.dn-v2 .dn-shop #payment .place-order { padding: 16px 0 0; }
body.dn-v2 .dn-shop #payment #place_order { width: 100%; float: none; }
body.dn-v2 .dn-shop .woocommerce-privacy-policy-text p { font-size: 15px; line-height: 21px; color: var(--dn-gold-t); }
body.dn-v2 .dn-shop .woocommerce-form__label-for-checkbox { display: flex; gap: 10px; align-items: flex-start; font-family: var(--dn-serif); font-size: 16px; line-height: 22px; }
body.dn-v2 .dn-shop .woocommerce-form-coupon-toggle .woocommerce-info { background: none; border: 0; padding: 0; margin: 0 0 16px; font-size: 16px; }
body.dn-v2 .dn-shop form.checkout_coupon { display: flex; gap: 8px; margin: 0 0 24px; padding: 16px; border: 1px solid var(--dn-line); border-radius: 0; }
body.dn-v2 .dn-shop #ship-to-different-address { margin: 8px 0 16px; font-size: 15px; }
body.dn-v2 .dn-shop #ship-to-different-address label { font-family: var(--dn-serif); font-size: 17px; text-transform: none; letter-spacing: 0; font-weight: 400; }
body.dn-v2 .dn-shop .woocommerce-shipping-methods { margin: 0; padding: 0; list-style: none; }
/* Mon compte */
body.dn-v2 .dn-shop .u-columns { display: flex; gap: 32px; justify-content: center; }
body.dn-v2 .dn-shop .u-columns .u-column1, body.dn-v2 .dn-shop .u-columns .u-column2 { float: none; width: 520px; max-width: 100%; padding: 40px; background: var(--dn-white); }
body.dn-v2 .dn-shop .u-columns .u-column2 { background: transparent; border: 1px solid var(--dn-line); }
body.dn-v2 .dn-shop .woocommerce form.login, body.dn-v2 .dn-shop .woocommerce form.register { margin: 0; padding: 0; border: 0; }
body.dn-v2 .dn-shop .woocommerce-form-login__submit, body.dn-v2 .dn-shop .woocommerce-form-register__submit { width: 100%; }
body.dn-v2 .dn-shop .woocommerce-MyAccount-navigation ul { padding: 0; list-style: none; }
/* ---------- Pages légales ---------- */
body.dn-v2 .dn-legal-page { display: grid; grid-template-columns: 300px minmax(0, 760px); gap: 96px; max-width: 1280px; margin: 0 auto; padding: 48px var(--dn-gutter) 112px; box-sizing: content-box; }
body.dn-v2 .dn-toc { position: sticky; top: 24px; align-self: start; display: flex; flex-direction: column; gap: 10px; padding: 24px; background: var(--dn-white); }
body.dn-v2 .dn-toc ol { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
body.dn-v2 .dn-toc a { font-family: var(--dn-serif); font-size: 16px; line-height: 22px; color: var(--dn-green); text-decoration: none; }
body.dn-v2 .dn-toc a:hover, body.dn-v2 .dn-toc a:focus-visible { text-decoration: underline; }
body.dn-v2 .dn-legal-text { display: flex; flex-direction: column; gap: 16px; }
body.dn-v2 .dn-legal-text h2 { margin: 24px 0 0; scroll-margin-top: 24px; font-family: var(--dn-sans); font-weight: 600; font-size: 15px; line-height: 22px; letter-spacing: 2px; text-transform: uppercase; color: var(--dn-green); }
body.dn-v2 .dn-legal-text h2:first-child { margin-top: 0; }
body.dn-v2 .dn-legal-text p, body.dn-v2 .dn-legal-text li { margin: 0; font-family: var(--dn-serif); font-size: 20px; line-height: 30px; color: var(--dn-green); }
body.dn-v2 .dn-legal-text a { color: var(--dn-gold-t); }
body.dn-v2 .dn-pagehead { display: flex; flex-direction: column; gap: 12px; max-width: 1280px; margin: 0 auto; padding: 80px var(--dn-gutter) 0; box-sizing: content-box; }
/* ---------- 404 ---------- */
body.dn-v2 .dn-404 { display: flex; flex-direction: column; align-items: center; gap: 20px; padding: 120px var(--dn-gutter); text-align: center; }
/* ---------- Bandeau cookies (Cookie Notice) ---------- */
body.dn-v2 #cookie-notice { font-family: var(--dn-serif) !important; border-top: 1px solid var(--dn-line); }
body.dn-v2 #cookie-notice.cookie-notice-visible .cookie-notice-container { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px 32px; padding: 24px var(--dn-gutter); text-align: left; }
body.dn-v2 #cookie-notice #cn-notice-text { font-size: 17px; line-height: 23px; color: var(--dn-green); }
body.dn-v2 #cookie-notice .cn-button {
	min-height: 48px; margin: 0 0 0 8px !important; padding: 14px 24px !important; border: 1px solid var(--dn-green) !important; border-radius: 0 !important;
	font-family: var(--dn-label) !important; font-size: 12px !important; letter-spacing: 2px !important; text-transform: uppercase; line-height: 16px !important;
}
body.dn-v2 #cookie-notice #cn-refuse-cookie { background: transparent !important; color: var(--dn-green) !important; }
body.dn-v2 #cookie-notice #cn-accept-cookie { background: var(--dn-green) !important; color: var(--dn-cream) !important; }
body.dn-v2 #cookie-notice #cn-more-info { background: none !important; border: 0 !important; color: var(--dn-gold-t) !important; text-decoration: underline; padding: 0 !important; }

/* Correctifs de spécificité face au thème Lagar */
body.dn-v2 .dn-filters .dn-select { display: inline-block; flex: 0 0 auto; width: auto; min-width: 170px; max-width: 100%; margin: 0; }
body.dn-v2 .dn-product form.cart .single_add_to_cart_button, body.dn-v2 .dn-product form.cart button.button {
	display: inline-flex; align-items: center; justify-content: center; flex: 1 1 auto; min-height: 52px; margin: 0; padding: 16px 28px;
	border: 1px solid var(--dn-green); border-radius: 0; background: var(--dn-green); box-shadow: none; float: none;
	font-family: var(--dn-label); font-weight: 400; font-size: 12px; line-height: 16px; letter-spacing: 2px; text-transform: uppercase; color: var(--dn-cream);
}
body.dn-v2 .dn-product form.cart .single_add_to_cart_button:hover { background: var(--dn-night); border-color: var(--dn-night); color: var(--dn-cream); }
body.dn-v2 .dn-product form.cart .single_add_to_cart_button.loading { opacity: .6; }

/* Vérification d'âge */
body.dn-v2 .dn-age { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(46, 53, 52, .7); }
body.dn-v2 .dn-age[hidden] { display: none; }
body.dn-v2 .dn-age__card { display: flex; flex-direction: column; align-items: center; gap: 20px; width: 560px; max-width: 100%; padding: 48px 56px; background: var(--dn-cream); text-align: center; }
body.dn-v2 .dn-age__card img { width: 150px; height: 50px; object-fit: contain; }
body.dn-v2 .dn-age__title { margin: 0; font-family: var(--dn-serif); font-weight: 500; font-size: 52px; line-height: 56px; color: var(--dn-green); text-transform: none; letter-spacing: 0; }
body.dn-v2 .dn-age__choices { display: flex; flex-direction: column; gap: 10px; width: 100%; }
body.dn-v2 .dn-age__choices .dn-btn { width: 100%; }
body.dn-v2 .dn-age__note { color: var(--dn-gold-t); }
body.dn-age-open { overflow: hidden; }


/* Panier vide : message et icône du thème remplacés par le bloc V2 */
body.dn-v2 .dn-shop .vamtam-empty-cart, body.dn-v2 .dn-shop .wc-empty-cart-message { display: none !important; }
/* Composants V2 à l'intérieur des blocs WooCommerce */
body.dn-v2 .dn-shop .woocommerce a.dn-btn { color: var(--dn-cream); }
body.dn-v2 .dn-shop .woocommerce a.dn-btn--secondary { color: var(--dn-green); }
body.dn-v2 .dn-shop .woocommerce a.dn-btn--secondary:hover { color: var(--dn-cream); }
body.dn-v2 .dn-shop .woocommerce a.dn-btn--link { color: var(--dn-gold-t); }
body.dn-v2 .dn-shop .woocommerce .dn-name a { color: var(--dn-green); }
body.dn-v2 .dn-shop .woocommerce .dn-h2 { margin: 0; font-family: var(--dn-sans); font-weight: 500; font-size: 24px; line-height: 30px; letter-spacing: 8px; text-transform: uppercase; }
body.dn-v2 .dn-shop .woocommerce .dn-name { margin: 0; font-family: var(--dn-sans); font-weight: 500; font-size: 17px; line-height: 22px; letter-spacing: 5px; text-transform: uppercase; }
body.dn-v2 .dn-shop .dn-sec { padding-left: 0; padding-right: 0; }


/* Panier : liste à gauche, récapitulatif à droite (gabarit WooCommerce standard) */
body.dn-v2 .dn-shop .woocommerce-cart .woocommerce, body.dn-v2.woocommerce-cart .dn-shop > .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 0 48px; align-items: start; }
body.dn-v2.woocommerce-cart .dn-shop > .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
body.dn-v2.woocommerce-cart .dn-shop > .woocommerce > .woocommerce-cart-form { grid-column: 1; }
body.dn-v2.woocommerce-cart .dn-shop > .woocommerce > .cart-collaterals { grid-column: 2; grid-row: 2; width: auto; }
body.dn-v2.woocommerce-cart .dn-shop > .woocommerce > .cart-collaterals .cart_totals { float: none; width: auto; }
body.dn-v2.woocommerce-cart .dn-shop > .woocommerce > .dn-cta, body.dn-v2.woocommerce-cart .dn-shop > .woocommerce > .dn-sec { grid-column: 1 / -1; }
body.dn-v2 .dn-shop table.cart i.vamtam-remove-product { display: none; }
body.dn-v2 .dn-shop table.cart td.product-remove a.remove { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; text-decoration: none; }
body.dn-v2 .dn-shop table.cart td.actions { padding-top: 20px; border-bottom: 0; text-align: left; }
body.dn-v2 .dn-shop table.cart td.actions button[name="update_cart"] { float: right; }
body.dn-v2 .dn-shop .cart_totals h2 { margin-bottom: 8px; }
body.dn-v2 .dn-shop .cart_totals th { width: 40%; font-family: var(--dn-serif); font-weight: 400; text-align: left; }
body.dn-v2 .dn-shop .woocommerce-shipping-destination, body.dn-v2 .dn-shop .woocommerce-shipping-calculator { font-size: 15px; line-height: 21px; color: var(--dn-gold-t); }


body.dn-v2 .dn-shop .wc-proceed-to-checkout a.checkout-button, body.dn-v2 .dn-shop .woocommerce a.checkout-button {
	display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 16px 28px; border-radius: 0; background: var(--dn-green); color: var(--dn-cream);
	font-family: var(--dn-label); font-weight: 400; font-size: 12px; line-height: 16px; letter-spacing: 2px; text-transform: uppercase;
}
body.dn-v2 .dn-shop .woocommerce a.checkout-button:hover { background: var(--dn-night); color: var(--dn-cream); }


/* Menu « Nos vins » : zone de survol continue du lien jusqu'au bandeau (pas de « trou » entre les deux) */
body.dn-v2 .dn-site-header__inner { align-items: stretch; }
body.dn-v2 .dn-site-header__inner > .dn-burger, body.dn-v2 .dn-site-header__inner > .dn-cart { align-self: center; }
body.dn-v2 .dn-nav { align-items: center; align-self: stretch; }
body.dn-v2 .dn-nav__item--wines { display: flex; align-items: center; align-self: stretch; }
body.dn-v2 .dn-dropdown { top: 100%; }
/* Bandeau cookies : la page réserve sa hauteur pour qu'il ne recouvre pas le pied de page */
body.dn-v2.dn-cookie-open { padding-bottom: var(--dn-cookie-h, 0px); }


/* Bandeau cookies masqué après le choix du visiteur : jamais réaffiché ni cliquable par-dessus la page */
body.dn-v2 #cookie-notice.cookie-notice-hidden, body.dn-v2.cookies-set #cookie-notice:not(.cookie-revoke-visible) { display: none !important; pointer-events: none; }

@media (max-width: 1024px) {
:root { --dn-gutter: 40px; }
body.dn-v2 .dn-site-header__inner { height: 84px; }
body.dn-v2 .dn-nav { gap: 36px; }
body.dn-v2 .dn-logo img { width: 180px; height: 60px; }

body.dn-v2 .dn-dropdown__grid { flex-wrap: wrap; }
body.dn-v2 .dn-foot__contacts { gap: 20px; }
body.dn-v2 .dn-foot__col { width: 216px; }
body.dn-v2 .dn-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.dn-v2 .dn-product { grid-template-columns: 1fr 1fr; gap: 40px; }
body.dn-v2 .dn-product__visual { height: 560px; }
body.dn-v2 .dn-product__visual img { height: 480px; }
body.dn-v2 .dn-shop form.checkout { grid-template-columns: 1fr; }
body.dn-v2 .dn-shop form.checkout #customer_details, body.dn-v2 .dn-shop form.checkout #order_review_heading, body.dn-v2 .dn-shop form.checkout #order_review { grid-column: 1; grid-row: auto; }
body.dn-v2 .dn-legal-page { grid-template-columns: 1fr; gap: 24px; }
	body.dn-v2.woocommerce-cart .dn-shop > .woocommerce { grid-template-columns: 1fr; }
	body.dn-v2.woocommerce-cart .dn-shop > .woocommerce > .cart-collaterals { grid-column: 1; grid-row: auto; margin-top: 32px; }
body.dn-v2 .dn-toc { position: static; }
}
@media (max-width: 767px) {
:root { --dn-gutter: 20px; }
body.dn-v2 .dn-h1 { font-size: 22px; line-height: 28px; letter-spacing: 6px; }
body.dn-v2 .dn-h2 { font-size: 18px; line-height: 24px; letter-spacing: 5px; }
body.dn-v2 .dn-intro { font-size: 15px; line-height: 24px; }
body.dn-v2 .dn-body, body.dn-v2 .dn-body p { font-size: 18px; line-height: 26px; }
body.dn-v2 .dn-site-header__inner { height: 72px; }
body.dn-v2 .dn-burger { visibility: visible; display: flex; width: 24px; height: 24px; }
body.dn-v2 .dn-nav { gap: 0; }
body.dn-v2 .dn-nav__link, body.dn-v2 .dn-dropdown { display: none !important; }
body.dn-v2 .dn-logo img { width: 156px; height: 52px; }
body.dn-v2 .dn-cart { width: 26px; height: 26px; }
body.dn-v2 .dn-cart svg { left: 0; top: 7px; width: 18px; height: 18px; }
body.dn-v2 .dn-cart__count { left: 10px; top: 0; }
body.dn-v2 .dn-mobile-nav:not([hidden]) { display: flex; flex-direction: column; padding: 8px 20px 20px; background: var(--dn-green); }
body.dn-v2 .dn-mobile-nav a {
		padding: 16px 0; border-bottom: 1px solid rgba(249, 248, 244, .2); font-family: var(--dn-sans); font-weight: 500; font-size: 15px; line-height: 22px;
		letter-spacing: 4px; text-transform: uppercase; color: var(--dn-cream); text-decoration: none;
	}
body.dn-v2 .dn-mobile-nav a[aria-current] { color: var(--dn-gold); }
body.dn-v2 .dn-foot__top { padding-top: 64px; }
body.dn-v2 .dn-foot__logo img { width: 225px; height: 75px; }
body.dn-v2 .dn-foot__contacts { flex-direction: column; align-items: center; gap: 32px; padding: 32px 0 88px; }
body.dn-v2 .dn-foot__col { width: 100%; }
body.dn-v2 .dn-foot__title, body.dn-v2 .dn-foot__infos { font-size: 22px; line-height: 26.4px; }
body.dn-v2 .dn-foot__infos { margin-top: 6px; }
body.dn-v2 .dn-band { min-height: 340px; padding-bottom: 28px; gap: 12px; align-items: center; }
body.dn-v2 .dn-band::before { left: -130px; width: 640px; height: 32px; }
body.dn-v2 .dn-legal__alcohol { max-width: 300px; font-size: 15px; }
body.dn-v2 .dn-legal { flex-direction: column; gap: 12px; font-size: 12px; line-height: 15px; }
body.dn-v2 .dn-legal__copy { order: -1; text-align: center; }
body.dn-v2 .dn-hero-band { min-height: 240px; gap: 10px; }
body.dn-v2 .dn-pagenav { align-items: flex-start; gap: 16px; padding-top: 20px; }
body.dn-v2 .dn-pagenav > nav { width: 100%; }
body.dn-v2 .dn-chips { flex-wrap: nowrap; justify-content: flex-start; gap: 8px; width: 100%; overflow-x: auto; scrollbar-width: none; }
body.dn-v2 .dn-chips::-webkit-scrollbar { display: none; }
body.dn-v2 .dn-sec { padding-top: 48px; }
body.dn-v2 .dn-sec--last { padding-bottom: 56px; }
body.dn-v2 .dn-sec__head { align-items: flex-start; gap: 12px; margin-bottom: 24px; text-align: left; }
body.dn-v2 .dn-sec__row { margin-bottom: 16px; }
body.dn-v2 .dn-sec__row .dn-btn--link { display: none; }
body.dn-v2 .dn-cta { padding-top: 56px; gap: 16px; }
body.dn-v2 .dn-reas-wrap { padding: 56px var(--dn-gutter); }
body.dn-v2 .dn-reas { flex-direction: column; gap: 16px; padding: 24px 0; }
body.dn-v2 .dn-grid, body.dn-v2 .dn-grid--4 { grid-template-columns: minmax(0, 1fr); gap: 40px; }
body.dn-v2 .dn-card__visual { height: 300px; }
body.dn-v2 .dn-card__visual img { height: 260px; }
body.dn-v2 .dn-card .dn-name { font-size: 15px; line-height: 20px; letter-spacing: 4px; }
body.dn-v2 .dn-card__review { padding: 20px 22px; }
body.dn-v2 .dn-card__quote { font-size: 17px; line-height: 24px; }
body.dn-v2 .dn-card__actions { gap: 16px; }
body.dn-v2 .dn-grid--catalog { display: none; }
body.dn-v2 .dn-list { display: block; }
body.dn-v2 .dn-grid--4 .dn-card__actions .dn-btn--link { display: inline-flex; }
body.dn-v2 .dn-filters { margin-top: 24px; padding: 0; border: 0; background: none; }
body.dn-v2 .dn-filters__label, body.dn-v2 .dn-filters__spacer { display: none; }
body.dn-v2 .dn-filters .dn-select { flex: 1 1 calc(50% - 6px); min-width: 0; }
body.dn-v2 .dn-product { grid-template-columns: 1fr; gap: 28px; padding-top: 20px; }
body.dn-v2 .dn-product__visual { height: 420px; }
body.dn-v2 .dn-product__visual img { height: 360px; }
body.dn-v2 .dn-product__info { padding-top: 0; gap: 16px; }
body.dn-v2 .dn-product__price { font-size: 28px; }
body.dn-v2 .dn-press { padding-top: 56px; gap: 24px; }
body.dn-v2 .dn-press__item { flex-basis: 100%; padding: 24px 22px; }
body.dn-v2 .dn-press__quote { font-size: 17px; line-height: 24px; }
body.dn-v2 .dn-shop { padding-top: 32px; }
body.dn-v2 .dn-steps { gap: 8px; }
body.dn-v2 .dn-steps li + li::before { width: 16px; margin-right: 0; }
body.dn-v2 .dn-shop table.shop_table_responsive tr td { padding: 8px 0; }
body.dn-v2 .dn-shop table.cart td.actions .coupon { flex-direction: column; }
body.dn-v2 .dn-shop table.cart td.actions .coupon input.input-text { width: 100%; }
body.dn-v2 .dn-shop .u-columns { flex-direction: column; }
body.dn-v2 .dn-shop .u-columns .u-column1, body.dn-v2 .dn-shop .u-columns .u-column2 { width: auto; padding: 24px 20px; }
body.dn-v2 .dn-legal-text p, body.dn-v2 .dn-legal-text li { font-size: 18px; line-height: 26px; }
body.dn-v2 .dn-legal-page { padding-top: 24px; padding-bottom: 72px; }
body.dn-v2 .dn-pagehead { padding-top: 40px; }
body.dn-v2 #cookie-notice .cookie-notice-container { padding: 20px; }
body.dn-v2 .dn-age__card { padding: 32px 24px; gap: 16px; }
body.dn-v2 .dn-age__title { font-size: 40px; line-height: 44px; }
body.dn-v2 .dn-toast { left: 20px; right: 20px; bottom: 20px; }
}
