/* =========================================
   LEXUS Boutique — CSS Mobile-first 
   ========================================= */

/* ---------- Base (mobile par défaut) ---------- */
/*html{ font-size:56% !important; }   */ /* ~9px sur mobile */
/* @media (min-width:768px){ html{ font-size:62.5% !important; } }*/ /* 10px dès 768px */

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  /* font-family: "Nobel", sans-serif !important; */
  font-size: 1rem !important;
  color: #111111 !important;
  background-color: #ffffff !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}

/* Stack UI neutre partout par défaut (chiffres/symboles sûrs) */
html,
body {
  font-family: "Nobel", system-ui, -apple-system, "Segoe UI", Roboto, Arial,
    sans-serif !important;
}

html,
body {
  height: 100%;
}
.main {
  min-height: 100vh; /* la page fait au moins la hauteur de l'écran */
  display: flex;
  flex-direction: column; /* on empile header, contenu, footer en colonne */
}

.dropdown-item.active,
.dropdown-item:active,
.list-group-item.active {
  color: white;
  background-color: unset !important;
}

.container.content.pageContent {
  flex-grow: 1;
}
#footer {
  margin-top: auto;
}

/* Contenu texte (titres / paragraphs) en Nobel Regular par défaut */
h1,
h2,
h3,
h4,
h5,
h6,
p,
li,
blockquote,
.rte,
.article,
.product-description,
a,
label,
span,
dt,
dd,
th,
td,
tr,
strong {
  font-family: "Nobel", system-ui, -apple-system, "Segoe UI", Roboto, Arial,
    sans-serif !important;
}

/* Variantes explicites si besoin */
.emphasis-light {
  font-family: "Nobel Light", system-ui, -apple-system, "Segoe UI", Roboto,
    Arial, sans-serif;
  font-weight: 300;
}
.emphasis-book {
  font-family: "Nobel Book", system-ui, -apple-system, "Segoe UI", Roboto, Arial,
    sans-serif;
  font-weight: 400;
}
.emphasis-bold {
  font-family: "Nobel Bold", system-ui, -apple-system, "Segoe UI", Roboto, Arial,
    sans-serif;
  font-weight: 700;
}

/* L’UI reste en police système (évite les substitutions sur signe/±/×/–) */
.search-close,
.close,
.bootstrap-touchspin-down {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-variant-ligatures: none;
  font-feature-settings: "liga" 0, "clig" 0, "calt" 0;
}

.fa-classic,
.fa-regular,
.fa-solid,
.far,
.fas {
  font-family: "Font Awesome 6 Free" !important;
}

/* header#header,
section.container.content.pageContent {
  overflow-x: hidden;
} */

.hidden {
  display: none !important;
}

.container,
.container-md,
.container-sm {
  max-width: unset;
}

.jpresta_module.col.su_dualmenu.jpresta_su_dualmenu_displayjprestatopcenter {
  display: none !important;
}

.uppercase {
  text-transform: uppercase;
}

.list-group.accountMenu .dropdown-item.active,
.list-group.accountMenu .dropdown-item:active,
.list-group.accountMenu .list-group-item.active {
  background-color: black !important;
}

.btn-danger,
.btn-danger:focus,
.btn-danger:visited,
.btn-danger:active,
.list-group-item-danger {
  color: rgb(255, 0, 0) !important;
  background-color: rgb(255, 255, 255) !important;
  border-color: rgba(0, 0, 0, 0.125) !important;
}

a.list-group-item.list-group-item-danger:hover {
  color: rgb(255, 255, 255) !important;
  background-color: rgb(255, 0, 0) !important;
  border-color: rgba(255, 0, 0) !important;
}

.btn-light,
.btn-light:focus,
.btn-light:visited,
.btn-light:active,
.list-group-item-light {
  color: rgb(0, 0, 0) !important;
  background-color: rgb(255, 255, 255) !important;
  border-color: rgb(0, 0, 0) !important;
}

.btn-light:hover {
  background-color: #000000;
  border-color: #000000;
  color: white;
}

.btn-outline-primary,
.btn-outline-primary:focus,
.btn-outline-primary:visited {
  color: black !important;
  border-color: black !important;
}

.btn-outline-primary:hover {
  color: white !important;
  border-color: black !important;
}

.btn-outline-secondary,
.btn-outline-secondary:focus,
.btn-outline-secondary:visited {
  color: #6c757d !important;
  border-color: black;
}

.btn-outline-secondary:hover {
  color: white !important;
}

.jpresta_hidden {
  display: none !important;
}

.jprestaloading {
  position: relative !important;
  margin-left: -2rem;
  display: block !important;
  margin: 5px auto !important;
  width: 4rem;
  height: 1rem;
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGRpc3BsYXk9ImJsb2NrIiBzdHlsZT0iYmFja2dyb3VuZDp0cmFuc3BhcmVudDttYXJnaW46YXV0byIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQiIHZpZXdCb3g9IjAgMCA4MCAyMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMCAxMCkiPjxjaXJjbGUgdHJhbnNmb3JtPSJzY2FsZSguMzM1NykiIHI9IjYiIGZpbGw9IiM0NDQiPjxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgYmVnaW49Ii0wLjM3NXMiIGNhbGNNb2RlPSJzcGxpbmUiIGR1cj0iMXMiIGtleVNwbGluZXM9IjAuMyAwIDAuNyAxOzAuMyAwIDAuNyAxIiBrZXlUaW1lcz0iMDswLjU7MSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIHR5cGU9InNjYWxlIiB2YWx1ZXM9IjA7MTswIi8+PC9jaXJjbGU+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwIDEwKSI+PGNpcmNsZSB0cmFuc2Zvcm09InNjYWxlKC4wNTQ4MDcpIiByPSI2IiBmaWxsPSIjY2NjIj48YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIGJlZ2luPSItMC4yNXMiIGNhbGNNb2RlPSJzcGxpbmUiIGR1cj0iMXMiIGtleVNwbGluZXM9IjAuMyAwIDAuNyAxOzAuMyAwIDAuNyAxIiBrZXlUaW1lcz0iMDswLjU7MSIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIHR5cGU9InNjYWxlIiB2YWx1ZXM9IjA7MTswIi8+PC9jaXJjbGU+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUwIDEwKSI+PGNpcmNsZSB0cmFuc2Zvcm09InNjYWxlKC4wNDI4ODEpIiByPSI2IiBmaWxsPSIjODg4Ij48YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIGJlZ2luPSItMC4xMjVzIiBjYWxjTW9kZT0ic3BsaW5lIiBkdXI9IjFzIiBrZXlTcGxpbmVzPSIwLjMgMCAwLjcgMTswLjMgMCAwLjcgMSIga2V5VGltZXM9IjA7MC41OzEiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiB0eXBlPSJzY2FsZSIgdmFsdWVzPSIwOzE7MCIvPjwvY2lyY2xlPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3MCAxMCkiPjxjaXJjbGUgdHJhbnNmb3JtPSJzY2FsZSguMzEzMDcpIiByPSI2IiBmaWxsPSIjMzMzIj48YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIGJlZ2luPSIwcyIgY2FsY01vZGU9InNwbGluZSIgZHVyPSIxcyIga2V5U3BsaW5lcz0iMC4zIDAgMC43IDE7MC4zIDAgMC43IDEiIGtleVRpbWVzPSIwOzAuNTsxIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgdHlwZT0ic2NhbGUiIHZhbHVlcz0iMDsxOzAiLz48L2NpcmNsZT48L2c+PC9zdmc+);
}

/* ---------- Menu (mobile par défaut) ---------- */
div#jpresta_hook_displayNavFullWidth {
  display: none;
}

