/*
Theme Name: Encre'Eco
Theme URI: https://www.encre-eco.fr/
Author: Encre'Eco
Description: Theme sur-mesure pour le site vitrine d'Encre'Eco, imprimerie et reprographie discount a Angouleme. Sans page builder, sans jQuery, toutes les donnees pilotees par config/donnees-site.php.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: encre-eco
*/

/* =============================================================================
   1. VARIABLES
   ========================================================================== */

:root{
	--ee-encre:#3D2235;
	--ee-encre-fonce:#33192B;
	--ee-magenta:#E5007E;
	--ee-magenta-fonce:#C60069;
	--ee-orange:#F39200;
	--ee-rose-clair:#FDEEF4;
	--ee-rose-pale:#FCF5F7;
	--ee-creme:#FFF9F5;
	--ee-bord:#F2DCE6;
	--ee-gris:#7A6570;
	--ee-vert:#22A75B;

	--ee-display:'Outfit',system-ui,-apple-system,'Segoe UI',sans-serif;
	--ee-texte:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;

	--ee-max:1340px;
	--ee-radius:18px;
	--ee-radius-sm:12px;
	--ee-ombre:0 14px 40px -22px rgba(61,34,53,.45);
	--ee-ombre-forte:0 20px 44px -20px rgba(61,34,53,.4);
}

/* Polices auto-hebergees : aucun appel a Google Fonts (performance et RGPD).
   Fichiers woff2 variables, reduits aux caracteres latins et francais
   (Outfit 40 Ko, Inter 68 Ko, contre 875 Ko pour Inter en TTF).
   Si les fichiers sont absents, le site bascule sur les polices systeme
   sans rien casser. */
@font-face{
	font-family:'Outfit';
	src:url('assets/fonts/outfit-var.woff2') format('woff2');
	font-weight:300 800;
	font-display:swap;
	font-style:normal;
}
@font-face{
	font-family:'Inter';
	src:url('assets/fonts/inter-var.woff2') format('woff2');
	font-weight:300 800;
	font-display:swap;
	font-style:normal;
}


/* =============================================================================
   2. BASES
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}

@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

body{
	margin:0;
	background:#fff;
	color:var(--ee-encre);
	font-family:var(--ee-texte);
	font-size:17px;
	line-height:1.65;
	-webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{
	font-family:var(--ee-display);
	font-weight:700;
	line-height:1.08;
	letter-spacing:0;
	margin:0 0 .5em;
	text-wrap:balance;
}

h1{font-size:clamp(2.4rem,1.5rem + 4vw,4.2rem)}
h2{font-size:clamp(1.9rem,1.4rem + 1.9vw,2.9rem)}
h3{font-size:1.18rem}

p{margin:0 0 1em}
img,svg{max-width:100%;height:auto;display:block}

a{color:var(--ee-magenta);text-underline-offset:.18em}
a:hover{color:var(--ee-encre)}

:focus-visible{outline:3px solid var(--ee-magenta);outline-offset:3px;border-radius:6px}

.ee-conteneur{width:min(100% - 2.5rem,var(--ee-max));margin-inline:auto}

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

.ee-skip{position:absolute;left:-9999px;background:var(--ee-magenta);color:#fff;padding:.8rem 1.2rem;z-index:999}
.ee-skip:focus{left:1rem;top:1rem}


/* =============================================================================
   3. BOUTONS
   ========================================================================== */

.ee-btn{
	display:inline-flex;align-items:center;gap:.55rem;
	font-family:var(--ee-display);font-weight:600;font-size:1rem;
	padding:.85rem 1.6rem;border-radius:999px;text-decoration:none;
	border:2px solid transparent;cursor:pointer;
	transition:transform .12s ease,background-color .12s ease;
}
.ee-btn:hover{transform:translateY(-2px)}

