/*
 * Thème enfant EAVS Groupe (parent : Hummingbird 2.1.2).
 * Chargé en plus des assets du parent (use_parent_assets: true).
 * Portage bloc par bloc (voir THEME_EAVS_PLAN.md). Les règles sont commentées par bloc d'origine.
 */

/* Bloc 1 (socle/header) — reprise de themes/hummingbird/assets/css/eavs.css (9.0) :
   le logo est réduit en 2.1.2 natif, cette règle restaure sa taille 9.0.
   Adaptation nécessaire par rapport à la règle 9.0 copiée telle quelle : vérifié que
   .navbar-brand .logo porte nativement en 2.1.2 deux contraintes absentes en 9.0
   (max-height:3rem;max-width:8rem puis max-width:9rem en breakpoint) — sans les neutraliser
   explicitement, max-width prime sur width et le logo restait minuscule malgré width:300px.
   Testé et confirmé par capture d'écran avant/après ce correctif. */
.header-bottom .navbar-brand {
    max-height: none !important;
    max-width: 300px !important;
}

.header-bottom .navbar-brand .logo {
    max-height: none !important;
    max-width: 300px !important;
    width: 300px !important;
    height: auto !important;
}

/* Bloc 1 — violet EAVS (#9351a1). Origine exacte retrouvée : en 9.0, theme.css est le CSS compilé
   du thème (Bootstrap 5.3 généré depuis les SCSS), avec TOUTES les occurrences littérales de
   #0b69f6 (bleu "primary" propre à Hummingbird, cf. PSR_ICON_COLOR natif) remplacées par #9351a1
   — remplacement mécanique complet, vérifié (0 occurrence de #0b69f6 restante dans le theme.css 9.0,
   35 occurrences de #9351a1, concordant exactement avec les 28 occurrences de #0b69f6 du theme.css
   natif 2.1.2 moins les propriétés dérivées jamais touchées par ce remplacement, ex. --bs-primary-rgb
   et --bs-primary-text-emphasis, vérifiées composant par composant contre la vraie valeur 9.0).
   Ci-dessous : chaque règle native 2.1.2 contenant #0b69f6, avec uniquement les propriétés
   concernées, valeur remplacée par #9351a1 — rien d'approximé, rien d'ajouté. */
:root, [data-bs-theme=light] {
  --bs-blue: #9351a1;
  --bs-primary: #9351a1;
  --bs-link-color: #9351a1;
}
.btn-primary {
  --bs-btn-bg: #9351a1;
  --bs-btn-border-color: #9351a1;
  --bs-btn-disabled-bg: #9351a1;
  --bs-btn-disabled-border-color: #9351a1;
}
.btn-outline-primary {
  --bs-btn-color: #9351a1;
  --bs-btn-border-color: #9351a1;
  --bs-btn-hover-bg: #9351a1;
  --bs-btn-hover-border-color: #9351a1;
  --bs-btn-active-bg: #9351a1;
  --bs-btn-active-border-color: #9351a1;
  --bs-btn-disabled-color: #9351a1;
  --bs-btn-disabled-border-color: #9351a1;
}
.dropdown-menu, .dropdown-menu-dark {
  --bs-dropdown-link-active-bg: #9351a1;
}
.form-check-input:checked,
.form-check-input[type=checkbox]:indeterminate {
  background-color: #9351a1;
  border-color: #9351a1;
}
.form-range::-webkit-slider-thumb,
.form-range::-moz-range-thumb {
  background-color: #9351a1;
}
.list-group {
  --bs-list-group-active-bg: #9351a1;
  --bs-list-group-active-border-color: #9351a1;
}
.nav-pills {
  --bs-nav-pills-link-active-bg: #9351a1;
}
.progress, .progress-stacked {
  --bs-progress-bar-bg: #9351a1;
}

/* Bloc 1 — accordéon (fiche produit) : titre orange, repris tel quel du patch CSS EAVS (fin de
   theme.css 9.0, section commentée ajoutée à la main après le CSS compilé — voir THEME_EAVS_PLAN.md,
   « patch CSS EAVS », pour la liste complète des règles qu'il contient). */
