/**
 * VW Enchères — feuille de style publique.
 *
 * La salle des ventes et les fiches s'ouvrent sur une scène bleu nuit
 * pleine largeur ; l'or signale tout ce qui relève de l'enchère.
 * Les couleurs de boutons sont posées avec une spécificité suffisante
 * pour résister à celles des liens du thème.
 */

.vwe-salle,
.vwe-fiche,
.vwe-enchere,
.vwe-signature,
.vwe-mur {
	--vwe-nuit: #0B1628;
	--vwe-nuit-2: #13223B;
	--vwe-nuit-3: #1B2A44;
	--vwe-encre: #0B1628;
	--vwe-ardoise: #33415C;
	--vwe-gris: #5F6E84;
	--vwe-ligne: #E3E8EF;
	--vwe-ligne-douce: #EEF1F5;
	--vwe-brume: #F4F6F9;
	--vwe-bleu: #3A8EBA;
	--vwe-bleu-fonce: #2C6D91;
	--vwe-rouge: #B3382A;
	--vwe-vert: #3DDC97;
	--vwe-or: #D9A441;
	--vwe-or-clair: #F0C877;
	--vwe-bronze: #8A5310;
	--vwe-bronze-pale: #FBF3E4;
	--vwe-sur-nuit: #A9B8CA;
	--vwe-texte-nuit: #DCE4EE;
	--vwe-rayon: 18px;

	font-size: 16px;
	line-height: 1.65;
	color: var(--vwe-ardoise);
}

/* ------------------------------------------------ pleine largeur */

/*
 * Les pages d'enchères sortent de la colonne du thème. Le titre du thème
 * est masqué : la scène porte le sien. Le script retire aussi l'écart
 * laissé sous l'en-tête.
 */
body.vwe-plein { overflow-x: clip; }
body.vwe-plein .entry-header,
body.vwe-plein .page-header,
body.vwe-plein h1.entry-title,
body.vwe-plein .wp-block-post-title,
body.vwe-plein .entry-meta,
body.vwe-plein .post-meta { display: none !important; }
.vwe-titre-masque { display: none !important; }

.vwe-pleine {
	position: relative;
	left: 50%;
	width: 100vw;
	max-width: 100vw;
	margin-left: -50vw;
	margin-right: 0;
}
.vwe-pleine *,
.vwe-pleine *::before,
.vwe-pleine *::after { box-sizing: border-box; }

.vwe-cadre { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 28px; position: relative; }

.vwe-scene-nuit {
	position: relative;
	overflow: hidden;
	background-color: var(--vwe-nuit);
	background-image:
		linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
	background-size: 56px 56px;
	color: var(--vwe-texte-nuit);
}
.vwe-halo {
	position: absolute; width: 640px; height: 640px; border-radius: 50%; pointer-events: none;
	background: radial-gradient(circle, rgba(217, 164, 65, .22), rgba(217, 164, 65, 0) 65%);
}
.vwe-halo.is-haut { right: -140px; top: -240px; }
.vwe-halo.is-droite { right: 4%; top: -300px; }
.vwe-halo.is-bas { left: -220px; bottom: -420px; }
.vwe-filigrane { position: absolute; right: 30%; bottom: -120px; color: rgba(217, 164, 65, .09); pointer-events: none; line-height: 0; }
.vwe-filigrane.is-gauche { right: auto; left: -70px; bottom: -90px; }
.vwe-filigrane svg { stroke-width: .6; }

/* ------------------------------------------------------- boutons */

.vwe-bouton,
.vwe-pleine a.vwe-bouton,
.vwe-pleine button.vwe-bouton {
	display: inline-flex; align-items: center; justify-content: center; gap: 9px;
	min-height: 50px; padding: 0 24px; border-radius: 11px;
	border: 1px solid transparent; background: none;
	font: inherit; font-size: 16px; font-weight: 600; line-height: 1.2; text-align: center;
	text-decoration: none; cursor: pointer;
	transition: background-color .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
}
.vwe-pleine a.vwe-bouton:focus-visible,
.vwe-pleine button.vwe-bouton:focus-visible { outline: 3px solid var(--vwe-or-clair); outline-offset: 2px; }
.vwe-pleine .vwe-bouton:disabled { opacity: .55; cursor: not-allowed; }

