/* Thème PLANET GARNET : industriel, sobre, graphite et rouge grenat */
:root { --pg-ink:#121417; --pg-steel:#23262b; --pg-mute:#5d636c; --pg-line:#dde0e4; --pg-tint:#f3f4f5; --pg-red:#9b1c31; --pg-red-d:#7f1527; --dprs-primary:#9b1c31; --dprs-primary-dark:#7f1527; --dprs-secondary:#14161a; --dprs-secondary-dark:#14161a; }
.theme-planetgarnet { margin:0; background:#fff; color:var(--pg-ink); font-family:Archivo,system-ui,-apple-system,"Segoe UI",sans-serif; font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased; }
.theme-planetgarnet h1,.theme-planetgarnet h2,.theme-planetgarnet h3 { font-family:inherit; color:inherit; letter-spacing:-.02em; line-height:1.08; font-weight:700; margin:0 0 .5em; }
.pg-wrap { width:100%; max-width:1280px; margin:0 auto; padding:0 32px; box-sizing:border-box; }
.pg-mono { font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:12.5px; letter-spacing:.02em; }
.pg-eyebrow { color:var(--pg-red); text-transform:uppercase; letter-spacing:.09em; margin:0 0 14px; font-weight:500; }
.pg-dark .pg-eyebrow,.pg-hero .pg-eyebrow { color:#e77f93; }
.pg-lead { font-size:18px; color:inherit; opacity:.82; max-width:62ch; }
.pg-draft { background:#14161a; color:#d6d9dd; text-align:center; font-size:12px; padding:5px 12px; }
.pg-flash { padding-top:16px; }

/* Boutons */
.pg-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:14px 24px; border:1px solid var(--pg-ink); background:var(--pg-ink); color:#fff !important; font-weight:600; font-size:15px; text-decoration:none !important; cursor:pointer; transition:background .15s,border-color .15s,color .15s; font-family:inherit; }
.pg-btn:hover { background:var(--pg-steel); }
.pg-btn-sm { padding:9px 16px; font-size:14px; }
.pg-btn-red { background:var(--pg-red); border-color:var(--pg-red); }
.pg-btn-red:hover { background:var(--pg-red-d); border-color:var(--pg-red-d); }
.pg-btn-ghost { background:transparent; border-color:rgba(255,255,255,.45); }
.pg-btn-ghost:hover { background:#fff; color:var(--pg-ink) !important; }
.pg-btn-line { background:transparent; color:var(--pg-ink) !important; margin-top:12px; }
.pg-btn-line:hover { background:var(--pg-ink); color:#fff !important; }
.pg-btn-full { width:100%; }

/* En-tête */
.pg-header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.94); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-bottom:1px solid var(--pg-line); }
.pg-header-row { display:flex; align-items:center; gap:28px; min-height:68px; }
.pg-logo { display:inline-flex; align-items:center; gap:10px; color:var(--pg-ink) !important; text-decoration:none !important; font-weight:800; font-size:17px; letter-spacing:.04em; white-space:nowrap; }
.pg-logo b { color:var(--pg-red); font-weight:800; }
.pg-nav { flex:1; }
.pg-nav ul { display:flex; gap:20px; list-style:none; margin:0; padding:0; }
.pg-nav a { color:var(--pg-ink) !important; text-decoration:none !important; font-size:14px; font-weight:500; white-space:nowrap; padding:6px 0; border-bottom:2px solid transparent; }
.pg-nav a:hover,.pg-nav .is-active a { border-color:var(--pg-red); }
.pg-nav-mobile { display:none; }
.pg-actions { display:flex; align-items:center; gap:10px; }
.pg-icon { display:inline-flex; align-items:center; justify-content:center; position:relative; width:40px; height:40px; color:var(--pg-ink) !important; background:none; border:0; cursor:pointer; }
.pg-cart span { position:absolute; top:2px; right:0; min-width:17px; line-height:17px; background:var(--pg-red); color:#fff; font-size:11px; text-align:center; border-radius:9px; }
.pg-burger { display:none; }

/* Héros */
.pg-hero { position:relative; background:#0d0f12; color:#fff; overflow:hidden; }
.pg-hero-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center bottom; }
.pg-hero::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(13,15,18,.94) 0%,rgba(13,15,18,.72) 48%,rgba(13,15,18,.25) 100%),linear-gradient(0deg,rgba(13,15,18,.8),transparent 34%); }
.pg-hero-in { position:relative; z-index:2; padding-top:clamp(70px,11vw,150px); padding-bottom:clamp(50px,8vw,100px); }
.pg-hero h1 { font-size:clamp(38px,5.6vw,76px); font-weight:700; max-width:17ch; color:#fff; }
.pg-hero-cta { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.pg-specline { position:relative; z-index:2; display:grid; grid-template-columns:repeat(5,1fr); list-style:none; margin:0; padding:0; border-top:1px solid rgba(255,255,255,.2); color:#c5c9cf; }
.pg-specline li { padding:18px 14px 18px 0; }
.pg-specline b { display:block; color:#fff; font-size:20px; font-weight:500; }

/* Sections */
.pg-sec { padding:clamp(56px,7vw,100px) 0; }
.pg-dark { background:#14161a; color:#eceef0; }
.pg-tint { background:var(--pg-tint); }
.pg-sec-head { max-width:760px; margin-bottom:40px; }
.pg-sec-head h2,.pg-split h2,.pg-prose h2 { font-size:clamp(28px,3.3vw,44px); }
.pg-sec-head p:not(.pg-eyebrow) { color:inherit; opacity:.75; font-size:17px; margin:0; }

/* Cartes des granulométries */
.pg-cards { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); padding:1px 0 0 1px; }
.pg-cards:has(> :nth-child(4):last-child) { grid-template-columns:repeat(4,minmax(0,1fr)); }
.pg-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--pg-line); margin:-1px 0 0 -1px; color:var(--pg-ink) !important; text-decoration:none !important; transition:background .15s; }
.pg-card:hover { background:var(--pg-tint); }
.pg-card-img { display:block; aspect-ratio:1; overflow:hidden; background:#1a0b0e; }
.pg-card-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
.pg-card:hover .pg-card-img img { transform:scale(1.06); }
.pg-card-body { display:flex; flex-direction:column; flex:1; gap:8px; padding:20px 18px; }
.pg-mesh { font-size:40px; font-weight:700; letter-spacing:-.03em; line-height:1; }
.pg-mesh small { font-size:12px; font-weight:600; letter-spacing:.08em; margin-left:6px; color:var(--pg-red); }
.pg-card .pg-mono { color:var(--pg-mute); }
.pg-card-txt { font-size:14px; color:#3d4249; flex:1; }
.pg-card-price { display:flex; flex-direction:column; gap:2px; border-top:1px solid var(--pg-line); padding-top:12px; margin-top:6px; }
.pg-price b { font-size:21px; font-weight:700; letter-spacing:-.01em; }
.pg-price i { font-style:normal; font-size:12.5px; color:var(--pg-mute); white-space:nowrap; }
.pg-ttc { font-size:12.5px; color:var(--pg-mute); }

/* Procédés */
.pg-duo { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.14); padding:0; max-width:1216px; }
.pg-proc { display:block; background:#14161a; padding:36px; color:#eceef0 !important; text-decoration:none !important; transition:background .15s; }
.pg-proc:hover { background:#1b1e23; }
.pg-proc h2 { font-size:30px; color:#fff; }
.pg-proc p:not(.pg-eyebrow) { color:#b6bac1; }
.pg-more { font-family:"IBM Plex Mono",monospace; font-size:13px; color:#e77f93; }
.pg-schema { display:block; width:100%; height:auto; margin-bottom:24px; }

/* Applications */
.pg-apps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1px; background:var(--pg-line); border:1px solid var(--pg-line); }
.pg-app { background:#fff; padding:26px 24px; display:flex; flex-direction:column; }
.pg-app-n { color:var(--pg-mute); margin-bottom:26px; }
.pg-app h3 { font-size:20px; }
.pg-app p { font-size:14.5px; color:#3d4249; flex:1; margin:0 0 16px; }
.pg-tags { display:flex; flex-wrap:wrap; gap:6px; }
.pg-tags a { font-family:"IBM Plex Mono",monospace; font-size:12px; border:1px solid var(--pg-line); padding:3px 8px; color:var(--pg-ink) !important; text-decoration:none !important; }
.pg-tags a:hover { border-color:var(--pg-red); color:var(--pg-red) !important; }

/* Mise en page deux colonnes */
.pg-split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,6vw,80px); align-items:center; }
.pg-split-img { width:100%; height:auto; display:block; }
.pg-prose { max-width:760px; }
.pg-wrap.pg-prose { max-width:1280px; }
.pg-wrap.pg-prose > * { max-width:760px; }
.pg-prose p { color:inherit; }

/* Réseau */
.pg-figures { display:grid; grid-template-columns:repeat(4,1fr); list-style:none; padding:0; margin:0 0 36px; border-top:1px solid rgba(255,255,255,.2); }
.pg-figures li { padding:24px 20px 24px 0; }
.pg-figures b { display:block; font-size:clamp(30px,3.6vw,48px); font-weight:700; letter-spacing:-.02em; color:#fff; }
.pg-figures span { font-size:14px; color:#b6bac1; }
.pg-steps,.pg-chain { display:grid; list-style:none; padding:0; margin:0; gap:1px; background:var(--pg-line); border:1px solid var(--pg-line); }
.pg-steps { grid-template-columns:repeat(5,1fr); counter-reset:s; }
.pg-chain { grid-template-columns:repeat(4,1fr); }
.pg-steps li,.pg-chain li { background:#fff; padding:24px 20px; }
.pg-steps li::before { counter-increment:s; content:"0" counter(s); display:block; font-family:"IBM Plex Mono",monospace; font-size:12.5px; color:var(--pg-red); margin-bottom:18px; }
.pg-steps b,.pg-chain b { display:block; font-size:18px; margin-bottom:6px; }
.pg-steps span,.pg-chain p { font-size:14px; color:#3d4249; margin:0; }
.pg-chain .pg-mono { display:block; color:var(--pg-red); margin-bottom:18px; }

.pg-cta { background:var(--pg-tint); }
.pg-cta-in { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; }
.pg-cta h2 { font-size:clamp(26px,3vw,40px); margin:0; }

/* En-tête de page */
.pg-page-head { padding:clamp(50px,7vw,90px) 0; }
.pg-page-head h1 { font-size:clamp(36px,5vw,64px); color:#fff; }
.pg-page-head .pg-schema { margin:0; }

/* Fiche produit */
.pg-crumbs { padding-top:20px; color:var(--pg-mute); }
.pg-crumbs a { color:var(--pg-mute) !important; }
.pg-prod { display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(28px,5vw,64px); padding-top:20px; padding-bottom:70px; align-items:start; }
.pg-gal-main { background:#e4e6e9; aspect-ratio:4/3; overflow:hidden; }
.pg-gal-main figure { position:relative; margin:0; height:100%; }
.pg-gal-main img { width:100%; height:100%; object-fit:cover; display:block; }
.pg-gal-main figcaption { position:absolute; left:16px; bottom:14px; color:#fff; background:rgba(13,15,18,.72); padding:7px 10px; }
.pg-thumbs { display:flex; gap:8px; margin-top:8px; }
.pg-thumbs button { width:84px; height:64px; padding:0; border:2px solid transparent; background:none; cursor:pointer; }
.pg-thumbs button[aria-pressed="true"] { border-color:var(--pg-red); }
.pg-thumbs img { width:100%; height:100%; object-fit:cover; display:block; }
.pg-buy h1 { font-size:clamp(44px,6vw,80px); margin-bottom:12px; font-weight:700; }
.pg-buy h1 span { color:var(--pg-red); }
.pg-buy .pg-lead { font-size:17px; }
.pg-meshnav { display:flex; flex-wrap:wrap; gap:6px; margin:18px 0 22px; }
.pg-meshnav a { font-family:"IBM Plex Mono",monospace; font-size:13px; padding:7px 13px; border:1px solid var(--pg-line); color:var(--pg-ink) !important; text-decoration:none !important; }
.pg-meshnav a:hover { border-color:var(--pg-ink); }
.pg-meshnav a.on { background:var(--pg-ink); border-color:var(--pg-ink); color:#fff !important; }
.pg-buybox { border:1px solid var(--pg-line); padding:26px; }
.pg-priceline b { font-size:42px; font-weight:700; letter-spacing:-.025em; line-height:1.1; }
.pg-priceline span { color:var(--pg-mute); font-size:15px; white-space:nowrap; }
.pg-ttcline { margin:4px 0 20px; font-size:14.5px; color:var(--pg-mute); }
.pg-ttcline strong { color:var(--pg-ink); font-weight:600; }
.pg-pack { border:0; padding:0; margin:0 0 16px; display:grid; gap:6px; }
.pg-pack legend { padding:0; margin-bottom:8px; color:var(--pg-mute); text-transform:uppercase; letter-spacing:.06em; }
.pg-pack label { display:flex; gap:10px; align-items:center; border:1px solid var(--pg-line); padding:11px 13px; cursor:pointer; font-size:15px; margin:0; }
.pg-pack label:has(input:checked) { border-color:var(--pg-red); box-shadow:inset 0 0 0 1px var(--pg-red); }
.pg-pack input { accent-color:var(--pg-red); margin:0; }
.pg-qtyrow { display:flex; gap:16px; align-items:flex-end; margin-bottom:16px; }
.pg-qty span,.pg-total span { display:block; color:var(--pg-mute); text-transform:uppercase; letter-spacing:.06em; margin-bottom:6px; }
.pg-qty input { width:92px; padding:11px; border:1px solid var(--pg-line); font:inherit; box-sizing:border-box; }
.pg-total { flex:1; text-align:right; }
.pg-total b { font-size:22px; }
.pg-volume { display:block; margin-top:14px; font-size:14px; color:var(--pg-ink) !important; }
.pg-tech { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,6vw,80px); }
.pg-tech h2 { font-size:30px; }
.pg-spec { width:100%; border-collapse:collapse; background:transparent; }
.pg-spec th,.pg-spec td { text-align:left; padding:11px 12px 11px 0; border-bottom:1px solid var(--pg-line); font-size:14.5px; vertical-align:top; background:transparent; }
.pg-spec th { font-weight:500; color:var(--pg-mute); width:44%; }
.pg-note { font-size:13px; color:var(--pg-mute); margin-top:10px; }
.pg-desc h3 { font-size:20px; margin-top:20px; }
.pg-desc ul { padding-left:18px; }

/* Pied de page */
.pg-footer { background:#0f1114; color:#b6bac1; padding-top:60px; font-size:14px; }
.pg-footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:36px; padding-bottom:44px; }
.pg-footer strong { color:#fff; font-size:17px; letter-spacing:.04em; font-weight:800; }
.pg-footer strong b { color:#e05a73; font-weight:800; }
.pg-footer h4 { color:#fff; font-size:12.5px; text-transform:uppercase; letter-spacing:.08em; margin:0 0 12px; font-family:"IBM Plex Mono",monospace; font-weight:500; }
.pg-footer ul { list-style:none; padding:0; margin:0; display:grid; gap:7px; }
.pg-footer a { color:#b6bac1 !important; text-decoration:none !important; }
.pg-footer a:hover { color:#fff !important; }
.pg-footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid rgba(255,255,255,.12); padding-top:18px; padding-bottom:18px; font-size:12.5px; }

/* Pages standard (panier, compte, contact…) */
.pg-main .container { max-width:1216px; }
.pg-main .btn-primary { background:var(--pg-red); border-color:var(--pg-red); border-radius:0; }
.pg-main .btn { border-radius:0; }

@media (max-width:1400px) {
    .pg-header-row { gap:20px; }
    .pg-nav ul { gap:16px; }
    .pg-actions .pg-btn { display:none; }
}
@media (max-width:1240px) {
    .pg-nav { position:absolute; top:100%; left:0; right:0; display:none; background:#fff; border-bottom:1px solid var(--pg-line); padding:10px 32px 18px; }
    .pg-nav.is-open { display:block; }
    .pg-nav ul { flex-direction:column; gap:4px; }
    .pg-nav-mobile { display:block; }
    .pg-burger { display:inline-flex; }
    .pg-header-row { justify-content:space-between; }
}
@media (max-width:1180px) {
    .pg-cards,.pg-cards:has(> :nth-child(4):last-child) { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .pg-apps { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .pg-duo { width:auto; margin-left:32px; margin-right:32px; }
    .pg-steps { grid-template-columns:repeat(2,1fr); }
    .pg-steps li:last-child { grid-column:1 / -1; }
    .pg-nav { position:absolute; top:100%; left:0; right:0; display:none; background:#fff; border-bottom:1px solid var(--pg-line); padding:10px 32px 18px; }
    .pg-nav.is-open { display:block; }
    .pg-nav ul { flex-direction:column; gap:4px; }
    .pg-nav-mobile { display:block; }
    .pg-burger { display:inline-flex; }
    .pg-header-row { justify-content:space-between; }
}
@media (max-width:820px) {
    .pg-wrap { padding-left:16px; padding-right:16px; }
    .pg-nav { padding:10px 16px 18px; }
    .pg-cards,.pg-cards:has(> :nth-child(4):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .pg-specline { grid-template-columns:repeat(2,1fr); }
    .pg-duo,.pg-split,.pg-prod,.pg-tech { grid-template-columns:minmax(0,1fr); }
    .pg-duo { margin-left:16px; margin-right:16px; }
    .pg-apps { grid-template-columns:minmax(0,1fr); }
    .pg-proc { padding:24px 18px; }
    .pg-figures,.pg-chain { grid-template-columns:repeat(2,1fr); }
    .pg-footer-grid { grid-template-columns:1fr 1fr; }
    .pg-footer-about { grid-column:1 / -1; }
    .pg-btn-sm { display:none; }
    .pg-priceline b { font-size:36px; }
    .pg-buybox { padding:18px; }
}
@media (max-width:480px) {
    .pg-logo { font-size:15px; }
    .pg-card-body { padding:14px 12px; }
    .pg-price b { font-size:18px; }
}

/* === Version photo : héros, bandeaux, procédés === */
.pg-hero { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); background:#14161a; min-height:560px; }
.pg-hero::before { display:none; }
.pg-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(40px,5vw,72px) clamp(24px,4vw,64px) clamp(40px,5vw,72px) max(32px, calc((100vw - 1216px) / 2)); }
.pg-hero h1 { font-size:clamp(34px,3.9vw,58px); max-width:18ch; }
.pg-hero .pg-lead { font-size:17px; }
.pg-hero-photo { width:100%; height:100%; object-fit:cover; object-position:58% center; display:block; min-width:0; }
.pg-specbar { background:#0f1114; color:#c5c9cf; }
.pg-specbar .pg-specline { border:0; margin:0 auto; padding-left:32px; padding-right:32px; }
.pg-specbar li { padding:18px 14px 18px 0; }
.pg-card-img { aspect-ratio:4/3; background:#2a2e34; }
.pg-duo-photo { display:grid; grid-template-columns:1fr 1fr; background:#14161a; gap:2px; }
.pg-duo-photo .pg-proc { position:relative; display:block; padding:0; min-height:480px; overflow:hidden; background:#14161a; }
.pg-duo-photo .pg-proc img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.pg-duo-photo .pg-proc:hover img { transform:scale(1.04); }
.pg-duo-photo .pg-proc::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(13,15,18,.92) 0%,rgba(13,15,18,.5) 45%,rgba(13,15,18,.05) 75%); }
.pg-proc-txt { position:absolute; z-index:1; left:0; right:0; bottom:0; display:flex; flex-direction:column; gap:8px; padding:32px clamp(20px,3vw,40px); color:#d6d9dd; font-size:15.5px; }
.pg-proc-txt strong { font-size:clamp(26px,2.6vw,36px); line-height:1.1; color:#fff; font-weight:700; letter-spacing:-.02em; }
.pg-proc-txt .pg-eyebrow { margin:0; color:#e77f93; }
.pg-band { position:relative; background:#14161a; color:#fff; overflow:hidden; }
.pg-band img { display:block; width:100%; height:clamp(320px,38vw,560px); object-fit:cover; object-position:center 60%; }
.pg-band::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(13,15,18,.82) 0%,rgba(13,15,18,.25) 60%,rgba(13,15,18,0) 100%); }
.pg-band-txt { position:absolute; z-index:1; left:0; right:0; bottom:clamp(24px,4vw,56px); }
.pg-band h2 { font-size:clamp(26px,3.3vw,46px); max-width:20ch; color:#fff; margin:0; }
.pg-band .pg-eyebrow { color:#e77f93; }
.pg-photo-head { position:relative; background:#14161a; color:#fff; overflow:hidden; }
.pg-photo-head > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 55%; }
.pg-photo-head::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(13,15,18,.9) 0%,rgba(13,15,18,.55) 55%,rgba(13,15,18,.15) 100%); }
.pg-photo-head-in { position:relative; z-index:1; padding-top:clamp(70px,9vw,130px); padding-bottom:clamp(50px,7vw,100px); }
.pg-photo-head h1 { font-size:clamp(36px,5vw,64px); color:#fff; }
.pg-photo-head .pg-eyebrow { color:#e77f93; }
.pg-figwrap { margin-top:48px; }
.pg-figwrap .pg-figures { margin:0; }
.pg-grains { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.pg-grains a { color:var(--pg-ink) !important; text-decoration:none !important; }
.pg-grains img { display:block; width:100%; aspect-ratio:1; object-fit:cover; margin-bottom:8px; }
.pg-packline { margin:0 0 16px; padding:12px 14px; border:1px solid var(--pg-line); background:var(--pg-tint); }
.pg-packline span { display:block; color:var(--pg-mute); text-transform:uppercase; letter-spacing:.06em; margin-bottom:3px; }

/* === Espace client === */
.pg-acc { padding-top:24px; padding-bottom:80px; max-width:1100px; }
.pg-acc h1 { font-size:clamp(30px,3.6vw,44px); margin:24px 0; }
.theme-planetgarnet .pg-acc-h { font-size:24px; margin:44px 0 16px; }
.pg-acc-nav { display:flex; flex-wrap:wrap; gap:4px 24px; align-items:center; border-bottom:1px solid var(--pg-line); }
.pg-acc-nav a,.pg-acc-nav button { padding:12px 0; color:var(--pg-mute) !important; text-decoration:none !important; font:500 15px Archivo,sans-serif; background:none; border:0; border-bottom:2px solid transparent; margin-bottom:-1px; cursor:pointer; }
.pg-acc-nav a.on { color:var(--pg-ink) !important; border-color:var(--pg-red); }
.pg-acc-nav form { margin-left:auto; }
.pg-appro { background:#14161a; color:#fff; padding:clamp(20px,3vw,32px); }
.pg-appro h2 { font-size:24px; color:#fff; }
.pg-appro form { display:grid; grid-template-columns:minmax(0,2.2fr) minmax(120px,.9fr) minmax(150px,1fr) auto; gap:16px; align-items:end; }
.pg-appro label,.pg-appro-t { display:block; margin:0; }
.pg-appro .pg-mono { display:block; margin-bottom:6px; color:#b6bac1; }
.pg-appro select,.pg-appro input { width:100%; height:48px; box-sizing:border-box; padding:0 12px; border:1px solid #4a4f57; background:#fff; color:var(--pg-ink); font:inherit; border-radius:0; }
.pg-appro-t b { display:block; font-size:22px; line-height:48px; white-space:nowrap; }
.pg-appro .pg-btn { height:48px; }
.pg-appro .pg-note { color:#b6bac1; margin:14px 0 0; }
.pg-appro .pg-note a { color:#fff; }
.pg-order { border:1px solid var(--pg-line); padding:22px; margin-bottom:14px; background:#fff; }
.pg-order header { margin-bottom:18px; }
.pg-order header a { color:var(--pg-ink) !important; font-size:19px; text-decoration:none !important; }
.pg-order header .pg-mono { display:block; color:var(--pg-mute); margin-top:3px; }
.pg-order footer { display:flex; flex-wrap:wrap; gap:16px; align-items:center; margin-top:18px; }
.pg-order footer .pg-btn { margin:0; display:inline-flex; }
.pg-order footer form { margin:0; }
.pg-link { background:none; border:0; padding:0; font:500 14px Archivo,sans-serif; color:var(--pg-red); text-decoration:underline; cursor:pointer; }
.pg-track { display:grid; grid-template-columns:repeat(4,1fr); gap:4px; list-style:none; margin:0; padding:0; }
.pg-track li { border-top:5px solid #dfe2e6; padding-top:9px; font-size:14px; color:var(--pg-mute); }
.pg-track li.done { border-color:var(--pg-ink); color:var(--pg-ink); }
.pg-track li.now { border-color:var(--pg-red); color:var(--pg-red); font-weight:600; }
.pg-track-off { margin:0; font-weight:600; color:var(--pg-mute); }
.pg-eta { margin:14px 0 0; }
.pg-eta .pg-mono { color:var(--pg-mute); text-transform:uppercase; letter-spacing:.06em; margin-right:6px; }
.pg-eta b { font-weight:600; }
.pg-order-big { padding:28px; }
.pg-order-big .pg-eta b { font-size:20px; }
.pg-tracking { margin:12px 0 0; font-size:14.5px; }
.pg-back { color:var(--pg-mute) !important; display:inline-block; margin-top:22px; }
.pg-acc-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.pg-box { border:1px solid var(--pg-line); padding:24px; }
.pg-box h2 { font-size:22px; }
.pg-doc { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:13px 14px; border:1px solid var(--pg-line); margin-bottom:8px; color:var(--pg-ink) !important; text-decoration:none !important; }
.pg-doc:hover { border-color:var(--pg-red); }
.pg-doc small { display:block; color:var(--pg-mute); }
.pg-doc i { font-style:normal; font-size:20px; color:var(--pg-red); }
.pg-addr { font-size:14.5px; margin:16px 0; }
.pg-addr .pg-mono { color:var(--pg-mute); text-transform:uppercase; letter-spacing:.06em; }
.pg-empty { color:var(--pg-mute); font-size:14.5px; }

@media (max-width:1180px) { .pg-grains { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:980px) {
    .pg-hero { grid-template-columns:minmax(0,1fr); min-height:0; }
    .pg-hero-copy { padding:40px 32px; order:2; }
    .pg-hero-photo { order:1; height:auto; aspect-ratio:16/9; }
    .pg-appro form { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
    .pg-appro label:first-child { grid-column:1 / -1; }
    .pg-appro .pg-btn { grid-column:1 / -1; }
}
@media (max-width:820px) {
    .pg-hero-copy { padding:32px 16px; }
    .pg-duo-photo { grid-template-columns:minmax(0,1fr); }
    .pg-duo-photo .pg-proc { min-height:380px; }
    .pg-grains { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .pg-acc-grid { grid-template-columns:minmax(0,1fr); }
    .pg-track li { font-size:12.5px; }
    .pg-acc-nav form { margin-left:0; }
    .pg-specbar .pg-specline { padding-left:16px; padding-right:16px; }
}

/* === Camion complet === */
.pg-truckcta { background:#14161a; color:#eceef0; padding:clamp(48px,6vw,80px) 0; }
.pg-truckcta .pg-eyebrow { color:#e77f93; }
.pg-truckcta h2 { color:#fff; }
.pg-tk-head { background:#14161a; color:#fff; padding:clamp(34px,4vw,56px) 0 clamp(26px,3vw,40px); }
.pg-tk-head h1 { font-size:clamp(32px,4.2vw,56px); color:#fff; margin-bottom:10px; }
.pg-tk-head .pg-eyebrow { color:#e77f93; }
.pg-tk-sticky { position:sticky; top:68px; z-index:20; }
.pg-tk-stage { position:relative; height:clamp(220px,44vh,480px); background:#e4e6e9; touch-action:pan-y; }
.pg-tk-stage canvas { display:block; }
.pg-tk-badge { position:absolute; left:50%; top:16px; transform:translateX(-50%); background:rgba(20,22,26,.9); color:#fff; padding:9px 18px; font-family:"IBM Plex Mono",monospace; font-size:14px; white-space:nowrap; pointer-events:none; }
.pg-tk-badge b { font-size:20px; font-weight:500; }
.pg-tk-gauge { display:grid; grid-template-columns:repeat(24,1fr); gap:2px; height:12px; background:#14161a; padding:2px; }
.pg-tk-gauge i { background:#3a3e45; transition:background .2s; }
.pg-tk { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr); gap:clamp(24px,4vw,56px); padding-top:40px; padding-bottom:80px; align-items:start; }
.pg-tk-row { display:grid; grid-template-columns:14px minmax(0,1fr) auto auto; gap:16px; align-items:center; padding:16px 0; border-bottom:1px solid var(--pg-line); }
.pg-tk-dot { width:14px; height:44px; }
.pg-tk-name strong { display:block; font-size:21px; font-weight:700; letter-spacing:-.01em; }
.pg-tk-name span { font-size:13.5px; color:var(--pg-mute); }
.pg-tk-step { display:flex; align-items:center; border:1px solid var(--pg-line); }
.pg-tk-step button { width:44px; height:46px; border:0; background:#fff; font-size:20px; cursor:pointer; color:var(--pg-ink); }
.pg-tk-step button:hover:not(:disabled) { background:var(--pg-tint); }
.pg-tk-step button:disabled { color:#c3c7cc; cursor:default; }
.pg-tk-step input { width:52px; height:46px; border:0; border-left:1px solid var(--pg-line); border-right:1px solid var(--pg-line); text-align:center; font:600 17px Archivo,sans-serif; -moz-appearance:textfield; border-radius:0; }
.pg-tk-step input::-webkit-outer-spin-button,.pg-tk-step input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.pg-tk-fill { background:none; border:0; padding:0; font:500 13.5px Archivo,sans-serif; color:var(--pg-red); text-decoration:underline; cursor:pointer; white-space:nowrap; min-width:92px; text-align:right; }
.pg-tk-fill:disabled { color:#c3c7cc; text-decoration:none; cursor:default; }
.pg-tk-sum { border:1px solid var(--pg-line); padding:26px; }
.pg-tk-sum h2 { font-size:24px; }
.pg-tk-left { font-size:15px; color:var(--pg-red); font-weight:600; min-height:22px; margin:0 0 14px; }
.pg-tk-left.ok { color:#1d7a46; }
.pg-tk-ht { font-size:38px; font-weight:700; letter-spacing:-.025em; line-height:1.1; white-space:nowrap; }
.pg-tk-ht small { font-size:15px; font-weight:400; color:var(--pg-mute); letter-spacing:0; }
.pg-tk-ttc { font-size:14.5px; color:var(--pg-mute); margin:4px 0 18px; }
.pg-tk-ttc strong { color:var(--pg-ink); font-weight:600; }
.pg-tk-sum .pg-btn:disabled { background:#c3c7cc; border-color:#c3c7cc; cursor:not-allowed; }
.pg-tk-reset { display:block; margin:12px auto 0; }
@media (max-width:980px) { .pg-tk { grid-template-columns:minmax(0,1fr); } .pg-tk-stage { height:clamp(190px,30vh,320px); } }
@media (max-width:560px) { .pg-tk-row { grid-template-columns:10px minmax(0,1fr) auto; } .pg-tk-dot { width:10px; } .pg-tk-fill { grid-column:2 / -1; text-align:left; } .pg-tk-step button { width:38px; } .pg-tk-step input { width:44px; } }

.pg-tk-price { margin:14px 0 18px; color:#d6d9dd; }
.pg-tk-price b { font-size:clamp(26px,3vw,36px); font-weight:700; color:#fff; letter-spacing:-.02em; }
.pg-tk-name s { color:#9aa0a8; }
.pg-tk-save { font-size:14px; color:#1d7a46; font-weight:600; min-height:20px; margin:-8px 0 16px; }

/* Demande d'appro : plusieurs tailles */
.theme-planetgarnet .pg-appro h2 { margin-bottom:6px; }
.pg-appro-sub { color:#b6bac1; margin:0 0 20px; font-size:15px; }
.pg-appro form { display:block; }
.pg-appro-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-bottom:18px; }
.pg-appro-item { background:#1f2227; padding:14px 12px; display:flex; flex-direction:column; gap:4px; min-width:0; }
.pg-appro-item strong { font-size:24px; font-weight:700; letter-spacing:-.02em; color:#fff; }
.pg-appro-item strong small { font-size:12px; font-weight:500; color:#e77f93; letter-spacing:.04em; }
.pg-appro-item .pg-mono { margin-bottom:8px; }
.pg-appro .pg-tk-step { border-color:#4a4f57; background:#fff; }
.pg-appro .pg-tk-step button { width:38px; height:42px; flex:none; }
.pg-appro .pg-tk-step input { flex:1; min-width:0; width:auto; height:42px; padding:0; border:0; border-left:1px solid #dde0e4; border-right:1px solid #dde0e4; }
.pg-appro-foot { display:flex; flex-wrap:wrap; align-items:flex-end; gap:16px 32px; }
.pg-appro-foot .pg-btn { margin-left:auto; min-width:200px; }
.pg-appro-foot .pg-btn:disabled { background:#4a4f57; border-color:#4a4f57; color:#b6bac1 !important; cursor:not-allowed; }
.pg-appro-truck { margin:12px 0 0; color:#7fd6a3; font-weight:600; font-size:14.5px; }
@media (max-width:980px) { .pg-appro-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px) { .pg-appro-foot .pg-btn { width:100%; margin-left:0; } }

/* Paiement par virement */
.pg-pay { border:1px solid var(--pg-line); padding:18px 20px; margin-bottom:18px; }
.pg-pay strong { display:block; font-size:16px; margin-bottom:6px; }
.pg-pay p { margin:0; font-size:14px; color:var(--pg-mute); }
.pg-rib { margin:0 0 24px; }
.pg-rib-note { margin:14px 0 0; font-size:14px; color:var(--pg-mute); }
.pg-rib-page { max-width:760px; }
.pg-lead-dark { color:var(--pg-mute); margin:0 0 24px; }
.pg-rib-actions { margin-top:8px; }
