/*
 * Tasting Box : page de vente v6 (56k, 25/09/2026).
 * Charte d'Arthur : Piepie (titres) + Manrope (texte), palette officielle.
 * Formes : boutons et pastilles en pilule ; cartes et images à 20 px d'arrondi.
 * Couleur d'action unique : rouge vin (sur fond sombre : bouton crème).
 * Thème : clair, encadré par deux bandes sombres (hero et appel final).
 */

/* Salient masqué sur cette page seulement */
body.tb-hdr #header-outer, body.tb-hdr #header-space, body.tb-hdr #search-outer,
body.tb-hdr .tb-bandeau-cadeau, body.tb-hdr #mobile-cart-link, body.tb-hdr #to-top { display: none !important; }
body.tb-hdr { padding-top: 0 !important; }

.tbh, .tbh-topbar, .tbh-header, .tbh-sticky {
	--vin: #2F1210; --vigne: #374223; --vert: #70783A; --mer: #344672; --ciel: #BFDBEF;
	--creme: #FFFEF4; --noir: #1E1E1E; --blanc: #FFFFFF;
	--r: 20px;
	--titre: "piepie", "Arial Black", sans-serif;
	--texte: "Manrope", system-ui, sans-serif;
	--ease: cubic-bezier(.16, 1, .3, 1);
	font-family: var(--texte);
}
.tbh { color: var(--noir); background: var(--creme); }
.tbh *, .tbh *::before, .tbh *::after, .tbh-header *, .tbh-sticky * { box-sizing: border-box; }

/* Remise à zéro face aux styles Salient (spécificité #id pour gagner) */
#tb-accueil h1, #tb-accueil h2, #tb-accueil h3, #tb-accueil p, #tb-accueil dl, #tb-accueil dd, #tb-accueil ol,
#tb-accueil ul, #tb-accueil li, #tb-accueil figure, #tb-accueil blockquote, #tb-accueil footer { margin: 0; padding: 0; border: 0; background: none; list-style: none; text-indent: 0; }
#tb-accueil blockquote::before, #tb-accueil blockquote::after { content: none; display: none; }
#tb-accueil p, #tb-accueil dd, #tb-accueil li, #tb-accueil blockquote, #tb-accueil figcaption, #tb-accueil summary, #tb-accueil footer {
	font-family: var(--texte); font-size: 1.0625rem; line-height: 1.6; letter-spacing: 0; color: inherit;
}
#tb-accueil img { display: block; max-width: 100%; }
#tb-accueil h3 { font-family: var(--texte); font-weight: 800; letter-spacing: 0; }

.tbh-wrap { width: min(1180px, 100% - 2.5rem); margin-inline: auto; }
#tb-accueil .tbh-h2 {
	font-family: var(--titre); font-weight: 400; letter-spacing: 0;
	font-size: clamp(1.9rem, 1.2rem + 2.4vw, 3rem); line-height: 1.05;
	color: var(--vin); max-width: 24ch;
}

/* Boutons */
.tbh-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
a.tbh-btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 3.1rem; padding: .75rem 1.6rem; border-radius: 999px; border: 2px solid transparent;
	font-family: var(--texte); font-weight: 800; font-size: 1rem; line-height: 1.2; letter-spacing: 0;
	text-decoration: none !important; white-space: nowrap;
	transition: background-color .2s var(--ease), color .2s var(--ease), transform .15s var(--ease);
}
a.tbh-btn:active { transform: translateY(1px) scale(.98); }
a.tbh-btn:focus-visible { outline: 3px solid var(--mer); outline-offset: 3px; }
a.tbh-btn--light { background: var(--creme); color: var(--vin) !important; }
a.tbh-btn--light:hover { background: var(--ciel); }
a.tbh-btn--ghost { border-color: rgba(255,254,244,.75); color: var(--creme) !important; }
a.tbh-btn--ghost:hover { background: rgba(255,254,244,.12); border-color: var(--creme); }
a.tbh-btn--wine { background: var(--vin); color: var(--creme) !important; }
a.tbh-btn--wine:hover { background: var(--vigne); }
.tbh-stars { color: #E2B343; letter-spacing: .04em; }

/* Barre du haut + header */
.tbh-topbar { background: var(--vigne); color: var(--creme); text-align: center; padding: .45rem 1rem; }
.tbh-topbar p { margin: 0; font-size: .875rem; line-height: 1.4; font-weight: 600; }
.tbh-header { position: sticky; top: 0; z-index: 900; background: var(--creme); border-bottom: 2px solid var(--vin); }
body.admin-bar .tbh-header { top: 32px; }
.tbh-header__row { display: flex; align-items: center; gap: 1.5rem; min-height: 4.25rem; }
.tbh-header__logo img { display: block; height: 48px; width: auto; }
.tbh-nav { display: flex; gap: 1.75rem; margin-left: auto; }
.tbh-nav a { font-weight: 700; font-size: 1rem; color: var(--vin) !important; text-decoration: none; padding: .25rem 0; border-bottom: 2px solid transparent; transition: border-color .2s var(--ease); }
.tbh-nav a:hover, .tbh-nav a:focus-visible { border-bottom-color: var(--vin); outline: none; }
.tbh-header__tools { display: flex; align-items: center; gap: .35rem; margin-left: 1rem; }
.tbh-icon { position: relative; display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 999px; color: var(--vin) !important; transition: background-color .2s var(--ease); }
.tbh-icon:hover { background: rgba(47,18,16,.08); }
.tbh-icon__badge { position: absolute; top: 0; right: 0; min-width: 1.1rem; height: 1.1rem; border-radius: 999px; background: var(--vin); color: var(--creme); font-size: .7rem; font-weight: 800; display: grid; place-items: center; }
.tbh-header .tbh-btn { min-height: 2.6rem; padding: .5rem 1.2rem; font-size: .95rem; }

/* Hero : titre + colonne d'action, puis la vraie table de dégustation */
.tbh-hero {
	--pied: clamp(5rem, 12vw, 10rem);
	background: linear-gradient(to bottom, var(--vin) calc(100% - var(--pied)), var(--creme) calc(100% - var(--pied)));
	color: var(--creme); padding-top: clamp(2.5rem, 5vw, 4.25rem);
}
.tbh-hero__head { display: grid; grid-template-columns: 1.25fr 1fr; gap: 1.75rem clamp(2rem, 5vw, 4.5rem); align-items: end; }
#tb-accueil .tbh-hero__title {
	font-family: var(--titre); font-weight: 400; letter-spacing: 0; color: var(--creme);
	font-size: clamp(2.4rem, 1rem + 3.6vw, 4.1rem); line-height: 1.02; max-width: 16ch;
}
#tb-accueil .tbh-hero__lead { font-size: 1.15rem; color: rgba(255,254,244,.9); max-width: 30rem; margin-bottom: 1.5rem; }
.tbh-hero__media { position: relative; margin-top: clamp(2rem, 4vw, 3.25rem); }
#tb-accueil .tbh-hero__media > img:first-child {
	width: 100%; height: auto; aspect-ratio: 2.1 / 1; object-fit: cover; object-position: 50% 12%;
	border-radius: var(--r); border: 2px solid var(--vin);
}
.tbh-hero__sticker { position: absolute; width: clamp(88px, 9vw, 136px); right: -1rem; top: -2.5rem; transform: rotate(12deg); }

/* Garanties sous le hero */
.tbh-promise { padding: clamp(1.75rem, 3vw, 2.5rem) 0 0; }
#tb-accueil .tbh-promise__list { display: grid; grid-template-columns: repeat(3, auto); justify-content: space-between; gap: 1rem 2rem; }
#tb-accueil .tbh-promise__list li { display: flex; flex-direction: column; gap: .1rem; }
#tb-accueil .tbh-promise__list strong { font-size: 1.05rem; color: var(--vin); }
#tb-accueil .tbh-promise__list span { font-size: .95rem; color: rgba(30,30,30,.72); }

/* Problème + contenu de la box (fiche Bristol) */
.tbh-box { padding: clamp(4.5rem, 9vw, 7rem) 0; }
.tbh-box__grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
#tb-accueil .tbh-box__intro > p { margin-top: 1.25rem; max-width: 34rem; }
#tb-accueil .tbh-quote-mini { margin-top: 1.75rem; padding-left: 1rem; border-left: 4px solid var(--vert); max-width: 34rem; }
#tb-accueil .tbh-quote-mini blockquote { font-weight: 600; color: var(--vigne); }
#tb-accueil .tbh-quote-mini figcaption { margin-top: .35rem; font-size: .9rem; color: rgba(30,30,30,.7); }
.tbh-fiche {
	background-color: var(--blanc);
	background-image:
		linear-gradient(to right, rgba(52,70,114,.14) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(52,70,114,.14) 1px, transparent 1px);
	background-size: 22px 22px;
	border: 2px solid var(--vin); border-radius: var(--r);
	padding: clamp(1.5rem, 3vw, 2.5rem);
	box-shadow: 8px 8px 0 var(--vigne);
	transform: rotate(-1.2deg);
}
#tb-accueil .tbh-fiche__head { font-family: var(--titre); font-size: 1.5rem; line-height: 1; color: var(--mer); }
#tb-accueil .tbh-fiche__list { margin-top: 1.25rem; display: grid; gap: 1.1rem; }
#tb-accueil .tbh-fiche__list > div { padding-top: 1.1rem; border-top: 2px dashed rgba(47,18,16,.3); }
#tb-accueil .tbh-fiche__list dt { font-family: var(--texte); font-size: 1.15rem; font-weight: 800; color: var(--vin); line-height: 1.3; }
#tb-accueil .tbh-fiche__list dd { margin-top: .25rem; }

/* Méthode : bento asymétrique, 3 cellules pour 3 étapes */
.tbh-methode { background: var(--ciel); padding: clamp(4.5rem, 9vw, 7rem) 0; }
#tb-accueil .tbh-methode .tbh-h2 { color: var(--mer); }
#tb-accueil .tbh-bento {
	counter-reset: tbh; display: grid; gap: 1.25rem; margin: 2.5rem 0;
	grid-template-columns: 1fr 1fr 1.35fr; grid-template-rows: auto auto;
}
#tb-accueil .tbh-bento__cell { counter-increment: tbh; position: relative; background: var(--creme); border: 2px solid var(--mer); border-radius: var(--r); overflow: hidden; display: flex; flex-direction: column; }
.tbh-bento__cell--1 { grid-column: 1; grid-row: 1 / 3; }
.tbh-bento__cell--2 { grid-column: 2; grid-row: 1 / 3; }
.tbh-bento__cell--3 { grid-column: 3; grid-row: 1 / 3; }
#tb-accueil .tbh-bento__cell img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
#tb-accueil .tbh-bento__cell--3 img { aspect-ratio: 4 / 3.4; }
.tbh-bento__text { padding: 1.25rem 1.4rem 1.5rem; }
.tbh-bento__text::before {
	content: counter(tbh); display: grid; place-items: center;
	width: 2.6rem; height: 2.6rem; border-radius: 999px; margin: -2.7rem 0 .75rem;
	position: relative; background: var(--mer); color: var(--creme);
	font-family: var(--titre); font-size: 1.35rem; line-height: 1; border: 3px solid var(--creme);
}
#tb-accueil .tbh-bento h3 { font-size: 1.2rem; line-height: 1.3; color: var(--mer); }
#tb-accueil .tbh-bento p { margin-top: .35rem; font-size: 1rem; }

/* Avis : une citation principale, deux secondaires, la presse */
.tbh-avis { padding: clamp(4.5rem, 9vw, 7rem) 0; }
#tb-accueil .tbh-avis__score { margin-top: .75rem; font-weight: 700; color: var(--vin); }
#tb-accueil .tbh-avis__grid { display: grid; grid-template-columns: 1.5fr 1fr .75fr; grid-template-rows: auto auto; gap: 1.25rem; margin-top: 2.25rem; }
#tb-accueil .tbh-review { background: var(--blanc); border: 2px solid var(--vin); border-radius: var(--r); padding: 1.5rem; display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; }
#tb-accueil .tbh-review--main { grid-row: 1 / 3; background: var(--vin); color: var(--creme); padding: clamp(1.75rem, 3vw, 2.5rem); }
#tb-accueil .tbh-review--main blockquote { font-family: var(--titre); font-size: clamp(1.4rem, 1rem + 1.2vw, 2rem); line-height: 1.15; }
#tb-accueil .tbh-review figcaption { font-weight: 800; font-size: .95rem; color: var(--vin); }
#tb-accueil .tbh-review--main figcaption { color: rgba(255,254,244,.85); }
#tb-accueil .tbh-presse { grid-column: 3; grid-row: 1 / 3; display: flex; flex-direction: column; gap: .6rem; }
#tb-accueil .tbh-presse img { width: 100%; height: 100%; min-height: 0; flex: 1; object-fit: cover; object-position: top; border-radius: var(--r); border: 2px solid var(--vin); }
#tb-accueil .tbh-presse a { display: flex; flex: 1; }
#tb-accueil .tbh-presse figcaption { font-weight: 800; font-size: .95rem; color: var(--vin); }

/* Offres */
.tbh-offres { background: var(--blanc); padding: clamp(4.5rem, 9vw, 7rem) 0; border-block: 2px solid var(--vin); }
#tb-accueil .tbh-offres__intro { margin-top: 1rem; max-width: 40rem; }
.tbh-offres__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(1.25rem, 3vw, 2rem); margin-top: 2.5rem; }
.tbh-offre { position: relative; display: grid; grid-template-columns: 42% 1fr; background: var(--creme); border: 2px solid var(--vin); border-radius: var(--r); overflow: hidden; }
.tbh-offre--reco { box-shadow: 8px 8px 0 var(--vigne); }
#tb-accueil .tbh-offre__tag { position: absolute; top: 1rem; left: 1rem; z-index: 1; background: var(--vigne); color: var(--creme); font-weight: 800; font-size: .85rem; padding: .3rem .8rem; border-radius: 999px; }
#tb-accueil .tbh-offre img { width: 100%; height: 100%; object-fit: cover; background: var(--blanc); }
.tbh-offre__body { padding: clamp(1.25rem, 2.5vw, 2rem); display: flex; flex-direction: column; gap: .6rem; align-items: flex-start; }
#tb-accueil .tbh-offre h3 { font-family: var(--titre); font-weight: 400; font-size: 1.75rem; line-height: 1; color: var(--vin); }
#tb-accueil .tbh-offre__prix strong { font-size: 1.9rem; color: var(--vigne); }
.tbh-offre .tbh-btn { margin-top: auto; }
#tb-accueil .tbh-offres__note { margin-top: 1.5rem; font-size: .95rem; color: rgba(30,30,30,.72); }

/* Arthur + engagements (clair) */
.tbh-arthur { padding: clamp(4.5rem, 9vw, 7rem) 0; }
.tbh-arthur__grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: end; }
#tb-accueil .tbh-arthur__quote p { font-family: var(--titre); font-size: clamp(1.7rem, 1rem + 2.2vw, 2.7rem); line-height: 1.1; color: var(--vigne); }
#tb-accueil .tbh-arthur__quote footer { margin-top: 1.25rem; font-weight: 700; color: var(--vin); }
#tb-accueil .tbh-arthur__engage { display: grid; gap: 1rem; padding-left: 1.5rem; border-left: 4px solid var(--vert); }

/* FAQ */
.tbh-faq { padding: 0 0 clamp(4.5rem, 9vw, 7rem); }
.tbh-faq__grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.tbh-faq__list details { border-top: 2px solid var(--vin); }
.tbh-faq__list details:last-child { border-bottom: 2px solid var(--vin); }
#tb-accueil .tbh-faq__list summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; padding: 1.1rem 0; font-weight: 800; font-size: 1.1rem; color: var(--vin); }
.tbh-faq__list summary::-webkit-details-marker { display: none; }
.tbh-faq__list summary::after { content: "+"; font-family: var(--titre); font-size: 1.5rem; line-height: 1; transition: transform .25s var(--ease); }
.tbh-faq__list details[open] summary::after { transform: rotate(45deg); }
.tbh-faq__list summary:focus-visible { outline: 3px solid var(--mer); outline-offset: 2px; }
#tb-accueil .tbh-faq__list details p { padding: 0 0 1.25rem; max-width: 40rem; }
#tb-accueil .tbh-faq__list a { color: var(--mer); font-weight: 700; }

/* Appel final (sombre, pendant du hero) */
.tbh-final { background: var(--vin); color: var(--creme); padding: clamp(3.5rem, 7vw, 5.5rem) 0 2rem; }
.tbh-final__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
#tb-accueil .tbh-final .tbh-h2 { color: var(--creme); margin-bottom: 1.75rem; }
#tb-accueil .tbh-final__img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--r); background: var(--blanc); }
#tb-accueil .tbh-legal { margin-top: 3rem; font-size: .85rem; color: rgba(255,254,244,.7); }

/* Barre fixe mobile */
.tbh-sticky { display: none; }

/* Mouvement : une entrée orchestrée au chargement + apparition au défilement */
@media (prefers-reduced-motion: no-preference) {
	@keyframes tbh-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
	@keyframes tbh-settle { from { opacity: 0; transform: translateY(24px) scale(.985); } to { opacity: 1; transform: none; } }
	#tb-accueil .tbh-hero__title { animation: tbh-rise .8s var(--ease) both; }
	#tb-accueil .tbh-hero__side { animation: tbh-rise .8s var(--ease) .12s both; }
	#tb-accueil .tbh-hero__media { animation: tbh-settle 1s var(--ease) .22s both; }
	@supports (animation-timeline: view()) {
		#tb-accueil .tbh-reveal { animation: tbh-rise linear both; animation-timeline: view(); animation-range: entry 0% entry 55%; }
	}
}

