/* Atelier Nuit, étape 3 : pages. Valeurs des maquettes, conditions réelles conservées. */
.sp-eyebrow{font:11px var(--sp-police-mono);letter-spacing:.14em;color:var(--sp-bronze);margin:0 0 8px}
:root body[data-home] > main{max-width:none;width:100%;padding:0;margin:0}
:root body .sp-home-hero{display:block;max-width:none;margin:0;padding:0;background:var(--sp-nuit);color:var(--sp-texte-sur-nuit);border:0}
.sp-hero-grid{max-width:var(--sp-largeur-max);box-sizing:border-box;margin:auto;padding:64px 32px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.sp-home-hero .sp-eyebrow{color:var(--sp-bronze-clair)}
:root body .sp-home-hero h1{font:500 68px/1.02 var(--sp-police-titre);letter-spacing:-.025em;margin:24px 0;color:var(--sp-texte-sur-nuit)}
:root body .sp-home-hero h1 em{font:400 1em/1.02 var(--sp-police-accent);color:var(--sp-bronze-clair);font-style:italic}
.sp-hero-lead{font-size:17px;line-height:1.55;max-width:35ch;color:var(--sp-gris-sur-nuit);margin:0 0 32px}
.sp-hero-actions{display:flex;flex-wrap:wrap;gap:16px}
.sp-hero-bmw{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 16px;padding:16px 16px;background:#202223;border:1px solid #3D4144;border-radius:10px;color:var(--sp-texte-sur-nuit);text-align:left;min-height:52px;cursor:pointer}
.sp-hero-bmw .sp-eyebrow{grid-column:1;margin:0;font-size:10px;color:var(--sp-gris-sur-nuit)}
.sp-hero-bmw strong{grid-column:1;font-size:15px}
.sp-hero-bmw>span:last-child{grid-column:2;grid-row:1/3;font-size:13px;color:var(--sp-bronze-clair)}
.sp-hero-cta{display:flex;align-items:center;justify-content:center;gap:16px;padding:0 24px;min-height:52px;border-radius:10px;background:var(--sp-bronze-clair);color:var(--sp-nuit);font-weight:600;text-decoration:none}
.sp-hero-stats{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:24px;font:12px var(--sp-police-mono);color:var(--sp-gris-sur-nuit)}
.sp-hero-stats b{font-weight:400}
:root body .sp-home-hero #home-search[hidden]{display:none}
.sp-plan-legende{display:flex;justify-content:space-between;gap:16px;font:11px var(--sp-police-mono);letter-spacing:.08em;color:var(--sp-gris-sur-nuit)}
.sp-plan{position:relative;aspect-ratio:820/320;margin-top:8px;isolation:isolate}
.sp-plan-image,.sp-plan-grid{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.sp-plan-image{overflow:hidden}
.sp-plan-grid{z-index:-1}
/* Profils du designer : left/top/width posés par pages-v3.js (profils.json). */
.sp-profil-image{position:absolute;height:auto;max-width:none;pointer-events:none}
.sp-silhouette{display:block;width:100%;height:100%;color:var(--sp-texte-sur-nuit)}
.sp-hotspot{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--sp-nuit);cursor:pointer}
.sp-point{box-sizing:border-box;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(var(--sp-accent-rgb),.12);border:1.5px solid var(--sp-bronze-clair);color:var(--sp-bronze-clair);box-shadow:none;animation:none;transition:background-color .15s,color .15s}
/* Survol, focus clavier ou zone sélectionnée : cercle plein, « + » couleur du fond. */
.sp-hotspot:hover .sp-point,.sp-hotspot:focus-visible .sp-point,.sp-hotspot[aria-pressed="true"] .sp-point{background:var(--sp-bronze-clair);color:var(--sp-nuit)}
.sp-hotspot:focus-visible{outline:none}
.sp-hotspot:focus-visible .sp-point{outline:2px solid var(--sp-bronze-clair);outline-offset:3px}
/* Étiquette d'un point : seulement au survol ou au focus (retour aperçu). */
.sp-hotspot:hover .sp-point-label,.sp-hotspot:focus-visible .sp-point-label,.sp-hotspot[aria-pressed="true"] .sp-point-label{opacity:1;visibility:visible;z-index:2}
.sp-point-label{opacity:0;visibility:hidden;transition:opacity .15s;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translateX(-50%);white-space:nowrap;font:11px var(--sp-police-mono);padding:4px 8px;border-radius:999px;background:var(--sp-nuit);border:1px solid rgba(246,243,234,.14);color:var(--sp-texte-sur-nuit)}
.sp-hotspot-freins{left:77%;top:72%}.sp-hotspot-freins .sp-point-label{top:calc(100% + 2px);bottom:auto}
.sp-hotspot-moteur{left:79%;top:57%}.sp-hotspot-echappement{left:8%;top:76%}.sp-hotspot-echappement .sp-point-label{left:0;transform:none}
.sp-hotspot-echappement .sp-point-label{bottom:calc(100% + 24px)}
.sp-hotspot-suspension{left:24%;top:72%}.sp-hotspot-habitacle{left:49%;top:40%}
/* Zones en pastilles sous le schéma (ordinateur et mobile). */
.sp-zones-mobile{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.sp-zones-mobile button{display:flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(246,243,234,.22);background:transparent;color:var(--sp-texte-sur-nuit);font:500 13px var(--sp-police-texte);cursor:pointer}
.sp-zones-mobile button:hover{border-color:var(--sp-bronze-clair)}
.sp-zones-mobile button:focus-visible{outline:2px solid var(--sp-bronze-clair);outline-offset:2px}
.sp-plan-hint,.sp-profil-notice{font:11px/1.5 var(--sp-police-mono);color:var(--sp-gris-sur-nuit);margin:16px 0 0}
.sp-profil-notice{margin-top:8px}
.sp-modeles-rapides{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.sp-modeles-rapides button{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(246,243,234,.24);background:transparent;color:var(--sp-texte-sur-nuit);font:600 13px var(--sp-police-texte);cursor:pointer}
.sp-modeles-rapides button[aria-pressed="true"]{background:var(--sp-bronze-clair);color:var(--sp-nuit);border-color:var(--sp-bronze-clair)}
.sp-profil-select-label{display:block;font:11px var(--sp-police-mono);color:var(--sp-gris-sur-nuit);margin:16px 0 8px}
#sp-profil-select{box-sizing:border-box;max-width:100%;width:100%;min-height:44px;border:1px solid #3D4144;border-radius:10px;padding:8px 16px;background:#202223;color:var(--sp-texte-sur-nuit);font:14px var(--sp-police-texte)}
.sp-technique{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0 0;padding-top:16px;border-top:1px solid #3D4144}
.sp-technique dt{font:10px var(--sp-police-mono);letter-spacing:.1em;color:var(--sp-gris-sur-nuit)}
.sp-technique dd{margin:2px 0 0;font:600 14px var(--sp-police-texte)}
.sp-garage-detail{margin-top:16px;font-size:13px;color:var(--sp-gris-sur-nuit)}
.sp-garage-detail summary{min-height:44px;display:flex;align-items:center;cursor:pointer;text-decoration:underline}
.sp-garage-detail .home-garage{margin:8px 0 0;background:var(--sp-papier);color:var(--sp-encre)}
.sp-section-inner{max-width:var(--sp-largeur-max);padding:56px 32px;margin:auto;box-sizing:border-box;display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px}
.sp-legende-statuts{border-bottom:1px solid var(--sp-ligne)}
:root body .sp-legende-statuts h2,:root body .sp-home-selection h2{font:500 36px/1.1 var(--sp-police-titre);letter-spacing:-.02em;margin:0 0 16px;color:var(--sp-encre)}
.sp-legende-statuts h2 em{font:400 1em var(--sp-police-accent);font-style:italic;color:var(--sp-foret)}
.sp-legende-cartes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sp-legende-cartes article{padding:16px;background:var(--sp-blanc);border:1px solid var(--sp-ligne);border-radius:12px}
.sp-legende-cartes p{font-size:15px;line-height:1.5;margin:16px 0 0}
.sp-home-selection{max-width:var(--sp-largeur-max);box-sizing:border-box;margin:auto;padding:56px 32px}
.sp-section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}
.sp-section-heading a{min-height:44px;display:flex;align-items:center;font-weight:600}
:root body .sp-home-selection .products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.sp-home-trust{background:var(--sp-nuit);color:var(--sp-texte-sur-nuit)}
.sp-home-trust-grille{box-sizing:border-box;max-width:var(--sp-largeur-max);margin:auto;padding:48px var(--sp-marge);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:32px}
.sp-home-trust-grille>div{display:flex;gap:16px;align-items:flex-start}
.sp-home-trust-grille svg{flex:none;color:var(--sp-bronze-clair)}
.sp-home-trust-grille p{display:flex;flex-direction:column;gap:2px;margin:0;font:15px/1.5 var(--sp-police-texte)}
.sp-home-trust-grille strong{font-weight:600}
.sp-home-trust-grille span{font-size:14px;color:var(--sp-gris-sur-nuit)}
/* Accueil : sections historiques (zones, packs, gammes, conseil, éditorial)
   remises dans le conteneur de 1280 px des maquettes. */
:root body[data-home] main>.home-section,:root body[data-home] main>#packs-configurator,:root body[data-home] main>.help-strip,:root body[data-home] main>.editorial,:root body[data-home] main>.packs-launcher{box-sizing:border-box;max-width:var(--sp-largeur-max);margin-left:auto;margin-right:auto;padding-left:var(--sp-marge);padding-right:var(--sp-marge)}
:root body[data-home] main>.help-strip,:root body[data-home] main>.packs-launcher{max-width:calc(var(--sp-largeur-max) - 2 * var(--sp-marge))}
:root body[data-home] .home-section{padding-top:56px;padding-bottom:0}
:root body[data-home] .home-section-heading .eyebrow{font:12px var(--sp-police-mono);letter-spacing:.14em;color:var(--sp-bronze)}
:root body[data-home] .home-section-heading h2{font:500 36px/1.1 var(--sp-police-titre);letter-spacing:-.02em;color:var(--sp-encre)}
:root body[data-home] .home-section-heading h2 em{font:400 1em var(--sp-police-accent);font-style:italic;color:var(--sp-foret)}
/* Zones : fond Craie pleine largeur, cartes Papier (maquette « Par zone »). */
:root body[data-home] main>.home-browse{padding-top:56px;padding-bottom:56px;margin-top:56px;background:var(--sp-craie);box-shadow:0 0 0 100vmax var(--sp-craie);clip-path:inset(0 -100vmax)}
:root body[data-home] .home-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
:root body[data-home] .home-category{display:flex;flex-direction:column;gap:16px;min-height:150px;box-sizing:border-box;padding:16px;background:var(--sp-papier);border:1px solid var(--sp-ligne);border-radius:12px;color:var(--sp-encre)}
:root body[data-home] .home-category:hover{background:var(--sp-blanc);color:var(--sp-encre);border-color:var(--sp-encre)}
:root body[data-home] .home-category:focus-visible{outline:2px solid var(--sp-foret);outline-offset:2px}
:root body[data-home] .home-category img{margin:0}
:root body[data-home] .home-category strong{margin-top:auto;font:600 16px var(--sp-police-texte)}
:root body[data-home] .home-category small{font-size:13px;color:var(--sp-gris)}
.sp-feature[hidden]{display:none!important}
.sp-feature{max-width:var(--sp-largeur-max);margin:auto;padding:56px 32px;box-sizing:border-box}
.sp-feature h2{font:500 36px var(--sp-police-titre);margin:0}
.sp-feature-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.sp-feature-items>a{display:flex;min-height:44px;padding:16px;border:1px solid var(--sp-ligne);border-radius:14px;background:var(--sp-blanc)}
.sp-projet-etapes{display:flex;flex-wrap:wrap;gap:16px;padding:0;list-style-position:inside;font:12px var(--sp-police-mono)}
.sp-projet-complet{background:var(--sp-blanc);border:1px solid var(--sp-ligne);border-radius:16px;box-shadow:var(--sp-ombre-carte)}
.sp-feature button,.sp-feature input{min-height:52px;padding:0 16px;border:1px solid var(--sp-ligne);border-radius:10px;font:15px var(--sp-police-texte)}
.sp-lettre{display:grid;grid-template-columns:1fr 1fr;gap:32px;background:var(--sp-nuit);color:var(--sp-texte-sur-nuit)}
.sp-lettre form{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.sp-lettre label{flex-basis:100%}
/* Le catalogue conserve ses filtres, vues de packs et points à surveiller. */
:root body .sp-catalogue{max-width:var(--sp-largeur-max);box-sizing:border-box;margin:0 auto;padding:0 32px 56px}
.sp-catalogue-vehicle{display:flex;align-items:center;gap:32px;padding:16px 32px;margin:0 -32px 24px;background:var(--sp-nuit);color:var(--sp-texte-sur-nuit)}
.sp-catalogue-vehicle{box-sizing:border-box;width:100vw;margin-left:calc(50% - 50vw);margin-right:0;padding-left:max(32px,calc((100vw - 1216px)/2));padding-right:max(32px,calc((100vw - 1216px)/2))}
.sp-catalogue-vehicle>[data-sp-profile-container]{width:240px;flex:none;aspect-ratio:820/320;position:relative;overflow:hidden}
.sp-catalogue-vehicle>div:nth-child(2){flex:1;min-width:0}
.sp-catalogue-vehicle .sp-eyebrow{color:var(--sp-bronze-clair);display:block}
.sp-catalogue-vehicle strong{font:700 22px var(--sp-police-titre)}
.sp-catalogue-vehicle p{font-size:14px;color:var(--sp-gris-sur-nuit);margin:4px 0 0}
.sp-catalogue-vehicle>button{min-height:44px;border:1px solid #65705F;border-radius:10px;background:transparent;color:var(--sp-texte-sur-nuit);padding:0 16px;cursor:pointer}
.sp-catalogue-fil{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;font:12px var(--sp-police-mono);color:var(--sp-gris)}
.sp-catalogue-montage{max-width:var(--sp-largeur-max);margin:0 auto;padding:0 32px;box-sizing:border-box}
.sp-catalogue-montage summary{min-height:44px;display:flex;align-items:center;font-size:13px;color:var(--sp-gris);cursor:pointer}
:root body .sp-catalogue .catalogue-top{padding:0 0 16px;border:0}
:root body .sp-catalogue #catalogue-title{font:500 46px/1.05 var(--sp-police-titre);letter-spacing:-.025em;color:var(--sp-encre)}
:root body .sp-catalogue .catalogue-layout{grid-template-columns:250px minmax(0,1fr);gap:32px}
:root body .sp-catalogue #filters{background:transparent;border:0;padding:0}
:root body .sp-catalogue .products{grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:16px}
:root body .sp-catalogue .result-toolbar{border:0;margin:0 0 16px;min-height:44px}
:root body #sp-status-filters{margin-bottom:16px}
.sp-pastille:disabled{opacity:.55;cursor:default}
/* Fiche : galerie unique réelle, achat et passeport à droite. */
:root body .sp-fiche{display:block;max-width:var(--sp-largeur-max);padding:24px 32px 48px;box-sizing:border-box;margin:auto}
.sp-fiche-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start;margin-top:24px}
:root body .sp-fiche-photo{aspect-ratio:4/3;border-radius:16px;background:var(--sp-craie);display:flex;align-items:center;justify-content:center;overflow:hidden}
:root body .sp-fiche-photo .vignette-piece{box-sizing:border-box;margin:0;width:100%;height:100%;max-width:100%;object-fit:contain;mix-blend-mode:multiply;padding:32px;background:transparent;border:0;border-radius:0}
.sp-fiche-achat{min-width:0;display:flex;flex-direction:column;gap:16px}
:root body .sp-fiche-achat h1{font:700 36px/1.1 var(--sp-police-titre);letter-spacing:-.02em;margin:0}
:root body .sp-fiche-achat .marque-p{font:12px var(--sp-police-mono);letter-spacing:.1em;color:var(--sp-gris)}
:root body .sp-fiche-achat .titre-brut{margin:0;font-size:15px;line-height:1.5}
:root body .sp-fiche-achat .compat{margin:0;padding:8px 16px;border:1px solid var(--sp-ligne);border-radius:999px;background:var(--sp-craie);font-size:13px}
:root body .sp-fiche-achat .achat{display:flex;flex-direction:column;align-items:stretch;gap:16px;padding:16px 0;background:transparent;border:0;border-top:1px solid var(--sp-ligne);border-radius:0}
:root body .sp-fiche-achat .achat>div:first-child strong{font:700 40px/1.1 var(--sp-police-titre)}
.sp-fiche-actions{display:flex;align-items:stretch;gap:8px}
.sp-quantite{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--sp-gris)}
.sp-quantite input{box-sizing:border-box;width:80px;height:52px;border:1px solid var(--sp-ligne);border-radius:10px;background:var(--sp-blanc);font:600 16px var(--sp-police-texte);text-align:center;color:var(--sp-encre)}
:root body .sp-fiche-achat .achat .ajouter{flex:1;align-self:end;width:auto;min-height:52px;border-radius:10px;background:var(--sp-foret)!important;border-color:var(--sp-foret)!important;font-size:16px}
.sp-projet-fiche{min-height:52px;border:1px solid var(--sp-encre);border-radius:10px;background:transparent;color:var(--sp-encre);font:600 15px var(--sp-police-texte);cursor:pointer}
.sp-projet-fiche{display:flex;align-items:center;justify-content:center;gap:8px}.sp-projet-fiche svg{width:18px;height:18px}
.sp-fiche-mobile-actions{display:none}
:root body .sp-fiche .sp-passeport{margin:0}
/* Panier : les prix et tarifs restent ceux du moteur existant. */
:root body #cart{box-sizing:border-box;width:min(560px,100%);max-height:100dvh;padding:0;background:var(--sp-papier);border:1px solid var(--sp-ligne);border-radius:16px;color:var(--sp-encre)}
:root body #cart .drawer-head{padding:16px 24px;border-bottom:1px solid var(--sp-ligne);position:sticky;top:0;background:var(--sp-papier);z-index:2}
:root body #cart .drawer-head h2{font:700 24px var(--sp-police-titre)}
:root body #cart .demo-note{margin:16px 24px;font-size:13px;color:var(--sp-gris);background:transparent;border:0}
:root body #cart-items,:root body #cart-summary{padding:0 24px}
:root body #cart .cart-item{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--sp-ligne)}
:root body #cart .cart-item>img{width:72px;height:72px;flex:none;border-radius:10px;background:var(--sp-craie);object-fit:contain}
:root body #cart .cart-item>div{min-width:0;flex:1}
:root body #cart .cart-item h3{font:600 14px/1.25 var(--sp-police-texte);margin:4px 0 8px}
.sp-cart-offerte{margin:16px 0;padding:16px 16px;border:1px solid var(--sp-ligne);border-radius:12px;background:var(--sp-blanc)}
.sp-cart-offerte p{margin:0 0 8px;font-size:13px;font-weight:600}
.sp-cart-offerte span{display:block;height:6px;border-radius:999px;background:var(--sp-craie);overflow:hidden}
.sp-cart-offerte i{display:block;height:100%;background:var(--sp-foret)}
.sp-cart-ref{font:10px var(--sp-police-mono);letter-spacing:.08em;color:var(--sp-gris);margin:0}
:root body #cart .cart-item .sp-statut{display:flex;width:max-content;margin:8px 0;font-size:10px;padding:2px 8px}
:root body #cart .quantity{gap:8px;margin:8px 0 0;flex-wrap:wrap}
:root body #cart .quantity button{min-width:44px;min-height:44px;border-radius:8px;border:1px solid var(--sp-ligne);background:var(--sp-blanc);color:var(--sp-encre)}
.sp-cart-expertise{padding:16px 16px;border-radius:12px;background:var(--sp-nuit);color:var(--sp-texte-sur-nuit);margin:16px 0}
.sp-cart-expertise strong{font:600 14px var(--sp-police-texte)}
.sp-cart-expertise p{font-size:13px;color:var(--sp-gris-sur-nuit);margin:4px 0}
.sp-cart-expertise a{display:flex;min-height:44px;align-items:center;color:var(--sp-bronze-clair);font-size:13px;font-weight:600}
:root body #cart .cart-total{margin:16px 0;border-color:var(--sp-ligne)}
:root body #cart .cart-total strong{font:700 20px var(--sp-police-titre)}
:root body #cart #checkout{position:sticky;bottom:12px;z-index:2;display:block;width:100%;min-height:52px;border-radius:12px;background:var(--sp-foret);color:white;font:600 16px var(--sp-police-texte);border:0;margin:16px 0;box-shadow:0 12px 0 0 var(--sp-papier),0 -12px 0 0 var(--sp-papier)}
:root body #cart #checkout:disabled{opacity:1;background:var(--sp-gris);cursor:not-allowed}
:root body .sp-home-hero button:focus-visible,:root body .sp-home-hero a:focus-visible,:root body .sp-home-hero select:focus-visible{outline:2px solid var(--sp-bronze-clair);outline-offset:3px}
.sp-fiche-mobile-actions button:focus-visible,.sp-projet-fiche:focus-visible{outline:2px solid var(--sp-encre);outline-offset:3px}
@media(max-width:900px){.sp-hero-grid{gap:32px}.sp-section-inner{grid-template-columns:1fr}.sp-fiche-grille{gap:32px}:root body .sp-home-hero h1{font-size:54px}}
@media(max-width:700px){
 .sp-hero-grid{display:flex;flex-direction:column;align-items:stretch;padding:24px 16px 16px;gap:16px}
 :root body .sp-home-hero h1{font-size:40px;margin:0 0 16px}
 .sp-hero-lead{font-size:15px;margin-bottom:16px;max-width:none}.sp-hero-copy>.sp-eyebrow{margin-bottom:16px}
 .sp-hero-actions,.sp-hero-stats{display:none}
 .sp-plan-legende{font-size:9px}.sp-point{width:20px;height:20px}.sp-point svg{width:10px;height:10px}.sp-point-label{display:none}
 .sp-plan-hint{display:none}
 .sp-zones-mobile{flex-wrap:nowrap;overflow-x:auto;margin:4px -16px 0;padding:2px 16px;scrollbar-width:none}
 .sp-zones-mobile button{flex:0 0 auto}.sp-modeles-rapides{margin-top:16px;gap:8px}
 .sp-modeles-rapides button{font-size:11px;padding:0 8px}.sp-technique{gap:8px}.sp-technique dd{font-size:12px}
 .sp-technique dt{font-size:9px}.sp-profil-select-label{font-size:10px}.sp-garage-detail{font-size:12px}
 .sp-section-inner,.sp-home-selection{padding:32px 16px}
 :root body .sp-legende-statuts h2,:root body .sp-home-selection h2{font-size:22px;margin-bottom:16px}
 .sp-legende-cartes{grid-template-columns:1fr;gap:8px}.sp-legende-cartes article{padding:16px}.sp-legende-cartes p{font-size:13px;margin-top:8px}
 .sp-section-heading{gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.sp-section-heading a{font-size:13px}
 :root body .sp-home-selection{padding:16px 0 32px 16px}
 :root body .sp-home-selection .sp-section-heading{padding-right:16px}
 :root body .sp-home-selection .products{display:flex;gap:16px;overflow-x:auto;padding:0 16px 4px 0;scrollbar-width:none}
 :root body .sp-home-selection .products>article{flex:0 0 236px}
 :root body .sp-home-selection .sp-carte .product-body{padding:16px 16px 16px;gap:8px}
 :root body .sp-home-selection .sp-carte h3{font-size:15px}
 :root body .sp-home-selection .sp-carte .amount{font-size:18px}
 .sp-home-trust-grille{padding:32px var(--sp-marge-mobile);gap:16px}
 :root body[data-home] main>.home-section,:root body[data-home] main>#packs-configurator,:root body[data-home] main>.help-strip,:root body[data-home] main>.editorial,:root body[data-home] main>.packs-launcher{padding-left:var(--sp-marge-mobile);padding-right:var(--sp-marge-mobile)}
 :root body[data-home] main>.help-strip,:root body[data-home] main>.packs-launcher{max-width:calc(100% - 2 * var(--sp-marge-mobile))}
 :root body[data-home] .home-section-heading h2{font-size:22px}
 :root body[data-home] main>.home-browse{padding-top:32px;padding-bottom:32px;margin-top:32px}
 :root body[data-home] .home-category-grid{grid-template-columns:1fr 1fr;gap:8px}
 :root body[data-home] .home-category{min-height:120px;padding:16px}
 :root body .sp-catalogue{padding:0 16px 32px}
 /* Maquette mobile : bandeau Nuit de 52 px, profil 76 px, « Changer ». */
 .sp-catalogue-vehicle{margin:0 0 16px;margin-left:calc(50% - 50vw);min-height:52px;padding:4px 8px 4px 16px;gap:16px;flex-wrap:nowrap}
 .sp-catalogue-vehicle>[data-sp-profile-container]{width:76px}
 .sp-catalogue-vehicle .sp-eyebrow{font-size:10px;letter-spacing:.08em;margin:0}
 .sp-catalogue-vehicle strong{font:600 15px var(--sp-police-texte)}
 .sp-catalogue-vehicle p{display:none}
 .sp-catalogue-vehicle>button{border:0;padding:0 8px;font:600 13px var(--sp-police-texte);color:var(--sp-bronze-clair)}
 .sp-hors-mobile{display:none}
 /* Un seul bandeau véhicule : sur le catalogue, celui de la maquette (Nuit). */
 :root body[data-vehicle]:not([data-home]) .sp-entete .sp-garage,:root body[data-home-view="catalogue"] .sp-entete .sp-garage{display:none}
 :root body .sp-catalogue-fil{align-items:center;gap:0 8px}
 /* Cartes compactes en deux colonnes. */
 :root body .sp-catalogue .sp-carte{border-radius:12px}
 :root body .sp-catalogue .sp-carte .product-body{padding:8px 8px 16px;gap:8px}
 :root body .sp-catalogue .sp-carte .sp-carte-ref{font-size:10px;letter-spacing:.08em}
 :root body .sp-catalogue .sp-carte h3{font-size:14px;line-height:1.25}
 :root body .sp-catalogue .sp-carte .sp-statut{white-space:nowrap;font-size:10px;padding:2px 8px 2px 8px}
 :root body .sp-catalogue .sp-carte .card-fit,:root body .sp-catalogue .sp-carte .product-shipping{display:none}
 :root body .sp-catalogue .sp-carte .amount{font-size:16px}
 :root body .sp-catalogue .sp-carte .stock{font-size:11px}
 :root body .sp-catalogue .sp-carte .product-bottom{align-items:flex-end}
 .sp-catalogue-fil{font-size:10px}.sp-catalogue .catalogue-top{display:flex;flex-direction:column;gap:16px;align-items:stretch}
 :root body .sp-catalogue #catalogue-title{font-size:30px}
 :root body .sp-catalogue .catalogue-layout{display:block}
 :root body .sp-catalogue #filters.open{padding:16px;background:var(--sp-papier)}
 :root body .sp-catalogue .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 :root body #sp-status-filters{flex-wrap:nowrap;overflow:auto;gap:8px;padding-bottom:4px}
 #sp-status-filters button{white-space:nowrap;flex:none;font-size:12px;padding:0 16px}
 :root body .sp-fiche{padding:16px 16px 112px}.sp-fiche-grille{display:flex;flex-direction:column;gap:16px;margin-top:16px}
 .sp-fiche-photo{width:100%}.sp-fiche-achat{width:100%;gap:8px}
 :root body .sp-fiche-achat h1{font-size:24px}
 :root body .sp-fiche-achat .marque-p{font-size:10px}
 :root body .sp-fiche-achat .achat>div:first-child strong{font-size:26px}
 :root body .sp-fiche-achat .titre-brut{font-size:13px}
 .sp-fiche-mobile-actions{position:fixed;left:0;right:0;bottom:0;display:flex;gap:8px;padding:16px 16px calc(16px + env(safe-area-inset-bottom));box-sizing:border-box;background:var(--sp-papier);border-top:1px solid var(--sp-ligne);z-index:39}
 .sp-fiche-mobile-actions button{min-height:52px;padding:0 16px;border:1px solid var(--sp-encre);border-radius:12px;background:transparent;color:var(--sp-encre);font:600 14px var(--sp-police-texte)}
 .sp-fiche-mobile-actions button:last-child{flex:1;background:var(--sp-foret);color:var(--sp-blanc);border-color:var(--sp-foret)}
 :root body #cart{width:100%;height:100dvh;max-height:100dvh;max-width:100%;margin:0;position:fixed;inset:0;border:0;border-radius:0;padding-bottom:16px}
 :root body #cart .drawer-head{padding:16px 16px}:root body #cart .drawer-head h2{font-size:20px}
 :root body #cart-items,:root body #cart-summary{padding:0 16px}:root body #cart .demo-note{margin:16px 16px}
}
@media(prefers-reduced-motion:reduce){.sp-hotspot,.sp-hero-cta{transition:none}.sp-point{animation:none}}

/* ===== Série de corrections du 14.10.2026 =================================== */

/* 9. Pas de sur-titres décoratifs ; la mono ne sert qu'aux références,
   statuts et données techniques. */
:root body .eyebrow,:root body .sp-eyebrow,:root body .home-card-number{display:none}
.sp-libelle{display:block;font:400 12px/1.4 var(--sp-police-texte);letter-spacing:0;text-transform:none;color:var(--sp-gris)}
.sp-home-hero .sp-libelle,.sp-catalogue-vehicle .sp-libelle{color:var(--sp-gris-sur-nuit)}
:root body .servicebar.sp-util{font:13px/1.5 var(--sp-police-texte);letter-spacing:0}
:root body .sp-pied-titre{font:600 13px/1.4 var(--sp-police-texte);letter-spacing:0;color:var(--sp-encre)}
:root body .sp-pied-bas{font:13px/1.5 var(--sp-police-texte)}
:root body .sp-passeport-tete>span:first-child{font:600 15px/1.3 var(--sp-police-texte);letter-spacing:0}
:root body .sp-passeport dt,:root body .sp-technique dt{font:400 12px/1.4 var(--sp-police-texte);letter-spacing:0;text-transform:none}
:root body .sp-point-label{font:500 13px/1.3 var(--sp-police-texte)}
:root body .sp-plan-hint,:root body .sp-hero-stats{font:14px/1.5 var(--sp-police-texte)}
:root body .sp-photo-absente{font:500 12px/1.3 var(--sp-police-texte);letter-spacing:0;text-transform:none}
:root body .filter-label{font:600 14px/1.4 var(--sp-police-texte);letter-spacing:0;text-transform:none;color:var(--sp-encre);margin:0 0 8px}
:root body .sp-advice-titre{margin:0 0 8px;font:600 15px/1.4 var(--sp-police-texte)}
:root body .sp-garage-sur{font:400 12px/1.3 var(--sp-police-texte);letter-spacing:0}
:root body .sp-plan-legende{justify-content:flex-end}

/* 10. L'italique d'accent seulement dans le titre de l'accueil. */
:root body h1 em,:root body h2 em,:root body h3 em,:root body strong em,:root body .packs-hero h2 em{font:inherit;font-style:normal;color:inherit;letter-spacing:inherit}
:root body .sp-home-hero h1 em{font:400 1em/1.02 var(--sp-police-accent);font-style:italic;color:var(--sp-bronze-clair)}
:root body .packs-stage-empty strong,:root body .packs-group-title>span{font-family:var(--sp-police-titre);font-style:normal}

/* 7. Bulles : largeur automatique, texte sur une ligne et à l'intérieur ;
   les bulles cliquables font au moins 40 px de haut. */
:root body .sp-statut,:root body .tampon,:root body .sp-pastille,:root body .category-mobile button,:root body .gamme-switch button,
:root body .home-suggestions button,:root body .cat-types button,:root body .sp-garage-modele,:root body .veh-switch-label b{width:auto;max-width:none;white-space:nowrap;overflow-wrap:normal;flex:none;box-sizing:border-box}
:root body .sp-pastille,:root body .category-mobile button,:root body .gamme-switch button,:root body .home-suggestions button,:root body .cat-types button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border-radius:var(--sp-rayon-pastille);line-height:1.2}
:root body .gamme-switch button.selected,:root body .category-mobile button.selected{background:var(--sp-encre);border-color:var(--sp-encre);color:var(--sp-blanc)}

/* 4–6. Catalogue : bandeau, titre + nombre, recherche, une rangée de zones,
   Filtres + tri, produits. Filtres dans un panneau à toutes les largeurs. */
:root body .sp-catalogue .catalogue-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px;padding:0 0 16px;border:0}
.sp-titre-resultats{display:flex;flex-direction:column;gap:8px;min-width:0}
:root body .sp-catalogue #catalogue-title{margin:0;scroll-margin-top:32px;outline:0}
:root body .sp-catalogue #result-count{margin:0;font:400 15px/1.4 var(--sp-police-texte);color:var(--sp-gris)}
:root body .sp-catalogue label.search{position:relative;flex:0 1 400px;display:flex;align-items:center;gap:8px;box-sizing:border-box;min-height:48px;margin:0;padding:0 16px;background:var(--sp-blanc);border:1px solid var(--sp-ligne);border-radius:var(--sp-rayon-bouton);color:var(--sp-gris)}
:root body .sp-catalogue label.search:focus-within{outline:2px solid var(--sp-foret);outline-offset:2px}
:root body .sp-catalogue label.search input{flex:1;min-width:0;height:46px;padding:0;border:0;outline:0;background:transparent;font:15px var(--sp-police-texte);color:var(--sp-encre)}
:root body .sp-catalogue .sp-onglets-zone{display:flex;flex-wrap:nowrap;gap:8px;margin:0 0 16px;padding:0 0 4px;overflow-x:auto;scrollbar-width:none}
:root body .sp-catalogue .sp-onglets-zone::-webkit-scrollbar{display:none}
:root body .sp-catalogue .sp-onglets-zone button{border:1px solid var(--sp-ligne);background:var(--sp-blanc);color:var(--sp-encre);font:600 14px var(--sp-police-texte);cursor:pointer}
:root body .sp-catalogue .result-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px;padding:0;border:0}
:root body .sp-catalogue #open-filters{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;border:1px solid var(--sp-ligne);border-radius:var(--sp-rayon-bouton);background:var(--sp-blanc);color:var(--sp-encre);font:600 15px var(--sp-police-texte);cursor:pointer}
:root body .sp-catalogue #sort{min-height:48px;padding:0 16px;border:1px solid var(--sp-ligne);border-radius:var(--sp-rayon-bouton);background:var(--sp-blanc);color:var(--sp-encre);font:15px var(--sp-police-texte)}
:root body .sp-catalogue .catalogue-layout{display:block}
:root body .sp-catalogue #filters{display:none}
:root body .sp-catalogue #filters.open{display:flex;flex-direction:column;gap:24px;position:fixed;inset:0 0 0 auto;z-index:60;box-sizing:border-box;width:min(400px,100%);padding:24px;overflow:auto;background:var(--sp-papier);border:0;border-left:1px solid var(--sp-ligne);box-shadow:0 0 0 100vmax rgba(21,22,23,.45)}
:root body .sp-catalogue #filters .filter-heading{display:flex;align-items:center;justify-content:space-between}
:root body .sp-catalogue #filters .filter-heading h3{margin:0;font:600 20px var(--sp-police-titre)}
:root body .sp-catalogue #filters #close-filters{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:var(--sp-rayon-bouton);background:transparent;font-size:20px;cursor:pointer}
:root body .sp-catalogue #filters .filter-section{margin:0;padding:0;border:0}
:root body .sp-catalogue #filters .filter-section[hidden]{display:none}
:root body .sp-catalogue #filters .sp-pastilles,:root body .sp-catalogue #filters .gamme-switch{display:flex;flex-wrap:wrap;gap:8px}
:root body .sp-catalogue #filters select{width:100%;min-height:48px;box-sizing:border-box;border:1px solid var(--sp-ligne);border-radius:var(--sp-rayon-bouton);background:var(--sp-blanc);padding:0 16px;font:15px var(--sp-police-texte)}
:root body .sp-catalogue #filters .apply{display:flex;align-items:center;justify-content:center;min-height:48px;border:0;border-radius:var(--sp-rayon-bouton);background:var(--sp-foret);color:var(--sp-blanc);font:600 15px var(--sp-police-texte);margin-top:auto}
:root body .sp-catalogue #filters .advice{margin:0;padding:16px;border-radius:var(--sp-rayon-carte);background:var(--sp-craie)}
:root body .sp-catalogue .sp-catalogue-plus{display:flex;flex-wrap:wrap;gap:8px 16px;margin:32px 0 0;padding:24px 0 0;border-top:1px solid var(--sp-ligne)}
:root body .sp-catalogue .sp-catalogue-plus>*{min-height:44px;display:inline-flex;align-items:center}
:root body .sp-catalogue-vehicle p{display:none}

/* 1–3. Haut de page : choix par étapes. */
.sp-choix{margin-top:24px}
.sp-choix-titre{margin:0 0 8px;font:600 15px var(--sp-police-texte);color:var(--sp-texte-sur-nuit)}
.sp-choix-ouvrir{display:none}
.sp-choix-colonnes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sp-choix-col-titre{margin:0 0 8px;font:400 13px var(--sp-police-texte);color:var(--sp-gris-sur-nuit)}
.sp-choix-liste{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow:auto;padding:2px}
.sp-choix-option{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:44px;padding:8px 16px;box-sizing:border-box;border:1px solid rgba(246,243,234,.24);border-radius:var(--sp-rayon-bouton);background:transparent;color:var(--sp-texte-sur-nuit);font:600 14px/1.3 var(--sp-police-texte);text-align:left;cursor:pointer}
.sp-choix-option small{font:400 12px/1.3 var(--sp-police-texte);color:var(--sp-gris-sur-nuit)}
.sp-choix-option[aria-pressed="true"]{background:var(--sp-bronze-clair);border-color:var(--sp-bronze-clair);color:var(--sp-nuit)}
.sp-choix-option[aria-pressed="true"] small{color:var(--sp-nuit)}
.sp-choix-option:focus-visible{outline:2px solid var(--sp-bronze-clair);outline-offset:2px}
.sp-choix-vide{margin:0;font:13px/1.4 var(--sp-police-texte);color:var(--sp-gris-sur-nuit)}
.sp-choix-feuille{box-sizing:border-box;width:100%;max-width:100%;max-height:85dvh;margin:auto auto 0;padding:0 0 calc(16px + env(safe-area-inset-bottom));border:0;border-radius:16px 16px 0 0;background:var(--sp-nuit);color:var(--sp-texte-sur-nuit)}
.sp-choix-feuille::backdrop{background:rgba(21,22,23,.5)}
.sp-choix-feuille-tete{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;padding:8px}
.sp-choix-feuille-tete h2{margin:0;text-align:center;font:600 17px var(--sp-police-texte)}
.sp-choix-feuille .sp-icone{color:var(--sp-texte-sur-nuit)}
.sp-choix-feuille .sp-icone:hover{background:rgba(246,243,234,.08);color:var(--sp-texte-sur-nuit)}
.sp-choix-fil{margin:0 16px 8px;font:13px var(--sp-police-texte);color:var(--sp-gris-sur-nuit);text-align:center}
.sp-choix-fil:empty{display:none}
.sp-choix-feuille .sp-choix-liste{max-height:none;padding:0 16px}
.sp-choix-feuille[open]{animation:sp-monte .2s ease-out}
@keyframes sp-monte{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.sp-choix-feuille[open]{animation:none}}
/* Ancien formulaire du garage : gardé (logique), masqué ; reste le montage. */
:root body .sp-garage-detail .vehicle-box>*:not(.fitment-options){display:none}
:root body .sp-garage-detail .vehicle-box{padding:16px}
:root body .sp-garage-detail .fitment-options{margin:0;border:0;padding:0}

/* 8. Menu « Plus » (popover). */
:root body nav.sp-rubriques .sp-plus{display:inline-flex;align-items:center;gap:4px;flex:none;margin:0;padding:8px 0;border:0;background:none;color:var(--sp-encre);font:inherit;cursor:pointer}
:root body nav.sp-rubriques .sp-plus[aria-current="page"],:root body nav.sp-rubriques .sp-plus:hover{color:var(--sp-foret)}
:root body nav.sp-rubriques .sp-plus:focus-visible{outline:2px solid var(--sp-foret);outline-offset:2px;border-radius:2px}
.sp-plus-menu{position:fixed;inset:auto;margin:0;min-width:220px;padding:8px;box-sizing:border-box;border:1px solid var(--sp-ligne);border-radius:var(--sp-rayon-carte);background:var(--sp-blanc);color:var(--sp-encre)}
.sp-plus-menu:popover-open{display:flex;flex-direction:column}
.sp-plus-menu a{display:flex;align-items:center;min-height:44px;padding:0 16px;border-radius:8px;color:var(--sp-encre);text-decoration:none;font:500 14px var(--sp-police-texte)}
.sp-plus-menu a:hover,.sp-plus-menu a[aria-current="page"]{background:var(--sp-craie);color:var(--sp-foret)}
.sp-plus-menu a:focus-visible{outline:2px solid var(--sp-foret);outline-offset:-2px}

/* 16. Pas de « Mon garage » dans l'en-tête des fiches produit. */
:root body:has(main.sp-fiche) .barre .veh-switch{display:none}

/* 11. Qui est derrière SwissPartz, photo du haut de page (masqués sans contenu). */
.sp-qui[hidden],.sp-photo-haut[hidden]{display:none}
.sp-qui-grille{box-sizing:border-box;max-width:var(--sp-largeur-max);margin:auto;padding:56px var(--sp-marge);display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:32px;align-items:center}
.sp-qui-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--sp-rayon-carte)}
.sp-qui h2{margin:0 0 16px;font:500 32px/1.15 var(--sp-police-titre);letter-spacing:-.02em}
.sp-qui p{margin:0;font:16px/1.6 var(--sp-police-texte);color:var(--sp-encre)}
.sp-photo-haut{margin:24px 0 0}
.sp-photo-haut img{display:block;width:100%;max-height:240px;object-fit:cover;border-radius:var(--sp-rayon-carte)}

