/*
===========================================================
ADDEV MATERIALS – D365 Commerce Custom CSS v2.0
Theme: Adventure Works Business
Author: Pascal Alkotob
Last update: 2025-01-19
Optimized by: Claude (Anthropic)
===========================================================

CHANGELOG v2.0:
- Variables CSS centralisées
- Règles consolidées (suppression des doublons)
- Conflits résolus
- Organisation par sections claires
- Commentaires améliorés

===========================================================
*/

/* =========================================================
   IMPORTS – Google Fonts (MUST BE FIRST)
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Questrial&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;900&display=swap');

/* =========================================================
   VARIABLES GLOBALES
   ========================================================= */
:root {
  /* COULEURS */
  --addev-primary: #00aaf8;
  --addev-primary-light: #00aaf8ad;
  --addev-primary-hover: #1ea0ff;
  --addev-secondary: #4083ff;
  --addev-dark: #243746;
  --addev-dark-hover: #1ea0ff;
  --addev-text-primary: #1b242c;
  --addev-text-secondary: #708496;
  --addev-text-light: #9aa5b1;
  --addev-border: #e1e6ee;
  --addev-border-light: #d5dbe3;
  --addev-bg-light: #f4f6f9;
  --addev-bg-card: #ffffff;
  --addev-danger: #f63f3f;
  --addev-danger-light: #ff4930;

  /* TYPOGRAPHIE */
  --addev-font-body: 'Questrial', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  --addev-font-heading: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;

  /* ESPACEMENTS */
  --addev-spacing-xs: 6px;
  --addev-spacing-sm: 10px;
  --addev-spacing-md: 18px;
  --addev-spacing-lg: 28px;
  --addev-spacing-xl: 40px;

  /* LAYOUT */
  --addev-header-height: 64px;
  --addev-container-max: 1440px;
  --addev-border-radius: 12px;
  --addev-border-radius-sm: 8px;
  --addev-border-radius-pill: 999px;

  /* EFFETS */
  --addev-shadow-card: 0 8px 22px rgba(15, 35, 52, 0.10);
  --addev-shadow-hover: 0 10px 24px rgba(15, 35, 52, 0.10);
  --addev-transition: 0.2s ease;

  /* MENU */
  --addev-menu-max-width: 1180px;
  --addev-menu-padding-x: 28px;
  --addev-menu-padding-y: 18px;
}

/* =========================================================
   1. TYPOGRAPHIE GLOBALE
   ========================================================= */
html, body {
  font-family: var(--addev-font-body) !important;
}

[class^="ms-"], [class*=" ms-"],
[class^="msc-"], [class*=" msc-"] {
  font-family: var(--addev-font-body) !important;
}

h1, h2, h3, h4, h5, h6,
.msc-heading,
.ms-content-block__title,
.ms-nav, .ms-nav_list, .ms-nav_list_item,
.ms-header,
button, .msc-button, .msc-btn {
  font-family: var(--addev-font-heading) !important;
}

h1, .ms-content-block__title { 
  font-weight: 700 !important; 
}

h2, h3, .msc-heading { 
  font-weight: 600 !important; 
}

.ms-nav a, .ms-nav button { 
  font-weight: 600 !important; 
}

.msc-button, button { 
  font-weight: 600 !important; 
}

/* =========================================================
   2. HEADER – Layout & Alignement
   ========================================================= */
/* Hauteur compacte sur desktop uniquement ; conserver l'espacement mobile. */
.ms-header__topbar {
  display: flex !important;
  align-items: center !important;
  padding: 12px 0 !important;
  column-gap: 0 !important;
}

@media (min-width: 992px) {
  .ms-header {
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .ms-header__topbar {
    padding: 7px 0 !important;
  }
}

.ms-header__account-info,
.ms-header__account-info--desktop {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
}

/* =========================================================
   3. HEADER – Logo
   ========================================================= */
.ms-header__container .ms-header__topbar .ms-header__logo img {
  height: auto !important;
  max-height: 54px !important;
  width: auto !important;
  max-width: 190px !important;
  display: block !important;
}

@media (max-width: 991px) {
  .ms-header__container .ms-header__mobile-logo,
  .ms-header__container .ms-header__topbar .ms-header__mobile-logo {
    max-width: 160px !important;
    display: flex !important;
    align-items: center !important;
  }

  .ms-header__container .ms-header__mobile-logo img,
  .ms-header__container .ms-header__mobile-logo picture img,
  .ms-header__container .ms-header__topbar .ms-header__mobile-logo img,
  .ms-header__container .ms-header__topbar .ms-header__mobile-logo picture img {
    max-height: 44px !important;
    max-width: 160px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
  }
}

/* =========================================================
   4. HEADER – Search Bar
   ========================================================= */
.ms-search__form-control,
.ms-search__form-control:focus {
  border-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

.ms-search__autoSuggest {
  margin-top: 20px;
}

.ms-search__autoSuggest .msc-autoSuggest__search-title-container {
  background: #263746;
}

.ms-search__autoSuggest .msc-autoSuggest__results-container {
    background: #263746;
}

@media (min-width: 992px) {
  header .ms-header__container .ms-header__topbar .ms-search-with-submit {
    margin-left: auto !important;
    flex: 0 0 45% !important;
    max-width: 45% !important;
  }

  header .ms-header__container .ms-header__topbar .ms-search__form-control {
    width: 100% !important;
  }

  header .ms-header__container .ms-header__topbar .desktop-navicon-container {
    margin-left: 16px !important;
  }
}

/* Disable header search autosuggest dropdown */
.ms-header .ms-search__autoSuggest,
.ms-header .ms-search__autoSuggest.show {
    display: none !important;
}

/* =========================================================
   5. HEADER – Burger Button (Premium Style)
   ========================================================= */
button.ms-nav__hamburger,
button.ms-nav__hamburger:focus,
button.ms-nav__hamburger:hover {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.ms-header__mobile-logo + .ms-header__mobile-nav {
  margin-left: 15px !important;
}

/* Burger Premium Style */
.ms-header__container .ms-header__topbar button.ms-nav__hamburger,
.ms-header__container .ms-header__topbar button.ms-header__nav-icon,
.ms-header__container .ms-header__topbar .ms-header__nav-icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: var(--addev-border-radius) !important;
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background-color var(--addev-transition), border-color var(--addev-transition), transform 0.15s ease;
}

.ms-header__container .ms-header__topbar button.ms-nav__hamburger:hover,
.ms-header__container .ms-header__topbar button.ms-header__nav-icon:hover,
.ms-header__container .ms-header__topbar .ms-header__nav-icon:hover {
  background: rgba(255,255,255,0.14) !important;
  border-color: rgba(255,255,255,0.22) !important;
  transform: translateY(-1px);
}

.ms-header__container .ms-header__topbar button.ms-nav__hamburger:focus,
.ms-header__container .ms-header__topbar button.ms-header__nav-icon:focus,
.ms-header__container .ms-header__topbar .ms-header__nav-icon:focus {
  outline: none !important;
  box-shadow: none !important;
}

.ms-header__container .ms-header__topbar button.ms-nav__hamburger svg,
.ms-header__container .ms-header__topbar button.ms-nav__hamburger i,
.ms-header__container .ms-header__topbar button.ms-nav__hamburger span,
.ms-header__container .ms-header__topbar button.ms-header__nav-icon svg,
.ms-header__container .ms-header__topbar button.ms-header__nav-icon i,
.ms-header__container .ms-header__topbar button.ms-header__nav-icon span {
  transform: scale(1.15);
}

/* Separator (right side of burger) */
.ms-header__container .ms-header__topbar .desktop-navicon-container,
.ms-header__container .ms-header__topbar .mobile-navicon-container {
  margin-left: 0 !important;
  padding-left: 0 !important;
  margin-right: var(--addev-spacing-md) !important;
  padding-right: var(--addev-spacing-md) !important;
  position: relative;
}

.ms-header__container .ms-header__topbar .desktop-navicon-container::after,
.ms-header__container .ms-header__topbar .mobile-navicon-container::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 34px;
  background: rgba(255,255,255,0.18);
}

/* =========================================================
   6. NAVIGATION – Desktop Menu Alignment
   ========================================================= */
@media (min-width: 992px) {
  .ms-nav.desktop-vp {
    margin: 0 auto;
    padding: 0 60px;
    box-sizing: border-box;
  }

  .ms-nav.desktop-vp .ms-nav__default {
    padding-top: var(--addev-spacing-xl);
    padding-bottom: var(--addev-spacing-xl);
  }

  .ms-nav.desktop-vp .ms-nav__default > .ms-nav__list > .ms-nav__list__item {
    width: auto;
  }

  .ms-nav.desktop-vp .ms-nav__default > .ms-nav__list > .ms-nav__list__item > .ms-nav__list__item__link {
    padding-left: 0;
  }

  .ms-nav.desktop-vp .ms-nav__default > .ms-nav__list > .ms-nav__list__item > .ms-nav__list__item__link::before {
    left: 0;
    right: auto;
    width: 100%;
  }

  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__deafult>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link,
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__feature>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link {
    background-color: transparent;
    color: var(--msv-feature-link-dark-font-color);
    font-family: Rubik-regular;
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: 24px;
    min-height: 24px;
    position: relative;
    text-decoration: none;
  }

  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__button:focus,
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__button:hover,
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link:focus,
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link:hover {
    background: transparent;
    border: none;
    outline: none;
    color: var(--addev-secondary);
  }

  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__deafult>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link:before,
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__feature>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link:before {
    bottom: -6px;
    height: 2px;
    left: 0;
    transform: scaleX(1);
    width: 100%;
  }

  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__deafult>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link:focus,
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__deafult>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link:hover,
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__feature>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link:focus,
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__feature>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link:hover {
    color: var(--addev-secondary);
  }
}

@media screen and (min-width: 768px) {
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__deafult>.ms-nav__list,
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__feature>.ms-nav__list {
    background: var(--msv-nav-bg);
    display: flex;
    justify-content: flex-start;
    left: 0;
    flex-wrap: wrap;
  }

  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__button[aria-expanded=true],
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link[aria-expanded=true] {
    color: var(--addev-secondary);
  }

  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__button:hover,
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link:hover {
    cursor: pointer;
    font-family: 'Rubik-Medium';
    font-style: normal;
    font-weight: 500;
  }
}

  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link {
    display:block
  }

  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__button:hover, .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link:hover {
    justify-content: center;  
  }

/* =========================================================
   7. BURGER MENU PANEL – Desktop Layout
   ========================================================= */
@media (min-width: 992px) {
  .ms-header__container .ms-header__collapsible-hamburger.collapse.show {
    top: var(--addev-header-height) !important;
    width: min(var(--addev-menu-max-width), calc(100vw - 48px)) !important;
    max-width: min(var(--addev-menu-max-width), calc(100vw - 48px)) !important;
    border-radius: 0px 0px 16px 16px !important;
    overflow: hidden !important;
    z-index: 9999 !important;
  }

  .ms-header__container .ms-header__collapsible-hamburger.collapse.show nav.ms-nav_desktop-vp {
    width: 100% !important;
    max-height: calc(100vh - (var(--addev-header-height) + 16px)) !important;
    overflow: auto !important;
    padding: var(--addev-menu-padding-y) var(--addev-menu-padding-x) !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.25) transparent;
  }

  .ms-header__container .ms-header__collapsible-hamburger.collapse.show nav.ms-nav_desktop-vp::-webkit-scrollbar {
    width: 8px;
  }

  .ms-header__container .ms-header__collapsible-hamburger.collapse.show nav.ms-nav_desktop-vp::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.18);
    border-radius: 10px;
  }

  .ms-header__container .ms-header__collapsible-hamburger.collapse.show nav.ms-nav_desktop-vp::-webkit-scrollbar-track {
    background: transparent;
  }

  .ms-header__container .ms-header__collapsible-hamburger.collapse.show .ms-nav-close-button {
    display: none !important;
  }

  .ms-header__container .ms-header__collapsible-hamburger.collapse.show nav.ms-nav_desktop-vp > ul.ms-nav_list {
    display: flex !important;
    align-items: flex-start !important;
    gap: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ms-header__container .ms-header__collapsible-hamburger.collapse.show .ms-nav_feature,
  .ms-header__container .ms-header__collapsible-hamburger.collapse.show .ms-nav_default {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ms-nav_desktop-vp ul.ms-nav_list.level-2.navmenu-multi-level {
    width: 100% !important;
    max-width: var(--addev-container-max) !important;
    margin: 0 auto !important;
  }

  .ms-nav_desktop-vp .ms-nav_default,
  .ms-nav_desktop-vp .ms-nav_feature {
    width: 100% !important;
    max-width: var(--addev-container-max) !important;
    margin: 0 auto !important;
  }

  .ms-nav_desktop-vp .ms-nav_default > .ms-nav_list,
  .ms-nav_desktop-vp .ms-nav_feature > .ms-nav_list {
    width: 100% !important;
  }

  /* Submenu "All Products" en 3 colonnes */
  .ms-nav_desktop-vp ul.ms-nav_list.level-2.navmenu-multi-level li.ms-nav_list_item.haveSubmenu > div.ms-nav_default > ul.ms-nav_list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 220px));
    column-gap: 60px;
    row-gap: 8px;
    padding-right: var(--addev-spacing-xl);
  }

  .ms-nav_desktop-vp ul.ms-nav_list.level-2.navmenu-multi-level li.ms-nav_list_item.haveSubmenu > div.ms-nav_default > ul.ms-nav_list > li.ms-nav_list_item {
    margin: 0;
    padding: 2px 0;
    list-style: none;
  }

  .ms-nav_desktop-vp ul.ms-nav_list.level-2.navmenu-multi-level li.ms-nav_list_item.haveSubmenu > div.ms-nav_default > ul.ms-nav_list > li.ms-nav_list_item > a.ms-nav_list_item_link {
    display: inline-block;
    width: auto;
  }
}

