/* Parcours de commande des produits petroliers.
 *
 * Trois etapes, le prix dessous : c'est en bougeant le volume qu'on voit la
 * degressivite. Les etapes repondues se replient, ce qui suffit a garder le
 * montant dans le premier ecran sans avoir a le coller au defilement. */

/* Le devis est une carte posee dans le hero : c'est lui le produit, il tient
   la place ou l'oeil se pose. Il n'organise plus la page.

   Pas de `position: sticky` ici : enfant de grille en `align-items: start`, sa
   zone fait exactement sa hauteur, donc il n'avait aucune course et ne collait
   rien. Le commentaire promettait un comportement que la regle ne produisait
   pas. */
.eho-petro-devis {
	padding: var(--eho-espace-xl);
	background-color: var(--eho-blanc);
	border-radius: var(--eho-rayon-lg);
	box-shadow: 0 1.25rem 3rem rgba(37, 39, 84, 0.16);
}

.eho-petro-devis__intitule {
	margin-block: 0 var(--eho-espace-lg);
	font-size: var(--eho-taille-sm);
	font-weight: var(--eho-poids-gras);
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--eho-vert);
}

/* Hero : l'argumentaire a gauche, le prix a droite. */

.eho-petro-hero {
	padding-block: var(--eho-espace-3xl);
	background-color: var(--eho-gris-050);
}

.eho-petro-hero__grille {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: var(--eho-espace-3xl);
	align-items: start;
}

.eho-petro-hero__titre {
	display: flex;
	align-items: center;
	gap: var(--eho-espace-sm);
	margin-block: 0 var(--eho-espace-lg);
	font-size: clamp(1.75rem, 2.4vw + 1rem, 3rem);
	line-height: 1.1;
	color: var(--eho-bleu);
}

.eho-petro-hero__icone {
	flex: none;
	width: 1em;
	height: 1em;
	color: var(--eho-rouge);
}

.eho-petro-hero__accroche {
	max-width: 34rem;
	margin-block: 0 var(--eho-espace-xl);
	font-size: clamp(1rem, 0.6vw + 0.85rem, 1.25rem);
	line-height: 1.5;
}

.eho-petro-hero__points {
	display: grid;
	gap: var(--eho-espace-md);
	margin: 0 0 var(--eho-espace-xl);
	padding: 0;
	list-style: none;
}

.eho-petro-hero__points li {
	display: flex;
	align-items: flex-start;
	gap: var(--eho-espace-sm);
	line-height: 1.4;
}

.eho-petro-hero__coche {
	flex: none;
	width: 1.25rem;
	height: 1.25rem;
	margin-block-start: 0.15rem;
	color: var(--eho-vert);
}

.eho-petro-hero__visuel {
	margin: 0;
}

.eho-petro-hero__visuel img {
	width: 100%;
	max-height: 20rem;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: center 42%;
	border-radius: var(--eho-rayon-lg);
}

/* Bandeau vert des atouts, dans l'esprit de celui de la page SolEho. */

.eho-petro-atouts {
	margin-block: 0 var(--eho-espace-3xl);
	padding-block: var(--eho-espace-2xl);
	background-color: var(--eho-vert);
	color: var(--eho-blanc);
}

.eho-petro-atouts__grille {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--eho-espace-2xl);
	text-align: center;
}

.eho-petro-atout__icone {
	width: 3rem;
	height: 3rem;
	margin-inline: auto;
	color: var(--eho-blanc);
}

.eho-petro-atout__titre {
	margin-block: var(--eho-espace-md) var(--eho-espace-xs);
	font-size: 1.375rem;
	font-weight: var(--eho-poids-gras);
	color: var(--eho-blanc);
}

.eho-petro-atout__texte {
	margin: 0;
	line-height: 1.45;
	color: var(--eho-blanc);
}

/* Accroche pleine largeur, comme « Trop Simple. Vraiment. » sur SolEho. */

.eho-petro-accroche {
	margin-block: var(--eho-espace-3xl) var(--eho-espace-2xl);
	font-size: clamp(1.75rem, 4.4vw - 0.5rem, 3.25rem);
	font-weight: var(--eho-poids-gras);
	line-height: 1.1;
	text-align: center;
	color: var(--eho-bleu);
}