.accordion-button {
  color: #ff6600 !important;
  font-weight: 600;
}
.accordion-button:not(.collapsed) {
  background-color: #ffffff !important;
  color: #ff6600 !important;
  box-shadow: none !important;
}

/* Bloc 1 — navigation : menu principal (orange par défaut, violet au survol), repris à l'identique
   du patch CSS EAVS 9.0. */
.main-menu__tree > li .menu-container a[data-depth="1"] {
  color: #ff6600 !important;
  font-weight: 600;
}
.main-menu__tree > li .menu-container a[data-depth="1"]:hover {
  color: #9351a1 !important;
}
.main-menu__tree > li .menu-container a[data-depth="2"],
.main-menu__tree > li .menu-container a[data-depth="3"] {
  color: #343a40;
  font-weight: 400;
}
.main-menu__tree > li .menu-container a[data-depth="2"]:hover,
.main-menu__tree > li .menu-container a[data-depth="3"]:hover {
  color: #9351a1 !important;
}

/* Bloc 1 — navigation : méga-menu (module ets_megamenu), fond violet foncé, repris à l'identique. */
.eavs-submenu-bold .ets_mm_url {
  font-weight: 700 !important;
}
.ets_mm_megamenu .mm_columns_ul.mm_columns_ul_tab > li.mm_tabs_li .mm_tab_li_content {
  background: #6F2DBD !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.18) !important;
}
.ets_mm_megamenu .mm_columns_ul.mm_columns_ul_tab > li.mm_tabs_li .mm_tab_name,
.ets_mm_megamenu .mm_columns_ul.mm_columns_ul_tab > li.mm_tabs_li .mm_tab_name a,
.ets_mm_megamenu .mm_columns_ul.mm_columns_ul_tab > li.mm_tabs_li .mm_tab_toggle_title,
.ets_mm_megamenu .mm_columns_ul.mm_columns_ul_tab > li.mm_tabs_li .mm_tab_toggle_title a {
  color: #fff !important;
}
.ets_mm_megamenu .mm_columns_ul.mm_columns_ul_tab > li.mm_tabs_li:hover .mm_tab_li_content,
.ets_mm_megamenu .mm_columns_ul.mm_columns_ul_tab > li.mm_tabs_li.mm_has_sub.hover .mm_tab_li_content {
  background: #5a23a0 !important;
}

/* Bloc 1 — le header doit toujours passer au-dessus (repris à l'identique du patch CSS EAVS 9.0). */
#header, .header-nav, .top-menu, .header-top {
  position: relative;
  z-index: 1000;
}

/* Bloc 1 — CTA « Demander un devis » (addifyrequestaquote) : le module repositionne lui-même
   #addify_raq_icon en JS (front.js: $('#_desktop_cart').before(...)) — #_desktop_cart n'existe pas
   dans le HTML statique (composant "responsive" injecté en JS par le cœur), donc ce repositionnement
   échoue silencieusement et l'élément reste à sa position d'origine dans le DOM (sous le logo),
   identiquement en 9.0 et en 2.1.2 : ce n'est pas un écart de thème, c'est une dépendance de timing
   du module lui-même, hors périmètre du portage du thème. Ce correctif ne déplace rien : il rend
   l'élément correct visuellement quelle que soit sa position finale, sans toucher au module. */
#addify_raq_icon {
  display: inline-flex;
  align-items: center;
}
#addify_raq_icon .addify_raq_icon_content a {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .875rem;
  white-space: nowrap;
}

/* Bloc 2 (fiche produit) — prix B2B. Couleurs reprises à l'identique des styles inline de
   product-prices.tpl 9.0 (#9351a1 violet EAVS, #f5a623 orange EAVS — mêmes teintes que le reste du
   patch CSS EAVS, cohérent avec le violet de marque et l'orange utilisé pour l'écotaxe/l'accordéon). */