/* =========================================================
   8. HOME – Hero Content Block
   ========================================================= */
.ms-content-block[data-m-layout=full-width-b2b] .ms-content-block__title {
  align-items: center;
  color: #fff;
  display: flex;
  font-family: var(--addev-font-heading);
  font-size: 3rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .01em;
  line-height: 1;
  width: 55%;
}

.ms-content-block[data-m-layout=full-width-b2b] .ms-content-block__details {
  width: 50% !important;
}

.ms-content-block[data-m-layout=full-width-b2b] .ms-content-block__title {
  width: -moz-fit-content !important;
  width: fit-content !important;
  max-width: 100% !important;
  display: inline-block !important;
  position: relative !important;
  z-index: 1 !important;
  isolation: isolate;
}

.ms-content-block[data-m-layout=full-width-b2b] .ms-content-block__title::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -10px;
  bottom: -10px;
  left: -14px;
  right: -14px;
  background: var(--addev-primary-light);
  border-radius: var(--addev-spacing-xs);
}

.ms-content-block[data-m-layout=full-width-b2b] .ms-content-block__text {
  font-weight: 100;
}

@media screen and (min-width: 992px) {
  .ms-content-block[data-m-layout=full-width-b2b] .ms-content-block__details {
    height: 100%;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    padding-left: 7%;
    padding-right: 12%;
  }
}

.ms-content-block[data-m-layout=full-width-b2b].texttheme__light .ms-content-block__details .msc-cta__primary {
  background: #ffffff57;
  border: 0px solid var(--msv-primary-btn-dark-border-color);
  font-weight: 800;
}

.ms-content-block[data-m-layout=full-width-b2b].texttheme__dark .ms-content-block__details .msc-cta__primary {
  background: #263746b0;
  border: none;
  font-weight: 800;
}

/* =========================================================
   9. HOME – Carousel Indicators
   ========================================================= */
.msc-carousel__indicators .active {
  background: var(--addev-primary);
  opacity: 1;
}

.msc-carousel__indicators li {
  border: 1px solid #ffffff;
}

/* =========================================================
   10. HOME – Content Blocks
   ========================================================= */
@media screen and (min-width: 768px) {
  .ms-content-block[data-m-layout=left-right].textplacement__left,
  .ms-content-block[data-m-layout=left-right].textplacement__right {
    display: grid;
    grid-template-columns: 3fr 3fr;
    grid-template-rows: auto;
  }

  .ms-text-block {
    margin-top: 0px;
    text-align: left;
  }
}

@media (min-width: 992px) {
  .default-container-2-slots.default-container-2-slots.\31 __0.fluid {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 7% !important;
    padding-right: 7% !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
  }

  .ms-text-block {
    margin-left: 7%;
  }

  .ms-content-block[data-m-layout=left-right] .ms-content-block__text {
    padding-right: 10%;
  }

  .ms-content-block[data-m-layout=full-width-with-container] .ms-content-block__details.withoutImage {
    padding: 60px 80px 0 39px;
  }

  .default-container-2-slots > .row {
    display: flex;
    align-items: center;
  }

  .default-container-2-slots > .row > .col-auto.col-md-6.col-lg-6:first-child {
    display: flex;
    align-items: center;
  }

  .default-container-2-slots > .row > .col-auto.col-md-6.col-lg-6:first-child .ms-content-block__details {
    max-width: 800px;
  }
}

/* =========================================================
   11. HOME – Video Player
   ========================================================= */
.msc-videoplayer .msc-videoplayer__wrapper .msc-videoplayer__playpausetrigger__container .msc-videoplayer__playpausetrigger>button {
  background-color: #0000001c;
  border: none;
  box-shadow: none;
  color: #ffffffd9;
  height: 7rem;
  width: 7rem;
}

.msc-videoplayer .msc-videoplayer__wrapper .msc-videoplayer__playpausetrigger__container .msc-videoplayer__playpausetrigger__playbtn:before {
  font-size: 6rem;
  top: 0;
}

/* =========================================================
   12. HOME – Tile List
   ========================================================= */
.home-tile {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 1% !important;
  padding-right: 1% !important;
  box-sizing: border-box !important;
  overflow: hidden;
}

.ms-tile-list__heading .ms-tile-list__title {
  font-family: var(--addev-font-heading) !important;
  font-size: var(--msv-h1-font-size-m);
  font-weight: 900 !important;
  margin-bottom: 4%;
  margin-top: 1%;
}

.ms-tile-list .msc-ss-carousel .ms-tile__item .ms-tile-list__heading .ms-tile-list__title {
  left: 7%;
}

.ms-tile-list.b2b-tiles .msc-ss-carousel .ms-tile__item .ms-tile-list-container .ms-tile-list__heading .ms-tile-list__title {
  justify-content: left;
  left: 7%;
}

.ms-tile-list .msc-ss-carousel .ms-tile__item .ms-tile-list-container:hover .ms-tile-list__heading .ms-tile-list__title {
  font-family: Rubik-Bold;
  font-size: 1.2rem;
  font-style: normal;
  font-weight: 700;
  left: 10%;
  line-height: var(--msv-h2-line-height-l);
  top: 75%;
  transition: all .4s;
  transition-delay: .05s;
  width: auto;
}

/* =========================================================
   13. HOME – Suppliers & Product Collection (V10)
   Scope: only modules tagged in Commerce Site Builder.
   Add `addev-home-suppliers` to the supplier section,
   `addev-home-logos` to the rich-text module with ten logos,
   `addev-home-products` to the home Product Collection,
   and `addev-home-see-all` to the CTA module.
   ========================================================= */

/* 13.1  Supplier heading: Inter, flat and no decorative boxes. */
.addev-home-suppliers :is(h2, h3, .ms-text-block__title,
    .ms-content-block__title, .msc-heading) {
  font-family: var(--addev-font-heading) !important;
  color: #243746 !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em;
}

/* 13.2  Five logos per row, exactly two rows on desktop.
   Support a dedicated HTML logo-grid wrapper or a rich-text paragraph
   containing ten images or links. Do not alter the image assets. */
