/* Calendrier de l'Avent (Vitrine). */
.vtr-av {
	--av-encre: var(--wp--preset--color--encre, #14171f);
	--av-gris: var(--wp--preset--color--gris, #5a5f55);
	--av-gris-clair: var(--wp--preset--color--gris-clair, #8a8e84);
	--av-filet: var(--wp--preset--color--filet, #e6e6e1);
	--av-beige: var(--wp--preset--color--beige, #f3f1ec);
	--av-sauge: var(--wp--preset--color--sauge, #e2e7da);
	--av-olive: var(--wp--preset--color--olive, #4b5636);
	--av-jaune: var(--wp--preset--color--jaune, #ffe200);
	--av-promo: var(--wp--preset--color--promo, #c8372d);
	width: 100%;
	padding: 18px var(--wooh-marge, 40px) 96px;
	color: var(--av-encre);
	box-sizing: border-box;
}
.vtr-av *, .vtr-av *::before, .vtr-av *::after { box-sizing: border-box; }
.vtr-av a { color: inherit; }

.vtr-av-ariane { font-size: 13px; color: var(--av-gris); margin-bottom: 18px; }
.vtr-av-ariane a { color: var(--av-gris); text-decoration: none; }
.vtr-av-ariane a:hover { color: var(--av-encre); }

.vtr-av-sur {
	margin: 0;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--av-gris);
	display: flex;
	align-items: center;
	gap: 10px;
}
.vtr-av-sur--olive { color: var(--av-olive); }
.vtr-av-point { width: 8px; height: 8px; border-radius: 50%; background: var(--av-jaune); box-shadow: 0 0 0 1px var(--av-olive); flex: none; }
.vtr-av-texte { margin: 0; font-size: 15px; line-height: 1.6; color: var(--av-gris); }

/* Boutons */
.vtr-av .vtr-av-bouton {
	display: inline-block;
	background: var(--av-encre);
	color: #fff;
	border: 1px solid var(--av-encre);
	text-decoration: none;
	text-align: center;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 16px 26px;
	transition: background .2s, color .2s;
}
.vtr-av .vtr-av-bouton:hover { background: var(--av-olive); border-color: var(--av-olive); color: #fff; }
.vtr-av .vtr-av-bouton.is-contour { background: transparent; color: var(--av-encre); }
.vtr-av .vtr-av-bouton.is-contour:hover { background: var(--av-encre); color: #fff; }
.vtr-av-bouton:focus-visible, .vtr-av-case:focus-visible { outline: 2px solid var(--av-encre); outline-offset: 3px; }

/* Pastilles */
.vtr-av-pastille { display: inline-block; font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; padding: 5px 9px; line-height: 1.2; white-space: nowrap; }
.vtr-av-pastille.is-rouge { background: var(--av-promo); color: #fff; font-size: 13px; letter-spacing: 0; text-transform: none; padding: 4px 9px; }
.vtr-av-pastille.is-noire { background: var(--av-encre); color: #fff; }
.vtr-av-pastille.is-jaune { background: var(--av-jaune); color: var(--av-encre); font-weight: 600; }
.vtr-av-pastille.is-grise { background: var(--av-filet); color: var(--av-gris); }


.vtr-av-sc { margin: 0; font-size: 11px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--av-gris); }
.vtr-av-ruban { display: inline-block; width: 28px; height: 2px; background: var(--av-jaune); flex: none; }
.vtr-av .vtr-av-lien { font-size: 12px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid var(--av-encre); padding-bottom: 6px; color: var(--av-encre); }
.vtr-av .vtr-av-lien:hover { color: var(--av-olive); border-color: var(--av-olive); }

/* ---------- Ouverture éditoriale (V2) ---------- */
.vtr-av-ouv { display: flex; flex-wrap: wrap; gap: 56px; align-items: stretch; }
.vtr-av-ouv__texte-col { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 40px; padding: 8px 0; }
.vtr-av-ouv__haut { display: flex; flex-direction: column; gap: 18px; }
.vtr-av-ouv__sur { display: flex; align-items: center; gap: 14px; color: var(--av-olive); }
.vtr-av-ouv__date { display: flex; align-items: flex-end; gap: 20px; }
.vtr-av-ouv__num { font-size: clamp(104px, 11vw, 168px); line-height: .8; font-weight: 200; letter-spacing: -.04em; }
.vtr-av-ouv__jour { font-size: 15px; line-height: 1.5; color: var(--av-gris); padding-bottom: 6px; }
.vtr-av-ouv__offre { display: flex; flex-direction: column; gap: 16px; }
.vtr-av .vtr-av-ouv__nom { margin: 0; font-size: clamp(30px, 3vw, 42px); line-height: 1.1; font-weight: 300; color: var(--av-encre); }
.vtr-av-ouv__nom a { text-decoration: none; }
.vtr-av-ouv__prix { margin: 6px 0 0; display: flex; align-items: baseline; flex-wrap: wrap; gap: 14px; }
.vtr-av-ouv__reduit { font-size: 30px; font-weight: 400; }
.vtr-av-ouv__prix del { font-size: 17px; color: var(--av-gris-clair); }
.vtr-av-ouv__des { font-size: 13px; color: var(--av-gris); }
.vtr-av-ouv__texte { margin: 0; font-size: 15px; line-height: 1.7; color: var(--av-gris); }
.vtr-av-ouv__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 10px; }
.vtr-av-ouv__actions .vtr-av-cpt { background: none; padding: 0; gap: 8px; }
.vtr-av-ouv__actions .vtr-av-cpt__lib, .vtr-av-ouv__actions .vtr-av-cpt__val { font-size: 11px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--av-gris); }
.vtr-av-ouv__actions .vtr-av-cpt__val { color: var(--av-encre); }
.vtr-av-ouv__photo { flex: 1.35 1 520px; min-width: 0; position: relative; min-height: 600px; background: var(--av-beige); display: block; overflow: hidden; }
.vtr-av-ouv__photo.is-vide { background: var(--av-sauge); }
.vtr-av .vtr-av-ouv__photo img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.vtr-av .vtr-av-ouv__photo img.is-detoure, .vtr-av .vtr-av-case__photo img.is-detoure, .vtr-av .vtr-av-encours__photo img.is-detoure, .vtr-av .vtr-av-bande__photo img.is-detoure { object-fit: contain; inset: 8%; width: 84%; height: 84%; mix-blend-mode: multiply; }

/* Offres encore en cours */
.vtr-av-encours { margin-top: 56px; border-top: 1px solid var(--av-filet); padding-top: 28px; display: flex; flex-wrap: wrap; gap: 24px 64px; align-items: center; }
.vtr-av .vtr-av-encours__item { display: flex; align-items: center; gap: 18px; text-decoration: none; color: var(--av-encre); flex: 1 1 300px; min-width: 0; }
.vtr-av-encours__photo { position: relative; flex: none; width: 72px; height: 72px; overflow: hidden; background: var(--av-beige); }
.vtr-av .vtr-av-encours__photo img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.vtr-av-encours__texte { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.vtr-av-encours__nom { font-size: 16px; font-weight: 400; }
.vtr-av-encours__prix { font-size: 14px; color: var(--av-gris); }
.vtr-av-encours__prix del { color: var(--av-gris-clair); }

/* ---------- Blocs ---------- */
.vtr-av-bloc { padding-top: 96px; }
.vtr-av .vtr-av-h2 { margin: 0; font-size: 40px; font-weight: 300; line-height: 1.15; color: var(--av-encre); }
.vtr-av-bloc__tete { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 26px; }
.vtr-av-bloc__tete .vtr-av-sc { margin-bottom: 10px; }

/* ---------- Grille (V3) : tuiles photo pour ce qui est ouvert ---------- */
.vtr-av-grille { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.vtr-av-grille:not(.is-semaine) { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.vtr-av .vtr-av-case { min-height: 236px; display: flex; flex-direction: column; text-decoration: none; color: var(--av-encre); overflow: hidden; }
.vtr-av-case.is-terminee, .vtr-av-case.is-avenir { padding: 20px; justify-content: space-between; }
.vtr-av-case__haut { display: flex; justify-content: space-between; align-items: flex-start; }
.vtr-av-case__num { font-size: 44px; font-weight: 200; line-height: 1; }
.vtr-av-case.is-terminee { background: var(--av-beige); }
.vtr-av-case.is-terminee .vtr-av-case__num { color: var(--av-gris-clair); }
.vtr-av-case.is-terminee .vtr-av-case__nom { font-size: 14px; color: var(--av-gris); }
.vtr-av-case.is-terminee .vtr-av-sc { color: var(--av-gris-clair); margin-top: 6px; }
.vtr-av-case.is-avenir { background: var(--av-sauge); color: var(--av-olive); }
.vtr-av-case.is-avenir .vtr-av-case__info { font-size: 13px; }
.vtr-av .vtr-av-case.is-ouverte { background: #fff; border: 1px solid var(--av-filet); }
.vtr-av .vtr-av-case.is-aujourdhui { background: var(--av-encre); color: #fff; border-top: 3px solid var(--av-jaune); }
.vtr-av-case__photo { position: relative; display: block; height: 128px; overflow: hidden; background: var(--av-beige); flex: none; }
.vtr-av .vtr-av-case__photo img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .5s ease; }
.vtr-av-case:hover .vtr-av-case__photo img { transform: scale(1.04); }
.vtr-av-case__date { position: absolute; left: 12px; bottom: 10px; background: #fff; color: var(--av-encre); padding: 4px 9px; font-size: 22px; font-weight: 300; line-height: 1; }
.vtr-av-case.is-aujourdhui .vtr-av-case__date { background: var(--av-jaune); font-weight: 400; }
.vtr-av-case__bas { display: flex; flex-direction: column; gap: 5px; }
.is-ouverte .vtr-av-case__bas, .is-aujourdhui .vtr-av-case__bas { padding: 14px 16px 16px; }
.vtr-av-case__nom { font-size: 15px; font-weight: 400; line-height: 1.3; }
.vtr-av-case__prix { font-size: 14px; }
.vtr-av-case.is-ouverte .vtr-av-case__info { font-size: 10px; color: var(--av-olive); }
.vtr-av-case.is-aujourdhui .vtr-av-case__info { font-size: 10px; color: var(--av-jaune); }

/* ---------- Bande d'accueil (V2) ---------- */
.vtr-av.vtr-av-bande {
	--vtr-l: calc(100vw - var(--vtr-sb, 0px));
	--av-bande-marge: 48px;
	padding: 0;
	max-width: none !important;
	width: calc(var(--vtr-l) - 2 * var(--av-bande-marge)) !important;
	margin: 20px calc(50% - var(--vtr-l) / 2 + var(--av-bande-marge)) 0 !important;
	background: #fff;
}
.vtr-av-bande__cadre { display: flex; align-items: stretch; min-height: 200px; border-top: 1px solid var(--av-encre); border-bottom: 1px solid var(--av-filet); }
.vtr-av-bande__photo { position: relative; flex: none; width: 200px; overflow: hidden; background: var(--av-beige); display: block; }
.vtr-av .vtr-av-bande__photo img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.vtr-av-bande__date { flex: none; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 12px; padding: 0 44px; border-right: 1px solid var(--av-filet); }
.vtr-av-bande__num { font-size: 80px; font-weight: 200; line-height: .9; letter-spacing: -.03em; }
.vtr-av-bande__texte { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 10px; padding: 24px 44px; }
.vtr-av-bande__sur { color: var(--av-olive); }
.vtr-av-bande__titre { font-size: 28px; line-height: 1.15; font-weight: 300; }
.vtr-av-bande__ligne { font-size: 15px; color: var(--av-gris); }
.vtr-av-bande__ligne del { color: var(--av-gris-clair); }
.vtr-av-bande__ligne .woocommerce-Price-amount:first-child { color: var(--av-encre); }
.vtr-av-bande__actions { flex: none; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: 16px; padding: 0 40px 0 32px; }
.vtr-av .vtr-av-bande__tout { font-size: 13px; color: var(--av-gris); }

/* ---------- Conservé pour la popup ---------- */
.vtr-av-offre__badges { position: absolute; top: 16px; left: 16px; display: flex; gap: 8px; }
.vtr-av-offre__reduit { font-size: 28px; font-weight: 500; color: var(--av-promo); }
.vtr-av-des, .vtr-av-htva { font-size: 13px; color: var(--av-gris); }
.vtr-av-cpt { background: var(--av-beige); display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding: 12px 16px; font-size: 14px; }
.vtr-av-cpt__lib { color: var(--av-gris); }
.vtr-av-cpt__val { font-size: 18px; font-weight: 500; letter-spacing: .03em; font-variant-numeric: tabular-nums; }
.vtr-av-epuise { margin: 0; font-size: 14px; color: var(--av-promo); }
.vtr-av-etoile { flex: none; }
.vtr-av-noeud { position: absolute; left: 50%; top: -13px; transform: translateX(-50%); pointer-events: none; z-index: 2; }
.vtr-av-mini__sur { font-size: 10px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--av-gris); }
.vtr-av-mini__sur strong { display: block; margin-top: 3px; color: var(--av-promo); font-weight: 600; }
.vtr-av-mini__prix { font-size: 14px; }
.vtr-av-mini__prix > span { color: var(--av-promo); font-weight: 500; }
.vtr-av-mini__prix del { font-size: 12px; color: var(--av-gris-clair); }
.vtr-av-bande__prix { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; line-height: 1; }
.vtr-av-bande__prix .vtr-av-pastille { line-height: 1.2; }
.vtr-av-bande__prix del { color: var(--av-gris-clair); font-size: 14px; }
.vtr-av .vtr-av-bande__lien { font-size: 13px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--av-encre); text-decoration: underline; text-underline-offset: 4px; }

/* Étapes */
.vtr-av-etapes { list-style: none; margin: 36px 0 0; padding: 32px 0 0; border-top: 1px solid var(--av-filet); display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 40px; counter-reset: av; }
.vtr-av-etapes li { display: flex; flex-direction: column; gap: 10px; counter-increment: av; }
.vtr-av-etapes li::before { content: counter(av, decimal-leading-zero); font-size: 13px; font-weight: 500; letter-spacing: .16em; color: var(--av-gris-clair); }
.vtr-av-etapes__titre { font-size: 20px; font-weight: 500; }

/* Alerte */
.vtr-av-alerte { background: var(--av-beige); padding: 56px; display: flex; flex-wrap: wrap; gap: 40px; align-items: center; justify-content: space-between; }
.vtr-av-alerte__texte { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.vtr-av-alerte .vtr-av-h2 { font-size: 34px; }
.vtr-av-form { flex: 1 1 440px; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.vtr-av-form__lib { font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--av-gris); }
.vtr-av-form__ligne { display: flex; flex-wrap: wrap; }
.vtr-av-form__ligne input { flex: 1 1 240px; min-width: 0; height: 54px; border: 1px solid var(--av-encre); border-right: 0; border-radius: 0; background: #fff; padding: 0 18px; font: inherit; font-size: 16px; }
.vtr-av-form__ligne button { height: 54px; border: 0; border-radius: 0; background: var(--av-encre); color: #fff; font: inherit; font-size: 13px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; padding: 0 26px; cursor: pointer; }
.vtr-av-form__ligne button:hover { background: var(--av-olive); }
.vtr-av-form__ligne button[disabled] { opacity: .6; cursor: wait; }
.vtr-av-form__accord { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.5; color: var(--av-gris); }
.vtr-av-form__accord input { margin-top: 3px; }
.vtr-av-form__piege { position: absolute; left: -9999px; }
.vtr-av-form__message { margin: 0; font-size: 14px; color: var(--av-olive); min-height: 1em; }
.vtr-av-form.is-erreur .vtr-av-form__message { color: var(--av-promo); }

@media (max-width: 1100px) {
	.vtr-av-grille.is-semaine { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.vtr-av-case.is-vide { display: none; }
}
@media (max-width: 782px) {
	.vtr-av { padding-top: 12px; padding-bottom: 64px; }
	.vtr-av-ouv { gap: 28px; }
	.vtr-av-ouv__photo { flex-basis: 100%; min-height: 0; aspect-ratio: 4 / 3; order: -1; margin: 0 calc(-1 * var(--wooh-marge, 16px)); }
	.vtr-av-bloc { padding-top: 56px; }
	.vtr-av .vtr-av-h2 { font-size: 30px; }
	.vtr-av-grille.is-semaine, .vtr-av-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.vtr-av .vtr-av-case { min-height: 200px; }
	.vtr-av-case.is-terminee, .vtr-av-case.is-avenir { padding: 14px; }
	.vtr-av-case__photo { height: 96px; }
	.vtr-av-case__num { font-size: 34px; }
	.vtr-av-alerte { padding: 28px 20px; gap: 20px; }
	.vtr-av-form__ligne input { border-right: 1px solid var(--av-encre); flex-basis: 100%; }
	.vtr-av-form__ligne button { flex: 1 1 100%; }
	.vtr-av.vtr-av-bande { --av-bande-marge: 20px; }
	.vtr-av-bande__cadre { flex-wrap: wrap; }
	.vtr-av-bande__photo { width: 96px; min-height: 96px; }
	.vtr-av-bande__date { padding: 0 20px; }
	.vtr-av-bande__num { font-size: 52px; }
	.vtr-av-bande__texte { flex-basis: calc(100% - 200px); padding: 16px 20px; }
	.vtr-av-bande__titre { font-size: 20px; }
	.vtr-av-bande__actions { flex-basis: 100%; flex-direction: row; justify-content: space-between; align-items: center; padding: 14px 20px 18px; border-top: 1px solid var(--av-filet); }
}
@media (prefers-reduced-motion: reduce) {
	.vtr-av-case__photo img { transition: none !important; }
	.vtr-av-case:hover .vtr-av-case__photo img { transform: none !important; }
}

/* ---------- Popup du calendrier (style éditorial) ---------- */
.vtr-pp .vtr-av.vtr-av-pp__grille, .vtr-pp .vtr-av.vtr-av-pp__mobile { padding: 0; width: auto; max-width: none; }
.vtr-pp.vtr-av-pp--fenetre .vtr-pp__boite { padding: 0; border-top: 3px solid var(--wp--preset--color--jaune, #ffe200); }
.vtr-pp.vtr-av-pp .vtr-pp__fermer { z-index: 5; background: rgba(255, 255, 255, .9); }
.vtr-av-pp__grille { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
.vtr-av-pp__visuel { position: relative; background: var(--av-beige); min-height: 440px; }
.vtr-av-pp__photo { position: absolute; inset: 0; display: block; overflow: hidden; }
.vtr-av .vtr-av-pp__photo img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.vtr-av .vtr-av-pp__photo img.is-detoure { inset: 8%; width: 84%; height: 84%; object-fit: contain; mix-blend-mode: multiply; }
.vtr-av-pp__photo .vtr-av-case__date { left: 16px; bottom: 16px; background: var(--av-jaune); font-size: 26px; padding: 6px 11px; }
.vtr-av-pp__annonce { position: absolute; inset: 0; background: var(--av-sauge); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: var(--av-olive); }
.vtr-av-pp__annonce .vtr-av-ouv__num { color: var(--av-encre); }
.vtr-av-pp__corps { position: relative; background: #fff; }
.vtr-av-pp__texte { padding: 44px 40px 36px; display: flex; flex-direction: column; gap: 14px; }
.vtr-av .vtr-av-pp__titre { margin: 0; font-size: 30px; line-height: 1.12; font-weight: 300; color: var(--av-encre); }
.vtr-av-pp__nom { margin: 0; font-size: 17px; line-height: 1.35; font-weight: 400; }
.vtr-av-pp__nom span { display: block; font-size: 11px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--av-gris); margin-bottom: 4px; }
.vtr-av-pp .vtr-av-ouv__prix { margin: 0; }
.vtr-av-pp .vtr-av-ouv__reduit { font-size: 24px; }
.vtr-av-pp .vtr-av-ouv__actions { margin-top: 4px; }
.vtr-av .vtr-av-pp__tout { font-size: 13px; color: var(--av-gris); }
.vtr-av-form.is-compact { gap: 8px; padding-top: 16px; margin-top: 4px; border-top: 1px solid var(--av-filet); }
.vtr-av-form.is-compact .vtr-av-form__ligne input, .vtr-av-form.is-compact .vtr-av-form__ligne button { height: 46px; }
.vtr-av-form.is-compact .vtr-av-form__ligne input { font-size: 15px; padding: 0 14px; }
.vtr-av-form.is-compact .vtr-av-form__accord { font-size: 12px; }
@media (max-width: 921px) {
	.vtr-av-pp__grille { grid-template-columns: 1fr; }
	.vtr-av-pp__visuel { min-height: 0; aspect-ratio: 16 / 9; }
}

/* Mobile : petit encart en bas de l'écran */
.vtr-pp.vtr-av-pp--coin .vtr-pp__boite { padding: 12px 52px 12px 12px; border-top: 3px solid var(--wp--preset--color--jaune, #ffe200); box-shadow: 0 16px 44px rgba(20, 23, 31, .2); }
.vtr-av .vtr-av-pp-m { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--av-encre); }
.vtr-av-pp-m__photo { position: relative; flex: none; width: 64px; height: 64px; overflow: hidden; background: var(--av-beige); display: flex; align-items: center; justify-content: center; }
.vtr-av-pp-m__photo.is-annonce { background: var(--av-sauge); font-size: 28px; font-weight: 200; }
.vtr-av .vtr-av-pp-m__photo img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.vtr-av-pp-m__texte { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.vtr-av-pp-m__sur { font-size: 10px; color: var(--av-olive); }
.vtr-av-pp-m__nom { font-size: 14px; line-height: 1.3; font-weight: 400; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vtr-av-pp-m__prix { font-size: 13px; }
.vtr-av-pp-m__prix del { color: var(--av-gris-clair); }

/* ---------- Offre plus percutante : carré jaune, prix en rouge, économie, compte à rebours ---------- */
.vtr-av-remise { position: absolute; top: 12px; right: 12px; z-index: 2; background: var(--av-jaune); color: var(--av-encre); font-size: 15px; font-weight: 500; line-height: 1; letter-spacing: -.01em; padding: 7px 9px; }
.vtr-av-remise.is-grand { top: 24px; right: 24px; font-size: 34px; font-weight: 400; padding: 14px 16px 12px; }
.vtr-av-ouv__reduit, .vtr-av-pp .vtr-av-ouv__reduit, .vtr-av-case__prix, .vtr-av-encours__prix .woocommerce-Price-amount:first-child { color: var(--av-promo); }
.vtr-av .vtr-av-ouv__reduit { font-size: 36px; font-weight: 400; }
.vtr-av-case.is-aujourdhui .vtr-av-case__prix { color: var(--av-jaune); }
.vtr-av-bande__ligne .woocommerce-Price-amount:first-child { color: var(--av-promo) !important; font-size: 20px; font-weight: 400; }
.vtr-av-economie { margin: 0; display: inline-flex; align-self: flex-start; align-items: baseline; gap: 4px; font-size: 14px; font-weight: 500; color: var(--av-encre); background: var(--av-beige); padding: 7px 12px; }
.vtr-av-economie .vtr-av-htva { font-weight: 300; }
.vtr-av-ouv__actions .vtr-av-cpt__val { font-size: 15px; letter-spacing: .06em; color: var(--av-promo); }
.vtr-av-bande__photo .vtr-av-remise { top: 10px; right: 10px; }
@media (max-width: 782px) {
	.vtr-av-remise.is-grand { top: 14px; right: 14px; font-size: 24px; padding: 10px 12px 8px; }
	.vtr-av .vtr-av-ouv__reduit { font-size: 30px; }
}

/* =========================================================================
   V4 : en-tête de Noël et meuble à tiroirs (page [vitrine_avent]).
   ========================================================================= */
.vtr-av.is-tiroirs { padding-top: 0; }
.vtr-av-monte, .vtr-av-h__ligne { display: block; opacity: 0; transform: translateY(28px); animation: vtr-av-monte .9s cubic-bezier(.22, 1, .36, 1) forwards; }
@keyframes vtr-av-monte { to { opacity: 1; transform: none; } }

/* En-tête */
.vtr-av-h {
	position: relative;
	overflow: hidden;
	margin: 0 calc(-1 * var(--wooh-marge, 40px));
	padding: 0 var(--wooh-marge, 40px);
	background: var(--av-encre);
	color: var(--av-beige);
}
.vtr-av-h__lueur { position: absolute; left: 50%; bottom: -38vw; width: 120vw; height: 70vw; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 226, 0, .26), rgba(255, 226, 0, .07) 55%, rgba(255, 226, 0, 0)); transform: translateX(-50%); animation: vtr-av-aube 9s ease-in-out infinite alternate; pointer-events: none; }
@keyframes vtr-av-aube { from { transform: translate(-50%, 8%); opacity: .55; } to { transform: translate(-50%, -4%); opacity: 1; } }
.vtr-av-h .vtr-av-neige { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; opacity: .55; }
.vtr-av-h__cadre { position: static; max-width: 1590px; margin: 0 auto; }
.vtr-av-h__barre, .vtr-av-h__corps, .vtr-av-rail { position: relative; }
.vtr-av-h__barre { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px 0; }
.vtr-av-h .vtr-av-ariane { margin: 0; color: rgba(243, 241, 236, .6); }
.vtr-av-h .vtr-av-ariane a { color: rgba(243, 241, 236, .6); }
.vtr-av-h .vtr-av-ariane a:hover { color: #fff; }
.vtr-av-h .vtr-av-sc { color: rgba(243, 241, 236, .65); }

/* Guirlande */
.vtr-av-guirlande { position: absolute; left: 0; right: 0; top: 66px; height: 74px; pointer-events: none; }
.vtr-av-guirlande svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.vtr-av-ampoule { position: absolute; width: 7px; height: 7px; margin: -1px 0 0 -3.5px; border-radius: 50%; background: #fff6c2; box-shadow: 0 0 6px 2px rgba(255, 226, 0, .5), 0 0 18px 4px rgba(255, 226, 0, .2); animation: vtr-av-scintille 3.2s ease-in-out infinite; }
.vtr-av-ampoule::before { content: ""; position: absolute; left: 2px; top: -4px; width: 3px; height: 4px; border-radius: 1px; background: rgba(243, 241, 236, .35); }
@keyframes vtr-av-scintille { 0%, 100% { opacity: 1; } 45% { opacity: .35; box-shadow: 0 0 2px 1px rgba(255, 226, 0, .3); } }

.vtr-av-h__corps { display: flex; flex-wrap: wrap; gap: 56px; align-items: flex-end; justify-content: space-between; padding: clamp(110px, 10vw, 160px) 0 64px; }
.vtr-av-h__texte { flex: 1 1 560px; min-width: 0; }
.vtr-av-h .vtr-av-h__sur { display: flex; align-items: center; gap: 12px; margin: 0 0 28px; color: var(--av-jaune); animation-delay: .1s; }
.vtr-av-h__sur .vtr-av-etoile-trait { animation: vtr-av-tourne 9s linear infinite; }
@keyframes vtr-av-tourne { to { transform: rotate(360deg); } }
.vtr-av-h__titre { margin: 0; font-size: clamp(56px, 9vw, 132px); font-weight: 200; line-height: .95; letter-spacing: -.03em; color: #f3f1ec; }
.vtr-av-h__ligne:first-child { animation-delay: .2s; }
.vtr-av-h__ligne + .vtr-av-h__ligne { animation-delay: .35s; }
.vtr-av-h__titre span span { color: var(--av-jaune); }
.vtr-av-h__intro { max-width: 540px; margin: 32px 0 0; font-size: 19px; font-weight: 300; line-height: 1.55; color: rgba(243, 241, 236, .78); animation-delay: .5s; }

/* Compte à rebours en volets */
.vtr-av-h__compte { flex: 0 1 auto; display: flex; flex-direction: column; gap: 16px; opacity: 0; animation: vtr-av-monte .9s cubic-bezier(.22, 1, .36, 1) .65s forwards; }
.vtr-av-h__compte.is-fini { max-width: 380px; }
.vtr-av-h__sous { font-size: 15px; font-weight: 300; color: rgba(243, 241, 236, .78); }
.vtr-av-volets { display: flex; align-items: flex-start; gap: 6px; }
.vtr-av-volets__groupe { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.vtr-av-volets__paire { display: flex; gap: 6px; }
.vtr-av-volets__unite { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: rgba(243, 241, 236, .5); }
.vtr-av-volets__sep { font-size: 40px; font-weight: 200; line-height: 88px; color: rgba(243, 241, 236, .4); padding: 0 2px; }
.vtr-av-volet { position: relative; width: 64px; height: 88px; border-radius: 6px; background: #22262f; display: grid; place-items: center; overflow: hidden; font-size: 56px; font-weight: 300; line-height: 1; color: #f3f1ec; font-variant-numeric: tabular-nums; }
.vtr-av-volet::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--av-encre); }
.vtr-av-volet.is-tic::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 50%; z-index: 2; background: linear-gradient(#2c313b, #262a33); transform-origin: bottom; animation: vtr-av-rabat 1s cubic-bezier(.5, 0, .5, 1) infinite; }
@keyframes vtr-av-rabat { 0% { transform: perspective(300px) rotateX(0); opacity: 1; } 35% { transform: perspective(300px) rotateX(-90deg); opacity: .2; } 36%, 100% { transform: perspective(300px) rotateX(-90deg); opacity: 0; } }

/* Frise des jours */
.vtr-av-rail { padding: 0 0 44px; }
.vtr-av-rail__ligne { position: relative; display: flex; justify-content: space-between; align-items: center; }
.vtr-av-rail__fil, .vtr-av-rail__fait { position: absolute; left: 6px; top: 50%; height: 1px; }
.vtr-av-rail__fil { right: 6px; background: rgba(243, 241, 236, .2); }
.vtr-av-rail__fait { background: var(--av-jaune); }
.vtr-av-rail__pt { position: relative; width: 12px; height: 12px; border-radius: 50%; border: 1px solid rgba(243, 241, 236, .45); background: var(--av-encre); }
.vtr-av-rail__pt.is-fait { background: #f3f1ec; border-color: #f3f1ec; }
.vtr-av-rail__pt.is-jour { background: var(--av-jaune); border-color: var(--av-jaune); }
.vtr-av-rail__pt.is-jour::after { content: ""; position: absolute; inset: -7px; border-radius: 50%; border: 1px solid var(--av-jaune); animation: vtr-av-onde 1.8s ease-out infinite; }
@keyframes vtr-av-onde { from { transform: scale(.5); opacity: 1; } to { transform: scale(1.8); opacity: 0; } }
.vtr-av-rail__reperes { position: relative; height: 14px; margin-top: 14px; font-size: 11px; line-height: 14px; letter-spacing: .12em; text-transform: uppercase; color: rgba(243, 241, 236, .5); }
.vtr-av-rail__reperes span { position: absolute; top: 0; white-space: nowrap; transform: translateX(-50%); }
.vtr-av-rail__reperes span:first-child { transform: none; left: 0 !important; }
.vtr-av-rail__reperes span:last-child { transform: none; left: auto !important; right: 0; }

/* Tiroirs */
.vtr-av-tiroirs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.vtr-av-tiroirs:not(.is-semaine):not(.is-tete) { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.vtr-av-tiroirs.is-tete { margin-bottom: 12px; }
.vtr-av-tiroirs__jour { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--av-gris); }
.vtr-av-tiroirs__message { margin: 18px 0 0; min-height: 22px; font-size: 14px; color: var(--av-gris); }

.vtr-av .vtr-av-t {
	position: relative;
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 4px;
	background: transparent;
	color: var(--av-encre);
	font: inherit;
	text-align: left;
	text-decoration: none;
	perspective: 900px;
	opacity: 0;
	animation: vtr-av-monte .8s cubic-bezier(.22, 1, .36, 1) forwards;
}
.vtr-av-t.is-vide { opacity: 1; animation: none; border: 1px dashed #d8d4c9; justify-content: flex-end; padding: 18px 20px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--av-gris-clair); }
.vtr-av-t.is-avenir::before { content: ""; display: block; padding-top: calc(100% + 74px); }
.vtr-av-t__num { font-size: 84px; font-weight: 200; line-height: .9; letter-spacing: -.02em; }
.vtr-av-t__haut { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.vtr-av-t__poignee { width: 46px; height: 5px; border-radius: 3px; align-self: center; margin-top: auto; margin-bottom: 4px; }

/* À venir : façade fermée qui s'entrouvre au survol, tremble au clic */
.vtr-av-t.is-avenir { cursor: pointer; }
.vtr-av-t__face { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; padding: 18px 20px; border-radius: 4px; background: #ebe8e0; box-shadow: inset 0 0 0 1px #dcd8cd; transform-origin: 50% 100%; transition: transform .6s cubic-bezier(.65, 0, .35, 1), box-shadow .4s ease; }
.vtr-av-t.is-avenir .vtr-av-t__num { color: transparent; -webkit-text-stroke: 1px #8d8a80; }
.vtr-av-t.is-avenir .vtr-av-t__poignee { background: #d2cec2; }
.vtr-av-t__cadenas { color: #8d8a80; transition: transform .3s ease; }
.vtr-av-t__quand { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--av-gris); }
.vtr-av-t.is-avenir:hover .vtr-av-t__face { transform: rotateX(-9deg); box-shadow: inset 0 0 0 1px #dcd8cd, 0 18px 28px -18px rgba(20, 23, 31, .45); }
.vtr-av-t.is-avenir:hover .vtr-av-t__cadenas { transform: rotate(-12deg); }
.vtr-av-t.is-secoue .vtr-av-t__face { animation: vtr-av-secoue .5s ease; }
@keyframes vtr-av-secoue { 0%, 100% { transform: none; } 20% { transform: translateX(-6px) rotate(-1deg); } 40% { transform: translateX(5px) rotate(1deg); } 60% { transform: translateX(-3px); } 80% { transform: translateX(2px); } }

/* Ouvert : photo carrée, légende pleine en dessous */
.vtr-av-t__photo { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 4px 4px 0 0; background: #fff; }
.vtr-av .vtr-av-t__photo img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; transform: scale(1.12); transition: transform 1.2s cubic-bezier(.22, 1, .36, 1); }
.vtr-av .vtr-av-t__photo img.is-detoure { inset: 8%; width: 84%; height: 84%; object-fit: contain; }
.vtr-av-t.is-ouverte .vtr-av-t__photo img, .vtr-av-t.is-terminee .vtr-av-t__photo img, .vtr-av-t.is-aujourdhui.is-tire .vtr-av-t__photo img, .vtr-av-t.is-aujourdhui.is-ouvre .vtr-av-t__photo img { transform: scale(1); }
.vtr-av-t.is-ouverte:hover .vtr-av-t__photo img, .vtr-av-t.is-tire:hover .vtr-av-t__photo img { transform: scale(1.05); }
.vtr-av-t__photo > .vtr-av-t__num { position: absolute; left: 12px; top: 12px; z-index: 2; padding: 7px 10px 5px; border-radius: 2px; background: var(--av-beige); font-size: 30px; font-weight: 300; line-height: 1; }
.vtr-av-t__legende { display: flex; flex-direction: column; justify-content: center; gap: 4px; height: 74px; padding: 12px 14px; border-radius: 0 0 4px 4px; background: #fff; box-shadow: inset 0 0 0 1px var(--av-filet); }
.vtr-av-t__nom { overflow: hidden; font-size: 15px; line-height: 1.25; white-space: nowrap; text-overflow: ellipsis; }
.vtr-av-t__statut { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--av-encre); }
.vtr-av-t.is-terminee .vtr-av-t__photo img { filter: grayscale(1); opacity: .55; }
.vtr-av-t.is-terminee .vtr-av-t__photo > .vtr-av-t__num { color: var(--av-gris); }
.vtr-av-t.is-terminee .vtr-av-t__legende { background: #ebe8e0; box-shadow: none; color: var(--av-gris); }
.vtr-av-t.is-terminee .vtr-av-t__statut { color: var(--av-gris); }
.vtr-av-t__tampon { position: absolute; left: 12px; bottom: 12px; z-index: 2; padding: 6px 10px 5px; background: var(--av-encre); color: #f3f1ec; font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; transform: rotate(-4deg); box-shadow: 0 6px 14px -6px rgba(20, 23, 31, .5); }

/* Tiroir du jour : façade sombre qui bascule à l'ouverture */
.vtr-av-t.is-aujourdhui { cursor: pointer; }
.vtr-av-t__volet { position: absolute; inset: 0; z-index: 3; display: flex; flex-direction: column; justify-content: space-between; padding: 18px 20px; border-radius: 4px; background: var(--av-encre); color: #f3f1ec; transform-origin: 50% 100%; backface-visibility: hidden; transition: transform .9s cubic-bezier(.65, 0, .35, 1), box-shadow .4s ease, visibility 0s linear .9s; animation: vtr-av-appel 2.4s ease-out infinite; }
@keyframes vtr-av-appel { 0% { box-shadow: 0 0 0 0 rgba(255, 226, 0, .55); } 70% { box-shadow: 0 0 0 18px rgba(255, 226, 0, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 226, 0, 0); } }
.vtr-av-t__volet .vtr-av-t__num { color: var(--av-jaune); }
.vtr-av-t__appel { display: flex; flex-direction: column; gap: 4px; font-size: 15px; font-weight: 300; }
.vtr-av-t__volet .vtr-av-sc { color: var(--av-jaune); font-size: 12px; }
.vtr-av-t__volet .vtr-av-t__poignee { background: linear-gradient(90deg, var(--av-jaune), #fff6c2, var(--av-jaune)); background-size: 200% 100%; animation: vtr-av-reflet 2s linear infinite; }
@keyframes vtr-av-reflet { to { background-position: -200% 0; } }
.vtr-av-t.is-aujourdhui:hover .vtr-av-t__volet { transform: rotateX(-14deg); }
.vtr-av-t.is-ouvre .vtr-av-t__volet, .vtr-av-t.is-tire .vtr-av-t__volet { transform: rotateX(-104deg); animation: none; box-shadow: 0 30px 40px -20px rgba(0, 0, 0, .6); visibility: hidden; }
.vtr-av-t.is-ouvre .vtr-av-t__volet { visibility: visible; }
.vtr-av-t.is-tire .vtr-av-t__volet { transition: none; }
.vtr-av-t.is-tire, .vtr-av-t.is-ouvre { border-radius: 4px; box-shadow: 0 0 0 2px var(--av-jaune); }
.vtr-av-t:focus-visible { outline: 2px solid var(--av-encre); outline-offset: 4px; }

/* Fiche de l'offre */
.vtr-av-fiche { width: min(980px, calc(100vw - 32px)); max-width: none; max-height: calc(100vh - 32px); margin: auto; padding: 0; border: 0; border-radius: 6px; background: var(--av-beige); color: var(--av-encre); overflow: auto; }
.vtr-av-fiche[open] { animation: vtr-av-surgit .75s cubic-bezier(.16, 1, .3, 1); transform-origin: var(--av-ox, 50%) var(--av-oy, 50%); }
@keyframes vtr-av-surgit { 0% { opacity: 0; transform: scale(.28); } 40% { opacity: 1; } 100% { opacity: 1; transform: none; } }
.vtr-av-fiche::backdrop { background: rgba(20, 23, 31, .55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); animation: vtr-av-fondu .5s ease; }
@keyframes vtr-av-fondu { from { opacity: 0; } }
@keyframes vtr-av-entre { from { opacity: 0; transform: translateY(18px); } }
.vtr-av-fiche[open] .vtr-av-fiche__photo { animation: vtr-av-devoile .9s cubic-bezier(.65, 0, .35, 1) .15s both; }
@keyframes vtr-av-devoile { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0); } }
.vtr-av-fiche[open] .vtr-av-fiche__texte > * { animation: vtr-av-entre .6s cubic-bezier(.22, 1, .36, 1) both; }
.vtr-av-fiche[open] .vtr-av-fiche__texte > :nth-child(1) { animation-delay: .3s; }
.vtr-av-fiche[open] .vtr-av-fiche__texte > :nth-child(2) { animation-delay: .37s; }
.vtr-av-fiche[open] .vtr-av-fiche__texte > :nth-child(3) { animation-delay: .44s; }
.vtr-av-fiche[open] .vtr-av-fiche__texte > :nth-child(4) { animation-delay: .51s; }
.vtr-av-fiche[open] .vtr-av-fiche__texte > :nth-child(5) { animation-delay: .58s; }
.vtr-av-fiche[open] .vtr-av-fiche__texte > :nth-child(6) { animation-delay: .65s; }
.vtr-av-fiche[open] .vtr-av-fiche__texte > :nth-child(n+7) { animation-delay: .72s; }
.vtr-av-fiche[open] .vtr-av-remise.is-grand { animation: vtr-av-tampon .55s cubic-bezier(.34, 1.56, .64, 1) .8s both; }
@keyframes vtr-av-tampon { from { opacity: 0; transform: scale(.4) rotate(-12deg); } }
.vtr-av-fiche[open] .vtr-av-fiche__fermer { animation: vtr-av-fondu .4s ease .6s both; }
.vtr-av-fiche__boite { position: relative; display: flex; flex-wrap: wrap; }
.vtr-av-fiche__fermer { position: absolute; top: 14px; right: 14px; z-index: 3; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(243, 241, 236, .92); color: var(--av-encre); display: grid; place-items: center; cursor: pointer; }
.vtr-av-fiche__photo { position: relative; flex: 1 1 380px; min-height: 380px; overflow: hidden; background: #fff; display: block; }
.vtr-av .vtr-av-fiche__photo img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; animation: vtr-av-zoom 6s ease-out forwards; }
.vtr-av .vtr-av-fiche__photo img.is-detoure { inset: 8%; width: 84%; height: 84%; object-fit: contain; }
@keyframes vtr-av-zoom { from { transform: scale(1.15); } to { transform: scale(1); } }
.vtr-av-fiche__photo .vtr-av-remise.is-grand { left: 24px; right: auto; }
.vtr-av-fiche__texte { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 16px; padding: clamp(28px, 4vw, 52px); }
.vtr-av-fiche__titre { display: flex; flex-direction: column; gap: 6px; }
.vtr-av .vtr-av-fiche__nom { margin: 0; font-size: clamp(28px, 3vw, 40px); font-weight: 300; line-height: 1.1; color: var(--av-encre); }
.vtr-av-fiche__nom a { text-decoration: none; }
.vtr-av-fiche .vtr-av-ouv__prix { margin: 0; }
.vtr-av-fiche .vtr-av-cpt { background: #ebe8e0; }
.vtr-av-fiche .vtr-av-cpt__val { color: var(--av-promo); }
.vtr-av-fiche__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; padding-top: 8px; }
.vtr-av-fiche .vtr-av-bouton.is-contour { cursor: pointer; font: inherit; font-size: 13px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }

/* Rappel : bloc sombre */
.vtr-av.is-tiroirs .vtr-av-alerte { padding: 0; overflow: hidden; border-radius: 6px; background: var(--av-encre); color: #f3f1ec; align-items: stretch; gap: 0; }
.vtr-av.is-tiroirs .vtr-av-alerte__texte, .vtr-av.is-tiroirs .vtr-av-form { padding: clamp(28px, 4vw, 56px); }
.vtr-av.is-tiroirs .vtr-av-alerte__texte { padding-bottom: 0; flex-basis: 100%; }
.vtr-av.is-tiroirs .vtr-av-alerte.has-photo { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); grid-template-rows: auto 1fr; }
.vtr-av.is-tiroirs .vtr-av-alerte.has-photo .vtr-av-alerte__texte, .vtr-av.is-tiroirs .vtr-av-alerte.has-photo .vtr-av-form { width: auto; grid-column: 1; }
.vtr-av-alerte__photo { position: relative; grid-column: 2; grid-row: 1 / 3; min-height: 320px; overflow: hidden; }
.vtr-av .vtr-av-alerte__photo img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.vtr-av.is-tiroirs .vtr-av-alerte .vtr-av-h2 { color: #f3f1ec; }
.vtr-av.is-tiroirs .vtr-av-alerte .vtr-av-texte, .vtr-av.is-tiroirs .vtr-av-form__accord, .vtr-av.is-tiroirs .vtr-av-form__lib { color: rgba(243, 241, 236, .75); }
.vtr-av.is-tiroirs .vtr-av-form__accord a { color: #f3f1ec; }
.vtr-av.is-tiroirs .vtr-av-alerte .vtr-av-alerte__sur { color: var(--av-jaune); }
.vtr-av.is-tiroirs .vtr-av-form__ligne input { border-color: rgba(243, 241, 236, .35); background: transparent; color: #f3f1ec; }
.vtr-av.is-tiroirs .vtr-av-form__ligne input::placeholder { color: rgba(243, 241, 236, .55); }
.vtr-av.is-tiroirs .vtr-av-form__ligne button { background: var(--av-jaune); color: var(--av-encre); }
.vtr-av.is-tiroirs .vtr-av-form__ligne button:hover { background: #fff; }
.vtr-av.is-tiroirs .vtr-av-form__message { color: var(--av-jaune); }
.vtr-av.is-tiroirs .vtr-av-form.is-erreur .vtr-av-form__message { color: #ff8a80; }
.vtr-av.is-tiroirs .vtr-av-etapes { margin-top: 0; }

@media (max-width: 1100px) {
	.vtr-av-tiroirs.is-semaine { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.vtr-av-tiroirs.is-tete, .vtr-av-t.is-vide { display: none; }
}
@media (max-width: 782px) {
	.vtr-av-h__corps { padding-top: 100px; gap: 36px; }
	.vtr-av-h__intro { font-size: 17px; }
	.vtr-av-volet { width: 42px; height: 60px; font-size: 36px; }
	.vtr-av-volets__sep { font-size: 28px; line-height: 60px; }
	.vtr-av-rail__reperes { display: none; }
	.vtr-av-tiroirs.is-semaine, .vtr-av-tiroirs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.vtr-av-t__num { font-size: 60px; }
	.vtr-av-t__photo > .vtr-av-t__num { font-size: 24px; }
	.vtr-av-t__face, .vtr-av-t__volet { padding: 14px; }
	.vtr-av-fiche__photo { flex-basis: 100%; min-height: 0; aspect-ratio: 1 / 1; }
	.vtr-av.is-tiroirs .vtr-av-alerte.has-photo { display: flex; }
	.vtr-av-alerte__photo { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.vtr-av.is-tiroirs *, .vtr-av.is-tiroirs *::before, .vtr-av.is-tiroirs *::after { animation: none !important; transition: none !important; }
	.vtr-av-monte, .vtr-av-h__ligne, .vtr-av-h__compte, .vtr-av .vtr-av-t { opacity: 1; transform: none; }
}

/* Déballage du tiroir du jour */
/* La photo forme son propre empilement : le paquet reste sous la façade du tiroir. */
.vtr-av-t__photo { isolation: isolate; }
.vtr-av-emb { position: absolute; inset: 0; z-index: 4; pointer-events: none; }
.vtr-av-t.is-tire .vtr-av-emb { display: none; }
.vtr-av-emb__papier { position: absolute; top: 0; bottom: 0; width: 53%; background: repeating-linear-gradient(135deg, #1b1f28 0 10px, #232833 10px 20px); box-shadow: inset 0 0 40px rgba(0, 0, 0, .35); }
.vtr-av-emb__papier.is-g { left: 0; transform-origin: 0 50%; clip-path: polygon(0 0, 100% 0, 94% 8%, 100% 16%, 93% 24%, 100% 33%, 94% 41%, 100% 50%, 93% 58%, 100% 66%, 94% 75%, 100% 83%, 93% 91%, 100% 100%, 0 100%); }
.vtr-av-emb__papier.is-d { right: 0; transform-origin: 100% 50%; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 7% 91%, 0 83%, 6% 75%, 0 66%, 7% 58%, 0 50%, 6% 41%, 0 33%, 7% 24%, 0 16%, 6% 8%); }
.vtr-av-emb__ruban { position: absolute; background: var(--av-jaune); box-shadow: 0 0 0 1px rgba(20, 23, 31, .25); }
.vtr-av-emb__ruban.is-v { left: 50%; top: 0; bottom: 0; width: 14px; margin-left: -7px; }
.vtr-av-emb__ruban.is-h { top: 50%; left: 0; right: 0; height: 14px; margin-top: -7px; }
.vtr-av-emb__noeud { position: absolute; left: 50%; top: 50%; width: 104px; height: 65px; transform: translate(-50%, -62%); filter: drop-shadow(0 6px 8px rgba(0, 0, 0, .35)); }
.vtr-av-emb__confettis span { position: absolute; left: 50%; top: 50%; width: 7px; height: 11px; margin: -5px 0 0 -3px; border-radius: 1px; opacity: 0; }
.vtr-av-t.is-ouvre .vtr-av-emb__noeud { animation: vtr-av-emb-noeud .55s cubic-bezier(.5, 0, .75, 0) .95s both; }
@keyframes vtr-av-emb-noeud { 0% { transform: translate(-50%, -62%) scale(1); } 25% { transform: translate(-50%, -70%) scale(1.18); } 100% { transform: translate(-50%, -320%) rotate(-28deg) scale(.6); opacity: 0; } }
.vtr-av-t.is-ouvre .vtr-av-emb__ruban.is-v { animation: vtr-av-emb-glisse-v .45s cubic-bezier(.55, 0, .9, .4) 1.1s both; }
@keyframes vtr-av-emb-glisse-v { to { transform: translateY(110%); } }
.vtr-av-t.is-ouvre .vtr-av-emb__ruban.is-h { animation: vtr-av-emb-glisse-h .45s cubic-bezier(.55, 0, .9, .4) 1.1s both; }
@keyframes vtr-av-emb-glisse-h { to { transform: translateX(110%); } }
.vtr-av-t.is-ouvre .vtr-av-emb__papier.is-g { animation: vtr-av-emb-gauche .6s cubic-bezier(.6, 0, .35, 1) 1.35s both; }
@keyframes vtr-av-emb-gauche { 0% { transform: none; } 20% { transform: rotate(-2deg); } 100% { transform: translateX(-108%) rotate(-10deg); } }
.vtr-av-t.is-ouvre .vtr-av-emb__papier.is-d { animation: vtr-av-emb-droite .6s cubic-bezier(.6, 0, .35, 1) 1.35s both; }
@keyframes vtr-av-emb-droite { 0% { transform: none; } 20% { transform: rotate(2deg); } 100% { transform: translateX(108%) rotate(10deg); } }
.vtr-av-t.is-ouvre .vtr-av-emb__confettis span { animation: vtr-av-emb-confetti .85s cubic-bezier(.15, .8, .3, 1) both; }
@keyframes vtr-av-emb-confetti { 0% { opacity: 1; transform: translate(0, 0) rotate(0) scale(.6); } 70% { opacity: 1; } 100% { opacity: 0; transform: translate(var(--x), var(--y)) rotate(var(--r)) scale(1); } }
.vtr-av-t.is-aujourdhui.is-ouvre .vtr-av-t__photo img { transition-delay: 1.4s; }

/* Tiroir du jour = paquet cadeau visible, qui grossit au survol et se déballe au clic. */
.vtr-av-t.is-aujourdhui .vtr-av-t__volet { display: none; }
.vtr-av .vtr-av-t.is-aujourdhui:not(.is-tire) { transition: scale .35s cubic-bezier(.34, 1.56, .64, 1), box-shadow .35s ease; z-index: 1; }
.vtr-av .vtr-av-t.is-aujourdhui:not(.is-tire):not(.is-ouvre):hover { scale: 1.05; z-index: 5; box-shadow: 0 24px 40px -18px rgba(20, 23, 31, .5); }
.vtr-av-t.is-aujourdhui:not(.is-tire)::after { content: ""; position: absolute; inset: 0; border-radius: 4px; pointer-events: none; animation: vtr-av-appel 2.4s ease-out infinite; }
.vtr-av-t.is-aujourdhui.is-ouvre::after { animation: none; }
.vtr-av-t.is-aujourdhui .vtr-av-t__photo > .vtr-av-t__num { z-index: 5; background: var(--av-jaune); }
.vtr-av-t.is-aujourdhui:not(.is-tire):not(.is-ouvre):hover .vtr-av-emb__noeud { animation: vtr-av-emb-frisson .6s ease-in-out infinite alternate; }
@keyframes vtr-av-emb-frisson { from { transform: translate(-50%, -62%) rotate(-4deg); } to { transform: translate(-50%, -62%) rotate(4deg) scale(1.06); } }
.vtr-av-t__invite { display: none; flex-direction: column; gap: 4px; }
.vtr-av-t.is-aujourdhui:not(.is-tire) .vtr-av-t__legende > .vtr-av-t__nom, .vtr-av-t.is-aujourdhui:not(.is-tire) .vtr-av-t__legende > .vtr-av-t__statut { display: none; }
.vtr-av-t.is-aujourdhui:not(.is-tire) .vtr-av-t__invite { display: flex; }
.vtr-av-t__invite .vtr-av-t__statut { color: var(--av-gris); }
.vtr-av-t.is-aujourdhui.is-ouvre .vtr-av-emb__noeud { animation: vtr-av-emb-noeud .55s cubic-bezier(.5, 0, .75, 0) .05s both; }
.vtr-av-t.is-aujourdhui.is-ouvre .vtr-av-emb__ruban.is-v { animation: vtr-av-emb-glisse-v .45s cubic-bezier(.55, 0, .9, .4) .2s both; }
.vtr-av-t.is-aujourdhui.is-ouvre .vtr-av-emb__ruban.is-h { animation: vtr-av-emb-glisse-h .45s cubic-bezier(.55, 0, .9, .4) .2s both; }
.vtr-av-t.is-aujourdhui.is-ouvre .vtr-av-emb__papier.is-g { animation: vtr-av-emb-gauche .6s cubic-bezier(.6, 0, .35, 1) .5s both; }
.vtr-av-t.is-aujourdhui.is-ouvre .vtr-av-emb__papier.is-d { animation: vtr-av-emb-droite .6s cubic-bezier(.6, 0, .35, 1) .5s both; }
.vtr-av-t.is-aujourdhui.is-ouvre .vtr-av-t__photo img { transition-delay: .55s; }
