/* ==========================================================================
   X-ADV Shop — habillage 2026
   Feuille additionnelle chargée APRÈS custom.css (voir _partials/stylesheets.tpl).
   Retour arrière : private/refonte-2026-11-13/retour-arriere.sh
   Motifs : lignes de niveau (carte topo, côté "adventure") + barre rouge inclinée
   reprise du logo. Aucune police externe : Noto Sans du thème.
   ========================================================================== */

:root {
  --xa-noir: #17181a;
  --xa-anthracite: #2d2d2d;
  --xa-rouge: #e80003;
  --xa-rouge-fonce: #b90002;
  --xa-trait: #e3e3df;
  --xa-fond: #f5f5f2;
  --xa-gris: #6d6d69;
  --xa-rayon: 4px;
  --xa-ombre: 0 1px 3px rgba(0, 0, 0, .06);
  --xa-ombre-survol: 0 14px 26px -14px rgba(0, 0, 0, .4);
  --xa-topo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='240' viewBox='0 0 480 240'%3E%3Cg fill='none' stroke='%23fff' stroke-opacity='.11' stroke-width='1.1'%3E%3Cpath d='M0 20C120-6 360 46 480 20'/%3E%3Cpath d='M0 44C120 14 360 74 480 44'/%3E%3Cpath d='M0 72C120 50 360 94 480 72'/%3E%3Cpath d='M0 96C120 62 360 130 480 96'/%3E%3Cpath d='M0 128C120 110 360 146 480 128'/%3E%3Cpath d='M0 150C120 120 360 180 480 150'/%3E%3Cpath d='M0 182C120 158 360 206 480 182'/%3E%3Cpath d='M0 208C120 176 360 240 480 208'/%3E%3Cpath d='M0 230C120 212 360 248 480 230'/%3E%3C/g%3E%3C/svg%3E");
}

/* --------------------------------------------------------------------------
   Fond de page
   -------------------------------------------------------------------------- */
@media (min-width: 1024px) {
  #wrapper {
    background: linear-gradient(180deg, #efefec 0%, #e6e6e2 100%);
    padding-bottom: 1.5rem;
  }
  #wrapper .container {
    background: #fff;
    box-shadow: 0 0 20px rgba(0, 0, 0, .07);
  }
}

/* --------------------------------------------------------------------------
   Boutons
   -------------------------------------------------------------------------- */
.btn-primary,
.btn-primary:focus {
  background: var(--xa-rouge);
  border-color: var(--xa-rouge);
  color: #fff;
  border-radius: var(--xa-rayon);
  font-weight: 700;
  letter-spacing: .04em;
  box-shadow: none;
  transition: background .15s ease, border-color .15s ease;
}
.btn-primary:hover,
.btn-primary:active,
.btn-primary:active:hover,
.btn-primary:active:focus {
  background: var(--xa-rouge-fonce);
  border-color: var(--xa-rouge-fonce);
  color: #fff;
}
.btn-primary.disabled,
.btn-primary:disabled,
.btn-primary.disabled:hover,
.btn-primary:disabled:hover {
  background: #9a9a96;
  border-color: #9a9a96;
}
.btn-secondary,
.btn-tertiary {
  border-radius: var(--xa-rayon);
  box-shadow: none;
}

/* --------------------------------------------------------------------------
   En-tête
   -------------------------------------------------------------------------- */
@media (min-width: 768px) {
  #header .header-nav,
  body#checkout #header .header-nav {
    background: var(--xa-noir);
    border-bottom: 2px solid var(--xa-rouge);
  }
  #header .header-nav .blockcart {
    background: transparent;
  }
  #header .header-nav #search_widget form input[type="text"] {
    background: #fff;
    border: 0;
    border-radius: 3px;
    color: #222;
  }
  #header .header-nav #search_widget .material-icons.search {
    color: var(--xa-gris);
  }
  #header .header-top {
    padding-bottom: 0;
    border-bottom: 1px solid var(--xa-trait);
  }
}
#header a:hover {
  color: #ff5a52;
}
#header .header-top a:hover {
  color: var(--xa-rouge);
}