.eho-petro-etapes {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--eho-espace-2xl);
	margin: 0 0 var(--eho-espace-3xl);
	padding: 0;
	list-style: none;
}

.eho-petro-etape {
	position: relative;
	padding-block-start: var(--eho-espace-sm);
}

.eho-petro-etape__icone {
	width: 2.5rem;
	height: 2.5rem;
	margin-block-end: var(--eho-espace-sm);
	color: var(--eho-vert);
}

.eho-petro-etape__titre {
	margin-block: 0 var(--eho-espace-xs);
	font-size: 1.25rem;
	font-weight: var(--eho-poids-semi);
	color: var(--eho-bleu);
}

.eho-petro-etape__texte {
	margin: 0;
	line-height: 1.45;
}

/* Damier vert et photo, repris de la page SolEho. */

.eho-petro-damier {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-block-end: var(--eho-espace-3xl);
	overflow: hidden;
	border-radius: var(--eho-rayon-lg);
}

.eho-petro-damier__texte {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: var(--eho-espace-2xl) 3.125rem;
	color: var(--eho-blanc);
	background-color: var(--eho-vert);
}

.eho-petro-damier__texte h2 {
	margin-block: 0 var(--eho-espace-md);
	font-size: 1.375rem;
	text-transform: uppercase;
	color: var(--eho-blanc);
}

.eho-petro-damier__texte p {
	margin: 0;
	line-height: 1.5;
	color: var(--eho-blanc);
}

.eho-petro-damier__media {
	margin: 0;
}

.eho-petro-damier__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 900px) {
	.eho-petro-hero__grille,
	.eho-petro-atouts__grille,
	.eho-petro-etapes,
	.eho-petro-damier {
		grid-template-columns: minmax(0, 1fr);
	}

	.eho-petro-devis {
		position: static;
	}

	/* La photo passe au-dessus du pave vert une fois empilee. */
	.eho-petro-damier__media {
		order: -1;
	}
}

/* Ce que le visiteur obtient ici, dit avant qu'on lui demande quoi que ce soit.
   Le contenu de la page porte le court-code du Brent : il reste sous le
   parcours, et c'est l'extrait qui sert d'introduction. */
.eho-devis__intro {
	max-width: 65ch;
	margin-block: 0 var(--eho-espace-xl);
	font-size: var(--eho-taille-md);
	line-height: 1.5;
	color: var(--eho-texte);
}

/* Tant qu'aucun code postal n'est donne, ces etapes ne produisent rien : elles
   restent lisibles mais en retrait, pour que le regard parte de la premiere. */
.eho-devis__etape--attente {
	opacity: 0.55;
}

.eho-devis__etapes {
	display: flex;
	flex-direction: column;
	gap: var(--eho-espace-xl);
	margin: 0;
	padding: 0;
	list-style: none;
}

.eho-devis__titre {
	display: flex;
	align-items: center;
	gap: var(--eho-espace-sm);
	margin-block: 0 var(--eho-espace-md);
	font-size: var(--eho-taille-md);
	color: var(--eho-bleu);
}

.eho-devis__numero {
	display: grid;
	place-items: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background-color: var(--eho-vert);
	font-size: var(--eho-taille-sm);
	font-weight: var(--eho-poids-gras);
	color: var(--eho-blanc);
}

.eho-devis__secteur {
	margin-block: 0 var(--eho-espace-sm);
	color: var(--eho-texte);
}

/* Choix du produit */

.eho-devis__produits {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
	gap: var(--eho-espace-md);
}

.eho-devis__produit {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	padding: var(--eho-espace-md);
	border: 1px solid var(--eho-bordure);
	border-radius: var(--eho-rayon-sm);
	cursor: pointer;
}

.eho-devis__produit:has(input:checked) {
	border-color: var(--eho-vert);
	box-shadow: inset 0 0 0 1px var(--eho-vert);
}

.eho-devis__produit input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.eho-devis__produit-nom {
	font-weight: var(--eho-poids-semi);
	color: var(--eho-bleu);
}

.eho-devis__produit-resume {
	font-size: var(--eho-taille-sm);
	line-height: 1.35;
	color: var(--eho-texte-faible);
}

/* Volume */

.eho-devis__volume {
	display: flex;
	align-items: baseline;
	gap: var(--eho-espace-sm);
}

