:root {
  --sl-ivory: #f8f1ea;
  --sl-cream: #eee1d5;
  --sl-gold: #b68b3f;
  --sl-black: #171717;
  --sl-brown: #5f4b3e;
  --sl-taupe: #8f7b6c;
  --sl-white: #fffdf9;
}

body {
  background-color: var(--sl-ivory);
  color: var(--sl-black);
  font-family: Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: Georgia, serif;
  font-weight: 400;
  color: var(--sl-black);
}

a {
  color: var(--sl-black);
}

a:hover {
  color: var(--sl-gold);
}

header {
  background-color: var(--sl-ivory);
}

/* Bandeau supérieur */
.sl-announcement {
  background-color: var(--sl-black);
  color: var(--sl-white);
  padding: 8px 20px;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
}

/* Zone supérieure du header */
.header-top {
  background-color: var(--sl-ivory);
  border-bottom: 1px solid rgba(23, 23, 23, 0.08);
}

.header-top__right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2px;
  min-height: 52px;
}

.header-top__right > * {
  flex: 0 0 auto;
}

/* Masquer les textes */
.header-top .header-block__title,
.header-top .header-block__label,
.header-top .header-block__text {
  display: none !important;
}

/* Uniformiser les boutons */
.header-top .header-block__action-btn,
.header-top .sl-header-wishlist {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin: 0;
  padding: 0 !important;
  color: var(--sl-black);
  text-decoration: none;
}

/* Taille des icônes */
.header-top .header-block__icon,
.header-top .sl-header-wishlist .material-icons {
  font-size: 22px;
  line-height: 1;
}

/* Masquer provisoirement le nombre d’articles */
.header-top .header-block__badge {
  display: none !important;
}

/* Ordre des icônes */
.header-top #_desktop_ps_customersignin {
  order: 2;
}

.header-top .sl-header-wishlist {
  order: 3;
}

.header-top #_desktop_ps_shoppingcart {
  order: 4;
}

/* Survol */
.header-top .header-block__action-btn:hover,
.header-top .sl-header-wishlist:hover {
  color: var(--sl-gold);
}

/* Masquer le grand champ de recherche */
#search_widget {
  display: none !important;
}

/* Alignement des actions */
.header-top__right {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  min-height: 52px;
}

.header-top__right > * {
  flex: 0 0 auto;
  margin: 0 !important;
}

/* Boutons sous forme d’icônes */
.sl-header-search,
.sl-header-wishlist,
#_desktop_ps_customersignin .header-block__action-btn,
#_desktop_ps_shoppingcart .header-block__action-btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 42px;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--sl-black);
  text-decoration: none;
}

/* Supprimer tout le texte et le compteur du panier */
#_desktop_ps_shoppingcart span {
  display: none !important;
}

/* Taille identique pour toutes les icônes */
.sl-header-search .material-icons,
.sl-header-wishlist .material-icons,
#_desktop_ps_customersignin .material-icons,
#_desktop_ps_shoppingcart .material-icons {
  font-size: 22px;
  line-height: 1;
}

/* Ordre : recherche, profil, favoris, panier */
.sl-header-search {
  order: 1;
}

#_desktop_ps_customersignin {
  order: 2;
}

.sl-header-wishlist {
  order: 3;
}

#_desktop_ps_shoppingcart {
  order: 4;
}

/* Survol doré */
.sl-header-search:hover,
.sl-header-wishlist:hover,
#_desktop_ps_customersignin .header-block__action-btn:hover,
#_desktop_ps_shoppingcart .header-block__action-btn:hover {
  color: var(--sl-gold);
}

/* Suppression de la séparation sous les icônes */
.header-top {
  border-bottom: none;
}

/* Logo centré */
.header-bottom__row {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
}

/* Empêche Bootstrap de donner 100 % de largeur aux trois éléments */
.header-bottom__row > .sl-mobile-logo,
.header-bottom__row > .sl-mobile-cart,
.header-bottom__row > .sl-header-menu {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    padding-right: 0;
    padding-left: 0;
}

.sl-mobile-logo {
    margin-right: auto !important;
}

.sl-mobile-cart {
    margin-right: 8px !important;
}

.header-bottom__logo {
  width: 100%;
  justify-content: center;
  margin: 0 !important;
  padding: 18px 0 10px;
}

.header-bottom__logo img {
  width: auto;
  max-height: 70px;
}