/* Menu principal (bamegamenu) */
@media (min-width: 768px) {
  #header #mega_menu_plus {
    margin-bottom: 0;
  }
  #header #mega_menu_plus ul.mg-menu {
    border-bottom: 0;
  }
}
@media (min-width: 992px) {
  #header #mega_menu_plus ul.mg-menu > li > a {
    background-image: linear-gradient(var(--xa-rouge), var(--xa-rouge));
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 0 3px;
    transition: background-size .2s ease;
  }
  #header #mega_menu_plus ul.mg-menu > li:hover > a {
    background-size: 100% 3px;
  }
  #header #mega_menu_plus ul.mg-menu > li > a .menu-item-link-text {
    transition: color .15s ease;
  }
  #header #mega_menu_plus ul.mg-menu > li:hover > a .menu-item-link-text {
    color: var(--xa-rouge);
  }
}

/* --------------------------------------------------------------------------
   Fil d'Ariane
   -------------------------------------------------------------------------- */
#wrapper .breadcrumb {
  background: transparent;
  padding: .35rem 0 .6rem;
}
#wrapper .breadcrumb li,
#wrapper .breadcrumb li a {
  font-size: .68rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--xa-gris);
}
#wrapper .breadcrumb li a:hover {
  color: var(--xa-rouge);
}
#wrapper .breadcrumb li:last-child,
#wrapper .breadcrumb li:last-child a,
#wrapper .breadcrumb li:last-child span {
  color: var(--xa-noir);
  font-weight: 700;
}
#wrapper .breadcrumb li::after {
  color: var(--xa-rouge);
  font-weight: 700;
}

/* --------------------------------------------------------------------------
   Catégorie : bandeau
   -------------------------------------------------------------------------- */
#main .block-category.card {
  position: relative;
  min-height: 0;
  margin-bottom: 1.25rem;
  padding: 1.15rem 1.5rem;
  border: 0;
  border-left: 5px solid var(--xa-rouge);
  border-radius: var(--xa-rayon);
  box-shadow: none;
  overflow: hidden;
  background:
    linear-gradient(110deg, transparent calc(100% - 118px), var(--xa-rouge) calc(100% - 118px), var(--xa-rouge) calc(100% - 104px), transparent calc(100% - 104px), transparent calc(100% - 94px), rgba(232, 0, 3, .45) calc(100% - 94px), rgba(232, 0, 3, .45) calc(100% - 89px), transparent calc(100% - 89px)),
    var(--xa-topo),
    var(--xa-noir);
}
#main .block-category .wrapper-flex {
  align-items: center;
  padding-right: 150px;
}
#main .block-category .category-cover {
  flex: 0 0 auto;
  margin-right: 1.4rem;
  line-height: 0;
}
#main .block-category .category-cover img {
  display: block;
  width: auto;
  height: 104px;
  max-width: 130px;
  object-fit: contain;
  background: #fff;
  border-radius: 3px;
}
#main .block-category .category-cover img[src=""],
#main .block-category .category-cover img:not([src]) {
  display: none;
}
#main .block-category h1.h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.35rem, 2.3vw, 1.85rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .02em;
  text-transform: uppercase;
}
#main .block-category #category-description,
#main .block-category #category-description p,
#main .block-category #category-description span {
  margin: .45rem 0 0;
  color: #cfcfcb;
  font-size: .9rem;
  line-height: 1.45;
}
#main .block-category #category-description a,
#main .block-category #category-description strong {
  color: #fff;
  font-weight: 400;
}
#main .block-category #category-description a {
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, .35);
  text-underline-offset: 2px;
}
#main .block-category #category-description a:hover {
  text-decoration-color: var(--xa-rouge);
}

@media (max-width: 991px) {
  #main .block-category .wrapper-flex {
    padding-right: 105px;
  }
}

/* Titre de catégorie sur mobile */
#main .text-xs-center.hidden-md-up h1 {
  margin: .25rem 0 1rem;
  padding: .75rem 1rem;
  border-left: 4px solid var(--xa-rouge);
  border-radius: var(--xa-rayon);
  background: var(--xa-topo), var(--xa-noir);
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-align: left;
  text-transform: uppercase;
}