.vwe-pleine .vwe-bouton.is-or { background: var(--vwe-or); border-color: var(--vwe-or); color: #1B1405; }
.vwe-pleine .vwe-bouton.is-or:hover:not(:disabled) { background: transparent; color: var(--vwe-or-clair); border-color: var(--vwe-or); }
.vwe-pleine .vwe-bouton.is-clair { background: transparent; border-color: rgba(255, 255, 255, .3); color: #fff; }
.vwe-pleine .vwe-bouton.is-clair:hover { background: #fff; border-color: #fff; color: var(--vwe-nuit); }
.vwe-pleine .vwe-bouton.is-nuit { background: var(--vwe-nuit); border-color: var(--vwe-nuit); color: #fff; }
.vwe-pleine .vwe-bouton.is-nuit:hover { background: var(--vwe-or); border-color: var(--vwe-or); color: #1B1405; }
.vwe-pleine .vwe-bouton.is-contour { background: #fff; border-color: #D5DCE6; color: var(--vwe-nuit); }
.vwe-pleine .vwe-bouton.is-contour:hover { border-color: var(--vwe-nuit); }
.vwe-pleine .vwe-bouton.is-large { min-height: 56px; font-size: 17px; }
.vwe-pleine .vwe-bouton.is-petit { min-height: 40px; padding: 0 10px; font-size: 14.5px; }
.vwe-bouton svg { flex: none; }
.vwe-boutons { display: flex; flex-wrap: wrap; gap: 12px; }

/* Boutons des gabarits hérités (signature, connexion). */
.vwe-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 12px 22px; border: 1px solid var(--vwe-bleu); border-radius: 9px;
	background: #fff; color: var(--vwe-bleu-fonce);
	font: inherit; font-size: 15px; font-weight: 600; line-height: 1.2;
	text-decoration: none; cursor: pointer;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.vwe-btn:hover { background: var(--vwe-bleu); color: #fff; }
.vwe-btn:disabled { opacity: .55; cursor: not-allowed; }
.vwe-btn-plein,
.vwe-mur a.vwe-btn.vwe-btn-plein,
.vwe-signature a.vwe-btn.vwe-btn-plein { background: var(--vwe-bleu); border-color: var(--vwe-bleu); color: #fff; }
.vwe-btn-plein:hover,
.vwe-mur a.vwe-btn.vwe-btn-plein:hover { background: var(--vwe-bleu-fonce); border-color: var(--vwe-bleu-fonce); color: #fff; }
.vwe-btn-discret { border-color: var(--vwe-ligne); color: var(--vwe-gris); padding: 8px 16px; font-size: 13.5px; }
.vwe-btn-discret:hover { background: var(--vwe-brume); color: var(--vwe-ardoise); border-color: var(--vwe-gris); }
.vwe-mur a.vwe-btn { text-decoration: none; }

/* ------------------------------------------------ bouton du menu */

/*
 * Le bouton reprend les classes du voisin pour sa taille ; ses couleurs
 * doivent l'emporter sur celles du thème, d'où les !important, limités ici.
 */
a.vwe-nav-btn.vwe-nav-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: #8A5310 !important;
	background-image: none !important;
	color: #fff !important;
	border-color: #8A5310 !important;
	box-shadow: inset 0 0 0 1.5px #8A5310 !important;
	text-decoration: none !important;
	transition: background-color .16s ease, color .16s ease;
}
a.vwe-nav-btn.vwe-nav-btn:hover,
a.vwe-nav-btn.vwe-nav-btn:focus-visible {
	background: #fff !important;
	color: #8A5310 !important;
}
a.vwe-nav-btn.vwe-nav-btn:focus-visible { outline: 3px solid #E0A84A; outline-offset: 2px; }
a.vwe-nav-btn .vwe-nav-maillet { flex: none; stroke: currentColor; }
a.vwe-nav-btn.vwe-nav-btn-seul { padding: 10px 18px; border-radius: 10px; font-weight: 600; }

/* ------------------------------------------------------------ messages */

.vwe-alerte,
.vwe-message {
	padding: 13px 17px;
	border-radius: 9px;
	margin: 0 0 18px;
	font-size: 14.5px;
	border: 1px solid transparent;
}

.vwe-alerte.is-success, .vwe-message.is-success { background: #ECFDF3; border-color: #A7E3C4; color: #14532D; }
.vwe-alerte.is-error, .vwe-message.is-error { background: #FDEDEB; border-color: #E3A79E; color: #7F241A; }
.vwe-alerte.is-info, .vwe-message.is-info { background: #EFF6FB; border-color: #BBDCEC; color: #22536E; }
.vwe-message:empty { display: none; }


/* --------------------------------------------------- mur de connexion */

.vwe-mur {
	text-align: center;
	padding: 48px 32px;
	background: var(--vwe-brume);
	border: 1px solid var(--vwe-ligne);
	border-radius: 14px;
}
.vwe-mur h2 { margin: 0 0 10px; font-size: 22px; color: var(--vwe-encre); }
.vwe-mur p { margin: 0 auto 8px; max-width: 52ch; }
.vwe-mur-note { font-size: 13.5px; color: var(--vwe-gris); }
.vwe-mur-actions { display: flex; gap: 12px; justify-content: center; margin-top: 22px; flex-wrap: wrap; }

/* ------------------------------------------------ pièces communes */

.vwe-direct { display: inline-flex; align-items: center; gap: 10px; margin: 0; font-size: 14.5px; font-weight: 600; color: var(--vwe-or-clair); }
.vwe-pouls {
	position: relative; flex: none; width: 10px; height: 10px; border-radius: 50%;
	background: var(--vwe-vert);
}
.vwe-pouls::after {
	content: ""; position: absolute; inset: -6px; border-radius: 50%;
	border: 2px solid var(--vwe-vert); opacity: 0; animation: vwe-pouls 2.2s ease-out infinite;
}
.vwe-pouls.is-veille,
.vwe-pouls.is-offre,
.vwe-pouls.is-suspendu { background: var(--vwe-or); }
.vwe-pouls.is-veille::after,
.vwe-pouls.is-offre::after,
.vwe-pouls.is-suspendu::after { border-color: var(--vwe-or); }
.vwe-pouls.is-vendu,
.vwe-pouls.is-termine,
.vwe-pouls.is-echue { background: var(--vwe-sur-nuit); }
.vwe-pouls.is-vendu::after,
.vwe-pouls.is-termine::after,
.vwe-pouls.is-echue::after { display: none; }
@keyframes vwe-pouls {
	0% { transform: scale(.6); opacity: .8; }
	100% { transform: scale(1.6); opacity: 0; }
}

.vwe-statut {
	display: inline-block; padding: 3px 10px; border-radius: 20px;
	font-size: 12.5px; font-weight: 600; line-height: 1.5; white-space: nowrap;
	background: #E4F5EC; color: #0B6B4C;
}
.vwe-statut.is-offre { background: var(--vwe-bronze-pale); color: #6B400B; box-shadow: inset 0 0 0 1px #E9CFA0; }
.vwe-statut.is-suspendu { background: #EEF1F5; color: #475569; }
.vwe-statut.is-vendu { background: var(--vwe-nuit); color: #fff; }
.vwe-statut.is-termine,
.vwe-statut.is-echue { background: var(--vwe-brume); color: var(--vwe-gris); }

.vwe-puces { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.vwe-puces li,
.vwe-puce-nuit {
	display: inline-flex; align-items: center; min-height: 30px; margin: 0; padding: 0 12px;
	border-radius: 8px; font-size: 13.5px;
	background: rgba(255, 255, 255, .07); color: var(--vwe-texte-nuit); border: 1px solid rgba(255, 255, 255, .1);
}

.vwe-ariane { display: flex; flex-wrap: wrap; gap: 10px; font-size: 14px; color: #8D9BB0; }
.vwe-pleine .vwe-ariane a { color: var(--vwe-sur-nuit); text-decoration: none; }
.vwe-pleine .vwe-ariane a:hover { color: #fff; text-decoration: underline; }
.vwe-ariane .is-courant { color: var(--vwe-or-clair); }

.vwe-piste { height: 6px; border-radius: 6px; background: var(--vwe-ligne-douce); overflow: hidden; }
.vwe-piste span { display: block; height: 100%; border-radius: 6px; background: var(--vwe-or); }
.vwe-piste.is-nuit { background: rgba(255, 255, 255, .1); }

.vwe-soi {
	display: inline-block; margin-left: 6px; padding: 1px 9px; border-radius: 20px;
	background: var(--vwe-bleu); color: #fff; font-size: 12px; font-weight: 600; vertical-align: 1px;
}
.vwe-soi.is-bronze { background: var(--vwe-bronze); }

.vwe-coche { flex: none; color: var(--vwe-or); margin-top: 3px; }

.vwe-tampon {
	position: absolute; top: 14px; right: 14px; z-index: 2;
	padding: 4px 12px; border-radius: 6px; transform: rotate(-4deg);
	background: var(--vwe-nuit); color: var(--vwe-or-clair);
	box-shadow: inset 0 0 0 1.5px var(--vwe-or);
	font-size: 13px; font-weight: 700; letter-spacing: .02em;
}
.vwe-tampon.is-grand { top: 58px; right: 22px; padding: 8px 20px; font-size: 20px; }

.vwe-aide { font-size: 14.5px; color: var(--vwe-gris); margin: 0 0 12px; }
.vwe-vide { color: var(--vwe-gris); }

/* Cadre de navigateur */
.vwe-navigateur {
	border-radius: 14px; overflow: hidden; background: #fff;
	box-shadow: 0 30px 60px rgba(0, 0, 0, .35), 0 0 0 1px rgba(255, 255, 255, .08);
}
.vwe-navigateur-barre {
	display: flex; align-items: center; gap: 7px; height: 34px; padding: 0 14px; background: #EEF1F5;
}
.vwe-navigateur-barre i { display: block; flex: none; width: 10px; height: 10px; border-radius: 50%; background: #C9D1DC; }
.vwe-navigateur-barre span {
	flex: 1; min-width: 0; margin-left: 10px; height: 20px; padding: 0 10px; border-radius: 6px;
	background: #fff; color: #6B7890; font-size: 11.5px; line-height: 20px;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.vwe-navigateur-ecran {
	display: flex; align-items: center; justify-content: center;
	aspect-ratio: 16 / 10; background: var(--vwe-brume);
}
.vwe-navigateur-ecran img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.vwe-monogramme {
	display: flex; align-items: center; justify-content: center;
	width: 22%; min-width: 56px; aspect-ratio: 1; border-radius: 22%;
	background: var(--vwe-nuit-2); color: #fff; box-shadow: inset 0 0 0 2px var(--vwe-or);
	font-size: clamp(24px, 3vw, 38px); font-weight: 700;
}

/* Plaque d'un nom de domaine */
.vwe-plaque {
	position: relative; display: flex; align-items: center; justify-content: center;
	aspect-ratio: 16 / 10; padding: 24px; border-radius: 14px; overflow: hidden;
	background:
		radial-gradient(circle at 18% 12%, rgba(217, 164, 65, .2), transparent 48%),
		var(--vwe-nuit-2, #13223B);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .08);
}
.vwe-plaque-nom {
	color: #fff; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; text-align: center;
	font-size: clamp(22px, 3.2vw, 40px); overflow-wrap: anywhere;
}
.vwe-plaque-nom em { font-style: normal; color: var(--vwe-or, #D9A441); }

/* ------------------------------------------------ salle des ventes */

.vwe-accueil { padding: 84px 0 96px; }
.vwe-accueil.is-court { padding: 56px 0 64px; }
.vwe-accueil-grille { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.vwe-accueil-grille.is-seul { grid-template-columns: minmax(0, 760px); }
.vwe-accueil-texte { display: flex; flex-direction: column; gap: 22px; }
.vwe-pleine .vwe-accueil-titre {
	margin: 0; color: #fff; font-weight: 700;
	font-size: clamp(38px, 5vw, 64px); line-height: 1.03; letter-spacing: -.03em;
}
.vwe-accueil.is-court .vwe-accueil-titre { margin-top: 22px; }
.vwe-accueil-intro { margin: 0; max-width: 540px; font-size: 19px; line-height: 1.6; color: #B3C0D1; }
.vwe-accueil.is-court .vwe-accueil-intro { margin-top: 14px; }
.vwe-accueil .vwe-boutons { margin-top: 6px; }

.vwe-une {
	position: relative; padding: 18px; border-radius: 20px;
	background: var(--vwe-nuit-2); border: 1px solid rgba(255, 255, 255, .08);
	box-shadow: 0 40px 80px rgba(0, 0, 0, .4);
}
.vwe-une-tete { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; font-size: 13.5px; font-weight: 600; color: var(--vwe-or-clair); }
.vwe-une-visuel { display: block; text-decoration: none; }
.vwe-une-pied { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-top: 18px; }
.vwe-pleine .vwe-une-titre { margin: 0; font-size: 21px; line-height: 1.3; }
.vwe-pleine .vwe-une-titre a { color: #fff; text-decoration: none; }
.vwe-pleine .vwe-une-titre a:hover { text-decoration: underline; }
.vwe-une-note { margin: 4px 0 0; font-size: 13.5px; color: var(--vwe-sur-nuit); }
.vwe-une-prix { margin: 0; font-size: 34px; font-weight: 700; color: #fff; letter-spacing: -.02em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.vwe-une-temps { display: flex; align-items: center; gap: 14px; margin-top: 16px; }
.vwe-une-temps .vwe-piste { flex: 1; }
.vwe-une-chrono { font-size: 14px; font-weight: 600; color: var(--vwe-or-clair); white-space: nowrap; font-variant-numeric: tabular-nums; }

.vwe-garanties { border-bottom: 1px solid var(--vwe-ligne); background: #fff; }
/* Sélecteurs appuyés : les listes du thème imposent marges et retraits. */
.vwe-pleine .vwe-garanties ul.vwe-garanties-grille {
	list-style: none; width: 100%; max-width: none; margin: 0; padding: 30px 0;
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px;
}
.vwe-pleine .vwe-garanties-grille li {
	display: flex; flex-direction: column; align-items: center; gap: 8px;
	margin: 0; padding: 0; list-style: none; text-align: center;
	font-size: 14.5px; line-height: 1.45; color: var(--vwe-gris);
}
.vwe-pleine .vwe-garanties-grille li::before,
.vwe-pleine .vwe-garanties-grille li::marker { content: none; }
.vwe-garanties-grille li span { display: block; }
.vwe-garanties strong { display: block; font-size: 15.5px; color: var(--vwe-encre); }
.vwe-garanties .vwe-coche {
	width: 34px; height: 34px; padding: 8px; margin: 0; border-radius: 50%;
	color: var(--vwe-bronze); background: var(--vwe-bronze-pale);
}

.vwe-section { padding-top: 72px; }
.vwe-section-tete { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 18px; margin-bottom: 30px; }
.vwe-pleine .vwe-section-tete h2 { margin: 0; font-size: clamp(28px, 3vw, 36px); line-height: 1.15; letter-spacing: -.02em; color: var(--vwe-encre); }
.vwe-section-tete p { margin: 8px 0 0; font-size: 16px; color: var(--vwe-gris); max-width: 640px; }

.vwe-filtres { display: flex; flex-wrap: wrap; gap: 8px; }
.vwe-filtres button {
	display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 0 16px;
	border-radius: 10px; border: 1px solid var(--vwe-ligne); background: var(--vwe-brume);
	font: inherit; font-size: 14.5px; font-weight: 600; color: var(--vwe-encre); cursor: pointer;
}
.vwe-filtres button span { opacity: .6; }
.vwe-filtres button.is-actif { background: var(--vwe-nuit); border-color: var(--vwe-nuit); color: #fff; }
.vwe-filtres button:focus-visible { outline: 3px solid var(--vwe-or); outline-offset: 2px; }

.vwe-grille-lots { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 28px; }
.vwe-lot-carte[hidden] { display: none; }

.vwe-lot-carte {
	display: flex; flex-direction: column; min-width: 0; overflow: hidden;
	border-radius: var(--vwe-rayon); border: 1px solid var(--vwe-ligne); background: #fff;
	box-shadow: 0 18px 40px rgba(11, 22, 40, .07);
	transition: box-shadow .2s ease, transform .2s ease;
}
.vwe-lot-carte:hover { box-shadow: 0 24px 50px rgba(11, 22, 40, .13); transform: translateY(-3px); }
.vwe-lot-visuel { position: relative; display: block; padding: 18px 18px 0; background: var(--vwe-nuit); text-decoration: none; line-height: 0; }
.vwe-lot-visuel .vwe-navigateur { border-radius: 12px 12px 0 0; box-shadow: none; }
.vwe-lot-visuel .vwe-plaque { border-radius: 12px 12px 0 0; margin-bottom: 0; }
.vwe-lot-visuel .vwe-plaque-nom { font-size: clamp(20px, 2.2vw, 28px); }
.vwe-lot-corps { display: flex; flex: 1; flex-direction: column; gap: 14px; padding: 22px 22px 24px; }
.vwe-lot-ligne { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.vwe-lot-niche { font-size: 13.5px; font-weight: 600; color: var(--vwe-bronze); }
.vwe-pleine .vwe-lot-titre { margin: 0; font-size: 22px; line-height: 1.25; letter-spacing: -.01em; overflow-wrap: anywhere; }
.vwe-pleine .vwe-lot-titre a { color: var(--vwe-encre); text-decoration: none; }
.vwe-pleine .vwe-lot-titre a:hover { text-decoration: underline; }
.vwe-lot-chiffres {
	display: flex; align-items: flex-end; justify-content: space-between; gap: 16px;
	padding: 14px 0 0; border-top: 1px solid var(--vwe-ligne-douce);
}
.vwe-lot-chiffres span { display: block; font-size: 13px; color: var(--vwe-gris); }
.vwe-lot-chiffres b { font-size: 28px; line-height: 1.15; color: var(--vwe-encre); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.vwe-lot-chiffres .is-droite { text-align: right; }
.vwe-lot-chiffres .is-droite b { font-size: 17px; }
.vwe-lot-chiffres b.is-pause { color: var(--vwe-bronze); }
.vwe-lot-chiffres b.is-urgent { color: var(--vwe-rouge); }
.vwe-lot-meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px 14px; margin: 0; font-size: 13.5px; color: var(--vwe-gris); }
.vwe-lot-meta .is-offres { color: var(--vwe-bronze); font-weight: 600; }
.vwe-lot-corps .vwe-bouton { margin-top: auto; }

.vwe-pleine a.vwe-lot-appel,
.vwe-lot-appel {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
	min-height: 360px; padding: 40px; border-radius: var(--vwe-rayon);
	border: 1.5px dashed #D0D8E3; text-align: center; text-decoration: none; color: var(--vwe-gris);
	transition: border-color .16s ease, background-color .16s ease;
}
.vwe-lot-appel svg { color: var(--vwe-bronze); }
.vwe-lot-appel strong { font-size: 19px; color: var(--vwe-encre); }
.vwe-lot-appel span { max-width: 300px; font-size: 15px; line-height: 1.55; }
.vwe-lot-appel em {
	margin-top: 6px; padding: 10px 18px; border-radius: 10px; border: 1px solid #D5DCE6;
	font-style: normal; font-weight: 600; color: var(--vwe-encre); background: #fff;
}
.vwe-pleine a.vwe-lot-appel:hover { border-color: var(--vwe-bronze); background: var(--vwe-bronze-pale); }
.vwe-lot-appel.is-large { min-height: 260px; }

.vwe-etapes-vente { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.vwe-etapes-vente li { display: flex; flex-direction: column; gap: 6px; margin: 0; padding-top: 18px; border-top: 2px solid var(--vwe-nuit); }
.vwe-etapes-vente b { font-size: 15px; color: var(--vwe-bronze); font-variant-numeric: tabular-nums; }
.vwe-etapes-vente strong { font-size: 19px; line-height: 1.3; color: var(--vwe-encre); }
.vwe-etapes-vente span { font-size: 15px; line-height: 1.55; color: var(--vwe-gris); }

.vwe-bilan { display: flex; flex-wrap: wrap; gap: 12px 44px; margin: 0 0 30px; }
.vwe-bilan div { display: flex; flex-direction: column-reverse; margin: 0; }
.vwe-bilan dt { margin: 0; font-size: 14px; color: var(--vwe-gris); }
.vwe-bilan dd { margin: 0; font-size: 30px; font-weight: 700; line-height: 1.15; color: var(--vwe-encre); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.vwe-scene-nuit .vwe-bilan { margin: 34px 0 0; padding-top: 26px; border-top: 1px solid rgba(255, 255, 255, .1); }
.vwe-scene-nuit .vwe-bilan dt { color: var(--vwe-sur-nuit); }
.vwe-scene-nuit .vwe-bilan dd { color: #fff; }

.vwe-grille-vendus { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 22px; }
.vwe-vendu-carte { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--vwe-rayon); border: 1px solid var(--vwe-ligne); background: #fff; }
.vwe-vendu-carte .vwe-lot-visuel { padding: 14px 14px 0; }
.vwe-vendu-carte .vwe-lot-visuel > .vwe-navigateur,
.vwe-vendu-carte .vwe-lot-visuel > .vwe-plaque { filter: saturate(.55); }
.vwe-vendu-corps { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px 20px; }
.vwe-vendu-corps .vwe-lot-titre { font-size: 18px; }
.vwe-vendu-prix { margin: 4px 0 0; font-size: 24px; font-weight: 700; color: var(--vwe-encre); font-variant-numeric: tabular-nums; }
.vwe-vendu-date { margin: 0; font-size: 14px; color: var(--vwe-gris); }
.vwe-retour { margin: 36px 0 0; text-align: center; }

.vwe-mandat { padding: 88px 0 96px; }
.vwe-mandat-cadre {
	display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 56px; align-items: center;
	padding: 56px 60px; border-radius: 24px;
}
.vwe-mandat-texte { position: relative; }
.vwe-pleine .vwe-mandat-texte h2 { margin: 0 0 14px; color: #fff; font-size: clamp(26px, 3vw, 38px); line-height: 1.12; letter-spacing: -.02em; }
.vwe-mandat-texte > p { margin: 0 0 26px; font-size: 17px; line-height: 1.6; color: #B3C0D1; }
.vwe-mandat-texte .vwe-mandat-note { margin: 18px 0 0; font-size: 13.5px; color: var(--vwe-sur-nuit); }
.vwe-garanties-liste { position: relative; list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.vwe-garanties-liste li { display: flex; gap: 12px; margin: 0; font-size: 16px; line-height: 1.5; color: var(--vwe-texte-nuit); }
.vwe-garanties-liste strong { color: #fff; }

/* ---------------------------------------------------------- fiche */

.vwe-lot-scene { padding: 36px 0 150px; }
.vwe-lot-scene.is-sans-bande { padding-bottom: 80px; }
.vwe-lot-entete { display: flex; align-items: center; gap: 22px; margin: 28px 0 34px; }
.vwe-medaille {
	display: flex; align-items: center; justify-content: center; flex: none;
	width: 78px; height: 78px; border-radius: 50%;
	color: var(--vwe-or); background: rgba(217, 164, 65, .1); box-shadow: inset 0 0 0 1.5px rgba(217, 164, 65, .55);
}
.vwe-pleine .vwe-lot-nom {
	margin: 8px 0 14px; color: #fff; font-weight: 700;
	font-size: clamp(34px, 4.6vw, 58px); line-height: 1.02; letter-spacing: -.03em; overflow-wrap: anywhere;
}
.vwe-regle {
	display: flex; align-items: flex-start; gap: 14px;
	margin: -10px 0 30px; padding: 16px 20px; border-radius: 14px;
	background: rgba(217, 164, 65, .08); box-shadow: inset 0 0 0 1px rgba(217, 164, 65, .3);
}
.vwe-regle-icone {
	display: flex; align-items: center; justify-content: center; flex: none;
	width: 38px; height: 38px; border-radius: 50%; background: var(--vwe-or); color: var(--vwe-nuit);
}
.vwe-regle p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--vwe-texte-nuit); }
.vwe-regle strong { display: block; margin-bottom: 2px; font-size: 16px; color: #fff; }

.vwe-bandeau-nuit {
	margin: 0 0 26px; padding: 14px 18px; border-radius: 12px; font-size: 15px;
	background: rgba(217, 164, 65, .12); color: #F6E2BD; box-shadow: inset 0 0 0 1px rgba(217, 164, 65, .35);
}
.vwe-bandeau-nuit strong { color: #fff; }

.vwe-lot-grille { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(340px, 1fr); gap: 40px; align-items: start; }
.vwe-lot-vitrine { position: relative; min-width: 0; }

/* Galerie */
.vwe-galerie { min-width: 0; }
.vwe-galerie-scene {
	position: relative; display: block; width: 100%; padding: 0; margin: 0; border: 0;
	background: var(--vwe-brume); cursor: zoom-in; aspect-ratio: 16 / 10; line-height: 0;
}
.vwe-galerie-scene img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.vwe-galerie-scene:focus-visible { outline: 3px solid var(--vwe-or); outline-offset: -3px; }
.vwe-galerie-compte,
.vwe-galerie-zoom {
	position: absolute; bottom: 12px; padding: 4px 11px; border-radius: 20px; line-height: 1.5;
	background: rgba(11, 22, 40, .78); color: #fff; font-size: 12.5px; font-variant-numeric: tabular-nums;
}
.vwe-galerie-compte { right: 12px; }
.vwe-galerie-zoom { left: 12px; opacity: 0; transition: opacity .16s ease; }
.vwe-galerie-scene:hover .vwe-galerie-zoom,
.vwe-galerie-scene:focus-visible .vwe-galerie-zoom { opacity: 1; }
.vwe-pleine ul.vwe-galerie-vignettes {
	list-style: none; margin: 14px 0 0; padding: 0;
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
}
.vwe-pleine .vwe-galerie-vignettes li { margin: 0; padding: 0; list-style: none; }
.vwe-pleine .vwe-galerie-vignettes li::before { content: none; }
.vwe-vignette {
	display: block; width: 100%; padding: 0; border: 0; border-radius: 9px; overflow: hidden;
	background: var(--vwe-nuit-3); cursor: pointer; aspect-ratio: 4 / 3; line-height: 0;
	opacity: .55; box-shadow: 0 0 0 1px rgba(255, 255, 255, .1);
	transition: opacity .15s ease, box-shadow .15s ease;
}
.vwe-vignette img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.vwe-vignette:hover,
.vwe-vignette.is-active { opacity: 1; }
.vwe-vignette.is-active { box-shadow: 0 0 0 2px var(--vwe-or); }
.vwe-vignette:focus-visible { outline: 3px solid var(--vwe-or); outline-offset: 2px; }

.vwe-visionneuse {
	padding: 0; border: 0; background: transparent;
	max-width: 96vw; max-height: 94vh; overflow: visible;
}
.vwe-visionneuse::backdrop { background: rgba(6, 12, 22, .88); }
.vwe-visionneuse img { display: block; max-width: 96vw; max-height: 88vh; border-radius: 8px; }
.vwe-vis-fermer,
.vwe-vis-nav {
	position: fixed; border: 0; cursor: pointer; color: #fff;
	background: rgba(255, 255, 255, .12); border-radius: 50%;
	width: 46px; height: 46px; font-size: 30px; line-height: 1;
	display: inline-flex; align-items: center; justify-content: center;
}
.vwe-vis-fermer { top: 16px; right: 16px; }
.vwe-vis-compte {
	position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%);
	padding: 4px 12px; border-radius: 20px; background: rgba(255, 255, 255, .14);
	color: #fff; font-size: 14px; font-variant-numeric: tabular-nums;
}
.vwe-vis-nav { top: 50%; transform: translateY(-50%); }
.vwe-vis-nav.is-prec { left: 16px; }
.vwe-vis-nav.is-suiv { right: 16px; }
.vwe-vis-fermer:hover, .vwe-vis-nav:hover { background: rgba(255, 255, 255, .26); }

/* Panneau d'enchère */
.vwe-panneau {
	position: sticky; top: 110px; display: flex; flex-direction: column; gap: 20px;
	padding: 28px; border-radius: 22px;
	background: rgba(19, 34, 59, .94); border: 1px solid rgba(255, 255, 255, .1);
	box-shadow: 0 40px 90px rgba(0, 0, 0, .45);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	scroll-margin-top: 110px;
}
.vwe-panneau p { margin: 0; }
.vwe-panneau-haut { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.vwe-panneau-titre { font-size: 14px; color: var(--vwe-sur-nuit); }
.vwe-panneau .vwe-panneau-prix {
	margin-top: 4px; color: #fff; font-weight: 700;
	font-size: clamp(38px, 4vw, 52px); line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums;
}
.vwe-panneau .vwe-panneau-note { margin-top: 8px; font-size: 13.5px; color: var(--vwe-sur-nuit); }
.vwe-panneau .vwe-panneau-note.is-centre { text-align: center; }
.vwe-badge-tete { flex: none; padding: 5px 11px; border-radius: 20px; background: var(--vwe-vert); color: var(--vwe-nuit); font-size: 13px; font-weight: 600; white-space: nowrap; }
.vwe-panneau-bloc { display: flex; flex-direction: column; gap: 12px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .1); }
.vwe-panneau-bloc:empty { display: none; }
.vwe-panneau-ligne { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; font-size: 13.5px; color: var(--vwe-sur-nuit); }
.vwe-panneau-texte { font-size: 15px; color: var(--vwe-texte-nuit); }
.vwe-panneau .vwe-panneau-offres {
	padding: 10px 14px; border-radius: 10px; font-size: 14px;
	background: rgba(217, 164, 65, .12); color: #F2D3A0;
}

.vwe-chrono { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.vwe-chrono-case {
	display: flex; flex-direction: column; align-items: center;
	padding: 12px 0 10px; border-radius: 12px;
	background: rgba(255, 255, 255, .05); border: 1px solid rgba(217, 164, 65, .28);
}
.vwe-chrono-case b { color: #fff; font-size: 34px; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; }
.vwe-chrono-case:last-child b { color: var(--vwe-or-clair); }
.vwe-chrono-case small { margin-top: 6px; font-size: 12px; color: var(--vwe-sur-nuit); }
.vwe-chrono.is-urgent .vwe-chrono-case { border-color: rgba(255, 130, 110, .6); }
.vwe-chrono.is-urgent .vwe-chrono-case b { color: #FFB3A6; }
.vwe-chrono.is-pause .vwe-chrono-case { border-style: dashed; }
.vwe-chrono.is-pause .vwe-chrono-case b { color: var(--vwe-or-clair); }
.vwe-chrono.is-fini .vwe-chrono-case b { color: var(--vwe-sur-nuit); }

.vwe-form-offre,
.vwe-form-achat { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.vwe-form-achat { padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .1); }
.vwe-form-offre label { font-size: 15px; font-weight: 600; color: #fff; }
.vwe-champ-montant { display: flex; align-items: center; min-height: 58px; padding: 0 18px; border-radius: 12px; background: #fff; }
.vwe-champ-montant:focus-within { box-shadow: 0 0 0 3px var(--vwe-or); }
.vwe-pleine .vwe-champ-montant input {
	flex: 1; min-width: 0; width: 100%; padding: 0; margin: 0; border: 0; outline: 0; background: transparent; box-shadow: none;
	font: inherit; font-size: 24px; font-weight: 700; color: var(--vwe-encre); font-variant-numeric: tabular-nums;
}
.vwe-champ-montant span { font-size: 22px; color: var(--vwe-gris); }
.vwe-ajouts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.vwe-form-offre .vwe-bouton.is-large,
.vwe-form-achat .vwe-bouton { width: 100%; }
.vwe-panneau-bloc > .vwe-bouton { width: 100%; }

.vwe-contre {
	display: flex; flex-direction: column; gap: 6px; padding: 16px; border-radius: 12px;
	background: rgba(217, 164, 65, .1); box-shadow: inset 0 0 0 1px rgba(217, 164, 65, .4);
}
.vwe-panneau .vwe-contre-titre { font-size: 18px; font-weight: 700; color: #fff; }
.vwe-panneau .vwe-contre-rappel { font-size: 13.5px; color: var(--vwe-sur-nuit); }
.vwe-contre blockquote { margin: 6px 0 0; padding: 6px 12px; border-left: 3px solid var(--vwe-or); color: var(--vwe-texte-nuit); font-size: 14px; font-style: normal; }
.vwe-contre-boutons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }
.vwe-contre-boutons form { margin: 0; }
.vwe-contre-boutons .vwe-bouton { width: 100%; }

.vwe-gagne {
	display: flex; flex-direction: column; gap: 10px; padding: 18px; border-radius: 12px;
	background: rgba(61, 220, 151, .1); box-shadow: inset 0 0 0 1px rgba(61, 220, 151, .4);
}
.vwe-panneau .vwe-gagne-titre { font-size: 19px; font-weight: 700; color: #fff; }
.vwe-gagne p:not(.vwe-gagne-titre) { font-size: 14.5px; color: #CFE9DC; }

/* Chiffres clés, à cheval sur la scène */
.vwe-metriques {
	position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: -62px 0 0; border-radius: var(--vwe-rayon); border: 1px solid var(--vwe-ligne); background: #fff;
	box-shadow: 0 20px 50px rgba(11, 22, 40, .12);
}
.vwe-metriques.is-1 { grid-template-columns: minmax(0, 1fr); }
.vwe-metriques.is-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vwe-metriques.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vwe-metriques div { margin: 0; padding: 24px 28px; border-left: 1px solid var(--vwe-ligne-douce); }
.vwe-metriques div:first-child { border-left: 0; }
.vwe-metriques dt { margin: 0; font-size: 14px; color: var(--vwe-gris); }
.vwe-metriques dd { margin: 2px 0 0; font-size: 30px; font-weight: 700; line-height: 1.2; color: var(--vwe-encre); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }

.vwe-lot-contenu { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr); gap: 56px; align-items: start; padding-top: 56px; }
.vwe-lot-contenu.is-sans-metriques { padding-top: 0; margin-top: -80px; }
.vwe-lot-contenu.is-sans-metriques .vwe-lot-principal { padding-top: 120px; }
.vwe-lot-principal { display: flex; flex-direction: column; gap: 44px; min-width: 0; }
.vwe-pleine .vwe-bloc h2 { margin: 0 0 16px; font-size: 30px; line-height: 1.2; letter-spacing: -.02em; color: var(--vwe-encre); }
.vwe-description { font-size: 17px; line-height: 1.75; }
.vwe-description > :first-child { margin-top: 0; }
.vwe-description > :last-child { margin-bottom: 0; }

.vwe-fiche-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 22px 28px; margin: 0; }
.vwe-fiche-grille div { margin: 0; padding-top: 12px; border-top: 1px solid var(--vwe-ligne); }
.vwe-fiche-grille dt { margin: 0; font-size: 14px; color: var(--vwe-gris); }
.vwe-fiche-grille dd { margin: 3px 0 0; font-size: 18px; font-weight: 600; color: var(--vwe-encre); overflow-wrap: anywhere; }
.vwe-fiche-grille .is-euros dd,
.vwe-fiche-grille .is-entier dd { font-variant-numeric: tabular-nums; }
.vwe-pleine .vwe-fiche-grille dd a { color: var(--vwe-bleu-fonce); }

.vwe-frise { list-style: none; margin: 18px 0 0; padding: 0 0 0 22px; border-left: 2px solid var(--vwe-ligne); display: flex; flex-direction: column; gap: 18px; }
.vwe-frise li { position: relative; margin: 0; padding-left: 10px; }
.vwe-frise li::before {
	content: ""; position: absolute; left: -31px; top: 16px; width: 16px; height: 16px; border-radius: 50%;
	background: #fff; box-shadow: inset 0 0 0 2px #C3CCD8;
}
.vwe-frise li.is-tete::before { background: var(--vwe-or); box-shadow: 0 0 0 5px var(--vwe-bronze-pale); }
.vwe-frise-carte {
	display: flex; align-items: baseline; justify-content: space-between; gap: 20px;
	padding: 14px 18px; border-radius: 12px; background: var(--vwe-brume);
}
.vwe-frise li.is-tete .vwe-frise-carte { background: #FBF8F2; box-shadow: inset 0 0 0 1px #F0E2C6; }
.vwe-frise-carte strong { color: var(--vwe-encre); }
.vwe-frise li.is-recue .vwe-frise-carte { background: #fff; box-shadow: inset 0 0 0 1px var(--vwe-ligne); }
.vwe-frise li.is-recue::before { box-shadow: inset 0 0 0 2px var(--vwe-bronze); }
.vwe-frise-ville { margin-left: 8px; color: var(--vwe-gris); }
.vwe-frise-carte b { font-size: 20px; color: var(--vwe-encre); white-space: nowrap; font-variant-numeric: tabular-nums; }
.vwe-frise-date { display: block; margin-top: 6px; font-size: 13.5px; color: var(--vwe-gris); }

.vwe-lot-cote { position: sticky; top: 110px; display: flex; flex-direction: column; gap: 20px; }
.vwe-encart { padding: 26px; border-radius: var(--vwe-rayon); border: 1px solid var(--vwe-ligne); background: #fff; }
.vwe-encart.is-nuit { border-color: var(--vwe-nuit); background: var(--vwe-nuit); color: var(--vwe-texte-nuit); }
.vwe-pleine .vwe-encart h2 { margin: 0 0 16px; font-size: 20px; line-height: 1.3; color: var(--vwe-encre); }
.vwe-pleine .vwe-encart.is-nuit h2 { color: #fff; }
.vwe-inclus { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.vwe-inclus li { display: flex; gap: 10px; margin: 0; font-size: 16px; }
.vwe-inclus .vwe-coche { color: var(--vwe-bronze); }
.vwe-encadre { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.vwe-encadre li { display: flex; gap: 12px; margin: 0; font-size: 15px; line-height: 1.5; }
.vwe-encadre b { color: var(--vwe-or); }

.vwe-barre-mobile { display: none; }

/* ---------------------------------------------------------- signature */

.vwe-sig-tete { margin-bottom: 22px; }
.vwe-sig-tete h2 { margin: 0 0 6px; font-size: 23px; color: var(--vwe-encre); }
.vwe-sig-tete p { margin: 0; color: var(--vwe-gris); }

.vwe-contrat-texte {
	max-height: 420px;
	overflow-y: auto;
	padding: 26px 28px;
	background: #fff;
	border: 1px solid var(--vwe-ligne);
	border-radius: 12px;
	font-size: 14.5px;
	line-height: 1.75;
	color: var(--vwe-ardoise);
	margin-bottom: 28px;
}
.vwe-contrat-texte:focus { outline: 2px solid var(--vwe-bleu); outline-offset: 2px; }

.vwe-etapes { display: grid; gap: 22px; }

.vwe-etape {
	background: var(--vwe-brume);
	border-radius: 12px;
	padding: 22px 24px;
}
.vwe-etape h3 {
	display: flex; align-items: center; gap: 10px;
	margin: 0 0 6px; font-size: 16.5px; color: var(--vwe-encre);
}
.vwe-etape h3 span {
	display: inline-flex; align-items: center; justify-content: center;
	width: 26px; height: 26px; border-radius: 50%;
	background: var(--vwe-bleu); color: #fff; font-size: 13px; flex: none;
}
.vwe-etape label { display: block; font-weight: 600; color: var(--vwe-encre); margin: 14px 0 6px; }
.vwe-etape input[type="tel"],
.vwe-etape input[type="text"] {
	width: 100%; max-width: 280px; padding: 12px 14px;
	border: 1px solid var(--vwe-ligne); border-radius: 9px;
	font-size: 16px; background: #fff;
}
.vwe-etape input#vwe-code {
	max-width: 180px; letter-spacing: .35em; font-size: 20px;
	font-weight: 700; text-align: center; font-variant-numeric: tabular-nums;
}
.vwe-etape .vwe-btn { margin-top: 14px; }

.vwe-canvas-cadre {
	position: relative;
	background: #fff;
	border: 1px dashed var(--vwe-gris);
	border-radius: 10px;
	margin: 14px 0 6px;
	overflow: hidden;
}
#vwe-canvas { display: block; width: 100%; height: auto; touch-action: none; cursor: crosshair; }
.vwe-canvas-ligne {
	position: absolute; left: 8%; right: 8%; bottom: 26%;
	border-bottom: 1px solid var(--vwe-ligne); pointer-events: none;
}

.vwe-signe {
	background: #ECFDF3;
	border: 1px solid #A7E3C4;
	border-radius: 14px;
	padding: 30px 32px;
}
.vwe-signe h2 { margin: 0 0 10px; font-size: 22px; color: #14532D; }
.vwe-signe p { color: #256B45; }
.vwe-empreinte { font-size: 12.5px; word-break: break-all; }
.vwe-empreinte code { background: rgba(20, 83, 45, .08); padding: 2px 6px; border-radius: 4px; }

/* Signature déléguée à un prestataire. */
.vwe-yousign {
	background: #EFF6FB;
	border: 1px solid #BBDCEC;
	border-radius: 14px;
	padding: 30px 32px;
}
.vwe-yousign h2 { margin: 0 0 10px; font-size: 22px; color: var(--vwe-encre); }
.vwe-yousign p { margin: 0 0 14px; }
.vwe-yousign .vwe-btn { margin: 8px 0 14px; }

/* ------------------------------------------------------ responsive */

@media ( max-width: 1024px ) {
	.vwe-accueil-grille,
	.vwe-lot-grille { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.vwe-panneau,
	.vwe-lot-cote { position: static; }
	.vwe-lot-contenu { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.vwe-pleine .vwe-garanties ul.vwe-garanties-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vwe-etapes-vente { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vwe-mandat-cadre { grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 40px 36px; }
	.vwe-metriques { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vwe-metriques div:nth-child(3) { border-left: 0; }
	.vwe-metriques div:nth-child(n+3) { border-top: 1px solid var(--vwe-ligne-douce); }
}

@media ( max-width: 640px ) {
	.vwe-cadre { padding: 0 18px; }
	.vwe-accueil { padding: 48px 0 56px; }
	.vwe-accueil-intro { font-size: 17px; }
	.vwe-lot-scene { padding: 22px 0 110px; }
	.vwe-lot-entete { align-items: flex-start; gap: 14px; margin: 20px 0 24px; }
	.vwe-medaille { width: 52px; height: 52px; }
	.vwe-medaille svg { width: 24px; height: 24px; }
	.vwe-panneau { padding: 20px; }
	.vwe-chrono { gap: 6px; }
	.vwe-chrono-case b { font-size: 26px; }
	.vwe-pleine .vwe-garanties ul.vwe-garanties-grille,
	.vwe-etapes-vente { grid-template-columns: minmax(0, 1fr); }
	.vwe-grille-lots { grid-template-columns: minmax(0, 1fr); }
	.vwe-metriques div { padding: 16px 18px; }
	.vwe-metriques dd { font-size: 22px; }
	.vwe-mandat { padding: 56px 0 64px; }
	.vwe-mandat-cadre { padding: 30px 22px; }
	.vwe-frise-carte { flex-direction: column; gap: 4px; }
	.vwe-tampon.is-grand { top: 50px; font-size: 16px; }
	.vwe-contrat-texte { padding: 18px; max-height: 320px; }

	/* Barre d'enchère toujours à portée de pouce. */
	.vwe-barre-mobile {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
		display: flex; align-items: center; gap: 12px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
		background: var(--vwe-nuit); box-shadow: 0 -12px 30px rgba(11, 22, 40, .25);
		transition: transform .2s ease;
	}
	.vwe-barre-mobile.is-cachee { transform: translateY(110%); }
	.vwe-barre-mobile div { flex: 1; min-width: 0; }
	.vwe-barre-mobile span { display: block; font-size: 12px; color: var(--vwe-sur-nuit); }
	.vwe-barre-mobile b { font-size: 20px; color: #fff; font-variant-numeric: tabular-nums; }
	.vwe-fiche { padding-bottom: 76px; }
}

@media ( prefers-reduced-motion: reduce ) {
	.vwe-pouls::after { animation: none; }
	.vwe-bouton, .vwe-btn, .vwe-lot-carte, .vwe-vignette, .vwe-barre-mobile, a.vwe-nav-btn.vwe-nav-btn { transition: none; }
	.vwe-lot-carte:hover { transform: none; }
}
