/* =========================================================
   MAISON ARCA — CSS personnalisé (nettoyé + bilingue FR/EN)
   ========================================================= */

:root {
  --color-primary: #000000 !important;

  /* Bouton fiche produit */
  --arca-atc-height: 38px;
  --arca-atc-font-size: 11px;
  --arca-atc-padding-x: 14px;
}

/* ===== COULEURS / BOUTONS ===== */
.price,
.product-price,
.current-price,
span[itemprop="price"] {
  color: #000000 !important;
}

.btn-primary {
  background-color: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
}

/* Boutons quantité + et - */
.btn.btn-touchspin {
  border-color: transparent !important;
}

/* Champ quantité */
#quantity_wanted {
  border-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  color: #000000 !important;
  background: transparent !important;
  width: 80px !important;
  text-align: center !important;
  display: block !important;
}

/* Boutons variantes */
.product-variants label {
  color: #000000 !important;
  border-color: #000000 !important;
}
.product-variants input:checked + label,
.product-variants input.input-radio:checked + span {
  color: #ffffff !important;
  border-color: #000000 !important;
}
.product-variants label:hover {
  color: #ffffff !important;
  border-color: #000000 !important;
}

/* ===== HEADER / DIVERS ===== */
.summary-container .product_meta { display: none; }
#header { margin-bottom: 0; }
.label-flags li.type-new { display: none; }
.buttons-action.axps-buttons-tootip-top { display: none; }
.product-type-6 .js-product-miniature { box-shadow: none; }
.ax-lazy-load { background-color: transparent !important; }
.tax-shipping-delivery-label { display: none; }
#ps_checkout-payment-method-logo-block-container { display: none; }

.single-breadcrumbs-wrapper .axps-breadcrumb {
  justify-content: center;
  margin-top: 10px;
}

/* ===== COMPTE + PANIER (icônes → texte, bilingue) ===== */
i.pe-7s-user::before,
i.pe-7s-shopbag::before {
  font-family: 'Montserrat', Sans-serif;
  font-size: 12px;
  text-transform: uppercase;
  color: #000000;
}
:lang(fr) i.pe-7s-user::before    { content: "COMPTE"; }
:lang(en) i.pe-7s-user::before    { content: "ACCOUNT"; }
:lang(fr) i.pe-7s-shopbag::before { content: "PANIER"; }
:lang(en) i.pe-7s-shopbag::before { content: "BAG"; }

/* ===== TITRE PRODUIT ===== */
.single-product-summary .product_title { display: none !important; }

.product-title-top {
  text-align: center;
  padding: 10px 0 6px;
  font-size: 1.35rem;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 14px;
}

/* ===== PAGE PRODUIT — colonne résumé compacte (style FRAME) ===== */
.product-quantity .qty,
.product-type-6 .item-inner .ax-product-cats { display: none; }

.summary-container {
  margin-bottom: 0;
  padding-top: 0;
}

.summary-container > .product-prices {
  margin-bottom: 6px;
}

.summary-container > .product-prices .product-price {
  font-size: 1.25rem !important;
  line-height: 1.2;
  margin-bottom: 0 !important;
}

.product-information {
  margin-top: 0;
}

.product-actions {
  margin-top: 0;
}

#add-to-cart-or-refresh .btn-primary,
.summary-container .product-add-to-cart .add-to-cart,
.product-add-to-cart .add-to-cart {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: var(--arca-atc-height) !important;
  min-height: var(--arca-atc-height) !important;
  padding: 0 var(--arca-atc-padding-x) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: var(--arca-atc-font-size) !important;
  letter-spacing: .1em;
  line-height: 1 !important;
  text-transform: uppercase;
  white-space: nowrap;
}

.product-add-to-cart .add {
  display: block !important;
  font-size: inherit !important;
  width: 100%;
}

.product-type-6 .item-inner .buttons-action { display: none; }
.product-type-6 .item-inner .element-bottom {
  text-align: left;
  padding: 10px 1px;
  background-color: #f9f9f9;
}

.product-description {
  display: flex;
  justify-content: space-between;
}

/* ===== VARIANTES ===== */
.product-variants-item { margin-bottom: 10px; }
.control-label { text-transform: uppercase; letter-spacing: .05em; font-size: 11px; }

