@charset "utf-8";




picture { display: contents; }
picture > source { display: none; }

:root {
	--clr-text:        #525252;
	--clr-text-dark:   #333333;
	--clr-ink:          #241a12;
	--clr-ink-dark:     #140d06;
	--clr-or:           #b88a3e;
	--clr-or-text:      #8a6224;
	--clr-or-on-ink:      #e8cd97;
	--clr-text-on-ink:    #e7ded1;
	--clr-textsoft-on-ink:#c9b892;
	--clr-border:      #C5C5C5;
	--clr-border-dark: #C8C8C8;
	--clr-bg-light:    #F9F5EA;
	--clr-bg-grey:     #EEEEEE;
	--clr-success:      #2d6635;
	--clr-success-dark: #1f4d27;
	--clr-gold:         #f0a500;
  --radius-s:         8px;
  --radius-m:         12px;
  --radius-l:         16px;
  --btn-weight:       700;
  --btn-letter:       .3px;
  --btn-shadow:       0 1px 2px rgba(36,26,18,.30);
  --btn-min-h:        44px;
  --btn-pad-y:        10px;
  --btn-pad-x:        20px;
  --btn-font:         14px;
  --btn-sm-min-h:     36px;
  --btn-sm-pad:       6px 14px;
  --btn-sm-font:      13px;
  --btn-lg-min-h:     48px;
  --btn-lg-pad:       12px 28px;
  --btn-lg-font:      15px;
  --max-width:        1200px;
	--clr-white:       #FFFFFF;
	--clr-count:       #6E6860;
	--clr-mute:        #6E6860;

	--n-page:#FAF8F3; --n-surface:#FFFFFF; --n-soft:#F4EFE4;
	--n-greige:#D9D3C8; --n-greige-strong:#C2BAAC; --n-line:#E7E1D6;
	--n-grey-border:#C5C5C5; --n-bg-grey:#EEEEEE;
	--n-text:#525252; --n-text-strong:#333333;
	--ink:#241a12; --ink-dark:#140d06;
	--or-bronze:#b88a3e; --or-text:#8a6224; --or-star:#f0a500;
	--green:#2d6635; --green-dark:#1f4d27; --red:#c0392b; --amber:#c8862a;
	--fb-ok-bg:#EDF4EE; --fb-ok-bd:#C3D8C6; --fb-ok-tx:#245A2C;
	--fb-no-bg:#FBEDEC; --fb-no-bd:#ECC6C2; --fb-no-tx:#A33327;
	--fb-wa-bg:#FBF3E2; --fb-wa-bd:#EAD7A8; --fb-wa-tx:#8A5A12;
	--fb-in-bg:#EEF2F8; --fb-in-bd:#C9D6E8; --fb-in-tx:#3A5573;
	--fb-ok-strong-bg:var(--fb-ok-bg); --fb-ok-strong-bd:var(--fb-ok-bd); --fb-ok-strong-tx:var(--fb-ok-tx);
	--fb-no-strong-bg:var(--fb-no-bg); --fb-no-strong-bd:var(--fb-no-bd); --fb-no-strong-tx:var(--fb-no-tx);


	--focus-ring:#241a12;

	--c-page:var(--n-page);
	--c-surface:var(--n-surface);
	--c-bg-soft:var(--n-soft);
	--c-bg-grey:var(--n-bg-grey);
	--c-border-struct:var(--n-greige);
	--c-border-input:var(--n-grey-border);
	--c-border-strong:var(--n-greige-strong);
	--c-line:var(--n-line);
	--c-frame:var(--n-greige);
	--c-text:var(--n-text); --c-text-strong:var(--n-text-strong);
	--c-ink:var(--ink); --c-ink-hover:var(--ink-dark);
	--c-accent:var(--or-bronze); --c-accent-text:var(--or-text); --c-star:var(--or-star);
	--c-success:var(--green); --c-success-dark:var(--green-dark);
	--c-danger:var(--red); --c-warning:var(--amber);

	--ff-body:   'Montserrat', Arial, Verdana, sans-serif;
	--ff-title:  'Montserrat', Arial, Verdana, sans-serif;
	--ff-script: 'Montserrat', cursive;

	--space-xs:  4px;
	--space-sm:  8px;
	--space-md:  20px;
	--space-lg:  40px;
	--space-xl:  80px;

	--cc-safe-bottom: 0px;


	--lien-trait-repos: 1px;
	--lien-trait-survol: 1px;
	--lien-trait-offset: 3px;
	--lien-trait-survol-offset: 0.22em;
	--menu-trait-offset: 5px;
	--lien-trait-pale: color-mix(in srgb, currentColor 45%, transparent);
}
@supports (-webkit-touch-callout: none) {
	:root { --cc-safe-bottom: min(env(safe-area-inset-bottom, 0px), 34px); }
}


body {
	font: normal normal normal 20px/1.5 var(--ff-body);
	color: var(--clr-text);
	margin: 0;
	background-color: var(--clr-white);
	}

body.tunnel { line-height: 30px; }

input, button, textarea, select { font-family: inherit; }

#cart-drawer, #cart-added, #cart-toast { line-height: 1.6; }

h1 { 
	font: normal normal 600 30px/50px Montserrat;
	letter-spacing: 0px;
	color: var(--c-text);

	margin-top: 0px;
	padding: 8px 0;
	}
h2 { 
	font-family: "Montserrat", Arial, Verdana, sans-serif;
	color: var(--c-text-strong);
	font-size: 1.4em;
	font-weight: bold;
	padding: 5px 0 5px 0;
	margin: 5px 0;
	}

h3 { 
	font-family: "Montserrat", Arial, Verdana, sans-serif;
	color: var(--c-text-strong);
	font-size: 1.2em;
	font-weight: bold;
	margin: 10px;
	}

img { border: 0; }
abbr { border-bottom: 1px dotted #000000; cursor: help; }

strong,b {
	color: var(--c-text-strong);
	}

.centre {
	width: 100%;
	margin: auto;
	text-align: center;
	}

.texte {
	margin-top: 5px;
	margin-left: 10px;
	}

.texte-h3 {
	margin-left: 10px;
	border-left: 1px solid #ccc;
	padding-left: 5px;
	}

.sanspuces {
	list-style-type: none;
	}

a {
	text-decoration: none;
	color: var(--clr-text);
	}
@media (hover: hover) {
	:where(a:not([class]):not(.wine-card a)):hover {
		text-decoration-line: underline;
		text-decoration-thickness: var(--lien-trait-survol);
		text-decoration-color: currentColor;
	}
	.footer-dark .fc a:hover,
	.footer-bottom a:hover,
	#homepage-content .cc-see-all:hover,
	.sec-head a.more:hover,
	.no-results__suggestion a:hover,
	.cc-vide__lien:hover,
	.cc-vide__rayon:hover,
	.reading a:hover,
	.info-card a:hover,
	.auth-page .legal-note a:hover,
	.auth-footer a:hover,
	#homepage-content .cc-advice-wn a:hover,
	#homepage-content .cc-appell-list a:hover,
	.vgf-ident-link:hover,
	.auth-page .forgot:hover,
	.auth-page .in-eye:hover,
	.auth-page .btn-ghost-text a:hover,
	.auth-page .au-liens a:hover,
	body.tunnel .cc-signup-perk__alt a:hover,
	body.tunnel .cc-cgv-card a:hover,
	body.tunnel .cc-lien:hover,
	body.tunnel .cc-btn-lien:hover,
	body.tunnel .cc-relais-cta:hover,
	body.tunnel .cc-modal-close:hover,
	.hp-haction:hover span,
	.sidebar-nav-item:hover .lib,
	#compte-content .cmd-card-top:hover .cmd-id,
	#compte-content .cmd-lien:hover,
	#compte-content .cmd-tab:hover,
	.cmd-items .cmd-item-link:hover .cmd-item-name,
	.cmd-more:hover,
	.addr-action:hover,
	.addr-setdefault button:hover,
	.addr-add-btn:hover .aac-lib,
	.hv__nom:hover,
	.hv__cmd:hover,
	#menu .menu-dropdown--cave a:hover .mega-lib,
	#hm-drawer a:hover .dr-lib,
	#hm-drawer button:hover .dr-lib,
	.cc-act:hover,
	.ap-sugg-link:hover,
	.reading .cc-som-tel a:hover,
	.rubs a.rub:hover,
	.cc-une h2 a:hover,
	.cc-carte:hover h3 span,
	.cc-liste .rang:hover .t span,
	.cc-trait a:hover,
	.cc-guide-ensuite:hover .tt span,
	.cc-ens:hover .tt span,
	.cc-avant:hover .tt span,
	#cc-carnet-main .toc a:hover,
	.cc-pagination a.page-numbers:hover,
	.cc-breadcrumb a:hover,
	.reading .rv-vin:hover .rv-nom,
	.cc-link-sec.cc-link-sec:hover {
		text-decoration-line: underline;
		text-decoration-thickness: var(--lien-trait-survol);
		text-decoration-color: currentColor;
	}
}
.hp-haction span,
.footer-dark .fc a,
#homepage-content .cc-advice-wn a,
#homepage-content .cc-appell-list a,
.vgf-ident-link,
#homepage-content .cc-see-all,
.sec-head a.more,
.footer-bottom a,
.sidebar-nav-item .lib,
#compte-content .cmd-id,
#compte-content .cmd-lien,
#compte-content .cmd-tab,
.cmd-items .cmd-item-name,
.addr-action,
.addr-setdefault button,
.addr-add-btn .aac-lib,
.hv__nom,
.hv__cmd,
.ap-sugg-link,
.reading .cc-som-tel a,
.rubs a.rub,
.cc-une h2 a,
.cc-carte h3 span,
.cc-liste .rang .t span,
.cc-trait a,
.cc-guide-ensuite .tt span,
.cc-ens .tt span,
.cc-avant .tt span,
#cc-carnet-main .toc a,
.cc-pagination a.page-numbers,
.cc-breadcrumb a,
.reading .rv-vin .rv-nom,
.auth-footer a { text-underline-offset: var(--lien-trait-survol-offset); }
:where(a:not([class]):not(.wine-card a)) { text-underline-offset: var(--lien-trait-survol-offset); }
@media (hover: none) {
	:where(a:not([class]):not(.wine-card a)):active,
	.footer-dark .fc a:active,
	.footer-bottom a:active,
	#homepage-content .cc-see-all:active,
	.sec-head a.more:active,
	.no-results__suggestion a:active,
	.cc-vide__lien:active,
	.cc-vide__rayon:active,
	.reading a:active,
	.info-card a:active,
	.auth-page .legal-note a:active,
	.auth-footer a:active,
	#homepage-content .cc-advice-wn a:active,
	#homepage-content .cc-appell-list a:active,
	.vgf-ident-link:active,
	.auth-page .forgot:active,
	.auth-page .in-eye:active,
	.auth-page .btn-ghost-text a:active,
	.auth-page .au-liens a:active,
	body.tunnel .cc-signup-perk__alt a:active,
	body.tunnel .cc-cgv-card a:active,
	body.tunnel .cc-lien:active,
	body.tunnel .cc-btn-lien:active,
	body.tunnel .cc-relais-cta:active,
	body.tunnel .cc-modal-close:active,
	.hp-haction:active span,
	.sidebar-nav-item:active .lib,
	#compte-content .cmd-card-top:active .cmd-id,
	#compte-content .cmd-lien:active,
	#compte-content .cmd-tab:active,
	.cmd-items .cmd-item-link:active .cmd-item-name,
	.cmd-more:active,
	.addr-action:active,
	.addr-setdefault button:active,
	.addr-add-btn:active .aac-lib,
	.hv__nom:active,
	.hv__cmd:active,
	#menu .menu-dropdown--cave a:active .mega-lib,
	#hm-drawer a:active .dr-lib,
	#hm-drawer button:active .dr-lib,
	.cc-act:active,
	.ap-sugg-link:active,
	.reading .cc-som-tel a:active,
	.rubs a.rub:active,
	.cc-une h2 a:active,
	.cc-carte:active h3 span,
	.cc-liste .rang:active .t span,
	.cc-trait a:active,
	.cc-guide-ensuite:active .tt span,
	.cc-ens:active .tt span,
	.cc-avant:active .tt span,
	#cc-carnet-main .toc a:active,
	.cc-pagination a.page-numbers:active,
	.cc-breadcrumb a:active,
	.reading .rv-vin:active .rv-nom,
	.cc-link-sec.cc-link-sec:active {
		text-decoration-line: underline;
		text-decoration-thickness: var(--lien-trait-survol);
		text-decoration-color: currentColor;
	}
}

.cc-act {
	color: var(--c-text-strong);
	font-weight: 600;
	text-decoration: none;
	text-underline-offset: var(--lien-trait-survol-offset);
	cursor: pointer;
}
.cc-act.cc-act--sec { font-weight: 400; }
button.cc-act {
	position: relative;
	background: none;
	border: 0;
	border-radius: 0;
	padding: 0;
	margin: 0;
	box-shadow: none;
	min-height: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	text-align: inherit;
}
button.cc-act::after {
	content: "";
	position: absolute;
	left: -6px;
	right: -6px;
	top: 50%;
	height: max(44px, calc(100% + 24px));
	transform: translateY(-50%);
}
@media (hover: none) {
	.cc-act.cc-act--sec {
		text-decoration-line: underline;
		text-decoration-thickness: var(--lien-trait-survol);
		text-decoration-color: currentColor;
	}
	.cc-act.cc-act:active { background-image: none; }
}


:focus-visible {
	outline: 3px solid var(--focus-ring);
	outline-offset: 2px;
}

:is(body.homepage, body.catalogue, body.header-hp) #menu,
.footer-dark {
	--focus-ring: var(--clr-or-on-ink);
}

.skip-link {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}
.skip-link:focus-visible {
	position: absolute;
	top: 0;
	left: 0;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip: auto;
	clip-path: none;
	white-space: normal;
	background: var(--clr-ink);
	color: var(--clr-white);
	padding: var(--space-sm) var(--space-md);
	font-weight: bold;
	z-index: 9999;
	outline: none;
}

.centered {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transform: -webkit-translate(-50%, -50%);
	transform: -moz-translate(-50%, -50%);
	transform: -ms-translate(-50%, -50%);
	color:darkred;
	}

.h1 {
		font-family: Roboto, Arial, Verdana, sans-serif;
		color: 	var(--c-text-strong);
		font-size: 1.7em;
		line-height: 1.8em;
		font-weight: bold;
		margin-top: 0px;
		padding: 8px 0;
	}

.h2 {
		font-family: Montserrat, Arial, Verdana, sans-serif;
		color: var(--clr-or-text);
		font-size: 1.4em;
		font-weight: bold;
		padding: 5px 0 5px 0;
		margin: 5px 0;	}
		

#wrappeur {
	width: 100%;
	max-width: 1920px;; 
	text-align: center; 
	margin: auto; 
	display: flex;
	min-height: 70vh;
	position: relative;
	}

#col-gauche {
	width: 20%;
	min-width: 200px;
	text-align: left;
	}

#closemenuburger {
	display:none;
}

#visuel_home {
  position: relative;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  aspect-ratio: 4/1;
  background-image:  url("/img/home/visuel_home.jpg");
  background-repeat:no-repeat;
  background-position: center center;
  background-size: cover;
  font : normal normal normal 50px/50px Montserrat;
  letter-spacing: 0px;
  color: #FFFFFF;
  opacity: 1;
}

#visuel_home_inside {
	display: inline-block;
  background: rgba(0, 0, 0, 0.2);
  padding: 10px;
  border-radius: var(--radius-s);
  margin-left: 120px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  }

#visuel_home span.sub {
	margin-top:5px;
	font : normal normal normal 25px/25px Montserrat;
}

#visuel_home_cta {
	display: inline;
  background-color: white;
  color: var(--c-text);
  padding: 20px;
  position: absolute;
  font: normal normal normal 20px/25px Montserrat;
  bottom: -70px;
  left: 10px;
}

#visuels_home_atouts {
	max-width: 1920px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	margin-top: 20px;
  flex-direction:row;
  justify-content: center;
  align-items: center;
  padding-left: 0%;
  padding-right: 0%;
}

#visuels_home_atouts p {
	height: 50px;
}

#visuels_home_atouts div {
  width: 19%;
  display: flex;
  flex-direction:column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 10px;
  font: normal normal bold 20px/25px Montserrat;
  letter-spacing: 0px;
  color: var(--c-text);
  opacity: 1;
  text-transform: uppercase;
}

#visuels_home_atouts > div > img {
	width: 30%;
}

#visuels_home_desc {
	width: 100%;
	max-width: 1920px;
	height: 240px;
	display: flex;
	flex-direction:column;
	justify-content: center;
	align-items: center;
	
	background: var(--c-bg-soft) 0% 0% no-repeat padding-box;
	opacity: 1;
	margin-left: auto;
  	margin-right: auto;
	text-align: left;
	font: normal normal 500 40px/50px Montserrat;
	letter-spacing: 0px;
	color: var(--c-text);
	opacity: 1;
	margin-bottom: 20px;
}

@media only screen and (max-width: 1130px) {
	#visuels_home_desc, #visuels_home_atouts  {
		display: none;
	}

}

#page-index #breadcrumb {
	display: none;
}



#visuels_home_desc_tag {
	max-width:1800px;
	 width:92%;
	  margin-left: auto; 
	  margin-right:auto

}

#col-droite {
	width: 20%;
	min-width: 200px;
	min-height: 600px;
	position: absolute;
	right: 3%;
	}


#col-centre {
	background: #FFFFFF;
	
	padding: 0;
	padding-left: 5%;
	
	margin-top: 20px;
	text-align: left;

	width: 48%
	}

div.accueilcases {
	margin-top: -10px;
	margin-left: auto;
	margin-right: auto;
	display: flex; flex-wrap: wrap;
	font-family: var(--ff-title);
	font-weight: bold;
	font-size: 18px;

}
div.accueilcase {
		flex: 1 0 20%; 
		aspect-ratio: 1 / 1;
		background-color:	#999;
		margin: 2%;
		padding: 20px;
		color: white;
		line-height: 25px;
		text-transform: uppercase;
		display:flex;
		align-items: center;
	}

div.accueilcase a {
	color: white;
}
div.accueilcase a:hover {
	color: #EEE;
}

.accueildroite {
	text-align: right;
	justify-content: right;
}
.accueilcentre {
	text-align: center;
	justify-content:center;
}
.accueilgauche {
	text-align: left;
	justify-content:ileft;
}

#accueilligne {
	background-position-y: center;
  	flex: 1 0 80%;
  	aspect-ratio: 11/3;
}

header {
	margin-top: 10px;
}

#header_desktop {
	max-width: 1920px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 5% 15px;
	margin-left: auto;
	margin-right: auto;
}

	#header-gauche {
		display: flex;
		flex-direction: column;
		gap: 12px;
		width: 270px;
		flex-shrink: 0;
	}

	#header-gauche .hg-item {
		display: flex;
		align-items: center;
		gap: 12px;
		text-decoration: none;
		color: var(--c-text);
		font: normal normal 500 14px/18px Montserrat;
	}

	@media (hover: hover) {
		#header-gauche a.hg-item:hover .hg-text,
		#header-gauche .hg-item a:hover {
			color: var(--clr-or-text);
		}
	}

	#header-gauche .hg-icon {
		flex-shrink: 0;
		width: 46px;
		height: 46px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	#header-gauche .hg-icon img,
	#header-gauche .hg-icon svg {
		width: 100%;
		height: auto;
		max-height: 46px;
	}

	#header-gauche .hg-text {
		text-align: left;
		flex: 1;
	}

	#header-gauche .hg-text a {
		color: var(--clr-or-text);
		text-decoration: none;
		font-weight: 600;
	}

	#header-gauche .hg-avis-stars {
		display: block;
		color: #F4B100;
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 1.2;
	}

	#header-gauche .hg-avis-label {
		font-size: 11px;
		color: #888;
		text-transform: uppercase;
		letter-spacing: 0.5px;
	}

	#header-centre {
		flex: 0 0 auto;
		text-align: center;
	}

	#header-centre img {
		width: 200px;
		display: block;
		margin: 0 auto;
	}

	#header-droite {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		gap: 18px;
		width: 320px;
		flex-shrink: 0;
	}

	.hd-recherche {
		display: flex;
		align-items: center;
		gap: 10px;
		width: 100%;
		border: 0;
		border-bottom: 1.5px solid var(--c-ink);
		background: transparent;
		transition: border-bottom-width .15s, border-bottom-color .15s;
	}

	.hd-recherche:focus-within { border-bottom-width: 2px; border-bottom-color: var(--c-ink); }
	.hd-search-btn { display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; background: transparent; cursor: pointer; flex-shrink: 0; color: var(--c-ink); }
	.hd-search-btn:focus-visible { outline: 2px solid var(--c-ink); outline-offset: 2px; border-radius: var(--radius-s); }
	.hd-search-ico { width: 18px; height: 18px; color: var(--c-ink); flex-shrink: 0; }

	.hd-recherche input[type="search"] {
		flex: 1 1 auto;
		min-width: 0;
		border: 0;
		outline: none;
		padding: 0 2px 7px;
		font: normal normal 400 14px/1.2 Montserrat;
		color: var(--c-text);
		background: transparent;
	}

	.hd-recherche input[type="search"]::placeholder {
		color: #9a8e78;
	}

	#header-droite .icones {
		display: flex;
		margin-top: 0;
		width: auto;
		align-items: flex-start;
	}

	.margindroite {
		margin-right: 24px;
	}

	#header-droite .icone {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: start;
	}

	#header-droite .icone div {
		width: 90px;
		font: normal normal 500 14px/18px Montserrat;
		text-align: center;
		letter-spacing: 0px;
		color: var(--c-text);
	}

	#header-droite .icone img {
		width: 56px;
	}

	.visually-hidden {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}












#entete {
	color: white;
	background-color: red;
	border-radius: var(--radius-s) var(--radius-s) 0 0;
	margin-bottom: 0;
	width: 200px;
	padding: 3px;
	margin: auto;
	text-align: center
	}

@font-face {
	font-family: 'Montserrat repli';
	src: local('Arial'), local('Helvetica'), local('Liberation Sans'), local('Roboto');
	size-adjust: 111%;
	font-display: swap;
	}

.cc-annonce {
	width: 100%;
	background: var(--c-bg-soft);
	border-bottom: 2px solid var(--c-accent);
	color: var(--c-ink);
	font-weight: 500;
	}
.cc-annonce__in {
	max-width: var(--max-width);
	margin: 0 auto;
	padding: 11px var(--space-md);
	text-align: center;
	font-size: 14px;
	line-height: 1.35;
	font-family: 'Montserrat', 'Montserrat repli', Arial, Verdana, sans-serif;
	}
@media (max-width: 1130px) {
	.cc-annonce__in { padding: 9px var(--space-md); font-size: 13px; }
	}
.encart {
	text-align: left;
	margin-top: 30px;
	margin-bottom: 50px;
	clear: both;
	font: normal normal 600 20px/30px Montserrat;
	display: flex;
	position: relative;
	}

.encart1::before {
	content: "";
	position: absolute;
	top: -15px;
	left: -25px;
	right: -40px;
	bottom: -15px;
	border: 10px double black;
	pointer-events: none;
	z-index: -1;
} 

	
.encart_infos {
	flex-grow: 1;
	width: 70%;	
	position:relative;
	height: 250px;
	z-index: 1;
}



@media only screen and (max-width: 1280px) {	

	.encart div {
		margin-top: 0px;
	  }

	.encart1::before {
		top: 0px;
	} 

	
	.encart_infos {
		height: 250px;
	}
	
}





.encart_droite_footer {
	position:absolute;
	bottom: 10px;
}
	.encart .h2 {
		text-align: left;
		font: normal normal normal 60px/77px Montserrat;
		letter-spacing: 0px;
		color: var(--c-text);
		opacity: 1;
		text-decoration: none;
		
		}
	.encart div {
		margin-top: 0px;
		}
	.encart .encart_produit {
		margin-top: -5px;
	}
	.encart .encart_produit a {
		color: var(--c-text);
		display: block;
		text-transform: capitalize;
		line-height: 25px;
		}
	.encart .encart_produit a:hover {
		color: #666;	
				
		}
	.encart .encart_couleur {
		margin-top: 5px;
		margin-bottom: 28px;		
		

		
		}

	.encart .encart_cuvee {
		margin-top: 1px;
		font-style: italic;
		font: italic normal 600 18px/30px Montserrat;
		}

	.encart .encart_producteur  {
		margin-top: 0px;
		font-style: italic;
		font: italic normal 600 18px/30px Montserrat;
		}
	

	.encart .encart_producteur a,	.encart .encart_producteur a:hover {
		color: var(--c-text);	
		}

	.encart .encart_couleur,#col-droite .encart .encart_millesime,#col-droite .encart .encart_cuvee {
		color: var(--c-text);
		}
	.encart .encart_photo {
		top:45px;
		flex-grow: 1;
		position:absolute;
		right: 0px;
		z-index: 10;
		}

	.encart_photo > a > img,
	.encart_photo > a > picture > img {
			width: 50px;
			z-index: 0;
	}

	.encart_photo_picto img {
		width: 100%;
		
		}

	.encart_photo_picto {
		position:absolute;
		top: 5px;
		right:-28px;
		width: 40px;
		height: 40px;
	}
	.encart .encart_prix {
		text-align: left;
		font: normal normal bold 20px/30px Montserrat;
		letter-spacing: 0px;
		color: var(--c-text);
		opacity: 1;
		}
	.encart .encart_prix_montant {
		color: var(--c-text);
		}

	@media only screen and (max-width: 1680px) {

		.encart {
			margin-top: 55px;
			font: normal normal 600 18px/30px Montserrat;
		}

		.encart .encart_photo {
			top:60px;
			flex-grow: 1;
			position:absolute;
			right: 0px;
		}
		
		.encart .h2 {
			font: normal normal normal 50px/50px Montserrat;
		}
  
		.encart .encart_prix {
			font: normal normal bold 18px/30px Montserrat;
			
		  }

	}

	@media only screen and (max-width: 1280px) {	
		
		.encart .encart_produit {
			margin-top: -30px;
		  }

		.encart .h2 {
			font: normal normal normal 50px/50px Montserrat;
    		margin-bottom: 30px;
		}

		.encart {
			font: normal normal 600 18px/30px Montserrat;
			margin-top: 50px;
		}

		.encart .encart_prix {
			font: normal normal bold 20px/30px Montserrat;
		}
	}

#actualites {
	border-top: 1px solid var(--c-border-input);
	padding-top: 10px;
	margin-left:auto;
	margin-right:auto;
	margin-bottom: 10px;
	text-align: left;
	}
	#actualites h1 {
		margin: 0;
		}
	#actualites ul {
		list-style: none;
		padding: 0;
		display:flex;
		flex-wrap: wrap;
		justify-content: center;
		margin-left: auto;
		margin-right: auto;
		}
		#actualites li {
			width: 190px;
			border-left: 1px solid var(--c-border-input);
			padding-left: 10px;
			padding-right: 10px;
			margin-bottom: 10px;
			}


.liste-vins {
	list-style-type: none;
	padding-left: 0;
	margin-left: 0;
	}
	.liste-vins li {
		width:100%;
		margin-bottom: 8px;
		margin-left: 0;
		border-bottom: 2px solid var(--c-border-input);
		height: 28px;
		line-height: 26px;
		display: table;
		}
	.liste-vins .prix {
		color: var(--c-text-strong);
		width: 60px;
		text-align: right;
		display: table-cell;
		}

	.liste-vins .libelle {
		text-align: left;
		font: normal normal 500 20px/30px Montserrat;
		letter-spacing: 0px;
		color: var(--c-text);
	}

	.prix_normal {
		color: var(--c-text-strong);
		font-size: 90%;
		font-weight: normal;
		text-decoration: line-through;
		}
	.liste-vins .addtocart {
		width: 90px;
		display: table-cell;
	
		text-align: right;
		}
	.liste-vins .details {
		width: 60px;
		margin-left: 5px;
		font-size: 0.8em;
		display: table-cell;
		}
	.liste-vins .details a {
			color: #666;
		}
	@media (hover: hover) {
	.liste-vins .details a:hover {
				color: var(--clr-or-text);
		}
	}
	.liste-vins li:last-child {
		border-bottom: none;
	}

#liste-panier {
	list-style-type: none;
	padding-left: 0;
	margin-left: 0;
	}
	#liste-panier li {
		margin-bottom: 8px;
		margin-left: 0;
		border-bottom: 2px solid var(--c-border-input);
		line-height: 26px;
		display:flex;
		}

	#liste-panier a {
			color: #000;
			order: 2;
			flex-grow: 1;
			}

			
	#liste-panier .imgcontainer {
		order: 1;
		margin-right: 10px;
	}
		
	#liste-panier .imgcontainer img {
		margin-top:8px;
	}

	@media (hover: hover) {
	#liste-panier a:hover {
			color: var(--clr-or-text);
	}
	}

	#liste-panier .prix {
		color: var(--clr-or-text);
		width: 60px;
		text-align: right;
		order:4;
		}
	#liste-panier .addtocart {
		width: 120px;
		margin-left: 10px;
		text-align: right;
		order:3;
		}
#page-panier .valeur.total,#page-panier .entete.total {
	color: var(--clr-or-text);
	font-weight: bold;
	}

#page-panier ul.compte_voir li {
	list-style: none;
}

.offert { 
	background: var(--c-text-strong); 
	color: #FFF;
	text-transform: uppercase; 
	font-size: 0.9em;
	padding: 2px;
	}

.niveau_franco { 
	background: #666; 
	color: #FFF;
	font-size: 0.9em;
	padding: 2px;
	}


#liste-producteurs {
	list-style-type: none;
	padding-left: 0;
	margin-left: 20px;
	}
	#liste-producteurs li {
		margin-bottom: 8px;
		margin-left: 0;
		border-bottom: 2px solid #EEE;
		line-height: 26px;
		padding-left: 20px;
		}
#album-producteur {
	margin-top: 10px;
	margin-left: 0;
	padding: 0;
	}
	#album-producteur li {
		float: left;		
		list-style: none;
		width: 220px;
		min-height: 130px;
		text-align: left;
		}
		#album-producteur li img {
			border-radius: var(--radius-s);
			box-shadow: 3px 3px 10px var(--c-border-input);
			}
	#album-producteur .legende {
		font-size: 0.8em;
		margin-top: 5px;
		color: #555;
		text-align: center;
		}

#producteur-appell, #producteur-bouteilles {
	font-weight: bold;
	color: var(--clr-or-text);
	font-size: 1.4em;
	font-family: Montserrat, Arial, Verdana, sans-serif;
	max-width: 450px;
	margin-top: 10px;	
	}
	#producteur-bouteilles {
		text-align: right;
		width: 190px;
		}

#producteur-infos {
	clear: left;
	margin-top: 10px;
	margin-bottom: 8px;
	font-size: 0.88em;
	color: #444;
	}
	.prod-info-item {
		display: inline-block;
		margin-right: 18px;
		white-space: nowrap;
		}

#producteur-bloc1, #producteur-bloc2 {
	margin-top: 20px;
	float: left;
	width: 320px;
	font-size: 0.9em;
	}
#producteur-bloc2 {
	margin-left: 20px;
	}
	#producteur-bloc1 h2,#producteur-bloc2 h2 {
		font-weight: bold;
		color: var(--clr-or-text);
		font-size: 1.3em;
		font-family: Montserrat, Arial, Verdana, sans-serif;
		}
#producteur-coordonnees {
	clear: left;
	margin-left: 340px;
	font-family: Montserrat, Arial, Verdana, sans-serif;
	color: #000;
	font-size: 1.3em;
	}
	

#page-appellations #col-centre h1 {
	font-family: "Montserrat", Arial, Verdana, sans-serif;
	color: #262626;
	margin-bottom: 0;
	}
#col-centre h2.liste-vins {
	background-color: var(--c-bg-soft);
		padding-left:5px;
		padding-top: 10px;
		padding-bottom: 10px;
		text-align: left;
		font: normal normal normal 60px/50px Montserrat;
		letter-spacing: 0px;
		color: var(--c-text);
		opacity: 1;
	}
	

.entete {
	margin: 0 5px 0 60px;
	padding-right: 10px;
	text-align: right;
	border-right: 2px solid #C8C8C8;
	color: #707070;
	float: left;
	width: 170px;
	line-height: 30px;
	}
.valeur {
	line-height: 30px;
	color: #000;
	}




.account-wrap { padding: 32px 0 40px; }
.account-grid { display: grid; grid-template-columns: 210px minmax(0, 760px); gap: 64px; align-items: start; }

.account-sidebar { position: static; }
.sidebar-nav { display: block; }
.sidebar-id { display: block; padding: 0 0 18px; }
.sidebar-mail { display: block; margin-top: 4px; font-size: 12px; color: var(--c-text); overflow-wrap: anywhere; }
.sidebar-nav-item { display: flex; align-items: center; gap: 10px; padding: 9px 0; font-size: 15px; font-weight: 500; color: var(--clr-text); text-decoration: none; white-space: nowrap; }
.sidebar-nav-item.active { color: var(--clr-text-dark); font-weight: 700; }
.sni-badge { margin-left: auto; font-size: 13px; font-weight: 500; color: var(--c-text); }
.sni-amount { margin-left: auto; font-size: 13.5px; font-weight: 700; color: var(--clr-or-text); white-space: nowrap; flex-shrink: 0; }
.sidebar-nav-item.logout { margin-top: 14px; font-size: 13px; font-weight: 600; }

.section-header { display: flex; align-items: center; justify-content: space-between; margin: 24px 0 16px; gap: 12px; flex-wrap: wrap; }
.section-header:first-child { margin-top: 0; }
.account-main .section-header { margin: 0 0 26px; padding: 0; border-bottom: 0; align-items: baseline; }
.account-main .section-title { font-family: var(--ff-title); font-size: 26px; line-height: 1.2; font-weight: 700; color: var(--clr-text-dark); margin: 0; }
.account-main h2.section-title { font-size: 21px; }

.cc-link-sec.cc-link-sec { color: var(--c-accent-text); font-weight: 600; }
.cc-link-sec--sm { font-size: 13px; }
.cc-link-sec.cc-link-sec {
	text-decoration: underline;
	text-decoration-thickness: var(--lien-trait-repos);
	text-underline-offset: var(--lien-trait-offset);
	text-decoration-color: var(--lien-trait-pale);
}