/* ===== Desktop (≥ 1200px) ===== */
@media (min-width: 1200px) {
  .jpresta_mobile_menu_button,
  #jpresta_mobile_menu {
    display: none !important; /* on cache tout le mobile */
  }

  .jprestamainmenu,
  .jpresta-desktop-menu {
    display: block !important; /* on montre le menu desktop */
  }

  .jpresta_module.col.su_dualmenu.jpresta_su_dualmenu_displayjprestatopcenter {
    display: flex !important;
  }

  div#jpresta_hook_displayNavFullWidth {
    display: block;
  }
}

/* ---------- TYPO (mobile par défaut) ---------- */
/* DISPLAY */
.display-1 {
  font-weight: 500 !important;
  font-size: 3.2rem !important;
  line-height: 4rem !important;
  letter-spacing: -0.02em !important;
}
.display-2 {
  font-weight: 500 !important;
  font-size: 2.6rem !important;
  line-height: 3.4rem !important;
}
.display-3 {
  font-weight: 500 !important;
  font-size: 2.2rem !important;
  line-height: 3rem !important;
}

/* HEADINGS */
h1,
.heading-1 {
  font-weight: 500 !important;
  font-size: 2rem !important;
  line-height: 2rem !important;
}
h2,
.heading-2 {
  font-weight: 500 !important;
  font-size: 1.8rem !important;
  line-height: 2.8rem !important;
}

h3,
.heading-3 {
  font-weight: 100 !important;
  font-size: 1.6rem !important;
  line-height: 2.6rem !important;
}

/* BODY */
.body-large {
  font-weight: 400 !important;
  font-size: 1.1rem !important;
  line-height: 2rem !important;
}
.body-base {
  font-weight: 400 !important;
  font-size: 1rem !important;
  line-height: 1.6rem !important;
}
.body-small {
  font-weight: 300 !important;
  font-size: 0.9rem !important;
  line-height: 1.4rem !important;
}

/* Boutons de typo (pas les .btn Bootstrap) */
.button-large {
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}
.button-base {
  font-weight: 700 !important;
  font-size: 1rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

/* ≥768px : échelle desktop */
@media (min-width: 768px) {
  .display-1 {
    font-size: 4rem !important;
    line-height: 4.8rem !important;
  }
  .display-2 {
    font-size: 3.2rem !important;
    line-height: 4rem !important;
  }
  .display-3 {
    font-size: 2.6rem !important;
    line-height: 3.4rem !important;
  }

  .heading-1,
  h1 {
    font-size: 1.5rem !important;
  }
  /* .heading-2,
  h2 {
    font-size: 2rem !important;
  } */
  .heading-3,
  h3 {
    font-size: 1.3rem !important;
  }

  .body-large {
    font-size: 1.2rem !important;
  }
  .button-large {
    font-size: 1.2rem !important;
  }
  .button-base {
    font-size: 1rem !important;
  }
}

@media (min-width: 1200px) {
  header#header,
  section.container.content.pageContent {
    overflow-x: unset;
  }
}

/* ---------- MAPPING HTML (pages) ---------- */
/* Home */
.page-heading {
  font-weight: 500 !important;
  font-size: 2rem !important;
  line-height: 3.2rem !important;
}
.richtext {
  font-weight: 400 !important;
  font-size: 1rem !important;
  line-height: 1.6rem !important;
}

/* Catégorie */
.cat-name {
  font-weight: 500 !important;
  font-size: 2rem !important;
  line-height: 3.2rem !important;
}

/* product miniature */

.product-miniature .pm-body .variant-links a.color {
  border-radius: 10px;
}

.pm-flag.discount-amount {
  display: none;
}

.pm-flag.on-sale {
  background: rgb(212, 6, 5) !important;
}

.product-miniature .pm-flags .pm-flag.new {
  color: rgb(255, 255, 255);
  background-color: rgb(196, 112, 86);
}
.product-miniature .pm-flags .pm-flag {
  width: -moz-fit-content;
  width: fit-content;
  background: #2fb5d2;
  color: #fff;
  margin-top: 0.5rem;
  font-size: 1rem;
}
li.product-flag.out_of_stock,
li.pm-flag.out_of_stock {
  background-color: #445e7c !important;
  color: #ffffff !important;
}
.product-miniature .pm-flags .pm-flag {
  padding: 2px 10px 2px 10px;
  border: none;
  border-radius: 25px 25px 25px 25px;
  text-transform: uppercase;
  font-weight: initial;
  font-size: 0.95rem;
  box-shadow: -2px 2px 4px 1px rgba(0, 0, 0, 0.4);
}

#search .product-miniature li.pm-flag.out_of_stock {
  display: none;
}

ul.pm-flags {
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

li.pm-flag.out_of_stock {
  margin-top: auto !important;
}

.pm-header {
  position: relative;
}

/* ---------- Disponibilité / Flags spécifiques ---------- */
li.pm-flag.out_of_stock {
  background-color: #ffffff !important;
  color: #000000 !important;
}

#jprestalistanywhere3 li.pm-flag.out_of_stock {
  top: 220px !important;
  position: absolute !important;
}
/* Priorité finale : rendu bleu (ta règle la plus spécifique et la plus tardive) */
li.product-flag.out_of_stock,
li.pm-flag.out_of_stock {
  background-color: #445e7c !important;
  color: #ffffff !important;
}

/* Titres produits en liste */
.product-title,
.h3.product-title {
  font-weight: 500 !important;
  font-size: 1.6rem !important;
  line-height: 2.6rem !important;
}
@media (min-width: 768px) {
  .page-heading,
  .cat-name {
    font-size: 2.4rem !important;
  }
  .product-title,
  .h3.product-title {
    font-size: 1.8rem !important;
  }
}

/* Produit */
h1[itemprop="name"] {
  font-weight: 500 !important;
  font-size: 2rem !important;
  line-height: 3.2rem !important;
}
.product-prices {
  font-weight: 400 !important;
  font-size: 1.2rem !important;
  line-height: 2rem !important;
}
#product-description-short,
#product-description {
  font-weight: 400 !important;
  font-size: 1rem !important;
  line-height: 1.6rem !important;
}
@media (min-width: 768px) {
  h1[itemprop="name"] {
    font-size: 2.4rem !important;
  }
}

/* ---------- Couleurs générales ---------- */
body {
  background-color: #ffffff !important;
  color: #111111 !important;
}

/* Header / Footer */
.header {
  background-color: #ffffff !important;
  color: #111111 !important;
}
#footer #footer_before {
  padding-top: unset;
}
#footer_before {
  background-color: unset !important;
}
#footer {
  background-color: #111111 !important;
}
#footer_middle,
#footer_middle a:not(.btn),
#footer_middle a:not(.btn):hover,
#footer_middle a:not(.btn):visited,
#footer_middle a:not(.btn):focus {
  color: white !important;
  font-weight: 100;
}

#footer_middle {
  background-color: black !important
    ;
}
div#footer_middle .logo {
  width: 150px;
}

#footer_middle .jblock-content ul {
  padding: unset;
  list-style: none;
}

div#footer_middle .blockwishlist {
  display: none;
}

footer .lexus-greeting {
  display: flex !important;
  flex-direction: column;
  align-items: baseline;
  position: relative;
  top: unset;
  font-size: 1.2rem;
  font-weight: 400;
}

footer .lexus-greeting img {
  margin-top: 0.5rem;
}

footer .block-contact p {
  margin-top: 1em;
  display: flex;
  flex-direction: column;
}

.jpresta_module.col-lg-7.col-md-12.col-12.ps_linklist.jpresta_ps_linklist_displayfooter {
  text-transform: capitalize;
}

@media (max-width: 767px) {
  .jpresta_module.col-lg-7.col-md-12.col-12.ps_linklist.jpresta_ps_linklist_displayfooter
    .content
    .jblock:nth-child(1) {
    width: 100%;
    justify-content: center;
    display: flex;
  }
  .jpresta_ps_contactinfo_displayfooter .content {
    display: -webkit-flex;
    display: -webkit-flex;
    display: flex;
    justify-content: center !important;
  }

  .jpresta_ps_linklist_displayfooter .content {
    flex-wrap: wrap;
  }
}

