/* ══════════════════════════════════════════════════════════════
   Présentoirs & PLV — pages produit et catalogue
   S'appuie sur les tokens de paynelia.css
   Déposer dans /www/assets/presentoirs.css
   ══════════════════════════════════════════════════════════════ */

/* ---------- Fil d'Ariane ---------- */
.pn-breadcrumb{padding:14px 0;border-bottom:1px solid var(--pn-border)}
.pn-breadcrumb-inner{max-width:var(--pn-max-width);margin:0 auto;padding:0 var(--pn-container-pad);display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-family:var(--pn-font-mono);font-size:11px;color:var(--pn-gray-500);text-transform:uppercase;letter-spacing:.08em}
.pn-breadcrumb-inner a{color:var(--pn-gray-700);text-decoration:none}
.pn-breadcrumb-inner a:hover{color:var(--pn-orange)}
.pn-breadcrumb-inner .sep{color:var(--pn-gray-300)}

/* ---------- Page produit ---------- */
.pn-prod{max-width:var(--pn-max-width);margin:0 auto;padding:40px var(--pn-container-pad) 0}
.pn-prod-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
@media(max-width:899px){.pn-prod-grid{grid-template-columns:1fr;gap:28px}}

.pn-gal-main{background:#fff;border:1px solid var(--pn-border);border-radius:var(--pn-radius-lg);aspect-ratio:4/3;display:grid;place-items:center;padding:28px;overflow:hidden}
.pn-gal-main img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply}
.pn-gal-main img.lowdef{max-width:260px;max-height:260px}
.pn-gal-strip{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.pn-gal-thumb{width:78px;height:78px;background:#fff;border:2px solid var(--pn-border);border-radius:10px;padding:6px;cursor:pointer;display:grid;place-items:center;overflow:hidden;transition:border-color .15s}
.pn-gal-thumb:hover{border-color:var(--pn-gray-300)}
.pn-gal-thumb.active{border-color:var(--pn-orange)}
.pn-gal-thumb img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}

.pn-prod-eyebrow{font-family:var(--pn-font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}
.pn-prod-eyebrow a{color:var(--pn-orange);text-decoration:none}
.pn-prod-eyebrow a:hover{text-decoration:underline}
.pn-prod-h1{font-family:var(--pn-font-hero);font-size:clamp(30px,4.2vw,46px);line-height:1;text-transform:uppercase;letter-spacing:-.01em;margin:0 0 10px;color:var(--pn-black)}
.pn-prod-ref{font-family:var(--pn-font-mono);font-size:12px;color:var(--pn-gray-500);margin-bottom:22px}
.pn-prod-ref strong{color:var(--pn-black)}
.pn-dispo{color:#16A34A;font-weight:700}

.pn-buy-price{padding:20px 0;border-top:1px solid var(--pn-border);border-bottom:1px solid var(--pn-border)}
.pn-buy-ttc{display:block;font-family:var(--pn-font-hero);font-size:46px;line-height:1;color:var(--pn-orange)}
.pn-buy-ttc small{font-size:19px;color:var(--pn-gray-500)}
.pn-buy-ht{display:block;font-family:var(--pn-font-mono);font-size:13px;color:var(--pn-gray-500);margin-top:4px}

.pn-buy-qte{margin:22px 0}
.pn-buy-qte label{display:block;font-family:var(--pn-font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--pn-gray-500);margin-bottom:8px}
.pn-qte-stepper{display:inline-flex;align-items:center;border:2px solid var(--pn-border);border-radius:12px;overflow:hidden;background:#fff}
.pn-qte-stepper:focus-within{border-color:var(--pn-orange)}
.pn-qte-btn{width:46px;height:54px;border:0;background:var(--pn-cream);color:var(--pn-black);font-size:22px;cursor:pointer;transition:all .15s;font-family:var(--pn-font-head)}
.pn-qte-btn:hover{background:var(--pn-orange);color:#fff}
.pn-qte-input{width:96px;height:54px;border:0;outline:0;text-align:center;font-family:var(--pn-font-hero);font-size:26px;background:transparent;-moz-appearance:textfield}
.pn-qte-input::-webkit-outer-spin-button,.pn-qte-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pn-qte-info{display:block;margin-top:10px;font-family:var(--pn-font-mono);font-size:12px;color:var(--pn-gray-700)}

.pn-btn-cart{width:100%;background:var(--pn-orange);color:#fff;border:0;padding:17px;border-radius:12px;font-family:var(--pn-font-head);font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:10px;transition:all .15s}
.pn-btn-cart:hover{background:#e63400;transform:translateY(-1px);box-shadow:0 6px 16px rgba(255,59,0,.3)}
.pn-btn-cart svg{width:18px;height:18px;flex-shrink:0}

.pn-buy-reass{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:9px}
.pn-buy-reass li{font-size:13px;color:var(--pn-gray-700);padding-left:22px;position:relative;line-height:1.5}
.pn-buy-reass li::before{content:'✓';position:absolute;left:0;color:var(--pn-orange);font-weight:700}

/* ---------- Contenu ---------- */
.pn-section{max-width:var(--pn-max-width);margin:0 auto;padding:56px var(--pn-container-pad) 0}
.pn-section-narrow{max-width:920px;margin:0 auto;padding:56px var(--pn-container-pad) 0}
.pn-seo-block h2{font-family:var(--pn-font-hero);font-size:clamp(26px,3.4vw,38px);line-height:1;text-transform:uppercase;margin:44px 0 16px;color:var(--pn-black)}
.pn-seo-block h2:first-child{margin-top:0}
.pn-seo-block p{font-size:16px;line-height:1.75;color:var(--pn-gray-700);margin-bottom:15px}
.pn-seo-block p strong{color:var(--pn-black)}
.pn-seo-block a{color:var(--pn-orange)}
.pn-tab{width:100%;border-collapse:collapse;margin:18px 0;font-size:14px;background:#fff;border:1px solid var(--pn-border);border-radius:12px;overflow:hidden}
.pn-tab th,.pn-tab td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--pn-border)}
.pn-tab th{background:var(--pn-black);color:#fff;font-family:var(--pn-font-head);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.pn-tab td:first-child{color:var(--pn-gray-700);width:38%}
.pn-tab td:last-child{color:var(--pn-black);font-weight:500}
.pn-tab tr:last-child td{border-bottom:0}
@media(max-width:640px){
.pn-tab,.pn-tab thead,.pn-tab tbody,.pn-tab tr,.pn-tab th,.pn-tab td{display:block}
.pn-tab thead{display:none}
.pn-tab tr{border:1px solid var(--pn-border);border-radius:8px;margin-bottom:10px;padding:6px}
.pn-tab td{border:0;padding:5px 8px}
.pn-tab td::before{content:attr(data-label) ' : ';font-weight:700;color:var(--pn-black)}
}

/* ---------- Produits proches ---------- */
.pn-sim-title{font-family:var(--pn-font-hero);font-size:clamp(24px,3vw,34px);text-transform:uppercase;margin:0 0 20px}
.pn-sim-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:899px){.pn-sim-grid{grid-template-columns:repeat(2,1fr)}}
.pn-sim-card{background:#fff;border:1px solid var(--pn-border);border-radius:12px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:transform .15s,border-color .15s}
.pn-sim-card:hover{transform:translateY(-3px);border-color:var(--pn-orange)}
.pn-sim-thumb{aspect-ratio:1;background:#fff;display:grid;place-items:center;padding:12px;border-bottom:1px solid var(--pn-border)}
.pn-sim-thumb img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.pn-sim-body{padding:12px 14px 14px}
.pn-sim-name{font-family:var(--pn-font-head);font-size:12.5px;font-weight:600;line-height:1.35;color:var(--pn-black);margin-bottom:6px}
.pn-sim-price{font-family:var(--pn-font-hero);font-size:19px;color:var(--pn-orange)}
.pn-sim-all{margin-top:22px;font-size:14px}
.pn-sim-all a{color:var(--pn-orange);font-weight:600}

/* ---------- Catalogue ---------- */
.pn-cat-hero{background:linear-gradient(180deg,var(--pn-cream) 0%,var(--pn-white) 100%);padding:52px 0 36px;position:relative;overflow:hidden}
.pn-cat-hero::before{content:'';position:absolute;top:-200px;right:-160px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,59,0,.09) 0%,transparent 70%)}
.pn-cat-hero-inner{max-width:820px;margin:0 auto;padding:0 var(--pn-container-pad);position:relative;text-align:center}
.pn-cat-hero h1{font-family:var(--pn-font-hero);font-size:clamp(38px,5.5vw,68px);line-height:.95;text-transform:uppercase;margin:0 0 14px}
.pn-cat-hero p{font-size:16px;line-height:1.6;color:var(--pn-gray-700);margin:0 auto 24px;max-width:620px}

.pn-cat-search{display:flex;align-items:center;gap:12px;background:#fff;border:2px solid var(--pn-border);border-radius:50px;padding:0 20px;box-shadow:0 6px 20px rgba(0,0,0,.06);transition:border-color .15s,box-shadow .15s}
.pn-cat-search:focus-within{border-color:var(--pn-orange);box-shadow:0 8px 26px rgba(255,59,0,.15)}
.pn-cat-search input{flex:1;border:0;outline:0;background:transparent;padding:17px 0;font-family:var(--pn-font-head);font-size:16px;color:var(--pn-black)}
.pn-cat-search input::placeholder{color:var(--pn-gray-500)}
.pn-cat-dot{width:10px;height:10px;border-radius:50%;background:var(--pn-gray-300);flex-shrink:0;transition:background .2s}
.pn-cat-dot.on{background:#16A34A;animation:pnCatPulse 1.4s ease-in-out infinite}
@keyframes pnCatPulse{0%,100%{box-shadow:0 0 0 0 rgba(22,163,74,.5)}70%{box-shadow:0 0 0 8px rgba(22,163,74,0)}}
.pn-cat-clear{border:0;background:transparent;color:var(--pn-gray-500);font-size:22px;cursor:pointer;padding:4px}
.pn-cat-clear:hover{color:var(--pn-orange)}

.pn-cat-suggest{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:16px}
.pn-cat-suggest button{background:#fff;border:1px solid var(--pn-border);border-radius:50px;padding:7px 15px;font-family:var(--pn-font-head);font-size:12.5px;color:var(--pn-gray-700);cursor:pointer;transition:all .15s}
.pn-cat-suggest button:hover{border-color:var(--pn-orange);color:var(--pn-orange);background:var(--pn-orange-light)}

.pn-cat-wrap{max-width:var(--pn-max-width);margin:0 auto;padding:34px var(--pn-container-pad) 70px;display:grid;grid-template-columns:246px 1fr;gap:34px;align-items:start;scroll-margin-top:80px}
@media(max-width:899px){.pn-cat-wrap{grid-template-columns:1fr}}
.pn-cat-filtres{position:sticky;top:88px}
@media(max-width:899px){.pn-cat-filtres{position:static}}
.pn-cat-fgroup{margin-bottom:22px}
.pn-cat-fgroup h3{font-family:var(--pn-font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--pn-gray-500);margin:0 0 10px;font-weight:400}
.pn-cat-fgroup > div{display:flex;flex-wrap:wrap;gap:6px}
.pn-cat-chip{background:#fff;border:1px solid var(--pn-border);border-radius:8px;padding:6px 11px;font-family:var(--pn-font-head);font-size:12px;color:var(--pn-black);cursor:pointer;transition:all .15s;line-height:1.3;text-align:left}
.pn-cat-chip em{font-style:normal;color:var(--pn-gray-500);font-size:10px;font-family:var(--pn-font-mono)}
.pn-cat-chip:hover{border-color:var(--pn-gray-300)}
.pn-cat-chip[aria-pressed="true"]{background:var(--pn-black);border-color:var(--pn-black);color:#fff}
.pn-cat-chip[aria-pressed="true"] em{color:rgba(255,255,255,.6)}
.pn-cat-prix{display:flex;align-items:center;gap:8px}
.pn-cat-prix input{width:100%;padding:9px 10px;border:1px solid var(--pn-border);border-radius:8px;font-family:var(--pn-font-mono);font-size:12px}
.pn-cat-prix input:focus{outline:0;border-color:var(--pn-orange)}
.pn-cat-prix span{color:var(--pn-gray-500);font-size:12px}
.pn-cat-reset{width:100%;background:transparent;border:1px solid var(--pn-border);border-radius:8px;padding:10px;font-family:var(--pn-font-head);font-size:12.5px;color:var(--pn-gray-700);cursor:pointer;transition:all .15s}
.pn-cat-reset:hover{border-color:var(--pn-orange);color:var(--pn-orange)}

.pn-cat-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--pn-border);margin-bottom:18px}
.pn-cat-bar span{font-family:var(--pn-font-mono);font-size:12px;color:var(--pn-gray-700)}
.pn-cat-bar select{border:1px solid var(--pn-border);border-radius:8px;padding:8px 11px;font-family:var(--pn-font-head);font-size:12.5px;background:#fff;cursor:pointer}

.pn-cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:1199px){.pn-cat-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:659px){.pn-cat-grid{grid-template-columns:repeat(2,1fr)}}
.pn-cat-card{background:#fff;border:1px solid var(--pn-border);border-radius:12px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:transform .15s,border-color .15s,box-shadow .15s}
.pn-cat-card:hover{transform:translateY(-3px);border-color:var(--pn-orange);box-shadow:0 8px 20px rgba(255,59,0,.1)}
.pn-cat-thumb{aspect-ratio:1;background:#fff;display:grid;place-items:center;padding:16px;border-bottom:1px solid var(--pn-border);overflow:hidden}
.pn-cat-thumb img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply}
.pn-cat-thumb img.lowdef{max-width:118px;max-height:118px}
.pn-cat-body{padding:11px 13px 14px;display:flex;flex-direction:column;gap:5px;flex:1}
.pn-cat-gamme{font-family:var(--pn-font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--pn-gray-500)}
.pn-cat-name{font-family:var(--pn-font-head);font-size:12.5px;font-weight:600;line-height:1.35;color:var(--pn-black);flex:1}
.pn-cat-card:hover .pn-cat-name{color:var(--pn-orange)}
.pn-cat-price{font-family:var(--pn-font-hero);font-size:20px;color:var(--pn-orange);line-height:1}
.pn-cat-price small{font-family:var(--pn-font-mono);font-size:9px;color:var(--pn-gray-500)}
.pn-cat-vide{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--pn-gray-500);line-height:2}
.pn-cat-more{display:block;margin:28px auto 0;background:var(--pn-black);color:#fff;border:0;border-radius:50px;padding:14px 34px;font-family:var(--pn-font-head);font-weight:700;font-size:13.5px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:background .15s}
.pn-cat-more:hover{background:var(--pn-orange)}

/* ---------- Toast ---------- */
.pn-toast{position:fixed;top:100px;right:-420px;background:#fff;border:1px solid var(--pn-border);border-left:4px solid #16A34A;border-radius:12px;padding:16px 20px;box-shadow:0 20px 50px rgba(0,0,0,.15);display:flex;align-items:center;gap:14px;z-index:9999;transition:right .3s ease-out;max-width:360px}
.pn-toast.show{right:24px}
.pn-toast-icon{width:38px;height:38px;background:#DCFCE7;color:#16A34A;border-radius:50%;display:grid;place-items:center;flex-shrink:0}
.pn-toast-icon svg{width:20px;height:20px}
.pn-toast-content{flex:1;min-width:0}
.pn-toast-content strong{display:block;font-size:14px;color:var(--pn-black);margin-bottom:2px}
.pn-toast-content span{display:block;font-size:12px;color:var(--pn-gray-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pn-toast-link{background:var(--pn-orange);color:#fff;padding:8px 14px;border-radius:8px;text-decoration:none;font-family:var(--pn-font-mono);font-size:11px;text-transform:uppercase;font-weight:700;white-space:nowrap}
@media(max-width:520px){.pn-toast{right:-100%;left:0;top:0;max-width:none;border-radius:0;border-left:0;border-top:4px solid #16A34A}.pn-toast.show{right:0}}

@media(prefers-reduced-motion:reduce){
.pn-cat-card,.pn-sim-card,.pn-btn-cart,.pn-cat-chip{transition:none}
.pn-cat-card:hover,.pn-sim-card:hover,.pn-btn-cart:hover{transform:none}
.pn-cat-dot.on{animation:none}
}

/* ---------- Bandeau des gammes, sur l'accueil présentoirs ----------
   Pictogrammes au trait plutôt que photos : les visuels fournisseur
   ont des cadrages et des fonds trop hétérogènes pour une grille. */
.pn-gammes{max-width:var(--pn-max-width);margin:0 auto;padding:38px var(--pn-container-pad) 0}
.pn-gammes h2{font-family:var(--pn-font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--pn-gray-500);margin:0 0 16px;font-weight:400}
.pn-gammes-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
@media(max-width:1199px){.pn-gammes-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:899px){.pn-gammes-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:599px){.pn-gammes-grid{grid-template-columns:repeat(2,1fr)}}
.pn-gamme-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  background:var(--pn-white);border:1px solid var(--pn-border);border-radius:12px;
  padding:16px 15px 15px;text-decoration:none;transition:all .15s;position:relative;overflow:hidden}
.pn-gamme-card::after{content:'';position:absolute;inset:0;border-radius:12px;
  border:1px solid transparent;transition:border-color .15s;pointer-events:none}
.pn-gamme-card:hover{border-color:var(--pn-orange);transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(255,59,0,.09)}
.pn-gamme-ico{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;
  background:var(--pn-cream);color:var(--pn-orange);margin-bottom:9px;transition:all .15s}
.pn-gamme-ico svg{width:21px;height:21px}
.pn-gamme-card:hover .pn-gamme-ico{background:var(--pn-orange);color:#fff}
.pn-gamme-name{font-family:var(--pn-font-head);font-size:13px;font-weight:700;
  line-height:1.3;color:var(--pn-black)}
.pn-gamme-card:hover .pn-gamme-name{color:var(--pn-orange)}
.pn-gamme-nb{font-family:var(--pn-font-mono);font-size:10.5px;color:var(--pn-gray-500);
  letter-spacing:.02em}
@media(prefers-reduced-motion:reduce){
.pn-gamme-card,.pn-gamme-ico{transition:none}
.pn-gamme-card:hover{transform:none}
}

/* ---------- Bloc avantages, en bas des pages ---------- */
.pn-avantages{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:8px}
@media(max-width:899px){.pn-avantages{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.pn-avantages{grid-template-columns:1fr}}
.pn-avantage{text-align:center;padding:24px 16px}
.pn-avantage-ico{width:48px;height:48px;background:var(--pn-orange-light);color:var(--pn-orange);
  border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;
  flex-shrink:0}
.pn-avantage-ico svg{width:22px;height:22px;flex-shrink:0}
.pn-avantage h3{font-family:var(--pn-font-head);font-size:15px;font-weight:700;margin:0 0 6px;
  color:var(--pn-black)}
.pn-avantage p{font-size:13px;color:var(--pn-gray-500);line-height:1.5;margin:0}

/* Filet de sécurité : aucun SVG de ces pages ne doit dépasser sa boîte,
   même si la feuille de styles arrive après le rendu. */
.pn-avantage svg,.pn-gamme-ico svg,.pn-buy-reass svg,.pn-reass-item svg{max-width:100%;max-height:100%}