/* 12. Finitions : mêmes hauteurs de boutons (48 px texte, 44 px icône),
   mêmes arrondis, icônes centrées sur leur texte. */
:root body .sp-hero-cta,:root body .sp-hero-bmw,:root body .sp-fiche-achat .achat .ajouter,:root body .sp-projet-fiche,:root body #cart #checkout,
:root body .sp-fiche-mobile-actions button,:root body .home-garage-actions a,:root body #more{min-height:48px;border-radius:var(--sp-rayon-bouton)}
:root body .sp-hero-cta svg,:root body #open-filters svg,:root body .sp-plus svg,:root body .sp-garage svg{flex:none;align-self:center}
:root body .products article.product.sp-carte,:root body .sp-legende-cartes article,:root body .home-category,:root body .sp-passeport{border-radius:var(--sp-rayon-carte)}

@media (max-width:1023px){
  :root body nav.sp-rubriques .sp-plus{display:none}
  /* Sous 1024 px, la ligne défile : les liens du menu « Plus » y restent visibles. */
  :root body nav.sp-rubriques .sp-plus-menu{display:contents}
  :root body nav.sp-rubriques .sp-plus-menu a{display:block;flex:none;min-height:0;padding:8px 0;border-radius:0;background:none;color:var(--sp-encre);font:inherit;white-space:nowrap}
}
@media (max-width:900px){
  .sp-qui-grille{grid-template-columns:1fr}
}
@media (max-width:700px){
  :root body .sp-catalogue #catalogue-title{scroll-margin-top:16px}
  /* En-tête non fixe sur mobile : pas de réserve en haut lors d'un défilement. */
  :root{scroll-padding-top:0}
  html{scroll-padding-top:0}
  :root body .sp-catalogue .catalogue-top{flex-direction:column;align-items:stretch}
  :root body .sp-catalogue label.search{flex:none}
  :root body .sp-catalogue .sp-onglets-zone{margin:0 -16px 16px;padding:0 16px 4px}
  :root body .sp-catalogue .result-toolbar{margin-bottom:16px}
  :root body .sp-catalogue #sort{max-width:56%}
  /* Cartes en liste : photo 4:3 à gauche, badge et prix sur une ligne. */
  :root body .sp-catalogue .products{display:flex;flex-direction:column;gap:8px}
  :root body .sp-catalogue .products article.product.sp-carte{flex-direction:row;align-items:stretch}
  :root body .sp-catalogue .sp-carte .product-image{flex:0 0 120px;width:120px;aspect-ratio:4/3;align-self:flex-start}
  :root body .sp-catalogue .sp-carte .product-body{flex:1;min-width:0;padding:8px 16px 16px 16px}
  :root body .sp-catalogue .sp-carte .project-heart{transform:scale(.85);transform-origin:top right}
  .sp-choix-titre{margin-top:0}
  .sp-choix-colonnes{display:none}
  .sp-choix-ouvrir{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 16px;width:100%;min-height:56px;padding:8px 16px;box-sizing:border-box;border:1px solid rgba(246,243,234,.24);border-radius:var(--sp-rayon-bouton);background:transparent;color:var(--sp-texte-sur-nuit);text-align:left;cursor:pointer}
  .sp-choix-ouvrir .sp-libelle{grid-column:1}
  .sp-choix-ouvrir strong{grid-column:1;font:600 15px var(--sp-police-texte)}
  .sp-choix-ouvrir .sp-choix-changer{grid-column:2;grid-row:1/3;font:600 13px var(--sp-police-texte);color:var(--sp-bronze-clair)}
  .sp-choix-ouvrir:focus-visible{outline:2px solid var(--sp-bronze-clair);outline-offset:2px}
  .sp-qui-grille{padding:32px var(--sp-marge-mobile)}
  .sp-qui h2{font-size:24px}
}
@media (min-width:701px){.sp-choix-feuille{display:none}}
/* Vues catalogue et packs de l'accueil : seules les sections de la vue
   restent ; le titre des résultats arrive alors en haut d'écran. */