.label-votre-prix {
  color: #9351a1;
  font-weight: 700;
}
.product__price .main-price {
  color: #f5a623;
}
.tarif-cta {
  color: #9351a1;
  font-size: .75rem;
  line-height: 1.3;
  margin-top: .25rem;
  margin-bottom: 0;
}
.tarif-cta__icon {
  font-size: .8rem;
  vertical-align: text-bottom;
}
.tarif-cta a {
  color: #9351a1;
  text-decoration: underline;
}

/* Bloc 2 — pastille écotaxe. Couleur vérifiée par capture Playwright (computed style réel sur
   ref90, pas par lecture du CSS seul) : #f5a623 fond, blanc texte. Une autre règle pour ce même
   sélecteur existe dans le patch CSS EAVS historique (fond gris clair, bordure) mais s'est avérée
   neutralisée en pratique par la balise <style> inline du template 9.0 (chargée après, priorité à
   spécificité égale) — jamais réellement visible en production, donc non reprise ici. */
.product__ecotax-price {
  display: inline-block;
  background-color: #f5a623;
  color: #ffffff;
  font-weight: 400;
  font-size: .85rem;
  padding: 4px 12px;
  border-radius: 4px;
  margin-top: 4px;
  border: none;
}

/* Bloc 2 — séparateur " - " natif 2.1.2 masqué devant l'écotaxe, à l'identique de ref90 (qui ne
   l'affiche jamais devant la pastille écotaxe). */
.product__tax-infos .product__price-separator {
  display: none;
}

/* Bloc 2 — boîte SKU / MPN / fabricant, reprise à l'identique du patch CSS EAVS 9.0
   (.product-identifiers, .pi-item, .pi-label, .pi-value — pas de conflit avec une règle native
   2.1.2, ces classes n'existent nulle part dans le thème natif). */
.product-identifiers {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 14px;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  margin: 10px 0 15px;
  background: #fff;
}
.product-identifiers .pi-item {
  display: block;
  font-size: 15px;
}
.product-identifiers .pi-label {
  font-weight: 700;
  color: #6c2eb9;
}
.product-identifiers .pi-value {
  font-weight: 500;
}

/* Bloc 2 — disponibilité produit : pastille verte EAVS toujours affichée ainsi, quel que soit
   l'état réel (en stock, réassort, rupture...). Vérifié sur un produit réellement en
   réassort/rupture sur ref90 (capture Playwright) : c'est un choix de marque délibéré — fond vert
   clair en pastille, icône native masquée, texte vert — pas un oubli, le même rendu est appliqué
   même pour "Réassort en cours – Sur commande". Repris à l'identique du patch CSS EAVS 9.0, adapté
   à la structure native 2.1.2 (classes différentes, mêmes identifiants #product-availability /
   .material-icons conservés).
   Note : .product__availability-messages span ne suit PAS la couleur de son conteneur
   .product__availability-status par héritage — vérifié empiriquement (CDP getMatchedStylesForNode
   + test d'override en direct dans la page, un override même forcé sur le conteneur n'affecte pas
   le texte) — on cible donc explicitement le span du message. */
#product-availability .product__availability-status {
  display: inline-flex;
  padding: .35rem .6rem;
  border-radius: 999px;
  background: #eaf7ee;
  gap: 0;
}
#product-availability .material-icons {
  display: none !important;
}
#product-availability .product__availability-messages span {
  color: #28a745 !important;
  font-weight: 700;
}

/* Bloc 2 — badge "Nouveau" natif masqué, repris à l'identique du patch CSS EAVS 9.0. Classe
   partagée par product-flags.tpl (fiche produit et miniatures/listings, bloc 3) — portée commune,
   sans dépendre du contexte d'affichage. */
.product-flags .badge.new {
  display: none;
}

/* ============================================================
   Bloc 3 — Miniatures / listings
   ============================================================ */