/* Titre des autres listes (promotions, nouveautés, recherche, marques) */
#main h1#js-product-list-header {
  display: flex;
  align-items: center;
  gap: .7rem;
  margin: .25rem 0 1rem;
  color: var(--xa-noir);
  font-weight: 700;
  letter-spacing: .02em;
}
#main h1#js-product-list-header::before {
  content: "";
  flex: 0 0 auto;
  width: 7px;
  height: 1.1em;
  background: var(--xa-rouge);
  transform: skewX(-18deg);
}

/* --------------------------------------------------------------------------
   Catégorie : sous-catégories en tuiles
   -------------------------------------------------------------------------- */
#main #subcategories {
  margin: 0 0 1.5rem;
  padding: 0;
  background: transparent;
  box-shadow: none;
}
#main #subcategories ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
  gap: .75rem;
  margin: 0;
  padding: 0;
}
#main #subcategories ul::before,
#main #subcategories ul::after {
  display: none;
}
#main #subcategories ul li {
  position: relative;
  float: none;
  width: auto;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: .75rem .6rem .7rem;
  border: 1px solid var(--xa-trait);
  border-radius: var(--xa-rayon);
  background: #fff;
  text-align: center;
  overflow: hidden;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
#main #subcategories ul li::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: var(--xa-rouge);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .22s ease;
}
#main #subcategories ul li:hover {
  border-color: #c9c9c5;
  box-shadow: var(--xa-ombre-survol);
  transform: translateY(-2px);
}
#main #subcategories ul li:hover::after {
  transform: scaleX(1);
}
#main #subcategories ul li a.img {
  display: block;
  line-height: 0;
}
#main #subcategories ul li img,
#main #subcategories ul li img:hover {
  width: auto;
  height: 84px;
  max-width: 100%;
  margin: 0 0 .55rem;
  object-fit: contain;
  opacity: 1;
}
#main #subcategories ul li h5 {
  margin: 0;
}
#main #subcategories ul li .subcategory-name {
  display: block;
  color: var(--xa-anthracite);
  font-size: .85rem;
  font-weight: 700;
  line-height: 1.25;
  text-transform: none;
}
#main #subcategories ul li .subcategory-name::after {
  /* toute la tuile est cliquable */
  content: "";
  position: absolute;
  inset: 0;
}
#main #subcategories ul li:hover .subcategory-name {
  color: var(--xa-rouge);
}

/* --------------------------------------------------------------------------
   Liste : barre de tri, rubriques
   -------------------------------------------------------------------------- */
#products .products-selection {
  margin: 0 0 1.25rem;
  padding: .45rem .25rem;
  border-radius: var(--xa-rayon);
  background: var(--xa-fond);
}
#products .products-selection .total-products p,
#products .products-selection .sort-by {
  margin: 0;
  padding-top: .5rem;
  color: var(--xa-gris);
  font-size: .78rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}
#products .products-selection .sort-by {
  text-align: right;
}
#products .products-sort-order .select-title {
  border: 1px solid #d2d2ce;
  border-radius: var(--xa-rayon);
  background: #fff;
  box-shadow: none;
  color: var(--xa-anthracite);
}
#products .products-sort-order .select-title:hover {
  border-color: var(--xa-anthracite);
}
#products .products-sort-order .dropdown-menu {
  border: 0;
  border-radius: var(--xa-rayon);
  box-shadow: var(--xa-ombre-survol);
}
#products .products-sort-order .select-list:hover {
  background: var(--xa-rouge);
  color: #fff;
}

