/* =============================================================================
 * Theme enfant Greffeur d'Agrumes (chantier 162, 17/10/2026)
 * Identite et sur-mesure reportes de l'ancien theme PRSADD008 (custom.css + styles en ligne des gabarits).
 * Les couleurs de Hummingbird (bleu) sont remplacees dans gd-palette.css (fichier GENERE, ne pas modifier).
 * ========================================================================== */

/* --- Identite -------------------------------------------------------------- */
:root {
  --gd-vert: #3d6b52;          /* vert principal (boutons, liens) */
  --gd-vert-fonce: #26302c;    /* textes forts, pied de page */
  --gd-sauge: #9bbab1;         /* accent de l'ancien theme */
  --gd-vert-clair: #dcefd2;    /* bouton d'achat (A119) */
  --gd-creme: #fafbf5;         /* fonds doux */
  --gd-orange: #e08a2e;        /* agrumes : mises en avant */
}
body { color: #333; }
h1, .h1, h2, .h2 { color: var(--gd-vert-fonce); }

/* A16 : le titre de la fiche n'est pas force en majuscules */
.product__name, .page-title-section h1 { text-transform: none; }

/* --- A119 : bouton « Ajouter au panier » vert LEGER, texte vert fonce (contraste 8,6:1) -------------- */
.product__add-to-cart-button:not([disabled]),
.product__add-to-cart-button:not([disabled]):focus {
  background-color: var(--gd-vert-clair);
  border: 1px solid #9cc387;
  color: #2f4f22;
}
.product__add-to-cart-button:not([disabled]):hover {
  background-color: #c8e5b8;
  border-color: #7fae66;
  color: #26421b;
}
.product__add-to-cart-button:not([disabled]) .material-icons { color: #2f4f22; }

/* --- 137 : plant en croissance / non disponible ---------------------------------------------------- */
.gd-en-croissance {
  display: inline-block;
  padding: 6px 0;
  font-weight: 600;
  color: #8a6d3b;
}
.product-flags .badge.out_of_stock { background-color: #8a6d3b; }

/* --- A19 : reassurance sous le bouton d'achat (les styles etaient en ligne dans l'ancien gabarit) ---- */
.gd-reassurance a { color: var(--gd-vert); }

/* --- A78 : porte-greffe de la declinaison choisie ------------------------------------------------- */
.gd-pg-choisi { font-weight: 600; color: var(--gd-vert); }

/* --- A92 : indicatif telephonique devant le champ Telephone --------------------------------------- */
.gd-tel { display: flex; gap: 6px; align-items: stretch; }
.gd-tel .gd-tel-ind { flex: 0 0 38%; max-width: 13em; min-width: 6.5em; padding-right: 28px; }
.gd-tel input { flex: 1 1 auto; min-width: 0; width: auto; }
.gd-tel-aide { display: block; margin-top: 4px; font-size: 12px; color: #666; }

/* --- 109 (A20) : bouton de la banniere d'accueil plus petit sur telephone ------------------------- */
@media (max-width: 767px) {
  .gd-banniere-btn { font-size: 12px !important; padding: 3px 9px !important; margin-left: 6px !important; }
}

/* --- A103 : logo = embleme + nom en texte (comme le site actuel) --------------------------------- */
.gd-logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--gd-vert-fonce); }
.gd-logo:hover { color: var(--gd-vert); }
.gd-logo__embleme { height: 42px; width: auto; }
.gd-logo__nom { font-size: 1.6rem; font-weight: 600; letter-spacing: .04em; line-height: 1.2; white-space: nowrap; }
@media (max-width: 767px) {
  .gd-logo__nom { font-size: 1.05rem; }
  .gd-logo__embleme { height: 34px; }
}

/* --- 161 : bloc « port degressif » du panier (styles repris de l'ancien gabarit) ------------------ */
.pd-bloc { border-top: 1px solid #e5e5e5; padding-top: 12px; margin-top: 8px; font-size: 13px; line-height: 1.5; }
.pd-titre { font-weight: 600; margin: 0 0 6px; }
.pd-calc { margin: 0 0 8px; color: #555; }
.pd-msg { background: #f4f4f4; padding: 8px 10px; border-radius: 3px; margin: 0; }
.pd-succes { background: #e8f5e9; color: #2e7d32; }
.pd-alerte { background: #fff4e5; color: #8a5a00; border-left: 3px solid #e6a23c; }

/* --- Lundi d'expedition dans l'etape Livraison (gdexpeditions) ------------------------------------ */
.gd-expedition { background: var(--gd-creme); }

/* --- Accueil : bandeau pleine largeur (diapositive tm_imageslider) ------------------------------- */
.page-content--home { padding-top: 0; }
.gd-hero {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  min-height: 420px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: flex-start;
}
.gd-hero__texte { padding: 24px 2vw; }
.gd-hero .slidertext2 {
  color: #fff;
  font-weight: 800;
  font-size: clamp(1.6rem, 4vw, 3.4rem);
  line-height: 1.1;
  text-transform: uppercase;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .45);
}
.gd-hero .gd-banniere-btn { text-shadow: none; }
@media (max-width: 767px) { .gd-hero { min-height: 240px; } }
.gd-presentation { margin-top: 10px; }

/* --- En-tete : menu sur une seule ligne sous le logo (sinon il passait sur trois lignes) --------- */
@media (min-width: 992px) {
  .header-bottom__row { flex-wrap: wrap; }
  .header-bottom__row > .ps-mainmenu--desktop { order: 10; flex: 0 0 100%; max-width: 100%; border-top: 1px solid #eef1ec; }
  .header-bottom__row > .ps-mainmenu--desktop ul { justify-content: center; flex-wrap: nowrap; }
}

/* --- Pas de defilement horizontal sur telephone (mesure du 17/10/2026) ------------------------------
 * Le bandeau pleine largeur (100vw compte la barre de defilement) et le fil d'Ariane de la fiche (long nom de
 * produit sur une seule ligne) depassaient de l'ecran. */
body { overflow-x: clip; }
.breadcrumb { flex-wrap: wrap; }
.breadcrumb-item { white-space: normal; overflow-wrap: anywhere; }

/* A120 : porte-greffe et pot sous le prix des vignettes */
.gd-declinaison-vignette { font-size: .9em; line-height: 1.3; color: #4f7a3a; margin: 2px 0 6px; }

/* Chantier 162, 17/10/2026 : bloc A73 repris de l'ancien custom.css (l. 1189-1233). */
/* ==========================================================================
   A73 - premier ecran du catalogue (01/10/2026)
   Avec le bloc A73 de custom.js. Sans le script, rien n'est replie.
   ========================================================================== */
/* Introduction : premier paragraphe seul, la suite au clic */
#gd-category-description .gd-a73-replie > :not(:first-child) { display: none !important; }
#gd-category-description .gd-a73-replie > :first-child { margin-bottom: 4px !important; }
.gd-a73-bouton {
  background: none; border: 0; padding: 2px 0; margin: 0 0 10px;
  color: #414040; font-size: 14px; font-weight: 600;
  text-decoration: underline; cursor: pointer;
}
.gd-a73-bouton:hover, .gd-a73-bouton:focus { color: #000; }
.gd-a73-intro::after { content: " \25BE"; }
.gd-a73-intro[aria-expanded="true"]::after { content: " \25B4"; }
.gd-a73-crit::after { content: " \25BE"; }
.gd-a73-crit[aria-expanded="true"]::after { content: " \25B4"; }

@media (min-width: 992px) {
  /* Filtres : titre a gauche, choix a droite, sans la phrase d'aide */
  #gd-rusticite-filter .gdcf-criterion {
    display: grid !important;
    grid-template-columns: 250px minmax(0, 1fr);
    column-gap: 16px; align-items: center; margin: 0 0 10px;
  }
  #gd-rusticite-filter .gdcf-criterion::before,
  #gd-rusticite-filter .gdcf-criterion::after { display: none !important; }
  #gd-rusticite-filter .gdcf-criterion > .gdcf-criterion-heading { grid-column: 1; grid-row: 1; margin: 0; }
  #gd-rusticite-filter .gdcf-criterion > .gdcf-options-row { grid-column: 2; grid-row: 1; margin: 0; }
  #gd-rusticite-filter .gdcf-criterion > .gdcf-filter-description,
  #gd-rusticite-filter .gdcf-criterion > .title { display: none !important; }
  /* Criteres secondaires replies tant qu'on ne demande pas « Plus de criteres » */
  #gd-rusticite-filter.gd-a73-crit-replies #search_filters { display: none !important; }
  #gd-rusticite-filter .gd-a73-crit { margin: 0 0 4px; }
}
@media (max-width: 991px) {
  /* Telephone : tous les criteres replies derriere « Filtrer les agrumes » */
  #gd-rusticite-filter.gd-a73-tout-replie .gdcf-criterion,
  #gd-rusticite-filter.gd-a73-tout-replie #search_filters { display: none !important; }
  #gd-rusticite-filter .gd-a73-crit {
    display: block; width: 100%; margin: 6px 0 12px; padding: 10px 12px;
    border: 1px solid #414040; border-radius: 6px; text-decoration: none; text-align: left;
  }
}


/* Chantier 162, 17/10/2026 : A16 / A119 barre d'achat fixe sur telephone, reprise de l'ancien custom.css (l. 1235-1255). */
/* ==========================================================================
   A16 / A119 - barre d'achat fixee en bas de l'ecran, telephone (02/10/2026)
   Construite par custom.js (bloc A16 / A119). Invisible au-dessus de 767 px.
   ========================================================================== */
.gd-a119-barre { display: none; }
@media (max-width: 767px) {
  .gd-a119-barre {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 999;
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px));
    background: #fff; border-top: 1px solid #e2e2e2; box-shadow: 0 -2px 8px rgba(0, 0, 0, .08);
    transform: translateY(110%); transition: transform .2s ease;
  }
  .gd-a119-barre.gd-a119-on { transform: translateY(0); }
  .gd-a119-prix { font-size: 18px; font-weight: 600; color: #222; white-space: nowrap; }
  .gd-a119-action.btn { flex: 0 1 auto; min-height: 44px; margin: 0; padding: 10px 18px; white-space: nowrap; }
  .gd-a119-action.btn, .gd-a119-action.btn:visited { background: #4f7a3a; border-color: #4f7a3a; color: #fff; }
  .gd-a119-action.btn:hover, .gd-a119-action.btn:focus, .gd-a119-action.btn:active { background: #3f6230; border-color: #3f6230; color: #fff; }
  body.gd-a119-place { padding-bottom: 64px; }
}


/* Chantier 162, 17/10/2026 (A73, audit E7) : en-tete de categorie compact, image a droite de la description. */
.category__header::after { content: ""; display: block; clear: both; }
.category__cover { display: none; }
.category__cover-image { width: 160px; height: auto; }
@media (min-width: 768px) {
  .category__cover { display: block; float: right; margin: 0 0 12px 24px; }
}

/* 18/10/2026 : lien Google Maps sous l'adresse (pied de page, page Contact) */
.gd-lien-maps { display: inline-flex; align-items: center; gap: 4px; margin: 4px 0 8px; font-size: 14px; }
.gd-lien-maps .material-icons { font-size: 18px; }
.gd-lien-maps-bloc { padding-left: 2.25rem; }

/* 18/10/2026 : grille « Nos catégories » (module gdcategories), modèle fourni par Laurent */
.gd-categories { max-width: 1000px; margin: 40px auto; padding: 0 12px; }
.gd-categories__titre { font-size: 1.6rem; font-weight: 600; margin: 0 0 16px; }
.gd-categories__grille { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 576px) { .gd-categories__grille { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 768px) { .gd-categories__grille { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 992px) { .gd-categories__grille { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.gd-categories__carte a { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid #e3e3e3; border-radius: 6px; overflow: hidden; color: #333; text-decoration: none; transition: box-shadow .15s ease, transform .15s ease; }
.gd-categories__carte a:hover, .gd-categories__carte a:focus-visible { box-shadow: 0 4px 14px rgba(0, 0, 0, .12); transform: translateY(-2px); color: #222; }
.gd-categories__photo { display: block; aspect-ratio: 1 / 1; background: #f3f3f3; }
.gd-categories__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gd-categories__nom { display: block; padding: 10px 10px 14px; font-size: 15px; font-weight: 500; line-height: 1.35; }

/* 18/10/2026 : le bouton « Filtrer » de Hummingbird reste masqué (par gdcatalogfilters) : les critères sont dans le
   bloc « Filtrer par critères », avec son propre bouton « Filtrer les agrumes » sur téléphone. */

/* 18/10/2026 : en-tête sur téléphone. Le nom « GREFFEUR D'AGRUMES » repoussait les icônes compte et panier sur une
   2e ligne (vu à 400 px). Sous 576 px : nom plus petit, logo réduit, rangée sans retour à la ligne. */
@media (max-width: 575.98px) {
  .header-bottom__row { flex-wrap: nowrap; }
  .header-bottom__logo { min-width: 0; flex: 1 1 auto; }
  .gd-logo { min-width: 0; gap: 6px; }
  .gd-logo__embleme { width: 34px; height: 34px; }
  .gd-logo__nom { font-size: 0.95rem; line-height: 1.1; white-space: normal; letter-spacing: 0; max-width: 11ch; }
}

/* 18/10/2026 : pages de catégories comme sur l'ancien thème. Les critères sont rangés par gdcatalogfilters dans le bloc
   « Filtrer par critères » au-dessus des produits : la colonne de gauche (vide) est retirée, la liste prend la largeur. */
body.page-category #left-column { display: none; }
body.page-category #center-column { flex: 0 0 100%; max-width: 100%; }

/* 18/10/2026 : grille des sous-catégories en haut d'une page de catégorie (sous la description) */
.category__header .gd-categories { clear: both; max-width: none; margin: 16px 0 24px; padding: 0; }
.category__header .gd-categories__titre { font-size: 1.25rem; margin-bottom: 12px; }

/* 19/10/2026 : Tunnel en étapes numérotées, comme l'ancien site (1 Informations, 2 Adresses, 3 Livraison, 4 Paiement).
   Toutes les étapes restent affichées l'une sous l'autre ; seule l'étape ouverte montre son contenu ; une étape faite
   porte une coche verte et un lien « Modifier » (checkout/_partials/steps/checkout-step.tpl). La barre d'étapes de
   Hummingbird (en haut, et le cercle « 4 / 4 » sur téléphone) est masquée mais reste dans la page : le lien
   « Modifier » s'en sert. */
body#checkout .checkout-steps { display: none !important; }
body#checkout .tab-content > .step { display: block !important; opacity: 1; }
body#checkout .tab-content > .step:not(.active) .step__content { display: none; }
body#checkout .tab-content > .step { margin-bottom: 8px; }
body#checkout .gd-step-title { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
body#checkout .gd-step-title .page-title-section { margin: 0; flex: 1 1 auto; }
body#checkout .gd-step-title hr { flex: 0 0 100%; margin: 12px 0; }
body#checkout .gd-step-number { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 50%; background: #2e7d32; color: #fff; font-weight: 700; font-size: 1.05rem; }
body#checkout .gd-step-number .material-icons { font-size: 22px; }
body#checkout .step:not(.active):not(.step--complete) .gd-step-number { background: #c9cfc9; }
body#checkout .step:not(.active):not(.step--complete) .page-title-section { color: #8a8f8a; }
body#checkout .step:not(.active) .page-title-section { font-size: 1.1rem; }
body#checkout .step.active .gd-step-edit { display: none; }
body#checkout .gd-step-edit { padding: 0; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
body#checkout .gd-step-edit .material-icons { font-size: 18px; }

/* 19/10/2026, recette R1-R2 : lien contact du bandeau, choix de langue avec drapeaux. */
.gd-contact-haut { display: inline-flex; align-items: center; gap: 6px; color: inherit; text-decoration: none; }
.gd-contact-haut:hover, .gd-contact-haut:focus-visible { text-decoration: underline; }
.gd-contact-haut .material-icons { font-size: 18px; }
.gd-langues__menu { position: relative; }
.gd-langues__choisie { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; list-style: none; padding: 6px 10px; }
.gd-langues__choisie::-webkit-details-marker { display: none; }
.gd-langues__choisie::after { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin: -3px 0 0 4px; }
.gd-langues__menu[open] .gd-langues__choisie::after { transform: rotate(-135deg); margin-top: 3px; }
.gd-langues__liste { position: absolute; right: 0; z-index: 1050; min-width: 150px; margin: 4px 0 0; padding: 6px 0; list-style: none; background: #fff; border: 1px solid #ddd; border-radius: 6px; box-shadow: 0 6px 18px rgba(0, 0, 0, .12); }
.gd-langues__liste a { display: flex; align-items: center; gap: 8px; padding: 6px 14px; color: #333; text-decoration: none; white-space: nowrap; }
.gd-langues__liste a:hover, .gd-langues__liste a:focus-visible { background: #f3f3f3; }
.gd-langues__liste a[aria-current] { font-weight: 600; }
.gd-langues img { display: block; width: 16px; height: 11px; }

/* 19/10/2026, recette R10-R11 : puces de l'introduction cliquables, grille « Nos categories » repliable. */
.gd-puce-filtre { cursor: pointer !important; }
.gd-puce-filtre:hover, .gd-puce-filtre:focus-visible { border-color: #2e7d32 !important; background: #f1f8f1; outline: none; }
.gd-filtre-montre { animation: gd-filtre-montre 1.6s ease; border-radius: 6px; }
@keyframes gd-filtre-montre { 0%, 40% { box-shadow: 0 0 0 3px #2e7d32; } 100% { box-shadow: 0 0 0 3px transparent; } }
.gd-categories__bascule { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 0; border: 0; background: none; font: inherit; color: inherit; cursor: pointer; }
.gd-categories__bascule::after { content: ""; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-top: -4px; }
.gd-categories__bascule[aria-expanded="true"]::after { transform: rotate(-135deg); margin-top: 4px; }
.gd-categories--repliee .gd-categories__grille { display: none; }

/* 19/10/2026 soir : cases a cocher bien visibles. La case RGPD du formulaire de contact (bordure Hummingbird 1px #dee2e6) passait inapercue :
   bouton « Envoyer » grise sans comprendre pourquoi. Bordure foncee 2px, case plus grande (hors interrupteurs .form-switch). */
.form-check-input { border: 2px solid #5f6b63; }
.form-check:not(.form-switch) { padding-left: 1.9em; }
.form-check:not(.form-switch) > .form-check-input { width: 1.3em; height: 1.3em; margin-left: -1.9em; margin-top: .1em; }
.form-check-input:checked { background-color: #3d6b52; border-color: #3d6b52; }
.form-check-input:focus { border-color: #3d6b52; box-shadow: 0 0 0 .2rem rgba(61, 107, 82, .25); }

/* ===== A170 (19/10/2026) : promotions visibles (badge, prix barré, prix remisé en orange) ===== */
/* Vignettes et fiche : badge « -15% » plein, orange, en gras (au lieu du badge blanc à liseré vert) */
.product-flags .badge.discount{background-color:#c2410c;border:1px solid #c2410c;color:#fff;font-weight:700;font-size:1rem;padding:.35rem .6rem;border-radius:.35rem;box-shadow:0 1px 3px rgba(0,0,0,.25);}
/* Vignettes : prix remisé en orange gras, ancien prix barré bien lisible */
.product-miniature__prices:has(.product-miniature__regular-price) .product-miniature__price{color:#c2410c;font-weight:700;}
.product-miniature__regular-price{color:#495057;text-decoration:line-through;text-decoration-thickness:2px;}
/* Fiche produit : ancien prix barré, pastille « Économisez 15% », prix remisé en orange */
.page-product .product__regular-price{color:#495057;font-size:1.1rem;text-decoration-thickness:2px;}
.page-product .product__discount-percentage{--bs-primary-text-emphasis:#fff;display:inline-block;background-color:#c2410c;color:#fff;font-weight:700;font-size:1rem;padding:.2rem .6rem;border-radius:.35rem;margin-left:.5rem;}
.page-product .product__prices-block:has(.product__discount-price) .product__price{color:#c2410c;font-weight:700;}

/* ===== 187 (19/10/2026) : filtres en bandeau lateral fixe sur ordinateur, modele RS Online (bloc 187 de gd-scripts.js) =====
   A partir de 992 px : colonne de gauche rendue aux pages qui ont des filtres (la regle du 18/10 plus haut la retire
   pour les autres), bandeau qui reste a l'ecran et defile seul, criteres en liste verticale a cases, repliables.
   La premiere regle (:has) evite que la liste change de largeur au chargement ; la seconde la double pour les
   navigateurs sans :has. */
@media (min-width: 992px) {
  body.page-category:has(#gd-rusticite-filter) #left-column { display: block; flex: 0 0 25%; max-width: 25%; }
  body.page-category:has(#gd-rusticite-filter) #center-column { flex: 0 0 75%; max-width: 75%; }
  body.page-category.gd-panneau-actif #left-column { display: block; flex: 0 0 25%; max-width: 25%; }
  body.page-category.gd-panneau-actif #center-column { flex: 0 0 75%; max-width: 75%; }
  body.gd-panneau-actif #left-column > :not(.gd-panneau-filtres) { display: none !important; }

  .gd-panneau-filtres {
    position: sticky; top: var(--gd-pf-haut, 16px); z-index: 5;
    max-height: calc(100vh - var(--gd-pf-haut, 16px) - 16px); overflow-y: auto; overscroll-behavior: contain;
    scrollbar-width: thin; scrollbar-color: #b9c4bd transparent;
  }
  .gd-panneau-filtres #gd-rusticite-filter.gdcf-unified-filters { margin: 0; padding: 0; overflow: visible; border: 1px solid #dedede; border-radius: 6px; }

  /* En-tete « Filtres » + « Effacer tout » sur une ligne */
  .gd-panneau-filtres #gd-rusticite-filter .gdcf-criteria-heading {
    display: flex; align-items: center; gap: 8px; margin: 0 !important; padding: 14px 110px 14px 16px !important;
    border-bottom: 1px solid #dedede; font-size: 18px !important;
  }
  .gd-panneau-filtres #gd-rusticite-filter .gdcf-criteria-heading::before {
    content: ""; flex: 0 0 18px; height: 14px;
    background: linear-gradient(#333, #333) 0 0 / 100% 2px no-repeat, linear-gradient(#333, #333) 0 6px / 100% 2px no-repeat, linear-gradient(#333, #333) 0 12px / 100% 2px no-repeat,
      radial-gradient(circle, #333 3px, transparent 3.5px) -3px -3px / 8px 8px no-repeat, radial-gradient(circle, #333 3px, transparent 3.5px) 7px 3px / 8px 8px no-repeat, radial-gradient(circle, #333 3px, transparent 3.5px) 1px 9px / 8px 8px no-repeat;
  }
  .gd-panneau-filtres #gd-rusticite-filter .gdcf-clear-all { top: 17px; right: 14px; }

  /* Un critere = une rubrique repliable, separee par un filet */
  .gd-panneau-filtres #gd-rusticite-filter .gdcf-criterion,
  .gd-panneau-filtres #gd-rusticite-filter #search_filters .gdcf-criterion {
    display: block !important; margin: 0 !important; padding: 0 0 12px !important; border-bottom: 1px solid #e6e6e6;
  }
  .gd-panneau-filtres #gd-rusticite-filter #search_filters .gdcf-criterion:last-child { border-bottom: 0; }
  .gd-panneau-filtres #gd-rusticite-filter .gdcf-criterion.gd-pf-ferme { padding-bottom: 0 !important; }
  .gd-panneau-filtres #gd-rusticite-filter .gdcf-criterion > .gdcf-criterion-heading {
    position: relative; display: flex !important; flex-direction: column; align-items: flex-start; gap: 2px;
    margin: 0 !important; padding: 14px 44px 10px 16px !important; cursor: pointer;
  }
  .gd-panneau-filtres #gd-rusticite-filter .gd-pf-ferme > .gdcf-criterion-heading { padding-bottom: 14px !important; }
  .gd-panneau-filtres #gd-rusticite-filter .gdcf-criterion-heading:hover .facet-title,
  .gd-panneau-filtres #gd-rusticite-filter .gdcf-criterion-heading:hover .gdcf-rusticity-label { color: #3d6b52; }
  /* Dans la colonne, la ligne du porte-greffe est imbriquee : on l'aplatit */
  .gd-panneau-filtres #gd-rusticite-filter .gdcf-criterion-heading .gdcf-filter-heading-row { display: contents !important; }
  .gd-panneau-filtres #gd-rusticite-filter .gdcf-help-link { font-size: 12.5px !important; }
  .gd-pf-bascule {
    position: absolute; top: 12px; right: 10px; width: 30px; height: 30px; margin: 0; padding: 0;
    border: 0; border-radius: 4px; background: none; cursor: pointer;
  }
  .gd-pf-bascule::after {
    content: ""; position: absolute; left: 11px; top: 13px; width: 9px; height: 9px;
    border-right: 2px solid #3d6b52; border-bottom: 2px solid #3d6b52; transform: rotate(-135deg);
  }
  .gd-pf-bascule[aria-expanded="false"]::after { top: 8px; transform: rotate(45deg); }
  .gd-pf-bascule:focus-visible { outline: 2px solid #3d6b52; }
  .gd-panneau-filtres #gd-rusticite-filter .gdcf-criterion > .gdcf-filter-description,
  .gd-panneau-filtres #gd-rusticite-filter .gdcf-criterion > .title { display: none !important; }

  /* Choix : liste verticale, case carree (plusieurs choix possibles) ou ronde (un seul), comme sur RS */
  .gd-panneau-filtres #gd-rusticite-filter .gdcf-options-row,
  .gd-panneau-filtres #gd-rusticite-filter .gd-rusticite-options,
  .gd-panneau-filtres #gd-rusticite-filter #search_filters .facet .collapse {
    display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important; align-items: stretch;
    gap: 0; padding: 0 8px !important;
  }
  .gd-panneau-filtres #gd-rusticite-filter .gdcf-options-row > li,
  .gd-panneau-filtres #gd-rusticite-filter #search_filters .facet li,
  .gd-panneau-filtres #gd-rusticite-filter #search_filters .facet .facet-label { display: block !important; width: 100% !important; min-width: 0 !important; }
  .gd-panneau-filtres #gd-rusticite-filter .search-link,
  .gd-panneau-filtres #gd-rusticite-filter .gd-rusticite-option,
  .gd-panneau-filtres #gd-rusticite-filter .gdcf-unavailable-rootstock,
  .gd-panneau-filtres #gd-rusticite-filter #search_filters .facet .facet-label > a.search-link {
    display: flex !important; justify-content: flex-start; gap: 10px; width: 100% !important; min-width: 0 !important;
    min-height: 34px; padding: 6px 8px !important; border: 0; border-radius: 4px; background: none; color: #333 !important;
    font-size: 15px !important; line-height: 1.3 !important; text-align: left; white-space: normal !important;
  }
  .gd-panneau-filtres #gd-rusticite-filter .search-link::before,
  .gd-panneau-filtres #gd-rusticite-filter .gd-rusticite-option::before,
  .gd-panneau-filtres #gd-rusticite-filter .gdcf-unavailable-rootstock::before {
    content: ""; flex: 0 0 18px; height: 18px; border: 2px solid #5f6b63; border-radius: 50%; background: #fff;
  }
  .gd-panneau-filtres #gd-rusticite-filter #search_filters .facet:has(input[type="checkbox"]) .search-link::before { border-radius: 3px; }
  .gd-panneau-filtres #gd-rusticite-filter .search-link:hover,
  .gd-panneau-filtres #gd-rusticite-filter .search-link:focus,
  .gd-panneau-filtres #gd-rusticite-filter .gd-rusticite-option:hover,
  .gd-panneau-filtres #gd-rusticite-filter .gd-rusticite-option:focus { background: #f1f8f1; color: #222 !important; border: 0; }
  .gd-panneau-filtres #gd-rusticite-filter .search-link.active,
  .gd-panneau-filtres #gd-rusticite-filter .gd-rusticite-option.active,
  .gd-panneau-filtres #gd-rusticite-filter .facet-label.active .search-link,
  .gd-panneau-filtres #gd-rusticite-filter .gdcf-reset-link.active { background: none; color: #222 !important; font-weight: 600; border: 0; }
  .gd-panneau-filtres #gd-rusticite-filter .search-link.active::before,
  .gd-panneau-filtres #gd-rusticite-filter .gd-rusticite-option.active::before,
  .gd-panneau-filtres #gd-rusticite-filter .facet-label.active .search-link::before {
    border-color: #3d6b52; background: #3d6b52; box-shadow: inset 0 0 0 3px #fff;
  }
  .gd-panneau-filtres #gd-rusticite-filter #search_filters .facet:has(input[type="checkbox"]) .facet-label.active .search-link::before {
    box-shadow: none;
    background: #3d6b52 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.4' d='M3 8.5l3.2 3L13 4.5'/%3E%3C/svg%3E") center / 14px no-repeat;
  }
  .gd-panneau-filtres #gd-rusticite-filter .gdcf-unavailable-rootstock:hover,
  .gd-panneau-filtres #gd-rusticite-filter .gdcf-unavailable-rootstock:focus { background: #f5f5f5; }
  .gd-panneau-filtres .gdcf-filter-message { width: auto; margin: 6px 16px 0; }
  /* Rubrique repliee : en dernier et plus precis que les listes du module (display:flex !important) */
  .gd-panneau-filtres #gd-rusticite-filter .gdcf-criterion.gd-pf-ferme > :not(.gdcf-criterion-heading),
  .gd-panneau-filtres #gd-rusticite-filter #search_filters .gdcf-criterion.gd-pf-ferme > :not(.gdcf-criterion-heading) { display: none !important; }
}
