
/* button */
.b-cookie {
  display: inline-block;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    background-color: transparent;
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: .25rem;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    font-family: inherit;
    box-sizing: border-box; 
} 
.b-cookie-blue
{
    color: #007bff;
    border: 2px solid #007bff;
}
.b-cookie-blue:hover
{
  background-color: #007bff;
  color: #FFF;
}
.b-cookie-green
{
      color: #28a745;
    border: 2px solid #28a745;
}
.b-cookie-green:hover
{
  background-color: #28a745;
  color: #FFF;
}
.b-cookie-red
{
      color: #dc3545;
    border: 2px solid #dc3545;
}
.b-cookie-red:hover
{
  background-color: #dc3545;
  color: #FFF;
}

.b-cookie-grey
{
      color: #999;
    
}
.b-cookie-grey:hover
{
  background-color: #999;
  color: #000;
}










/* Tuile catégorie + liens horizontaux */
.home-tile{
  border:1px solid #e5e7eb; border-radius:12px; padding:1rem;
  background:#fff; box-shadow:0 2px 6px rgba(0,0,0,.04);
}
.home-tile h3{ margin:0 0 .35rem 0; }
.home-tile h3 a{ color:#0066cc; text-decoration:none; }

.home-links{
  display:flex; align-items:center; gap:.5rem .75rem;
  flex-wrap:wrap; margin:0;             /* tout sur une ligne, wrap si écran étroit */
}
.home-links a{
  color:#0066cc; text-decoration:none; font-size:.95rem;
  padding:.25rem .55rem; border:1px solid #e5e7eb; border-radius:9999px;
  background:#f9fafb;
}
.home-links a:hover{ background:#eef2ff; text-decoration:none; }




.dc-energy-nav{
  display:flex; align-items:center; gap:.35rem;
  margin:.25rem 0 .75rem 0; padding:.25rem .35rem;
  border:1px solid #e5e7eb; border-radius:9999px; background:#fff;
  overflow:auto; white-space:nowrap; font-size:.88rem; /* texte plus petit */
  line-height:1.2;
}
.dc-energy-nav .item{
  display:inline-flex; align-items:center;
  padding:.25rem .55rem; /* hauteur réduite */
  border:1px solid #e5e7eb; border-radius:9999px;
  text-decoration:none; font-size:.88rem; color:#334155; background:#f8fafc;
  transition:background .2s, border-color .2s, color .2s, transform .15s;
}
.dc-energy-nav .item:hover{
  background:#eef2ff; border-color:#c7d2fe; color:#1e3a8a;
}
.dc-energy-nav .item.is-active{
  background:#1d4ed8; color:#fff; border-color:#1d4ed8; font-weight:600;
}
@media (max-width:640px){
  .dc-energy-nav{ border-radius:12px; padding:.35rem .4rem; }
}

/* Bloc encadré “pièces détachées” plus léger */
.dc-piece-panel{
  border:1px solid #fecaca; background:#fff1f2;
  border-radius:10px; padding:.65rem .85rem;
  margin:.75rem 0 1.5rem 0; font-size:.9rem; line-height:1.35;
}
.dc-piece-panel h2{
  margin:.25rem 0 .5rem 0; font-size:1.05rem; font-weight:600; color:#991b1b;
}


/* ===== Styles spécifiques "pièces détachées" (compact) ===== */
.dc-grid-pd {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 par ligne */
  gap: 0.6rem;
  align-items: start;
}

/* carte compacte */
.dc-card-pd {
  background: #fff;
  border-radius: 8px;
  border: 1px solid rgba(153,27,27,0.08);
  overflow: hidden;
  min-height: 96px;    /* hauteur minimale */
  max-height: 120px;   /* empêche trop grand */
  display: block;
}

/* lien interne prend toute la carte */
.dc-card-link-pd { display:block; text-decoration:none; color:inherit; height:100%; }

/* inner flex : image gauche, texte droite, alignement centré verticalement */
.dc-card-inner-pd {
  display: flex;
  gap: 0.6rem;
  align-items: center;
  padding: 0.5rem;
}

/* zone image : fixe et centrée */
.dc-card-media-pd {
  flex: 0 0 120px;        /* fixe la largeur de l'image */
  height: 100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 0.25rem;
}

/* image responsive, pas plus haute que la carte */
.dc-img-pd {
  max-height: 96px;
  max-width: 100%;
  object-fit: contain;
  display:block;
  border-radius:6px;
}

/* corps texte : occupe le reste */
.dc-card-body-pd {
  flex: 1 1 auto;
  min-width: 0; /* pour ellipsis */
}

/* titre compact */
.dc-title-pd {
  font-size: 0.95rem;
  line-height:1.2;
  font-weight:600;
  color:#331515;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3; /* limite le texte à 3 lignes */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* style spécifique pour la vignette "voir tout" */
.dc-card-more {
  background: #fff6f6;
  border: 1px dashed #f5c6cb;
  color: #991b1b;
}
.dc-card-more .dc-card-more-media { display:flex; align-items:center; justify-content:center; padding:0.2rem; }
.dc-more-cta { margin-top:0.35rem; font-size:0.9rem; font-weight:700; color:#991b1b; }
.dc-more-count { font-size:0.85rem; color:#6b3030; margin-top:0.25rem; }

/* responsive : 2 colonnes sur les écrans étroits */
@media (max-width: 900px) {
  .dc-grid-pd { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .dc-grid-pd { grid-template-columns: 1fr; }
  .dc-card-media-pd { flex: 0 0 88px; }
  .dc-img-pd { max-height:72px; }
}


/* ===== Grilles compactes pièces détachées : colonnes variables ===== */
.dc-grid-pd{ display:grid; gap:.6rem; align-items:start; }
.dc-grid-pd.cols-1{ grid-template-columns: repeat(1, minmax(0,1fr)); }
.dc-grid-pd.cols-2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.dc-grid-pd.cols-3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.dc-grid-pd.cols-4{ grid-template-columns: repeat(4, minmax(0,1fr)); }

/* Responsive : on replie proprement en dessous de certaines largeurs */
@media (max-width: 1100px){ .dc-grid-pd.cols-4{ grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 900px) { .dc-grid-pd.cols-3,
                             .dc-grid-pd.cols-4{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 520px) { .dc-grid-pd{ grid-template-columns: 1fr; } }

/* Cartes compactes : forcer l’étirement vertical homogène */
.dc-card-pd{ background:#fff; border-radius:8px; border:1px solid rgba(153,27,27,0.08); overflow:hidden; display:block; }
.dc-card-link-pd{ display:block; text-decoration:none; color:inherit; height:100%; }
.dc-card-inner-pd{ display:flex; gap:.6rem; align-items:center; padding:.5rem; height:100%; }
.dc-card-media-pd{ flex:0 0 120px; display:flex; align-items:center; justify-content:center; padding:.25rem; }
.dc-img-pd{ max-height:96px; max-width:100%; object-fit:contain; display:block; border-radius:6px; }
.dc-card-body-pd{ flex:1 1 auto; min-width:0; }
.dc-title-pd{ font-size:.95rem; line-height:1.2; font-weight:600; color:#331515; margin:0;
              display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; text-overflow:ellipsis; }

/* CTA dernière case */
.dc-card-more{ background:#fff6f6; border:1px dashed #f5c6cb; color:#991b1b; }
.dc-card-more .dc-card-more-media{ display:flex; align-items:center; justify-content:center; padding:.2rem; }
.dc-more-cta{ margin-top:.35rem; font-size:.9rem; font-weight:700; color:#991b1b; }
.dc-more-count{ font-size:.85rem; color:#6b3030; margin-top:.25rem; }

.dc-card-media-pd{ flex:0 0 100px; }
.dc-img-pd{ max-height:84px; }








/* =========================
   ww-filters formulaire filtres affichage v2 : marque / prix mini / prix maxi / trier
   ========================= */

/* Résumé résultats */
.dc-formresult{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem .5rem;
  align-items:center;
  margin:.35rem 0 1rem;
  font-size:.98rem;
  color:#111827;
}
.dc-formresult .ww-count{ font-weight:800; }

/* Barre de filtres – responsive, sans scroll horizontal */
.dc-filters{
  display:grid;
  /* auto-fit → remplit toute la ligne avec autant de colonnes que possible */
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap:.6rem;
  align-items:end;
  padding:.75rem .9rem;
  margin:.5rem 0 .6rem;
  overflow:visible;
  width:100%;
  box-sizing:border-box;
}

/* Éléments internes */
.dc-filters > div{ min-width:0; } /* autorise la contraction */

/* Labels */
.dc-filters label{
  display:block;
  margin:0 0 .25rem;
  font-size:.9rem;
  color:#374151;
}

/* Champs */
.dc-filters select,
.dc-filters input[type="number"],
.dc-filters input[type="text"]{
  width:100%;
  height:40px;
  padding:.5rem .65rem;
  border:1px solid #d1d5db;
  border-radius:8px;
  background:#fff;
  box-sizing:border-box;
}

/* Bouton */
.dc-filters button{
  width:100%;
  height:40px;
}

/* Responsive : garde des proportions agréables */
@media (max-width:900px){
  .dc-filters{
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  }
}
@media (max-width:600px){
  .dc-filters{
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width:420px){
  .dc-filters{
    grid-template-columns: 1fr;
  }
}








.fc-badge--rouge{display:inline-block;background:#fee2e2;color:#b91c1c;border:1px solid #fecaca;border-radius:9999px;padding:.12rem .36rem;font-size:.75rem;line-height:1;font-weight:700}


.ww-grid, .dc-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1rem; margin:1rem 0 2rem 0; }
.ww-card, .dc-card { background:#fff; border:1px solid #eee; border-radius:18px; padding:1.2rem; box-shadow:0 2px 12px rgba(0,0,0,.04); }
.ww-card-style, .dc-card-style {display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between; }



.ww-card, .dc-card{ border:1px solid #e5e7eb; border-radius:12px; padding:16px; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.04); transition:box-shadow .2s, transform .2s; }
.ww-card:hover, .dc-card:hover{ box-shadow:0 6px 18px rgba(0,0,0,.08); transform:translateY(-2px); }
.ww-card a, .dc-card a{ text-decoration:none; color:inherit; display:block; }
.ww-title, .dc-title{ margin:.6rem 0 0 0; font-weight:700; font-size:1rem; line-height:1.25rem; }
.ww-desc, .dc-desc{ margin:.25rem 0 0 0; font-size:.9rem; color:#555; }
.ww-price, .dc-price{ margin:.75rem 0 0 0; font-weight:800; font-size:1.05rem; }
.ww-badge, .dc-badge{ display:inline-block; margin-left:.5rem; font-size:.75rem; line-height:1; color:#b91c1c; background:#fee2e2; border:1px solid #fecaca; border-radius:999px; padding:2px 8px; vertical-align:middle; }
.ww-card a:focus, .dc-card a:focus{ outline:3px solid #60a5fa; outline-offset:2px; border-radius:12px; }

@media (prefers-color-scheme: dark){
  .ww-card, .dc-card{ background:#0b0b0c; border-color:#1f2937; box-shadow:0 1px 2px rgba(0,0,0,.6); }
  .ww-img, .dc-img{ background:#0f172a; } .ww-desc{ color:#cbd5e1; }
}

/* style spécifique pour la vignette "voir tout" */
.ww-card-more, .dc-card-more {
  background: #fff6f6;
  border: 1px dashed #f5c6cb;
  color: #991b1b;
}
.ww-card-more .ww-card-more-media, .dc-card-more .dc-card-more-media { display:flex; align-items:center; justify-content:center; padding:0.2rem; }
.ww-more-cta, .dc-more-cta { margin-top:0.35rem; font-size:0.9rem; font-weight:700; color:#991b1b; }
.ww-more-count, .dc-more-count { font-size:0.85rem; color:#6b3030; margin-top:0.25rem; }
/* lien interne prend toute la carte */
.ww-card-link-pd, .dc-card-link-pd { display:block; text-decoration:none; color:inherit; height:100%; }
.ww-card-link-pd, .dc-card-link-pd{ display:block; text-decoration:none; color:inherit; height:100%; }
/* carte compacte */
.ww-card-pd, .dc-card-pd {
  background: #fff;
  border-radius: 8px;
  border: 1px solid rgba(153,27,27,0.08);
  overflow: hidden;
  min-height: 96px;    /* hauteur minimale */
  max-height: 120px;   /* empêche trop grand */
  display: block;
}
/* lien interne prend toute la carte */
.ww-card-link-pd, .dc-card-link-pd { display:block; text-decoration:none; color:inherit; height:100%; }
/* inner flex : image gauche, texte droite, alignement centré verticalement */
.ww-card-inner-pd, .dc-card-inner-pd {
  display: flex;
  gap: 0.6rem;
  align-items: center;
  padding: 0.5rem;
}
/* zone image : fixe et centrée */
.ww-card-media-pd, .dc-card-media-pd {
  flex: 0 0 120px;        /* fixe la largeur de l'image */
  height: 100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 0.25rem;
}
/* image responsive, pas plus haute que la carte */
.ww-img-pd, .dc-img-pd {
  max-height: 96px;
  max-width: 100%;
  object-fit: contain;
  display:block;
  border-radius:6px;
}
/* corps texte : occupe le reste */
.ww-card-body-pd, .dc-card-body-pd {
  flex: 1 1 auto;
  min-width: 0; /* pour ellipsis */
}
/* titre compact */
.ww-title-pd, .dc-title-pd {
  font-size: 0.95rem;
  line-height:1.2;
  font-weight:600;
  color:#331515;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3; /* limite le texte à 3 lignes */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}


/* responsive : 2 colonnes sur les écrans étroits */
@media (max-width: 900px) {
  .ww-grid-pd, .dc-grid-pd { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .ww-grid-pd, .dc-grid-pd { grid-template-columns: 1fr; }
  .ww-card-media-pd, .dc-card-media-pd { flex: 0 0 88px; }
  .ww-img-pd, .dc-img-pd { max-height:72px; }
}


/* ===== Grilles compactes pièces détachées : colonnes variables ===== */
.ww-grid-pd, .dc-grid-pd{ display:grid; gap:.6rem; align-items:start; }
.ww-grid-pd.cols-1, .dc-grid-pd.cols-1{ grid-template-columns: repeat(1, minmax(0,1fr)); }
.ww-grid-pd.cols-2, .dc-grid-pd.cols-2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.ww-grid-pd.cols-3, .dc-grid-pd.cols-3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.ww-grid-pd.cols-4, .dc-grid-pd.cols-4{ grid-template-columns: repeat(4, minmax(0,1fr)); }

/* Responsive : on replie proprement en dessous de certaines largeurs */
@media (max-width: 1100px){ .ww-grid-pd.cols-4, .dc-grid-pd.cols-4{ grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 900px) { .ww-grid-pd.cols-3, .dc-grid-pd.cols-3,
                             .ww-grid-pd.cols-4, .dc-grid-pd.cols-4{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 520px) { .ww-grid-pd, .dc-grid-pd{ grid-template-columns: 1fr; } }

/* Cartes compactes : forcer l’étirement vertical homogène */
.ww-card-pd, .dc-card-pd{ background:#fff; border-radius:8px; border:1px solid rgba(153,27,27,0.08); overflow:hidden; display:block; }
.ww-card-link-pd, .dc-card-link-pd{ display:block; text-decoration:none; color:inherit; height:100%; }
.ww-card-inner-pd, .dc-card-inner-pd{ display:flex; gap:.6rem; align-items:center; padding:.5rem; height:100%; }
.ww-card-media-pd, .dc-card-media-pd{ flex:0 0 120px; display:flex; align-items:center; justify-content:center; padding:.25rem; }
.ww-img-pd, .dc-img-pd{ max-height:96px; max-width:100%; object-fit:contain; display:block; border-radius:6px; }
.ww-card-body-pd, .dc-card-body-pd{ flex:1 1 auto; min-width:0; }
.ww-title-pd, .dc-title-pd{ font-size:.95rem; line-height:1.2; font-weight:600; color:#331515; margin:0;
display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; text-overflow:ellipsis; }