/* Pastilles couleur carrées */
.product-variants-item.type_color ul { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; padding: 0; }
.product-variants-item.type_color li.input-container { position: relative; margin: 0; list-style: none; }
.product-variants-item.type_color .input-color { position: absolute; opacity: 0; }
.product-variants-item.type_color .color {
  display: block; width: 20px; height: 20px;
  border-radius: 0 !important;
  border: 1px solid #ddd; cursor: pointer;
  background-size: cover; background-position: center;
}
.product-variants-item.type_color .input-color:checked + .color {
  border-color: #000; box-shadow: 0 0 0 1px #000;
}
.product-variants-item.type_color .control-label::after { content: "" !important; }

/* Tailles en grille de cases */
.product-variants-item.type_radio { display: block; }
.product-variants-item.type_radio ul { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; padding: 0; }
.product-variants-item.type_radio li.input-container { position: relative; margin: 0; list-style: none; }
.product-variants-item.type_radio .input-radio { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; z-index: 2; }
.product-variants-item.type_radio .radio-label {
  display: flex; align-items: center; justify-content: center;
  min-width: 30px; height: 30px; padding: 0 4px;
  border: 1px solid #ddd; font-size: 12px;
  border-radius: 0 !important;
}
.product-variants-item.type_radio .input-radio:checked + .radio-label { border-color: #000; }

/* Déclinaisons indisponibles (rupture de stock) — même carré, grisé + barre diagonale */
.product-variants-item.type_radio li.input-container.is-unavailable .input-radio {
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0 !important; /* évite l'affichage du radio natif (rond) via [disabled] du thème parent */
}
.product-variants-item.type_radio li.input-container.is-unavailable .radio-label {
  color: #bbb !important;
  border: 1px solid #ddd !important;
  border-radius: 0 !important;
  background: transparent !important;
  position: relative;
  cursor: not-allowed;
}
.product-variants-item.type_radio li.input-container.is-unavailable .radio-label::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 10%;
  right: 10%;
  height: 1px;
  background: #bbb;
  transform: rotate(-35deg);
  pointer-events: none;
}
.product-variants-item.type_radio li.input-container.is-unavailable .input-radio:checked + .radio-label,
.product-variants-item.type_radio li.input-container.is-unavailable .input-radio:hover + .radio-label,
.product-variants li.input-container.is-unavailable .input-radio:checked + span,
.product-variants li.input-container.is-unavailable .input-radio:hover + span {
  color: #bbb !important;
  border: 1px solid #ddd !important;
  background: transparent !important;
}

.product-variants-item.type_color li.input-container.is-unavailable .input-color {
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0 !important;
}
.product-variants-item.type_color li.input-container.is-unavailable .color {
  opacity: 0.35;
  position: relative;
  cursor: not-allowed;
  border-color: #ccc !important;
  box-shadow: none !important;
}
.product-variants-item.type_color li.input-container.is-unavailable .color::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -1px;
  right: -1px;
  height: 1px;
  background: #999;
  transform: rotate(-45deg);
  pointer-events: none;
}
.product-variants-item.type_color li.input-container.is-unavailable .input-color:checked + .color {
  border-color: #ccc !important;
  box-shadow: none !important;
}

.product-variants-item.type_select select option:disabled {
  color: #bbb;
}

/* Précommande : visuel rupture mais sélectionnable */
.product-variants-item.type_radio li.input-container.is-preorder .input-radio {
  cursor: pointer;
  opacity: 0 !important;
}
.product-variants-item.type_radio li.input-container.is-preorder .radio-label {
  color: #bbb !important;
  border: 1px solid #ddd !important;
  border-radius: 0 !important;
  background: transparent !important;
  position: relative;
  cursor: pointer;
}
.product-variants-item.type_radio li.input-container.is-preorder .radio-label::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 10%;
  right: 10%;
  height: 1px;
  background: #bbb;
  transform: rotate(-35deg);
  pointer-events: none;
}
.product-variants-item.type_radio li.input-container.is-preorder .input-radio:checked + .radio-label {
  color: #fff !important;
  border: 1px solid #000 !important;
  background: #000 !important;
}
.product-variants-item.type_radio li.input-container.is-preorder .input-radio:checked + .radio-label::after {
  display: none;
}

