/* MARVEL — feuille de style unique (thème enfant). Contrastes AA vérifiés (07-WIREFRAME-LANDING.md § 18). */
:root {
	--noir: #0B0B0C; --anth: #1C1D21; --anth2: #2A2C31; --gris-txt: #B4B8C0; --gris: #8A8F98;
	--blanc: #FFFFFF; --clair: #F3F3F4; --txt: #16171A; --txt2: #4A4E57;
	--orange: #E1703D; --orange-h: #F08A55; --re: #C8102E; --re-c: #FF5A6A; --bl: #0B5FB4; --bl-c: #5AA9FF;
	--focus: #FFB547; --ambre: #8A5A00; --ambre-c: #F2B84B;
	--wide: 1280px; --gut: clamp(16px, 4vw, 40px); --hdr: 68px;
	--f: Archivo, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--hdr) + 12px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; animation: none !important; } }
body { margin: 0; font-family: var(--f); color: var(--txt); background: var(--blanc); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.marvel-skip { position: absolute; left: -9999px; top: 8px; z-index: 1000; background: var(--orange); color: var(--blanc); padding: 10px 16px; font-weight: 800; }
.marvel-skip:focus { left: 8px; }
.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > * + * { margin-block-start: 0 !important; }
main.marvel-main { margin: 0 !important; }

/* ---------- Typo ---------- */
.marvel-xl, .marvel-h2, .marvel-main h2.wp-block-heading { font-stretch: 112%; font-weight: 900; text-transform: uppercase; letter-spacing: -0.005em; line-height: 1.02; }
.marvel-h2, .marvel-main h2.wp-block-heading { font-size: clamp(1.9rem, 1.2rem + 2.6vw, 3.4rem); margin: 0 0 .6em; }
.marvel-main h3 { font-stretch: 108%; font-weight: 800; font-size: clamp(1.15rem, 1rem + .6vw, 1.5rem); text-transform: uppercase; margin: 0 0 .5em; }
.marvel-kicker { font-weight: 800; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; color: var(--accent-text, var(--ptg-red)); margin: 0 0 .9em; }
.marvel-lead { font-size: clamp(1.05rem, 1rem + .3vw, 1.25rem); color: var(--txt2); max-width: 62ch; }
.marvel-note { font-size: .88rem; color: var(--txt2); }

/* ---------- Boutons ---------- */
.marvel-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 48px; padding: .8em 1.5em; font: inherit; font-weight: 900; font-stretch: 112%; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; border: 2px solid transparent; border-radius: 0; cursor: pointer; transition: background .15s, color .15s, border-color .15s; }
.marvel-btn--primary { background: var(--orange); color: var(--blanc); }
.marvel-btn--primary:hover { background: var(--orange-h); color: var(--blanc); }
.marvel-btn--ghost { background: transparent; color: currentColor; border-color: currentColor; }
.marvel-btn--ghost:hover { background: rgba(127,127,127,.12); }
.marvel-btn--sm { min-height: 40px; padding: .5em 1em; font-size: .85rem; }
.marvel-btn[disabled], .marvel-btn[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }
.wp-block-button__link { border-radius: 0 !important; font-weight: 900; text-transform: uppercase; }

/* ---------- Header ---------- */
header.marvel-site-header { position: sticky; top: 0; z-index: 100; }
.admin-bar header.marvel-site-header { top: 32px; }
.marvel-header { background: var(--noir); color: var(--blanc); border-bottom: 1px solid var(--anth2); }
.marvel-header__in { max-width: var(--wide); margin: 0 auto; padding: 0 var(--gut); height: var(--hdr); display: flex; align-items: center; gap: 28px; }
.marvel-header__logo img { display: block; height: 40px; width: auto; }
.marvel-nav { flex: 1; }
.marvel-nav ul, .marvel-burger ul { list-style: none; margin: 0; padding: 0; }
.marvel-nav ul { display: flex; gap: clamp(12px, 1.6vw, 26px); justify-content: center; }
.marvel-nav a, .marvel-header__cart { color: var(--blanc); text-decoration: none; font-weight: 700; font-size: .86rem; letter-spacing: .06em; text-transform: uppercase; padding: 8px 0; border-bottom: 2px solid transparent; }
.marvel-nav a:hover, .marvel-header__cart:hover { border-color: var(--orange); }
.marvel-header__actions { display: flex; align-items: center; gap: 18px; }
.marvel-burger { display: none; position: relative; }
.marvel-burger summary { list-style: none; cursor: pointer; width: 44px; height: 44px; display: grid; place-content: center; gap: 5px; }
.marvel-burger summary::-webkit-details-marker { display: none; }
.marvel-burger summary span { display: block; width: 24px; height: 2px; background: var(--blanc); }
.marvel-burger nav { position: absolute; right: calc(-1 * var(--gut)); top: 52px; width: min(320px, 100vw); background: var(--noir); border-top: 1px solid var(--anth2); padding: 8px 0 16px; }
.marvel-burger a { display: block; padding: 14px 24px; color: var(--blanc); text-decoration: none; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
@media (max-width: 1080px) { .marvel-nav, .marvel-header__cart { display: none; } .marvel-burger { display: block; } .marvel-header__in { justify-content: space-between; } .marvel-header__actions { margin-left: auto; } }
@media (max-width: 480px) { .marvel-header__logo img { height: 32px; } }

/* ---------- Sections ---------- */
.marvel-section { padding: clamp(56px, 7vw, 112px) var(--gut); }
.marvel-section > .marvel-in, .marvel-in { max-width: var(--wide); margin: 0 auto; }
.marvel-dark { background: var(--anth); color: var(--blanc); }
.marvel-dark .marvel-lead, .marvel-dark .marvel-note { color: var(--gris-txt); }
.marvel-black { background: var(--noir); color: var(--blanc); }
.marvel-black .marvel-lead, .marvel-black .marvel-note { color: var(--gris-txt); }
.marvel-light { background: var(--clair); }
.marvel-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 3vw, 40px); }
.marvel-grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 900px) { .marvel-grid-2 { grid-template-columns: 1fr; } .marvel-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .marvel-grid-4 { grid-template-columns: 1fr; } }