/* Centrer le menu principal sous le logo */
.header-bottom .ps-mainmenu--desktop {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  display: flex;
  justify-content: center;
  padding: 0;
}

.header-bottom .ps-mainmenu__desktop {
  width: 100%;
  display: flex !important;
  justify-content: center;
}

.header-bottom .ps-mainmenu__tree {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
}

/* Ligne principale : logo centré et icônes à droite */
.sl-header-main {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 110px;
}

.sl-header-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.sl-header-logo h1 {
  margin: 0;
}

.sl-header-logo img {
  display: block;
  width: auto;
  max-height: 70px;
  margin-top: 35px;
}

.header-top__right {
  position: relative;
  z-index: 2;
}

/* Taille des icônes de réassurance sur la page d’accueil */
body#index .blockreassurance img,
body#index .block-reassurance img,
body#index #block-reassurance img {
  width: 36px !important;
  height: 36px !important;
  max-width: 36px !important;
  object-fit: contain;
}

/* Réassurance sur une seule ligne sous le carrousel */
body#index #block-reassurance,
body#index .blockreassurance,
body#index .block-reassurance {
  width: 100%;
}

body#index #block-reassurance ul,
body#index .blockreassurance ul,
body#index .block-reassurance ul {
  display: flex !important;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 18px 0;
}

body#index #block-reassurance li,
body#index .blockreassurance li,
body#index .block-reassurance li {
  flex: 1 1 0;
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  margin: 0 !important;
  padding: 0 !important;
}

body#index #block-reassurance li img,
body#index .blockreassurance li img,
body#index .block-reassurance li img {
  flex: 0 0 36px;
}

body#index #block-reassurance li p,
body#index .blockreassurance li p,
body#index .block-reassurance li p,
body#index #block-reassurance li span,
body#index .blockreassurance li span,
body#index .block-reassurance li span,
body#index #block-reassurance li a,
body#index .blockreassurance li a,
body#index .block-reassurance li a {
  margin: 0;
  line-height: 1.3;
}
/* Ligne de réassurance plus large */
body#index #block-reassurance ul,
body#index .blockreassurance ul,
body#index .block-reassurance ul {
  width: 100%;
  max-width: 1700px;
  margin: 0 auto !important;
  padding: 22px 40px;
}

body#index #block-reassurance li,
body#index .blockreassurance li,
body#index .block-reassurance li {
  justify-content: center;
}
/* Header mobile */
/* Header mobile : logo à gauche, panier et burger à droite */
@media (max-width: 767.98px) {
    .header-bottom {
        background: #f7f1e9;
    }

    .header-bottom__container {
        padding-right: 18px;
        padding-left: 18px;
    }

    .header-bottom__row {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        min-height: 68px;
        margin: 0 !important;
    }

    /* Logo à gauche */
    .sl-mobile-logo {
        position: static;
        display: flex !important;
        align-items: center;
        order: 1;
        margin-right: auto;
        transform: none;
    }

    .sl-mobile-logo h1,
    .sl-mobile-logo a {
        display: block;
        margin: 0;
        line-height: 0;
    }

    .sl-mobile-logo img {
        display: block;
        width: 160px;
        max-width: 46vw;
        height: auto;
    }

    /* Panier */
    .sl-mobile-cart {
        position: relative;
        display: flex !important;
        align-items: center;
        order: 2;
        width: auto !important;
        margin: 0 12px 0 0;
    }

    .sl-mobile-cart .header-block {
        margin: 0;
    }

    .sl-mobile-cart .header-block__action-btn {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        padding: 0;
        color: #111111;
        text-decoration: none;
    }

    .sl-mobile-cart .header-block__icon {
        margin: 0;
        font-size: 23px;
        line-height: 1;
    }

    .sl-mobile-cart .header-block__badge {
        position: absolute;
        top: 1px;
        right: 0;
    }

    /* Menu burger à droite */
    .sl-header-menu {
        display: flex;
        flex: 0 0 auto;
        align-items: center;
        order: 3;
        width: auto !important;
        margin: 0;
    }

    .sl-header-menu .navbar-toggler,
    .sl-header-menu button {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
        color: #111111;
    }

    .sl-header-menu .navbar-toggler-icon,
    .sl-header-menu .material-icons {
        margin: 0;
        font-size: 25px;
        line-height: 1;
    }
}