#produitsorigine,
#produitsreco,
#toutproduits {
  display: flex;
  align-items: center;
  margin: 0 0 1.25rem;
  padding: .7rem 1rem;
  border: 0;
  border-left: 4px solid var(--xa-anthracite);
  border-radius: var(--xa-rayon);
  background: var(--xa-fond);
  box-shadow: none;
}
#toutproduits {
  display: block;
}
#produitsorigine {
  border-left-color: var(--xa-rouge);
  background: #fbf1f0;
}
#produitsreco {
  border-left-color: #c9982f;
  background: #faf5e6;
}
#produitsorigine img,
#produitsreco img {
  flex: 0 0 auto;
  width: auto;
  height: 52px;
}
#produitsorigine h3,
#produitsreco h3,
#toutproduits h3 {
  margin: 0 0 .15rem;
  color: var(--xa-noir);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}
#produitsorigine p,
#produitsreco p,
#toutproduits p {
  margin: 0;
  color: var(--xa-gris);
  font-size: .85rem;
  font-style: normal;
}
#produitsoriginetext,
#produitsrecotext {
  margin-left: .9rem;
}

/* --------------------------------------------------------------------------
   Vignettes produit
   -------------------------------------------------------------------------- */
#products .thumbnail-container,
.featured-products .thumbnail-container,
.product-accessories .thumbnail-container,
.product-miniature .thumbnail-container {
  border: 1px solid var(--xa-trait);
  border-radius: var(--xa-rayon);
  box-shadow: var(--xa-ombre);
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
#products .thumbnail-container::after,
.featured-products .thumbnail-container::after,
.product-accessories .thumbnail-container::after,
.product-miniature .thumbnail-container::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: var(--xa-rouge);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
}
#products .thumbnail-container:hover,
.featured-products .thumbnail-container:hover,
.product-accessories .thumbnail-container:hover,
.product-miniature .thumbnail-container:hover {
  border-color: #cfcfcb;
  box-shadow: var(--xa-ombre-survol);
  transform: translateY(-3px);
}
#products .thumbnail-container:hover::after,
.featured-products .thumbnail-container:hover::after,
.product-accessories .thumbnail-container:hover::after,
.product-miniature .thumbnail-container:hover::after {
  transform: scaleX(1);
}

#products .product-title a,
.featured-products .product-title a,
.product-accessories .product-title a,
.product-miniature .product-title a {
  color: var(--xa-anthracite);
}
.product-miniature .product-title a:hover {
  color: var(--xa-rouge);
}
#products .product-price-and-shipping,
.featured-products .product-price-and-shipping,
.product-accessories .product-price-and-shipping,
.product-miniature .product-price-and-shipping {
  color: var(--xa-noir);
  font-weight: 700;
}
.product-miniature .product-price-and-shipping .regular-price {
  color: #9a9a96;
  font-size: .8rem;
  font-weight: 400;
}
.product-miniature .product-price-and-shipping .regular-price ~ .price {
  color: var(--xa-rouge);
}

/* Remise : étiquette inclinée en haut à droite (remplace la pastille ronde) */
.featured-products .product-miniature .discount-percentage,
.featured-products .product-miniature .discount-amount,
#products .product-miniature .discount-percentage,
#products .product-miniature .discount-amount,
.product-accessories .product-miniature .discount-percentage,
.product-accessories .product-miniature .discount-amount {
  top: -238px;
  right: 0;
  bottom: auto;
  left: auto;
  z-index: 100;
  width: auto;
  height: auto;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: .3rem .6rem .3rem 1rem;
  border-radius: 0;
  background: var(--xa-rouge);
  box-shadow: none;
  color: #fff;
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.2;
  clip-path: polygon(10px 0, 100% 0, 100% 100%, 0 100%);
}