.orders-card { background: #fff; border: 1px solid var(--c-border-input); border-radius: var(--radius-m); overflow: hidden; margin-bottom: 24px; }
.orders-head { display: grid; grid-template-columns: 1fr 120px 100px 110px 140px; gap: 12px; padding: 11px 18px; background: #EEE; border-bottom: 1px solid var(--c-border-input); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.7px; color: var(--c-text-strong); }
.order-row { display: grid; grid-template-columns: 1fr 120px 100px 110px 140px; gap: 12px; padding: 14px 18px; border-bottom: 1px solid #f5f5f5; align-items: center; transition: background 0.15s; }
.order-row:last-child { border-bottom: none; }
@media (hover: hover) { .order-row:hover { background: #fafafa; } }
.order-num { font-weight: 700; color: var(--clr-or-text); font-size: 13.5px; }
.order-items { font-size: 12px; color: #999; margin-top: 2px; }
.order-date { font-size: 13px; color: var(--c-text); }
.order-total { font-family: 'Montserrat', Arial, sans-serif; font-size: 14px; font-weight: 700; color: var(--c-text-strong); }
.order-status { display: inline-flex; align-items: center; padding: 0; font-size: 13.5px; font-weight: 500; color: var(--c-text); }
.order-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.order-btn { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; line-height: 1; min-height: var(--btn-sm-min-h); padding: var(--btn-sm-pad); border-radius: var(--radius-s); font-family: 'Montserrat', Arial, sans-serif; font-size: var(--btn-sm-font); font-weight: var(--btn-weight); cursor: pointer; transition: background 0.15s; border: none; text-decoration: none; }
@media (max-width: 768px) { .order-btn { min-height: var(--btn-min-h); } }
.order-btn-primary { background: var(--clr-ink); color: #fff; }
.order-btn-primary:hover { background: var(--clr-ink-dark); }
.order-btn-neutral { background: #EEE; color: var(--c-text-strong); }
.order-btn-neutral:hover { background: #ddd; }
.orders-empty { padding: 24px 18px; color: #999; text-align: center; }

.order-card { background: #fff; border: 1px solid var(--c-border-input); border-radius: var(--radius-m); padding: 18px 20px; margin-bottom: 16px; }
.order-card h3 { display: inline-block; margin: 8px 0; }

.seprule { height: 0; margin: 40px 0; }

.lock-hint { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; color: #999; margin-top: 5px; }
.lock-hint svg { width: 13px; height: 13px; }

#compte-content .profile-grid { display: block; }
#compte-content .profile-card + .profile-card { margin-top: 30px; }
.profile-card { min-width: 0; }
input[type="checkbox"] {
  appearance: none; -webkit-appearance: none;
  width: 18px; height: 18px; flex: 0 0 auto; box-sizing: border-box;
  border: 1.6px solid var(--clr-ink); border-radius: 4px;
  background-color: #fff; background-repeat: no-repeat; background-position: center; background-size: 72%;
  cursor: pointer; vertical-align: middle;
  transition: background-color .12s ease, border-color .12s ease;
}
input[type="checkbox"]:checked {
  background-color: var(--clr-ink); border-color: var(--clr-ink);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.4l3 3 6-6.6'/%3E%3C/svg%3E");
}
@media (hover: hover) { input[type="checkbox"]:hover:not(:disabled) { border-color: var(--clr-ink-dark); } }
input[type="checkbox"]:focus-visible { outline: 2px solid var(--clr-ink); outline-offset: 2px; }
input[type="checkbox"]:disabled { opacity: .5; cursor: not-allowed; }
.cc-check-inline { width: 17px; height: 17px; cursor: pointer; vertical-align: -4px; margin-right: 5px; }
.pc-title { font-family: var(--ff-title); font-size: 15px; font-weight: 700; color: var(--clr-text-dark); margin-bottom: 14px; }
.pc-edit { font-size: 12px; color: var(--clr-or-text); font-weight: 700; text-transform: none; letter-spacing: 0; cursor: pointer; text-decoration: none; }
@media (hover: hover) { .pc-edit:hover { text-decoration: underline; } }
.pc-field { margin-bottom: 10px; display: block; }
.pc-field-lbl { font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; color: #999; font-weight: 700; margin-bottom: 2px; }
.pc-field-val { font-size: 14px; color: var(--c-text-strong); font-weight: 600; overflow-wrap: anywhere; }
.pc-field-val.pc-empty { color: #b0a99c; font-weight: 500; font-style: italic; }
.pc-note { font-size: 13.5px; line-height: 1.5; color: var(--clr-text); margin: 0 0 14px; }
.pc-note b { color: var(--c-text-strong); }

#compte-content .ce-attente { margin: -4px 0 4px; }
#compte-content .ce-attente .pc-note { margin-bottom: 10px; }
#compte-content .ce-confirm { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--c-border-input); }
#compte-content .ce-confirm[hidden] { display: none; }
#compte-content .ce-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
#compte-content .field-email .ce-google { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); display: inline-flex; line-height: 0; }
#compte-content .field-email .pw-row .field-input { padding-right: 38px; }

.addr-list { margin-bottom: 8px; }
.addr-empty { color: var(--c-text-soft, #8a8275); font-size: 13px; padding: 16px 2px; margin: 0; }
.addr-row { display: flex; align-items: flex-start; gap: 18px; padding: 24px 0; border-bottom: 1px solid var(--clr-border); }
.addr-body { flex: 1 1 auto; min-width: 0; }
.addr-head { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; margin-bottom: 4px; }
.addr-label { font-family: 'Montserrat', Arial, sans-serif; font-weight: 700; font-size: 14px; color: var(--c-text-strong); }
.addr-defaut { order: -1; font-size: 13px; font-weight: 600; color: var(--clr-or-text); }
.addr-defaut::before { content: "\2713\00a0"; }
.addr-lines { font-size: 13.5px; line-height: 1.6; color: var(--c-text); }
.addr-setdefault { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 10px; }
.addr-setdefault form { display: contents; margin: 0; }
.addr-setdefault .asd-lbl { font-size: 12px; color: #8a8275; }
.addr-setdefault button { font-family: var(--ff-body); font-size: 13px; font-weight: 600; color: var(--clr-text-dark); background: none; border: 0; padding: 0; cursor: pointer; }
.addr-actions { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.addr-actions form { display: contents; margin: 0; }
.addr-action { font-family: var(--ff-body); font-size: 13px; font-weight: 600; color: var(--clr-text-dark); background: none; border: none; padding: 0; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; }
.addr-add-btn { display: inline-flex; align-items: center; gap: 8px; font-family: var(--ff-body); font-size: 13px; font-weight: 600; color: var(--clr-text-dark); background: none; border: none; padding: 20px 0 0; cursor: pointer; text-decoration: none; }
.addr-add-btn .aac-plus { font-size: 17px; line-height: 1; }

.points-list { list-style: none; padding: 0; margin: 0; }
.points-list li { padding: 8px 0; border-bottom: 1px solid #f0f0f0; font-size: 13.5px; }
.account-main .grandbouton { cursor: pointer; }
.account-main h2 { font-family: 'Montserrat', Arial, sans-serif; font-size: 17px; font-weight: 700; color: var(--c-text-strong); margin: 24px 0 14px; }
.account-main h3 { font-size: 14px; font-weight: 600; color: var(--c-text); margin: 8px 0; }
.account-main ul.liste { list-style: none; padding: 0; margin: 0; }
.addr-form .pc-field input, .account-main form input.form, .account-main form input.formc { font-family: 'Montserrat', Arial, sans-serif; }

@media (max-width: 900px) {
	.account-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
	.account-main, .account-sidebar { min-width: 0; }
	.account-sidebar { position: static; }
	.sidebar-nav { display: flex; flex-wrap: wrap; gap: 0 20px; }
	.sidebar-id { flex: 0 0 100%; padding-bottom: 6px; }
	.sidebar-mail, .sni-badge { display: none; }
	.account-sidebar .sidebar-nav-item { display: flex; min-height: 44px; padding: 0; font-size: 14px; }
	.account-sidebar .sidebar-nav-item.logout { flex: 0 0 100%; margin-top: 0; font-size: 13px; }
	.sni-amount { margin-left: 6px; font-size: 13px; }
	.account-main .section-title { font-size: 22px; }
	.orders-head { display: none; }
	.order-row { grid-template-columns: 1fr; gap: 4px; }
}


#compte-content .section-sub { font-size: 14px; color: var(--c-text); margin-top: 6px; font-weight: 500; }

#compte-content .card { margin-bottom: 18px; }
#compte-content #pane-prefs .card { max-width: 560px; }
#compte-content .card-head { font-family: var(--ff-title); font-size: 15px; font-weight: 700; color: var(--clr-text-dark); margin-bottom: 14px; }

#compte-content .field { margin-bottom: 15px; }
#compte-content .field:last-child { margin-bottom: 0; }
#compte-content .field-lbl { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; color: #8a8a8a; font-weight: 700; margin-bottom: 5px; }
#compte-content .field-lbl .req { color: var(--clr-or-text); }
#compte-content .field-input,
#compte-content .field-select { width: 100%; box-sizing: border-box; font-family: 'Montserrat', Arial, sans-serif; font-size: 14px; color: var(--c-text-strong); background: #fcfcfb; border: 1px solid var(--c-border-input); border-radius: var(--radius-s); padding: 10px 13px; outline: none; transition: border-color 0.15s, box-shadow 0.15s, background 0.15s; }
#compte-content .field-input::placeholder { color: #bbb; }
#compte-content .field-input:focus,
#compte-content .field-select:focus { border-color: var(--clr-or); background: #fff; box-shadow: 0 0 0 3px rgba(184,138,62,0.18);  }
#compte-content .field-input:disabled { background: #EEEEEE; color: #999; cursor: not-allowed; }
#compte-content .field-hint { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; color: #999; margin-top: 5px; }
#compte-content .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
#compte-content .field-row { margin-bottom: 15px; }
#compte-content .field-row > .field { margin-bottom: 0; }
#compte-content textarea.field-input { display: block; }

#compte-content .field,
#compte-content .field-row { max-width: 600px; }
#compte-content .field-row.field-row--civsoc    { grid-template-columns: minmax(0, calc(7ch + 52px)) minmax(0, calc(30ch + 28px)); }
#compte-content .field-row.field-row--nomprenom { grid-template-columns: minmax(0, calc(18ch + 28px)) minmax(0, calc(18ch + 28px)); }
#compte-content .field-row.field-row--cpville   { grid-template-columns: minmax(0, calc(7ch + 28px)) minmax(0, calc(22ch + 28px)); }
#compte-content .field-row.field-row--paystel   { grid-template-columns: minmax(0, calc(18ch + 28px)) minmax(0, calc(15ch + 28px)); }
#compte-content #addr_label,
#compte-content #pf-tva            { max-width: calc(22ch + 28px); }
#compte-content #addr_adresse1,
#compte-content #addr_adresse2     { max-width: calc(34ch + 28px); }
#compte-content #addr_societe,
#compte-content #pf-societe,
#compte-content #pf-email,
#compte-content #newpw,
#compte-content #sec-ident         { max-width: calc(30ch + 28px); }
#compte-content #pf-mobile         { max-width: calc(15ch + 28px); }
#compte-content #pane-identite .field:has(#genre),
#compte-content #pane-identite #genre { max-width: calc(5ch + 46px); }
#compte-content .profile-card,
#compte-content .field { min-width: 0; }
#compte-content .field-pw { position: relative; }
#compte-content .field-pw .pw-row,
#compte-content .field-email .pw-row { position: relative; max-width: calc(30ch + 28px); font-family: 'Montserrat', Arial, sans-serif; font-size: 14px; }
#compte-content .field-pw .pw-toggle { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); display: inline-flex; align-items: center; line-height: 0; cursor: pointer; color: #999; user-select: none; }
@media (hover: hover) { #compte-content .field-pw .pw-toggle:hover { color: #666; } }
#compte-content .field-pw .pw-toggle .eye-hide { display: none; }
#compte-content .field-pw .pw-toggle.is-revealed .eye-show { display: none; }
#compte-content .field-pw .pw-toggle.is-revealed .eye-hide { display: inline-block; }
#compte-content .field select { width: 100%; box-sizing: border-box; font-family: 'Montserrat', Arial, sans-serif; font-size: 14px; color: var(--c-text-strong); background: #fcfcfb; border: 1px solid var(--c-border-input); border-radius: var(--radius-s); padding: 10px 13px; outline: none; transition: border-color 0.15s, box-shadow 0.15s, background 0.15s; }
#compte-content .field select:focus { border-color: var(--clr-or); background: #fff; box-shadow: 0 0 0 3px rgba(184,138,62,0.18);  }

#compte-content .field.is-error .field-input,
#compte-content .field.is-error .field-select,
#compte-content .field.is-error select { border-color: var(--fb-no-bd); }
#compte-content .field-err { display: flex; align-items: flex-start; gap: 6px;
  color: var(--fb-no-tx); font-size: 11.5px; line-height: 1.3; margin-top: 5px; font-weight: 600; }
#compte-content .field-err::before { content: ""; flex: 0 0 auto; width: 13px; height: 13px; margin-top: 1px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A33327' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v5M12 16h.01'/%3E%3C/svg%3E") center/contain no-repeat; }
#compte-content .form-req-note { font-size: 12px; color: #8a8a8a; margin: 12px 0 0; }
#compte-content .form-req-note .req { color: var(--clr-or-text); }

#compte-content .btn { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; gap: 7px; font-family: 'Montserrat', Arial, sans-serif; font-weight: var(--btn-weight); font-size: var(--btn-font); line-height: 1.2; letter-spacing: var(--btn-letter); border: none; border-radius: var(--radius-s); min-height: var(--btn-min-h); padding: var(--btn-pad-y) var(--btn-pad-x); cursor: pointer; transition: background 0.18s, color 0.18s, box-shadow 0.18s, transform 0.05s; }
#compte-content .btn:active { transform: translateY(1px); }
#compte-content .btn-primary { background: var(--clr-ink); color: #fff; }
#compte-content .btn-primary:hover { background: var(--clr-ink-dark); }
#compte-content .btn:disabled,
#compte-content .btn[disabled],
#compte-content .btn-primary:disabled,
#compte-content .btn-primary:disabled:hover { background: #d9d9d9; color: #fff; cursor: not-allowed; box-shadow: none; transform: none; }
#compte-content .btn-neutral { background: #EEEEEE; color: var(--c-text-strong); }
#compte-content .btn-neutral:hover { background: #e0e0e0; }
#compte-content .btn-outline { background: #fff; color: var(--clr-or-text); border: 1.5px solid var(--clr-or); }
#compte-content .btn-outline:hover { background: color-mix(in srgb, var(--clr-or) 5%, #fff); }
#compte-content .btn-sm { min-height: var(--btn-sm-min-h); padding: 7px 15px; font-size: 12.5px; border-radius: var(--radius-s); }
#compte-content .btn-block { width: 100%; }
#compte-content .form-actions { display: flex; justify-content: flex-start; align-items: center; gap: 18px; margin-top: 26px; }
#compte-content .form-actions.center { justify-content: center; }
#compte-content .form-actions--split { flex-direction: row-reverse; justify-content: flex-end; }
#compte-content .form-actions--split .form-req-note { margin: 0; }
@media (max-width: 640px) {
  #compte-content .form-actions--split { flex-direction: column-reverse; align-items: stretch; gap: 12px; }
  #compte-content .form-actions--split .btn { width: 100%; }
}

#compte-content .note { display: flex; gap: 11px; align-items: flex-start; background: var(--fb-in-bg); border: 1px solid var(--fb-in-bd); border-radius: var(--radius-m); padding: 13px 16px; font-size: 13px; color: var(--fb-in-tx); line-height: 1.55; margin-bottom: 18px; }
#compte-content .note .note-ico { font-size: 16px; flex-shrink: 0; line-height: 1.4; }
#compte-content .note a { color: var(--clr-or-text); font-weight: 700; }
#compte-content .note a:hover { text-decoration: underline; }
#compte-content .note.info { background: var(--fb-in-bg); border-color: var(--fb-in-bd); color: var(--fb-in-tx); }
#compte-content .note.warn { background: var(--fb-wa-bg); border-color: var(--fb-wa-bd); color: var(--fb-wa-tx); }
#compte-content .toast { display: inline-flex; align-items: center; gap: 8px; background: var(--fb-ok-strong-bg); border: 1px solid var(--fb-ok-strong-bd); color: var(--fb-ok-strong-tx); font-weight: 600; font-size: 13px; padding: 9px 15px; border-radius: var(--radius-s); margin-bottom: 16px; }
#compte-content .empty { text-align: center; padding: 44px 24px; background: transparent; border: 0; color: var(--c-text); }
#compte-content .empty::before { content: ""; display: block; width: 46px; height: 2px; margin: 0 auto 16px; background: var(--c-accent); border-radius: 2px; }
#compte-content .empty-title { font-family: 'Montserrat', Arial, sans-serif; font-size: 16px; font-weight: 700; color: var(--c-ink); margin-bottom: 6px; letter-spacing: .01em; }

#compte-content .status-topay { color: var(--clr-or-text); }

#compte-content .cmd-tabs { display: flex; gap: 28px; margin-bottom: 8px; }
#compte-content .cmd-tab { padding: 6px 0; font-family: var(--ff-body); font-size: 15px; font-weight: 500; color: var(--c-text); cursor: pointer; }
#compte-content .cmd-tab.active { color: var(--clr-text-dark); font-weight: 700; }
#compte-content .cmd-tab .tab-count { margin-left: 4px; font-weight: 500; color: var(--c-text); }
#compte-content .cmd-tab .tab-count::before { content: '('; }
#compte-content .cmd-tab .tab-count::after { content: ')'; }
#compte-content .cmd-pane { display: none; }
#compte-content .cmd-pane.active { display: block; }
#compte-content .cmd-card { border-bottom: 1px solid var(--c-line); }
#compte-content .cmd-card-top { display: flex; align-items: center; gap: 24px; padding: 16px 0 6px; cursor: pointer; }
#compte-content .cmd-id { font-family: var(--ff-title); font-weight: 700; font-size: 15px; color: var(--clr-text-dark); }
#compte-content .cmd-grow { flex: 1; min-width: 0; }
#compte-content .cmd-vins { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 6px 14px; margin-top: 8px; }
#compte-content .cmd-vins__photos { display: flex; align-items: flex-end; gap: 2px; }
#compte-content .cmd-vins__photos .cmd-thumb { display: block; }
#compte-content .cmd-vins__photos img { display: block; height: 58px; width: auto; }
#compte-content .cmd-vins__txt { flex: 1 1 14em; font-size: 13.5px; color: var(--c-text); padding-bottom: 4px; }
#compte-content .cmd-etapes { display: flex; flex-wrap: wrap; margin-top: 6px; }
#compte-content .cmd-etape { font-size: 13px; color: var(--clr-count); }
#compte-content .cmd-etape + .cmd-etape::before { content: '›'; display: inline-block; margin: 0 9px; color: var(--c-border-strong); }
#compte-content .cmd-etape.is-fait { color: var(--clr-text); }
#compte-content .cmd-etape.is-encours { color: var(--clr-or-text); font-weight: 700; }
#compte-content .cmd-amount { font-family: var(--ff-title); font-weight: 700; font-size: 16px; color: var(--clr-text-dark); white-space: nowrap; }
#compte-content .cmd-thumb .cc-i { color: var(--c-text); }
#compte-content .cmd-actions { display: flex; align-items: center; gap: 22px; padding: 8px 0 16px; flex-wrap: wrap; }
#compte-content .cmd-lien.ce-envoyer,
#compte-content .cmd-lien.cmd-lien--or { color: var(--c-accent-text); }
#compte-content .cmd-lien { background: none; border: 0; padding: 0; font-family: var(--ff-body); font-size: 13px; font-weight: 600; color: var(--clr-text-dark); text-decoration: none; cursor: pointer; }
#compte-content .cmd-detail { display: none; padding: 4px 0 26px; }
#compte-content .cmd-card.open .cmd-detail { display: block; }
#compte-content .cmd-detail__ref { font-size: 12.5px; color: var(--c-text); margin: 0 0 10px; }
.cmd-vide { font-size: 15px; color: var(--clr-text); margin: 18px 0 0; }
#compte-content .cmd-sec { font-family: var(--ff-title); font-size: 17px; font-weight: 600; color: var(--clr-text-dark); margin: 6px 0 0; padding-bottom: 12px; border-bottom: 1px solid var(--clr-text-dark); }
#compte-content .cmd-sec-n { color: var(--clr-or-text); margin-left: 4px; }
#compte-content .cmd-sec--hist { border-bottom: 0; padding-bottom: 0; margin-top: 40px; }
#compte-content .cmd-regler-ligne { display: flex; align-items: center; gap: 22px; padding: 12px 0; }
#compte-content .cmd-regler .cmd-card-top { flex: 1; min-width: 0; padding: 0; gap: 16px; }
#compte-content .cmd-regler-photos { display: flex; align-items: flex-end; gap: 2px; flex: 0 0 100px; }
#compte-content .cmd-regler-photos img { display: block; height: 40px; width: auto; }
#compte-content .cmd-regler-txt { display: flex; flex-direction: column; min-width: 0; }
#compte-content .cmd-regler-date { font-size: 12.5px; color: var(--c-text); }
#compte-content .cmd-regler-quoi { font-size: 14px; font-weight: 600; color: var(--clr-text-dark); }
#compte-content .cmd-regler .cmd-detail { padding-top: 0; }
#compte-content .cmd-mois { font-family: var(--ff-title); font-size: 16px; font-weight: 600; color: var(--clr-text-dark); margin: 30px 0 6px; }
#compte-content .cmd-mois span { font-family: var(--ff-body); font-size: 13px; font-weight: 400; color: var(--c-text); margin-left: 6px; }
#compte-content .cmd-card.cmd-fil { display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: 22px; border-bottom: 0; }
#compte-content .cmd-fil-date { position: relative; text-align: center; padding-top: 18px; }
#compte-content .cmd-fil-j { display: block; font-family: var(--ff-title); font-size: 26px; font-weight: 700; line-height: 1; color: var(--clr-text-dark); }
#compte-content .cmd-fil-j, #compte-content .cmd-fil-m { position: relative; z-index: 1; background: #fff; }
#compte-content .cmd-fil-j { padding-top: 4px; }
#compte-content .cmd-fil-m { display: block; font-size: 12px; color: var(--c-text); margin-top: 4px; }
#compte-content .cmd-fil.has-suite .cmd-fil-date::after { content: ""; position: absolute; left: 50%; top: 66px; bottom: -18px; width: 1px; background: var(--c-border-input); }
#compte-content .cmd-fil.has-suite.fin-visible .cmd-fil-date::after { display: none; }
#compte-content .cmd-fil-corps { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 24px; }
#compte-content .cmd-fil + .cmd-fil .cmd-fil-corps { border-top: 1px solid var(--c-line); }
#compte-content .cmd-fil .cmd-card-top { padding: 16px 0 18px; }
#compte-content .cmd-fil-titre { font-size: 15px; font-weight: 600; color: var(--clr-text-dark); margin-bottom: 8px; }
#compte-content .cmd-jauge { display: flex; gap: 4px; width: 240px; max-width: 100%; margin-top: 10px; }
#compte-content .cmd-jauge i { flex: 1; height: 3px; background: var(--c-line); }
#compte-content .cmd-jauge i.fait { background: var(--clr-or); }
#compte-content .cmd-jauge i.encours { background: linear-gradient(90deg, var(--clr-or) 50%, var(--c-line) 50%); }
#compte-content .cmd-fil-etat { font-size: 13px; color: var(--c-text); margin-top: 6px; }
#compte-content .cmd-fil-etat b { color: var(--clr-text-dark); font-weight: 600; }
#compte-content .cmd-fil-droite { display: flex; flex-direction: column; align-items: flex-end; padding-top: 16px; gap: 10px; }
#compte-content .cmd-fil-droite .cmd-actions { justify-content: flex-end; padding: 0; gap: 18px; }
#compte-content .cmd-fil-detail { grid-column: 1 / -1; }
#compte-content .cmd-annee-bloc { border-top: 1px solid var(--clr-border); }
#compte-content .cmd-annee-bloc:last-child { border-bottom: 1px solid var(--clr-border); }
#compte-content .cmd-historique .cmd-sec--hist { margin-bottom: 12px; }
#compte-content .cmd-annee { display: flex; align-items: center; gap: 12px; width: 100%; padding: 18px 0; background: none; border: 0; cursor: pointer; text-align: left; font-family: var(--ff-body); color: var(--clr-text-dark); }
#compte-content .cmd-annee:focus-visible { outline: 2px solid var(--clr-or); outline-offset: 2px; }
#compte-content .cmd-annee-chev { display: inline-flex; line-height: 0; transform: rotate(-90deg); transition: transform .15s ease; }
#compte-content .cmd-annee[aria-expanded="true"] .cmd-annee-chev { transform: none; }
#compte-content .cmd-annee-an { font-family: var(--ff-title); font-size: 17px; font-weight: 700; }
#compte-content .cmd-annee-resume { margin-left: auto; font-size: 13px; color: var(--c-text); text-align: right; }
#compte-content .cmd-annee-corps { padding-bottom: 14px; }
#compte-content .cmd-annee-corps[hidden] { display: none; }
#compte-content .cmd-annee-corps > .cmd-mois:first-child { margin-top: 4px; }
@media (prefers-reduced-motion: reduce) { #compte-content .cmd-annee-chev { transition: none; } }
#compte-content .cmd-card.cc-hidden, #compte-content .cmd-mois.cc-hidden { display: none; }
@media (max-width: 600px) {
	#compte-content .cmd-card.cmd-fil { grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; }
	#compte-content .cmd-fil-j { font-size: 22px; }
	#compte-content .cmd-fil.has-suite .cmd-fil-date::after { top: 60px; }
	#compte-content .cmd-fil-corps { grid-template-columns: minmax(0, 1fr); }
	#compte-content .cmd-fil .cmd-card-top { padding-bottom: 8px; }
	#compte-content .cmd-fil-droite { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: 0 0 12px; gap: 4px 16px; }
	#compte-content .cmd-fil-droite .cmd-actions { justify-content: flex-start; gap: 0 18px; }
	#compte-content .cmd-regler-ligne { flex-wrap: wrap; gap: 4px 18px; }
	#compte-content .cmd-regler .cmd-card-top { flex: 1 1 100%; }
	#compte-content .cmd-regler .cmd-amount { margin-right: auto; }
	#compte-content .cmd-fil .cmd-vins__photos img { height: min(50px, calc((100vw - 128px) / 6.1)); }
}
#compte-content .cmd-items { width: 100%; border-collapse: collapse; margin-bottom: 14px; }
#compte-content .cmd-items th { text-align: left; font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.5px; color: #999; font-weight: 700; padding: 6px 8px; border-bottom: 1px solid #eee; }
#compte-content .cmd-items th.num, #compte-content .cmd-items td.num { text-align: right; }
#compte-content .cmd-items td { padding: 9px 8px; border-bottom: 1px solid #f3f3f3; font-size: 13px; color: var(--c-text-strong); }
#compte-content .cmd-items .it-name { font-weight: 600; }
#compte-content .cmd-items .cmd-lot-head td,
#compte-content .cmd-items .cmd-lot td,
#compte-content .cmd-items .cmd-lot-foot td { border-bottom-color: #eee; }
#compte-content .cmd-items .cmd-lot-head td:first-child { padding-top: 12px; }
#compte-content .cmd-items .cmd-lot td:first-child { padding-left: 22px; }
#compte-content .cmd-items .cmd-lot-head td { padding-top: 10px; padding-bottom: 6px; border-top: 1px solid #eee; }
#compte-content .cmd-items .cmd-lot-foot td { padding-top: 6px; padding-bottom: 10px; border-bottom: 0; }
#compte-content .cmd-items .cmd-lot-foot td:nth-child(2) { font-size: 12px; color: var(--c-text); }
#compte-content .cmd-items .cmd-lot-rem td { padding-top: 6px; padding-bottom: 6px;
  border-bottom: 0; font-size: 12px; color: var(--c-text); font-style: italic; }
#compte-content .cmd-items .cmd-lot-rem td.num { font-style: normal; font-weight: 700;
  color: var(--c-text-strong); white-space: nowrap; }
#compte-content .cmd-items .cmd-lot-rem + .cmd-lot-foot td { padding-top: 4px; }
#compte-content .cmd-items .cmd-lot-head .cdl-title { font-size: 12.5px; font-weight: 700; color: var(--c-text-strong); }
#compte-content .cmd-items .cmd-lot-head .cdl-badge { margin-left: 7px; }

#compte-content .cmd-items .it-sub { font-size: 11.5px; color: #999; font-weight: 500; }
#compte-content .cmd-items .cmd-item-gain { margin-top: 0; }
#compte-content .cc-cagnotte-gain { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; font-weight: 600; color: #9a7b2e; line-height: 1.2; }
#compte-content .cc-cagnotte-gain svg { flex-shrink: 0; }
#compte-content .cmd-tots { margin-left: auto; width: 260px; font-size: 13px; }
#compte-content .cmd-tots .tot-row { display: flex; justify-content: space-between; padding: 4px 8px; }
#compte-content .cmd-tots .tot-row.grand { border-top: 1px solid #e5e5e5; margin-top: 4px; padding-top: 8px; font-family: 'Montserrat', Arial, sans-serif; font-weight: 700; font-size: 15px; color: var(--c-text-strong); }
#compte-content .cmd-tots .free { color: var(--c-success); font-weight: 700; }
#compte-content .cmd-tots .tot-row.cagnotte { color:#9a7b2e; }
#compte-content .cmd-tots .tot-row.cagnotte.spent { color:var(--clr-or-text); }
#compte-content .cmd-track { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid #e7e7e7; border-radius: var(--radius-s); padding: 10px 14px; font-size: 13px; margin-top: 6px; }
#compte-content .cmd-track .trk-ico { display: inline-flex; align-items: center; color: var(--clr-or); }
#compte-content .field-hint .fh-ico { display: inline-flex; align-items: center; color: var(--clr-or); }
#compte-content .sec-tip .st-ico { display: inline-flex; align-items: center; vertical-align: middle; }
#compte-content .cmd-track a { color: var(--clr-or-text); font-weight: 700; }
#compte-content .invoice-chip { display: inline-flex; align-items: center; gap: 7px; background: #fff; border: 1px solid var(--c-border-input); border-radius: var(--radius-s); padding: 8px 13px; font-size: 13px; font-weight: 600; color: var(--c-text-strong); }
#compte-content .invoice-chip .inv-ico { font-size: 17px; color: var(--clr-or); }
#compte-content .hist-filter { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
#compte-content .hist-filter .field-select { width: auto; min-width: 160px; }
#compte-content .hist-row { display: grid; grid-template-columns: 1.4fr 130px 110px 120px 1fr; gap: 12px; align-items: center; background: #fff; border: 1px solid var(--c-border-input); border-radius: var(--radius-m); padding: 12px 16px; margin-bottom: 8px; }
#compte-content .hist-row .h-num { font-weight: 700; color: var(--clr-or-text); }
#compte-content .hist-row .h-date { color: #777; font-size: 13px; }
#compte-content .hist-row .h-tot { font-family: 'Montserrat', Arial, sans-serif; font-weight: 700; color: var(--c-text-strong); }
#compte-content .hist-row .h-act { display: flex; gap: 6px; justify-content: flex-end; }


#compte-content .pref-row { display: flex; align-items: flex-start; gap: 16px; padding: 14px 0; border-bottom: 0; cursor: pointer; }
#compte-content .pref-row:last-of-type { border-bottom: none; }
#compte-content .pref-ico { width: 42px; height: 42px; border-radius: var(--radius-s); background: var(--c-bg-soft); display: flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0; }
#compte-content .pref-text { flex: 1; }
#compte-content .pref-title { font-weight: 700; color: var(--c-text-strong); font-size: 14px; line-height: 1.3; }
#compte-content .pref-desc { font-size: 12.5px; color: #888; margin-top: 2px; line-height: 1.4; }

#compte-content .pw-strength { height: 5px; border-radius: var(--radius-s); background: #eee; margin-top: 8px; overflow: hidden; }
#compte-content .pw-strength span { display: block; height: 100%; width: 0; background: linear-gradient(90deg,#e0a000,var(--c-success)); border-radius: var(--radius-s); transition: width 0.2s; }
#compte-content .sec-tip { display: flex; gap: 8px; font-size: 12.5px; color: #777; margin-top: 6px; }
#compte-content .pw-reqs { list-style: none; padding: 0; margin: 10px 0 0; display: grid; grid-template-columns: 1fr; gap: 4px 16px; }
#compte-content .pw-strength, #compte-content .pw-reqs { max-width: calc(30ch + 28px); font-family: var(--ff-body); font-size: 14px; }
#compte-content .pw-reqs li { font-size: 12px; color: #999; display: flex; align-items: center; gap: 7px; transition: color 0.15s; }
#compte-content .pw-reqs li::before { content: '\2715'; font-weight: 700; color: var(--c-border-input); width: 14px; text-align: center; }
#compte-content .pw-reqs li.ok { color: var(--c-success); }
#compte-content .pw-reqs li.ok::before { content: '\2713'; color: var(--c-success); }

@media (max-width: 900px) {
	#compte-content .field-row,
	#compte-content .field-row[class*="field-row--"] { grid-template-columns: 1fr; }
	#compte-content .field-row { row-gap: 15px; }
	#compte-content .field-row.field-row--cpville { grid-template-columns: minmax(0, calc(7ch + 28px)) minmax(0, 1fr); }
	#compte-content .field-row--cpville .field-lbl { white-space: nowrap; }
	#compte-content #addr_civilite { max-width: calc(7ch + 52px); }
	#compte-content #addr_tel { max-width: calc(15ch + 28px); }
	#compte-content #addr_label,
	#compte-content #addr_societe,
	#compte-content #addr_adresse1,
	#compte-content #addr_adresse2 { max-width: none; }
	#compte-content .addr-row { flex-direction: column; gap: 10px; }
	#compte-content .addr-actions { flex-direction: row; align-self: flex-start; align-items: center; gap: 18px; }
	#compte-content .addr-action, #compte-content .addr-setdefault button, #compte-content .addr-add-btn { min-height: 44px; }
	#compte-content .hist-row { grid-template-columns: 1fr 1fr; }
	#compte-content .cmd-tots { width: 100%; }
	#compte-content .cmd-card-top { flex-wrap: wrap; gap: 8px 12px; }
	#compte-content .cmd-lien, #compte-content .cmd-tab { min-height: 44px; display: inline-flex; align-items: center; }
	#compte-content .pw-reqs { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
	#compte-content .cmd-card-top { flex-wrap: wrap; align-items: center; row-gap: 4px; column-gap: 10px; }
	#compte-content .cmd-card-top .cmd-grow { flex: 1 1 100%; }
	#compte-content .cmd-card-top .order-status { order: 2; }
	#compte-content .cmd-card-top .cmd-amount { order: 3; margin-left: auto; }
	#compte-content .cmd-vins__photos img { height: min(50px, calc((100vw - 70px) / 6.1)); }
}

#cc-toast-stack { position: fixed; top: 22px; left: 50%; transform: translateX(-50%);
  z-index: 99999; display: flex; flex-direction: column; gap: 10px;
  width: min(460px, 92vw); pointer-events: none;
  transition: top .25s ease; }
body.catalogue #cc-toast-stack { transition: none; }
.cc-toast { display: flex; align-items: center; gap: 12px; box-sizing: border-box;
  padding: 12px 15px; border-radius: var(--radius-s);
  font-family: 'Montserrat', Arial, sans-serif; font-weight: 600; font-size: 13.5px; line-height: 1.36;
  background: var(--ink); color: var(--n-soft);
  box-shadow: 0 10px 28px rgba(20,13,6,.32);
  opacity: 0; transform: translateY(-14px); transition: opacity .3s, transform .3s; }
.cc-toast.show { opacity: 1; transform: translateY(0); }
.cc-toast__icon { flex: 0 0 auto; }
.cc-toast__text { flex: 1; }
.cc-toast__text--short { display: none; }
.cc-toast--ok    { border: 1px solid rgba(184,138,62,.42); border-left: 3px solid #b88a3e; }
.cc-toast--ok    .cc-toast__icon { color: #f0a500; }
.cc-toast--alert { border: 1px solid rgba(217,138,58,.48); border-left: 3px solid #d98a3a; }
.cc-toast--alert .cc-toast__icon { color: #e6a760; }
.cc-toast--error { border: 1px solid rgba(192,57,43,.48); border-left: 3px solid var(--red); }
.cc-toast--error .cc-toast__icon { color: var(--red); }

.cc-toast--persist { pointer-events: auto; flex-direction: column; align-items: stretch; gap: 12px; padding: 13px 15px; }
.cc-toast--persist .cc-toast__head { display: flex; align-items: flex-start; gap: 12px; }
.cc-toast__ack {
  -webkit-appearance: none; appearance: none; cursor: pointer;
  box-sizing: border-box; width: 100%; min-height: var(--btn-min-h); line-height: 1;
  display: inline-flex; align-items: center; justify-content: center; padding: 0 18px;
  border: 0; border-radius: var(--radius-s);
  background: var(--n-soft); color: var(--ink);
  font-family: 'Montserrat', Arial, sans-serif;
  font-weight: var(--btn-weight); font-size: var(--btn-font); letter-spacing: var(--btn-letter);
}
.cc-toast__ack:disabled { opacity: .6; cursor: default; }
@media (min-width: 600px) {
  .cc-toast--persist { flex-direction: row; align-items: center; gap: 14px; }
  .cc-toast--persist .cc-toast__head { flex: 1; }
  .cc-toast__ack { width: auto; flex: 0 0 auto; padding: 0 var(--btn-pad-x); white-space: nowrap; }
}

@media (max-width: 600px) {
  .cc-toast__text--full  { display: none; }
  .cc-toast__text--short { display: inline; }
}
@media (prefers-reduced-motion: reduce) {
  .cc-toast { transition: opacity .3s; transform: none; }
  .cc-toast.show { transform: none; }
  #cc-toast-stack { transition: none; }
}


#recherche .valeur select {
	border: 2px solid #C8C8C8;
	background: none;
	font-size: 0.9em;
	color: var(--clr-or-text);
	margin-left: -7px;
	}

#recherche {
	text-align: left;
	}

#recherche li {
	display:flex;
}

#recherche select {
	font-size: 0.7em;
	}

#recherche input.rech-input {
	width: 250px;
	}




.album {
	margin-top: 20px;
	margin-left: 0;
	}
.album li {
	float: left;		
	list-style: none;
	width: 170px;
	height: 170px;
	text-align: center;
	margin-left: 25px;
	margin-bottom: 40px;
	}
.album li img {
	border-radius: var(--radius-s);
	}
.album li.noshadow img {
	box-shadow: none;
	}
.album .legende {
	font-size: 0.8em;
	margin-top: 5px;
	color: #555;
	line-height: normal;
	}

#page-vin #col-gauche,
#page-vin #col-droite {
	display: none;
}
#page-vin #wrappeur {
	display: block;
}
#page-vin #col-centre {
	width: 100%;
	max-width: 1440px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 6px;
	box-sizing: border-box;
	padding-left: var(--space-lg);
	padding-right: var(--space-lg);
}
.vin-hero{ background:linear-gradient(180deg,#fbf8f1,var(--c-bg-soft)); border-bottom:1px solid var(--c-line); }
.vin-hero-grid{ display:grid; grid-template-columns:360px 1fr; gap:0 var(--space-lg); align-items:stretch; padding:34px var(--space-lg); }
.vin-hero-stage{ position:relative; background:var(--c-surface); border:1px solid var(--c-line); border-radius:var(--radius-m);
                 min-height:300px;
                 display:flex; flex-direction:column; align-items:center; justify-content:center;
                 padding:16px; box-shadow:0 2px 12px rgba(36,26,18,.07); }
.vin-hero-buy{ align-self:start; }
#page-vin .vin-hero-buy h1{ font:700 27px/1.25 var(--ff-title); color:var(--c-text-strong); margin:0 0 6px; padding:0; }
@media (max-width:900px){
  .vin-hero-grid{ grid-template-columns:1fr; gap:24px; padding-left:var(--space-md); padding-right:var(--space-md); }
}

@media (min-width: 901px) {
	.vin-gallery-main { flex: 1 1 auto; min-height: 0; align-self: stretch; width: auto; }
	.vin-gallery-main > a.glightbox { height: 100%; }
}
.vin-gallery-main {
	position: relative;
	background: #fff;
	border-radius: var(--radius-m);
	min-height: 320px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	cursor: zoom-in;
	isolation: isolate;
}
.vin-gallery-main > a.glightbox { display: flex; align-items: center; justify-content: center; align-self: stretch; min-height: 0; width: 100%; }
.glightbox-container .gslide-image img {
	object-fit: contain !important;
	max-height: 88vh;
	max-height: calc(100dvh - 72px);
}
.vin-photo-main { width: auto; height: 100%; max-width: 100%; max-height: none; object-fit: scale-down; padding: 8px; box-sizing: border-box; mix-blend-mode: multiply; position: relative; z-index: 1; }
.vin-gallery-main::after { content: none; }
body.cc-vinombre-on .vin-gallery-main::after {
	content: "";
	position: absolute;
	z-index: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 47.6%;
	height: 20px;
	bottom: 12px;
	pointer-events: none;
	background: radial-gradient(ellipse closest-side,
		rgba(0,0,0,.24) 0%,
		rgba(0,0,0,.24) 50%,
		rgba(0,0,0,.212) 60%,
		rgba(0,0,0,.146) 70%,
		rgba(0,0,0,.072) 80%,
		rgba(0,0,0,.018) 90%,
		rgba(0,0,0,0) 100%);
}
.vin-photo-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 24px 8px; color: #999; font-family: var(--ff-body); text-align: center; }
.vin-photo-empty .cc-i { width: 54px; height: 54px; color: #cbb27a; opacity: .85; }
.vin-photo-empty__lbl { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #b9ae97; }
.vin-photo-empty--repli { display: none; }
.vin-hero-stage.is-photo-404 .vin-gallery-main > a { display: none; }
.vin-hero-stage.is-photo-404 .vin-photo-empty--repli { display: flex; }
.vin-hero-stage.is-photo-404 .vin-zoom-hint { display: none; }
.vin-statuts { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 14px; margin: 12px 0 16px; }
.vin-statuts .cc-statut { font-size: 34px; }
.vin-statuts__sep { color: #c9a96a; font-size: 13px; line-height: 1; }
.vin-zoom-hint { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; white-space: nowrap; font: 600 10px/1 var(--ff-body); letter-spacing: 1px; text-transform: uppercase; color: #707070; }
.vin-gallery-main.zooming .vin-zoom-hint { opacity: 0; }
.vin-thumbs { display: flex; gap: 8px; margin-top: 12px; }
.vin-thumb { width: 60px; height: 60px; border: 2px solid #eee; border-radius: var(--radius-s); display: flex; align-items: center; justify-content: center; overflow: hidden; background: #fff; }
.vin-thumb.active { border-color: var(--clr-or); }
.vin-thumb img { max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: multiply; }

.vin-appellation { font: 600 11px/1 var(--ff-body); letter-spacing: 2px; text-transform: uppercase; margin-bottom: 12px; }
.vin-appellation a { color: var(--clr-or-text); }
.vin-subtitle { font: normal 500 18px/1.45 var(--ff-title); color: var(--clr-or-text); margin: 0 0 18px; }
.vin-subtitle a { color: var(--clr-or-text); }
#page-vin .vin-hero-buy h1 .vin-subtitle--h1 { display: block; margin-top: 6px; }
.vin-divider { width: 40px; height: 2px; background: var(--clr-or); margin-bottom: 22px; }

.vin-price-old { color: #a59c8c; font: 500 14px/1 var(--ff-body); margin-left: 9px; }

.vin-stock { font: 600 13px/1 var(--ff-body); margin-bottom: 18px; display: flex; align-items: center; gap: 8px; }
.vin-stock-in { color: #2d6a2d; }
.vin-stock-in::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #2d6a2d; }
.vin-stock-out { color: #b00; }

.vin-soldout { margin: 2px 0 18px; }
.vin-soldout--card { display: flex; gap: 13px; align-items: flex-start; background: var(--c-bg-soft); border: 1px solid var(--c-line); border-left: 3px solid var(--clr-or); border-radius: var(--radius-m); padding: 14px 16px; }
.vin-soldout--card .vso-ico { flex: 0 0 auto; margin-top: 1px; color: var(--clr-or-text); }
.vin-soldout--card .vso-ico .cc-i { width: 22px; height: 22px; }
.vin-soldout--card .vso-title { font: 700 15px/1.25 var(--ff-title); color: var(--c-ink); }
.vin-soldout--card .vso-sub { font-size: 13px; line-height: 1.5; color: var(--c-text); margin-top: 3px; }
.vin-soldout--card .vso-link { display: block; width: fit-content; margin-top: 6px; color: var(--clr-or-text); font-weight: 600; }
.vin-hero-buy--out { display: flex; flex-direction: column; align-self: stretch; }
.vin-hero-buy--out .vin-legal-mention { margin-top: auto; }

.vin-cart-row { display: flex; gap: 10px; align-items: stretch; margin-bottom: 18px; max-width: 420px; }
.vin-cart-row .vin-qty { display: inline-flex; align-items: center; flex-shrink: 0; min-height: 0; background: none; }
.vin-cart-row .vin-qty select { width: 74px; box-sizing: border-box; min-height: 50px; border: 1px solid var(--clr-border-dark); border-radius: var(--radius-s); padding: 0 26px 0 14px; font: 500 15px/1 var(--ff-body); color: var(--clr-text-dark); background: #fff; cursor: pointer; }
.vin-cart-row .vin-qty select:focus-visible { outline: 2px solid var(--clr-or); outline-offset: 1px; }
.vin-cart-row .cc-wine-card__cart-button { flex: 1; }
.vin-btn-max { background: #e8e8e8; color: #999 !important; cursor: not-allowed; box-shadow: none; }
.vin-already { font: 600 13px/1.4 var(--ff-body); color: #707070; margin-bottom: 18px; }
.vin-already a { color: var(--clr-or-text); }

.vin-guarantees { display: flex; border: 1px solid var(--clr-border-dark); border-radius: var(--radius-m); overflow: hidden; margin-bottom: 22px; }
.vin-guarantee { flex: 1; padding: 13px 10px; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; border-right: 1px solid var(--clr-border-dark); font: 700 10px/1.3 var(--ff-body); letter-spacing: .5px; text-transform: uppercase; color: #707070; }
.vin-guarantee:last-child { border-right: none; }
.vin-guarantee-ico { font-size: 20px; }

.vin-info-titles { min-width: 0; }

.vin-description { margin-top: 48px; padding-top: 36px; border-top: 1px solid var(--clr-border-dark); }
.vin-section-title { font-family: var(--ff-title); font-size: 19px; font-weight: 700; color: var(--clr-text-dark); margin: 0 0 7px; }
.vin-description-text { font: 500 15px/1.8 var(--ff-body); color: #555; max-width: 760px; }

.vin-zoom-lens { position: absolute; width: 170px; height: 170px; border-radius: 50%; border: 3px solid rgba(184,138,62,0.55); box-shadow: 0 4px 14px rgba(36,26,18,0.16), inset 0 0 0 1px rgba(255,255,255,0.5); background-color: var(--clr-bg-light); background-repeat: no-repeat; pointer-events: none; opacity: 0; transition: opacity .18s; z-index: 6; filter: contrast(1.08) saturate(1.06); }
.vin-gallery-main.zooming .vin-zoom-lens { opacity: 1; }
body.cc-vinombre-on .vin-zoom-lens { background-color: #fff; background-blend-mode: multiply, normal; }

@media (max-width: 900px) {
	#page-vin #col-centre { padding-left: 16px; padding-right: 16px; }
	.vin-gallery-main { min-height: 300px; }
	.vin-photo-main { height: auto; max-height: 170px; padding: 10px; }
	body.cc-vinombre-on .vin-gallery-main::after { bottom: 5px; }
	.vin-hero-stage { padding: 10px; min-height: 0; }
	.vin-guarantees { flex-wrap: wrap; }
	.vin-guarantee { flex: 1 1 45%; }
}


.vin-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.vin-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 20px; font: 700 13px/1 var(--ff-body); letter-spacing: .2px; border: 1.5px solid; }
.vin-chip img { width: 12px; height: auto; }
.vin-chip-couleur { background: color-mix(in srgb, var(--clr-or) 5%, #fff); color: var(--clr-or-text); border-color: color-mix(in srgb, var(--clr-or) 28%, #fff); }
.vin-chip-appel { background: #fff; color: var(--clr-text-dark); border-color: var(--c-border-struct); }
.vin-chip-millesime { background: var(--clr-bg-grey); color: var(--clr-text-dark); border-color: var(--clr-border); }
a.vin-chip { cursor: pointer; transition: border-color .18s, color .18s; }
a.vin-chip:hover, a.vin-chip:focus-visible { border-color: var(--clr-or); color: var(--clr-or-text); }

.vin-rating { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
.vin-rating-stars { color: var(--clr-gold); font-size: 16px; letter-spacing: 1px; }
.vin-rating-score { font-weight: 700; color: var(--clr-text-dark); }
.vin-rating-link { font-size: 13px; color: var(--clr-or-text); font-weight: 600; }
.vin-rating-link:hover { text-decoration: underline; }

.vin-price-variant { margin-bottom: 20px; }
.vin-amount { font-family: var(--ff-title); color: var(--clr-or-text); font-weight: 700; line-height: 1; white-space: nowrap; }
.vin-amount .int { font-size: 42px; }
.vin-amount .dec { font-size: 22px; }
.vin-amount .cur { font-size: 24px; margin-left: 2px; }
.vin-sub-fmt { font-size: 12px; color: #6b6b6b; font-style: italic; }
.vin-price-line { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.vin-pvB-label { font-family: var(--ff-title); font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--clr-or-text); margin-bottom: 6px; }
.vin-pvB-trust { display: flex; align-items: center; gap: 7px; font: 600 12.5px/1.4 var(--ff-body); color: var(--clr-success); margin-top: 10px; }
.vin-price-variant--B .vin-sub-fmt { margin-top: 6px; }
.vin-prix-domaine { display: flex; gap: 9px; align-items: flex-start; margin-top: 12px; }
.vin-prix-domaine .vpd-ico { color: var(--c-text); flex-shrink: 0; margin-top: 1px; }
.vin-prix-domaine .vpd-body strong { display: block; font-family: var(--ff-title); font-size: 13px; line-height: 1.25; color: var(--c-text-strong); letter-spacing: .03em; }
.vin-prix-domaine .vpd-body span { font-size: 12px; color: #6b6354; line-height: 1.4; }
.vin-cagnotte { display: flex; gap: 9px; align-items: flex-start; margin-top: 12px; }
.vin-cagnotte .vc-ico { color: var(--clr-or); flex-shrink: 0; margin-top: 1px; }
.vin-cagnotte .vc-body strong { display: block; font-family: var(--ff-title); font-size: 14px; font-weight: 600; line-height: 1.25; color: var(--c-text-strong); letter-spacing: .02em; }
.vin-cagnotte .vc-body span { font-size: 12px; color: #6b6354; line-height: 1.4; }
.vin-cagnotte .vc-body,
.vin-prix-domaine .vpd-body { font-size: 12px; line-height: 1.4; }
.vin-rarete { font-style: italic; font-size: 12.5px; color: #9a6a3a; margin: 9px 0 0; }
.vin-pvE-row { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.vin-pvE-benefit { display: flex; align-items: flex-start; gap: 9px; background: #eef5ef; border: 1px solid #cfe3d2; border-left: 3px solid var(--clr-success); border-radius: 0 var(--radius-m) var(--radius-m) 0; padding: 11px 14px; font: 400 12.5px/1.5 var(--ff-body); color: var(--clr-success-dark); }
.vin-pvE-benefit .ico { font-size: 15px; flex-shrink: 0; }

.vin-specs-accordion { margin-bottom: 22px; border: 1px solid var(--c-line); border-radius: var(--radius-m); overflow: hidden; }
.vin-specs-accordion > summary { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; background: #fff; font: 700 13px/1 var(--ff-body); letter-spacing: .3px; color: var(--clr-text-dark); cursor: pointer; list-style: none; user-select: none; }
.vin-specs-accordion > summary::-webkit-details-marker { display: none; }
.vin-specs-accordion > summary::after { content: '▼'; font-size: 9px; color: #707070; transition: transform .2s; }
.vin-specs-accordion[open] > summary::after { transform: rotate(180deg); }
@media (hover: hover) { .vin-specs-accordion > summary:hover { background: #fafafa; } }
.vin-specs-accordion .vin-specs { border: none; border-radius: 0; margin-bottom: 0; border-top: 1px solid #f0f0f0; }

.vin-cart-row .cc-wine-card__cart-button { display: inline-flex; align-items: center; justify-content: center; gap: 11px; padding: 0 24px; background: var(--clr-ink); border-radius: var(--radius-s); box-shadow: 0 2px 12px rgba(184,138,62,.28); }
.vin-cart-row .cc-wine-card__cart-button:hover,
.vin-cart-row .cc-wine-card__cart-button:focus-visible { background: var(--clr-ink); }
.vin-cart-row .cc-wine-card__cart-button--success,
.vin-cart-row .cc-wine-card__cart-button--success:hover,
.vin-cart-row .cc-wine-card__cart-button--success:focus-visible { background: var(--clr-ink-dark); }
.vin-cart-row .cc-wine-card__cart-icon { width: auto; height: auto; background: transparent; }
.vin-cart-row .cc-wine-card__cart-icon img { width: 20px; height: 20px; filter: brightness(0) invert(1); }
.vin-cart-row .cc-wine-card__cart-button span:last-child { padding: 0; }
.vin-cart-row .cc-wine-card__cart-button--maxed {
	background: var(--clr-ink);
	box-shadow: 0 1px 2px rgba(36,26,18,.30);
	color: #fff;
}

.vin-ship-info { display: flex; flex-direction: column; gap: 6px; background: var(--clr-bg-light); border: 1px solid var(--c-border-struct); border-radius: var(--radius-m); padding: 12px 14px; margin-bottom: 18px; font: 400 12.5px/1.45 var(--ff-body); color: var(--clr-text-dark); }
.vin-ship-line { display: flex; align-items: flex-start; gap: 8px; }
.vin-ship-line .si-ico { font-size: 15px; flex-shrink: 0; }
.vin-ship-line strong { color: var(--clr-or-text); font-weight: 700; }
.vin-ship-line a { color: var(--clr-or-text); font-weight: 600; text-decoration: underline; }

.vin-legal-mention { font-size: 10.5px; color: #6b6b6b; text-align: center; line-height: 1.4; margin: 14px 0; }

.vin-title-rule { width: 46px; height: 3px; background: var(--clr-or); border-radius: var(--radius-s); margin: 4px 0 16px; }

.vin-specs-strip{ display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
                  border:1px solid var(--c-line); border-radius:var(--radius-m); overflow:hidden; margin-top:38px; }
.vin-spec-cell{ padding:14px 16px; box-shadow:1px 0 0 #f1ede4; }
.vin-spec-k{ font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--c-text); margin-bottom:5px; }
.vin-spec-v{ font-size:14px; font-weight:600; color:var(--c-text-strong); }
.vin-spec-v a{ color:var(--clr-or-text); }

.vin-hero-buy .vin-avis{ margin:0 0 22px; max-width:640px; }

@media (min-width: 901px) {
	.vin-hero-stage { align-self: start; }
}
@media (min-width: 1131px) {
	.vin-hero-stage.is-suivi { position: sticky; top: calc(var(--header-h, 0px) + 20px); transition: top .3s ease; }
}

.vin-notes-inline{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:20px; }
.vin-notes-inline--solo{ margin-top:24px; }
.vin-notes-lbl{ font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--c-text); }
.vin-note-pill{ font-size:13px; color:var(--c-text); border:1px solid var(--c-line); border-radius:var(--radius-s); padding:6px 12px; background:var(--c-surface); }
.vin-note-pill strong{ color:var(--c-text-strong); margin-left:4px; }

.vin-accords { margin-top: 40px; }
.vin-accords-chips { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.vin-accords-chip { display: inline-flex; align-items: center; gap: 7px; padding: 7px 14px; border: 1px solid var(--c-border-struct); border-radius: 999px; background: var(--clr-bg-light); color: var(--clr-text-dark); font: 600 13px/1 var(--ff-body); }
.vin-accords-note { margin: 16px 0 0; color: #555; font: 500 15px/1.7 var(--ff-body); max-width: 760px; }

.vin-related { margin-top: 48px; }
.vin-related ul.liste-vins.cc-wine-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vin-related ul.liste-vins.cc-wine-grid > li { display: contents; }
.vin-related.is-collapsed ul.liste-vins.cc-wine-grid > li:nth-child(n+5) { display: none; }
.vin-related-more { text-align: center; margin-top: 26px; margin-bottom: 40px; }
.vin-related-more-btn { background: transparent; color: var(--clr-or-text); border: 1.6px solid var(--clr-or); border-radius: var(--radius-s); padding: 12px 30px; font: 600 13.5px/1 var(--ff-title); cursor: pointer; transition: background .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s; }
.vin-related-more-btn:hover, .vin-related-more-btn:focus-visible { background: var(--cc-addh-bg); border-color: var(--cc-addh-bd); color: var(--cc-addh-tx); box-shadow: var(--cc-addh-sh); transform: var(--cc-addh-tr); }
@media (max-width: 1100px) { .vin-related ul.liste-vins.cc-wine-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px)  { .vin-related ul.liste-vins.cc-wine-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px)  { .vin-related ul.liste-vins.cc-wine-grid { grid-template-columns: 1fr; } }

body#page-vin { overflow-x: hidden; }

.vin-mobile-buybar { display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 50; box-sizing: border-box; max-width: 100%; background: #fff; border-top: 1px solid var(--clr-border); box-shadow: 0 -4px 16px rgba(0,0,0,0.12); padding: 10px 16px max(10px, var(--cc-safe-bottom)); align-items: center; gap: 12px; }
.vin-mobile-buybar .mb-price-block { flex: 0 1 auto; line-height: 1.1; }
.vin-mobile-buybar .mb-price { font: 700 21px/1 var(--ff-title); color: var(--clr-or-text); white-space: nowrap; }
.vin-mobile-buybar .mb-price-lbl { font-size: 10px; color: #6b6b6b; width: 0; min-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vin-mobile-buybar .mb-btn { flex: 1; min-width: 0; background: var(--clr-ink); color: #fff; border: none; border-radius: var(--radius-s); height: 48px; font: var(--btn-weight) var(--btn-font)/1 var(--ff-body); letter-spacing: var(--btn-letter); display: flex; align-items: center; justify-content: center; gap: 8px; box-shadow: 0 2px 12px rgba(184,138,62,.28); }
.vin-mobile-buybar .mb-btn img { width: 18px; height: 18px; filter: brightness(0) invert(1); }
.vin-mobile-buybar .mb-btn:active { background: var(--clr-ink-dark); }

.avis_clients { margin-top: 0; padding: 30px 0; border-top: 1px solid var(--c-line); }
.avis-header { margin-bottom: 22px; padding-bottom: 12px; border-bottom: 2px solid var(--clr-or); }
.avis-header h2 { font: 700 18px/1 var(--ff-title); color: var(--clr-text-dark); margin: 0; }
.avis-layout { display: grid; grid-template-columns: 280px 1fr; gap: 40px; align-items: start; }
.avis-summary { background: var(--clr-bg-light); border: 1px solid var(--c-border-struct); border-radius: var(--radius-m); padding: 22px 20px; text-align: center; }
.avis-rs-score { font: 700 46px/1 var(--ff-title); color: var(--clr-text-dark); }
.avis-rs-score small { font-size: 18px; color: #6b6b6b; font-weight: 600; }
.avis-rs-stars { color: var(--clr-gold); font-size: 18px; letter-spacing: 2px; margin: 8px 0 4px; }
.avis-rs-count { font-size: 12.5px; color: var(--clr-text); margin-bottom: 18px; }
.avis-rs-dist { display: flex; flex-direction: column; gap: 6px; text-align: left; }
.avis-rs-row { display: flex; align-items: center; gap: 8px; font-size: 11px; color: #6b6b6b; }
.avis-rs-row .rs-lbl { width: 30px; flex-shrink: 0; }
.avis-rs-row .rs-bar { flex: 1; height: 6px; background: rgba(0,0,0,0.08); border-radius: var(--radius-s); overflow: hidden; }
.avis-rs-row .rs-bar-fill { height: 100%; background: var(--clr-gold); border-radius: var(--radius-s); }
.avis-rs-row .rs-num { width: 22px; text-align: right; flex-shrink: 0; }
.avis-list { display: flex; flex-direction: column; gap: 16px; }
.avis-card { border: 1px solid var(--clr-border-dark); border-radius: var(--radius-m); padding: 16px 18px; }
.avis-card-head { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.avis-avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--clr-ink); color: #fff; display: flex; align-items: center; justify-content: center; font: 700 14px/1 var(--ff-title); flex-shrink: 0; }
.avis-meta { flex: 1; min-width: 0; }
.avis-name { font-weight: 700; color: var(--clr-text-dark); font-size: 13.5px; }
.avis-sub { font-size: 11.5px; color: #6b6b6b; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.avis-verified { color: var(--clr-success); font-weight: 700; }
.avis-stars { color: var(--clr-gold); font-size: 13px; letter-spacing: 1px; }
.avis-text { font: 400 13px/1.7 var(--ff-body); color: var(--clr-text); margin: 0; }
.avis_formulaire { margin-top: 24px; max-width: 560px; }
.avis_formulaire h3 { font: 700 15px/1 var(--ff-title); margin-bottom: 12px; }
.avis_confirmation { color: var(--clr-success); font-weight: 600; margin-top: 16px; }
.avis_erreur { color: #b00; font-weight: 600; }
.avis_info, .avis_vide { color: #6b6b6b; margin-top: 16px; }
.avis_info a { color: var(--clr-or-text); font-weight: 600; }
.avis-empty { text-align: center; padding: 40px 24px; background: var(--clr-bg-light); border: 1px solid var(--c-border-struct); border-radius: var(--radius-m); }
.avis-empty-ico { font-size: 34px; line-height: 1; color: var(--clr-gold); margin-bottom: 12px; }
.avis-empty-title { font: 700 16px/1.2 var(--ff-title); color: var(--clr-text-dark); margin: 0 0 6px; }
.avis-empty-sub { font: 400 13px/1.5 var(--ff-body); color: #6b6b6b; margin: 0; }

.vin-zoom-hint--touch { display: none; }
@media (hover: none), (pointer: coarse) {
	.vin-zoom-hint--hover { display: none; }
	.vin-zoom-hint--touch { display: inline-flex; }
}
.vin-qty-max { display: flex; flex-direction: column; gap: 3px; align-items: flex-start; font: 600 12px/1.3 var(--ff-body); color: #8a8170; margin: -8px 0 18px; }

.cc-pop { position: relative; display: inline-block; }
.cc-pop__trigger {
  -webkit-appearance: none; appearance: none; background: none; border: 0;
  padding: 0; margin: 0; font: inherit; cursor: help;
  color: var(--clr-or-text); font-weight: 600;
  display: inline-flex; align-items: center; gap: 5px;
  text-decoration: none;
}
@media (hover: hover) { .cc-pop__trigger:hover { color: var(--clr-or); } }
.cc-pop__trigger .cc-i { flex: none; }
.cc-pop__trigger:focus-visible { outline: 2px solid var(--clr-or); outline-offset: 2px; border-radius: 2px; }
.cc-pop__panel {
  position: absolute; z-index: 40; top: calc(100% + 8px); left: 0;
  box-sizing: border-box;
  width: max-content; max-width: min(300px, calc(100vw - 32px));
  background: var(--clr-bg-light); border: 1px solid var(--c-border-struct);
  border-radius: var(--radius-m); padding: 12px 14px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
  font: 400 12.5px/1.5 var(--ff-body); color: var(--clr-text-dark);
  text-align: left; white-space: normal;
}
.cc-pop__panel[hidden] { display: none; }
.cc-pop__panel::before {
  content: ""; position: absolute; bottom: 100%; left: 18px;
  border: 7px solid transparent; border-bottom-color: var(--c-border-struct);
}
.cc-pop__panel::after {
  content: ""; position: absolute; bottom: 100%; left: 19px;
  border: 6px solid transparent; border-bottom-color: var(--clr-bg-light);
}
.cc-pop__p { display: block; }
.cc-pop__p + .cc-pop__p { margin-top: 8px; }
.cc-pop__more {
  display: inline-block; margin-top: 10px;
  color: var(--clr-or-text); font-weight: 600;
  text-decoration: underline; text-underline-offset: 2px;
}
@media (hover: hover) { .cc-pop__more:hover { color: var(--clr-or); } }
.vin-ship-line .cc-pop { display: block; margin-top: 3px; }
.vin-ship-line .cc-pop__panel { max-width: min(300px, 100%); }

#page-vin .avis_clients { border-top: none; }

@media (max-width: 900px) {
	.avis-layout { grid-template-columns: 1fr; gap: 24px; }
	.avis-summary { max-width: 340px; }
	.vin-mobile-buybar { display: flex; }
	#page-vin { padding-bottom: calc(64px + max(10px, var(--cc-safe-bottom))); }
	.vin-mobile-buybar .mb-btn { display: none; }
	.vin-mobile-buybar .mb-max { flex: 1; min-width: 0; display: flex; align-items: center; justify-content: center; gap: 8px; height: 46px; border-radius: var(--radius-s); background: var(--clr-ink); box-shadow: none; color: #fff; font: 700 13px/1 var(--ff-body); letter-spacing: .3px; text-transform: none; }
	.vin-mobile-buybar form { flex: 1; min-width: 0; margin: 0; }
	.vin-mobile-buybar .vin-cart-row { display: flex; gap: 8px; align-items: stretch; margin: 0; max-width: none; }
	.vin-mobile-buybar .vin-cart-row .vin-qty select,
	.vin-mobile-buybar .vin-qty select { width: 64px; min-height: 46px; padding: 0 22px 0 10px; font-size: 14px; }
	.vin-mobile-buybar .cc-wine-card__cart-button { flex: 1; min-width: 0; padding: 0 10px; height: 46px; box-shadow: none; overflow: hidden; }
	.vin-mobile-buybar .cc-wine-card__cart-button span:last-child { white-space: nowrap; font-size: 12px; letter-spacing: .02em; overflow: hidden; text-overflow: ellipsis; }
	.vin-gallery-main { min-height: 0; }
	.vin-thumbs { gap: 6px; }
}

@media (max-width: 379px) {
	.vin-mobile-buybar .cc-wine-card__cart-button { grid-template-columns: minmax(0, 1fr); }
	.vin-mobile-buybar .cc-wine-card__cart-icon { display: none; }
}

@media (max-width: 540px) {
	.vin-cart-row { gap: 8px; }
	.vin-cart-row .vin-qty select { min-height: 48px; padding: 0 26px 0 12px; }
	.vin-cart-row .cc-wine-card__cart-button { min-width: 0; padding: 0 12px; }
	.vin-cart-row .cc-wine-card__cart-button span:last-child { white-space: nowrap; font-size: 13px; }
}

ul.vincaras {
	list-style: none;
}
ul.vincaras li {
	display: flex;
}
#page-vin .entete {
	margin: 0 5px 0 0;
	float: none;
	width: 40%;
	padding-right: 10px;
	text-align: right;
	border-right: 2px solid var(--clr-border-dark);
	color: #707070;
	line-height: 30px;
	}
#page-vin .valeur {
	line-height: 30px;
	color: #000;
	width: 50%;
	}

	#page-vin .valeur.rouge {
		color: var(--c-text-strong);
		}
	#page-vin .double {
		height: 50px;
		line-height: 25px;
		}

#page-vin .valeur select {
	border: 2px solid #C8C8C8;
	background: none;
	font-size: 1.2em;
	color: var(--c-text-strong);
	margin-left: -7px;
	}

#page-vin .description{
	border-top: 2px solid #C8C8C8;
	padding-top: 5px;
	clear: both;
	}

#page-vin .dernieres { 
	font-size: 1em; 
	color: #000000; 
	font-weight: bold;
	}

#page-vin .photo_produit {
	margin-right: auto;
	margin-left: auto;
	}
	#page-vin .photo_produit.old {
		margin-top: 120px;
		max-width: 150px;
		}

#page-vin .pp {
	background-color: var(--c-text-strong);
	color: #FFF;
	padding: 2px;
	font-size: 0.9em;
	margin-left: 5px;
	}

#page-vin .item {
	display:flex;
}




.temoignage{
	background: url(/img/quotes1.png) no-repeat left top;
	padding-left: 20px;
	color: #666;
	font-style: italic;
	line-height: 22px;
	margin: 20px 0 0 30px;
	}

.retour {
	clear: both;
	text-align: center;
	}

.erreur {
	display:flex; gap:11px; align-items:center; box-sizing:border-box;
	background:#fff; border:1px solid #e7ded0; border-left:3px solid var(--fb-no-tx);
	border-radius:var(--radius-m); padding:12px 15px; margin:0 0 14px; max-width:560px;
	font-size:14px; font-weight:400; color:var(--clr-ink); line-height:1.45; text-align:left;
}
.erreur::before {
	content:""; flex:0 0 auto; width:20px; height:20px;
	background-repeat:no-repeat; background-position:center; background-size:contain;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A33327' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v5M12 16h.01'/%3E%3C/svg%3E");
}
.erreur a { color:var(--clr-ink); text-decoration:underline; text-underline-offset:2px; font-weight:700; }

.msgNO, .msgOK {
	display:block; position:relative; box-sizing:border-box;
	background:#fff; border:1px solid #e7ded0; border-radius:var(--radius-m);
	padding:13px 16px 13px 56px; margin:0 0 14px; width:auto; max-width:560px;
	font-size:13.5px; font-weight:600; color:var(--clr-text); line-height:1.45; text-align:left;
}
.msgNO::before, .msgOK::before {
	content:""; position:absolute; left:14px; top:50%; transform:translateY(-50%);
	width:30px; height:30px; border-radius:50%;
	background-color:var(--clr-ink); background-repeat:no-repeat; background-position:center; background-size:16px;
}
.msgNO { border-left:3px solid var(--fb-no-tx); }
.msgNO::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e08a80' stroke-width='2.3' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v5M12 16h.01'/%3E%3C/svg%3E"); }
.msgOK { border-left:3px solid var(--fb-ok-tx); }
.msgOK::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237bbf86' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E"); }
.msgNO a, .msgOK a { color:var(--clr-ink); text-decoration:underline; text-underline-offset:2px; font-weight:700; }

.cc-msg { display:flex; gap:10px; align-items:flex-start;
  background:#fff; border:1px solid #e7ded0; border-left:3px solid var(--clr-or);
  border-radius:var(--radius-m); padding:12px 15px; margin:0 0 14px;
  color:var(--clr-ink); font-weight:400; text-align:left; font-size:14px; line-height:1.45; }
.cc-msg[hidden] { display:none; }
.cc-msg__coin { flex:0 0 auto; width:20px; height:20px; margin-top:1px;
  display:grid; place-items:center; color:var(--clr-or); }
.cc-msg__coin .cc-i, .cc-msg__coin svg { width:20px; height:20px; stroke-width:2; }
.cc-msg__txt { flex:1; min-width:0; }
.cc-msg__lead { display:block; font-size:15px; font-weight:700; color:var(--clr-ink); margin-bottom:2px; }
.cc-msg__body { display:block; font-size:13.5px; color:var(--clr-text); line-height:1.45; }
.cc-msg__body strong { color:var(--clr-ink); font-weight:600; }
.cc-msg--err  { border-left-color:var(--fb-no-tx); } .cc-msg--err  .cc-msg__coin { color:var(--fb-no-tx); }
.cc-msg--ok   { border-left-color:var(--clr-or);    } .cc-msg--ok   .cc-msg__coin { color:var(--clr-or); }
.cc-msg--info { border-left-color:var(--clr-or);    } .cc-msg--info .cc-msg__coin { color:var(--clr-or); }
.cc-msg--warn { border-left-color:var(--clr-ink);   } .cc-msg--warn .cc-msg__coin { color:var(--clr-ink); }
.cc-msg--ligne { align-items: center; }
.cc-msg--ligne .cc-msg__txt { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.cc-msg--ligne .cc-msg__lead, .cc-msg--ligne .cc-msg__body { display: inline; margin: 0; }
.cc-msg--ligne .cc-msg__lead::after { content: '.'; }
.cc-msg--ligne .cc-msg__act { margin: 0 0 0 auto; }
@media (max-width: 640px) {
	.cc-msg--ligne .cc-msg__txt { display: block; }
	.cc-msg--ligne .cc-msg__lead, .cc-msg--ligne .cc-msg__body { display: block; }
}

.cc-field-err { display:flex; align-items:flex-start; gap:6px; margin-top:5px;
  font-size:12.5px; font-weight:600; line-height:1.3; color:var(--fb-no-tx); }
.cc-field-err::before { content:""; flex:0 0 auto; width:14px; height:14px; margin-top:1px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A33327' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v5M12 16h.01'/%3E%3C/svg%3E") center/contain no-repeat; }
.cc-field.is-error input, .cc-field.is-error select, .cc-field.is-error textarea,
input.is-error, select.is-error, textarea.is-error { border-color:var(--fb-no-tx); outline:none; }


footer {
		width:100%;
		
	}

	#footer_desktop {
		max-width: 1920px; 
		margin: auto;
				background: var(--c-bg-soft) 0% 0% no-repeat padding-box;
		margin-top: 0px;
		font: normal normal 600 30px/40px Montserrat;
	}

	#footer_newsletter {
		text-transform: uppercase;
		
		text-align:center;
		padding:70px;
		word-spacing:5px;
		display: flex;
		flex-direction: row;
		color: var(--c-text);

	}

	.footer_newsletter_a {
		text-align:left;
		width: 50%;
		padding-left: 3%;
	}

	
	.footer_newsletter_form {
		
		width: 50%;
	}

	.form_newsletter{
		position:relative;
	}
	
	.input_newsletter{
		text-align: left;
		font: normal normal 300 22px/50px Montserrat;
		letter-spacing: 0px;
		color: var(--c-text);
		margin-right:5px;
	}
	
	.button_newsletter{
		position:absolute;
		top: -2px;
		border-radius: var(--radius-s);
		padding: 18px;
		background: var(--clr-ink) 0% 0% no-repeat padding-box;
		height: 60px;
		text-align: left;
		font: normal normal 100 24px/21px Montserrat;
		letter-spacing: 0px;
		color: #FFFFFF;

		text-transform: uppercase;
	}

	#footer_infos {
		display:flex;
		
		background: #818A55 0% 0% no-repeat padding-box;
		font: normal normal 500 22px/30px Montserrat;
		padding-left: 10%;
		padding-right: 10%;
		padding-top: 70px;
		padding-bottom: 50px;
		color: white;
	}

	@media only screen and (max-width: 1600px) {
		#footer_infos {
			font: normal normal 500 20px/30px Montserrat;
		}
	}

	@media only screen and (max-width: 1280px) {
		#footer_infos {
			font: normal normal 500 18px/30px Montserrat;
		}
	}

	

	#footer_infos a{
		color: white;
	}

	
	#footer_infos a:hover{
		color: white;
	}

	#footer_info strong {
		color:white;
	}

	#footer_info {
		flex-grow: 1;
		text-align:left;
		
	}
	
	footer ul {
		list-style: none;
		line-height: 25px;
		max-width: 1150px;
		text-align: right;
		margin: auto;
		padding:0;
		}
	footer ul li {
		margin-right: 10px; 
		display: inline;
		}
	footer ul li a {
		color: #FFF;
		font-size: 0.8em;
		}
#copyright {
	width: 100%;
	text-align: center;
	}

.noir { color: #222222; }
.rouge { color: #E1001A; }
.vert  { color: #7EC65F; }

.form  { 
	background: url("/icones/input_bg.png") left top repeat-x; 
	border: 1px solid #DDD;
	margin-bottom: 2px;
	font-size: 0.9em;
	}
.formc {
	background: url("/icones/input_bg.png") left top repeat-x;
	border: 1px solid #DDD;
	text-align: center;
	margin-bottom: 2px;
	font-size: 0.9em;
	}

.bouton { 
	color: #FFF;
	font-size: 85%;
	background-color: var(--c-text-strong);
	
	}
.grandbouton {
	color: #FFF;
	font-size: 1.1em;
	background-color: var(--c-text-strong);
	letter-spacing: 1px;
	text-transform: uppercase;}

.ban-address-field {
	position: relative;
	overflow: visible;
}

.ban-address-suggestions {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 50;
	width: 100%;
	min-width: 260px;
	max-width: 440px;
	margin-top: 6px;
	background: #FFF;
	border: 1px solid #e6ddc9;
	border-radius: var(--radius-m, 10px);
	box-shadow: 0 10px 26px rgba(40,26,18,0.14);
	overflow: hidden;
	line-height: 1.3;
}

.ban-address-suggestions.is-visible {
	display: block;
}

.ban-address-option {
	display: block;
	width: 100%;
	padding: 10px 14px;
	background: #FFF;
	border: 0;
	border-bottom: 1px solid #efe7d6;
	color: var(--c-text-strong);
	cursor: pointer;
	font-family: inherit;
	font-size: 13.5px;
	line-height: 1.35;
	text-align: left;
	white-space: normal;
	transition: background .12s;
}

.ban-address-option:last-child {
	border-bottom: 0;
}

.ban-address-option.is-active {
	background: #faf6ec;
	color: var(--clr-or-text);
}
@media (hover: hover) {
	.ban-address-option:hover {
		background: #faf6ec;
		color: var(--clr-or-text);
	}
}

.ban-address-option strong {
	display: block;
	color: inherit;
	font-weight: 600;
}

.ban-address-option span {
	display: block;
	margin-top: 2px;
	color: #8a8377;
	font-size: 12px;
}

.ban-address-empty {
	padding: 8px 10px;
	color: #666;
	font-size: 12px;
}

#admin { background: #FFF; font-size: 12px; font-family: Arial, sans-serif;}
#admin a { font-size: 11px; }
#admin td { font-size: 11px; }
#admin .form  { font-size: 11px; background : #FFF url("/icones/input_bg.png") left top repeat-x; border: 1px solid #bbb; margin-bottom: 2px; }
#admin .formc { font-size: 11px; background : #FFF url("/icones/input_bg.png") left top repeat-x; border: 1px solid #bbb; text-align: center; margin-bottom: 2px; }
#admin .bouton	{ color: #FFF; font-size: 90%; background-color: var(--clr-ink); }
#admin form { margin: 0; }

span.disabled { color: #CCC; }
.colonneadmin { background-color: #DDAE89; color: #000; height: 25px; }
td.admin { color: var(--c-text-strong); }
div.result { padding: 5px; border: 1px dotted #CCC; width: 600px; font-weight: bold; margin: auto;}
.box {	font-size: 14px; font-family: Arial, sans-serif; border: 1px solid #ddd; visibility: hidden; float: left; padding: 5px; width: 0px; height: 0px; margin: 5px; background: #F3EECC; z-index: 1; margin-left: 60px;}
.masque { vertical-align: middle; -moz-opacity:0.3; filter:alpha(opacity=30); -khtml-opacity: 0.3; opacity: 0.3; }
.fondrouge { background: #F9BD3B; color: #000; padding: 5px; }
.fondvert  { background: #7EC65F; color: #FFF; padding: 5px; }
.titre { font-size: 14px; font-weight: bold; letter-spacing: 2px; color: #00004C; }

ul#list-photos li.highlight {
  background: #f2f2f2;
  border: 1px dashed #212326;
  width: 120px;
  height: 90px;
}
ul#list-photos { list-style: none; }
ul#list-photos li { border: 1px solid #ddd; padding: 4px; width: auto; height: 140px; cursor: move; float: left; margin-bottom: 5px; margin-right: 4px; background: #fff; color:#212326; box-shadow:2px 2px 5px #ccc; }



#header_mobile, #footer_mobile {
	display: none;
}



.liste-vins-pictos-container {
	width:30px;
	display: table-cell;
}

.liste-vins-pictos {
	display: flex;
	width: 28px;
	flex-direction: row;

}

.liste-vins .picto {
	width:12px; height:12px; margin-top:6px
}

.liste-vins .pictobio {
	width:14px; height:14px; margin-top:6px
}


.liste-vins .details .a > img {
	width: 15px;
	height: 16px;
	margin-top: 3px
}

.liste-vins .details .a {
	display:flex;
	flex-direction: row;
	justify-content: center;
}

#page-vin .vinvisuel {
	width: 40%;
	order: 2;
	text-align:center;
}


#page-vin ul.vincaras  {
	min-width:250px;
	float:left;
	margin-bottom: 0;
	width:50%;
	order: 1;
}



.vincaras li {
	display:flex;
}

ul.compte_voir li {
	display: flex;
}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

#col-centre h2.liste-vins.cc-appellation-title,
h2.liste-vins.cc-appellation-title {
	display: flex;
	align-items: center;
	gap: 13px;
	margin: 18px 0 13px;
	padding: 0;
	background: transparent;
	color: #343434;
	font: normal normal normal 58px/0.9 Montserrat, cursive;
	letter-spacing: 0;
}

#col-centre h2.liste-vins.cc-appellation-title::before,
h2.liste-vins.cc-appellation-title::before {
	content: "";
	width: 44px;
	height: 5px;
	border-radius: var(--radius-s);
	background: #f4d65c;
}

ul.liste-vins.cc-wine-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 17px;
	align-items: stretch;
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
}

.liste-vins.cc-wine-grid li.cc-wine-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	height: auto;
	overflow: hidden;
	margin: 0;
	padding: 0;
	border: 1px solid #d9d1c5;
	border-radius: var(--radius-m);
	background: #fff;
	box-shadow: 0 1px 0 rgba(0, 0, 0, .03);
	line-height: 1.42;
	transition: border-color .18s ease, background-color .18s ease;
}

.liste-vins.cc-wine-grid li.cc-wine-card:focus-within {
	background: #F8F4EA;
	border-color: #D8BE8A;
}
@media (hover: hover) {
	.liste-vins.cc-wine-grid li.cc-wine-card:hover {
		background: #F8F4EA;
		border-color: #D8BE8A;
	}
}

.cc-wine-card__media {
	position: relative;
	display: grid;
	min-height: 178px;
	place-items: center;
	padding: 12px 18px 8px;
	background: #fff;
}

.cc-wine-card__media::after {
	content: "";
	position: absolute;
	left: 26%;
	right: 6%;
	bottom: 16px;
	height: 28px;
	border-radius: 50%;
	background: radial-gradient(ellipse 60% 100% at 30% 50%, rgba(73, 54, 32, .20), rgba(73, 54, 32, 0) 72%);
	transform: rotate(-7deg);
	transform-origin: left center;
	pointer-events: none;
}

.cc-wine-card__media a {
	position: relative;
	z-index: 1;
	display: grid;
	min-height: 154px;
	width: 100%;
	place-items: center;
}

.cc-wine-card__product {
	display: block;
	width: auto;
	max-width: 88%;
	max-height: 166px;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.cc-wine-card__badges {
	position: absolute;
	z-index: 2;
	top: 11px;
	left: 11px;
	right: 11px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: space-between;
	pointer-events: none;
}

.cc-wine-badge {
	display: inline-flex;
	min-height: 28px;
	align-items: center;
	border-radius: 999px;
	background: #fff;
	padding: 5px 10px;
	color: #151515;
	font: normal normal 700 13px/1 Montserrat, Arial, sans-serif;
	box-shadow: 0 10px 20px rgba(32, 24, 18, .08);
}

.cc-wine-card__bio {
	position: absolute;
	right: 10px;
	bottom: 10px;
	z-index: 3;
	height: 28px;
	width: auto;
	mix-blend-mode: multiply;
	pointer-events: none;
}

.cc-bio-inline {
	height: 16px;
	width: auto;
	vertical-align: middle;
	mix-blend-mode: multiply;
}

.cc-wine-badge--heart {
	color: var(--clr-or-text);
}

.cc-wine-badge--vip,
.cc-wine-badge--stock {
	background: #151515;
	color: #fff;
}

.cc-wine-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 12px 15px 0;
	border-top: 1px solid #f0ece5;
}

.cc-wine-card__title {
	min-height: 40px;
	margin: 0;
	color: #151515;
	font: normal normal 700 24px/1.03 "Montserrat", Georgia, serif;
	letter-spacing: 0;
}

@media (hover: hover) {
	.cc-wine-card__title a:hover {
		color: var(--clr-or-text);
	}
}

.cc-wine-card__price-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 10px;
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid #d9d1c5;
}

.cc-wine-card__price {
	color: var(--clr-or-text);
	font: normal normal 700 33px/0.85 "Montserrat", Georgia, serif;
}

.cc-wine-card__price .prix_normal {
	color: #555;
	font-size: 55%;
	font-weight: 600;
	text-decoration: line-through;
	vertical-align: 4px;
}

.cc-wine-card__format {
	margin-top: 3px;
	color: #5f5f5f;
	font-size: 13px;
	font-weight: 700;
}

.cc-wine-card__commerce-note {
	margin-top: 3px;
	color: var(--clr-or-text);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.cc-wine-card__points {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: #477455;
	font-size: 13px;
	font-weight: 700;
}

.cc-wine-card__points img {
	width: 17px;
	height: 17px;
}

.cc-wine-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	align-items: center;
	min-height: 40px;
	margin: auto -15px 0;
	padding: 10px 15px 8px;
	background: #fff;
	color: #666;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.cc-wine-card__meta span + span::before {
	content: "\00b7";
	margin-right: 5px;
	color: var(--clr-or-text);
}

.cc-wine-card__actions {
	position: absolute;
	z-index: 4;
	left: 0;
	right: 0;
	bottom: 0;
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr);
	margin: 0;
	opacity: 0;
	pointer-events: none;
	transform: translateY(100%);
	transition: opacity .18s ease, transform .18s ease;
}

.cc-wine-card:hover .cc-wine-card__actions,
.cc-wine-card:focus-within .cc-wine-card__actions {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.cc-wine-card__qty {
	display: grid;
	align-items: stretch;
	min-height: 40px;
	background: #151515;
}

.cc-wine-card__qty select {
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 0;
	background: #151515;
	color: #fff;
	padding: 0 8px;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
}

.cc-wine-card__cart-button {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	align-items: center;
	min-height: 40px;
	border: 0;
	border-radius: var(--radius-s);
	background: var(--clr-ink);
	color: #fff;
	font-size: 12px;
	font-weight: var(--btn-weight);
	letter-spacing: .08em;
	line-height: 1.1;
	text-align: center;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: var(--btn-shadow);
}

.cc-wine-card__cart-button svg, .cc-wine-card__cart-button svg *,
.order-btn-primary svg, .order-btn-primary svg *,
#compte-content .btn-primary svg, #compte-content .btn-primary svg *,
.cc-cart-ackbtn svg, .cc-cart-ackbtn svg *,
.cart-drawer-cta svg, .cart-drawer-cta svg *,
.btn-ap-primary svg, .btn-ap-primary svg *,
.cart-added-see svg, .cart-added-see svg *,
#admin .bouton svg, #admin .bouton svg * { fill: var(--clr-or); stroke: var(--clr-or); }

.cc-wine-card__cart-button:hover,
.cc-wine-card__cart-button:focus-visible {
	background: var(--clr-ink);
	color: #fff;
}

.cc-wine-card__cart-button span:last-child {
	min-width: 0;
	padding: 0 10px;
	white-space: nowrap;
}

.cc-wine-card__cart-icon {
	display: grid;
	width: 42px;
	height: 40px;
	place-items: center;
	background: #fff;
}

.cc-wine-card__cart-icon img {
	width: 28px;
	height: 28px;
}

.cc-wine-card__cart-button--disabled {
	grid-column: 1 / -1;
	grid-template-columns: 1fr;
	background: #575757;
	cursor: not-allowed;
	box-shadow: none;
}

.cc-wine-card__cart-button--maxed {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 40px;
	background: var(--clr-ink);
	box-shadow: 0 1px 2px rgba(36,26,18,.30);
	color: #fff;
	text-transform: none;
	letter-spacing: .02em;
	cursor: default;
}
.cc-wine-card__cart-button--maxed:hover,
.cc-wine-card__cart-button--maxed:focus-visible {
	background: var(--clr-ink);
	color: #fff;
}
.cc-wc-maxed-ic { display: inline-flex; align-items: center; }

.cc-wine-card__cart-button--success,
.cc-wine-card__cart-button--success:hover,
.cc-wine-card__cart-button--success:focus-visible {
	background: var(--clr-ink-dark);
	cursor: default;
}

@media (max-width: 980px) {
	ul.liste-vins.cc-wine-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	#col-centre h2.liste-vins.cc-appellation-title,
	h2.liste-vins.cc-appellation-title {
		font-size: 50px;
	}

	ul.liste-vins.cc-wine-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.liste-vins.cc-wine-grid li.cc-wine-card {
		display: grid;
		grid-template-columns: 108px minmax(0, 1fr);
		min-height: 0;
		width: 100%;
	}

	.cc-wine-card__media {
		min-height: 178px;
		padding: 12px 8px;
		border-right: 1px solid #f0ece5;
	}

	.cc-wine-card__media::after {
		left: 22%;
		right: 8%;
		bottom: 28px;
		height: 20px;
	}

	.cc-wine-card__media a {
		min-height: 132px;
	}

	.cc-wine-card__product {
		max-width: 100%;
		max-height: 136px;
	}

	.cc-wine-card__badges {
		top: 8px;
		left: 8px;
		right: 8px;
	}

	.cc-wine-badge {
		min-height: 24px;
		padding: 4px 8px;
		font-size: 11px;
	}

	.cc-wine-card__body {
		min-width: 0;
		overflow: hidden;
		padding: 11px 12px 48px;
		border-top: 0;
	}

	.cc-wine-card__title {
		min-height: 0;
		font-size: 20px;
		line-height: 1.02;
	}

	.cc-wine-card__price-row {
		justify-content: flex-start;
		gap: 12px;
	}

	.cc-wine-card__price {
		font-size: 29px;
	}

	.cc-wine-card__points {
		gap: 2px;
		font-size: 11px;
	}

	.cc-wine-card__points img {
		width: 14px;
		height: 14px;
	}

	.cc-wine-card__meta {
		display: none;
	}

	.cc-wine-card__actions {
		left: 108px;
		opacity: 1;
		pointer-events: auto;
		transform: none;
		grid-template-columns: 62px minmax(0, 1fr);
	}

	.cc-wine-card__qty,
	.cc-wine-card__cart-button {
		min-height: 42px;
	}

	.cc-wine-card__cart-button {
		grid-template-columns: 40px minmax(0, 1fr);
		font-size: 11px;
	}

	.cc-wine-card__cart-icon {
		width: 40px;
		height: 42px;
	}
}

@media (hover: none) {
	.cc-wine-card__body {
		padding-bottom: 44px;
	}

	.cc-wine-card__actions {
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}

	.liste-vins.cc-wine-grid li.cc-wine-card:hover {
		transform: none;
	}
}
#page-inscription-newsletter ul.newsletter li {
	display: flex;
}

#page-inscription-newsletter ul.newsletter .valeursnewsletter {
	display: flex;
	flex-direction: row;
}

#page-commande ul.recap_panier li {
	display: flex;
}

#sousrub {
	display:none;
}

#sousrub a {
	float: left;
	width: 50%;
	text-align:left;
	min-height: 48px;
	color: black;
}

@media only screen and (max-width: 1130px) {
	body {
		padding-left:0px;
		padding-right:0px;
	}
	
	h1 {
		text-align: left;
	}


	#sousrub {
		display:block;
	}

	.hidemobile {
		display: none;
	}
	#header_desktop {
  		display: none;
	}

	.height0mobile {
		height: 0px;
	}


	#header_mobile {
		display: block;
		position: fixed;
		width: 100%;
		background-color:white;
		z-index:1000;
		top: var(--cc-header-mobile-top, 0px);
		font-family: 'Roboto', Arial, Verdana, sans-serif;
		transition: transform 0.3s ease;
	}

	#header_mobile.header--hidden {
		transform: translateY(-100%);
	}

	#footer_mobile {
		display: block;
	}

	#footer_mobile_encarts {
		display:flex;
		flex-wrap: wrap;
		max-width: 620px;
		margin-left:auto;
		margin-right:auto;
		justify-content: center;
	}

	.footer_mobile_encarts_encart  {
		width: 225px;
		padding-right: 50px; 
		padding-left: 50px; 
	}


	#header_mobile a > img,
	#header_mobile #nbArticlesPanier {
		vertical-align: middle;
	}

	#paniermobile { position: relative; display: inline-block; }
	#cart-drawer-btn-mobile { position: relative; display: inline-block; }
	#nbArticlesPanier {
		position: absolute;
		top: -8px; right: -8px;
		text-align: center;
		border: 1px solid green; border-radius: 50%; width:20px; height:20px;
		background-color: white;
		line-height: 18px;
		font-size: 13px;
	}

	#col-gauche {
		position: fixed;
		background-color: #eeeeee;
		left: 0;
		top: var(--cc-mobile-menu-top, 140px);
		bottom: 0;
		width: 350px;
		max-width: calc(100vw - 30px);
		font-size: 1.2em;
		line-height: 1.4em;
		z-index:999;
		display:none;
		overflow-y: auto;
	}

	#closemenuburger {
		display:block;
		position: absolute;
		top: 0;
		right: 0;
	}

	.header-top {
		display: none;
	}


	#wrappeur {
		margin-top: 0;
		padding-top: var(--header-mobile-h, 110px);
		width: 98%;
	}
	.cc-content,
	#compte-content,
	#tunnel-content,
	#catalogue-content,
	#vignerons-content {
		margin-top: 0;
		padding-top: var(--header-mobile-h, 110px);
	}

	#page-index #wrappeur {
		margin-top: 0;
		padding-top: 0;
	}

    #actualites {
	}

	#col-centre {
		width:100%;
		max-width: 870px; 
		padding:0;
		margin-left: auto;
		margin-right: auto;
		border-left: none;
	}

	#breadcrumb_link_1 { display: none;	}

	

	.liste-vins li { min-height: 76px; height: auto; padding: 6px 0; line-height: 20px; }

	.liste-vins .details {	width: 30px; font-size: 10px;	}

	.liste-vins .details .a {	display:flex;		flex-direction: column;		justify-content: center;	}

	.liste-vins .details .a > img {		margin-left: 5px;	}

	.liste-vins-pictos-container { width:20px }

	.liste-vins-pictos { flex-direction: column; width: 15px; }

	.liste-vins .pictobio {	width:15px; height:14px; margin-top:6px; margin-left:-1px; display:table-cell;	}

	.liste-vins .addtocart { width: 110px; }

	.liste-vins .addtocart select {	width: 48px; height: 48px; font-size: 16px;	}

	.liste-vins .addtocart img { width: 48px; height: 34px; }

	.liste-vins .prix {
		width: 55px;
	}

	#page-vin .entete {
		margin: 0 5px 0 0px;
	}

	#page-vin .description {
		clear:both;
	}

	#page-vin photo_produit {
		float: right;
	}

	#page-vin ul.vincaras  {
		min-width:250px;
		padding:0;
	}

	ul.vincaras li {
		grid-template-columns: 1fr;
		border-bottom: 1px solid var(--clr-border);
		padding: var(--space-xs) 0;
	}
	ul.vincaras li:last-child {
		border-bottom: none;
	}
	#page-vin .entete {
		border-right: none;
		text-align: left;
		font-size: 0.85em;
		color: #999;
		line-height: 20px;
	}
	#page-vin .valeur {
		padding-left: 0;
		font-weight: bold;
	}

	#visuel_home {
		aspect-ratio: 3/1;
		min-height: 200px;
		font-size: 22px;
		line-height: 28px;
		padding: 10px 0;
		margin-top: var(--header-mobile-h, 110px);
	}

	#homepage-content .hero {
		padding-top: var(--header-mobile-h, 110px);
		box-sizing: border-box;
	}
	#visuel_home_inside {
		position: relative;
		top: auto;
		transform: none;
		display: block;
		margin: 0 20px;
	}
	#visuel_home span.sub {
		font-size: 14px;
		line-height: 18px;
	}
	#visuel_home_cta {
		display: block;
		position: relative;
		bottom: auto;
		left: auto;
		margin-top: 8px;
		padding: 10px 20px;
	}



	#page-panier .entete {
		margin: 0 5px 0 0px;
	}

	#page-commande .entete {
		margin: 0 5px 0 0px;
	}

	#page-form .entete {
		margin: 0 5px 0 0px;
		width:120px;
	}
	
	#page-compte #form_update {
		max-width: 550px;
		margin-left: auto;
		margin-right: auto;
	}



	#recherche ul {
		padding-left: 0px;
	}


	#recherche	.entete {
		margin-top: -10px;
		margin-left: 0px;
		width: 30%;
		line-height: 48px;
		font-size: 1.2em;
		}

	#recherche .valeur {
		width: 60%;
	}

	#recherche .valeur select {
			font-size: 1.2em;
	}

	#recherche .bouton {
		font-size:100%;
	}

	#page-compte ul.compte_voir li {
		flex-direction: column;
		margin-bottom: 10px;
	}

	#page-compte ul.compte_voir li div.entete {
		margin-left:0;
		border-right: none;
		text-align: left;
	}

	#page-compte ul.compte_voir { padding-left: 0; }
	#page-compte ul.compte_voir li input.form,
	#page-compte ul.compte_voir li input.formc { width: 100%; max-width: 100%; box-sizing: border-box; }

	#page-compte_ajout ul.compte_voir li div.entete {
		margin-left:0;
		text-align: left;
		width:120px;
	}

	#page-login  ul.compte_voir  li div.entete {
		margin-left:0;
		width:120px;
	}


	#page-inscription-newsletter ul.newsletter {
		margin-left: -20px;
		padding-left: 0px;
	}

	#page-inscription-newsletter ul.newsletter li div.entete {
		margin: 0 5px 0 0px;
	}
}