/* Menu burger mobile */
@media (max-width: 767.98px) {
    #mobileMenu,
    #mobileMenu .offcanvas-header,
    #mobileMenu .ps-mainmenu__mobile,
    #mobileMenu .ps-mainmenu__additionnals {
        background: #f7f1e9;
    }

    /* Liens Recherche, Compte et Favoris */
    .sl-mobile-menu-actions {
        display: flex;
        align-items: center;
        justify-content: space-around;
        gap: 12px;
        margin-top: auto;
        padding: 18px 14px;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
        background: #f7f1e9;
    }

    .sl-mobile-menu-action {
        display: flex;
        flex: 1;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        color: #111111;
        font-size: 12px;
        text-align: center;
        text-decoration: none;
    }

    .sl-mobile-menu-action .material-icons {
        margin: 0;
        font-size: 23px;
        line-height: 1;
    }

    .sl-mobile-menu-action:hover {
        color: #b89652;
        text-decoration: none;
    }
}

@media (max-width: 767.98px) {
    #mobileMenu .sl-mobile-menu-close {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 42px;
      height: 42px;
      margin-left: auto;
      padding: 0;
      border: 0;
      background: transparent;
      color: #111111;
      cursor: pointer;
    }

    #mobileMenu .sl-mobile-menu-close span {
      display: block;
      font-family: Arial, sans-serif;
      font-size: 34px;
      font-weight: 300;
      line-height: 1;
    }
}

/* Bande de réassurance — mobile */
@media (max-width: 767.98px) {
  #block-reassurance {
    box-sizing: border-box;
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    padding: 20px 0;
    overflow: hidden;
    background: #f7f1e9;
  }

  #block-reassurance ul {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  #block-reassurance ul li {
    box-sizing: border-box;
    display: flex;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0 3px;
  }

  #block-reassurance ul li + li {
    border-left: 1px solid rgba(184, 150, 82, 0.28);
  }

  #block-reassurance .block-reassurance-item {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    text-align: center;
  }

  #block-reassurance .block-reassurance-item img {
    display: block;
    width: 20px;
    height: 20px;
    margin: 0;
    object-fit: contain;
  }

  #block-reassurance .block-reassurance-item span {
    display: block;
    width: 100%;
    margin: 0;
    color: #111111;
    font-size: 9.5px;
    font-weight: 400;
    line-height: 1.3;
    overflow-wrap: normal;
    word-break: normal;
  }
}

@media (max-width: 767.98px) {
    body#index #block-reassurance ul {
        padding: 12px 4px !important;
    }
    .page-content--home {
      gap: 1rem !important;
    }
}
/* Icônes de réassurance sur la fiche produit */
body#product .blockreassurance .reassurance__image {
    display: flex !important;
    flex: 0 0 36px !important;
    align-items: center;
    justify-content: center;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    max-height: 36px !important;
    overflow: hidden;
}

body#product .blockreassurance .reassurance__image > img {
    display: block !important;
    width: 32px !important;
    min-width: 0 !important;
    max-width: 32px !important;
    height: 32px !important;
    max-height: 32px !important;
    margin: 0 !important;
    object-fit: contain !important;
}

/* Description et détails du produit */
body#product .product__accordion {
    padding: 12px 26px;
    background: #ffffff;
}

body#product .product__accordion .accordion-button {
    padding: 18px 0;
}

body#product .product__accordion .accordion-body {
    padding: 4px 0 22px;
}

@media (max-width: 767.98px) {
    body#product .product__accordion {
        padding: 8px 18px;
    }

    body#product .product__accordion .accordion-button {
        padding: 16px 0;
    }

    body#product .product__accordion .accordion-body {
        padding-bottom: 18px;
    }
}