.product-variants-item.type_color li.input-container.is-preorder .input-color {
  cursor: pointer;
  opacity: 0 !important;
}
.product-variants-item.type_color li.input-container.is-preorder .color {
  opacity: 0.35;
  position: relative;
  cursor: pointer;
  border-color: #ccc !important;
  box-shadow: none !important;
}
.product-variants-item.type_color li.input-container.is-preorder .color::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -1px;
  right: -1px;
  height: 1px;
  background: #999;
  transform: rotate(-45deg);
  pointer-events: none;
}
.product-variants-item.type_color li.input-container.is-preorder .input-color:checked + .color {
  border-color: #000 !important;
  box-shadow: 0 0 0 1px #000 !important;
  opacity: 1;
}
.product-variants-item.type_color li.input-container.is-preorder .input-color:checked + .color::after {
  display: none;
}

/* Message précommande — gris visible (écrase le vert du thème parent) */
#product-availability .label.type-preorder,
.type-preorder {
  color: #888 !important;
}

#product-availability .label.type-available {
  color: #000 !important;
}

/* Ordre : couleur puis taille */
.product-variants { display: flex; flex-direction: column; }
.product-variants-item.type_color  { order: 1; }
.product-variants-item.type_radio,
.product-variants-item.type_select { order: 2; }

/* Ligne libellé + guide des tailles */
.variant-label-row { display: flex; justify-content: space-between; align-items: baseline; }
.size-guide-link {
  text-decoration: underline; color: #000;
  font-size: 12px; text-transform: uppercase; letter-spacing: .05em;
  cursor: pointer;
}
.product-additional-info .btn-size-chart { display: none !important; }

/* ===== DESCRIPTION ===== */
.product-short-description,
.product-short-description p {
  text-align: justify;
  color: #000000;
  font-family: 'Montserrat', Sans-serif;
  font-size: 11px;
  line-height: 1.45;
  margin: 0;
}

.summary-container .product-short-description {
  margin-top: 10px;
  margin-bottom: 6px;
}

.more-details-link {
  display: inline-block;
  margin-top: 4px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .06em;
  text-decoration: underline;
  color: #000;
}

/* ===== AJOUT PANIER ===== */
.product-add-to-cart {
  display: block !important;
  margin: 10px 0 8px !important;
}

.summary-container #product-availability {
  margin-bottom: 4px;
  font-size: 11px;
}

.summary-container .product-add-to-cart .add .btn {
  margin-left: 0 !important;
  margin-bottom: 0 !important;
  width: 100% !important;
  flex: 1 1 100% !important;
}

.summary-container .product-add-to-cart .add {
  display: block !important;
  flex-wrap: nowrap !important;
  width: 100%;
}

/* ===== GALERIE (affichage) ===== */
.product-images-cover {
  opacity: 1;
}

/* Le thème met opacity:0 sur les images pendant variants-loader → flash blanc */
.js-images-container.variants-loader .product-images-cover,
.js-images-container.variants-loader .product-images-cover .ax-img-loaded,
.js-images-container.variants-loader .product-images-cover .ax-img-loader,
.js-images-container.variants-loader .product-images-cover img {
  opacity: 1 !important;
}
.js-images-container.variants-loader .easyzoom-product {
  display: block !important;
}
.js-images-container.variants-loader .p-ax-img-loader::after {
  opacity: 0 !important;
  animation: none !important;
}

/* Avant init Swiper : 1re diapo pleine largeur (évite le blanc au refresh AJAX) */
.js-images-cover:not(.swiper-initialized) .swiper-wrapper {
  display: flex;
  flex-direction: row;
  overflow: hidden;
}
.js-images-cover:not(.swiper-initialized) .swiper-slide {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
}

/* ===== BLOCS BAS DE PAGE ===== */
.featured-products .products.row { margin-left: 0; margin-right: 0; }
.featured-products .products.row > .df-item { padding-left: 0; padding-right: 0; }

.featured-products .container.container-parent {
  max-width: none !important;
  padding-left: 0;
  padding-right: 0;
}