@media (min-width: 768px) {
  .jpresta_module.col-lg-7.col-md-12.col-12.ps_linklist.jpresta_ps_linklist_displayfooter {
    flex-grow: 0;
    flex-basis: 68%;
    max-width: unset;
    width: 100%;
  }
  .jpresta_module.col.ps_contactinfo.jpresta_ps_contactinfo_displayfooter {
    flex-basis: 32%;
    flex-grow: 0;
  }
}

/* Activer l’empilage flexible sur toutes les listes du bloc ps_linklist */
.ps_linklist .jblock-content > ul {
  display: flex;
  flex-direction: column;
  gap: 0.25rem; /* optionnel: espace vertical */
}

/* Valeur par défaut si non spécifié */
.ps_linklist .jblock-content > ul > li {
  order: 10;
}

/* ---------------------------
   CATALOG (tu définis l’ordre que tu veux)
   --------------------------- */

/* 1 = Clothing */
.ps_linklist .jblock-content > ul > li:has(> #link-category-24-1) {
  order: 4;
}

/* 2 = Accessories */
.ps_linklist .jblock-content > ul > li:has(> #link-category-23-1) {
  order: 3;
}

/* 3 = Collection */
.ps_linklist .jblock-content > ul > li:has(> #link-category-31-1) {
  order: 2;
}

/* 4 = New products */
.ps_linklist .jblock-content > ul > li:has(> #link-custom-page-new-1) {
  order: 1;
}

.ps_linklist .jblock-content > ul > li:has(> #link-custom-page-promo-1) {
  order: 8;
}

.ps_linklist .jblock-content > ul > li:has(> #link-category-41-1) {
  order: 7;
}

.ps_linklist .jblock-content > ul > li:has(> #link-category-34-1) {
  order: 5;
}

.ps_linklist .jblock-content > ul > li:has(> #link-custom-page-experience-1) {
  order: 6;
}

/* ---------------------------
   LINKS (ordre au choix)
   --------------------------- */

/* 1 = Terms & Conditions */
.ps_linklist
  .jblock-content
  > ul
  > li:has(> a[href*="/content/8-terms-conditions"]),  
  .ps_linklist
  .jblock-content
  > ul
  > li:has(> span#link-cms-page-8-2){
  order: 1;
}

/* 2 = Privacy policy legal */
.ps_linklist
  .jblock-content
  > ul
  > li:has(> a[href*="/content/7-privacy-policy"]), 
  .ps_linklist
  .jblock-content
  > ul
  > li:has(> span#link-cms-page-7-2) {
  order: 2;
}

/* 3 = Cookie policy */
.ps_linklist
  .jblock-content
  > ul
  > li:has(> a[href*="/content/6-cookie-policy"]),
  .ps_linklist
  .jblock-content
  > ul
  > li:has(> span#link-cms-page-6-2) {
  order: 3;
}

/* 4 = Website accessibility statement */
.ps_linklist
  .jblock-content
  > ul
  > li:has(> a[href*="/content/9-website-accessibility-statement"]),
  .ps_linklist
  .jblock-content
  > ul
  > li:has(> span#link-cms-page-9-2) {
  order: 4;
}

/* 5 = Custom zone */
.ps_linklist
  .jblock-content
  > ul
  > li:has(> a[href*="/content/10-custom-zone"]) {
  order: 5;
}

/* 6 = F.A.Q. */
.ps_linklist .jblock-content > ul > li:has(> a[href*="/content/11-faq"]),
.ps_linklist
  .jblock-content
  > ul
  > li:has(> span#link-cms-page-11-2) {
  order: 6;
}

/* 7 = Sitemap */
.ps_linklist .jblock-content > ul > li:has(> a[href*="/sitemap"]),
.ps_linklist
  .jblock-content
  > ul
  > li:has(> span#link-static-page-sitemap-2) {
  order: 7;
}

.jblock .jblock-title {
  font-weight: 400;
}
div#jpresta_hook_displayTop {
  justify-content: flex-end;
  width: 100%;
  /* padding-right: 15px; */
  display: contents;
}

.jprestamenu .mmLink {
  font-weight: 400 !important;
}

.jprestamenu {
  background-color: inherit;
  padding: 10px 0;
}

#header_top_main > .col:has(.jprestalogo) {
  /* flex: 0 0 28%; */
  display: flex;
  align-items: center;
  float: left;
  flex-basis: 30%;
  flex-grow: 0;
}

.jpresta_mobile_menu_button {
  float: left;
}

.product-variants td,
header #header_top #header_top_fullwidth,
header #header_top #header_top_main {
  display: flex;
  flex-wrap: unset;
  align-items: stretch;
}

header #header_top_main #jpresta_hook_displayJPrestaTopCenter .content {
  height: 100%;
}

/* 5) Spécifique à ta structure (le wrapper autour menu + dropdowns) */
.su_dualmenu .content > div[onmouseleave] {
  width: 100%;
  height: 100%;
}

.jprestamenu {
  width: 100%;
  height: 100%;
}

#header_top_main > .col:has(#jpresta_hook_displayJPrestaTopCenter) {
  flex-grow: 0;
}

#header_top_main > .col:has(#jpresta_hook_displayTop) {
  /* flex: 0 0 36%; */
  display: flex;
  align-items: center;
  justify-content: flex-end;
  /* gap: 12px; */
  float: right;
  flex-basis: 30%;
  flex-grow: 0;
  margin-left: auto;
}

/* .jpresta-scroll-down header {
  top: unset !important;
} */

.header {
  position: sticky !important;
  top: 0 !important;
}

@media (max-width: 767px) {
  .jpresta_shoppingcartsignin {
    margin: 0 1.5rem 0 0 !important;
  }
}
@media (min-width: 1200px) {
  /* Colonne qui contient le logo */
  #header_top_main > .col:has(.jprestalogo) {
    display: flex;
    align-items: center;
    flex-basis: 18%;
  }

  .jpresta-scroll-down header {
    top: -200px !important;
  }


  /* Colonne qui contient le hook centre (menu) */
  #header_top_main > .col:has(#jpresta_hook_displayJPrestaTopCenter) {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    flex-basis: 64%;
    float: left;
  }

  /* Colonne qui contient le compte/panier/search */
  #header_top_main > .col:has(#jpresta_hook_displayTop) {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-basis: 18%;
    flex-grow: 0;
  }
}
body.search-open .jpresta_customersignin,
body.search-open .jpresta_shoppingcart,
body.search-open .jpresta_shoppingcartsignin_wrapper,
body.search-open .jprestashoppingcartsignin {
  display: none !important;
}

header #header_top_main #jpresta_hook_displayTop .jprestasearch,
header #header_top_main #jpresta_hook_displayTop .jprestashoppingcartsignin {
  justify-content: right;
  padding: 0 5px;
  display: contents;
}

.jpresta_shoppingcartsignin {
  display: flex;
}
.jpresta_shoppingcart,
.jpresta_customersignin {
  display: inline-block;
  margin: 0.5rem;
  /* flex-grow: 0; */
}
/* ---------- Boutons (Bootstrap) ---------- */

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

.btn-secondary:hover {
  background-color: black !important;
  color: white !important;
}
.tile-btn a {
  border-radius: 25px !important;
  box-shadow: 0 0 7px rgba(255, 254, 254, 0.3) !important;
}