.ee-btn--principal{background:var(--ee-magenta);color:#fff}
.ee-btn--principal:hover{background:var(--ee-magenta-fonce);color:#fff}

.ee-btn--secondaire{border-color:var(--ee-orange);color:var(--ee-encre)}
.ee-btn--secondaire:hover{background:#FFF3E3;color:var(--ee-encre)}

.ee-btn--blanc{background:#fff;color:var(--ee-encre)}
.ee-btn--blanc:hover{color:var(--ee-encre)}

.ee-btn--grand{padding:.95rem 1.9rem;font-size:1.06rem}


/* =============================================================================
   4. BANDEAU DE STATUT ET ALERTES
   ========================================================================== */

.ee-statut-bar{background:var(--ee-encre-fonce);color:#fff;font-size:.9rem}
.ee-statut-bar .ee-conteneur{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;
	justify-content:space-between;padding:.55rem 0}
.ee-statut-bar a{color:#fff;text-decoration:none;font-weight:700}
.ee-statut-bar a:hover{color:#fff;text-decoration:underline}

.ee-statut-inline{display:inline-flex;align-items:center;gap:.55rem;font-weight:600}
.ee-pt{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0;background:#3ED27A;
	box-shadow:0 0 0 3.5px rgba(62,210,122,.28)}
.ee-pt--ferme{background:#FF6B6B;box-shadow:0 0 0 3.5px rgba(255,107,107,.26)}

/* Bandeau de fermeture exceptionnelle */
.ee-alerte{background:var(--ee-orange);color:var(--ee-encre-fonce);font-weight:600}
.ee-alerte .ee-conteneur{padding:.75rem 0}
.ee-alerte__ligne{margin:0;display:flex;gap:.6rem;align-items:baseline}
.ee-alerte__ligne + .ee-alerte__ligne{margin-top:.35rem}
.ee-alerte__icone{flex-shrink:0}


/* =============================================================================
   5. EN-TETE
   ========================================================================== */

.ee-entete{background:#fff;position:sticky;top:0;z-index:60;border-bottom:1px solid #F5E9EF}
.ee-entete__inner{display:flex;align-items:center;gap:2.5rem;padding:.9rem 0}

.ee-entete__logo{display:flex;flex-shrink:0;text-decoration:none}
.ee-entete__logo img{width:clamp(150px,17vw,195px)}

.ee-nav{margin-left:auto}
.ee-nav__liste{display:flex;gap:1.8rem;list-style:none;margin:0;padding:0;font-weight:600;font-size:.98rem}
.ee-nav__liste a{text-decoration:none;color:var(--ee-encre);padding-bottom:.3rem;border-bottom:2px solid transparent}
.ee-nav__liste a:hover,
.ee-nav__liste .current-menu-item > a{color:var(--ee-magenta);border-bottom-color:var(--ee-magenta)}

/* Sous-menu deroulant */
.ee-nav__liste li{position:relative}
.ee-nav__liste .sub-menu{display:none;position:absolute;top:100%;left:-1rem;min-width:250px;
	background:#fff;border:1px solid var(--ee-bord);border-radius:var(--ee-radius-sm);
	box-shadow:var(--ee-ombre);padding:.5rem 0;list-style:none;margin:0;z-index:70}
.ee-nav__liste li:hover > .sub-menu,
.ee-nav__liste li:focus-within > .sub-menu{display:block}
.ee-nav__liste .sub-menu a{display:block;padding:.5rem 1.1rem;border-bottom:0;font-weight:500}
.ee-nav__liste .sub-menu a:hover{background:var(--ee-rose-clair);border-bottom:0}

.ee-entete__actions{display:flex;align-items:center;gap:.7rem}

.ee-pill{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;
	padding:.45rem .9rem;font-weight:700;font-size:.86rem;white-space:nowrap}
.ee-pill--ouvert{background:#EAF8F0;color:#12703F}
.ee-pill--ouvert .ee-pt{background:var(--ee-vert);box-shadow:0 0 0 3.5px rgba(34,167,91,.2)}
.ee-pill--ferme{background:#FDECEC;color:#A32020}
.ee-pill--ferme .ee-pt{background:#D93A3A;box-shadow:0 0 0 3.5px rgba(217,58,58,.18)}

.ee-entete__tel{display:inline-flex;align-items:center;gap:.5rem;background:var(--ee-magenta);color:#fff;
	text-decoration:none;font-weight:700;padding:.65rem 1.2rem;border-radius:999px;white-space:nowrap}
.ee-entete__tel:hover{background:var(--ee-magenta-fonce);color:#fff}

.ee-btn--boutique{background:var(--ee-encre);color:#fff}

.ee-burger{display:none}


/* =============================================================================
   6. HEROS
   ========================================================================== */

.ee-hero{position:relative;overflow:hidden;
	background:linear-gradient(120deg, #F3920036,#E5007E33)}

.ee-hero__inner{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:2rem;
	min-height:clamp(430px,52vw,570px)}

.ee-hero__texte{padding:clamp(2.5rem,5vw,4.2rem) 0;position:relative;z-index:2}
.ee-hero__titre{margin-bottom:0}
.ee-hero__titre .m{color:var(--ee-magenta)}
.ee-hero__titre .o{color:var(--ee-orange)}

.ee-trait{width:56px;height:4px;background:var(--ee-magenta);border-radius:2px;margin:1.6rem 0 1.2rem}

.ee-hero__lede{font-size:clamp(1.05rem,1rem + .35vw,1.2rem);max-width:37ch;color:#54404C;margin:0 0 2rem}

.ee-hero__actions{display:flex;flex-wrap:wrap;gap:.9rem}

/* Photo decoupee en courbe */
.ee-hero__visuel{position:absolute;top:0;right:0;bottom:0;width:52%;
	clip-path:url(#ee-courbe);background:#EADFE5}
.ee-hero__visuel img{width:100%;height:100%;object-fit:cover}
.ee-hero__visuel--vide{background:linear-gradient(150deg,#F7E7EF,#E2CBD8)}

.ee-pastille{position:absolute;z-index:3;border-radius:50%;pointer-events:none}
.ee-pastille--rose{width:180px;height:180px;background:var(--ee-magenta);opacity:.9;top:9%;right:17%}
.ee-pastille--orange{width:115px;height:115px;background:var(--ee-orange);opacity:.92;top:40%;right:9%}

/* Pictogrammes en surimpression sur la photo */
.ee-hero__pictos{position:absolute;z-index:4;top:50%;right:2.5rem;transform:translateY(-50%);
	display:grid;gap:1.1rem;font-weight:700;font-size:.7rem;letter-spacing:.14em;color:var(--ee-encre)}
.ee-hero__pictos div{display:flex;align-items:center;gap:.6rem}
.ee-hero__pictos svg{width:20px;height:20px;stroke:var(--ee-encre);fill:none;stroke-width:1.7}


/* =============================================================================
   7. BANDE D'ARGUMENTS
   ========================================================================== */

.ee-bande{background:var(--ee-encre-fonce);color:#fff}
.ee-bande__inner{display:grid;grid-template-columns:repeat(4,1fr);padding:1.6rem 0}

.ee-arg{display:flex;gap:.95rem;align-items:flex-start;padding:.2rem 1.6rem;
	border-left:1px solid rgba(255,255,255,.16)}
.ee-arg:first-child{border-left:0;padding-left:0}
.ee-arg svg{width:34px;height:34px;flex-shrink:0;stroke:var(--ee-magenta);fill:none;stroke-width:1.6}
.ee-arg h3{font-size:1rem;margin-bottom:.15rem;font-weight:600}
.ee-arg p{margin:0;font-size:.87rem;line-height:1.45;color:#D9C6D2}


/* =============================================================================
   8. SECTIONS
   ========================================================================== */

.ee-section{padding:clamp(3.5rem,7vw,5.5rem) 0}
.ee-section--services{background:var(--ee-creme)}
.ee-section--prix{background:#fff}
.ee-section--horaires{background:var(--ee-rose-clair)}

.ee-entete-sec{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;
	margin-bottom:2.2rem;flex-wrap:wrap}
.ee-entete-sec h2{margin-bottom:0}
.ee-entete-sec h2 .o{color:var(--ee-orange)}
.ee-entete-sec p{margin:.8rem 0 0;color:#54404C;max-width:46ch}


/* Cartes produits ---------------------------------------------------------- */

.ee-produits{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}

.ee-produit{background:#fff;border:1px solid var(--ee-bord);border-radius:var(--ee-radius);
	overflow:hidden;text-decoration:none;display:block;
	transition:transform .14s ease,box-shadow .14s ease}
.ee-produit:hover{transform:translateY(-5px);box-shadow:var(--ee-ombre-forte)}

.ee-produit__visuel{aspect-ratio:4/3;position:relative;overflow:hidden;
	display:grid;place-items:center;text-align:center;padding:1rem;
	font-family:var(--ee-display);font-weight:600;font-size:.9rem;color:#7E6675}
.ee-produit__visuel img{width:100%;height:100%;object-fit:cover}

/* Aplats de remplacement tant que la photo n'est pas deposee */
.ee-produit__visuel--vide-1{background:linear-gradient(145deg,#FFE7CC,#F5C48A)}
.ee-produit__visuel--vide-2{background:linear-gradient(145deg,#FFD8E9,#F2A0C6)}
.ee-produit__visuel--vide-3{background:linear-gradient(145deg,#E8D6F5,#BE93DC)}
.ee-produit__visuel--vide-4{background:linear-gradient(145deg,#FFDCC9,#EE9FA8)}
.ee-produit__visuel--vide-5{background:linear-gradient(145deg,#FCE2EC,#D9A2C4)}
.ee-produit__visuel--vide-6{background:linear-gradient(145deg,#FFEBD2,#E9AEC7)}
.ee-produit__visuel--vide-7{background:linear-gradient(145deg,#FFE2D0,#D98BB6)}
.ee-produit__visuel--vide-8{background:linear-gradient(145deg,#EFDCF7,#C58BD4)}
.ee-produit__visuel--vide-9{background:linear-gradient(145deg,#FFDFC0,#E294B4)}

.ee-produit__texte{padding:1.3rem 1.4rem 1.5rem}
.ee-produit__texte h3{margin-bottom:.35rem;font-weight:600;color:var(--ee-encre)}
.ee-produit__texte p{margin:0 0 .8rem;font-size:.92rem;color:var(--ee-gris);line-height:1.5}
.ee-produit__prix{font-family:var(--ee-display);font-weight:700;font-size:1.05rem;color:var(--ee-magenta)}


/* Trois prix d'appel ------------------------------------------------------- */

.ee-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}

.ee-tarif-appel{border:2px solid var(--ee-bord);border-radius:20px;padding:1.8rem 1.6rem;position:relative}
.ee-tarif-appel--fort{border-color:var(--ee-magenta);background:var(--ee-rose-pale)}
.ee-tarif-appel__quoi{font-size:.95rem;color:var(--ee-gris);margin:0 0 .5rem}
.ee-tarif-appel__val{font-family:var(--ee-display);font-weight:700;
	font-size:clamp(2.6rem,2rem + 2vw,3.6rem);line-height:.9;color:var(--ee-encre);margin:0}
.ee-tarif-appel__val small{font-size:.38em}
.ee-tarif-appel__note{margin:.9rem 0 0;font-size:.9rem;color:var(--ee-gris);line-height:1.5}
.ee-tarif-appel__etiq{position:absolute;top:-.75rem;left:1.5rem;background:var(--ee-magenta);color:#fff;
	font-size:.72rem;font-weight:700;padding:.25rem .7rem;border-radius:999px}

.ee-comparatif{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem;margin-top:2rem;
	background:var(--ee-encre-fonce);color:#fff;border-radius:var(--ee-radius);padding:1.4rem 1.8rem}
.ee-comparatif p{margin:0;flex:1;min-width:260px}
.ee-comparatif strong{color:#FFC97A}


/* Horaires et carte -------------------------------------------------------- */

.ee-horaires-grille{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,3.5rem);align-items:start}

.ee-badge-statut{display:inline-flex;align-items:center;gap:.55rem;background:#fff;border-radius:999px;
	padding:.55rem 1.1rem;font-weight:700;box-shadow:0 6px 18px -8px rgba(61,34,53,.3);margin-bottom:1.1rem}
.ee-badge-statut .ee-pt{background:var(--ee-vert);box-shadow:0 0 0 4px rgba(34,167,91,.18)}
.ee-badge-statut.est-ferme .ee-pt{background:#D93A3A;box-shadow:0 0 0 4px rgba(217,58,58,.18)}
.ee-badge-statut__detail{font-weight:500;color:var(--ee-gris)}

.ee-horaires{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden}
.ee-horaires th,.ee-horaires td{padding:.72rem 1.2rem;text-align:left;font-weight:400;
	border-bottom:1px solid #F6E6EE}
.ee-horaires th{font-weight:600}
.ee-horaires td{text-align:right;font-variant-numeric:tabular-nums}
.ee-horaires tr:last-child th,.ee-horaires tr:last-child td{border-bottom:0}
.ee-horaires__ligne--actif{background:var(--ee-rose-pale)}
.ee-horaires__ligne--actif th,.ee-horaires__ligne--actif td{font-weight:700}

.ee-horaires__note{background:#fff;border-left:5px solid var(--ee-orange);border-radius:var(--ee-radius-sm);
	padding:1rem 1.2rem;margin-top:1.2rem;font-size:.94rem}

.ee-carte-lieu{background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--ee-ombre)}
.ee-carte-lieu iframe{width:100%;height:330px;border:0;display:block}
.ee-carte-lieu__infos{padding:1.5rem 1.6rem}
.ee-carte-lieu__infos h3{margin-bottom:.6rem;font-weight:600;font-size:1.2rem}
.ee-adresse{font-style:normal;line-height:1.85;margin-bottom:1.1rem}
.ee-adresse a{color:var(--ee-magenta);font-weight:700}
.ee-zone{margin:1.3rem 0 0;font-size:.92rem;color:var(--ee-gris)}


/* =============================================================================
   9. PAGES INTERNES
   ========================================================================== */

.ee-page{padding:clamp(1.5rem,3vw,4rem) 0}
.ee-fil{font-size:.9rem;color:var(--ee-gris);margin-bottom:1.2rem}
.ee-fil a{text-decoration:none}

.ee-page__titre{margin-bottom:.6em}

.ee-contenu{max-width:72ch}
.ee-contenu--large{max-width:none}
.ee-contenu h2{margin-top:1.8em;color:var(--ee-encre)}
.ee-contenu h2:first-child{margin-top:0}
.ee-contenu ul,.ee-contenu ol{padding-left:1.3em}
.ee-contenu li{margin-bottom:.35em}

.ee-sommaire{background:var(--ee-rose-clair);border-radius:var(--ee-radius);padding:1.4rem 1.6rem;margin:2rem 0}
.ee-sommaire__titre{font-size:1.02rem;margin-bottom:.6em}
.ee-sommaire__liste{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;
	gap:.5rem 1.4rem;font-size:.95rem}

.ee-tarifs-liste{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
	gap:1.5rem;align-items:start}

.ee-tarifs{background:#fff;border:1px solid var(--ee-bord);border-radius:var(--ee-radius);padding:1.5rem}
.ee-contenu .ee-tarifs{margin:1.6rem 0}
.ee-tarifs__titre{color:var(--ee-magenta);margin-bottom:.7em;font-size:1.25rem;font-weight:700}
.ee-tarifs__table{width:100%;border-collapse:collapse}
.ee-tarifs__table th,.ee-tarifs__table td{padding:.55rem .4rem;text-align:left;font-weight:400;
	vertical-align:baseline;border-bottom:1px solid #FBEEF4}
.ee-tarifs__table tr:last-child th,.ee-tarifs__table tr:last-child td{border-bottom:0}
.ee-tarifs__detail{color:var(--ee-gris);font-size:.9rem}
.ee-tarifs__prix{text-align:right;white-space:nowrap;font-family:var(--ee-display);
	font-weight:700;font-variant-numeric:tabular-nums}
.ee-tarifs__note{margin:1rem 0 0;font-size:.89rem;color:var(--ee-gris)}

.ee-autres-services{margin-top:2.5rem;padding-top:1.6rem;border-top:1px solid var(--ee-bord)}

.ee-encart-contact{margin-top:3rem;background:var(--ee-rose-clair);border-radius:var(--ee-radius);
	padding:2rem;text-align:center}


/* =============================================================================
   10. PIED DE PAGE
   ========================================================================== */

.ee-pied{background:var(--ee-encre-fonce);color:#E4D3DD;padding:3.5rem 0 1.5rem;font-size:.94rem}
.ee-pied__inner{display:grid;grid-template-columns:1.35fr 1fr 1.25fr 1fr;gap:2.5rem}
.ee-pied__titre{font-size:1.02rem;color:#fff;margin-bottom:.85rem;font-weight:600}
.ee-pied a{color:#fff}
.ee-pied a:hover{color:var(--ee-bord)}

.ee-pied__horaires,.ee-pied__liens,.ee-pied__reseaux{list-style:none;margin:0;padding:0}
.ee-pied__horaires li,.ee-pied__liens li{padding:.16rem 0}
.ee-pied__horaires li{display:flex;justify-content:space-between;gap:1.2rem}
.ee-pied__horaires li span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.ee-pied__horaires li.est-ferme span:last-child{opacity:.6}
.ee-pied__reseaux{display:flex;gap:1rem;margin-top:1rem}

.ee-pied__bas{border-top:1px solid rgba(255,255,255,.14);margin-top:2.5rem;padding-top:1.1rem;
	opacity:.7;font-size:.84rem}
.ee-pied__bas p{margin:0}

.ee-tel-mobile{display:none}


/* =============================================================================
   11. RESPONSIVE
   ========================================================================== */

@media (max-width:1040px){
	.ee-hero__inner{grid-template-columns:1fr;min-height:0}
	.ee-hero__visuel{position:relative;width:100%;height:270px;clip-path:none;
		border-radius:var(--ee-radius);margin-bottom:2.5rem}
	.ee-pastille,.ee-hero__pictos{display:none}
	.ee-bande__inner{grid-template-columns:1fr 1fr;gap:1.4rem}
	.ee-arg{border-left:0;padding-left:0}
	.ee-produits,.ee-trio{grid-template-columns:repeat(2,1fr)}
	.ee-horaires-grille{grid-template-columns:1fr}
	.ee-pied__inner{grid-template-columns:1fr 1fr}
}

@media (max-width:820px){
	.ee-burger{display:block;margin-left:auto;width:44px;height:44px;background:none;border:0;
		cursor:pointer;position:relative}
	.ee-burger__trait,
	.ee-burger__trait::before,
	.ee-burger__trait::after{content:'';position:absolute;left:10px;width:24px;height:2px;
		background:var(--ee-encre);transition:transform .2s ease}
	.ee-burger__trait{top:21px}
	.ee-burger__trait::before{top:-7px;left:0}
	.ee-burger__trait::after{top:7px;left:0}
	.ee-burger[aria-expanded="true"] .ee-burger__trait{background:transparent}
	.ee-burger[aria-expanded="true"] .ee-burger__trait::before{transform:translateY(7px) rotate(45deg)}
	.ee-burger[aria-expanded="true"] .ee-burger__trait::after{transform:translateY(-7px) rotate(-45deg)}

	.ee-nav{display:none;order:10;width:100%;margin-left:0;padding:1rem 0;
		border-top:1px solid var(--ee-bord)}
	.ee-nav.est-ouvert{display:block}
	.ee-nav__liste{flex-direction:column;gap:.2rem}
	.ee-nav__liste a{display:block;padding:.7rem 0}

	.ee-entete__inner{flex-wrap:wrap;gap:1rem}
	.ee-entete__actions{order:5}

	.ee-tel-mobile{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:200;
		justify-content:center;align-items:center;gap:.5rem;padding:.9rem;
		background:var(--ee-magenta);color:#fff;font-family:var(--ee-display);font-weight:700;
		text-decoration:none;box-shadow:0 -2px 12px rgba(61,34,53,.2)}
	body{padding-bottom:3.6rem}
}

@media (max-width:620px){
	.ee-produits,.ee-trio,.ee-tarifs-liste{grid-template-columns:1fr}
	.ee-bande__inner{grid-template-columns:1fr}
	.ee-hero__actions .ee-btn{flex:1 1 100%;justify-content:center}
	.ee-pill{display:none}
	.ee-pied__inner{grid-template-columns:1fr}
	.ee-statut-bar .ee-conteneur{flex-direction:column;gap:.3rem;text-align:center}
}


/* =============================================================================
   12. IMPRESSION
   ========================================================================== */

@media print{
	.ee-entete,.ee-pied,.ee-tel-mobile,.ee-statut-bar,.ee-hero__visuel,
	.ee-pastille,.ee-hero__pictos,.ee-carte-lieu iframe{display:none}
	body{background:#fff;color:#000;padding-bottom:0}
	.ee-tarifs{break-inside:avoid;box-shadow:none;border-color:#ccc}
}



/* =============================================================================
   13. EN-TETE DE PAGE ET COLONNE LATERALE
   ========================================================================== */

.ee-page-entete{background:linear-gradient(120deg,var(--ee-rose-clair),var(--ee-rose-pale));
	padding:clamp(1.8rem,4vw,3rem) 0;border-bottom:1px solid var(--ee-bord)}
.ee-page-entete .ee-fil{margin-bottom:.8rem}
.ee-page-entete .ee-page__titre{margin-bottom:0;max-width:24ch}

.ee-page-grille{display:grid;grid-template-columns:minmax(0,1fr) 340px;
	gap:clamp(2rem,4vw,3.5rem);align-items:start}
.ee-page-grille--simple{grid-template-columns:minmax(0,1fr)}
.ee-page-grille--simple > .ee-contenu{max-width:74ch;margin-inline:auto}

.ee-aside{position:sticky;top:100px;display:grid;gap:1.2rem}

.ee-aside__carte{background:#fff;border:1px solid var(--ee-bord);border-radius:var(--ee-radius);
	padding:1.5rem}
.ee-aside__carte h2{font-size:1.2rem;margin-bottom:.6rem}
.ee-aside__carte p{font-size:.94rem;color:var(--ee-gris);margin-bottom:1rem}
.ee-aside__carte--contact{background:var(--ee-rose-clair);border-color:transparent}
.ee-aside__carte--devis{background:var(--ee-encre-fonce);border-color:transparent;color:#E4D3DD}
.ee-aside__carte--devis h2{color:#fff}
.ee-aside__carte--devis p{color:#D9C6D2}
.ee-aside__carte--devis .ee-btn--secondaire{border-color:var(--ee-orange);color:#fff}
.ee-aside__carte--devis .ee-btn--secondaire:hover{background:rgba(255,255,255,.1);color:#fff}

.ee-aside__horaires{list-style:none;margin:0;padding:0;font-size:.92rem}
.ee-aside__horaires li{display:flex;justify-content:space-between;gap:1rem;
	padding:.35rem 0;border-bottom:1px solid #F7EAF1}
.ee-aside__horaires li:last-child{border-bottom:0}
.ee-aside__horaires li span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.ee-aside__horaires .est-aujourdhui{font-weight:700}

.ee-etapes{margin:0;padding-left:1.2rem;font-size:.94rem;color:#D9C6D2}
.ee-etapes li{margin-bottom:.5rem}

.ee-autres-produits{border-top:1px solid var(--ee-bord)}
.ee-autres-produits__titre{margin-bottom:1.8rem}


/* =============================================================================
   14. CONTENU DES PAGES — RESPIRATION ET RYTHME
   ========================================================================== */

.ee-contenu > p:first-of-type{font-size:1.15rem;color:#54404C;line-height:1.6}
.ee-contenu h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);margin-top:2.4em;margin-bottom:.6em}
.ee-contenu h2 + p{margin-top:0}
.ee-contenu h3{font-size:1.2rem;margin-top:1.8em}
.ee-contenu strong{font-weight:700}

/* Les grilles de tarifs inserees dans une page */
.ee-contenu .ee-tarifs{background:var(--ee-creme);border-color:var(--ee-bord);margin:2rem 0}


/* =============================================================================
   15. QUESTIONS FREQUENTES
   ========================================================================== */

.ee-faq{display:grid;gap:.8rem;margin:2rem 0}

.ee-faq__item{background:#fff;border:1px solid var(--ee-bord);border-radius:var(--ee-radius);
	overflow:hidden}
.ee-faq__item[open]{border-color:var(--ee-magenta)}

.ee-faq__q{font-family:var(--ee-display);font-weight:600;font-size:1.1rem;
	padding:1.1rem 3rem 1.1rem 1.4rem;cursor:pointer;position:relative;list-style:none}
.ee-faq__q::-webkit-details-marker{display:none}
.ee-faq__q::after{content:"";position:absolute;right:1.4rem;top:50%;width:.6rem;height:.6rem;
	border-right:2px solid var(--ee-magenta);border-bottom:2px solid var(--ee-magenta);
	transform:translateY(-70%) rotate(45deg);transition:transform .15s ease}
.ee-faq__item[open] .ee-faq__q::after{transform:translateY(-30%) rotate(-135deg)}
.ee-faq__q:hover{color:var(--ee-magenta)}

.ee-faq__r{padding:0 1.4rem 1.3rem;color:#54404C}
.ee-faq__r p:last-child{margin-bottom:0}


/* =============================================================================
   16. FORMULAIRE DE DEVIS
   ========================================================================== */

.ee-devis{margin-top:2rem}

.ee-form{background:#fff;border:1px solid var(--ee-bord);border-radius:var(--ee-radius);
	padding:clamp(1.5rem,3vw,2.2rem)}

.ee-form__piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.ee-form__rang{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}

.ee-form__champ{margin-bottom:1.2rem}
.ee-form__champ label{display:block;font-family:var(--ee-display);font-weight:600;
	margin-bottom:.35rem;font-size:.96rem}
.ee-form__champ label span{color:var(--ee-magenta)}

.ee-form input[type="text"],
.ee-form input[type="email"],
.ee-form input[type="tel"],
.ee-form select,
.ee-form textarea{
	width:100%;font-family:var(--ee-texte);font-size:1rem;color:var(--ee-encre);
	background:var(--ee-creme);border:2px solid var(--ee-bord);border-radius:var(--ee-radius-sm);
	padding:.7rem .9rem;transition:border-color .12s ease}
.ee-form input:focus,.ee-form select:focus,.ee-form textarea:focus{
	border-color:var(--ee-magenta);outline:none;background:#fff}
.ee-form textarea{resize:vertical;min-height:150px}
.ee-form ::placeholder{color:#B7A3AE}

.ee-form__consent{background:var(--ee-rose-pale);border-radius:var(--ee-radius-sm);
	padding:1rem 1.1rem;margin-bottom:1.4rem}
.ee-form__consent label{display:flex;gap:.7rem;align-items:flex-start;
	font-size:.94rem;cursor:pointer}
.ee-form__consent input{margin-top:.25rem;width:1.1rem;height:1.1rem;accent-color:var(--ee-magenta);flex-shrink:0}

.ee-form__envoi{margin-bottom:1rem}
.ee-form__mention{font-size:.86rem;color:var(--ee-gris);margin:0}

.ee-message{border-radius:var(--ee-radius-sm);padding:1rem 1.2rem;margin-bottom:1.5rem;font-weight:600}
.ee-message--succes{background:#EAF8F0;color:#12703F;border-left:5px solid var(--ee-vert)}
.ee-message--erreur{background:#FDECEC;color:#A32020;border-left:5px solid #D93A3A}


/* =============================================================================
   17. PAGES LEGALES
   ========================================================================== */

.ee-legal__coord{list-style:none;margin:0 0 1.5em;padding:1.1rem 1.3rem;
	background:var(--ee-creme);border-radius:var(--ee-radius-sm);border:1px solid var(--ee-bord)}
.ee-legal__coord li{margin-bottom:.3em}
.ee-legal__coord li:last-child{margin-bottom:0}


/* =============================================================================
   18. RESPONSIVE DES NOUVEAUX BLOCS
   ========================================================================== */

@media (max-width:1040px){
	.ee-page-grille{grid-template-columns:minmax(0,1fr)}
	.ee-aside{position:static;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
		display:grid;gap:1.2rem;margin-top:2.5rem}
	.ee-contenu{max-width:74ch}
}

@media (max-width:620px){
	.ee-form__rang{grid-template-columns:1fr;gap:0}
	.ee-aside{grid-template-columns:1fr}
}


/* =============================================================================
   19. BANDEAU DE TITRE DES PAGES PRODUITS
   ========================================================================== */

.ee-page-entete__inner{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center}

.ee-page-entete--produit{overflow:hidden}
.ee-page-entete--produit .ee-page-entete__inner{grid-template-columns:1.05fr .95fr}
.ee-page-entete--produit .ee-page__titre{max-width:16ch}

.ee-page-entete__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}

.ee-page-entete__visuel{border-radius:var(--ee-radius);overflow:hidden;
	box-shadow:0 22px 50px -24px rgba(61,34,53,.5);aspect-ratio:4/3}
.ee-page-entete__visuel img{width:100%;height:100%;object-fit:cover}


/* =============================================================================
   20. GRILLE DE TARIFS CROISEE
   ========================================================================== */

.ee-tarifs--grille .ee-tarifs__titre,
.ee-contenu .ee-tarifs--grille .ee-tarifs__titre{
	margin:0;
	padding:1rem 1.5rem;
	background:linear-gradient(100deg,var(--ee-orange),var(--ee-magenta) 65%);
	color:#fff;
	font-size:1.15rem;
}
.ee-tarifs--grille .ee-tarifs__note{padding:0 1.5rem 1.4rem;margin-top:1rem}

.ee-grille{width:100%;border-collapse:collapse;margin-top:0}

.ee-grille thead th{background:var(--ee-rose-clair);color:var(--ee-encre);
	font-family:var(--ee-display);font-weight:600;font-size:.92rem;
	padding:.7rem 1rem;text-align:left;border-bottom:2px solid var(--ee-bord)}
.ee-grille thead th.ee-grille__format{text-align:right;width:6.5rem}

.ee-grille tbody th,
.ee-grille tbody td{padding:.75rem 1rem;border-bottom:1px solid #F6E6EE;vertical-align:middle}
.ee-grille tbody tr:last-child th,
.ee-grille tbody tr:last-child td{border-bottom:0}
.ee-grille tbody tr:hover{background:var(--ee-rose-pale)}

.ee-grille__papier{text-align:left;font-weight:400;display:flex;flex-wrap:wrap;
	align-items:baseline;gap:.5rem}
.ee-grille__nom{font-family:var(--ee-display);font-weight:600}
.ee-grille__gram{color:var(--ee-gris);font-size:.92rem;font-variant-numeric:tabular-nums}
.ee-grille__detail{color:var(--ee-gris);font-size:.88rem;font-style:italic;flex-basis:100%}

.ee-grille__prix{text-align:right;white-space:nowrap;font-family:var(--ee-display);
	font-weight:700;font-variant-numeric:tabular-nums}
.ee-grille__vide{text-align:right;color:#C9B6C1}

.ee-grille__verso{background:var(--ee-creme)}
.ee-grille__verso .ee-grille__nom{font-weight:600}
.ee-grille__verso .ee-grille__prix{color:var(--ee-magenta)}

/* Pastilles de finition */
.ee-fin{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.02em;
	padding:.15rem .55rem;border-radius:999px;white-space:nowrap}
.ee-fin--mat{background:#EDE4EA;color:#5E4757}
.ee-fin--brillant{background:linear-gradient(120deg,#FFE7BF,#FFD08A);color:#7A4E00}


/* =============================================================================
   21. FORMULAIRE DE DEVIS — BLOCS ET QUESTIONS
   ========================================================================== */

.ee-bloc{border:0;margin:0 0 1.5rem;padding:0}
.ee-bloc[hidden]{display:none}

.ee-bloc__titre{display:flex;align-items:center;gap:.8rem;font-family:var(--ee-display);
	font-weight:700;font-size:1.35rem;padding:0;margin-bottom:1.4rem;width:100%}
.ee-bloc__num{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;
	background:var(--ee-magenta);color:#fff;font-size:1rem;flex-shrink:0}
.ee-bloc__aide{color:var(--ee-gris);font-size:.95rem;margin-top:-.8rem;margin-bottom:1.4rem}

.ee-form .ee-bloc{background:#fff;border:1px solid var(--ee-bord);
	border-radius:var(--ee-radius);padding:clamp(1.3rem,3vw,1.9rem)}

.ee-q{margin-bottom:1.6rem}
.ee-q:last-child{margin-bottom:0}
.ee-q[hidden]{display:none}

.ee-q__label{display:block;font-family:var(--ee-display);font-weight:600;
	font-size:1.02rem;margin-bottom:.6rem}
.ee-q__etoile{color:var(--ee-magenta)}
.ee-q__facultatif{font-family:var(--ee-texte);font-weight:400;font-size:.85rem;
	color:var(--ee-gris)}
.ee-q__aide{display:block;font-size:.88rem;color:var(--ee-gris);margin-top:.5rem}

/* Choix en pastilles */
.ee-choix{display:flex;flex-wrap:wrap;gap:.6rem}
.ee-choix--produits{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}

.ee-choix__item{position:relative;display:flex;cursor:pointer}
.ee-choix__item input{position:absolute;opacity:0;width:0;height:0}

.ee-choix__texte{display:block;width:100%;padding:.65rem 1.1rem;border:2px solid var(--ee-bord);
	border-radius:999px;background:#fff;transition:border-color .12s ease,background-color .12s ease}
.ee-choix__item--large .ee-choix__texte,
.ee-choix--produits .ee-choix__texte{border-radius:var(--ee-radius-sm);padding:.9rem 1.1rem}

.ee-choix__titre{display:block;font-family:var(--ee-display);font-weight:600;font-size:.98rem}
.ee-choix__detail{display:block;font-size:.86rem;color:var(--ee-gris);margin-top:.25rem;line-height:1.4}

.ee-choix__item:hover .ee-choix__texte{border-color:var(--ee-magenta)}
.ee-choix__item input:checked + .ee-choix__texte{border-color:var(--ee-magenta);
	background:var(--ee-rose-clair)}
.ee-choix__item input:focus-visible + .ee-choix__texte{outline:3px solid var(--ee-magenta);
	outline-offset:2px}

.ee-choix__item.est-bloquee{cursor:not-allowed}
.ee-choix__item.est-bloquee .ee-choix__texte{opacity:.4;background:var(--ee-creme);
	border-color:var(--ee-bord);text-decoration:line-through}
.ee-choix__item.est-bloquee:hover .ee-choix__texte{border-color:var(--ee-bord)}

/* Saisies avec unite */
.ee-unite{display:inline-flex;align-items:center;gap:.5rem}
.ee-unite input{width:8rem}
.ee-unite__txt{color:var(--ee-gris);font-size:.94rem}

.ee-dim{display:flex;flex-wrap:wrap;gap:1.5rem}
.ee-dim__l{font-size:.88rem;color:var(--ee-gris);margin-right:.15rem}

.ee-form input:invalid:not(:placeholder-shown){border-color:#E88}


/* =============================================================================
   22. RESPONSIVE DES NOUVEAUX BLOCS
   ========================================================================== */

@media (max-width:1040px){
	.ee-page-entete--produit .ee-page-entete__inner{grid-template-columns:1fr}
	.ee-page-entete--produit .ee-page__titre{max-width:none}
	.ee-page-entete__visuel{max-width:520px}
}

@media (max-width:620px){
	.ee-grille thead th{font-size:.85rem;padding:.6rem .7rem}
	.ee-grille tbody th,.ee-grille tbody td{padding:.65rem .7rem}
	.ee-grille thead th.ee-grille__format{width:4.8rem}
	.ee-grille__papier{gap:.35rem}
	.ee-choix{flex-direction:column}
	.ee-choix--produits{grid-template-columns:1fr}
	.ee-unite input{width:100%}
	.ee-dim{flex-direction:column;gap:1rem}
}


/* =============================================================================
   23. BANDEAU PRODUIT — MEME FORME QUE LE HEROS D'ACCUEIL
   ========================================================================== */

.ee-page-entete--produit{
	position:relative;
	overflow:hidden;
	padding:0;
	border-bottom:0;
	background:linear-gradient(120deg,#F3920036,#E5007E33);
}

.ee-page-entete--produit .ee-page-entete__inner{
	grid-template-columns:1.15fr .85fr;
	align-items:center;
	min-height:clamp(320px,38vw,430px);
	padding:clamp(2rem,4vw,3rem) 0;
	position:relative;
	z-index:2;
}

/* La photo va jusqu'au bord de l'ecran et se termine en arc de cercle. */
.ee-page-entete--produit .ee-page-entete__visuel{
	position:absolute;
	top:0;right:0;bottom:0;
	width:52%;
	clip-path:url(#ee-courbe);
	border-radius:0;
	box-shadow:none;
	aspect-ratio:auto;
	z-index:1;
}
.ee-page-entete--produit .ee-page-entete__visuel img{
	width:100%;height:100%;
	object-fit:cover;
	object-position:center;
}


/* =============================================================================
   24. SAISIES NUMERIQUES DU FORMULAIRE
   ========================================================================== */

/* Les fleches natives sont disgracieuses et differentes d'un navigateur
   a l'autre : on les retire et on soigne le champ lui-meme. */
.ee-form input[type="number"]{
	-moz-appearance:textfield;
	appearance:textfield;
	text-align:center;
	font-family:var(--ee-display);
	font-weight:700;
	font-size:1.15rem;
	font-variant-numeric:tabular-nums;
	letter-spacing:.02em;
	padding:.6rem .8rem;
	width:7.5rem;
}
.ee-form input[type="number"]::-webkit-outer-spin-button,
.ee-form input[type="number"]::-webkit-inner-spin-button{
	-webkit-appearance:none;
	margin:0;
}

.ee-unite{background:var(--ee-creme);border:2px solid var(--ee-bord);
	border-radius:999px;padding:.25rem .3rem .25rem .35rem;gap:.15rem;
	transition:border-color .12s ease}
.ee-unite:focus-within{border-color:var(--ee-magenta);background:#fff}
.ee-unite input[type="number"]{background:transparent;border:0;border-radius:999px}
.ee-unite input[type="number"]:focus{outline:none;background:transparent}
.ee-unite__txt{padding-right:.9rem;font-size:.92rem;white-space:nowrap}

.ee-dim .ee-unite{padding-left:.9rem}
.ee-dim__l{margin-right:.4rem}
.ee-page-entete--produit .ee-page-entete__visuel img{object-position:70% center}



/* =============================================================================
   25. PAGE TARIFS — SECTIONS ET SOMMAIRE LATERAL
   ========================================================================== */

.ee-page-entete__intro{max-width:62ch;margin-top:1.2rem}
.ee-page-entete__intro p:last-child{margin-bottom:0}

.ee-groupe{margin-bottom:clamp(2.5rem,5vw,4rem);scroll-margin-top:110px}
.ee-groupe:last-child{margin-bottom:0}

.ee-groupe__entete{border-bottom:3px solid var(--ee-magenta);padding-bottom:.8rem;margin-bottom:1.8rem}
.ee-groupe__titre{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);margin-bottom:.25rem}
.ee-groupe__intro{margin:0;color:var(--ee-gris);font-size:.98rem}

.ee-groupe__grilles{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
	gap:1.5rem;align-items:start}
/* Les grilles d'impression ont deux colonnes de prix : elles respirent mieux
   sur toute la largeur. */
.ee-groupe__grilles--pleine{grid-template-columns:1fr}

.ee-services-liste{list-style:none;margin:0;padding:0;display:grid;
	grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem}
.ee-services-liste li{background:#fff;border:1px solid var(--ee-bord);
	border-radius:var(--ee-radius-sm);padding:.9rem 1.1rem;font-family:var(--ee-display);
	font-weight:600}

/* Sommaire lateral */
.ee-sommaire-lat ul{list-style:none;margin:0;padding:0}
.ee-sommaire-lat li{border-bottom:1px solid #F7EAF1}
.ee-sommaire-lat li:last-child{border-bottom:0}
.ee-sommaire-lat a{display:block;padding:.55rem 0;text-decoration:none;color:var(--ee-encre);
	font-size:.95rem;font-family:var(--ee-display);font-weight:600}
.ee-sommaire-lat a:hover{color:var(--ee-magenta)}
.ee-sommaire-lat a::before{content:"";display:inline-block;width:.35rem;height:.35rem;
	border-radius:50%;background:var(--ee-magenta);margin-right:.6rem;vertical-align:middle;
	opacity:0;transition:opacity .12s ease}
.ee-sommaire-lat a:hover::before{opacity:1}

@media (max-width:1040px){
	.ee-groupe__grilles--pleine{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
	.ee-sommaire-lat{display:none}
}

/* =============================================================================
   26. GRILLE CROISEE — INTITULES DE COLONNE LONGS
   ========================================================================== */

/* Les badges ont des colonnes du type « Épingle 38 mm » : on les laisse
   respirer, contrairement aux colonnes « A4 » et « A3 » de l'impression. */
.ee-grille thead th.ee-grille__format{width:auto;min-width:6rem;white-space:nowrap}

@media (max-width:620px){
	.ee-grille thead th.ee-grille__format{min-width:0;white-space:normal;font-size:.78rem}
}


/* =============================================================================
   27. TABLEAUX DE TARIFS — EN-TETE UNIFIE ET PRIX CENTRES
   ========================================================================== */

/* Toutes les grilles portent desormais le meme bandeau de titre, qu'elles
   soient croisees (impression, badges) ou en liste simple (tampons, photo). */
.ee-tarifs{padding:0;overflow:hidden}

.ee-tarifs__titre,
.ee-contenu .ee-tarifs__titre{
	margin:0;
	padding:1rem 1.5rem;
	background:linear-gradient(100deg,var(--ee-orange),var(--ee-magenta) 65%);
	color:#fff;
	font-size:1.15rem;
}

.ee-tarifs__table{margin:.6rem 0}
.ee-tarifs__table th:first-child{padding-left:1.5rem}
.ee-tarifs__table td:last-child{padding-right:1.5rem}

.ee-tarifs__note{padding:0 1.5rem 1.4rem;margin-top:.8rem}

/* Prix centres dans leur colonne plutot que colles au bord droit. */
.ee-tarifs__prix{text-align:center;width:6.5rem;padding-left:.8rem}

.ee-grille thead th.ee-grille__format,
.ee-grille__prix,
.ee-grille__vide{text-align:center}

.ee-grille thead th:first-child,
.ee-grille tbody th:first-child{padding-left:1.5rem}
.ee-grille thead th:last-child,
.ee-grille tbody td:last-child{padding-right:1.5rem}


/* =============================================================================
   28. PAGE CONTACT ET AJUSTEMENTS DES GRILLES
   ========================================================================== */

/* Filet de securite : si une grille croisee manque de place, elle defile
   horizontalement plutot que d'etre coupee. */
.ee-grille-defile{overflow-x:auto;-webkit-overflow-scrolling:touch}
.ee-grille{min-width:100%}

.ee-tarifs-intro{max-width:70ch;padding-top:clamp(1.5rem,3vw,2.5rem)}
.ee-tarifs-intro p:last-child{margin-bottom:0}

/* --- Page contact --- */

.ee-contact__intro{max-width:70ch;margin-bottom:clamp(2rem,4vw,3rem)}

.ee-contact-voies{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
	margin-bottom:clamp(2.5rem,5vw,4rem)}

.ee-voie{background:#fff;border:1px solid var(--ee-bord);border-radius:var(--ee-radius);
	padding:1.8rem 1.6rem;display:flex;flex-direction:column;border-top:4px solid var(--ee-magenta)}
.ee-voie--boutique{border-top-color:var(--ee-orange)}
.ee-voie--devis{border-top-color:var(--ee-encre)}

.ee-voie h2{font-size:1.3rem;margin-bottom:.6rem}
.ee-voie p{color:#54404C;font-size:.96rem}
.ee-voie .ee-adresse{margin-bottom:1rem}
.ee-voie__action{margin-top:auto;padding-top:.6rem;margin-bottom:.6rem}
.ee-voie__note{font-size:.87rem;color:var(--ee-gris);margin:0}

.ee-contact-bas{align-items:start}
.ee-contact-bas > div:first-child h2{margin-bottom:1.2rem}
.ee-contact-bas .ee-carte-lieu__infos h2{font-size:1.3rem}

@media (max-width:1040px){
	.ee-contact-voies{grid-template-columns:1fr}
	.ee-contact-bas{grid-template-columns:1fr}
}


/* =============================================================================
   29. COMPARATEUR DE TARIFS FLYERS
   ========================================================================== */

.ee-compa{margin:2rem 0}

.ee-compa__reglage{display:flex;flex-wrap:wrap;gap:1.2rem 2.5rem;
	background:var(--ee-rose-clair);border-radius:var(--ee-radius);
	padding:1.2rem 1.4rem;margin-bottom:1.2rem}

.ee-compa__groupe{display:flex;flex-direction:column;gap:.55rem}

.ee-compa__label{font-family:var(--ee-display);font-weight:600;font-size:.92rem;
	color:var(--ee-gris);letter-spacing:.02em}

.ee-compa__choix{display:flex;flex-wrap:wrap;gap:.5rem}

.ee-compa__bouton{font-family:var(--ee-display);font-weight:700;font-size:1rem;
	padding:.5rem 1.1rem;border-radius:999px;border:2px solid var(--ee-bord);
	background:#fff;color:var(--ee-encre);cursor:pointer;
	font-variant-numeric:tabular-nums;transition:border-color .12s ease,background-color .12s ease}
.ee-compa__bouton:hover{border-color:var(--ee-magenta)}
.ee-compa__bouton.est-actif{background:var(--ee-magenta);border-color:var(--ee-magenta);color:#fff}

/* Ligne recommandee */
.ee-compa__conseil{background:var(--ee-rose-pale)}
.ee-compa__conseil .ee-grille__nom{color:var(--ee-magenta)}
.ee-compa__conseil .ee-grille__prix{font-weight:700}

.ee-compa__etiq{display:inline-block;background:var(--ee-magenta);color:#fff;
	font-size:.68rem;font-weight:700;padding:.15rem .55rem;border-radius:999px;
	white-space:nowrap}

.ee-compa__nombre{font-variant-numeric:tabular-nums}
.ee-compa__faces{white-space:nowrap}

/* Pastille de remise degressive, sous le montant */
.ee-compa__montant{display:block}
.ee-compa__remise{display:inline-block;margin-top:.2rem;background:#EAF8F0;color:#12703F;
	font-size:.7rem;font-weight:700;padding:.1rem .45rem;border-radius:999px;white-space:nowrap}

@media (max-width:620px){
	.ee-compa__reglage{flex-direction:column;gap:1rem}
	.ee-compa__bouton{padding:.45rem .85rem;font-size:.94rem}
	.ee-compa__remise{font-size:.64rem}
}


/* =============================================================================
   30. GRILLE — PRECISION SOUS UN PRIX
   ========================================================================== */

.ee-grille__montant{display:block}
.ee-grille__precision{display:block;margin-top:.15rem;font-family:var(--ee-texte);
	font-weight:400;font-size:.76rem;color:var(--ee-gris);line-height:1.3}


/* =============================================================================
   31. BANDEAU — PHRASE D'ACCROCHE
   ========================================================================== */

.ee-page-entete__accroche{margin:1rem 0 0;max-width:46ch;font-size:1.06rem;color:#54404C}
.ee-page-entete--produit .ee-page-entete__accroche{max-width:38ch}


/* =============================================================================
   32. RESUME DES TARIFS, PAGE 404 ET RECHERCHE
   ========================================================================== */

/* Phrase reprenant les tarifs en toutes lettres sous chaque tableau.
   Visible, discrete, et surtout lisible par les moteurs et les assistants
   qui extraient mal les tableaux. */
.ee-tarifs__resume{padding:0 1.5rem 1.4rem;margin:0;font-size:.8rem;line-height:1.5;
	color:#9A8792}

/* --- Page 404 --- */

.ee-404__code{font-family:var(--ee-display);font-weight:700;font-size:.85rem;
	letter-spacing:.14em;color:var(--ee-magenta);margin:0 0 .4rem}
.ee-404__titre{margin:2.5rem 0 1.5rem}
.ee-404__recherche{background:var(--ee-rose-clair);border-radius:var(--ee-radius);
	padding:1.5rem 1.6rem;margin-bottom:1rem}
.ee-404__recherche h2{font-size:1.2rem;margin-bottom:.9rem}

/* --- Formulaire et resultats de recherche --- */

.ee-recherche{display:flex;flex-wrap:wrap;gap:.7rem}
.ee-recherche input[type="search"]{flex:1 1 240px;font-family:var(--ee-texte);font-size:1rem;
	color:var(--ee-encre);background:#fff;border:2px solid var(--ee-bord);
	border-radius:var(--ee-radius-sm);padding:.7rem .9rem}
.ee-recherche input[type="search"]:focus{border-color:var(--ee-magenta);outline:none}

.ee-resultats{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1.2rem}
.ee-resultats li{background:#fff;border:1px solid var(--ee-bord);
	border-radius:var(--ee-radius);padding:1.3rem 1.5rem}
.ee-resultats h2{font-size:1.2rem;margin-bottom:.4rem}
.ee-resultats h2 a{text-decoration:none}
.ee-resultats p{margin:0;color:var(--ee-gris);font-size:.95rem}



/* =============================================================================
   33. CORRECTIONS D'AUDIT
   ========================================================================== */

/* Le h2 place dans le summary de la FAQ ne doit pas casser la mise en page :
   il reprend exactement l'apparence du texte de question. */
.ee-faq__q h2{
	display:inline;
	margin:0;
	font-family:inherit;
	font-size:inherit;
	font-weight:inherit;
	line-height:inherit;
	letter-spacing:inherit;
	color:inherit;
}

/* Baseline de l'accueil passee en h2 : elle garde l'aspect d'un paragraphe. */
h2.ee-hero__lede{
	font-family:var(--ee-texte);
	font-weight:400;
	line-height:1.65;
	letter-spacing:0;
}


/* =============================================================================
   34. PAGE CONTACT — ADRESSE E-MAIL
   ========================================================================== */

.ee-voie__mail{background:var(--ee-rose-clair);border-radius:var(--ee-radius-sm);
	padding:.8rem 1rem;font-size:.92rem;margin-bottom:.8rem}
.ee-voie__mail a{font-weight:700;word-break:break-word}