.product-price-and-shipping {
  font-size: 1.4rem;
  line-height: 2rem;
  margin-bottom: 5px;
}
.product-type-6 .item-inner .product_name {
  margin-bottom: 5px;
  margin-left: 5px;
}

/* Titre bloc "même catégorie" (bilingue) */
#product-footer > section.featured-products:first-of-type h2 { font-size: 0; }
#product-footer > section.featured-products:first-of-type h2::after {
  font-size: 24px;
  text-transform: uppercase;
}
:lang(fr) #product-footer > section.featured-products:first-of-type h2::after { content: "Vous aimerez aussi"; }
:lang(en) #product-footer > section.featured-products:first-of-type h2::after { content: "You may also like"; }

/* Titre bloc "déjà vus" (bilingue) */
#product-footer > section.featured-products:nth-of-type(2) h2 { font-size: 0; }
#product-footer > section.featured-products:nth-of-type(2) h2::after {
  font-size: 24px;
  text-transform: uppercase;
}
:lang(fr) #product-footer > section.featured-products:nth-of-type(2) h2::after { content: "Récemment consultés"; }
:lang(en) #product-footer > section.featured-products:nth-of-type(2) h2::after { content: "Recently viewed"; }

/* ===== DESKTOP (≥ 1200px) ===== */
@media (min-width: 1200px) {
  .product-images-thumb { display: none !important; }

  /* Swiper impose la largeur (2 par vue) — ne pas forcer 50% en CSS */
  .product-images-cover .swiper-slide {
    flex: 0 0 auto !important;
    max-width: none !important;
  }

  .summary-container { margin-left: 28px; }

  /* Desktop : bouton pleine largeur colonne (style FRAME) */
  #add-to-cart-or-refresh .btn-primary,
  .summary-container .product-add-to-cart .add-to-cart,
  .product-add-to-cart .add-to-cart {
    width: 100% !important;
    max-width: 100% !important;
    height: 38px !important;
    min-height: 38px !important;
    font-size: 11px !important;
    letter-spacing: .1em;
  }

  .product-add-to-cart .add,
  .summary-container .product-add-to-cart .add {
    width: 100%;
  }
}

/* ===== MOBILE (≤ 767px) — compact type FRAME ===== */
@media (max-width: 767px) {
  .product-title-top {
    font-size: 1.05rem;
    padding: 6px 16px 4px;
    margin-bottom: 6px;
  }

  .single-product-summary {
    padding: 6px 16px 16px;
  }

  .summary-container > .product-prices {
    margin-bottom: 4px;
  }

  .summary-container > .product-prices .product-price {
    font-size: 1.05rem !important;
  }

  .product-variants-item {
    margin-bottom: 8px;
  }

  .product-variants-item.type_color ul,
  .product-variants-item.type_radio ul {
    margin-top: 4px;
    gap: 5px;
  }

  .product-add-to-cart {
    margin: 6px 0 4px !important;
  }

  /* Mobile : pleine largeur, hauteur contenue */
  #add-to-cart-or-refresh .btn-primary,
  .summary-container .product-add-to-cart .add-to-cart,
  .product-add-to-cart .add-to-cart {
    height: 36px !important;
    min-height: 36px !important;
    font-size: 10px !important;
    letter-spacing: .12em;
  }

  .summary-container .product-short-description {
    margin-top: 8px;
    margin-bottom: 4px;
  }

  .product-short-description,
  .product-short-description p {
    font-size: 10px;
    line-height: 1.4;
  }

  .more-details-link {
    font-size: 10px;
    margin-top: 2px;
  }

  .single-product-images {
    padding-left: 0;
    padding-right: 0;
  }

  .row-product {
    margin-left: 0;
    margin-right: 0;
  }
}

/* ===== TABLETTE ===== */
@media (min-width: 768px) and (max-width: 1199px) {
  .single-product-summary {
    padding: 10px 20px 20px;
  }
}

/* ===== MOBILE / TABLETTE — galerie ===== */
@media (max-width: 1199px) {
  .single-product-summary {
    padding-top: 12px;
  }
}