/* ---------- Hero ---------- */
.marvel-hero { position: relative; overflow: hidden; background: radial-gradient(120% 90% at 85% 40%, #34363d 0%, var(--anth) 45%, var(--noir) 100%); color: var(--blanc); padding: clamp(48px, 7vw, 104px) var(--gut) clamp(40px, 6vw, 88px); }
.marvel-hero::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 2px, transparent 2px 22px); pointer-events: none; }
.marvel-hero__in { position: relative; max-width: var(--wide); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.marvel-hero h1 { font-stretch: 125%; font-weight: 900; text-transform: uppercase; font-size: clamp(2.3rem, 1rem + 5.2vw, 5.4rem); line-height: .95; margin: 0 0 .35em; letter-spacing: -0.01em; }
.marvel-hero h1 .marvel-hero__brand { display: block; color: var(--accent-text, var(--ptg-red)); }
.marvel-hero h1 .marvel-hero__claim { display: block; font-size: .5em; font-stretch: 112%; line-height: 1.05; margin-top: .3em; }
.marvel-hero__sub { font-size: clamp(1.05rem, 1rem + .35vw, 1.3rem); color: var(--gris-txt); max-width: 52ch; margin: 0 0 1.5em; }
.marvel-hero__chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 1.75em; padding: 0; list-style: none; }
.marvel-hero__chips li { border: 1px solid var(--anth2); background: rgba(0,0,0,.25); padding: .45em .8em; font-weight: 800; font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; }
.marvel-hero__chips .is-re { border-left: 4px solid var(--re); } .marvel-hero__chips .is-bl { border-left: 4px solid var(--bl); }
.marvel-hero__cta { display: flex; flex-wrap: wrap; gap: 14px; }
.marvel-hero__media { position: relative; display: grid; grid-template-columns: 1fr 1fr; align-items: end; }
.marvel-hero__media img { filter: drop-shadow(0 30px 40px rgba(0,0,0,.55)); }
.marvel-hero__media .is-main { grid-column: 1 / -1; }
.marvel-hero__foot { position: relative; max-width: var(--wide); margin: 28px auto 0; color: var(--gris); font-size: .8rem; }
@media (max-width: 900px) { .marvel-hero__in { grid-template-columns: 1fr; } .marvel-hero__media { order: -1; max-width: 560px; } }