.eho-devis__champ {
	width: 9rem;
	padding: 0.6rem var(--eho-espace-md);
	font-family: inherit;
	font-size: var(--eho-taille-lg);
	font-weight: var(--eho-poids-semi);
	color: var(--eho-bleu);
	border: 1px solid var(--eho-bordure);
	border-radius: var(--eho-rayon-sm);
}

.eho-devis__unite {
	color: var(--eho-texte-faible);
}

.eho-devis__raccourcis {
	display: flex;
	flex-wrap: wrap;
	gap: var(--eho-espace-xs);
	margin-block-start: var(--eho-espace-md);
}

.eho-devis__raccourci {
	padding: 0.4rem 0.9rem;
	font-family: inherit;
	font-size: var(--eho-taille-sm);
	color: var(--eho-texte);
	background: none;
	border: 1px solid var(--eho-bordure);
	border-radius: 2rem;
	cursor: pointer;
}

.eho-devis__raccourci:hover,
.eho-devis__raccourci:focus-visible {
	border-color: var(--eho-vert);
	color: var(--eho-vert-fonce);
}

.eho-devis__grille {
	width: 100%;
	max-width: 26rem;
	margin-block-start: var(--eho-espace-lg);
	border-collapse: collapse;
	font-size: var(--eho-taille-sm);
}

.eho-devis__grille caption {
	margin-block-end: var(--eho-espace-xs);
	color: var(--eho-texte-faible);
	text-align: start;
}

.eho-devis__grille th,
.eho-devis__grille td {
	padding: 0.4rem 0;
	text-align: start;
	border-bottom: 1px solid var(--eho-bordure);
}

.eho-devis__grille th {
	color: var(--eho-texte-faible);
	font-weight: var(--eho-poids-moyen);
}

.eho-devis__grille-courante td {
	font-weight: var(--eho-poids-gras);
	color: var(--eho-vert-fonce);
}

/* Le prix, colle en haut tant qu'on fait defiler les etapes */

/* Le bloc du prix suivait le defilement, utile quand la carte faisait 1 189px
   et qu'il fallait retenir le prix a l'ecran. Depuis que les etapes se
   replient, le prix s'affiche des l'arrivee : coller ne servait plus qu'a
   passer par-dessus la grille degressive.

   Il lui faut aussi sa respiration : pose apres la liste des etapes, il ne
   profite pas du `gap` qui les separe et se collait aux raccourcis de volume. */
.eho-devis__resultat {
	margin-block-start: var(--eho-espace-xl);
	padding: var(--eho-espace-xl);
	background-color: var(--eho-gris-050);
	border-radius: var(--eho-rayon);
}

.eho-devis__ligne,
.eho-devis__attente,
.eho-devis__erreur,
.eho-devis__garantie,
.eho-devis__delai,
.eho-devis__distributeur {
	margin: 0;
	color: var(--eho-texte);
}

.eho-devis__attente,
.eho-devis__erreur {
	font-size: var(--eho-taille-sm);
}

.eho-devis__erreur {
	color: var(--eho-rouge);
}

.eho-devis__total {
	margin-block: var(--eho-espace-xs) var(--eho-espace-md);
	font-size: 2rem;
	font-weight: var(--eho-poids-gras);
	color: var(--eho-vert);
	line-height: 1.1;
}

.eho-devis__garantie,
.eho-devis__delai {
	font-size: var(--eho-taille-sm);
	color: var(--eho-texte-faible);
}

.eho-devis__bouton {
	display: block;
	margin-block: var(--eho-espace-lg) var(--eho-espace-sm);
	padding: 0.9rem 1.5rem;
	font-family: inherit;
	font-size: var(--eho-taille-base);
	font-weight: var(--eho-poids-semi);
	color: var(--eho-blanc);
	text-align: center;
	text-decoration: none;
	background-color: var(--eho-vert);
	border: 0;
	border-radius: 2rem;
	cursor: pointer;
}

.eho-devis__bouton:hover,
.eho-devis__bouton:focus-visible {
	background-color: var(--eho-vert-fonce);
	color: var(--eho-blanc);
}

.eho-devis__bouton--secondaire {
	display: inline-block;
	margin: 0;
	padding: 0.55rem 1.2rem;
	font-size: var(--eho-taille-sm);
}

.eho-devis__distributeur {
	font-size: var(--eho-taille-xs);
	color: var(--eho-texte-faible);
	text-align: center;
}

