/* Fiche produit publique [gp_fiche_produit] · modèle « Fiche produit web » (DESIGN DOCUMENTS / VALIDÉ).
   Sélecteurs préfixés par .gp-pp + élément : le kit Elementor impose une typographie
   globale aux liens, titres et boutons (.elementor-kit-… a / h1 / button). */

.gp-pp {
	--pp-dark:#20382B; --pp-primary:#1E4D45; --pp-accent:#B68A3C; --pp-gold:#CBB272;
	--pp-ink:#1C211F; --pp-text:#4A5048; --pp-muted:#6B756F; --pp-crumb:#7C7560;
	--pp-line:#DCE2DD; --pp-rule:#E1DBCB; --pp-row:#E4E0D4; --pp-paper:#FBFAF5; --pp-chip:#EEF1ED; --pp-chip-line:#CFD8D0;
	--pp-green:#2F7A52; --pp-err:#B3452F; --pp-cream:#F3EFE4;
	--pp-sans:'IBM Plex Sans',-apple-system,'Segoe UI',Roboto,sans-serif;
	--pp-serif:'Spectral',Georgia,serif;
	--pp-head:'Archivo','IBM Plex Sans',sans-serif;
	--pp-mono:'IBM Plex Mono','GP Mono',Menlo,Consolas,monospace;
	box-sizing:border-box; width:100%; max-width:1400px; margin:0 auto; padding:22px 32px 72px;
	font-family:var(--pp-sans); color:var(--pp-ink); -webkit-font-smoothing:antialiased; text-align:left;
}
.gp-pp *, .gp-pp *::before, .gp-pp *::after { box-sizing:border-box; }
/* Le widget Elementor qui contient la fiche prend toute la largeur de son conteneur
   (sans cela, dans un conteneur flex, il se rétrécit à la largeur de son contenu). */
.elementor-widget:has(> .elementor-widget-container > .elementor-shortcode > .gp-pp),
.elementor-widget:has(> .elementor-shortcode > .gp-pp),
.elementor-widget:has(> .elementor-widget-container > .gp-pp) { width:100%; max-width:100%; flex:1 1 100%; align-self:stretch; }
.gp-pp a { text-decoration:none; }
.gp-pp img { max-width:100%; }

/* Fil d'Ariane */
.gp-pp .gp-pp__crumbs { display:flex; flex-wrap:wrap; gap:4px 8px; align-items:center; line-height:1.5; font-family:var(--pp-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--pp-crumb); padding-bottom:18px; border-bottom:1px solid var(--pp-rule); }
.gp-pp .gp-pp__crumbs a, .gp-pp .gp-pp__crumbs span { line-height:1.5; margin:0; padding:0; }
.gp-pp .gp-pp__crumbs a { font-family:var(--pp-mono); font-size:11px; font-weight:400; letter-spacing:.06em; text-transform:uppercase; color:var(--pp-crumb); }
.gp-pp .gp-pp__crumbs a:hover { color:var(--pp-accent); }
.gp-pp .gp-pp__crumb-cur { color:var(--pp-primary); }

/* Héro : galerie + informations */
/* Image à gauche (colonne étroite, hauteur limitée à l'écran), informations à droite :
   titre, description, bouton et références restent au-dessus de la ligne de flottaison. */
.gp-pp .gp-pp__hero { display:grid; grid-template-columns:minmax(260px, 5fr) minmax(0, 7fr); gap:44px; padding-top:28px; align-items:start; }

