/* Accueil Comptoir : les pages véhicule conservent leur gabarit partagé. */
body[data-home="comptoir"] {
  --paper:var(--sp-papier); --ink:var(--sp-encre); --muted:var(--sp-gris); --line:var(--sp-ligne);
  --gold:var(--sp-foret); --green:var(--sp-foret); --tint:var(--sp-craie); --white:var(--sp-blanc);
  --home-olive:var(--sp-foret); --home-soft:var(--sp-craie); --home-gold:var(--sp-bronze);
  background:var(--paper);
}
/* L'accueil finit par le conseil et l'image moteur ; les pièces et packs
   apparaissent à la demande depuis les liens et la recherche. */
body[data-home-view="accueil"] #catalogue,
body[data-home-view="accueil"] #packs-configurator {display:none}
body[data-home-view="catalogue"] .home-first-screen,
body[data-home-view="packs"] .home-first-screen,
body[data-home-view="catalogue"] .home-hero,
body[data-home-view="catalogue"] .home-trust,
body[data-home-view="catalogue"] .home-section,
body[data-home-view="catalogue"] .home-ranges,
body[data-home-view="packs"] .home-hero,
body[data-home-view="packs"] .home-trust,
body[data-home-view="packs"] .home-section,
body[data-home-view="packs"] .home-ranges,
body[data-home-view="packs"] #catalogue {display:none}
body[data-home] #vehicle-picker .garage-family {min-height:62px;padding:13px 15px}
body[data-home] #vehicle-picker .garage-model {min-height:105px}
body[data-home] main > .help-strip {margin-top:30px}
body[data-home] > header {height:80px;background:var(--paper);gap:24px;max-width:1440px;margin:auto;border-bottom:0}
body[data-home] > header nav {gap:25px;font-size:13px}
body[data-home] .cart-button {background:var(--white);border-radius:7px}
body[data-home] .servicebar {padding:9px 4%;border-top:1px solid var(--line);background:var(--paper)}
body[data-home] main {max-width:1440px}
body[data-home] .eyebrow {font-family:var(--sp-police-mono);font-size:10px;font-weight:500;letter-spacing:1.7px;color:var(--home-gold)}
body[data-home] em {color:var(--home-olive)}
.home-first-screen {min-height:calc(100svh - 114.5px);display:flex;flex-direction:column;padding-bottom:8px}
body[data-home] .home-hero {grid-template-columns:1.12fr 1fr;gap:64px;padding:56px 0 44px;align-items:center}
body[data-home] .home-first-screen .home-hero {flex:1}
/* Première visite : le bandeau cookies est fixé en bas de l'écran. On réserve
   sa hauteur pour que les chiffres et la flèche restent visibles au-dessus. */