.btn-primary {
  background-color: #00244d !important;
  color: #ffffff !important;
  border: 3px solid #00244d !important;
  border-radius: 50px;
}
.btn-primary:hover {
  /* background-color: #011938 !important; */
  color: #fff !important;
  /* épaisseur de bordure = valeur du border (ici 2px) */
  border: 3px solid transparent !important;
  border-radius: 50px;

  /* 2 backgrounds : 1 pour le fond, 1 pour la bordure */
  background:
    /* fond intérieur (remplace #fff par ton fond) */ linear-gradient(
        #011938,
        #011938
      )
      padding-box,
    /* couche 1 : dégradé cuivre appliqué AU NIVEAU border-box */
      conic-gradient(
        from 8deg,
        #90603a 0deg,
        #b97a53 12deg,
        #d69b78 24deg,
        #e9b996 36deg,
        #ffd9bd 46deg,
        /* bande de lumière */ #dfa786 58deg,
        #b87450 90deg,
        #9a603f 120deg,
        #d49a78 156deg,
        #f1c8a9 170deg,
        /* 2e highlight */ #b77551 200deg,
        #955e3c 232deg,
        #c68866 266deg,
        #f0c6a6 286deg,
        /* micro éclat */ #a36844 316deg,
        #90603a 360deg
      )
      border-box;
}

.btn-outline-primary:hover {
  background-color: #000000 !important;
  border-color: #000000 !important;
  color: white;
}

/* Variants précisés */
a.btn.btn-sm.btn-secondary {
  color: #ffffff !important;
}
a.btn.btn-sm.btn-secondary:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
}

a.btn-dark:hover {
  background-color: #ffffff !important;
  border-color: #000000 !important;
  color: #000000 !important;
}
a.btn.btn-dark {
  box-shadow: 0 0 7px rgba(255, 254, 254, 0.3) !important;
}

a.btn.btn-light {
  background-color: rgba(255, 255, 255, 0.7) !important;
  /* font-weight: 600 !important; */
  border: none !important;
  color: #000 !important;
  box-shadow: 0 0 7px rgba(255, 254, 254, 0.3) !important;
}
a.btn.btn-light:hover {
  background-color: white !important;
  border-color: white !important;
  color: black !important;
}

/* CTA spécifiques */
button.btn.btn-primary.add-to-cart.btn-lg.btn-block.btn-add-to-cart {
  border-radius: 25px !important;
}
.product-miniature .pm-footer .btn-group .btn {
  width: 100% !important;
  border-radius: 25px !important;
  padding: 8px !important;
}

/* ---------- Sections & séparateurs ---------- */
.section-light {
  background-color: #f5f5f5 !important;
}
.section-dark {
  background-color: #111111 !important;
  color: #ffffff !important;
}

/* Prix premium (désactivé comme dans l’original)
.product-price,.price{ color:#c6a95c !important; }
*/

/* Séparateurs */
.separator,
hr {
  border-color: #cccccc !important;
}

/* ---------- Formulaires ---------- */
input,
textarea,
select {
  border: 1px solid #cccccc !important;
  background-color: #ffffff !important;
  color: #111111 !important;
}
input:focus,
textarea:focus,
select:focus {
  border-color: #111111 !important;
  outline: 0 !important;
}

input#quantity_wanted {
  border-top-right-radius: 5px !important;
  border-bottom-right-radius: 5px !important;
}

/* ---------- Navigation ---------- */
.navbar,
.jprestamenu {
  background-color: #ffffff !important;
  color: #111111 !important;
}
/* .jprestamenu .mmLink {
  color: #111111 !important;
} */

#header_top .jprestamenu .mmLink {
  text-decoration: none; /* état normal */
}

/* #header_top .jprestamenu .mmLink:hover {
  text-decoration: underline;
  text-decoration-color: #fff;
  text-decoration-thickness: 2px; 
  text-underline-offset: 4px; 
} */
@media (min-width: 1200px) {
  /* --- Layout du bloc: image gauche pleine hauteur, texte en haut à droite, subcats en dessous --- */
  .jprestamenu-dropdown-content .jblock-content {
    display: grid;
    grid-template-columns: 340px 1fr; /* largeur colonne image / contenu */
    grid-template-rows: auto 1fr; /* ligne 1 = texte ; ligne 2 = sous-cats */
    grid-template-areas:
      "image text"
      "image subs";
    column-gap: 20px;
    align-items: stretch; /* étire l’aire image sur toute la hauteur */
  }

  /* Colonne image (wrap du <img>) */
  .jprestamenu-dropdown-content .jblock-content > .jlobf:first-child {
    grid-area: image;
    display: flex;
    align-items: center; /* centre verticalement l’image si plus petite */
    justify-content: center; /* centre horizontalement */
    height: 100%;
    overflow: hidden;
    border-radius: 12px;
  }

  /* l’image remplit TOUTE la hauteur dispo à gauche */
  .jprestamenu-dropdown-content img.illustration {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  /* Texte descriptif en haut à droite */
  .jprestamenu-dropdown-content .jblock-content > p {
    grid-area: text;
    margin: 0 0 14px 0;
    line-height: 1.45;
    font-size: 14.5px;
    color: #6b7280;
  }

  /* Sous-catégories en bas à droite */
  .jprestamenu-dropdown-content .jblock-content > .subcategories {
    grid-area: subs;
  }

  /* --- Sous-catégories : 3 par ligne, hauteurs indépendantes --- */
  .jprestamenu-dropdown-content .subcategories {
    display: flex; /* au lieu de grid -> hauteurs non égalisées */
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-start; /* ne pas étirer à la plus grande hauteur */
    margin-top: 6px;
  }

  /* Titre “Sub-categories” pleine ligne */
  .jprestamenu-dropdown-content .subcategories > div:first-child {
    flex: 0 0 100%;
    font-weight: 600;
    font-size: 12.5px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6b7280;
    margin: 8px 2px;
  }

  /* Chaque sous-catégorie = 1/3 de largeur, hauteur selon contenu */
  .jprestamenu-dropdown-content .subcategories .subcategory {
    flex: 0 0 calc(31% - 8px); /* 3 par ligne (le gap gère l’espace) */
    line-height: normal; /* annule tout line-height comprimé éventuel */
  }

  /* Masque le “>” textuel du HTML d’origine sans impacter le lien interne */
  .jprestamenu-dropdown-content .subcategory.level1 {
    color: transparent;
    user-select: none;
  }

  /* Carte lien sous-catégorie + flèche → à droite (hauteur auto) */
  .jprestamenu-dropdown-content .subcategory.level1 .jlobf {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    /* pas de min-height : la carte suit son contenu */
    padding: 12px 14px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #ffffff;
    color: #111111; /* rétablit la couleur du texte du lien */
    text-decoration: none;
    line-height: 1.2;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
    transition: transform 0.18s ease, box-shadow 0.18s ease,
      border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  /* cible uniquement ces liens */
  .jprestamenu-dropdown-content .subcategory.level1 .jlobf {
    position: relative;
    display: inline-flex;
    align-items: center;
    --arrow-space: 1.1em; /* réserve l'espace pour éviter le saut de mise en page */
  }

  /* flèche cachée + compressée */
  .jprestamenu-dropdown-content .subcategory.level1 .jlobf::after {
    content: "→";
    display: inline-block;
    width: var(--arrow-space);
    margin-left: 0.5rem;
    font-size: 14px;
    line-height: 1;
    opacity: 0;
    transform-origin: left center;
    transform: scaleX(0) translateX(-0.25rem); /* totalement aplatie + légèrement tirée à gauche */
    transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1),
      opacity 0.2s ease;
  }

  /* hover uniquement sur .jlobf */
  .jprestamenu-dropdown-content .subcategory.level1 .jlobf:hover::after {
    opacity: 0.95;
    transform: scaleX(2.4) translateX(0.15rem); /* étirement fort + petit glissement */
  }

  /* accessibilité : réduit l'animation si demandé */
  @media (prefers-reduced-motion: reduce) {
    .jprestamenu-dropdown-content .subcategory.level1 .jlobf::after {
      transition: opacity 0.2s ease;
    }
    .jprestamenu-dropdown-content .subcategory.level1 .jlobf:hover::after {
      transform: none;
    }
  }

  /* Hover/focus : légère élévation + flèche qui glisse */
  .jprestamenu-dropdown-content .subcategory.level1 .jlobf:hover,
  .jprestamenu-dropdown-content .subcategory.level1 .jlobf:focus {
    background: linear-gradient(#f9fafb, #f9fafb) padding-box,
      conic-gradient(
          from 8deg,
          #90603a 0deg,
          #b97a53 12deg,
          #d69b78 24deg,
          #e9b996 36deg,
          #ffd9bd 46deg,
          /* bande de lumière */ #dfa786 58deg,
          #b87450 90deg,
          #9a603f 120deg,
          #d49a78 156deg,
          #f1c8a9 170deg,
          /* 2e highlight */ #b77551 200deg,
          #955e3c 232deg,
          #c68866 266deg,
          #f0c6a6 286deg,
          /* micro éclat */ #a36844 316deg,
          #90603a 360deg
        )
        border-box !important;
    border: 3px solid transparent !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
    color: #0f172a;
    outline: none;
  }
  .jprestamenu-dropdown-content .subcategory.level1 .jlobf:hover::after,
  .jprestamenu-dropdown-content .subcategory.level1 .jlobf:focus::after {
    transform: translateX(3px);
    opacity: 1;
  }
}

/* ---------- Grilles / Containers ---------- */
.main .container_widenowide .container_widenowide_sub {
  max-width: 1240px !important;
  margin: 0 auto !important;
}
@media (min-width: 1200px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl {
    max-width: 1240px !important;
  }
}

/* ---------- Flags / États ---------- */
/* .bg-success {
  background-color: #ffffff !important;
}  */

/* override voulu */
.product .nav-link.active {
  background-color: #000000 !important;
  color: #ffffff !important;
}

.product .availability_unavailable {
  background-color: #c57046 !important;
  color: #fff !important;
  padding: 10px !important;
  border-radius: 25px !important;
  max-width: 50% !important;
}

/* ---------- Cartes produit / divers ---------- */
.img.img-fluid.product-cover,
.img-fluid.product-cover {
  border-radius: 15px !important;
}
.pm-price {
  text-align: left !important;
}
.pm-name {
  text-transform: uppercase !important;
  min-height: 77px;
  font-size: 0.9rem !important;
}

.jprestalistanywhere1.jpresta_jprestalistanywhere1_displayhome {
  margin: 25px 0 50px 0 !important;
}
.pm-actions {
  margin-top: 10px !important;
}

.pm-price .price {
  font-size: 1.13rem !important;
}

/* ---------- Menus mmLink-* (factorisé) ---------- */
a[id^="mmLink-"] {
  display: inline-block !important;
  position: relative !important;
  padding-bottom: 1rem !important;
  background-repeat: no-repeat !important;
  background-position: center bottom !important;
  background-size: auto 2em !important;
  line-height: 1.1rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
#mmLink-1,
#mmLink-6,
#mmLink-7,
#mmLink-8,
#mmLink-10,
#mmLink-13,
#mmLink-14,
#mmLink-15,
#mmLink-16 {
  position: relative; /* pour pouvoir positionner le pseudo-élément */
  background-image: none; /* on enlève l'image */
}

#mmLink-1::after,
#mmLink-6::after,
#mmLink-7::after,
#mmLink-8::after,
#mmLink-10::after,
#mmLink-13::after,
#mmLink-14::after,
#mmLink-15::after,
#mmLink-16::after {
  font-family: "Noto Sans JP", "Hiragino Sans", "MS Gothic", sans-serif !important;
}

/* ——— Base (état normal) ——— */
#mmLink-1::after {
  content: "\65B0";
}
#mmLink-8::after {
  content: "\5546\54C1";
}
#mmLink-6::after {
  content: "\88C5\98FE\54C1";
}
#mmLink-7::after {
  content: "\8863\985E";
}
#mmLink-10::after {
  content: "\884C\4E8B";
}
#mmLink-14::after {
  content: "\4F53\9A13";
}
#mmLink-15::after {
  content: "\74B0\5883";
}
#mmLink-13::after {
  content: "\304A\8CB7\5F97";
}
#mmLink-16::after {
  content: "\8D08\308A\7269";
}