/* Tablette */
@media (max-width: 1000px) {
	.tbh-nav { display: none; }
	.tbh-header__tools { margin-left: auto; }
	#tb-accueil .tbh-avis__grid { grid-template-columns: 1fr 1fr; }
	#tb-accueil .tbh-review--main { grid-column: 1 / 3; grid-row: auto; }
	#tb-accueil .tbh-presse { display: none; }
}
/* Mobile */
@media (max-width: 860px) {
	.tbh-hero__head, .tbh-box__grid, .tbh-arthur__grid, .tbh-faq__grid, .tbh-final__grid { grid-template-columns: 1fr; }
	#tb-accueil .tbh-hero__media > img:first-child { aspect-ratio: 4 / 3; object-position: 30% 10%; }
	.tbh-hero__sticker { right: -.25rem; top: -1.75rem; }
	#tb-accueil .tbh-promise__list { grid-template-columns: 1fr; }
	#tb-accueil .tbh-bento { grid-template-columns: 1fr; }
	.tbh-bento__cell--1, .tbh-bento__cell--2, .tbh-bento__cell--3 { grid-column: auto; grid-row: auto; }
	.tbh-offres__grid { grid-template-columns: 1fr; }
	.tbh-fiche { transform: none; box-shadow: 6px 6px 0 var(--vigne); }
	.tbh-sticky {
		display: flex; align-items: center; justify-content: space-between; gap: 1rem;
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 901;
		padding: .7rem 1rem calc(.7rem + env(safe-area-inset-bottom));
		background: var(--creme); border-top: 2px solid var(--vin);
	}
	.tbh-sticky p { margin: 0; font-size: .95rem; line-height: 1.3; color: var(--vin); }
	.tbh-sticky .tbh-btn { min-height: 2.75rem; padding: .55rem 1.1rem; }
	body.tb-sales #footer-outer { padding-bottom: 4.5rem; }
	body.tb-sales .cky-btn-revisit-wrapper { bottom: 5.5rem !important; }
}
@media (max-width: 600px) {
	.tbh-header__cta { display: none !important; }
	.tbh-header__logo img { height: 38px; }
	.tbh-header__row { min-height: 3.75rem; }
	.tbh-topbar p { font-size: .8rem; }
	#tb-accueil .tbh-hero__title { font-size: 2.3rem; }
	#tb-accueil .tbh-hero__lead { font-size: 1rem; margin-bottom: 1.1rem; }
	.tbh-hero .tbh-actions a, .tbh-final .tbh-actions a { flex: 1 1 100%; }
	#tb-accueil .tbh-avis__grid { grid-template-columns: 1fr; }
	#tb-accueil .tbh-review--main { grid-column: auto; }
	.tbh-offre { grid-template-columns: 1fr; }
	#tb-accueil .tbh-offre img { height: auto; aspect-ratio: 4 / 3; }
}
@media (prefers-reduced-motion: reduce) {
	a.tbh-btn, .tbh-nav a, .tbh-icon, .tbh-faq__list summary::after { transition: none; }
}

/* v6.1 : correctifs vus à la capture */
#tb-accueil img { height: auto; }
#tb-accueil .tbh-offre img { height: 100%; }
.tbh-hero__head { grid-template-columns: 1fr; }
#tb-accueil .tbh-hero__title { max-width: 22ch; font-size: clamp(2.4rem, 1rem + 3.5vw, 4.05rem); }
.tbh-hero__side { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.25rem 3rem; align-items: center; }
#tb-accueil .tbh-hero__lead { margin-bottom: 0; }
@media (max-width: 860px) { .tbh-hero__side { grid-template-columns: 1fr; } }
@media (max-width: 600px) { #tb-accueil .tbh-hero__title { font-size: 2.3rem; } #tb-accueil .tbh-offre img { height: auto; } }
#tb-accueil .tbh-hero__lead { max-width: 38rem; }
.tbh-hero__media { margin-top: clamp(2.25rem, 4vw, 3.5rem); }
.tbh-hero__sticker { top: auto; right: auto; left: -1.5rem; bottom: -2.25rem; transform: rotate(-10deg); }
#tb-accueil .tbh-review--main blockquote { font-size: clamp(1.3rem, 1rem + .7vw, 1.6rem); line-height: 1.2; }
@media (max-width: 860px) { .tbh-hero__sticker { left: auto; right: -.25rem; bottom: -1.75rem; } }
#tb-accueil .tbh-hero__media { margin-top: clamp(2.25rem, 4vw, 3.5rem); }
#tb-accueil .tbh-offre__tag { position: static; align-self: flex-start; margin-bottom: .25rem; }

/* ===== v7 : header en capsule flottante (forme de l'ancien site, refaite) ===== */
.tbh-header { position: sticky; top: 0; z-index: 900; height: 0; background: none; border: 0; }
body.admin-bar .tbh-header { top: 32px; }
.tbh-capsule {
	position: relative; top: .9rem;
	display: flex; align-items: center; gap: 1.25rem;
	min-height: 4.25rem; padding: .5rem .55rem .5rem 1.4rem;
	background: var(--blanc); border-radius: 999px;
	border: 1.5px solid rgba(47,18,16,.12);
	box-shadow: 0 12px 32px -12px rgba(47,18,16,.45);
}
.tbh-capsule__logo img { display: block; height: 44px; width: auto; }
.tbh-header .tbh-nav { display: flex; gap: 1.6rem; margin-left: auto; }
.tbh-header .tbh-nav a {
	font-family: var(--titre); font-weight: 400; font-size: 1.05rem; line-height: 1;
	color: var(--vin) !important; text-decoration: none; padding: .35rem 0;
	border-bottom: 2px solid transparent; transition: border-color .2s var(--ease);
}
.tbh-header .tbh-nav a:hover, .tbh-header .tbh-nav a:focus-visible { border-bottom-color: var(--vin); outline: none; }
.tbh-capsule__tools { display: flex; align-items: center; gap: .2rem; margin-left: .5rem; }
.tbh-capsule__cta { margin-left: .4rem; }
.tbh-header a.tbh-btn { min-height: 2.9rem; padding: .55rem 1.3rem; font-size: .95rem; }
.tbh-menu { display: none; position: relative; }
.tbh-menu > summary { list-style: none; cursor: pointer; }
.tbh-menu > summary::-webkit-details-marker { display: none; }
.tbh-menu__open, .tbh-menu__close { display: inline-flex; }
.tbh-menu:not([open]) .tbh-menu__close, .tbh-menu[open] .tbh-menu__open { display: none; }
.tbh-menu__panel {
	position: absolute; right: 0; top: calc(100% + .9rem); width: min(20rem, calc(100vw - 2.5rem));
	display: flex; flex-direction: column; gap: .15rem; padding: 1rem;
	background: var(--blanc); border-radius: var(--r); border: 1.5px solid rgba(47,18,16,.12);
	box-shadow: 0 18px 40px -14px rgba(47,18,16,.45);
}
.tbh-menu__panel a:not(.tbh-btn) { font-family: var(--titre); font-size: 1.3rem; line-height: 1; color: var(--vin) !important; text-decoration: none; padding: .75rem .5rem; border-radius: 12px; }
.tbh-menu__panel a:not(.tbh-btn):hover { background: rgba(47,18,16,.06); }
.tbh-menu__panel .tbh-btn { margin-top: .5rem; }
.tbh-menu summary:focus-visible { outline: 3px solid var(--mer); outline-offset: 2px; }

/* Le hero laisse la place à la capsule qui flotte au-dessus */
#tb-accueil .tbh-hero { padding-top: calc(.9rem + 4.25rem + clamp(2.25rem, 4.5vw, 3.75rem)); }

@media (max-width: 1100px) {
	.tbh-header .tbh-nav { display: none; }
	.tbh-capsule__tools { margin-left: auto; }
	.tbh-menu { display: block; }
}
@media (max-width: 600px) {
	.tbh-capsule { top: .6rem; min-height: 3.6rem; padding: .4rem .45rem .4rem 1rem; gap: .5rem; }
	.tbh-capsule__logo img { height: 34px; }
	.tbh-capsule__cta { display: none !important; }
	#tb-accueil .tbh-hero { padding-top: calc(.6rem + 3.6rem + 1.75rem); }
}

/* v7.1 : barre + capsule en position fixe (un conteneur Salient empêche position: sticky) */
.tbh-fixed { position: fixed; top: 0; left: 0; right: 0; z-index: 900; pointer-events: none; }
.tbh-fixed .tbh-topbar, .tbh-fixed .tbh-capsule { pointer-events: auto; }
body.admin-bar .tbh-fixed { top: 32px; }
.tbh-fixed .tbh-header { position: static; height: 0; }
.tbh-fixed .tbh-capsule { top: .75rem; }
.tbh-topbar__court { display: none; }
#tb-accueil .tbh-hero { padding-top: calc(2.15rem + .75rem + 4.25rem + clamp(2.25rem, 4.5vw, 3.75rem)); }
@media (max-width: 600px) {
	.tbh-topbar__long { display: none; }
	.tbh-topbar__court { display: inline; }
	.tbh-fixed .tbh-capsule { top: .5rem; }
	#tb-accueil .tbh-hero { padding-top: calc(2rem + .5rem + 3.6rem + 1.75rem); }
}
.tbh-topbar p { padding: 0 !important; margin: 0 !important; }

/* v8 : header sur tout le site. Les autres pages laissent la place à la capsule fixe. */
body.tb-hdr:not(.tb-sales) #ajax-content-wrap { padding-top: calc(2rem + .75rem + 4.25rem + 1.5rem); }
body.tb-hdr .tbh-fixed { font-family: "Manrope", system-ui, sans-serif; }
@media (max-width: 600px) { body.tb-hdr:not(.tb-sales) #ajax-content-wrap { padding-top: calc(2rem + .5rem + 3.6rem + 1rem); } }
/* v8.1 : la zone du header prend le rouge vin, comme sur l'ancien site (capsule posée sur fond sombre) */
body.tb-hdr:not(.tb-sales) { --tbh-zone: calc(2rem + .75rem + 4.25rem + 1.5rem); }
body.tb-hdr:not(.tb-sales) #ajax-content-wrap { background: linear-gradient(to bottom, #2F1210 var(--tbh-zone), transparent var(--tbh-zone)); }
@media (max-width: 600px) { body.tb-hdr:not(.tb-sales) { --tbh-zone: calc(2rem + .5rem + 3.6rem + 1rem); } }
body.tb-hdr:not(.tb-sales) #ajax-content-wrap { padding-top: var(--tbh-zone) !important; }

/* ===== Page de souscription ===== */
.tbs-head { background: var(--vin); color: var(--creme); padding: .5rem 0 clamp(2.5rem, 5vw, 3.5rem); }
#tb-accueil .tbs-title { font-family: var(--titre); font-weight: 400; letter-spacing: 0; color: var(--creme); font-size: clamp(2.2rem, 1.2rem + 3vw, 3.6rem); line-height: 1.02; }
#tb-accueil .tbs-lead { margin-top: .9rem; max-width: 36rem; color: rgba(255,254,244,.88); font-size: 1.1rem; }
.tbs-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: clamp(1.5rem, 4vw, 3rem); align-items: start; padding: clamp(2rem, 4vw, 3rem) 0 clamp(3rem, 6vw, 5rem); }
.tbs-step { border: 0; margin: 0 0 2.25rem; padding: 0; min-width: 0; }
#tb-accueil .tbs-step legend { display: flex; align-items: center; gap: .7rem; padding: 0; margin-bottom: 1rem; font-family: var(--titre); font-size: 1.6rem; line-height: 1; color: var(--vin); }
.tbs-step__num { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 999px; background: var(--vin); color: var(--creme); font-size: 1.1rem; }
.tbs-levels { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.tbs-rythmes { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; }
.tbs-level, .tbs-rythme {
	position: relative; display: flex; flex-direction: column; cursor: pointer;
	background: var(--blanc); border: 2px solid rgba(47,18,16,.2); border-radius: var(--r); overflow: hidden;
	transition: border-color .2s var(--ease), box-shadow .2s var(--ease), transform .15s var(--ease);
}
.tbs-level:hover, .tbs-rythme:hover { border-color: rgba(47,18,16,.55); }
.tbs-level input, .tbs-rythme input { position: absolute; opacity: 0; pointer-events: none; }
.tbs-level:has(input:checked), .tbs-rythme:has(input:checked) { border-color: var(--vin); box-shadow: 6px 6px 0 var(--vigne); }
.tbs-level:has(input:focus-visible), .tbs-rythme:has(input:focus-visible) { outline: 3px solid var(--mer); outline-offset: 3px; }
.tbs-level:has(input:checked)::after, .tbs-rythme:has(input:checked)::after {
	content: ""; position: absolute; top: .8rem; right: .8rem; width: 1.5rem; height: 1.5rem; border-radius: 999px;
	background: var(--vin) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%23FFFEF4' d='M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z'/%3E%3C/svg%3E") center / 60% no-repeat;
}
#tb-accueil .tbs-level img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; background: var(--blanc); }
.tbs-level__body { display: flex; flex-direction: column; gap: .3rem; padding: 1rem 1.15rem 1.2rem; }
.tbs-level__nom { font-family: var(--titre); font-size: 1.45rem; line-height: 1; color: var(--vin); }
.tbs-level__prix { font-size: 1rem; }
.tbs-level__prix strong { font-size: 1.35rem; color: var(--vigne); }
.tbs-level__pour { font-size: .95rem; color: rgba(30,30,30,.75); line-height: 1.45; }
.tbs-rythme { padding: 1rem 1.1rem; gap: .2rem; min-height: 5.25rem; justify-content: center; }
.tbs-rythme__titre { font-weight: 800; font-size: 1.05rem; color: var(--vin); padding-right: 1.8rem; }
.tbs-rythme__detail { font-size: .9rem; color: rgba(30,30,30,.7); }
#tb-accueil .tbs-note { margin-top: .8rem; font-size: .95rem; color: rgba(30,30,30,.72); }
#tb-accueil .tbs-gift { font-size: 1rem; }
#tb-accueil .tbs-gift a { color: var(--mer); font-weight: 700; }
.tbs-recap { position: sticky; top: 8.25rem; background: var(--blanc); border: 2px solid var(--vin); border-radius: var(--r); padding: 1.5rem; display: flex; flex-direction: column; gap: .5rem; }
#tb-accueil .tbs-recap__title { font-size: .95rem; font-weight: 700; color: rgba(30,30,30,.65); }
#tb-accueil .tbs-recap__nom { font-family: var(--titre); font-size: 1.7rem; line-height: 1; color: var(--vin); }
#tb-accueil .tbs-recap__rythme { font-weight: 800; color: var(--vigne); }
#tb-accueil .tbs-recap__prix strong { font-size: 1.6rem; color: var(--vin); }
#tb-accueil .tbs-recap__list { display: grid; gap: .45rem; margin: .5rem 0 .75rem; }
#tb-accueil .tbs-recap__list li { position: relative; padding-left: 1.4rem; font-size: .95rem; line-height: 1.45; }
#tb-accueil .tbs-recap__list li::before { content: ""; position: absolute; left: 0; top: .45em; width: .7rem; height: .4rem; border-left: 2px solid var(--vigne); border-bottom: 2px solid var(--vigne); transform: rotate(-45deg); }
button.tbs-submit {
	display: inline-flex; align-items: center; justify-content: center; width: 100%;
	min-height: 3.25rem; padding: .8rem 1.5rem; border-radius: 999px; border: 0; cursor: pointer;
	background: var(--vin); color: var(--creme); font-family: var(--texte); font-weight: 800; font-size: 1.05rem; letter-spacing: 0; text-transform: none;
	transition: background-color .2s var(--ease), transform .15s var(--ease);
}
button.tbs-submit:hover { background: var(--vigne); }
button.tbs-submit:active { transform: translateY(1px) scale(.98); }
button.tbs-submit:focus-visible { outline: 3px solid var(--mer); outline-offset: 3px; }
#tb-accueil .tbs-recap__secure { font-size: .85rem; color: rgba(30,30,30,.65); text-align: center; }
#tb-accueil .tbs-quote { margin-top: .75rem; padding-top: .9rem; border-top: 2px dashed rgba(47,18,16,.2); }
#tb-accueil .tbs-quote blockquote { font-size: .95rem; font-weight: 600; color: var(--vigne); }
#tb-accueil .tbs-quote figcaption { font-size: .85rem; color: rgba(30,30,30,.65); margin-top: .2rem; }
#tb-accueil .tbs-legal { padding-bottom: 2.5rem; font-size: .85rem; color: rgba(30,30,30,.6); }
@media (max-width: 900px) {
	.tbs-grid { grid-template-columns: 1fr; }
	.tbs-recap { position: static; }
}
@media (max-width: 600px) {
	.tbs-levels, .tbs-rythmes { grid-template-columns: 1fr; }
	.tbs-rythme { min-height: 0; }
	#tb-accueil .tbs-level img { aspect-ratio: 16 / 9; }
}
@media (prefers-reduced-motion: reduce) { .tbs-level, .tbs-rythme, button.tbs-submit { transition: none; } }
#tb-accueil button.tbs-submit, #tb-accueil button.tbs-submit:focus { background: #2F1210 !important; color: #FFFEF4 !important; border: 0 !important; box-shadow: none !important; }
#tb-accueil button.tbs-submit:hover { background: #374223 !important; }
#tb-accueil .tbs-legal { margin-inline: auto; }

/* ===== v8 : hero plein écran « deux verres » ===== */
#tb-accueil .tbh-hero--v8 {
	position: relative; isolation: isolate; overflow: hidden; background: var(--vin);
	min-height: min(94dvh, 920px); display: flex; align-items: flex-end;
	padding: calc(2.15rem + .75rem + 4.25rem + 2rem) 0 clamp(3rem, 7vw, 5.5rem);
}
#tb-accueil .tbh-hero--v8 .tbh-hero__bg {
	position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%;
	object-fit: cover; object-position: 62% 50%;
}
#tb-accueil .tbh-hero--v8::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background:
		linear-gradient(90deg, rgba(47,18,16,.94) 0%, rgba(47,18,16,.82) 34%, rgba(47,18,16,.35) 62%, rgba(47,18,16,0) 82%),
		linear-gradient(0deg, rgba(47,18,16,.55) 0%, rgba(47,18,16,0) 40%);
}
#tb-accueil .tbh-hero--v8 .tbh-hero__content { position: relative; }
#tb-accueil .tbh-hero--v8 .tbh-hero__title {
	font-size: clamp(2.7rem, 1.2rem + 5vw, 5.8rem); line-height: .98; max-width: 11ch; margin: 0 0 1.5rem;
	color: var(--creme); text-wrap: balance;
}
#tb-accueil .tbh-hero--v8 .tbh-hero__lead { max-width: 31rem; font-size: 1.2rem; color: rgba(255,254,244,.92); margin: 0 0 2rem; }
#tb-accueil .tbh-hero--v8 .tbh-actions { margin: 0; }
#tb-accueil .tbh-hero--v8 a.tbh-btn { min-height: 3.4rem; padding: .85rem 1.9rem; font-size: 1.05rem; }
#tb-accueil .tbh-hero__note { margin-top: 1rem; font-size: .95rem; font-weight: 600; color: rgba(255,254,244,.8); }
@media (prefers-reduced-motion: no-preference) {
	@keyframes tbh-zoom { from { transform: scale(1.07); } to { transform: scale(1); } }
	#tb-accueil .tbh-hero--v8 .tbh-hero__bg { animation: tbh-zoom 2.4s var(--ease) both; }
	#tb-accueil .tbh-hero--v8 .tbh-hero__title { animation: tbh-rise .9s var(--ease) .15s both; }
	#tb-accueil .tbh-hero--v8 .tbh-hero__lead, #tb-accueil .tbh-hero--v8 .tbh-actions, #tb-accueil .tbh-hero__note { animation: tbh-rise .9s var(--ease) .3s both; }
}