/* ===== Vidéo produit : couvre toute la diapo (crop des bandes Vimeo) ===== */
.product-video-slide {
  position: relative;
  overflow: hidden !important;
  background: #f3f3f3;
  width: 100%;
  flex-shrink: 0;
  box-sizing: border-box;
}
.product-video-thumb .wrapper-imgs {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 190/236;
  background: #000;
}
.product-video-thumb-icon { color: #fff; font-size: 16px; line-height: 1; }
.product-images-cover.has-product-video .btn-additional-video { display: none !important; }

/* Bouton "Click to enlarge" — lightbox désactivée, masqué définitivement */
.product-images-cover .gr-btn-additional {
  display: none !important;
}

.product-images-cover .swiper-slide { margin: 0 !important; padding: 0 !important; }
.product-images-cover .product-video-slide .img-light-box,
.product-images-cover .product-video-slide .wrapper-imgs { margin: 0 !important; padding: 0 !important; }

.product-video-embed {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.product-video-embed iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 140% !important;
  height: 140% !important;
  border: 0;
  display: block;
  pointer-events: none;
}
/* Anti-flash : tant que Swiper n'a pas initialisé, on ne montre que la 1ère diapo */
.js-images-cover:not(.swiper-initialized) .swiper-slide:nth-child(n+2) {
  visibility: hidden;
}

.product-video-poster {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 140%;
  height: 140%;
  object-fit: cover;
  z-index: 9999;
  transition: opacity .6s ease;
  cursor: pointer;
  pointer-events: auto;
}
.product-video-embed.is-paused {
  cursor: pointer;
}

.product-video-play-btn {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10001;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 50%;
  background: rgba(17, 17, 17, 0.28);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  color: #fff;
  font-size: 10px;
  line-height: 1;
  padding: 0 0 0 2px;
  cursor: pointer;
  box-shadow: none;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
  transition: background .2s ease, border-color .2s ease;
}
.product-video-play-btn:hover,
.product-video-play-btn:focus {
  background: rgba(17, 17, 17, 0.42);
  border-color: #fff;
}
.product-video-embed.is-paused .product-video-play-btn {
  display: flex;
}

.product-video-play-icon {
  display: block;
  width: 0;
  height: 0;
  margin-left: 2px;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent #fff;
}

.product-video-poster.is-hidden {
  opacity: 0 !important;
  pointer-events: none !important;
}

.alert-info {
  display: none;
}

#canvas-mini-cart .card-block-btn .btn.btn-secondary{
  background-color: transparent !important;
  border: 1px solid #000 !important;
  color: #000 !important;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
#canvas-mini-cart .card-block-btn .btn.btn-secondary:hover{
  background-color: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}

.page-title-layout-2.page-title {
  margin-top: 50px;
}

.cart-btn-actions .btn.btn-primary{
  width:100%;
  position:relative;
  overflow:hidden;
  z-index:0;
  transition:color .3s ease;
}
.cart-btn-actions .btn.btn-primary::before{
  content:"";
  position:absolute; inset:0;
  background:#fff;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .35s ease;
  z-index:-1;
}
.cart-btn-actions .btn.btn-primary:hover{
  color:#000 !important;
  border:1px solid #000 !important;
}
.cart-btn-actions .btn.btn-primary:hover::before{ transform:scaleX(1); }

.ax-cart-summary {
  border: 1px solid var(--ax-line-color);
}

/* ===== Éclatement couleur : nom de la couleur à côté du nom produit ===== */
.arca-color-tile .product_name .arca-color-name {
  color: #999;
  font-weight: 400;
  text-transform: capitalize;
}
.arca-color-tile .product_name .arca-color-name::before {
  content: "– ";
}

/* ============================================================
   MENU MOBILE — restyle épuré (v1, à calibrer sur capture)
   Scope mobile uniquement : #canvas-menu-mobile / .wrapper-menu-mobile
   ============================================================ */

/* Panneau : PLEIN ÉCRAN (conteneur + wrapper + slide du swiper), fond blanc */
#canvas-menu-mobile.canvas-widget,
#canvas-menu-mobile .swiper-wrapper,
#canvas-menu-mobile .swiper-slide,
#canvas-menu-mobile .canvas-widget-menu {
  width: 100vw !important;
  max-width: 100vw !important;
}
#canvas-menu-mobile { background: #fff !important; }
#canvas-menu-mobile .title-canvas-widget { font-size: 0 !important; }
#canvas-menu-mobile .canvas-widget-top { min-height: 48px; }

