/* NRG Santé, direction « Vitalité Pulse ».
   Couleurs et typographie : theme.json. Ce fichier ne porte que la mise en forme des sections du thème. */

:root {
	--nrg-emeraude: var(--wp--preset--color--emeraude, #0A7D64);
	--nrg-encre: var(--wp--preset--color--encre, #072B31);
	--nrg-menthe: var(--wp--preset--color--menthe-vive, #3DDC97);
	--nrg-soleil: var(--wp--preset--color--soleil, #FFC94D);
	--nrg-menthe-douce: var(--wp--preset--color--menthe-douce, #E3FAF0);
	--nrg-texte-doux: var(--wp--preset--color--texte-doux, #2C4650);
	--nrg-brume: var(--wp--preset--color--brume, #A9C4C8);
	--nrg-ligne: var(--wp--preset--color--ligne, #D7E8E1);
	--nrg-section-y: clamp(3rem, 7vw, 5rem);
}

:where(a, button, summary, input, select):focus-visible {
	outline: 3px solid var(--nrg-soleil);
	outline-offset: 2px;
}

/* En-tête, contenu et pied de page se touchent ; les sections pleine largeur s'enchaînent sans espace blanc. */
.wp-site-blocks > * + * { margin-block-start: 0; }
.nrg-sections > * { margin-block-start: 0; margin-block-end: 0; }
.nrg-main { padding-block: clamp(2rem, 5vw, 3.5rem) var(--nrg-section-y); }
.nrg-hero-cols { gap: clamp(1.5rem, 4vw, 3rem); }

/* ---------- En-tête et pied de page ---------- */
.nrg-header { padding-block: 0.9rem; border-bottom: 1px solid #EAF3EF; background: #fff; }
.nrg-logo { display: inline-flex; line-height: 0; }
.nrg-logo img { height: 42px; width: auto; }
.nrg-footer { background: var(--nrg-encre); color: #fff; padding-block: 3rem; }
.nrg-footer a { color: #fff; }
.nrg-footer .wp-block-navigation a { text-decoration: underline; text-underline-offset: 3px; }
.nrg-pied-grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr)); gap: 2rem 1.5rem; margin-block: 2rem 0; padding-block: 2rem; border-block: 1px solid rgba(255, 255, 255, 0.14); }
.nrg-pied-titre { margin: 0 0 0.8rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nrg-menthe); }
.nrg-pied-liens { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.55rem; font-size: 0.95rem; line-height: 1.45; }
.nrg-pied-liens a, .nrg-pied-bas a { text-decoration: none; }
.nrg-pied-liens a:hover, .nrg-pied-liens a:focus-visible, .nrg-pied-bas a:hover, .nrg-pied-bas a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.nrg-pied-bas { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; margin-block: 1rem 0; font-size: var(--wp--preset--font-size--small); }
.nrg-footer .nrg-logo img { height: 36px; }
.nrg-legal { color: var(--nrg-brume); font-size: var(--wp--preset--font-size--small); }
.nrg-contact { margin-block: 1.5rem 0; font-size: var(--wp--preset--font-size--small); }
.nrg-contact a { font-weight: 800; font-size: 1.125rem; text-decoration: none; white-space: nowrap; }
.nrg-contact a:hover, .nrg-contact a:focus-visible { text-decoration: underline; }

/* ---------- Éléments communs ---------- */
.nrg-badge {
	display: inline-flex; align-items: center; gap: 0.5rem; width: fit-content;
	padding: 0.35rem 0.95rem; border-radius: 999px;
	background: var(--nrg-encre); color: #fff; font-weight: 700; font-size: 0.9rem;
}
.nrg-badge::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--nrg-menthe); }
.nrg-eyebrow {
	color: var(--nrg-emeraude); font-weight: 800; font-size: 0.85rem;
	letter-spacing: 0.08em; text-transform: uppercase;
}
.nrg-lead { font-size: var(--wp--preset--font-size--large); color: var(--nrg-texte-doux); max-width: 36em; }

/* Bouton avec flèche dans un rond soleil */
.wp-block-button.is-style-nrg-fleche .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: space-between; gap: 0.8rem;
	padding-right: 0.45em;
}
.wp-block-button.is-style-nrg-fleche .wp-block-button__link::after {
	content: "→"; display: inline-grid; place-items: center; flex: none;
	width: 2.4em; height: 2.4em; border-radius: 50%;
	background: var(--nrg-soleil); color: var(--nrg-encre); font-size: 0.95em;
}
.wp-block-button.is-style-nrg-contour .wp-block-button__link {
	background: transparent; color: var(--nrg-encre); border: 2px solid var(--nrg-encre);
}
.wp-block-button.is-style-nrg-contour .wp-block-button__link:hover { background: var(--nrg-encre); color: #fff; }

/* ---------- Haut de page comparateur ---------- */
.nrg-hero {
	position: relative; overflow: hidden; background: var(--nrg-menthe-douce);
	padding-block: clamp(2.5rem, 6vw, 4rem) var(--nrg-section-y);
}
.nrg-hero::before {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0.75rem; height: 150px; pointer-events: none;
	background: no-repeat center / 100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 200' preserveAspectRatio='none'%3E%3Cpath d='M0 120 H330 L362 70 L396 176 L432 30 L466 140 L488 120 H1200' fill='none' stroke='%233DDC97' stroke-width='5' stroke-linecap='round' stroke-linejoin='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}
.nrg-hero > * { position: relative; z-index: 1; }
.nrg-hero h1 mark { border-radius: 14px; padding: 0 0.22em; }

.nrg-sim-card {
	background: #fff; border-radius: 28px; padding: clamp(1.25rem, 3vw, 1.75rem);
	box-shadow: 0 22px 50px rgba(7, 43, 49, 0.16);
}
.nrg-sim-card h2, .nrg-sim-card h3 { font-size: var(--wp--preset--font-size--x-large); }
.nrg-progress { font-size: 0.9rem; font-weight: 600; color: var(--nrg-texte-doux); }
.nrg-progress::before {
	content: ""; display: block; height: 16px; margin-bottom: 0.6rem;
	background: no-repeat left center / 100% 16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 16' preserveAspectRatio='none'%3E%3Cpath d='M8 8 H100' stroke='%233DDC97' stroke-width='3'/%3E%3Cpath d='M100 8 H292' stroke='%23E3FAF0' stroke-width='3'/%3E%3Ccircle cx='8' cy='8' r='7' fill='%230A7D64'/%3E%3Ccircle cx='100' cy='8' r='5' fill='%23CFE9DE'/%3E%3Ccircle cx='196' cy='8' r='5' fill='%23CFE9DE'/%3E%3Ccircle cx='292' cy='8' r='5' fill='%23CFE9DE'/%3E%3C/svg%3E");
}
.wp-block-buttons.nrg-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
.wp-block-buttons.nrg-choices .wp-block-button { width: 100%; }
.wp-block-buttons.nrg-choices .wp-block-button__link {
	width: 100%; min-height: 54px; background: #fff; color: var(--nrg-encre);
	border: 2px solid var(--nrg-ligne); border-radius: 16px; font-weight: 700;
	/* 0.3.16 : pas de coupure en milieu de mot (« commerça-nt ») sur écran moyen */
	padding-left: 0.85rem; padding-right: 0.85rem; word-break: normal; overflow-wrap: break-word; line-height: 1.25;
}
.wp-block-buttons.nrg-choices .wp-block-button__link:hover { border-color: var(--nrg-emeraude); background: var(--nrg-menthe-douce); }
.nrg-sim-card .is-style-nrg-fleche, .nrg-sim-card .is-style-nrg-fleche .wp-block-button__link { width: 100%; }
.nrg-note { font-size: 0.85rem; color: var(--nrg-texte-doux); }

/* ---------- Bande « Ce qui bat au cœur de NRG Santé » ---------- */
.nrg-values { background: var(--nrg-encre); color: #fff; padding-block: 3.5rem 2.2rem; overflow: hidden; }
.nrg-values .nrg-eyebrow { color: var(--nrg-menthe); }
.nrg-values-grid { column-gap: 0 !important; row-gap: 2.25rem !important; }
.nrg-value { padding-right: 1.75rem; }
.nrg-value::before {
	content: ""; display: block; height: 100px; margin: 0 -1.75rem 1rem 0;
	background: no-repeat center / 100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 100' preserveAspectRatio='none'%3E%3Cpath d='M0 72 H118 L132 46 L146 92 L160 30 L174 72 H300' fill='none' stroke='%233DDC97' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}
.nrg-value.nrg-value--fort::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 100' preserveAspectRatio='none'%3E%3Cpath d='M0 72 H104 M184 72 H300' fill='none' stroke='%233DDC97' stroke-width='4' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M104 72 L122 26 L140 96 L160 6 L184 72' fill='none' stroke='%23FFC94D' stroke-width='5' stroke-linecap='round' stroke-linejoin='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}
.nrg-value h3 { color: #fff; font-size: 1.35rem; line-height: 1.2; position: relative; padding-left: 68px; padding-top: 0.8rem; min-height: 52px; display: block; }
.nrg-value h3::before {
	content: ""; position: absolute; left: 0; top: 0; width: 52px; height: 52px; border-radius: 50%;
	background: var(--nrg-menthe) no-repeat center / 26px 26px var(--nrg-ico);
}
.nrg-value--fort h3::before { background-color: var(--nrg-soleil); animation: nrg-beat 1.8s ease-out infinite; }
.nrg-value p { color: var(--nrg-brume); }
.nrg-ico-check { --nrg-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23072B31' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 12l3 3 5-6'/%3E%3C/svg%3E"); }
.nrg-ico-ia { --nrg-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23072B31' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 3l1.8 4.7 4.7 1.8-4.7 1.8L11 16l-1.8-4.7L4.5 9.5l4.7-1.8z'/%3E%3Cpath d='M18.5 14.5l.8 2 2 .8-2 .8-.8 2-.8-2-2-.8 2-.8z'/%3E%3C/svg%3E"); }
.nrg-ico-lock { --nrg-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23072B31' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E"); }
.nrg-facts { color: var(--nrg-brume); font-weight: 600; font-size: 0.95rem; }

@keyframes nrg-beat {
	0% { box-shadow: 0 0 0 0 rgba(255, 201, 77, 0.65); }
	70% { box-shadow: 0 0 0 18px rgba(255, 201, 77, 0); }
	100% { box-shadow: 0 0 0 0 rgba(255, 201, 77, 0); }
}

/* ---------- Cartes profils ---------- */
.nrg-section { padding-block: var(--nrg-section-y); }
.nrg-section--douce { background: var(--nrg-menthe-douce); }
.nrg-section:not(.nrg-section--douce) + .nrg-section:not(.nrg-section--douce) { padding-top: 0; }
.nrg-profile {
	background: #fff; border: 1px solid var(--nrg-ligne); border-radius: 24px; overflow: hidden;
	padding: 0 1.4rem 1.4rem; display: flex; flex-direction: column; gap: 0.6rem;
}
.nrg-profile::before {
	content: ""; display: block; height: 40px; margin: 0 -1.4rem 0.6rem;
	background: var(--nrg-menthe-douce) no-repeat center / 100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 40' preserveAspectRatio='none'%3E%3Cpath d='M0 26 H120 L132 10 L146 36 L158 6 L170 26 H300' fill='none' stroke='%230A7D64' stroke-width='3' stroke-linejoin='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}
.nrg-profile h3 { font-size: 1.25rem; margin: 0; }
.nrg-profile h3 a { color: inherit; text-decoration: none; }
.nrg-profile p { margin: 0; color: var(--nrg-texte-doux); }
.nrg-profile .nrg-more a { font-weight: 800; text-decoration: none; }
.nrg-profile .nrg-more a::after {
	content: "→"; display: inline-grid; place-items: center; width: 28px; height: 28px; margin-left: 0.5rem;
	border-radius: 50%; background: var(--nrg-soleil); color: var(--nrg-encre);
}

/* ---------- Niveaux de garanties ---------- */
.nrg-levels { background: var(--nrg-encre); color: #fff; padding-block: var(--nrg-section-y); }
.nrg-levels h2 { color: #fff; }
.nrg-levels .nrg-muted, .nrg-levels-labels span { color: var(--nrg-brume); }
.nrg-levels svg { display: block; width: 100%; height: 220px; }
.nrg-levels-labels { text-align: center; }
.nrg-levels-labels p { margin: 0; display: flex; flex-direction: column; gap: 0.2rem; font-size: 0.95rem; }
.nrg-levels-labels .nrg-level-actif strong { color: var(--nrg-soleil); }
.nrg-levels-labels .nrg-level-marque { color: inherit; }

/* ---------- Étapes ---------- */
.nrg-steps-line {
	height: 60px;
	background: no-repeat center / 100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'%3E%3Cpath d='M20 34 H360 L376 14 L392 52 L408 8 L424 40 L432 34 H760 L776 14 L792 52 L808 8 L824 40 L832 34 H1180' fill='none' stroke='%233DDC97' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}
.nrg-num {
	display: inline-grid; place-items: center; width: 48px; height: 48px; border-radius: 50%;
	background: var(--nrg-emeraude); color: #fff; font-weight: 800; font-size: 1.2rem; margin: 0;
}
.nrg-num--soleil { background: var(--nrg-soleil); color: var(--nrg-encre); }
.nrg-step h3 { font-size: 1.2rem; margin-block: 0.5rem 0.25rem; }
.nrg-step p:not(.nrg-num) { color: var(--nrg-texte-doux); margin: 0; }

/* ---------- Bandeau de rappel ---------- */
.nrg-cta {
	position: relative; overflow: hidden; background: var(--nrg-soleil); color: var(--nrg-encre);
	border-radius: 32px; padding: clamp(1.75rem, 4vw, 2.75rem) clamp(1.5rem, 4vw, 2.5rem);
}
.nrg-cta::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 120px; pointer-events: none;
	background: no-repeat center / 100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0 90 H700 L722 60 L746 112 L770 36 L792 96 L806 90 H1200' fill='none' stroke='%23FFFFFF' stroke-opacity='0.7' stroke-width='4' stroke-linejoin='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}
.nrg-cta > * { position: relative; z-index: 1; }
.nrg-cta h2 { font-size: var(--wp--preset--font-size--x-large); margin: 0; }
.nrg-cta .wp-block-button__link { background: var(--nrg-encre); color: #fff; }
.nrg-cta .is-style-nrg-fleche .wp-block-button__link::after { background: var(--nrg-menthe); }

/* ---------- FAQ ---------- */
.nrg-faq .wp-block-details { border: 1px solid var(--nrg-ligne); }
.nrg-faq .wp-block-details summary { font-weight: 700; font-size: 1.05rem; cursor: pointer; }
.nrg-faq .wp-block-details p { color: var(--nrg-texte-doux); }

/* ---------- Fiches contrat : avantages et limites ---------- */
.nrg-pros, .nrg-cons { border-radius: 24px; padding: 1.4rem 1.6rem; }
.nrg-pros { background: var(--nrg-menthe-douce); }
.nrg-cons { background: #FFF6E0; }
.nrg-pros ul, .nrg-cons ul { padding-left: 1.2rem; }
.nrg-pros li::marker { content: "✓  "; color: var(--nrg-emeraude); font-weight: 800; }
.nrg-cons li::marker { content: "–  "; color: #8A5A00; font-weight: 800; }
.nrg-source { font-size: var(--wp--preset--font-size--small); color: var(--nrg-texte-doux); }

/* ---------- Encart conseiller ---------- */
.nrg-advisor { background: var(--nrg-menthe-douce); border-radius: 24px; padding: 1.5rem 1.75rem; border-left: 0; }

/* ---------- Partenaires : bande de logos (accueil) et page Nos partenaires ---------- */
.nrg-partners { background: #fff; padding-block: clamp(2rem, 4vw, 2.75rem); border-bottom: 1px solid var(--nrg-ligne); }
.nrg-partners-head { align-items: baseline; row-gap: 0.4rem !important; margin-bottom: 1.4rem; }
.nrg-partners-head p { margin: 0; }
.nrg-partners-head .nrg-more { margin-left: auto; }
.nrg-logos { gap: 1.75rem 3rem !important; align-items: center !important; }
.nrg-logo-partenaire { margin: 0 !important; flex: none; }
.nrg-logo-partenaire img { display: block; max-width: none; object-fit: contain; }
/* Version blanche officielle d'un logo : posée sur une plaque encre, jamais recolorée. */
.nrg-logo--sur-sombre img { box-sizing: content-box; background: var(--nrg-encre); padding: 9px 12px; border-radius: 10px; max-width: 136px; height: auto !important; }
.nrg-logos.is-defile {
	display: block; overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.nrg-logos__piste {
	display: flex; align-items: center; gap: 3.5rem; padding-right: 3.5rem; width: max-content;
	animation: nrg-defile var(--nrg-defile-duree, 70s) linear infinite;
}
.nrg-logos.is-defile:hover .nrg-logos__piste,
.nrg-logos.is-defile:focus-within .nrg-logos__piste,
.nrg-logos.is-pause .nrg-logos__piste { animation-play-state: paused; }
@keyframes nrg-defile { to { transform: translateX(-50%); } }
.nrg-logos__pause {
	font: inherit; font-size: 0.8rem; font-weight: 700; color: var(--nrg-texte-doux); cursor: pointer;
	background: transparent; border: 1px solid var(--nrg-ligne); border-radius: 999px; padding: 0.3rem 0.85rem;
}
.nrg-logos__pause:hover { border-color: var(--nrg-emeraude); color: var(--nrg-emeraude); }

.nrg-hero--court { padding-block: clamp(2.5rem, 6vw, 4rem) clamp(6rem, 11vw, 8rem); }
.nrg-hero--court .nrg-lead { max-width: 40em; }
.nrg-partners-grid { gap: 1rem !important; }
.nrg-partner-card {
	background: #fff; border: 1px solid var(--nrg-ligne); border-radius: 20px;
	padding: 1.6rem 1rem 1.1rem; gap: 1rem !important; min-height: 150px; text-align: center;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.nrg-partner-card:hover { box-shadow: 0 14px 30px rgba(7, 43, 49, 0.1); transform: translateY(-2px); }
.nrg-partner-card .nrg-logo-partenaire { height: 76px; display: flex; align-items: center; justify-content: center; }
.nrg-partner-name { margin: 0 !important; font-weight: 700; font-size: var(--wp--preset--font-size--small); color: var(--nrg-texte-doux); }

/* ---------- Bouton « Comparer » qui suit le défilement ---------- */
.nrg-sticky {
	position: fixed; z-index: 50;
	right: max(24px, env(safe-area-inset-right, 0px));
	bottom: calc(24px + env(safe-area-inset-bottom, 0px));
	transform: translateY(160%); visibility: hidden;
	transition: transform 0.3s ease, visibility 0s linear 0.3s;
}
.nrg-sticky.is-visible { transform: none; visibility: visible; transition: transform 0.3s ease, visibility 0s; }
.nrg-sticky__btn {
	box-sizing: border-box;
	display: inline-flex; align-items: center; gap: 0.8rem; min-height: 56px;
	padding: 0 0.5rem 0 1.5rem; border-radius: 999px;
	background: var(--nrg-emeraude); color: #fff; font-weight: 800; text-decoration: none;
	box-shadow: 0 14px 34px rgba(7, 43, 49, 0.28);
}
.nrg-sticky__btn:hover { background: var(--nrg-encre); color: #fff; }
.nrg-sticky__btn:focus-visible { outline: 3px solid var(--nrg-soleil); outline-offset: 3px; }
body:has(.nrg-sticky) .nrg-footer { padding-bottom: calc(3rem + 80px); }
.nrg-sticky__fleche {
	display: inline-grid; place-items: center; width: 2.4em; height: 2.4em; border-radius: 50%;
	background: var(--nrg-soleil); color: var(--nrg-encre);
}

/* ---------- Guides : sommaire (bloc Rank Math) et illustrations ---------- */
.wp-block-rank-math-toc-block {
	background: #fff; border: 1px solid var(--nrg-ligne); border-left: 6px solid var(--nrg-menthe);
	border-radius: 20px; padding: 1.25rem 1.5rem 1rem; margin-block: 1.75rem 2.5rem;
}
.wp-block-rank-math-toc-block > h2 {
	font-size: 0.85rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;
	color: var(--nrg-emeraude); margin: 0 0 0.5rem;
}
.wp-block-rank-math-toc-block nav ul { list-style: none; margin: 0; padding: 0; counter-reset: nrg-toc; columns: 2 18rem; column-gap: 2.5rem; }
.wp-block-rank-math-toc-block nav li { counter-increment: nrg-toc; break-inside: avoid; display: flex; gap: 0.65rem; padding-block: 0.4rem; margin: 0; }
.wp-block-rank-math-toc-block nav li::before { content: counter(nrg-toc, decimal-leading-zero); flex: none; min-width: 1.6em; font-weight: 800; color: var(--nrg-emeraude); }
.wp-block-rank-math-toc-block nav a { color: var(--nrg-encre); text-decoration: none; line-height: 1.4; }
.wp-block-rank-math-toc-block nav a:hover, .wp-block-rank-math-toc-block nav a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.nrg-section h2[id] { scroll-margin-top: 1.5rem; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
.nrg-section > .wp-block-image.size-full { margin-block: 2rem; }
.nrg-section > .wp-block-image.size-full img { width: 100%; height: auto; border-radius: 20px; border: 1px solid var(--nrg-ligne); }
.nrg-section > .wp-block-image .wp-element-caption { font-size: var(--wp--preset--font-size--small); color: var(--nrg-texte-doux); text-align: left; margin-top: 0.6rem; }

@media (prefers-reduced-motion: reduce) {
	.nrg-value--fort h3::before { animation: none; }
	.nrg-sticky, .nrg-sticky.is-visible { transition: none; }
	.nrg-partner-card, .nrg-partner-card:hover { transition: none; transform: none; }
}
@media (max-width: 600px) {
	.nrg-header .wp-block-buttons { display: none; }
	.nrg-sticky { left: max(16px, env(safe-area-inset-left, 0px)); right: max(16px, env(safe-area-inset-right, 0px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
	.nrg-sticky__btn { width: 100%; justify-content: space-between; }
	.nrg-logos:not(.is-defile) { flex-wrap: nowrap !important; justify-content: flex-start !important; overflow-x: auto; padding-bottom: 0.5rem; }
	.nrg-logos__piste { gap: 2.5rem; padding-right: 2.5rem; }
	.nrg-partners-head .nrg-more { margin-left: 0; }
	.nrg-partners-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0.75rem !important; }
	.nrg-partner-card { min-height: 130px; padding: 1.2rem 0.6rem 0.9rem; }
	.nrg-partner-card .nrg-logo-partenaire img { max-width: 100%; height: auto !important; max-height: 76px; }
	.nrg-partner-card .nrg-logo--sur-sombre img { max-width: calc(100% - 24px); }
	.nrg-hero { padding-bottom: 150px; }
	.nrg-hero::before { bottom: 0.5rem; height: 120px; }
	.wp-block-buttons.nrg-choices { grid-template-columns: 1fr; }
	.nrg-value { padding-right: 0; }
	.nrg-value::before { margin-right: 0; }
	.nrg-levels-labels span { display: none; }
	.nrg-levels-labels .nrg-level-marque { display: inline; position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

/* ---------- Sous-menu de l'en-tête (0.2.8) ---------- */
.nrg-header .wp-block-navigation .wp-block-navigation__submenu-container {
	background: #fff;
	border: 1px solid var(--nrg-ligne);
	border-radius: 14px;
	box-shadow: 0 12px 32px rgba(7, 43, 49, 0.12);
	padding: 0.5rem;
	min-width: 250px;
}
.nrg-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__label { white-space: nowrap; }
.nrg-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.55rem 0.8rem;
	border-radius: 9px;
}
.nrg-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.nrg-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	background: var(--nrg-menthe-douce);
	color: var(--nrg-encre);
}
.nrg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	border: 0;
	box-shadow: none;
	padding: 0.25rem 0 0.5rem;
	min-width: 0;
}
.nrg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-item__content { font-weight: 800; }
.nrg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-size: var(--wp--preset--font-size--small);
	color: var(--nrg-texte-doux);
	padding: 0.3rem 0.8rem;
}

/* ---------- Tableaux des guides (0.2.8) ---------- */
.nrg-table { margin-block: 1.5rem; overflow-x: auto; }
.nrg-table table { border-collapse: separate; border-spacing: 0; width: 100%; border: 1px solid var(--nrg-ligne); border-radius: 14px; overflow: hidden; font-size: var(--wp--preset--font-size--small); }
.nrg-table th { background: var(--nrg-menthe-douce); color: var(--nrg-encre); font-weight: 800; text-align: left; padding: 0.7rem 0.9rem; border: 0; }
.nrg-table th, .nrg-table td { hyphens: auto; }
.nrg-table td { padding: 0.65rem 0.9rem; border: 0; border-top: 1px solid var(--nrg-ligne); vertical-align: top; }
.nrg-table tbody tr:nth-child(even) td { background: #F8FCFA; }
@media (max-width: 600px) { .nrg-table th, .nrg-table td { padding: 0.55rem 0.6rem; } }
.nrg-table figcaption { font-size: 0.85rem; color: var(--nrg-texte-doux); margin-top: 0.5rem; }

/* Fil d'Ariane (Rank Math), en haut du bandeau de page */
.nrg-ariane { font-size: 0.875rem; line-height: 1.5; color: var(--nrg-texte-doux); margin-block: 0 clamp(1.25rem, 3vw, 2rem); }
.nrg-hero > .nrg-ariane { margin-top: calc(-1 * clamp(0.75rem, 2.5vw, 1.75rem)); }
.nrg-ariane p { margin: 0; }
.nrg-ariane a { color: var(--nrg-emeraude); font-weight: 600; text-decoration: none; }
.nrg-ariane a:hover, .nrg-ariane a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.nrg-ariane .separator { color: var(--nrg-brume); }
.nrg-ariane .last { color: var(--nrg-encre); }
.nrg-ariane--seul { max-width: 1200px; margin: 0 auto; padding: clamp(1rem, 2.5vw, 1.5rem) var(--wp--style--root--padding-left, 1.5rem) 0; }
