/* SecuriForce Pro Shop - Barre d'annonce (module indépendant). */
/* Pages de marque : une introduction concise, puis les détails à la demande. */
#manufacturer #center-column > .sf-brand-title {
  font-size: 28px;
  line-height: 1.25;
  margin: 0 0 14px;
  color: #202427;
}
#manufacturer .sf-brand-intro {
  max-width: 780px;
  font-size: 16px;
  line-height: 1.6;
  color: #30363B;
  margin-bottom: 12px;
  text-align: left;
}
#manufacturer .sf-brand-intro p { margin: 0; }
#manufacturer .sf-brand-details {
  max-width: 780px;
  margin: 0 0 24px;
}
#manufacturer .sf-brand-details > summary {
  width: fit-content;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  color: #202427;
  text-decoration: underline;
  text-underline-offset: 3px;
}
#manufacturer .sf-brand-details > summary:focus-visible {
  outline: 2px solid #202427;
  outline-offset: 4px;
}
#manufacturer .sf-brand-details[open] > summary { display: none; }
#manufacturer .sf-brand-details .rich-text {
  color: #46515C;
  font-size: 15px;
  line-height: 1.65;
  text-align: left;
}
#manufacturer .sf-brand-details .rich-text p { margin: 0; }
@media (max-width: 767.98px) {
  #manufacturer #center-column > .sf-brand-title { font-size: 26px; }
  #manufacturer .sf-brand-intro { line-height: 1.55; }
  #manufacturer .sf-brand-details { margin-bottom: 20px; }
}

/* Rouge réservé aux promotions : accents décoratifs de l'accueil. */
html body {
  border-top: 0 !important;
}
#ps_imageslider button[data-bs-slide-to].active {
  background-color: #FFDF00 !important;
}

/* Accent jaune du visuel Matériel : conserve l'image source intacte. */
#ps_imageslider .ps-imageslider__figure:has(> img[src*="securiforce-materielfr"], > img[src*="banner-interventiemateriaal"]) {
  position: relative;
}
#ps_imageslider .ps-imageslider__figure:has(> img[src*="securiforce-materielfr"], > img[src*="banner-interventiemateriaal"])::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1672 941'%3E%3Cpath fill='%23FFDF00' d='M188 53h87v5h-87z'/%3E%3C/svg%3E");
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
}

#header .sf-announcement {
  width: 100%;
  background: #202427;
  border-bottom: 1px solid #30363A;
  color: #FFFFFF;
  font-size: 12px;
  line-height: 1.35;
}

#header .sf-announcement__inner {
  box-sizing: border-box;
  width: 100%;
  max-width: 1320px;
  min-height: 34px;
  margin: 0 auto;
  padding: 6px 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
}

#header .sf-announcement__message {
  min-width: 0;
}

#header .sf-announcement__links {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 28px;
}

#header .sf-announcement__links a {
  color: #FFFFFF;
  text-decoration: none;
}

#header .sf-announcement__links a:hover,
#header .sf-announcement__links a:focus-visible {
  color: #FFDF00;
  text-decoration: underline;
}

/* Charte de l'en-tête : compteur panier et champ de recherche. */
#header #_desktop_ps_shoppingcart .header-block__badge,
#header #_mobile_ps_shoppingcart .header-block__badge {
  box-sizing: border-box;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #FFDF00 !important;
  color: #000 !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: 11px !important;
  font-weight: 700;
  line-height: 1 !important;
  flex-shrink: 0;
  box-shadow: none !important;
}
#header #_desktop_ps_shoppingcart .header-block__icon,
#header #_mobile_ps_shoppingcart .header-block__icon {
  color: #202427 !important;
}
#header .ps-searchbar__input {
  border: 1px solid #D1D5DB !important;
  background-color: #F5F6F8 !important;
  color: #202427 !important;
}
#header .ps-searchbar__input:focus,
#header .ps-searchbar__input:focus-visible {
  border-color: #202427 !important;
  outline: 0;
  box-shadow: 0 0 0 2px rgba(32,36,39,.08) !important;
}