/* Section « Dans chaque box » : intro, puis la vraie table avec la fiche posée dessus */
#tb-accueil .tbh-box__intro { display: grid; grid-template-columns: 1.1fr .9fr; gap: 1.5rem clamp(2rem, 5vw, 4.5rem); align-items: end; }
#tb-accueil .tbh-box__intro .tbh-h2 { grid-row: span 2; }
#tb-accueil .tbh-box__intro > p { margin-top: 0; }
#tb-accueil .tbh-box__intro .tbh-quote-mini { margin-top: 0; }
.tbh-box__stage { position: relative; margin-top: clamp(2.5rem, 5vw, 4rem); padding-bottom: clamp(3rem, 8vw, 7rem); }
#tb-accueil .tbh-box__photo { width: 78%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: 50% 30%; border-radius: var(--r); border: 2px solid var(--vin); }
#tb-accueil .tbh-box__stage .tbh-fiche { position: absolute; right: 0; bottom: 0; width: min(430px, 42%); }

@media (max-width: 860px) {
	#tb-accueil .tbh-hero--v8 { min-height: 0; padding-top: calc(2rem + .5rem + 3.6rem + 12rem); }
	#tb-accueil .tbh-hero--v8 .tbh-hero__bg { object-position: 70% 30%; }
	#tb-accueil .tbh-hero--v8::before { background: linear-gradient(0deg, rgba(47,18,16,.96) 0%, rgba(47,18,16,.88) 48%, rgba(47,18,16,.25) 78%, rgba(47,18,16,.05) 100%); }
	#tb-accueil .tbh-box__intro { grid-template-columns: 1fr; }
	#tb-accueil .tbh-box__intro .tbh-h2 { grid-row: auto; }
	.tbh-box__stage { padding-bottom: 0; }
	#tb-accueil .tbh-box__photo { width: 100%; }
	#tb-accueil .tbh-box__stage .tbh-fiche { position: relative; width: auto; margin: -2.5rem .75rem 0; }
}
@media (max-width: 600px) {
	#tb-accueil .tbh-hero--v8 .tbh-hero__title { font-size: 2.6rem; }
	#tb-accueil .tbh-hero--v8 .tbh-hero__lead { font-size: 1.05rem; margin-bottom: 1.5rem; }
	#tb-accueil .tbh-hero--v8 .tbh-actions a { flex: 1 1 100%; }
}
@media (max-width: 600px) {
	#tb-accueil .tbh-hero--v8 { padding-top: calc(2rem + .5rem + 3.6rem + 6.5rem); padding-bottom: 2.25rem; }
	#tb-accueil .tbh-hero--v8 .tbh-hero__bg { object-position: 58% 62%; }
	#tb-accueil .tbh-hero--v8 .tbh-hero__title { font-size: 2.35rem; margin-bottom: 1rem; }
	#tb-accueil .tbh-hero--v8 .tbh-hero__lead { margin-bottom: 1.25rem; }
	#tb-accueil .tbh-hero--v8 .tbh-actions { gap: .6rem; }
	#tb-accueil .tbh-hero--v8 a.tbh-btn { min-height: 3.1rem; padding: .7rem 1.5rem; }
}

/* ===== Page cadeau ===== */
.tbc-hero { background: var(--vin); color: var(--creme); padding: .75rem 0 clamp(2.5rem, 5vw, 4rem); }
.tbc-hero__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
#tb-accueil .tbc-hero .tbs-title { font-size: clamp(2.4rem, 1.2rem + 3.6vw, 4.4rem); line-height: 1; margin-bottom: 1.1rem; text-wrap: balance; }
#tb-accueil .tbc-hero .tbs-lead { margin: 0 0 1.75rem; }
#tb-accueil .tbc-hero a.tbh-btn { min-height: 3.3rem; padding: .8rem 1.9rem; font-size: 1.05rem; }
.tbc-hero__media { position: relative; }
#tb-accueil .tbc-hero__media > img:first-child { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r); border: 2px solid rgba(255,254,244,.25); }
.tbc-hero__sticker { position: absolute; width: clamp(88px, 9vw, 128px); left: -1.5rem; bottom: -1.75rem; transform: rotate(-10deg); }
.tbc-who { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.tbc-fields { display: grid; gap: 1rem; margin-top: 1.25rem; }
#tb-accueil .tbc-field { display: grid; gap: .4rem; }
#tb-accueil .tbc-field[hidden] { display: none; }
#tb-accueil .tbc-field label { font-weight: 800; font-size: .95rem; color: var(--vin); }
#tb-accueil .tbc-field label span { font-weight: 500; color: rgba(30,30,30,.6); }
#tb-accueil .tbc-field input, #tb-accueil .tbc-field textarea {
	width: 100%; font-family: var(--texte); font-size: 1rem; line-height: 1.5; color: var(--noir);
	background: var(--blanc); border: 2px solid rgba(47,18,16,.25); border-radius: 14px; padding: .8rem 1rem; box-shadow: none;
}
#tb-accueil .tbc-field input::placeholder, #tb-accueil .tbc-field textarea::placeholder { color: rgba(30,30,30,.5); }
#tb-accueil .tbc-field input:focus, #tb-accueil .tbc-field textarea:focus { outline: 3px solid var(--mer); outline-offset: 1px; border-color: var(--vin); }
#tb-accueil .tbs-notices:empty { display: none; }
#tb-accueil .tbs-notices { grid-column: 1 / -1; }
@media (max-width: 860px) {
	.tbc-hero__grid { grid-template-columns: 1fr; }
	.tbc-hero__media { order: -1; }
	#tb-accueil .tbc-hero__media > img:first-child { aspect-ratio: 16 / 10; }
	.tbc-hero__sticker { left: auto; right: -.25rem; bottom: -1.25rem; }
}
@media (max-width: 600px) { .tbc-who { grid-template-columns: 1fr; } #tb-accueil .tbc-hero .tbs-title { font-size: 2.3rem; } }
/* Pas de filet entre la zone du header et la première section sombre (arrondi à 113,6 px) */
#tb-accueil .tbc-hero, #tb-accueil .tbs-head { margin-top: -2px; }
@media (max-width: 860px) {
	.tbc-hero__media { order: 0; }
	#tb-accueil .tbc-hero__media > img:first-child { aspect-ratio: 16 / 9; }
}

/* ===== Variantes de hero à comparer (A : table + fiche, B : clair + montage) ===== */
a.tbh-btn--outline { border-color: var(--vin) !important; color: var(--vin) !important; background: transparent; }
a.tbh-btn--outline:hover { background: var(--vin); color: var(--creme) !important; }

/* A */
#tb-accueil .tbh-hero--a {
	position: relative; isolation: isolate; overflow: hidden; background: var(--vin);
	min-height: min(94dvh, 940px); display: flex; align-items: flex-end;
	padding: calc(2.15rem + .75rem + 4.25rem + 2rem) 0 clamp(2.5rem, 5vw, 4rem);
}
#tb-accueil .tbh-hero--a .tbh-hero__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 55% 35%; }
#tb-accueil .tbh-hero--a::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(47,18,16,.55) 0%, rgba(47,18,16,0) 22%, rgba(47,18,16,0) 70%, rgba(47,18,16,.35) 100%); }
#tb-accueil .tbh-hero__card {
	max-width: 36rem; padding: clamp(1.75rem, 3vw, 2.6rem);
	background-color: var(--creme);
	background-image: linear-gradient(to right, rgba(52,70,114,.13) 1px, transparent 1px), linear-gradient(to bottom, rgba(52,70,114,.13) 1px, transparent 1px);
	background-size: 22px 22px;
	border: 2px solid var(--vin); border-radius: var(--r);
	box-shadow: 10px 10px 0 var(--vigne); transform: rotate(-1.5deg);
}
#tb-accueil .tbh-hero--a .tbh-hero__title { color: var(--vin); font-size: clamp(2.4rem, 1.2rem + 3.2vw, 4.2rem); line-height: 1; max-width: 12ch; margin: 0 0 1rem; }
#tb-accueil .tbh-hero--a .tbh-hero__lead { color: var(--noir); font-size: 1.1rem; margin: 0 0 1.5rem; max-width: 30rem; }
#tb-accueil .tbh-hero--a .tbh-actions { margin: 0; }
#tb-accueil .tbh-hero--a .tbh-hero__note, #tb-accueil .tbh-hero--b .tbh-hero__note { color: rgba(30,30,30,.7); }

