/* =====================================================================
   Pages de contenu Elementor : Catalogue, « Pourquoi choisir le reconditionné ? » et ses 4 pages.
   Chargé avec elikia-home.css (sections .ek-sec, en-têtes .ek-head, boutons .ek-btn, marques…)
   sur les pages marquées _elikia_landing. Construites par docs/tools/build-pages.php.
   ===================================================================== */

/* ---------- En-tête de page ---------- */
.e-con.ek-phero {
	--padding-top: 28px;
	background: linear-gradient(180deg, #fff 0%, var(--ek-page) 100%);
	border-bottom: 1px solid var(--ek-line);
	--padding-bottom: 44px;
}
.ek-phero__text.e-con { --row-gap: 14px; max-width: 760px; }
.ek-crumbs .rank-math-breadcrumb p { margin: 0; font-size: 13px; color: var(--ek-muted); }
.ek-crumbs .rank-math-breadcrumb a { color: var(--ek-muted); text-decoration: none; }
.ek-crumbs .rank-math-breadcrumb a:hover { color: var(--ek-blue); }
.ek-crumbs .rank-math-breadcrumb .separator { margin: 0 6px; color: #b4bfd0; }
.ek-phero h1.elementor-heading-title {
	margin: 0;
	font-family: var(--ek-head);
	font-size: clamp(30px, 3.4vw, 44px);
	font-weight: 800;
	letter-spacing: -1px;
	line-height: 1.1;
	color: var(--ek-ink);
}
.ek-phero__lead,
.ek-phero__lead p { margin: 0; font-size: 17px; line-height: 1.6; color: var(--ek-text); }
.ek-phero__ctas.e-con { --flex-direction: row; --flex-wrap: wrap; --row-gap: 12px; --column-gap: 12px; margin-top: 6px; }

/* Sur-titres de section : toujours précédés du filet, dans la couleur du sur-titre (hors en-tête de page, en pastille) */
.ek-sec:not(.ek-phero) .ek-kicker .elementor-heading-title::before {
	content: "";
	flex: none;
	width: 22px;
	height: 3px;
	border-radius: 3px;
	background: currentColor;
}

/* ---------- Cartes icône + texte ---------- */
.ek-cards .elementor-widget-icon-box { height: 100%; }
.ek-cards .elementor-icon-box-wrapper {
	height: 100%;
	padding: 22px;
	border: 1px solid var(--ek-line);
	border-radius: var(--ek-radius);
	background: #fff;
}
.ek-cards .elementor-icon {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--ek-surface-blue);
	color: var(--ek-blue);
}
.ek-cards .elementor-icon svg { width: 19px; height: 19px; fill: currentColor; }
.ek-cards .elementor-icon-box-title { margin: 0 0 6px; font-family: var(--ek-head); font-size: 16.5px; font-weight: 700; line-height: 1.3; color: var(--ek-ink); }
.ek-cards .elementor-icon-box-description { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--ek-muted); }

/* Remarque sous un bloc */
.ek-note,
.ek-note p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--ek-muted); }
.ek-note a { color: var(--ek-blue); }

/* ---------- Navigation entre les pages « reconditionné » ---------- */
.ek-subnav__item.e-con {
	--row-gap: 6px;
	--padding-top: 20px;
	--padding-bottom: 20px;
	--padding-left: 20px;
	--padding-right: 20px;
	border: 1px solid var(--ek-line);
	border-radius: var(--ek-radius);
	background: #fff;
	color: inherit;
	text-decoration: none;
	transition: transform .2s, border-color .2s, box-shadow .2s;
}
.ek-subnav__icon .elementor-icon { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 6px; border-radius: 11px; background: var(--ek-surface-blue); color: var(--ek-blue); }
.ek-subnav__icon .elementor-icon svg { width: 18px; height: 18px; fill: currentColor; }
.ek-subnav__item h3.elementor-heading-title { margin: 0; font-family: var(--ek-head); font-size: 16.5px; font-weight: 700; color: var(--ek-ink); }
.ek-subnav__item h3.elementor-heading-title::after { content: " \2192"; color: var(--ek-blue); }
.ek-subnav__item p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--ek-muted); }
.ek-subnav__item.is-current { border-color: var(--ek-blue); background: var(--ek-surface-blue); }
@media (hover: hover) {
	.ek-subnav__item.e-con:hover { transform: translateY(-3px); border-color: #b9cdfb; box-shadow: var(--ek-shadow-lg); }
}

/* ---------- Étapes numérotées ---------- */
.ek-step.e-con {
	--row-gap: 6px;
	--padding-top: 22px;
	--padding-bottom: 22px;
	--padding-left: 22px;
	--padding-right: 22px;
	border: 1px solid var(--ek-line);
	border-radius: var(--ek-radius);
	background: #fff;
}
.ek-step__n .elementor-heading-title { margin: 0 0 4px; font-family: var(--ek-head); font-size: 28px; font-weight: 800; line-height: 1; color: var(--ek-blue); }
.ek-step h3.elementor-heading-title { margin: 0; font-family: var(--ek-head); font-size: 17px; font-weight: 700; color: var(--ek-ink); }
.ek-step p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--ek-muted); }

/* ---------- FAQ ---------- */
.ek-faq__item.e-con {
	--row-gap: 8px;
	--padding-top: 20px;
	--padding-bottom: 20px;
	--padding-left: 22px;
	--padding-right: 22px;
	border: 1px solid var(--ek-line);
	border-radius: var(--ek-radius);
	background: #fff;
}
.ek-faq__item h3.elementor-heading-title { margin: 0; font-family: var(--ek-head); font-size: 16.5px; font-weight: 700; line-height: 1.35; color: var(--ek-ink); }
.ek-faq__item p { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--ek-text); }
.ek-faq__item a { color: var(--ek-blue); }

/* ---------- Grades ---------- */
.ek-grade.e-con {
	--row-gap: 6px;
	--padding-top: 24px;
	--padding-bottom: 24px;
	--padding-left: 24px;
	--padding-right: 24px;
	border: 1px solid var(--ek-line);
	border-top: 4px solid var(--ek-grade, var(--ek-blue));
	border-radius: var(--ek-radius);
	background: #fff;
}
.ek-grade--a { --ek-grade: #0e9f6e; }
.ek-grade--b { --ek-grade: var(--ek-blue); }
.ek-grade--c { --ek-grade: #d97706; }
.ek-grade__tag .elementor-heading-title {
	display: inline-block;
	margin: 0;
	padding: 4px 10px;
	border-radius: 6px;
	background: var(--ek-grade);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .6px;
	text-transform: uppercase;
	color: #fff;
}
.ek-grade h3.elementor-heading-title { margin: 4px 0 6px; font-family: var(--ek-head); font-size: 21px; font-weight: 700; color: var(--ek-ink); }
.ek-grade__dl { display: grid; grid-template-columns: auto 1fr; gap: 10px 14px; margin: 0; font-size: 14.5px; line-height: 1.5; }
.ek-grade__dl dt { font-weight: 700; color: var(--ek-ink); }
.ek-grade__dl dd { margin: 0; color: var(--ek-text); }

/* ---------- Garantie ---------- */
.ek-warranty__main.e-con {
	--flex-direction: row;
	--align-items: flex-start;
	--column-gap: 28px;
	--padding-top: 32px;
	--padding-bottom: 32px;
	--padding-left: 32px;
	--padding-right: 32px;
	border: 2px solid var(--ek-blue);
	border-radius: var(--ek-radius);
	background: #fff;
}
.ek-warranty__badge { flex: 0 0 auto; }
.ek-warranty__badge .elementor-heading-title {
	display: grid;
	place-items: center;
	width: 112px;
	height: 112px;
	margin: 0;
	border-radius: 50%;
	background: var(--ek-blue);
	font-family: var(--ek-head);
	font-size: 22px;
	font-weight: 800;
	line-height: 1.1;
	text-align: center;
	color: #fff;
}
.ek-warranty__body.e-con { --row-gap: 12px; flex: 1 1 auto; }
.ek-warranty__body h2.elementor-heading-title { margin: 0; font-family: var(--ek-head); font-size: clamp(22px, 2vw, 28px); font-weight: 700; color: var(--ek-ink); }
.ek-warranty__body p { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--ek-text); }
.ek-warranty__list .elementor-icon-list-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; }
.ek-warranty__list .elementor-icon-list-item { padding: 0; }
.ek-warranty__list .elementor-icon-list-text { font-size: 15px; color: var(--ek-ink); }
.ek-warranty__list .elementor-icon-list-icon svg { width: 15px; height: 15px; fill: var(--ek-green); }