@media only screen and (max-width: 600px) {

	.ban-address-suggestions {
		width: 100%;
		min-width: 0;
	}

	#page-form ul.compte_voir li {
		flex-direction: column;
	}


	#page-login ul.compte_voir li {
		flex-direction: column;
	}



	#page-compte_ajout ul.compte_voir li {
		flex-direction: column;
	}

	#page-compte_ajout .entete {
		text-align:left; 
		margin-left: 10px;
		border-right: none;
	}

	#page-login .entete {
		text-align:left; 
		margin-left: 10px;
		border-right: none;
	}

	#page-form .entete {
		text-align:left; 
		margin-left: 10px;
		border-right: none;
	}

	#recherche .entete {
		text-align:left; 
		margin-left: 10px;
		border-right: none;
	}

	#page-vin .vinvisuel {
		width: 100%;
		order: 1;
		text-align:center;
	}

	#page-vin ul.vincaras  {
		width:100%;
		order: 2;
	}

	#page-vin .item {
		flex-direction: column;
	}

	#page-vin .valeur {
		width: 69%;
	}

	#recherche li {
		flex-direction: column;
	}
	#recherche .entete {
		text-align:left;
		margin-left: 10px;
		border-right: none;
		width: auto;
	}

	#recherche .valeur {
		margin-left: 20px;
		width: auto;
	}

	#recherche .valeur.double {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	#recherche input.rech-input {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	#producteur-bloc1 {
		width:90%;
		margin-left: 10px;
	}
	#producteur-bloc2 {
		width:90%;
		margin-left: 10px;
	}

	#producteur-coordonnees {
		margin-left: 10px;
	}

	#page-inscription-newsletter li {
		flex-direction: column;

	}

	#page-inscription-newsletter .entete {
		text-align:left; 
		margin-left: 10px;
		border-right: none;
	}

	#page-inscription-newsletter ul.newsletter {
		margin-left: 10px;
	}

	#page-inscription-newsletter ul.newsletter .valeursnewsletter {
		display:flex;
		flex-direction: column;
	}
}

