/* ============================================================
 * Goodies Pub France — OVERRIDES site-wide (couleurs / accents)
 * Chargé EN DERNIER (head) => priorité max. Autonome.
 *
 * But : ramener au bleu B2B tous les accents HORS-CHARTE hérités
 * du thème PRS028 (Bootstrap : #007bff, #28a745, #17a2b8, orange)
 * et de certains modules / vieilles modales devis (#27ae60 vert).
 * Le VERT est conservé uniquement pour la sémantique éco/succès
 * (--gp-green #2F7A4F), le ROUGE pour les erreurs / suppression.
 *
 * Tokens (définis dans goodies.css, chargé avant) :
 *   --gp-primary #1E4E8C  --gp-primary-h #173F73  --gp-primary-a #12305A
 *   --gp-green #2F7A4F  --gp-red #B4231F
 *   --gp-blue-bg #F5F8FC  --gp-blue-bg2 #E9EFF7  --gp-blue-line #D6E0EC
 *   --gp-text #1A1D21  --gp-muted2 #4B5563  --gp-line #E5E7EB
 * On garde les fallbacks en dur au cas où un token manquerait.
 * ============================================================ */

/* ============================================================
 * 1. BOUTONS & ACCENTS BOOTSTRAP DU THÈME (PRS028 / theme.css)
 *    Source : Bootstrap 4 compilé — #007bff (primary), #28a745
 *    (success), #17a2b8 (info/teal). Tous -> bleu institutionnel.
 *    (Ne touche pas les .gp-btn-* déjà conformes.)
 * ============================================================ */