/* Stickers (module productlabelsandstickers, injectés via le hook displayProductPageCss dans
   product-image.tpl) : la carte sert de contexte de positionnement, le sticker est confiné dedans.
   Repris à l'identique du patch CSS EAVS 9.0 ; .thumbnail-top n'existe pas nativement en 2.1.2
   (sélecteur 9.0 laissé par fidélité, inoffensif s'il ne matche rien). */
.products .product-miniature,
.products .js-product-miniature,
.products .product-miniature .thumbnail-top,
.products .product-miniature .thumbnail-container {
  position: relative;
}
.products .product-miniature [class*="sticker"],
.products .product-miniature [class*="label"],
.products .product-miniature .product-flag {
  position: absolute !important;
  top: .5rem;
  left: .5rem;
  width: auto !important;
  height: auto !important;
  transform: none !important;
  z-index: 10 !important;
  pointer-events: none;
}
.products [id^="ps_stickers"],
.products .sticker-wrapper,
.products .stickers,
.products .sticker {
  position: absolute !important;
  width: auto !important;
  height: auto !important;
}
.products .product-miniature [class*="sticker"][style*="position: fixed"] {
  position: absolute !important;
}
.products .product-miniature .thumbnail-container {
  overflow: hidden;
}

/* Espacement infos__top/__bottom (conteneur ajouté pour l'ancrage du bouton comparaison), repris
   à l'identique du patch CSS EAVS 9.0. */
.product-miniature__infos__top {
  height: auto !important;
  padding-bottom: 0 !important;
}
.product-miniature__infos__bottom {
  margin-top: 0 !important;
}

/* Bouton "Ajouter à comparaison" (module cdproductcomparisonplus), repris à l'identique. */
.cdpcp-compare-btn {
  margin: 6px 0 6px 0 !important;
  padding: 4px 8px !important;
  font-size: .875rem !important;
}

/* Ligne SKU en listing, couleur reprise à l'identique de 9.0 (violet distinct du violet de marque
   #9351a1 — choix délibéré de la source, non uniformisé). */
.product-reference-line {
  margin: 2px 0;
  font-weight: bold;
  color: #800080;
}

/* Prix B2B en miniature — mêmes teintes que la fiche produit (bloc 2), classes différentes
   (contexte miniature, pas de conflit avec les styles du produit). Nommage : évite "label" dans le
   nom de classe (collision trouvée avec le sélecteur de confinement des stickers ci-dessus,
   [class*="label"], qui rendait ce tag invisible — position:absolute + pointer-events:none). */
.votre-prix-tag-miniature {
  color: #9351a1;
  font-weight: 700;
}
.main-price-miniature {
  color: #f5a623;
  font-weight: bold;
}
.tax-mention-miniature {
  font-size: .8em;
  color: #666;
  margin-left: 2px;
}
.tarif-cta-miniature {
  color: #9351a1;
  font-size: .7rem;
  line-height: 1.2;
  margin-top: 2px;
}
.tarif-cta-miniature a {
  color: #9351a1;
  text-decoration: underline;
}

/* Bloc 3 — sous-catégories masquées sur les pages catégorie, à l'identique de 9.0. Root-cause
   vérifiée précisément (pas une dérive constatée en aveugle) : la fonctionnalité "sous-catégories"
   est NATIVE à Hummingbird dans les deux versions (template catalog/_partials/subcategories.tpl,
   présent et non modifié par EAVS dans les deux thèmes, aucun module hooké sur displaySubcategories
   — vérifié, 0 résultat) ; seule sa structure DOM change : 9.0 l'enveloppe dans
   #subcategories.subcategories (grille de cartes avec image), 2.1.2 natif dans
   .subcategory (liste de pastilles, sans id). Le patch CSS EAVS 9.0 masque explicitement
   #subcategories ("Masquer les sous-catégories sur les pages catégories" — choix délibéré,
   commenté comme tel dans la source), mais ce sélecteur ne matche plus rien en 2.1.2, rendant la
   règle silencieusement inopérante — la liste redevenait visible sans aucune décision volontaire.
   Reproduit ici le même choix explicite, avec le sélecteur natif 2.1.2. */