@keyframes shake {
	0%, 100% { transform: translateX(0); }
	20%       { transform: translateX(-6px); }
	40%       { transform: translateX(6px); }
	60%       { transform: translateX(-4px); }
	80%       { transform: translateX(4px); }
}
.shake {
	animation: shake 0.4s ease-in-out;
}

dialog {
	border: none;
	border-radius: var(--radius-l);
	padding: 0;
	max-width: 90vw;
	box-shadow: 0 8px 40px rgba(0,0,0,0.25);
}
dialog::backdrop {
	background: rgba(0, 0, 0, 0.55);
}

#message_popup {
	position: relative;
	background-color: var(--c-surface);
	border: 1px solid var(--c-line);
	border-left: 4px solid var(--fb-no-tx);
	text-align: left;
	padding: 26px 30px 24px 62px;
	color: var(--c-ink);
	font-weight: 600;
	min-width: 300px;
	max-width: 460px;
}
#message_popup::before {
	content: "";
	position: absolute;
	left: 22px;
	top: 25px;
	width: 26px;
	height: 26px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A33327' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v5M12 16h.01'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
#message_popup .dialog-actions {
	margin-top: 22px;
	display: flex;
	gap: 20px;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
}
#message_popup .dialog-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: var(--btn-min-h);
	padding: var(--btn-pad-y) var(--btn-pad-x);
	background: var(--c-ink);
	color: #fff;
	border: none;
	border-radius: var(--radius-s);
	box-shadow: var(--btn-shadow);
	font: var(--btn-weight) var(--btn-font)/1 var(--ff-body);
	letter-spacing: var(--btn-letter);
	cursor: pointer;
}
#message_popup .dialog-close:hover {
	background: var(--c-ink-hover);
}
#message_popup .dialog-actions a {
	color: var(--c-accent-text);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

#news_popup {
	padding: 30px;
	max-width: 600px;
}
#news_popup h2 {
	margin-top: 0;
}
#news_popup .dialog-close {
	display: block;
	margin: 20px auto 0;
	padding: 10px 30px;
	background: var(--clr-ink);
	color: var(--clr-white);
	border: none;
	border-radius: var(--radius-s);
	cursor: pointer;
	font: normal normal 500 18px/25px var(--ff-body);
	letter-spacing: 0;
}
#news_popup .dialog-close:hover {
	background: var(--clr-ink-dark);
}


#tarteaucitronRoot #tarteaucitronAlertBig.tarteaucitronAlertBigBottom {
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 12px 14px;
	position: fixed !important;
	bottom: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 12px max(40px, calc((100% - var(--max-width)) / 2)) !important;
	background: var(--clr-ink) !important;
	color: #f0f0f0 !important;
	font: normal normal 400 15px/22px var(--ff-body) !important;
	border: none !important;
	border-top: 3px solid var(--clr-or) !important;
	border-radius: 0 !important;
	box-shadow: 0 -4px 20px rgba(0,0,0,0.22) !important;
	z-index: 9999 !important;
	text-align: left !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig.tarteaucitronAlertBigBottom[style*="display: none"] {
	display: none !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
	flex: 1 1 auto;
	color: #f0f0f0 !important;
	font: normal normal 400 14px/21px var(--ff-body) !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPercentage {
	display: none !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong {
	color: #f0f0f0 !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert a {
	color: #ccc !important;
	text-decoration: underline;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
	flex-shrink: 0;
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: var(--btn-min-h);
	padding: var(--btn-pad-y) var(--btn-pad-x) !important;
	border-radius: var(--radius-s);
	cursor: pointer;
	font: normal normal var(--btn-weight) var(--btn-font)/20px var(--ff-body) !important;
	font-size: var(--btn-font) !important;
	white-space: nowrap;
	text-decoration: none !important;
	line-height: 20px !important;
	margin-left: 0 !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 {
	background: var(--clr-bg-light) !important;
	color: var(--clr-ink) !important;
	border: none !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:hover {
	background: var(--clr-white) !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
	background: rgba(255,255,255,.12) !important;
	color: #f1ece4 !important;
	border: none !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2:hover {
	background: rgba(255,255,255,.20) !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
	flex-shrink: 0;
	display: inline-flex !important;
	align-items: center;
	background: transparent !important;
	color: #aaa !important;
	border: none !important;
	font: normal normal 400 13px/18px var(--ff-body) !important;
	font-size: 13px !important;
	padding: 6px 10px !important;
	cursor: pointer;
	text-decoration: underline;
	white-space: nowrap;
	margin-left: 0 !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert:hover,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl:hover {
	color: #f0f0f0 !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 .tarteaucitronCheck,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 .tarteaucitronCross {
	display: none;
}

@media only screen and (max-width: 1130px) {
	#tarteaucitronRoot #tarteaucitronAlertBig.tarteaucitronAlertBigBottom {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: stretch !important;
		bottom: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		max-height: 30vh !important;
		padding: var(--space-sm) var(--space-md) !important;
		padding-bottom: max(var(--space-sm), var(--cc-safe-bottom)) !important;
		gap: var(--space-xs) var(--space-sm) !important;
		font-size: 13.5px !important;
		line-height: 1.45 !important;
		background: var(--clr-ink) !important;
		color: #f0f0f0 !important;
		border-top: 3px solid var(--clr-or) !important;
	}
	#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
		grid-column: 1 / -1;
		min-height: 0;
		max-height: 16vh !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
		color: #f0f0f0 !important;
	}
	#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
	#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
		width: auto !important;
		min-height: 44px !important;
		text-align: center !important;
		padding: 11px 14px !important;
		font-size: 15px !important;
	}
	#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 { grid-column: 1; }
	#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
		grid-column: 2;
		color: #f5f5f5 !important;
	}
	#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
	#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
		width: auto !important;
		text-align: center !important;
		justify-content: center;
		color: #cfcfcf !important;
		padding: 6px 8px !important;
		font-size: 12.5px !important;
		white-space: normal !important;
		line-height: 1.25 !important;
	}
	#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert { grid-column: 1; }
	#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl  { grid-column: 2; }
}


#tarteaucitronRoot {
	-webkit-text-size-adjust: 100% !important;
	text-size-adjust: 100% !important;
}
#tarteaucitronRoot #tarteaucitron { font-size: 13px !important; }

#tarteaucitronRoot #tarteaucitronBack {
	background: rgba(20,15,15,0.55) !important;
	opacity: 1 !important;
}

#tarteaucitronRoot #tarteaucitron {
	box-sizing: border-box !important;
	max-width: 460px !important;
	width: calc(100% - 32px) !important;
	margin: 0 !important;
	left: 50% !important;
	top: 50% !important;
	transform: translate(-50%, -50%) !important;
	max-height: 86vh !important;
	background: var(--clr-white) !important;
	border: none !important;
	border-radius: var(--radius-l) !important;
	box-shadow: 0 18px 60px rgba(0,0,0,0.35) !important;
	overflow: hidden !important;
	font-family: var(--ff-body) !important;
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronServices {
	height: auto !important;
	max-height: 86vh !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	background: var(--clr-white) !important;
	border: none !important;
	scrollbar-width: thin !important;
	scrollbar-color: var(--clr-border) transparent !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices::-webkit-scrollbar { width: 8px !important; }
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices::-webkit-scrollbar-track { background: transparent !important; }
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices::-webkit-scrollbar-thumb {
	background: var(--clr-border) !important;
	border-radius: var(--radius-s) !important;
	border: 2px solid var(--clr-white) !important;
}
#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder {
	background: var(--clr-white) !important;
	border: none !important;
	max-height: none !important;
}
#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder > ul { margin: 0 !important; padding: 0 !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .clear { display: none !important; }

#tarteaucitronRoot #tarteaucitronClosePanel {
	position: absolute !important;
	top: 9px !important;
	right: 9px !important;
	z-index: 5 !important;
	width: 30px !important;
	height: 30px !important;
	min-width: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: none !important;
	border-radius: 50% !important;
	font-size: 0 !important;
	line-height: 0 !important;
	cursor: pointer !important;
	overflow: hidden !important;
	text-transform: none !important;
}
#tarteaucitronRoot #tarteaucitronClosePanel::before {
	content: '\00d7' !important;
	display: block !important;
	font: normal normal 400 24px/30px var(--ff-body) !important;
	text-align: center !important;
	color: var(--clr-text) !important;
}
#tarteaucitronRoot #tarteaucitronClosePanel:hover { background: rgba(0,0,0,0.07) !important; }
#tarteaucitronRoot #tarteaucitronClosePanel:hover::before { color: var(--clr-or-text) !important; }

#tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset {
	background: var(--clr-bg-light) !important;
	border: none !important;
	border-bottom: 1px solid var(--clr-border) !important;
	margin: 0 !important;
	padding: 14px 18px 14px !important;
	display: block !important;
	line-height: 1.4 !important;
}
#tarteaucitronRoot #tarteaucitron .tarteaucitronH1 {
	display: block !important;
	font: normal normal 600 15.5px/1.3 var(--ff-title) !important;
	color: var(--clr-text-dark) !important;
	text-align: center !important;
	margin: 0 0 6px !important;
	padding: 0 34px !important;
	border: none !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo {
	display: block !important;
	position: static !important;
	max-width: none !important;
	width: auto !important;
	background: transparent !important;
	border: none !important;
	color: var(--clr-text) !important;
	text-align: center !important;
	padding: 0 4px !important;
	margin: 0 !important;
	font: normal normal 400 12.5px/1.5 var(--ff-body) !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo p {
	margin: 0 !important;
	font: normal normal 400 12.5px/1.5 var(--ff-body) !important;
	color: var(--clr-text) !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo br { display: none !important; }
#tarteaucitronRoot #tarteaucitron #tarteaucitronPrivacyUrlDialog {
	display: inline !important;
	vertical-align: baseline !important;
	margin: 0 !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	color: var(--clr-or-text) !important;
	font: normal normal 400 12.5px/1.5 var(--ff-body) !important;
	text-decoration: underline !important;
	cursor: pointer !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronName {
	display: none !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronAsk {
	display: flex !important;
	justify-content: center !important;
	gap: 10px !important;
	margin: 12px 0 0 !important;
	padding: 0 !important;
	float: none !important;
}

html.cc-cookies-sans-service #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronAsk,
html.cc-cookies-sans-service #tarteaucitronRoot #tarteaucitron #tarteaucitronSave {
	display: none !important;
}
html.cc-cookies-sans-service #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo p {
	display: none !important;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronTitle {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}
#tarteaucitronRoot #tarteaucitron .tarteaucitronTitle button {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 13px 20px !important;
	background: transparent !important;
	border: none !important;
	border-top: 1px solid var(--clr-border) !important;
	font: normal normal 600 13.5px/1.3 var(--ff-title) !important;
	color: var(--clr-text-dark) !important;
	text-align: left !important;
	text-transform: none !important;
	cursor: pointer !important;
}
#tarteaucitronRoot #tarteaucitron .tarteaucitronTitle button:hover { background: var(--clr-bg-light) !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronPlus,
#tarteaucitronRoot #tarteaucitron .tarteaucitronPlus::before {
	display: inline-block !important;
	width: 14px !important;
	text-align: center !important;
	color: var(--clr-or) !important;
	font-weight: 700 !important;
}
#tarteaucitronRoot #tarteaucitron .tarteaucitronTitle button .tarteaucitronPlus::before {
	content: "+" !important;
}
#tarteaucitronRoot #tarteaucitron .tarteaucitronTitle button[aria-expanded="true"] .tarteaucitronPlus::before {
	content: "\2212" !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServicesTitle_mandatory .tarteaucitronPlus {
	display: none !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServicesTitle_mandatory .tarteaucitronTitle button {
	cursor: default !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServicesTitle_mandatory .tarteaucitronTitle button:hover {
	background: transparent !important;
}
#tarteaucitronRoot #tarteaucitron .tarteaucitronDetails {
	position: static !important;
	max-width: none !important;
	width: auto !important;
	z-index: auto !important;
	float: none !important;
	background: var(--clr-bg-light) !important;
	color: var(--clr-text) !important;
	font: normal normal 400 12.5px/1.5 var(--ff-body) !important;
	margin: 0 !important;
	padding: 4px 20px 12px !important;
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronBorder .tarteaucitronLine:not(#tarteaucitronNoServicesTitle) {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	background: #fcfbfa !important;
	border: none !important;
	border-top: 1px dashed var(--clr-border) !important;
	margin: 0 !important;
	padding: 12px 20px !important;
	min-height: 0 !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronBorder .tarteaucitronName {
	float: none !important;
	width: auto !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	text-align: left !important;
	color: var(--clr-text-dark) !important;
	font-family: var(--ff-body) !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronBorder .tarteaucitronName .tarteaucitronH3 {
	display: block !important;
	margin: 0 0 2px !important;
	font: normal normal 600 13px/1.35 var(--ff-body) !important;
	color: var(--clr-text-dark) !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronBorder .tarteaucitronName br { display: none !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronStatusInfo,
#tarteaucitronRoot #tarteaucitron .tarteaucitronListCookies:empty { display: none !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronListCookies,
#tarteaucitronRoot #tarteaucitron .tarteaucitronServiceDescription { color: var(--clr-text) !important; }
#tarteaucitronRoot #tarteaucitron .tarteaucitronReadmoreInfo,
#tarteaucitronRoot #tarteaucitron .tarteaucitronReadmoreOfficial,
#tarteaucitronRoot #tarteaucitron .tarteaucitronName a {
	color: var(--clr-or-text) !important;
	font: normal normal 400 11.5px/1.5 var(--ff-body) !important;
	text-decoration: underline !important;
}
#tarteaucitronRoot #tarteaucitron .tarteaucitronReadmoreSeparator { color: var(--clr-text-light) !important; }
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronBorder .tarteaucitronLine .tarteaucitronAsk {
	display: flex !important;
	flex: 0 0 auto !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	white-space: nowrap !important;
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronAsk {
	display: none !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronLine::after {
	content: "Toujours actif";
	flex: 0 0 auto !important;
	display: inline-flex !important;
	align-items: center !important;
	padding: 6px 12px !important;
	border-radius: 999px !important;
	background: #eef3ec !important;
	color: #4a6b3f !important;
	font: normal normal 600 11.5px/1 var(--ff-body) !important;
	white-space: nowrap !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronName .tarteaucitronH3 {
	font-weight: 400 !important;
	font-size: 12.5px !important;
	color: var(--clr-text) !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronBorder #tarteaucitronNoServicesTitle.tarteaucitronLine {
	background: #fcfbfa !important;
	border: none !important;
	border-top: 1px dashed var(--clr-border) !important;
	margin: 0 !important;
	padding: 16px 20px !important;
	font: normal normal 400 12.5px/1.5 var(--ff-body) !important;
	color: var(--clr-text) !important;
	text-align: center !important;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronCTAButton,
#tarteaucitronRoot #tarteaucitron .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitron .tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitron #tarteaucitronAllAllowed,
#tarteaucitronRoot #tarteaucitron #tarteaucitronAllDenied,
#tarteaucitronRoot #tarteaucitron #tarteaucitronSaveButton {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 7px 14px !important;
	border-radius: var(--radius-s) !important;
	font: normal normal 600 12.5px/1.2 var(--ff-body) !important;
	cursor: pointer !important;
	text-decoration: none !important;
	text-shadow: none !important;
	opacity: 1 !important;
	transition: background .12s, border-color .12s, color .12s !important;
}
#tarteaucitronRoot #tarteaucitron .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitron .tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitron #tarteaucitronAllAllowed,
#tarteaucitronRoot #tarteaucitron #tarteaucitronAllDenied {
	background: var(--clr-bg-grey) !important;
	color: var(--clr-text-dark) !important;
	border: none !important;
}
#tarteaucitronRoot #tarteaucitron .tarteaucitronAllow:hover,
#tarteaucitronRoot #tarteaucitron .tarteaucitronDeny:hover,
#tarteaucitronRoot #tarteaucitron #tarteaucitronAllAllowed:hover,
#tarteaucitronRoot #tarteaucitron #tarteaucitronAllDenied:hover {
	background: var(--clr-border) !important;
}
#tarteaucitronRoot #tarteaucitron .tarteaucitronIsAllowed .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitron .tarteaucitronAllow.tarteaucitronIsSelected,
#tarteaucitronRoot #tarteaucitron .tarteaucitronIsDenied .tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitron .tarteaucitronDeny.tarteaucitronIsSelected,
#tarteaucitronRoot #tarteaucitron #tarteaucitronAllAllowed.tarteaucitronIsSelected,
#tarteaucitronRoot #tarteaucitron #tarteaucitronAllDenied.tarteaucitronIsSelected {
	background: var(--clr-ink) !important;
	border: none !important;
	color: var(--clr-white) !important;
}
#tarteaucitronRoot #tarteaucitron .tarteaucitronCheck,
#tarteaucitronRoot #tarteaucitron .tarteaucitronCross { display: none !important; }

#tarteaucitronRoot #tarteaucitron #tarteaucitronSave {
	position: sticky !important;
	bottom: 0 !important;
	z-index: 2 !important;
	text-align: center !important;
	margin: 0 !important;
	padding: 14px 20px !important;
	background: var(--clr-bg-light) !important;
	border-top: 1px solid var(--clr-border) !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronSaveButton {
	min-width: 220px !important;
	padding: 10px 24px !important;
	font-size: 13.5px !important;
	background: var(--clr-ink) !important;
	color: var(--clr-white) !important;
	border: none !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronSaveButton:hover {
	background: var(--clr-ink-dark) !important;
}

@media only screen and (max-width: 1130px) {
	#tarteaucitronRoot #tarteaucitron {
		width: calc(100% - 20px) !important;
		max-height: 90vh !important;
		height: auto !important;
		bottom: auto !important;
	}
	#tarteaucitronRoot #tarteaucitron #tarteaucitronServices { max-height: 90vh !important; }
	#tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset { padding: 11px 16px 11px !important; }
	#tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronAsk { margin-top: 8px !important; }
	#tarteaucitronRoot #tarteaucitron #tarteaucitronSave { position: static !important; }
	#tarteaucitronRoot #tarteaucitron .tarteaucitronH1 { font-size: 16px !important; }
	#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .tarteaucitronLine { padding: 12px 16px !important; }
	#tarteaucitronRoot #tarteaucitron .tarteaucitronTitle button { padding: 13px 16px !important; }
	#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronBorder .tarteaucitronLine {
		flex-wrap: wrap !important;
	}
	#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronBorder .tarteaucitronName {
		min-width: 55% !important;
	}
}

#cc-impersonation-banner {
	position: sticky;
	top: 0;
	left: 0;
	right: 0;
	z-index: 10000;
	background: #b00020;
	color: #fff;
	padding: 10px var(--space-md, 20px);
	font: normal normal 600 14px/20px var(--ff-body, sans-serif);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-md, 20px);
	flex-wrap: wrap;
	box-shadow: 0 2px 8px rgba(0,0,0,0.3);
	text-align: center;
}
#cc-impersonation-banner .cc-imp-icon {
	font-size: 20px;
	line-height: 1;
}
#cc-impersonation-banner .cc-imp-text strong {
	background: rgba(255,255,255,0.15);
	padding: 2px 8px;
	border-radius: var(--radius-s);
}
#cc-impersonation-banner .cc-imp-exit {
	background: #fff;
	color: #b00020;
	padding: 6px 14px;
	border-radius: var(--radius-s);
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.15s ease;
}
#cc-impersonation-banner .cc-imp-exit:hover,
#cc-impersonation-banner .cc-imp-exit:focus {
	background: #f0f0f0;
	color: #7a0014;
}
@media only screen and (max-width: 700px) {
	#cc-impersonation-banner {
		font-size: 13px;
		padding: 8px 10px;
		gap: 8px;
	}
}

.filtres-actifs {
	margin: 16px 0;
	padding: 10px 14px;
	background: var(--clr-bg-light);
	border-radius: var(--radius-m);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 6px;
	font-size: 0.95em;
}
.filtres-actifs__label {
	color: var(--clr-text);
	font-size: 0.85em;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-right: 4px;
	opacity: 0.7;
}
.chip-filtre {
	display: inline-flex;
	align-items: center;
	padding: 4px 6px 4px 12px;
	background: var(--clr-white);
	border: 1px solid var(--clr-border);
	border-radius: 999px;
	color: var(--clr-text-dark);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
@media (hover: hover) {
	.chip-filtre:hover {
		border-color: var(--clr-or);
		box-shadow: 0 1px 3px rgba(184,138,62,0.08);
	}
}
.chip-filtre__critere {
	color: var(--clr-text);
	opacity: 0.75;
	margin-right: 4px;
}
.chip-filtre__valeur {
	font-weight: 600;
}
.chip-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	margin-left: 8px;
	border-radius: 50%;
	color: var(--clr-text);
	font-size: 1.1em;
	line-height: 1;
	text-decoration: none;
	opacity: 0.6;
	transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}
.chip-close:focus {
	background: var(--clr-ink);
	color: var(--clr-white);
	opacity: 1;
	text-decoration: none;
}
@media (hover: hover) {
	.chip-close:hover {
		background: var(--clr-ink);
		color: var(--clr-white);
		opacity: 1;
		text-decoration: none;
	}
}
.filtres-actifs__tout {
	margin-left: auto;
	padding: 4px 10px;
	font-size: 0.9em;
	color: var(--clr-text);
	text-decoration: underline;
	opacity: 0.75;
	transition: color 0.15s ease, opacity 0.15s ease;
}
.filtres-actifs__tout:focus {
	color: var(--clr-or-text);
	opacity: 1;
}
@media (hover: hover) {
	.filtres-actifs__tout:hover {
		color: var(--clr-or-text);
		opacity: 1;
	}
}
@media only screen and (max-width: 700px) {
	.filtres-actifs {
		gap: 6px;
	}
	.filtres-actifs__tout {
		margin-left: 0;
		flex-basis: 100%;
		text-align: right;
	}
}

.no-results {
	margin: 24px 0;
	padding: 24px 28px;
	background: var(--clr-bg-light);
	border-left: 4px solid var(--clr-or);
	border-radius: var(--radius-m);
}

.cc-grid-erreur {
	margin: 24px 0;
	padding: 28px 28px 32px;
	background: var(--clr-bg-light);
	border-left: 4px solid var(--clr-or);
	border-radius: var(--radius-m);
	text-align: center;
}
.cc-grid-erreur-titre {
	margin: 0 0 6px;
	font-family: var(--ff-title);
	font-size: 16px;
	font-weight: 700;
	color: var(--clr-ink);
}
.cc-grid-erreur-sub {
	margin: 0 0 18px;
	font-size: 14px;
	color: var(--clr-text-soft, #6b6b6b);
}
.cc-grid-erreur-btn {
	display: inline-block;
	padding: 10px 22px;
	font-family: var(--ff-title);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.5px;
	color: var(--clr-white);
	background: var(--clr-ink);
	border: 1px solid var(--clr-ink);
	border-radius: var(--radius-s);
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}
.cc-grid-erreur-btn:hover {
	background: var(--clr-or);
	border-color: var(--clr-or);
	color: var(--clr-ink);
}


#filtres-panel {
  padding: 16px 12px 32px;
}