/* ---------- Gammes ---------- */
.marvel-gamme { position: relative; background: var(--blanc); border: 1px solid #dcdde0; display: flex; flex-direction: column; }
.marvel-gamme::before { content: ""; height: 8px; background: var(--bl); }
.marvel-gamme--re::before { background: var(--re); }
.marvel-gamme__media { background: var(--clair); aspect-ratio: 4 / 3; display: grid; place-items: center; padding: 16px; }
.marvel-gamme__media img { max-height: 100%; object-fit: contain; }
.marvel-gamme__body { padding: 24px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.marvel-gamme__title { font-stretch: 118%; font-weight: 900; text-transform: uppercase; font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem); margin: 0; }
.marvel-gamme--re .marvel-gamme__title span { color: var(--re); } .marvel-gamme--bl .marvel-gamme__title span { color: var(--bl); }
.marvel-gamme ul { margin: 0; padding-left: 1.1em; color: var(--txt2); }
.marvel-gamme .marvel-btn { margin-top: auto; align-self: flex-start; }

/* ---------- Sélecteur ---------- */
.marvel-choisir { background: var(--clair); }
.marvel-selector { display: grid; gap: 22px; }
.marvel-step { border: 0; margin: 0; padding: 0; min-width: 0; }
.marvel-step__label { font-weight: 900; text-transform: uppercase; letter-spacing: .08em; font-size: .85rem; margin-bottom: 10px; padding: 0; }
.marvel-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.marvel-chips__row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; width: 100%; }
.marvel-chips__row--small { margin-top: 6px; opacity: .9; }
.marvel-chips__lbl { font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--txt2); margin-right: 6px; }
.marvel-chip { font: inherit; cursor: pointer; background: var(--blanc); color: var(--txt); border: 2px solid #c9cbd0; border-radius: 0; padding: 10px 14px; min-height: 44px; display: inline-flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.marvel-chip:hover { border-color: var(--txt); }
.marvel-chip.is-on { border-color: var(--noir); background: var(--noir); color: var(--blanc); }
.marvel-chip--series { min-width: 220px; }
.marvel-chip--bl.is-on { background: var(--bl); border-color: var(--bl); } .marvel-chip--re.is-on { background: var(--re); border-color: var(--re); }
.marvel-chip__t { font-weight: 900; font-stretch: 112%; text-transform: uppercase; font-size: 1.05rem; }
.marvel-chip__s { font-size: .82rem; opacity: .85; }
.marvel-chip--n { min-width: 52px; align-items: center; font-weight: 900; font-size: 1.05rem; }
.marvel-chips__row--small .marvel-chip--n { min-width: 44px; font-size: .95rem; padding: 6px 10px; }
.marvel-chip.is-contact { border-style: dashed; }
.marvel-chip.is-contact.is-on { border-style: solid; }
.marvel-hint { color: var(--txt2); margin: 0; }
.marvel-kit { background: var(--blanc); border: 1px solid #dcdde0; padding: clamp(18px, 3vw, 32px); }
.marvel-kit__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: clamp(18px, 3vw, 40px); align-items: start; }
@media (max-width: 860px) { .marvel-kit__grid { grid-template-columns: 1fr; } }
.marvel-kit__media { margin: 0; background: var(--clair); padding: 12px; }
.marvel-kit__media figcaption { font-size: .8rem; color: var(--txt2); margin-top: 8px; }
.marvel-kit__title { font-stretch: 115%; font-weight: 900; text-transform: uppercase; font-size: clamp(1.35rem, 1.1rem + 1vw, 1.9rem) !important; margin: 0 0 4px !important; }
.marvel-kit--bl .marvel-kit__title { border-left: 6px solid var(--bl); padding-left: 12px; } .marvel-kit--re .marvel-kit__title { border-left: 6px solid var(--re); padding-left: 12px; }
.marvel-kit__ref { margin: 0 0 14px; color: var(--txt2); font-weight: 700; letter-spacing: .04em; }
.marvel-kit__tools { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 16px; }
@media (max-width: 520px) { .marvel-kit__tools { grid-template-columns: 1fr; } }
.marvel-kit__tools li { display: flex; align-items: center; gap: 10px; padding: 6px 0; border-bottom: 1px solid #ececee; font-weight: 600; }
.marvel-kit__tools img { width: 44px; height: 44px; object-fit: contain; background: var(--clair); }
.marvel-tag, .marvel-bl-tag { font-style: normal; margin-left: auto; font-size: .68rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; background: var(--noir); color: var(--blanc); padding: 3px 6px; }
.marvel-kit__energy { font-weight: 700; margin: 8px 0 14px; }
.marvel-kit__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 16px; }
@media (max-width: 640px) { .marvel-kit__facts { grid-template-columns: 1fr; } }
.marvel-kit__facts div { background: var(--clair); padding: 10px 12px; }
.marvel-kit__facts dt { font-size: .74rem; text-transform: uppercase; letter-spacing: .06em; color: var(--txt2); font-weight: 800; }
.marvel-kit__facts dd { margin: 2px 0 0; font-weight: 800; }
.marvel-kit__price { font-size: clamp(1.8rem, 1.4rem + 1.4vw, 2.6rem); font-weight: 900; font-stretch: 112%; margin: 0 0 14px; display: flex; flex-direction: column; }
.marvel-kit__price-note { font-size: .82rem; font-weight: 500; color: var(--txt2); font-stretch: 100%; }
.marvel-kit__price--contact { font-size: 1.4rem; }
.marvel-kit__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.marvel-kit__status, .marvel-buybox__status { min-height: 1.4em; font-weight: 700; margin: 10px 0 0; }
.marvel-pending-box { border: 2px solid var(--ambre); background: #fff7e6; padding: 14px 16px; margin: 0 0 14px; }
.marvel-pending-box::before { content: "⚠ "; font-weight: 900; color: var(--ambre); }
.marvel-pending { color: var(--ambre); font-weight: 700; }

/* ---------- Tableaux ---------- */
.marvel-table-wrap { overflow-x: auto; margin: 0 0 1em; }
.marvel-table { width: 100%; border-collapse: collapse; font-size: .95rem; background: var(--blanc); color: var(--txt); min-width: 520px; }
.marvel-table caption { text-align: left; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; padding: 0 0 10px; color: inherit; }
.marvel-dark .marvel-table caption, .marvel-black .marvel-table caption { color: var(--blanc); }
.marvel-table th, .marvel-table td { padding: 12px 14px; border-bottom: 1px solid #e3e4e7; text-align: left; vertical-align: top; }
.marvel-table thead th { background: var(--noir); color: var(--blanc); font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; }
.marvel-table tbody th { font-weight: 800; }

/* ---------- Technologie / batteries / chantier ---------- */
.marvel-card { background: var(--anth2); padding: 24px; border-top: 4px solid var(--orange); }
.marvel-card h3 { color: var(--blanc); }
.marvel-card p { color: var(--gris-txt); margin: 0; }
.marvel-light .marvel-card, .marvel-section:not(.marvel-dark):not(.marvel-black) .marvel-card { background: var(--blanc); border: 1px solid #dcdde0; border-top: 4px solid var(--orange); }
.marvel-section:not(.marvel-dark):not(.marvel-black) .marvel-card h3 { color: var(--txt); }
.marvel-section:not(.marvel-dark):not(.marvel-black) .marvel-card p { color: var(--txt2); }
.marvel-batt { padding: 24px; background: var(--blanc); border: 1px solid #dcdde0; }
.marvel-batt--re { border-top: 6px solid var(--re); } .marvel-batt--bl { border-top: 6px solid var(--bl); }
.marvel-batt img { display: block; max-width: 260px; margin: 0 auto 12px; }
.marvel-chantier { position: relative; background: linear-gradient(180deg, rgba(11,11,12,.55), rgba(11,11,12,.92)), repeating-linear-gradient(45deg, #26282d 0 14px, #1c1d21 14px 28px); color: var(--blanc); text-align: left; }
.marvel-chantier .marvel-usages { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 0 0 28px; }
.marvel-chantier .marvel-usages li { border: 2px solid var(--orange); padding: 8px 14px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.marvel-chantier__media { margin-top: 28px; }
.marvel-chantier__media img { width: 100%; max-height: 520px; object-fit: contain; }

/* ---------- Pro + formulaire ---------- */
.marvel-pro-cards .marvel-card { border-top-color: var(--orange); }
.mpf { background: var(--blanc); color: var(--txt); padding: clamp(18px, 3vw, 32px); border: 1px solid #dcdde0; }
.mpf label, .mpf legend { font-weight: 700; font-size: .92rem; display: block; margin-bottom: 4px; }
.mpf input[type=text], .mpf input:not([type]), .mpf input[type=email], .mpf input[type=tel], .mpf input[type=number], .mpf select, .mpf textarea { width: 100%; box-sizing: border-box; font: inherit; padding: 11px 12px; border: 2px solid #b8bac0; border-radius: 0; background: var(--blanc); color: var(--txt); min-height: 46px; }
.mpf input:focus, .mpf select:focus, .mpf textarea:focus { border-color: var(--noir); }
.mpf [aria-invalid=true] { border-color: var(--re) !important; }
.mpf-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
@media (max-width: 640px) { .mpf-grid { grid-template-columns: 1fr; } }
.mpf-row { border: 0; padding: 0; margin: 0 0 16px; }
.mpf-radios label, .mpf-checks label { display: inline-flex; gap: 8px; align-items: center; font-weight: 500; margin: 4px 18px 4px 0; }
.mpf-consent label { font-weight: 500; display: flex; gap: 10px; align-items: flex-start; }
.mpf-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.mpf-err { color: var(--re); font-weight: 700; font-size: .88rem; margin: 4px 0 0; }
.mpf-help { display: block; font-size: .82rem; color: var(--txt2); margin-top: 4px; }
.mpf-errors { border: 2px solid var(--re); background: #fdecee; color: var(--txt); padding: 12px 16px; margin-bottom: 16px; }
.mpf-success { border: 2px solid #1c7c3c; background: #eaf7ee; color: var(--txt); padding: 12px 16px; margin-bottom: 16px; }
.mpf-req { font-size: .85rem; color: var(--txt2); }

/* ---------- Buybox ---------- */
.marvel-buybox { display: grid; grid-template-columns: 1.3fr 1fr 1fr .6fr; gap: 16px; align-items: end; background: var(--anth2); padding: clamp(18px, 3vw, 28px); }
.marvel-buybox label, .marvel-buybox__label { display: block; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--gris-txt); margin-bottom: 6px; }
.marvel-buybox select, .marvel-buybox input { width: 100%; box-sizing: border-box; font: inherit; font-weight: 700; padding: 11px 12px; min-height: 48px; border: 0; border-radius: 0; background: var(--blanc); color: var(--txt); }
.marvel-buybox output { display: block; font-size: 1.6rem; font-weight: 900; font-stretch: 112%; color: var(--blanc); min-height: 48px; line-height: 48px; }
.marvel-buybox__cta { grid-column: 1 / -1; }
.marvel-buybox__cta .marvel-btn { width: 100%; font-size: 1.05rem; min-height: 56px; }
.marvel-buybox__info, .marvel-buybox__status { grid-column: 1 / -1; margin: 0; color: var(--gris-txt); font-size: .9rem; }
.marvel-buybox__status { color: var(--blanc); }
.marvel-buybox__status a, .marvel-dark a, .marvel-black a { color: var(--ptg-red-on-dark); }
@media (max-width: 780px) { .marvel-buybox { grid-template-columns: 1fr 1fr; } .marvel-buybox__price { grid-column: 1; } }

/* ---------- FAQ ---------- */
.marvel-faq { max-width: 860px; }
.marvel-faq__group { margin: 28px 0 10px !important; font-size: 1rem !important; color: var(--txt2); letter-spacing: .08em; }
.marvel-faq__item { border-bottom: 1px solid #dcdde0; }
.marvel-faq__item summary { cursor: pointer; list-style: none; padding: 16px 40px 16px 0; font-weight: 800; position: relative; }
.marvel-faq__item summary::-webkit-details-marker { display: none; }
.marvel-faq__item summary::after { content: "+"; position: absolute; right: 6px; top: 12px; font-size: 1.5rem; font-weight: 900; color: var(--accent-text, var(--ptg-red)); }
.marvel-faq__item[open] summary::after { content: "–"; }
.marvel-faq__a p { margin: 0 0 16px; color: var(--txt2); }

/* ---------- Garantie / Livraison ---------- */
.marvel-garantie__box { border: 2px solid var(--txt); padding: 20px 22px; background: var(--blanc); }
.marvel-ship-steps { list-style: none; margin: 0 0 28px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; counter-reset: s; }
.marvel-ship-steps li { background: var(--anth2); padding: 18px; counter-increment: s; }
.marvel-ship-steps li::before { content: counter(s, decimal-leading-zero); display: block; font-weight: 900; font-size: 1.6rem; color: var(--accent-text, var(--ptg-red)); font-stretch: 120%; }
@media (max-width: 760px) { .marvel-ship-steps { grid-template-columns: 1fr; } }
.marvel-quote-info { border-left: 4px solid var(--orange); background: var(--clair); padding: 12px 16px; margin: 16px 0; }

/* ---------- Footer ---------- */
footer.marvel-site-footer { margin: 0 !important; }
.marvel-footer { background: var(--noir); color: var(--gris-txt); padding: 48px var(--gut) 28px; }
.marvel-footer a { color: var(--blanc); }
.marvel-footer__in { max-width: var(--wide); margin: 0 auto; display: grid; grid-template-columns: 1.2fr 1fr 1.4fr; gap: 28px; }
.marvel-footer__brand img { height: 44px; width: auto; display: block; margin-bottom: 12px; }
.marvel-footer__legal ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; }
.marvel-footer__legal a { text-decoration: none; } .marvel-footer__legal a:hover { text-decoration: underline; }
.marvel-footer__copy { max-width: var(--wide); margin: 32px auto 0; padding-top: 18px; border-top: 1px solid var(--anth2); font-size: .82rem; }
@media (max-width: 800px) { .marvel-footer__in { grid-template-columns: 1fr; } }

/* ---------- Barre sticky mobile ---------- */
.marvel-sticky { display: none; }
@media (max-width: 767px) {
	.marvel-sticky:not([hidden]) { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; gap: 12px; align-items: center; justify-content: space-between; background: var(--noir); color: var(--blanc); padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); border-top: 2px solid var(--orange); }
	.marvel-sticky__txt { font-weight: 800; font-size: .88rem; line-height: 1.25; }
	body.home { padding-bottom: 72px; }
}

/* ---------- Pages légales et WooCommerce ---------- */
.marvel-page { padding: clamp(32px, 5vw, 64px) var(--gut) clamp(48px, 6vw, 88px) !important; }
.marvel-page__title { font-stretch: 115%; font-weight: 900; text-transform: uppercase; font-size: clamp(1.9rem, 1.3rem + 2vw, 3rem); }
.marvel-page h2 { font-stretch: 110%; font-weight: 900; text-transform: uppercase; font-size: clamp(1.25rem, 1.1rem + .6vw, 1.6rem); margin-top: 1.8em; }
.marvel-page table { border-collapse: collapse; width: 100%; } .marvel-page td, .marvel-page th { border: 1px solid #dcdde0; padding: 8px 10px; }
.marvel-a-valider, mark.marvel-a-valider { background: #fff2cc; color: #5c3d00; padding: 0 3px; font-weight: 700; }
.wc-block-components-button:not(.is-link) { border-radius: 0 !important; background: var(--orange) !important; color: var(--blanc) !important; font-weight: 900 !important; text-transform: uppercase; }
.marvel-placeholder { background: #fff2cc; color: #5c3d00; padding: 0 3px; font-weight: 700; }
.marvel-draft-banner { border: 2px dashed #8A5A00; background: #fff7e6; padding: 10px 14px; }
/* Correctifs contrôle visuel v1 */
.marvel-chantier .marvel-lead, .marvel-chantier .marvel-note { color: var(--gris-txt); }
a.marvel-btn--primary, .marvel-dark a.marvel-btn--primary, .marvel-black a.marvel-btn--primary { color: var(--blanc) !important; }
.marvel-dark a.marvel-btn--ghost, .marvel-black a.marvel-btn--ghost, .marvel-hero a.marvel-btn--ghost { color: var(--blanc); }
.marvel-buybox .marvel-btn[disabled] { opacity: 1; background: var(--anth); color: var(--gris); border-color: var(--gris); }
.marvel-grid-2 > *, .marvel-grid-4 > *, .marvel-kit__grid > *, .marvel-hero__in > * { min-width: 0; }
.marvel-table-wrap { max-width: 100%; }
.marvel-main.marvel-page h2.wp-block-heading { font-size: clamp(1.25rem, 1.1rem + .6vw, 1.6rem); margin: 1.8em 0 .5em; line-height: 1.15; }
.marvel-main.marvel-page h3.wp-block-heading { font-size: 1.1rem; margin: 1.4em 0 .4em; }
.marvel-retractation__box > summary { list-style: none; display: inline-flex; }
.marvel-retractation__box > summary::-webkit-details-marker { display: none; }
.marvel-retractation__box[open] > summary { margin-bottom: 16px; }
.marvel-kit__mosaic ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px; }
.marvel-kit__mosaic li { background: var(--blanc); aspect-ratio: 1; display: grid; place-items: center; padding: 6px; }
.marvel-kit__mosaic img { max-width: 100%; max-height: 100%; object-fit: contain; }
.marvel-kit__media--photo { text-align: center; } .marvel-kit__media--photo img { margin: 0 auto; }
.marvel-kit__media--empty { min-height: 180px; display: grid; place-items: center; text-align: center; color: var(--txt2); }
.marvel-kit__noimg { display: inline-block; width: 44px; height: 44px; flex: none; }

/* ===================== Elementor (landing éditable) ===================== */
.elementor .e-con { --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; }
.elementor-widget-heading .elementor-heading-title { color: inherit; font-family: var(--f); }
.elementor-widget-text-editor { color: inherit; font-family: var(--f); }
.marvel-section.e-con, .marvel-hero.e-con { padding: clamp(56px, 7vw, 112px) var(--gut) !important; }
.marvel-hero.e-con { padding-bottom: clamp(40px, 6vw, 88px) !important; }
.marvel-in.e-con { max-width: var(--wide); margin: 0 auto; width: 100%; gap: 14px; }
.marvel-hero__in.e-con { position: relative; max-width: var(--wide); margin: 0 auto; width: 100%; display: flex; grid-template-columns: none; } /* colonnes, direction, écarts : réglés dans Elementor (l’ancienne grille Gutenberg ne s’applique plus) */
@media (max-width: 900px) { .marvel-hero__media.e-con { order: 0; max-width: none; } }
.marvel-hero__text.e-con { gap: 18px; }

.marvel-hero__title .elementor-heading-title { font-stretch: 125%; font-weight: 900; text-transform: uppercase; font-size: clamp(2.3rem, 1rem + 5.2vw, 5.4rem); line-height: .95; color: var(--blanc); letter-spacing: -0.01em; }
.marvel-hero__title .marvel-hero__brand { display: block; color: var(--accent-text, var(--ptg-red)); }
.marvel-hero__title .marvel-hero__claim { display: block; font-size: .5em; font-stretch: 112%; line-height: 1.05; margin-top: .3em; color: var(--blanc); }
.marvel-hero__sub { color: var(--gris-txt); font-size: clamp(1.05rem, 1rem + .35vw, 1.3rem); max-width: 52ch; }
.marvel-hero__foot { position: relative; max-width: var(--wide); margin: 28px auto 0; color: var(--gris); font-size: .8rem; }
.marvel-hero__img img { width: 100%; object-fit: contain; filter: drop-shadow(0 30px 40px rgba(0,0,0,.55)); } /* largeur / hauteur : widget Image Elementor */
.marvel-hero__img--inline { margin: 4px 0 8px; }
.marvel-hero__cta.e-con { flex-wrap: wrap; gap: 14px; }
.marvel-kicker .elementor-heading-title { font-weight: 800; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; color: var(--accent-text, var(--ptg-red)); margin: 0; }
.marvel-h2 .elementor-heading-title { font-stretch: 112%; font-weight: 900; text-transform: uppercase; line-height: 1.02; font-size: clamp(1.9rem, 1.2rem + 2.6vw, 3.4rem); margin: 0 0 .3em; }
.marvel-section h3.elementor-heading-title { font-stretch: 108%; font-weight: 800; text-transform: uppercase; font-size: clamp(1.1rem, 1rem + .5vw, 1.4rem); margin: 0 0 .4em; }
.marvel-lead .elementor-widget-container, .marvel-lead p { color: var(--txt2); font-size: clamp(1.05rem, 1rem + .3vw, 1.2rem); max-width: 70ch; }
.marvel-dark .marvel-lead p, .marvel-black .marvel-lead p, .marvel-chantier .marvel-lead p, .marvel-dark .marvel-note p, .marvel-black .marvel-note p, .marvel-chantier .marvel-note p { color: var(--gris-txt); }
.marvel-note p { font-size: .88rem; color: var(--txt2); }
/* Boutons Elementor */
.marvel-el-btn .elementor-button { border-radius: 0; font-family: var(--f); font-weight: 900; font-stretch: 112%; letter-spacing: .04em; text-transform: uppercase; min-height: 48px; padding: .9em 1.5em; display: inline-flex; align-items: center; font-size: 1rem; }
.marvel-el-btn--primary .elementor-button { background: var(--orange); color: var(--blanc); border: 2px solid var(--orange); }
.marvel-el-btn--primary .elementor-button:hover, .marvel-el-btn--primary .elementor-button:focus { background: var(--orange-h); border-color: var(--orange-h); color: var(--blanc); }
.marvel-el-btn--ghost .elementor-button { background: transparent; color: currentColor; border: 2px solid currentColor; }
.marvel-hero .marvel-el-btn--ghost .elementor-button, .marvel-dark .marvel-el-btn--ghost .elementor-button, .marvel-black .marvel-el-btn--ghost .elementor-button { color: var(--blanc); }
/* Grilles en conteneurs Elementor */
.marvel-grid-2.e-con, .marvel-grid-3.e-con, .marvel-grid-4.e-con { display: grid !important; gap: clamp(16px, 2.5vw, 32px); margin: 18px 0; }
.marvel-grid-2.e-con { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.marvel-grid-3.e-con { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.marvel-grid-4.e-con { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { .marvel-grid-2.e-con, .marvel-grid-3.e-con { grid-template-columns: 1fr; } .marvel-grid-4.e-con { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .marvel-grid-4.e-con { grid-template-columns: 1fr; } }
.marvel-card.e-con, .marvel-step.e-con { padding: 22px !important; gap: 6px; }
.marvel-step.e-con { background: var(--anth2); border-top: 4px solid var(--orange); }
.marvel-step h3 { color: var(--accent-text, var(--ptg-red)) !important; }
.marvel-step p { color: var(--gris-txt); margin: 0; }
.marvel-gamme.e-con { gap: 0; background: var(--blanc); border: 1px solid #dcdde0; }
.marvel-gamme.e-con::before { content: ""; display: block; height: 8px; background: var(--bl); }
.marvel-gamme--re.e-con::before { background: var(--re); }
.marvel-gamme__media.e-con { background: var(--clair); aspect-ratio: 4 / 3; display: grid !important; place-items: center; padding: 16px !important; }
.marvel-gamme__media img { max-height: 100%; width: auto; object-fit: contain; }
.marvel-gamme__body.e-con { padding: 24px !important; gap: 10px; flex: 1; }
.marvel-gamme__title .elementor-heading-title span { color: var(--re); } .marvel-gamme--bl .marvel-gamme__title .elementor-heading-title span { color: var(--bl); }
.marvel-gamme ul { margin: 0; padding-left: 1.1em; color: var(--txt2); }
.marvel-batt.e-con { padding: 24px !important; gap: 10px; }
.marvel-batt__img img { max-width: 260px; margin: 0 auto; display: block; }
.marvel-garantie__box.e-con { border: 2px solid var(--txt); padding: 20px 22px !important; background: var(--blanc); }
.marvel-chantier__img img { width: 100%; max-height: 520px; object-fit: contain; margin-top: 20px; }
.marvel-chantier .marvel-usages { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 16px 0; }
.marvel-chantier .marvel-usages li { border: 2px solid var(--orange); padding: 8px 14px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; color: var(--blanc); }
/* Destination */
.marvel-dest { border: 0; margin: 0; padding: 0; min-width: 0; }
.marvel-dest__label { font-weight: 900; text-transform: uppercase; letter-spacing: .08em; font-size: .85rem; margin-bottom: 10px; padding: 0; }
.marvel-dest__opts { display: flex; flex-wrap: wrap; gap: 8px; }
.marvel-dest__opt { position: relative; cursor: pointer; }
.marvel-dest__opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.marvel-dest__opt span { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border: 2px solid #c9cbd0; background: var(--blanc); color: var(--txt); font-weight: 800; }
.marvel-dest__opt input:checked + span { background: var(--noir); border-color: var(--noir); color: var(--blanc); }
.marvel-dest__opt input:focus-visible + span { outline: 3px solid var(--focus); outline-offset: 2px; }
.marvel-hero .marvel-dest__label { color: var(--gris-txt); }
.marvel-hero .marvel-dest__opt span { background: rgba(0,0,0,.3); color: var(--blanc); border-color: var(--anth2); }
.marvel-hero .marvel-dest__opt input:checked + span { background: var(--orange); border-color: var(--orange); color: var(--blanc); }
.marvel-selector-dest { margin-bottom: 8px; }
/* Prix livré */
.marvel-kit__price { display: flex; flex-direction: column; gap: 2px; }
.marvel-kit__amount { font-size: clamp(1.9rem, 1.4rem + 1.6vw, 2.8rem); font-weight: 900; font-stretch: 112%; line-height: 1; }
.marvel-kit__dest { font-size: 1rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.marvel-kit__price-note { font-size: .9rem; font-weight: 600; color: var(--txt2); font-stretch: 100%; }
.marvel-kit__dap { margin-top: 0; }
.marvel-kit__split { font-size: .85rem; font-weight: 600; color: var(--txt2); font-stretch: 100%; }
.marvel-buybox { grid-template-columns: 1.1fr 1.2fr 1fr 1fr .6fr; }
@media (max-width: 900px) { .marvel-buybox { grid-template-columns: 1fr 1fr; } }
.elementor-widget-shortcode, .elementor-widget-text-editor, .elementor-widget-html { width: 100%; }
/* Fonds de section sur conteneurs Elementor */
.e-con.marvel-dark { background: var(--anth) !important; color: var(--blanc); }
.e-con.marvel-black { background: var(--noir) !important; color: var(--blanc); }
.e-con.marvel-light, .e-con.marvel-choisir { background: var(--clair) !important; }
.e-con.marvel-chantier { background: linear-gradient(180deg, rgba(11,11,12,.55), rgba(11,11,12,.92)), repeating-linear-gradient(45deg, #26282d 0 14px, #1c1d21 14px 28px) !important; color: var(--blanc); }
.e-con.marvel-hero { background: radial-gradient(120% 90% at 85% 40%, #34363d 0%, var(--anth) 45%, var(--noir) 100%) !important; color: var(--blanc); }
/* Couleur de repli : Elementor diffère les images/dégradés de fond (lazy load) — le texte blanc reste lisible avant chargement */
.e-con.marvel-chantier, .e-con.marvel-hero { background-color: #1c1d21 !important; }
.e-con.marvel-dark .marvel-card.e-con { background: var(--anth2); border-top: 4px solid var(--orange); }
.e-con.marvel-dark .marvel-card h3, .e-con.marvel-dark .marvel-card .elementor-heading-title { color: var(--blanc); }
.e-con.marvel-dark .marvel-card p { color: var(--gris-txt); }
.e-con.marvel-section:not(.marvel-dark):not(.marvel-black):not(.marvel-chantier) .marvel-card.e-con { background: var(--blanc); border: 1px solid #dcdde0; border-top: 4px solid var(--orange); }
/* Kits batteries ([marvel_batteries]) */
.marvel-bat__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 20px 0; }
@media (max-width: 900px) { .marvel-bat__grid { grid-template-columns: 1fr; } }
.marvel-bat__card { background: var(--blanc); border: 1px solid #dcdde0; border-top: 4px solid var(--orange); padding: 22px; display: flex; flex-direction: column; gap: 10px; color: var(--txt, #16171a); }
.marvel-bat__title { margin: 0; font-size: 1.25rem; font-weight: 900; text-transform: uppercase; letter-spacing: .02em; }
.marvel-bat__card .marvel-kit__actions { margin-top: auto; }
/* Documentation & conformité ([marvel_documents]) */
.marvel-docs { display: grid; gap: 12px; margin: 8px 0 24px; }
.marvel-doc { background: var(--blanc); border: 1px solid #dcdde0; border-left: 4px solid var(--orange); padding: 16px 18px; color: var(--txt); }
.marvel-doc--demo { border-left-color: #b26b00; background: #fff8ec; }
.marvel-doc__title { margin: 0 0 6px; font-size: 1.05rem; font-weight: 800; }
.marvel-doc__meta { margin: 4px 0; font-size: .9rem; color: var(--txt2); }
.marvel-doc__badge { display: inline-block; margin: 4px 0; padding: 4px 10px; font-size: .8rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; border: 2px dashed currentColor; }
.marvel-doc__badge--a_ajouter { color: var(--txt2); }
.marvel-doc__badge--demo { color: #8a5300; }
.marvel-doc__actions { margin: 8px 0 0; display: flex; gap: 8px; flex-wrap: wrap; }

/* ---------- Identité boutique POWER TOOLS GLOBAL (en-tête clair : logo d'origine fidèle) ---------- */
.marvel-header { background: var(--blanc); color: var(--ptg-navy); border-bottom: 3px solid var(--ptg-red); }
.marvel-header__logo img { height: 56px; width: auto; }
.marvel-nav a, .marvel-header__cart { color: var(--ptg-navy); }
.marvel-nav a:hover, .marvel-header__cart:hover { border-color: var(--ptg-red); }
.marvel-burger summary span { background: var(--ptg-navy) !important; }
.marvel-burger nav { background: var(--blanc); }
.marvel-burger nav a { color: var(--ptg-navy) !important; }
@media (max-width: 480px) { .marvel-header__logo img { height: 46px; } }
.marvel-footer__plate { display: inline-block; background: var(--blanc); padding: 10px 14px; border-radius: 4px; margin-bottom: 12px; }
.marvel-footer__brand .marvel-footer__plate img { height: 64px; width: auto; display: block; margin: 0; }
.marvel-footer__name { color: var(--blanc); font-weight: 900; letter-spacing: .08em; margin: 0 0 6px; }
.marvel-footer__url { font-size: .82rem; color: var(--gris-txt); }
.marvel-burger nav { top: calc(var(--hdr) - 8px); box-shadow: 0 10px 24px rgba(0,0,0,.18); border-top: 3px solid var(--ptg-red); }
.marvel-bat__compat { margin: 0; font-weight: 800; color: var(--ptg-navy); }

/* ---------- Couleurs POWER TOOLS GLOBAL (source unique : Elementor › Réglages du site › Couleurs globales) ----------
 * Rouge dominant échantillonné sur le logo (zone vive) : #b80508 ; ombre du dégradé : #7c0000 ; bleu nuit : #12212a.
 * Contrastes mesurés : blanc sur #b80508 = 6,86:1 (texte des boutons en blanc ; le noir n'obtient que 3,06:1) ;
 * #b80508 sur fond clair #f3f3f4 = 6,18:1 ; #b80508 sur anthracite = 2,46:1 (insuffisant) → sur fond sombre, le texte
 * d'accent utilise #fa5456 (même teinte éclaircie : ≥ 4,5:1 sur #26282d, #1c1d21 et #0b0b0c). L'orange MARVEL n'est plus utilisé. */
body {
	--ptg-red: var(--e-global-color-ptgred, #b80508);
	--ptg-red-dark: var(--e-global-color-ptgreddark, #7c0000);
	--ptg-red-on-dark: var(--e-global-color-ptgredondark, #fa5456);
	--ptg-navy: var(--e-global-color-ptgnavy, #12212a);
	--orange: var(--ptg-red);
	--orange-h: var(--ptg-red-dark);
	--accent-text: var(--ptg-red);
}
.marvel-hero, .marvel-dark, .marvel-black, .marvel-chantier, .marvel-footer, .marvel-sticky, .marvel-step { --accent-text: var(--ptg-red-on-dark); }
.marvel-header { border-bottom-color: var(--ptg-red); }
:focus-visible { outline-color: var(--ptg-red); }
.marvel-hero :focus-visible, .marvel-dark :focus-visible, .marvel-black :focus-visible { outline-color: var(--ptg-red-on-dark); }
/* Hero Elementor : les anciennes règles Gutenberg (.marvel-hero__media en grille 2 colonnes) ne s'appliquent plus */
@media (min-width: 1025px) { .marvel-hero__media.e-con { display: flex; grid-template-columns: none; align-items: var(--align-items); justify-content: var(--justify-content); } } /* colonne masquée par Elementor ≤ 1024 px */
/* Hero sur écran portable peu haut (ex. 1366×768) : destination et boutons visibles dès l'arrivée */
@media (min-width: 1025px) and (max-height: 820px) {
	.marvel-hero.e-con { padding-top: 36px !important; padding-bottom: 28px !important; }
	.marvel-hero__title .elementor-heading-title { font-size: clamp(2.3rem, 1rem + 4vw, 4.4rem); }
	.marvel-hero__text.e-con { gap: 12px; }
	.marvel-hero__sub { margin-bottom: .6em; font-size: 1.05rem; }
	.marvel-hero__img img { max-height: calc(100vh - 160px); }
}
/* En-tête : Mon compte + panier avec pastille de quantité */
.marvel-header__account, .marvel-header__cart { display: inline-flex; align-items: center; gap: 6px; position: relative; color: var(--ptg-navy); text-decoration: none; font-weight: 700; font-size: .86rem; letter-spacing: .06em; text-transform: uppercase; padding: 8px 0; border-bottom: 2px solid transparent; }
.marvel-header__account:hover, .marvel-header__cart:hover { border-color: var(--ptg-red); }
.ptg-cart-count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: var(--ptg-red); color: #fff; font-size: .75rem; font-weight: 800; letter-spacing: 0; line-height: 1; }
.ptg-cart-count[hidden] { display: none; }
.ptg-cart-count.is-bump { animation: ptgBump .35s ease; }
@keyframes ptgBump { 50% { transform: scale(1.3); } }
@media (prefers-reduced-motion: reduce) { .ptg-cart-count.is-bump { animation: none; } }
/* Mobile : icônes seules (libellés accessibles conservés), le panier reste visible hors du menu */
@media (max-width: 1080px) {
	.marvel-header__cart, .marvel-header__account { display: inline-flex !important; }
	.marvel-header__actions { gap: 14px; }
	.marvel-header__actions .marvel-header__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
@media (max-width: 480px) { .marvel-header__actions .marvel-btn--sm { padding: 10px 12px; font-size: .78rem; } }
/* Fil d'Ariane */
.ptg-breadcrumb { font-size: .85rem; margin: 0 0 18px; color: var(--txt2); }
.ptg-breadcrumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.ptg-breadcrumb li + li::before { content: "›"; margin-right: 6px; color: var(--txt2); }
.ptg-breadcrumb a { color: var(--ptg-navy); }
/* Section « En bref » et catalogue texte */
.ptg-facts { display: grid; grid-template-columns: 200px 1fr; gap: 8px 20px; margin: 8px 0 24px; }
.ptg-facts dt { font-weight: 800; color: var(--ptg-navy); }
.ptg-facts dd { margin: 0; }
@media (max-width: 700px) { .ptg-facts { grid-template-columns: 1fr; } .ptg-facts dd { margin-bottom: 8px; } }
.ptg-catalogue__group { border: 1px solid #dcdde0; background: var(--blanc); margin: 0 0 10px; }
.ptg-catalogue__group > summary { cursor: pointer; padding: 14px 18px; list-style: none; }
.ptg-catalogue__group > summary::-webkit-details-marker { display: none; }
.ptg-catalogue__group > summary h3 { display: inline; margin: 0; font-size: 1.05rem; font-weight: 800; }
.ptg-catalogue__group > summary::after { content: "+"; float: right; font-weight: 900; color: var(--ptg-red); }
.ptg-catalogue__group[open] > summary::after { content: "−"; }
.ptg-catalogue__kit { padding: 12px 18px; border-top: 1px solid #ececee; }
.ptg-catalogue__kit h4 { margin: 0 0 6px; font-size: 1rem; }
.ptg-catalogue__kit p { margin: 4px 0; font-size: .95rem; }
/* Photo chantier : la boîte de l'image = sa taille réellement affichée (le navigateur choisit la variante ~768 px au lieu de 1536 px) */
.marvel-chantier__img img { width: auto !important; max-width: 100%; height: auto !important; max-height: 520px; display: block; margin: 20px auto 0; object-fit: contain; }