/* Drapeau PROMO : même étiquette, à droite ; la remise passe dessous s'il y a les deux */
#products .product-miniature .product-flags li.product-flag.on-sale,
#products .product-miniature .product-flags li.product-flag.new,
#products .product-miniature .product-flags li.product-flag.online-only,
.featured-products .product-miniature .product-flags li.product-flag.on-sale.on-sale,
.featured-products .product-miniature .product-flags li.product-flag.new,
.featured-products .product-miniature .product-flags li.product-flag.online-only,
.product-accessories .product-miniature .product-flags li.product-flag.on-sale,
.product-accessories .product-miniature .product-flags li.product-flag.new,
.product-accessories .product-miniature .product-flags li.product-flag.online-only {
  position: absolute;
  top: 10px;
  right: 0;
  left: auto;
  width: auto;
  margin: 0;
  padding: .3rem .6rem .3rem 1rem;
  background: var(--xa-noir);
  box-shadow: none;
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.5;
  text-align: left;
  min-width: 0;
  min-height: 0;
  z-index: 100;
  clip-path: polygon(10px 0, 100% 0, 100% 100%, 0 100%);
}
.product-miniature .thumbnail-container:has(.product-flag.on-sale, .product-flag.new, .product-flag.online-only) .discount-percentage.discount-percentage,
.product-miniature .thumbnail-container:has(.product-flag.on-sale, .product-flag.new, .product-flag.online-only) .discount-amount.discount-amount {
  top: -206px;
}

/* Drapeau PACK : étiquette sobre en bas à droite */
#products .product-miniature .product-flags li.product-flag.pack,
.featured-products .product-miniature .product-flags li.product-flag.pack,
.product-accessories .product-miniature .product-flags li.product-flag.pack {
  top: 292px;
  right: 0;
  left: auto;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: .2rem .55rem .2rem .85rem;
  background: var(--xa-noir);
  box-shadow: none;
  color: #fff;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.5;
  clip-path: polygon(8px 0, 100% 0, 100% 100%, 0 100%);
}

/* --------------------------------------------------------------------------
   Titres de section (accueil, accessoires associés)
   -------------------------------------------------------------------------- */
.featured-products h2.products-section-title,
#products h2.products-section-title,
.product-accessories h3.titreh3 {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 1.25rem 0 1.1rem;
  padding: 0;
  background: transparent;
  color: var(--xa-noir);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.3;
  text-align: left;
  text-transform: uppercase;
}
.featured-products h2.products-section-title::before,
#products h2.products-section-title::before,
.product-accessories h3.titreh3::before {
  content: "";
  flex: 0 0 auto;
  width: 7px;
  height: 1.2em;
  background: var(--xa-rouge);
  transform: skewX(-18deg);
}
.featured-products h2.products-section-title::after,
#products h2.products-section-title::after,
.product-accessories h3.titreh3::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: var(--xa-trait);
}

/* --------------------------------------------------------------------------
   Accueil : compteur
   -------------------------------------------------------------------------- */
#super_counter {
  width: auto;
  margin: 1.25rem 0 1.75rem;
  padding: 1.6rem 1rem 1.5rem;
  border-left: 5px solid var(--xa-rouge);
  border-radius: var(--xa-rayon);
  background: var(--xa-topo), var(--xa-noir);
}
#super_counter .super_counter_lbl {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.4;
  text-transform: uppercase;
}
#super_counter .super_counter_lbl_2 {
  color: #cfcfcb;
  font-size: .9rem;
  font-style: normal;
  font-weight: 400;
  letter-spacing: .02em;
  text-transform: none;
}
#super_counter #super_counter_nb {
  font-size: clamp(3rem, 9vw, 5.5rem);
  letter-spacing: .03em;
  line-height: 1.15;
}

/* --------------------------------------------------------------------------
   Pagination
   -------------------------------------------------------------------------- */
.pagination .page-list {
  background: transparent;
  box-shadow: none;
}
.pagination a {
  color: var(--xa-anthracite);
}
.pagination .current a {
  display: inline-block;
  min-width: 1.9rem;
  padding: .15rem .5rem;
  background: var(--xa-rouge);
  color: #fff;
  text-align: center;
  text-decoration: none;
}

/* --------------------------------------------------------------------------
   Fiche produit
   -------------------------------------------------------------------------- */