.addev-home-logos .addev-supplier-logo-grid,
.addev-home-logos .ms-text-block__text :is(p, div):has(> img:nth-of-type(5)),
.addev-home-logos .ms-text-block__text :is(p, div):has(> a:nth-of-type(5)),
.addev-home-logos .ms-text-block__text :is(p, div):has(> span:nth-of-type(5)) {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 24px 34px !important;
  align-items: center !important;
  justify-items: center !important;
  width: min(100%, 1180px) !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.addev-home-logos :is(img, a, span, .addev-supplier-logo-grid > *) {
  box-shadow: none !important;
}

.addev-home-logos img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  max-height: 70px !important;
  height: auto !important;
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.addev-home-logos .addev-supplier-logo-grid > *,
.addev-home-logos .ms-text-block__text :is(p, div):has(> img:nth-of-type(5)) > *,
.addev-home-logos .ms-text-block__text :is(p, div):has(> a:nth-of-type(5)) > *,
.addev-home-logos .ms-text-block__text :is(p, div):has(> span:nth-of-type(5)) > * {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-width: 0 !important;
}

.addev-home-logos .ms-text-block__text :is(p, div):has(> img:nth-of-type(5)) > br,
.addev-home-logos .ms-text-block__text :is(p, div):has(> a:nth-of-type(5)) > br,
.addev-home-logos .ms-text-block__text :is(p, div):has(> span:nth-of-type(5)) > br {
  display: none !important;
}

/* Only the identified home collection gets the flat product cards. */
.ms-product-collection .msc-price__actual,
.ms-product-collection .msc-price__strikethrough {
  color: var(--addev-secondary);
  font-family: Rubik-Regular;
  font-size: 1.3rem;
  font-style: normal;
  font-weight: 800;
  line-height: var(--msv-body-line-height-m);
}

@media (min-width: 992px) {
  .ms-product-collection__item,
  .ms-product-collection__item:first-child {
    width: 20%;
  }

  .ms-product-collection {
    margin-bottom: 2% !important;
  }
}

.ms-product-collection.addev-home-products .ms-product-collection__item {
  box-sizing: border-box;
  padding: 10px !important;
  min-width: 0;
}

.ms-product-collection.addev-home-products .msc-product {
  background: #fff !important;
  border: 1px solid #e1e6ee !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: none !important;
  height: 100%;
  box-sizing: border-box;
  transition: border-color 0.18s ease;
}

.ms-product-collection.addev-home-products .msc-product:hover {
  border-color: #cbd8e3 !important;
  box-shadow: none !important;
}

/* Images remain dynamic and unchanged: source is still F&O. */
.ms-product-collection.addev-home-products :is(
    .msc-product__image-container, .msc-product__image) {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f2f5f8 !important;
  height: 170px;
  overflow: hidden;
  box-shadow: none !important;
}

.ms-product-collection.addev-home-products :is(
    .msc-product__image-container, .msc-product__image) img,
.ms-product-collection.addev-home-products img.msc-product__image {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 170px;
  object-fit: contain !important;
  object-position: center;
}

.ms-product-collection.addev-home-products :is(
    .msc-product__title, .msc-product__title a, .msc-product__title > span) {
  font-family: var(--addev-font-heading) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #243746 !important;
  text-align: left !important;
}

.ms-product-collection.addev-home-products .msc-product__title {
  padding: 10px 12px 0 !important;
  margin: 0 !important;
  min-height: 52px;
}

.ms-product-collection.addev-home-products .msc-product .msc-price {
  padding: 4px 12px 12px !important;
  text-align: left !important;
}

.ms-product-collection.addev-home-products .msc-price__actual {
  color: #00AAF8 !important;
  font-family: var(--addev-font-heading) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
}

/* CTA: match PDP's dark-blue, gently rounded button; blue on hover.
   Tag only the existing See all products module or link. */
.addev-home-see-all:is(a, button, .msc-btn, .msc-button),
.addev-home-see-all :is(a, button, .msc-btn, .msc-button) {
  background: #243746 !important;
  color: #fff !important;
  border: 1px solid #243746 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  font-family: var(--addev-font-heading) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: .04em;
  min-width: 210px;
  padding: 13px 24px !important;
  text-decoration: none !important;
  text-align: center;
  transition: background-color .18s ease, border-color .18s ease;
}

.addev-home-see-all:is(a, button, .msc-btn, .msc-button):hover,
.addev-home-see-all :is(a, button, .msc-btn, .msc-button):hover {
  background: #00AAF8 !important;
  border-color: #00AAF8 !important;
  color: #fff !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  .addev-home-logos .addev-supplier-logo-grid,
  .addev-home-logos .ms-text-block__text :is(p, div):has(> img:nth-of-type(5)),
  .addev-home-logos .ms-text-block__text :is(p, div):has(> a:nth-of-type(5)),
  .addev-home-logos .ms-text-block__text :is(p, div):has(> span:nth-of-type(5)) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
    padding: 0 16px !important;
  }

  .addev-home-logos img { max-height: 56px !important; }

  .ms-product-collection.addev-home-products :is(
      .msc-product__image-container, .msc-product__image) {
    height: 150px;
  }
}

/* =========================================================
   14. FOOTER – NEOTRADE compact / flat design (V9)
   Five desktop footer columns incl. certifications.
   Reassurance centred; existing Buybox and certifications unchanged.
   ========================================================= */

/* Existing icon mapping preserved; only presentation adjusted */
.ms-footer .ms-footer__list.pre-footer .ms-footer__heading__title-icon::before {
  font-weight: 300;
  margin-top: 0;
  color: #00AAF8;
  font-size: 23px;
}

.ms-footer .ms-footer__list.pre-footer .ms-footer__list-item.find-a-store:first-child .ms-footer__heading__title-icon::before {
  content: "\EFFC";
}

.ms-footer .ms-footer__list.pre-footer .ms-footer__list-item.customer-service:first-child .ms-footer__heading__title-icon::before {
  content: "\F3E9";
}

.ms-footer .ms-footer__list.pre-footer .ms-footer__list-item.need-help:first-child .ms-footer__heading__title-icon::before {
  content: "\EC0E";
}

.ms-footer .ms-footer__list.pre-footer .ms-footer__list-item.general-info:first-child .ms-footer__heading__title-icon::before {
  content: "\F0D3";
}

.ms-footer .ms-footer__list.pre-footer .ms-footer__list-item .ms-footer__heading__title {
  color: #243746 !important;
  font-family: var(--addev-font-heading) !important;
  font-size: 14px !important;
  font-style: normal;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}

.ms-footer .ms-footer__list.pre-footer .ms-footer__item,
.ms-footer .ms-footer__list.pre-footer p {
  font-size: 13px;
  line-height: 1.55;
  color: #708496;
}

@media (min-width: 993px) {
  .spacer-footer {
    background-color: #ffffff;
  }

  /* Reassurance strip: full-width background; four items centred
     inside a 1280px content area aligned with the footer below. */
  .ms-footer .ms-footer__list.pre-footer {
    background-color: #f3f6f8 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    padding-top: 21px !important;
    padding-bottom: 21px !important;
    padding-left: max(24px, calc((100% - 1280px) / 2)) !important;
    padding-right: max(24px, calc((100% - 1280px) / 2)) !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    column-gap: 24px !important;
    align-items: start !important;
    text-align: left;
  }

  /* The Commerce theme may assign a fixed width to the four items.
     Let the grid distribute them evenly without overflow. */
  .ms-footer .ms-footer__list.pre-footer > * {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    flex: none !important;
  }

  /* Main footer: 5 columns, last one reserved for Certifications.
     Values match the desktop layout tested and validated in Chrome. */
  .ms-footer .ms-footer__list.main-footer {
    max-width: 1450px !important;
    margin: 0 auto !important;
    padding: 40px 24px 30px !important;
    display: grid !important;
    grid-template-columns:
      minmax(190px, 1.25fr)
      minmax(115px, .85fr)
      minmax(140px, 1fr)
      minmax(135px, .9fr)
      minmax(360px, 2.25fr) !important;
    align-items: start !important;
    justify-content: initial !important;
    column-gap: 22px !important;
    row-gap: 22px !important;
    height: auto !important;
    min-height: 0 !important;
    box-sizing: border-box;
    border-top: 0 !important;
  }

  .ms-footer .ms-footer__list.main-footer .ms-footer__item {
    padding-top: 4px !important;
  }

  .ms-footer .ms-footer__list.main-footer li.ms-footer__list-item {
    margin: 0 !important;
    flex: none !important;
    min-width: 0;
    text-align: left;
  }

  .ms-footer .ms-footer__list.main-footer li.ms-footer__list-item:first-child {
    flex: none !important;
  }

  /* Let all five grid columns determine their own width. */
  .ms-footer .ms-footer__list.main-footer > * {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
  }

  .ms-footer .ms-footer__list.main-footer li.ms-footer__list-item .ms-footer__heading__title {
    color: #00AAF8 !important;
    font-family: var(--addev-font-heading) !important;
    font-size: 13px !important;
    font-style: normal;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    margin-bottom: 12px !important;
  }

  .ms-footer .ms-footer__list.main-footer .ms-footer__link {
    color: #9aafbd !important;
    font-size: 13px;
    line-height: 1.6;
    text-decoration: none;
    transition: color .18s ease;
  }

  .ms-footer .ms-footer__list.main-footer .ms-footer__link:hover {
    color: #00AAF8 !important;
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  /* Legal/social row, kept slim */
  .ms-footer .ms-footer__list.post-footer {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 14px 24px !important;
    min-height: 56px;
    height: auto !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
  }

  .ms-footer .post-footer-container {
    border: none !important;
    border-top: 1px solid #293844 !important;
  }

  .ms-footer .ms-footer__list.post-footer .ms-footer-copyright {
    font-family: var(--addev-font-body);
    font-size: 12px;
  }
}

/* Reassurance is two columns on narrower desktop widths to keep copy readable. */
@media (min-width: 993px) and (max-width: 1099px) {
  .ms-footer .ms-footer__list.pre-footer {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    row-gap: 18px !important;
  }
}

/* On tablet/laptops under 1100px, do not force five narrow columns. */
@media (min-width: 768px) and (max-width: 1099px) {
  .ms-footer .ms-footer__list.main-footer {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 30px !important;
    row-gap: 25px !important;
  }

  .ms-footer .ms-footer__list.main-footer > * {
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    flex: none !important;
  }

  .ms-footer .ms-footer__list.main-footer > :last-child {
    grid-column: 1 / -1;
  }
}

/* Certifications image: natural ratio, 300px wide on desktop.
   Works whether the custom class is on the Footer item or on <img>.
   The image itself stays untouched and retains its two-row logo layout. */
.ms-footer .ms-footer__list.main-footer .logos-certif img,
.ms-footer .ms-footer__list.main-footer img.logos-certif {
  display: block !important;
  width: 300px !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  margin-left: 0 !important;
}

/* Do not let image wrappers impose a stretched height. */
.ms-footer .ms-footer__list.main-footer .logos-certif picture {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
}

/* On mobile, retain the theme's stacking and touch targets */
@media (max-width: 767px) {
  .ms-footer .ms-footer__list.pre-footer {
    background: #f3f6f8;
  }
}

/* =========================================================
   15. PDP – Buybox Layout
   ========================================================= */
.ms-buybox .msc-buybox__shop-description,
.ms-buybox .msc-buybox__description-text {
  display: none;
}

.ms-buybox .msc-buybox__bulk-purchase-section {
  border: .5px solid #ffffff;
}

.ms-buybox .msc-price__strikethrough {
  color: var(--addev-danger);
}

/* =========================================================
   16. PDP – Product Specifications Table
   ========================================================= */
.ms-product-specification {
  margin-top: var(--addev-spacing-sm) !important;
  padding: 20px !important;
  background: var(--addev-bg-light) !important;
  border-radius: var(--addev-spacing-sm) !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.ms-product-specification table.ms-product-specification_table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: var(--addev-bg-card) !important;
}

.ms-product-specification tr.ms-product-specification_table-row {
  border-bottom: 1px solid #d9dee3 !important;
}

.ms-product-specification th {
  text-align: left !important;
  padding: var(--addev-spacing-sm) 12px !important;
  width: 40% !important;
  font-weight: 600 !important;
  color: #506173 !important;
  background: #eef2f6 !important;
  font-size: 13px !important;
}

.ms-product-specification td {
  text-align: left !important;
  padding: var(--addev-spacing-sm) 12px !important;
  width: 60% !important;
  font-weight: 400 !important;
  color: #1b242c !important;
  background: var(--addev-bg-card) !important;
  font-size: 13px !important;
}

.ms-product-specification table.table-bordered,
.ms-product-specification table.table-bordered td,
.ms-product-specification table.table-bordered th {
  border: none !important;
  max-width: 100% !important;
  width: 100%;
}

.ms-product-specification th span,
.ms-product-specification td span {
  display: block;
}

.ms-product-specification::before {
  content: "Product details";
  display: block;
  font-family: 'Rubik-Regular';
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--addev-text-secondary);
  margin-bottom: var(--addev-spacing-sm);
}

