:root{
  --noir:#000; --encre:#1C1C1C; --gris:#666; --gris-mid:#B0B0B0;
  --trait:#E2E1DC; --papier:#F2F1EC; --blanc:#FFF;
  --bleu:#0078D6; --bleu-h:#005EA6; --bleu-txt:#0060AD;
  --sans:"Archivo", ui-sans-serif, system-ui, "Helvetica Neue", Arial, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;
  --pm-1:.5rem; --pm-2:.75rem; --pm-3:1rem; --pm-4:1.5rem; --pm-5:2rem; --pm-6:3rem;
  --pm-gutter: clamp(1rem, 3.5vw, 3rem);
  --pm-shell: min(100% - var(--gutter)*2, 84rem);
  --pm-ease: cubic-bezier(.16,1,.3,1);
}
/* le thème fournit la page, pas l'habillage */
header.ct-header, #header.ct-header, footer.ct-footer, #footer.ct-footer{display:none !important}
/* la fenêtre de recherche de Blocksy vit hors de l'en-tête : elle restait visible */
.ct-drawer-canvas, #search-modal, .ct-panel, #offcanvas{display:none !important}
body{font-family:var(--sans); color:var(--encre); background:var(--blanc);
  font-variation-settings:"wdth" 100}
@media (max-width:820px){ .pm-util li:nth-child(n+3){display:none}
}
.pm-search{flex:1; display:flex; border:1px solid var(--trait); min-height:50px; max-width:40rem}
.pm-search input{flex:1; border:0; padding:0 var(--s-3); background:transparent; min-width:0; font:inherit}
.pm-search input:focus{outline:0}
.pm-search button{flex:none; width:54px; border:0; background:var(--bleu); color:var(--blanc);
  display:grid; place-items:center; cursor:pointer}
@media (max-width:1080px){ .pm-search{display:none}
}
@media (max-width:680px){ .pm-tool span{display:none}
}
@media (hover:hover) and (pointer:fine){ .pm-cat a:hover{border-bottom-color:var(--encre)}
}
@media (min-width:820px){ .pm-foot__in{grid-template-columns:1.4fr 1fr 1fr 1fr}
}
@media (hover:hover) and (pointer:fine){ .pm-foot a:hover{color:var(--blanc)}
}
@media (pointer:coarse){ .pm-foot a, .pm-cat a, .pm-logo, .pm-tool{display:inline-flex; align-items:center; min-height:44px}
}
/* --- harmonisation légère des pages WooCommerce --- */
.woocommerce ul.products li.product a img{border:1px solid var(--trait)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--sans); font-weight:600}
.woocommerce .button, .woocommerce a.button, .woocommerce button.button{
  border-radius:0 !important; background:var(--encre) !important; color:var(--blanc) !important;
  font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.8125rem}