/* Même bordure et même focus pour le sélecteur de langue. */
#header .ps-languageselector .form-select {
  border: 1px solid #D1D5DB !important;
  background-color: #F5F6F8 !important;
  color: #202427 !important;
}
#header .ps-languageselector .form-select:focus,
#header .ps-languageselector .form-select:focus-visible {
  border-color: #202427 !important;
  outline: 0;
  box-shadow: 0 0 0 2px rgba(32,36,39,.08) !important;
}

@media (min-width: 768px) {
  #header .ps-searchbar__input,
  #header .ps-languageselector .form-select {
    height: 38px !important;
    min-height: 38px;
    box-sizing: border-box;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    font-size: 15px;
    line-height: 24px;
  }
  #header .header-bottom__row {
    align-items: center !important;
  }
  #header .sf-header-actions {
    column-gap: 20px !important;
  }
  #header .sf-header-actions > div {
    display: flex;
    align-items: center;
  }
  #header .sf-header-actions .header-block__action-btn {
    height: 38px;
    padding: 0 4px !important;
    gap: 6px;
    display: inline-flex;
  }
  #header .sf-header-actions .header-block__title {
    font-size: 15px;
    line-height: 24px;
  }
  #header .sf-wishlist-header--desktop {
    width: 38px;
    height: 38px;
    margin-inline-start: 4px;
    flex: 0 0 38px;
  }
  #header .sf-header-actions .header-block__icon {
    font-size: 22px !important;
    line-height: 22px !important;
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  #header .sf-wishlist-header--desktop svg {
    width: 22px !important;
    height: 22px !important;
    display: block;
  }
  #header .sf-header-actions,
  #header .sf-header-actions .header-block__action-btn,
  #header .sf-wishlist-header--desktop {
    align-items: center;
  }
}

@media (max-width: 767.98px) {
  #header .sf-announcement__inner {
    min-height: 30px;
    padding: 6px 12px;
    justify-content: center;
  }

  #header .sf-announcement__message {
    text-align: center;
    font-size: 11px;
  }

  #header .sf-announcement__links {
    display: none;
  }
}

/* Navigation SecuriForce : une palette commune, des états distincts. */
html body {
  --sf-nav-ink: #202427;
  --sf-nav-yellow: #FFDF00;
  --sf-nav-surface: #F1F3F5;
  --sf-nav-border: #D1D5DB;
}

/* Catégories et sous-catégories, FR/NL. */
html body#category .category__header h1.page-title-section {
  font-size: clamp(26px, 2.4vw, 32px);
  line-height: 1.25;
  margin-block: 0 12px;
  color: var(--sf-nav-ink);
}
html body#category .category__header .category__description {
  max-width: 860px;
  font-family: var(--bs-body-font-family, sans-serif);
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
  color: #30363B;
  text-align: start;
}
html body#category .category__header .category__description p {
  margin-block: 0 10px;
}
html body#category .category__header .category__description :is(strong, b) {
  font-weight: 600;
}
html body#category .category__header .category__description > :last-child { margin-block-end: 0; }
html body#category .category__header .subcategory__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-block: 16px 24px;
}
html body#category .category__header a.subcategory__link {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 44px;
  min-height: 44px;
  padding: 8px 14px;
  border: 1px solid var(--sf-nav-border) !important;
  border-radius: 999px;
  background: var(--sf-nav-surface) !important;
  color: var(--sf-nav-ink) !important;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none !important;
  box-shadow: none;
  transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
}
html body#category .category__header a.subcategory__link :is(span, i) { color: inherit !important; }
html body#category .category__header a.subcategory__link:is(.sf-nav-current, [aria-current="page"], :active) {
  background: var(--sf-nav-ink) !important;
  border-color: var(--sf-nav-ink) !important;
  color: var(--sf-nav-yellow) !important;
}
html body#category .sf-category-readmore-button:not([hidden]) {
  min-height: 44px;
  color: var(--sf-nav-ink) !important;
  font-size: 14px;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (max-width: 767.98px) {
  html body#category .category__header .subcategory__list {
    flex-wrap: nowrap;
    overflow-x: auto;
    margin-block: 12px 16px;
    padding-block: 4px 8px;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
  }
  html body#category .category__header a.subcategory__link {
    white-space: nowrap;
    scroll-snap-align: start;
  }
  html body#category .category__header .subcategory__list::-webkit-scrollbar { display: none; }
}