/* ---------- Catalogue (finition premium, comme « Pourquoi choisir ») ----------
   Bandes : en-tête sombre → catégories (teinté) → marques (blanc) → « Aussi chez Elikia » (teinté) → appel à l'action (blanc). */
.e-con.ek-phero--dark:not(.ek-phero--media) { --padding-bottom: 72px; }
.ek-phero--dark:not(.ek-phero--media) .ek-phero__text.e-con { max-width: 720px; }
.e-con.ek-catalog,
.ek-catalog ~ .e-con.ek-brands,
.e-con.ek-also,
.e-con.ek-pcta:not(.ek-pcta--media) { --padding-top: calc(var(--ek-band) + 16px); --padding-bottom: calc(var(--ek-band) + 16px); margin-top: 0; }
.e-con.ek-also {
	background: linear-gradient(180deg, #f3f6fd 0%, #edf2fb 100%);
	box-shadow: inset 0 1px 0 #e3e9f4, inset 0 -1px 0 #e3e9f4;
}
/* Catégories : bande gris neutre pour détacher les tuiles bleues des cartes */
.e-con.ek-catalog { background: #f4f5f8; box-shadow: inset 0 -1px 0 #e6e8ee; }
.ek-catalog ~ .e-con.ek-brands,
.e-con.ek-pcta:not(.ek-pcta--media) { background: #fff; }
:is(.ek-catalog ~ .ek-brands, .ek-also) .ek-head h2.elementor-heading-title { font-size: clamp(26px, 2.7vw, 40px); font-weight: 800; letter-spacing: -1px; line-height: 1.1; }
:is(.ek-catalog ~ .ek-brands, .ek-also) .ek-head .ek-sub p { font-size: 16px; }

/* Cartes catégorie : cadre blanc, tuile visuelle bleue (contraste avec la bande grise), titre, sous-catégories,
   pied « Voir les N produits » + flèche ronde. Tuile de hauteur fixe pour aligner les titres d'une rangée. */
.ek-catx { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.ek-catx__item {
	display: flex;
	flex-direction: column;
	padding: 8px;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 0 0 1px #e4e8ef, 0 10px 30px -24px rgba(11, 20, 48, .2);
	transition: transform .25s, box-shadow .25s;
}
.ek-catx__media {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	height: 236px;
	padding: 24px 28px;
	overflow: hidden;
	border-radius: 18px;
	background:
		radial-gradient(50% 55% at 50% 55%, rgba(255, 255, 255, .95) 0%, rgba(255, 255, 255, 0) 100%),
		linear-gradient(150deg, #e3ecff 0%, #c9d9fb 100%);
}
.ek-catx .ek-catx__img { display: block; width: 100%; max-width: 300px; height: 168px; object-fit: contain; mix-blend-mode: multiply; transition: transform .4s; }
.ek-catx__body { display: flex; flex: 1; flex-direction: column; gap: 8px; padding: 18px 14px 12px; }
.ek-catx__title { margin: 0; font-family: var(--ek-head); font-size: 22px; font-weight: 800; letter-spacing: -.4px; line-height: 1.2; }
.ek-catx__title a { color: var(--ek-ink); text-decoration: none; }
.ek-catx__title a:hover { color: var(--ek-blue); }
.ek-catx__text { margin: 0; font-size: 14px; color: var(--ek-muted); }
.ek-catx__subs { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 0; padding: 0; list-style: none; }
.ek-catx__subs li { margin: 0; }
.ek-catx__subs a {
	display: inline-flex;
	align-items: baseline;
	gap: 5px;
	padding: 5px 11px;
	border: 1px solid #dbe5f8;
	border-radius: 999px;
	background: #f2f6ff;
	font-size: 13px;
	font-weight: 500;
	color: var(--ek-ink);
	text-decoration: none;
	transition: background-color .2s, border-color .2s, color .2s;
}
.ek-catx__subs a:hover { border-color: var(--ek-blue); background: #fff; color: var(--ek-blue); }
.ek-catx__n { font-size: 11.5px; font-weight: 600; color: var(--ek-blue); }
.ek-catx__all {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid var(--ek-line);
	font-size: 14.5px;
	font-weight: 700;
	color: var(--ek-ink);
	text-decoration: none;
}
.ek-catx__all::after {
	content: "\2192";
	display: grid;
	flex: none;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--ek-surface-blue);
	color: var(--ek-blue);
	transition: background-color .2s, color .2s, transform .2s;
}
.ek-catx__all:hover,
.ek-catx__all:focus-visible { color: var(--ek-blue); }
@media (hover: hover) {
	.ek-catx__item:hover { transform: translateY(-4px); box-shadow: 0 0 0 1px #d3dff5, 0 24px 40px -28px rgba(7, 60, 180, .3); }
	.ek-catx .ek-catx__item:hover .ek-catx__img { transform: scale(1.06); }
	.ek-catx__item:hover .ek-catx__all::after { background: var(--ek-blue); color: #fff; transform: translateX(2px); }
}

/* Marques : tuiles sans bordure sur fond très clair */
.ek-catalog ~ .ek-brands .ek-brand.e-con { height: 100px; border-color: transparent; border-radius: 18px; background: #f4f7fc; box-shadow: none; }
@media (hover: hover) {
	.ek-catalog ~ .ek-brands .ek-brand.e-con:hover { background: #fff; box-shadow: 0 0 0 1px #e3e9f4, 0 14px 28px -22px rgba(11, 20, 48, .22); transform: translateY(-2px); }
}

/* Aussi chez Elikia : pastilles blanches avec flèche */
.ek-also .ek-chip .elementor-heading-title a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 20px;
	border-color: transparent;
	box-shadow: 0 1px 2px rgba(11, 20, 48, .04), 0 10px 22px -18px rgba(11, 20, 48, .2);
	transition: color .2s, box-shadow .2s;
}
.ek-also .ek-chip .elementor-heading-title a::after { content: "\2192"; color: var(--ek-blue); }
.ek-also .ek-chip .elementor-heading-title a:hover { color: var(--ek-blue); box-shadow: 0 0 0 1px #bcd0fb, 0 10px 22px -18px rgba(7, 92, 245, .3); }

/* Appel à l'action : halo comme l'en-tête */
.ek-pcta:not(.ek-pcta--media) .ek-pcta__box.e-con {
	--padding-top: 56px;
	--padding-bottom: 56px;
	border-radius: 26px;
	background-image:
		radial-gradient(40% 90% at 85% 0%, rgba(37, 110, 255, .45) 0%, rgba(37, 110, 255, 0) 70%),
		linear-gradient(160deg, #0a2457 0%, #051638 55%, #020b22 100%);
	box-shadow: 0 24px 44px -36px rgba(2, 11, 34, .4);
}

/* Liens « Aussi chez Elikia » */
.ek-chips.e-con { --flex-direction: row; --flex-wrap: wrap; --row-gap: 10px; --column-gap: 10px; }
.ek-chip .elementor-heading-title { margin: 0; }
.ek-chip .elementor-heading-title a {
	display: inline-block;
	padding: 10px 18px;
	border: 1px solid var(--ek-line);
	border-radius: 999px;
	background: #fff;
	font-size: 15px;
	font-weight: 600;
	color: var(--ek-ink);
	text-decoration: none;
}
.ek-chip .elementor-heading-title a:hover { border-color: var(--ek-blue); color: var(--ek-blue); }

/* ---------- Appel à l'action de fin de page ---------- */
.ek-pcta__box.e-con {
	--row-gap: 12px;
	--align-items: center;
	--padding-top: 44px;
	--padding-bottom: 44px;
	--padding-left: 32px;
	--padding-right: 32px;
	border-radius: var(--ek-radius);
	background-color: var(--ek-navy);
	background-image: linear-gradient(120deg, var(--ek-navy) 0%, #0b3fae 100%);
	text-align: center;
}
.ek-pcta__box h2.elementor-heading-title { margin: 0; font-family: var(--ek-head); font-size: clamp(22px, 2.2vw, 30px); font-weight: 700; color: #fff; }
.ek-pcta__box p { margin: 0; font-size: 16px; line-height: 1.6; color: rgba(255, 255, 255, .75); }
.ek-pcta__btns.e-con { --flex-direction: row; --flex-wrap: wrap; --justify-content: center; --row-gap: 12px; --column-gap: 12px; margin-top: 8px; }
.ek-pcta__box .ek-btn .elementor-button { background: #fff; color: var(--ek-navy); }
.ek-pcta__box .ek-btn .elementor-button:hover { background: #fff; color: var(--ek-blue); }
.ek-pcta__box .ek-btn--ghost .elementor-button { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .45); }
.ek-pcta__box .ek-btn--ghost .elementor-button:hover { background: rgba(255, 255, 255, .08); color: #fff; box-shadow: inset 0 0 0 1.5px #fff; }

/* ---------- Tablette ---------- */
@media (max-width: 1024px) {
	.ek-catx { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ek-warranty__list .elementor-icon-list-items { grid-template-columns: 1fr; }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
	.e-con.ek-phero { --padding-top: 18px; --padding-bottom: 32px; }
	.ek-phero__lead,
	.ek-phero__lead p { font-size: 15.5px; }
	.ek-phero__ctas.e-con { --flex-direction: column; --align-items: stretch; }
	.ek-phero__ctas .elementor-button { width: 100%; justify-content: center; }
	.ek-catx { grid-template-columns: 1fr; gap: 14px; }
	.ek-catx__media { height: 200px; padding: 20px; }
	.ek-catx .ek-catx__img { height: 140px; }
	.ek-cards .elementor-icon-box-wrapper { padding: 18px; }
	.ek-warranty__main.e-con { --flex-direction: column; --row-gap: 18px; --padding-top: 24px; --padding-bottom: 24px; --padding-left: 20px; --padding-right: 20px; }
	.ek-warranty__badge .elementor-heading-title { width: 84px; height: 84px; font-size: 18px; }
	.ek-pcta__box.e-con { --padding-top: 32px; --padding-bottom: 32px; --padding-left: 20px; --padding-right: 20px; }
	.ek-pcta__btns.e-con { --flex-direction: column; --align-items: stretch; width: 100%; }
	.ek-pcta__btns .elementor-button { width: 100%; justify-content: center; }
}

/* =====================================================================
   « Pourquoi choisir le reconditionné ? » (design docs/design/Refurbished technology…, adapté)
   ===================================================================== */

/* En-tête avec visuel : texte à gauche, image à droite, fond bleu très clair */
.e-con.ek-phero--media {
	--padding-bottom: 0;
	--flex-direction: row;
	--align-items: center;
	--column-gap: 40px;
	position: relative;
	background:
		radial-gradient(55% 80% at 78% 45%, #d6e4ff 0%, rgba(214, 228, 255, 0) 70%),
		linear-gradient(180deg, #f8faff 0%, #edf2fc 100%);
	overflow: hidden;
}
/* Trame de points côté visuel (::before = voile Elementor) */
.e-con.ek-phero--media::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 55%;
	background-image: radial-gradient(rgba(7, 92, 245, .2) 1.2px, transparent 1.6px);
	background-size: 20px 20px;
	-webkit-mask-image: radial-gradient(60% 65% at 55% 45%, #000 0%, transparent 80%);
	mask-image: radial-gradient(60% 65% at 55% 45%, #000 0%, transparent 80%);
	pointer-events: none;
}
.ek-phero--media > .e-con-inner { position: relative; z-index: 1; }
.ek-phero--media .ek-phero__text.e-con { flex: 1 1 520px; max-width: 560px; --padding-bottom: 56px; }
.ek-phero__visual.e-con { flex: 1 1 520px; align-self: flex-end; position: relative; --padding-top: 24px; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; }
/* Halo blanc + cercle pointillé derrière les appareils */
.ek-phero__visual.e-con::after {
	content: "";
	position: absolute;
	top: 52%;
	left: 55%;
	width: min(82%, 500px);
	aspect-ratio: 1;
	border: 1.5px dashed rgba(7, 92, 245, .22);
	border-radius: 50%;
	background: radial-gradient(circle, #fff 0%, rgba(255, 255, 255, .85) 42%, rgba(255, 255, 255, 0) 70%);
	transform: translate(-50%, -50%);
	pointer-events: none;
}
.ek-phero__media.elementor-widget { position: relative; z-index: 1; }
.ek-phero__media img { display: block; width: 100%; height: auto; max-width: 640px; margin-left: auto; }

/* Pastille verte cochée (badge du visuel, colonne « Reconditionné » du comparatif) : coche découpée dans le carré */
.ek-phero__badge p::before,
.ek-compare td.is-hl::before {
	content: "";
	flex: none;
	background: var(--ek-green);
	-webkit-mask: var(--ek-i-check) center / 60% no-repeat, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: var(--ek-i-check) center / 60% no-repeat exclude, linear-gradient(#000 0 0);
}
.ek-phero__badge.elementor-widget { position: absolute; left: 2%; bottom: 16%; z-index: 2; width: auto; }
.ek-phero__badge p {
	display: grid;
	grid-template-columns: 38px auto;
	column-gap: 12px;
	align-items: center;
	margin: 0;
	padding: 10px 18px 10px 10px;
	border: 1px solid rgba(255, 255, 255, .8);
	border-radius: 16px;
	background: rgba(255, 255, 255, .92);
	box-shadow: var(--ek-shadow-lg);
	font-size: 12.5px;
	line-height: 1.3;
	color: var(--ek-muted);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.ek-phero__badge p::before { grid-row: span 2; width: 38px; height: 38px; border-radius: 12px; }
.ek-phero__badge strong { font-family: var(--ek-head); font-size: 14.5px; font-weight: 700; color: var(--ek-ink); }

/* Points de réassurance sous les boutons */
.ek-phero__trust.elementor-widget { margin-top: 10px; padding-top: 18px; border-top: 1px solid #d9e2f2; max-width: 520px; }
.ek-phero__trust .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.ek-phero__trust .elementor-icon-list-item { margin: 0; padding: 0; }
.ek-phero__trust .elementor-icon-list-item::after { display: none; }
.ek-phero__trust .elementor-icon-list-text { font-size: 14px; font-weight: 600; color: var(--ek-ink); }
.ek-phero__trust .elementor-icon-list-icon svg { width: 16px; height: 16px; fill: var(--ek-green); }
.ek-phero .ek-kicker .elementor-heading-title {
	padding: 5px 12px;
	border-radius: 999px;
	background: #dce8ff;
	font-size: 11.5px;
	letter-spacing: 1.2px;
	color: var(--ek-blue);
}
.ek-hl { color: var(--ek-blue); }
.ek-phero--media .ek-phero__lead p:first-child { font-size: 18px; color: var(--ek-ink); }
.ek-phero--media .ek-phero__lead p + p { margin-top: 10px; color: var(--ek-muted); }

/* ---------- En-tête sombre « premium » (remplace le fond bleu clair ci-dessus) ----------
   Modificateur .ek-phero--dark (Pourquoi choisir, Catalogue). Bleu nuit de l'accueil, projecteur bleu derrière les appareils, grille fine estompée,
   halo au sol, textes clairs, bouton secondaire et badge en verre dépoli. */
.e-con.ek-phero--dark {
	--padding-top: 56px;
	position: relative;
	overflow: hidden;
	border-bottom: 0;
	background:
		radial-gradient(42% 70% at 76% 46%, rgba(37, 110, 255, .5) 0%, rgba(37, 110, 255, 0) 70%),
		radial-gradient(30% 45% at 18% 0%, rgba(125, 211, 252, .14) 0%, rgba(125, 211, 252, 0) 70%),
		linear-gradient(160deg, #0a2457 0%, #051638 48%, #020b22 100%);
	color: rgba(255, 255, 255, .78);
}
.e-con.ek-phero--dark::after {
	content: "";
	position: absolute;
	inset: 0;
	width: auto;
	pointer-events: none;
	background-image:
		linear-gradient(rgba(255, 255, 255, .055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px);
	background-size: 56px 56px;
	-webkit-mask-image: radial-gradient(55% 75% at 72% 40%, #000 0%, transparent 85%);
	mask-image: radial-gradient(55% 75% at 72% 40%, #000 0%, transparent 85%);
}
.ek-phero--dark > .e-con-inner { position: relative; z-index: 1; }
/* Filet lumineux en bas de l'en-tête */
.ek-phero--dark > .e-con-inner::after {
	content: "";
	position: absolute;
	left: 10%;
	right: 10%;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(125, 211, 252, .55), transparent);
}
.ek-phero--dark .ek-crumbs .rank-math-breadcrumb p,
.ek-phero--dark .ek-crumbs .rank-math-breadcrumb a { color: rgba(255, 255, 255, .55); }
.ek-phero--dark .ek-crumbs .rank-math-breadcrumb a:hover { color: #fff; }
.ek-phero--dark .ek-crumbs .rank-math-breadcrumb .separator { color: rgba(255, 255, 255, .25); }
.ek-phero--dark .ek-kicker .elementor-heading-title {
	border: 1px solid rgba(125, 211, 252, .35);
	background: rgba(125, 211, 252, .08);
	color: #9fdcff;
}
.ek-phero--dark h1.elementor-heading-title { font-size: clamp(34px, 3.9vw, 54px); letter-spacing: -1.4px; color: #fff; }
.ek-phero--dark .ek-hl {
	background: linear-gradient(90deg, #7dd3fc 0%, #5b9dff 55%, #a5b4fc 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.ek-phero--dark .ek-phero__lead p:first-child { color: #fff; }
.ek-phero--dark .ek-phero__lead p + p { color: rgba(255, 255, 255, .62); }
.ek-phero--dark .ek-btn .elementor-button { box-shadow: 0 5px 15px -9px rgba(37, 110, 255, .9); }
.ek-phero--dark .ek-btn--ghost .elementor-button {
	background: rgba(255, 255, 255, .06);
	color: #fff;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .28);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
.ek-phero--dark .ek-btn--ghost .elementor-button:hover,
.ek-phero--dark .ek-btn--ghost .elementor-button:focus-visible { background: rgba(255, 255, 255, .12); color: #fff; box-shadow: inset 0 0 0 1px #fff; }
.ek-phero--dark .ek-phero__trust.elementor-widget { border-top-color: rgba(255, 255, 255, .12); }
.ek-phero--dark .ek-phero__trust .elementor-icon-list-text { color: rgba(255, 255, 255, .85); }
.ek-phero--dark .ek-phero__trust .elementor-icon-list-icon svg { fill: #34d399; }
/* Halo au sol sous les appareils (remplace le cercle pointillé) */
.ek-phero--dark .ek-phero__visual.e-con::after {
	top: auto;
	bottom: 2%;
	width: 86%;
	height: 70px;
	aspect-ratio: auto;
	border: 0;
	background: radial-gradient(50% 50% at 50% 50%, rgba(91, 157, 255, .55) 0%, rgba(91, 157, 255, 0) 100%);
	filter: blur(6px);
	transform: translateX(-50%);
}
/* Calé sur le bord droit du contenu (Elementor centrait l'image dans sa colonne) */
.ek-phero--dark .ek-phero__media.elementor-widget-image { text-align: right; }
.ek-phero--dark .ek-phero__media img { max-width: 680px; margin: 0 0 0 auto; filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .45)); }
@media (max-width: 767px) {
	.ek-phero--dark .ek-phero__media.elementor-widget-image { text-align: center; }
	.ek-phero--dark .ek-phero__media img { max-width: 340px; margin: 0 auto; }
}
.ek-phero--dark .ek-phero__badge p {
	border-color: rgba(255, 255, 255, .16);
	background: rgba(10, 30, 72, .62);
	box-shadow: 0 20px 40px -18px rgba(0, 0, 0, .6);
	color: rgba(255, 255, 255, .62);
}
.ek-phero--dark .ek-phero__badge p::before { background: #10b981; }
.ek-phero--dark .ek-phero__badge strong { color: #fff; }

/* En-tête sombre – mobile : textes et espacements resserrés (≈ 840 → 690 px de haut à 375 px) */
@media (max-width: 767px) {
	.e-con.ek-phero--dark { --padding-top: 28px; }
	.ek-phero--dark .ek-phero__text.e-con { --row-gap: 12px; }
	.ek-phero--dark .ek-kicker .elementor-heading-title { padding: 4px 10px; font-size: 10.5px; letter-spacing: 1px; }
	.ek-phero--dark h1.elementor-heading-title { font-size: 30px; letter-spacing: -.9px; line-height: 1.1; }
	.ek-phero--dark .ek-phero__lead p:first-child { font-size: 15.5px; line-height: 1.45; }
	.ek-phero--dark .ek-phero__lead p + p { margin-top: 6px; font-size: 14px; line-height: 1.55; }
	.ek-phero--dark .ek-phero__ctas.e-con { --row-gap: 10px; margin-top: 2px; }
	.ek-phero--dark .ek-btn .elementor-button { min-height: 46px; padding: 11px 20px; font-size: 14.5px; }
	.ek-phero--dark .ek-phero__trust.elementor-widget { margin-top: 4px; padding-top: 14px; }
	.ek-phero--dark .ek-phero__trust .elementor-icon-list-items { gap: 6px 14px; }
	.ek-phero--dark .ek-phero__trust .elementor-icon-list-text { font-size: 13px; }
	.ek-phero--dark .ek-phero__trust .elementor-icon-list-icon svg { width: 14px; height: 14px; }
	/* Visuel : plus de marge au-dessus (le haut de l'image est déjà transparent), badge masqué (redit « Testés… ») */
	.ek-phero--dark .ek-phero__visual.e-con { --padding-top: 0px; margin-top: -12px; }
	.ek-phero--dark .ek-phero__media img { max-width: 320px; }
	.ek-phero--dark .ek-phero__badge.elementor-widget { display: none; }
}

/* =====================================================================
   « Pourquoi choisir » – finition premium
   Bandes pleine largeur : en-tête sombre → teinté → blanc → teinté → SOMBRE (Tout savoir) → blanc → teinté → blanc.
   « Tout savoir / Aller plus loin » (.ek-subnav) est une bande sombre sur toutes les pages reconditionné.
   ===================================================================== */
.e-con.ek-reasons,
.e-con.ek-story,
.e-con.ek-compare-sec,
.e-con.ek-subnav,
.e-con.ek-refurb-products,
.e-con.ek-faqx,
.e-con.ek-pcta--media { --padding-top: calc(var(--ek-band) + 16px); --padding-bottom: calc(var(--ek-band) + 16px); }
.e-con.ek-story,
.e-con.ek-refurb-products,
.e-con.ek-pcta--media { background: #fff; }
.e-con.ek-reasons,
.e-con.ek-compare-sec,
.e-con.ek-faqx {
	background: linear-gradient(180deg, #f3f6fd 0%, #edf2fb 100%);
	box-shadow: inset 0 1px 0 #e3e9f4, inset 0 -1px 0 #e3e9f4;
}
/* Ombre douce commune aux cartes (pas de bordure) */
:is(.ek-reasons, .ek-compare-sec, .ek-faqx, .ek-refurb-products) { --ek-lux-shadow: 0 1px 2px rgba(11, 20, 48, .04), 0 12px 28px -22px rgba(11, 20, 48, .16); }

/* Titres de section : même taille et même graisse partout (double classe .e-con : passe devant
   les règles propres à « Déjà utilisé » / FAQ placées plus bas) */
.e-con:is(.ek-reasons, .ek-compare-sec, .ek-refurb-products, .ek-story, .ek-faqx) h2.elementor-heading-title,
.e-con.ek-subnav h2.elementor-heading-title { font-size: clamp(26px, 2.7vw, 40px); font-weight: 800; letter-spacing: -1px; line-height: 1.1; }
.ek-pcta--media .ek-pcta__box h2.elementor-heading-title,
.ek-pcta:not(.ek-pcta--media) .ek-pcta__box h2.elementor-heading-title { font-size: clamp(24px, 2.4vw, 34px); font-weight: 800; letter-spacing: -.8px; line-height: 1.12; }
:is(.ek-reasons, .ek-compare-sec, .ek-subnav, .ek-refurb-products) .ek-head .ek-sub p { font-size: 16px; }

/* Icônes : carré dégradé bleu nuit → bleu, pictogramme blanc */
:is(.ek-reasons, .ek-subnav) .elementor-icon {
	background: linear-gradient(145deg, #2b74ff 0%, #0a3dbd 100%);
	box-shadow: 0 6px 14px -8px rgba(7, 92, 245, .5), inset 0 1px 0 rgba(255, 255, 255, .25);
	color: #fff;
}

/* Trois raisons : cartes sans bordure, numéro géant en filigrane */
.ek-reasons .ek-cards { counter-reset: ek-reason; }
.ek-reasons .elementor-widget-icon-box { counter-increment: ek-reason; }
.e-con.ek-reasons .elementor-widget-icon-box .elementor-icon-box-wrapper {
	position: relative;
	overflow: hidden;
	padding: 34px 30px 30px;
	border: 0;
	border-radius: 22px;
	background: #fff;
	box-shadow: var(--ek-lux-shadow);
	transition: transform .25s, box-shadow .25s;
}
.ek-reasons .elementor-icon-box-wrapper::after {
	content: counter(ek-reason, decimal-leading-zero);
	position: absolute;
	top: 14px;
	right: 22px;
	font-family: var(--ek-head);
	font-size: 64px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -2px;
	color: rgba(7, 92, 245, .07);
}
.e-con.ek-reasons .elementor-icon { width: 54px; height: 54px; border-radius: 16px; }
.e-con.ek-reasons .elementor-icon svg { width: 22px; height: 22px; }
.e-con.ek-reasons .elementor-icon-box-title { font-size: 19px; letter-spacing: -.3px; }
.e-con.ek-reasons .elementor-icon-box-description { font-size: 15px; line-height: 1.65; }
@media (hover: hover) {
	.ek-reasons .elementor-icon-box-wrapper:hover { transform: translateY(-4px); box-shadow: 0 1px 2px rgba(11, 20, 48, .04), 0 20px 36px -26px rgba(7, 60, 180, .24); }
}

/* Déjà utilisé : visuel en relief, liste dans un panneau */
.ek-story__img img { border-radius: 24px; }
.ek-story__media.e-con { --row-gap: 16px; }
.e-con.ek-story .ek-story__checks { padding: 18px 20px; border-radius: 16px; background: #f4f7fd; }

/* Comparatif : carte flottante */
.e-con.ek-compare-sec .ek-compare { border-color: transparent; border-radius: 22px; box-shadow: 0 0 0 1px #e3e9f4, 0 18px 36px -30px rgba(11, 20, 48, .16); }
.ek-compare-sec .ek-compare thead .is-hl { background: linear-gradient(160deg, #2b74ff 0%, #0a3dbd 100%); }

/* Tout savoir : bande sombre, cartes en verre */
.e-con.ek-subnav {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(40% 80% at 85% 0%, rgba(37, 110, 255, .35) 0%, rgba(37, 110, 255, 0) 70%),
		linear-gradient(160deg, #0a2457 0%, #051638 55%, #020b22 100%);
}
.ek-subnav .ek-head h2.elementor-heading-title { color: #fff; }
.ek-subnav .ek-kicker .elementor-heading-title { color: #7dd3fc; }
.ek-subnav .ek-head .ek-sub p { color: rgba(255, 255, 255, .62); }
.ek-subnav .ek-subnav__item.e-con {
	--padding-top: 26px;
	--padding-bottom: 26px;
	--padding-left: 24px;
	--padding-right: 24px;
	border-color: rgba(255, 255, 255, .1);
	border-radius: 20px;
	background: linear-gradient(180deg, rgba(255, 255, 255, .07) 0%, rgba(255, 255, 255, .03) 100%);
}
.ek-subnav .ek-subnav__icon .elementor-icon { width: 46px; height: 46px; margin-bottom: 10px; border-radius: 14px; }
.ek-subnav .ek-subnav__item h3.elementor-heading-title { font-size: 17.5px; color: #fff; }
.ek-subnav .ek-subnav__item h3.elementor-heading-title::after { color: #7dd3fc; }
.ek-subnav .ek-subnav__item p { color: rgba(255, 255, 255, .6); }
@media (hover: hover) {
	.ek-subnav .ek-subnav__item.e-con:hover { border-color: rgba(125, 211, 252, .45); background: rgba(255, 255, 255, .09); box-shadow: 0 16px 30px -24px rgba(0, 0, 0, .45); }
}

/* =====================================================================
   Pages détaillées reconditionné (Grades, Produits testés, Contrôle qualité, Garantie)
   et composants communs des pages : bandes, titres, cartes, étapes, grades, garantie.
   ===================================================================== */
.e-con.ek-band-tint,
.e-con.ek-band-white,
.e-con.ek-pcta:not(.ek-pcta--media),
.e-con.ek-subnav { --padding-top: calc(var(--ek-band) + 16px); --padding-bottom: calc(var(--ek-band) + 16px); margin-top: 0; }
.e-con.ek-band-tint {
	background: linear-gradient(180deg, #f3f6fd 0%, #edf2fb 100%);
	box-shadow: inset 0 1px 0 #e3e9f4, inset 0 -1px 0 #e3e9f4;
}
.e-con.ek-band-white { background: #fff; }

/* Titres de section identiques sur toutes les pages de contenu */
.ek-sec:not(.ek-phero) .ek-head h2.elementor-heading-title { font-size: clamp(26px, 2.7vw, 40px); font-weight: 800; letter-spacing: -1px; line-height: 1.1; }
.ek-sec:not(.ek-phero) .ek-head .ek-sub p { font-size: 16px; }

/* Ombre douce commune (remplace les bordures) */
:is(.ek-cards .elementor-icon-box-wrapper, .ek-step.e-con, .ek-grade.e-con, .ek-warranty__main.e-con) {
	border-color: transparent;
	border-radius: 20px;
	box-shadow: 0 0 0 1px #e8edf6, 0 12px 28px -22px rgba(11, 20, 48, .16);
}
/* Icônes des cartes : carré dégradé, pictogramme blanc */
.ek-cards .elementor-icon {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: linear-gradient(145deg, #2b74ff 0%, #0a3dbd 100%);
	box-shadow: 0 6px 14px -8px rgba(7, 92, 245, .5), inset 0 1px 0 rgba(255, 255, 255, .25);
	color: #fff;
}
.ek-cards .elementor-icon svg { width: 20px; height: 20px; }
.ek-cards .elementor-icon-box-wrapper { padding: 26px; }
.ek-cards .elementor-icon-box-title { font-size: 17.5px; font-weight: 800; letter-spacing: -.2px; }

/* Étapes : numéro en dégradé */
.ek-step.e-con { --padding-top: 26px; --padding-bottom: 26px; --padding-left: 26px; --padding-right: 26px; }
.ek-step__n .elementor-heading-title {
	font-size: 36px;
	letter-spacing: -1px;
	background: linear-gradient(135deg, #2b74ff 0%, #7dd3fc 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.ek-step h3.elementor-heading-title { font-size: 18px; font-weight: 800; letter-spacing: -.2px; }

/* Grades : filet de couleur en haut porté par l'ombre (la bordure supérieure suivait mal l'arrondi) */
.ek-grade.e-con {
	--padding-top: 30px;
	--padding-bottom: 28px;
	--padding-left: 28px;
	--padding-right: 28px;
	border-top: 0;
	box-shadow: inset 0 4px 0 var(--ek-grade), 0 0 0 1px #e8edf6, 0 12px 28px -22px rgba(11, 20, 48, .16);
}
.ek-grade h3.elementor-heading-title { font-size: 22px; font-weight: 800; letter-spacing: -.3px; }

/* Garantie : badge rond en dégradé, titre 800 */
.ek-warranty__main.e-con { --padding-top: 36px; --padding-bottom: 36px; --padding-left: 36px; --padding-right: 36px; border-width: 0; }
.ek-warranty__badge .elementor-heading-title {
	background: linear-gradient(145deg, #2b74ff 0%, #0a3dbd 100%);
	box-shadow: 0 14px 30px -14px rgba(7, 92, 245, .6), inset 0 1px 0 rgba(255, 255, 255, .25);
}
.ek-warranty__body h2.elementor-heading-title { font-size: clamp(24px, 2.2vw, 32px); font-weight: 800; letter-spacing: -.6px; }

/* Aller plus loin : page courante mise en évidence dans la bande sombre */
.ek-subnav .ek-subnav__item.is-current { border-color: rgba(125, 211, 252, .55); background: rgba(125, 211, 252, .12); }

@media (max-width: 767px) {
	.ek-cards .elementor-icon-box-wrapper { padding: 20px; }
	.ek-step.e-con { --padding-top: 20px; --padding-bottom: 20px; --padding-left: 20px; --padding-right: 20px; }
	.ek-warranty__main.e-con { --padding-top: 24px; --padding-bottom: 24px; --padding-left: 20px; --padding-right: 20px; }
}

/* Sélection : cartes produit sans bordure */
.ek-refurb-products .ek-pcard.e-con { border-color: transparent; border-radius: 18px; box-shadow: 0 0 0 1px #e9eef6, 0 10px 22px -20px rgba(11, 20, 48, .14); }

/* FAQ : questions en cartes ombrées */
.ek-faqx .ek-acc .e-n-accordion-item { border-color: transparent; box-shadow: var(--ek-lux-shadow); }
.ek-faqx .ek-acc .e-n-accordion-item[open] { border-color: #c7d8fd; }

/* CTA : relief */
.ek-pcta--media .ek-pcta__box.e-con { border-radius: 26px; box-shadow: 0 24px 44px -36px rgba(2, 11, 34, .4); }

/* Titres de section centrés */
.ek-center .e-con.ek-head { --justify-content: center; text-align: center; }
.ek-center .ek-head__text.e-con { --align-items: center; flex-basis: 100%; }

/* Cartes : icône au-dessus du texte */
.e-con.ek-cards--stack .elementor-widget-icon-box .elementor-icon-box-wrapper { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 26px; text-align: left; }
.ek-cards--stack .elementor-icon-box-icon { margin: 0; }
.ek-cards--stack .elementor-icon-box-title { font-size: 17.5px; }

/* Lien texte « … → » */
/* Le lien hérite de la couleur du titre (Elementor : « > a { color: inherit } ») */
.ek-textlink .elementor-heading-title { margin: 0; font-size: 15px; font-weight: 600; color: var(--ek-blue); }
.ek-textlink .elementor-heading-title a { text-decoration: none; }
.ek-textlink .elementor-heading-title a:hover { text-decoration: underline; }

/* Déjà utilisé */
.ek-story__grid.e-con { align-items: center; }
.ek-story__text.e-con { --row-gap: 14px; }
.ek-story h2.elementor-heading-title { margin: 0; font-family: var(--ek-head); font-size: clamp(24px, 2.4vw, 34px); font-weight: 700; letter-spacing: -.5px; line-height: 1.15; color: var(--ek-ink); }
.ek-story__p p { margin: 0; font-size: 16px; line-height: 1.65; color: var(--ek-text); max-width: 460px; }
.ek-story__media.e-con { --row-gap: 14px; }
.ek-story__img img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--ek-radius); }
.ek-story__cap .elementor-heading-title { margin: 4px 0 0; font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--ek-muted); }
.ek-story__checks .elementor-icon-list-items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 16px; }
.ek-story__checks .elementor-icon-list-item { padding: 0; }
.ek-story__checks .elementor-icon-list-text { font-size: 13.5px; font-weight: 600; color: var(--ek-ink); }
.ek-story__checks .elementor-icon-list-icon svg { width: 15px; height: 15px; fill: var(--ek-green); }

/* Tableau comparatif : colonne « Reconditionné » mise en avant (cadre bleu, coches) ; cartes empilées ≤ 767 px */
.ek-compare { overflow-x: auto; border: 1px solid var(--ek-line); border-radius: 18px; background: #fff; box-shadow: var(--ek-shadow); -webkit-overflow-scrolling: touch; }
.ek-compare table { width: 100%; min-width: 760px; margin: 0; border: 0; border-collapse: separate; border-spacing: 0; table-layout: fixed; font-size: 15px; line-height: 1.5; }
.ek-compare th,
.ek-compare td { padding: 18px 24px; border: 0; border-bottom: 1px solid var(--ek-line); background: transparent; text-align: left; vertical-align: middle; color: var(--ek-muted); }
.ek-compare tr:last-child th,
.ek-compare tr:last-child td { border-bottom: 0; }
.ek-compare thead th { padding-top: 24px; padding-bottom: 20px; vertical-align: bottom; font-family: var(--ek-head); font-size: 18px; font-weight: 800; letter-spacing: -.2px; color: var(--ek-ink); }
.ek-compare thead th:first-child { width: 22%; }
.ek-compare tbody th { font-size: 14.5px; font-weight: 700; color: var(--ek-ink); background: #fafbfe; }
.ek-compare tbody tr:hover th,
.ek-compare tbody tr:hover td:not(.is-hl) { background: #f6f8fc; }
.ek-compare .is-hl { position: relative; background: #f2f6ff; box-shadow: inset 2px 0 0 var(--ek-blue), inset -2px 0 0 var(--ek-blue); color: var(--ek-ink); font-weight: 600; }
.ek-compare tbody tr:last-child .is-hl { box-shadow: inset 2px 0 0 var(--ek-blue), inset -2px 0 0 var(--ek-blue), inset 0 -2px 0 var(--ek-blue); }
.ek-compare thead .is-hl { background: linear-gradient(160deg, #3b82ff 0%, var(--ek-blue) 70%); box-shadow: none; color: #fff; }
/* Étiquette à cheval sur le bord supérieur de la colonne (hors flux : n'agrandit pas la ligne d'en-tête).
   Le cadre .ek-compare doit laisser déborder (overflow visible ≥ 768 px ; cartes en dessous). */
.ek-compare__tag {
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 2;
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--ek-navy);
	box-shadow: 0 0 0 3px #fff;
	font-family: var(--ek-body);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 1px;
	line-height: 1.2;
	white-space: nowrap;
	text-transform: uppercase;
	color: #fff;
	transform: translate(-50%, -50%);
}
@media (min-width: 768px) {
	.ek-compare { overflow: visible; }
	.ek-compare thead .is-hl { border-radius: 14px 14px 0 0; }
	/* Coins arrondis portés par les cellules (le cadre ne rogne plus) */
	.ek-compare thead th:first-child { border-top-left-radius: inherit; }
	.ek-compare thead th:last-child { border-top-right-radius: inherit; }
	.ek-compare tbody tr:last-child th { border-bottom-left-radius: 22px; }
	.ek-compare tbody tr:last-child td:last-child { border-bottom-right-radius: 22px; }
}
.ek-compare td.is-hl { padding-left: 54px; }
.ek-compare td.is-hl::before { position: absolute; top: 50%; left: 22px; width: 20px; height: 20px; border-radius: 50%; transform: translateY(-50%); }

/* FAQ : intro + accordéon imbriqué Elementor (variables --n-accordion-*) */
.ek-faqx__grid.e-con { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; }
.ek-faqx__intro.e-con { --row-gap: 14px; position: sticky; top: 100px; }
.ek-faqx h2.elementor-heading-title { margin: 0; font-family: var(--ek-head); font-size: clamp(24px, 2.4vw, 34px); font-weight: 700; letter-spacing: -.5px; line-height: 1.15; color: var(--ek-ink); }
.ek-faqx__p p { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--ek-text); }
/* Double classe : les variables par défaut d'Elementor (.elementor-widget-n-accordion) sont chargées après ce fichier */
.elementor-widget-n-accordion.ek-acc {
	--n-accordion-border-width: 0px;
	--n-accordion-border-radius: 0px;
	--n-accordion-padding: 20px 20px 20px 24px;
	--n-accordion-item-title-space-between: 12px;
	--n-accordion-item-title-distance-from-content: 0px;
	--n-accordion-title-font-size: 16.5px;
	--n-accordion-title-icon-order: 1;
	--n-accordion-icon-gap: 0 16px;
	--n-accordion-title-normal-color: var(--ek-ink);
	--n-accordion-title-hover-color: var(--ek-blue);
	--n-accordion-title-active-color: var(--ek-ink);
	--n-accordion-icon-size: 12px;
	--n-accordion-icon-normal-color: var(--ek-blue);
	--n-accordion-icon-hover-color: var(--ek-blue);
	--n-accordion-icon-active-color: #fff;
}
/* Espacement, taille du titre et pastille en propriétés directes : le CSS généré par Elementor (post-*.css)
   redéfinit ces variables sur l'élément (espacement 0, taille « 1,75rem » invalide) */
.ek-acc.elementor-widget-n-accordion .e-n-accordion-item:not(:last-child) { margin-block-end: 12px; }
.ek-acc.elementor-widget-n-accordion .e-n-accordion-item-title-text { font-size: 16.5px; }
.ek-acc.elementor-widget-n-accordion .e-n-accordion-item-title-icon { width: 34px; }
.ek-acc .e-n-accordion-item { overflow: hidden; border: 1px solid var(--ek-line); border-radius: 16px; background: #fff; transition: border-color .2s, box-shadow .2s; }
.ek-acc .e-n-accordion-item:not([open]):hover { border-color: #c7d6f3; }
.ek-acc .e-n-accordion-item[open] { border-color: #bcd0fb; box-shadow: 0 12px 24px -22px rgba(7, 92, 245, .28); }
.ek-acc .e-n-accordion-item-title:focus-visible { outline: 2px solid var(--ek-blue); outline-offset: -2px; border-radius: 16px; }
.ek-acc .e-n-accordion-item-title-header { flex: 1 1 auto; }
.ek-acc .e-n-accordion-item-title-text { font-family: var(--ek-head); font-weight: 700; line-height: 1.4; }
.ek-acc .e-n-accordion-item-title-icon { flex: none; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: var(--ek-surface-blue); transition: background-color .2s; }
.ek-acc .e-n-accordion-item[open] .e-n-accordion-item-title-icon { background: var(--ek-blue); }
.ek-acc .ek-acc__body.e-con { --padding-top: 0; --padding-bottom: 22px; --padding-left: 24px; --padding-right: 70px; border: 0; }
.ek-acc .ek-acc__body p { margin: 0; font-size: 15px; line-height: 1.7; color: var(--ek-text); }
.ek-acc .ek-acc__body a { font-weight: 600; color: var(--ek-blue); }

/* Appel à l'action avec visuel */
.ek-pcta--media .ek-pcta__box.e-con {
	--align-items: flex-start;
	--justify-content: center;
	--padding-top: 56px;
	--padding-bottom: 56px;
	--padding-left: 48px;
	--padding-right: 48px;
	position: relative;
	min-height: 340px;
	overflow: hidden;
	text-align: left;
}
/* Image de fond définie dans Elementor (Style → Arrière-plan) ; voile pour la lisibilité du texte à gauche */
.ek-pcta--media .ek-pcta__box.e-con::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(7, 22, 72, .92) 0%, rgba(7, 22, 72, .6) 38%, rgba(7, 22, 72, 0) 62%);
	pointer-events: none;
}
.ek-pcta__text.e-con { --row-gap: 12px; position: relative; z-index: 1; max-width: 520px; }
.ek-pcta--media .ek-pcta__btns.e-con { --justify-content: flex-start; }
.ek-pcta--media .ek-kicker .elementor-heading-title { color: #7dd3fc; }

@media (max-width: 1024px) {
	.e-con.ek-phero--media { --column-gap: 24px; }
	.ek-story__checks .elementor-icon-list-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ek-faqx__grid.e-con { grid-template-columns: 1fr; }
	.ek-faqx__intro.e-con { position: static; }
	/* Comparatif tablette : tient dans la largeur, sans défilement horizontal */
	.ek-compare table { min-width: 0; font-size: 14px; }
	.ek-compare th,
	.ek-compare td { padding: 14px 16px; }
	.ek-compare thead th { font-size: 16px; }
	.ek-compare thead th:first-child { width: 20%; }
	.ek-compare td.is-hl { padding-left: 44px; }
	.ek-compare td.is-hl::before { left: 16px; }
	/* CTA : texte sur aplat marine, bannière (3,1:1) calée en bas (taille/position : réglages tablette/mobile Elementor).
	   32,3cqw = hauteur de l'image à 100 % de largeur ; le voile s'arrête avant le haut de l'écran de l'ordinateur. */
	.ek-pcta--media .ek-pcta__box.e-con { --padding-top: 40px; --padding-bottom: 27%; --padding-left: 36px; --padding-right: 36px; min-height: 0; container-type: inline-size; }
	.ek-pcta--media .ek-pcta__box.e-con::after { background: linear-gradient(180deg, #001555 calc(100% - 32.3cqw), rgba(0, 21, 85, 0) calc(100% - 27cqw)); }
}
@media (max-width: 767px) {
	/* Colonne : flex-basis 520px deviendrait une hauteur (grand vide sous les boutons) */
	.e-con.ek-phero--media { --flex-direction: column; --align-items: stretch; --row-gap: 0px; }
	.e-con.ek-phero--media::after { top: auto; width: 100%; height: 50%; }
	.ek-phero--media .ek-phero__text.e-con,
	.ek-phero__visual.e-con { flex: 0 0 auto; }
	.ek-phero--media .ek-phero__text.e-con { --padding-bottom: 8px; }
	.ek-phero__trust .elementor-icon-list-items { gap: 8px 16px; }
	.ek-phero__trust .elementor-icon-list-text { font-size: 13.5px; }
	.ek-phero__media img { max-width: 340px; margin: 0 auto; }
	.ek-phero__badge.elementor-widget { left: 0; bottom: 8%; }
	.ek-phero__badge p { grid-template-columns: 32px auto; column-gap: 10px; padding: 8px 14px 8px 8px; font-size: 11.5px; }
	.ek-phero__badge p::before { width: 32px; height: 32px; border-radius: 10px; }
	.ek-phero__badge strong { font-size: 13px; }
	.elementor-widget-n-accordion.ek-acc { --n-accordion-padding: 16px 14px 16px 18px; --n-accordion-title-font-size: 15.5px; --n-accordion-icon-gap: 0 12px; --n-accordion-item-title-space-between: 10px; }
	.ek-acc.elementor-widget-n-accordion .e-n-accordion-item:not(:last-child) { margin-block-end: 10px; }
	.ek-acc.elementor-widget-n-accordion .e-n-accordion-item-title-text { font-size: 15.5px; }
	.ek-acc.elementor-widget-n-accordion .e-n-accordion-item-title-icon { width: 30px; height: 30px; }
	.ek-acc .ek-acc__body.e-con { --padding-bottom: 18px; --padding-left: 18px; --padding-right: 18px; }
	.e-con.ek-cards--stack .elementor-widget-icon-box .elementor-icon-box-wrapper { padding: 20px; gap: 12px; }
	/* Image à 200 % : on garde la moitié droite (ordinateur + smartphones), hauteur 64,6cqw */
	.ek-pcta--media .ek-pcta__box.e-con { --padding-top: 32px; --padding-bottom: 54%; --padding-left: 20px; --padding-right: 20px; }
	.ek-pcta--media .ek-pcta__box.e-con::after { background: linear-gradient(180deg, #001555 calc(100% - 64.6cqw), rgba(0, 21, 85, 0) calc(100% - 55cqw)); }
	/* Comparatif : une carte par critère, intitulé de colonne via data-label (en-tête masqué visuellement) */
	.ek-compare { overflow: visible; border: 0; border-radius: 0; background: none; box-shadow: none; }
	.ek-compare table { display: block; min-width: 0; font-size: 14px; }
	.ek-compare thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.ek-compare tbody { display: grid; gap: 12px; }
	.ek-compare tbody tr { display: block; overflow: hidden; border: 1px solid var(--ek-line); border-radius: 14px; background: #fff; box-shadow: var(--ek-shadow); }
	.ek-compare tbody th,
	.ek-compare tbody tr:hover th { display: block; padding: 14px 16px 12px; border: 0; background: #fff; font-family: var(--ek-head); font-size: 16px; }
	.ek-compare td,
	.ek-compare tr:last-child td { display: grid; grid-template-columns: 112px minmax(0, 1fr); column-gap: 12px; align-items: baseline; padding: 11px 16px; border: 0; border-top: 1px solid var(--ek-line); }
	.ek-compare td::before { content: attr(data-label); font-size: 11.5px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: var(--ek-muted); }
	.ek-compare td.is-hl,
	.ek-compare tbody tr:last-child .is-hl { padding-left: 16px; border-top-color: #cfdcfa; background: #f2f6ff; box-shadow: inset 3px 0 0 var(--ek-blue); }
	.ek-compare td.is-hl::before { content: attr(data-label); position: static; width: auto; height: auto; border-radius: 0; background: none; -webkit-mask: none; mask: none; transform: none; color: var(--ek-blue); }
}