/* Un peu d'air en haut de la liste */
.wrapper-menu-mobile { padding-top: 10px; }
.wrapper-menu-mobile > ul > li { margin-bottom: 4px; }

/* --- Rubriques de 1er niveau : typo bold majuscule --- */
.wrapper-menu-mobile > ul > li > .menu_a_wrap > a {
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: .4px;
  text-transform: uppercase;
  color: #000 !important;
  padding: 13px 20px !important;
  min-height: 0 !important;
  border-bottom: 0 !important;
  opacity: 1 !important;
}

/* --- Sous-rubriques : plus petites, nettes, pleine opacité --- */
.wrapper-menu-mobile .mo_sub_a {
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: .3px;
  text-transform: uppercase;
  color: #000 !important;
  padding: 11px 20px !important;
  min-height: 0 !important;
  border-bottom: 0 !important;
  opacity: 1 !important;
}
.wrapper-menu-mobile li .mo_sub_a:not(:hover) { opacity: 1 !important; }
.wrapper-menu-mobile .mo_sub_ul { padding-left: 6px; }

/* --- Toggle accordéon : chevron noir simple, sans cadre coloré ni bordure --- */
.wrapper-menu-mobile .menu_a_wrap { position: relative; }
.wrapper-menu-mobile .menu_a_wrap .icon-opener {
  border-left: 0 !important;
  background: transparent !important;
  color: #000 !important;
  width: 56px !important;
  height: 100% !important;
  top: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: normal !important;
}
.wrapper-menu-mobile li.active > .menu_a_wrap { background: transparent !important; }
.wrapper-menu-mobile li.active > .menu_a_wrap .icon-opener {
  background: transparent !important;
  color: #000 !important;
}
.wrapper-menu-mobile .menu_a_wrap .icon-opener::after { font-size: 18px; }

/* --- Pied de menu (compte / contact / langue) : plus petit, calé en bas --- */
/* Chaîne flex pour pousser le pied de menu tout en bas de l'écran */
#canvas-menu-mobile .canvas-widget-content { display: flex !important; flex-direction: column !important; }
#canvas-menu-mobile .canvas-widget-content > .wrapper-scroll { flex: 1 1 auto !important; display: flex !important; flex-direction: column !important; }
#canvas-menu-mobile .wrapper-scroll-content { flex: 1 1 auto !important; display: flex !important; flex-direction: column !important; }

.arca-menu-footer {
  margin-top: auto;
  padding: 14px 20px 28px;
  border-top: 1px solid rgba(0, 0, 0, .12);
}
/* Items du pied : tous identiques (Account, Contact us, Langue) */
.arca-menu-footer .arca-mf-link,
.arca-menu-footer .arca-mf-lang .dropdown-toggle {
  display: flex !important;
  align-items: center;
  gap: 6px;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: .6px;
  text-transform: uppercase;
  color: #000 !important;
  padding: 11px 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  cursor: pointer;
  opacity: 1 !important;
}
.arca-menu-footer .arca-mf-lang { position: relative; }
.arca-menu-footer .arca-mf-lang .dropdown-toggle .axicon-angle-down { font-size: 11px; }
.arca-menu-footer .arca-mf-lang .dropdown-menu {
  padding: 2px 0 6px 0;
  border: 0;
  box-shadow: none;
  position: static;
}
.arca-menu-footer .arca-mf-lang .dropdown-menu a {
  display: block;
  padding: 7px 0;
  font-size: 12px;
  letter-spacing: .4px;
  text-transform: uppercase;
  color: #888;
}

/* ===== Boutique : masquer le sélecteur grille/liste (une seule vue utilisée) ===== */
.gr-list-gird { display: none !important; }

/* ===== Compteur panier (header) : "BAG" seul si vide, "BAG (2)" avec articles ===== */
/* Caché par défaut (aucun flash du "0"), révélé par JS via .arca-has-items si > 0 */
.cart-nbr,
.canvas-gr-icon .cart-nbr,
.btn-canvas-cart .cart-nbr {
  display: none !important;
  position: static !important;
  top: auto !important;
  right: auto !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 0 5px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: 1 !important;
  vertical-align: baseline !important;
}
.cart-nbr.arca-has-items,
.canvas-gr-icon .cart-nbr.arca-has-items,
.btn-canvas-cart .cart-nbr.arca-has-items { display: inline !important; }
.cart-nbr.arca-has-items::before { content: "("; }
.cart-nbr.arca-has-items::after { content: ")"; }