/* Style commun */
#mmLink-1::after,
#mmLink-6::after,
#mmLink-7::after,
#mmLink-8::after,
#mmLink-10::after,
#mmLink-13::after,
#mmLink-14::after,
#mmLink-15::after,
#mmLink-16::after {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
}

/* ——— État actif (is-current) ——— */
/* On répète le content pour éviter la suppression en minification */

#mmLink-1.is-current::after {
  content: "\65B0";
  color: #c46f56;
}
#mmLink-8.is-current::after {
  content: "\5546\54C1";
  color: #c46f56;
}
#mmLink-6.is-current::after {
  content: "\88C5\98FE\54C1";
  color: #c46f56;
}
#mmLink-7.is-current::after {
  content: "\8863\985E";
  color: #c46f56;
}
#mmLink-10.is-current::after {
  content: "\884C\4E8B";
  color: #c46f56;
}
#mmLink-14.is-current::after {
  content: "\4F53\9A13";
  color: #c46f56;
}
#mmLink-15.is-current::after {
  content: "\74B0\5883";
  color: #c46f56;
}
#mmLink-13.is-current::after {
  content: "\304A\8CB7\5F97";
  color: #c46f56;
}
#mmLink-16.is-current::after {
  content: "\8D08\308A\7269";
  color: #c46f56;
}
.mmLink.is-current,
.mmLink:hover {
  color: #c46f56 !important;
}

@media (min-width: 1200px) {
  div#jpresta_hook_displayTop {
    justify-content: flex-end;
    width: 100%;
  }

  .jprestamenu-dropdown-content img.illustration {
    float: unset !important;
    margin: unset !important;
    border-radius: unset;
  }

  #header_top .col-5 {
    flex: 0 0 100%;
    max-width: 100%;
    padding-left: 25px;
  }
  .col-5 {
    flex: 0 0 51%;
    max-width: 100%;
    padding-left: 25px;
  }
  .jprestamenu-dropdown-content .subcategories {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 2em;
    height: fit-content;
  }

  .subcategory.level1 {
    white-space: nowrap;
  }
  .subcategories > div[style*="font-weight"] {
    display: none !important;
  }

  .jprestamenu a {
    font-family: "Nobel";
  }

  .jblock .jblock-content {
    font-family: "Nobel";
  }

  .jprestamenu-dropdown-content {
    left: 50% !important;
    transform: translateX(
      -50%
    ); /* centre par rapport au viewport via le centre du container */
    width: 1240px !important; /* largeur souhaitée */
    max-width: 100vw; /* évite de dépasser l’écran */
    box-sizing: border-box;
    flex: 0 0 auto;
  }

  div#jpresta_hook_displayNavFullWidth {
    padding: 10px 0;
  }
}
html,
body {
  overflow-x: clip;
}
/* ---------- Contenu produit (onglets / description) ---------- */
.tab-pane {
  border-radius: 0 15px 15px 15px !important;
  background-color: #fbfbfc !important;
  border: 1px solid #e5e3e1 !important;
}
#tab-content {
  border-radius: 0 15px 15px 15px !important;
  background-color: #fbfbfc !important;
  border: 1px solid #f5f5f5 !important;
}

#jpresta_block_product_content
  .product-content.product-content-tabs
  .nav-tabs
  .nav-item {
  width: 100%;
  text-align: center;
}

@media (min-width: 1200px) {
  #jpresta_block_product_content
    .product-content.product-content-tabs
    .nav-tabs
    .nav-item {
    width: unset;
    text-align: unset;
  }
}
.product .nav-tabs {
  border-bottom: none !important;
}

/* Disponibilité bloc header produit */
/* #product-availability {
  display: none !important;
} */

/* ---------- Attachments bloc (mobile) ---------- */
/* #jpresta_block_product_content .attachment {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 14px !important;
  max-width: 560px !important;
}
#jpresta_block_product_content .attachment a {
  font-size: 1rem !important;
  line-height: 1.2 !important;
}
#jpresta_block_product_content .attachment .small {
  margin: 0 !important;
  font-size: 0.875rem !important;
  color: #6b7280 !important;
} */

