/* /produits — catalogue public (t495, refonte 10 oct.) : cartes horizontales compactes sur mobile, grille 2-3 colonnes sur ordinateur,
   fiche détaillée en feuille (bottom sheet) ; clair et sombre. Barre d'outils NON collante (plus de superposition sous les pilules). */
.pc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pc-page{padding-top:8px}
.pc-outils{display:grid;gap:10px;margin-bottom:6px}
.pc-rech{position:relative;display:block}
.pc-rech svg{position:absolute;left:14px;top:50%;width:18px;height:18px;margin-top:-9px;color:var(--text-muted);pointer-events:none}
.pc-rech input{width:100%;min-height:44px;padding:10px 14px 10px 40px;border:0;border-radius:14px;background:var(--surface-2);color:var(--text);font:500 16px/1.3 var(--font);-webkit-appearance:none;appearance:none}
.pc-rech input::placeholder{color:var(--text-muted)}
.pc-rech input:focus{outline:2px solid var(--focus);outline-offset:1px}
.pc-filtres{display:flex;gap:8px;overflow-x:auto;margin:10px calc(-1 * var(--pad-x,20px)) 0;padding:2px var(--pad-x,20px) 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.pc-filtres::-webkit-scrollbar{display:none}
/* menus déroulants natifs (sélecteur iOS sur mobile), habillés en pastilles */
.pc-sel{position:relative;display:block;flex:0 0 auto}
.pc-sel select{width:auto;min-height:36px;padding:6px 28px 6px 13px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:600 13.5px/1.2 var(--font);-webkit-appearance:none;appearance:none;white-space:nowrap;cursor:pointer;field-sizing:content}
.pc-sel .pc-chev{position:absolute;right:10px;top:50%;width:14px;height:14px;margin-top:-7px;pointer-events:none;color:var(--text-muted)}
.pc-sel.pc-on select{background:var(--title);border-color:var(--title);color:var(--surface)}.pc-sel.pc-on .pc-chev{color:var(--surface)}
.pc-sel select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.pc-fs{display:inline-flex;align-items:center;gap:5px}.pc-fs svg{width:14px;height:14px}
.pc-f{flex:0 0 auto;min-height:34px;padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:600 13.5px/1.2 var(--font);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent}
.pc-f[aria-pressed=true]{background:var(--title);border-color:var(--title);color:var(--surface)}
.pc-fs[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#000}
.pc-f:focus-visible,.pc-open:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.pc-sec{padding:18px 0 4px}.pc-sec[hidden]{display:none!important}
.pc-h{margin:0 0 12px;font-size:clamp(19px,4.6vw,24px)}
.pc-grid{display:grid;grid-template-columns:1fr;gap:10px}
/* carte : horizontale sur mobile */
.pc{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border-radius:20px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1);transition:transform var(--dur-fast,.15s) var(--ease-out,ease),box-shadow var(--dur-fast,.15s)}
.pc[hidden]{display:none}
/* chevron discret : la carte ouvre la fiche (le bouton d'estimation est dans la fiche) */
.pc{padding-right:30px}
.pc::after{content:"";position:absolute;right:14px;top:50%;width:8px;height:8px;margin-top:-5px;border-right:2px solid var(--text-muted);border-top:2px solid var(--text-muted);transform:rotate(45deg);opacity:.55;pointer-events:none}
.pc:active{transform:scale(.985)}
/* images : remplissent leur cadre (object-fit: cover, centrées), sans espace vide ni fond blanc ; le placeholder reste centré */
.pc-img{width:96px;aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--surface-2);display:grid;place-items:center;align-self:start}
.pc-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;border-radius:0!important}
.pc-ic{background:var(--surface-2)!important}
/* placeholder sans image : icône de catégorie, sobre, jetons clair/sombre */
.pc-ph{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(160deg,var(--surface-2),var(--surface-3,var(--surface-2)));color:var(--text-muted)}
.pc-ph svg{width:36%;height:36%;max-width:56px;max-height:56px;opacity:.75;stroke-width:1.5}
.pc-fv-ph{background:var(--surface-2)!important}
.pc-body{display:flex;flex-direction:column;gap:5px;min-width:0}
.pc-marque{display:inline-block;align-self:flex-start;margin:0;padding:2px 8px;border-radius:999px;background:var(--surface-2);font:700 10.5px/1.4 var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
.pc-nom{margin:0;font:600 15.5px/1.25 var(--font)}
.pc-open{all:unset;cursor:pointer;color:var(--title);overflow-wrap:anywhere}
.pc-open::after{content:"";position:absolute;inset:0;border-radius:inherit}      /* toute la carte ouvre la fiche */
.pc-mini{margin:0;font-size:13px;line-height:1.4;color:var(--text-muted)}
.pc-chips{display:flex;flex-wrap:wrap;gap:4px;margin:1px 0 0;padding:0;list-style:none}
.pc-chips li{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:var(--surface-2);color:var(--text);font:600 11.5px/1.3 var(--font);white-space:nowrap}
.pc-chips svg{width:12px;height:12px}
.pc-g{color:var(--title)!important}
/* GBF : bleu iOS sobre (contraste AA en clair et en sombre) */
.pc-chips .pc-gbf{background:rgba(0,122,255,.10);color:#0060C7}.pc-gbf abbr{text-decoration:none;font-weight:700;color:inherit}
.pc-pop .pc-h{display:flex;align-items:center;gap:8px}.pc-pop .pc-h svg{width:20px;height:20px;color:var(--accent-ink,#B8860B)}
.pc-pop[hidden]{display:none}
.pc-sub{margin:0;font:600 12.5px/1.35 var(--font);color:#1F7A3A}
.pc-sub::before{content:"";display:inline-block;width:7px;height:7px;margin:0 6px 1px 0;border-radius:50%;background:#2FA352;vertical-align:middle}
@media (min-width:600px){
  .pc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .pc{grid-template-columns:1fr;align-items:stretch;padding:12px;gap:10px}
  .pc-img{width:100%;aspect-ratio:1;border-radius:16px}   /* carré : format médian des photos (rognées) → recadrage minimal */
  .pc-body{flex:1;padding:0 4px 2px}
  .pc{padding-right:12px}.pc::after{display:none}
  .pc-svc{grid-template-columns:56px minmax(0,1fr);align-items:start}.pc-svc .pc-img{width:56px;aspect-ratio:1}
}
@media (min-width:960px){.pc-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .pc:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover,var(--shadow-1))}}
.pc-vide{padding:24px 0;text-align:center;color:var(--text-muted)}
.pc-legal{margin-top:28px}
/* fiche détaillée : feuille du bas sur mobile, fenêtre centrée sur ordinateur */
.pc-sheet{--pc-dur:450ms;--pc-fin:360ms;--pc-courbe:cubic-bezier(.32,.72,0,1);position:fixed;inset:auto 0 0 0;margin:0;width:100%;max-width:none;max-height:88vh;max-height:88dvh;padding:0;border:0;border-radius:24px 24px 0 0;background:var(--surface);color:var(--text);box-shadow:0 -10px 40px rgba(0,0,0,.25);overflow:auto;overscroll-behavior:contain;
  transition:transform var(--pc-dur) var(--pc-courbe),opacity var(--pc-dur) var(--pc-courbe);will-change:transform}
.pc-sheet::backdrop{background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--pc-dur) var(--pc-courbe)}
/* ouverture/fermeture (courbe et durées de la bulle de chat : 450 ms à l'ouverture, 360 ms à la fermeture) */
.pc-sheet.pc-off{transform:translateY(100%)}
.pc-sheet.pc-off::backdrop{opacity:0}
.pc-sheet.pc-ferme{transition-duration:var(--pc-fin)}.pc-sheet.pc-ferme::backdrop{transition-duration:var(--pc-fin)}
@media (prefers-reduced-motion:reduce){.pc-sheet,.pc-sheet::backdrop{transition:none!important}.pc,.pc:active{transition:none;transform:none}}
.pc-sheet::before{content:"";display:block;width:38px;height:5px;margin:8px auto 0;border-radius:3px;background:var(--border-strong,#ccc)}
.pc-x{position:sticky;top:8px;float:right;z-index:2;margin:8px 10px 0 0;width:34px;height:34px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--text);cursor:pointer}
.pc-x svg{width:16px;height:16px}
.pc-x{text-decoration:none}
/* page /produits/<slug> sans JS : la fiche est un dialog ouvert non modal, posé en feuille par-dessus la liste */
.pc-sheet[open]:not(:modal){z-index:60;box-shadow:0 -6px 60px rgba(0,0,0,.35)}
.pc-h1{font:700 clamp(2.25rem,1.4rem + 3.6vw,3.5rem)/1.08 var(--font);letter-spacing:-.02em;max-width:18ch;margin:0 0 .5em}
h1.pc-ft{font-size:22px;line-height:1.2;letter-spacing:0;max-width:none;margin:0}
.pc-sheet-in{padding:6px 20px calc(12px + env(safe-area-inset-bottom))}
.pc-subd{display:flex;flex-direction:column;gap:6px;margin:0;padding:0}
.pc-fv{display:grid;place-items:center;margin:4px auto 12px;width:min(100%,44vh);aspect-ratio:1;border-radius:20px;background:var(--surface-2);overflow:hidden}
.pc-fv:empty{display:none}
.pc-fv img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;border-radius:0!important}
.pc-fb{display:flex;flex-direction:column;gap:10px}
.pc-fb .pc-marque{align-self:flex-start}
.pc-ft{margin:0;font-size:22px;line-height:1.2}
.pc-desc{margin:0;font-size:14.5px;line-height:1.55;color:var(--text-muted)}
.pc-dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}
.pc-dl div{padding:10px 12px;border-radius:14px;background:var(--surface-2)}
.pc-dl dt{font-size:11.5px;color:var(--text-muted)}.pc-dl dd{margin:2px 0 0;font:600 13.5px/1.35 var(--font);color:var(--title)}
.pc-sh{display:flex;align-items:center;gap:8px;margin:6px 0 0;font-size:15.5px}
.pc-sh svg{width:18px;height:18px}
.pc-ul{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:14px;line-height:1.5}
.pc-lv{margin:6px 0 0;padding:0;list-style:none;border-radius:14px;overflow:hidden;background:var(--surface-2)}
.pc-lv li{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;font-size:13.5px}
.pc-lv li+li{border-top:1px solid var(--border)}
.pc-lv .pc-lva{font-weight:600;color:#1F7A3A}
.pc-lvb{display:grid;grid-template-columns:1fr auto auto auto}
.pc-lvb li{display:grid;grid-column:1/-1;grid-template-columns:subgrid;align-items:baseline;column-gap:14px}
.pc-lvb .pc-lva,.pc-lvb .pc-lvm,.pc-lvb .pc-lvt{text-align:right;font-variant-numeric:tabular-nums}
.pc-lvt{font-weight:700}
@media (max-width:480px){.pc-lvb li{column-gap:8px;padding-left:10px;padding-right:10px;font-size:12.5px}.pc-lvb .pc-lvh{font-size:10.5px}}
.pc-lvm{font-size:12.5px;font-weight:600;color:var(--text-muted)}
.pc-lvb .pc-lvh{padding-top:7px;padding-bottom:5px;font-size:11.5px;color:var(--text-muted)}
.pc-lvb .pc-lvh span:not(:first-child){text-align:right}
.pc-note{margin:2px 0 0;font-size:12.5px;line-height:1.5;color:var(--text-muted)}
.pc-note a,.pc-fa .link{font-weight:600}
.pc-fa{display:flex;flex-direction:column;gap:10px;align-items:center;margin-top:6px;position:sticky;bottom:0;padding:10px 0 4px;background:var(--surface)}
.pc-fa .btn{width:100%;justify-content:center}
@media (min-width:700px){.pc-sheet{inset:0;margin:auto;width:min(560px,92vw);max-height:86vh;border-radius:24px}.pc-sheet::before{display:none}
  .pc-sheet.pc-off{transform:translateY(24px) scale(.97);opacity:0}}
html[data-theme="dark"]{
  .pc-f,.pc-sel select{background:var(--surface-2);border-color:rgba(255,255,255,.08)}.pc-sel.pc-on select{background:#fff;border-color:#fff;color:#000}.pc-sel.pc-on .pc-chev{color:#000}.pc-f[aria-pressed=true]{background:#fff;border-color:#fff;color:#000}
  .pc-fs[aria-pressed=true]{background:var(--accent);border-color:var(--accent)}
  .pc,.pc-sheet,.pc-fa{background:var(--surface-2)}.pc{border-color:rgba(255,255,255,.06)}
  .pc-chips li,.pc-marque,.pc-dl div,.pc-lv,.pc-x,.pc-rech input,.pc-ic{background:var(--surface-3,#2c2c2e)}
  .pc-chips .pc-gbf{background:rgba(10,132,255,.20);color:#6CB2FF}.pc-pop .pc-h svg{color:var(--accent)}
  .pc-sub,.pc-lv .pc-lva{color:#5FD37E}.pc-sub::before{background:#5FD37E}
}

/* ---- carrousel « Les plus populaires » : défilement horizontal aimanté, ~1,3 carte visible sur mobile, sans barre ---- */
.pc-pop{padding-top:16px}
.pc-pop-t{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pc-car-nav{display:none;gap:8px}
.pc-car-b{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--title);display:grid;place-items:center;cursor:pointer}
.pc-car-b svg{width:18px;height:18px}.pc-car-b:disabled{opacity:.35;cursor:default}
.pc-car-b:focus-visible,.pc-car:focus-visible,.pc-tab:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.pc-car{display:flex;align-items:stretch;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:0;
  margin:0 calc(-1 * var(--pad-x,20px));padding:4px var(--pad-x,20px) 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overscroll-behavior-y:auto;touch-action:pan-x pan-y}
.pc-car::-webkit-scrollbar{display:none}
.pc-car::after{content:"";flex:0 0 1px}                      /* espace de fin fiable (WebKit ignore le padding de fin en flex) */
/* ~1,5 carte visible à 390 px ; 1re carte calée sur le bord de contenu de la page (scroll-margin, fiable dans Safari), jamais coupée au départ */
.pc-car .pc{flex:0 0 46%;min-width:0;scroll-snap-align:start;scroll-margin-inline-start:var(--pad-x,20px);grid-template-columns:1fr;grid-template-rows:auto 1fr;align-items:start;padding:6px;gap:6px;border-radius:16px;
  translate:none!important;opacity:1!important;box-shadow:none}            /* pas d'apparition décalée (anim.css) ni d'ombre qui dépasse dans le carrousel */
.pc-car .pc::after{display:none}
.pc-car .pc-img{width:100%;height:auto;aspect-ratio:1/1;border-radius:11px}   /* toujours carré (1:1, cover) */
.pc-car .pc-body{padding:0 2px 2px;min-width:0}
.pc-car .pc-marque{font-size:10px;padding:2px 6px;margin-bottom:3px}
.pc-car .pc-chips{gap:4px;margin-top:5px}.pc-car .pc-chips li{font-size:11px;padding:3px 7px}
.pc-car .pc-chips li:not(.pc-gbf):not(:first-child){display:none}
.pc-car .pc-nom{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;line-height:1.25}
.pc-car .pc-sub{font-size:11.5px;margin-top:5px;line-height:1.3}
@media (min-width:600px){.pc-car .pc{flex-basis:calc((100% - 36px) / 3.4)}}
@media (min-width:960px){.pc-car-nav{display:flex}.pc-car{margin:0;padding:4px 0 6px}.pc-car .pc{flex-basis:calc((100% - 60px) / 6);scroll-margin-inline-start:0}}
@media (min-width:960px){.pc-car{scroll-padding-inline:0}}

/* ---- onglets de catégories : pastilles segmentées défilables ; collants SOUS les pilules du header, fond givré limité à la barre ---- */
.pc-tabs-bar{position:sticky;top:calc(var(--haut-top,6px) + var(--pil-h,48px) + 8px);z-index:30;margin:16px 0 0;border-radius:999px;
  background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);box-shadow:0 0 0 1px var(--border)}
.pc-tabs{display:flex;gap:2px;overflow-x:auto;padding:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-padding-inline:8px}
.pc-tabs::-webkit-scrollbar{display:none}
.pc-tab{flex:0 0 auto;padding:8px 14px;border-radius:999px;color:var(--text);font:600 13.5px/1.2 var(--font);white-space:nowrap;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:background var(--dur-fast,.15s),color var(--dur-fast,.15s)}
.pc-tab[aria-selected=true]{background:var(--title);color:var(--surface)}
html.pc-cherche .pc-tabs{opacity:.5}
html.pc-cherche .pc-tab[aria-selected=true]{background:transparent;color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}
@media (prefers-reduced-motion:reduce){.pc-tab{transition:none}}
html[data-theme="dark"]{
  .pc-tabs-bar{background:color-mix(in srgb,var(--bg) 86%,transparent);box-shadow:0 0 0 1px rgba(255,255,255,.08)}
  .pc-tab[aria-selected=true]{background:#fff;color:#000}
  .pc-car-b{background:var(--surface-2);border-color:rgba(255,255,255,.08)}
}

/* ---- hero compact de /produits : pas de pastille, titre remonté (toujours sous les pilules : main a déjà leur hauteur), ~22 px jusqu'à la recherche, fond continu ---- */
.pc-hero{padding-bottom:0}   /* haut : règle commune du site (main>:first-child, ~14 px sous les pilules) */
.pc-hero .lead{margin-bottom:0}
.pc-page{background:transparent;padding-top:22px}

/* cadres carrés fiables (WebKit : height:100% d'une image dans un cadre en aspect-ratio ne se résout pas) → image positionnée en absolu, cover centré */
.pc-img,.pc-fv{position:relative}
.pc-img>img,.pc-fv>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}

/* ---- liste par onglet : grille de cartes compactes verticales, même style que le carrousel (2 colonnes mobile, 3 puis 4 au bureau) ---- */
.pc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pc-grid .pc,.pc-grid .pc-svc{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-items:start;padding:6px;gap:6px;border-radius:16px}
.pc-grid .pc::after{display:none}
.pc-grid .pc-img,.pc-grid .pc-svc .pc-img{width:100%;height:auto;aspect-ratio:1/1;border-radius:11px}
.pc-grid .pc-body,.pc-car .pc-body{padding:0 2px 2px;min-width:0;gap:4px}
.pc-grid .pc-marque{font-size:10px;padding:2px 6px}
.pc-grid .pc-nom{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;line-height:1.25}
.pc-grid .pc-mini{display:none}
.pc-grid .pc-chips,.pc-car .pc-chips{gap:4px;margin-top:2px}.pc-grid .pc-chips li{font-size:11px;padding:3px 7px}
.pc-grid .pc-chips li:not(.pc-g):not(.pc-gbf),.pc-car .pc-chips li:not(.pc-g):not(.pc-gbf){display:none}   /* cartes compactes : badge « Jusqu'à X ans » + GBF 6 ans */
.pc-grid .pc-chips:not(:has(.pc-g)) li:first-child,.pc-car .pc-chips:not(:has(.pc-g)) li:first-child{display:inline-flex}   /* sans garantie : la puissance */
.pc-grid .pc-sub{font-size:11.5px;line-height:1.3}
@media (min-width:600px){.pc-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
@media (min-width:960px){.pc-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.pc-grid .pc-nom{font-size:14.5px}}

/* « Voir les X autres » : 6 premiers produits par onglet ; masquage seulement avec JS (classe posée avant le rendu → aucun CLS) */
.pc-voir{display:none}
.pc-js .pc-voir{display:flex;align-items:center;justify-content:center;gap:6px;margin:14px auto 0;padding:10px 18px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--title);font:600 14px/1.2 var(--font);cursor:pointer}
.pc-voir svg{width:16px;height:16px}
.pc-js:not(.pc-tout-voir) .pc-sec:not(.pc-ouvert) .pc-plus{display:none}
.pc-js.pc-tout-voir .pc-voir,.pc-js .pc-sec.pc-ouvert .pc-voir{display:none}
.pc-sec.pc-ouvert .pc-plus{animation:pc-deplie 480ms cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--k,0) * 45ms)}
@keyframes pc-deplie{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.pc-sec.pc-ouvert .pc-plus{animation:none}}
html[data-theme="dark"]{.pc-js .pc-voir{background:var(--surface-2);border-color:rgba(255,255,255,.08)}}

/* tag « Multizone » (toujours visible sur les cartes compactes) */
.pc-chips .pc-mz{background:var(--title);color:var(--surface)}
.pc-grid .pc-chips li.pc-mz,.pc-car .pc-chips li.pc-mz{display:inline-flex!important}
html[data-theme="dark"]{.pc-chips .pc-mz{background:#fff;color:#000}}

/* barre d'onglets : dépasse la colonne de contenu de la MOITIÉ du débordement réel du header (site.css : --pad-x − --header-inline) */
.pc-tabs-bar{margin-inline:calc((var(--pad-x,20px) - var(--header-inline,12px)) / -2)}

/* grilles par onglet, tablette large et bureau : MÊME largeur de carte (et d'image 1:1) que le carrousel « Les plus populaires » */
@media (min-width:600px){.pc-grid{grid-template-columns:repeat(auto-fill,calc((100% - 36px) / 3.4));gap:12px}}
@media (min-width:960px){.pc-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.pc-grid .pc-nom{font-size:13.5px}}
/* t1509 : bouton Brochure (secondaire) à côté de « Demander une estimation » */
.pc-fa-r{display:flex;gap:10px;width:100%;align-items:stretch}
.pc-fa-r .btn-y{flex:1 1 auto;min-width:0;width:auto}
.pc-fa .pc-broch{flex:0 0 auto;width:auto;gap:8px;padding:0 18px;border-width:1.5px}
.pc-broch svg{width:18px;height:18px;flex:none}
@media (max-width:599px){.pc-fa-r{flex-direction:column;gap:8px}.pc-fa-r .btn-y{width:100%}.pc-fa .pc-broch{width:100%;min-height:44px;font-size:15px}}
/* t1952 : lien « Toutes les caractéristiques » (fiche : rangée pleine largeur ; t1977 : plus de bouton sur l'image des cartes)
   + feuille (mobile) / panneau latéral 460 px (≥ 900 px). Contenu = carte de l'app (soumissions-app/src/specs_rendu.js, classes .sp1-*), couleurs du site. */
.pc-spec-b:focus-visible,.sp-x:focus-visible,.sp-t button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.pc-spec-b{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;margin:6px 0 4px;padding:10px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);color:var(--title);font:600 15px/1.3 var(--font);cursor:pointer;text-align:left}
.pc-spec-b svg{width:18px;height:18px;flex:none;color:var(--text-muted)}
.pc-spec-b::after{content:"";width:8px;height:8px;margin-left:auto;border-right:2px solid var(--text-muted);border-top:2px solid var(--text-muted);transform:rotate(45deg)}
.sp-sheet{--sp-dur:420ms;--sp-courbe:cubic-bezier(.32,.72,0,1);position:fixed;inset:auto 0 0 0;margin:0;width:100%;max-width:none;max-height:90vh;max-height:90dvh;padding:0;border:0;border-radius:24px 24px 0 0;
  background:var(--surface);color:var(--text);box-shadow:0 -10px 40px rgba(0,0,0,.25);overflow:auto;overscroll-behavior:contain;transition:transform var(--sp-dur) var(--sp-courbe),opacity var(--sp-dur) var(--sp-courbe)}
.sp-sheet::backdrop{background:rgba(0,0,0,.45);transition:opacity var(--sp-dur) var(--sp-courbe)}
.sp-sheet.sp-off{transform:translateY(100%)}.sp-sheet.sp-off::backdrop{opacity:0}
.sp-sheet::before{content:"";display:block;width:38px;height:5px;margin:8px auto 0;border-radius:3px;background:var(--border-strong,#ccc)}
.sp-hd{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:10px;padding:8px 12px 8px 20px;background:var(--surface)}
.sp-hd h2{flex:1;margin:0;font:700 17px/1.3 var(--font);color:var(--title)}
.sp-x{width:40px;height:40px;display:grid;place-items:center;padding:0;border:0;border-radius:999px;background:var(--surface-2);color:var(--title);cursor:pointer}.sp-x svg{width:18px;height:18px}
.sp-in{padding:4px 20px calc(16px + env(safe-area-inset-bottom))}
.sp-t{display:flex;gap:6px;overflow-x:auto;margin:0 -20px 16px;padding:2px 20px;scrollbar-width:none}.sp-t::-webkit-scrollbar{display:none}
.sp-t button{flex:none;min-height:36px;padding:6px 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font:600 13.5px/1.2 var(--font);cursor:pointer;white-space:nowrap}
.sp-t button[aria-selected="true"]{background:var(--title);border-color:var(--title);color:var(--surface)}
.sp-msg{color:var(--text-muted);margin:12px 0}
@media (min-width:900px){
  .sp-sheet{inset:0 0 0 auto;width:460px;height:100%;max-height:none;border-radius:24px 0 0 24px;box-shadow:-10px 0 40px rgba(0,0,0,.2)}
  .sp-sheet::before{display:none}.sp-sheet.sp-off{transform:translateX(100%)}.sp-hd{padding-top:16px}}
@media (prefers-reduced-motion:reduce){.sp-sheet,.sp-sheet::backdrop{transition:none!important}}
/* contenu partagé (.sp1, src/specs_rendu.js) aux couleurs du site (clair/sombre par html[data-theme]) */
.sp1{color:var(--text);font-size:14px;display:flex;flex-direction:column;gap:20px}
/* t1977 : le contenu vient de l'app (<section>, <h2>, <h3>) → neutraliser les styles globaux du site (section{padding-block:var(--sec-y)}, marges des titres) ; écart unique de 20 px entre blocs */
.sp-sheet .sp1>*,.sp-sheet .sp1 section.sp1-g{margin:0;padding:0;min-height:0;height:auto;flex:none}
.sp-sheet .sp1 h2,.sp-sheet .sp1 h3{margin:0;text-wrap:wrap}
.sp1-h{display:flex;gap:12px;align-items:center}
.sp1-im{width:64px;height:64px;border-radius:14px;background:#fff;overflow:hidden;flex:none;display:grid;place-items:center}.sp1-im img{width:100%;height:100%;object-fit:contain;display:block;border-radius:0}
.sp1-t{min-width:0;flex:1}.sp1-br{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);overflow-wrap:anywhere}
.sp1-n{font:700 17px/1.3 var(--font);margin:2px 0 0;color:var(--title)}
.sp1-g{margin:0;padding:0}.sp-sheet .sp1 .sp1-gh{display:flex;align-items:center;gap:6px;font:600 11.5px/1.3 var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0 0 6px;padding:0 4px}
.sp1-gh svg{width:14px;height:14px}
.sp1 svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sp1-gl{background:var(--surface-2);border-radius:16px;padding:2px 14px}
.sp1-r{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 0;border-top:1px solid var(--border);color:inherit;text-decoration:none}
.sp1-gl>.sp1-r:first-child,.sp1-sep+.sp1-r{border-top:0}
.sp1-ri{width:20px;height:20px;flex:none;color:var(--text-muted);display:grid;place-items:center}.sp1-ri svg{width:18px;height:18px}
.sp1-rl{flex:1;min-width:0;color:var(--text-muted);line-height:1.35}
.sp1-rv{font-weight:600;text-align:right;line-height:1.35;max-width:58%;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;color:var(--title)}
.sp1-rv a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.sp1-doc .sp1-rl{color:var(--title);font-weight:500}.sp1-doc .sp1-rv{color:var(--text-muted)}.sp1-doc .sp1-rv svg{width:16px;height:16px}
.sp1-doc:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:8px}
@media (hover:hover){.sp1-doc:hover .sp1-rl{text-decoration:underline;text-underline-offset:3px}}
.sp1-sep{display:flex;align-items:center;gap:8px;padding:10px 0 4px;border-top:1px solid var(--border);font:600 11px/1.3 var(--font);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}
.sp1-sep::after{content:"";flex:1;height:1px;background:var(--border)}
.sp1-vide{color:var(--text-muted);margin:6px 4px}

/* t1963 (17 oct.) : bande opaque sous la barre d'outils de Safari 26 (bas d'écran). Safari teste le milieu du bord bas
   (au ras de sa barre) ; un élément fixed/sticky ≥ 90 % de la largeur y est figé comme couleur de barre (même logique que t1943 en haut).
   La barre d'onglets collante faisait 358/390 = 92 % : sur mobile, elle prend la largeur du header (88 %), centrée. */
@media (max-width:959px){.pc-tabs-bar{margin-inline:auto;width:auto;max-width:88vw}}