/* Centrage réel du menu principal sur ordinateur */
@media (min-width: 1200px) {
    .header-bottom__row {
        display: flex !important;
        justify-content: center !important;
        width: 100%;
        margin: 0 !important;
    }

    .header-bottom .sl-header-menu {
        display: flex !important;
        flex: 1 1 100% !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .header-bottom .sl-header-menu .ps-mainmenu--desktop {
        display: flex !important;
        flex: 0 0 auto !important;
        justify-content: center !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    .header-bottom .sl-header-menu .ps-mainmenu__desktop {
        display: flex !important;
        justify-content: center !important;
        width: auto !important;
        margin: 0 auto !important;
    }

    .header-bottom .sl-header-menu .ps-mainmenu__tree {
        display: flex !important;
        justify-content: center !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}
/* Colonne catégories et filtres */
#left-column .accordion-item,
#left-column .category-tree__item-header,
#left-column .category-tree__item-link,
#left-column .accordion-button {
    background-color: transparent !important;
    box-shadow: none !important;
}

/* Ligne de chaque catégorie ou filtre */
#left-column .category-tree__item-header,
#left-column .accordion-item {
    border-bottom: 1px solid rgba(184, 150, 82, 0.22);
}

/* Lien de catégorie */
#left-column .category-tree__item-link {
    flex: 1;
    padding: 13px 4px !important;
    color: #111111;
    text-decoration: none;
}

/* Petite flèche à droite */
#left-column .category-tree__item-header .accordion-button {
    flex: 0 0 34px;
    width: 34px !important;
    padding: 13px 4px !important;
}

/* Titres des filtres */
#left-column .facet .accordion-button {
    padding: 13px 4px !important;
    color: #111111;
    font-weight: 500;
}

/* Survol discret */
#left-column .category-tree__item-link:hover,
#left-column .facet .accordion-button:hover {
    color: #b89652;
}

/* Newsletter — ciblage exact du bloc */
#emailsubscription_anchor_displayFooterBefore.ps-emailsubscription {
    padding: 56px 20px !important;
}

#emailsubscription_anchor_displayFooterBefore > .container {
    width: 100%;
    max-width: 760px !important;
    margin: 0 auto;
}

/* Titre puis formulaire en dessous */
#emailsubscription_anchor_displayFooterBefore .row.justify-content-center {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* Titre */
#emailsubscription_anchor_displayFooterBefore .row > .h3 {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 22px !important;
    padding: 0 !important;
    color: #111111;
    font-size: clamp(24px, 2.2vw, 32px);
    font-weight: 500;
    text-align: center;
}

/* Formulaire */
#emailsubscription_anchor_displayFooterBefore .row > form {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

#emailsubscription_anchor_displayFooterBefore form .d-flex {
    width: 100%;
    justify-content: center;
}

/* Champ e-mail */
#emailsubscription_anchor_displayFooterBefore input[type="email"] {
    min-width: 0;
    min-height: 48px;
    padding: 12px 16px;
    border: 1px solid rgba(17, 17, 17, 0.25);
    border-radius: 0;
    background: #ffffff;
    box-shadow: none;
}

/* Bouton */
#emailsubscription_anchor_displayFooterBefore input[type="submit"] {
    min-height: 48px;
    padding: 12px 26px;
    border: 1px solid #111111;
    border-radius: 0;
    background-color: #111111 !important;
    color: #ffffff;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#emailsubscription_anchor_displayFooterBefore input[type="submit"]:hover {
    border-color: #b89652;
    background-color: #b89652 !important;
}

/* Texte sous le formulaire */
#emailsubscription_anchor_displayFooterBefore .text-body-secondary {
    max-width: 560px;
    margin-right: auto !important;
    margin-left: auto !important;
    color: #6f6963 !important;
    line-height: 1.5;
    text-align: center;
}

@media (max-width: 575.98px) {
    #emailsubscription_anchor_displayFooterBefore.ps-emailsubscription {
        padding: 42px 16px !important;
    }

    #emailsubscription_anchor_displayFooterBefore .row > .h3 {
        margin-bottom: 18px !important;
        font-size: 23px;
    }

    #emailsubscription_anchor_displayFooterBefore input[type="submit"] {
        padding-right: 16px;
        padding-left: 16px;
    }
}
#footer .sl-newsletter {
    background: #ddd0c2 !important;
}

/* Footer noir : textes et liens en ivoire */
#footer .footer__main {
    background-color: #151515 !important;
    color: #f7f1e9 !important;
}

#footer .footer__main h1,
#footer .footer__main h2,
#footer .footer__main h3,
#footer .footer__main h4,
#footer .footer__main h5,
#footer .footer__main h6,
#footer .footer__main .h1,
#footer .footer__main .h2,
#footer .footer__main .h3,
#footer .footer__main .h4,
#footer .footer__main p,
#footer .footer__main span,
#footer .footer__main li,
#footer .footer__main small,
#footer .footer__main address {
    color: #f7f1e9 !important;
}

#footer .footer__main a {
    color: #f7f1e9 !important;
    text-decoration: none;
}