/* Menu bureau : rubrique active soulignée en jaune. */
html body #header #top-menu .ps-mainmenu__tree-link,
html body #header #top-menu .ps-mainmenu__tree-dropdown-toggle {
  color: var(--sf-nav-ink) !important;
}
html body #header #top-menu .ps-mainmenu__tree-link {
  text-decoration-color: var(--sf-nav-yellow) !important;
  transition-property: color !important;
}
html body #header #top-menu .ps-mainmenu__tree-link:is(.sf-nav-current, .sf-nav-context, [aria-current="page"]) {
  text-decoration: underline !important;
  text-decoration-color: var(--sf-nav-yellow) !important;
  text-decoration-thickness: 3px !important;
  text-underline-offset: 8px;
}
html body #header #top-menu .submenu a {
  min-height: 44px;
  padding-block: 10px;
  border-radius: 6px;
  color: var(--sf-nav-ink) !important;
}
html body #header #top-menu .submenu .submenu__left-item:is(.active, [aria-selected="true"]) {
  background-color: var(--sf-nav-ink) !important;
  color: var(--sf-nav-yellow) !important;
}
html body #header #top-menu .submenu__right a:is(.sf-nav-current, [aria-current="page"]) {
  font-weight: 600;
  text-decoration: underline !important;
  text-decoration-color: var(--sf-nav-yellow) !important;
  text-underline-offset: 5px;
}
/* Au clic, pas de cadre persistant ; le clavier conserve son repère. */
html body #header #top-menu :is(a, button):focus:not(:focus-visible),
html body #header #mobileMenu :is(a, button):focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}

/* Menu mobile et retour natif : lignes confortables, chevrons cohérents. */
html body #header #mobileMenu .menu__list > li:not(.menu__title) {
  display: flex;
  align-items: center;
  margin-block: 0;
  border-bottom: 1px solid #E1E5E9;
  border-radius: 0;
  color: var(--sf-nav-ink);
}
html body #header #mobileMenu .menu__list > li > .menu__link {
  box-sizing: border-box;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 44px;
  padding: 10px 12px;
  color: var(--sf-nav-ink) !important;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  text-decoration: none;
}
html body #header #mobileMenu .menu__toggle-child {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent !important;
  color: var(--sf-nav-ink) !important;
  box-shadow: none;
}
html body #header #mobileMenu .menu__toggle-child .material-icons {
  color: inherit !important;
  font-size: 20px;
}
html body #header #mobileMenu .menu__list > li:has(> .menu__link:is(.sf-nav-current, .sf-nav-context, [aria-current="page"])) {
  background: #F5F6F8;
  box-shadow: inset 3px 0 0 var(--sf-nav-yellow);
}
html body #header #mobileMenu .menu__list > li:has(> .menu__link:is(.sf-nav-current, .sf-nav-context, [aria-current="page"])) > :is(.menu__link, .menu__toggle-child) {
  color: var(--sf-nav-ink) !important;
}
html body #header #mobileMenu .menu__title {
  padding: 8px 12px 12px;
  margin-block-end: 8px;
  border-bottom: 1px solid var(--sf-nav-border);
  color: var(--sf-nav-ink);
  font-weight: 700;
}
html body #header #mobileMenu .js-back-button {
  align-items: center;
  min-height: 44px;
  color: var(--sf-nav-ink) !important;
  font-size: 14px;
  text-decoration: none;
}
html body #header #mobileMenu .sf-nav-back-label::after { content: " · "; }