@media (max-width: 991px) {
  .ms-product-specification {
    margin: 24px auto !important;
    max-width: 100% !important;
  }
}

/* =========================================================
   17. PDP – Buybox Price Section
   ========================================================= */
.msc-buybox__price-section,
.msc-buybox__bulk-purchase-section,
.msc-buybox__add-to-cart-container {
  background: var(--addev-bg-light);
  border-radius: var(--addev-border-radius);
  padding: 16px var(--addev-spacing-md);
  margin-bottom: 14px;
}

.ms-buybox .msc-buybox__price-section {
  padding-bottom: 35px;
  padding-top: 12px;
  border: none !important;
  box-shadow: none !important;
  padding-bottom: var(--addev-spacing-sm) !important;
  margin-bottom: var(--addev-spacing-sm) !important;
}

.msc-buybox__price-section-text {
  font-size: 12px;
  color: var(--addev-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--addev-spacing-xs);
}

.msc-price {
  font-size: 26px;
  font-weight: 600;
  color: #1b2b3a;
}

.msc-price__list {
  font-size: 14px;
  color: var(--addev-text-light);
  margin-right: 8px;
}

.ms-buybox .msc-price__actual {
  color: var(--addev-primary);
  font-size: 2rem;
  padding-bottom: 1%;
  padding-top: 1%;
}

/* =========================================================
   18. PDP – Buybox Quantity Section
   ========================================================= */
.msc-buybox__bulk-purchase-section {
  background: var(--addev-bg-card);
  border: 1px solid #e2e6ec;
  padding: var(--addev-spacing-sm) 12px !important;
  margin-bottom: var(--addev-spacing-sm) !important;
}

.msc-buybox__quantity {
  display: flex !important;
  align-items: center;
  gap: var(--addev-spacing-sm) !important;
  flex-direction: row;
  padding: 0;
  flex-wrap: wrap;
}

.msc-buybox__quantity .quantity input {
  width: 60px !important;
  height: 32px !important;
  text-align: center;
  border-radius: var(--addev-border-radius-sm);
  border: 1px solid var(--addev-border-light);
  font-size: 14px !important;
}

.ms-buybox .quantity {
  display: flex;
  width: 50% !important;
}

.msc-buybox__quantity button {
  width: 30px !important;
  height: 30px !important;
  border-radius: var(--addev-border-radius-sm);
  border: 1px solid var(--addev-border-light);
  background: #f2f5f9;
}

.msc-buybox__product-unit-of-measure {
  font-size: 12px;
  color: var(--addev-text-secondary);
  margin-left: var(--addev-spacing-xs);
  margin-left: var(--addev-spacing-sm);
  order: 2;
}

.quantity_text_message {
  font-size: 11px;
  line-height: 1.3;
  margin-top: 4px !important;
  color: #7a8694;
  order: 3;
  margin-top: 5% !important;
}

.ms-buybox__quantity .quantity_text_message .ms-buybox__minmax_label_text {
  color: var(--addev-primary);
  font-family: Rubik-Regular;
  font-size: 1.2vh;
  padding-bottom: 2%;
  order: 4 !important;
  display:none;
}

/* =========================================================
   19. PDP – Add to Cart Button
   ========================================================= */
.ms-buybox__add-to-cart-container {
  background: transparent;
  padding: 0;
  margin-top: 4px !important;
  padding-top: 0 !important;
}

.msc-add-to-cart {
  width: 100% !important;
  max-width: 360px !important;
  height: 52px !important;
  border-radius: var(--addev-border-radius-pill) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 1.2px !important;
  background-color: var(--addev-dark) !important;
  color: #ffffff !important;
  transition: background-color 0.25s ease, transform 0.15s ease, box-shadow 0.15s ease;
  font-size: 0 !important;
}

.msc-add-to-cart::before {
  content: "ADD TO BASKET";
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #fff;
  display: inline-block;
}

.msc-add-to-cart:hover {
  background-color: var(--addev-primary-hover) !important;
}

.msc-add-to-cart:active {
  transform: translateY(0);
  box-shadow: none;
}

/* =========================================================
   20. PDP – Wishlist & Order Template
   ========================================================= */
.msc-buybox__add-to-wishlist-container,
.msc-buybox__add-to-order-template-container {
  margin-top: 8px;
  opacity: 0.85;
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  margin-top: var(--addev-spacing-sm) !important;
}

.msc-buybox__add-to-wishlist-container:hover,
.msc-buybox__add-to-order-template-container:hover {
  opacity: 1;
}

.msc-buybox__add-to-wishlist-container {
  margin-right: 24px !important;
}

.msc-buybox__add-to-wishlist-container button,
.ms-buybox__add-to-order-template-container button {
  display: inline-flex !important;
  align-items: center;
  gap: var(--addev-spacing-xs);
}

.ms-buybox__content {
  display: flex !important;
  flex-direction: column !important;
}

.ms-buybox__content .msc-buybox__description-section {
  padding-top: 20px;
}

.ms-buybox__content .msc-buybox__ratings-section {
  border-bottom: unset;
}

.ms-buybox__content .ms-buybox__quantity {
  padding-bottom: 0px;
  padding-top: 0;
}

.ms-buybox__product-title {
  padding-bottom: 5px;
}

/* =========================================================
   21. PDP – Buybox Width Override
   ========================================================= */
@media (min-width: 1444px) {
  .ms-buybox__content {
    width: 50% !important;
  }
}

@media (min-width: 993px) and (max-width: 1443px) {
  .ms-buybox__content {
    width: 50% !important;
  }
}

@media (min-width: 768px) and (max-width: 992px) {
  .ms-buybox__content {
    width: 100% !important;
  }
}

/* =========================================================
   22. PDP – Media Gallery (Sticky Desktop)
   ========================================================= */
@media (min-width: 992px) {
  .ms-buybox__media-gallery,
  .msc-buybox__media-gallery {
    position: sticky;
    top: 180px;
    margin-top: 24px;
    align-self: flex-start;
    z-index: 2;
    min-width: 50%;
  }
}

.ms-buybox__media-gallery,
.ms-media-gallery {
  display: flex !important;
  flex-direction: column !important;
  align-items: center;
  width: 100%;
}