/* B */
#tb-accueil .tbh-hero--b { background: var(--creme); color: var(--noir); padding: calc(2.15rem + .75rem + 4.25rem + 2.5rem) 0 clamp(3rem, 6vw, 5rem); }
.tbh-hero__grid-b { display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
#tb-accueil .tbh-hero--b .tbh-hero__title { color: var(--vin); font-size: clamp(2.5rem, 1.2rem + 3.6vw, 4.6rem); line-height: 1; max-width: 13ch; margin: 0 0 1.25rem; }
#tb-accueil .tbh-hero--b .tbh-hero__lead { color: var(--noir); font-size: 1.15rem; margin: 0 0 1.75rem; max-width: 32rem; }
#tb-accueil .tbh-hero--b .tbh-actions { margin: 0; }
.tbh-hero__collage { position: relative; padding: 0 0 12% 10%; }
#tb-accueil .tbh-collage__main { width: 100%; height: auto; aspect-ratio: 5 / 4; object-fit: cover; object-position: 60% 50%; border-radius: var(--r); border: 2px solid var(--vin); box-shadow: 10px 10px 0 var(--vigne); }
#tb-accueil .tbh-collage__second { position: absolute; left: 0; bottom: 0; width: 46%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r); border: 4px solid var(--creme); transform: rotate(-4deg); box-shadow: 0 14px 30px -12px rgba(47,18,16,.5); }
.tbh-collage__sticker { position: absolute; top: -1.75rem; right: -1rem; width: clamp(84px, 9vw, 128px); transform: rotate(12deg); }

@media (prefers-reduced-motion: no-preference) {
	#tb-accueil .tbh-hero__card { animation: tbh-rise .9s var(--ease) .1s both; }
	#tb-accueil .tbh-hero--a .tbh-hero__bg { animation: tbh-zoom 2.4s var(--ease) both; }
	#tb-accueil .tbh-hero--b .tbh-hero__text-b { animation: tbh-rise .8s var(--ease) both; }
	#tb-accueil .tbh-hero__collage { animation: tbh-settle 1s var(--ease) .15s both; }
}
@media (max-width: 860px) {
	#tb-accueil .tbh-hero--a { min-height: 0; display: block; padding: calc(2rem + .5rem + 3.6rem + 15rem) 0 1.5rem; }
	#tb-accueil .tbh-hero--a .tbh-hero__bg { height: calc(2rem + .5rem + 3.6rem + 18rem); object-position: 45% 30%; }
	#tb-accueil .tbh-hero--a::before { background: linear-gradient(180deg, rgba(47,18,16,.5) 0%, rgba(47,18,16,0) 30%); height: calc(2rem + .5rem + 3.6rem + 18rem); }
	#tb-accueil .tbh-hero--a { background: var(--creme); }
	#tb-accueil .tbh-hero__card { transform: none; box-shadow: 6px 6px 0 var(--vigne); }
	.tbh-hero__grid-b { grid-template-columns: 1fr; }
	#tb-accueil .tbh-hero--b { padding-top: calc(2rem + .5rem + 3.6rem + 1.5rem); }
	.tbh-hero__collage { padding: 0 0 18% 6%; }
}
@media (max-width: 600px) {
	#tb-accueil .tbh-hero--a .tbh-hero__title, #tb-accueil .tbh-hero--b .tbh-hero__title { font-size: 2.3rem; }
	#tb-accueil .tbh-hero--a .tbh-actions a, #tb-accueil .tbh-hero--b .tbh-actions a { flex: 1 1 100%; }
}
#tb-accueil .tbh-hero--a .tbh-hero__bg { object-position: 50% 4%; }
#tb-accueil .tbh-hero--b .tbh-hero__title { font-size: clamp(2.4rem, 1.2rem + 2.6vw, 3.7rem); max-width: 14ch; }
@media (max-width: 600px) {
	#tb-accueil .tbh-hero--a { padding-top: calc(2rem + .5rem + 3.6rem + 7.5rem); }
	#tb-accueil .tbh-hero--a .tbh-hero__bg, #tb-accueil .tbh-hero--a::before { height: calc(2rem + .5rem + 3.6rem + 10rem); }
	#tb-accueil .tbh-hero__card { padding: 1.4rem 1.25rem; }
	#tb-accueil .tbh-hero--a .tbh-hero__title { font-size: 2.1rem; margin-bottom: .75rem; }
	#tb-accueil .tbh-hero--a .tbh-hero__lead { font-size: 1rem; margin-bottom: 1.1rem; }
	#tb-accueil .tbh-hero--a .tbh-actions { gap: .55rem; }
	#tb-accueil .tbh-hero--a a.tbh-btn { min-height: 2.9rem; }
}

/* ===== Hero C : produit en grand à droite, fond clair (codes Trois Fois Vin / Firstleaf) ===== */
#tb-accueil .tbh-hero--c {
	position: relative; background: var(--creme); color: var(--noir); overflow: hidden;
	min-height: min(88dvh, 820px); display: flex; align-items: center;
	padding: calc(2.15rem + .75rem + 4.25rem + 2rem) 0 clamp(3rem, 6vw, 4.5rem);
}
#tb-accueil .tbh-hero--c .tbh-hero__product {
	position: absolute; top: 0; right: 0; bottom: 0; width: 50%; height: 100%;
	object-fit: cover; object-position: 30% 50%;
}
#tb-accueil .tbh-hero--c .tbh-hero__content { position: relative; }
#tb-accueil .tbh-hero__text-c { max-width: 46%; }
#tb-accueil .tbh-hero--c .tbh-hero__title { color: var(--vin); font-size: clamp(2.5rem, 1rem + 3.6vw, 4.5rem); line-height: 1.02; margin: 0 0 1.25rem; text-wrap: balance; max-width: none; }
#tb-accueil .tbh-hero--c .tbh-hero__lead { color: var(--noir); font-size: 1.15rem; margin: 0 0 1.9rem; max-width: 31rem; }
#tb-accueil .tbh-hero--c .tbh-actions { margin: 0; }
#tb-accueil .tbh-hero--c a.tbh-btn { min-height: 3.35rem; padding: .85rem 1.8rem; font-size: 1.05rem; }
#tb-accueil .tbh-hero--c .tbh-hero__note { color: rgba(30,30,30,.72); margin-top: 1rem; }
.tbh-proof { background: var(--vin); color: var(--creme); padding: 1.1rem 0; }
#tb-accueil .tbh-proof__list { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .6rem 2rem; }
#tb-accueil .tbh-proof__list li { font-weight: 700; font-size: .98rem; color: var(--creme); }
@media (prefers-reduced-motion: no-preference) {
	#tb-accueil .tbh-hero__text-c { animation: tbh-rise .8s var(--ease) both; }
	#tb-accueil .tbh-hero--c .tbh-hero__product { animation: tbh-zoom 2.2s var(--ease) both; }
}
@media (max-width: 860px) {
	#tb-accueil .tbh-hero--c { display: block; min-height: 0; padding-top: calc(2rem + .5rem + 3.6rem + 15.5rem); }
	#tb-accueil .tbh-hero--c .tbh-hero__product { width: 100%; height: calc(2rem + .5rem + 3.6rem + 14rem); bottom: auto; object-position: 50% 45%; }
	#tb-accueil .tbh-hero__text-c { max-width: none; }
	#tb-accueil .tbh-proof__list { justify-content: flex-start; }
}
@media (max-width: 600px) {
	#tb-accueil .tbh-hero--c { padding-top: calc(2rem + .5rem + 3.6rem + 11.5rem); padding-bottom: 2rem; }
	#tb-accueil .tbh-hero--c .tbh-hero__product { height: calc(2rem + .5rem + 3.6rem + 10.5rem); }
	#tb-accueil .tbh-hero--c .tbh-hero__title { font-size: 2.2rem; margin-bottom: .9rem; }
	#tb-accueil .tbh-hero--c .tbh-hero__lead { font-size: 1rem; margin-bottom: 1.2rem; }
	#tb-accueil .tbh-hero--c .tbh-actions a { flex: 1 1 100%; }
	#tb-accueil .tbh-hero--c a.tbh-btn { min-height: 3rem; }
	#tb-accueil .tbh-proof__list { display: grid; grid-template-columns: 1fr 1fr; }
	#tb-accueil .tbh-proof__list li { font-size: .88rem; }
}
#tb-accueil .tbh-hero__text-c { max-width: 50%; padding-right: 2rem; }
#tb-accueil .tbh-hero--c .tbh-hero__title { font-size: clamp(2.3rem, .8rem + 2.75vw, 3.35rem); line-height: 1.05; }
@media (max-width: 860px) { #tb-accueil .tbh-hero__text-c { max-width: none; padding-right: 0; } }
@media (max-width: 600px) {
	#tb-accueil .tbh-hero--c { padding-top: calc(2rem + .5rem + 3.6rem + 7.25rem); }
	#tb-accueil .tbh-hero--c .tbh-hero__product { height: calc(2rem + .5rem + 3.6rem + 6.25rem); object-position: 55% 55%; }
	#tb-accueil .tbh-hero--c .tbh-hero__title { font-size: 1.95rem; }
	#tb-accueil .tbh-hero--c .tbh-hero__title br { display: none; }
}
@media (min-width: 861px) {
	#tb-accueil .tbh-hero--c .tbh-hero__product { width: 44%; }
	#tb-accueil .tbh-hero__text-c { max-width: 57%; padding-right: 1.5rem; }
	#tb-accueil .tbh-hero--c .tbh-hero__title { font-size: clamp(2.2rem, .6rem + 2.55vw, 3.05rem); white-space: nowrap; }
}
@media (min-width: 861px) and (max-width: 1100px) { #tb-accueil .tbh-hero--c .tbh-hero__title { white-space: normal; } }

/* ===== Hero D : mise en page v7 (rouge vin + vraie table) + texte du C ===== */
#tb-accueil .tbh-hero--d { background: linear-gradient(to bottom, var(--vin) calc(100% - clamp(5rem, 11vw, 9rem)), var(--vin) calc(100% - clamp(5rem, 11vw, 9rem))); padding-bottom: 0; }
#tb-accueil .tbh-hero--d .tbh-hero__title { font-size: clamp(2.4rem, .8rem + 3.3vw, 4rem); line-height: 1.04; max-width: none; margin: 0; }
#tb-accueil .tbh-hero--d .tbh-hero__side { margin-top: 1.5rem; }
#tb-accueil .tbh-hero--d .tbh-hero__lead { max-width: 34rem; }
#tb-accueil .tbh-hero--d .tbh-hero__note { margin-top: .85rem; color: rgba(255,254,244,.78); }
#tb-accueil .tbh-hero--d .tbh-hero__media { margin: clamp(2rem, 4vw, 3rem) 0 0; }
#tb-accueil .tbh-hero--d .tbh-hero__media > img:first-child { aspect-ratio: 2.35 / 1; object-position: 50% 30%; border-radius: var(--r) var(--r) 0 0; border-bottom: 0; }
#tb-accueil .tbh-hero--d .tbh-hero__sticker { top: -2.25rem; bottom: auto; right: -1rem; left: auto; transform: rotate(12deg); }
#tb-accueil .tbh-hero--d + .tbh-proof { position: relative; }
@media (max-width: 860px) {
	#tb-accueil .tbh-hero--d .tbh-hero__media > img:first-child { aspect-ratio: 4 / 3; }
}
@media (max-width: 600px) {
	#tb-accueil .tbh-hero--d .tbh-hero__title { font-size: 2.05rem; }
	#tb-accueil .tbh-hero--d .tbh-hero__title br { display: none; }
	#tb-accueil .tbh-hero--d .tbh-hero__side { margin-top: 1rem; }
	#tb-accueil .tbh-hero--d .tbh-hero__lead { font-size: 1rem; margin-bottom: 1.1rem; }
	#tb-accueil .tbh-hero--d .tbh-actions a { flex: 1 1 100%; }
	#tb-accueil .tbh-hero--d .tbh-hero__media { margin-top: 1.5rem; }
}
@media (max-width: 860px) { #tb-accueil .tbh-hero--d .tbh-hero__head { gap: 0; } #tb-accueil .tbh-hero--d { padding-top: calc(2rem + .5rem + 3.6rem + 1.5rem); } }

/* ===== Hero E : le meilleur de Graza (photo plein cadre, titre dessus), Ghia (bande qui défile),
   Omsom (sticker éclat), Brightland (preuve sociale sous l'image) ===== */
#tb-accueil .tbh-hero--e {
	position: relative; isolation: isolate; overflow: hidden; background: var(--vin); color: var(--creme);
	min-height: min(100dvh, 960px); display: flex; flex-direction: column; justify-content: flex-end;
	padding: calc(2.15rem + .75rem + 4.25rem + 2rem) 0 0;
}
#tb-accueil .tbh-hero--e .tbh-hero__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 60% 30%; }
#tb-accueil .tbh-hero--e::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background:
		linear-gradient(0deg, rgba(30,12,10,.88) 0%, rgba(30,12,10,.55) 32%, rgba(30,12,10,0) 62%),
		linear-gradient(90deg, rgba(30,12,10,.55) 0%, rgba(30,12,10,0) 55%),
		linear-gradient(180deg, rgba(30,12,10,.45) 0%, rgba(30,12,10,0) 18%);
}
#tb-accueil .tbh-hero--e .tbh-hero__content { position: relative; padding-bottom: clamp(2rem, 4vw, 3.25rem); }
#tb-accueil .tbh-hero--e .tbh-hero__title { color: var(--creme); font-size: clamp(2.5rem, .6rem + 4.4vw, 5.2rem); line-height: 1; max-width: none; margin: 0 0 1.25rem; }
#tb-accueil .tbh-hero--e .tbh-hero__lead { max-width: 34rem; font-size: 1.15rem; color: rgba(255,254,244,.9); margin: 0 0 1.75rem; }
#tb-accueil .tbh-hero--e .tbh-actions { align-items: center; gap: 1.5rem; margin: 0; }
#tb-accueil .tbh-hero--e a.tbh-btn { min-height: 3.5rem; padding: .9rem 2rem; font-size: 1.1rem; }
#tb-accueil a.tbh-hero__link { color: var(--creme) !important; font-weight: 800; font-size: 1.05rem; text-decoration: underline; text-underline-offset: .3em; text-decoration-thickness: 2px; }
#tb-accueil a.tbh-hero__link:hover { color: var(--ciel) !important; }
/* Sticker éclat */
#tb-accueil .tbh-burst {
	position: absolute; right: 0; bottom: clamp(3rem, 7vw, 6rem);
	width: clamp(150px, 15vw, 210px); aspect-ratio: 1; display: grid; place-items: center; text-align: center;
	background: var(--ciel); color: var(--vin);
	clip-path: polygon(50% 0%,61% 12%,76% 5%,79% 21%,95% 24%,89% 39%,100% 50%,89% 61%,95% 76%,79% 79%,76% 95%,61% 88%,50% 100%,39% 88%,24% 95%,21% 79%,5% 76%,11% 61%,0% 50%,11% 39%,5% 24%,21% 21%,24% 5%,39% 12%);
	transform: rotate(-10deg);
}
#tb-accueil .tbh-burst span { font-family: var(--titre); font-size: clamp(1rem, .6rem + .8vw, 1.35rem); line-height: 1.05; }
/* Bande qui défile */
.tbh-marquee { position: relative; display: flex; overflow: hidden; background: var(--creme); color: var(--vin); border-top: 2px solid var(--vin); }
#tb-accueil .tbh-marquee__track { display: flex; flex-shrink: 0; gap: 0; padding: .95rem 0; }
#tb-accueil .tbh-marquee__track li { display: flex; align-items: center; white-space: nowrap; font-family: var(--titre); font-size: 1.15rem; line-height: 1; color: var(--vin); padding: 0 1.4rem; }
#tb-accueil .tbh-marquee__track li::after { content: ""; width: .55rem; height: .55rem; border-radius: 999px; background: var(--vigne); margin-left: 2.8rem; }
@media (prefers-reduced-motion: no-preference) {
	@keyframes tbh-defile { from { transform: translateX(0); } to { transform: translateX(-100%); } }
	#tb-accueil .tbh-marquee__track { animation: tbh-defile 38s linear infinite; }
	.tbh-marquee:hover .tbh-marquee__track { animation-play-state: paused; }
	#tb-accueil .tbh-hero--e .tbh-hero__bg { animation: tbh-zoom 2.4s var(--ease) both; }
	#tb-accueil .tbh-hero--e .tbh-hero__content > * { animation: tbh-rise .9s var(--ease) both; }
	#tb-accueil .tbh-burst { animation: tbh-rise .9s var(--ease) .35s both; }
}
@media (prefers-reduced-motion: reduce) { .tbh-marquee { flex-wrap: wrap; } .tbh-marquee__track[aria-hidden] { display: none !important; } }
@media (max-width: 860px) {
	#tb-accueil .tbh-hero--e { min-height: min(100dvh, 780px); padding-top: calc(2rem + .5rem + 3.6rem + 8rem); }
	#tb-accueil .tbh-hero--e .tbh-hero__bg { object-position: 42% 30%; }
	#tb-accueil .tbh-burst { right: .25rem; bottom: auto; top: -7.5rem; width: 128px; }
	#tb-accueil .tbh-hero--e .tbh-hero__title br { display: none; }
}
@media (max-width: 600px) {
	#tb-accueil .tbh-hero--e .tbh-hero__title { font-size: 2.3rem; margin-bottom: .9rem; }
	#tb-accueil .tbh-hero--e .tbh-hero__lead { font-size: 1rem; margin-bottom: 1.25rem; }
	#tb-accueil .tbh-hero--e .tbh-actions { gap: 1rem; }
	#tb-accueil .tbh-hero--e a.tbh-btn { flex: 1 1 100%; min-height: 3.2rem; }
	#tb-accueil .tbh-marquee__track li { font-size: 1rem; }
}
#tb-accueil .tbh-burst { bottom: 100%; top: auto; right: 1%; margin-bottom: -1.5rem; }
@media (max-width: 860px) {
	#tb-accueil .tbh-burst { bottom: 100%; top: auto; right: .25rem; margin-bottom: .5rem; width: 118px; }
	#tb-accueil .tbh-hero--e::before { background: linear-gradient(0deg, rgba(30,12,10,.94) 0%, rgba(30,12,10,.86) 45%, rgba(30,12,10,.45) 70%, rgba(30,12,10,.2) 100%); }
}
@media (max-width: 600px) { #tb-accueil .tbh-hero--e .tbh-hero__title { font-size: 2.1rem; } #tb-accueil .tbh-hero--e { padding-top: calc(2rem + .5rem + 3.6rem + 9.5rem); } }
@media (max-width: 860px) { #tb-accueil .tbh-burst { width: 132px; } #tb-accueil .tbh-burst span { font-size: .82rem; } }
@media (min-width: 861px) { #tb-accueil .tbh-hero--e .tbh-hero__title { font-size: clamp(2.2rem, .5rem + 2.2vw, 2.85rem); line-height: 1.05; } }

/* ===== Bandeau cookies (CookieYes) aux couleurs de la charte ===== */
body.tb-hdr { --ck-vin: #2F1210; --ck-vigne: #374223; --ck-creme: #FFFEF4; --ck-ciel: #BFDBEF; --ck-mer: #344672; }
body.tb-hdr .cky-consent-container .cky-consent-bar,
body.tb-hdr .cky-preference-center, body.tb-hdr .cky-modal .cky-preference-center {
	background-color: var(--ck-creme) !important; border: 2px solid var(--ck-vin) !important; border-radius: 20px !important;
	box-shadow: 8px 8px 0 var(--ck-vigne) !important; font-family: "Manrope", system-ui, sans-serif !important;
}
body.tb-hdr .cky-consent-container { width: 420px !important; }
body.tb-hdr .cky-consent-container .cky-consent-bar { padding: 1.5rem 1.5rem 1.35rem !important; }
body.tb-hdr .cky-title, body.tb-hdr .cky-preference-title {
	font-family: "piepie", "Arial Black", sans-serif !important; font-weight: 400 !important; font-size: 1.35rem !important; line-height: 1.1 !important; color: var(--ck-vin) !important; letter-spacing: 0 !important;
}
body.tb-hdr .cky-notice-des, body.tb-hdr .cky-notice-des p, body.tb-hdr .cky-preference-content-wrapper, body.tb-hdr .cky-preference-content-wrapper p,
body.tb-hdr .cky-accordion-header-des, body.tb-hdr .cky-accordion-header-des p {
	font-family: "Manrope", system-ui, sans-serif !important; font-size: .92rem !important; line-height: 1.55 !important; color: #1E1E1E !important;
}
body.tb-hdr .cky-notice .cky-title { margin-bottom: .6rem !important; }
body.tb-hdr .cky-notice-btn-wrapper, body.tb-hdr .cky-prefrence-btn-wrapper { gap: .5rem !important; margin-top: 1.1rem !important; }
body.tb-hdr .cky-btn {
	border-radius: 999px !important; font-family: "Manrope", system-ui, sans-serif !important; font-weight: 800 !important; font-size: .9rem !important;
	padding: .65rem 1rem !important; min-height: 2.75rem !important; letter-spacing: 0 !important; text-transform: none !important; box-shadow: none !important;
	transition: background-color .2s ease, color .2s ease !important;
}
body.tb-hdr .cky-btn-accept { background: var(--ck-vin) !important; border: 2px solid var(--ck-vin) !important; color: var(--ck-creme) !important; }
body.tb-hdr .cky-btn-accept:hover { background: var(--ck-vigne) !important; border-color: var(--ck-vigne) !important; }
body.tb-hdr .cky-btn-reject, body.tb-hdr .cky-btn-preferences, body.tb-hdr .cky-btn-customize {
	background: transparent !important; border: 2px solid var(--ck-vin) !important; color: var(--ck-vin) !important;
}
body.tb-hdr .cky-btn-reject:hover, body.tb-hdr .cky-btn-preferences:hover, body.tb-hdr .cky-btn-customize:hover { background: rgba(47,18,16,.07) !important; }
body.tb-hdr .cky-btn:focus-visible { outline: 3px solid var(--ck-mer) !important; outline-offset: 2px !important; }
body.tb-hdr .cky-show-desc-btn, body.tb-hdr .cky-notice-des a, body.tb-hdr .cky-preference-content-wrapper a { color: var(--ck-mer) !important; font-weight: 700 !important; }
body.tb-hdr .cky-always-active { color: var(--ck-vigne) !important; font-weight: 800 !important; }
body.tb-hdr .cky-accordion-btn, body.tb-hdr .cky-accordion-header .cky-accordion-btn { font-family: "Manrope", system-ui, sans-serif !important; font-weight: 800 !important; color: var(--ck-vin) !important; }
body.tb-hdr .cky-preference-header, body.tb-hdr .cky-footer-wrapper, body.tb-hdr .cky-accordion { border-color: rgba(47,18,16,.15) !important; }
body.tb-hdr .cky-footer-shadow { background: linear-gradient(180deg, rgba(255,254,244,0) 0%, var(--ck-creme) 100%) !important; }
body.tb-hdr .cky-switch input[type="checkbox"]:checked { background: var(--ck-vigne) !important; }
body.tb-hdr .cky-overlay { background: rgba(47,18,16,.55) !important; }
body.tb-hdr .cky-btn-close img, body.tb-hdr .cky-btn-close svg { filter: brightness(0) saturate(100%); }
body.tb-hdr .cky-notice-group { font-size: inherit !important; }
body.tb-hdr .cky-footer-wrapper .cky-prefrence-btn-wrapper .cky-btn { flex: 1 1 0 !important; }
/* Petit bouton de rappel */
body.tb-hdr .cky-btn-revisit-wrapper { background: var(--ck-vin) !important; width: 46px !important; height: 46px !important; box-shadow: 3px 3px 0 var(--ck-vigne) !important; }
body.tb-hdr .cky-btn-revisit-wrapper .cky-btn-revisit img { filter: brightness(0) invert(1); }
@media (max-width: 600px) {
	body.tb-hdr .cky-consent-container { width: calc(100% - 1.5rem) !important; left: .75rem !important; right: .75rem !important; bottom: .75rem !important; }
	body.tb-hdr .cky-notice-btn-wrapper .cky-btn { flex: 1 1 100% !important; margin: 0 !important; }
	body.tb-hdr .cky-consent-container .cky-consent-bar { box-shadow: 5px 5px 0 var(--ck-vigne) !important; }
}
body.tb-hdr .cky-consent-bar .cky-title { margin: 0 0 .65rem !important; padding: 0 !important; }
body.tb-hdr .cky-notice-group, body.tb-hdr .cky-notice-des { margin-top: 0 !important; padding-top: 0 !important; }
body.tb-hdr .cky-notice-des p { margin: 0 !important; }
/* CNIL : refuser aussi visible qu'accepter */
body.tb-hdr .cky-btn-reject { background: var(--ck-vin) !important; border-color: var(--ck-vin) !important; color: var(--ck-creme) !important; }
body.tb-hdr .cky-btn-reject:hover { background: var(--ck-vigne) !important; border-color: var(--ck-vigne) !important; }
@media (max-width: 600px) { body.tb-hdr .cky-notice-des, body.tb-hdr .cky-notice-des p { font-size: .85rem !important; } body.tb-hdr .cky-title { font-size: 1.2rem !important; } }
@media (max-width: 600px) {
	body.tb-hdr .cky-consent-container .cky-consent-bar { padding: 1.25rem !important; }
	body.tb-hdr .cky-notice, body.tb-hdr .cky-notice-group, body.tb-hdr .cky-notice-des, body.tb-hdr .cky-notice-btn-wrapper { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
	body.tb-hdr .cky-notice-btn-wrapper { margin-top: 1rem !important; }
}
body.tb-hdr .cky-show-desc-btn, body.tb-hdr .cky-preference-content-wrapper .cky-show-desc-btn, body.tb-hdr .cky-accordion-header .cky-always-active { color: var(--ck-vin) !important; font-weight: 800 !important; }
body.tb-hdr .cky-switch input[type="checkbox"]:checked { background: var(--ck-vigne) !important; }
body.tb-hdr .cky-accordion-btn { color: var(--ck-vin) !important; }
body.tb-hdr .cky-preference-title { font-size: 1.15rem !important; line-height: 1.15 !important; }

/* ===== Hero E sur grille 12 colonnes (bords = bords du header) ===== */
#tb-accueil .tbh-hero__rule { display: none; }
@media (min-width: 861px) {
	#tb-accueil .tbh-grid-e {
		display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(1rem, 2vw, 1.5rem);
		align-items: end; padding-bottom: clamp(2.25rem, 4vw, 3.5rem);
	}
	#tb-accueil .tbh-hero--e .tbh-grid-e .tbh-hero__title { grid-column: 1 / span 7; grid-row: 1; margin: 0; }
	#tb-accueil .tbh-hero--e .tbh-grid-e .tbh-burst {
		grid-column: 10 / -1; grid-row: 1; justify-self: end; align-self: end;
		position: relative; inset: auto; margin: 0; width: clamp(140px, 12vw, 176px);
	}
	#tb-accueil .tbh-hero--e .tbh-hero__rule {
		display: block; grid-column: 1 / -1; grid-row: 2; height: 1px; margin: clamp(1.5rem, 2.5vw, 2.25rem) 0;
		background: rgba(255,254,244,.35);
	}
	#tb-accueil .tbh-hero--e .tbh-grid-e .tbh-hero__lead { grid-column: 1 / span 6; grid-row: 3; align-self: center; margin: 0; max-width: 34rem; }
	#tb-accueil .tbh-hero--e .tbh-grid-e .tbh-actions { grid-column: 7 / -1; grid-row: 3; justify-self: end; align-self: center; flex-wrap: nowrap; }
}
/* Étiquette : le texte suit la taille de l'étoile (60 % de sa largeur au plus) */
#tb-accueil .tbh-hero--e .tbh-burst { --bw: 132px; width: var(--bw) !important; }
#tb-accueil .tbh-hero--e .tbh-burst span { font-size: calc(var(--bw) * .08) !important; line-height: 1.1; }
@media (min-width: 861px) { #tb-accueil .tbh-hero--e .tbh-burst { --bw: clamp(150px, 12vw, 180px); translate: -.5rem 0; } }
#tb-accueil .tbh-hero--e .tbh-burst { --bw: 144px; }
#tb-accueil .tbh-hero--e .tbh-burst span { font-size: calc(var(--bw) * .09) !important; }
@media (min-width: 861px) { #tb-accueil .tbh-hero--e .tbh-burst { --bw: clamp(170px, 14vw, 210px); } }

/* ===== Hero E validé (Mendar 26/09) : titre réagrandi, sur 9 colonnes ===== */
@media (min-width: 861px) {
	#tb-accueil .tbh-hero--e .tbh-grid-e .tbh-hero__title { grid-column: 1 / span 9; font-size: clamp(2.6rem, .8rem + 3vw, 3.6rem); line-height: 1.02; }
}
/* Cadre de la fenêtre de préférences : transparent, sinon ses coins blancs dépassent de la carte arrondie */
body.tb-hdr .cky-modal { background: transparent !important; border-radius: 20px !important; box-shadow: none !important; }
body.tb-hdr .cky-consent-container { background: transparent !important; }

/* ===== Vérification d'âge (Age Gate) aux couleurs de la charte ===== */
body.tb-hdr .age-gate__background-color { background-color: rgba(47,18,16,.62) !important; }
body.tb-hdr .age-gate {
	background: #FFFEF4 !important; color: #2F1210 !important;
	border: 2px solid #2F1210 !important; border-radius: 20px !important; box-shadow: 8px 8px 0 #374223 !important;
	max-width: 440px !important; padding: 2rem 2rem 1.75rem !important; font-family: "Manrope", system-ui, sans-serif !important;
}
body.tb-hdr .age-gate__heading { margin: 0 0 1.25rem !important; }
body.tb-hdr .age-gate__heading-title--logo { width: auto !important; max-width: 220px !important; height: auto !important; max-height: 72px !important; margin: 0 auto !important; display: block !important; object-fit: contain !important; }
body.tb-hdr .age-gate__headline {
	font-family: "piepie", "Arial Black", sans-serif !important; font-weight: 400 !important; font-size: 1.7rem !important; line-height: 1.08 !important;
	color: #2F1210 !important; margin: 0 0 .5rem !important; letter-spacing: 0 !important; text-transform: none !important;
}
body.tb-hdr .age-gate__subheadline:empty { display: none !important; }
body.tb-hdr .age-gate__challenge { font-size: 1.05rem !important; font-weight: 600 !important; color: #2F1210 !important; margin: 0 0 1.25rem !important; }
body.tb-hdr .age-gate__buttons { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: .75rem !important; }
body.tb-hdr .age-gate__submit {
	font-family: "Manrope", system-ui, sans-serif !important; font-weight: 800 !important; font-size: 1rem !important;
	min-height: 3rem !important; padding: .75rem 1.25rem !important; border-radius: 999px !important; cursor: pointer !important;
	border: 2px solid #2F1210 !important; transition: background-color .2s ease, color .2s ease !important; margin: 0 !important;
}
body.tb-hdr .age-gate__submit--yes { background: #2F1210 !important; color: #FFFEF4 !important; }
body.tb-hdr .age-gate__submit--no { background: transparent !important; color: #2F1210 !important; }
body.tb-hdr .age-gate__submit--yes:hover { background: #374223 !important; border-color: #374223 !important; }
body.tb-hdr .age-gate__submit--no:hover { background: rgba(47,18,16,.08) !important; }
body.tb-hdr .age-gate__remember-wrapper { margin-top: 1.1rem !important; }
body.tb-hdr .age-gate__remember { display: inline-flex !important; align-items: center !important; gap: .5rem !important; color: #2F1210 !important; }
body.tb-hdr .age-gate__remember-field { accent-color: #374223 !important; width: 1.05rem !important; height: 1.05rem !important; margin: 0 !important; }
body.tb-hdr .age-gate__remember-text { color: #2F1210 !important; font-size: .95rem !important; font-weight: 600 !important; }
body.tb-hdr .age-gate__errors { color: #8a1c1c !important; font-weight: 700 !important; }
@media (max-width: 600px) {
	body.tb-hdr .age-gate { width: calc(100% - 2.5rem) !important; padding: 1.6rem 1.35rem 1.4rem !important; box-shadow: 6px 6px 0 #374223 !important; }
	body.tb-hdr .age-gate__headline { font-size: 1.45rem !important; }
}
/* Âge : boutons en pilule (le thème impose ses coins), espacements resserrés, bouton cookies masqué pendant la vérification */
html body.tb-hdr div.age-gate button.age-gate__submit { border-radius: 999px !important; --ag-button-radius: 999px; }
html body.tb-hdr div.age-gate .age-gate__subheadline { display: none !important; }
html body.tb-hdr div.age-gate .age-gate__heading { margin: 0 0 1.1rem !important; }
html body.tb-hdr div.age-gate .age-gate__headline { margin: 0 0 .9rem !important; }
html body.tb-hdr div.age-gate .age-gate__fields, html body.tb-hdr div.age-gate .age-gate__form > * { margin-top: 0 !important; }
html body.tb-hdr div.age-gate .age-gate__challenge { margin: 0 0 1.1rem !important; padding: 0 !important; }
html body.tb-hdr div.age-gate .age-gate__remember-wrapper { margin: 1.1rem 0 0 !important; }
html.age-gate__restricted .cky-btn-revisit-wrapper { display: none !important; }
/* Ordre : vérification d'âge d'abord, bandeau cookies ensuite (sinon, sur iPhone, le bandeau recouvre « Oui ») */
html.age-gate__restricted .cky-consent-container { display: none !important; }

/* ===== Hero : voir davantage le vin (pistes A et B, 26/09) ===== */
/* A : même photo, cadrée en haut (bouteilles entières), dégradés allégés en haut et à gauche */
#tb-accueil .tbh-hero--fond-a .tbh-hero__bg { object-position: 30% 0%; }
#tb-accueil .tbh-hero--fond-a::before {
	background:
		linear-gradient(0deg, rgba(30,12,10,.9) 0%, rgba(30,12,10,.6) 30%, rgba(30,12,10,0) 55%),
		linear-gradient(180deg, rgba(30,12,10,.25) 0%, rgba(30,12,10,0) 14%) !important;
}
/* B : la box ouverte, les deux bouteilles en grand */
#tb-accueil .tbh-hero--fond-b .tbh-hero__bg { object-position: 50% 40%; }
#tb-accueil .tbh-hero--fond-b::before {
	background:
		linear-gradient(0deg, rgba(30,12,10,.92) 0%, rgba(30,12,10,.65) 30%, rgba(30,12,10,0) 58%),
		linear-gradient(180deg, rgba(30,12,10,.3) 0%, rgba(30,12,10,0) 16%) !important;
}
@media (max-width: 860px) {
	#tb-accueil .tbh-hero--fond-a .tbh-hero__bg { object-position: 12% 0%; }
	#tb-accueil .tbh-hero--fond-b .tbh-hero__bg { object-position: 58% 30%; }
	#tb-accueil .tbh-hero--fond-a::before, #tb-accueil .tbh-hero--fond-b::before { background: linear-gradient(0deg, rgba(30,12,10,.94) 0%, rgba(30,12,10,.82) 42%, rgba(30,12,10,.2) 68%, rgba(30,12,10,.1) 100%) !important; }
}

/* ===== Barre du haut retirée (Mendar 26/09) : décalages recalculés sans elle ===== */
.tbh-topbar { display: none !important; }
#tb-accueil .tbh-hero--e { padding-top: calc(.75rem + 4.25rem + 2rem); }
body.tb-hdr:not(.tb-sales) { --tbh-zone: calc(.75rem + 4.25rem + 1.5rem); }
@media (max-width: 860px) { #tb-accueil .tbh-hero--e { padding-top: calc(.5rem + 3.6rem + 8rem); } }
@media (max-width: 600px) {
	#tb-accueil .tbh-hero--e { padding-top: calc(.5rem + 3.6rem + 9.5rem); }
	body.tb-hdr:not(.tb-sales) { --tbh-zone: calc(.5rem + 3.6rem + 1rem); }
	body.tb-hdr:not(.tb-sales) #ajax-content-wrap { padding-top: var(--tbh-zone) !important; }
}

/* ===== « Sans engagement » en argument ===== */
#tb-accueil .tbh-hero__garantie { margin: 1rem 0 0; font-size: .95rem; font-weight: 600; color: rgba(255,254,244,.85); }
@media (min-width: 861px) {
	#tb-accueil .tbh-hero--e .tbh-grid-e .tbh-hero__garantie { grid-column: 7 / -1; grid-row: 4; justify-self: end; text-align: right; }
}
#tb-accueil .tbh-args {
	list-style: none; margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	border: 2px solid var(--vin); border-radius: 20px; background: var(--creme); overflow: hidden;
}
#tb-accueil .tbh-args li { display: grid; gap: .3rem; padding: 1.25rem 1.5rem; margin: 0; }
#tb-accueil .tbh-args li + li { border-left: 2px solid var(--vin); }
#tb-accueil .tbh-args strong { font-family: var(--titre); font-weight: 400; font-size: 1.2rem; line-height: 1.1; color: var(--vin); }
#tb-accueil .tbh-args span { font-size: 1rem; color: var(--noir); }
@media (max-width: 700px) {
	#tb-accueil .tbh-args { grid-template-columns: 1fr; }
	#tb-accueil .tbh-args li + li { border-left: 0; border-top: 2px solid var(--vin); }
}
@media (min-width: 861px) { #tb-accueil .tbh-hero--e .tbh-grid-e .tbh-hero__garantie { grid-column: 1 / -1; white-space: nowrap; } }
@media (max-width: 860px) {
	/* La barre fixe du bas porte déjà « sans engagement » ; l'argument complet est sous les offres */
	#tb-accueil .tbh-hero__garantie { display: none; }
	#tb-accueil .tbh-hero--e .tbh-burst { --bw: 128px; }
}
@media (max-width: 600px) {
	body.tb-sales .cky-btn-revisit-wrapper { left: auto !important; right: 12px !important; bottom: calc(87px + 12px) !important; width: 40px !important; height: 40px !important; }
}
.tbh-sticky { transition: transform .3s ease; }
.tbh-sticky.is-cachee { transform: translateY(110%); }
@media (max-width: 860px) { #tb-accueil .tbh-hero--e { min-height: min(100dvh, 780px); } }
@media (max-width: 600px) { body.tb-sales:has(.tbh-sticky.is-cachee) .cky-btn-revisit-wrapper { bottom: 12px !important; } }

/* =====================================================================
   Mouvement & rythme (26/09) : espacements, ancres, apparitions, header
   ===================================================================== */
:root { --tbm-ease: cubic-bezier(0.22, 1, 0.36, 1); }
/* Plus d'air entre les sections */
.tbh-box, .tbh-methode, .tbh-avis, .tbh-offres, .tbh-arthur { padding-block: clamp(5.5rem, 11vw, 9rem); }
.tbh-faq { padding-bottom: clamp(5.5rem, 11vw, 9rem); }
.tbh-final { padding-top: clamp(4.5rem, 9vw, 7rem); }
/* Ancres : défilement doux, arrêt sous le header */
@media (prefers-reduced-motion: no-preference) { html:has(body.tb-hdr) { scroll-behavior: smooth; } }
main.tbh [id] { scroll-margin-top: 6.5rem; }
@media (max-width: 600px) { main.tbh [id] { scroll-margin-top: 5rem; } }
/* Menu : section en cours */
.tbh-header .tbh-nav a.is-active { border-bottom-color: currentColor; }
/* Header : resserré, puis effacé en descendant */
.tbh-fixed { transition: translate .45s var(--tbm-ease); }
.tbh-fixed.is-hidden { translate: 0 -130%; }
.tbh-capsule { transition: box-shadow .3s ease, min-height .3s var(--tbm-ease), padding .3s var(--tbm-ease); }
.tbh-fixed.is-compact .tbh-capsule { box-shadow: 0 18px 40px -18px rgba(47,18,16,.55); }
@media (min-width: 861px) { .tbh-fixed.is-compact .tbh-capsule { min-height: 3.75rem; } }
/* Boutons : légère élévation au survol (souris seulement) */
@media (hover: hover) and (pointer: fine) {
	a.tbh-btn, button.tbh-btn { transition: translate .25s var(--tbm-ease), box-shadow .25s var(--tbm-ease), background-color .2s ease, color .2s ease; }
	a.tbh-btn:hover, button.tbh-btn:hover { translate: 0 -2px; box-shadow: 0 12px 24px -14px rgba(47,18,16,.7); }
	.tbh-offre img { transition: scale .8s var(--tbm-ease); }
	.tbh-offre:hover img { scale: 1.04; }
}
/* Apparitions (actives seulement si le script a démarré ; sinon tout s'affiche au bout de 3 s) */
@keyframes tbm-up { from { opacity: 0; translate: 0 28px; } to { opacity: 1; translate: 0 0; } }
@keyframes tbm-mot { from { translate: 0 115%; } to { translate: 0 0; } }
@keyframes tbm-img { from { clip-path: inset(100% 0 0 0 round 20px); scale: 1.06; } to { clip-path: inset(0 0 0 0 round 20px); scale: 1; } }
@keyframes tbm-pop { 0% { opacity: 0; scale: .5; rotate: -25deg; } 60% { opacity: 1; } 100% { opacity: 1; scale: 1; rotate: 0deg; } }
html:not(.tbm-off) #tb-accueil .tbh-reveal { animation: none !important; }
html:not(.tbm-off) [data-tbm="up"]:not(.is-in) { opacity: 0; }
html:not(.tbm-off) [data-tbm="up"].is-in { animation: tbm-up .9s var(--tbm-ease) both !important; animation-delay: calc(var(--i, 0) * 50ms) !important; }
html:not(.tbm-off) [data-tbm="titre"] .tbm-w { display: inline-block; overflow: hidden; vertical-align: top; padding: .14em 0 .1em; margin: -.14em 0 -.1em; }
html:not(.tbm-off) [data-tbm="titre"] .tbm-wi { display: inline-block; }
html:not(.tbm-off) [data-tbm="titre"]:not(.is-in) .tbm-wi { translate: 0 115%; }
html:not(.tbm-off) [data-tbm="titre"] { animation: none !important; }
html:not(.tbm-off) [data-tbm="titre"].is-in .tbm-wi { animation: tbm-mot 1s var(--tbm-ease) both; animation-delay: calc(var(--w, 0) * 40ms); }
html:not(.tbm-off) [data-tbm="img"]:not(.is-in) { clip-path: inset(100% 0 0 0); }
html:not(.tbm-off) [data-tbm="img"].is-in { animation: tbm-img 1.3s var(--tbm-ease) both !important; }
html:not(.tbm-off) [data-tbm="pop"]:not(.is-in) { opacity: 0; }
html:not(.tbm-off) [data-tbm="pop"].is-in { animation: tbm-pop .9s cubic-bezier(.34, 1.56, .64, 1) .5s both !important; }
@media (prefers-reduced-motion: reduce) {
	.tbh-fixed, .tbh-capsule, a.tbh-btn { transition: none !important; }
	.tbh-fixed.is-hidden { translate: none; }
}
#tb-accueil .tbh-offre img.tbh-offre__visu { object-fit: contain; background: var(--ciel); padding: 1.25rem; }
/* Mention légale alignée sur la grille (une règle du thème annulait ses marges) */
#tb-accueil p.tbh-legal { margin-inline: auto !important; }
/* Méthode : trois cartes égales sur la grille, même proportion de photo */
@media (min-width: 861px) {
	#tb-accueil .tbh-bento { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto; align-items: stretch; }
	.tbh-bento__cell--1, .tbh-bento__cell--2, .tbh-bento__cell--3 { grid-row: auto; }
}
#tb-accueil .tbh-bento__cell img, #tb-accueil .tbh-bento__cell--3 img { aspect-ratio: 4 / 3; height: auto; }

/* =====================================================================
   Parcours de paiement (panier, commande, confirmation, compte) : charte du site
   ===================================================================== */
body.tb-woo {
	--vin: #2F1210; --vigne: #374223; --vert: #70783A; --mer: #344672; --ciel: #BFDBEF;
	--creme: #FFFEF4; --noir: #1E1E1E; --blanc: #FFFFFF; --r: 20px;
	--titre: "piepie", "Arial Black", sans-serif; --texte: "Manrope", system-ui, sans-serif;
	--line: rgba(47, 18, 16, .18);
}
body.tb-woo, body.tb-woo .container-wrap { background: var(--creme) !important; }
body.tb-woo .woocommerce { max-width: 1180px; margin-inline: auto; font-family: var(--texte); color: var(--noir); }
body.tb-woo .woocommerce :is(p, li, td, th, label, span, a, input, select, textarea, button) { font-family: var(--texte); }
body.tb-woo .container-wrap { padding-top: 2.5rem !important; padding-bottom: clamp(4rem, 8vw, 6rem) !important; }

/* Repère d'étapes + titre */
body.tb-woo .tbw-head { margin: 0 0 2.25rem; }
body.tb-woo .tbw-steps { list-style: none; margin: 0 0 1.5rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.75rem; }
body.tb-woo .tbw-steps li { display: flex; align-items: center; gap: .6rem; margin: 0; padding: 0; font-size: .95rem; font-weight: 700; color: rgba(47, 18, 16, .45); }
body.tb-woo .tbw-steps li + li::before { content: ""; width: 2rem; height: 2px; background: var(--line); margin-right: 1.15rem; }
body.tb-woo .tbw-steps__num { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 999px; border: 2px solid currentColor; font-size: .9rem; font-weight: 800; }
body.tb-woo .tbw-steps li.is-current { color: var(--vin); }
body.tb-woo .tbw-steps li.is-current .tbw-steps__num { background: var(--vin); border-color: var(--vin); color: var(--creme); }
body.tb-woo .tbw-steps li.is-done { color: var(--vigne); }
body.tb-woo .tbw-steps li.is-done .tbw-steps__num { background: var(--vigne); border-color: var(--vigne); color: var(--creme); }
body.tb-woo h1.tbw-title { font-family: var(--titre) !important; font-weight: 400 !important; font-size: clamp(2rem, 1.2rem + 2.4vw, 3.1rem) !important; line-height: 1.02 !important; color: var(--vin) !important; margin: 0 !important; letter-spacing: 0 !important; }

/* Titres de blocs */
body.tb-woo .woocommerce :is(h2, h3), body.tb-woo #order_review_heading, body.tb-woo .cart_totals > h2 {
	font-family: var(--titre) !important; font-weight: 400 !important; font-size: 1.45rem !important; line-height: 1.15 !important;
	color: var(--vin) !important; letter-spacing: 0 !important; text-transform: none !important; margin: 0 0 1.1rem !important;
}

/* Champs */
body.tb-woo .woocommerce form .form-row { margin: 0 0 1rem !important; padding: 0 !important; }
body.tb-woo .woocommerce form .form-row label, body.tb-woo .woocommerce form label:not(.woocommerce-form__label-for-checkbox):not(.screen-reader-text) {
	display: block; font-size: .9rem !important; font-weight: 700 !important; color: var(--vin) !important; margin: 0 0 .4rem !important; line-height: 1.3 !important;
}
body.tb-woo .woocommerce .required { color: var(--vin) !important; text-decoration: none !important; border: 0 !important; }
body.tb-woo .woocommerce :is(input.input-text, input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], textarea, select),
body.tb-woo .select2-container--default .select2-selection--single {
	background: var(--blanc) !important; border: 2px solid var(--line) !important; border-radius: 14px !important; box-shadow: none !important;
	min-height: 3.15rem !important; padding: .7rem 1rem !important; font-size: 1rem !important; color: var(--noir) !important; line-height: 1.4 !important;
	transition: border-color .2s ease, box-shadow .2s ease;
}
body.tb-woo .woocommerce textarea { min-height: 6rem !important; }
body.tb-woo .select2-container--default .select2-selection--single { display: flex !important; align-items: center !important; height: auto !important; }
body.tb-woo .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0 !important; line-height: 1.4 !important; color: var(--noir) !important; }
body.tb-woo .select2-container--default .select2-selection--single .select2-selection__arrow { height: 100% !important; right: .75rem !important; }
body.tb-woo .woocommerce :is(input.input-text, input[type="text"], input[type="email"], input[type="tel"], input[type="password"], textarea, select):focus,
body.tb-woo .select2-container--focus .select2-selection--single, body.tb-woo .select2-container--open .select2-selection--single {
	border-color: var(--vin) !important; box-shadow: 0 0 0 4px rgba(191, 219, 239, .9) !important; outline: none !important;
}
body.tb-woo .woocommerce ::placeholder { color: rgba(30, 30, 30, .45) !important; }
body.tb-woo .woocommerce input[type="checkbox"], body.tb-woo .woocommerce input[type="radio"] { accent-color: var(--vigne); width: 1.1rem; height: 1.1rem; }
body.tb-woo .woocommerce form .form-row.woocommerce-invalid :is(input.input-text, select) { border-color: #8a1c1c !important; }

/* Boutons : pilule vin (principal), contour (secondaire) */
body.tb-woo .woocommerce a.button, body.tb-woo .woocommerce button.button, body.tb-woo .woocommerce input.button,
body.tb-woo .woocommerce .checkout-button, body.tb-woo .woocommerce .button.alt, body.tb-woo #payment #place_order {
	display: inline-flex !important; align-items: center; justify-content: center; gap: .5rem;
	min-height: 3.1rem !important; padding: .8rem 1.6rem !important; border-radius: 999px !important;
	background: var(--vin) !important; color: var(--creme) !important; border: 2px solid var(--vin) !important;
	font-family: var(--texte) !important; font-weight: 800 !important; font-size: 1rem !important; line-height: 1.2 !important;
	text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; opacity: 1 !important; text-decoration: none !important;
}
body.tb-woo #payment #place_order, body.tb-woo .woocommerce a.checkout-button { width: 100% !important; min-height: 3.6rem !important; font-size: 1.1rem !important; }
body.tb-woo .woocommerce button.button[name="update_cart"], body.tb-woo .woocommerce button.button[name="apply_coupon"], body.tb-woo .woocommerce form.checkout_coupon button.button, body.tb-woo .woocommerce .woocommerce-MyAccount-content a.button.view {
	background: transparent !important; color: var(--vin) !important;
}
body.tb-woo .woocommerce button.button:disabled, body.tb-woo .woocommerce button.button[disabled] { opacity: .45 !important; cursor: not-allowed; }
@media (hover: hover) and (pointer: fine) {
	body.tb-woo .woocommerce :is(a.button, button.button, #place_order, .checkout-button) { transition: translate .25s cubic-bezier(.22,1,.36,1), box-shadow .25s ease, background-color .2s ease !important; }
	body.tb-woo .woocommerce :is(a.button, button.button, #place_order, .checkout-button):not(:disabled):hover { translate: 0 -2px; box-shadow: 0 12px 24px -14px rgba(47,18,16,.7) !important; }
}

/* Messages et lien code promo */
body.tb-woo .woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-notice) {
	background: var(--blanc) !important; color: var(--vin) !important; border: 2px solid var(--vin) !important; border-radius: 16px !important;
	padding: 1rem 1.25rem !important; margin: 0 0 1.5rem !important; font-size: 1rem !important; line-height: 1.5 !important; box-shadow: none !important; list-style: none;
}
body.tb-woo .woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error)::before { display: none !important; }
body.tb-woo .woocommerce .woocommerce-error { border-color: #8a1c1c !important; color: #8a1c1c !important; }
body.tb-woo .woocommerce :is(.woocommerce-info, .woocommerce-message) a { color: var(--vin) !important; font-weight: 800; text-decoration: underline; text-underline-offset: .2em; }
body.tb-woo .woocommerce-form-coupon-toggle .woocommerce-info { background: transparent !important; border-style: dashed !important; }
body.tb-woo .woocommerce form.checkout_coupon { border: 2px dashed var(--line) !important; border-radius: 16px !important; padding: 1.25rem !important; margin: -.75rem 0 1.5rem !important; }

/* Cartes : récapitulatif de commande et total panier */
body.tb-woo #order_review, body.tb-woo .cart_totals, body.tb-woo .woocommerce-order-details, body.tb-woo .woocommerce-customer-details {
	background: var(--blanc) !important; border: 2px solid var(--vin) !important; border-radius: var(--r) !important;
	box-shadow: 8px 8px 0 var(--vigne) !important; padding: 1.5rem !important;
}
body.tb-woo .woocommerce table.shop_table { border: 0 !important; border-radius: 0 !important; background: transparent !important; margin: 0 0 1rem !important; }
body.tb-woo .woocommerce table.shop_table :is(th, td) { border: 0 !important; border-bottom: 1px dashed var(--line) !important; padding: .9rem 0 !important; background: transparent !important; color: var(--noir) !important; font-size: .98rem !important; }
body.tb-woo .woocommerce table.shop_table th { font-weight: 700 !important; color: var(--vin) !important; }
body.tb-woo .woocommerce table.shop_table :is(.order-total, .order-total td, .order-total th) :is(strong, .amount), body.tb-woo .woocommerce .order-total .amount { font-size: 1.35rem !important; font-weight: 800 !important; color: var(--vin) !important; }
body.tb-woo .woocommerce table.shop_table tr:last-child :is(th, td) { border-bottom: 0 !important; }

/* Commande : deux colonnes, récapitulatif collant */
@media (min-width: 1000px) {
	body.tb-woo form.checkout #customer_details.col2-set { display: grid !important; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(2rem, 4vw, 3.5rem); align-items: start; }
	body.tb-woo form.checkout #customer_details .col-1, body.tb-woo form.checkout #customer_details .col-2 { width: auto !important; float: none !important; margin: 0 !important; }
	body.tb-woo form.checkout #customer_details .col-2 { position: sticky; top: 6.5rem; }
}
body.tb-woo form.checkout .woocommerce-billing-fields, body.tb-woo form.checkout .woocommerce-shipping-fields, body.tb-woo form.checkout .woocommerce-additional-fields { margin-bottom: 1.5rem; }
body.tb-woo #ship-to-different-address { font-size: 1.1rem !important; }
body.tb-woo #ship-to-different-address label { display: flex !important; align-items: center; gap: .6rem; font-family: var(--texte) !important; font-weight: 800 !important; font-size: 1rem !important; color: var(--vin) !important; }

/* Paiement */
body.tb-woo #payment { background: transparent !important; border-radius: 0 !important; margin-top: .5rem; }
body.tb-woo #payment ul.payment_methods { border: 0 !important; padding: 0 0 1rem !important; }
body.tb-woo #payment ul.payment_methods li { margin: 0 0 .5rem; }
body.tb-woo #payment ul.payment_methods > li.woocommerce-notice, body.tb-woo #payment ul.payment_methods > li .woocommerce-info { margin: 0 !important; }
body.tb-woo #payment div.payment_box { background: var(--creme) !important; border-radius: 14px !important; color: var(--noir) !important; }
body.tb-woo #payment div.payment_box::before { display: none !important; }
body.tb-woo #payment .place-order { padding: 0 !important; margin: 0 !important; }
body.tb-woo .woocommerce-privacy-policy-text p { font-size: .85rem !important; line-height: 1.5 !important; color: rgba(30, 30, 30, .7) !important; }
body.tb-woo .woocommerce-privacy-policy-text a { color: var(--vin) !important; text-decoration: underline; }

/* Réassurance */
body.tb-woo .tbw-trust { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .4rem; font-size: .9rem; color: rgba(30, 30, 30, .75); }
body.tb-woo .tbw-trust li { margin: 0; padding-left: 1.35rem; position: relative; }
body.tb-woo .tbw-trust li::before { content: ""; position: absolute; left: 0; top: .45em; width: .6rem; height: .6rem; border-radius: 999px; background: var(--vigne); }
body.tb-woo .tbw-trust strong { color: var(--vin); }

/* Panier */
body.tb-woo form.woocommerce-cart-form { background: var(--blanc); border: 2px solid var(--vin); border-radius: var(--r); padding: .5rem 1.5rem 1.25rem; margin-bottom: 2.5rem; }
body.tb-woo .woocommerce table.cart thead th { font-size: .85rem !important; text-transform: none !important; color: rgba(47, 18, 16, .6) !important; }
body.tb-woo .woocommerce table.cart td.product-name a { color: var(--vin) !important; font-weight: 800 !important; font-size: 1.05rem !important; }
body.tb-woo .woocommerce table.cart img { border-radius: 12px !important; width: 96px !important; height: auto !important; }
body.tb-woo .woocommerce table.cart td.product-remove a.remove { color: var(--vin) !important; border: 2px solid var(--line); border-radius: 999px; width: 2rem; height: 2rem; display: grid !important; place-items: center; font-size: 1.1rem !important; background: transparent !important; }
body.tb-woo .woocommerce table.cart td.product-remove a.remove:hover { background: var(--vin) !important; color: var(--creme) !important; border-color: var(--vin); }
body.tb-woo .woocommerce table.cart td.actions { padding-top: 1.25rem !important; }
body.tb-woo .woocommerce table.cart td.actions .coupon { display: flex; gap: .6rem; align-items: center; }
body.tb-woo .woocommerce table.cart td.actions .coupon input.input-text { width: 14rem !important; }
body.tb-woo .woocommerce .quantity :is(.plus, .minus) { border: 2px solid var(--line) !important; background: transparent !important; color: var(--vin) !important; border-radius: 999px !important; box-shadow: none !important; }
body.tb-woo .woocommerce .quantity input.qty { border: 0 !important; background: transparent !important; min-height: 0 !important; width: 2.5rem !important; padding: 0 !important; text-align: center; font-weight: 800 !important; color: var(--vin) !important; }
@media (min-width: 1000px) {
	body.tb-woo .cart-collaterals .cart_totals { width: min(460px, 100%) !important; float: right; }
}

/* Confirmation */
body.tb-woo.tb-woo-merci .woocommerce-thankyou-order-received { font-size: 1.1rem !important; font-weight: 700; color: var(--vin) !important; border: 0 !important; padding: 0 !important; background: none !important; margin: 0 0 1.5rem !important; }
body.tb-woo ul.woocommerce-order-overview { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .75rem; list-style: none; margin: 0 0 2rem !important; padding: 0 !important; }
body.tb-woo ul.woocommerce-order-overview li { margin: 0 !important; padding: 1rem 1.1rem !important; border: 2px solid var(--line) !important; border-radius: 14px; background: var(--blanc); font-size: .85rem !important; text-transform: none !important; color: rgba(30,30,30,.7); }
body.tb-woo ul.woocommerce-order-overview li strong { display: block; margin-top: .3rem; font-size: 1.05rem !important; color: var(--vin); }
body.tb-woo .woocommerce-order-details, body.tb-woo .woocommerce-customer-details { margin-bottom: 2rem !important; }
body.tb-woo .woocommerce-customer-details address { border: 0 !important; padding: 0 !important; font-style: normal; line-height: 1.6; }

/* Compte : connexion et espace client */
body.tb-woo .woocommerce form.woocommerce-form-login, body.tb-woo .woocommerce form.woocommerce-form-register, body.tb-woo .woocommerce form.lost_reset_password {
	max-width: 480px; margin-inline: auto !important; background: var(--blanc); border: 2px solid var(--vin) !important; border-radius: var(--r) !important;
	box-shadow: 8px 8px 0 var(--vigne); padding: 2rem !important;
}
body.tb-woo .woocommerce form.woocommerce-form-login .button { width: 100%; margin-top: .75rem !important; }
body.tb-woo .woocommerce .lost_password a, body.tb-woo .woocommerce-MyAccount-content a:not(.button) { color: var(--vin) !important; font-weight: 700; text-decoration: underline; text-underline-offset: .2em; }
body.tb-woo .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
body.tb-woo .woocommerce-MyAccount-navigation li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
body.tb-woo .woocommerce-MyAccount-navigation li a { display: block; padding: .7rem 1rem; border-radius: 999px; color: var(--vin) !important; font-weight: 700; text-decoration: none !important; border: 2px solid transparent; }
body.tb-woo .woocommerce-MyAccount-navigation li a:hover { border-color: var(--line); }
body.tb-woo .woocommerce-MyAccount-navigation li.is-active a { background: var(--vin); color: var(--creme) !important; }
body.tb-woo .woocommerce-MyAccount-content { font-size: 1rem; line-height: 1.6; }

@media (max-width: 999px) {
	body.tb-woo .container-wrap { padding-top: 1.5rem !important; }
	body.tb-woo form.woocommerce-cart-form { padding: .25rem 1rem 1rem; }
	body.tb-woo .woocommerce table.cart td.actions .coupon { flex-direction: column; align-items: stretch; }
	body.tb-woo .woocommerce table.cart td.actions .coupon input.input-text { width: 100% !important; }
	body.tb-woo #order_review, body.tb-woo .cart_totals { box-shadow: 6px 6px 0 var(--vigne) !important; padding: 1.15rem !important; }
	body.tb-woo .tbw-steps { gap: .5rem 1rem; }
	body.tb-woo .tbw-steps li + li::before { width: 1rem; margin-right: .5rem; }
	body.tb-woo .tbw-steps__label { font-size: .85rem; }
}
@media (max-width: 480px) {
	body.tb-woo .tbw-steps li:not(.is-current) .tbw-steps__label { display: none; }
}
/* Correctifs parcours : grille sans les pseudo-éléments du thème, puces, carte produit du récapitulatif */
body.tb-woo form.checkout #customer_details.col2-set::before, body.tb-woo form.checkout #customer_details.col2-set::after { display: none !important; content: none !important; }
body.tb-woo .tbw-trust, body.tb-woo .tbw-trust li { list-style: none !important; margin-left: 0 !important; }
body.tb-woo .tbw-trust li::marker { content: none; }
body.tb-woo #order_review :is(.cart_item, .product-name, .product-total, tr.cart_item td), body.tb-woo #order_review table tbody { background: transparent !important; }
body.tb-woo #order_review .product-name img { border-radius: 10px !important; }
body.tb-woo #payment #place_order { color: var(--creme) !important; background: var(--vin) !important; border-color: var(--vin) !important; }
/* Le thème impose son vert d'accent sur « Commander » (.woocommerce #order_review #payment #place_order !important) */
body.tb-woo .woocommerce #order_review #payment #place_order, body.tb-woo .woocommerce #order_review #payment #place_order:hover { background-color: var(--vin) !important; border-color: var(--vin) !important; color: var(--creme) !important; }
body.tb-woo #order_review .product-container { background: transparent !important; padding-inline: 0 !important; }
body.tb-woo .select2-container--default .select2-selection--single { height: 3.15rem !important; min-height: 0 !important; padding: 0 2.5rem 0 1rem !important; }
/* Le thème force des coins à 4 px sur tous ses boutons (body[data-button-style*="slightly_rounded"] … !important) */
html body.tb-woo[data-button-style] .woocommerce :is(a.button, button.button, input.button, a.checkout-button, #place_order) { border-radius: 999px !important; }
/* Cases à cocher : case et texte sur la même ligne */
body.tb-woo .woocommerce form label.woocommerce-form__label-for-checkbox, body.tb-woo .woocommerce form .form-row label.checkbox { display: inline-flex !important; align-items: center; gap: .55rem; font-weight: 700 !important; }
@media (max-width: 999px) {
	body.tb-woo .woocommerce table.cart td.actions .coupon button.button, body.tb-woo .woocommerce table.cart td.actions > button.button { width: 100% !important; white-space: nowrap; }
	body.tb-woo .woocommerce table.cart td.actions { display: grid !important; gap: .75rem; }
	body.tb-woo .woocommerce table.cart td.actions::before { display: none !important; }
}
@media (max-width: 600px) {
	body.tb-woo .tbw-steps { flex-wrap: nowrap; gap: .4rem; }
	body.tb-woo .tbw-steps li { gap: .4rem; flex-shrink: 0; }
	body.tb-woo .tbw-steps li + li::before { width: .75rem; margin-right: .1rem; }
	body.tb-woo .tbw-steps__num { width: 1.75rem; height: 1.75rem; font-size: .8rem; }
}
body.tb-woo .select2-container--default .select2-selection--single .select2-selection__rendered { display: block !important; line-height: calc(3.15rem - 4px) !important; }
body.tb-woo .woocommerce table.cart td.actions :is(.coupon, input, button) { margin: 0 !important; }
body.tb-woo .woocommerce table.cart td.actions .coupon { gap: .6rem !important; }
body.tb-woo .woocommerce table.cart td.actions label.screen-reader-text { position: absolute !important; }
body.tb-woo .woocommerce form label.woocommerce-form__label-for-checkbox input { margin: 0 !important; }
/* Compte client */
body.tb-woo .tbw-head--compte { float: none; clear: both; width: 100%; margin-bottom: 2rem; }
body.tb-woo .tbw-hello { margin: .5rem 0 0 !important; font-size: 1.1rem; font-weight: 700; color: var(--vin); }
body.tb-woo .woocommerce-MyAccount-navigation li a { color: var(--vin) !important; opacity: 1 !important; }
body.tb-woo .woocommerce-MyAccount-navigation li a::before, body.tb-woo .woocommerce-MyAccount-navigation li a i { color: inherit !important; opacity: .7; }
body.tb-woo .woocommerce :is(.woocommerce-info, .woocommerce-message) a.button { color: var(--creme) !important; text-decoration: none !important; float: right; margin-left: 1rem; }
body.tb-woo .woocommerce table.shop_table :is(th, td) { padding-right: 1rem !important; }
body.tb-woo .woocommerce table.shop_table :is(tr, tbody tr:nth-child(odd), tbody tr:nth-child(even)) :is(td, th) { background: transparent !important; }
body.tb-woo .woocommerce table.woocommerce-orders-table .button { min-height: 2.5rem !important; padding: .45rem 1.1rem !important; font-size: .9rem !important; margin: .15rem .25rem .15rem 0 !important; }
body.tb-woo .woocommerce-Addresses .woocommerce-Address { background: var(--blanc); border: 2px solid var(--line); border-radius: 16px; padding: 1.25rem; }
body.tb-woo .woocommerce-Addresses .woocommerce-Address-title { display: flex; flex-direction: column; gap: .25rem; }
body.tb-woo .woocommerce-Addresses .woocommerce-Address-title a { font-weight: 800; color: var(--vin) !important; text-decoration: underline; }
body.tb-woo .woocommerce-MyAccount-content > p:first-child { font-size: 1.05rem; }
body.tb-woo .ocm-effect-wrap { background: var(--creme) !important; }
body.tb-woo .woocommerce table.woocommerce-orders-table, body.tb-woo .woocommerce table.woocommerce-orders-table :is(thead, tbody, tr) { background: transparent !important; }
body.tb-woo ul.woocommerce-order-overview::before, body.tb-woo ul.woocommerce-order-overview::after { display: none !important; content: none !important; }
body.tb-woo .woocommerce table.shop_table tr { background: transparent !important; }
body.tb-woo .woocommerce-MyAccount-navigation li a:hover { border-color: transparent; }
@media (hover: hover) and (pointer: fine) { body.tb-woo .woocommerce-MyAccount-navigation li:not(.is-active) a:hover { border-color: var(--line); } }
/* Header masqué en descendant : déplacement en valeur fixe (le conteneur .tbh-fixed mesure 0 px de haut depuis le retrait de la barre du haut) */
.tbh-fixed { transition: translate .4s var(--tbm-ease, cubic-bezier(.22,1,.36,1)); will-change: translate; }
.tbh-fixed.is-hidden { translate: 0 -9rem !important; }
@media (prefers-reduced-motion: reduce) { .tbh-fixed.is-hidden { translate: 0 -9rem !important; } .tbh-fixed { transition: none; } }
/* Pied de page : la section globale « before-footer » du thème ajoutait une bande blanche de 40 px au-dessus,
   et l'espace bas du parcours de paiement (sur .container-wrap, qui contient aussi le pied de page) une bande crème en dessous */
body.tb-hdr .nectar-global-section.before-footer { padding-top: 0 !important; background: transparent !important; }
body.tb-woo .container-wrap { padding-bottom: 0 !important; }
body.tb-woo .woocommerce { margin-bottom: clamp(4rem, 8vw, 6rem) !important; }
html body.tb-woo .woocommerce :is(a, button).button.wc-backward, html body.tb-woo .return-to-shop .button { background: var(--vin) !important; border-color: var(--vin) !important; color: var(--creme) !important; border-radius: 999px !important; }

/* ===== Ressources (26/09) ===== */
.tbr-hero { background: var(--vin); color: var(--creme); padding: .75rem 0 clamp(3rem, 6vw, 5rem); }
.tbr-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
#tb-accueil .tbr-eyebrow { margin: 0 0 1rem; display: inline-block; padding: .35rem .9rem; border-radius: 999px; background: var(--ciel); color: var(--vin); font-weight: 800; font-size: .85rem; letter-spacing: .02em; }
#tb-accueil .tbr-hero .tbs-title { font-size: clamp(2.4rem, 1.2rem + 3.6vw, 4.4rem); line-height: 1; margin: 0 0 1.1rem; text-wrap: balance; }
#tb-accueil .tbr-hero .tbs-lead { margin: 0 0 1.6rem; max-width: 34rem; }
#tb-accueil .tbr-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
#tb-accueil .tbr-chips li { margin: 0; padding: .45rem .95rem; border: 1.5px solid rgba(255,254,244,.35); border-radius: 999px; font-size: .92rem; font-weight: 700; color: var(--creme); }
#tb-accueil a.tbr-pilier { display: block; position: relative; border-radius: var(--r); overflow: hidden; background: var(--creme); color: var(--vin); text-decoration: none; box-shadow: 10px 10px 0 var(--vigne); border: 2px solid var(--creme); }
#tb-accueil .tbr-pilier img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
#tb-accueil .tbr-pilier__body { display: grid; gap: .45rem; padding: 1.25rem 1.4rem 1.4rem; }
#tb-accueil .tbr-pilier__tag { justify-self: start; padding: .25rem .7rem; border-radius: 999px; background: var(--vigne); color: var(--creme); font-size: .78rem; font-weight: 800; }
#tb-accueil .tbr-pilier__titre { font-family: var(--titre); font-size: clamp(1.35rem, 1rem + 1vw, 1.75rem); line-height: 1.08; color: var(--vin); }
#tb-accueil .tbr-pilier__meta { font-weight: 700; font-size: .95rem; color: rgba(47,18,16,.75); }

.tbr-section { padding-block: clamp(5rem, 10vw, 8rem) 0; }
.tbr-section--guides { padding-bottom: clamp(5rem, 10vw, 8rem); }
.tbr-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: .75rem 2rem; margin-bottom: 2.25rem; }
#tb-accueil .tbr-head .tbh-h2 { margin: 0; }
#tb-accueil .tbr-head p { margin: 0; max-width: 30rem; font-size: 1.05rem; color: rgba(30,30,30,.75); }

#tb-accueil .tbr-parcours, #tb-accueil .tbr-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
#tb-accueil .tbr-parcours li, #tb-accueil .tbr-grid li { margin: 0; padding: 0; display: flex; }
#tb-accueil a.tbr-card { display: flex; flex-direction: column; width: 100%; background: var(--blanc); border: 2px solid var(--vin); border-radius: var(--r); overflow: hidden; text-decoration: none; color: var(--noir); }
#tb-accueil .tbr-card__media { position: relative; display: block; overflow: hidden; }
#tb-accueil .tbr-card__media img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
#tb-accueil .tbr-card__num { position: absolute; left: 1rem; bottom: -1.2rem; width: 2.6rem; height: 2.6rem; display: grid; place-items: center; border-radius: 999px; background: var(--mer); color: var(--creme); font-family: var(--titre); font-size: 1.15rem; border: 3px solid var(--blanc); }
#tb-accueil .tbr-card__body { display: flex; flex-direction: column; gap: .5rem; padding: 1.2rem 1.25rem 1.4rem; flex: 1; }
#tb-accueil .tbr-card--etape .tbr-card__body { padding-top: 1.6rem; }
#tb-accueil .tbr-card__meta { font-size: .82rem; font-weight: 800; color: var(--vigne); letter-spacing: .01em; }
#tb-accueil .tbr-card__titre { font-family: var(--titre); font-size: 1.15rem; line-height: 1.15; color: var(--vin); }
#tb-accueil .tbr-card__resume { font-size: .95rem; line-height: 1.5; color: rgba(30,30,30,.72); }

#tb-accueil a.tbr-une { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); margin-bottom: clamp(1.25rem, 2.5vw, 2rem); background: var(--blanc); border: 2px solid var(--vin); border-radius: var(--r); overflow: hidden; text-decoration: none; color: var(--noir); box-shadow: 8px 8px 0 var(--vigne); }
#tb-accueil .tbr-une__media img { display: block; width: 100%; height: 100%; min-height: 18rem; object-fit: cover; }
#tb-accueil .tbr-une__body { display: flex; flex-direction: column; justify-content: center; gap: .8rem; padding: clamp(1.5rem, 3vw, 2.5rem); }
#tb-accueil .tbr-une__body .tbr-pilier__tag { align-self: flex-start; }
#tb-accueil .tbr-une__titre { font-family: var(--titre); font-size: clamp(1.5rem, 1rem + 1.4vw, 2.2rem); line-height: 1.05; color: var(--vin); }
#tb-accueil .tbr-une__resume { font-size: 1.02rem; line-height: 1.55; color: rgba(30,30,30,.78); }

@media (hover: hover) and (pointer: fine) {
	#tb-accueil :is(a.tbr-card, a.tbr-une, a.tbr-pilier) { transition: translate .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease; }
	#tb-accueil :is(a.tbr-card, a.tbr-une, a.tbr-pilier) img { transition: scale .8s cubic-bezier(.22,1,.36,1); }
	#tb-accueil a.tbr-card:hover { translate: 0 -4px; box-shadow: 6px 6px 0 var(--vigne); }
	#tb-accueil :is(a.tbr-card, a.tbr-une, a.tbr-pilier):hover img { scale: 1.04; }
	#tb-accueil :is(a.tbr-card, a.tbr-une):hover :is(.tbr-card__titre, .tbr-une__titre) { text-decoration: underline; text-underline-offset: .15em; text-decoration-thickness: 2px; }
}
#tb-accueil :is(a.tbr-card, a.tbr-une, a.tbr-pilier):focus-visible { outline: 3px solid var(--mer); outline-offset: 3px; }

.tbr-cta { background: var(--vin); color: var(--creme); padding: clamp(4rem, 8vw, 6rem) 0 2rem; }
.tbr-cta__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) auto; gap: 1.5rem 3rem; align-items: center; }
#tb-accueil .tbr-cta .tbh-h2 { color: var(--creme); margin: 0 0 .75rem; }
#tb-accueil .tbr-cta p { margin: 0; max-width: 36rem; font-size: 1.1rem; color: rgba(255,254,244,.85); }
#tb-accueil .tbr-cta .tbh-legal { margin-top: 3rem; font-size: .85rem; color: rgba(255,254,244,.7); }
#tb-accueil .tbr-cta .tbh-actions { margin: 0; }

@media (max-width: 1000px) {
	#tb-accueil .tbr-parcours, #tb-accueil .tbr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tbr-hero__grid, #tb-accueil a.tbr-une, .tbr-cta__grid { grid-template-columns: 1fr; }
	#tb-accueil .tbr-une__media img { min-height: 0; aspect-ratio: 16 / 9; height: auto; }
}
@media (max-width: 600px) {
	#tb-accueil .tbr-parcours, #tb-accueil .tbr-grid { grid-template-columns: 1fr; }
	#tb-accueil a.tbr-pilier { box-shadow: 6px 6px 0 var(--vigne); }
	#tb-accueil a.tbr-une { box-shadow: 6px 6px 0 var(--vigne); }
	#tb-accueil .tbr-cta .tbh-actions a.tbh-btn { flex: 1 1 100%; }
}
#tb-accueil .tbr-card__num { left: .9rem; top: .9rem; bottom: auto; border-width: 2px; box-shadow: 0 6px 16px -8px rgba(0,0,0,.6); }
#tb-accueil .tbr-card--etape .tbr-card__body { padding-top: 1.2rem; }
#tb-accueil .tbr-cta p.tbh-legal { max-width: none; }

/* ===== Lecture d'un article (26/09) ===== */
.tba-progress { position: fixed; top: 0; left: 0; right: 0; height: 4px; z-index: 950; pointer-events: none; }
.tba-progress span { display: block; height: 100%; background: var(--ciel, #BFDBEF); transform: scaleX(0); transform-origin: 0 50%; }
.tba-hero { background: var(--vin); color: var(--creme); padding: .5rem 0 0; }
#tb-accueil .tba-crumbs { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.25rem; font-size: .9rem; font-weight: 700; }
#tb-accueil .tba-crumbs a { color: rgba(255,254,244,.8); text-decoration: none; }
#tb-accueil .tba-crumbs a:hover { color: var(--creme); text-decoration: underline; }
#tb-accueil .tba-crumbs span { color: rgba(255,254,244,.45); }
#tb-accueil .tba-title { max-width: 22ch; font-size: clamp(2.1rem, 1.1rem + 3vw, 3.9rem); line-height: 1.02; margin: 0 0 1.25rem; text-wrap: balance; }
#tb-accueil .tba-meta { display: flex; flex-wrap: wrap; gap: .4rem 1.5rem; margin: 0; font-size: .95rem; font-weight: 700; color: rgba(255,254,244,.8); }
#tb-accueil .tba-meta span + span::before { content: "·"; margin-right: 1.5rem; opacity: .6; }
.tba-cover { margin-top: clamp(2rem, 4vw, 3rem); margin-bottom: calc(-1 * clamp(5rem, 12vw, 11rem)); position: relative; z-index: 1; }
#tb-accueil .tba-cover__img { display: block; width: 100%; height: auto; aspect-ratio: 21 / 9; object-fit: cover; border-radius: var(--r); border: 2px solid var(--vin); box-shadow: 10px 10px 0 var(--vigne); }
.tba-hero::after { content: ""; display: block; height: clamp(5rem, 12vw, 11rem); background: var(--creme); }

.tba-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; padding-top: clamp(3rem, 6vw, 4.5rem); }
.tba-layout:not(:has(.tba-toc)) { grid-template-columns: minmax(0, 1fr); }
.tba-toc { position: sticky; top: 6rem; }
#tb-accueil .tba-toc__box summary { list-style: none; cursor: pointer; font-family: var(--titre); font-size: 1.1rem; color: var(--vin); margin-bottom: .9rem; }
#tb-accueil .tba-toc__box summary::-webkit-details-marker { display: none; }
#tb-accueil .tba-toc ol { list-style: none; margin: 0; padding: 0 0 0 1rem; border-left: 2px solid rgba(47,18,16,.15); display: grid; gap: .15rem; counter-reset: toc; }
#tb-accueil .tba-toc li { margin: 0; padding: 0; }
#tb-accueil .tba-toc a { display: block; padding: .3rem 0; font-size: .9rem; line-height: 1.35; color: rgba(30,30,30,.65); text-decoration: none; transition: color .2s ease; }
#tb-accueil .tba-toc a:hover { color: var(--vin); }
#tb-accueil .tba-toc a.is-active { color: var(--vin); font-weight: 800; }

/* Texte : on neutralise la mise en page du constructeur et on pose une vraie typographie de lecture */
#tb-accueil .tba-prose { max-width: 44rem; font-family: var(--texte); font-size: 1.125rem; line-height: 1.75; color: #2a2522; }
#tb-accueil .tba-prose :is(.vc_row, .wpb_row, .row, .col, .wpb_column, .vc_column_container, .vc_column-inner, .wpb_wrapper, .row_col_wrap_12, .container, .row-bg-wrap) { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; float: none !important; background: none !important; min-height: 0 !important; }
#tb-accueil .tba-prose .row-bg-wrap, #tb-accueil .tba-prose .row-bg { display: none !important; }
#tb-accueil .tba-prose :is(p, li) { font-size: 1.125rem !important; line-height: 1.75 !important; color: #2a2522 !important; font-family: var(--texte) !important; }
#tb-accueil .tba-prose p { margin: 0 0 1.25rem !important; padding: 0 !important; }
#tb-accueil .tba-prose h2 { font-family: var(--titre) !important; font-weight: 400 !important; font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.15rem) !important; line-height: 1.08 !important; color: var(--vin) !important; margin: 3.25rem 0 1.1rem !important; padding: 0 !important; letter-spacing: 0 !important; scroll-margin-top: 6rem; }
#tb-accueil .tba-prose h3 { font-family: var(--texte) !important; font-weight: 800 !important; font-size: 1.3rem !important; line-height: 1.3 !important; color: var(--vin) !important; margin: 2.25rem 0 .75rem !important; letter-spacing: 0 !important; }
#tb-accueil .tba-prose h4 { font-family: var(--texte) !important; font-weight: 800 !important; font-size: 1.1rem !important; color: var(--vin) !important; margin: 1.75rem 0 .5rem !important; }
#tb-accueil .tba-prose > :first-child, #tb-accueil .tba-prose .wpb_wrapper > :first-child { margin-top: 0 !important; }
#tb-accueil .tba-prose strong { font-weight: 800; color: var(--vin); }
#tb-accueil .tba-prose a:not(.tbh-btn):not(.tba-cta__link):not(.nectar-button):not(.wp-block-button__link):not(.vc_btn3) { color: var(--vin) !important; font-weight: 700; text-decoration: underline !important; text-decoration-thickness: 2px !important; text-underline-offset: .2em; text-decoration-color: var(--ciel) !important; }
#tb-accueil .tba-prose a:not(.tbh-btn):not(.tba-cta__link):not(.nectar-button):not(.wp-block-button__link):not(.vc_btn3):hover { text-decoration-color: var(--vin) !important; }
#tb-accueil .tba-prose :is(ul, ol) { margin: 0 0 1.5rem !important; padding: 0 !important; list-style: none !important; }
#tb-accueil .tba-prose li { position: relative; margin: 0 0 .55rem !important; padding: 0 0 0 1.75rem !important; list-style: none !important; }
#tb-accueil .tba-prose ul > li::before { content: ""; position: absolute; left: .35rem; top: .72em; width: .5rem; height: .5rem; border-radius: 999px; background: var(--vigne); }
#tb-accueil .tba-prose ol { counter-reset: tbli; }
#tb-accueil .tba-prose ol > li { counter-increment: tbli; }
#tb-accueil .tba-prose ol > li::before { content: counter(tbli); position: absolute; left: 0; top: .25em; width: 1.35rem; height: 1.35rem; display: grid; place-items: center; border-radius: 999px; background: var(--vin); color: var(--creme); font-size: .75rem; font-weight: 800; line-height: 1; }
#tb-accueil .tba-prose :is(img, figure img) { border-radius: 16px; height: auto; max-width: 100%; }
#tb-accueil .tba-prose :is(figure, .wpb_single_image, .img-with-aniamtion-wrap) { margin: 2rem 0 !important; }
#tb-accueil .tba-prose blockquote { margin: 2rem 0 !important; padding: 1.25rem 1.5rem !important; border-left: 4px solid var(--vigne) !important; background: var(--blanc); border-radius: 0 16px 16px 0; font-size: 1.15rem; }
#tb-accueil .tba-prose hr { border: 0; height: 2px; background: rgba(47,18,16,.12); margin: 2.5rem 0; }
#tb-accueil .tba-prose :is(.nectar-button, .wp-block-button__link, a.vc_btn3) { display: inline-flex !important; align-items: center; min-height: 3rem; padding: .75rem 1.5rem !important; border-radius: 999px !important; background: var(--vin) !important; color: var(--creme) !important; border: 0 !important; font-family: var(--texte) !important; font-weight: 800 !important; font-size: 1rem !important; text-transform: none !important; letter-spacing: 0 !important; text-decoration: none !important; box-shadow: none !important; }
#tb-accueil .tba-prose .nectar-button span { color: inherit !important; font: inherit !important; }
#tb-accueil .tba-prose :is(.divider-wrap, .divider, .divider-border) { margin: 2.5rem 0 !important; }

/* Fin d'article */
#tb-accueil .tba-cta { margin: 3.5rem 0 0; padding: clamp(1.5rem, 3vw, 2.25rem); border-radius: var(--r); background: var(--vin); color: var(--creme); box-shadow: 8px 8px 0 var(--vigne); }
#tb-accueil .tba-cta p { color: rgba(255,254,244,.85) !important; margin: 0 0 1.25rem !important; }
#tb-accueil .tba-cta .tba-cta__titre { font-family: var(--titre) !important; font-size: 1.7rem !important; line-height: 1.1 !important; color: var(--creme) !important; margin: 0 0 .6rem !important; }
#tb-accueil .tba-cta .tbh-actions { margin: 0; align-items: center; gap: 1.25rem; }
#tb-accueil a.tba-cta__link { color: var(--creme) !important; font-weight: 800; text-decoration: underline; text-underline-offset: .25em; }
.tba-suite { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin-top: clamp(3.5rem, 7vw, 5rem); }
#tb-accueil a.tba-suite__lien { display: grid; gap: .45rem; padding: 1.35rem 1.5rem; border: 2px solid var(--vin); border-radius: var(--r); background: var(--blanc); text-decoration: none; }
#tb-accueil a.tba-suite__lien--next { text-align: right; background: var(--ciel); }
@media (hover: hover) and (pointer: fine) { #tb-accueil a.tba-suite__lien { transition: translate .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease; } #tb-accueil a.tba-suite__lien:hover { translate: 0 -3px; box-shadow: 6px 6px 0 var(--vigne); } }
.tba-autres { margin-top: clamp(4.5rem, 9vw, 7rem); }
#tb-accueil .tba-autres .tbh-h2 { margin: 0 0 2rem; }
#tb-accueil .tba-tous { margin: 1.75rem 0 0; }
#tb-accueil .tba-tous a { color: var(--vin); font-weight: 800; text-decoration: underline; text-underline-offset: .25em; }
#tb-accueil .tba-legal { margin-top: clamp(3.5rem, 7vw, 5rem) !important; margin-bottom: clamp(3rem, 6vw, 4.5rem) !important; font-size: .85rem; color: rgba(30,30,30,.6); }
body.tb-article .container-wrap { padding-bottom: 0 !important; }
/* Éléments du thème inutiles en lecture */
body.tb-article :is(.nectar-social, .nectar-social-sharing-fixed, #author-bio, .comments-section, .blog_next_prev_buttons) { display: none !important; }

@media (max-width: 1000px) {
	.tba-layout { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
	.tba-toc { position: static; }
	#tb-accueil .tba-toc__box { border: 2px solid var(--vin); border-radius: 16px; padding: .9rem 1.1rem; background: var(--blanc); }
	#tb-accueil .tba-toc__box summary { margin: 0; }
	#tb-accueil .tba-toc__box[open] summary { margin-bottom: .75rem; }
	#tb-accueil .tba-cover__img { aspect-ratio: 16 / 10; }
}
@media (max-width: 600px) {
	#tb-accueil .tba-prose, #tb-accueil .tba-prose :is(p, li) { font-size: 1.05rem !important; }
	.tba-suite { grid-template-columns: 1fr; }
	#tb-accueil a.tba-suite__lien--next { text-align: left; }
	#tb-accueil .tba-cover__img { box-shadow: 6px 6px 0 var(--vigne); }
	#tb-accueil .tba-cta .tbh-actions a.tbh-btn { flex: 1 1 100%; }
}
/* Une règle personnalisée du site force h1/h2/h3 des articles en vin (!important) : le titre d'en-tête reste crème */
html body.tb-article #tb-accueil h1.tba-title { color: var(--creme) !important; }
html body.tb-article #tb-accueil .tba-cta :is(h2, h3, p) { color: rgba(255,254,244,.85) !important; }
html body.tb-article #tb-accueil .tba-cta .tba-cta__titre { color: var(--creme) !important; }
#tb-accueil .tba-prose p:empty, #tb-accueil .tba-prose p:has(> br:only-child) { display: none !important; }
#tb-accueil .tba-prose :is(.wpb_text_column, .wpb_content_element, .wpb_raw_code) { margin: 0 !important; padding: 0 !important; }
#tb-accueil .tba-prose .divider-wrap:not(:has(.divider-border)) { display: none !important; }
#tb-accueil .tba-prose li:empty, #tb-accueil .tba-prose li:has(> br:only-child) { display: none !important; }
@media (max-width: 600px) {
	#tb-accueil .tba-meta { gap: .2rem 1rem; }
	#tb-accueil .tba-meta span + span::before { content: none; }
	#tb-accueil .tba-meta span:first-child { flex-basis: 100%; }
}
html body.tb-article #tb-accueil .tba-prose a.nectar-button, html body.tb-article #tb-accueil .tba-prose a.nectar-button span { color: var(--creme) !important; }
html body.tb-article #tb-accueil .tba-prose a.nectar-button { background: var(--vin) !important; }

/* ===== Pied de page toujours en bas (le thème donne au bloc principal la hauteur de l'écran) ===== */
body.tb-hdr .container-wrap { display: flex !important; flex-direction: column; }
body.tb-hdr .container-wrap > * { width: 100%; flex: 0 0 auto; }
body.tb-hdr .container-wrap > .nectar-global-section.before-footer { margin-top: auto !important; }

/* ===== Compte : bandeau pleine largeur, connexion en deux colonnes ===== */
body.tb-woo .tbw-head--compte { display: none; }
body.tb-woo .tbw-band { position: relative; width: 100vw; margin: -2.5rem calc(50% - 50vw) clamp(2.5rem, 5vw, 3.5rem); background: var(--vin); color: var(--creme); padding: clamp(1.5rem, 3vw, 2.5rem) 0 clamp(2.5rem, 5vw, 3.75rem); }
body.tb-woo .tbw-band__in { width: min(1180px, 100% - 2.5rem); margin-inline: auto; }
body.tb-woo .tbw-band__eyebrow { display: inline-block; margin: 0 0 1rem !important; padding: .35rem .9rem; border-radius: 999px; background: var(--ciel); color: var(--vin) !important; font-weight: 800; font-size: .85rem; }
html body.tb-woo .tbw-band h1.tbw-title { color: var(--creme) !important; margin: 0 0 .75rem !important; }
body.tb-woo .tbw-band__lead { margin: 0 !important; max-width: 36rem; font-size: 1.1rem; line-height: 1.5; color: rgba(255,254,244,.85) !important; }
body.tb-woo .tbw-login { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: stretch; max-width: 980px; }
body.tb-woo .tbw-login > h2 { display: none !important; }
body.tb-woo .woocommerce .tbw-login form.woocommerce-form-login { max-width: none; margin: 0 !important; }
body.tb-woo .tbw-login__aside { border-radius: var(--r); background: var(--ciel); border: 2px solid var(--vin); padding: 2rem; display: flex; flex-direction: column; }
body.tb-woo .tbw-login__titre { font-family: var(--titre) !important; font-size: 1.6rem !important; line-height: 1.1 !important; color: var(--vin) !important; margin: 0 0 1.1rem !important; }
body.tb-woo .tbw-login__liste { list-style: none !important; margin: 0 0 1.75rem !important; padding: 0 !important; display: grid; gap: .6rem; }
body.tb-woo .tbw-login__liste li { position: relative; margin: 0 !important; padding: 0 0 0 1.6rem !important; font-size: 1rem; line-height: 1.45; color: var(--vin); font-weight: 600; }
body.tb-woo .tbw-login__liste li::before { content: ""; position: absolute; left: .2rem; top: .45em; width: .55rem; height: .55rem; border-radius: 999px; background: var(--vigne); }
body.tb-woo .tbw-login__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.25rem; margin: 0 0 auto !important; }
body.tb-woo .tbw-login__lien, body.tb-woo .tbw-login__aide a { color: var(--vin) !important; font-weight: 800; text-decoration: underline; text-underline-offset: .2em; }
body.tb-woo .tbw-login__aide { margin: 1.75rem 0 0 !important; font-size: .92rem; color: rgba(47,18,16,.8) !important; }
body.tb-woo form.woocommerce-form-login::before { content: "Déjà client"; display: block; font-family: var(--titre); font-size: 1.6rem; line-height: 1.1; color: var(--vin); margin-bottom: 1.25rem; }
body.tb-woo form.woocommerce-form-login .woocommerce-form-login__rememberme { margin: .25rem 0 0 !important; }
body.tb-woo form.lost_reset_password { margin: 0 !important; }
@media (max-width: 800px) {
	body.tb-woo .tbw-login { grid-template-columns: 1fr; }
	body.tb-woo .tbw-band { margin-top: -1.5rem; }
}
body.tb-woo .tbw-login__liste li { list-style: none !important; }
body.tb-woo .tbw-login__liste li::marker { content: none; }
body.tb-woo form.lost_reset_password { max-width: 560px; margin-inline: auto !important; background: var(--blanc); border: 2px solid var(--vin) !important; border-radius: var(--r) !important; box-shadow: 8px 8px 0 var(--vigne); padding: 2rem !important; }
body.tb-woo form.lost_reset_password .form-row { width: 100% !important; float: none !important; }
body.tb-woo form.lost_reset_password > p:first-child { font-size: 1rem; line-height: 1.55; color: rgba(30,30,30,.8); }
body.tb-woo form.lost_reset_password button.button { width: 100%; }
/* Connexion : la zone des messages occupe une case de la grille ; on la fait passer au-dessus, sur toute la largeur */
body.tb-woo .tbw-login > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
body.tb-woo .tbw-login > .woocommerce-notices-wrapper:empty { display: none; }
body.tb-woo .tbw-login { margin-inline: auto; }
/* Bandeau collé au haut de page, sans filet crème */
body.tb-woo .container-wrap:has(.tbw-band) { padding-top: 0 !important; }
body.tb-woo .tbw-band { margin-top: 0 !important; }
body.tb-woo .tbw-login { margin-inline: 0 !important; }
@media (max-width: 800px) { body.tb-woo .woocommerce-MyAccount-content { margin-top: 1.75rem !important; } body.tb-woo .woocommerce-MyAccount-navigation { margin-bottom: 0 !important; } }

/* ===== Page de vente : le fil du vin (parcours guidé au défilement, 26/09) ===== */
.tbp-rail { position: absolute; left: 0; z-index: 3; pointer-events: none; }
.tbp-rail svg { position: absolute; inset: 0; overflow: visible; }
.tbp-rail__fond { fill: none; stroke: rgba(47,18,16,.12); stroke-width: 2; stroke-dasharray: 2 7; stroke-linecap: round; }
.tbp-rail__trait { fill: none; stroke: #2F1210; stroke-width: 3; stroke-linecap: round; }
.tbp-rail__goutte { fill: #2F1210; transition: opacity .3s ease; filter: drop-shadow(0 2px 3px rgba(47,18,16,.35)); }
.tbp-noeud { position: absolute; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: .6rem; }
.tbp-noeud__verre { position: relative; width: 34px; height: 34px; border-radius: 999px; border: 2px solid #2F1210; background: #FFFEF4; overflow: hidden; display: grid; place-items: center; transition: transform .5s cubic-bezier(.34,1.56,.64,1), box-shadow .4s ease; }
.tbp-noeud__vin { position: absolute; left: 0; right: 0; bottom: 0; height: 100%; background: #2F1210; transform: translateY(101%); transition: transform .7s cubic-bezier(.22,1,.36,1); }
.tbp-noeud__vin::before { content: ""; position: absolute; left: -10%; right: -10%; top: -5px; height: 10px; border-radius: 50%; background: #2F1210; }
.tbp-noeud__n { position: relative; font-family: "piepie", "Arial Black", sans-serif; font-size: 14px; line-height: 1; color: #2F1210; transition: color .4s ease .2s; }
.tbp-noeud__label { writing-mode: vertical-rl; transform: rotate(180deg); font-family: "Manrope", system-ui, sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: rgba(47,18,16,.4); white-space: nowrap; transition: color .4s ease; }
.tbp-noeud.is-atteint .tbp-noeud__vin { transform: translateY(0); }
.tbp-noeud.is-atteint .tbp-noeud__n { color: #FFFEF4; }
.tbp-noeud.is-atteint .tbp-noeud__label { color: #2F1210; }
.tbp-noeud.is-courant .tbp-noeud__verre { transform: scale(1.18); box-shadow: 0 0 0 6px rgba(191,219,239,.9); }
/* Le fil passe sur les fonds colorés (méthode en ciel, offres en blanc) : il reste lisible partout */
/* Repères d'étape : visibles quand le fil n'a pas la place dans la marge */
.tbp-chip { display: none; }
body.tbp-on:not(.tbp-fil) #tb-accueil .tbp-chip { display: inline-flex; align-items: center; gap: .55rem; margin: 0 0 1rem !important; padding: .3rem .85rem .3rem .3rem; border-radius: 999px; border: 2px solid var(--vin); background: var(--creme); color: var(--vin); font-size: .82rem; font-weight: 800; letter-spacing: .02em; }
body.tbp-on:not(.tbp-fil) #tb-accueil .tbp-chip__n { display: grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 999px; background: var(--vin); color: var(--creme); font-family: var(--titre); font-size: .8rem; }
#tb-accueil .tbp-chip__sur { font-weight: 600; opacity: .65; }
/* Effets par section */
body.tbp-on #tb-accueil .tbh-box__photo { transform-origin: 50% 60%; will-change: transform; }
body.tbp-on #tb-accueil .tbh-fiche { will-change: transform; }
body.tbp-on #tb-accueil .tbh-bento__cell { transition: transform .6s cubic-bezier(.22,1,.36,1), box-shadow .6s cubic-bezier(.22,1,.36,1), border-color .4s ease; }
body.tbp-on #tb-accueil .tbh-bento__cell img { transition: filter .8s ease; }
body.tbp-on:not(.tbp-calme) #tb-accueil .tbh-bento__cell:not(.is-lit) img { filter: saturate(.35) brightness(1.05); }
body.tbp-on #tb-accueil .tbh-bento__cell.is-lit { transform: translateY(-8px); box-shadow: 8px 8px 0 var(--mer); }
body.tbp-on #tb-accueil .tbh-bento__cell .tbh-bento__text::before { transition: background-color .4s ease, color .4s ease, transform .5s cubic-bezier(.34,1.56,.64,1); }
body.tbp-on #tb-accueil .tbh-bento__cell.is-lit .tbh-bento__text::before { transform: scale(1.12); }
body.tbp-on:not(.tbp-calme) #tb-accueil .tbh-stars span { display: inline-block; opacity: .2; transform: scale(.6); transition: opacity .35s ease, transform .5s cubic-bezier(.34,1.56,.64,1); }
body.tbp-on #tb-accueil .tbh-stars span.is-on { opacity: 1; transform: none; }
body.tbp-on #tb-accueil .tbh-offre--reco { transition: transform .6s cubic-bezier(.22,1,.36,1), box-shadow .6s cubic-bezier(.22,1,.36,1); }
body.tbp-on #tb-accueil .tbh-offre--reco.is-lit { transform: translateY(-6px); box-shadow: 12px 12px 0 var(--vigne); }
@media (prefers-reduced-motion: reduce) {
	.tbp-noeud__verre, .tbp-noeud__vin, .tbp-rail__goutte { transition: none !important; }
	body.tbp-on #tb-accueil .tbh-bento__cell.is-lit, body.tbp-on #tb-accueil .tbh-offre--reco.is-lit { transform: none; }
}
body.tbp-fil .cky-btn-revisit-wrapper { left: auto !important; right: 18px !important; }
.tbp-noeud__label { position: absolute; top: 44px; left: calc(50% + 10px); }
.tbp-noeud.is-courant .tbp-noeud__verre { box-shadow: 0 0 0 5px rgba(47,18,16,.14); }
/* Ancres : c'est le TITRE de la section qui doit tomber sous le header, pas le haut de la section (qui a 88 à 144 px de marge) */
main.tbh section.tbh-box[id], main.tbh section.tbh-methode[id], main.tbh section.tbh-avis[id], main.tbh section.tbh-offres[id], main.tbh section.tbh-arthur[id] { scroll-margin-top: calc(7rem - clamp(5.5rem, 11vw, 9rem)); }
main.tbh section.tbr-section[id] { scroll-margin-top: calc(7rem - clamp(5rem, 10vw, 8rem)); }
@media (max-width: 600px) {
	main.tbh section.tbh-box[id], main.tbh section.tbh-methode[id], main.tbh section.tbh-avis[id], main.tbh section.tbh-offres[id], main.tbh section.tbh-arthur[id] { scroll-margin-top: calc(6.25rem - 5.5rem); }
	main.tbh section.tbr-section[id] { scroll-margin-top: calc(6.25rem - 5rem); }
}