/* Panneau mobile uniquement : titre, liens utiles et choix de langue. */
html body #header #mobileMenu .offcanvas-header {
  min-height: 64px;
  padding: 12px 16px;
  border-bottom: 1px solid #E1E5E9;
}
html body #header #mobileMenu .sf-mobile-menu-title {
  margin: 0;
  color: var(--sf-nav-ink);
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
}
html body #header #mobileMenu .ps-mainmenu__back-button:has(.js-back-button:not(.d-none)) .sf-mobile-menu-title {
  display: none;
}
html body #header #mobileMenu .offcanvas-header .btn-close {
  box-sizing: border-box;
  width: 44px;
  height: 44px;
  margin: 0 0 0 auto;
  padding: 0;
  background-size: 18px;
  opacity: .8;
}
html body #header #mobileMenu .ps-mainmenu__mobile {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}
html body #header #mobileMenu #menu-mobile > .menu__list > li > .menu__link {
  font-weight: 600;
}
html body #header #mobileMenu .menu__list > li > .menu__link {
  min-height: 48px;
  padding-block: 12px;
}
html body #header #mobileMenu .menu__toggle-child {
  min-height: 48px;
}
html body #header #mobileMenu .sf-mobile-useful-links {
  padding: 22px 12px 16px;
}
html body #header #mobileMenu .sf-mobile-useful-links > h2 {
  margin: 0 0 6px;
  color: #6B7280;
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
html body #header #mobileMenu .sf-mobile-useful-links > a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 0;
  color: var(--sf-nav-ink) !important;
  font-size: 14px;
  font-weight: 500;
  line-height: 22px;
  text-decoration: none;
}
html body #header #mobileMenu .sf-mobile-useful-links > a:is(:hover, .sf-nav-current, [aria-current="page"]) {
  text-decoration: underline;
  text-decoration-color: var(--sf-nav-yellow);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
html body #header #mobileMenu .ps-mainmenu__additionnals {
  flex: 0 0 auto;
  padding: 14px 28px 18px;
  border-top: 1px solid #E1E5E9;
  overflow: visible;
}
html body #header #mobileMenu .ps-mainmenu__selects {
  flex-direction: column;
  gap: 8px !important;
}
html body #header #mobileMenu .sf-mobile-language-label {
  color: #6B7280;
  font-size: 12px;
  font-weight: 500;
  line-height: 18px;
}