.gp-pp .gp-pp__gallery { display:flex; flex-direction:column; gap:14px; min-width:0; }
.gp-pp .gp-pp__gallery--left { flex-direction:row-reverse; }
.gp-pp .gp-pp__gallery--left .gp-pp__thumbs { flex-direction:column; flex-wrap:nowrap; }
.gp-pp .gp-pp__gallery { position:sticky; top:24px; }
.gp-pp .gp-pp__stage { flex:1; min-width:0; position:relative; aspect-ratio:1/1; max-height:min(520px, 62vh); background:#fff; border:1px solid var(--pp-line); border-radius:8px; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.gp-pp .gp-pp__img { display:none; width:86%; height:86%; object-fit:contain; animation:gpPpFade .2s ease; }
.gp-pp .gp-pp__img.is-active { display:block; }
.gp-pp .gp-pp__noimg { position:absolute; inset:0; background:repeating-linear-gradient(135deg,#E3E8E3 0 10px,#EEF1ED 10px 20px); display:flex; align-items:center; justify-content:center; }
.gp-pp .gp-pp__noimg span { font-family:var(--pp-mono); font-size:11px; letter-spacing:.12em; color:var(--pp-muted); text-align:center; background:var(--pp-paper); padding:6px 12px; border-radius:3px; text-transform:uppercase; }
.gp-pp .gp-pp__counter { position:absolute; bottom:14px; right:14px; font-family:var(--pp-mono); font-size:10.5px; color:var(--pp-muted); background:#fff; border:1px solid var(--pp-line); padding:4px 9px; border-radius:3px; }
.gp-pp button.gp-pp__nav { position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; padding:0; border-radius:50%; border:1px solid var(--pp-line); background:#fff; color:var(--pp-primary); font-family:var(--pp-sans); font-size:18px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:none; }
.gp-pp button.gp-pp__nav:hover, .gp-pp button.gp-pp__nav:focus-visible { background:var(--pp-chip); color:var(--pp-primary); border-color:var(--pp-line); }
.gp-pp button.gp-pp__nav--prev { left:12px; }
.gp-pp button.gp-pp__nav--next { right:12px; }
.gp-pp .gp-pp__thumbs { display:flex; flex-direction:row; gap:10px; flex-wrap:wrap; }
.gp-pp button.gp-pp__thumb { width:78px; height:78px; padding:0; border-radius:6px; overflow:hidden; cursor:pointer; background:#fff; border:2px solid var(--pp-line); display:flex; align-items:center; justify-content:center; box-shadow:none; }
.gp-pp button.gp-pp__thumb:hover { background:#fff; border-color:var(--pp-chip-line); }
.gp-pp button.gp-pp__thumb.is-active { border-color:var(--pp-primary); }
.gp-pp button.gp-pp__thumb img { width:88%; height:88%; object-fit:contain; }

.gp-pp .gp-pp__info { display:flex; flex-direction:column; min-width:0; }
.gp-pp .gp-pp__chips { display:flex; flex-wrap:wrap; gap:8px; }
.gp-pp a.gp-pp__chip, .gp-pp span.gp-pp__chip { font-family:var(--pp-mono); font-size:10.5px; font-weight:400; line-height:1.3; letter-spacing:.12em; text-transform:uppercase; color:var(--pp-primary); background:var(--pp-chip); border:1px solid var(--pp-chip-line); padding:5px 10px; border-radius:3px; }
.gp-pp a.gp-pp__chip--solid { color:#fff; background:var(--pp-primary); border-color:var(--pp-primary); }
.gp-pp span.gp-pp__chip--bio { color:#fff; background:var(--pp-green); border-color:var(--pp-green); }
.gp-pp a.gp-pp__chip:hover { color:var(--pp-accent); }
.gp-pp a.gp-pp__chip--solid:hover { color:#fff; background:var(--pp-dark); }
.gp-pp .gp-pp__brand { font-family:var(--pp-mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--pp-accent); margin-top:18px; }
.gp-pp h1.gp-pp__title { font-family:var(--pp-serif); font-weight:400; font-style:normal; font-size:clamp(30px, 3.2vw, 44px); line-height:1.05; letter-spacing:0; text-transform:none; margin:18px 0 0; color:var(--pp-dark); text-wrap:balance; }
.gp-pp .gp-pp__brand + h1.gp-pp__title { margin-top:8px; }
.gp-pp p.gp-pp__short { font-family:var(--pp-sans); font-size:16px; line-height:1.55; color:var(--pp-text); margin:14px 0 0; max-width:62ch; text-wrap:pretty; }

.gp-pp .gp-pp__cta { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; align-items:center; }
.gp-pp button.gp-pp__btn { font-family:var(--pp-head); font-weight:700; font-size:15px; line-height:1.2; letter-spacing:.02em; text-transform:none; color:var(--pp-cream); background:var(--pp-dark); border:none; padding:16px 26px; border-radius:5px; cursor:pointer; display:inline-flex; align-items:center; gap:12px; box-shadow:none; transition:background .15s; }
.gp-pp button.gp-pp__btn span { color:var(--pp-gold); font-size:17px; }
.gp-pp button.gp-pp__btn:hover, .gp-pp button.gp-pp__btn:focus-visible { background:var(--pp-primary); color:var(--pp-cream); }
.gp-pp button.gp-pp__btn[disabled] { opacity:.6; cursor:wait; }
.gp-pp .gp-pp__cta-note { font-size:12.5px; color:var(--pp-muted); line-height:1.45; max-width:26ch; }

/* Tableau des références */
.gp-pp .gp-pp__refs { margin-top:28px; }
.gp-pp .gp-pp__refs-head { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.gp-pp .gp-pp__refs-title { font-family:var(--pp-head); font-weight:700; font-size:13px; letter-spacing:.05em; text-transform:uppercase; color:var(--pp-dark); }
.gp-pp .gp-pp__rule { flex:1; height:1px; background:var(--pp-rule); }
.gp-pp .gp-pp__refs-count { font-family:var(--pp-mono); font-size:11px; color:var(--pp-crumb); }
.gp-pp .gp-pp__table { border:1px solid var(--pp-line); border-radius:6px; overflow:hidden; background:#fff; }
.gp-pp .gp-pp__tr { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr) minmax(0,.8fr); border-top:1px solid var(--pp-row); background:#fff; align-items:center; }
.gp-pp .gp-pp__tr--alt { background:var(--pp-paper); }
.gp-pp .gp-pp__tr > div + div { border-left:1px solid var(--pp-row); }
.gp-pp .gp-pp__tr--head { border-top:0; background:var(--pp-primary); color:#EAF0EC; font-family:var(--pp-head); font-weight:600; font-size:12px; letter-spacing:.02em; }
.gp-pp .gp-pp__tr--head > div { padding:11px 16px; }
.gp-pp .gp-pp__tr--head > div + div { border-left-color:rgba(255,255,255,.12); }
.gp-pp .gp-pp__ref { padding:16px; font-family:var(--pp-mono); font-weight:500; font-size:14px; color:var(--pp-primary); overflow-wrap:anywhere; }
.gp-pp .gp-pp__ean { padding:12px 16px; display:flex; flex-direction:column; align-items:flex-start; gap:3px; }
.gp-pp .gp-pp__bc { display:block; line-height:0; }
.gp-pp .gp-pp__bc svg { display:block; width:150px; height:46px; max-width:100%; }
.gp-pp .gp-pp__ean-txt { font-family:var(--pp-mono); font-size:12px; letter-spacing:.14em; color:#3C4038; }
.gp-pp .gp-pp__cond { padding:16px; font-family:var(--pp-head); font-weight:700; font-size:15px; color:var(--pp-dark); }
.gp-pp .gp-pp__lbl { display:none; }

/* Documentations associées (téléchargement, sans miniature) */
.gp-pp .gp-pp__docs { margin-top:26px; }
.gp-pp ul.gp-pp__doclist { list-style:none; margin:0; padding:0; border:1px solid var(--pp-line); border-radius:6px; overflow:hidden; background:#fff; }
.gp-pp ul.gp-pp__doclist li { margin:0; padding:0; border-top:1px solid var(--pp-row); }
.gp-pp ul.gp-pp__doclist li:first-child { border-top:0; }
.gp-pp a.gp-pp__doc { display:flex; align-items:center; gap:14px; padding:12px 16px; color:var(--pp-ink); font-family:var(--pp-sans); font-size:14px; font-weight:400; letter-spacing:0; text-transform:none; transition:background .15s; }
.gp-pp a.gp-pp__doc:hover, .gp-pp a.gp-pp__doc:focus-visible { background:var(--pp-paper); color:var(--pp-ink); }
.gp-pp .gp-pp__doc-ext { flex:none; min-width:42px; text-align:center; font-family:var(--pp-mono); font-size:10.5px; letter-spacing:.08em; color:#fff; background:var(--pp-primary); border-radius:3px; padding:5px 6px; }
.gp-pp .gp-pp__doc-body { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.gp-pp .gp-pp__doc-name { font-family:var(--pp-head); font-weight:600; font-size:14.5px; line-height:1.3; color:var(--pp-dark); }
.gp-pp .gp-pp__doc-meta { font-family:var(--pp-mono); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--pp-crumb); }
.gp-pp .gp-pp__doc-dl { flex:none; font-family:var(--pp-head); font-weight:700; font-size:13px; color:var(--pp-primary); white-space:nowrap; }
.gp-pp a.gp-pp__doc:hover .gp-pp__doc-dl { color:var(--pp-accent); }
@media (max-width:640px) { .gp-pp .gp-pp__doc-dl { font-size:0; } .gp-pp .gp-pp__doc-dl span { font-size:16px; } }

/* Description longue */
.gp-pp .gp-pp__desc { margin-top:64px; display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap:40px; border-top:2px solid var(--pp-primary); padding-top:30px; }
.gp-pp .gp-pp__kicker { font-family:var(--pp-mono); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--pp-accent); }
.gp-pp .gp-pp__kicker--green { color:var(--pp-green); }
.gp-pp h2.gp-pp__h2 { font-family:var(--pp-head); font-weight:800; font-style:normal; font-size:26px; line-height:1.15; letter-spacing:-.01em; text-transform:none; margin:8px 0 0; color:var(--pp-primary); }
.gp-pp h2.gp-pp__h2--serif { font-family:var(--pp-serif); font-weight:400; font-size:34px; line-height:1.05; letter-spacing:0; color:var(--pp-dark); }
.gp-pp .gp-pp__desc-body { grid-column:span 2; min-width:0; max-width:72ch; font-family:var(--pp-serif); font-size:21px; line-height:1.55; color:var(--pp-dark); text-wrap:pretty; }
.gp-pp .gp-pp__desc-body p { font-family:var(--pp-serif); font-size:21px; line-height:1.55; color:var(--pp-dark); margin:0 0 .8em; }
.gp-pp .gp-pp__desc-body p:last-child { margin-bottom:0; }
.gp-pp .gp-pp__desc-body ul, .gp-pp .gp-pp__desc-body ol { margin:0 0 .8em 1.2em; padding:0; }

/* Produits suggérés */
.gp-pp .gp-pp__sugg { margin-top:72px; }
.gp-pp .gp-pp__sugg-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:20px; }
.gp-pp a.gp-pp__more { font-family:var(--pp-head); font-weight:600; font-size:14px; letter-spacing:0; text-transform:none; color:var(--pp-primary); border-bottom:1px solid var(--pp-gold); padding-bottom:2px; }
.gp-pp a.gp-pp__more:hover { color:var(--pp-accent); }
.gp-pp .gp-pp__sugg-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap:18px; }
.gp-pp a.gp-pp__card { border:1px solid var(--pp-line); border-radius:6px; overflow:hidden; background:#fff; display:flex; flex-direction:column; color:inherit; font-family:var(--pp-sans); font-size:14px; font-weight:400; letter-spacing:0; text-transform:none; transition:border-color .15s, transform .15s; }
.gp-pp a.gp-pp__card:hover { border-color:var(--pp-primary); transform:translateY(-2px); color:inherit; }
.gp-pp .gp-pp__card-media { aspect-ratio:1/1; background:#fff; border-bottom:1px solid var(--pp-row); position:relative; display:flex; align-items:center; justify-content:center; }
.gp-pp .gp-pp__card-media img { width:82%; height:82%; object-fit:contain; }
.gp-pp .gp-pp__card-ph { position:absolute; inset:0; background:repeating-linear-gradient(135deg,#E3E8E3 0 8px,#EEF1ED 8px 16px); display:flex; align-items:center; justify-content:center; font-family:var(--pp-mono); font-size:9.5px; color:#8A938D; letter-spacing:.1em; }
.gp-pp .gp-pp__card-badge { position:absolute; top:10px; left:10px; font-family:var(--pp-mono); font-size:9px; letter-spacing:.12em; color:#fff; background:var(--pp-green); padding:3px 7px; border-radius:3px; }
.gp-pp .gp-pp__card-body { padding:14px 15px 16px; display:flex; flex-direction:column; flex:1; gap:4px; }
.gp-pp .gp-pp__card-sub { font-family:var(--pp-mono); font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--pp-crumb); }
.gp-pp .gp-pp__card-name { font-family:var(--pp-head); font-weight:700; font-size:15px; line-height:1.25; color:var(--pp-primary); text-transform:none; }
.gp-pp .gp-pp__card-foot { margin-top:auto; padding-top:10px; display:flex; justify-content:space-between; align-items:center; gap:8px; font-family:var(--pp-mono); font-size:10.5px; color:var(--pp-muted); }
.gp-pp .gp-pp__card-go { color:var(--pp-accent); white-space:nowrap; }

/* Popup */
.gp-pp.gp-pp__overlay { position:fixed; inset:0; max-width:none; margin:0; padding:20px; background:rgba(20,32,26,.62); display:flex; align-items:center; justify-content:center; z-index:100000; animation:gpPpFade .18s ease; }
.gp-pp.gp-pp__overlay[hidden] { display:none; }
.gp-pp .gp-pp__modal { width:100%; max-width:560px; max-height:calc(100vh - 40px); overflow:auto; background:#fff; border-radius:8px; box-shadow:0 24px 60px rgba(0,0,0,.28); animation:gpPpRise .22s ease; }
.gp-pp .gp-pp__modal-head { background:var(--pp-dark); color:var(--pp-cream); padding:22px 26px; display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.gp-pp .gp-pp__modal-ky { font-family:var(--pp-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--pp-gold); }
.gp-pp .gp-pp__modal-t { font-family:var(--pp-serif); font-size:24px; line-height:1.1; margin-top:6px; color:var(--pp-cream); }
.gp-pp .gp-pp__modal-refs { font-family:var(--pp-mono); font-size:11px; color:#9FB6A4; margin-top:6px; }
.gp-pp button.gp-pp__close { width:44px; height:44px; flex:none; padding:0; border-radius:50%; border:1px solid rgba(243,239,228,.25); background:transparent; color:var(--pp-cream); font-family:var(--pp-sans); font-size:20px; line-height:1; cursor:pointer; box-shadow:none; }
.gp-pp button.gp-pp__close:hover, .gp-pp button.gp-pp__close:focus-visible { background:rgba(243,239,228,.1); color:var(--pp-cream); border-color:rgba(243,239,228,.25); }
.gp-pp .gp-pp__form { padding:24px 26px 26px; display:flex; flex-direction:column; gap:16px; margin:0; }
.gp-pp .gp-pp__form[hidden], .gp-pp .gp-pp__sent[hidden] { display:none; }
.gp-pp .gp-pp__hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.gp-pp label.gp-pp__field { display:flex; flex-direction:column; gap:6px; margin:0; }
.gp-pp .gp-pp__flabel { display:flex; justify-content:space-between; gap:10px; font-family:var(--pp-head); font-weight:600; font-size:13px; color:var(--pp-dark); }
.gp-pp .gp-pp__err { font-family:var(--pp-mono); font-weight:400; font-size:11px; color:var(--pp-err); }
.gp-pp .gp-pp__field input, .gp-pp .gp-pp__field textarea { width:100%; font-family:var(--pp-sans); font-size:15px; color:var(--pp-ink); padding:12px 14px; min-height:46px; border:1px solid var(--pp-line); border-radius:5px; background:var(--pp-paper); outline:none; box-shadow:none; margin:0; }
.gp-pp .gp-pp__field textarea { resize:vertical; min-height:120px; }
.gp-pp .gp-pp__field input:focus, .gp-pp .gp-pp__field textarea:focus { border-color:var(--pp-primary); background:#fff; }
.gp-pp .gp-pp__field.is-invalid input, .gp-pp .gp-pp__field.is-invalid textarea { border-color:var(--pp-err); }
.gp-pp .gp-pp__formerr { margin:0; font-size:13px; color:var(--pp-err); }
.gp-pp .gp-pp__form-foot { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-top:4px; }
.gp-pp .gp-pp__form-foot > span { font-size:11.5px; color:var(--pp-muted); line-height:1.5; max-width:30ch; }
.gp-pp .gp-pp__form-foot button.gp-pp__btn { padding:15px 26px; gap:10px; }
.gp-pp .gp-pp__sent { padding:40px 30px 36px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:14px; }
.gp-pp .gp-pp__check { width:64px; height:64px; border-radius:50%; border:2px solid var(--pp-green); color:var(--pp-green); display:flex; align-items:center; justify-content:center; font-size:28px; font-family:'DejaVu Sans',var(--pp-sans); }
.gp-pp .gp-pp__sent-t { font-family:var(--pp-serif); font-size:26px; color:var(--pp-dark); }
.gp-pp .gp-pp__sent p { font-size:14px; line-height:1.6; color:var(--pp-text); margin:0; max-width:38ch; }
.gp-pp button.gp-pp__btn2 { margin-top:8px; font-family:var(--pp-head); font-weight:700; font-size:14px; text-transform:none; letter-spacing:0; color:var(--pp-dark); background:var(--pp-chip); border:1px solid var(--pp-chip-line); padding:13px 24px; border-radius:5px; cursor:pointer; box-shadow:none; }
.gp-pp button.gp-pp__btn2:hover { background:#E3E8E3; color:var(--pp-dark); }
body.gp-pp-lock { overflow:hidden; }

@keyframes gpPpFade { from { opacity:0; } to { opacity:1; } }
@keyframes gpPpRise { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }

/* Mobile */
@media (max-width:900px) {
	.gp-pp .gp-pp__desc-body { grid-column:auto; }
	.gp-pp .gp-pp__hero { grid-template-columns:minmax(0, 1fr); gap:28px; }
	.gp-pp .gp-pp__gallery { position:static; }
	.gp-pp .gp-pp__stage { max-height:none; max-width:560px; width:100%; margin:0 auto; }
}
@media (max-width:640px) {
	.gp-pp { padding:16px 16px 48px; }
	.gp-pp .gp-pp__hero { gap:28px; padding-top:22px; }
	.gp-pp .gp-pp__gallery--left { flex-direction:column; }
	.gp-pp .gp-pp__gallery--left .gp-pp__thumbs { flex-direction:row; flex-wrap:wrap; }
	.gp-pp button.gp-pp__thumb { width:62px; height:62px; }
			.gp-pp .gp-pp__brand { margin-top:18px; }
	.gp-pp h1.gp-pp__title { margin-top:18px; }
	.gp-pp .gp-pp__cta { flex-direction:column; align-items:stretch; }
	.gp-pp .gp-pp__cta button.gp-pp__btn { justify-content:center; }
	.gp-pp .gp-pp__cta-note { max-width:none; text-align:center; }
	/* Références en cartes empilées */
	.gp-pp .gp-pp__tr--head { display:none; }
	.gp-pp .gp-pp__tr { grid-template-columns:1fr 1fr; }
	.gp-pp .gp-pp__tr:nth-child(2) { border-top:0; }
	.gp-pp .gp-pp__tr > div + div { border-left:0; }
	.gp-pp .gp-pp__ref { padding:14px 14px 4px; }
	.gp-pp .gp-pp__cond { padding:14px 14px 4px; text-align:right; }
	.gp-pp .gp-pp__ean { grid-column:1 / -1; grid-row:2; padding:6px 14px 14px; }
	.gp-pp .gp-pp__lbl { display:block; font-family:var(--pp-mono); font-weight:400; font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--pp-crumb); margin-bottom:4px; }
	.gp-pp .gp-pp__ean .gp-pp__lbl { margin-bottom:2px; }
	.gp-pp .gp-pp__desc { margin-top:44px; gap:18px; }
	.gp-pp .gp-pp__desc-body, .gp-pp .gp-pp__desc-body p { font-size:18px; }
	.gp-pp .gp-pp__sugg { margin-top:48px; }
	.gp-pp h2.gp-pp__h2--serif { font-size:28px; }
	.gp-pp .gp-pp__sugg-grid { grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
	.gp-pp .gp-pp__card-body { padding:12px; }
	.gp-pp .gp-pp__card-foot { flex-direction:column; align-items:flex-start; gap:2px; }
	.gp-pp.gp-pp__overlay { padding:0; align-items:flex-end; }
	.gp-pp .gp-pp__modal { max-width:none; max-height:94vh; border-radius:12px 12px 0 0; }
	.gp-pp .gp-pp__modal-head { padding:18px 18px; }
	.gp-pp .gp-pp__form { padding:18px; }
	.gp-pp .gp-pp__form-foot button.gp-pp__btn { width:100%; justify-content:center; }
}
@media (prefers-reduced-motion:reduce) {
	.gp-pp *, .gp-pp.gp-pp__overlay { animation:none !important; transition:none !important; }
}

/* Bouton « Télécharger le kit média » [gp_kit_media] */
.gp-pp.gp-kit { max-width:none; margin:0; padding:0; display:inline-flex; flex-wrap:wrap; align-items:center; gap:10px 14px; width:auto; }
.gp-pp.gp-kit a.gp-kit__btn { display:inline-flex; align-items:center; gap:10px; font-family:var(--pp-head); font-weight:700; font-size:15px; line-height:1.2; letter-spacing:.02em; text-transform:none; color:var(--pp-dark); background:#fff; border:1.5px solid var(--pp-dark); padding:14px 22px; border-radius:5px; transition:background .15s, color .15s; }
.gp-pp.gp-kit a.gp-kit__btn svg { color:var(--pp-accent); flex:none; }
.gp-pp.gp-kit a.gp-kit__btn:hover, .gp-pp.gp-kit a.gp-kit__btn:focus-visible { background:var(--pp-dark); color:var(--pp-cream); }
.gp-pp.gp-kit a.gp-kit__btn:hover svg { color:var(--pp-gold); }
.gp-pp.gp-kit .gp-kit__meta { font-family:var(--pp-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--pp-muted); }
@media (max-width:640px) { .gp-pp.gp-kit { display:flex; } .gp-pp.gp-kit a.gp-kit__btn { flex:1; justify-content:center; } }