.subcategory {
  display: none !important;
}

/* ============================================================
   Bloc 4 — Accueil
   ============================================================ */

/* Bloc "Nos Marques" (artproduttori, home_brands_block) aligné comme les produits, repris à
   l'identique du patch CSS EAVS 9.0. Sélecteur adapté : 9.0 utilisait .page-home (classe du
   conteneur de contenu natif 9.0, <section class="page-content page-home">) ; 2.1.2 natif nomme ce
   même conteneur .page-content--home (BEM), vérifié dans index.tpl natif — .page-home ne matche
   plus rien en 2.1.2 et rendrait cette règle silencieusement inopérante si reprise telle quelle. */
.page-content--home .home_brands_block {
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  width: 100%;
}
@media (min-width: 1400px) {
  .page-content--home .home_brands_block { max-width: 1320px; }
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .page-content--home .home_brands_block { max-width: 1140px; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .page-content--home .home_brands_block { max-width: 960px; }
}

/* Bloc "EAVS SIGNAL" — converti depuis les styles inline du index.tpl 9.0 (voir index.tpl du
   thème enfant) vers des classes, valeurs reprises à l'identique (couleurs, tailles, espacements). */
.eavs-signal-block {
  font-family: 'Open Sans', Helvetica, Arial, sans-serif;
  text-align: center;
  margin: 10px 0 22px 0;
}
.eavs-signal-block__kicker {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #FF7001;
  margin-bottom: 5px;
}
.eavs-signal-block__title {
  margin: 0 0 7px 0;
  color: #333;
  font-size: 22px;
  font-weight: 800;
}
.eavs-signal-block__text {
  font-size: 14px;
  color: #666;
  margin: 0 auto 15px auto;
  max-width: 700px;
  line-height: 1.6;
}
.eavs-signal-block__link {
  color: #FF7001;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
}

/* ============================================================
   Bloc 7 — Login / détails mineurs
   ============================================================ */

/* Page de maintenance (errors/maintenance.tpl, natif 2.1.2 non modifié) — le logo n'y a aucune
   contrainte de taille nativement (seuls les attributs width/height HTML, dimensions brutes du
   fichier uploadé). 9.0 le contraignait en ligne à max-width:300px, cohérent avec la taille du
   logo du header (bloc 1, voir .header-bottom .navbar-brand .logo). Correctif CSS seul : la
   classe .error__logo est déjà spécifique au natif 2.1.2, aucune surcharge de template requise. */
.error__logo {
  max-width: 300px;
  width: 100%;
  height: auto;
  margin: 0 auto 20px auto;
  display: block;
}

/* Page de connexion — avertissement "anciens comptes", repris à l'identique de 9.0 (texte et
   émoji), styles inline convertis en classes. */
.eavs-old-accounts-warning {
  margin-bottom: 2rem;
}
.eavs-old-accounts-warning__title {
  font-size: 1.1rem;
  font-weight: bold;
}
.eavs-old-accounts-warning__text {
  color: red;
}

/* Page marque — logo à côté du titre, repris à l'identique de 9.0. */
.eavs-manufacturer-header__logo {
  margin-right: 10px;
  border: 1px solid #e5e5e5;
  padding: 5px;
  border-radius: 6px;
  background: #fff;
}
.eavs-manufacturer-header .page-title-section {
  margin: 0;
}

/* EAVS B2B - prix public secondaire */
.eavs-public-price-product {
  margin-top: .35rem;
  font-size: .9rem;
  line-height: 1.35;
}

.eavs-public-price-miniature {
  margin-top: .15rem;
  font-size: .78rem;
  line-height: 1.25;
}

.eavs-public-price-caption {
  color: #9351a1;
  font-weight: 600;
}

.eavs-public-price-value {
  font-weight: 600;
}

.eavs-public-price-tax,
.eavs-public-price-ttc {
  opacity: .72;
}