/* ---------- Petites corrections diverses ---------- */
.product #jpresta_block_product_header .logo-manufacturer,
span.jlobf.logo-manufacturer {
  display: none !important;
}

/* (garde l’ordre : règles générales puis overrides spécifiques) */

/* --- Searchbar déroulement --- */

.search_widget button.btn.btn-primary {
  background-color: unset !important;
  border: unset !important;
}

.search_widget.is-open button.btn.btn-primary {
  background-color: #011938 !important;
  color: #ffffff !important;
  border: 1px solid #011938 !important;
}

#header_top .search_widget svg path,
#header_top .jpresta_shoppingcartsignin_wrapper svg path {
  stroke: black;
}

#header_top .search_widget.is-open svg path {
  stroke: white;
}

@media (min-width: 1200px) {
  #header_top .search_widget:hover svg path {
    stroke: white;
  }
}

.fa-magnifying-glass::before,
.fa-search::before {
  color: black;
}

button.btn.btn-primary:hover .fa-search::before {
  color: white;
}

.search_widget .btn-primary:focus,
.search_widget .btn-primary.focus {
  box-shadow: unset;
}

.search-open .jpresta_shoppingcartsignin_wrapper,
.search-open
  .jpresta_module.col.jprestashoppingcartsignin.jpresta_jprestashoppingcartsignin_displaytop {
  display: none !important;
}

/* Bouton à droite, input à gauche sur la même ligne, bouton ancré */
.search_widget .input-group {
  display: flex;
  flex-direction: row; /* bouton à droite */
  justify-content: flex-end; /* ancrage côté bouton */
  flex-wrap: nowrap;
  align-items: center;
  position: relative;
  z-index: 20;
}

/* Le bouton ne doit jamais rétrécir ni bouger */
.search_widget .input-group-append {
  flex: 0 0 auto;
  margin-left: 0 !important;
}
.search_widget .input-group-append .btn {
  flex: 0 0 auto;
}

/* État fermé : input masqué et sans place, “rideau” depuis la droite */
.search_widget .input-group .form-control {
  width: 0;
  max-width: 0;
  min-width: 0;
  flex: 0 0 auto;
  padding-left: 0;
  padding-right: 0;
  border-color: transparent;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  clip-path: inset(0 100% 0 0);
  -webkit-clip-path: inset(0 100% 0 0);
}

.search_widget .btn-primary:hover {
  border-bottom-left-radius: 15px;
  border-top-left-radius: 15px;
  border-radius: 15px;
}

.search_widget.is-open .btn-primary {
  border-radius: 15px;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

/* État ouvert : input déroulé vers la gauche, bouton inchangé */
.search_widget.is-open .input-group .form-control {
  width: 10rem; /* ajuste si besoin */
  max-width: 80vw; /* limite responsive */
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  border-color: #ced4da;
  opacity: 1;
  pointer-events: auto;
  clip-path: inset(0 0 0 0);
  -webkit-clip-path: inset(0 0 0 0);
}

.search_widget.is-open input {
  background-color: unset !important;
  border: none !important;
  border-bottom: 1px solid !important;
  border-radius: unset;
}

/* Bouton "fermer" (croix) à gauche de l'input */
.search_widget .search-close {
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  padding: unset;
  border: none;
  background: transparent;
  border-radius: 9999px;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
  display: none;
}
.search_widget.is-open .search-close {
  opacity: 1;
  pointer-events: auto;
  display: inline-flex;
}

@media (min-width: 1200px) {
  /* État ouvert : input déroulé vers la gauche, bouton inchangé */
  .search_widget.is-open .input-group .form-control {
    width: 10rem; /* ajuste si besoin */
    max-width: 80vw; /* limite responsive */
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    border-color: #ced4da;
    opacity: 1;
    pointer-events: auto;
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
  }

  /* .search_widget.is-open .input-group .form-control::placeholder {
    color: white!important
  } */
}

/* sign in link & cart */

@media (min-width: 1200px) {
  .jpresta_jprestashoppingcartsignin_displaytop
    .content
    .jpresta_shoppingcart
    span {
    font-size: 0.9rem;
  }

  .jpresta_shoppingcartsignin {
    display: inline-flex;
  }
}

/* Content everywhere footer after*/

.jpresta_module.col.jprestacontentanywhere2.jpresta_jprestacontentanywhere2_displayfooterafter {
  display: flex;
  align-content: center;
  justify-content: center;
}
.jpresta_module.col.jprestacontentanywhere2.jpresta_jprestacontentanywhere2_displayfooterafter
  p {
  margin-bottom: 0;
}

.su-cat-hero--bleed {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

/* cart modal */

div#jpresta_shoppingcart_modal .cart-content-btn a,
div#jpresta_shoppingcart_modal .cart-content-btn button {
  border-radius: 25px;
}

#jpresta_shoppingcart_modal .bg-success,
#jpresta_shoppingcart_modal .close {
  color: white;
}

.jpresta_sidecart #jprestaViewCart,
.jpresta_sidecart #jprestaOrderNow {
  border-radius: 25px;
}

.jpresta_sidecart .dropdown-item.active,
.jpresta_sidecart .dropdown-item:active,
.jpresta_sidecart .list-group-item.active,
.jpresta_sidecart .dropdown-item:focus,
.jpresta_sidecart .dropdown-item:hover {
  background-color: unset !important;
}

/* cart page */

/* cart overlay */
.jpresta_sidecart .form-control-sm {
  flex-basis: 40%;
}

/* inscription */
/* === Register form — light theme, mobile-first, modern === */
.register-form {
  --bg: transparent;
  --card: #ffffff;
  --muted: #5b6470;
  --text: #111827;
  --primary: #b37a59; /* accent cuivre */
  --ring: rgba(191, 131, 92, 0.25); /* halo focus cuivre */
  --error: #c02a2a;
  --radius: 12px;
  --line: rgba(17, 24, 39, 0.08);
}

.register-form p,
.register-form label,
.register-form .form-control,
.register-form h3,
.register-form .btn {
  color: var(--text);
}

/* Carte formulaire */
.register-form form section {
  display: flex;
  flex-direction: column; /* mobile: pile */
  background: var(--card);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.08);
  border: 1px solid rgba(17, 24, 39, 0.06);
  max-width: none;
}

/* Inputs */
.register-form .form-control {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: var(--radius);
  /* padding: 12px;
  line-height: 1.25; */
  transition: border-color 0.18s, box-shadow 0.18s, background 0.18s;
  height: auto;
}
.register-form .form-control::placeholder {
  color: #9aa3ad;
}
.register-form .form-control:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 6px var(--ring);
  background: #fff;
}
.register-form label {
  font-size: 0.9rem;
  margin-bottom: 6px;
  display: inline-block;
  color: var(--muted);
}
.register-form sup.required {
  color: var(--error) !important;
}

/* Password input-group */
.register-form .input-group {
  display: flex;
  align-items: stretch;
}

#password-requirements ul {
  display: flex;
  padding-left: unset !important;
}
#password-requirements ul li {
  font-size: 0.8rem !important;
  margin-right: 20px;
}
.register-form .input-group .btn:hover {
  background: #f3f4f6;
}

/* Checkboxes */
.register-form .custom-checkbox label {
  display: flex;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid #e5e7eb;
  border-radius: var(--radius);
  background: #fff;
  height: 100%;
}
.register-form .custom-checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--primary);
}

/* CTA */
.register-form .form-footer .btn {
  background: var(--primary);
  color: #fff;
  border: none;
  border-radius: 14px;
  padding: 12px 16px;
  font-weight: 700;
  width: 100%;
  transition: transform 0.05s, box-shadow 0.18s, opacity 0.18s;
}
.register-form .form-footer .btn:enabled:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(191, 131, 92, 0.25);
}
.register-form .form-footer .btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* ===== Masquer les headings/HR sans trous ===== */
.register-form h3,
.register-form form section > h3,
.register-form form section > .col-md-12:has(h3),
.register-form form section > hr {
  display: none !important;
}

