/* ==========================================================================
   PEMP Affiliation — feuille de style principale (mobile d'abord)
   1. Polices et variables     6. Contenu éditorial
   2. Base                     7. Composants affiliation
   3. En-tête et méga-menu     8. Cartes, accueil, hubs
   4. Pied de page             9. Barre collante, divers
   5. Article : en-tête, grille
   ========================================================================== */

/* 1. Polices et variables ------------------------------------------------- */
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/barlow-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/barlow-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/source-sans-3-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/source-sans-3-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/source-sans-3-latin-600-normal.woff2") format("woff2"); }

:root {
	--pemp-brand: #0b3954;
	--pemp-brand-2: #1d6a96;
	--pemp-brand-soft: #eaf2f8;
	--pemp-cta: #c2410c;
	--pemp-cta-hover: #9a3412;
	--pemp-ink: #122130;
	--pemp-text: #26323f;
	--pemp-muted: #5a6776;
	--pemp-line: #e1e6ec;
	--pemp-bg: #ffffff;
	--pemp-tint: #f6f3ee;
	--pemp-good: #1f7a4d;
	--pemp-good-soft: #e9f6ef;
	--pemp-bad: #b42318;
	--pemp-bad-soft: #fdeeec;
	--pemp-warn: #a15c07;
	--pemp-warn-soft: #fff5e5;
	--pemp-radius: 12px;
	--pemp-radius-sm: 8px;
	--pemp-shadow: 0 1px 2px rgba(18, 33, 48, .06), 0 4px 16px rgba(18, 33, 48, .06);
	--pemp-shadow-lg: 0 8px 32px rgba(18, 33, 48, .14);
	--pemp-head: "Barlow", "Arial Narrow", system-ui, sans-serif;
	--pemp-body: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--pemp-header-h: 64px;
	--pemp-gutter: 16px;
}
@media (min-width: 768px) { :root { --pemp-gutter: 24px; } }