/* Le texte de fin et le cours du Brent se partagent la largeur : sur 65ch ils
   laissaient la moitie droite de la page vide. */
.eho-page--petroliers__texte {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 0 var(--eho-espace-3xl);
	align-items: start;
}

.eho-page--petroliers__texte > * {
	grid-column: 1;
}

/* Le cours du Brent passe dans la colonne de droite : c'est un encart, pas la
   suite du texte. Le titre qu'il porte lui est interieur, viser « > h2 » ne
   touchait donc rien. */
.eho-page--petroliers__texte > .eho-brent {
	grid-column: 2;
	grid-row: 1 / span 99;
	margin-block: 0;
}

@media (max-width: 900px) {
	.eho-page--petroliers__texte {
		grid-template-columns: minmax(0, 1fr);
	}

	.eho-page--petroliers__texte > *,
	.eho-page--petroliers__texte > .eho-brent {
		grid-column: 1;
		grid-row: auto;
	}

	.eho-page--petroliers__texte > .eho-brent {
		margin-block: var(--eho-espace-2xl) 0;
	}
}

/* Etapes qui se replient.
   Une etape repondue n'a plus a montrer ni son titre ni ses champs : elle tient
   sur une ligne, et la place rendue fait remonter le prix dans le premier
   ecran. Le prix, lui, ne se cache jamais : ce n'est pas un assistant. */

.eho-devis__resume {
	display: flex;
	align-items: center;
	gap: var(--eho-espace-sm);
	margin: 0;
	color: var(--eho-texte);
}

.eho-devis__etape:not(.eho-devis__etape--repliee) .eho-devis__resume {
	display: none;
}

.eho-devis__etape--repliee .eho-devis__titre,
.eho-devis__etape--repliee .eho-devis__corps {
	display: none;
}

.eho-devis__coche {
	flex: none;
	width: 1.125rem;
	height: 1.125rem;
	color: var(--eho-vert);
}

.eho-devis__resume-texte {
	flex: 1;
	min-width: 0;
	font-weight: var(--eho-poids-semi);
	color: var(--eho-bleu);
}

.eho-devis__modifier {
	flex: none;
	padding: 0;
	font-family: inherit;
	font-size: var(--eho-taille-sm);
	color: var(--eho-lien);
	background: none;
	border: 0;
	text-decoration: underline;
	cursor: pointer;
}

.eho-devis__modifier:hover,
.eho-devis__modifier:focus-visible {
	color: var(--eho-vert-fonce);
}

/* Refermer une etape ouverte. Le « modifier » du resume disparait avec lui des
   que l'etape s'ouvre : il faut un recours dans le corps, sans quoi une etape
   ouverte par erreur y reste. */

.eho-devis__fermer {
	margin-block-start: var(--eho-espace-md);
	padding: 0;
	font-family: inherit;
	font-size: var(--eho-taille-sm);
	color: var(--eho-lien);
	background: none;
	border: 0;
	text-decoration: underline;
	cursor: pointer;
}

.eho-devis__fermer:hover,
.eho-devis__fermer:focus-visible {
	color: var(--eho-vert-fonce);
}

/* Confirmation d'ajout au panier. Sans elle, le visiteur cliquait « Commander »
   sur onze cents euros de fioul et la page se redessinait a l'identique. */
.eho-devis__confirmation {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--eho-espace-xs);
	margin: var(--eho-espace-sm) 0 0;
	padding: var(--eho-espace-sm) var(--eho-espace-md);
	background-color: var(--eho-gris-050);
	border-inline-start: 3px solid var(--eho-vert);
	border-radius: var(--eho-rayon-sm);
}

.eho-devis__confirmation-texte {
	font-size: 0.9375rem;
	font-weight: var(--eho-poids-semi);
	color: var(--eho-vert-fonce);
}

.eho-devis__confirmation-texte::before {
	content: "\2713";
	margin-inline-end: var(--eho-espace-2xs);
}

.eho-devis__confirmation-lien {
	color: var(--eho-texte-fort);
	font-size: var(--eho-taille-sm);
	font-weight: var(--eho-poids-semi);
	text-underline-offset: 0.15em;
}

/* WooCommerce glisse le sien juste apres le bouton : le notre suffit. */
.eho-devis__resultat .added_to_cart {
	display: none;
}