#product #encaps h1.h1 {
  margin: 0 0 .9rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--xa-noir);
  font-size: clamp(1.35rem, 2.1vw, 1.75rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .01em;
}
#product #encaps h1.h1::after {
  content: "";
  display: block;
  width: 54px;
  height: 4px;
  margin-top: .6rem;
  background: var(--xa-rouge);
  transform: skewX(-20deg);
  transform-origin: left bottom;
}
#product .product-prices {
  margin: .5rem 0 1rem;
}
#product .product-prices .current-price {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem;
}
#product .product-prices .current-price-value {
  color: var(--xa-noir);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.1;
}
#product .product-prices .has-discount .current-price-value {
  color: var(--xa-rouge);
}
#product .product-prices .regular-price {
  color: #9a9a96;
  font-size: 1rem;
}
#product .has-discount .discount {
  margin-left: 0;
  padding: .25rem .65rem;
  border-radius: 0;
  background: var(--xa-noir);
  color: #fff;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .04em;
}
#product .product-cover img {
  border: 1px solid var(--xa-trait);
  border-radius: var(--xa-rayon);
  box-shadow: none;
}
#product .product-images .thumb {
  border: 2px solid var(--xa-trait);
  border-radius: 3px;
  box-shadow: none;
  transition: border-color .15s ease;
}
#product .product-images .thumb:hover {
  border-color: #b5b5b1;
}
#product .product-images .thumb.selected,
#product .product-images .thumb.selected:hover {
  border-color: var(--xa-rouge);
}

#product .product-variants .control-label,
#product .product-add-to-cart .control-label {
  color: var(--xa-noir);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
#product .product-variants select.form-control {
  border: 1px solid #cdcdc9;
  border-radius: var(--xa-rayon);
  box-shadow: none;
  color: var(--xa-anthracite);
}
#product .product-variants select.form-control:focus {
  border-color: var(--xa-anthracite);
  outline: none;
}
#product #product-availability {
  display: inline-block;
  margin-bottom: .5rem;
  font-size: 1rem;
}
#product .product-add-to-cart .add-to-cart {
  padding-right: 1.6rem;
  padding-left: 1.4rem;
}

/* Contenu d'un pack */
#product .product-pack .card {
  border: 1px solid var(--xa-trait);
  border-radius: var(--xa-rayon);
  box-shadow: none;
}
#product .product-pack .pack-product-name a {
  color: var(--xa-anthracite);
}
#product .product-pack .pack-product-name a:hover {
  color: var(--xa-rouge);
}

/* Réassurance */
#product #block-reassurance {
  border-radius: var(--xa-rayon);
  background: var(--xa-fond);
  box-shadow: none;
}
#product #block-reassurance li {
  border-bottom: 1px solid var(--xa-trait);
}
#product #block-reassurance li:last-child {
  border-bottom: 0;
}
#product #block-reassurance li .block-reassurance-item span {
  color: var(--xa-anthracite);
  font-size: .88rem;
}

/* Onglets et fiche technique */
#product .tabs {
  margin-top: 1.5rem;
  padding: 1.1rem 1.4rem 1.3rem;
  border: 1px solid var(--xa-trait);
  border-radius: var(--xa-rayon);
  box-shadow: none;
}
#product .tabs .nav-tabs {
  border-bottom: 1px solid var(--xa-trait);
}
#product .tabs .nav-tabs .nav-link {
  border: 0;
  border-bottom: 3px solid transparent;
  color: var(--xa-gris);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
#product .tabs .nav-tabs .nav-link.active,
#product .tabs .nav-tabs .nav-link:hover {
  border-bottom-color: var(--xa-rouge);
  color: var(--xa-noir);
}
#product .product-features h3 {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin: 1.4rem 0 .7rem;
  padding: 0 0 .45rem;
  border-bottom: 1px solid var(--xa-trait);
  color: var(--xa-noir);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