.filtres-titre {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--ff-title);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--clr-or-text);
  margin-bottom: 14px;
}
.filtres-titre__badge {
  background: var(--clr-ink);
  color: var(--clr-white);
  border-radius: 10px;
  padding: 1px 8px;
  font-size: 11px;
}

#filtres-panel .filtres-actifs {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 8px;
}
#filtres-panel .chip-filtre {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: color-mix(in srgb, var(--clr-or) 5%, #fff);
  border: 1px solid var(--clr-or);
  color: var(--clr-or-text);
  border-radius: 12px;
  padding: 3px 8px 3px 10px;
  font-size: 11px;
  font-weight: 600;
}
#filtres-panel .chip-close {
  color: var(--clr-or-text);
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  opacity: 0.7;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  width: 18px;
  height: 18px;
  margin-left: 0;
}
@media (hover: hover) { #filtres-panel .chip-close:hover { opacity: 1; } }
#filtres-panel .filtres-tout-effacer:not(.cc-act) {
  display: block;
  font-size: 11px;
  color: var(--clr-or-text);
  text-decoration: underline;
  cursor: pointer;
  margin-bottom: 12px;
  background: none;
  border: none;
  padding: 0;
  font-family: var(--ff-body);
}

.filtre-groupe {
  border-top: 1px solid var(--clr-border);
  padding: 10px 0;
}
.filtre-groupe__label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--ff-title);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--clr-text-dark);
  cursor: pointer;
  user-select: none;
  margin-bottom: 8px;
}
.filtre-groupe__arrow {
  font-size: 9px;
  color: var(--clr-border);
  transition: transform 0.2s;
}
.filtre-groupe.is-open .filtre-groupe__arrow {
  transform: rotate(180deg);
}
.filtre-groupe__body {
  display: none;
}
.filtre-groupe.is-open .filtre-groupe__body {
  display: block;
}

.couleurs-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}
.couleur-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  cursor: pointer;
  padding: 4px 6px;
  border-radius: var(--radius-s);
  border: 2px solid transparent;
  font-size: 10px;
  color: var(--clr-text);
  font-weight: 600;
  transition: border-color 0.15s;
}
@media (hover: hover) { .couleur-item:hover { border-color: var(--clr-border); } }
.couleur-item.is-selected { border-color: var(--clr-ink); }
.couleur-dot {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,0.1);
}
.couleur-cnt { font-weight: 400; font-size: 9px; color: var(--clr-count); font-variant-numeric: tabular-nums; }

.check-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.check-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--clr-text);
  cursor: pointer;
  padding: 3px 0;
}
.check-item__box {
  width: 14px;
  height: 14px;
  min-width: 14px;
  border-radius: var(--radius-s);
  border: 1.5px solid var(--clr-border);
  background: var(--clr-white);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.12s, border-color 0.12s;
}
.check-item.is-checked .check-item__box {
  background: var(--clr-ink);
  border-color: var(--clr-ink);
}
.check-item.is-checked .check-item__box::after {
  content: '';
  width: 10px;
  height: 10px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
.check-item__count {
  margin-left: auto;
  font-size: 11px;
  color: var(--clr-count);
  font-variant-numeric: tabular-nums;
}
.check-item.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}
.filtres-voir-plus {
  display: block;
  font-size: 11px;
  color: var(--clr-or-text);
  text-decoration: underline;
  cursor: pointer;
  margin-top: 4px;
  background: none;
  border: none;
  padding: 0;
  font-family: var(--ff-body);
}

.prix-range-wrap {
  margin-top: 6px;
}
.prix-range-track {
  position: relative;
  height: 4px;
  margin: 16px 0 10px;
}
.prix-range-track input[type=range] {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
  -webkit-appearance: none;
  background: transparent;
  pointer-events: none;
}
.prix-range-track input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--clr-ink);
  border: 2px solid var(--clr-white);
  box-shadow: 0 1px 4px rgba(0,0,0,0.2);
  cursor: pointer;
  pointer-events: all;
}
.prix-range-track input[type=range]::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--clr-ink);
  border: 2px solid var(--clr-white);
  cursor: pointer;
  pointer-events: all;
}
.prix-range-fill {
  position: absolute;
  top: 0;
  height: 4px;
  background: var(--clr-ink);
  border-radius: var(--radius-s);
  pointer-events: none;
}
.prix-range-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--clr-bg-grey);
  border-radius: var(--radius-s);
}
.prix-display {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--clr-text);
}
.prix-display span { font-weight: 600; }
.prix-field { display: inline-flex; align-items: center; gap: 3px; }
.prix-num {
  width: 4ch;
  padding: 2px 4px;
  line-height: 1.3;
  font: inherit;
  font-weight: 600;
  text-align: right;
  color: var(--clr-text);
  background: #fff;
  border: 1px solid var(--clr-border, #d9d2c6);
  border-radius: 0;
  -moz-appearance: textfield;
}
.prix-num:focus {
  outline: none;
  border-color: var(--clr-or, #b88a3e);
}
.prix-num::-webkit-outer-spin-button,
.prix-num::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.prix-unit { font-weight: 600; color: var(--clr-text); }

.millesime-grid {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 4px;
  max-height: 280px;
  overflow-y: auto;
}
.millesime-tag {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  padding: 6px 10px;
  border-radius: var(--radius-s);
  font-size: 13px;
  font-weight: 400;
  border: 1.5px solid transparent;
  color: var(--clr-text);
  cursor: pointer;
  background: var(--clr-white);
  transition: all 0.12s;
  font-family: var(--ff-body);
  text-align: left;
}
.millesime-an { font-variant-numeric: tabular-nums; }
@media (hover: hover) { .millesime-tag:hover { border-color: var(--clr-or); color: var(--clr-or-text); } }
.millesime-tag.is-selected {
  background: rgba(36,26,18,.06);
  border-color: var(--clr-ink);
  color: var(--clr-ink);
}
.millesime-count { font-weight: 400; font-size: 11px; color: var(--clr-count); font-variant-numeric: tabular-nums; }
.millesime-tag.is-selected .millesime-count { color: var(--clr-count); }

.filtres-skeleton-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 16px;
}
.filtres-skeleton-card {
  border: 1px solid var(--clr-bg-grey);
  border-radius: var(--radius-m);
  overflow: hidden;
  animation: filtres-pulse 1.4s ease-in-out infinite;
}
.filtres-skeleton-img  { background: var(--clr-bg-grey); height: 150px; }
.filtres-skeleton-body { padding: 10px 12px; }
.filtres-skeleton-line {
  background: var(--clr-bg-grey);
  border-radius: var(--radius-s);
  margin-bottom: 7px;
}
.filtres-skeleton-line--sm  { height: 10px; width: 55%; }
.filtres-skeleton-line--md  { height: 14px; width: 90%; }
.filtres-skeleton-line--lg  { height: 10px; width: 70%; }
.filtres-skeleton-btn { background: var(--clr-bg-grey); height: 30px; margin: 6px 12px 12px; border-radius: var(--radius-s); }
@keyframes filtres-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.45; }
}

#filtres-resultats {
  position: relative;
  min-height: 200px;
}
.filtres-spinner-overlay {
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.7);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 60px;
  z-index: 5;
}
.filtres-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid var(--clr-bg-grey);
  border-top-color: var(--clr-or);
  border-radius: 50%;
  animation: filtres-spin 0.7s linear infinite;
}
@keyframes filtres-spin { to { transform: rotate(360deg); } }

#filtres-count-wrap {
  margin-bottom: 14px;
}

.filtres-close-btn {
  display: none;
  background: none;
  border: none;
  font-size: 18px;
  color: var(--clr-border);
  cursor: pointer;
  padding: 0;
  line-height: 1;
  margin-left: auto;
}
.filtres-close-btn:hover { color: var(--clr-or-text); }

.filtres-titre__text { flex: 1; }

.filtres-mobile-toggle {
  display: none;
}

.filtres-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 998;
}
.filtres-overlay.is-visible {
  display: block;
}

.filtres-mobile-footer { display: none; }

@media (min-width: 1131px) {
  #page-boutique #col-gauche,
  #page-liste #col-gauche,
  #page-nouveautes #col-gauche,
  #page-coups-de-coeur #col-gauche,
  #page-fins-de-loges #col-gauche,
  #page-caveprivee #col-gauche,
  #page-dernieres-bouteilles #col-gauche,
  #page-appellations #col-gauche,
  #page-recherche-vins #col-gauche {
    position: sticky;
    top: 160px;
    align-self: flex-start;
    max-height: calc(100vh - 160px);
    overflow-y: auto;
  }
}

@media (max-width: 1130px) {
  .filtres-accordion-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 11px 16px;
    background: var(--clr-white);
    border: none;
    border-bottom: 1px solid var(--clr-bg-grey);
    font-family: var(--ff-title);
    font-size: 14px;
    font-weight: 600;
    color: var(--clr-text-dark);
    cursor: pointer;
    text-align: left;
  }
  .filtres-accordion-btn__count {
    background: var(--clr-ink);
    color: var(--clr-white);
    border-radius: 10px;
    padding: 1px 8px;
    font-size: 11px;
    margin-left: 6px;
  }
  .filtres-accordion-btn__arrow {
    font-size: 11px;
    color: var(--clr-border);
    transition: transform 0.2s;
  }
  .filtres-accordion-btn.is-open .filtres-accordion-btn__arrow {
    transform: rotate(180deg);
  }
  .filtres-accordion-panel {
    display: none;
    background: var(--clr-bg-light);
    padding: 12px 16px 0;
    border-bottom: 1px solid var(--clr-bg-grey);
  }
  .filtres-accordion-panel.is-open {
    display: block;
  }
  .filtres-apply-btn {
    display: block;
    width: 100%;
    background: var(--clr-ink);
    color: var(--clr-white);
    border: none;
    border-radius: var(--radius-s);
    padding: 12px;
    font-family: var(--ff-title);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    margin: 12px 0;
    text-align: center;
  }
  #col-gauche {
    display: none;
  }
  #col-gauche:has(#filtres-panel) {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    background: #fff;
    z-index: 1001;
    padding-bottom: 80px;
    box-sizing: border-box;
  }
  #col-gauche.filtres-open {
    display: block;
  }

  .filtres-close-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--clr-bg-grey);
    color: var(--clr-text-dark);
    font-size: 16px;
    flex-shrink: 0;
  }

  #col-gauche:has(#filtres-panel) .filtres-titre {
    position: sticky;
    top: 0;
    z-index: 3;
    background: #fff;
    padding: 10px 0;
    margin-bottom: 10px;
    border-bottom: 1px solid var(--clr-bg-grey);
  }

  .filtres-mobile-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: var(--clr-ink);
    color: var(--clr-white);
    border: none;
    border-radius: var(--radius-s);
    font-family: var(--ff-title);
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    margin-bottom: 14px;
  }
  .filtres-mobile-toggle__arrow {
    font-size: 9px;
    opacity: 0.8;
  }

  .filtres-mobile-footer {
    display: block;
    padding: 0 12px 16px;
  }
}

.filtres-nojs-form {
  display: none;
}
.no-results__title {
	margin: 0 0 12px;
	color: var(--clr-text-dark);
	font-size: 1.4em;
	font-weight: 600;
}
.no-results__title em {
	color: var(--clr-or-text);
	font-style: normal;
}
.no-results__suggestion {
	margin: 0 0 16px;
	padding: 12px 16px;
	background: var(--clr-white);
	border-radius: var(--radius-m);
	font-size: 1.05em;
}
.no-results__suggestion a,
.cc-vide__lien {
	color: var(--clr-or-text);
	font-weight: 600;
	text-decoration: underline;
}
.no-results__tips {
	margin: 0;
	padding-left: 20px;
	color: var(--clr-text);
	font-size: 0.95em;
}
.no-results__tips li {
	margin: 4px 0;
}
.no-results__tips a {
	color: var(--clr-or-text);
	text-decoration: underline;
}

ul.liste-vins.cc-wine-grid .cc-wine-card__actions {
	width: auto;
	text-align: initial;
}

ul.liste-vins.cc-wine-grid .cc-wine-card__qty select {
	width: 100%;
	height: 100%;
	font-size: 16px;
}

ul.liste-vins.cc-wine-grid .cc-wine-card__cart-icon img {
	width: 28px;
	height: 28px;
}

@media (max-width: 680px) {
	ul.liste-vins.cc-wine-grid .cc-wine-card__actions {
		width: auto;
	}

	ul.liste-vins.cc-wine-grid .cc-wine-card__qty select {
		width: 100%;
		height: 100%;
		font-size: 16px;
	}
}



#site-sticky-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: #fff;
	transform: translateY(0);
	transition: box-shadow 0.25s ease, transform 0.3s ease;
}

#site-sticky-header.header--hidden {
	transform: translateY(-100%);
}

#site-sticky-header > header {
	margin-top: 0;
}
#site-sticky-header #menu {
	margin-top: 0;
}

body.is-scrolled #site-sticky-header {
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

#header_desktop,
#header-centre img,
#menu ul {
	transition: padding 0.2s ease, width 0.2s ease;
}


#cart-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 9999;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
#cart-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
}

#cart-drawer {
    position: fixed;
    right: 0;
    top: 0;
    height: 100vh;
    height: 100dvh;
    width: 400px;
    max-width: 100%;
    background: #fff;
    z-index: 10000;
    transform: translateX(110%);
    visibility: hidden;
    transition: transform 0.3s ease, visibility 0s linear 0.3s;
    display: flex;
    flex-direction: column;
    box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
}
#cart-drawer.is-open {
    transform: translateX(0);
    visibility: visible;
    transition: transform 0.3s ease, visibility 0s;
}

.cart-drawer-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 22px 20px 12px;
    background: #fff;
    flex-shrink: 0;
}
.cart-drawer-title {
    display: flex;
    align-items: baseline;
    gap: 10px;
    font-family: var(--ff-body);
}
.cart-drawer-title .sidebar-kick { display: inline; margin: 0; }
.cart-drawer-count-badge {
    background: none;
    border: 0;
    border-radius: 0;
    padding: 0;
    font-family: var(--ff-body);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0;
    color: #8a8a8a;
}
.cart-drawer-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    margin: -12px -12px -12px 0;
    padding: 0;
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    font-size: 22px;
    line-height: 1;
    color: var(--c-text-strong);
    cursor: pointer;
}

.cart-drawer-body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    padding: 0;
}

.cart-drawer-ship {
    padding: 11px 20px;
    background: var(--clr-bg-light);
    border-bottom: 1px solid #ece0c4;
}
.cart-drawer-ship-msg { font-size: 12px; color: var(--clr-text); margin-bottom: 7px; }
.cart-drawer-ship-msg strong { color: var(--clr-or-text); font-weight: 700; }
.cart-drawer-ship-track { height: 6px; background: #e6dcc2; border-radius: var(--radius-s); overflow: hidden; }
.cart-drawer-ship-fill { height: 100%; border-radius: var(--radius-s); background: var(--clr-ink); transition: width 0.6s ease; }
.cart-drawer-ship.ok { background: #f1f7f2; border-bottom-color: #d7ecdb; }
.cart-drawer-ship.ok .cart-drawer-ship-msg { color: var(--clr-success); font-weight: 600; margin-bottom: 0; }

.cart-drawer-list { list-style: none; margin: 0; padding: 0; }
.cart-drawer-item {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--c-line);
    position: relative;
}
.cart-drawer-item:last-child { border-bottom: none; }
.cart-drawer-thumb {
    width: 54px;
    height: 76px;
    border-radius: var(--radius-s);
    flex-shrink: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    box-shadow: none;
    isolation: isolate;
}
.cart-drawer-thumb img { width: 100%; height: 100%; object-fit: contain; padding: 4px; box-sizing: border-box; mix-blend-mode: multiply; }
.cart-drawer-thumb-emoji {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
}
.cart-drawer-thumb-emoji svg { width: 34px; height: 34px; color: #cbb27a; opacity: .85; }
.cart-drawer-item-info { flex: 1; min-width: 0; }
.cart-drawer-appel {
    display: flex; align-items: center;
    font: 600 11px/1.4 var(--ff-body); letter-spacing: 1.5px; text-transform: uppercase;
    color: #8a8a8a;
}
.cart-drawer-name {
    font: 700 15px/1.3 var(--ff-body);
    color: var(--c-text-strong);
    margin: 1px 0 2px;
}
.cart-drawer-meta { font-size: 12px; color: #8a8a8a; }
.cart-drawer-meta,
.cart-drawer-price,
.cart-drawer-price small { line-height: 1.3; }
.cart-drawer-stock { font-size: 12px; color: var(--c-accent-text); margin-top: 4px; }
.cart-drawer-bottom { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; margin-top: 9px; font-size: 13px; }
@media (max-width: 380px) { .cart-drawer-bottom { column-gap: 12px; } }
.cc-qty {
  display:flex; align-items:center; border:1.5px solid var(--clr-border);
  border-radius:var(--radius-s); overflow:visible; width:auto; box-sizing:border-box; margin:0;
}
.cc-qty-btn {
  position:relative;
  width:35px; height:35px; min-width:35px; min-height:35px; background:#fff; border:none;
  cursor:pointer; font-size:15px; font-weight:700; color:var(--clr-or-text);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  line-height:1; transition:background 0.15s;
}
.cc-qty-btn::after {
  content:''; position:absolute; left:-5px; right:-5px; top:50%;
  transform:translateY(-50%); height:44px;
}
.cc-qty-btn:first-of-type { border-right:1px solid var(--clr-border); border-radius:var(--radius-s) 0 0 var(--radius-s); }
.cc-qty-btn:last-of-type  { border-left:1px solid var(--clr-border); border-radius:0 var(--radius-s) var(--radius-s) 0; }
@media (hover: hover) { .cc-qty-btn:hover { background:var(--c-bg-grey); } }
.cc-qty-btn--off { color:var(--cc-text-muted,#b3b3b3); cursor:not-allowed; opacity:.5; }
@media (hover: hover) { .cc-qty-btn--off:hover { background:#fff; } }
.cc-qty-val {
  flex:0 0 auto; width:30px; min-width:0; text-align:center;
  align-self:stretch; display:flex; align-items:center; justify-content:center; user-select:none;
  background:#fff; font-family:inherit; font-size:14px; font-weight:700; color:var(--c-text-strong);
}
#cart-drawer .cc-qty { border: 0; border-radius: 0; }
#cart-drawer .cc-qty-btn {
  border: 0; border-radius: 0; background: none;
  font: 400 18px/1 var(--ff-body); color: var(--c-text-strong);
}
#cart-drawer .cc-qty-btn--off { color: #c5c5c5; opacity: 1; }
#cart-drawer .cc-qty-val { background: none; }
@media (hover: hover) { #cart-drawer .cc-qty-btn:not(.cc-qty-btn--off):hover { font-weight: 700; } }

.cart-drawer-price {
    margin-left: auto;
    font-family: var(--ff-body);
    font-size: 15px;
    font-weight: 400;
    color: var(--c-text-strong);
    text-align: right;
    white-space: nowrap;
}
.cart-drawer-price small {
    display: block;
    font-family: var(--ff-body);
    font-size: 12px;
    font-weight: 400;
    color: #8a8a8a;
    text-align: right;
}
.cart-drawer-price small .qty-now { color: inherit; font-weight: inherit; }
.cart-drawer-remove { white-space: nowrap; }

#cart-drawer.is-empty .cart-drawer-footer { display: none; }
.cart-drawer-empty { padding: 22px 20px 18px; text-align: left; }
.cart-drawer-empty-title { margin: 0; font: 400 15px/1.6 var(--ff-body); color: var(--c-text-strong); }
.cart-drawer-explore { white-space: nowrap; }
.cart-drawer-empty-block { margin-top: 4px; }
.cart-drawer-empty-block-head { margin: 22px 0 2px; font: 700 15px/1.3 var(--ff-body); color: var(--c-text-strong); }
.cart-drawer-empty-list { display: block; }
.cart-drawer-ghost + .cart-drawer-empty { border-top: 1px solid var(--c-line); }
.cart-drawer-empty > .cart-drawer-empty-block:first-child .cart-drawer-empty-block-head { margin-top: 0; }
body {
    --cc-addh-bg: var(--c-surface);
    --cc-addh-bd: var(--c-accent);
    --cc-addh-tx: var(--c-accent-text);
    --cc-addh-sh: 0 3px 10px rgba(184,138,62,.32);
    --cc-addh-tr: translateY(-1px);
}
body.cc-addhover-or {
    --cc-addh-bg: var(--c-accent);
    --cc-addh-bd: var(--c-accent);
    --cc-addh-tx: #fff;
    --cc-addh-sh: 0 2px 8px rgba(184,138,62,.30);
    --cc-addh-tr: none;
}

.cart-drawer-empty-add { white-space: nowrap; }
.cart-drawer-empty-add:disabled { cursor: default; }

.cart-drawer-cross { padding: 4px 20px 8px; border-top: 1px solid var(--c-line); }
.cart-drawer-cross-head { padding: 14px 0 2px; }
.cart-drawer-cross-script,
.cart-drawer-cross-label { font: 700 15px/1.3 var(--ff-body); color: var(--c-text-strong); }
.cart-drawer-cross-sublabel { margin-top: 2px; font-size: 13px; line-height: 1.4; color: #8a8a8a; }
.cart-drawer-cross-add { white-space: nowrap; }
.cart-drawer-cross-add:disabled { cursor: default; }

.cart-drawer-footer {
    flex-shrink: 0;
    border-top: 1px solid var(--c-line);
    background: #fff;
    padding: 14px 20px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    font-size: 14px;
}
.cart-drawer-sub {
    align-self: stretch;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
}
.cart-drawer-sub-lbl {
    font: 700 16px/1.3 var(--ff-body);
    color: var(--c-text-strong);
}
.cart-drawer-sub-lbl span {
    font-family: var(--ff-body);
    font-weight: 400;
    font-size: 11px;
    color: #999;
}
.cart-drawer-sub-val {
    font: 700 16px/1.3 var(--ff-body);
    color: var(--c-text-strong);
}
.cart-drawer-shipping-note {
    font-size: 11.5px;
    color: #999;
    margin: 3px 0 12px;
}
.cart-drawer-shipping-note.ok { color: var(--clr-success); font-weight: 600; }
.cart-drawer-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: var(--btn-pad-y) var(--btn-pad-x);
    border: none;
    border-radius: var(--radius-s);
    background: var(--clr-ink);
    color: #fff !important;
    font-size: var(--btn-font);
    font-weight: var(--btn-weight);
    letter-spacing: var(--btn-letter);
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
    box-sizing: border-box;
    box-shadow: var(--btn-shadow);
    transition: background 0.15s, transform 0.1s;
}
.cart-drawer-cta:hover { background: var(--clr-ink-dark); }
.cart-drawer-cta:active { transform: translateY(1px); }

@media (max-width: 600px) {
    #cart-drawer { width: 100%; max-width: 100%; }
    .cart-drawer-footer { position: sticky; bottom: 0; }
}

body.cart-drawer-open { overflow: hidden; }

.sidebar-kick{display:block;font-family:var(--ff-body);font-weight:700;text-transform:uppercase;letter-spacing:2.5px;font-size:11px;line-height:1.2;color:var(--clr-or-text);margin:0 0 6px}

body.cc-scroll-locked {
    overflow: hidden;
    overscroll-behavior: none;
}

#cart-added {
    position: fixed;
    right: 0;
    top: 0;
    height: 100vh;
    width: 400px;
    max-width: 100%;
    background: #fff;
    z-index: 10001;
    transform: translateX(110%);
    visibility: hidden;
    transition: transform 0.28s ease, visibility 0s linear 0.28s;
    display: flex;
    flex-direction: column;
}
#cart-added.is-open {
    transform: translateX(0);
    visibility: visible;
    transition: transform 0.28s ease, visibility 0s;
}
#cart-added.ap-dragging { transition: none; }

.ap-handle { display: none; }

.ap-head {
    background: #fff;
    padding: 22px 24px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-shrink: 0;
}
.ap-head-title { flex: 1; margin: 0; }
.ap-close {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 44px; min-height: 44px;
    margin: -12px -12px -12px 0;
    padding: 0;
    background: none; border: 0; border-radius: 0; box-shadow: none;
    font-size: 22px; line-height: 1;
    color: var(--c-text-strong); cursor: pointer;
}

.cart-added-body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    padding: 0 24px;
}

.ap-product {
    display: flex; gap: 16px; align-items: flex-start;
    padding: 8px 0 18px;
}
.ap-bottle {
    width: 52px; height: 92px;
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    isolation: isolate;
}
.ap-bottle img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.ap-bottle--emoji { color: #c5c5c5; }
.ap-info {
    flex: 1; min-width: 0;
    display: flex; flex-direction: column; gap: 3px;
    font-size: 14px; line-height: 1.45; color: var(--c-text);
}
.ap-appel {
    display: inline-flex; align-items: center;
    font: 600 11px/1.4 var(--ff-body); letter-spacing: 1.5px; text-transform: uppercase;
    color: #8a8a8a;
}
.ap-name { font: 700 17px/1.3 var(--ff-body); color: var(--c-text-strong); }
.ap-fmt { color: #8a8a8a; }
.ap-qte { margin-top: 4px; color: var(--c-text-strong); }
.ap-dot {
    display: inline-block; position: relative;
    width: 13px; height: 13px; flex: none;
    margin-left: 8px;
    border-radius: 50%;
    background: var(--wine-accent, var(--clr-or-text));
    box-shadow: inset 0 0 0 1.5px rgba(0,0,0,.16), 0 0 0 1px rgba(0,0,0,.05);
}
@media (max-width: 640px) { .ap-dot { width: 12px; height: 12px; } }

.ap-recap {
    padding: 14px 0;
    border-top: 1px solid var(--c-line);
    font-size: 14px; line-height: 1.6; color: var(--c-text);
}
.ap-recap strong { font-weight: 700; color: var(--c-text-strong); }

.ap-suggestions { padding: 0 0 8px; }
.ap-sugg-label { margin: 18px 0 2px; font: 700 15px/1.3 var(--ff-body); color: var(--c-text-strong); }
.ap-sugg-sublabel { font-size: 13px; line-height: 1.4; color: #8a8a8a; }
.ap-sugg-card {
    display: grid; grid-template-columns: 30px 1fr auto;
    gap: 4px 14px; align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--c-line);
    font-size: 14px; line-height: 1.4;
}
.ap-sugg-card:last-child { border-bottom: 0; }
.ap-sugg-thumb { display: block; width: 30px; height: 56px; isolation: isolate; }
.ap-sugg-thumb img { display: block; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.ap-sugg-body { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ap-sugg-name { color: var(--c-text-strong); font-weight: 600; text-decoration: none; }
.ap-sugg-appel { display: flex; align-items: center; font-size: 12px; color: #8a8a8a; }
.ap-sugg-foot {
    display: flex; flex-direction: column; align-items: flex-end; gap: 2px;
    text-align: right; font-size: 13px;
}
.ap-sugg-price { font-size: 14px; color: var(--c-text-strong); white-space: nowrap; }
.ap-sugg-btn { white-space: nowrap; }
.ap-sugg-btn:disabled { cursor: default; }

.ap-actions {
    padding: 16px 24px max(18px, var(--cc-safe-bottom));
    flex-shrink: 0;
    border-top: 1px solid var(--c-line);
    background: #fff;
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    font-size: 14px;
}
.btn-ap-primary {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%; background: var(--clr-ink); color: #fff;
    border: none; cursor: pointer;
    box-sizing: border-box; line-height: 1;
    min-height: var(--btn-min-h); padding: var(--btn-pad-y) var(--btn-pad-x); border-radius: var(--radius-s);
    font-size: var(--btn-font); font-weight: var(--btn-weight); letter-spacing: var(--btn-letter);
    box-shadow: var(--btn-shadow);
    margin-bottom: 8px; transition: background 0.15s, box-shadow 0.18s;
}
.btn-ap-primary:hover { background: var(--clr-ink-dark); }
.btn-ap-primary .btn-meta { font-size: 0.69rem; opacity: 0.75; font-weight: 600; }
.btn-ap-secondary { align-self: center; }

.cart-added-product { display: flex; align-items: flex-start; gap: 16px; padding: 20px 18px; }
.cart-added-img { width: 60px; height: 150px; object-fit: contain; flex-shrink: 0; mix-blend-mode: multiply; }
.cart-added-info { flex: 1; padding-top: 4px; }
.cart-added-name { font-size: 1rem; font-weight: 700; color: #222; line-height: 1.35; margin-bottom: 10px; }
.cart-added-region { font-size: 0.85rem; color: #666; margin-bottom: 6px; }
.cart-added-qty { font-size: 0.85rem; color: #444; margin-bottom: 10px; }
.cart-added-price { font-size: 1.15rem; font-weight: 700; color: var(--clr-or-text); }

#cart-toast {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%) translateY(80px);
    background: var(--c-danger);
    color: #fff;
    padding: 10px 20px;
    border-radius: var(--radius-s);
    font-size: 0.9rem;
    z-index: 11000;
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
    white-space: nowrap;
    pointer-events: none;
}
#cart-toast.is-visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.cart-drawer-item-photo {
    width: 55px;
    height: 90px;
    object-fit: contain;
    border-radius: var(--radius-s);
    flex-shrink: 0;
    background: #f5f5f5;
    padding: 3px;
    box-sizing: border-box;
}

.cart-drawer-item-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    gap: 6px;
    flex-shrink: 0;
    min-height: 60px;
}

.cart-drawer-item-qty {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.82rem;
    color: #444;
    flex-wrap: wrap;
}

@media (max-width: 768px) {
    #cart-drawer {
        width: 100%;
        height: 100dvh;
    }
    .cart-drawer-cta {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: var(--btn-min-h);
    }
    .cart-drawer-footer { padding: 16px; }

    #cart-added {
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        max-width: 100%;
        height: auto;
        max-height: 88vh;
        max-height: 88dvh;
        transform: translateY(110%);
    }
    #cart-added.is-open { transform: translateY(0); }
    .ap-head { padding: 4px 16px 6px; }
    .cart-added-body { padding: 0 16px; }
    .ap-actions { padding-left: 16px; padding-right: 16px; }
    .ap-handle {
        display: block;
        text-align: center;
        padding: 10px 0 8px;
        flex-shrink: 0;
        touch-action: none;
        cursor: grab;
    }
    #cart-added.ap-dragging .ap-handle { cursor: grabbing; }
    .ap-handle span {
        display: inline-block;
        width: 36px; height: 4px;
        background: #ddd;
    }
}

@media (min-width: 981px) {
  #page-boutique #col-droite,
  #page-liste #col-droite,
  #page-nouveautes #col-droite,
  #page-coups-de-coeur #col-droite,
  #page-fins-de-loges #col-droite,
  #page-caveprivee #col-droite,
  #page-dernieres-bouteilles #col-droite,
  #page-appellations #col-droite,
  #page-recherche-vins #col-droite {
    display: none;
  }

  #page-boutique #col-centre,
  #page-liste #col-centre,
  #page-nouveautes #col-centre,
  #page-coups-de-coeur #col-centre,
  #page-fins-de-loges #col-centre,
  #page-caveprivee #col-centre,
  #page-dernieres-bouteilles #col-centre,
  #page-appellations #col-centre,
  #page-recherche-vins #col-centre {
    width: auto;
    flex: 1 1 auto;
    padding-left: 28px;
    padding-right: 24px;
  }

  #page-liste ul.liste-vins.cc-wine-grid,
  #page-nouveautes ul.liste-vins.cc-wine-grid,
  #page-coups-de-coeur ul.liste-vins.cc-wine-grid,
  #page-fins-de-loges ul.liste-vins.cc-wine-grid,
  #page-caveprivee ul.liste-vins.cc-wine-grid,
  #page-dernieres-bouteilles ul.liste-vins.cc-wine-grid,
  #page-appellations ul.liste-vins.cc-wine-grid,
  #page-recherche-vins ul.liste-vins.cc-wine-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-columns: var(--cc-cat-tracks, repeat(4, minmax(0, 1fr)));
    gap: 14px;
  }
}

@media (min-width: 1600px) {
  #page-liste ul.liste-vins.cc-wine-grid,
  #page-nouveautes ul.liste-vins.cc-wine-grid,
  #page-coups-de-coeur ul.liste-vins.cc-wine-grid,
  #page-fins-de-loges ul.liste-vins.cc-wine-grid,
  #page-caveprivee ul.liste-vins.cc-wine-grid,
  #page-dernieres-bouteilles ul.liste-vins.cc-wine-grid,
  #page-appellations ul.liste-vins.cc-wine-grid,
  #page-recherche-vins ul.liste-vins.cc-wine-grid {
    grid-template-columns: var(--cc-cat-tracks-wide, repeat(5, minmax(0, 1fr)));
  }
}


#homepage-content { width: 100%; max-width: 100%; }

.container { max-width: var(--max-width); margin: 0 auto; padding: 0 24px; }

body.homepage #site-sticky-header {
  position: sticky;
  top: 0;
  z-index: 200;
  transform: translateY(0);
  transition: transform 0.3s ease;
}
body.homepage #site-sticky-header.header--hidden {
  transform: translateY(-100%);
}

@media only screen and (max-width: 1130px) {
  body.homepage #site-sticky-header,
  body.homepage #site-sticky-header.header--hidden,
  #site-sticky-header,
  #site-sticky-header.header--hidden {
    transform: none;
  }
}

body.catalogue #site-sticky-header {
  position: static;
  z-index: auto;
  transform: none;
}

body.catalogue.cc-ac-open #site-sticky-header {
  position: relative;
  z-index: 12000;
}
body.cc-ac-open #site-sticky-header > header {
  position: relative;
  z-index: 1;
}

.header-top {
  background: var(--clr-ink);
  color: white;
  padding: 7px 0;
  font-size: 12.5px;
}
.header-top .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.ht-reviews { display: flex; align-items: center; gap: 5px; }
.ht-stars   { color: #FFD700; font-size: 14px; }
.ht-score   { font-weight: 700; font-size: 13px; }
.ht-count   { opacity: .85; }
.ht-center  { font-weight: 700; font-size: 13px; letter-spacing: .2px; }
.ht-right   { display: flex; gap: 14px; }
.ht-right-item { opacity: .9; }
a.ht-center, a.ht-right-item { color: inherit; text-decoration: none; }
a.ht-center:hover, a.ht-right-item:hover { text-decoration: underline; opacity: 1; }

.header-main {
  background: var(--clr-white);
  border-bottom: 1px solid var(--clr-border);
  padding: 14px 0;
}
.header-main .container {
  display: flex;
  align-items: center;
  gap: 20px;
}
.logo-hp { flex-shrink: 0; text-decoration: none; display: block; }
.logo-hp img { height: 44px; display: block; }
.hp-searchbar {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 11px;
  border: 0;
  border-bottom: 1.5px solid var(--c-ink);
  border-radius: 0;
  padding: 5px 2px 5px;
  background: transparent;
  transition: border-bottom-width .15s, border-bottom-color .15s;
}
.hp-searchbar:focus-within { border-bottom-width: 2px; border-bottom-color: var(--c-ink); }
.hp-searchbar input[type="search"] {
  border: none;
  background: transparent;
  font-family: inherit;
  font-size: 14px;
  color: var(--clr-text);
  width: 100%;
  outline: none;
}
.hp-searchbar input[type="search"]::placeholder { color: #9a8e78; }
.hp-searchbar input[type="hidden"] { display: none; }
.hp-search-btn { display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; background: transparent; cursor: pointer; flex-shrink: 0; color: var(--c-ink); }
.hp-search-btn:focus-visible { outline: 2px solid var(--c-ink); outline-offset: 2px; border-radius: var(--radius-s); }
.hp-search-ico { width: 18px; height: 18px; color: var(--c-ink); flex-shrink: 0; }
.hp-header-actions {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-shrink: 0;
}
.hp-haction {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  font-size: 10.5px;
  color: var(--clr-text-dark);
  text-decoration: none;
  font-family: inherit;
  cursor: pointer;
}
.hp-haction img { width: 26px; height: 26px; object-fit: contain; }
.hp-haction span { white-space: nowrap; line-height: 1.25; }
.hp-account { display: flex; }
.hp-haction .hp-cart-ico { transform: translateY(-2px); }


:is(body.homepage,body.catalogue,body.header-hp) #menu { background: #2a2a2a; margin-top: 0; max-width: none; width: 100%; }
:is(body.homepage,body.catalogue,body.header-hp) #menu > ul { max-width: 1920px; margin-left: auto; margin-right: auto; }
:is(body.homepage,body.catalogue,body.header-hp) #menu > ul {
  padding-top: 0;
  padding-bottom: 0;
}
:is(body.homepage,body.catalogue,body.header-hp) #menu > ul > li > a {
  color: white;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.2;
  padding: 13px 18px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: block;
}
:is(body.homepage,body.catalogue,body.header-hp) #menu:not(.cc-menu-dismiss) > ul > li:hover > a { background: var(--clr-ink); color: white; }
:is(body.homepage,body.catalogue,body.header-hp) #menu li.has-dropdown > a::after {
  content: '▾';
  display: inline-block;
  margin-left: .3em;
  font-size: 11px;
}
@media (hover: hover) {
	#menu:not(.cc-menu-dismiss) > ul > li:hover > a {
		text-decoration-line: underline;
		text-decoration-thickness: var(--lien-trait-survol);
		text-decoration-color: var(--clr-or);
		text-underline-offset: var(--menu-trait-offset);
	}
}

.hero {
  width: 100%;
  background-size: cover;
  background-position: center;
  min-height: clamp(440px, 41.667vw, 560px);
  position: relative;
  display: flex;
  align-items: stretch;
  --hero-btn-h:     52px;
  --hero-btn-font:  16px;
  --hero-btn-pad-x: 30px;
}
.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
    rgba(18,7,9,0.72) 0,
    rgba(18,7,9,0.58) max(calc(50% - 576px), 24px),
    rgba(18,7,9,0.44) max(calc(50% + 44px), 644px),
    rgba(18,7,9,0.18) max(calc(50% + 380px), 980px),
    rgba(18,7,9,0)    100%);
}
.hero > .hero-container { width: 100%; display: flex; }
.hero-content {
  position: relative;
  z-index: 1;
  align-self: center;
  padding: 40px 0 48px;
  max-width: 620px;
}
.hero-grp { display: block; }
.hero-grp > :last-child { margin-bottom: 0; }
.hero-grp + .hero-grp { margin-top: 18px; }
.hero-kicker {
  position: relative;
  z-index: 1;
  color: var(--clr-or-on-ink);
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  font-size: 13px;
  margin: 0 0 16px;
}
.hero-content h1 {
  font-family: var(--ff-title);
  font-size: 44px;
  font-weight: 800;
  color: white;
  line-height: 1.08;
  text-shadow: 0 2px 14px rgba(0,0,0,0.45);
  margin: 0 0 18px;
  text-wrap: balance;
}
.hero-sub {
  color: #fff;
  font-size: 18px;
  line-height: 1.55;
  margin: 0 0 30px;
  max-width: 540px;
  text-shadow: 0 1px 8px rgba(0,0,0,0.55);
}
.hero-ctas { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.hero-ctas .btn-primary,
.hero-ctas .btn-ghost-lnk {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--hero-btn-h);
  padding: 0 var(--hero-btn-pad-x);
  font-size: var(--hero-btn-font);
  font-weight: var(--btn-weight);
  letter-spacing: var(--btn-letter);
  border-radius: var(--radius-s);
  box-sizing: border-box;
}
.hero-ctas .btn-primary {
  background: var(--clr-white);
  color: var(--clr-ink);
  box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}