/* -- .btn-primary : #007bff -> bleu -- */
.btn-primary,
.btn-primary.disabled,
.btn-primary:disabled{
  background-color:var(--gp-primary,#1E4E8C)!important;
  border-color:var(--gp-primary,#1E4E8C)!important;
  color:#fff!important;
}
.btn-primary:hover,
.btn-primary.focus,
.btn-primary:focus,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show>.btn-primary.dropdown-toggle{
  background-color:var(--gp-primary-h,#173F73)!important;
  border-color:var(--gp-primary-h,#173F73)!important;
  color:#fff!important;
}
.btn-primary.focus,
.btn-primary:focus,
.btn-primary:not(:disabled):not(.disabled):active:focus{
  box-shadow:0 0 0 .2rem rgba(30,78,140,.4)!important;
}

/* -- .btn-success : #28a745 vert -> bleu (CTA, pas sémantique) -- */
.btn-success,
.btn-success.disabled,
.btn-success:disabled{
  background-color:var(--gp-primary,#1E4E8C)!important;
  border-color:var(--gp-primary,#1E4E8C)!important;
  color:#fff!important;
}
.btn-success:hover,
.btn-success.focus,
.btn-success:focus,
.btn-success:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled).active,
.show>.btn-success.dropdown-toggle{
  background-color:var(--gp-primary-h,#173F73)!important;
  border-color:var(--gp-primary-h,#173F73)!important;
  color:#fff!important;
}
.btn-success.focus,
.btn-success:focus,
.btn-success:not(:disabled):not(.disabled):active:focus{
  box-shadow:0 0 0 .2rem rgba(30,78,140,.4)!important;
}

/* -- .btn-info : #17a2b8 teal -> bleu -- */
.btn-info,
.btn-info.disabled,
.btn-info:disabled{
  background-color:var(--gp-primary,#1E4E8C)!important;
  border-color:var(--gp-primary,#1E4E8C)!important;
  color:#fff!important;
}
.btn-info:hover,
.btn-info.focus,
.btn-info:focus,
.btn-info:not(:disabled):not(.disabled):active,
.btn-info:not(:disabled):not(.disabled).active,
.show>.btn-info.dropdown-toggle{
  background-color:var(--gp-primary-h,#173F73)!important;
  border-color:var(--gp-primary-h,#173F73)!important;
  color:#fff!important;
}

/* -- Boutons "outline" primary/success/info -> outline bleu -- */
.btn-outline-primary,
.btn-outline-success,
.btn-outline-info{
  color:var(--gp-primary,#1E4E8C)!important;
  border-color:var(--gp-primary,#1E4E8C)!important;
}
.btn-outline-primary:hover,
.btn-outline-success:hover,
.btn-outline-info:hover,
.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-success:not(:disabled):not(.disabled):active,
.btn-outline-info:not(:disabled):not(.disabled):active{
  background-color:var(--gp-primary,#1E4E8C)!important;
  border-color:var(--gp-primary,#1E4E8C)!important;
  color:#fff!important;
}

/* -- Liens texte / prix / accents primaire+info (bleu) -- */
.text-primary,
.text-info,
a.text-primary:hover,
a.text-info:hover{color:var(--gp-primary,#1E4E8C)!important;}
.bg-primary,
.bg-info{background-color:var(--gp-primary,#1E4E8C)!important;}
.badge-primary,
.badge-info{background-color:var(--gp-primary,#1E4E8C)!important;color:#fff!important;}
.link-primary,.btn-link{color:var(--gp-primary,#1E4E8C)!important;}

/* -- Vert "succès" générique : garder vert mais ON-CHARTE (#2F7A4F) -- */
.text-success,a.text-success:hover{color:var(--gp-green,#2F7A4F)!important;}
.bg-success,.badge-success{background-color:var(--gp-green,#2F7A4F)!important;color:#fff!important;}

/* -- Composants Bootstrap "actifs" en #007bff -> bleu -- */
.page-item.active .page-link,
.page-link:hover,
.page-link:focus{
  color:#fff!important;
}
.page-item.active .page-link{
  background-color:var(--gp-primary,#1E4E8C)!important;
  border-color:var(--gp-primary,#1E4E8C)!important;
}
.page-link{color:var(--gp-primary,#1E4E8C)!important;}
.page-link:hover,.page-link:focus{background-color:var(--gp-blue-bg,#F5F8FC)!important;}
.nav-pills .nav-link.active,
.nav-pills .show>.nav-link,
.list-group-item.active,
.dropdown-item.active,
.dropdown-item:active{
  background-color:var(--gp-primary,#1E4E8C)!important;
  border-color:var(--gp-primary,#1E4E8C)!important;
  color:#fff!important;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link{
  color:var(--gp-primary,#1E4E8C)!important;
  border-bottom-color:var(--gp-primary,#1E4E8C)!important;
}

/* -- Champs : focus / cases cochées / sélection en #007bff -> bleu -- */
.form-control:focus,
.custom-select:focus,
.custom-file-input:focus~.custom-file-label{
  border-color:var(--gp-primary,#1E4E8C)!important;
  box-shadow:0 0 0 .2rem rgba(30,78,140,.2)!important;
}
.custom-control-input:checked~.custom-control-label::before,
.custom-checkbox .custom-control-input:checked~.custom-control-label::before,
.custom-radio .custom-control-input:checked~.custom-control-label::before,
.custom-control-input:focus~.custom-control-label::before{
  background-color:var(--gp-primary,#1E4E8C)!important;
  border-color:var(--gp-primary,#1E4E8C)!important;
}
.custom-range::-webkit-slider-thumb{background:var(--gp-primary,#1E4E8C)!important;}
.custom-range::-moz-range-thumb{background:var(--gp-primary,#1E4E8C)!important;}

/* ============================================================
 * 2. MODULE europeansourcing — formulaire de marquage
 *    (marking_form.tpl inline + formulaire-personnalisation.css)
 *    Vert #28a745/#218838/#d4edda + dégradé vert + tables vertes
 *    (#e6f9e6/#2c662c) + bouton calc #007bff -> tout en bleu.
 *    Le rouge #dc3545 (#removeMarquage) est CONSERVÉ (suppression).
 * ============================================================ */

/* -- Remap des variables du module (portée locale au formulaire) -- */
.marking-form-wrapper,
.marking-form,
#markingFormContainer{
  --color-primary:var(--gp-primary,#1E4E8C);
  --color-primary-dark:var(--gp-primary-h,#173F73);
  --color-primary-light:var(--gp-blue-bg2,#E9EFF7);
  --color-secondary:var(--gp-primary,#1E4E8C);
}
/* Fond du formulaire : dégradé vert clair -> blanc/bleu très léger */
.marking-form{
  background:var(--gp-blue-bg,#F5F8FC)!important;
}
/* Ombres vertes rgba(40,167,69,...) -> bleu */
.marking-form-wrapper .zone-card.active{
  box-shadow:0 6px 12px rgba(30,78,140,.18)!important;
}
.marking-form-wrapper .btn-primary:hover{
  box-shadow:0 6px 12px rgba(30,78,140,.3)!important;
}

/* -- Boutons à hex codés en dur dans marking_form.tpl (<style>) -- */
#customizeProductBtn{
  background-color:var(--gp-primary,#1E4E8C)!important;
  color:#fff!important;
}
#customizeProductBtn:hover{
  background-color:var(--gp-primary-h,#173F73)!important;
}
#calculatePriceBtn{background-color:var(--gp-primary,#1E4E8C)!important;color:#fff!important;}
#calculatePriceBtn:hover{background-color:var(--gp-primary-h,#173F73)!important;}
/* #removeMarquage reste ROUGE (#dc3545) : sémantique "retirer" — non modifié. */

/* -- Table de prix : en-têtes / total / résultat verts -> bleu -- */
#priceTable th,
#priceTable .total-row,
#priceResult p{
  background-color:var(--gp-blue-bg2,#E9EFF7)!important;
  color:var(--gp-primary,#1E4E8C)!important;
}
#priceTable .total-row td{border-top-color:var(--gp-primary,#1E4E8C)!important;}

/* ============================================================
 * 3. VIEILLES MODALES DEVIS (hors design-system gpf actuel)
 *    a) Page produit  : themes/PRS028/.../product.tpl  -> .btn-submit-devis #27ae60
 *    b) Panier/checkout: _partials/devis-cart-modal.tpl -> .gpf-btn-submit #27ae60
 *                        + .gpf-devis-trigger #2c3e50 (slate) -> bleu
 *    Les <style> inline de ces .tpl écrasent goodies.css (même
 *    spécificité, chargés après) : on force donc en !important.
 * ============================================================ */
.btn-submit-devis,
.gpf-btn-submit{
  background-color:var(--gp-primary,#1E4E8C)!important;
  background-image:none!important;
  color:#fff!important;
}
.btn-submit-devis:hover,
.gpf-btn-submit:hover{
  background-color:var(--gp-primary-h,#173F73)!important;
  color:#fff!important;
}
.gpf-devis-trigger{
  background-color:var(--gp-primary,#1E4E8C)!important;
  color:#fff!important;
}
.gpf-devis-trigger:hover{
  background-color:var(--gp-primary-h,#173F73)!important;
  color:#fff!important;
}
/* .devis-close / .gpf-devis-close hover (#d63031) et alertes succès
 * (#155724 vert) restent : sémantique fermeture / succès. */

/* ============================================================
 * 4. BOUTONS DE SOUS-CATÉGORIES (pages catégorie)
 *    Cible défensive : pastilles vertes / dégradé -> pastille sobre
 *    tokens. (Source exacte du gradient vert non localisée dans les
 *    CSS lues — override en !important pour couvrir thème + module.)
 * ============================================================ */
.category-sub-link,
.subcategory-link,
.subcategories a,
.subcategories .subcategory-name,
.category-sub a,
.category-sub-list a,
.subcategory-image+a,
ul.category-sub a{
  background:var(--gp-blue-bg,#F5F8FC)!important;
  background-image:none!important;
  color:var(--gp-primary,#1E4E8C)!important;
  border:1px solid var(--gp-blue-line,#D6E0EC)!important;
  border-radius:999px!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
.category-sub-link:hover,
.subcategory-link:hover,
.subcategories a:hover,
.category-sub a:hover,
.category-sub-list a:hover,
ul.category-sub a:hover{
  background:var(--gp-primary,#1E4E8C)!important;
  background-image:none!important;
  color:#fff!important;
  border-color:var(--gp-primary,#1E4E8C)!important;
}

/* ============================================================
 * 5. COLONNE GAUCHE — ARBRE DE CATÉGORIES
 *    #left-column / .block-categories / .category-top-menu
 *    Typo Public Sans, sentence-case (pas de MAJUSCULES forcées),
 *    liens #4B5563 -> hover #1E4E8C, titres Manrope.
 * ============================================================ */
#left-column .block-categories,
#left-column .category-top-menu,
.block-categories .category-top-menu,
.block-categories,
.category-top-menu{
  font-family:var(--gp-font-body,'Public Sans',system-ui,sans-serif)!important;
}
#left-column .block-categories a,
.block-categories .category-top-menu a,
.category-top-menu a,
.category-top-menu li a{
  text-transform:none!important;
  letter-spacing:0!important;
  color:var(--gp-muted2,#4B5563)!important;
  font-weight:500!important;
}
#left-column .block-categories a:hover,
.category-top-menu a:hover,
.category-top-menu li a:hover,
.category-top-menu li.current>a,
.category-top-menu li a.active{
  color:var(--gp-primary,#1E4E8C)!important;
}
#left-column .block-categories .h3,
#left-column .block-categories .title_block,
#left-column .block-categories .block-title,
.block-categories>.h6,
#left-column .block-categories h3{
  font-family:var(--gp-font-head,'Manrope',sans-serif)!important;
  text-transform:none!important;
  color:var(--gp-text,#1A1D21)!important;
  letter-spacing:-.2px!important;
}
/* Puce / bordure active de l'arbre en bleu plutôt qu'accent thème */
.category-top-menu .collapse-icons .add,
.category-top-menu .collapse-icons .remove{color:var(--gp-primary,#1E4E8C)!important;}

/* ============================================================
 * 6. FLAGS / BADGES PRODUIT (défensif, hors .gp-product-card)
 *    Le sous-thème goodies gère déjà .gp-product-card .product-flag
 *    (pastilles tokens). Ici on couvre les flags PS "par défaut"
 *    (quickview, blocs produits divers) SANS !important : la règle
 *    plus spécifique .gp-product-card .product-flag reste prioritaire.
 *    nouveau = bleu, promo/discount = vert éco / rouge, texte blanc.
 * ============================================================ */
.product-flags li.product-flag,
.product-flag{
  background:var(--gp-primary,#1E4E8C);
  color:#fff;
  border:0;
}
.product-flag.new,
.product-flags li.new{background:var(--gp-primary,#1E4E8C);color:#fff;}
.product-flag.online-only,
.product-flag.pack{background:var(--gp-muted2,#4B5563);color:#fff;}
.product-flag.discount,
.product-flag.reduction,
.product-flags li.discount{background:var(--gp-red,#B4231F);color:#fff;}
.product-flag.on-sale,
.product-flags li.on-sale{background:var(--gp-green,#2F7A4F);color:#fff;}

/* ============================================================
 * 7. DIVERS ACCENTS HORS-CHARTE RÉSIDUELS
 *    Filet / soulignement / bordure active en teal ou vert -> bleu.
 * ============================================================ */
.alert-info{
  border-left-color:var(--gp-primary,#1E4E8C)!important;
}
mark,.mark{background-color:var(--gp-blue-bg2,#E9EFF7)!important;color:var(--gp-primary,#1E4E8C)!important;}