#product .product-features h3::before {
  content: "";
  flex: 0 0 auto;
  width: 5px;
  height: 1.1em;
  background: var(--xa-rouge);
  transform: skewX(-18deg);
}
#product .product-features dl.data-sheet {
  display: grid;
  grid-template-columns: minmax(110px, max-content) 1fr;
  gap: 0;
  padding: 0;
  border: 1px solid var(--xa-trait);
  border-radius: var(--xa-rayon);
  overflow: hidden;
}
#product .product-features dl.data-sheet dt.name,
#product .product-features dl.data-sheet dd.value {
  width: auto;
  min-height: 0;
  margin: 0;
  padding: .55rem .8rem;
  border-radius: 0;
  border-bottom: 1px solid var(--xa-trait);
  font-size: .85rem;
  line-height: 1.4;
  word-break: normal;
}
#product .product-features dl.data-sheet dt.name {
  background: var(--xa-fond);
  color: var(--xa-noir);
  font-weight: 700;
}
#product .product-features dl.data-sheet dd.value {
  background: #fff;
  color: #444;
  font-weight: 400;
}
#product .product-features dl.data-sheet dt.name:last-of-type,
#product .product-features dl.data-sheet dd.value:last-of-type {
  border-bottom: 0;
}
#product .product-reference {
  font-size: .9rem;
}

/* --------------------------------------------------------------------------
   Pages de contenu (FAQ, guides…)
   -------------------------------------------------------------------------- */
.cmscustom h2 {
  display: flex;
  align-items: center;
  gap: .7rem;
  margin: 2rem 0 1rem;
  padding: 0 0 .5rem;
  border-bottom: 1px solid var(--xa-trait);
  background: transparent;
  color: var(--xa-noir);
  font-weight: 700;
}
.cmscustom h2::before {
  content: "";
  flex: 0 0 auto;
  width: 7px;
  height: 1.1em;
  background: var(--xa-rouge);
  transform: skewX(-18deg);
}
.cmscustom h3 {
  margin: 1.5rem 0 .9rem;
  padding: .5rem .8rem;
  border-left: 3px solid var(--xa-anthracite);
  border-radius: 0 var(--xa-rayon) var(--xa-rayon) 0;
  background: var(--xa-fond);
  color: var(--xa-noir);
}

/* --------------------------------------------------------------------------
   Pied de page
   -------------------------------------------------------------------------- */
#footer {
  border-top: 1px solid var(--xa-trait);
}
.footer-container {
  border-top: 3px solid var(--xa-rouge);
  background: var(--xa-noir);
}
.footer-container h3,
.footer-container .h3,
.footer-container .block-contact .block-contact-title,
.footer-container .linklist .blockcms-title a,
.footer-container #block_myaccount_infos .myaccount-title a {
  color: #fff;
  font-size: .95rem;
  letter-spacing: .05em;
}
@media (min-width: 768px) {
  .footer-container h3::after,
  .footer-container .block-contact .block-contact-title::after {
    content: "";
    display: block;
    width: 28px;
    height: 3px;
    margin: .4rem 0 .2rem;
    background: var(--xa-rouge);
    transform: skewX(-20deg);
    transform-origin: left bottom;
  }
}
.footer-container li a {
  color: #cfcfcb;
  font-weight: 400;
}
.footer-container li a:hover {
  color: #fff;
}

/* --------------------------------------------------------------------------
   Mobile
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  #main #subcategories ul {
    grid-template-columns: repeat(auto-fill, minmax(104px, 1fr));
    gap: .5rem;
  }
  #main #subcategories ul li {
    width: auto;
    min-height: 0;
    padding: .55rem .4rem .6rem;
  }
  #main #subcategories ul li img,
  #main #subcategories ul li img:hover {
    height: 64px;
  }
  #main #subcategories ul li .subcategory-name {
    font-size: .76rem;
  }
  #products .products-selection {
    padding: .5rem .25rem;
  }
  #produitsorigine img,
  #produitsreco img {
    height: 42px;
  }
  #produitsorigine h3,
  #produitsreco h3,
  #toutproduits h3 {
    font-size: .9rem;
  }
  #product .product-prices .current-price-value {
    font-size: 1.75rem;
  }
  #product .tabs {
    padding: .9rem 1rem 1.1rem;
  }
  .featured-products h2.products-section-title,
  #products h2.products-section-title,
  .product-accessories h3.titreh3 {
    font-size: .95rem;
  }
  .page-home .featured-products h2.products-section-title {
    padding: 0 .9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  #products .thumbnail-container,
  .product-miniature .thumbnail-container,
  #main #subcategories ul li,
  #header #mega_menu_plus ul.mg-menu > li > a {
    transition: none;
  }
}