/* --- accent laiton, ce qui nous distingue du noir et blanc du secteur --- */
:root{ --bleu-inutilise:#0078D6; --bleu-fonce-inutilise:#0060AD; }
@media (hover:hover) and (pointer:fine){
  .pm-btn:hover{background:var(--blanc); color:var(--encre)}
}
/* --- formulaire de devis --- */
.pm-devis{width:min(100% - 2rem, 52rem); margin:0 auto}
.pm-devis__form{border:1px solid var(--trait); padding:clamp(1.25rem,3vw,2rem); background:var(--blanc)}
.pm-devis__ligne{display:grid; gap:1rem; margin-bottom:1rem}
@media (min-width:700px){ .pm-devis__ligne{grid-template-columns:1fr 1fr}
}
.pm-devis label{display:block}
.pm-ctl{width:100%; min-height:52px; padding:.75rem 1rem; border:1px solid var(--trait);
  background:var(--blanc); font:inherit; color:var(--encre)}
.pm-ctl:focus{outline:2px solid var(--bleu-fonce); outline-offset:1px}
textarea.pm-ctl{min-height:auto; line-height:1.6}
.pm-ctl--mono{font-family:var(--mono); text-transform:uppercase; letter-spacing:.1em}
.pm-devis__bloc{margin-bottom:1.5rem}
.pm-devis__note{margin-top:1rem; font-size:.8125rem; color:var(--gris); line-height:1.55}
.pm-devis__leurre{position:absolute; left:-9999px}
.pm-devis__err{border-left:3px solid #B3261E; background:#FDF3F2; padding:1rem 1.25rem; margin-bottom:1.5rem}
.pm-devis__err ul{margin:0; padding-left:1.1rem}
.pm-devis__err li{margin:.2rem 0}
.pm-devis__ok{border-left:3px solid var(--bleu); background:var(--papier); padding:1.5rem 1.75rem}
.pm-devis__ok h2{margin:0 0 .5rem; font-size:1.4rem}
.pm-devis__ok p{margin:0; color:var(--gris)}
/* --- bandeau véhicule permanent : présent sur toutes les pages sauf l'accueil --- */
.pm-vehic{background:#FBF7EC; border-bottom:1px solid #E6DCC2}
.pm-vehic__in{display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1.25rem; padding-block:.85rem}
.pm-vehic svg{flex:none; color:var(--bleu-fonce)}
.pm-vehic p{margin:0; font-size:.8125rem; color:#0060AD; flex:1 1 18rem}
.pm-vehic b{font-weight:700}
.pm-vehic a{flex:none; display:inline-flex; align-items:center; min-height:40px; padding:0 1.1em;
  background:var(--encre); color:var(--blanc); font-size:.72rem; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; text-decoration:none}
@media (hover:hover) and (pointer:fine){ .pm-vehic a:hover{background:var(--bleu-fonce)}
}
/* --- fiche produit : compatibilité --- */
.pm-compat{border:1px solid #E6DCC2; background:#FBF7EC; padding:1.1rem 1.25rem; margin:1.25rem 0}
.pm-compat__t{margin:0 0 .6rem; font-weight:700; font-size:.95rem}
.pm-compat__series{margin:0 0 .75rem; display:flex; flex-wrap:wrap; gap:.35rem}
.pm-bm{display:inline-block; font-family:var(--mono); font-size:.72rem; letter-spacing:.04em;
  padding:.25em .55em; border:1px solid #B8D4EF; background:var(--blanc); color:#0060AD;
  text-decoration:none; white-space:nowrap}
@media (hover:hover) and (pointer:fine){ .pm-bm:hover{border-color:var(--encre); color:var(--encre)}
}
.pm-compat__note{margin:0 0 .6rem; font-size:.8125rem; color:#0060AD; line-height:1.55}
.pm-compat__note a{color:var(--bleu-fonce); text-decoration:underline}
.pm-compat__ctrl{margin:0; padding-top:.6rem; border-top:1px solid #E6DCC2;
  font-size:.78rem; color:#6B5B39; line-height:1.5}
.pm-meme-serie{margin-top:3rem}
.pm-meme-serie h2{font-size:1.35rem; font-weight:700; letter-spacing:-.02em; margin-bottom:1.25rem}
/* --- page de recherche sans résultat --- */
.pm-vide{width:min(100% - 2rem, 68rem); margin:2.5rem auto 4rem}
.pm-vide h2{font-size:clamp(1.4rem,1.2rem+.9vw,2rem); font-weight:700; letter-spacing:-.025em;
  line-height:1.15; margin:0 0 .75rem}
.pm-vide__lead{color:var(--gris); max-width:58ch; margin:0 0 2rem; line-height:1.6}
.pm-vide__pistes{display:grid; gap:1px; background:var(--trait); border:1px solid var(--trait)}
@media (min-width:820px){ .pm-vide__pistes{grid-template-columns:repeat(3,1fr)}
}
.pm-vide__pistes > div{background:var(--blanc); padding:1.5rem; display:flex; flex-direction:column; gap:.55rem}
.pm-vide__num{font-family:var(--mono); font-size:.72rem; color:var(--bleu-fonce); letter-spacing:.12em}
.pm-vide__pistes b{font-size:1.02rem; line-height:1.3}
.pm-vide__pistes > div > span{font-size:.8125rem; color:var(--gris); line-height:1.55}
.pm-vide__lien{margin-top:auto; align-self:flex-start; font-size:.78rem; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; text-decoration:underline; color:var(--encre)}
.pm-vide__cats{list-style:none; margin:.25rem 0 0; padding:0; display:grid; gap:.3rem}
.pm-vide__cats a{display:flex; justify-content:space-between; gap:.75rem; font-size:.8125rem;
  text-decoration:none; color:inherit; padding:.28rem 0; border-bottom:1px solid var(--trait)}
.pm-vide__cats em{font-style:normal; font-family:var(--mono); font-size:.7rem; color:var(--gris)}
@media (hover:hover) and (pointer:fine){ .pm-vide__cats a:hover{color:var(--bleu-fonce)}
}
.pm-vide__note{margin-top:1.75rem; padding-top:1.25rem; border-top:1px solid var(--trait);
  font-size:.8125rem; color:var(--gris); line-height:1.6; max-width:74ch}
/* --- réassurance de fiche produit --- */
.pm-rassure{list-style:none; margin:1.5rem 0 0; padding:1.25rem 0 0; border-top:1px solid var(--trait);
  display:grid; gap:1rem}
.pm-rassure li{display:grid; grid-template-columns:auto 1fr; gap:.85rem; align-items:start}
.pm-rassure svg{width:20px; height:20px; color:var(--bleu-fonce); margin-top:2px}
.pm-rassure b{display:block; font-size:.9rem; font-weight:700; margin-bottom:.15rem}
.pm-rassure span{font-size:.8125rem; color:var(--gris); line-height:1.5}
.pm-search{background:var(--blanc); border-color:var(--blanc)}
.pm-search input{color:var(--encre)}
.pm-search input::placeholder{color:var(--gris)}
@media (hover:hover) and (pointer:fine){
  .pm-tool:hover,.pm-tool:hover a,.pm-tool a:hover,.pm-tool:hover span,.pm-tool:hover svg{color:#fff !important}
}
@media (hover:hover) and (pointer:fine){ .pm-cat a:hover{border-bottom-color:var(--bleu); color:var(--blanc)}
}
.woocommerce a.button,.woocommerce button.button,.woocommerce .button,.woocommerce #respond input#submit,.woocommerce .single_add_to_cart_button{background:var(--bleu) !important; border-color:var(--bleu) !important; color:var(--blanc) !important}
@media (hover:hover) and (pointer:fine){
  .pm-btn:hover,.pm-btn--bleu-inutilise:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce .single_add_to_cart_button:hover{background:var(--bleu-fonce) !important; border-color:var(--bleu-fonce) !important; color:var(--blanc) !important}
}
@media (hover:hover) and (pointer:fine){.pm-chip:hover{border-color:var(--encre)}
}
/* --- Landing pages véhicule / famille --- */
.archive.tax-pa_serie .entry-header, .archive.tax-product_cat .entry-header,
.tax-pa_serie .woocommerce-products-header, .tax-product_cat .woocommerce-products-header,
.tax-pa_serie .woocommerce-result-count, .tax-product_cat .woocommerce-result-count,
.tax-pa_serie .term-description, .tax-product_cat .term-description{display:none!important}
.tax-pa_serie .woocommerce, .tax-product_cat .woocommerce{padding-top:0}
/* hero aéré, image du modèle à droite */
.pm-arch-hero{width:100vw; margin-left:calc(50% - 50vw); background:var(--noir); color:var(--blanc); padding-block:clamp(2.5rem,5vw,4.5rem); margin-bottom:var(--s-6); overflow:hidden}
.pm-arch-hero__in{display:grid; gap:var(--s-5); align-items:center}
@media (min-width:900px){.pm-arch-hero.has-img .pm-arch-hero__in{grid-template-columns:1.05fr .95fr}
}
.pm-arch__fil{font-family:var(--mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--gris-mid); margin:0 0 var(--s-4)}
.pm-arch__fil a{color:var(--gris-mid); text-decoration:none}
.pm-arch__fil span{margin:0 .4rem}
.pm-arch__eyebrow{font-family:var(--mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:#5FB0EE; margin:0 0 .7rem}
.pm-arch__h1{color:var(--blanc); font-variation-settings:"wdth" 86; letter-spacing:-.02em; line-height:1.08; font-size:clamp(1.7rem,1.3rem+1.8vw,2.7rem); margin:0 0 var(--s-4); max-width:20ch}
.pm-arch__sous{color:var(--gris-mid); font-size:1.02rem; line-height:1.6; max-width:56ch; margin:0 0 var(--s-4)}
.pm-arch__compte{font-family:var(--mono); font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; color:var(--blanc); display:flex; align-items:center; gap:.5rem; margin:0}
.pm-arch__compte span:first-child{width:8px; height:8px; background:var(--bleu); border-radius:50%; flex:none}
.pm-arch-hero__img{align-self:center}
.pm-arch-hero__img img{width:100%; height:auto; max-height:300px; object-fit:contain; display:block}
/* mise en page 2 colonnes : filtre à gauche, produits à droite */
.pm-shop{display:grid; gap:var(--s-6); grid-template-columns:1fr}
@media (min-width:860px){.pm-shop{grid-template-columns:220px 1fr; align-items:start}
}
.pm-side__t{font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gris); margin:0 0 var(--s-3); padding-bottom:var(--s-3); border-bottom:1px solid var(--trait)}
.pm-side__list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.1rem}
@media (max-width:859px){.pm-side__list{flex-direction:row; flex-wrap:wrap; gap:.5rem}
}
.pm-side__b{width:100%; text-align:left; background:none; border:0; padding:.5rem .3rem; font:inherit; font-size:.9rem; color:var(--encre); cursor:pointer; border-left:2px solid transparent}
@media (max-width:859px){.pm-side__b{width:auto; border:1px solid var(--trait); border-left:1px solid var(--trait); padding:.4rem .8rem}
}
.pm-side__b.is-on{color:var(--bleu); border-left-color:var(--bleu); font-weight:600}
.pm-side__b{display:flex; align-items:baseline; gap:.5rem}
.pm-side__n{margin-left:auto; font-family:var(--mono); font-size:.66rem; color:var(--gris); font-style:normal}
.pm-side__b.is-vide .pm-side__n{opacity:.6}
.pm-arch__spec{list-style:none; margin:0 0 1.1rem; padding:0; display:flex; flex-wrap:wrap; gap:.4rem .9rem; font-family:var(--mono); font-size:.72rem; letter-spacing:.05em; color:#B9BCC2}
.pm-arch__spec li{display:inline-flex; align-items:center; gap:.9rem}
.pm-arch__spec li + li::before{content:''; width:1px; height:12px; background:#3A3D44}
.pm-arch__spec b{color:var(--blanc); font-weight:600}
.pm-ref{font-family:var(--mono); font-size:.7rem; color:var(--gris); margin:.15rem 0 .4rem; letter-spacing:.03em}
.pm-ref b{color:var(--encre); font-weight:500}
.pm-ref--single{font-size:.78rem; margin:0 0 .9rem}
.pm-side__grp{list-style:none; font-family:var(--mono); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--encre); font-weight:600; margin:1.15rem 0 .35rem; padding-top:.55rem; border-top:1px solid var(--trait)}
.pm-side__b.is-vide{color:var(--gris-mid); cursor:default; opacity:.5}
@media (hover:hover) and (pointer:fine){.pm-side__b:not(.is-vide):not(.is-on):hover{color:var(--bleu)}
}
.pm-shop__main{min-width:0}
/* --- Sélecteur véhicule dans la sidebar --- */
.pm-sv{margin-bottom:var(--s-5); padding-bottom:var(--s-5); border-bottom:1px solid var(--trait)}
.pm-sv__c{width:100%; min-height:42px; padding:.5rem .7rem; margin-bottom:.5rem; border:1px solid var(--trait); background:var(--blanc); font:inherit; font-size:.88rem; color:var(--encre)}
.pm-sv__go{width:100%; margin-top:.2rem; font-size:.8rem; padding:.7rem}
.pm-shell{width:var(--shell);margin-inline:auto}
.pm-arch-hero{background:var(--noir);color:var(--blanc)}
.pm-shop{width:var(--shell);margin-inline:auto}

.pm-arch-hero.has-fond{position:relative; background-color:var(--noir); background-image:linear-gradient(90deg,var(--noir) 0%,color-mix(in srgb,var(--noir) 92%,transparent) 30%,color-mix(in srgb,var(--noir) 55%,transparent) 58%,color-mix(in srgb,var(--noir) 22%,transparent) 100%),var(--bp-hero-img); background-size:cover; background-position:right center; background-repeat:no-repeat}
.pm-arch-hero.has-fond::after{content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:linear-gradient(90deg,var(--bleu),transparent 60%)}
@media (max-width:820px){.pm-arch-hero.has-fond{background-image:linear-gradient(180deg,color-mix(in srgb,var(--noir) 94%,transparent) 0%,color-mix(in srgb,var(--noir) 82%,transparent) 55%,color-mix(in srgb,var(--noir) 60%,transparent) 100%),var(--bp-hero-img); background-position:68% center}}