.ms-media-gallery__carousel {
  display: block !important;
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 auto 16px auto;
  position: relative;
  height: 520px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ms-media-gallery__carousel img,
.ms-media-gallery__carousel video,
.ms-media-gallery__media img,
.ms-media-gallery__main-image img {
  max-height: 100%;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

/* =========================================================
   23. PDP – Media Gallery Thumbnails
   ========================================================= */
.ms-media-gallery__thumbnails-container {
  display: flex !important;
  justify-content: center;
  width: 100% !important;
}

.ms-media-gallery__thumbnails-container ul {
  gap: 12px !important;
}

.msc-ss-carousel-strip,
.msc-ss-carousel-vert-strip {
  display: flex !important;
  flex-direction: row !important;
  gap: var(--addev-spacing-sm);
  transform: none !important;
}

.ms-media-gallery__thumbnail-item {
  width: 70px !important;
  height: 70px !important;
  border-radius: var(--addev-spacing-xs);
  border: 3px solid #e0e0e0;
  overflow: hidden;
  transition: all var(--addev-transition);
  cursor: pointer;
  opacity: 0.75;
}

.ms-media-gallery__thumbnail-item:hover {
  opacity: 1;
  border: 3px solid var(--addev-primary);
}

.ms-media-gallery__thumbnail-item-active {
  border: 3px solid var(--addev-primary) !important;
  opacity: 1 !important;
}

.ms-media-gallery__thumbnail img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.ms-fullscreen-section__overlay,
.ms-fullscreen-section__magnifying-glass-icon {
  display: none !important;
}

/* =========================================================
   24. PDP – Media Gallery Navigation Arrows
   ========================================================= */
.ms-media-gallery__nav-button {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.04);
  border-radius: 50%;
  width: 44px;
  height: 44px;
  transition: all var(--addev-transition);
}

.ms-media-gallery__nav-button.left {
  left: 16px !important;
}

.ms-media-gallery__nav-button.right {
  right: 16px !important;
}

.ms-media-gallery__nav-button:hover {
  background: var(--addev-secondary);
}

.ms-media-gallery__nav-button:hover svg,
.ms-media-gallery__nav-button:hover i {
  color: #fff !important;
}

/* =========================================================
   25. PLP – Product Listing Page
   ========================================================= */
.ms-search-result-container {
  margin-top: var(--addev-spacing-sm);
}

.ms-search-result-container .ms-breadcrumb,
.ms-search-result-container .ms-breadcrumb .ms-breadcrumb-list {
  margin-bottom: 8px;
}

.ms-search-result-container__product-section,
.ms-search-result-container__Products {
  background: var(--addev-bg-light);
  padding-top: 1px;
  padding-bottom: var(--addev-spacing-xl);
}

.ms-search-result-container__Products .list-unstyled {
  row-gap: 32px;
}

.ms-search-result-container .ms-search-result-container__Products .ms-product-search-result__item:focus,
.ms-search-result-container .ms-search-result-container__Products .ms-product-search-result__item:hover {
  box-shadow: none;
  text-decoration: none;
}

.ms-search-result-container .ms-search-result-container__Products .ms-product-search-result__item:focus .ms-quickView,
.ms-search-result-container .ms-search-result-container__Products .ms-product-search-result__item:hover .ms-quickView {
  display: block;
  position: absolute;
  right: 3vh;
  top: 3vh;
}

/* =========================================================
   26. PLP – Product Cards
   ========================================================= */
.ms-product-search-result__item .msc-product {
  background: var(--addev-bg-card);
  border-radius: var(--addev-border-radius);
  padding: 16px var(--addev-spacing-md) 20px;
  box-shadow: 0 0 0 rgba(0,0,0,0);
  transition: box-shadow 0.18s ease, transform 0.18s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.ms-product-search-result__item .msc-product:hover {
  box-shadow: var(--addev-shadow-hover);
  transform: translateY(-3px);
}

.ms-product-search-result__item .msc-product picture,
.ms-product-search-result__item .msc-product .msc-product__image {
  width: 100%;
  height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--addev-spacing-sm);
}

.ms-product-search-result__item .msc-product picture img,
.ms-product-search-result__item .msc-product .msc-product__image img {
  max-height: 100%;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.ms-product-search-result__item .msc-product__title,
.ms-product-search-result__item .msc-product__title a {
  font-family: 'Rubik-Regular', Arial, sans-serif;
  font-size: 15px;
  line-height: 1.35;
  color: var(--addev-text-primary);
  text-decoration: none;
}

.ms-product-search-result__item .msc-product__title {
  margin-top: 4px;
  margin-bottom: var(--addev-spacing-xs);
  min-height: 40px;
}

.ms-product-search-result__item .msc-price__actual {
  color: var(--addev-primary);
  font-family: 'Rubik-Regular';
  font-size: 1.1rem;
  font-weight: 700;
}

.ms-product-search-result__item .msc-price__strikethrough {
  color: var(--addev-danger);
}

.ms-product-search-result__item .msc-product__unit-of-measure,
.ms-product-search-result__item .msc-price__unit {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--addev-text-secondary);
  margin-top: 3px;
}

.ms-product-search-result__item .msc-product__price {
  margin-top: var(--addev-spacing-xs);
  margin-bottom: 4px;
}

.ms-product-search-result__item .msc-add-to-cart {
  width: 100%;
  max-width: 220px;
  height: 40px;
  border-radius: var(--addev-border-radius-pill);
  font-size: 12px;
  letter-spacing: 0.12em;
  font-weight: 500;
  text-transform: uppercase;
  background-color: var(--addev-dark);
  color: #ffffff;
  margin-top: var(--addev-spacing-sm);
  transition: background-color var(--addev-transition), transform 0.15s ease;
}

.ms-product-search-result__item .msc-add-to-cart:hover {
  background-color: var(--addev-primary-hover);
  transform: translateY(-1px);
}

/* =========================================================
   27. PLP – Refiner/Filter Panel
   ========================================================= */
.ms-search-result-container__refiner-section .list-group-item {
  padding: 21px 10% 0 15px;
}

.ms-search-result-container__refine-product-section .ms-refiner-heading {
  background: var(--addev-bg-light);
  border-bottom: 1px solid #dbe2ea;
  padding: 14px 14px 0 var(--addev-spacing-md);
  border-radius: var(--addev-border-radius) var(--addev-border-radius) 0 0;
  min-height: 52px;
  display: flex;
  align-items: center;
  margin-bottom: 0px;
}

.ms-search-result-container__refine-product-section .ms-refiner-heading__title {
  font-family: 'Rubik-Regular';
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #506173;
}

.ms-search-result-container__refine-product-section .ms-refine,
.ms-search-result-container__refine-product-section .ms-refine__content {
  background: var(--addev-bg-card);
  border-radius: 0 0 var(--addev-border-radius) var(--addev-border-radius);
  box-shadow: var(--addev-shadow-card);
  padding: var(--addev-spacing-sm) var(--addev-spacing-md) var(--addev-spacing-md);
  border: 1px solid var(--addev-border);
  border-top: none;
}

.ms-search-result-container__refine-product-section .ms-refine-item__header {
  font-family: 'Rubik-Regular';
  font-size: 13px;
  color: var(--addev-dark);
}

.ms-search-result-container__refine-product-section .ms-refine-item__clear,
.ms-search-result-container__refine-product-section .ms-refine__clear-all {
  font-size: 11px;
  color: var(--addev-text-secondary);
}

@media (min-width: 992px) {
  .ms-search-result-container .ms-search-result-container__Products .ms-product-search-result__item .msc-product__image {
    height: 14vw;
    width: 100%;
  }

  .ms-search-result-container .ms-search-result-container__Products .ms-product-search-result__item{
    margin-bottom: 0px;
  }

  .ms-search-result-container .ms-search-result-container__Products .ms-product-search-result__item .msc-product .msc-product__details .msc-product__unit-of-measure {
    color: #bfbfbf;
    font-family: 'Rubik-Regular';
    font-size: 0.7rem;
    font-weight: 300;
  }

  .ms-search-result-container .ms-search-result-container__Products .ms-product-search-result__item .msc-product .msc-product__details .msc-product__title {
    font-size: 1rem;
  }

  .ms-search-result-container__refiner-section .ms-refine-submenu.list-group {
    min-width: 20%;
    width: 16%;
  }

  .ms-refine__footer {
    width: 100%;
    border-top: none;
  }

  .ms-search-result-container__refiner-section .ms-refine-submenu__toggle_expanded,
  .ms-search-result-container__refiner-section button.ms-refine-submenu__toggle_collapsed {
    color: var(--addev-primary);
    font-family: 'Rubik-Bold';
    font-size: 1.2rem;
    font-weight: 300;
  }

  .ms-search-result-container__refiner-section .ms-refine-submenu.list-group .ms-refine-submenu-item {
    margin-bottom: 0;
    padding-left: 0px;
  }

  .ms-refine__footer__done {
    justify-content: normal;
    padding-bottom: 20px;
    padding-top: 0px;
  }

  .ms-search-result-container__refine-menu {
    display: flex;
    flex-direction: row;
    margin-bottom: var(--addev-spacing-xl);
    margin-left: 20px;
    margin-top: 21px;
    max-height: 44vh;
  }

  .ms-refiner-heading .ms-refiner-heading_title button.ms-refine-filter__toggle_collapsed:focus,
  .ms-refiner-heading .ms-refiner-heading_title button.ms-refine-filter__toggle_expanded:focus {
    border: none;
    border-radius: 0;
  }
}

/* =========================================================
   28. CHECKOUT – Modern UI
   ========================================================= */
.ms-checkout-shipping-address .msc-address-select__address-button-container {
  display: none;
}

.ms-checkout-shipping-address__group-images-lines-product .msc_image {
    border-radius: 15px;
}

.ms-checkout__line-item .msc-cart-line__product-image .msc-image-container, .ms-checkout__line-item .msc-cart-line__product-image .msc_image {
    border-radius: 15px;
    border: .5px solid #d5d5d5;
}

.ms-checkout-customer-account__input-amount {
  pointer-events: none;
  opacity: .6;
  cursor: not-allowed;
}

.ms-checkout__guided-card.active,
.ms-checkout__guided-card.visted {
  border: 1px solid #d5d5d5;
  border-radius: var(--addev-border-radius);
  padding: 3vh;
  margin-bottom: 2%;
}

.ms-checkout__line-items-delivery-group .ms-checkout__line-items-group-title {
  color: #8f8f8f;
  font-weight: 700;
  margin-left: 14%;
  font-size: 1rem;
}

.ms-checkout__line-items-delivery-group .msc-cart-line {
  margin-top: 20px !important;
  margin-left: 6% !important;
  margin-right : 5%;
}

.ms-checkout__line-items-delivery-group .msc-cart-line__content .msc-cart-line__product-title {
  font-size: 0.9rem  !important;
  line-height: 1rem  !important;
}

.ms-checkout__line-items-delivery-group .msc-cart-line__content .msc-cart-line__product-price .msc-price__actual {
  color: #00aaf8 !important;
  display: inline-block !important;
}

.ms-checkout__line-items-delivery-group .msc-cart-line__content .msc-cart-line__product-price .msc-cart-line__product-unit-of-measure {
  margin-left: 5px !important;
  font-size: 0.7rem !important;
  font-weight: 600;
  color: #919191 !important;
}

.ms-checkout__line-items-delivery-group .msc-cart-line__content .msc-cart-line__quantity .quantity-label {
    margin-right: 5px !important;;
    font-size: 0.8re !important;;
    color: #4c4c4c !important;;
}

.ms-checkout__line-items-delivery-group .msc-cart-line__content .msc-cart-line__quantity .quantity-value {
    font-size: 0.7rem !important;;
    display: inline !important;;
    text-align: left !important;;
}

.ms-checkout .multiple-pickup-enabled {
    background-color: var(--msv-checkout-side-multiple-pickup-bg);
    border: .5px solid #c4c4c4;
    border-radius: 10px;
    margin-top: 20px;
    padding: 0 0 6% 0;
}

@media (min-width: 992px) {
  .ms-text-block {
    margin-left: 7%;
    margin: 2%;
    font-size: 13px;
  }
}

/* =========================================================
   29. ORDER TEMPLATE PAGE
   ========================================================= */
.ms-order-template .ms-order-template-action-bar {
  width: auto;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  padding-top: 8px !important;
  margin-bottom: 45px;
}

.ms-order-template .ms-order-template-action-bar button,
.ms-order-template .ms-order-template-action-bar .msc-btn {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

.ms-order-template .ms-order-template-action-bar .msc-add-order-template-to-cart:hover {
  background-color: var(--addev-primary);
  box-shadow: none;
}

.ms-order-template .ms-order-template-action-bar__rename-template-button:hover,
.ms-order-template .ms-order-template-action-bar__delete-template-button:hover {
  background-color: #e5e4e4;
  box-shadow: none;
}

.ms-order-template__table .ms-order-template-table-line__product-price .msc-price__strikethrough {
  color: var(--addev-danger-light);
  margin-top: 25px;
  font-size: 1.2rem;
}

/* =========================================================
   30. MY PROFILE PAGE
   ========================================================= */
.ms-account-profile .ms-account-profile-wrapper .ms-account-loyalty-tile__heading,
.ms-account-profile .ms-account-profile__attributes-wrapper .ms-account-profile__attributes-tile__heading,
.ms-account-profile .ms-account-profile-wrapper .ms-account-profile__section-preferences .ms-account-profile__section-heading {
  color: var(--addev-primary);
}

/* =========================================================
   31. MY ADDRESS PAGE
   ========================================================= */
.ms-account-management-address .msc-address-list__button-add:hover {
  background-color: var(--addev-primary);
  box-shadow: none;
}

.ms-account-management-address .msc-address-list__heading {
  color: var(--addev-primary);
}

/* =========================================================
   32. ORDER HISTORY – Modern Card Layout
   ========================================================= */
.ms-order-history {
  padding-top: 24px;
  padding-bottom: var(--addev-spacing-xl);
}

.ms-order-history .ms-order-history__sales-order-list {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 48px;
  border-top: 0.5px solid rgba(196, 196, 196, 0.6);
}

.ms-order-history .ms-order-history__sales-order {
  margin: 32px 0;
  padding: var(--addev-spacing-lg) var(--addev-spacing-lg);
  border: 1px solid rgba(196, 196, 196, 0.55);
  border-radius: 16px;
  background: var(--addev-bg-card);
}

.ms-order-history .ms-order-history__sales-order-placed-by {
  color: rgba(44, 38, 45, 0.70);
  font-size: 14px;
  margin-bottom: var(--addev-spacing-sm);
}

.ms-order-history .ms-order-history__order-information {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 8px;
}

.ms-order-history .ms-order-history__order-information-channel-name {
  font-weight: 600;
  font-size: 18px;
  color: rgba(44, 38, 45, 0.92);
  margin-top: 2px;
}

.ms-order-history .ms-order-history__order-information-sales-id {
  font-weight: 700;
  font-size: 22px;
  color: rgba(44, 38, 45, 0.95);
}

.ms-order-history .ms-order-history__order-information-created-date,
.ms-order-history .ms-order-history__order-information-channel-reference-id,
.ms-order-history .ms-order-history__order-information-count {
  color: rgba(44, 38, 45, 0.72);
  font-size: 16px;
}

.ms-order-history .ms-order-history__order-information-amount {
  margin-top: var(--addev-spacing-xs);
}

.ms-order-history .ms-order-history__order-information-amount .msc-price__actual {
  display: inline-block;
  font-weight: 700;
  font-size: 20px;
  padding: 8px 12px;
  border-radius: var(--addev-border-radius);
  background: rgba(64, 131, 255, 0.10);
  color: rgba(44, 38, 45, 0.95);
}

.ms-order-history .ms-order-history__expand-products-button-wrapper {
  margin-top: 14px;
}

.ms-order-history a.ms-order-history__btn-order-details,
.ms-order-history .ms-order-history__btn-order-details {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 var(--addev-spacing-xl);
  border-radius: var(--addev-border-radius-pill);
  border: 1px solid rgba(44, 38, 45, 0.35);
  background: #fff;
  color: rgba(44, 38, 45, 0.95);
  text-decoration: none;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 12px;
  transition: none;
}

.ms-order-history a.ms-order-history__btn-order-details:hover,
.ms-order-history .ms-order-history__btn-order-details:hover {
  border-color: rgb(0 123 180);
  background-color: var(--addev-primary);
  color: white;
}

@media (max-width: 991.98px) {
  .ms-order-history .ms-order-history__sales-order-list {
    padding: 0 16px;
  }

  .ms-order-history .ms-order-history__sales-order {
    padding: var(--addev-spacing-md) 16px;
  }

  .ms-order-history .ms-order-history__sales-lines {
    margin-top: 16px;
  }

  .ms-order-history .ms-order-history__sales-line-image,
  .ms-order-history .ms-order-history__sales-line-picture {
    width: 100%;
  }
}

/* =========================================================
   33. GLOBAL PRICE STYLING
   ========================================================= */
.msc-price {
  color: var(--addev-primary);
}

/* =========================================================
   FIN DU FICHIER
   ========================================================= */

   /* =========================================================
   FIX BURGER MENU – Sous-menus plus larges (une ligne)
   ========================================================= */

@media (min-width: 992px) {
  
  /* Le panneau bleu doit être encore plus large */
  .ms-header__container .ms-header__collapsible-hamburger.collapse.show {
    width: min(1400px, calc(100vw - 48px)) !important;
    max-width: min(1400px, calc(100vw - 48px)) !important;
  }

  /* Les éléments du sous-menu prennent toute la largeur */
  .ms-nav_desktop-vp .ms-nav_default > .ms-nav_list,
  .ms-nav_desktop-vp .ms-nav_feature > .ms-nav_list {
    width: 100% !important;
    padding: 0 var(--addev-spacing-lg) !important;
  }

  /* Items du sous-menu : auto-width + inline pour tenir sur 1 ligne */
  .ms-nav_desktop-vp .ms-nav_default > .ms-nav_list > .ms-nav_list_item,
  .ms-nav_desktop-vp .ms-nav_feature > .ms-nav_list > .ms-nav_list_item {
    flex: 1 1 auto !important;
    min-width: fit-content !important;
    white-space: nowrap !important;
  }

  /* Liens du sous-menu : espacés uniformément */
  .ms-nav_desktop-vp .ms-nav_default > .ms-nav_list > .ms-nav_list_item > a,
  .ms-nav_desktop-vp .ms-nav_feature > .ms-nav_list > .ms-nav_list_item > a {
    width: 100% !important;
    text-align: center !important;
    padding: 12px 16px !important;
  }
}

/* =========================================================
   MEGA MENU – Style Finder macOS (colonnes)
   ========================================================= */

/* --- Styles de base pour la nav (768px+) --- */
@media screen and (min-width: 768px) {
  .ms-nav>.ms-nav__list {
    height: auto;
    padding-bottom: 2%;
  }

  .ms-nav>.ms-nav__list>.ms-nav__list__item {
    width: 300px;
  }

  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__deafult>.ms-nav__list>.ms-nav__list__item {
    padding-bottom: 0px;
  }
}

/* --- Styles compacts pour les sous-menus (992px+) --- */
@media screen and (min-width: 992px) {
  .ms-nav>.ms-nav__list {
    padding-left: 0px;
  }

  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__deafult>.ms-nav__list {
    padding-left: 0px;
  }

  .ms-nav>.ms-nav__list .ms-nav__list .ms-nav__list .ms-nav__list__item__link {
    margin-bottom: 5px;
  }

  .ms-nav>.ms-nav__list .ms-nav__list .ms-nav__list .ms-nav__list__item__link:hover{
    text-decoration: none !important;
    background-color: #314352;
  }
}

@media (min-width: 992px) {

  /* Supprimer la ligne bleue sous les liens */
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__deafult>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link:before,
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__feature>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link:before {
    height: 0px;
  }

  /* Supprimer margin-bottom des liens */
  .ms-nav>.ms-nav__list .ms-nav__list .ms-nav__list__item__link {
    margin-bottom: 0px;
  }

  /* Style des liens sous-menus */
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__deafult>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link,
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__feature>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link {
    padding: 10px;
    width: 100%;
    font-size: 14px;
    font-weight: 400 !important;
  }

  /* Hover/Focus sur les liens sous-menus */
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__deafult>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link:focus,
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__deafult>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link:hover,
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__feature>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link:focus,
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__feature>.ms-nav__list>.ms-nav__list__item>.ms-nav__list__item__link:hover {
    width: 100%;
    background-color: #314352;
    padding: 10px;
  }

  /* Supprimer padding-right des items */
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__deafult>.ms-nav__list>.ms-nav__list__item,
  .ms-nav>.ms-nav__list>.ms-nav__list__item>.ms-nav__feature>.ms-nav__list>.ms-nav__list__item {
    padding-right: 0px;
  }

}

/* --- Layout deux colonnes (992px+) --- */
@media (min-width: 992px) {

  /* Container du menu */
  nav.ms-nav.desktop-vp > ul.ms-nav__list > li.ms-nav__list__item > div.ms-nav__deafult {
    position: relative !important;
    min-height: auto !important;
    padding-bottom: 20px !important;
  }

  /* Colonne gauche - liste des catégories (avec ou sans level-2) */
  nav.ms-nav.desktop-vp ul.ms-nav__list.level-2,
  nav.ms-nav.desktop-vp > ul.ms-nav__list > li.ms-nav__list__item > div.ms-nav__deafult > ul.ms-nav__list {
    display: flex !important;
    flex-direction: column !important;
    width: 250px !important;
    min-width: 250px !important;
    border-right: 1px solid rgba(255,255,255,0.1) !important;
    position: static !important;
  }

  /* Items level-2 (avec ou sans level-2) */
  nav.ms-nav.desktop-vp ul.ms-nav__list.level-2 > li.ms-nav__list__item,
  nav.ms-nav.desktop-vp > ul.ms-nav__list > li.ms-nav__list__item > div.ms-nav__deafult > ul.ms-nav__list > li.ms-nav__list__item {
    display: block !important;
    width: 100% !important;
    position: static !important;
  }

  /* Chevron pour les sous-menus qui ont des sous-sous-menus */
  nav.ms-nav.desktop-vp ul.ms-nav__list.level-2 > li.ms-nav__list__item > a.ms-nav__list__item__link::after {
    content: '›' !important;
    position: absolute !important;
    right: 15px !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    opacity: 0.6 !important;
  }

  /* Sous-menus sans sous-sous-menus : pas de chevron */
  nav.ms-nav.desktop-vp ul.ms-nav__list.level-2 > li.ms-nav__list__item:not(:has(> div.ms-nav__deafult)) > a.ms-nav__list__item__link::after {
    content: none !important;
  }

  /* CACHER sous-sous-menus par défaut */
  nav.ms-nav.desktop-vp ul.ms-nav__list.level-2 > li.ms-nav__list__item > div.ms-nav__deafult {
    position: absolute !important;
    left: 250px !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 220px !important;
    padding: 5px 0px !important;
    background: #203241 !important;
    border-left: 1px solid rgba(255,255,255,0.1) !important;
    overflow-y: auto !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  /* AFFICHER au hover - reste actif quand on hover les sous-sous-menus */
  nav.ms-nav.desktop-vp ul.ms-nav__list.level-2 > li.ms-nav__list__item:hover > div.ms-nav__deafult {
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Garder le style hover sur le sous-menu quand on est dans ses sous-sous-menus */
  nav.ms-nav.desktop-vp ul.ms-nav__list.level-2 > li.ms-nav__list__item:hover > a.ms-nav__list__item__link {
    background-color: #314352 !important;
    color: var(--addev-secondary) !important;
  }

  /* Style des liens sous-sous-menus - compact pour éviter scroll */
  nav.ms-nav.desktop-vp ul.ms-nav__list.level-2 > li.ms-nav__list__item > div.ms-nav__deafult a {
    font-size: 14px !important;
    line-height: 1.1 !important;
    font-weight: 300 !important;
    padding: 7px 0 7px 15px !important;
    display: block !important;
    position: relative !important;
  }

  /* Tiret devant chaque sous-sous-menu */
  nav.ms-nav.desktop-vp ul.ms-nav__list.level-2 > li.ms-nav__list__item > div.ms-nav__deafult ul.ms-nav__list > li.ms-nav__list__item > a.ms-nav__list__item__link::before {
    content: none;
    visibility: visible !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: auto !important;
    height: auto !important;
    background: transparent !important;
    background-color: transparent !important;
    opacity: 0.2 !important;
    outline: none !important;
    border: none !important;
  }

  /* Liste des sous-sous-menus - espacement réduit */
  nav.ms-nav.desktop-vp ul.ms-nav__list.level-2 > li.ms-nav__list__item > div.ms-nav__deafult ul {
    margin: 0 !important;
    padding: 0 !important;
  }

  nav.ms-nav.desktop-vp ul.ms-nav__list.level-2 > li.ms-nav__list__item > div.ms-nav__deafult li {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Cacher le conteneur d'image de catégorie */
  nav.ms-nav.desktop-vp .category-image-container {
    display: none !important;
  }

}
/* =========================================================
   34. PDP – Product Details Page Styling (B2B Pro)
   ========================================================= */

/* --- Bloc Prix : Aligné à gauche, style B2B --- */
.msc-buybox__price-section {
  text-align: left !important;
}

.msc-buybox__price-section .msc-price {
  font-size: 28px !important;
  font-weight: 700 !important;
}

/* --- Image produit : Carrée et croppée au centre --- */
/* Conteneur principal du carousel */
.ms-buybox .ms-media-gallery .msc-carousel,
.ms-buybox .ms-media-gallery .msc-carousel__inner,
.ms-buybox .ms-media-gallery .msc-carousel__item {
  aspect-ratio: 1 / 1 !important;
  max-width: 500px !important;
  max-height: 500px !important;
  overflow: hidden !important;
}

/* Image principale - sélecteur ultra-spécifique */
.ms-buybox .ms-media-gallery .msc-carousel__item img.msc-main_image.msc_image.ms-media-gallery__item,
.ms-buybox .ms-media-gallery img.msc-main_image,
.ms-media-gallery .msc-carousel__item.active img.msc-main_image,
img.msc-main_image.msc_image.ms-media-gallery__item {
  width: 100% !important;
  height: 100% !important;
  max-width: 500px !important;
  max-height: 500px !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.msc-carousel__control__next, .msc-carousel__control__prev {
  background-color: #ffffff00;
}

.msc-carousel__control__next:active, .msc-carousel__control__prev:active {
    background-color: unset;
    box-shadow: unset;
}

.msc-carousel__control__next:focus, .msc-carousel__control__prev:focus {
    background-color: unset;
    border: 0px;
    box-shadow: unset;
}

.msc-carousel__control__next:hover, .msc-carousel__control__prev:hover {
    background-color: unset;
    box-shadow: unset;
    cursor: pointer;
}

/* Thumbnails aussi en carré et croppés */
.ms-media-gallery__thumbnails-container .ms-media-gallery__thumbnail-item img {
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Pop up panier - promotion */
.msc-add-to-cart__dialog 
.msc-add-to-cart__dialog__product-price 
.msc-price > .msc-price__strikethrough {
    color: #e53935;
    font-size: 16px;
    font-weight: 400;
    text-decoration: line-through;
    margin-right: 8px;
    vertical-align: baseline;
}

.msc-add-to-cart__dialog 
.msc-add-to-cart__dialog__product-price 
.msc-price .msc-price__actual {
    color: var(--addev-primary);
    font-size: 26px;
    font-weight: 700;
}

/* =========================================================
   FIN PDP STYLING
   ========================================================= */

/* =========================================================
   35. MENU - Style uniforme pour tous les items nav
   ========================================================= */
@media (min-width: 992px) {
  /* Style uniforme pour Quality, About us (span) comme Products, Brands (button) */
  .ms-nav > .ms-nav__list > .ms-nav__list__item > .ms-nav__list__item__span {
    font-family: var(--addev-font-heading) !important;
    font-size: var(--msv-h4-font-size-l) !important;
    font-weight: 600 !important;
    color: var(--msv-nav-font-color) !important;
    padding: 0 !important;
    margin-bottom: 40px !important;
    line-height: 28px !important;
  }
}

/* =========================================================
   35. MENU - Lien Products vers All Products
   Note: Ce style est combiné avec un script JS à ajouter
   dans le Site Builder pour rendre le bouton cliquable
   ========================================================= */

/* Style pour indiquer que Products est cliquable */
.ms-nav__list__item__button[aria-label*="Products"],
button.ms-nav__list__item__button:first-child {
  cursor: pointer !important;
} 

@media (min-width: 992px) {
.ms-buybox__media-gallery .ms-media-gallery,
.ms-buybox__media-gallery .ms-media-gallery__thumbnails-container,
.ms-buybox__media-gallery .ms-media-gallery__thumbnails-container .msc-ss-carousel-vert,
.ms-buybox__media-gallery .ms-media-gallery__thumbnails-container .msc-ss-carousel-vert-slide {
  width: 73%;
  }


.msc-ss-carousel-strip, .msc-ss-carousel-vert-strip {
  margin-bottom: 2%;
  }

.ms-buybox__media-gallery, .msc-buybox__media-gallery {
  margin-top: 0px;
  }

}

/* =========================================================
   FIX - Shopping bag drawer / mini cart visibility
   D365 Commerce - NEOTRADE
   ========================================================= */

/* Force l'affichage des lignes produits du mini panier */
.ms-cart-icon .msc-cart-line,
.ms-cart-icon .msc-cart-line__content,
.ms-cart-icon .msc-cart-line__product,
.ms-cart-icon .msc-cart-line__product-title,
.ms-cart-icon .msc-cart-line__product-price,
.ms-cart-icon .msc-cart-line__product-image,
.ms-cart-icon .msc-cart-line__quantity,
.ms-cart-icon .msc-cart-line__remove,
.msc-cart .msc-cart-line,
.msc-cart .msc-cart-line__content,
.msc-cart .msc-cart-line__product,
.msc-cart .msc-cart-line__product-title,
.msc-cart .msc-cart-line__product-price,
.msc-cart .msc-cart-line__product-image,
.msc-cart .msc-cart-line__quantity,
.msc-cart .msc-cart-line__remove {
  visibility: visible !important;
  opacity: 1 !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
}

/* La ligne produit doit rester visible et alignée */
.ms-cart-icon .msc-cart-line,
.msc-cart .msc-cart-line {
  display: flex !important;
  gap: 20px !important;
  margin-bottom: 24px !important;
  padding-bottom: 24px !important;
  border-bottom: 1px solid #d5dbe3 !important;
}

/* Empêche la zone produits d’être écrasée entre le header et le footer */
.ms-cart-icon,
.msc-cart,
.ms-cart-icon__content,
.ms-cart-icon__cartlines,
.ms-cart-icon__cart-lines,
.msc-cart__lines,
.msc-cart-lines {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-height: none !important;
  height: auto !important;
  overflow-y: auto !important;
}

/* Image produit / placeholder dans le shopping bag */
.ms-cart-icon .msc-cart-line__product-image,
.msc-cart .msc-cart-line__product-image {
  display: block !important;
  flex: 0 0 170px !important;
  width: 170px !important;
  min-width: 170px !important;
  height: 200px !important;
  background: #fff !important;
  border: 1px solid #d5dbe3 !important;
}

/* Contenu texte du produit */
.ms-cart-icon .msc-cart-line__content,
.msc-cart .msc-cart-line__content {
  display: block !important;
  flex: 1 1 auto !important;
  color: var(--addev-dark) !important;
}

/* Titre produit */
.ms-cart-icon .msc-cart-line__product-title,
.msc-cart .msc-cart-line__product-title {
  display: block !important;
  color: var(--addev-dark) !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}

/* Prix produit */
.ms-cart-icon .msc-cart-line__product-price,
.ms-cart-icon .msc-price,
.msc-cart .msc-cart-line__product-price,
.msc-cart .msc-price {
  display: block !important;
  color: #e53935;   
  font-size: 18px !important;
  font-weight: 700 !important;
}


/* =========================================================
   SIGN IN
   ========================================================= */

/* Masquer les connexions sociales */
.ms-sign-in__social-accounts {
  display: none !important;
}

/* Masquer complètement la création de compte */
.ms-sign-in__sign-up-section {
  display: none !important;
}

/* Centrer le bloc Sign in dans la page */
.ms-sign-in__container {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
}

/* Donner une largeur propre au formulaire de connexion */
.ms-sign-in__sign-in-section {
  flex: 0 1 480px !important;
  width: 100% !important;
  max-width: 480px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}



/* =========================================================
   PRICE LABEL FIX – Replace "Free" by "Price on request"
   Scope: Home Product Collection + Product Listing cards
   ========================================================= */

/* HOME - Product collection */
.ms-product-collection .msc-product[aria-label*="£0.00"] .msc-price__actual {
  font-size: 0 !important;
  line-height: 1.3rem !important;
}

/* HOME - Product collection */
.ms-product-collection .msc-product[aria-label*="£0.00"] .msc-price__actual::after {
  content: "Price on request";
  font-size: 1.3rem !important;
  font-weight: 800 !important;
  color: var(--addev-secondary) !important;
  line-height: var(--msv-body-line-height-m) !important;
}

/* PLP / Search result product cards */
.ms-product-search-result__item .msc-product[aria-label*="£0.00"] .msc-price__actual {
  font-size: 0 !important;
  line-height: 1.3rem !important;
}

/* PLP / Search result product cards */
.ms-product-search-result__item .msc-product[aria-label*="£0.00"] .msc-price__actual::after {
  content: "Price on request";
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--addev-primary) !important;
  line-height: var(--msv-body-line-height-m) !important;
}

/* =========================================================
   36. NEOTRADE - PDP Buybox : actions + garantie Shelf Life
   2026-11-03 - Version UAT, sans JavaScript

   Ordre : quantite > ADD TO BASKET > wishlist / order template
           > garantie shelf life > descriptions / specifications.
   L'encart est un pseudo-element CSS : aucun contenu HTML
   accessible n'est ajoute au DOM. A valider pour l'accessibilite
   et l'applicabilite de la garantie a tous les produits.
   ========================================================= */

/* Ne modifier que la colonne d'achat des fiches produits. */
.ms-buybox .ms-buybox__content {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-content: flex-start !important;
  align-items: stretch !important;
  column-gap: 18px !important;
}

/* Chaque rubrique conserve sa largeur complete, sauf les 2 actions. */
.ms-buybox .ms-buybox__content > * {
  box-sizing: border-box;
  flex: 0 0 100%;
  max-width: 100%;
  min-width: 0;
  order: 0;
}

/* Quantite alignee sur le bord gauche du selecteur Style. */
.ms-buybox .ms-buybox__content .ms-buybox__quantity,
.ms-buybox .ms-buybox__content .msc-buybox__quantity {
  display: flex !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
  align-items: center !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
  width: 100% !important;
}

.ms-buybox .ms-buybox__content .msc-buybox__quantity .quantity,
.ms-buybox .ms-buybox__content .ms-buybox__quantity .quantity {
  /* Annule width:50% et margin-right:auto de la feuille existante. */
  width: auto !important;
  flex: 0 0 auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  justify-content: flex-start !important;
}

/* Conserver EACH juste apres le bouton +, sans l'expedier a droite. */
.ms-buybox .ms-buybox__content .ms-buybox__quantity :is(.ms-buybox__product-unit-of-measure, .msc-buybox__product-unit-of-measure),
.ms-buybox .ms-buybox__content .msc-buybox__quantity :is(.ms-buybox__product-unit-of-measure, .msc-buybox__product-unit-of-measure) {
  flex: 0 0 auto !important;
  width: auto !important;
  margin-left: 12px !important;
  margin-right: 0 !important;
  align-self: center !important;
  order: 2 !important;
}

/* Controle de l'espace entre le selecteur de quantite et le CTA. */
.ms-buybox .ms-buybox__content .msc-buybox__bulk-purchase-section {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.ms-buybox .ms-buybox__content > .ms-buybox__add-to-cart-container,
.ms-buybox .ms-buybox__content > .msc-buybox__add-to-cart-container {
  margin-top: 24px !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
}

/* Boutons secondaires sur une meme ligne, au bord gauche. */
.ms-buybox .ms-buybox__content > :is(
  .ms-buybox__add-to-wishlist-container,
  .msc-buybox__add-to-wishlist-container,
  .ms-buybox__add-to-order-template-container,
  .msc-buybox__add-to-order-template-container
) {
  display: inline-flex !important;
  flex: 0 1 auto !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 16px 0 10px !important;
  padding: 0 !important;
}

.ms-buybox .ms-buybox__content > :is(
  .ms-buybox__add-to-wishlist-container,
  .msc-buybox__add-to-wishlist-container,
  .ms-buybox__add-to-order-template-container,
  .msc-buybox__add-to-order-template-container
) button {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 4px 0 !important;
  white-space: nowrap !important;
  font-size: 12px !important;
  letter-spacing: 0.02em !important;
}

/* Wishlist : libelle VISUEL uniquement, en conservant l'icone existante.
   Attention : le libelle HTML / aria-label reste celui du module D365.
   Pour l'accessibilite et la traduction, corriger la ressource du module
   si elle n'est pas editable dans Site Builder. */
.ms-buybox .ms-buybox__content button.msc-add-to-wishlist {
  font-size: 0 !important;
}

.ms-buybox .ms-buybox__content button.msc-add-to-wishlist::before {
  /* L'icone coeur est generee par le theme via ::before. */
  font-size: 18px !important;
}

.ms-buybox .ms-buybox__content button.msc-add-to-wishlist::after {
  content: "ADD TO WISHLIST";
  display: inline-block;
  color: inherit;
  font-family: var(--addev-font-heading, Arial, sans-serif);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

/* Place l'encart avant les informations/descriptions qui suivent
   le bouton d'achat, y compris si une action secondaire manque. */
.ms-buybox .ms-buybox__content > :is(
  .ms-buybox__add-to-cart-container,
  .msc-buybox__add-to-cart-container
) ~ :not(:is(
  .ms-buybox__add-to-wishlist-container,
  .msc-buybox__add-to-wishlist-container,
  .ms-buybox__add-to-order-template-container,
  .msc-buybox__add-to-order-template-container
)) {
  order: 2;
}

/* Message fixe sur toutes les Buybox utilisant cette classe. */
.ms-buybox .ms-buybox__content::after {
  content: "Minimum 50% shelf life guaranteed";
  order: 1;
  display: block;
  flex: 0 0 100%;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 12px 12px 12px 49px;
  margin: 0 0 12px;
  background-color: #F0F7F5;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='14' fill='%23258A48'/%3E%3Cpath d='M7 14l5 5 9-10' fill='none' stroke='white' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 26px 26px;
  background-position: 12px center;
  border: 1px solid #B9DECE;
  border-radius: 8px;
  color: #20394C;
  font-family: var(--addev-font-body, Arial, sans-serif);
  font-size: 13px;
  font-weight: 600;
  line-height: 22px;
}

/* Sur ecran etroit, les actions restent lisibles sans debordement. */
@media (max-width: 600px) {
  .ms-buybox .ms-buybox__content {
    column-gap: 12px !important;
  }

  .ms-buybox .ms-buybox__content > :is(
    .ms-buybox__add-to-wishlist-container,
    .msc-buybox__add-to-wishlist-container,
    .ms-buybox__add-to-order-template-container,
    .msc-buybox__add-to-order-template-container
  ) {
    margin-top: 8px !important;
    margin-bottom: 6px !important;
  }

  .ms-buybox .ms-buybox__content::after {
    font-size: 12px;
    line-height: 20px;
  }
}

/* =========================================================
   37. NEOTRADE - PDP UI Flat Design (UAT V4)
   2026-11-03
   - Styles limités à la Buybox, aucun JS, sans ombres sur
     Style, quantite et CTA (y compris survol et focus)
   - Quantité rectangulaire, à gauche et EACH à proximité
   - Style natif amélioré (options sous contrôle du navigateur)
   - CTA bleu ADDEV au survol, focus clavier conservé
   ========================================================= */

/* Sélecteur de quantité : compact, lisible, aligné à gauche. */
.ms-buybox .ms-buybox__content :is(.ms-buybox__quantity, .msc-buybox__quantity) {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 8px 0 0 !important;
  box-shadow: none !important;
}

.ms-buybox .ms-buybox__content :is(.ms-buybox__quantity, .msc-buybox__quantity) .quantity,
.ms-buybox .ms-buybox__content :is(.ms-buybox__quantity, .msc-buybox__quantity) .quantity:hover,
.ms-buybox .ms-buybox__content :is(.ms-buybox__quantity, .msc-buybox__quantity) .quantity:focus-within {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 5px !important;
  border: 1px solid #D8E0E8 !important;
  border-radius: 10px !important;
  background: #FFFFFF !important;
  box-shadow: none !important;
}

.ms-buybox .ms-buybox__content :is(.ms-buybox__quantity, .msc-buybox__quantity) .quantity button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #E1E6EE !important;
  border-radius: 8px !important;
  background: #F4F6F9 !important;
  color: #243746 !important;
  box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease !important;
}

.ms-buybox .ms-buybox__content :is(.ms-buybox__quantity, .msc-buybox__quantity) .quantity button:not(:disabled):hover {
  border-color: #AFC9DA !important;
  background: #EAF3F9 !important;
  box-shadow: none !important;
}

.ms-buybox .ms-buybox__content :is(.ms-buybox__quantity, .msc-buybox__quantity) .quantity button:focus-visible {
  outline: 2px solid #00AAF8 !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

.ms-buybox .ms-buybox__content :is(.ms-buybox__quantity, .msc-buybox__quantity) .quantity input[type="number"] {
  flex: 0 0 64px !important;
  width: 64px !important;
  min-width: 64px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #243746 !important;
  text-align: center !important;
  font-size: 17px !important;
  font-weight: 600 !important;
}

.ms-buybox .ms-buybox__content :is(.ms-buybox__quantity, .msc-buybox__quantity) .quantity input[type="number"]:focus-visible {
  outline: 2px solid #00AAF8 !important;
  outline-offset: 1px !important;
  box-shadow: none !important;
}

.ms-buybox .ms-buybox__content :is(.ms-buybox__quantity, .msc-buybox__quantity)
  :is(.ms-buybox__product-unit-of-measure, .msc-buybox__product-unit-of-measure) {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  order: 2 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #506173 !important;
  white-space: nowrap !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

/* Le thème peut mettre l'ombre sur le conteneur du menu Style
   ou de la quantité, pas seulement sur le contrôle lui-même. */
.ms-buybox .ms-buybox__content :is(.msc-buybox__configure, .ms-buybox__configure, .msc-buybox__bulk-purchase-section) {
  box-shadow: none !important;
}

/* Style : un seul contrôle natif, à l'apparence flat. */
.ms-buybox .ms-buybox__content :is(.msc-buybox__configure, .ms-buybox__configure) select:not([multiple]) {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 52px !important;
  padding: 0 44px 0 16px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 1px solid #D8E0E8 !important;
  border-radius: 10px !important;
  background-color: #FFFFFF !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23506173' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 16px 16px !important;
  box-shadow: none !important;
  color: #243746 !important;
  font-family: var(--addev-font-body, Arial, sans-serif) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  cursor: pointer !important;
  transition: border-color .2s ease !important;
}

/* Bleu au survol. Le focus clavier reste visible pour l'accessibilité.
   Aucune ombre n'est ajoutée au champ, même après sélection. */
.ms-buybox .ms-buybox__content :is(.msc-buybox__configure, .ms-buybox__configure) select:not([multiple]):focus {
  border-color: #D8E0E8 !important;
  outline: none !important;
  box-shadow: none !important;
}

.ms-buybox .ms-buybox__content :is(.msc-buybox__configure, .ms-buybox__configure) select:not([multiple]):hover {
  border-color: #00AAF8 !important;
  box-shadow: none !important;
}

.ms-buybox .ms-buybox__content :is(.msc-buybox__configure, .ms-buybox__configure) select:not([multiple]):focus-visible {
  outline: 2px solid #00AAF8 !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

/* L'aspect des options reste natif si Chrome/Windows l'impose. */
.ms-buybox .ms-buybox__content :is(.msc-buybox__configure, .ms-buybox__configure) select option {
  color: #243746;
  background-color: #FFFFFF;
  font-family: var(--addev-font-body, Arial, sans-serif);
  font-weight: 400;
  font-size: 14px;
}
.ms-buybox .ms-buybox__content :is(.msc-buybox__configure, .ms-buybox__configure) select option:checked {
  color: #FFFFFF;
  background-color: #00AAF8;
  font-weight: 400;
}

/* Pour les navigateurs autorisant un picker CSS, pas d'ombre non plus.
   Le select natif reste intact sur les autres navigateurs. */
@supports (appearance: base-select) and (selector(::picker(select))) {
  .ms-buybox .ms-buybox__content :is(.msc-buybox__configure, .ms-buybox__configure) select::picker(select) {
    box-shadow: none !important;
  }
}

/* CTA : flat, sans ombre, bleu ADDEV au survol. */
.ms-buybox .ms-buybox__content button.msc-add-to-cart {
  height: 52px !important;
  border: 1px solid #243746 !important;
  border-radius: 10px !important;
  background-color: #243746 !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color .2s ease, border-color .2s ease !important;
}
.ms-buybox .ms-buybox__content button.msc-add-to-cart:not(:disabled):hover {
  border-color: #00AAF8 !important;
  background-color: #00AAF8 !important;
  box-shadow: none !important;
  transform: none !important;
}
.ms-buybox .ms-buybox__content button.msc-add-to-cart:focus-visible {
  outline: 2px solid #00AAF8 !important;
  outline-offset: 3px !important;
}
.ms-buybox .ms-buybox__content button.msc-add-to-cart:active {
  box-shadow: none !important;
  transform: none !important;
}

/* Limite le risque de débordement sur petits écrans. */
@media (max-width: 420px) {
  .ms-buybox .ms-buybox__content :is(.ms-buybox__quantity, .msc-buybox__quantity) .quantity {
    gap: 4px !important;
  }
  .ms-buybox .ms-buybox__content :is(.ms-buybox__quantity, .msc-buybox__quantity) .quantity button {
    flex-basis: 38px !important;
    width: 38px !important;
    min-width: 38px !important;
  }
  .ms-buybox .ms-buybox__content :is(.ms-buybox__quantity, .msc-buybox__quantity) .quantity input[type="number"] {
    flex-basis: 52px !important;
    width: 52px !important;
    min-width: 52px !important;
  }
}