/* ===== Ordre visuel exact (mobile-first) ===== */
.register-form form section > *:has(#first-name) {
  order: 12;
}
.register-form form section > *:has(#last-name) {
  order: 13;
}
.register-form form section > *:has(#address-alias) {
  order: 7;
}
.register-form form section > *:has(#b2bregistration_id_country) {
  order: 2;
}

.register-form form section > .col-md-6:has([name="fields[4]"]) {
  order: 1;
}

.register-form form section > *:has(#birthdate) {
  order: 13;
}

.register-form form section > *:has(#vat_num) {
  order: 5;
}
.register-form form section > *:has(#company-name) {
  order: 3;
}

.register-form form section > .col-md-6:has(.rf_input_wrapper[data-id="6"]) {
  flex: 1 1 calc(50% - 8px) !important;
  order: 4;
}

.register-form form section > .col-md-6:has(.rf_input_wrapper[data-id="2"]) {
  order: 6;
}
/* Invoice email */
.register-form form section > .col-md-6:has(.rf_input_wrapper[data-id="3"]) {
  order: 4;
}
/* Departement */
.register-form form section > *:has(#address) {
  order: 8;
}
.register-form form section > *:has(#postcode) {
  order: 9;
}
.register-form form section > *:has(#city) {
  order: 10;
}
.register-form form section > *:has(#phone) {
  order: 11;
}
.register-form form section > .col-md-6:has(.rf_input_wrapper[data-id="5"]) {
  order: 13;
  width: 100%;
  max-width: 100%;
  flex: unset;
}
.register-form form section > *:has(#email) {
  order: 14;
}
.register-form form section > *:has(#business-password) {
  order: 15;
}
.register-form form section > *:has(#confirm-password) {
  order: 16;
}

/* Autres blocs */
.register-form form section > *:has(#partner-option) {
  order: 20;
}
.register-form form section > *:has(#newsletter) {
  order: 21;
}
.register-form form section > *:has(#terms) {
  order: 22;
}
.register-form form section > #Gcaptcha {
  order: 30;
}
.register-form form section > footer {
  order: 40;
}

.register-form form section > .form-group,
.register-form form section > .col-md-3,
.register-form form section > .col-md-4,
.register-form form section > .col-md-6,
.register-form form section > .col-md-12 {
  margin-bottom: 10px;
}

.custom-checkbox .label-control span {
  margin: 0 10px;
}

/* ===== Desktop (PC) — logique stricte des lignes =====
   Seules ces paires sont côte à côte:
   - FIRST/LAST
   - COMPANY/VAT
   - POST CODE/CITY
   Tout le reste = pleine largeur.
*/
@media (min-width: 1200px) {
  /* conteneur rangées + wrap */
  .register-form form section {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 14px 16px !important;
    padding: 18px;
  }

  .register-form form section > *:has(#business-password),
  .register-form form section > *:has(#confirm-password) {
    flex: 1 1 calc(50% - 8px) !important;
    min-width: 340px; /* cohérent avec les autres items desktop */
  }

  /* Par défaut: chaque bloc prend TOUTE la largeur (évite le "tout côte à côte") */
  /* .register-form form section > .form-group,
  .register-form form section > .col-md-3,
  .register-form form section > .col-md-4,
  .register-form form section > .col-md-6,
  .register-form form section > .col-md-12 {
    flex: 1 1 100% !important;
    min-width: 340px;
  } */

  /* 1) FIRST / LAST → 50/50 */
  .register-form form section > :has(#first-name),
  .register-form form section > :has(#last-name) {
    flex: 1 1 calc(50% - 8px) !important;
    max-width: 50%;
  }

  /* 2 Alias */
  .register-form form section > :has(#address-alias) {
    flex: 1 1 100% !important;
    max-width: 100%;
  }

  /* 3 country */
  .register-form form section > :has(#b2bregistration_id_country) {
    flex: 1 1 100% !important;
    max-width: 100%;
  }

  /* 4) COMPANY / VAT → 50/50 */
  .register-form form section > *:has(#company-name),
  .register-form form section > *:has(#vat_num) {
    flex: 1 1 calc(50% - 8px) !important;
    max-width: 50%;
  }

  /* 5 Invoice mail  & departement */

  .register-form form section > .col-md-6:has(.rf_input_wrapper[data-id="2"]),
  .register-form form section > .col-md-6:has(.rf_input_wrapper[data-id="3"]) {
    flex: 1 1 calc(50% - 8px) !important;
    max-width: 50%;
  }

  /* 6 adress */
  .register-form form section > :has(#address) {
    flex: 1 1 100% !important;
    max-width: 100%;
  }

  /* 8) POST CODE / CITY → 50/50 */
  .register-form form section > *:has(#postcode),
  .register-form form section > *:has(#city) {
    flex: 1 1 calc(50% - 8px) !important;
    max-width: 50%;
  }
  /* 9) phone*/
  .register-form form section > :has(#phone) {
    flex: 1 1 100% !important;
    max-width: 100%;
  }
  /* 10) email */
  .register-form form section > :has(#email) {
    flex: 1 1 100% !important;
    max-width: 100%;
  }
  /* 11) pwd */
  .register-form form section > :has(#business-password),
  .register-form form section > :has(#confirm-password) {
    flex: 1 1 calc(50% - 8px) !important;
    max-width: 50%;
  }

  .register-form form section > :has(#partner-option),
  .register-form form section > :has(#newsletter),
  .register-form form section > :has(#terms) {
    flex: 1 1 calc(50% - 8px) !important;
    max-width: 50%;
  }

  /* Captcha + footer en full width */
  .register-form form section > .g-recaptcha,
  .register-form form section > footer {
    flex: 0 0 100% !important;
  }
}

.form-group.col-md-4:has(#partner-option) {
  display: none !important;
}

.read-b2b-conditions {
  margin-left: 10px;
}

/* Liens / selects */
.register-form a {
  color: var(--primary);
  text-decoration: none;
}
.register-form a:hover {
  text-decoration: underline;
}
.register-form .alert.error,
#password .ps-alert-error:has(*) {
  border-radius: var(--radius);
  background: #fff1f1;
  border: 1px solid #ffd3d3;
  color: #7a1d1d;
}

#password .ps-alert-error:has(*) {
  border-radius: 20px;
  padding: 15px !important;
}
.register-form select.form-control {
  appearance: none;
  background-image: linear-gradient(
      45deg,
      transparent 50%,
      rgba(17, 24, 39, 0.55) 50%
    ),
    linear-gradient(135deg, rgba(17, 24, 39, 0.55) 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 3px),
    calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

#business-password + .input-group-btn > button[data-action="show-password"],
#confirm-password + .input-group-btn > button[data-action="show-password"] {
  background-color: #00244d !important;
  color: #ffffff !important;
  border: 1px solid #00244d !important;
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
  padding: 8px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

/* password recovery page */
#password .pageContent #content svg {
  display: none;
}

#password .pageContent #content-wrapper ul {
  list-style: none;
  padding: unset;
}
#password .pageContent #content-wrapper ul a {
  color: #b37a59;
}

#password .renew-password .email {
  margin-bottom: 2rem;
}
/* Password validation styles */
#password-requirements {
  margin-top: 8px;
  font-size: 13px;
  color: #6c757d;
}

#password-requirements ul {
  margin-bottom: 0;
}

#password-requirements li {
  padding: 2px 0;
  transition: color 0.3s ease;
}

#password-requirements .req-icon {
  display: inline-block;
  width: 16px;
  font-weight: bold;
  margin-right: 5px;
}

#password-requirements .req-invalid {
  color: #dc3545;
}

#password-requirements .req-invalid .req-icon {
  color: #dc3545;
}

#password-requirements .req-valid {
  color: #28a745;
}

#password-requirements .req-valid .req-icon {
  color: #28a745;
}
.register-form a {
  color: var(--primary);
  text-decoration: none;
  margin: 0 5px;
}