#footer .footer__main a:hover {
    color: #cba84e !important;
}

/* Icônes et flèches */
#footer .footer__main .material-icons,
#footer .footer__main i,
#footer .footer__main svg {
    color: #f7f1e9 !important;
    fill: currentColor;
}

/* Séparations éventuelles */
#footer .footer__main hr,
#footer .footer__main .border-top,
#footer .footer__main .border-bottom {
    border-color: rgba(247, 241, 233, 0.18) !important;
}

/* Réassurance de l’accueil : titre et précision sur deux lignes */
body#index #block-reassurance .block-reassurance-item {
    display: flex;
    align-items: center;
    gap: 14px;
}

body#index #block-reassurance .sl-reassurance-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    min-width: 0;
    text-align: left;
}

body#index #block-reassurance .sl-reassurance-title {
    display: block;
    margin: 0;
    color: #111111;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.25;
}

body#index #block-reassurance .sl-reassurance-subtitle {
    display: block;
    margin: 0;
    color: #6f6963;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
}
/* Réassurance accueil — forcer les deux textes sur deux lignes */
body#index #block-reassurance ul li .block-reassurance-item
> .sl-reassurance-copy {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 3px !important;
    width: auto !important;
    min-width: 0 !important;
    text-align: left !important;
}

body#index #block-reassurance ul li .block-reassurance-item
> .sl-reassurance-copy
> .sl-reassurance-title {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    color: #111111 !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
}

body#index #block-reassurance ul li .block-reassurance-item
> .sl-reassurance-copy
> .sl-reassurance-subtitle {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    color: #6f6963 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
}
/* Mobile */
@media (max-width: 767.98px) {
    body#index #block-reassurance .block-reassurance-item {
        flex-direction: column;
        gap: 6px;
    }

    body#index #block-reassurance .sl-reassurance-copy {
        align-items: center;
        gap: 2px;
        text-align: center;
    }

    body#index #block-reassurance .sl-reassurance-title {
        font-size: 9.5px;
        line-height: 1.2;
    }

    body#index #block-reassurance .sl-reassurance-subtitle {
        font-size: 8.5px;
        line-height: 1.25;
    }
}

/* Bouton loupe du header */
.sl-header-search {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #111111;
    cursor: pointer;
}

.sl-header-search .material-icons {
    margin: 0;
    font-size: 23px;
}

/* Panneau de recherche sous le header */
.sl-search-panel {
    position: relative;
    z-index: 100;
    width: 100%;
    border-top: 1px solid rgba(17, 17, 17, 0.08);
    border-bottom: 1px solid rgba(17, 17, 17, 0.12);
    background: #f7f1e9;
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.08);
}

.sl-search-panel > .container-md {
    padding-top: 24px;
    padding-bottom: 24px;
}

/* Conteneur généré par ps_searchbar */
.sl-search-panel #_desktop_ps_searchbar {
    display: flex !important;
    width: 100% !important;
    max-width: 760px;
    margin: 0 auto !important;
    padding: 0 !important;
}

.sl-search-panel .ps-searchbar {
    position: relative;
    width: 100%;
}