.hero-ctas .btn-ghost-lnk {
  color: var(--clr-white);
  border: 1.5px solid var(--clr-white);
  background-color: rgba(18,7,9,0.18);
}
.hero-ctas .btn-primary:hover { background: var(--clr-white); color: var(--clr-ink); }
.hero-ctas .btn-ghost-lnk:hover { color: var(--clr-white); border-color: var(--clr-white); background-color: rgba(18,7,9,0.18); }
@media (hover: none) and (min-width: 769px) {
  .hero-ctas .btn-primary:active { background-image: linear-gradient(var(--cc-tap-wash), var(--cc-tap-wash)); }
}
@media (hover: hover) and (min-width: 769px) {
  .hero-ctas .btn-primary,
  .hero-ctas .btn-ghost-lnk { transition: box-shadow 0.25s ease, color 0.2s ease, border-color 0.2s ease; }
  .hero-ctas .btn-primary:hover { box-shadow: 0 8px 22px rgba(0,0,0,0.38); }
  .hero-ctas .btn-ghost-lnk:hover { color: var(--clr-or-on-ink); border-color: var(--clr-or-on-ink); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-ctas .btn-primary,
  .hero-ctas .btn-ghost-lnk { transition: none; }
}
.hero-slides { position: absolute; inset: 0; }
.hero-slide {
  position: absolute; inset: 0; z-index: 0;
  background-size: cover; background-position: center;
  opacity: 0; transition: opacity .8s ease;
}
.hero-slide.is-active { opacity: 1; }
.hero--carousel .hero-content { z-index: 2; }
.hero-ctrl {
  position: absolute; z-index: 3; left: 0; right: 0; bottom: 12px;
  display: flex; align-items: center; justify-content: center; gap: 12px;
}
.hero-dots { display: flex; align-items: center; gap: 2px; }
.hero-dot {
  position: relative; width: 28px; height: 44px; padding: 0; border: 0;
  background: none; cursor: pointer;
}
.hero-dot::before {
  content: ''; position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 10px; height: 10px; border-radius: 50%;
  background: rgba(255,255,255,.5);
  transition: background .2s ease, transform .2s ease;
}
.hero-dot.on::before { background: #fff; transform: translate(-50%, -50%) scale(1.3); }
@media (prefers-reduced-motion: reduce) {
  .hero-slide { transition: none; }
}
.btn-primary {
  background: var(--clr-ink);
  color: white;
  font-size: var(--btn-font);
  font-weight: var(--btn-weight);
  letter-spacing: var(--btn-letter);
  padding: var(--btn-pad-y) var(--btn-pad-x);
  border-radius: var(--radius-s);
  text-decoration: none;
  display: inline-block;
  transition: background 0.2s;
  box-shadow: var(--btn-shadow);
}
.btn-primary:hover { background: var(--clr-ink-dark); color: white; }
.btn-ghost-lnk {
  color: rgba(255,255,255,0.9);
  font-size: 14px;
  font-weight: 700;
  border-bottom: 1px solid rgba(255,255,255,0.45);
  text-decoration: none;
}
.btn-ghost-lnk:hover { color: #fff; border-bottom-color: white; }

.trustbar { background: #fff; border-bottom: 1px solid #ece5d6; }
.trustbar .container { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding-top: 18px; padding-bottom: 18px; }
.tb-item { display: flex; align-items: center; gap: 13px; flex: 1; }
.tb-ico { color: var(--ink); display: inline-flex; flex: 0 0 auto; }
.tb-ico svg { width: 26px; height: 26px; }
.tb-txt { font-size: 13px; font-weight: 600; color: #5a5145; line-height: 1.3; }
.tb-txt b { display: block; font-family: var(--ff-title); font-weight: 700; color: var(--clr-text-dark); font-size: 13.5px; }
.tb-txt a { color: inherit; }
.tb-sep { width: 1px; align-self: stretch; background: #ece5d6; flex: 0 0 auto; }

.wine-card {
  position: relative;
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-m);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: white;
  transition: box-shadow 0.25s, transform 0.25s, border-color 0.25s, background-color 0.25s;
}
@media (hover: hover) { .cc-cardhover-bplus .wine-card:hover { background: #F8F4EA; border-color: #D8BE8A; } }
@media (hover: hover) { .cc-cardhover-lift  .wine-card:hover { box-shadow: 0 14px 34px rgba(36,26,18,0.14); transform: translateY(-4px); border-color: #d8cfbb; } }
.wine-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--wine-accent, var(--clr-or-text));
  z-index: 3;
}
.wine-card .cc-wine-card__actions {
  position: static;
  opacity: 1;
  pointer-events: auto;
  transform: none;
}
.wine-img {
  flex: 1 0 290px;
  min-height: 290px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  position: relative;
  overflow: hidden;
  padding-bottom: 6px;
  background: radial-gradient(78% 72% at 50% 40%, var(--c-bg-soft) 0%, var(--c-bg-soft) 76%, var(--c-bg-soft) 100%);
}
.wine-img a { display: flex; align-items: flex-end; justify-content: center; height: 100%; }
.wine-img img { max-height: 262px; max-width: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform .35s ease; }
@media (hover: hover) { .cc-cardhover-lift .wine-card:hover .wine-img img { transform: translateY(-2px) scale(1.015); } }
.wine-img::after {
  content: "";
  position: absolute;
  left: 30%;
  right: 8%;
  bottom: 8px;
  height: 20px;
  border-radius: 50%;
  background: radial-gradient(ellipse 60% 100% at 30% 50%, rgba(73,54,32,.20), rgba(73,54,32,0) 72%);
  transform: rotate(-7deg);
  transform-origin: left center;
  pointer-events: none;
}
.wine-badges { position: absolute; top: 8px; left: 8px; display: flex; flex-direction: column; gap: 4px; z-index: 1; }
.wc-rouge       { --wine-accent: #99042F; }
.wc-blanc       { --wine-accent: #FEDF5A; }
.wc-liquoreux   { --wine-accent: #FEDF5A; }
.wc-rose        { --wine-accent: #E86AA6; }
.wc-bulles      { --wine-accent: #FEDF5A; }
.wc-other       { --wine-accent: #A7A7A7; }
.wc-liquoreux .wc-dot, .wc-bulles .wc-dot,
.ap-dot.wc-liquoreux, .ap-dot.wc-bulles,
.couleur-dot[data-lettre], .chip-dot[data-lettre] { position: relative; }
.wc-liquoreux .wc-dot::after, .wc-bulles .wc-dot::after,
.ap-dot.wc-liquoreux::after, .ap-dot.wc-bulles::after,
.couleur-dot[data-lettre]::after, .chip-dot[data-lettre]::after {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  font: 700 8.5px/1 var(--ff-body); color: #000;
}
.wc-liquoreux .wc-dot::after, .ap-dot.wc-liquoreux::after { content: "L"; }
.wc-bulles .wc-dot::after, .ap-dot.wc-bulles::after         { content: "P"; }
.couleur-dot[data-lettre]::after { content: attr(data-lettre); font-size: 10px; }
.chip-dot[data-lettre]::after    { content: attr(data-lettre); font-size: 7.5px; }
.wine-color-emoji { font-size: 60px; }
.badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 9px;
  border-radius: 20px;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  border: 1px solid;
}
.badge-style-a .b-new   { background: var(--clr-bg-alt); color: var(--clr-or-text); border-color: rgba(184,138,62,.3); }
.badge-style-a .b-stock { background: var(--clr-ink); color: #fff; border-color: var(--clr-ink); }
.badge-style-a .b-coeur { background: #f5ede0; color: #7b4a12; border-color: rgba(180,120,40,.3); }
.ribbon-wrap { position: absolute; top: 0; left: 0; width: 82px; height: 82px; overflow: hidden; z-index: 2; pointer-events: none; }
.ribbon { position: absolute; top: 17px; left: -24px; width: 112px; padding: 4px 0; text-align: center; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; transform: rotate(-45deg); white-space: nowrap; }
.r-new   { background: var(--clr-bg-alt); color: var(--clr-or-text); border-top: 1px solid rgba(184,138,62,.25); border-bottom: 1px solid rgba(184,138,62,.25); }
.r-stock { background: var(--clr-ink); color: #fff; }
.r-coeur { background: #f0e4cc; color: #7b4a12; border-top: 1px solid rgba(180,120,40,.3); border-bottom: 1px solid rgba(180,120,40,.3); }
.wine-badges.badge-style-c { left: 0; }
.badge-style-c .badge { background: rgba(255,255,255,.88); border: none; border-radius: 0 var(--radius-s) var(--radius-s) 0; padding: 4px 10px 4px 8px; font-size: 9.5px; letter-spacing: .8px; gap: 7px; }
.badge-style-c .badge::before { content: ''; display: block; width: 3px; height: 14px; border-radius: var(--radius-s); flex-shrink: 0; }
.badge-style-c .b-new::before   { background: var(--clr-or); }
.badge-style-c .b-stock::before { background: var(--clr-or); }
.badge-style-c .b-coeur::before { background: #b07830; }
.badge-style-c .b-new   { color: var(--clr-or-text); }
.badge-style-c .b-stock { color: var(--clr-ink-dark); }
.badge-style-c .b-coeur { color: #7b4a12; }
.wine-body { padding: 9px 15px 11px; flex: 1; display: flex; flex-direction: column; }
.wine-appel   { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--clr-or-text); margin-bottom: 2px; }
.wine-cuvee   { font-family: var(--ff-title); font-size: 14.5px; font-weight: 600; color: var(--clr-text-dark); line-height: 1.25; min-height: 1.15em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wine-prod    { font-size: 12.5px; color: var(--clr-text); line-height: 1.3; }
.wine-year    { font-size: 11.5px; color: #888; margin-bottom: 6px; }
.wine-meta    { display: flex; flex-wrap: wrap; gap: 6px; margin: 1px 0 0; }
.wine-chip    { display: inline-flex; align-items: center; gap: 4px; font: 700 11px/1 var(--ff-body, Montserrat), Arial, sans-serif; padding: 4px 9px; border-radius: 999px; background: #f5f1ea; color: #6b5d49; }
.wine-chip--bio { color: #477455; background: #eef4ec; }
.wine-price-block { margin-top: auto; padding-top: 8px; border-top: 1px solid var(--c-line); }
.wine-price-lbl { font-size: 11px; color: #777; font-style: italic; }
.wine-price   { font-family: var(--ff-title); font-size: 22px; font-weight: 700; color: var(--clr-text-dark); }
.wine-stock-warn { font-size: 11.5px; font-weight: 700; color: var(--c-danger); display: flex; align-items: center; gap: 4px; margin-top: 4px; }
.btn-cart {
  width: 100%;
  box-sizing: border-box;
  line-height: 1;
  min-height: var(--btn-min-h);
  padding: var(--btn-pad-y) var(--btn-pad-x);
  background: var(--clr-ink);
  color: white;
  border: none;
  border-radius: 0 0 var(--radius-m) var(--radius-m);
  font-size: var(--btn-font);
  font-weight: var(--btn-weight);
  letter-spacing: var(--btn-letter);
  box-shadow: var(--btn-shadow);
  cursor: pointer;
  transition: background 0.2s, box-shadow 0.18s;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.btn-cart:hover { background: var(--clr-ink-dark); color: white; }


.vintage-stamp {
  position: absolute; top: 14px; left: 14px; z-index: 2;
  width: 54px; height: 54px; border-radius: 50%;
  background: #fffdf8; border: 1.5px solid var(--clr-or);
  box-shadow: 0 2px 6px rgba(0,0,0,.08);
  display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1;
}
.vintage-stamp .v-year { font-family: var(--ff-title); font-weight: 700; font-size: 20px; color: var(--clr-or-text); }

.img-badge {
  position: absolute; top: 16px; right: 14px; z-index: 2;
  display: inline-flex; align-items: center; gap: 4px;
  background: #eef5ea; color: #3a7d34; border: 1px solid #bcd9b3;
  font-size: 11px; font-weight: 700; letter-spacing: .3px;
  padding: 3px 10px; border-radius: 20px;
}

.wine-body { padding: 14px 16px 12px; flex: 0 0 auto; display: flex; flex-direction: column; }
.type-pill {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 11px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase;
  color: var(--clr-or-text); margin-bottom: 7px; align-self: flex-start;
}
.type-pill .dot {
  width: 9px; height: 9px; border-radius: 50%;
  background: var(--wine-accent, var(--clr-or-text));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--wine-accent, var(--clr-or-text)) 18%, transparent);
}
.wine-appel { font-family: var(--ff-title); font-size: 12.5px; font-weight: 600; text-transform: uppercase; letter-spacing: 1.2px; color: var(--clr-or-text); margin-bottom: 4px; }
.wine-cuvee { font-family: var(--ff-title); font-size: 16px; font-weight: 600; color: var(--clr-text-dark); line-height: 1.2; margin-bottom: 3px; white-space: normal; min-height: 1.2em; overflow: visible; }
.wine-prod  { font-size: 13px; color: var(--clr-text); line-height: 1.3; }

.price-row { margin-top: auto; padding-top: 14px; min-height: 54px; display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; }
.wine-price { font-family: var(--ff-title); font-weight: 700; font-size: 24px; color: var(--clr-text-dark); line-height: 1; }
.wine-price .prix_normal { font-size: 14px; font-weight: 600; color: #999; text-decoration: line-through; opacity: .65; margin-right: 2px; }
.seal-domaine {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 10.5px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase;
  color: #6e5410; background: #fbf3da; border: 1px solid #e3c873;
  padding: 4px 9px; border-radius: var(--radius-s); white-space: nowrap;
}
.seal-domaine svg { width: 11px; height: 11px; }
.stock-line { min-height: 22px; margin-top: 6px; font-size: 12px; font-weight: 700; color: var(--c-danger); display: flex; align-items: center; gap: 5px; }
.wine-card .stock-line[aria-hidden="true"] { visibility: hidden; }

.wine-card .card-foot { display: block; padding: 0 16px 16px; box-sizing: border-box; }
.wine-card .card-foot .cc-wine-card__qty { display: none; }

.wine-card .card-foot .cc-wine-card__cart-button {
  box-sizing: border-box;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; min-height: 0; grid-template-columns: none;
  padding: 12px 14px; border-radius: var(--radius-s);
  background: transparent; color: var(--clr-or-text);
  border: 1.6px solid var(--clr-or);
  font-family: var(--ff-title); font-size: 13.5px; font-weight: 600; letter-spacing: .3px; text-transform: none;
  transition: background .2s, color .2s, box-shadow .2s;
  box-shadow: none;
}
.wine-card .card-foot .cc-wine-card__cart-button:hover,
.wine-card .card-foot .cc-wine-card__cart-button:focus-visible {
  background: var(--clr-ink); color: #fff; box-shadow: 0 6px 16px rgba(184,138,62,.28);
}
.wine-card .card-foot .cc-wine-card__cart-button:active { transform: translateY(1px); }
.wine-card .card-foot .cc-wine-card__cart-icon { display: inline-flex; width: auto; height: auto; background: transparent; place-items: center; }
.wine-card .card-foot .cc-wine-card__cart-icon img { width: 17px; height: 17px; }
.wine-card .card-foot .cc-wine-card__cart-button:hover .cc-wine-card__cart-icon img,
.wine-card .card-foot .cc-wine-card__cart-button:focus-visible .cc-wine-card__cart-icon img,
.wine-card .card-foot .cc-wine-card__cart-button--success .cc-wine-card__cart-icon img { filter: brightness(0) invert(1); }
.wine-card .card-foot .cc-wine-card__cart-button span:last-child { padding: 0; white-space: nowrap; }
.wine-card .card-foot .cc-wine-card__cart-button--disabled {
  background: #f3eee6; color: #9a9a9a; border-color: #e0d9cb; cursor: not-allowed; box-shadow: none;
}

.wine-card .card-foot.foot-stepper { display: flex; gap: 10px; align-items: stretch; }
.wine-card .card-foot.foot-stepper .cc-wine-card__cart-button { flex: 1; padding: 12px 8px; }
.wine-card .card-foot.foot-stepper .cc-wine-card__cart-button span:last-child { font-size: 12.5px; }
.wine-card .card-foot.foot-stepper .cc-wine-card__cart-icon { display: none; }
.qty-stepper {
  display: inline-flex; align-items: center; flex-shrink: 0;
  border: 1.6px solid var(--clr-border); border-radius: var(--radius-s); overflow: hidden;
}
.qty-stepper button {
  width: 32px; border: none; background: #faf7ef; cursor: pointer;
  font-family: var(--ff-title); font-size: 18px; font-weight: 600; color: var(--clr-or-text);
  line-height: 1; transition: background .15s;
}
@media (hover: hover) { .qty-stepper button:hover { background: #f1ead8; } }
.qty-stepper .qty-val { width: 30px; text-align: center; font-family: var(--ff-title); font-weight: 600; font-size: 15px; color: var(--clr-text-dark); user-select: none; }

.section-products { padding: 52px 0; }
.section-products.bg-alt { background: var(--clr-bg-light); }
.section-header { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 2px solid var(--clr-or); margin-bottom: 28px; padding-bottom: 12px; }
.section-title   { font-family: var(--ff-title); font-size: 22px; font-weight: 700; color: var(--clr-text-dark); }
.section-see-all { font-size: 13px; font-weight: 700; color: var(--clr-or-text); text-decoration: none; }
.section-see-all:hover { text-decoration: underline; }
.section-title-wrap { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.sticker-script { display: inline-flex; align-items: center; gap: 6px; font-family: var(--ff-script); font-size: 22px; color: var(--clr-or-text); line-height: 1; flex-shrink: 0; position: relative; padding: 0 4px 2px; }
.sticker-script::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background: var(--clr-or); opacity: 0.4; }
.sticker-script .sticker-deco { width: 16px; height: 1px; background: var(--clr-or); display: inline-block; vertical-align: middle; opacity: 0.5; margin-bottom: 3px; }
.sticker-stamp { display: inline-flex; align-items: center; justify-content: center; background: transparent; color: var(--clr-or-text); border: 2px solid var(--clr-or); font-family: var(--ff-body); font-size: 9px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; padding: 5px 10px; clip-path: polygon(6px 0%, calc(100% - 6px) 0%, 100% 6px, 100% calc(100% - 6px), calc(100% - 6px) 100%, 6px 100%, 0% calc(100% - 6px), 0% 6px); line-height: 1; flex-shrink: 0; }
.wines-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }

.vignerons-section { padding: 44px 0; border-top: 1px solid var(--clr-bg-grey); border-bottom: 1px solid var(--clr-bg-grey); overflow: hidden; }
.vg-outer { position: relative; max-width: var(--max-width); margin: auto; padding: 0 24px; }
.vg-track-wrap { overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; }
.vg-track-wrap::-webkit-scrollbar { display: none; }
.vg-track { display: flex; gap: 20px; width: max-content; padding: 6px 2px 12px; }
.vg { position: relative; flex: 0 0 270px; height: 330px; border-radius: var(--radius-m); overflow: hidden; box-shadow: 0 5px 18px rgba(0,0,0,0.14); text-decoration: none; display: block; scroll-snap-align: start; }
.vg-img { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform 0.4s; }
@media (hover: hover) { .vg:hover .vg-img { transform: scale(1.05); } }
.vg-ov { position: absolute; inset: 0; background: linear-gradient(to top, rgba(15,4,6,0.92) 0%, rgba(15,4,6,0.35) 50%, rgba(15,4,6,0.05) 80%); }
.vg-txt { position: absolute; left: 0; right: 0; bottom: 0; padding: 16px 18px 18px; z-index: 3; color: #fff; display: block; }
.vg-name { display: block; font-family: var(--ff-title); font-weight: 800; font-size: 19px; line-height: 1.12; color: #fff; }
.vg-app { display: block; font-size: 11px; color: var(--c-star); text-transform: uppercase; letter-spacing: 0.8px; margin-top: 5px; font-weight: 600; }
.vg-quote { display: block; font-size: 12.5px; font-style: italic; color: #f0e6d6; margin-top: 8px; line-height: 1.4; }
.vg-cuv { display: inline-flex; align-items: center; font-size: 11.5px; color: #fff; margin-top: 9px; background: rgba(255,255,255,0.14); padding: 3px 9px; border-radius: 20px; }
.vg-bio { position: absolute; top: 12px; left: 12px; background: rgba(255,255,255,0.95); padding: 4px; border-radius: var(--radius-s); z-index: 4; line-height: 0; box-shadow: 0 2px 6px rgba(0,0,0,0.22); }
.vg-bio img { display: block; height: 34px; width: auto; border-radius: var(--radius-s); }
.vg-arrow { width: 42px; height: 42px; border-radius: 50%; background: rgba(255,255,255,0.95); box-shadow: 0 2px 10px rgba(0,0,0,0.18); border: none; cursor: pointer; font-size: 20px; color: var(--clr-or-text); display: flex; align-items: center; justify-content: center; z-index: 5; }
.vg-arrow.vg-prev, .vg-arrow.vg-next { position: absolute; top: 50%; transform: translateY(-50%); opacity: 0; transition: opacity 0.25s; }
.vg-arrow.vg-prev { left: 10px; }
.vg-arrow.vg-next { right: 10px; }
.vignerons-section:hover .vg-arrow { opacity: 1; }
.vignerons-section .vg-arrow.is-edge { opacity: 0; pointer-events: none; }
.vg-ctrl { }
.vg-dots { display: none; }
.vg-dot { width: 7px; height: 7px; border-radius: 50%; background: #d8cdb6; padding: 0; }
.vg-dot.on { background: var(--clr-or); width: 18px; border-radius: 4px; }
.vg-more-veil { position: absolute; inset: 0; z-index: 2; background: linear-gradient(180deg, rgba(252,249,244,0.46) 0%, rgba(252,249,244,0.74) 55%, rgba(252,249,244,0.9) 100%); }
.vg-more-in { position: absolute; inset: 0; z-index: 3; box-sizing: border-box; padding: 26px 22px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: var(--clr-or-text); }
.vg-more-k { font-size: 11px; text-transform: uppercase; letter-spacing: 2.5px; font-weight: 700; color: #9a7320; }
.vg-more-num { font-family: var(--ff-title); font-weight: 700; font-size: 44px; line-height: 1; margin: 5px 0 3px; color: var(--clr-or-text); }
.vg-more-lbl { font-size: 12.5px; color: #5c4330; }
.vg-more-circ { margin-top: 18px; width: 38px; height: 38px; border-radius: 50%; border: 1.5px solid rgba(184,138,62,0.75); display: flex; align-items: center; justify-content: center; color: var(--clr-or); transition: transform 0.2s, background 0.2s, color 0.2s; }
@media (hover: hover) { .vg:hover .vg-more-circ { transform: translateX(3px); background: var(--clr-ink); color: #fff; } }
@media (hover: none) { .vg-arrow.vg-prev, .vg-arrow.vg-next { opacity: 1; } }
@media (max-width: 768px) {
  .vg-outer { padding: 0; }
  .vg-track { gap: 14px; padding-left: 16px; padding-right: 16px; }
  .vg { flex-basis: 78vw; max-width: 300px; height: 300px; }
  .vg-arrow.vg-prev, .vg-arrow.vg-next { position: static; transform: none; opacity: 1; width: 44px; height: 44px; }
  .vg-ctrl { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 14px; }
  .vg-dots { display: flex; gap: 6px; }
}

.section-guides { padding: 56px 0; }
.guides-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 32px; }
.guide-card {
  position: relative;
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-m);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.2s, transform 0.2s;
}
@media (hover: hover) { .guide-card:hover { box-shadow: 0 6px 20px rgba(0,0,0,0.10); transform: translateY(-3px); } }
.guide-card .guide-link::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.guide-card:hover { cursor: pointer; }
.guide-img { height: 160px; background-size: cover; background-position: center; background-color: var(--clr-bg-grey); }
.guide-body { padding: 20px; flex: 1; display: flex; flex-direction: column; gap: 8px; }
.guide-tag  { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.8px; padding: 3px 8px; border-radius: 20px; width: fit-content; background: #ece7e1; color: #5a5048; }
.guide-tag-guides      { background: color-mix(in srgb, var(--clr-or) 10%, #fff); color: var(--clr-or-text); }
.guide-tag-offrir      { background: #fdf1d6; color: #7b580a; }
.guide-tag-degustation { background: #ece1f0; color: #5a2a6e; }
.guide-tag-carnet      { background: #e8eed6; color: #4a5a18; }
.guide-tag-arrivages   { background: #d5f2d5; color: #186018; }
.guide-tag-autre       { background: #ece7e1; color: #5a5048; }
.guide-title   { font-family: var(--ff-title); font-size: 15px; font-weight: 700; color: var(--clr-text-dark); line-height: 1.35; }
.guide-excerpt { font-size: 13px; color: var(--clr-text); line-height: 1.55; margin: 0; }
.guide-link    { font-size: 13px; font-weight: 700; color: var(--clr-or-text); text-decoration: none; display: inline-flex; align-items: center; gap: 4px; margin-top: auto; }

.guide-title, .guide-link { transition: color 0.2s; }
.guide-card:focus-within .guide-title { color: var(--c-accent-text); }
.guide-card:focus-within .guide-link { color: var(--c-accent-text); }
@media (hover: hover) {
	.guide-card:hover .guide-link { color: var(--c-accent-text); }
}
.guide-card:focus-within { box-shadow: 0 6px 20px rgba(0,0,0,0.10); transform: translateY(-3px); }

.newsletter {
  background: var(--clr-bg-light);
  border-top: 1px solid var(--c-border-struct);
  border-bottom: 1px solid var(--c-border-struct);
  padding: 36px 0;
}
.newsletter .container { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.nl-text h3 { font-family: var(--ff-title); font-size: 17px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 4px; }
.nl-text p  { font-size: 13px; color: var(--clr-text); margin: 0; }
.nl-form { position: relative; }
.nl-form form { display: flex; gap: 10px; align-items: center; }
.nl-input {
  padding: 10px 16px;
  border: 1.5px solid var(--clr-border);
  border-radius: var(--radius-s);
  min-width: 260px;
  font-size: 14px;
}
.nl-input:focus { border-color: var(--clr-or); outline: none; }
.nl-msg { position: absolute; top: 100%; left: 0; font-size: 13px; margin-top: 8px;
  display: inline-flex; align-items: flex-start; gap: 6px; font-weight: 600; }
.nl-msg:empty { display: none; }
.nl-msg::before { content: ""; flex: 0 0 auto; width: 15px; height: 15px; margin-top: 1px;
  background: center/contain no-repeat; display: none; }
.nl-msg.is-ok    { color: var(--clr-or-text); }
.nl-msg.is-error { color: var(--fb-no-tx); }
.nl-msg.is-ok::before    { display: block; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a6224' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7'/%3E%3C/svg%3E"); }
.nl-msg.is-error::before { display: block; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A33327' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.6v5.2'/%3E%3Cpath d='M12 16.4v.05'/%3E%3C/svg%3E"); }
.nl-manage{margin-top:10px;font-size:12px;line-height:1.4}
.nl-manage a{color:var(--or-text);text-decoration:none;border-bottom:1px solid transparent}
.nl-manage a:hover,.nl-manage a:focus-visible{border-bottom-color:var(--or-text)}
.btn-nl {
  display: inline-flex; align-items: center; justify-content: center;
  box-sizing: border-box; line-height: 1;
  background: var(--clr-ink);
  color: white;
  min-height: var(--btn-min-h);
  padding: var(--btn-pad-y) var(--btn-pad-x);
  border-radius: var(--radius-s);
  font-size: var(--btn-font);
  font-weight: var(--btn-weight);
  letter-spacing: var(--btn-letter);
  border: none;
  cursor: pointer;
  transition: background 0.2s, box-shadow 0.18s;
  white-space: nowrap;
  box-shadow: var(--btn-shadow);
}
.btn-nl:hover { background: var(--clr-ink-dark); }

.footer-dark {
  background: #2a2a2a;
  color: rgba(255,255,255,0.7);
  padding: 44px 0 20px;
}
.footer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 36px; margin-bottom: 36px; }
.footer-dark .fc h4 {
  font-family: var(--ff-title);
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: white;
  border-bottom: 1px solid rgba(255,255,255,0.12);
  padding-bottom: 10px;
  margin: 0 0 14px;
}
.footer-dark .fc a, .footer-dark .fc p  { font-size: 13px; color: rgba(255,255,255,0.62); display: block; margin-bottom: 6px; line-height: 1.5; text-decoration: none; }
.footer-dark .fc p         { margin: 0 0 6px; }
.footer-social { display: flex; gap: 14px; font-size: 22px; margin-top: 6px; }
.footer-social a { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.1);
  padding-top: 16px;
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: rgba(255,255,255,0.55);
  flex-wrap: wrap;
  gap: 8px;
}
.footer-bottom a { color: rgba(255,255,255,0.7); text-decoration: none; }

@media (max-width: 1024px) {
  .wines-grid  { grid-template-columns: repeat(2, 1fr); }
  .guides-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}

@media (max-width: 768px) {
  .hero {
    height: auto; aspect-ratio: auto; min-height: 0; max-height: none;
    display: flex; flex-direction: column; align-items: stretch;
    padding-bottom: 0;
  }
  .hero-slides { position: relative; inset: auto; width: 100%; aspect-ratio: 1.5 / 1; }
  .hero::after { display: none; }
  .hero > .hero-container { display: block; padding: 0; max-width: 100%; }
  .hero-content {
    position: static; max-width: 100%; display: block;
    background: var(--c-page);
    padding: 26px 24px 30px;
  }
  .hero-kicker { color: var(--c-accent-text); }
  .hero-content h1 { font-size: 30px; color: var(--c-ink); text-shadow: none; position: relative; padding-bottom: 14px; }
  .hero-content h1::after { content: ''; position: absolute; left: 0; bottom: 0; width: 56px; height: 3px; background: var(--c-accent); border-radius: var(--radius-s); }
  .hero-sub { color: var(--c-text); }
  .btn-ghost-lnk { color: var(--c-accent-text); border-bottom-color: var(--c-accent-text); }
  .hero-ctas { flex-direction: column; align-items: stretch; gap: 12px; }
  .hero-ctas .btn-ghost-lnk,
  .hero-ctas .btn-ghost-lnk:hover { color: var(--c-ink); border-color: var(--c-ink); background-color: transparent; }
  .hero-ctas .btn-primary,
  .hero-ctas .btn-primary:hover { background: var(--clr-ink); color: var(--clr-white); box-shadow: var(--btn-shadow); }
  .hero-content .hero-sub { color: var(--c-text); text-shadow: none; font-size: 16px; }
  .hero-kicker { font-size: 11.5px; }
  .hero-ctrl { bottom: 8px; }

  .trustbar .container { flex-wrap: wrap; }
  .tb-sep { display: none; }
  .tb-item { flex: 0 0 46%; }

  .wines-grid { grid-template-columns: repeat(2, 1fr); }

  .guides-grid { grid-template-columns: 1fr; }

  .newsletter .container { flex-direction: column; text-align: center; }
  .nl-input { width: 100%; min-width: 0; box-sizing: border-box; }
  .nl-form form { flex-direction: column; width: 100%; }
  .nl-form { width: 100%; }
  .nl-msg { position: static; margin-top: 8px; }

  .footer-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }

  .ht-center { display: none; }
  .header-top .container { flex-direction: column; gap: 4px; }
}

@media (max-width: 480px) {
  .wines-grid  { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
}


.cc-cat { font-family: var(--ff-body); color: var(--clr-text); }
.cc-cat *, .cc-cat *::before, .cc-cat *::after { box-sizing: border-box; }
.cc-cat .cc-container { max-width: var(--max-width); margin: 0 auto; padding: 0 24px; }

.cc-cat-title { background: var(--clr-bg-light); border-bottom: 1px solid var(--c-border-struct); padding: 16px 0; line-height: 1.3; }
.cc-cat-title h1 { font-family: var(--ff-title); font-size: 20px; font-weight: 700; line-height: 1.25; color: var(--clr-text-dark); margin: 0; padding: 0; }
.cc-cat-title__facette { color: var(--clr-text-dark); font-weight: 400; }
.cc-cat-title__dot { color: var(--c-accent); }
.cc-cat-title p { font-size: 13px; line-height: 1.4; color: var(--clr-text); margin: 3px 0 0; }

.cc-cat-title { --cc-edito-col: 880px; }
.cc-cat-title .cc-cat-desc-wrap { margin-top: 8px; max-width: var(--cc-edito-col); }
.cc-cat-title .cc-cat-desc {
  position: relative;
  font-size: 14px;
  line-height: 1.55;
  color: var(--clr-text);
  overflow: hidden;
  transition: max-height .22s ease;
}
.cc-cat-title .cc-cat-desc p { margin: 0 0 9px; padding: 0; }
.cc-cat-title .cc-cat-desc p:last-child { margin-bottom: 0; }
.cc-cat-title .cc-cat-desc p[style] { margin-bottom: 9px !important; }
.cc-cat-title .cc-cat-desc a { color: var(--clr-or-text); text-decoration: underline; }
.cc-cat-title .cc-cat-desc ul,
.cc-cat-title .cc-cat-desc ol { margin: 0 0 9px 20px; padding: 0; }
.cc-cat-title .cc-cat-desc strong,
.cc-cat-title .cc-cat-desc b { color: var(--clr-text-dark); font-weight: 700; }
.cc-cat-title .cc-cat-desc.is-collapsed { max-height: 110px; padding-bottom: 16px; }
.cc-cat-title .cc-cat-desc.is-collapsed::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 38px;
  background: linear-gradient(180deg, rgba(249,245,234,0) 0%, rgba(249,245,234,.88) 55%, var(--clr-bg-light) 100%);
  pointer-events: none;
}
.cc-cat-title .cc-cat-desc.is-expanded { max-height: 9999px; padding-bottom: 0; }
.cc-cat-title .cc-cat-desc-toggle {
  margin-top: 6px;
  display: inline-flex; align-items: center; gap: 5px;
  background: none; border: none; padding: 0;
  font-family: var(--ff-body); font-size: 13px; font-weight: 600;
  color: var(--clr-or-text); cursor: pointer;
}
.cc-cat-title .cc-cat-desc-toggle[hidden] { display: none; }
@media (hover: hover) {
  .cc-cat-title .cc-cat-desc-toggle:hover .cc-cat-desc-toggle__label {
    text-decoration: underline; text-underline-offset: 3px;
  }
}
.cc-cat-title .cc-cat-desc-toggle:focus-visible {
  outline: 2px solid var(--c-ink); outline-offset: 2px; border-radius: var(--radius-s);
}
@media (max-width: 640px) {
  .cc-cat-title .cc-cat-desc { font-size: 13.5px; }
  .cc-cat-title .cc-cat-desc.is-collapsed { max-height: 88px; }
}

.cc-cat-title .cc-edito-acc { margin-top: 14px; font-size: 14px; max-width: var(--cc-edito-col); }
.cc-cat-title .cc-edito-acc__grp + .cc-edito-acc__grp { margin-top: 2px; }

.cc-cat-title .cc-edito-acc__h {
  margin: 0; padding: 0;
  font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit;
}

.cc-cat-title .cc-edito-acc__btn {
  display: flex; align-items: center; justify-content: flex-start; gap: 8px;
  width: auto; min-height: 44px;
  padding: 12px 2px;
  background: none; border: 0; border-radius: 0;
  font-family: var(--ff-body); font-size: 14px; font-weight: 700; line-height: 1.3;
  color: var(--c-text-strong); text-align: left; cursor: pointer;
}
.cc-cat-title .cc-edito-acc__chev {
  flex: none; color: var(--c-accent-text); transition: transform .2s ease;
}
.cc-cat-title .cc-edito-acc__btn[aria-expanded="true"] .cc-edito-acc__chev { transform: rotate(180deg); }
.cc-cat-title .cc-edito-acc__btn:focus-visible {
  outline: 2px solid var(--c-ink); outline-offset: 2px; border-radius: var(--radius-s);
}

.cc-cat-title .cc-edito-acc__sec {
  max-height: 0; overflow: hidden;
  transition: max-height .24s ease;
  font-size: 14px; line-height: 1.55; color: var(--c-text);
}
.cc-cat-title .cc-edito-acc__sec.is-open { max-height: 1600px; }
.cc-cat-title .cc-edito-acc__pad { padding: 0 2px 16px; }
.cc-cat-title .cc-edito-acc__sec p { margin: 0 0 9px; padding: 0; }
.cc-cat-title .cc-edito-acc__sec p:last-child { margin-bottom: 0; }
.cc-cat-title .cc-edito-acc__sec p[style] { margin-bottom: 9px !important; }
.cc-cat-title .cc-edito-acc__sec a { color: var(--c-accent-text); text-decoration: underline; }
.cc-cat-title .cc-edito-acc__sec ul,
.cc-cat-title .cc-edito-acc__sec ol { margin: 0 0 9px 20px; padding: 0; }
.cc-cat-title .cc-edito-acc__sec strong,
.cc-cat-title .cc-edito-acc__sec b { color: var(--c-text-strong); font-weight: 700; }

@media (max-width: 640px) {
  .cc-cat-title .cc-edito-acc__sec { font-size: 13.5px; }
}

.cc-cat-title .cc-guide-encart {
  display: flex; align-items: center; gap: 12px; margin: 16px 0 8px;
  color: var(--c-text); text-decoration: none; max-width: 66ch;
}
.cc-cat-title .cc-guide-encart img {
  flex: 0 0 auto; width: 40px; height: 40px; object-fit: cover; border-radius: 50%;
}
.cc-cat-title .cc-guide-encart__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cc-cat-title .cc-guide-encart__k { font-size: 12.5px; color: var(--c-text); opacity: .8; }
.cc-cat-title .cc-guide-encart__t {
  font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--c-text-strong);
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px;
}
.cc-cat-title .cc-guide-encart:focus-visible { outline: 2px solid var(--c-ink); outline-offset: 4px; border-radius: var(--radius-s); }
@media (hover: hover) and (pointer: fine) {
  .cc-cat-title .cc-guide-encart__t { text-decoration-color: transparent; transition: text-decoration-color .15s ease; }
  .cc-cat-title .cc-guide-encart:hover .cc-guide-encart__t,
  .cc-cat-title .cc-guide-encart:focus-visible .cc-guide-encart__t { text-decoration-color: currentColor; }
}

.cc-breadcrumb {
	list-style: none;
	margin: 0 0 6px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 8px;
	font-family: 'Montserrat', sans-serif;
	font-size: 12.5px;
	line-height: 1.4;
	color: var(--clr-mute);
}
.cc-breadcrumb li { display: inline-flex; align-items: center; }
.cc-breadcrumb li + li::before {
	content: "\203A";
	color: #b0a99e;
	margin: 0 8px 0 0;
}
.cc-breadcrumb a { color: var(--clr-mute); text-decoration: none; display: inline-flex; align-items: center; }
.cc-breadcrumb li[aria-current="page"] { color: #2a2a2a; }
.cc-breadcrumb li[aria-current="page"] b { font-weight: 600; }
.cc-breadcrumb svg { display: none; }

@media (max-width: 768px) {
	.cc-breadcrumb {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.cc-breadcrumb::-webkit-scrollbar { display: none; }
	.cc-breadcrumb li[aria-current="page"] { display: none; }
	.cc-breadcrumb li a,
	.cc-breadcrumb li b { white-space: nowrap; }
}

.cc-retour-resultats { margin: 6px 0 2px; }
.cc-retour-resultats__lien {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 600; color: var(--clr-text);
  text-decoration: none; padding: 4px 0; min-height: 32px;
}
.cc-retour-resultats__lien:hover .cc-retour-resultats__txt { text-decoration: underline; }
.cc-retour-resultats__chev { color: var(--c-star); font-size: 15px; line-height: 1; }

@media (max-width: 768px) {
  .cc-retour-resultats__lien { min-height: 44px; }
}

.cc-subrayons { background: var(--clr-bg-light); border-bottom: 1px solid var(--c-border-struct); padding: 8px 0; }
.cc-subrayons__row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; }
.cc-subrayons__label { font-size: 12px; font-weight: 600; color: var(--clr-text); margin-right: 2px; }
.cc-subrayons__item { font-size: 13px; color: var(--clr-or-text); text-decoration: none; white-space: nowrap; }
.cc-subrayons__item:hover { color: var(--clr-or-text); text-decoration: none; }
@media (max-width: 768px) {
  .cc-subrayons__row { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .cc-subrayons__item { padding: 2px 0; }
}

.cc-filtres-bar { background:#fff; border-bottom:1px solid var(--clr-border); padding:12px 0; position:sticky; top:0; z-index:500; box-shadow:0 2px 8px rgba(0,0,0,.06); }
.cc-filtres-bar #filtres-panel.is-barre { padding:0; }
.cc-filtres-row { display:flex; align-items:center; gap:8px; overflow-x:auto; padding-bottom:2px; }

.cc-hscroll { position:relative; }

body.cc-filtrescolor-or    { --cc-hscroll-thumb: var(--c-accent); }
body.cc-filtrescolor-encre { --cc-hscroll-thumb: var(--clr-ink); }

body.cc-filtrescroll-ombres .cc-hscroll__row,
body.cc-filtrescroll-barre  .cc-hscroll__row { scrollbar-width:none; }
body.cc-filtrescroll-ombres .cc-hscroll__row::-webkit-scrollbar,
body.cc-filtrescroll-barre  .cc-hscroll__row::-webkit-scrollbar { display:none; }

body.cc-filtrescroll-native .cc-hscroll.has-overflow > .cc-hscroll__row { padding-bottom:9px; }
body.cc-filtrescroll-native .cc-hscroll__row { scrollbar-color: var(--cc-hscroll-thumb) var(--c-line); }

body.cc-filtrescroll-ombres .cc-hscroll::before,
body.cc-filtrescroll-ombres .cc-hscroll::after {
  content:""; position:absolute; top:0; bottom:0; width:26px; pointer-events:none;
  z-index:2; opacity:0; transition:opacity .15s ease;
}
body.cc-filtrescroll-ombres .cc-hscroll::before { left:0;  background:linear-gradient(to right, rgba(0,0,0,.18), rgba(0,0,0,0)); }
body.cc-filtrescroll-ombres .cc-hscroll::after  { right:0; background:linear-gradient(to left,  rgba(0,0,0,.18), rgba(0,0,0,0)); }
body.cc-filtrescroll-ombres .cc-hscroll.has-more-left::before  { opacity:1; }
body.cc-filtrescroll-ombres .cc-hscroll.has-more-right::after  { opacity:1; }

.cc-hscroll-rail { display:none; }
body.cc-filtrescroll-barre .cc-hscroll.has-overflow .cc-hscroll-rail {
  display:block; position:relative; height:3px; margin-top:7px;
  background:var(--c-line); border-radius:3px; pointer-events:none;
}
.cc-hscroll-rail__thumb {
  position:absolute; top:0; left:0; height:100%; width:0;
  background:var(--cc-hscroll-thumb, var(--c-accent)); border-radius:inherit;
}

.cc-facettes { position:relative; margin-top:14px; }
.cc-facettes__row {
  display:flex; align-items:flex-end; gap:6px;
  flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  border-bottom:1px solid var(--clr-or);
}
.cc-facettes__row::-webkit-scrollbar { display:none; }
.cc-pill-lien {
  display:inline-flex; align-items:flex-end; flex:none;
  padding:7px 8px 10px;
  font-family:var(--ff-body); font-size:14px; font-weight:600; line-height:1;
  color:var(--c-text); white-space:nowrap;
}
a.cc-pill-lien { text-decoration:none; }
@media (hover: hover) { a.cc-pill-lien:hover { color:var(--c-accent-text); } }
span.cc-pill-lien[aria-current] {
  font-size:22px; font-weight:700; color:var(--c-accent-text);
  padding:0 6px 7px; cursor:default;
}
.cc-facettes__exit {
  font-family:var(--ff-body); font-size:11px; font-weight:700; line-height:1;
  letter-spacing:1.2px; text-transform:uppercase;
  color:var(--c-accent-text); text-decoration:none; white-space:nowrap;
}
@media (hover: hover) { .cc-facettes__exit:hover { text-decoration:underline; } }
.cc-facettes__exit--row   { flex:none; margin-left:auto; align-self:flex-end; padding:7px 2px 11px; }
.cc-facettes__exit--under { display:none; }
.cc-facettes::before, .cc-facettes::after {
  content:""; position:absolute; top:0; bottom:1px; width:42px;
  pointer-events:none; z-index:2; opacity:0; transition:opacity .15s ease;
}
.cc-facettes::before { left:0;  background:linear-gradient(to right, var(--clr-bg-light), rgba(249,245,234,0)); }
.cc-facettes::after  { right:0; background:linear-gradient(to left,  var(--clr-bg-light), rgba(249,245,234,0)); }
.cc-facettes.has-more-left::before  { opacity:1; }
.cc-facettes.has-more-right::after  { opacity:1; }
@media (max-width: 768px) {
  .cc-facettes__exit--row   { display:none; }
  .cc-facettes__exit--under { display:inline-block; margin-top:8px; padding:4px 2px; }
}

.cc-tri-area { display:flex; align-items:center; gap:8px; margin-left:auto; flex-shrink:0; padding-left:12px; border-left:1px solid var(--clr-border); }
.cc-tri-area label, .cc-tri-area .cc-tri-label { font-size:12px; color:var(--clr-text); white-space:nowrap; }
.cc-tri-area form#trier { margin:0; display:flex; align-items:center; gap:8px; font-size:12px; color:var(--clr-text); }
.cc-tri-area select#tri { border:1.5px solid var(--clr-border); border-radius:20px; background:#fff; font-family:var(--ff-body); font-size:13px; font-weight:600; color:var(--clr-text-dark); padding:7px 13px; cursor:pointer; }

.cc-pill-wrap { position:relative; flex-shrink:0; }
.cc-pill { display:inline-flex; align-items:center; gap:6px; padding:7px 13px; border:1.5px solid var(--clr-border); border-radius:20px; background:#fff; font-family:var(--ff-body); font-size:13px; font-weight:600; color:var(--clr-text-dark); cursor:pointer; transition:border-color .15s, background .15s, color .15s; white-space:nowrap; user-select:none; }
@media (hover: hover) { .cc-pill:hover { border-color:#888; } }
.cc-pill.is-open { border-color:var(--clr-text-dark); border-width:2px; }
.cc-pill.has-value { border-color:var(--c-ink); background:#fff; color:var(--c-ink); }
@media (hover: hover) { .cc-pill.has-value:hover { background:#fff; border-color:var(--c-ink-hover); } }
.cc-pill-chevron { font-size:9px; transition:transform .2s; opacity:.7; }
.cc-pill.is-open .cc-pill-chevron { transform:rotate(180deg); }
.cc-pill-count { background:var(--clr-ink); color:#fff; border-radius:10px; padding:0 5px; font-size:11px; font-weight:700; }
.cc-pill.has-value .cc-pill-count { background:none; color:inherit; border-radius:0; padding:0; margin-left:-3px; font-size:inherit; font-weight:inherit; }
.cc-pill.has-value .cc-pill-count::before { content:"("; }
.cc-pill.has-value .cc-pill-count::after { content:")"; }
.cc-pill.is-disabled { opacity:.42; cursor:default; border-color:var(--clr-border); background:#fff; color:var(--clr-text-dark); }
@media (hover: hover) { .cc-pill.is-disabled:hover { border-color:var(--clr-border); } }
.cc-pill.is-disabled .cc-pill-chevron { opacity:.35; }

.cc-dd { position:fixed; top:0; left:0; min-width:230px; background:#fff; border:1px solid #ddd; border-radius:var(--radius-m); box-shadow:0 6px 24px rgba(0,0,0,.13),0 2px 6px rgba(0,0,0,.07); z-index:600; display:none; padding:12px 14px; max-height:360px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.cc-dd.is-open { display:block; animation:ccddIn .15s ease; }
.cc-dd.wide { min-width:300px; }
#cc-dd-couleur { min-width:0; width:max-content; }
@media (min-width:769px) {
  #cc-dd-mil { min-width: 0; width: 160px; }
}
@keyframes ccddIn { from{opacity:0; transform:translateY(-4px);} to{opacity:1; transform:translateY(0);} }
@media (max-width:768px) {
  .cc-dd, .cc-dd.wide { min-width:0; width:max-content; max-width:calc(100vw - 16px);
    box-sizing:border-box;
    max-height:62vh; padding:14px 16px;
    box-shadow:0 12px 32px rgba(0,0,0,.22),0 2px 8px rgba(0,0,0,.12); }

  #cc-dd-sel { max-width:214px; }
  #cc-dd-sel .check-item__label { flex:1 1 auto; min-width:0;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  #cc-dd-sel .check-item__count { flex:0 0 auto; margin-left:8px; }
}
.cc-dd .filtre-groupe__body { display:block; padding:0; }
.cc-dd .filtres-voir-plus { margin-top:8px; }

.cc-dd-search { display: flex; align-items: center; gap: 6px; margin: 11px 0 6px;
  border: 0; border-bottom: 1.5px solid var(--clr-ink); transition: border-bottom-width .15s; }
.cc-dd-search:focus-within { border-bottom-width: 2px; }
.cc-dd-search__ico { width: 16px; height: 16px; color: var(--clr-ink); flex-shrink: 0; margin-bottom: 7px; }
.cc-dd-search__input { flex: 1 1 auto; min-width: 0; border: 0; outline: none; background: transparent;
  padding: 0 2px 7px; font: 400 13.5px/1.2 Montserrat, Arial, sans-serif; color: var(--clr-text); }
.cc-dd-search__input::placeholder { color: #9a8e78; }
.cc-dd-search.is-hidden { display: none; }

.check-item.is-hidden { display: none; }

.cc-dd-noresult { padding: 14px 12px; text-align: center; color: var(--clr-count);
  font-size: 12.5px; font-style: italic; }

.cc-tri-native { position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

.cc-tri-line { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.cc-tri-line #filtres-count-wrap, .cc-tri-line .cc-results-count { margin-bottom:0; }
.cc-tri-control { position:relative; margin-left:auto; flex:0 0 auto; }

.cc-tri-trigger { display:inline-flex; align-items:center; gap:6px; background:none; border:none;
  font-family:var(--ff-body); font-size:13.5px; color:var(--clr-text); cursor:pointer; padding:4px 2px; }
.cc-tri-trigger__ico { color:var(--clr-or); display:inline-flex; }
.cc-tri-trigger__lead { color:#8a8378; }
.cc-tri-trigger__value { font-weight:700; color:var(--clr-ink-dark);
  border-bottom:1.5px solid var(--clr-or); padding-bottom:1px; }
.cc-tri-trigger__chev { color:var(--clr-or); display:inline-flex; transition:transform .18s ease; }
.cc-tri-trigger[aria-expanded="true"] .cc-tri-trigger__chev { transform:rotate(180deg); }

.cc-tri-panel { position:absolute; top:calc(100% + 8px); right:0; z-index:430; min-width:248px;
  background:#fff; border:1px solid var(--clr-or); border-top:3px solid var(--clr-or);
  box-shadow:0 10px 30px rgba(0,0,0,.12); padding:0; display:none;
  flex-direction:column; max-height:min(70vh,560px); }
.cc-tri-panel.is-open { display:flex; }
.cc-tri-panel__head { display:flex; align-items:center; padding:9px 16px; border-bottom:1px solid #f1ede4; flex:0 0 auto; }
.cc-tri-panel__title { font-family:var(--ff-title); font-size:13px; font-weight:600; letter-spacing:.4px;
  text-transform:uppercase; color:var(--clr-text-dark); }
.cc-tri-panel__close { margin-left:auto; background:none; border:none; color:#b0a78f; cursor:pointer; display:none; padding:0; }
.cc-tri-panel__list { display:flex; flex-direction:column; flex:1 1 auto; overflow-y:auto; }
.cc-tri-panel.is-scrollable .cc-tri-panel__list {
  -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 26px), transparent);
          mask-image: linear-gradient(to bottom, #000 calc(100% - 26px), transparent);
}

.cc-tri-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 16px; }
.cc-tri-row + .cc-tri-row { border-top:1px solid #f4efe3; }
.cc-tri-row__name { font-family:var(--ff-body); font-weight:600; font-size:13.5px; color:var(--clr-text-dark); }
.cc-tri-row:has(.cc-tri-opt.is-active) .cc-tri-row__name { color:var(--clr-ink-dark); font-weight:700; }
.cc-tri-seg { display:inline-flex; flex:0 0 auto; border:1px solid var(--clr-border); }
.cc-tri-opt { font-family:var(--ff-body); font-weight:600; font-size:11.5px; line-height:1; color:var(--clr-text-dark);
  background:#fff; border:none; padding:6px 11px; cursor:pointer; white-space:nowrap; }
.cc-tri-opt + .cc-tri-opt { border-left:1px solid var(--clr-border); }
@media (hover: hover) { .cc-tri-opt:hover { background:var(--clr-bg-light); } }
.cc-tri-opt.is-active, .cc-tri-opt.is-active:hover { background:var(--clr-ink); color:#fff; }

.cc-haut-fab { position:fixed; right:18px; bottom:84px; z-index:470; width:54px; height:54px;
  border-radius:50%; border:none; background:var(--clr-ink); box-shadow:0 4px 14px rgba(0,0,0,.22);
  display:flex; align-items:center; justify-content:center; cursor:pointer; padding:0;
  opacity:0; transform:translateY(14px); pointer-events:none;
  transition:opacity .25s ease, transform .25s ease; }
.cc-haut-fab:hover { background:var(--clr-ink-dark); }
.cc-haut-fab.is-visible { opacity:1; transform:none; pointer-events:auto; }
.cc-haut-fab__ico { color:#fff; display:inline-flex; }

.cc-tri-overlay { position:fixed; inset:0; background:rgba(30,20,15,.38); z-index:1400; opacity:0;
  pointer-events:none; transition:opacity .2s ease; }
.cc-tri-overlay.is-visible { opacity:1; pointer-events:auto; }

@media (max-width: 760px) {
  .cc-tri-trigger__lead { display:none; }
  .cc-tri-line { gap:8px; }
  .cc-tri-panel.is-sheet { position:fixed; left:0; right:0; bottom:0; top:auto; min-width:0;
    border:none; border-top:3px solid var(--clr-or); border-radius:0; padding:0; z-index:1410;
    box-shadow:0 -6px 24px rgba(0,0,0,.18);
    display:flex; flex-direction:column; max-height:78vh; }
  .cc-tri-panel.is-sheet::before { content:''; flex:0 0 auto; width:38px; height:4px; border-radius:var(--radius-s);
    background:#e3d9bf; margin:9px auto 2px; }
  .cc-tri-panel.is-sheet .cc-tri-panel__head { flex:0 0 auto; }
  .cc-tri-panel.is-sheet .cc-tri-panel__list { flex:1 1 auto; overflow-y:auto; -webkit-overflow-scrolling:touch; }
  .cc-tri-panel.is-sheet .cc-tri-panel__close { display:inline-flex; }
  .cc-tri-panel.is-sheet .cc-tri-row { flex-direction:column; align-items:stretch; gap:7px; padding:11px 18px 13px; }
  .cc-tri-panel.is-sheet .cc-tri-row__name { font-size:13px; }
  .cc-tri-panel.is-sheet .cc-tri-seg { display:flex; }
  .cc-tri-panel.is-sheet .cc-tri-opt { flex:1; min-height:44px; padding:6px 0; font-size:12.5px; text-align:center; }
  .cc-haut-fab { right:12px; bottom:72px; width:48px; height:48px; }
  body.cc-tri-sheet-open { overflow:hidden; }
}

.cc-actifs { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:10px; line-height:1.3; }
.cc-actifs:empty, .cc-actifs.hidden { display:none; }
.cc-filtres-bar #filtres-panel .filtres-actifs { margin:0; padding:0; background:transparent; border-radius:0; align-items:center; line-height:1.3; }
#filtres-panel .cc-actifs .filtres-actifs { display:contents; }
.cc-filtres-bar #filtres-panel .chip-filtre { line-height:1.3; }
.cc-actifs .cc-actifs-label { font-size:12px; color:var(--clr-text); }
.cc-filtres-bar #filtres-panel .cc-actifs .filtres-tout-effacer { flex:0 0 auto; font-size:13px; }


.cc-chip-rayon {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--clr-bg-light, #F9F5EA);
  color: var(--clr-text-dark, #333);
  text-decoration: none;
  padding: 5px 11px 5px 13px;
  border-radius: 999px;
  border: 1px solid var(--c-border-struct);
  box-shadow: inset 3px 0 0 var(--clr-or);
  line-height: 1.1;
  transition: background .15s, border-color .15s;
}
@media (hover: hover) { .cc-chip-rayon:hover { background: var(--c-bg-soft); border-color: var(--c-border-struct); } }
.cc-chip-rayon__eyebrow {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--clr-or-text);
  margin-right: 1px;
}
.cc-chip-rayon__label {
  font-size: 13px;
  font-weight: 700;
  color: var(--clr-text-dark, #333);
}
.cc-chip-rayon__x {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: rgba(184,138,62,.14);
  color: var(--clr-or);
  font-size: 14px;
  line-height: 1;
}
@media (hover: hover) { .cc-chip-rayon:hover .cc-chip-rayon__x { background: rgba(184,138,62,.28); } }
.cc-chip-rayon { pointer-events: none; cursor: default; }
.cc-chip-rayon__x { pointer-events: auto; cursor: pointer; }
@media (hover: hover) { .cc-chip-rayon__x:hover { background: rgba(184,138,62,.28); } }

.cc-filtres-bar #filtres-panel .cc-actifs { gap:6px 18px; }
.cc-filtres-bar #filtres-panel .cc-actifs .cc-actifs-label { margin-right:-10px; }
.cc-filtres-bar #filtres-panel .cc-actifs .chip-filtre,
.cc-filtres-bar #filtres-panel .cc-actifs .cc-chip-rayon {
  position:relative; z-index:1;
  display:inline-flex; align-items:center; gap:4px;
  padding:4px 0; border:0; border-radius:0; background:transparent; box-shadow:none; transition:none;
  color:var(--c-text-strong); font-size:13px; font-weight:600; line-height:1.3; text-decoration:none;
}
.cc-filtres-bar #filtres-panel .cc-actifs .chip-close,
.cc-filtres-bar #filtres-panel .cc-actifs .cc-chip-rayon__x {
  display:inline-flex; align-items:center; justify-content:center; align-self:center;
  width:16px; height:18px; margin:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none;
  color:#8a8a8a; font-size:14px; line-height:1; opacity:1; transition:none; cursor:pointer;
}
.cc-filtres-bar #filtres-panel .cc-actifs .chip-close::after,
.cc-filtres-bar #filtres-panel .cc-actifs .cc-chip-rayon__x::after { content:""; position:absolute; inset:0; }
.cc-filtres-bar #filtres-panel .cc-actifs .cc-chip-rayon__eyebrow { margin:0; color:#8a8a8a; font-size:13px; font-weight:400; letter-spacing:normal; text-transform:none; }
.cc-filtres-bar #filtres-panel .cc-actifs .cc-chip-rayon__label { color:var(--c-text-strong); font-size:13px; font-weight:600; }

#catalogue-content.cc-nav-loading { opacity: .55; pointer-events: none; cursor: progress; transition: opacity .12s; }

#filtres-resultats.cc-grid-loading { opacity: .5; pointer-events: none; cursor: progress; transition: opacity .15s ease; }

.cc-results { padding:14px 0 56px; }
.cc-results .cc-container { text-align:left; }
.cc-results-count { font-size:13px; color:var(--clr-text); margin-bottom:14px; }
.cc-results-count:empty, #filtres-count-wrap:empty { margin-bottom:0; }
.cc-results-count strong { color:var(--clr-text-dark); }

body.cc-grid-45 { --cc-cat-tracks: repeat(4, minmax(0,1fr)); --cc-cat-tracks-wide: repeat(5, minmax(0,1fr)); }
body.cc-grid-34 { --cc-cat-tracks: repeat(3, minmax(0,1fr)); --cc-cat-tracks-wide: repeat(4, minmax(0,1fr)); }

.cc-cat ul.liste-vins.cc-wine-grid { grid-template-columns: repeat(3, minmax(0,1fr)); margin: 0; }

.cc-cat ul.liste-vins.cc-wine-grid { gap: 20px; }
.cc-cat ul.liste-vins.cc-wine-grid > li { display: contents; }
.cc-cat ul.liste-vins.cc-wine-grid > li.cc-vp-hors-lot { display: none; }
.cc-cat ul.liste-vins.cc-wine-grid > li.wc-prod-start > .wine-card::before {
  content: ""; display: block; position: absolute; left: 0; top: 0; bottom: 0;
  right: auto; height: auto;
  width: 4px; background: var(--c-accent); z-index: 4; pointer-events: none;
}
.cc-cat ul.liste-vins.cc-wine-grid > li.wc-prod-start .wc-vigneron { color: var(--c-accent); font-weight: 700; }
.cc-cat .cc-empty { padding: 40px 0; color: var(--clr-text); font-size: 15px; text-align: center; }

.cc-vide { padding: 56px 0 24px; text-align: center; font-size: 14px; line-height: 1.5; color: var(--c-text); }
.cc-vide__t {
	margin: 0; font-family: var(--ff-title); font-size: 22px; font-weight: 600;
	line-height: 1.3; color: var(--c-ink);
}
.cc-vide__t::after {
	content: ""; display: block; width: 40px; height: 1px; margin: 16px auto;
	background: var(--c-accent);
}
.cc-vide__mere { margin: 0 0 8px; }
.cc-vide__s { margin: 0 0 14px; }
.cc-vide__rayons { display: flex; flex-wrap: wrap; justify-content: center; }
.cc-vide__rayon {
	padding: 4px 20px; border-left: 1px solid var(--c-border-struct);
	font-size: 15px; font-weight: 600; color: var(--c-ink); text-decoration: none;
	text-underline-offset: var(--lien-trait-survol-offset);
}
.cc-vide__rayon:first-child { border-left: 0; }
.cc-vide__n { margin-left: 4px; font-size: 13px; font-weight: 400; color: var(--clr-count); }
.cc-vide__foot { margin: 30px 0 0; }
.cc-vide__tous {
	color: var(--c-ink); font-weight: 600;
	text-decoration: underline; text-decoration-color: var(--c-accent);
	text-decoration-thickness: var(--lien-trait-repos);
	text-underline-offset: var(--lien-trait-offset);
}
.cc-cat:has(.cc-vide--rayon) .cc-filtres-bar,
.cc-cat:has(.cc-vide--rayon) .cc-tri-line,
.cc-cat:has(.cc-vide--rayon) .cc-haut-fab { display: none; }

@media (max-width: 640px) {
	.cc-vide { padding: 40px 0 16px; }
	.cc-vide__rayons { flex-direction: column; }
	.cc-vide__rayon { border-left: 0; border-top: 1px solid var(--c-line); padding: 12px 0; }
	.cc-vide__foot { margin-top: 14px; }
	.cc-vide__tous { display: inline-block; padding: 12px 0; }
}

.wine-img .wc-badges { position: absolute; left: 12px; bottom: 12px; z-index: 3;
  display: flex; flex-direction: column; gap: 5px; align-items: flex-start; pointer-events: none; }
.wc-badge { display: inline-flex; align-items: center; line-height: 1;
  font-family: var(--ff-body); font-size: 10.5px; font-weight: 700; letter-spacing: .3px;
  text-transform: uppercase; padding: 4px 9px; border-radius: 20px;
  box-shadow: 0 2px 6px rgba(32,24,18,.16); }
.wc-badge--new   { background: var(--clr-ink); color: #fff; }
.wc-badge--stock { background: #fff; color: var(--clr-or-text); border: 1px solid var(--clr-or); }
.wc-badge--coeur { background: #fff; color: var(--clr-or-text); border: 1px solid #e7d9c4; }

.cc-voirplus-wrap { display:flex; flex-direction:column; align-items:center; gap:12px; margin-top:44px; }
.cc-voirplus-btns { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.cc-btn-voirplus { display:inline-flex; align-items:center; gap:10px; padding:14px 40px; border:1.5px solid var(--clr-or); border-radius:var(--radius-s); background:#fff; font-family:var(--ff-body); font-size:14px; font-weight:700; color:var(--clr-or-text); cursor:pointer; transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s; min-width:240px; justify-content:center; }
@media (hover: hover) {
  .cc-btn-voirplus:hover { background:var(--cc-addh-bg); border-color:var(--cc-addh-bd); color:var(--cc-addh-tx); box-shadow:var(--cc-addh-sh); transform:var(--cc-addh-tr); }
}
.cc-btn-voirplus[disabled] { opacity:.5; cursor:default; }
.cc-btn-voirtout { display:inline-flex; align-items:center; gap:8px; box-sizing:border-box; line-height:1; min-height:var(--btn-min-h);padding:var(--btn-pad-y) var(--btn-pad-x); border:1.5px solid var(--clr-border); border-radius:var(--radius-s); background:#fff; font-family:var(--ff-body); font-size:var(--btn-font); font-weight:600; color:var(--clr-text); cursor:pointer; transition:border-color .2s,color .2s; justify-content:center; }
.cc-btn-voirtout:hover { border-color:var(--clr-or); color:var(--clr-or-text); }
.cc-voirplus-info { font-size:12px; color:var(--clr-text); }

@media (min-width:981px)  { .cc-cat ul.liste-vins.cc-wine-grid { grid-template-columns: var(--cc-cat-tracks, repeat(4,minmax(0,1fr))); } }
@media (min-width:1600px) { .cc-cat ul.liste-vins.cc-wine-grid { grid-template-columns: var(--cc-cat-tracks-wide, repeat(5,minmax(0,1fr))); } }
@media (max-width:980px)  { .cc-cat ul.liste-vins.cc-wine-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:680px)  { .cc-cat ul.liste-vins.cc-wine-grid { grid-template-columns:1fr; } }

.cc-fab { position:fixed; right:18px; bottom:18px; z-index:480; display:flex; flex-direction:column; gap:12px; opacity:0; transform:translateY(14px); pointer-events:none; transition:opacity .25s ease, transform .25s ease; }
.cc-fab.is-visible { opacity:1; transform:none; pointer-events:auto; }
.cc-fab__btn { position:relative; width:54px; height:54px; border-radius:50%; border:none; background:var(--clr-ink); box-shadow:0 4px 14px rgba(0,0,0,.22); display:flex; align-items:center; justify-content:center; cursor:pointer; padding:0; color:#fff; transition:background .2s ease, transform .15s ease; }
.cc-fab__btn:hover { background:var(--clr-ink-dark); transform:translateY(-2px); }
.cc-fab__btn .cc-i { width:27px; height:27px; }
.cc-fab__badge { position:absolute; top:-4px; right:-4px; min-width:20px; height:20px; padding:0 5px; border-radius:10px; background:#fff; color:var(--clr-or-text); font-family:var(--ff-body); font-size:12px; font-weight:700; line-height:20px; text-align:center; box-shadow:0 1px 4px rgba(0,0,0,.2); display:none; }
.cc-fab__badge.is-on { display:block; }
@media (max-width:680px) { .cc-fab { right:12px; bottom:12px; } .cc-fab__btn { width:48px; height:48px; } .cc-fab__btn .cc-i { width:24px; height:24px; } }

@media (max-width: 760px) {
  html.cc-defile-bas .cc-haut-fab,
  html.cc-defile-bas .cc-fab { opacity: 0; transform: translateY(14px); pointer-events: none; }
}
html.cc-consent-open .cc-fab,
html.cc-consent-open .cc-haut-fab {
  opacity: 0 !important;
  transform: translateY(14px) !important;
  pointer-events: none !important;
}

.cc-cat .wine-img {
  flex: 0 0 278px;
  height: 278px;
  min-height: 278px;
}
.cc-cat .wine-body { flex: 1 0 auto; }

@media (max-width: 1130px) {
  .cc-cat .wine-img { flex-basis: 250px; height: 250px; min-height: 250px; }
}
@media (max-width: 680px) {
  .cc-cat .wine-img { flex-basis: 230px; height: 230px; min-height: 230px; }
}


.wine-card { height: 100%; border-radius: var(--radius-m); line-height: 1.45; --wine: var(--wine-accent, var(--clr-or-text)); }
.wine-card, .wine-card * { box-sizing: border-box; }
.wine-card::before { display: none; }

.wine-card .wc-photo {
  position: relative; flex: 0 0 220px; height: 220px;
  display: flex; align-items: flex-end; justify-content: center;
  padding: 8px 0 8px; overflow: hidden;
  background: radial-gradient(78% 72% at 50% 42%, var(--c-bg-soft) 0%, var(--c-bg-soft) 76%, var(--c-bg-soft) 100%);
}
.wine-card .wc-photo a { display: flex; align-items: flex-end; justify-content: center; height: 100%; width: 100%; }
.wine-card .wc-photo img { max-height: 100%; max-width: 94%; object-fit: contain; mix-blend-mode: multiply; transition: transform .35s ease; }
@media (hover: hover) { .cc-cardhover-lift .wine-card:hover .wc-photo img { transform: translateY(-2px) scale(1.015); } }
.wine-card .wc-photo img.wc-photo-fallback { mix-blend-mode: normal; width: 54px; height: 54px; max-width: 54px; max-height: 54px; opacity: .85; }
.wine-card .wc-photo a.wc-photo-404 { flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-decoration: none; }
.wine-card .wc-photo-404__lbl { display: none; }
.wine-card .wc-photo a.wc-photo-404 .wc-photo-404__lbl { display: block; }
.wine-card .wine-color-emoji { font-size: 60px; align-self: center; }
.wine-card .wine-color-emoji svg { width: 64px; height: 64px; color: var(--clr-or); opacity: .55; }

@font-face { font-family: 'Whisper statuts'; src: url('/fonts/Whisper/Whisper-statuts.woff') format('woff'); font-display: block; }
.cc-statut { font: 400 27px/.75 'Whisper statuts', cursive; color: var(--clr-or-text); letter-spacing: 0; padding-bottom: 1px; white-space: nowrap; text-transform: none; }
.wine-card .wc-statut { display: flex; align-items: flex-end; height: 21px; margin: 0 0 9px; white-space: nowrap; overflow-x: clip; }
@media (max-width: 370px) { .wine-card .wc-statut .cc-statut.cc-statut, .cc-vl .cc-vl-statut.cc-vl-statut { font-size: 19px; } }

.wine-card .wc-bio { position: absolute; right: 10px; bottom: 10px; z-index: 3; height: 30px; width: auto; mix-blend-mode: multiply; }

.wine-card .wc-info { padding: 12px 18px 0 20px; text-align: left; flex: 1 1 auto; display: flex; flex-direction: column; }
.wine-card .wc-appell {
  font-family: var(--ff-title); font-size: 10px; letter-spacing: .22em;
  color: var(--clr-text, #666); text-transform: uppercase; font-weight: 500; margin-bottom: 6px;
  display: flex; align-items: center; gap: 7px; flex-wrap: nowrap; min-height: 15px;
}
.wine-card .wc-appell-txt { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wine-card .wc-dot,
.cc-ac-vin .wc-dot {
  margin-left: auto;
  align-self: center; width: 13px; height: 13px; border-radius: 50%;
  background: var(--wine, currentColor); flex-shrink: 0;
  box-shadow: inset 0 0 0 1.5px rgba(0,0,0,.16), 0 0 0 1px rgba(0,0,0,.05);
}
.wine-card .wc-name { font-family: var(--ff-title); font-weight: 600; font-size: 16px; line-height: 1.25; min-height: 40px; color: var(--clr-text-dark, #1a1a1a); margin-bottom: 3px; }
.wine-card .wc-title { display: block; color: inherit; text-decoration: none; }
.wine-card .wc-name a { color: inherit; text-decoration: none; }
.wine-card .wc-millesime { font-weight: 500; color: var(--clr-text, #666); }
.wine-card .wc-millesime::before { content: ' · '; }
.wine-card .wc-vintage { display: none; }
.wine-card .wc-vigneron { font-family: var(--ff-title); font-style: normal; font-weight: 500; font-size: 14px; color: var(--clr-text, #666); margin-bottom: 9px; }
.wine-card .wc-pricerow { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-top: auto; margin-bottom: 4px; }
.wine-card .wc-price-left { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.wine-card .wc-price-now { font-family: var(--ff-title); font-weight: 700; font-size: 22px; color: var(--clr-text-dark, #1a1a1a); letter-spacing: -.02em; }
.wine-card .wc-price-now.is-promo { color: var(--c-ink); }
.wine-card .wc-price-old { font-family: var(--ff-title); font-size: 13px; line-height: 1; color: #999; }
.wine-card .wc-price-unit { font-family: var(--ff-body); font-size: 11px; color: var(--clr-text, #666); font-weight: 500; }
.wine-card .wc-cagnotte { display: flex; align-items: center; gap: 5px; min-height: 16px; margin-bottom: 6px; font-family: var(--ff-title); font-size: 11px; font-weight: 500; color: var(--c-text); }
.wine-card .wc-cagnotte img,
.wine-card .wc-cagnotte svg { width: 13px; height: 13px; flex-shrink: 0; }
.wine-card .wc-signals { display: flex; gap: 6px; min-height: 24px; margin-bottom: 10px; align-items: center; }

.wine-card .wc-pd { display: inline-flex; flex-direction: column; gap: 4px; }
.wine-card .wc-pd .rule { height: 1px; width: 40px; background: linear-gradient(90deg, #b4894c 0%, rgba(180,137,76,0) 100%); }
.wine-card .wc-pd .lbl { font-family: var(--ff-title); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; color: var(--c-text); font-weight: 600; display: inline-flex; align-items: center; gap: 6px; }
.wine-card .wc-pd .lbl svg { width: 14px; height: 14px; flex-shrink: 0; }

.wine-card .wc-actions { display: flex; gap: 8px; margin-top: auto; padding: 0 18px 14px 20px; position: static; opacity: 1; pointer-events: auto; transform: none; }
.wine-card .wc-actions .cc-wine-card__qty { display: flex; flex: 0 0 64px; margin: 0; background: none; }
.wine-card .wc-actions .cc-wine-card__qty select {
  width: 100%; border: 1px solid var(--clr-border, #d8d4c8); border-radius: var(--radius-s); background: #fff;
  font-family: var(--ff-title); font-size: 13px; font-weight: 500; color: var(--clr-text-dark, #1a1a1a);
  padding: 0 6px; height: 44px; cursor: pointer;
}
.cc-wine-card__qty select:focus-visible {
  outline: 2px solid var(--clr-or);
  outline-offset: 1px;
}
body.cc-modality .cc-wine-card__qty select:focus-visible,
body.cc-modality .vin-cart-row .vin-qty select:focus-visible {
  outline: none;
}
body.cc-kbd .cc-wine-card__qty select:focus-visible,
body.cc-kbd .vin-cart-row .vin-qty select:focus-visible {
  outline: 2px solid var(--clr-or);
  outline-offset: 1px;
}
.wine-card .wc-actions .cc-wine-card__cart-button {
  box-sizing: border-box; flex: 1; width: auto; min-height: 0; grid-template-columns: none;
  background: var(--clr-ink); color: #fff; border: 0; border-radius: var(--radius-s); cursor: pointer;
  height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--ff-title); font-size: 11px; letter-spacing: .16em;
  text-transform: uppercase; font-weight: 600; text-decoration: none; padding: 0 10px;
  transition: background .18s;
}
.wine-card .wc-actions .cc-wine-card__cart-button:hover,
.wine-card .wc-actions .cc-wine-card__cart-button:focus-visible { background: var(--clr-ink-dark); color: #fff; }
.wine-card .wc-actions .cc-wine-card__cart-button:active { transform: translateY(1px); }
.wine-card .wc-actions .cc-wine-card__cart-icon { display: inline-flex; width: auto; height: auto; background: transparent; place-items: center; color: #fff; }
.wine-card .wc-actions .cc-wine-card__cart-icon img { width: 18px; height: 18px; filter: brightness(0) invert(1); }
.wine-card .wc-actions .cc-wine-card__cart-icon svg { width: 16px; height: 16px; }
.wine-card .wc-actions .cc-wine-card__cart-button span:last-child { padding: 0; white-space: nowrap; }
.wine-card .wc-actions .cc-wine-card__cart-button--disabled {
  flex: 1; background: var(--clr-ink); color: #fff; border: 0;
  cursor: default; box-shadow: none; letter-spacing: .08em;
}

.cc-cat .wine-card .wc-actions a.cc-wine-card__cart-button:not(.cc-wine-card__cart-button--success),
.cc-cat .wine-card .wc-actions a.cc-wine-card__cart-button:not(.cc-wine-card__cart-button--success):hover,
.cc-cat .wine-card .wc-actions a.cc-wine-card__cart-button:not(.cc-wine-card__cart-button--success):focus-visible {
  background: var(--clr-ink); color: #fff; border: 1.5px solid var(--clr-ink);
}
.cc-cat .wine-card .wc-actions a.cc-wine-card__cart-button:not(.cc-wine-card__cart-button--success) .cc-wine-card__cart-icon { color: #fff; }
.cc-cat .wine-card .wc-actions a.cc-wine-card__cart-button:not(.cc-wine-card__cart-button--success) .cc-wine-card__cart-icon img { filter: brightness(0) invert(1); }

@media (max-width: 640px) {
  .wine-card .wc-photo { flex: 0 0 168px; height: 168px; padding: 6px 0 6px; }
  .wine-card .wc-photo img { max-height: 156px; max-width: 94%; }
  .wine-card .wc-bio { height: 22px; right: 7px; bottom: 7px; }
  .wine-card .wc-statut { height: 19px; }
  .wine-card .wc-statut .cc-statut { font-size: 23px; }
  .wine-card .wc-info { padding: 11px 12px 0 13px; }
  .wine-card .wc-appell { font-size: 9px; line-height: 1.5; letter-spacing: .16em; margin-bottom: 5px; align-items: center; gap: 6px; min-height: 18px; flex-wrap: nowrap; }
  .wine-card .wc-appell-txt { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .wine-card .wc-dot,
  .cc-ac-vin .wc-dot { margin-left: auto; width: 12px; height: 12px; flex-shrink: 0; }
  .wine-card .wc-name { font-size: 13.5px; line-height: 1.22; min-height: 0; margin-bottom: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .wine-card .wc-millesime { display: none; }
  .wine-card .wc-vintage { display: block; font-family: var(--ff-title); font-weight: 500; font-size: 12px; color: var(--clr-text, #666); margin-bottom: 9px; height: 16px; line-height: 16px; overflow: hidden; }
  .wine-card .wc-vigneron { font-size: 13px; margin-bottom: 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .wine-card .wc-pricerow { gap: 6px; margin-bottom: 4px; }
  .wine-card .wc-price-left { gap: 4px; flex-wrap: nowrap; flex-shrink: 0; white-space: nowrap; }
  .wine-card .wc-price-now { font-size: 17px; }
  .wine-card .wc-price-old { font-size: 10px; }
  .wine-card .wc-price-unit { font-size: 9.5px; flex: 1 1 auto; min-width: 0; padding-left: 4px; white-space: nowrap; overflow: hidden; text-align: right; }
  .wine-card .wc-cagnotte { height: 16px; min-height: 0; overflow: hidden; margin-bottom: 8px; font-size: 10.5px; }
  .wine-card .wc-cagnotte img,
  .wine-card .wc-cagnotte svg { width: 12px; height: 12px; }
  .wine-card .wc-signals { height: 26px; min-height: 0; overflow: hidden; margin-bottom: 11px; }
  .wine-card .wc-pd { gap: 3px; }
  .wine-card .wc-pd .rule { width: 36px; }
  .wine-card .wc-pd .lbl { font-size: 8.5px; letter-spacing: .16em; gap: 5px; white-space: nowrap; }
  .wine-card .wc-pd .lbl svg { width: 13px; height: 13px; }
  .wine-card .wc-actions { gap: 7px; padding: 0 12px 12px 13px; }
  .wine-card .wc-actions .cc-wine-card__qty { flex: 0 0 50px; }
  .wine-card .wc-actions .cc-wine-card__qty select { padding: 0 4px; }
  .wine-card .wc-actions .cc-wine-card__cart-button:not(.cc-wine-card__cart-button--maxed) span:last-child { display: none; }
  .wine-card .wc-actions .cc-wine-card__cart-icon img { width: 20px; height: 20px; }
  .wine-card .wc-actions .cc-wine-card__cart-icon svg { width: 20px; height: 20px; }
}

@media (max-width: 680px) {
  .wines-grid { grid-template-columns: repeat(2, 1fr); gap: 13px; }
  ul.liste-vins.cc-wine-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 13px; }
  .cc-cat ul.liste-vins.cc-wine-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .vin-related ul.liste-vins.cc-wine-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

.cc-i {
  display: inline-block;
  vertical-align: middle;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.cc-carticon-blanc .cc-i--ajouter-panier,
body.cc-carticon-blanc .cc-i--ajouter-panier * { fill: currentColor; stroke: currentColor; }

body.cc-carticon-blanc .cc-wine-card__cart-button--success .cc-i--panier,
body.cc-carticon-blanc .cc-wine-card__cart-button--success .cc-i--panier *,
body.cc-carticon-blanc .cc-wine-card__cart-button--maxed .cc-wc-maxed-ic .cc-i,
body.cc-carticon-blanc .cc-wine-card__cart-button--maxed .cc-wc-maxed-ic .cc-i *,
body.cc-carticon-blanc .mb-max .cc-wc-maxed-ic .cc-i,
body.cc-carticon-blanc .mb-max .cc-wc-maxed-ic .cc-i * { fill: currentColor; stroke: currentColor; }

.cc-wine-card__cart-button--success .cc-i--coche,
.cc-wine-card__cart-button--success .cc-i--coche * { fill: none; }
body.cc-carticon-blanc .cc-wine-card__cart-button--success .cc-i--coche,
body.cc-carticon-blanc .cc-wine-card__cart-button--success .cc-i--coche * { stroke: currentColor; }


.section-products.cc-gallery { background: #fff; }
.cc-results.cc-gallery { background: #fff; }

.cc-gallery .wine-card { border: 0; border-radius: 0; box-shadow: none; background: #fff; }

.cc-gallery .wines-grid,
.cc-gallery ul.liste-vins.cc-wine-grid {
  overflow: hidden; column-gap: 0; row-gap: 26px; background: transparent;
}
.cc-gallery .wine-card { box-shadow: -1px 0 0 var(--c-line); transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, border-color .25s ease; }
@media (hover: hover) { .cc-cardhover-lift .cc-gallery .wine-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(36,26,18,0.13); } }

.cc-gallery .wine-card .wc-photo { background: #fff; }

.cc-gallery .wine-card .wc-pricerow { border-top: 1px solid var(--c-line); padding-top: 12px; }

.cc-gallery .wine-card .wc-price-now { color: var(--clr-or-text); }
.cc-gallery .wine-card .wc-price-now.is-promo { color: var(--c-ink); }

.cc-gallery .wine-card .wc-actions .cc-wine-card__cart-button.btn-cart,
.cc-gallery .wine-card .wc-actions .cc-wine-card__cart-button.btn-cart:hover,
.cc-gallery .wine-card .wc-actions .cc-wine-card__cart-button.btn-cart:focus-visible {
  background: var(--clr-ink); color: #fff; border: 1.5px solid var(--clr-ink);
}
.cc-gallery .wine-card .wc-actions .cc-wine-card__cart-icon { color: inherit; }


#homepage-content .cc-sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 0 0 28px; border: 0; padding: 0; flex-wrap: wrap; }
#homepage-content .cc-kick { display: block; font-family: var(--ff-body); font-weight: 700; text-transform: uppercase; letter-spacing: 2.5px; font-size: 11px; color: var(--clr-or-text); margin: 0 0 9px; }
#homepage-content .cc-sec-title { font-family: var(--ff-title); font-weight: 700; font-size: 27px; color: #2a1015; line-height: 1; position: relative; padding-bottom: 12px; }
#homepage-content .cc-sec-title::after { content: ''; position: absolute; left: 0; bottom: 0; width: 46px; height: 3px; background: var(--clr-gold); border-radius: var(--radius-s); }
#homepage-content .cc-see-all { font-weight: 600; font-size: 13.5px; color: var(--clr-or-text); white-space: nowrap; }
@media (max-width: 820px) { #homepage-content .cc-sec-title { font-size: 22px; } }

#homepage-content .cc-explore { padding: 54px 0; background: #fff; }
#homepage-content .cc-regions { display: flex; gap: 16px; }
#homepage-content .cc-region { position: relative; flex: 1; border-radius: var(--radius-m); min-height: 172px; color: #fff; display: flex; flex-direction: column; justify-content: flex-end; padding: 22px; overflow: hidden; text-decoration: none; transition: transform .2s, box-shadow .2s; }
@media (hover: hover) { #homepage-content .cc-region:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(36,26,18,.18); } }
#homepage-content .cc-region-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
#homepage-content .cc-region::after { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(20,5,8,.82) 0%, rgba(20,5,8,.30) 45%, rgba(20,5,8,.05) 100%); }
#homepage-content .cc-region b { position: relative; z-index: 2; font-family: var(--ff-title); font-size: 20px; font-weight: 700; color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.55); }
#homepage-content .cc-region span { position: relative; z-index: 2; font-size: 12.5px; color: #f1e3d8; margin-top: 3px; }
#homepage-content .cc-region--nord { background: linear-gradient(135deg, #2a1015 0%, var(--clr-ink-dark) 60%, var(--clr-ink-dark) 100%); }
#homepage-content .cc-region--sud  { background: linear-gradient(135deg, var(--clr-ink) 0%, var(--clr-ink) 55%, #c0612f 100%); }
#homepage-content .cc-region-col { flex: 1; min-width: 0; display: flex; flex-direction: column; }
#homepage-content .cc-region-col .cc-region { flex: none; }
#homepage-content .cc-appell-list { list-style: none; margin: var(--space-md) 0 0; padding: 0 var(--space-xs); columns: 2; column-gap: var(--space-md); }
#homepage-content .cc-appell-list li { margin: 0; padding: 0; break-inside: avoid; }
#homepage-content .cc-appell-list a { display: flex; align-items: center; min-height: 44px; box-sizing: border-box; border-bottom: 1px solid var(--c-line); font-family: var(--ff-body); font-size: 14px; font-weight: 600; line-height: 1.3; color: var(--c-text-strong); text-decoration: none; }
@media (max-width: 820px) { #homepage-content .cc-regions { flex-direction: column; gap: var(--space-lg); } }

#homepage-content .cc-advice { background: var(--clr-bg-light); }
#homepage-content .cc-advice .container { display: flex; align-items: stretch; min-height: 260px; gap: 0; padding-left: 0; padding-right: 0; }
#homepage-content .cc-advice-pic { flex: 0 0 38%; background: linear-gradient(120deg, rgba(36,26,18,.35), rgba(36,26,18,.25)), url('/img/v4/hero-vignes-rhone.jpg'); background-size: cover; background-position: center; }
#homepage-content .cc-advice-pic--bottle { background: var(--clr-bg-light); display: flex; align-items: center; justify-content: center; padding: 24px 16px; text-decoration: none; }
#homepage-content .cc-advice-pic--bottle img { width: auto; height: auto; max-width: 100%; max-height: 260px; object-fit: contain; mix-blend-mode: multiply; display: block; }
#homepage-content .cc-advice-body { flex: 1; padding: 42px 50px; }
#homepage-content .cc-advice-quote { font-family: var(--ff-title); font-size: 21px; font-weight: 600; color: #2a1015; line-height: 1.4; margin: 8px 0 12px; max-width: 560px; }
#homepage-content .cc-advice-mark { font-family: var(--ff-script); color: var(--clr-or-text); opacity: .5; font-size: 26px; line-height: 0; vertical-align: -3px; margin-right: 3px; }
#homepage-content .cc-advice-mark--close { margin-right: 0; margin-left: 4px; }
#homepage-content .cc-advice-who { font-size: 13px; color: #8a7d6c; font-style: italic; margin: 0 0 20px; }
#homepage-content .cc-advice-wine { display: flex; align-items: center; gap: 14px; border-top: 1px solid #e6ddca; padding-top: 18px; max-width: 560px; flex-wrap: wrap; }
#homepage-content .cc-advice-wn { font-family: var(--ff-title); font-weight: 700; font-size: 14px; color: #2a1015; }
#homepage-content .cc-advice-wn a { color: inherit; text-decoration: none; }
#homepage-content .cc-advice-wa { font-size: 12px; color: #9a8f80; }
#homepage-content .cc-advice-wprice { margin-left: auto; font-family: var(--ff-title); font-weight: 700; color: var(--clr-or-text); font-size: 18px; }
#homepage-content .cc-advice-cta { padding: 9px 18px; font-size: 13.5px; }
@media (max-width: 820px) {
  #homepage-content .cc-advice .container { flex-direction: column; }
  #homepage-content .cc-advice-pic { flex: 0 0 170px; }
  #homepage-content .cc-advice-pic--bottle { flex: 0 0 auto; padding: 20px 16px; }
  #homepage-content .cc-advice-pic--bottle img { max-height: 190px; }
  #homepage-content .cc-advice-body { padding: 28px 22px; }
  #homepage-content .cc-advice-wprice { margin-left: 0; }
}

#homepage-content .vignerons-section { padding: 38px 0; }

#homepage-content .vignerons-header.cc-sec-head { max-width: var(--max-width); margin: 0 auto 28px; padding: 0 24px; }

.cc-msg__mail{color:var(--clr-ink);font-weight:700}
.cc-msg__act{margin-top:7px}
.cc-msg__act a{color:var(--clr-or-text);font-weight:700;text-decoration:underline;text-underline-offset:2px;font-size:13px}



.wine-card .wc-photo .wc-photo-empty {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 6px; text-decoration: none; color: #b9ae97;
}
.wine-card .wc-photo-empty .wine-color-emoji { font-size: 0; align-self: center; }
.wine-card .wc-photo-empty .wine-color-emoji svg { width: 54px; height: 54px; color: #cbb27a; opacity: .85; }
.wine-card .wc-photo-empty__lbl { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #b9ae97; }

.chip-filtre .chip-dot {
  width: 11px; height: 11px; border-radius: 50%; flex: none; margin-right: 7px;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.14);
}

@media (min-width: 1024px) {
  .cc-cat-title .cc-cat-desc,
  .cc-cat-title .cc-edito-acc { max-width: 66ch; }
}

.cc-pill-chevron { display: inline-flex; align-items: center; line-height: 0; }
.cc-pill-chevron .cc-i { width: 13px; height: 13px; }
.cc-tri-opt { display: inline-flex; align-items: center; justify-content: center; }
.cc-tri-opt .cc-i { width: 13px; height: 13px; }
.cc-tri-opt .cc-chev-up { transform: rotate(180deg); }

.cc-subrayons__label { white-space: nowrap; }

.cc-lot-warn.cc-msg{flex:0 0 100%;margin:10px 0 2px;padding:11px 13px;gap:10px}
.cc-lot-warn .cc-msg__coin{width:26px;height:26px}
.cc-lot-warn .cc-msg__lead{font-size:13px}
.cc-lot-warn .cc-msg__body{font-size:12.5px}
.cart-drawer-lot .qty-was,.cc-cart-lot .qty-was,
.cc-recap-ro .qty-was,
#compte-content .cmd-items .qty-was{color:#a9a298;text-decoration:line-through;font-weight:600}
.cart-drawer-lot .qty-now,.cc-cart-lot .qty-now,
#compte-content .cmd-items .qty-now{color:var(--clr-or-text);font-weight:700}
.cc-cart-ackbtn{display:inline-flex;align-items:center;gap:6px;
  border-radius:var(--radius-s);padding:6px 14px;font-size:12px;font-weight:700;cursor:pointer;
  font-family:'Montserrat',Arial,sans-serif;margin-top:9px}
.cc-cart-ackbtn{border:1px solid var(--clr-ink);background:var(--clr-ink);color:#fff}
.cart-drawer-news,.cart-drawer-up,.cart-drawer-gone,.cart-drawer-warn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  font:400 13px/1.5 var(--ff-body);color:var(--c-text-strong);background:none;border:0;border-radius:0;box-shadow:none}
.cart-drawer-news{padding:12px 20px;border-bottom:1px solid var(--c-line)}
.cart-drawer-up,.cart-drawer-gone{margin-top:8px}
.cart-drawer-item > .cart-drawer-gone,.cart-drawer-item > .cart-drawer-warn{flex:0 0 calc(100% - 67px);margin:-5px 0 0 67px;min-width:0}
.cdn-etat,.cdg-etat,.cdw-etat{font-weight:700;color:var(--c-accent-text)}
.cdn-msg b{font-weight:700}
.cart-drawer-up .cdu-body{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.cdn-act{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:4px}
.cart-drawer-up .cdu-btn,.cart-drawer-gone .cdg-btn,.cart-drawer-warn .cdw-btn{margin-top:4px}
.cart-drawer-ghost{border-bottom:0;border-top:1px solid var(--c-line)}
.cart-drawer-news + .cart-drawer-list:empty + .cart-drawer-ghost,
.cart-drawer-body > .cart-drawer-list:first-child:empty + .cart-drawer-ghost{border-top:0}
.cart-drawer-ghost .cart-drawer-thumb{filter:grayscale(.4);opacity:.75}
.cart-drawer-ghost .cart-drawer-name{color:#8a8a8a}
.cart-drawer-cta.is-locked,.is-locked.cart-drawer-cta{background:#d8c7cc !important;cursor:not-allowed}

.cc-step{display:flex;margin:20px 0 4px}
.cc-step .cc-s{flex:1;text-align:center;position:relative;font-size:11.5px;color:var(--c-text)}
.cc-step .cc-s::before{content:"";position:absolute;top:6px;left:-50%;width:100%;height:2px;background:var(--c-line)}
.cc-step .cc-s:first-child::before{display:none}
.cc-step .cc-s .cc-d{width:13px;height:13px;border-radius:50%;background:var(--c-surface);border:2px solid var(--c-line);margin:0 auto 7px;position:relative;z-index:1;display:block}
.cc-step .cc-s.done .cc-d{background:var(--c-accent);border-color:var(--c-accent)}
.cc-step .cc-s.done::before{background:var(--c-accent)}
.cc-step .cc-s.done{color:var(--c-text-strong)}
.cc-step .cc-s.now{color:var(--c-ink);font-weight:700}
.cc-step .cc-s.now .cc-d{background:var(--c-ink);border-color:var(--c-ink);box-shadow:0 0 0 3px rgba(36,26,18,.12)}
@media(max-width:640px){.cc-step .cc-s{font-size:10.5px}}
.cc-cag-phrase { font-size: 16px; font-weight: 600; line-height: 1.5; color: var(--clr-text-dark); margin: 0 0 10px; }
.cc-cag-phrase b { color: var(--clr-or-text); font-weight: 600; }
.cc-cag-note { font-size: 14px; line-height: 1.6; color: var(--c-text); margin: 0 0 4px; }
.cc-cag-note .cc-vide__lien, .cmd-vide .cc-vide__lien { display: block; width: fit-content; margin-top: 6px; white-space: nowrap; }
.cc-cag-histh { font-size: 15px; font-weight: 700; color: var(--clr-text-dark); margin: 34px 0 0; padding-bottom: 10px; border-bottom: 1px solid var(--c-line); }
.hv { padding: 14px 0 12px; border-bottom: 1px solid var(--c-line); }
.hv__date { font-size: 15px; font-weight: 700; color: var(--clr-text-dark); margin: 0 0 6px; }
.hv__date em { font-size: 12.5px; font-weight: 500; color: var(--c-text); margin-left: 8px; }
.hv__cmd { margin-left: 12px; font-size: 13px; font-weight: 500; color: var(--c-text); text-decoration: none; }
.hv__ligne { display: flex; align-items: center; gap: 14px; padding: 4px 0; }
.hv__ph { flex: 0 0 20px; display: flex; justify-content: center; }
.hv__ph img { height: 36px; width: auto; display: block; }
.hv__nom { flex: 1; min-width: 0; font-size: 13.5px; font-weight: 500; color: var(--clr-text-dark); text-decoration: none; }
.hv__motif { flex: 1; font-size: 14px; color: var(--c-text); }
.hv__m { font-size: 14px; font-weight: 700; color: var(--clr-text-dark); white-space: nowrap; font-variant-numeric: tabular-nums; }
.hv__reste { flex: 1; margin-left: 34px; font-size: 13px; color: var(--c-text); }
.pref-check{flex:none;margin-top:2px;display:inline-flex}
.pref-check input{width:19px;height:19px;cursor:pointer}

@font-face { font-family: 'Whisper'; src: url('/fonts/Whisper/Whisper.ttf') format('truetype'); font-display: swap; }
ul.cc-vl { list-style: none; margin: 0; padding: 0; }
ul.cc-vl > li { list-style: none; margin: 0; padding: 0; height: auto; background: none; float: none; line-height: 1.4; box-sizing: border-box; }
ul.cc-vl > li.cc-vl-ligne.cc-vp-hors-lot,
ul.cc-vl > li.cc-vl-bandeau.cc-vp-hors-lot { display: none; }

ul.cc-vl > li.cc-vl-bandeau { padding-top: 34px; }
ul.cc-vl > li.cc-vl-bandeau:first-child { padding-top: 4px; }
.cc-vl .cc-vl-bandeau__titre {
  margin: 0; padding: 12px 18px 8px; background: var(--c-bg-soft, #F4EFE4);
  font: 400 46px/1.05 'Whisper', var(--ff-title); color: var(--c-ink); text-transform: none; letter-spacing: 0;
}
.cc-vl .cc-vl-bandeau--domaine .cc-vl-bandeau__titre { font-size: 44px; }
.cc-vl .cc-vl-bandeau__titre a { color: inherit; text-decoration: none; }
@media (hover: hover) { .cc-vl .cc-vl-bandeau__titre a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; } }

ul.cc-vl > li.cc-vl-ligne {
  display: grid; grid-template-columns: minmax(0,1fr) 112px 100px; column-gap: 16px; align-items: center;
  padding: 5px 18px; min-height: 56px; border-top: 1px solid var(--c-line);
}
ul.cc-vl > li.cc-vl-bandeau + li.cc-vl-ligne,
ul.cc-vl > li.cc-vl-ligne:first-child { border-top: 0; }
.cc-vl .cc-vl-ligne a { color: inherit; text-decoration: none; }
.cc-vl .cc-vl-ligne > a[id^="vin"] { display: none; }

.cc-vl .cc-vl-photo { display: block; height: 44px; }
.cc-vl .cc-vl-photo img { display: block; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
ul.cc-vl.cc-vl--b-ordinateur > li.cc-vl-ligne,
ul.cc-vl.cc-vl--b-petite > li.cc-vl-ligne { grid-template-columns: 24px minmax(0,1fr) 112px 100px; }
ul.cc-vl.cc-vl--b-partout > li.cc-vl-ligne { grid-template-columns: 38px minmax(0,1fr) 112px 100px; column-gap: 18px; padding-top: 6px; padding-bottom: 6px; }
.cc-vl.cc-vl--b-partout .cc-vl-photo { height: 60px; }
.cc-vl .cc-vl-ligne.is-soldout .cc-vl-photo { opacity: .45; }

.cc-vl .cc-vl-txt { min-width: 0; display: flex; align-items: flex-start; flex-wrap: nowrap; }
.cc-vl .cc-vl-carre {
  flex: 0 0 12px; width: 12px; height: 12px; margin: 5px 12px 0 0; position: relative;
  background: var(--wine-accent, #A7A7A7);
}
.cc-vl .wc-liquoreux .cc-vl-carre::after, .cc-vl .wc-bulles .cc-vl-carre::after {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  font: 700 9px/1 var(--ff-body); color: #000;
}
.cc-vl .wc-liquoreux .cc-vl-carre::after { content: "L"; }
.cc-vl .wc-bulles .cc-vl-carre::after    { content: "P"; }
.cc-vl a.cc-vl-nom { min-width: 0; font: 400 16px/1.4 var(--ff-body); color: var(--c-text); }
.cc-vl .cc-vl-app  { font-weight: 400; color: var(--c-ink); }
.cc-vl .cc-vl-app--tel { display: none; }
.cc-vl .cc-vl-mill { font-weight: 400; color: var(--c-text); font-variant-numeric: tabular-nums; }
.cc-vl .cc-vl-dom  { font-weight: 500; color: var(--c-ink); }
.cc-vl .cc-vl-cuv, .cc-vl .cc-vl-fmt { font-weight: 400; color: var(--c-text); }
@media (hover: hover) {
  .cc-vl a.cc-vl-nom:hover { text-decoration: underline; text-decoration-color: var(--c-ink); text-decoration-thickness: 1px;
    text-underline-offset: var(--lien-trait-survol-offset, 4px); }
}
.cc-vl .cc-vl-bio { flex: 0 0 auto; display: block; height: 15px; width: auto; margin: 4px 0 0 10px; }
.cc-vl .cc-vl-statut { flex: 0 0 auto; font-size: 25px; margin: 0 0 0 14px; }
.cc-vl .cc-vl-txt--statut .cc-vl-nom, .cc-vl .cc-vl-txt--statut .cc-vl-statut { align-self: baseline; }
.cc-vl .cc-vl-resume {
  flex: 1 1 0; min-width: 0; display: block; height: 22.4px; overflow: hidden; margin: 0 0 0 24px;
  font: italic 400 13.5px/22.4px var(--ff-body); white-space: normal; overflow-wrap: normal; word-break: normal;
}
.cc-vl .cc-vl-ligne a.cc-vl-resume { color: #8a8378; }

.cc-vl .cc-vl-prix { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.cc-vl .cc-vl-now { font: 500 16px/1.4 var(--ff-body); color: var(--c-ink); }
.cc-vl .cc-vl-old { margin-left: 7px; font: 400 13px/1 var(--ff-title); color: #999; }
.cc-vl .cc-vl-ligne.is-soldout .cc-vl-nom,
.cc-vl .cc-vl-ligne.is-soldout .cc-vl-nom span,
.cc-vl .cc-vl-ligne.is-soldout .cc-vl-now { color: #8a8378; }

.cc-vl .cc-vl-achat {
  display: flex; align-items: center; justify-content: flex-end; gap: 8px;
  position: static; opacity: 1; transform: none; pointer-events: auto; background: none; padding: 0; margin: 0;
}
.cc-vl .cc-vl-achat .cc-wine-card__qty { display: block; min-height: 0; background: none; }
.cc-vl .cc-vl-achat .cc-wine-card__qty select {
  width: 52px; height: 32px; padding: 0 4px 0 9px; border: 1px solid var(--c-border-struct);
  border-radius: var(--radius-s); background: #fff; color: var(--c-ink); font: 400 14px var(--ff-body); text-align: left;
}
.cc-vl .cc-vl-achat .cc-wine-card__cart-button,
.cc-vl .cc-vl-achat .cc-wine-card__cart-button:hover,
.cc-vl .cc-vl-achat .cc-wine-card__cart-button:focus-visible {
  display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; min-height: 0;
  padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; color: var(--c-ink);
  text-transform: none; letter-spacing: 0;
}
.cc-vl .cc-vl-achat .cc-wine-card__cart-icon { display: block; width: auto; height: auto; background: none; }
.cc-vl .cc-vl-achat .cc-wine-card__cart-button > span:not(.cc-wine-card__cart-icon):not(.cc-wc-maxed-ic) {
  position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
.cc-vl .cc-vl-achat .cc-wine-card__cart-button svg { display: block; width: 23px; height: 23px; }
.cc-vl .cc-vl-achat .cc-wine-card__cart-button--maxed,
.cc-vl .cc-vl-achat .cc-wine-card__cart-button--maxed:hover { width: auto; height: auto; color: #8a8378; font: 400 13.5px var(--ff-body); cursor: default; }
.cc-vl .cc-vl-achat .cc-wine-card__cart-button.cc-wine-card__cart-button--maxed > span:not(.cc-wc-maxed-ic):not(.cc-wine-card__cart-icon) {
  position: static; width: auto; height: auto; overflow: visible; clip: auto; padding: 0;
}
.cc-vl .cc-vl-achat .cc-wc-maxed-ic { display: none; }
.cc-vl .cc-vl-epuise { font: 400 13.5px var(--ff-body); color: #8a8378; }

.cc-vl .cc-vl-achat .cc-wine-card__cart-button svg,
.cc-vl .cc-vl-achat .cc-wine-card__cart-button svg * {
  fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
}
.cc-vl .cc-vl-achat .cc-wine-card__cart-button .cc-i--ajouter-panier path:last-of-type { stroke: var(--c-accent); stroke-width: 2.1; }
.cc-vl.cc-vl--k-appuye .cc-vl-achat .cc-wine-card__cart-button svg * { stroke-width: 2.1; }
.cc-vl.cc-vl--k-appuye .cc-vl-achat .cc-wine-card__cart-button .cc-i--ajouter-panier path:last-of-type { stroke-width: 2.6; }
.cc-vl.cc-vl--k-teinte .cc-vl-achat .cc-wine-card__cart-button svg:not(.cc-i--coche) path:first-of-type { fill: var(--c-bg-soft, #F4EFE4); stroke-width: 1.7; }
.cc-vl.cc-vl--k-teinte .cc-vl-achat .cc-wine-card__cart-button svg circle,
.cc-vl.cc-vl--k-plus .cc-vl-achat .cc-wine-card__cart-button svg circle { fill: currentColor; }
.cc-vl.cc-vl--k-plus .cc-vl-achat .cc-wine-card__cart-button svg path:first-of-type { stroke-width: 1.8; }
.cc-vl.cc-vl--k-plus .cc-vl-achat .cc-wine-card__cart-button .cc-i--ajouter-panier path:last-of-type {
  stroke-width: 2.4; transform-box: fill-box; transform-origin: center; transform: scale(1.3);
}

.cc-vue-bascule { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.cc-vue-bascule + .cc-tri-control { margin-left: 30px; }
.cc-vue-bascule__btn {
  display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; padding: 6px 0; margin: 0;
  font: 400 13.5px/1.2 var(--ff-body); color: var(--c-text); cursor: pointer;
}
.cc-vue-bascule__btn .cc-i { display: block; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
@media (hover: hover) {
  .cc-vue-bascule__btn[aria-pressed="false"]:hover .cc-vue-bascule__mot {
    text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: var(--lien-trait-survol-offset, 4px);
  }
}
.cc-vue-bascule__btn[aria-pressed="true"] { font-weight: 700; color: var(--c-ink); cursor: default; }
.cc-vue-bascule.is-loading { opacity: .5; pointer-events: none; }
.vgf-winesec-head .cc-vue-bascule { margin: 10px 0 0; }

@media (max-width: 760px) {
  .cc-vue-bascule { gap: 12px; }
  .cc-vue-bascule + .cc-tri-control { margin-left: 12px; }
  .cc-vue-bascule__btn { font-size: 12.5px; }
}
@media (max-width: 640px) {
  .cc-cat .cc-tri-line { flex-wrap: wrap; row-gap: 6px; }
  .cc-cat .cc-tri-line .cc-vue-bascule { order: 3; flex: 0 0 100%; margin-left: 0; justify-content: flex-start; }
  .cc-cat .cc-tri-line .cc-vue-bascule + .cc-tri-control { margin-left: auto; }

  ul.cc-vl > li.cc-vl-bandeau { padding-top: 28px; }
  .cc-vl .cc-vl-bandeau__titre { font-size: 38px; padding: 10px 14px 6px; }
  .cc-vl .cc-vl-bandeau--domaine .cc-vl-bandeau__titre { font-size: 34px; }
  ul.cc-vl > li.cc-vl-ligne,
  ul.cc-vl.cc-vl--b-ordinateur > li.cc-vl-ligne { grid-template-columns: minmax(0,1fr) auto auto; column-gap: 8px; padding: 8px 2px; min-height: 58px; }
  ul.cc-vl.cc-vl--b-partout > li.cc-vl-ligne { grid-template-columns: 34px minmax(0,1fr) auto auto; column-gap: 10px; padding: 8px 2px; }
  ul.cc-vl.cc-vl--b-petite > li.cc-vl-ligne { grid-template-columns: 16px minmax(0,1fr) auto auto; column-gap: 8px; padding: 8px 2px; }
  .cc-vl.cc-vl--b-ordinateur .cc-vl-photo { display: none; }
  .cc-vl.cc-vl--b-partout .cc-vl-photo { height: 56px; }
  .cc-vl.cc-vl--b-petite .cc-vl-photo { height: 40px; }
  .cc-vl a.cc-vl-nom { font-size: 15px; line-height: 1.35; }
  .cc-vl .cc-vl-app { display: none; }
  .cc-vl .cc-vl-app.cc-vl-app--tel { display: block; font-size: 12.5px; line-height: 1.3; color: #8a8378; margin-bottom: 1px; }
  .cc-vl .cc-vl-carre { margin: 4px 9px 0 0; }
  .cc-vl .cc-vl-bio { margin-left: 6px; }
  .cc-vl .cc-vl-txt--statut { flex-wrap: wrap; }
  .cc-vl .cc-vl-txt--statut .cc-vl-nom { max-width: calc(100% - 21px); }
  .cc-vl .cc-vl-txt--statut:has(.cc-vl-bio) .cc-vl-nom { max-width: calc(100% - 42px); }
  .cc-vl .cc-vl-txt--statut .cc-vl-nom, .cc-vl .cc-vl-txt--statut .cc-vl-statut { align-self: flex-start; }
  .cc-vl .cc-vl-statut { flex: 0 0 calc(100% - 21px); min-width: 0; font-size: 22px; line-height: 1; white-space: normal; margin: 4px 0 0 21px; }
  .cc-vl .cc-vl-resume { display: none; }
  .cc-vl .cc-vl-prix { display: flex; flex-direction: column-reverse; align-items: flex-end; }
  .cc-vl .cc-vl-old { display: inline-block; margin: 0 0 3px; font-size: 11.5px; }
  .cc-vl .cc-vl-now { font-size: 15px; }
  .cc-vl .cc-vl-achat { gap: 2px; }
  .cc-vl .cc-vl-achat .cc-wine-card__qty select { width: 46px; height: 40px; padding: 0 2px 0 7px; }
  .cc-vl .cc-vl-achat .cc-wine-card__cart-button,
  .cc-vl .cc-vl-achat .cc-wine-card__cart-button:hover { width: 44px; height: 44px; }
  .cc-vl .cc-vl-achat .cc-wine-card__cart-button--maxed,
  .cc-vl .cc-vl-achat .cc-wine-card__cart-button--maxed:hover { width: auto; height: auto; font-size: 12.5px; }
  .cc-vl .cc-vl-epuise { font-size: 12.5px; padding-left: 4px; }
}

.wine-card .wc-price-old,
.vin-price-old,
.cc-wine-card__price .prix_normal,
.wine-price .prix_normal,
.th-price-old,
.od-unit .qty-was,
.cc-cart-lot-foot .qty-was,
.cart-drawer-lot .cdl-foot .qty-was,
.cc-ro-lot-foot .qty-was,
.cart-drawer-price .qty-was,
#compte-content .cmd-items .qty-was,
.cc-vl .cc-vl-old {
  position: relative; display: inline-block; text-decoration: line-through;
}
@supports (mask-image: linear-gradient(#000, #000)) or (-webkit-mask-image: linear-gradient(#000, #000)) {
  .wine-card .wc-price-old,
  .vin-price-old,
  .cc-wine-card__price .prix_normal,
  .wine-price .prix_normal,
  .th-price-old,
  .od-unit .qty-was,
  .cc-cart-lot-foot .qty-was,
  .cart-drawer-lot .cdl-foot .qty-was,
  .cc-ro-lot-foot .qty-was,
  .cart-drawer-price .qty-was,
  #compte-content .cmd-items .qty-was,
  .cc-vl .cc-vl-old { text-decoration: none; }

  .wine-card .wc-price-old::after,
  .vin-price-old::after,
  .cc-wine-card__price .prix_normal::after,
  .wine-price .prix_normal::after,
  .th-price-old::after,
  .od-unit .qty-was::after,
  .cc-cart-lot-foot .qty-was::after,
  .cart-drawer-lot .cdl-foot .qty-was::after,
  .cc-ro-lot-foot .qty-was::after,
  .cart-drawer-price .qty-was::after,
  #compte-content .cmd-items .qty-was::after,
  .cc-vl .cc-vl-old::after {
    content: ""; position: absolute; left: 0; right: 0; top: 50%;
    height: 1em; transform: translateY(-50%); pointer-events: none;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 14' preserveAspectRatio='none'><line x1='0' y1='14' x2='40' y2='0' stroke='%23000' stroke-width='1.1' vector-effect='non-scaling-stroke'/></svg>");
            mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 14' preserveAspectRatio='none'><line x1='0' y1='14' x2='40' y2='0' stroke='%23000' stroke-width='1.1' vector-effect='non-scaling-stroke'/></svg>");
    -webkit-mask-size: 100% 100%;         mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;       mask-repeat: no-repeat;
  }
}

:root{
  --cc-tap-wash:     color-mix(in srgb, var(--c-ink) 9%, transparent);
  --cc-tap-wash-ink: color-mix(in srgb, var(--c-surface) 18%, transparent);
}

html { -webkit-tap-highlight-color: transparent; }

@media (hover: none) {

a:active,
button:active,
summary:active,
input[type="submit"]:active,
input[type="button"]:active,
input[type="reset"]:active,
[role="button"]:active,
[onclick]:active {
  background-image: linear-gradient(var(--cc-tap-wash), var(--cc-tap-wash));
}

.cc-tri-opt.is-active:active,
.cc-haut-fab:active,
.cc-fab__btn:active,
.btn-primary:active,
.btn-cart:active,
.btn-nl:active,
.btn-ap-primary:active,
.order-btn-primary:active,
.cart-drawer-cta:active,
.cc-cart-ackbtn:active,
.wine-card .card-foot .cc-wine-card__cart-button:active,
.wine-card .wc-actions .cc-wine-card__cart-button:active,
.vin-cart-row .cc-wine-card__cart-button:active {
  background-image: linear-gradient(var(--cc-tap-wash-ink), var(--cc-tap-wash-ink));
}

[disabled]:active,
[aria-disabled="true"]:active,
.disabled:active,
.is-disabled:active,
.is-locked:active {
  background-image: none;
}

}

.cart-drawer-lot{list-style:none;margin:0;padding:12px 20px 14px;
  background:none;border:0;border-bottom:1px solid var(--c-line);
  box-shadow:none;border-radius:0}
.cart-drawer-lot:last-child{border-bottom:0}
.cart-drawer-lot .cdl-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;margin-bottom:2px}
.cart-drawer-lot .cdl-title,.cc-cart-lot .cdl-title{font-family:var(--ff-title);font-size:12.5px;font-weight:700;
  color:var(--c-text-strong);line-height:1.35}
.cart-drawer-lot .cdl-badge,.cc-cart-lot .cdl-badge{font-size:11px;font-weight:700;letter-spacing:.4px;
  text-transform:uppercase;color:var(--c-accent-text);background:var(--c-surface);
  border:1px solid var(--c-accent);border-radius:var(--radius-s);padding:2px 7px;line-height:1.4}
.cart-drawer-lot .cdl-title{font:700 15px/1.3 var(--ff-body)}
.cart-drawer-lot .cdl-lines{list-style:none;margin:0;padding:0}
.cart-drawer-lot .cart-drawer-item{padding:12px 0;background:transparent}
.cart-drawer-lot .cart-drawer-item:last-child{border-bottom:none}
.cart-drawer-lot .cdl-qty,.cc-cart-lot .cdl-qty{font-size:12px;font-weight:600;color:var(--c-text)}
.cart-drawer-lot .cdl-qty{display:inline-flex;align-items:center;gap:5px;
  padding:0;border:0;border-radius:0;
  font-size:13px;font-weight:700;color:var(--c-text-strong)}
.cart-drawer-lot .cdl-qty small{font-weight:400;font-size:12px;color:#8a8a8a}
.cart-drawer-lot .cdl-foot{display:flex;align-items:center;flex-wrap:wrap;gap:10px;
  margin-top:9px;padding-top:9px;border-top:1px solid var(--c-line);color:var(--c-text-strong)}
.cart-drawer-lot .cdl-count,.cc-cart-lot .cdl-count{font-size:12px;font-weight:600;color:var(--c-text)}
.cart-drawer-lot .cdl-tot,.cc-cart-lot .cdl-tot{font-size:13px;margin-left:auto}
.cart-drawer-lot .cdl-count{font-size:13px;color:var(--c-text-strong)}
.cart-drawer-lot .cdl-rem{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;
  margin-top:9px;padding-top:9px;border-top:1px solid var(--c-line);
  font-size:13px;color:var(--c-text-strong)}
.cart-drawer-lot .cdl-rem + .cdl-foot{margin-top:5px;padding-top:0;border-top:0}
.cart-drawer-lot .cdl-rem .cdl-rem-mt{margin-left:auto;font-weight:700;
  color:var(--c-text-strong);white-space:nowrap}
.cart-drawer-item--lot .cart-drawer-item-info{display:grid;grid-template-columns:1fr auto;column-gap:10px}
.cart-drawer-item--lot .cart-drawer-appel,
.cart-drawer-item--lot .cart-drawer-name{grid-column:1 / -1;padding-right:0}
.cart-drawer-item--lot .cart-drawer-bottom{grid-column:2;margin-top:0;align-self:end;justify-self:end}
.cart-drawer-item--lot .cart-drawer-price{margin-left:auto}
.cart-drawer-item--lot .cart-drawer-bottom{grid-column:1 / -1;gap:10px;margin-top:4px;justify-self:stretch}
.cart-drawer-lot .cdl-remove{margin-left:auto;font-size:13px;white-space:nowrap}
.cc-lot-warn.cc-msg{margin:8px 0 4px}