/* Fil d'Ariane, tri et filtres : même contraste sur catégories et marques. */
html body .breadcrumb__wrapper {
  background-color: var(--sf-nav-ink) !important;
  color: #F5F6F8;
}
html body .breadcrumb {
  --bs-breadcrumb-divider-color: #C7CDD3;
  --bs-breadcrumb-item-active-color: #F5F6F8;
  color: #F5F6F8;
  font-size: 14px;
  line-height: 1.5;
}
html body .breadcrumb a {
  color: #F5F6F8 !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
html body .breadcrumb a:focus-visible {
  outline: 2px solid var(--sf-nav-yellow) !important;
  outline-offset: 3px;
}
html body:is(#category, #manufacturer) #sort_dropdown_button {
  --bs-btn-color: var(--sf-nav-ink);
  --bs-btn-bg: #FFF;
  --bs-btn-border-color: var(--sf-nav-border);
  --bs-btn-hover-color: var(--sf-nav-ink);
  --bs-btn-hover-bg: #F5F6F8;
  --bs-btn-hover-border-color: var(--sf-nav-ink);
  --bs-btn-active-color: var(--sf-nav-ink);
  --bs-btn-active-bg: #F5F6F8;
  --bs-btn-active-border-color: var(--sf-nav-ink);
  --bs-btn-focus-shadow-rgb: 32, 36, 39;
  box-sizing: border-box;
  min-height: 44px !important;
  padding: 8px 14px;
  border: 1px solid var(--sf-nav-border) !important;
  border-radius: 6px;
  background-color: #FFF !important;
  color: var(--sf-nav-ink) !important;
  font-size: 15px;
  line-height: 1.4;
  box-shadow: none;
}
html body:is(#category, #manufacturer) #search_filter_toggler {
  --bs-btn-color: var(--sf-nav-yellow);
  --bs-btn-bg: var(--sf-nav-ink);
  --bs-btn-border-color: var(--sf-nav-ink);
  --bs-btn-hover-color: var(--sf-nav-yellow);
  --bs-btn-hover-bg: #30363B;
  --bs-btn-hover-border-color: #30363B;
  --bs-btn-active-color: var(--sf-nav-yellow);
  --bs-btn-active-bg: #30363B;
  --bs-btn-active-border-color: #30363B;
  --bs-btn-focus-shadow-rgb: 32, 36, 39;
  min-height: 44px !important;
  padding: 8px 14px;
  border: 1px solid var(--sf-nav-ink) !important;
  border-radius: 6px;
  background-color: var(--sf-nav-ink) !important;
  color: var(--sf-nav-yellow) !important;
  font-size: 15px;
  line-height: 1.4;
}
html body:is(#category, #manufacturer) #search_filter_toggler .material-icons { color: inherit !important; }
html body:is(#category, #manufacturer) #sort_dropdown_button:is(:focus-visible, [aria-expanded="true"]) { border-color: var(--sf-nav-ink) !important; }

@media (hover: hover) and (pointer: fine) {
  html body#category .category__header a.subcategory__link:hover {
    background: var(--sf-nav-ink) !important;
    border-color: var(--sf-nav-ink) !important;
    color: var(--sf-nav-yellow) !important;
  }
  html body #header #top-menu .ps-mainmenu__tree-link:hover {
    text-decoration: underline !important;
    text-decoration-color: var(--sf-nav-yellow) !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 8px;
  }
  html body #header #top-menu .submenu a:hover {
    background: var(--sf-nav-surface) !important;
    color: var(--sf-nav-ink) !important;
  }
  html body #header #top-menu .submenu .submenu__left-item:is(.active, [aria-selected="true"]):hover {
    background: var(--sf-nav-ink) !important;
    color: var(--sf-nav-yellow) !important;
  }
  html body #header #mobileMenu .menu__list > li:not(:has(> .sf-nav-current, > .sf-nav-context)):hover { background: var(--sf-nav-surface); }
  html body .breadcrumb a:hover {
    color: var(--sf-nav-yellow) !important;
    text-decoration-color: var(--sf-nav-yellow);
    text-decoration-thickness: 2px;
  }
  html body:is(#category, #manufacturer) #search_filter_toggler:hover { background: #30363B !important; }
}
html body#category .category__header a.subcategory__link:focus-visible,
html body#category .sf-category-readmore-button:focus-visible,
html body #header #top-menu :is(a, button):focus-visible,
html body #header #mobileMenu :is(a, button):focus-visible,
html body:is(#category, #manufacturer) :is(#sort_dropdown_button, #search_filter_toggler):focus-visible {
  outline: 2px solid var(--sf-nav-ink) !important;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  html body#category .category__header a.subcategory__link { transition: none; }
}

/* Liens éditoriaux et pagination : complément de la charte de navigation. */
html body#category .category__description a,
html body#manufacturer :is(.sf-brand-intro, .sf-brand-details) a {
  color: var(--sf-nav-ink) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
html body #products .pagination {
  --bs-pagination-color: var(--sf-nav-ink);
  --bs-pagination-hover-color: var(--sf-nav-ink);
  --bs-pagination-focus-color: var(--sf-nav-ink);
  --bs-pagination-active-color: var(--sf-nav-yellow);
  --bs-pagination-active-bg: var(--sf-nav-ink);
  --bs-pagination-active-border-color: var(--sf-nav-ink);
  --bs-pagination-disabled-color: #6B7280;
  --bs-pagination-focus-box-shadow: none;
  gap: 4px;
}
html body #products .pagination .page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  gap: 6px;
  min-width: 44px;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid transparent !important;
  border-radius: 6px;
  background: transparent !important;
  color: var(--sf-nav-ink) !important;
  font-size: 15px;
  line-height: 1.4;
  text-decoration: none;
  box-shadow: none !important;
}
html body #products .pagination .page-link :is(span, i) { color: inherit !important; }
html body #products .pagination :is(.disabled .page-link, .page-link:disabled, .page-link.disabled) {
  color: #6B7280 !important;
  background: transparent !important;
}
html body #products .pagination :is(.active .page-link, .page-link[aria-current="page"]) {
  border-color: var(--sf-nav-ink) !important;
  background: var(--sf-nav-ink) !important;
  color: var(--sf-nav-yellow) !important;
  font-weight: 600;
}
html body#category .category__description a:focus-visible,
html body#manufacturer :is(.sf-brand-intro, .sf-brand-details) a:focus-visible,
html body #products .pagination .page-link:focus-visible {
  outline: 2px solid var(--sf-nav-ink) !important;
  outline-offset: 3px;
}
@media (hover: hover) and (pointer: fine) {
  html body#category .category__description a:hover,
  html body#manufacturer :is(.sf-brand-intro, .sf-brand-details) a:hover {
    text-decoration-color: var(--sf-nav-yellow) !important;
    text-decoration-thickness: 2px;
  }
  html body #products .pagination .page-link.js-pager-link:hover {
    background: var(--sf-nav-surface) !important;
    color: var(--sf-nav-ink) !important;
  }
}
@media (max-width: 575.98px) {
  html body #products .pagination { gap: 2px; }
  html body #products .pagination .page-link { padding-inline: 8px; }
}