/* 2. Base ----------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--pemp-header-h) + 16px); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body {
	margin: 0;
	background: var(--pemp-bg);
	color: var(--pemp-text);
	font-family: var(--pemp-body);
	font-size: 1.0625rem;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
@media (min-width: 768px) { body { font-size: 1.125rem; } }
img, svg, video { max-width: 100%; height: auto; }
img { display: block; }
a { color: var(--pemp-brand-2); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { color: var(--pemp-brand); }
:focus-visible { outline: 3px solid var(--pemp-brand-2); outline-offset: 2px; border-radius: 4px; }
h1, h2, h3, h4 { font-family: var(--pemp-head); color: var(--pemp-ink); line-height: 1.15; font-weight: 700; letter-spacing: -.005em; }
button { font: inherit; cursor: pointer; }
.pemp-icon { flex: none; display: inline-block; vertical-align: middle; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.pemp-skip { position: absolute; left: -9999px; top: 8px; z-index: 1000; background: var(--pemp-ink); color: #fff; padding: 10px 16px; border-radius: 8px; }
.pemp-skip:focus { left: 8px; }
.pemp-wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 var(--pemp-gutter); }
.pemp-wrap--narrow { max-width: 800px; }
.pemp-main:focus { outline: none; }

/* 3. En-tête et méga-menu -------------------------------------------------- */
.pemp-header { position: sticky; top: 0; z-index: 100; background: #fff; border-bottom: 1px solid var(--pemp-line); }
.admin-bar .pemp-header { top: 46px; }
@media (min-width: 783px) { .admin-bar .pemp-header { top: 32px; } }
@media (max-width: 600px) { .admin-bar .pemp-header { top: 0; } }
.pemp-header__bar { position: relative; display: flex; align-items: center; gap: 8px; height: var(--pemp-header-h); }
.pemp-header__burger, .pemp-header__search { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; background: transparent; color: var(--pemp-ink); border-radius: 10px; }
.pemp-header__burger:hover, .pemp-header__search:hover { background: var(--pemp-tint); }
.pemp-header__search { margin-left: auto; }
.pemp-logo { display: flex; align-items: center; min-width: 0; }
.pemp-logo img { max-height: 44px; width: auto; }
.pemp-logo__text { display: inline-flex; align-items: center; gap: 8px; font-family: var(--pemp-head); font-weight: 700; font-size: 1.2rem; color: var(--pemp-brand); text-decoration: none; white-space: nowrap; }
.pemp-logo__text .pemp-icon { color: var(--pemp-brand-2); }

/* Navigation mobile : panneau plein écran sous l'en-tête */
.pemp-nav { display: none; }
body.pemp-nav-open { overflow: hidden; }
body.pemp-nav-open .pemp-nav { display: block; position: fixed; left: 0; right: 0; top: var(--pemp-header-h); bottom: 0; background: #fff; overflow-y: auto; padding: 8px var(--pemp-gutter) 40px; border-top: 1px solid var(--pemp-line); }
.admin-bar.pemp-nav-open .pemp-nav { top: calc(var(--pemp-header-h) + 46px); }
.pemp-nav__list, .pemp-nav__sub { list-style: none; margin: 0; padding: 0; }
.pemp-nav__item { position: relative; display: flex; flex-wrap: wrap; align-items: center; border-bottom: 1px solid var(--pemp-line); }
.pemp-nav__link { flex: 1; padding: 14px 0; font-family: var(--pemp-head); font-weight: 700; font-size: 1.15rem; color: var(--pemp-ink); text-decoration: none; }
.pemp-nav__toggle { width: 44px; height: 44px; border: 0; background: transparent; color: var(--pemp-muted); border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; }
.pemp-nav__toggle .pemp-icon { transition: transform .2s; }
.pemp-nav__item.is-open > .pemp-nav__toggle .pemp-icon { transform: rotate(180deg); }
.pemp-mega, .pemp-nav__sub { display: none; width: 100%; }
.pemp-nav__item.is-open > .pemp-mega, .pemp-nav__item.is-open > .pemp-nav__sub { display: block; }
.pemp-mega { padding: 0 0 16px; }
.pemp-mega__inner { display: grid; gap: 16px; }
.pemp-mega__title { margin: 0 0 6px; font-size: .78rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--pemp-muted); }
.pemp-mega ul { list-style: none; margin: 0; padding: 0; }
.pemp-mega li a { display: block; padding: 7px 0; color: var(--pemp-text); text-decoration: none; line-height: 1.35; }
.pemp-mega li a:hover { color: var(--pemp-brand-2); }
.pemp-mega__feature { display: none; }
.pemp-mega__all { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; font-weight: 600; text-decoration: none; }
.pemp-nav__sub a { display: block; padding: 8px 0 8px 12px; color: var(--pemp-text); text-decoration: none; }

@media (min-width: 1024px) {
	.pemp-header__burger { display: none; }
	.pemp-logo { margin-right: 24px; }
	.pemp-nav, body.pemp-nav-open .pemp-nav { display: block; position: static; padding: 0; border: 0; overflow: visible; background: none; }
	.pemp-nav__list { display: flex; align-items: stretch; height: var(--pemp-header-h); }
	.pemp-nav__item { position: static; border: 0; flex-wrap: nowrap; }
	.pemp-nav__link { display: flex; align-items: center; height: 100%; padding: 0 4px 0 12px; font-size: 1.02rem; font-weight: 600; white-space: nowrap; border-bottom: 3px solid transparent; }
	.pemp-nav__item:not(.has-panel) .pemp-nav__link { padding-right: 12px; }
	.pemp-nav__item.is-current > .pemp-nav__link { border-bottom-color: var(--pemp-cta); }
	.pemp-nav__toggle { width: 28px; height: 28px; margin-right: 4px; }
	.pemp-mega, .pemp-nav__sub { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-top: 1px solid var(--pemp-line); box-shadow: var(--pemp-shadow-lg); border-radius: 0 0 var(--pemp-radius) var(--pemp-radius); }
	.pemp-nav__sub { left: auto; right: auto; min-width: 240px; padding: 8px 16px; }
	.pemp-mega { padding: 24px 28px; }
	.pemp-nav__item.has-panel:hover > .pemp-mega, .pemp-nav__item.has-panel:focus-within > .pemp-mega,
	.pemp-nav__item.has-panel:hover > .pemp-nav__sub, .pemp-nav__item.has-panel:focus-within > .pemp-nav__sub { display: block; }
	.pemp-mega__inner { grid-template-columns: 1fr 1fr 300px; gap: 32px; }
	.pemp-mega__feature { display: block; }
	.pemp-mega li a { font-size: 1rem; }
}

.pemp-search-panel { border-top: 1px solid var(--pemp-line); background: #fff; padding: 16px 0; box-shadow: var(--pemp-shadow); }
.pemp-searchform { display: flex; align-items: center; gap: 8px; background: #fff; border: 2px solid var(--pemp-line); border-radius: 12px; padding: 4px 4px 4px 14px; }
.pemp-searchform:focus-within { border-color: var(--pemp-brand-2); }
.pemp-searchform .pemp-icon { color: var(--pemp-muted); }
.pemp-searchform input { flex: 1; min-width: 0; border: 0; background: transparent; font: inherit; font-size: 1rem; padding: 10px 4px; color: var(--pemp-ink); }
.pemp-searchform input:focus { outline: none; }
.pemp-searchform button { border: 0; background: var(--pemp-brand); color: #fff; font-weight: 600; border-radius: 9px; padding: 10px 16px; }
.pemp-searchform button:hover { background: var(--pemp-brand-2); }

/* 4. Pied de page ----------------------------------------------------------- */
.pemp-footer { background: var(--pemp-brand); color: #d7e4ee; margin-top: 64px; padding: 48px 0 24px; font-size: 1rem; }
.pemp-footer a { color: #fff; text-decoration: none; }
.pemp-footer a:hover { text-decoration: underline; }
.pemp-footer__grid { display: grid; gap: 32px; }
@media (min-width: 768px) { .pemp-footer__grid { grid-template-columns: 2fr 1fr 1fr; } }
.pemp-footer__brand { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-family: var(--pemp-head); font-weight: 700; font-size: 1.25rem; color: #fff; }
.pemp-footer__title { margin: 0 0 10px; font-weight: 600; color: #fff; }
.pemp-footer ul { list-style: none; margin: 0; padding: 0; }
.pemp-footer li { margin: 6px 0; }
.pemp-footer__legal { margin-top: 32px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .15); font-size: .9rem; color: #b6c8d6; }
.pemp-footer__legal p { margin: 0; }

/* 5. Article : en-tête compact et grille -------------------------------------- */
.pemp-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 4px; list-style: none; margin: 0 0 12px; padding: 0; font-size: .88rem; color: var(--pemp-muted); }
.pemp-breadcrumbs li:not(:last-child)::after { content: "›"; margin-left: 6px; color: #9aa6b2; }
.pemp-breadcrumbs a { color: var(--pemp-muted); text-decoration: none; }
.pemp-breadcrumbs a:hover { color: var(--pemp-brand-2); text-decoration: underline; }
.pemp-breadcrumbs li:last-child { display: none; }
@media (min-width: 768px) { .pemp-breadcrumbs li:last-child { display: block; max-width: 40ch; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } }

.pemp-article-head { padding: 20px 0 8px; }
@media (min-width: 768px) { .pemp-article-head { padding: 32px 0 12px; } }
.pemp-article-head .pemp-wrap { max-width: 1200px; }
.pemp-article-head__kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 10px; font-size: .92rem; }
.pemp-article-head__kicker a { color: var(--pemp-muted); text-decoration: none; font-weight: 600; }
.pemp-article-head__title { margin: 0; max-width: 24ch; font-size: clamp(1.85rem, 1.3rem + 2.4vw, 2.9rem); }
.pemp-article-head__sub { margin: 12px 0 0; max-width: 60ch; font-size: 1.12rem; color: var(--pemp-muted); }
.pemp-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; margin: 16px 0 0; font-size: .92rem; color: var(--pemp-muted); }
.pemp-byline > span { display: inline-flex; align-items: center; gap: 6px; }
.pemp-byline__author { font-weight: 600; color: var(--pemp-ink); }
.pemp-byline__author a { color: inherit; }
.pemp-byline__avatar { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; }
.pemp-disclosure { display: flex; gap: 8px; align-items: flex-start; margin: 14px 0 0; padding: 8px 12px; max-width: 760px; background: var(--pemp-tint); border-radius: var(--pemp-radius-sm); font-size: .88rem; line-height: 1.45; color: var(--pemp-muted); }
.pemp-disclosure .pemp-icon { margin-top: 2px; }
.pemp-disclosure a { color: inherit; }

.pemp-article-cover { margin: 16px auto 0; }
.pemp-article-cover img { width: 100%; max-height: 420px; object-fit: cover; border-radius: var(--pemp-radius); }

.pemp-article-layout { padding-top: 20px; }
.pemp-aside { display: none; }
@media (min-width: 1024px) {
	.pemp-article-layout.has-aside { display: grid; grid-template-columns: minmax(0, 740px) 300px; gap: 56px; justify-content: center; }
	.pemp-article-layout:not(.has-aside) .pemp-content { margin: 0 auto; }
	.pemp-aside { display: block; }
	.pemp-aside__sticky { position: sticky; top: calc(var(--pemp-header-h) + 24px); display: grid; gap: 20px; max-height: calc(100vh - var(--pemp-header-h) - 48px); overflow: auto; padding-bottom: 8px; }
	.admin-bar .pemp-aside__sticky { top: calc(var(--pemp-header-h) + 56px); }
}

/* Sommaire */
.pemp-toc ol { list-style: none; margin: 0; padding: 0; counter-reset: toc; }
.pemp-toc li { counter-increment: toc; }
.pemp-toc a { display: flex; gap: 10px; padding: 6px 0; color: var(--pemp-text); text-decoration: none; font-size: .95rem; line-height: 1.35; }
.pemp-toc a::before { content: counter(toc); flex: none; width: 1.5em; color: var(--pemp-muted); font-variant-numeric: tabular-nums; }
.pemp-toc a:hover { color: var(--pemp-brand-2); }
.pemp-toc--desktop { border-left: 2px solid var(--pemp-line); padding-left: 14px; }
.pemp-toc__title { margin: 0 0 6px; font-size: .78rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--pemp-muted); }
.pemp-toc--desktop a.is-active { color: var(--pemp-brand); font-weight: 600; }
.pemp-toc--desktop a.is-active::before { color: var(--pemp-cta); }
.pemp-toc--mobile { margin: 24px 0; border: 1px solid var(--pemp-line); border-radius: var(--pemp-radius); background: #fff; }
.pemp-toc--mobile summary { display: flex; align-items: center; gap: 8px; padding: 12px 16px; font-weight: 600; color: var(--pemp-ink); cursor: pointer; list-style: none; }
.pemp-toc--mobile summary::-webkit-details-marker { display: none; }
.pemp-toc--mobile summary .pemp-icon:last-child { margin-left: auto; transition: transform .2s; }
.pemp-toc--mobile[open] summary .pemp-icon:last-child { transform: rotate(180deg); }
.pemp-toc--mobile ol { padding: 0 16px 12px; }
@media (min-width: 1024px) { .has-aside .pemp-toc--mobile { display: none; } }

/* Colonne : carte « Notre choix » */
.pemp-aside-choice { padding: 16px; border: 1px solid var(--pemp-line); border-radius: var(--pemp-radius); background: #fff; box-shadow: var(--pemp-shadow); }
.pemp-aside-choice__label { display: flex; align-items: center; gap: 6px; margin: 0 0 8px; font-size: .78rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--pemp-cta); }
.pemp-aside-choice__media { margin: 0 0 10px; }
.pemp-aside-choice__media .pemp-product-img { max-height: 140px; margin: 0 auto; }
.pemp-aside-choice__name { margin: 0; font-family: var(--pemp-head); font-weight: 700; font-size: 1.15rem; color: var(--pemp-ink); line-height: 1.2; }
.pemp-aside-choice__who { margin: 6px 0 0; font-size: .92rem; color: var(--pemp-muted); line-height: 1.4; }
.pemp-aside-choice__meta { display: flex; align-items: center; gap: 12px; margin: 10px 0 12px; }

/* 6. Contenu éditorial --------------------------------------------------------- */
.pemp-content { min-width: 0; max-width: 740px; }
.pemp-content > *:first-child { margin-top: 0; }
.pemp-content p, .pemp-content ul, .pemp-content ol { margin: 0 0 1.1em; }
.pemp-content h2 { margin: 2.2em 0 .6em; font-size: clamp(1.5rem, 1.2rem + 1.2vw, 1.95rem); }
.pemp-content h3 { margin: 1.8em 0 .5em; font-size: clamp(1.22rem, 1.1rem + .6vw, 1.45rem); }
.pemp-content h4 { margin: 1.5em 0 .4em; font-size: 1.15rem; }
.pemp-content ul, .pemp-content ol { padding-left: 1.3em; }
.pemp-content li { margin: .3em 0; }
.pemp-content li::marker { color: var(--pemp-brand-2); }
.pemp-content strong { color: var(--pemp-ink); }
.pemp-content img { border-radius: var(--pemp-radius-sm); }
.pemp-content .aligncenter, .pemp-content p:has(> img.aligncenter) img { margin-left: auto; margin-right: auto; }
.pemp-content p:has(> img:only-child) img { margin: 0 auto; }
.pemp-content figure { margin: 1.5em 0; }
.pemp-content figcaption { font-size: .88rem; color: var(--pemp-muted); text-align: center; margin-top: 6px; }
.pemp-content blockquote { margin: 1.5em 0; padding: 4px 0 4px 18px; border-left: 4px solid var(--pemp-brand-2); color: var(--pemp-ink); font-style: italic; }
.pemp-content a:not(.pemp-btn) { font-weight: 600; }
.pemp-content a[data-pemp-aff]:not(.pemp-btn) { color: var(--pemp-cta); text-decoration-color: rgba(194, 65, 12, .4); }
.pemp-content a[data-pemp-aff]:not(.pemp-btn):hover { color: var(--pemp-cta-hover); }

/* Tableaux défilables */
.pemp-table-wrap { position: relative; margin: 1.5em 0; overflow-x: auto; border: 1px solid var(--pemp-line); border-radius: var(--pemp-radius); -webkit-overflow-scrolling: touch; }
.pemp-table-wrap.is-scrollable::after { content: "Fais glisser pour tout voir →"; position: sticky; left: 0; display: block; padding: 6px 12px; font-size: .8rem; color: var(--pemp-muted); background: var(--pemp-tint); }
@media (min-width: 1024px) { .pemp-table-wrap.is-scrollable::after { display: none; } }
.pemp-table-wrap table { width: 100%; border-collapse: collapse; font-size: .95rem; line-height: 1.4; }
.pemp-table-wrap table:has(th:nth-child(4)) { min-width: 640px; }
.pemp-table-wrap th, .pemp-table-wrap td { padding: 10px 12px; text-align: left; vertical-align: middle; border-bottom: 1px solid var(--pemp-line); }
.pemp-table-wrap thead th { background: var(--pemp-brand-soft); color: var(--pemp-ink); font-weight: 600; font-size: .85rem; letter-spacing: .02em; white-space: nowrap; }
.pemp-table-wrap tbody tr:last-child > * { border-bottom: 0; }
.pemp-table-wrap tbody tr:nth-child(even) { background: #fafbfc; }
.pemp-table-wrap tr > :first-child { position: sticky; left: 0; z-index: 1; background: inherit; font-weight: 600; color: var(--pemp-ink); }
.pemp-table-wrap tbody tr > :first-child { background: #fff; box-shadow: 1px 0 0 var(--pemp-line); }
.pemp-table-wrap tbody tr:nth-child(even) > :first-child { background: #fafbfc; }
.pemp-table-note { margin-top: -.6em; font-size: .85rem; color: var(--pemp-muted); }

/* Sections reconnues : verdict final, FAQ */
.pemp-final { margin: 2.5em 0 1.5em; padding: 4px 20px 8px; background: var(--pemp-brand-soft); border: 2px solid var(--pemp-brand-2); border-radius: var(--pemp-radius); }
.pemp-final > h2 { margin-top: 18px; display: flex; align-items: center; gap: 10px; }
.pemp-final > h2::before { content: ""; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--pemp-cta) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / 16px no-repeat; }
@media (min-width: 768px) { .pemp-final { padding: 4px 28px 12px; } }
.pemp-faq h3 { margin: 0; padding: 16px 0 6px; border-top: 1px solid var(--pemp-line); font-size: 1.15rem; }
.pemp-faq h3 + p { color: var(--pemp-text); }

/* 7. Composants affiliation ------------------------------------------------------ */
/* Boutons : une seule couleur, réservée à l'achat */
.pemp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 20px; border: 2px solid var(--pemp-cta); border-radius: 10px; background: var(--pemp-cta); color: #fff; font-family: var(--pemp-body); font-weight: 600; font-size: 1rem; line-height: 1.2; text-align: center; text-decoration: none; transition: background .15s, border-color .15s, transform .15s; }
.pemp-btn:hover, .pemp-btn:focus-visible { background: var(--pemp-cta-hover); border-color: var(--pemp-cta-hover); color: #fff; }
.pemp-btn:active { transform: translateY(1px); }
.pemp-btn--block { display: flex; width: 100%; }
.pemp-btn--sm { min-height: 40px; padding: 8px 14px; font-size: .92rem; }
.pemp-btn--ghost { background: #fff; color: var(--pemp-cta); }
.pemp-btn--ghost:hover { background: #fff4ee; color: var(--pemp-cta-hover); }
.pemp-btn--brand { background: var(--pemp-brand); border-color: var(--pemp-brand); }
.pemp-btn--brand:hover { background: var(--pemp-brand-2); border-color: var(--pemp-brand-2); }
.pemp-btn--alt { background: var(--pemp-brand-2); border-color: var(--pemp-brand-2); }
.pemp-cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 1.2em 0 1.4em !important; font-size: .95rem; color: var(--pemp-muted); }
.pemp-cta-row > a.pemp-btn:not(:has(svg))::after { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; }
@media (max-width: 599px) { .pemp-cta-row > .pemp-btn { width: 100%; } }
.pemp-stock { display: block; margin-top: 6px; font-size: .85rem; color: var(--pemp-muted); }
.pemp-stock--out { color: var(--pemp-bad); font-weight: 600; }

/* Badges, puces, notes, prix */
.pemp-badge { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px; background: var(--pemp-brand); color: #fff; font-size: .78rem; font-weight: 600; letter-spacing: .02em; line-height: 1.5; }
.pemp-badge--sm { padding: 1px 8px; font-size: .72rem; }
.pemp-chip { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: .75rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; background: var(--pemp-tint); color: var(--pemp-ink); }
.pemp-chip--comparatif { background: #fff1e8; color: #9a3412; }
.pemp-chip--avis { background: var(--pemp-good-soft); color: var(--pemp-good); }
.pemp-chip--guide { background: var(--pemp-brand-soft); color: var(--pemp-brand); }
.pemp-note { display: inline-flex; align-items: baseline; gap: 1px; padding: 2px 8px; border-radius: 8px; background: var(--pemp-brand); color: #fff; font-family: var(--pemp-head); line-height: 1.2; }
.pemp-note strong { font-size: 1.05rem; color: #fff; }
.pemp-note small { font-size: .72rem; opacity: .85; }
.pemp-note--lg { padding: 6px 12px; }
.pemp-note--lg strong { font-size: 1.6rem; }
.pemp-note--xl { padding: 8px 16px; border-radius: 12px; }
.pemp-note--xl strong { font-size: 2.3rem; }
.pemp-price { display: inline-flex; flex-direction: column; font-size: .9rem; color: var(--pemp-muted); line-height: 1.3; }
.pemp-price strong { font-size: 1rem; color: var(--pemp-ink); }
.pemp-price small { font-size: .78rem; }
.pemp-product-img { width: 100%; aspect-ratio: 1; object-fit: contain; background: #fff; border-radius: var(--pemp-radius-sm); }
.pemp-product-img--empty { display: flex; align-items: center; justify-content: center; background: var(--pemp-tint); color: #b6bfc9; }
.pemp-rank { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 1.6em; height: 1.6em; margin-right: .45em; border-radius: 50%; background: var(--pemp-brand); color: #fff; font-size: .8em; vertical-align: .1em; font-variant-numeric: tabular-nums; }

/* Liste rapide automatique (« le classement en un coup d'œil ») */
.pemp-quick { margin: 1.6em 0; border: 1px solid var(--pemp-line); border-radius: var(--pemp-radius); background: #fff; box-shadow: var(--pemp-shadow); overflow: hidden; }
.pemp-quick__title { display: flex; align-items: center; gap: 8px; margin: 0 !important; padding: 12px 16px; background: var(--pemp-brand); color: #fff; font-family: var(--pemp-head); font-weight: 700; font-size: 1.1rem; }
.pemp-quick ol { list-style: none; margin: 0 !important; padding: 0 !important; }
.pemp-quick li { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; margin: 0; padding: 10px 16px; border-top: 1px solid var(--pemp-line); }
.pemp-quick li:first-child { border-top: 0; }
.pemp-quick li.is-top { background: #fff8f3; }
.pemp-quick__n { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--pemp-brand-soft); color: var(--pemp-brand); font-weight: 700; font-size: .9rem; }
.pemp-quick li.is-top .pemp-quick__n { background: var(--pemp-cta); color: #fff; }
.pemp-quick__main { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.pemp-quick__name { color: var(--pemp-ink) !important; text-decoration: none; font-weight: 600; }
.pemp-quick__name:hover { color: var(--pemp-brand-2) !important; text-decoration: underline; }
.pemp-quick__role { font-size: .88rem; color: var(--pemp-muted); }
.pemp-quick .pemp-btn { min-height: 36px; padding: 6px 12px; }

/* Verdict express : 3 cartes */
.pemp-choices { margin: 1.6em 0; }
.pemp-choices__title { display: flex; align-items: center; gap: 8px; margin: 0 0 12px !important; font-family: var(--pemp-head); font-weight: 700; font-size: 1.2rem; color: var(--pemp-ink); }
.pemp-choices__grid { display: grid; gap: 12px; }
.pemp-choice { position: relative; display: grid; grid-template-columns: 96px 1fr; gap: 12px; padding: 14px; border: 1px solid var(--pemp-line); border-radius: var(--pemp-radius); background: #fff; box-shadow: var(--pemp-shadow); }
.pemp-choice--top { border: 2px solid var(--pemp-cta); }
.pemp-choice .pemp-badge { position: absolute; top: -11px; left: 12px; }
.pemp-choice--top .pemp-badge { background: var(--pemp-cta); }
.pemp-choice__media { padding-top: 6px; }
.pemp-choice__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding-top: 6px; }
.pemp-choice__name { margin: 0 !important; font-family: var(--pemp-head); font-weight: 700; font-size: 1.12rem; line-height: 1.2; }
.pemp-choice__name a { color: var(--pemp-ink) !important; text-decoration: none; }
.pemp-choice__who { margin: 0 !important; font-size: .9rem; line-height: 1.4; color: var(--pemp-muted); }
.pemp-choice__meta { display: flex; align-items: center; gap: 10px; }
.pemp-choice .pemp-btn { margin-top: auto; }
@media (min-width: 768px) {
	.pemp-choices__grid { grid-template-columns: repeat(3, 1fr); }
	.pemp-choice { grid-template-columns: 1fr; padding: 20px 16px 16px; }
	.pemp-choice__media .pemp-product-img { max-height: 150px; }
}

/* Fiche produit (automatique ou shortcode) */
.pemp-fiche { margin: 2em 0; padding: 4px 18px 6px; border: 1px solid var(--pemp-line); border-radius: var(--pemp-radius); background: #fff; box-shadow: var(--pemp-shadow); }
@media (min-width: 768px) { .pemp-fiche { padding: 6px 28px 10px; } }
.pemp-fiche .pemp-fiche__title { margin-top: 18px; }
.pemp-fiche__specs { list-style: none; padding: 12px 14px !important; background: var(--pemp-tint); border-radius: var(--pemp-radius-sm); font-size: .95rem; }
.pemp-fiche__specs li { position: relative; padding-left: 22px; margin: .25em 0; }
.pemp-fiche__specs li::before { content: ""; position: absolute; left: 2px; top: .55em; width: 8px; height: 8px; border-radius: 2px; background: var(--pemp-brand-2); }
.pemp-pourqui { padding: 12px 16px; border-left: 4px solid var(--pemp-brand-2); background: var(--pemp-brand-soft); border-radius: 0 var(--pemp-radius-sm) var(--pemp-radius-sm) 0; }
.pemp-pourqui > strong:first-child { display: block; margin-bottom: 2px; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: var(--pemp-brand); }
.pemp-fiche--rich .pemp-fiche__head { padding-top: 14px; }
.pemp-fiche--rich .pemp-fiche__title { margin: 8px 0 12px; }
.pemp-fiche__top { display: grid; gap: 16px; margin-bottom: 1em; }
@media (min-width: 600px) { .pemp-fiche__top { grid-template-columns: 200px 1fr; align-items: start; } }
.pemp-fiche__summary { display: grid; gap: 12px; }
.pemp-fiche__summary .pemp-pourqui { margin: 0; }
.pemp-fiche__score { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: center; }
.pemp-fiche__buy { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.pemp-specs { margin: 1em 0; border: 1px solid var(--pemp-line); border-radius: var(--pemp-radius-sm); }
.pemp-specs summary { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; font-weight: 600; cursor: pointer; list-style: none; }
.pemp-specs summary::-webkit-details-marker { display: none; }
.pemp-specs[open] summary .pemp-icon { transform: rotate(180deg); }
.pemp-specs table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.pemp-specs th, .pemp-specs td { padding: 8px 14px; border-top: 1px solid var(--pemp-line); text-align: left; }
.pemp-specs th { width: 40%; color: var(--pemp-muted); font-weight: 600; }

/* Barres de notes */
.pemp-bars { display: grid; gap: 6px; margin: 0; }
.pemp-bar { display: grid; grid-template-columns: minmax(90px, 38%) 1fr; align-items: center; gap: 10px; font-size: .88rem; }
.pemp-bar dt { color: var(--pemp-muted); }
.pemp-bar dd { display: flex; align-items: center; gap: 8px; margin: 0; }
.pemp-bar__track { flex: 1; height: 8px; border-radius: 99px; background: var(--pemp-line); overflow: hidden; }
.pemp-bar__fill { display: block; height: 100%; border-radius: 99px; background: var(--pemp-brand-2); }
.pemp-bar__val { width: 2.2em; text-align: right; font-weight: 600; color: var(--pemp-ink); font-variant-numeric: tabular-nums; }

/* Points forts / faibles, « achète-le si » */
.pemp-proscons, .pemp-fit { display: grid; gap: 12px; margin: 1.2em 0; }
@media (min-width: 600px) { .pemp-proscons, .pemp-fit { grid-template-columns: 1fr 1fr; } }
.pemp-pros, .pemp-cons, .pemp-fit__yes, .pemp-fit__no { padding: 12px 16px; border-radius: var(--pemp-radius-sm); }
.pemp-pros, .pemp-fit__yes { background: var(--pemp-good-soft); }
.pemp-cons, .pemp-fit__no { background: var(--pemp-bad-soft); }
.pemp-proscons__title, .pemp-fit__title { display: flex; align-items: center; gap: 6px; margin: 0 0 6px !important; font-weight: 700; color: var(--pemp-ink); }
.pemp-fit__yes .pemp-fit__title .pemp-icon { color: var(--pemp-good); }
.pemp-fit__no .pemp-fit__title .pemp-icon { color: var(--pemp-bad); }
.pemp-proscons ul, .pemp-fit ul { list-style: none; margin: 0 !important; padding: 0 !important; font-size: .95rem; }
.pemp-proscons li { display: flex; gap: 8px; align-items: flex-start; margin: .3em 0; }
.pemp-proscons li .pemp-icon { margin-top: .3em; }
.pemp-pros .pemp-icon { color: var(--pemp-good); }
.pemp-cons .pemp-icon { color: var(--pemp-bad); }
.pemp-fit li { position: relative; padding-left: 14px; margin: .3em 0; }
.pemp-fit li::before { content: "•"; position: absolute; left: 0; }

/* Mini-carte, tableau produits, kit */
.pemp-mini { display: grid; grid-template-columns: 72px 1fr; gap: 12px; align-items: center; margin: 1.5em 0; padding: 12px; border: 1px solid var(--pemp-line); border-radius: var(--pemp-radius); background: #fff; box-shadow: var(--pemp-shadow); }
.pemp-mini__body { min-width: 0; }
.pemp-mini__name { margin: 2px 0 0 !important; font-family: var(--pemp-head); font-weight: 700; font-size: 1.08rem; color: var(--pemp-ink); line-height: 1.25; }
.pemp-mini__text { margin: 2px 0 0 !important; font-size: .9rem; color: var(--pemp-muted); line-height: 1.4; }
.pemp-mini__cta { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
@media (min-width: 600px) { .pemp-mini { grid-template-columns: 80px 1fr auto; } .pemp-mini__cta { grid-column: auto; flex-direction: column; align-items: flex-end; } }
.pemp-compare__product { display: flex; align-items: center; gap: 10px; min-width: 190px; }
.pemp-compare__product .pemp-product-img { width: 48px; height: 48px; }
.pemp-compare__product > span { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.pemp-compare__product a { color: var(--pemp-ink) !important; text-decoration: none; }
.pemp-compare .pemp-btn { white-space: nowrap; }
.pemp-kit { margin: 1.5em 0; }
.pemp-kit__title { font-family: var(--pemp-head); font-weight: 700; font-size: 1.2rem; color: var(--pemp-ink); }
.pemp-kit__grid { display: grid; gap: 16px; }
@media (min-width: 768px) { .pemp-kit__grid { grid-template-columns: 1fr 1fr; } }
.pemp-kit__col { padding: 16px; border: 1px solid var(--pemp-line); border-radius: var(--pemp-radius); background: #fff; }
.pemp-kit__label { margin: 0 0 8px !important; font-weight: 700; color: var(--pemp-brand); }
.pemp-kit ul { list-style: none; margin: 0 !important; padding: 0 !important; }
.pemp-kit li { display: grid; grid-template-columns: 48px 1fr auto; gap: 10px; align-items: center; padding: 8px 0; border-top: 1px solid var(--pemp-line); }
.pemp-kit li:first-child { border-top: 0; }
.pemp-kit__name { display: flex; flex-direction: column; font-weight: 600; line-height: 1.3; }

/* Encadrés terrain */
.pemp-box { margin: 1.6em 0; padding: 14px 18px; border-radius: var(--pemp-radius); border: 1px solid transparent; }
.pemp-box__title { display: flex; align-items: center; gap: 8px; margin: 0 0 4px !important; font-weight: 700; color: var(--pemp-ink); }
.pemp-box__body > :last-child { margin-bottom: 0; }
.pemp-box--astuce { background: var(--pemp-warn-soft); border-color: #f6dcb3; }
.pemp-box--astuce .pemp-icon { color: var(--pemp-warn); }
.pemp-box--erreur { background: var(--pemp-bad-soft); border-color: #f5c9c4; }
.pemp-box--erreur .pemp-icon { color: var(--pemp-bad); }
.pemp-box--conseil { background: var(--pemp-brand-soft); border-color: #cfe0ec; }
.pemp-box--conseil .pemp-icon { color: var(--pemp-brand-2); }
.pemp-box--info { background: var(--pemp-tint); border-color: var(--pemp-line); }

/* En-tête d'avis produit */
.pemp-review-head { display: grid; gap: 16px; margin: 16px 0 0; padding: 18px; border: 1px solid var(--pemp-line); border-radius: var(--pemp-radius); background: #fff; box-shadow: var(--pemp-shadow); }
.pemp-review-head__media .pemp-product-img { max-height: 220px; margin: 0 auto; }
.pemp-review-head__name { margin: 8px 0 6px; font-family: var(--pemp-head); font-weight: 700; font-size: 1.4rem; color: var(--pemp-ink); line-height: 1.2; }
.pemp-review-head__verdict { margin: 0 0 12px; color: var(--pemp-text); }
.pemp-review-head__buy { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
@media (min-width: 768px) {
	.pemp-review-head { grid-template-columns: 200px 1fr 220px; align-items: center; padding: 24px; }
	.pemp-review-head__buy { align-items: stretch; text-align: center; }
	.pemp-review-head__buy .pemp-note, .pemp-review-head__buy .pemp-price { align-self: center; }
}

/* Journal et bloc auteur */
.pemp-journal { margin: 2em 0 1em; font-size: .92rem; color: var(--pemp-muted); }
.pemp-journal summary { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; font-weight: 600; }
.pemp-journal ul { list-style: none; padding: 8px 0 0 !important; }
.pemp-journal time { font-weight: 600; color: var(--pemp-ink); margin-right: 6px; }
.pemp-author { display: grid; grid-template-columns: 64px 1fr; gap: 16px; align-items: start; margin: 2.5em 0 0; padding: 20px; border-radius: var(--pemp-radius); background: var(--pemp-tint); }
.pemp-author__img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.pemp-author__img--icon { display: flex; align-items: center; justify-content: center; background: var(--pemp-brand); color: #fff; }
.pemp-author__title { margin: 0 0 4px !important; font-family: var(--pemp-head); font-weight: 700; font-size: 1.1rem; color: var(--pemp-ink); }
.pemp-author__bio { margin: 0 0 8px !important; font-size: .98rem; }
.pemp-link-arrow { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; text-decoration: none; }
.pemp-link-arrow:hover { text-decoration: underline; }

/* 8. Cartes, accueil, hubs --------------------------------------------------------- */
.pemp-section { padding: 40px 0; }
@media (min-width: 768px) { .pemp-section { padding: 56px 0; } }
.pemp-section--tint { background: var(--pemp-tint); }
.pemp-section-title { margin: 0 0 20px; font-size: clamp(1.45rem, 1.2rem + 1vw, 1.9rem); }
.pemp-section-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; margin-bottom: 20px; }
.pemp-section-head .pemp-section-title { margin: 0; }
.pemp-count { display: inline-block; margin-left: 6px; padding: 0 8px; border-radius: 99px; background: var(--pemp-tint); font-size: .9rem; color: var(--pemp-muted); vertical-align: middle; }
.pemp-grid { display: grid; gap: 20px; }
@media (min-width: 640px) { .pemp-grid--3, .pemp-grid--4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pemp-grid--3 { grid-template-columns: repeat(3, 1fr); } .pemp-grid--4 { grid-template-columns: repeat(4, 1fr); } }

.pemp-card { position: relative; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--pemp-line); border-radius: var(--pemp-radius); background: #fff; transition: box-shadow .2s, transform .2s; }
.pemp-card:hover { box-shadow: var(--pemp-shadow-lg); transform: translateY(-2px); }
.pemp-card__media { display: block; aspect-ratio: 16 / 10; background: var(--pemp-brand-soft); }
.pemp-card__media img { width: 100%; height: 100%; object-fit: cover; }
.pemp-card__placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: #9fbdd3; background: linear-gradient(135deg, var(--pemp-brand-soft), #d9e8f2); }
.pemp-card__body { display: flex; flex-direction: column; gap: 8px; flex: 1; padding: 16px; }
.pemp-card__kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; font-size: .82rem; color: var(--pemp-muted); }
.pemp-card__title { margin: 0; font-size: 1.2rem; line-height: 1.25; }
.pemp-card__title a { color: var(--pemp-ink); text-decoration: none; }
.pemp-card__title a::after { content: ""; position: absolute; inset: 0; }
.pemp-card__title a:hover { color: var(--pemp-brand-2); }
.pemp-card__choice { display: flex; gap: 6px; align-items: flex-start; margin: 0; padding: 8px 10px; border-radius: var(--pemp-radius-sm); background: #fff6f0; font-size: .9rem; line-height: 1.35; color: var(--pemp-text); }
.pemp-card__choice .pemp-icon { color: var(--pemp-cta); margin-top: 1px; }
.pemp-card__excerpt { margin: 0; font-size: .95rem; line-height: 1.5; color: var(--pemp-muted); }
.pemp-card__date { display: flex; align-items: center; gap: 5px; margin: auto 0 0; padding-top: 4px; font-size: .8rem; color: var(--pemp-muted); }
.pemp-card--compact .pemp-card__body { padding: 14px 16px; }
.pemp-card--mega { border: 0; background: var(--pemp-tint); }
.pemp-card--mega:hover { transform: none; box-shadow: none; }
.pemp-card--mega .pemp-card__body { padding: 12px 14px; gap: 6px; }
.pemp-card--mega .pemp-card__title { font-size: 1.05rem; }

/* Accueil */
.pemp-hero { background: linear-gradient(160deg, var(--pemp-brand) 0%, #0f4c6e 60%, var(--pemp-brand-2) 100%); color: #e4eef5; }
.pemp-hero__inner { padding-top: 40px; padding-bottom: 40px; }
@media (min-width: 768px) { .pemp-hero__inner { padding-top: 64px; padding-bottom: 60px; } }
.pemp-hero__title { margin: 0; max-width: 20ch; color: #fff; font-size: clamp(2rem, 1.4rem + 2.6vw, 3.2rem); }
.pemp-hero__promise { margin: 12px 0 24px; max-width: 48ch; font-size: 1.15rem; }
.pemp-hero__search { max-width: 640px; }
.pemp-hero .pemp-searchform { border-color: transparent; box-shadow: var(--pemp-shadow-lg); }
.pemp-hero .pemp-searchform button { background: var(--pemp-cta); }
.pemp-hero .pemp-searchform button:hover { background: var(--pemp-cta-hover); }

.pemp-universes__grid { display: grid; gap: 12px; }
@media (min-width: 640px) { .pemp-universes__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pemp-universes__grid { grid-template-columns: repeat(3, 1fr); gap: 16px; } }
.pemp-universe { display: grid; grid-template-columns: 76px 1fr auto; align-items: center; gap: 14px; padding: 12px; border: 1px solid var(--pemp-line); border-radius: var(--pemp-radius); background: #fff; color: var(--pemp-text); text-decoration: none; transition: border-color .2s, box-shadow .2s; }
.pemp-universe:hover { border-color: var(--pemp-brand-2); box-shadow: var(--pemp-shadow); color: var(--pemp-text); }
.pemp-universe > .pemp-icon { color: var(--pemp-muted); }
.pemp-universe__media { display: flex; align-items: center; justify-content: center; width: 76px; height: 76px; overflow: hidden; border-radius: 10px; background: var(--pemp-brand-soft); color: var(--pemp-brand-2); }
.pemp-universe__media img { width: 100%; height: 100%; object-fit: cover; }
.pemp-universe__body { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.pemp-universe__name { font-family: var(--pemp-head); font-weight: 700; font-size: 1.2rem; color: var(--pemp-ink); }
.pemp-universe__hook { font-size: .92rem; color: var(--pemp-text); }
.pemp-universe__count { margin-top: 2px; font-size: .82rem; color: var(--pemp-muted); }

.pemp-season { display: grid; overflow: hidden; border-radius: var(--pemp-radius); background: var(--pemp-brand-soft); }
@media (min-width: 768px) { .pemp-season.has-image { grid-template-columns: 1fr 1fr; } }
.pemp-season__media img { width: 100%; height: 100%; min-height: 220px; object-fit: cover; }
.pemp-season__body { padding: 28px; }
.pemp-season__kicker { margin: 0; font-size: .8rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--pemp-cta); }
.pemp-season__title { margin: 6px 0 10px; font-size: 1.6rem; }

.pemp-home-split { display: grid; gap: 32px; }
@media (min-width: 900px) { .pemp-home-split { grid-template-columns: 1fr 1.3fr; gap: 48px; } }
.pemp-trust { padding: 24px; border-radius: var(--pemp-radius); background: var(--pemp-tint); }
.pemp-trust__img { width: 100%; max-height: 220px; object-fit: cover; border-radius: var(--pemp-radius-sm); margin-bottom: 16px; }
.pemp-trust__kicker { margin: 0 0 6px; font-family: var(--pemp-head); font-weight: 700; font-size: 1.4rem; color: var(--pemp-ink); }
.pemp-guides-list ul, .pemp-guide-list { list-style: none; margin: 0; padding: 0; }
.pemp-guides-list li a, .pemp-guide-list li a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--pemp-line); color: var(--pemp-ink); font-weight: 600; text-decoration: none; line-height: 1.35; }
.pemp-guides-list li a:hover, .pemp-guide-list li a:hover { color: var(--pemp-brand-2); }
.pemp-guides-list .pemp-icon, .pemp-guide-list .pemp-icon { color: var(--pemp-muted); }
.pemp-guide-list { columns: 1; }
@media (min-width: 900px) { .pemp-guide-list { columns: 2; column-gap: 40px; } .pemp-guide-list li { break-inside: avoid; } }
.pemp-guide-list__meta { display: inline-flex; align-items: center; gap: 4px; flex: none; font-size: .85rem; font-weight: 400; color: var(--pemp-muted); }

.pemp-newsletter { display: grid; gap: 16px; align-items: center; padding: 28px; border-radius: var(--pemp-radius); background: var(--pemp-brand); color: #d7e4ee; }
@media (min-width: 900px) { .pemp-newsletter { grid-template-columns: 1fr 1fr; padding: 36px 40px; } }
.pemp-newsletter__title { margin: 0 0 6px; color: #fff; font-size: 1.6rem; }
.pemp-newsletter p { margin: 0; }

/* Hubs */
.pemp-hub-head { padding: 24px 0 28px; background: var(--pemp-tint); }
@media (min-width: 768px) { .pemp-hub-head { padding: 36px 0 40px; } }
.pemp-hub-head__title { margin: 0; max-width: 26ch; font-size: clamp(1.9rem, 1.4rem + 2.2vw, 2.8rem); }
.pemp-hub-head__intro { margin-top: 12px; max-width: 65ch; font-size: 1.1rem; }
.pemp-hub-head__intro p { margin: 0 0 .6em; }
.pemp-hub-head__search { max-width: 640px; margin-top: 16px; }
.pemp-hub-head__jump { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 18px 0 0; padding: 0; }
.pemp-hub-head__jump a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 99px; background: #fff; border: 1px solid var(--pemp-line); color: var(--pemp-ink); font-weight: 600; text-decoration: none; font-size: .95rem; }
.pemp-hub-head__jump a:hover { border-color: var(--pemp-brand-2); }
.pemp-hub-head__jump span { padding: 0 7px; border-radius: 99px; background: var(--pemp-brand-soft); color: var(--pemp-brand); font-size: .82rem; }
.pemp-filters { display: flex; gap: 8px; margin: 0 0 16px; overflow-x: auto; padding-bottom: 4px; }
.pemp-filter { flex: none; padding: 7px 14px; border: 1px solid var(--pemp-line); border-radius: 99px; background: #fff; color: var(--pemp-ink); font-size: .92rem; font-weight: 600; }
.pemp-filter.is-active { background: var(--pemp-brand); border-color: var(--pemp-brand); color: #fff; }
.pemp-pilier { max-width: 800px; }

/* Pagination, commentaires */
.pagination { margin-top: 32px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 6px; }
.pagination .page-numbers { display: inline-flex; min-width: 42px; height: 42px; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid var(--pemp-line); border-radius: 10px; color: var(--pemp-ink); text-decoration: none; font-weight: 600; }
.pagination .page-numbers.current { background: var(--pemp-brand); border-color: var(--pemp-brand); color: #fff; }
.pemp-comments { max-width: 800px; margin-top: 40px; }

/* 9. Barre collante mobile ---------------------------------------------------------- */
.pemp-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: flex; align-items: center; gap: 10px; padding: 10px var(--pemp-gutter) calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--pemp-line); box-shadow: 0 -6px 24px rgba(18, 33, 48, .12); transform: translateY(110%); transition: transform .25s ease; }
.pemp-sticky.is-visible { transform: translateY(0); }
.pemp-sticky__media { flex: none; width: 44px; height: 44px; }
.pemp-sticky__media .pemp-product-img { width: 44px; height: 44px; }
.pemp-sticky__text { flex: 1; min-width: 0; margin: 0; display: flex; flex-direction: column; line-height: 1.2; }
.pemp-sticky__text span { font-size: .72rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--pemp-cta); }
.pemp-sticky__text strong { font-size: .95rem; color: var(--pemp-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pemp-sticky .pemp-btn { flex: none; }
.pemp-sticky .pemp-btn .pemp-icon { display: none; }
body.pemp-has-sticky { padding-bottom: 72px; }
@media (min-width: 1024px) { .pemp-sticky { display: none; } body.pemp-has-sticky { padding-bottom: 0; } }
@media (prefers-reduced-motion: reduce) { .pemp-sticky, .pemp-card { transition: none; } }

/* Impression : pas de navigation ni de barres */
@media print {
	.pemp-header, .pemp-footer, .pemp-aside, .pemp-sticky, .pemp-related, .pemp-toc { display: none !important; }
	.pemp-fiche, .pemp-quick { box-shadow: none; }
}

/* 10. Ajustements : alignement en-tête / contenu, choix en tête, liste rapide */
@media (min-width: 1024px) {
	.pemp-article.has-aside .pemp-article-head .pemp-wrap,
	.pemp-article.has-aside > .pemp-wrap { max-width: calc(1096px + 2 * var(--pemp-gutter)); }
	.pemp-article:not(.has-aside) .pemp-article-head .pemp-wrap { max-width: calc(740px + 2 * var(--pemp-gutter)); }
	.pemp-article-layout.has-aside { justify-content: start; }
}
@media (max-width: 767px) {
	.pemp-breadcrumbs li:nth-last-child(2)::after { content: none; }
}
.pemp-toppick { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 12px 0 0; padding: 10px 12px 10px 14px; max-width: 760px; border: 2px solid var(--pemp-cta); border-radius: var(--pemp-radius); background: #fff8f3; }
.pemp-toppick__text { display: flex; flex-direction: column; min-width: 0; margin: 0; line-height: 1.25; }
.pemp-toppick__text span { display: inline-flex; align-items: center; gap: 5px; font-size: .74rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--pemp-cta); }
.pemp-toppick__text a, .pemp-toppick__text strong { font-family: var(--pemp-head); font-weight: 700; font-size: 1.08rem; color: var(--pemp-ink); text-decoration: none; }
.pemp-toppick .pemp-btn { flex: none; }
.pemp-toppick .pemp-btn .pemp-icon { display: none; }
@media (min-width: 1024px) { .has-aside .pemp-toppick { display: none; } }
@media (max-width: 767px) {
	.pemp-article-head__sub { font-size: 1.02rem; }
	.pemp-byline { margin-top: 12px; gap: 4px 14px; }
	.pemp-byline__time { display: none !important; }
	.pemp-disclosure { margin-top: 10px; font-size: .82rem; padding: 6px 10px; }
}
.pemp-quick__pick { align-self: flex-start; margin: 2px 0; padding: 0 8px; border-radius: 99px; background: var(--pemp-cta); color: #fff; font-size: .72rem; font-weight: 600; letter-spacing: .03em; }
.pemp-aside-choice > .pemp-btn { margin-top: 12px; }
.pemp-compare td { white-space: nowrap; }
.pemp-compare .pemp-stock { margin-top: 2px; font-size: .75rem; }
.pemp-compare__product .pemp-product-img { flex: none; width: 48px !important; height: 48px !important; }
.pemp-compare__product .pemp-product-img--empty svg { width: 24px; height: 24px; }
/* Cartes en ligne sur mobile : moins de défilement */
@media (max-width: 639px) {
	.pemp-grid .pemp-card--default { flex-direction: row; }
	.pemp-grid .pemp-card--default .pemp-card__media { flex: none; width: 104px; aspect-ratio: auto; }
	.pemp-grid .pemp-card--default .pemp-card__body { padding: 12px 14px; gap: 6px; }
	.pemp-grid .pemp-card--default .pemp-card__title { font-size: 1.05rem; }
	.pemp-grid .pemp-card--default .pemp-card__excerpt { display: none; }
	.pemp-grid .pemp-card--default .pemp-card__cat { display: none; }
	.pemp-grid { gap: 12px; }
}