#password .col-md-5.email {
  margin-bottom: 1rem;
}

/* login page */

.page-customer-account .alert.alert-info {
  margin-top: 1rem;
}
.page-customer-account .alert.alert-info a {
  color: var(--primary);
}

/* account */
a.list-group-item.list-group-item-action {
  text-transform: capitalize;
}

.page-customer-account H1 span,
#module-su_multibilling-billingaddresses span H1,
#order-detail H1 span {
  text-transform: capitalize;
}

.accountMenu {
	margin: 1rem 0 3rem;
}

@media (min-width: 1200px) {
  .accountMenu {
    margin: 1rem 0 0 0;
  }
}

.su-password-accordion__content .btn {
  padding: 8px 15px;
}

/* 1) Cacher les 2 liens */
.accountMenu a[href*="b2b-customer-create"] {
  display: none !important;
}
.accountMenu a[href*="module/mollie/subscriptions"] {
  display: none !important;
}

/* 2) Réordonner sans toucher au reste */
.accountMenu {
  display: flex;
  flex-direction: column;
}

/* Tous les liens par défaut après les 3 premiers */
.accountMenu > a.list-group-item {
  order: 10;
}

#order-slips-link {
  display: none !important;
}

/* Ordre spécifique des 3 entrées */
.accountMenu > a#my-account {
  order: 1;
}
.accountMenu > a#su-multibilling-link {
  order: 2;
}
.accountMenu > a#addresses-link {
  order: 3;
}

/* Cacher le bloc "Identification number" (champ siret) */
.form-group.row:has(input[name="siret"]) {
  display: none !important;
}

/* quick order */

/* ============================
   QUICK ORDER – MOBILE FIRST
   ============================ */

@media (max-width: 767.98px) {
  /* Table en largeur complète + header caché */
  #quickorderform-table {
    width: 100%;
    border-collapse: collapse;
  }

  #quickorderform-table thead {
    display: none; /* On cache l’en-tête sur mobile */
  }

  #quickorderform-table tbody,
  #quickorderform-table tbody tr,
  #quickorderform-table tbody td {
    display: block;
    width: 100%;
  }

  #quickorderform-table tbody tr {
    border: 1px solid #ddd;
    margin-bottom: 1rem;
    padding: 0.75rem;
  }

  /* Base : chaque cellule = label au-dessus + contenu */
  #quickorderform-table tbody td {
    padding: 0.25rem 0;
  }

  #quickorderform-table tbody td::before {
    content: "";
    display: block;
    font-weight: 600;
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
    white-space: nowrap;
  }

  /* Labels par colonne (on compte seulement les <td>, pas l'input hidden) */
  #quickorderform-table tbody td:nth-of-type(1)::before {
    content: "Reference";
  }
  #quickorderform-table tbody td:nth-of-type(2)::before {
    content: "Image";
  }
  #quickorderform-table tbody td:nth-of-type(3)::before {
    content: "Name";
  }
  #quickorderform-table tbody td:nth-of-type(4)::before {
    content: "Combination";
  }
  #quickorderform-table tbody td:nth-of-type(5)::before {
    content: "Quantity";
  }
  #quickorderform-table tbody td:nth-of-type(6)::before {
    content: "Stock";
  }
  #quickorderform-table tbody td:nth-of-type(7)::before {
    content: "Price";
  }
  #quickorderform-table tbody td:nth-of-type(8)::before {
    content: "Total";
  }
  #quickorderform-table tbody td:nth-of-type(9)::before {
    content: "Delete";
  }

  /* Champs en largeur complète par défaut */
  #quickorderform-table .form-control,
  #quickorderform-table .input-group {
    width: 100%;
    max-width: 100%;
  }

  /* Évite que des éléments débordent horizontalement */
  #quickorderform-table tbody td * {
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Si le conteneur faisait un scroll horizontal, on le laisse respirer */
  ._table-responsive {
    overflow-x: visible;
  }

  /* Image : taille & centrage par défaut */
  #quickorderform-table .product-image img {
    max-width: 64px;
    height: auto;
    display: block;
  }

  /* Cellule Delete : alignée à droite, sans label visible */
  #quickorderform-table tbody td:last-of-type {
    text-align: right;
  }
  #quickorderform-table tbody td:last-of-type::before {
    content: "";
  }

  /* ============================
     SUR UNE SEULE LIGNE :
     Image, Quantity, Stock, Price, Total
     ============================ */

  /* Image (2e), Quantity (5e), Stock (6e), Price (7e), Total (8e) :
     label + valeur sur la même ligne */
  #quickorderform-table tbody td:nth-of-type(2),
  #quickorderform-table tbody td:nth-of-type(5),
  #quickorderform-table tbody td:nth-of-type(6),
  #quickorderform-table tbody td:nth-of-type(7),
  #quickorderform-table tbody td:nth-of-type(8) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
  }

  #quickorderform-table tbody td:nth-of-type(2)::before,
  #quickorderform-table tbody td:nth-of-type(5)::before,
  #quickorderform-table tbody td:nth-of-type(6)::before,
  #quickorderform-table tbody td:nth-of-type(7)::before,
  #quickorderform-table tbody td:nth-of-type(8)::before {
    display: inline-block;
    margin-bottom: 0; /* on annule le margin-bottom du mode "stacked" */
  }

  /* Contenu à droite prend la place disponible */
  #quickorderform-table tbody td:nth-of-type(2) > *,
  #quickorderform-table tbody td:nth-of-type(5) .form-control,
  #quickorderform-table tbody td:nth-of-type(5) .input-group,
  #quickorderform-table tbody td:nth-of-type(6) > *,
  #quickorderform-table tbody td:nth-of-type(7) > *,
  #quickorderform-table tbody td:nth-of-type(8) > * {
    width: auto;
    max-width: 100%;
    flex: 1;
  }

  /* Image : on la laisse à droite, bien contenue */
  #quickorderform-table tbody td:nth-of-type(2) .product-image,
  #quickorderform-table tbody td:nth-of-type(2) img {
    margin-left: auto;
  }

  /* Quantity (touchspin) prend naturellement la place à droite */
  #quickorderform-table
    tbody
    td:nth-of-type(5)
    .input-group.bootstrap-touchspin {
    margin-left: auto;
  }

  /* Price / Total alignés à droite si tu gardes ce style */
  #quickorderform-table tbody td:nth-of-type(7),
  #quickorderform-table tbody td:nth-of-type(8) {
    text-align: right;
  }

  /* ============================
     TFOOT : TOTAL, CSV, ADD TO CART
     ============================ */

  #quickorderform-table tfoot tr,
  #quickorderform-table tfoot td {
    display: block;
    width: 100%;
  }

  #quickorderform-table tfoot tr {
    margin-bottom: 0.75rem;
  }

  #quickorderform-table tfoot td.bold.center {
    text-align: right;
    font-weight: 600;
  }

  #quickorderform-table .order-total {
    font-size: 1.1rem;
  }

  /* Formulaire CSV : tout en colonne */
  #sldqof_file_sending .table,
  #sldqof_file_sending .table tfoot,
  #sldqof_file_sending .table tr,
  #sldqof_file_sending .table td {
    display: block;
    width: 100%;
  }

  #sldqof_file_sending input[type="file"] {
    margin-bottom: 0.5rem;
  }

  #sldqof_file_sending button[type="submit"],
  #quickorderform-add-to-cart {
    width: 100%;
    margin-top: 0.5rem;
  }
}
#quickorderform-table tfoot tr:first-child td[colspan="4"] {
  display: none;
}

/* Desktop : aucun changement, on laisse les styles existants */

/* Conact page */

#contact .block-contact {
  margin-bottom: 2rem;
}

@media (min-width: 1200px) {
  #contact .block-contact {
    margin-bottom: 0;
  }
}

.jprestamenu .mm-logged-only {
  display: none !important;
}