/* ============================================================
   FIX débordement horizontal (mobile)
   Le menu off-canvas #canvas-menu-mobile est forcé en 100vw (l.350)
   et déborde la largeur de l'écran même fermé → décalage + vide
   sur les côtés. On coupe tout dépassement latéral au niveau page.
   `clip` (et non `hidden`) évite de créer un conteneur de défilement
   → ne casse pas le sticky du header.
   ============================================================ */
html, body {
  overflow-x: clip;
  max-width: 100%;
}

/* ============================================================
   SIZE GUIDE — guide des tailles (popup module nrtsizechart)
   Design épuré + bascule in/cm. Portée limitée à .ma-sizeguide.
   Le HTML du guide (avec spans .v-in/.v-cm) est stocké en base.
   ============================================================ */
.ma-sizeguide{
    --ma-ink:#111;
    --ma-muted:#8a8a8a;
    --ma-line:#e7e7e7;
    --ma-line-strong:#111;
    color:var(--ma-ink);
    font-family:inherit;
    padding:8px 6px 4px;
}
.ma-sizeguide .ma-sg-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-bottom:26px;
}
.ma-sizeguide .ma-sg-title{
    font-size:13px;
    letter-spacing:.22em;
    text-transform:uppercase;
    font-weight:600;
    margin:0;
    padding-top:6px;
}
.ma-sizeguide .ma-sg-title small{
    display:block;
    margin-top:6px;
    font-size:11px;
    letter-spacing:.16em;
    font-weight:400;
    color:var(--ma-muted);
}
.ma-sizeguide .ma-toggle{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:11px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--ma-muted);
    user-select:none;
    cursor:pointer;
    margin:0;
}
.ma-sizeguide .ma-toggle .on{color:var(--ma-ink);font-weight:600;}
.ma-sizeguide .ma-switch{
    position:relative;
    width:44px;height:24px;
    border-radius:999px;
    background:#111;
    cursor:pointer;
    transition:background .2s ease;
    flex:0 0 auto;
}
.ma-sizeguide .ma-switch::after{
    content:"";
    position:absolute;top:3px;left:3px;
    width:18px;height:18px;border-radius:50%;
    background:#fff;
    transition:transform .2s ease;
}
.ma-sizeguide.cm .ma-switch::after{transform:translateX(20px);}
.ma-sizeguide table.ma-sg-table{
    width:100%;
    border-collapse:collapse;
    font-size:14px;
    margin:0;
}
.ma-sizeguide .ma-sg-table thead th{
    font-size:11px;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--ma-muted);
    font-weight:500;
    text-align:center;
    padding:0 0 14px;
    border:0;
    border-bottom:1px solid var(--ma-line-strong);
    background:none;
}
.ma-sizeguide .ma-sg-table thead th:first-child{text-align:left;}
.ma-sizeguide .ma-sg-table tbody th{
    text-align:left;
    font-weight:400;
    text-transform:capitalize;
    padding:16px 0;
    border:0;
    border-bottom:1px solid var(--ma-line);
    white-space:nowrap;
}
.ma-sizeguide .ma-sg-table tbody td{
    text-align:center;
    padding:16px 0;
    border:0;
    border-bottom:1px solid var(--ma-line);
    font-variant-numeric:tabular-nums;
}
.ma-sizeguide .ma-sg-table tbody tr:last-child th,
.ma-sizeguide .ma-sg-table tbody tr:last-child td{border-bottom:0;}
.ma-sizeguide .ma-sg-model{
    margin-top:26px;
    padding-top:20px;
    border-top:1px solid var(--ma-line);
    display:flex;
    align-items:center;
    gap:12px;
    font-size:12.5px;
    color:#444;
}
.ma-sizeguide .ma-sg-model .dot{
    width:6px;height:6px;border-radius:50%;background:#111;flex:0 0 auto;
}
.ma-sizeguide .ma-sg-model em{font-style:italic;color:#111;}

/* unit values: inches by default, cm when .cm is set on the root */
.ma-sizeguide .v-in,
.ma-sizeguide .v-cm{
  display:inline-block;
  vertical-align:baseline;
}
.ma-sizeguide:not(.cm) .v-cm{display:none !important;}
.ma-sizeguide.cm .v-in{display:none !important;}
.ma-sizeguide.cm .v-cm{display:inline-block !important;}

/* hide the module's default "Size Guide" heading (our block has its own title) */
#moda_sizechart #nrtsizechart > h4{display:none;}

@media (max-width:600px){
    .ma-sizeguide{padding:4px 2px;}
    .ma-sizeguide .ma-sg-head{margin-bottom:20px;}
    .ma-sizeguide table.ma-sg-table{font-size:13px;}
    .ma-sizeguide .ma-sg-table thead th{font-size:10px;letter-spacing:.1em;padding-bottom:12px;}
    .ma-sizeguide .ma-sg-table tbody th,
    .ma-sizeguide .ma-sg-table tbody td{padding:14px 0;}
    .ma-sizeguide .ma-sg-model{font-size:12px;align-items:flex-start;}
    .ma-sizeguide .ma-sg-model .dot{margin-top:6px;}
}

/* ===== Badge reCAPTCHA (nrtcaptcha / Google v3) : masqué visuellement =====
   Google autorise à cacher le badge SI la mention reCAPTCHA reste affichée
   près des formulaires (voir la mention texte à ajouter au login/contact). */
.grecaptcha-badge {
  visibility: hidden !important;
}

/* ===== Boutons des formulaires d'adresse (tunnel de commande) =====
   Le thème parent laisse « Enregistrer » en blanc sur blanc et ne style pas du tout
   « Annuler » (.btn-outline-primary-r n'est défini nulle part) : les deux boutons
   étaient invisibles au checkout. On les aligne sur l'identité noir & blanc du site. */
.btn-outline-primary,
.btn-outline-primary-r {
  color: #000 !important;
  background-color: transparent !important;
  border: 1px solid #000 !important;
}
.btn-outline-primary:hover,  .btn-outline-primary-r:hover,
.btn-outline-primary:focus,  .btn-outline-primary-r:focus,
.btn-outline-primary:active, .btn-outline-primary-r:active {
  color: #fff !important;
  background-color: #000 !important;
  border-color: #000 !important;
}

/* ------------------------------------------------------------------
   Accueil — lisibilité des titres du hero (ALL IN DENIM / SPRING-SUMMER /
   DISCOVER THE COLLECTION).

   Le bloc change d'image de fond à 767px (règle dédiée d'Axon Creator sur
   .elementor-element-5a434d4) : visuel CLAIR en desktop, SOMBRE en mobile.
   Or la couleur du texte était figée par langue et non par écran — blanc en
   anglais (illisible sur le visuel clair du desktop), noir en français et en
   arabe (illisible sur le visuel sombre du mobile).

   On aligne les trois langues sur l'écran plutôt que sur la langue.
   `!important` nécessaire : custom.css est chargé AVANT les feuilles générées
   par le page builder, qui gagneraient à spécificité égale.
   ------------------------------------------------------------------ */
@media (min-width: 768px) {
  .elementor-element-40542ff .elementor-heading-title,
  .elementor-element-40542ff .elementor-heading-title a,
  .elementor-element-9d3ec14 .elementor-heading-title,
  .elementor-element-9d3ec14 .elementor-heading-title a,
  .elementor-element-0d1f804 .elementor-heading-title,
  .elementor-element-0d1f804 .elementor-heading-title a {
    color: #000 !important;
  }
}

@media (max-width: 767px) {
  .elementor-element-40542ff .elementor-heading-title,
  .elementor-element-40542ff .elementor-heading-title a,
  .elementor-element-9d3ec14 .elementor-heading-title,
  .elementor-element-9d3ec14 .elementor-heading-title a,
  .elementor-element-0d1f804 .elementor-heading-title,
  .elementor-element-0d1f804 .elementor-heading-title a {
    color: #fff !important;
  }
}