/* Titres et liens du module de filtres, ouverts ou fermés. */
html body #search-filters {
  --bs-accordion-color: var(--sf-nav-ink);
  --bs-accordion-btn-color: var(--sf-nav-ink);
  --bs-accordion-active-color: var(--sf-nav-ink);
  --bs-accordion-active-bg: #FFF;
  --bs-accordion-btn-focus-box-shadow: none;
}
html body #search-filters .accordion-button {
  min-height: 44px;
  background: #FFF !important;
  color: var(--sf-nav-ink) !important;
  font-size: 15px;
  font-weight: 600;
  box-shadow: none !important;
}
html body #search-filters .search-filters__link { color: var(--sf-nav-ink) !important; }
html body #search-filters .search-filters__magnitude { color: #65717B !important; }
html body #search-filters :is(.accordion-button, .search-filters__link):focus-visible {
  outline: 2px solid var(--sf-nav-ink) !important;
  outline-offset: 2px;
}

/* Fiches produit : logo de marque lisible et bouton d'achat dans la charte. */
html body#product .product__manufacturer {
  display: flex;
  align-items: center;
  min-height: 80px;
}
html body#product .product__manufacturer > a {
  color: #202427 !important;
}
html body#product .product__manufacturer > a.sf-product-brand-link {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 80px;
  max-width: 168px;
  text-decoration: none;
}
html body#product .product__manufacturer .sf-product-brand-logo {
  display: block;
  width: auto;
  height: auto;
  max-width: 160px;
  max-height: 80px;
  object-fit: contain;
}
html body#product .product__manufacturer > a:focus-visible {
  outline: 2px solid #FFDF00 !important;
  outline-offset: 4px;
}
html body#product .product__add-to-cart-button {
  --bs-btn-color: #FFFFFF;
  --bs-btn-bg: #202427;
  --bs-btn-border-color: #202427;
  --bs-btn-hover-color: #202427;
  --bs-btn-hover-bg: #FFDF00;
  --bs-btn-hover-border-color: #FFDF00;
  --bs-btn-active-color: #202427;
  --bs-btn-active-bg: #FFDF00;
  --bs-btn-active-border-color: #FFDF00;
  --bs-btn-disabled-color: #65717B;
  --bs-btn-disabled-bg: #E4E7EA;
  --bs-btn-disabled-border-color: #D4D9DE;
  background-color: #202427 !important;
  border-color: #202427 !important;
  color: #FFFFFF !important;
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}
html body#product .product__add-to-cart-button :is(i, svg, span) {
  color: inherit !important;
}
html body#product .product__add-to-cart-button:focus-visible {
  outline: 2px solid #FFDF00 !important;
  outline-offset: 3px;
  box-shadow: none !important;
}
html body#product .product__add-to-cart-button:not(:disabled):not(.disabled):active {
  background-color: #FFDF00 !important;
  border-color: #FFDF00 !important;
  color: #202427 !important;
}
html body#product .product__add-to-cart-button:is(:disabled, .disabled) {
  background-color: #E4E7EA !important;
  border-color: #D4D9DE !important;
  color: #65717B !important;
}
@media (hover: hover) and (pointer: fine) {
  html body#product .product__add-to-cart-button:not(:disabled):not(.disabled):hover {
    background-color: #FFDF00 !important;
    border-color: #FFDF00 !important;
    color: #202427 !important;
  }
}
@media (max-width: 575.98px) {
  html body#product .product__manufacturer,
  html body#product .product__manufacturer > a.sf-product-brand-link {
    min-height: 72px;
  }
  html body#product .product__manufacturer .sf-product-brand-logo {
    max-width: 140px;
    max-height: 70px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html body#product .product__add-to-cart-button { transition: none; }
}