.sl-search-panel .ps-searchbar__form {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

/* Champ de recherche */
.sl-search-panel .ps-searchbar__input {
    width: 100%;
    min-height: 52px;
    padding: 12px 52px;
    border: 1px solid rgba(17, 17, 17, 0.24);
    border-radius: 0;
    background: #ffffff;
    color: #111111;
    font-size: 16px;
    box-shadow: none;
}

.sl-search-panel .ps-searchbar__input:focus {
    border-color: #cba84e;
    outline: none;
    box-shadow: 0 0 0 2px rgba(203, 168, 78, 0.13);
}

/* Loupe dans le champ */
.sl-search-panel .ps-searchbar__magnifier {
    position: absolute;
    top: 50%;
    left: 17px;
    z-index: 2;
    margin: 0;
    color: #111111;
    font-size: 22px;
    transform: translateY(-50%);
    pointer-events: none;
}

/* Croix pour effacer */
.sl-search-panel .ps-searchbar__clear {
    position: absolute;
    top: 50%;
    right: 10px;
    z-index: 2;
    transform: translateY(-50%);
}

/* Résultats suggérés */
.sl-search-panel .ps-searchbar__dropdown {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    left: 0;
    z-index: 110;
    max-height: 420px;
    overflow-y: auto;
    border: 1px solid rgba(17, 17, 17, 0.12);
    background: #ffffff;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
}

/* Évite l’ajout du bouton mobile contenu dans le widget */
.sl-search-panel .ps-searchbar--mobile {
    display: none !important;
}

.sl-header-search,
.sl-header-search:hover,
.sl-header-search:focus,
.sl-header-search:focus-visible,
.sl-header-search:active {
    border: none !important;
    outline: none !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #111111 !important;
    appearance: none;
}

/* HERO — image puis texte en dessous */

.sl-maison-hero {
    display: block;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    background: #f7f1e9;
}

.sl-maison-hero__image {
    position: relative;
    inset: auto;
    width: 100%;
    height: 420px;
    background-image: url("../img/la-maison/hero-la-maison.webp");
    background-position: center;
    background-size: cover;
}

.sl-maison-hero::after {
    display: none;
}

.sl-maison-hero__content {
    position: relative;
    z-index: auto;
    max-width: 760px;
    margin: 0 auto;
    padding: 38px 30px 44px;
    text-align: center;
}

.sl-maison .sl-maison-hero h1 {
    margin: 0 0 12px;
    color: #1d1d1d !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 38px;
    font-weight: 400;
    line-height: 1.2;
}

.sl-maison .sl-maison-hero p {
    margin: 0;
    color: #444;
    font-size: 17px;
    line-height: 1.6;
}

@media (max-width: 767.98px) {
    .sl-maison-hero__image {
        height: 300px;
    }

    .sl-maison-hero__content {
        padding: 30px 22px 35px;
    }

    .sl-maison .sl-maison-hero h1 {
        font-size: 31px;
    }

    .sl-maison .sl-maison-hero p {
        font-size: 16px;
    }
}

/* =========================================================
   LA MAISON — PRÉSENTATION DE MÉLISSA
========================================================= */

.sl-maison-section--intro {
    display: grid;
    grid-template-columns: 420px minmax(0, 1fr);
    align-items: center;
    gap: 55px;
    max-width: 1040px;
    margin: 0 auto;
    padding: 75px 30px;
}

.sl-maison-section--intro .sl-maison-image--melissa {
    display: block !important;
    width: 420px !important;
    max-width: 100% !important;
    height: 520px !important;
    min-height: 520px !important;
    background-image: url("../img/la-maison/melissa-bijoux.webp") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: cover !important;
}

.sl-maison-section--intro .sl-maison-text {
    max-width: 540px;
}

.sl-maison-section--intro .sl-maison-text p {
    margin: 0 0 18px;
    color: #292929;
    font-size: 16px;
    line-height: 1.75;
}

.sl-maison-section--intro .sl-maison-text p:last-child {
    margin-bottom: 0;
}

@media (max-width: 767.98px) {
    .sl-maison-section--intro {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 50px 22px;
    }

    .sl-maison-section--intro .sl-maison-image--melissa {
        max-width: 420px;
        margin: 0 auto;
    }

    .sl-maison-section--intro .sl-maison-text {
        max-width: none;
    }

    .sl-maison-section--intro .sl-maison-text p {
        font-size: 15.5px;
        line-height: 1.7;
    }
}

/* =========================================================
   LA MAISON — PHRASE DE TRANSITION
========================================================= */

.sl-maison-highlight {
    position: relative;
    max-width: 820px;
    margin: 0 auto;
    padding: 55px 30px;
    text-align: center;
}

.sl-maison-highlight::before {
    display: block;
    width: 55px;
    height: 1px;
    margin: 0 auto 25px;
    background: #c8a35d;
    content: "";
}

.sl-maison-highlight p {
    margin: 0;
    color: #252525;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    font-style: italic;
    line-height: 1.45;
}

@media (max-width: 767.98px) {
    .sl-maison-highlight {
        padding: 42px 22px;
    }

    .sl-maison-highlight p {
        font-size: 23px;
    }
}

/* =========================================================
   LA MAISON — RACINES ITALIENNES
========================================================= */

.sl-maison-section--italie {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    align-items: center;
    gap: 55px;
    max-width: 1040px;
    margin: 0 auto;
    padding: 70px 30px;
    background: #f7f1e9;
}

.sl-maison-section--italie .sl-maison-text {
    max-width: 510px;
    margin-left: auto;
}

.sl-maison-section--italie .sl-maison-text p {
    margin: 0;
    color: #292929;
    font-size: 16px;
    line-height: 1.75;
}

.sl-maison-section--italie .sl-maison-image--univers {
    width: 100%;
    height: 500px;
    background-image: url("../img/la-maison/univers-sole-luna.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

@media (max-width: 767.98px) {
    .sl-maison-section--italie {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 50px 22px;
    }

    .sl-maison-section--italie .sl-maison-image--univers {
        grid-row: 1;
        height: 390px;
    }

    .sl-maison-section--italie .sl-maison-text {
        grid-row: 2;
        max-width: none;
        margin: 0;
    }

    .sl-maison-section--italie .sl-maison-text p {
        font-size: 15.5px;
        line-height: 1.7;
    }
}

/* =========================================================
   LA MAISON — HISTOIRE DE FAMILLE
========================================================= */

.sl-maison-section--famille {
    display: grid;
    grid-template-columns: 420px minmax(0, 1fr);
    align-items: center;
    gap: 55px;
    max-width: 1040px;
    margin: 0 auto;
    padding: 75px 30px;
}

.sl-maison-section--famille .sl-maison-image--famille {
    width: 100%;
    height: 500px;
    background-image: url("../img/la-maison/histoire-famille.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.sl-maison-section--famille .sl-maison-text {
    max-width: 520px;
}

.sl-maison-section--famille h2 {
    margin: 0 0 24px;
    color: #222;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 32px;
    font-weight: 400;
    line-height: 1.25;
}

.sl-maison-section--famille p {
    margin: 0 0 18px;
    color: #292929;
    font-size: 16px;
    line-height: 1.75;
}

.sl-maison-section--famille p:last-child {
    margin-bottom: 0;
}

@media (max-width: 767.98px) {
    .sl-maison-section--famille {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 50px 22px;
    }

    .sl-maison-section--famille .sl-maison-image--famille {
        height: 390px;
    }

    .sl-maison-section--famille .sl-maison-text {
        max-width: none;
    }

    .sl-maison-section--famille h2 {
        font-size: 28px;
    }

    .sl-maison-section--famille p {
        font-size: 15.5px;
        line-height: 1.7;
    }
}

/* =========================================================
   LA MAISON — SÉCURITÉ RESPONSIVE
========================================================= */

.sl-maison {
    width: 100%;
    max-width: 1180px;
    overflow-x: hidden;
}

.sl-maison > * {
    max-width: 100%;
}

.sl-maison-section--intro,
.sl-maison-section--italie,
.sl-maison-section--famille {
    width: 100%;
    min-width: 0;
}

.sl-maison-text,
.sl-maison-hero__content {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: break-word;
}

.sl-maison-image {
    min-width: 0;
    max-width: 100%;
}

/* On passe plus tôt en une seule colonne */
@media (max-width: 900px) {
    .sl-maison-section--intro,
    .sl-maison-section--italie,
    .sl-maison-section--famille {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
        padding: 50px 20px;
    }

    .sl-maison-section--intro .sl-maison-image--melissa,
    .sl-maison-section--italie .sl-maison-image--univers,
    .sl-maison-section--famille .sl-maison-image--famille {
        width: 100% !important;
        max-width: 100% !important;
        height: 390px !important;
        min-height: 0 !important;
        margin: 0 !important;
    }

    .sl-maison-section--italie .sl-maison-image--univers {
        grid-row: 1;
    }

    .sl-maison-section--italie .sl-maison-text {
        grid-row: 2;
        margin: 0;
    }
}

@media (max-width: 480px) {
    .sl-maison-hero__image {
        height: 270px;
    }

    .sl-maison-section--intro,
    .sl-maison-section--italie,
    .sl-maison-section--famille {
        padding-right: 16px;
        padding-left: 16px;
    }

    .sl-maison-section--intro .sl-maison-image--melissa,
    .sl-maison-section--italie .sl-maison-image--univers,
    .sl-maison-section--famille .sl-maison-image--famille {
        height: 330px !important;
    }
}

/* Header réduit au scroll */
@media (min-width: 768px) {
    #header .header-top {
        max-height: 300px;
        opacity: 1;
        overflow: hidden;
        transition: max-height 0.3s ease, opacity 0.2s ease;
    }

    #header.header-scrolled .header-top {
        max-height: 0;
        opacity: 0;
    }
}