:root body[data-home-view="catalogue"] :is(.sp-home-hero,.sp-legende-statuts,.sp-home-selection,.sp-home-trust,.sp-qui,.sp-feature,.home-section,.home-ranges),
:root body[data-home-view="packs"] :is(.sp-home-hero,.sp-legende-statuts,.sp-home-selection,.sp-home-trust,.sp-qui,.sp-feature,.home-section,.home-ranges,#catalogue){display:none}
:root body .sp-catalogue .sp-onglets-zone button[aria-pressed="true"]{background:var(--sp-encre);border-color:var(--sp-encre);color:var(--sp-blanc)}
:root body .sp-catalogue-montage .vehicle-box>*:not(.fitment-options){display:none}
:root body .sp-catalogue-montage .vehicle-box{margin:8px 0 0;padding:0;border:0;background:none}
:root body .sp-catalogue-montage>summary{display:flex;align-items:center;min-height:44px;font:600 14px var(--sp-police-texte);cursor:pointer}
:root body .sp-fiche-achat .compat{border-radius:var(--sp-rayon-bouton)}
:root body .packs-vehicle-label>span,:root body .packs-stage-product span{font-size:12px;letter-spacing:0;text-transform:none}
.sp-choix-feuille [hidden]{display:none!important}
.sp-choix-feuille-tete>[hidden]+h2{grid-column:2}
:root body .sp-choix-option:not([aria-pressed="true"]):is(:hover,:focus){color:var(--sp-texte-sur-nuit);background:rgba(246,243,234,.06)}

/* ===== Palette « Graphite et bronze », rythme des fonds (14.10.2026) ======
   Foncé : barre du haut, haut de page, bandeau véhicule, en-tête du
   passeport, bandeau de confiance, pied de page. Clair : catalogue, fiches,
   panier, pages de texte. Cartes produit et zones photo sur blanc. */
:root body footer.sp-pied{background:var(--sp-nuit);color:var(--sp-texte-sur-nuit);border-top:0}
:root body .sp-pied p{color:var(--sp-gris-sur-nuit)}
:root body .sp-pied .sp-pied-titre{color:var(--sp-texte-sur-nuit)}
:root body .sp-pied a,:root body .sp-pied a:visited{color:var(--sp-texte-sur-nuit)}
:root body .sp-pied a:hover{color:var(--sp-bronze-clair)}
:root body .sp-pied p a{color:var(--sp-bronze-clair)}
:root body .sp-pied a:focus-visible{outline-color:var(--sp-bronze-clair)}
:root body .sp-pied-bas{border-top-color:rgba(var(--sp-texte-sur-nuit-rgb),.14);color:var(--sp-gris-sur-nuit)}
:root body footer.sp-pied a.logo-sp,:root body footer.sp-pied a.logo-sp span,:root body footer.sp-pied a.logo-sp:hover{color:var(--sp-texte-sur-nuit)}
:root body footer.sp-pied a.logo-sp i{color:var(--sp-bronze-clair)}
/* Cartes et photos sur blanc. */
:root body .sp-carte .product-image{background:var(--sp-blanc);border-bottom:1px solid var(--sp-ligne)}
:root body .sp-fiche-photo{background:var(--sp-blanc);border:1px solid var(--sp-ligne)}
:root body #cart .cart-item>img{background:var(--sp-blanc);border:1px solid var(--sp-ligne)}
/* Texte d'action bronze sur le fond secondaire : bronze foncé (AA). */
.sp-garage-changer,:root body .barre .veh-switch-change{color:var(--sp-bronze-fonce)}
/* Bouton principal sur fond foncé : bronze clair, texte graphite. */
:root body .sp-home-hero .sp-hero-cta,:root body .sp-choix-option[aria-pressed="true"]{background:var(--sp-action-nuit);color:var(--sp-action-nuit-texte)}
/* Accueil mobile compact : les quatre statuts en deux colonnes, pour que le
   premier produit arrive avant deux hauteurs d'écran. */
@media (max-width:700px){
  :root body .sp-legende-statuts .sp-section-inner{gap:16px;padding-top:24px;padding-bottom:24px}
  :root body .sp-legende-cartes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  :root body .sp-legende-cartes article{padding:12px}
  :root body .sp-legende-cartes .sp-statut{font-size:10px;padding:4px 8px 4px 8px;gap:4px}
  :root body .sp-legende-cartes p{font-size:13px;line-height:1.4;margin-top:8px}
  :root body .sp-legende-statuts h2{margin-bottom:8px}
}
:root body .home-browse .home-text-link{color:var(--sp-bronze-fonce)}
:root body .home-card-tags i{color:var(--sp-gris)}
:root body [data-project-count]{color:var(--sp-bronze-fonce)}
/* Page DTC & homologation : pas de sur-titre décoratif, contrastes AA. */
:root body .document-hero-card>p:first-child{display:none}
:root body .document-hero-card a{color:var(--sp-bronze-fonce)}
:root body #document-families button span{color:var(--sp-gris)}
:root body .document-photo figcaption{color:var(--sp-gris);background:var(--sp-blanc);font:500 11px var(--sp-police-texte);letter-spacing:0}
:root body .ref-help-titre{font:600 15px/1.4 var(--sp-police-texte);letter-spacing:0;text-transform:none;color:var(--sp-encre)}
:root body #document-families button[aria-pressed="true"] span{color:inherit}
@media (max-width:700px){
  :root body .sp-catalogue .sp-carte .product-image{flex:0 0 104px;width:104px}
  :root body .sp-catalogue .sp-carte .product-body{padding:8px 8px 16px 16px}
  :root body .sp-catalogue .sp-carte .sp-statut{letter-spacing:.02em;gap:4px;padding:2px 8px 2px 6px}
}

/* ===== Palette marine et sable (14.10.2026) ===============================
   Accent #D4BA8C seulement sur fond foncé ; sur fond clair, liens marine
   soulignés et accent foncé #7F6130 pour les petits détails. */
:root body .servicebar.sp-util{color:var(--sp-texte-sur-nuit)}
:root body :is(.home-text-link,.sp-section-heading a,.sp-legende-statuts a,.sp-passeport-liens a,.achat-conditions a,.homolog-lien,.reassurance-humaine a,.sp-catalogue-plus a,.ref-help a,.document-hero-card a,.help-strip a,main p a,main li a,.page-texte a:not([class])){color:var(--sp-encre);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
:root body :is(.home-text-link,.sp-section-heading a,.sp-legende-statuts a,.sp-passeport-liens a,.achat-conditions a,.homolog-lien,main p a,main li a):hover{color:var(--sp-action-survol);text-decoration-thickness:2px}
/* Liens sur fond foncé : accent. */
:root body :is(.sp-home-hero,.sp-catalogue-vehicle,.sp-home-trust,.sp-cart-expertise,.dossier-barre) a:not(.sp-hero-cta),:root body .sp-pied p a{color:var(--sp-bronze-clair)}
/* Bouton rond flottant : marine bordé d'accent, visible sur les deux fonds. */
:root body #conseil-ia-ouvrir{background:var(--sp-action);color:var(--sp-blanc);border:2px solid var(--sp-bronze-clair)}
:root body #conseil-ia-ouvrir:hover{background:var(--sp-action-survol)}
/* Fil d'Ariane : toujours sans trait sous les liens (demande du 13.10). */
:root body :is(.fil,.sp-catalogue-fil) a,:root body main p.fil a{text-decoration:none}
:root body :is(.fil,.sp-catalogue-fil) a:is(:hover,:focus-visible){text-decoration:underline}

/* Accueil v3 — finitions du 15.10.2026 : cibles de 44 px, raccourcis sur une ligne. */
:root body nav.sp-rubriques>a{min-height:44px;min-width:44px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;padding-top:0;padding-bottom:0}
:root body nav.sp-rubriques .sp-plus{min-height:44px}
:root body .sp-recherche{padding-top:2px;padding-bottom:2px}
:root body .sp-recherche input{min-height:44px;padding:0}
:root body .sp-v3-shortcuts a{white-space:nowrap;min-width:44px;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center;gap:4px}
/* Bulles cliquables : 44 px (cible tactile), au-delà des 40 px minimum. */
:root body .sp-pastille,:root body .category-mobile button,:root body .gamme-switch button,:root body .home-suggestions button,:root body .cat-types button{min-height:44px}
:root body .sp-catalogue .sp-carte .project-heart{transform:none}
/* Accueil mobile : le haut de page a son propre bouton « Votre BMW · Changer »
   (même sélecteur) ; pas de second bandeau garage dans l'en-tête. */
@media (max-width:700px){:root body[data-home] .sp-entete .sp-garage{display:none}}

/* Performance (15.10.2026) : hauteurs réservées avant le chargement du
   catalogue, pour éviter tout décalage de mise en page. */
:root body .sp-catalogue .sp-onglets-zone{min-height:48px}
:root body .sp-catalogue #products:empty{min-height:120vh}
:root body .sp-pied p a{text-decoration:underline;text-underline-offset:3px}

/* Fenêtre « Votre véhicule » (homologation) aux couleurs de la refonte :
   fond blanc, bouton principal marine, accent foncé pour le nom de la pièce. */
:root body .homologation-dialog{background:var(--sp-blanc)!important;color:var(--sp-encre)!important;border:1px solid var(--sp-ligne)!important;border-radius:8px;font:16px/1.5 var(--sp-police-texte);box-shadow:0 24px 80px rgba(var(--sp-nuit-rgb),.28)}
:root body .homologation-dialog::backdrop{background:rgba(var(--sp-nuit-rgb),.72)}
:root body .homologation-dialog h2{font:500 25px/1.15 var(--sp-police-titre);color:var(--sp-encre)}
:root body .homologation-dialog p{color:var(--sp-gris)!important}
:root body .homologation-dialog .piece{color:var(--sp-bronze)!important;font-weight:500}
:root body .homologation-dialog input,:root body .homologation-dialog select,:root body .homologation-dialog textarea{background:var(--sp-blanc)!important;color:var(--sp-encre)!important;border:1px solid var(--sp-gris)!important;border-radius:8px;min-height:44px;font:16px var(--sp-police-texte)}
:root body .homologation-dialog input::placeholder{color:var(--sp-gris);opacity:1}
:root body .homologation-dialog button{min-height:44px;border:1px solid var(--sp-encre)!important;border-radius:8px;background:var(--sp-blanc)!important;color:var(--sp-encre)!important;font:500 15px var(--sp-police-texte)}
:root body .homologation-dialog button[type=submit]{background:var(--sp-action)!important;border-color:var(--sp-action)!important;color:var(--sp-action-texte)!important}
:root body .homologation-dialog button[type=submit]:hover{background:var(--sp-action-survol)!important}
:root body .homologation-dialog :focus-visible{outline:2px solid var(--sp-encre);outline-offset:3px}