/* Commande chez le fournisseur : information neutre avec un colis, sans alerte. */
html body#product #product-availability .sf-supplier-availability {
  --bs-warning-rgb: 32, 36, 39;
  --bs-warning: #202427;
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: fit-content;
  max-width: 100%;
  padding: 10px 12px;
  border: 1px solid #E1E5E9;
  border-radius: 6px;
  background-color: #F5F6F8;
  color: #202427 !important;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 600;
}
html body#product #product-availability .sf-supplier-icon {
  display: block;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 2px 0 0;
  padding: 0;
  color: #202427 !important;
}
html body#product #product-availability .sf-supplier-availability .product__availability-messages {
  min-width: 0;
  color: #202427 !important;
}
html body#product #product-availability .sf-delivery-superseded { display: none !important; }


/* Masquer uniquement le bloc natif Détails du produit, FR/NL. */
body#product #product_details {
  display: none !important;
}

/* Fiches produits : accordéons anthracite et accent jaune. */
body#product #product_accordion .accordion-button {
  color: #202427 !important;
  --bs-accordion-btn-focus-box-shadow: none;
}
body#product #product_accordion .accordion-button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3E%3Cpath fill=%27none%27 stroke=%27%23202427%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3E%3C/svg%3E") !important;
}
body#product #product_accordion .accordion-button:hover::after,
body#product #product_accordion .accordion-button[aria-expanded="true"]::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3E%3Cpath fill=%27none%27 stroke=%27%23FFDF00%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3E%3C/svg%3E") !important;
}
body#product #product_accordion .accordion-button:focus-visible {
  outline: 2px solid #FFDF00;
  outline-offset: -2px;
  box-shadow: none !important;
}
/* Un seul contour, sans modifier la taille ou le rayon des vignettes. */
body#product .product__thumbnail .product__thumbnail-image {
  outline: 1px solid #E1E5E9 !important;
  outline-offset: -2px;
  border: 0 !important;
  box-shadow: none !important;
}
body#product .product__thumbnail:hover .product__thumbnail-image,
body#product .product__thumbnail:focus-visible .product__thumbnail-image {
  outline: 2px solid #202427 !important;
}
body#product .product__thumbnail.active .product__thumbnail-image {
  outline: 2px solid #FFDF00 !important;
}
body#product .product__thumbnail:focus {
  box-shadow: none !important;
}

/* Sous-catégories : contour gris légèrement renforcé uniquement au repos. */
html body#category .category__header .subcategory__list a.subcategory__link:not(:hover):not(:focus):not(:active):not(.sf-nav-current):not([aria-current="page"]) {
  border-color: #B8BFC7 !important;
}

/* Liste des marques : noms anthracite et contour de survol jaune. */
html body#manufacturer .brand__list .brand__title,
html body#manufacturer .brand__list .brand__title:is(:hover, :focus, :active, :visited) {
  color: #202427 !important;
}
html body#manufacturer .brand__list > .brand:is(:hover, :focus-within) {
  border-color: #FFDF00 !important;
}
html body#manufacturer .brand__list .brand__title:focus-visible {
  outline: 2px solid #FFDF00;
  outline-offset: 3px;
}

/* Contact : coordonnées et lien de confidentialité sobres et lisibles. */
html body#contact .ps-contactinfo__item a,
html body#contact .contact-form .gdpr-consent .form-check-label a {
  color: #202427 !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