@media (min-width:851px) {
  body[data-home]:has(#bandeau-cookies[data-visible="1"]) .home-first-screen {min-height:calc(100svh - 114.5px - 64px)}
}
/* Slogan : réglage typographique de l'ancien accueil (Archivo 500 et
   Georgia italique à la même taille, interlettrage -2.3px à 52px). */
body[data-home] .home-hero h1 {font-size:clamp(46px,5.1vw,72px);font-weight:500;line-height:1.12;letter-spacing:-.044em;margin:20px 0 25px}
body[data-home] .home-hero h1 em {font-weight:400;letter-spacing:inherit;font-size:1em}
.home-lead {font-size:16px;line-height:1.75;color:var(--muted);margin:0;max-width:510px}
.home-search {margin:28px 0 0;max-width:530px}
.home-search > label {display:block;font-size:11px;margin:0 0 8px;color:var(--muted)}
.home-search-field {display:flex;align-items:center;gap:11px;border:1px solid #C3C6C8;background:var(--white);border-radius:9px;padding:6px 6px 6px 15px;box-shadow:0 12px 30px -24px #40573566}
.home-search-field svg {width:21px;height:21px;fill:none;stroke:var(--home-olive);stroke-width:1.6;flex:none}
.home-search-field input {min-width:0;width:100%;border:0;background:none;font-size:14px;padding:10px 0;color:var(--ink)}
.home-search-field input:focus {outline:none}
.home-search-field:focus-within {outline:2px solid var(--home-olive);outline-offset:3px}
.home-search-field button {padding:12px 17px;border-radius:6px;background:var(--home-olive);color:white;font-size:13px;font-weight:500;white-space:nowrap}
.home-search-field button:hover {background:var(--sp-foret-fonce);color:white}
.home-search-field button span {margin-left:12px}
.home-suggestions {display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:13px 0 18px;font-size:11px}
.home-suggestions > span {color:var(--muted);margin-right:3px}
.home-suggestions button {border:1px solid var(--line);border-radius:20px;padding:5px 10px;background:var(--white);font-size:11px}
.home-suggestions button:hover {border-color:var(--home-olive);color:var(--home-olive)}
.home-text-link {display:inline-flex;align-items:center;gap:15px;font-size:12px;color:var(--home-olive);font-weight:500}
.home-text-link:hover {text-decoration:underline;text-underline-offset:4px}
body[data-home] .home-garage {position:relative;background:var(--white);border:1px solid #D1D4D6;border-radius:14px;padding:22px 26px 24px;overflow:hidden;box-shadow:0 15px 36px -30px #4057355c}
body[data-home] .home-garage .vehicle-top {margin-bottom:20px;position:relative;z-index:1;color:var(--home-olive)}
body[data-home] .home-garage .cross {font-size:26px;color:var(--home-olive)}
body[data-home] .home-garage .selected-label {color:var(--muted);font-size:10px}
body[data-home] .home-garage .vehicle-trigger {background:var(--paper);border:1px solid #C9CCCF;border-radius:7px;padding:12px;gap:12px}
body[data-home] .home-garage .vehicle-trigger strong {font-size:16px;font-weight:600}
body[data-home] .home-garage .vehicle-trigger small {font-size:10px;color:var(--muted);line-height:1.7}
body[data-home] .home-garage .vehicle-change {font-size:11px}
body[data-home] .home-garage .vehicle-meta {font-family:var(--sp-police-mono);font-size:10px;padding-top:13px}
body[data-home] .home-garage .fitment-options {margin-top:11px}
body[data-home] .home-garage .fitment-options summary {font-size:11px}
body[data-home] .home-garage .fitment-options select {font-size:13px}
.home-garage-actions {display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:17px 0 0}
.home-garage-actions a {text-align:center;font-size:12px;font-weight:500;border:1px solid var(--home-olive);padding:11px 10px;border-radius:6px;color:var(--home-olive)}
.home-garage-actions a:first-child {background:var(--home-olive);color:white}
.home-garage-actions a:hover {background:var(--sp-craie);color:var(--home-olive)}
/* Le garage de l'accueil guide le choix sans ouvrir une liste de 49 BMW. */
body[data-home] .home-hero {grid-template-columns:.95fr 1.05fr;gap:42px}
body[data-home] .home-garage #vehicle-label,
body[data-home] .home-garage .vehicle-trigger,
body[data-home] .home-garage .vehicle-meta {display:none}
body[data-home] .home-garage .vehicle-top {margin-bottom:10px;gap:10px}
body[data-home] .home-garage .selected-label {margin-left:auto;background:var(--home-soft);border-radius:4px;padding:5px 7px;font-size:9px}
body[data-home] .home-garage .home-vehicle-intro {font-size:12px;line-height:1.5;margin:0 0 19px;color:var(--muted)}
.home-vehicle-fields {display:grid;grid-template-columns:1fr 1.25fr;gap:16px 14px}
.home-vehicle-fields > label {display:block;min-width:0;margin:0}
.home-vehicle-fields > label > span {display:flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--ink);font-size:12px;font-weight:500}
.home-vehicle-fields b {font:400 10px var(--sp-police-mono);color:var(--home-olive);border:1px solid #D0D3D6;border-radius:3px;padding:3px 4px;background:var(--home-soft)}
body[data-home] .home-garage .home-vehicle-fields select {display:block;width:100%;min-width:0;height:49px;border:1px solid #C6CACC;border-radius:6px;background:var(--paper);padding:0 32px 0 13px;color:var(--ink);font:500 15px var(--sp-police-titre);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%23405735' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;cursor:pointer}
body[data-home] .home-garage .home-vehicle-fields select:hover {border-color:#868C90}
body[data-home] .home-garage .home-vehicle-fields select:focus-visible {outline:2px solid var(--home-olive);outline-offset:3px}
body[data-home] .home-garage .home-vehicle-fields select:disabled {opacity:.6;cursor:wait}
.home-vehicle-model-field {grid-column:auto}
.home-vehicle-model-hint {display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:7px;min-height:15px}
.home-vehicle-confirm {display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:17px}
body[data-home] .home-garage #home-vehicle-status {font-size:10px;line-height:1.6;color:var(--muted);margin:0;max-width:52%}
body[data-home] .home-garage #home-vehicle-apply {flex:none;min-height:40px;padding:10px 13px;border:1px solid var(--home-olive);border-radius:5px;background:var(--home-olive);color:white;font-size:11px;font-weight:500;cursor:pointer;white-space:nowrap}
body[data-home] .home-garage #home-vehicle-apply:disabled {color:var(--home-olive);background:var(--home-soft);border-color:#D0D3D6;cursor:default;opacity:1}
body[data-home] .home-garage #home-vehicle-apply:focus-visible {outline:2px solid var(--home-olive);outline-offset:3px}
body[data-home] .home-garage .fitment-options {margin-top:14px}
body[data-home] .home-garage > p {font-size:10px;line-height:1.5;margin:12px 0 0;padding-top:0;border-top:0}
@media (min-width:851px) and (max-height:800px) {
  body[data-home] .home-first-screen .home-hero {padding:12px 0;gap:35px}
  body[data-home] .home-garage .home-vehicle-intro {margin-bottom:13px}
  .home-vehicle-fields {row-gap:12px}
  .home-vehicle-confirm {margin-top:10px}
  body[data-home] .home-garage .fitment-options {margin-top:10px}
  .home-garage-actions {margin-top:12px}
}
@media (max-width:850px) {
  body[data-home] .home-first-screen .home-hero {grid-template-columns:1fr;gap:28px}
}
@media (max-width:600px) {
  body[data-home] .home-garage .selected-label {font-size:8px;padding:4px 5px}
  body[data-home] .home-garage .home-vehicle-intro {font-size:11px}
  body[data-home] .home-garage .home-vehicle-fields select {font-size:14px;padding-left:11px}
  .home-vehicle-fields {gap:15px 10px}
  .home-vehicle-confirm {align-items:flex-start;flex-direction:column;gap:10px}
  body[data-home] .home-garage #home-vehicle-status {max-width:none}
  body[data-home] .home-garage #home-vehicle-apply {width:100%}
}
.home-trust {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0!important;gap:0}
.home-trust > div {padding:20px 18px;border-right:1px solid var(--line);text-align:center}
.home-trust > div:last-child {border-right:0}
.home-trust strong {display:block;font:600 23px/1.3 var(--sp-police-titre);letter-spacing:-.6px}
.home-trust > div > span {display:block;margin-top:5px;font-size:11px;color:var(--muted)}
.home-scroll-cue {display:flex;align-items:center;justify-content:center;flex:none;align-self:center;width:44px;height:44px;margin-top:4px;color:var(--home-olive);border-radius:50%}
.home-scroll-cue svg {width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.home-scroll-cue:hover {background:var(--home-soft)}
.home-scroll-cue:focus-visible {outline:2px solid var(--home-olive);outline-offset:2px}
.home-interventions {scroll-margin-top:24px}
.home-section {padding:49px 0 0}
.home-section-heading {display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:23px}
.home-section-heading .eyebrow {margin-bottom:10px}
.home-section-heading h2 {font-size:36px;line-height:1.1;font-weight:600;letter-spacing:-1.1px}
.home-section-heading h2 em {font-size:1.15em}
.home-section-heading > p {font-size:12px;color:var(--muted);line-height:1.75;margin:0}
.home-intervention-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.home-intervention {display:flex;flex-direction:column;text-align:left;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:23px 25px 19px;transition:transform .2s,border-color .2s,box-shadow .2s}
.home-intervention:hover {border-color:#87967b;color:var(--ink);transform:translateY(-3px);box-shadow:0 12px 22px -18px #40573560}
.home-card-top {display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}
.home-card-top img {width:42px;height:42px;padding:7px;background:var(--home-soft);border-radius:9px}
.home-card-number {font:400 24px var(--sp-police-mono);color:#BDC0C2}
.home-intervention > strong {font:600 24px var(--sp-police-titre);letter-spacing:-.6px}
.home-card-copy {font-size:12px;color:var(--muted);line-height:1.7;margin-top:8px;flex:1}
.home-card-tags {font-size:10px;color:var(--muted);margin-top:17px;display:block}
.home-card-tags i {font-style:normal;margin:0 6px;color:#a0ab95}
.home-card-action {display:flex;align-items:center;justify-content:space-between;margin-top:19px;border-top:1px solid var(--line);padding-top:14px;font-size:12px;font-weight:500;color:var(--home-olive)}
.home-card-action > span {font-size:19px}
.home-pack-note {font-size:10px;line-height:1.6;margin:12px 0 0;color:var(--muted)}
.home-category-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.home-category {display:grid;grid-template-columns:1fr auto;gap:5px;text-align:left;padding:18px 20px;background:var(--white);border:1px solid var(--line);border-radius:9px;transition:background .2s}
.home-category:hover {background:var(--home-soft);color:var(--home-olive)}
.home-category img {width:31px;height:31px;margin-bottom:18px;grid-column:1/-1}
.home-category strong {font:500 15px var(--sp-police-titre)}
.home-category small {font-size:10px;color:var(--muted);grid-column:1;line-height:1.6}
.home-arrow {grid-column:2;grid-row:2/4;align-self:center;font-size:20px;color:var(--home-olive)}
.home-ranges {display:grid;grid-template-columns:1fr 1fr;gap:17px;padding-bottom:48px}
.home-range {position:relative;overflow:hidden;min-height:275px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:30px 33px;border-radius:11px;background:var(--home-soft)}
.home-range:hover {color:inherit;box-shadow:inset 0 0 0 1px #7E858A}
.home-range > .eyebrow {margin-bottom:18px}
.home-range > strong {position:relative;z-index:1;font:600 35px/1.08 var(--sp-police-titre);letter-spacing:-1px}
.home-range > strong em {font-size:1.07em}
.home-range > span:not(.eyebrow):not(.home-range-bottom) {position:relative;z-index:1;display:block;font-size:12px;line-height:1.7;margin-top:14px}
.home-range-bottom {position:relative;z-index:1;display:flex;align-items:center;gap:25px;margin-top:23px;font-size:12px;font-weight:500}
.home-range-performance {background:var(--sp-encre);color:var(--sp-blanc)}
.home-range-performance .eyebrow,.home-range-performance em {color:#C3C8CC!important}
.home-range-performance > span:not(.eyebrow):not(.home-range-bottom) {color:#D4D6D8;max-width:290px}
body[data-home] .catalogue {padding-top:36px;scroll-margin-top:15px}
body[data-home] .catalogue-top h2 {font-size:32px}
body[data-home] .cat-button.selected,body[data-home] .gamme-switch button.selected {background:var(--home-soft);border-color:#B5BBBF;color:var(--home-olive)}
body[data-home] .primary,body[data-home] .add {background:var(--home-olive);color:white}
body[data-home] .product {border-radius:8px}
body[data-home] .product-body {padding:20px}
body[data-home] .editorial {border-radius:12px;overflow:hidden;background:var(--home-soft);margin:55px 0;gap:30px}
body[data-home] .editorial > div:last-child {padding:24px 24px 24px 0}
body[data-home] .packs-launcher {margin-top:0}
body[data-home] > footer .conseil-ia-ouvrir {position:static;box-shadow:none;letter-spacing:0;border:1px solid var(--line);border-radius:6px;padding:10px 13px;font-family:inherit;font-size:12px;text-transform:none;white-space:nowrap}
body[data-home] > footer .conseil-ia-ouvrir span:last-child {display:inline}
body[data-home] > footer .conseil-ia-ouvrir:hover {background:var(--home-soft);color:var(--home-olive)}
@media (min-width:1450px) {body[data-home] .servicebar {padding-left:max(4%,calc((100vw - 1325px)/2));padding-right:max(4%,calc((100vw - 1325px)/2))}}
@media (max-width:1100px) {
  body[data-home] > header nav {gap:15px;font-size:12px}
  body[data-home] .home-hero {gap:32px}
  body[data-home] .home-hero h1 {font-size:54px}
  .home-intervention {padding:21px 19px 17px}
  .home-card-tags {font-size:9px}
  .home-range {padding:28px}
  .home-trust strong {font-size:20px}
}
@media (min-width:851px) and (max-height:800px) {
  body[data-home] .home-hero {padding:24px 0;gap:40px}
  body[data-home] .home-hero h1 {font-size:clamp(44px,4.5vw,60px);margin:14px 0 18px}
  .home-lead {font-size:15px;line-height:1.6}
  .home-search {margin-top:20px}
  .home-suggestions {margin:10px 0 14px}
  body[data-home] .home-garage {padding:20px 24px}
  .home-trust > div {padding:16px 18px}
}
@media (max-width:850px) {
  .home-first-screen {min-height:calc(100svh - 104.5px)}
  body[data-home] > header {height:70px;flex-wrap:nowrap}
  body[data-home] > header nav {display:none}
  body[data-home] .home-hero {display:grid;grid-template-columns:1fr;gap:30px;padding:33px 0 30px}
  body[data-home] .home-hero h1 {font-size:56px}
  .home-pitch {max-width:620px}
  body[data-home] .home-garage {max-width:620px;width:100%}
  .home-trust {grid-template-columns:1fr 1fr}
  .home-trust > div {padding:18px 17px!important}
  .home-trust > div:nth-child(2) {border-right:0}
  .home-trust > div:nth-child(-n+2) {border-bottom:1px solid var(--line)}
  .home-section-heading {align-items:flex-start;flex-direction:column;gap:12px}
  .home-section-heading > p br {display:none}
  .home-category-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-range > strong {font-size:29px}
  body[data-home] .editorial > div:last-child {padding:24px}
}
@media (max-width:600px) {
  .home-first-screen {min-height:calc(100svh - 102px - 60px - env(safe-area-inset-bottom,0px))}
  body[data-home] main {padding:0 20px}
  body[data-home] > header {padding:0 20px}
  body[data-home] .cart-button {font-size:11px;padding:9px 10px}
  body[data-home] .servicebar {display:block;padding:9px 20px;font-size:10px}
  body[data-home] .servicebar > span:last-child {display:none}
  body[data-home] .home-hero h1 {font-size:45px;margin:15px 0 18px}
  body[data-home] .eyebrow {font-size:9px;letter-spacing:1.2px}
  .home-lead {font-size:13px;line-height:1.75}
  .home-lead br {display:none}
  .home-search {margin-top:21px}
  .home-search-field {gap:8px;padding-left:11px}
  .home-search-field input {font-size:12px}
  .home-search-field button {font-size:11px;padding:12px}
  .home-search-field button span {margin-left:5px}
  .home-suggestions {gap:5px;font-size:10px;margin:12px 0 16px}
  .home-suggestions > span {width:100%;margin-bottom:2px}
  .home-suggestions button {font-size:10px;padding:5px 9px}
  .home-text-link {font-size:11px}
  body[data-home] .home-garage {padding:19px 18px}
  body[data-home] .home-garage .vehicle-trigger {padding:11px;gap:9px}
  body[data-home] .home-garage .vehicle-trigger strong {font-size:14px}
  body[data-home] .home-garage .vehicle-trigger small {font-size:9px}
  body[data-home] .home-garage .vehicle-change {font-size:10px}
  .home-trust strong {font-size:18px}
  .home-trust > div > span {font-size:10px;line-height:1.5}
  .home-section {padding-top:34px}
  .home-section-heading h2 {font-size:29px}
  .home-section-heading > p {font-size:11px}
  .home-intervention-grid {grid-template-columns:1fr;gap:11px}
  .home-intervention {display:grid;grid-template-columns:auto 1fr;gap:0 14px;padding:18px 17px}
  .home-card-top {grid-column:1;grid-row:1/4;margin:0;align-self:start}
  .home-card-number {display:none}
  .home-intervention > strong {grid-column:2;font-size:21px}
  .home-card-copy {grid-column:2;font-size:11px;margin-top:5px}
  .home-card-tags {grid-column:2;font-size:9px;margin-top:9px}
  .home-card-action {grid-column:1/-1;font-size:11px;padding-top:10px;margin-top:13px}
  .home-category-grid {grid-template-columns:1fr 1fr;gap:9px}
  .home-category {padding:16px 14px}
  .home-category img {width:29px;height:29px;margin-bottom:10px}
  .home-category strong {font-size:13px}
  .home-category small {font-size:9px}
  .home-ranges {grid-template-columns:1fr;padding-bottom:34px;gap:12px}
  .home-range {padding:25px;min-height:255px}
  .home-range > strong {font-size:31px}
  body[data-home] .catalogue-top h2 {font-size:24px}
  body[data-home] .product-body {padding:13px}
  body[data-home] .editorial {margin:35px 0}
}
@media (prefers-reduced-motion:reduce) {
  html:has(body[data-home]) {scroll-behavior:auto}
  .home-intervention,.home-category {transition:none}
  .home-intervention:hover {transform:none}
}
@media (min-width:851px) and (max-height:800px) {
  body[data-home] .home-garage {padding:16px 24px}
  body[data-home] .home-garage .fitment-options {margin-top:10px;padding-top:8px}
}