html body#contact .ps-contactinfo__item a:is(:hover, :focus-visible),
html body#contact .contact-form .gdpr-consent .form-check-label a:is(:hover, :focus-visible) {
  color: #202427 !important;
  text-decoration-color: #FFDF00;
  text-decoration-thickness: 2px;
}
html body#contact .contact-form .sf-contact-optional-note {
  display: none !important;
}
/* Bouton de contact : même charte que les boutons d’action du site. */
html body#contact .contact-form button[name="submitMessage"] {
  background-color: #202427 !important;
  border-color: #202427 !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
}
html body#contact .contact-form button[name="submitMessage"]:is(:hover, :active):not(:disabled) {
  background-color: #FFDF00 !important;
  border-color: #FFDF00 !important;
  color: #202427 !important;
}
html body#contact .contact-form button[name="submitMessage"]:focus-visible {
  outline: 2px solid #FFDF00;
  outline-offset: 3px;
}
html body#contact .contact-form button[name="submitMessage"]:disabled {
  background-color: #DCE0E4 !important;
  border-color: #DCE0E4 !important;
  color: #626B73 !important;
  opacity: 1 !important;
}

/* Contact sur ordinateur : place suffisante pour l’adresse e-mail. */
@media (min-width: 992px) {
  html body#contact #left-column {
    flex: 0 0 340px;
    width: 340px;
  }
  html body#contact #center-column {
    flex: 1 1 0;
    width: calc(100% - 340px);
    min-width: 0;
  }
  html body#contact .ps-contactinfo__info--email {
    word-break: normal;
    overflow-wrap: normal;
    white-space: nowrap;
  }
}

/* Confidentialité : même lien anthracite souligné dans les formulaires. */
html body form label a[href*="/content/6-"],
html body#registration #customer-form label a[href*="/content/6-"],
html body #footer #emailsubscription_anchor_displayFooterBefore label a[href*="/content/6-"] {
  color: #202427 !important;
  text-decoration-line: underline !important;
  text-decoration-color: currentColor !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}
html body form label a[href*="/content/6-"]:is(:hover, :focus-visible),
html body#registration #customer-form label a[href*="/content/6-"]:is(:hover, :focus-visible),
html body #footer #emailsubscription_anchor_displayFooterBefore label a[href*="/content/6-"]:is(:hover, :focus-visible) {
  color: #202427 !important;
  text-decoration-color: #FFDF00 !important;
  text-decoration-thickness: 2px !important;
}

/* Devis FR/NL : action principale et liens dans la palette SecuriForce. */
html body#module-securiforcequote-request .sf-quote-form button[type="submit"] {
  background-color: #202427 !important;
  border-color: #202427 !important;
  color: #FFFFFF !important;
  box-shadow: none;
}
html body#module-securiforcequote-request .sf-quote-form button[type="submit"]:is(:hover, :active):not(:disabled):not(.disabled) {
  background-color: #FFDF00 !important;
  border-color: #FFDF00 !important;
  color: #202427 !important;
}
html body#module-securiforcequote-request .sf-quote-form button[type="submit"]:focus-visible {
  outline: 2px solid #FFDF00;
  outline-offset: 3px;
  box-shadow: none !important;
}
html body#module-securiforcequote-request .sf-quote-form button[type="submit"]:is(:disabled, .disabled) {
  background-color: #E1E5E9 !important;
  border-color: #E1E5E9 !important;
  color: #6B7280 !important;
}
html body#module-securiforcequote-request .sf-quote-form a:is([href^="mailto:"], [href*="/content/6-"]),
html body#module-securiforcequote-request .sf-quote-contact a {
  color: #202427 !important;
  text-decoration-line: underline !important;
  text-decoration-color: currentColor !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}
html body#module-securiforcequote-request .sf-quote-form a:is([href^="mailto:"], [href*="/content/6-"]):is(:hover, :focus-visible),
html body#module-securiforcequote-request .sf-quote-contact a:is(:hover, :focus-visible) {
  color: #202427 !important;
  text-decoration-color: #FFDF00 !important;
  text-decoration-thickness: 2px !important;
}
html body#module-securiforcequote-request .sf-quote-form a:is([href^="mailto:"], [href*="/content/6-"]):focus-visible,
html body#module-securiforcequote-request .sf-quote-contact a:focus-visible {
  outline: 2px solid #FFDF00;
  outline-offset: 3px;
}
