/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */
/*
 * Fichier custom.css ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Å“ modifications personnalisÃƒÆ’Ã‚Â©es du thÃƒÆ’Ã‚Â¨me
 * Version mise ÃƒÆ’Ã‚Â  jour avec styles cohÃƒÆ’Ã‚Â©rents
 */

/* Bouton principal .btn-primary */
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #3E77CC; /* bleu profond  2539A5*/
    --bs-btn-border-color: #3E77CC;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #1d4783; /* hover plus foncÃƒÆ’Ã‚Â© */
    --bs-btn-hover-border-color: #1d4783;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #1d4783;
    --bs-btn-active-border-color: #1d4783;
   
}

/* MF v2.1: category-card design for Featured Products and Best Sellers modules. */
@media screen and (min-width: 992px) {
  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .module-products {
    width: min(94vw, 1420px);
    max-width: 1420px;
    padding-top: 1.25rem;
    padding-bottom: 1.5rem;
  }

  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .module-products__list > .products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    margin: 0;
  }

  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .product-miniature {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }

  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .product-miniature > .card {
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(198, 162, 79, 0.22);
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 5px 17px rgba(59, 39, 66, 0.075);
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
  }

  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .product-miniature > .card:hover {
    border-color: rgba(198, 162, 79, 0.52);
    box-shadow: 0 9px 22px rgba(49, 35, 15, 0.105);
    transform: translateY(-2px);
  }

  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .product-miniature__image-container,
  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .thumbnail-container {
    height: 270px;
    aspect-ratio: auto;
    overflow: hidden;
    background: #fff;
  }

  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .product-miniature__image {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .product-miniature__infos.card-body {
    display: flex;
    flex-direction: column;
    padding: 0.8rem 0.85rem 0.9rem;
    border-top: 1px solid rgba(198, 162, 79, 0.18);
    background: linear-gradient(180deg, #fff 0%, #fffdf8 100%);
    text-align: center;
  }

  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .product-miniature__infos__top,
  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .product-miniature__infos__bottom {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .product-miniature__infos__bottom {
    margin-top: auto;
  }

  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .product-miniature__title {
    min-height: 2.6em;
    margin-bottom: 0.45rem;
    color: #3b2740;
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.28;
    text-align: center;
  }

  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .product-miniature__prices {
    display: flex;
    align-items: baseline;
    justify-content: center;
    min-height: 2.8rem;
    margin-bottom: 0.35rem;
    gap: 0.45rem;
    text-align: center;
  }

  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .product-miniature__price {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0.34rem 0.82rem;
    border: 1px solid rgba(198, 162, 79, 0.3);
    border-radius: 9px;
    background: linear-gradient(135deg, #fffaf0 0%, #f6ead0 100%);
    color: #2f2732;
    font-size: 1.13rem;
    font-weight: 700;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 3px 8px rgba(95, 68, 22, 0.08);
  }

  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .product-miniature__prices:has(.product-miniature__regular-price) .product-miniature__price {
    min-height: auto;
    padding: 4px 8px;
    border: 0;
    border-radius: 6px;
    background: #d60000;
    color: #fff !important;
    box-shadow: none;
  }

  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .product-miniature form {
    justify-content: center !important;
    margin-top: 0.55rem !important;
  }

  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .product-miniature .quantity-button {
    display: none !important;
  }

  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .product-miniature [data-button-action="add-to-cart"] {
    flex: 0 0 auto !important;
    width: 72%;
    min-width: 150px;
    min-height: 42px;
    margin-right: auto;
    margin-left: auto;
    border-radius: 8px;
  }

  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .product-miniature__quickview {
    top: -52px;
    right: auto;
    bottom: auto;
    left: 50%;
    z-index: 4;
    width: auto;
    height: 42px;
    padding: 0;
    opacity: 0;
    pointer-events: none;
    transform: translateX(-50%) translateY(5px);
    transition: opacity 160ms ease, transform 160ms ease;
  }

  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .product-miniature > .card:hover .product-miniature__quickview,
  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .product-miniature__quickview:focus-within {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
  }

  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .product-miniature__quickview_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 172px;
    min-height: 42px;
    padding: 0.48rem 0.9rem;
    border: 1px solid rgba(190, 153, 69, 0.52);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(255, 253, 248, 0.97) 0%, rgba(248, 240, 224, 0.97) 100%);
    color: #58485c;
    font-size: 0.92rem;
    font-weight: 650;
    box-shadow: 0 4px 12px rgba(61, 43, 64, 0.13);
  }

  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .product-miniature__quickview_button .material-icons {
    margin-right: 0.42rem;
    color: #b99033;
    font-size: 1.18rem;
  }

  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .module-products__buttons .btn {
    min-width: 220px;
    border-color: rgba(185, 144, 51, 0.58);
    background: linear-gradient(180deg, #fff 0%, #fffcf5 100%);
    color: #6a5124;
  }
}

/* MF v2.1: editorial category introduction and compact illustrated tags. */
body.page-category #js-product-list-header .block-category {
  margin-bottom: 1rem;
}

body.page-category #category-description {
  position: relative;
  max-width: 100%;
  margin: 0.9rem 0 0.7rem !important;
  padding: clamp(1rem, 1.7vw, 1.45rem) clamp(1.05rem, 2.2vw, 1.8rem);
  border: 1px solid rgba(198, 162, 79, 0.25);
  border-radius: 18px;
  background:
    radial-gradient(circle at 8% 12%, rgba(224, 197, 123, 0.18) 0 2px, transparent 3px),
    radial-gradient(circle at 93% 20%, rgba(171, 139, 186, 0.13) 0 3px, transparent 4px),
    linear-gradient(135deg, rgba(255, 253, 247, 0.98), rgba(252, 248, 255, 0.94));
  box-shadow: 0 10px 28px rgba(62, 45, 65, 0.065);
  color: #554d57;
  font-size: 1.02rem;
  line-height: 1.7;
}

body.page-category #category-description p {
  margin-bottom: 0.7rem;
}

body.page-category #category-description p:last-child {
  margin-bottom: 0;
}

body.page-category #category-description p:first-child {
  color: #403443;
  font-size: 1.08em;
}

body.page-category #category-description strong,
body.page-category #category-description b {
  color: #49384c;
  font-weight: 700;
}

body.page-category #toggle-description {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  min-height: 38px;
  margin: 0 0 1rem !important;
  padding: 0.38rem 0.8rem !important;
  border: 1px solid rgba(198, 162, 79, 0.3) !important;
  border-radius: 999px;
  background: #fffaf0;
  color: #675837;
  font-size: 0.92rem;
  font-weight: 650;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(82, 61, 38, 0.055);
  transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

body.page-category #toggle-description:hover,
body.page-category #toggle-description:focus-visible {
  border-color: rgba(173, 133, 44, 0.48) !important;
  background: #f8efd9;
  color: #493b25;
  transform: translateY(-1px);
}

body.page-category #toggle-description .material-icons {
  font-size: 1.1rem;
}

body.page-category #js-product-list-header .subcategory {
  margin: 0 0 1.35rem;
}

body.page-category #js-product-list-header .subcategory__list,
body.page-category #js-product-list-header .subcategory__list--with-images {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.58rem;
  margin: 0 !important;
  padding: 0.2rem 0 0.35rem !important;
  overflow: visible;
}

body.page-category #js-product-list-header .subcategory__link,
body.page-category #js-product-list-header .subcategory__link--with-image {
  display: inline-flex !important;
  flex: 0 1 auto;
  align-items: center;
  width: auto !important;
  min-height: 48px;
  gap: 0.55rem;
  padding: 0.36rem 0.8rem 0.36rem 0.38rem !important;
  border: 1px solid rgba(111, 94, 115, 0.16) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.92);
  color: #514653;
  font-size: 0.9rem;
  font-weight: 650;
  line-height: 1.2;
  white-space: nowrap !important;
  box-shadow: 0 4px 13px rgba(61, 45, 64, 0.045);
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

body.page-category #js-product-list-header .subcategory__link:hover,
body.page-category #js-product-list-header .subcategory__link:focus-visible {
  border-color: rgba(198, 162, 79, 0.38) !important;
  background: linear-gradient(135deg, #fffaf0, #fbf7ff);
  color: #735925;
  box-shadow: 0 7px 18px rgba(61, 45, 64, 0.075);
  transform: translateY(-1px);
}

body.page-category #js-product-list-header .subcategory__thumbnail {
  flex: 0 0 38px;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: #fff;
  object-fit: contain !important;
}

body.page-category #js-product-list-header .subcategory__name {
  display: block;
}

@media screen and (max-width: 767.98px) {
  body.page-category #category-description {
    margin-top: 0.7rem !important;
    padding: 1rem;
    border-radius: 15px;
    font-size: 0.96rem;
    line-height: 1.62;
  }

  body.page-category #js-product-list-header .subcategory {
    margin-right: calc(var(--bs-gutter-x) * -0.5);
    margin-left: calc(var(--bs-gutter-x) * -0.5);
  }

  body.page-category #js-product-list-header .subcategory__list,
  body.page-category #js-product-list-header .subcategory__list--with-images {
    flex-wrap: nowrap;
    padding: 0.2rem calc(var(--bs-gutter-x) * 0.5) 0.65rem !important;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  body.page-category #js-product-list-header .subcategory__list::-webkit-scrollbar {
    display: none;
  }

  body.page-category #js-product-list-header .subcategory__link,
  body.page-category #js-product-list-header .subcategory__link--with-image {
    flex: 0 0 auto;
    min-height: 45px;
    scroll-snap-align: start;
  }

  body.page-category #js-product-list-header .subcategory__thumbnail {
    flex-basis: 34px;
    width: 34px !important;
    height: 34px !important;
  }
}

/* MF v2.1: contain and recenter the complete desktop navigation. */
@media screen and (min-width: 992px) {
  #header .main-menu {
    box-sizing: border-box !important;
    right: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: 100vw !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }

  #top-menu {
    box-sizing: border-box !important;
    display: flex !important;
    width: 100% !important;
    max-width: calc(100vw - 2rem) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: 0 !important;
    gap: 0 !important;
    justify-content: space-between !important;
  }

  #top-menu > li {
    flex: 0 1 auto !important;
    min-width: 0;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  #top-menu > li > a.main-menu__tree__link {
    padding-right: clamp(0.08rem, 0.2vw, 0.32rem) !important;
    padding-left: clamp(0.08rem, 0.2vw, 0.32rem) !important;
    font-size: 1.14rem !important;
    letter-spacing: 0.01em !important;
    white-space: nowrap;
  }
}

@media screen and (min-width: 992px) and (max-width: 1299.98px) {
  #top-menu > li > a.main-menu__tree__link {
    font-size: 0.98rem !important;
  }
}

@media screen and (min-width: 1300px) and (max-width: 1499.98px) {
  #top-menu > li > a.main-menu__tree__link {
    font-size: 1.04rem !important;
  }
}

/* MF v2.1 final desktop menu geometry: centered, airy and overflow-safe. */
@media screen and (min-width: 1200px) {
  #header .header-bottom .header-bottom__container {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-right: clamp(1rem, 2vw, 2rem) !important;
    padding-left: clamp(1rem, 2vw, 2rem) !important;
  }

  #header .header-bottom .header-bottom__row {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    justify-content: center !important;
  }

  #header .main-menu {
    display: flex !important;
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  #header .main-menu > .js-menu-desktop {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #top-menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: clamp(0.42rem, 0.62vw, 0.72rem) !important;
  }

  #top-menu > li {
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

  #top-menu > li > a.main-menu__tree__link {
    padding-right: 0.16rem !important;
    padding-left: 0.16rem !important;
    font-size: 0.96rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.012em !important;
    white-space: nowrap !important;
  }
}

@media screen and (min-width: 1200px) {
  :is(.ps-featuredproducts, .ps-bestsellers, .featured-products, .best-sellers-products) .module-products__list > .products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* RÃƒÆ’Ã‚Â©tablir la couleur des titres (ÃƒÆ’Ã‚Â©vite les textes invisibles) */
.product-title,
.products .product-title a,
h1, h2, h3, h4, h5, h6 {
    color: #212529 !important;
}

/* Liens */

a {
    color: #9C8146;
    text-decoration: underline;
}

/* Badges promo */
.badge {
    background-color: #ff9107;
}



/* Bordure sur miniature active */
.thumbnails__container .thumbnail.active img {
    border: 2px solid #3E77CC;
}

/* Wishlist : effet au survol */
.products article .wishlist-button-add:hover {
    opacity: 2.7;
    background-color: #ff8f8f;
}

.wishlist-button-add:hover {
    opacity: .7;
    background-color: #ff8f8f;
}

/* Bouton mobile flottant */
@media screen and (max-width: 767px) {
  .page-product .product__add-to-cart .product-actions__button button {
    position: fixed;
    width: 90% !important;
    height: 56px !important;
    left: 10px;
    bottom: 6px;
    margin: 12px;
    border-radius: 12px;
    z-index: 9999 !important;
    display: block !important;
    padding: 12px;
    font-size: 19px;
    font-weight: normal;
    text-align: center !important;

    background-color: #3E77CC; /* mÃƒÆ’Ã‚Âªme bleu profond */
    color: #fff;
    border: none;
    transition: background-color 0.3s ease;
  }

  .page-product .product__add-to-cart .product-actions__button button:hover,
  .page-product .product__add-to-cart .product-actions__button button:focus,
  .page-product .product__add-to-cart .product-actions__button button:active {
    background-color: #1d4783;
    color: #fff;
  }
}

/* couleur badge discount */
.badge.discount {
    border: 1px solid #ffc107;
    color: #ff9108;
}

.thumbnails__container .thumbnail.active img {
    border: 2px solid #ffc107;
}



element.style {
}
.product-miniature .product-miniature__quickview_button {
    align-items: center;
    border: 0;
    display: flex
;
    font-size: 1rem;
    justify-content: center;
    padding: .5rem;
    text-decoration: none;
    width: 100%;
}
[type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled), button:not(:disabled) {
    cursor: pointer;
}
.btn-with-icon {
    align-items: center;
    display: inline-flex
;
    gap: .25rem;
    justify-content: center;
}
.btn-link {
 
    --bs-btn-color: #3E77CC;
    
    --bs-btn-hover-color: #1d4783;
   
    --bs-btn-active-color: #1d4783;
    
}



/* Agrandir et centrer le logo sur mobile   */
 
 @media screen and (max-width: 767px) {
  .header-top .logo {
    text-align: center !important;
    padding: 5px 0 !important;
  }

  .header-top .logo img {
    width: 100% !important;
    max-width: 190px !important;  /* ÃƒÂ¢Ã…â€œÃ¢â‚¬Â¦ ta limite choisie */
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }
}

/* couleur du menu */

/* 1. Transition douce sur tous les liens du menu */
#top-menu .main-menu__tree__link {
  font-family: Palatino, "Palatino Linotype", "Book Antiqua", Georgia, serif;
  font-weight: 600;
  letter-spacing: 0.025em;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* 2. Jaune + texte blanc uniquement pour les LIENS PRINCIPAUX (niveau 1) */
#top-menu > li > a.main-menu__tree__link:hover,
#top-menu > li > a.main-menu__tree__link:focus,
#top-menu > li > a.main-menu__tree__link.active,
#top-menu > li > a.main-menu__tree__link[aria-current="page"] {
  background-color: #ffc107;
  color: #ffffff !important;
}

#top-menu li ul a.main-menu__tree__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 15px;
  border-radius: 4px;
  background-color: transparent;
  transition: background-color 0.3s ease, color 0.3s ease;
  width: 100%;
  min-width: 0;
  flex: 1;
}

/* Flèches des sous-menus à droite */
#top-menu li ul li:has(ul) > a.main-menu__tree__link::after {
  content: '→';
  margin-left: auto;
  padding-left: 10px;
  font-size: 1.2em;
}

#top-menu li ul li:hover > a.main-menu__tree__link {
    background-color: #ffc107;
    color: #ffffff !important;
}

/*
/* Masquer les quantitÃƒÆ’Ã‚Â©s sur page catÃƒÆ’Ã‚Â©gorie et page dÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢accueil */
body.page-category .js-decrement-button,
body.page-category .js-increment-button,
body.page-category input[name="qty"],
body.page-index .js-decrement-button,
body.page-index .js-increment-button,
body.page-index input[name="qty"] {
  display: none !important;
}



/* Forcer une largeur correcte au bouton sur toutes les pages */
@media screen and (min-width: 1200px) {
body.page-category .product-miniature .btn.btn-primary,
body.page-index .product-miniature .btn.btn-primary {
  width: 180px !important;
  display: block;
  margin: 0 auto;
}}

    
/* titre des miniature en plus gros */


.product-miniature .product-miniature__title {
    font-size: 1.1rem;
    margin-bottom: 1px;
}

    


/* ESPACER SUR MOBILE LES MINIATURE ET REDUIRE L ESPACE A L INTERIEUR  */

.product-miniature .product-miniature__infos__bottom {
    margin-bottom: 2rem;

}

.product-miniature .product-miniature__infos__bottom, .product-miniature .product-miniature__infos__top {

    padding: 0rem .5rem;
}


/* LOGO PLUS GRAND ET CENTRE */
    
  

    #header .top-logo img {
        width: 112%;
    max-height: 3rem !important;
    }


#header .logo {
    max-width: 100%;
    height: auto;
}
/* CSS ADDED CUSTOM */
.header-bottom .navbar-brand
{
    max-height: 120px;
    padding: 0;
    width: 100%;
}
.main-menu__tree > li > a
 {
    outline-offset: -.5rem;
    padding: 1rem 0.67rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Flèche à droite centrée verticalement */
.main-menu__tree > li > a::after {
    content: '';
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid currentColor;
    opacity: 0;
    transition: opacity 0.3s ease;
}

/* Afficher la flèche uniquement si sous-menu existe */
.main-menu__tree > li:has(.menu-container) > a::after {
    opacity: 1;
}

/* Cacher overflow des listes déroulantes */
.main-menu__tree {
    overflow: visible;
    flex-wrap: nowrap;
}

.main-menu__tree > li {
    flex: 0 1 auto;
    min-width: 0;
}

.menu-container {
    overflow: hidden;
    max-width: 100vw;
}

.menu-container ul {
    max-height: 80vh;
    overflow-y: auto;
    overflow-x: hidden;
}
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    /*--bs-gutter-x: 1.4rem;*/
    padding-top:2px;
}
.product-miniature .product-miniature__prices
 {
    display: inherit;
    text-align: center;
    align-items: flex-center;
}
.d-none.d-xl-block.position-static.js-menu-desktop
 {
    margin: 0 auto;
}
.header-block__badge {
    /* background: #c8a551 !important; */
  }


@media(min-width:770px) { 
    #search_widget form i {
    padding: 0;
}

i.material-icons.search.js-search-icon
 {
    width: 1.6em;
    height: 1.6em;
    background: #d2b974;
    color: #fffbfb !important;
    right: 0;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
  .header-bottom .navbar-brand {

    max-width: 400px;
  }
.user-info .header-block svg

 {
    width: 20px !important;
    height: 20px !important;
    margin-right: 5px;
}
.carousel .carousel-item img {

    width: 65%;
    height: 65%;
    text-align: center;
    margin: 0 auto;
    display: block;
}
.modal-content .carousel-item img {
  width:100%;
  height:100%;
}
}
@media(max-width:590px) {
.main-menu svg
 {
    /* background: #c8a551; */
    /* border-radius: 12px; */
    /* padding: 1px 0px 0 2px; */
}  
.ps_categorytree.category-tree.left-block
 {
    display: none;
}
.header-block__badge {
    top: 1px;
    right: -3px;
}
#header .logo {
        height: auto;
        margin-top: 3px;
        margin-left: 0.9rem;
}
.header-block__action-btn
 {
    padding: 0.25rem 0.15rem;
}
li.category {
    padding: 0.2rem 1.4rem;
}
li.category a:hover {
  font-weight:600;
  color:#000 !important;
}
li.category:hover {
  position: relative;
  overflow: hidden;
  color: black;
  background-color: #ffc107;
  transition: background-color 0.3s ease, color 0.3s ease;
  border-radius: 6px;
  cursor: pointer;
  z-index: 1;
}

/* Bande lumineuse effet "vague" */
li.category::before {
  content: '';
  position: absolute;
  top: 0;
  left: 100%; /* DÃ©marre hors de lâ€™Ã©lÃ©ment Ã  droite */
  width: 100%;
  background: linear-gradient(
    -120deg,
    transparent 0%,
    rgba(255, 255, 255, 0.4) 50%,
    transparent 100%
  );
  transform: skewX(-20deg);
  transition: left 0.5s ease;
  z-index: 2;
  pointer-events: none;
}

/* Animation au hover */
li.category:hover::before {
  left: -100%; /* Glisse vers la gauche */
}

.main-menu.col-xl.col-auto.d-flex.align-items-center
 {
    display: inline-block;
    width: 33px;
    position: absolute;
    top: 12px;
    left: 5px;
    
}
.user-info svg {
    margin-top: 2px;
}
    i.material-icons.search.js-search-icon {
        width: 1.6em;
        height: 1.6em;
        background: #EFD8B8;
        color: #020202!important;
        right: 0;
        border-radius: 12px
    }
i.material-icons.clear {
    position: absolute;
    right: 3rem;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: #999;
    font-size: 1.2rem;
    display: none;
}
.js-search-input:not(:placeholder-shown) ~ i.material-icons.clear {
    display: block;
}
.header__bottom #search_widget .search, .search__offcanvas #search_widget .search {
    right: 1px !important;
}
.header__bottom #search_widget input, .search__offcanvas #search_widget input {
    background: #f1f1f1;
    border-radius: 20px;
    height: 2.6rem;
    padding: 0.5rem 3rem 0.5rem 1rem;
    border: 1px solid #e0e0e0;
    transition: all 0.3s ease;
}
.header__bottom #search_widget input:focus, .search__offcanvas #search_widget input:focus {
    outline: none;
    border-color: #d4bd80;
    background: #fff;
}
div#_mobile_user_info {
    padding: 0 5px 0 0;
}
}

.main-menu.col-xl.col-auto.d-flex.align-items-center .material-icons
 {
    font-size: 25px;
}
.search__mobile.d-md-none.col-auto, #_mobile_user_info, #_mobile_cart
 {
    margin-top: 10px;
}
.offcanvas.offcanvas-top {
    top: auto;
}

.rich-text .h2, .rich-text h2,#category-description h2 {
    font-size: 1.1rem;
}
#category-description.truncated {
  display: -webkit-box;
  -webkit-line-clamp: 5; /* nombre de lignes visibles */
  -webkit-box-orient: vertical;
  overflow: hidden;
  position: relative;
}

.see-more-link {
  cursor: pointer;
  font-weight: bold;
  color: #007bff;
}
button#toggle-description {
    background: #414141;
    color: #fff;
    text-decoration: none;
    padding: 3px 15px !important;
    display: block;
    font-size: 15px;
    margin-bottom:10px;
}
button#toggle-description:hover {
      background: #ffe600;
      color:#000;
}
.offcanvas.offcanvas-start {
    width: 92%;
}
#search_widget form input {
    width: 99%;
    margin-left: 5px;
    border-radius: 20px;
    background: #f1f1f1;
    border: none;
    height: 2.6rem;
    padding: 0.5rem 2.8rem 0.5rem 1rem;
}

 /* retirer le TTC */
.product__tax-label {
  display: none !important;
}

/* COULEUR DU BOUTON AVIS */
.btn-outline-primary {
  color: #ffc107 !important;
  border-color: #ffc107 !important;
  background-color: transparent !important;
}

.btn-outline-primary:hover {
  color: #fff !important;
  background-color: #ffc107 !important;
  border-color: #ffc107 !important;
}
.all-product-link.btn i {
    color: #ffc107;
}


/* Marge Menu principal */
@media (min-width: 992px) {.main-menu {
  padding-left: 45px !important;
}
}


/* masquer l'image catÃ©gorie  */
  .category-cover {
    display: none !important;
  }

/* agrandir pagination mobile   */

@media (max-width: 768px) {
  .pagination .page-item .page-link {
    font-size: 1rem !important;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* NumÃ©ros de page : plus larges */
  .pagination .page-item:not(.previous):not(.next) .page-link {
    padding: 0.75rem 1rem !important;
    min-width: 44px;
    height: 44px;
    border-radius: 8px; /* forme douce mais pas ronde */
    margin: 0 4px;
  }

  /* Boutons gauche/droite : ronds */
  .pagination .page-item.previous .page-link,
  .pagination .page-item.next .page-link {
    width: 44px;
    height: 44px;
    padding: 0 !important;
    border-radius: 50%;
    margin: 0 8px;
  }

  .pagination {
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px;
  }
}



/* Nouveau prix en rouge */

/* Cible uniquement les produits avec rÃ©duction */
.product-miniature .product-miniature__prices:has(.product-miniature__regular-price) 
.product-miniature__price {
  background-color: #d60000;
  color: white !important;
  padding: 4px 8px;
  border-radius: 6px;
  display: inline-block;
}

/* Nouveau prix en rouge sur la fiche produit, uniquement si rÃ©duction prÃ©sente */
.product__prices:has(.product__discount) .product__current-price {
  background-color: #f44336;
  color: white !important;
  padding: 4px 8px;
  border-radius: 6px;
  display: inline-block;
}


/* Bloc autour des options de paiement */
.ps_checkout-payment-option {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 20px;
  background-color: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

/* Titre de mÃ©thode de paiement */
.ps_checkout-payment-option label {
  font-weight: bold;
  font-size: 1.15em;
  line-height: 1.4;
  margin-bottom: 10px;
  display: block;
}

/* IcÃ´nes de cartes */
.ps_checkout-payment-option img {
  vertical-align: middle;
  margin-right: 5px;
}

/* âœ… Checkbox bouton radio visuel + corrigÃ© */
.ps_checkout-payment-option input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid #e0c78c; /* couleur adoucie */
  background-color: white;
  position: relative;
  cursor: pointer;
  margin-right: 10px;
  vertical-align: middle;
  display: inline-block;
}

/* Rond intÃ©rieur centrÃ© */
.ps_checkout-payment-option input[type="radio"]::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #e0c78c;
  transition: transform 0.2s ease;
}

.ps_checkout-payment-option input[type="radio"]:checked::before {
  transform: translate(-50%, -50%) scale(1);
}



/* Style par dÃ©faut (desktop) : PAS centrÃ© */
button.continue.btn.btn-primary {
  padding: 12px 24px !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  text-align: center;
  justify-content: center;
  margin: 20px 0 0; /* â›”ï¸ SUPPRESSION du centrÃ© auto */
  width: auto;
  min-width: 260px;
  max-width: 100%;
}

/* Responsive : centrÃ© et large sur mobile */
@media (max-width: 768px) {
  button.continue.btn.btn-primary {
    width: 100% !important;
    min-width: 0;
    margin: 20px auto 0; /* âœ… centrÃ© uniquement sur mobile */
  }
}


/* Ajout flÃ¨che â†’ uniquement si le bouton ne la contient pas dÃ©jÃ  */
button.continue.btn.btn-primary:not(:has(> *:contains("â†’")))::after {
  content: 'â†’';
  font-size: 1.2em;
  margin-left: 6px;
  display: inline-block;
  transform: translateY(1px);
}




/* RÃ©duction et alignement des logos de carte (VISA, etc.) */
.ps_checkout-mark,
.paypal-mark {
  margin-left: auto;
  display: flex !important;
  align-items: center;
  gap: 6px;
}

.ps_checkout-mark img,
.paypal-mark img {
  max-height: 26px;
  height: auto;
  width: auto;
}


/* Agrandissement et espacement du bloc des conditions */
#conditions-to-approve {
  padding: 15px;
  border: 1px solid #f3e7d9;
  border-radius: 8px;
  background-color: #fffefc;
  margin-bottom: 20px;
}

/* Texte du label plus lisible */
.terms-form-check-label {
  font-size: 1.1em;
  line-height: 1.6;
  font-weight: 500;
  color: #444;
  padding-left: 8px;
}

/* Stylisation douce de la checkbox */
input[name="conditions_to_approve[terms-and-conditions]"] {
  width: 20px;
  height: 20px;
  accent-color: #d8b76a; /* Couleur dorÃ©e douce */
  cursor: pointer;
  transform: scale(1.2);
}

/* (Optionnel) survol */
#conditions-to-approve:hover {
  background-color: #fff9ef;
  transition: background-color 0.3s;
}



/* Style gÃ©nÃ©ral de chaque option de livraison */
.delivery-options__item {
  border: 2px solid transparent;
  border-radius: 10px;
  margin-bottom: 15px;
  padding: 10px 15px;
  background-color: #f8f9fa;
  transition: all 0.25s ease;
}

/* Effet hover */
.delivery-options__item:hover {
  border-color: #d4af37; /* dorÃ© doux */
  background-color: #fffdf4;
  cursor: pointer;
}

/* INPUT radio stylisÃ© (si navigateur le supporte) */
.delivery-options__item input[type="radio"] {
  accent-color: #d4af37; /* couleur dorÃ©e */
  width: 18px;
  height: 18px;
}

/* Effet de sÃ©lection active (BLEU harmonisÃ©) */
.delivery-options__item input[type="radio"]:checked ~ .delivery-option__left,
.delivery-options__item input[type="radio"]:checked ~ .delivery-option__center,
.delivery-options__item input[type="radio"]:checked ~ .delivery-option__right {
  background-color: #e9f3ff;
  border-radius: 8px;
  box-shadow: 0 0 8px rgba(0, 123, 255, 0.2);
  border: 2px solid #007bff;
}


/* Affiner un peu les textes */
.carrier-name {
  font-weight: bold;
  font-size: 16px;
  color: #212529;
}

.delivery-option__center,
.delivery-option__right {
  font-size: 15px;
  color: #333;
}

/* modif reda payplug */


img.flex-shrink-0.me-2 {
    order: 2;
}

span.d-flex.flex-wrap.gap-1.align-items-center.flex-grow-1 {
    font-weight: 700;
    font-size: 1.15em;
    line-height: 1.4;
}

input#payment-option-1 {
    /* appearance: none; */
    /* -webkit-appearance: none; */
    width: 20px;
    height: 20px;
    border-radius: 50%;
    /* border: 2px solid #e0c78c; */
    /* background-color: #fff; */
    position: relative;
    cursor: pointer;
    margin-right: 10px;
    /* vertical-align: middle; */
    display: inline-block;
}

div#payment-option-1-container {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 20px;
    background-color: #fff;
    box-shadow: 0 1px 3px rgb(0 0 0 / .04);
}


@media screen and (min-width: 992px) {
  .card-img,
  .card-img-bottom,
  .card-img-top {
    width: 95%;
  }
}

/*
@media (min-width: 992px) {
  .sticky-header,
  .header-sticky,
  .header--sticky,
  .sticky-header-wrapper,
  .header-fixed,
  header#header {
    position: static !important;
    top: auto !important;
    transform: none !important;
    z-index: auto !important;
  }
}
*/



/* === Bandeau d'information rouge, fixe et sans espace === */

.header__banner,
.header-top-wrapper {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

header.header {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* FIX : supprimer espace bandeau */
#top-info-bar {
  display: none !important;
}

header.header,
.header.sticky-top,
.header.fixed-top {
  top: 0 !important;
}

body {
  padding-top: 0 !important;
}

/* Styles pour l'effet de scroll du menu */
/* Header avec le logo - TOUJOURS AU-DESSUS */
@media (min-width: 992px) {
.header-bottom {
    position: relative; /* ou fixed selon votre cas */
    z-index: 1001; /* PLUS Ã‰LEVÃ‰ que le menu */
    background: white; /* Important pour cacher le menu */
}
}
/* Menu - PASSE EN DESSOUS */
.main-menu {
    position: fixed;
    background:#fff;
    width:100%;
    z-index: 1000; /* INFÃ‰RIEUR au header-bottom */
    transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.4s ease;
    will-change: transform, opacity;
}

.main-menu.menu-hidden {
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: none;
}

.main-menu.menu-visible {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}
.product-add-to-cart #ps-checkout-express-button div.paypal-buttons-context-iframe {
  
    width: 100% !important;
}
li.category.current {
    /*background: #ffc10745;*/
    font-weight:bold;
}
.main-menu__mobile .menu a {
 /* font-size:1.1rem;*/
}

.product-miniature .product-list-reviews {
    display: none;
}
@media only screen and (min-width: 500px) {
    iframe .paypal-button-row {
        height: 40px !important;
    }
  }
  
@media (max-width: 575.98px) {
    .modal-fullscreen-sm-down {
        height: 75%;
        max-width: none;
        width: 100vw;
        margin: 0;
        margin-top: 110px;
        padding: 10px;
    }
  
    .blockcart-modal__product img {
        margin-bottom: 1rem;
        width: 130px;
        display: inline-block;
    }
    div#blockcart-modal {
    margin-top: 30px;
    }
}
@media (min-width: 768px) {
#header {
box-shadow: 0px 11px 10px 0px rgb(247 247 247);
}
div#blockcart-modal {
    z-index: 99999;
    vertical-align: middle;
    margin: auto;
    margin-top: 180px;
}  
section.featured-products {
    margin-top: 30px;
}  
.page-product .product__add-to-cart .product-actions__button button {
    padding: 8px;
}
.quantity-button .input-group, .input-group>.form-control {
    height: 45px;
}
}

div#blockcart-modal {
    z-index: 99999;
}



.footer {
    --footer-background-color: #210c05;
   }

/* Test mobile: une seule carte produit par ligne */
@media screen and (max-width: 767.98px) {
  body.page-index #js-product-list .products.row,
  body.page-category #js-product-list .products.row,
  body.page-search #js-product-list .products.row,
  body.page-manufacturer #js-product-list .products.row,
  body.page-supplier #js-product-list .products.row,
  body.page-prices-drop #js-product-list .products.row,
  body.page-new-products #js-product-list .products.row,
  body.page-best-sales #js-product-list .products.row {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
  }

  body.page-index #js-product-list .products.row > [class*="col-"],
  body.page-category #js-product-list .products.row > [class*="col-"],
  body.page-search #js-product-list .products.row > [class*="col-"],
  body.page-manufacturer #js-product-list .products.row > [class*="col-"],
  body.page-supplier #js-product-list .products.row > [class*="col-"],
  body.page-prices-drop #js-product-list .products.row > [class*="col-"],
  body.page-new-products #js-product-list .products.row > [class*="col-"],
  body.page-best-sales #js-product-list .products.row > [class*="col-"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  #js-product-list .product-miniature {
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(33, 37, 41, 0.10);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(33, 37, 41, 0.06);
  }

  #js-product-list .product-miniature__image-container,
  #js-product-list .thumbnail-container {
    width: 100%;
    margin: 0 auto;
    background: #fff;
  }

  #js-product-list .product-miniature img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  #js-product-list .product-miniature__infos__top,
  #js-product-list .product-miniature__infos__bottom {
    padding-left: 0.9rem;
    padding-right: 0.9rem;
  }

  #js-product-list .product-miniature__title {
    font-size: 1.08rem;
    line-height: 1.35;
  }

  #js-product-list .product-miniature .btn.btn-primary {
    width: 100% !important;
    max-width: 320px;
    min-height: 44px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* MF v2.1 revision G: Fotorama restored and final readability adjustments. */
body.page-product .mf-product-fotorama {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border: 1px solid rgba(198, 162, 79, 0.2);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(53, 40, 57, 0.07);
}

body.page-product .mf-product-fotorama .fotorama__stage,
body.page-product .mf-product-fotorama .fotorama__stage__shaft,
body.page-product .mf-product-fotorama .fotorama__stage__frame {
  background: #fff;
}

body.page-product .mf-product-fotorama .fotorama__img {
  object-fit: contain;
}

body.page-product .mf-product-fotorama .fotorama__nav-wrap {
  padding: 0.45rem 0.35rem 0.35rem;
  background: linear-gradient(180deg, #fff 0%, #fffaf0 100%);
}

body.page-product .mf-product-fotorama .fotorama__thumb {
  border-radius: 5px;
  background: #fff;
}

body.page-product .mf-product-fotorama .fotorama__thumb-border {
  border-color: #c6a24f !important;
  border-radius: 5px;
  box-shadow: 0 0 0 1px rgba(198, 162, 79, 0.15);
}

body.page-product .mf-product-fotorama .fotorama__arr,
body.page-product .mf-product-fotorama .fotorama__fullscreen-icon {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  border: 0 !important;
  background-color: rgba(255, 255, 255, 0.82) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  box-shadow: 0 2px 7px rgba(30, 23, 31, 0.12) !important;
  backdrop-filter: blur(4px);
}

body.page-product .mf-product-fotorama .fotorama__arr {
  width: 38px !important;
  height: 44px !important;
  margin-top: -22px !important;
  border-radius: 8px !important;
  background-size: 26px 26px !important;
}

body.page-product .mf-product-fotorama .fotorama__arr--prev {
  left: 8px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16.5 4.5 8 12l8.5 7.5' fill='none' stroke='%232b252c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

body.page-product .mf-product-fotorama .fotorama__arr--next {
  right: 8px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7.5 4.5 8.5 7.5-8.5 7.5' fill='none' stroke='%232b252c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

body.page-product .mf-product-fotorama .fotorama__arr::before,
body.page-product .mf-product-fotorama .fotorama__fullscreen-icon::before {
  display: none !important;
  content: none !important;
}

body.page-product .mf-product-fotorama .fotorama__fullscreen-icon {
  top: 8px !important;
  right: 8px !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 7px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232b252c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-8 8M10 20H4v-6M4 20l8-8'/%3E%3C/svg%3E") !important;
  background-size: 24px 24px !important;
}

body.page-product .mf-gallery-hint {
  margin: 0.5rem 0 0;
  color: #80672f;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
}

body.page-product .mf-gallery-hint.is-hidden {
  display: none;
}

@media screen and (min-width: 1200px) {
  body.page-product .mf-product-fotorama .fotorama__stage {
    height: 420px !important;
  }

  body.page-product .product__name,
  body.page-product .product__prices,
  body.page-product .product__prices .prices__wrapper,
  body.page-product .product__prices .prices__wrapper > div {
    align-items: center !important;
    justify-content: center !important;
    text-align: center;
  }

  body.page-product .product__description-short {
    color: #5d555e;
    font-family: Inter, Arial, sans-serif;
    font-size: 1rem;
    font-style: normal;
    line-height: 1.55;
  }

  body.page-product .product__description-short h2,
  body.page-product .product__description-short h3 {
    color: #49394d;
    font-family: Inter, Arial, sans-serif;
    font-size: 1.08rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.4;
  }

  body.page-product .blockreassurance_product {
    gap: 0.8rem;
  }

  body.page-product .blockreassurance_product > div:not(.clearfix) {
    min-height: 166px;
    padding: 1rem 0.78rem 0.9rem;
  }

  body.page-product .blockreassurance_product .block-title {
    font-size: 0.98rem;
    line-height: 1.3 !important;
  }

  body.page-product .blockreassurance_product p:not(.block-title) {
    margin-top: 0.38rem;
    font-size: 0.86rem;
    line-height: 1.42;
  }

  body.page-category #wrapper > .container {
    width: min(94vw, 1420px);
    max-width: 1420px;
  }

  body.page-category #js-product-list .product-miniature__description {
    color: #655d66;
    font-family: Inter, Arial, sans-serif;
    font-size: 0.96rem;
    font-style: normal;
    line-height: 1.45;
  }

  body.page-category #js-product-list .product-miniature__quickview_button {
    min-width: 172px;
    min-height: 42px;
    padding: 0.48rem 0.9rem;
    border: 1px solid rgba(198, 162, 79, 0.34);
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.94);
    color: #49394d;
    box-shadow: 0 6px 18px rgba(43, 32, 46, 0.14);
    backdrop-filter: blur(9px);
  }

  body.page-category #js-product-list .product-miniature__quickview_button .material-icons {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    margin-right: 0.45rem;
    border-radius: 50%;
    background: #f7ecd5;
    color: #9b7930;
    font-size: 1rem;
  }

  body.page-category #js-product-list .product-miniature__quickview_button:hover,
  body.page-category #js-product-list .product-miniature__quickview_button:focus-visible {
    border-color: rgba(198, 162, 79, 0.62);
    background: #fffdf8;
    color: #3b2740;
    box-shadow: 0 8px 20px rgba(43, 32, 46, 0.18);
  }

  .header-top .header-top-desktop {
    min-height: 84px;
  }

  .header-top .header-top__brand,
  .header-top .header-top__brand .navbar-brand {
    height: 70px !important;
  }

  .header-top .header-top__brand {
    width: 385px !important;
  }

  #header .header-top .header-top__brand img.logo {
    max-width: 375px !important;
    max-height: 70px !important;
  }

  .header-top .header-top__left > a,
  .header-top .header-top__right .header-block__title {
    font-size: 1.07rem;
  }

  .header-top .header-top__left #search_widget .js-search-input {
    height: 46px;
    font-size: 1.04rem;
  }

  .header-top .header-top__right .header-block__action-btn svg {
    width: 23px;
    height: 23px;
  }
}

@media screen and (max-width: 767.98px) {
  body.page-product .mf-product-fotorama {
    border-width: 0;
    border-radius: 0;
    box-shadow: none;
  }

  body.page-product .mf-product-fotorama .fotorama__stage {
    min-height: 330px;
  }

  body.page-product .mf-product-fotorama .fotorama__arr {
    width: 34px !important;
    height: 40px !important;
    margin-top: -20px !important;
  }

  body.page-product .mf-gallery-hint {
    font-size: 0.82rem;
  }

  body.page-product .blockreassurance_product .block-title {
    font-size: 0.98rem;
  }

  body.page-product .blockreassurance_product p:not(.block-title) {
    font-size: 0.84rem;
  }
}

/* MF desktop compact header prototype (test site only). */
@media screen and (min-width: 768px) {
  .header-top .header-top-desktop {
    position: relative;
    min-height: 74px;
    align-items: center;
  }

  .header-top .header-top__brand {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 350px !important;
    max-width: 32vw !important;
    height: 62px !important;
    transform: translate(-50%, -50%);
  }

  .header-top .header-top__brand .navbar-brand {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    height: 62px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #header .header-top .header-top__brand img.logo {
    display: block !important;
    width: auto !important;
    max-width: 350px !important;
    height: auto !important;
    max-height: 62px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }

  .header-top .header-top__left,
  .header-top .header-top__right {
    position: relative;
    z-index: 3;
  }

  .header-top .header-top__left {
    display: flex;
    align-items: center;
  }

  .header-top .header-top__right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }

  .header-bottom > .header-bottom__container > .header-bottom__row {
    position: relative;
    min-height: 56px;
  }

}

/* Test mobile global product grid: une seule carte produit par ligne */
@media screen and (max-width: 767.98px) {
  .products.row {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
  }

  .products.row > .product-miniature,
  .products.row > .js-product-miniature {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* MF v2.1 desktop: category cards and a shorter product gallery. */
@media screen and (min-width: 1200px) {
  body.page-category #js-product-list .products.row {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1.25rem;
  }

  body.page-category #js-product-list .product-miniature > .card {
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(198, 162, 79, 0.28);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(52, 39, 18, 0.07);
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
  }

  body.page-category #js-product-list .product-miniature > .card:hover {
    border-color: rgba(198, 162, 79, 0.62);
    box-shadow: 0 10px 25px rgba(52, 39, 18, 0.12);
    transform: translateY(-3px);
  }

  body.page-category #js-product-list .product-miniature__image-container,
  body.page-category #js-product-list .thumbnail-container {
    width: 100%;
    aspect-ratio: 1 / 1;
    margin: 0;
    overflow: hidden;
    background: linear-gradient(180deg, #fff 0%, #fdfbf7 100%);
  }

  body.page-category #js-product-list .product-miniature__image-container .product-miniature__image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0.35rem;
  }

  body.page-category #js-product-list .product-miniature__infos.card-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 0.65rem 0.75rem 0.75rem;
  }

  body.page-category #js-product-list .product-miniature__title {
    display: -webkit-box;
    min-height: 2.5em;
    margin: 0 0 0.3rem;
    overflow: hidden;
    color: #67512a;
    font-size: 1rem;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  body.page-category #js-product-list .product-miniature__description {
    display: -webkit-box;
    min-height: 2.6em;
    margin-bottom: 0.45rem;
    overflow: hidden;
    color: #756f66;
    font-size: 0.84rem;
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  body.page-category #js-product-list .product-miniature__infos__bottom {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: flex-end;
    margin-bottom: 0 !important;
    padding: 0 !important;
  }

  body.page-category #js-product-list .product-miniature__prices {
    min-height: 2.1rem;
    margin-bottom: 0.4rem;
  }

  body.page-category #js-product-list .product-miniature__details-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 38px;
    padding: 0.48rem 0.9rem;
    border: 1px solid rgba(198, 162, 79, 0.55);
    border-radius: 999px;
    background: linear-gradient(135deg, #fffdf8 0%, #f5e8ca 100%);
    color: #684f20 !important;
    font-size: 0.9rem;
    font-weight: 650;
    line-height: 1;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 3px 10px rgba(124, 91, 29, 0.09);
    transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
  }

  body.page-category #js-product-list .product-miniature__details-link::after {
    content: "\203A";
    margin-left: 0.45rem;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 0;
  }

  body.page-category #js-product-list .product-miniature__details-link:hover,
  body.page-category #js-product-list .product-miniature__details-link:focus-visible {
    border-color: #c6a24f;
    background: linear-gradient(135deg, #fffaf0 0%, #ecd6a2 100%);
    box-shadow: 0 5px 14px rgba(124, 91, 29, 0.16);
  }

  body.page-category #js-product-list .product-miniature form {
    margin-top: 0.55rem !important;
  }

  body.page-category #js-product-list .product-miniature .quantity-button {
    display: none !important;
  }

  body.page-category #js-product-list .product-miniature .product-actions__button,
  body.page-category #js-product-list .product-miniature .product-actions__button .btn {
    width: 100% !important;
    max-width: none !important;
  }

  body.page-product .product__images > .js-product-carousel,
  body.page-product .product__images > .js-product-carousel .carousel-inner {
    height: clamp(350px, calc(100vh - 310px), 520px);
  }

  body.page-product .product__images > .js-product-carousel .carousel-item {
    width: 100%;
    height: 100%;
    background: #fff;
  }

  body.page-product .product__images > .js-product-carousel .carousel-item picture {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }

  body.page-product .product__images > .js-product-carousel .carousel-item img {
    display: block;
    width: 100% !important;
    max-width: 100%;
    height: 100% !important;
    max-height: 100%;
    margin: 0 auto;
    object-fit: contain;
  }

  body.page-product .product__images > .thumbnails__container {
    height: auto;
    margin-top: 0.45rem;
  }

  body.page-product .product__images > .thumbnails__container .thumbnails__list {
    height: auto;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
  }

  body.page-product .product__images > .thumbnails__container .thumbnail {
    flex: 0 0 88px;
    width: 88px;
    max-width: 88px;
    height: 88px;
  }

  body.page-product .product__images > .thumbnails__container .js-thumb {
    width: 80px;
    height: 80px;
    object-fit: contain;
  }
}

@media screen and (min-width: 1400px) {
  body.page-category #js-product-list .products.row > .product-miniature {
    flex: 0 0 20% !important;
    width: 20% !important;
    max-width: 20% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-category #js-product-list .product-miniature > .card,
  body.page-category #js-product-list .product-miniature__details-link {
    transition: none;
  }
}

/* MF v2.1 desktop revision B: calmer four-column fairy cards. */
.product-miniature__bag-plus {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 26px;
}

.product-miniature__bag-plus svg {
  display: block;
  width: 19px;
  height: 24px;
  fill: currentColor;
}

.product-miniature__bag-plus-sign {
  position: absolute;
  top: -2px;
  right: -2px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #fff;
  color: #427cd1;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

@media screen and (min-width: 1200px) {
  body.page-category #js-product-list .product-miniature > .card {
    border-color: rgba(198, 162, 79, 0.22);
    border-radius: 11px;
    box-shadow: 0 4px 15px rgba(49, 35, 15, 0.055);
  }

  body.page-category #js-product-list .product-miniature > .card:hover {
    border-color: rgba(198, 162, 79, 0.52);
    box-shadow: 0 9px 22px rgba(49, 35, 15, 0.105);
    transform: translateY(-2px);
  }

  body.page-category #js-product-list .product-miniature__image-container,
  body.page-category #js-product-list .thumbnail-container {
    height: 270px;
    aspect-ratio: auto;
    background: #fff;
  }

  body.page-category #js-product-list .product-miniature__infos.card-body {
    padding: 0.75rem 0.85rem 0.85rem;
    text-align: center;
  }

  body.page-category #js-product-list .product-miniature__infos__top,
  body.page-category #js-product-list .product-miniature__infos__bottom {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  body.page-category #js-product-list .product-miniature__title {
    min-height: 2.6em;
    margin-bottom: 0.38rem;
    color: #3c2b43;
    font-size: 1.02rem;
    font-weight: 650;
    line-height: 1.3;
    text-align: center;
  }

  body.page-category #js-product-list .product-miniature__description {
    min-height: 2.5em;
    margin-right: auto;
    margin-bottom: 0.55rem;
    margin-left: auto;
    color: #746d75;
    text-align: center;
  }

  body.page-category #js-product-list .product-miniature__prices {
    display: flex;
    align-items: baseline;
    justify-content: center;
    min-height: 2.2rem;
    margin-bottom: 0.5rem;
    gap: 0.45rem;
    text-align: center;
  }

  body.page-category #js-product-list .product-miniature__price {
    color: #2f2732;
    font-size: 1.08rem;
    font-weight: 700;
  }

  body.page-category #js-product-list .product-miniature__discount-price {
    display: inline-flex;
  }

  body.page-category #js-product-list .product-miniature__details-link {
    min-height: 40px;
    border-color: rgba(185, 144, 51, 0.58);
    border-radius: 8px;
    background: #fff;
    color: #6a5124 !important;
    font-size: 0.92rem;
    font-weight: 650;
    letter-spacing: 0.01em;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.75), 0 3px 9px rgba(102, 72, 20, 0.065);
  }

  body.page-category #js-product-list .product-miniature__details-link::before {
    content: "\2726";
    margin-right: 0.5rem;
    color: #c6a24f;
    font-size: 0.85rem;
  }

  body.page-category #js-product-list .product-miniature__details-link::after {
    content: none;
  }

  body.page-category #js-product-list .product-miniature__details-link:hover,
  body.page-category #js-product-list .product-miniature__details-link:focus-visible {
    border-color: #b99033;
    background: #fbf6ea;
    color: #4d3714 !important;
    box-shadow: 0 5px 13px rgba(102, 72, 20, 0.13);
  }

  body.page-category #js-product-list .product-miniature__quickview {
    top: 218px;
    right: auto;
    bottom: auto;
    left: 50%;
    z-index: 4;
    width: auto;
    height: auto;
    opacity: 0;
    pointer-events: none;
    transform: translateX(-50%) translateY(5px);
    transition: opacity 160ms ease, transform 160ms ease;
  }

  body.page-category #js-product-list .product-miniature > .card:hover .product-miniature__quickview,
  body.page-category #js-product-list .product-miniature__quickview:focus-within {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
  }

  body.page-category #js-product-list .product-miniature__quickview_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 150px;
    min-height: 38px;
    padding: 0.42rem 0.85rem;
    border: 1px solid rgba(198, 162, 79, 0.5);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #4b394f;
    font-size: 0.84rem;
    font-weight: 600;
    line-height: 1;
    box-shadow: 0 5px 16px rgba(31, 20, 35, 0.16);
    backdrop-filter: blur(5px);
  }

  body.page-category #js-product-list .product-miniature__quickview_button .material-icons {
    margin-right: 0.38rem;
    color: #b99033;
    font-size: 1.18rem;
  }

  body.page-category #js-product-list .product-miniature form {
    justify-content: center;
    margin-top: 0.6rem !important;
  }

  body.page-category #js-product-list .product-miniature [data-button-action="add-to-cart"] {
    min-height: 42px;
    border-radius: 8px;
  }
}

@media screen and (min-width: 1400px) {
  body.page-category #js-product-list .products.row > .product-miniature {
    flex: 0 0 25% !important;
    width: 25% !important;
    max-width: 25% !important;
  }
}

/* MF v2.1 desktop revision C: stronger hierarchy and fairy details. */
.product-miniature__bag-plus-sign {
  top: -4px;
  right: -5px;
  width: 16px;
  height: 16px;
  border: 2px solid #fff;
  background: #c6a24f;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 1px 3px rgba(35, 28, 39, 0.3);
}

@media screen and (min-width: 1200px) {
  body.page-category #js-product-list .product-miniature > .card {
    box-shadow: 0 5px 17px rgba(59, 39, 66, 0.075);
  }

  body.page-category #js-product-list .product-miniature__infos.card-body {
    border-top: 1px solid rgba(198, 162, 79, 0.18);
    background: linear-gradient(180deg, #fff 0%, #fffdf8 100%);
  }

  body.page-category #js-product-list .product-miniature__title {
    color: #3b2740;
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.28;
    letter-spacing: -0.01em;
  }

  body.page-category #js-product-list .product-miniature__description {
    color: #6d606c;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1rem;
    font-style: italic;
    line-height: 1.38;
  }

  body.page-category #js-product-list .product-miniature__price {
    font-size: 1.13rem;
  }

  body.page-category #js-product-list .product-miniature__details-link {
    min-height: 42px;
    background: linear-gradient(180deg, #fff 0%, #fffcf5 100%);
    font-size: 0.96rem;
  }

  body.page-category #js-product-list .product-miniature__quickview {
    top: -50px;
    height: 40px;
    padding: 0;
  }

  body.page-category #js-product-list .product-miniature__quickview_button {
    min-width: 170px;
    min-height: 40px;
    border-color: rgba(185, 144, 51, 0.82);
    background: rgba(255, 255, 255, 0.96);
    color: #49374d;
    font-size: 0.92rem;
    font-weight: 650;
    box-shadow: 0 4px 13px rgba(45, 31, 49, 0.16);
  }

  body.page-category #js-product-list .product-miniature__quickview_button .material-icons {
    color: #b68d34;
    font-size: 1.25rem;
  }
}

/* MF v2.1 desktop revision D: modern quick view and price label. */
.product-miniature__bag-plus-sign {
  top: 58%;
  right: auto;
  left: 50%;
  width: 10px;
  height: 10px;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 11px;
  line-height: 10px;
  box-shadow: none;
  transform: translate(-50%, -50%);
}

@media screen and (min-width: 1200px) {
  body.page-category #js-product-list .product-miniature__prices {
    min-height: 2.8rem;
  }

  body.page-category #js-product-list .product-miniature__price {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0.34rem 0.82rem;
    border: 1px solid rgba(198, 162, 79, 0.3);
    border-radius: 9px;
    background: linear-gradient(135deg, #fffaf0 0%, #f6ead0 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 3px 8px rgba(95, 68, 22, 0.08);
  }

  body.page-category #js-product-list .product-miniature__quickview {
    top: -52px;
    height: 42px;
  }

  body.page-category #js-product-list .product-miniature__quickview_button {
    min-width: 178px;
    min-height: 42px;
    padding: 0.55rem 1rem;
    border: 1px solid rgba(229, 202, 139, 0.68);
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(60, 39, 65, 0.94) 0%, rgba(91, 61, 91, 0.94) 100%);
    color: #fff;
    font-size: 0.93rem;
    letter-spacing: 0.01em;
    box-shadow: 0 6px 16px rgba(40, 26, 43, 0.24);
    backdrop-filter: blur(7px);
  }

  body.page-category #js-product-list .product-miniature__quickview_button .material-icons {
    color: #f0d799;
  }

  body.page-category #js-product-list .product-miniature__quickview_button:hover,
  body.page-category #js-product-list .product-miniature__quickview_button:focus-visible {
    border-color: #e5ca8b;
    background: linear-gradient(135deg, #4a304f 0%, #704b70 100%);
    color: #fff;
    box-shadow: 0 8px 20px rgba(40, 26, 43, 0.3);
  }
}

/* Smooth the desktop category-menu return after scrolling. */
@media screen and (min-width: 992px) {
  #header .main-menu {
    transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.4s ease !important;
    will-change: transform, opacity;
  }
}

/* MF v2.1: genuinely compact desktop cart rows. */
@media screen and (min-width: 768px) {
  body.page-cart .cart__item {
    padding: 0.65rem 0.8rem !important;
  }

  body.page-cart .product-line {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-height: 132px !important;
  }

  body.page-cart .product-line__image {
    position: absolute !important;
    top: 50%;
    left: 0;
    display: flex !important;
    width: 126px !important;
    min-height: 122px !important;
    margin: 0 !important;
    padding: 0.2rem;
    z-index: 1;
    transform: translateY(-50%);
  }

  body.page-cart .product-line__img {
    width: 100% !important;
    max-width: 122px !important;
    height: 118px !important;
  }

  body.page-cart .product-line__content {
    display: contents !important;
  }

  body.page-cart .product-line__content-left {
    position: absolute !important;
    top: 0;
    right: 300px !important;
    bottom: 0;
    left: 185px !important;
    inset-inline-start: 185px !important;
    inset-inline-end: 300px !important;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    gap: 0.25rem;
    min-width: 0;
    max-width: none !important;
    margin: 0 !important;
    z-index: 3;
  }

  body.page-cart .product-line__content-left .product-line__title {
    position: relative;
    z-index: 2;
    display: block;
    overflow: visible;
    white-space: normal;
  }

  body.page-cart .product-line__content-right {
    position: absolute !important;
    top: 50%;
    right: 96px;
    display: flex !important;
    width: 180px !important;
    height: auto !important;
    padding: 0 0.75rem;
    border-top: 0;
    border-left: 1px solid rgba(198, 162, 79, 0.16);
    transform: translateY(-50%);
  }

  body.page-cart .product-line__actions {
    position: absolute !important;
    top: 50%;
    right: 0;
    display: flex !important;
    width: 82px !important;
    justify-content: flex-end;
    margin: 0 !important;
    transform: translateY(-50%);
  }

  body.page-cart .product-line__actions .js-remove-from-cart {
    white-space: nowrap;
  }
}

/* MF v2.1: stronger fairy typography for navigation and product-card titles. */
@media screen and (min-width: 992px) {
  #top-menu > li > a.main-menu__tree__link {
    font-size: 1.14rem;
  }

  #contact-link > a,
  #_desktop_user_info .header-block__title,
  #_desktop_cart .header-block__title {
    font-size: 1.23rem;
  }
}

/* MF v2.1: restore the first, single-card category introduction. */
body.page-category #js-product-list-header #category-description {
  position: relative;
  display: block !important;
  max-width: 100%;
  margin: 0.9rem 0 0.7rem !important;
  padding: clamp(1rem, 1.7vw, 1.45rem) clamp(1.05rem, 2.2vw, 1.8rem) !important;
  border: 1px solid rgba(198, 162, 79, 0.25) !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 8% 12%, rgba(224, 197, 123, 0.18) 0 2px, transparent 3px),
    radial-gradient(circle at 93% 20%, rgba(171, 139, 186, 0.13) 0 3px, transparent 4px),
    linear-gradient(135deg, rgba(255, 253, 247, 0.98), rgba(252, 248, 255, 0.94)) !important;
  box-shadow: 0 10px 28px rgba(62, 45, 65, 0.065) !important;
  color: #554d57;
  font-size: 1.02rem;
  line-height: 1.7;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

body.page-category #js-product-list-header #category-description.truncated {
  display: -webkit-box !important;
  max-height: 15rem !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: unset !important;
}

body.page-category #category-description h2 {
  display: block;
  margin: 0 0 0.7rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #403443;
  font-family: inherit;
  font-size: 1.12rem !important;
  font-weight: 750;
  line-height: 1.4;
}

body.page-category #category-description h2::before {
  content: none !important;
}

body.page-category #category-description p,
body.page-category #category-description p:first-of-type,
body.page-category #category-description p:last-of-type:not(:first-of-type),
body.page-category #category-description p:only-of-type {
  display: block;
  margin: 0 0 0.7rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #554d57;
  font-size: 1.02rem;
  font-weight: 400;
  line-height: 1.7;
  text-align: left;
}

body.page-category #category-description p:last-child {
  margin-bottom: 0 !important;
}

body.page-category #category-description strong,
body.page-category #category-description b {
  color: #49384c;
  font-weight: 700;
}

/* MF v2.1: slightly larger illustrated subcategory tags. */
body.page-category #js-product-list-header #subcategories.subcategories {
  gap: 0.68rem;
}

body.page-category #subcategories a.subcategory {
  min-height: 54px;
  gap: 0.65rem;
  padding: 0.4rem 0.95rem 0.4rem 0.42rem !important;
}

body.page-category #subcategories .subcategory__image {
  flex-basis: 43px;
  width: 43px !important;
  height: 43px !important;
}

body.page-category #subcategories .subcategory__name {
  font-size: 0.98rem !important;
}

/* MF v2.1: rebalance the desktop utility row around the centered logo. */
@media screen and (min-width: 1200px) {
  .header-top .header-top__left #search_widget {
    width: 255px !important;
    max-width: 255px !important;
  }

  #contact-link > a,
  #_desktop_user_info .header-block__title,
  #_desktop_cart .header-block__title {
    font-size: 1.16rem !important;
  }

  #top-menu > li > a.main-menu__tree__link {
    font-weight: 700 !important;
    letter-spacing: 0.005em;
  }
}

@media screen and (max-width: 767.98px) {
  body.page-category #js-product-list-header #category-description {
    padding: 1rem !important;
    border-radius: 15px !important;
    font-size: 0.96rem;
  }

  body.page-category #subcategories a.subcategory {
    min-height: 49px;
  }

  body.page-category #subcategories .subcategory__image {
    flex-basis: 38px;
    width: 38px !important;
    height: 38px !important;
  }

  body.page-category #subcategories .subcategory__name {
    font-size: 0.94rem !important;
  }
}

/* MF v2.1 authoritative desktop menu geometry — keep this block last. */
@media screen and (min-width: 1200px) {
  #header .header-bottom .header-bottom__container {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-right: clamp(1rem, 2vw, 2rem) !important;
    padding-left: clamp(1rem, 2vw, 2rem) !important;
  }

  #header .header-bottom .header-bottom__row {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    justify-content: center !important;
  }

  #header .main-menu {
    right: auto !important;
    left: auto !important;
    display: flex !important;
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    justify-content: center !important;
  }

  #header .main-menu > .js-menu-desktop {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #top-menu {
    box-sizing: border-box !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: clamp(0.42rem, 0.62vw, 0.72rem) !important;
  }

  #top-menu > li {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  #top-menu > li > a.main-menu__tree__link {
    padding-right: 0.16rem !important;
    padding-left: 0.16rem !important;
    font-family: Palatino, "Palatino Linotype", "Book Antiqua", Georgia, serif !important;
    font-size: 0.96rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.012em !important;
    white-space: nowrap !important;
  }
}

/* MF v2.1: structured editorial category copy (legacy category template). */
body.page-category #js-product-list-header #category-description {
  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.5fr);
  gap: 0.72rem;
  max-width: 100%;
  margin: 0.9rem 0 0.75rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  color: #554d57;
  overflow: visible;
}

body.page-category #js-product-list-header #category-description.truncated {
  display: grid !important;
  max-height: 236px;
  overflow: hidden;
  -webkit-box-orient: initial;
  -webkit-line-clamp: initial;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 82%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 82%, transparent 100%);
}

body.page-category #category-description h2 {
  position: relative;
  grid-column: 1 / -1;
  margin: 0 !important;
  padding: 1rem 1.25rem 1rem 3.2rem;
  overflow: hidden;
  border: 1px solid rgba(198, 162, 79, 0.24);
  border-radius: 18px;
  background:
    radial-gradient(circle at 94% 20%, rgba(181, 151, 196, 0.18), transparent 22%),
    linear-gradient(125deg, #fff9ec 0%, #fcf8ff 72%, #fff 100%);
  color: #47384a;
  font-family: Inter, system-ui, sans-serif;
  font-size: clamp(1.12rem, 1.35vw, 1.38rem) !important;
  font-weight: 750;
  line-height: 1.3;
  box-shadow: 0 8px 24px rgba(61, 45, 64, 0.06);
}

body.page-category #category-description h2::before {
  position: absolute;
  top: 50%;
  left: 1.2rem;
  color: #c39b3d;
  content: "✦";
  font-size: 1.25rem;
  transform: translateY(-50%);
}

body.page-category #category-description p {
  min-width: 0;
  margin: 0 !important;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(102, 82, 108, 0.12);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.94);
  color: #5c555e;
  font-size: 1rem;
  line-height: 1.62;
  box-shadow: 0 6px 18px rgba(61, 45, 64, 0.045);
}

body.page-category #category-description p:first-of-type {
  border-color: rgba(198, 162, 79, 0.2);
  background: linear-gradient(145deg, #fffdf7, #fff9ed);
  color: #493e4b;
  font-size: 1.03rem;
}

body.page-category #category-description p:last-of-type:not(:first-of-type) {
  grid-column: 1 / -1;
  padding: 0.72rem 1rem;
  border-color: rgba(198, 162, 79, 0.2);
  background: linear-gradient(90deg, rgba(255, 249, 235, 0.86), rgba(250, 246, 255, 0.82));
  color: #655431;
  font-weight: 650;
  text-align: center;
}

body.page-category #category-description p:only-of-type {
  grid-column: 1 / -1;
}

/* MF v2.1: actual legacy subcategories become compact illustrated tags. */
body.page-category #js-product-list-header #subcategories.subcategories {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.58rem;
  margin: 0 0 1.45rem !important;
  padding: 0.1rem 0 0.25rem;
}

body.page-category #subcategories .subcategory__wrapper {
  flex: 0 1 auto !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

body.page-category #subcategories a.subcategory {
  display: inline-flex !important;
  align-items: center;
  gap: 0.55rem;
  min-height: 48px;
  margin: 0 !important;
  padding: 0.35rem 0.82rem 0.35rem 0.38rem !important;
  border: 1px solid rgba(103, 84, 109, 0.17) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.95) !important;
  color: #514653 !important;
  box-shadow: 0 4px 13px rgba(61, 45, 64, 0.045);
  text-decoration: none;
  transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease;
}

body.page-category #subcategories a.subcategory:hover,
body.page-category #subcategories a.subcategory:focus-visible {
  border-color: rgba(198, 162, 79, 0.42) !important;
  background: linear-gradient(135deg, #fff9e9, #faf6ff) !important;
  color: #745a28 !important;
  box-shadow: 0 7px 18px rgba(61, 45, 64, 0.075);
  transform: translateY(-1px);
}

body.page-category #subcategories .subcategory__image {
  display: grid;
  flex: 0 0 38px;
  width: 38px !important;
  height: 38px !important;
  overflow: hidden;
  place-items: center;
  border-radius: 50% !important;
  background: #fff;
}

body.page-category #subcategories .subcategory__image img {
  width: 100% !important;
  height: 100% !important;
  border-radius: inherit;
  object-fit: contain !important;
}

body.page-category #subcategories .subcategory__name {
  width: auto !important;
  margin: 0 !important;
  color: inherit !important;
  font-size: 0.91rem !important;
  font-weight: 680;
  line-height: 1.18;
  white-space: nowrap;
}

@media screen and (max-width: 767.98px) {
  body.page-category #js-product-list-header #category-description,
  body.page-category #js-product-list-header #category-description.truncated {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.58rem;
  }

  body.page-category #js-product-list-header #category-description.truncated {
    max-height: 13rem !important;
  }

  body.page-category #js-product-list-header #category-description.truncated {
    max-height: 285px;
  }

  body.page-category #category-description h2,
  body.page-category #category-description p,
  body.page-category #category-description p:last-of-type:not(:first-of-type) {
    grid-column: 1;
  }

  body.page-category #category-description h2 {
    padding: 0.85rem 0.95rem 0.85rem 2.65rem;
    border-radius: 15px;
  }

  body.page-category #category-description h2::before {
    left: 0.95rem;
  }

  body.page-category #category-description p {
    padding: 0.85rem 0.9rem;
    border-radius: 13px;
    font-size: 0.95rem;
  }

  body.page-category #js-product-list-header #subcategories.subcategories {
    flex-wrap: nowrap;
    margin-right: calc(var(--bs-gutter-x) * -0.5) !important;
    margin-left: calc(var(--bs-gutter-x) * -0.5) !important;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-bottom: 0.65rem;
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  body.page-category #subcategories::-webkit-scrollbar {
    display: none;
  }

  body.page-category #subcategories .subcategory__wrapper {
    flex: 0 0 auto !important;
    scroll-snap-align: start;
  }

  body.page-category #subcategories a.subcategory {
    min-height: 45px;
  }

  body.page-category #subcategories .subcategory__image {
    flex-basis: 34px;
    width: 34px !important;
    height: 34px !important;
  }
}

:is(
  body.page-category #js-product-list,
  body.page-new-products #js-product-list,
  body.page-best-sales #js-product-list,
  body#index .ps-featuredproducts,
  body#index .ps-bestsellers,
  body#index .ps-newproducts,
  body#index .featured-products,
  body#index .best-sellers-products,
  body#index .new-products
) .product-miniature__title {
  color: #443047 !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 1.08rem !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
  letter-spacing: normal;
}

:is(
  body.page-category #js-product-list,
  body.page-new-products #js-product-list,
  body.page-best-sales #js-product-list,
  body#index .ps-featuredproducts,
  body#index .ps-bestsellers,
  body#index .ps-newproducts,
  body#index .featured-products,
  body#index .best-sellers-products,
  body#index .new-products
) .product-miniature__title a {
  color: inherit !important;
  font-family: inherit !important;
}

:is(
  body.page-category #js-product-list,
  body.page-new-products #js-product-list,
  body.page-best-sales #js-product-list,
  body#index .ps-featuredproducts,
  body#index .ps-bestsellers,
  body#index .ps-newproducts,
  body#index .featured-products,
  body#index .best-sellers-products,
  body#index .new-products
) .product-miniature__title:hover {
  color: #8b6b2d !important;
}

/* Keep the established red presentation for discounted prices. */
@media screen and (min-width: 1200px) {
  body.page-category #js-product-list .product-miniature__prices:has(.product-miniature__regular-price) .product-miniature__price {
    min-height: auto;
    padding: 4px 8px;
    border: 0;
    border-radius: 6px;
    background: #d60000;
    color: #fff !important;
    box-shadow: none;
  }
}

/* MF v2.1 desktop revision E: softer quick-view treatment. */
@media screen and (min-width: 1200px) {
  body.page-category #js-product-list .product-miniature__quickview_button {
    border-color: rgba(190, 153, 69, 0.52);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(255, 253, 248, 0.97) 0%, rgba(248, 240, 224, 0.97) 100%);
    color: #58485c;
    box-shadow: 0 4px 12px rgba(61, 43, 64, 0.13);
  }

  body.page-category #js-product-list .product-miniature__quickview_button .material-icons {
    color: #b99033;
  }

  body.page-category #js-product-list .product-miniature__quickview_button:hover,
  body.page-category #js-product-list .product-miniature__quickview_button:focus-visible {
    border-color: rgba(176, 135, 43, 0.7);
    background: linear-gradient(135deg, #fffdf8 0%, #f4e6c9 100%);
    color: #443448;
    box-shadow: 0 5px 14px rgba(61, 43, 64, 0.17);
  }
}

/* MF v2.1 desktop product page: Ange Paradis-inspired rhythm, Hummingbird-native. */
@media screen and (min-width: 1200px) {
  body.page-product .product.js-product-container {
    max-width: 1220px;
    margin-right: auto;
    margin-left: auto;
    align-items: flex-start;
    --bs-gutter-x: 2.5rem;
  }

  body.page-product .product__left {
    flex: 0 0 48%;
    width: 48%;
    max-width: 48%;
  }

  body.page-product .product__col {
    flex: 0 0 52%;
    width: 52%;
    max-width: 52%;
    padding: 1.65rem 1.8rem;
    border: 1px solid rgba(198, 162, 79, 0.24);
    border-radius: 14px;
    background: linear-gradient(180deg, #fff 0%, #fffdf8 100%);
    box-shadow: 0 7px 22px rgba(55, 39, 59, 0.07);
  }

  body.page-product .product__images {
    max-width: 430px;
    margin-right: auto;
    margin-left: auto;
  }

  body.page-product .product__images > .js-product-carousel,
  body.page-product .product__images > .js-product-carousel .carousel-inner {
    width: 100%;
    height: 420px;
    overflow: hidden;
    border-radius: 12px;
    background: #fff;
  }

  body.page-product .product__images > .js-product-carousel {
    border: 1px solid rgba(198, 162, 79, 0.2);
    box-shadow: 0 5px 18px rgba(53, 40, 57, 0.07);
  }

  body.page-product .product__images > .js-product-carousel .carousel-item img {
    padding: 0.65rem;
  }

  body.page-product .product__images > .thumbnails__container {
    max-width: 430px;
    margin-top: 0.65rem;
  }

  body.page-product .product__images > .thumbnails__container .thumbnail {
    flex: 0 0 74px;
    width: 74px;
    max-width: 74px;
    height: 74px;
  }

  body.page-product .product__images > .thumbnails__container .js-thumb {
    width: 66px;
    height: 66px;
  }

  body.page-product .product__name {
    margin-bottom: 1rem;
    color: #3b2740;
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1.22;
    letter-spacing: -0.015em;
  }

  body.page-product .product__prices .prices__wrapper {
    margin-bottom: 1rem !important;
    gap: 0.35rem !important;
  }

  body.page-product .product__current-price {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0.38rem 0.9rem;
    border: 1px solid rgba(198, 162, 79, 0.32);
    border-radius: 9px;
    background: linear-gradient(135deg, #fffaf0 0%, #f6ead0 100%);
    color: #3c303d;
    font-size: 1.55rem;
    font-weight: 700;
    box-shadow: 0 3px 9px rgba(95, 68, 22, 0.08);
  }

  body.page-product .product__tax-info {
    color: #827a82;
    font-size: 0.78rem;
  }

  body.page-product .product__description-short {
    margin-bottom: 1.35rem;
    color: #655965;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.06rem;
    font-style: italic;
    line-height: 1.5;
  }

  body.page-product .product__actions {
    padding-top: 1.15rem;
    border-top: 1px solid rgba(198, 162, 79, 0.2);
  }

  body.page-product .product-add-to-cart .add-to-cart {
    min-height: 48px;
  }

  body.page-product .product-add-to-cart .add-to-cart {
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    box-shadow: 0 5px 13px rgba(66, 124, 209, 0.18);
  }
}

/* MF v2.1 desktop: slightly larger top header row only. */
@media screen and (min-width: 1200px) {
  .header-top .header-top-desktop {
    min-height: 80px;
  }

  .header-top .header-top__brand {
    width: 370px !important;
    max-width: 33vw !important;
    height: 66px !important;
  }

  .header-top .header-top__brand .navbar-brand {
    height: 66px !important;
  }

  #header .header-top .header-top__brand img.logo {
    max-width: 360px !important;
    max-height: 66px !important;
  }

  .header-top .header-top__left > a,
  .header-top .header-top__right .header-block__title {
    font-size: 1.04rem;
  }

  .header-top .header-top__left #search_widget {
    width: 285px !important;
    max-width: 285px !important;
  }

  .header-top .header-top__left #search_widget .js-search-input {
    width: 100% !important;
    height: 44px;
    margin-left: 0;
    padding-right: 52px;
    padding-left: 18px;
    border-radius: 22px;
    font-size: 1.02rem;
  }

  .header-top .header-top__left #search_widget .js-search-icon {
    width: 40px;
    height: 40px;
    border-radius: 16px;
    font-size: 25px;
  }

  .header-top .header-top__right .header-block__action-btn svg {
    width: 22px;
    height: 22px;
  }
}

/* MF v2.1 desktop revision F: quick view aligned with the card design. */
@media screen and (min-width: 1200px) {
  body.page-category #js-product-list .product-miniature__quickview {
    top: -48px;
    height: 38px;
  }

  body.page-category #js-product-list .product-miniature__quickview_button {
    min-width: 164px;
    min-height: 38px;
    padding: 0.46rem 0.9rem;
    border: 1px solid rgba(198, 162, 79, 0.45);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.93);
    color: #49384d;
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0;
    box-shadow: 0 3px 10px rgba(48, 35, 51, 0.12);
    backdrop-filter: blur(8px);
  }

  body.page-category #js-product-list .product-miniature__quickview_button .material-icons {
    color: #9b7930;
    font-size: 1.18rem;
  }

  body.page-category #js-product-list .product-miniature__quickview_button:hover,
  body.page-category #js-product-list .product-miniature__quickview_button:focus-visible {
    border-color: #c6a24f;
    background: #fff;
    color: #3b2740;
    box-shadow: 0 4px 12px rgba(48, 35, 51, 0.15);
  }
}

/* MF v2.1 product reassurance: elegant trust cards, module markup preserved. */
body.page-product .blockreassurance_product {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
  width: 100%;
  margin-top: 1.35rem;
}

body.page-product .blockreassurance_product > div:not(.clearfix) {
  display: grid;
  grid-template-rows: 48px auto 1fr;
  align-items: start;
  min-width: 0;
  min-height: 148px;
  padding: 0.9rem 0.65rem 0.8rem;
  overflow: hidden;
  border: 1px solid rgba(198, 162, 79, 0.27);
  border-radius: 12px;
  background: linear-gradient(155deg, #fff 0%, #fffaf0 100%);
  text-align: center;
  box-shadow: 0 4px 13px rgba(55, 39, 59, 0.055);
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

body.page-product .blockreassurance_product > div:not(.clearfix):hover {
  border-color: rgba(198, 162, 79, 0.48);
  box-shadow: 0 7px 17px rgba(55, 39, 59, 0.09);
  transform: translateY(-2px);
}

body.page-product .blockreassurance_product .item-product {
  display: flex;
  float: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0 auto 0.35rem;
  padding: 0.48rem;
  border: 1px solid rgba(198, 162, 79, 0.22);
  border-radius: 50%;
  background: #f7ecd5;
}

body.page-product .blockreassurance_product .item-product img,
body.page-product .blockreassurance_product .item-product svg {
  display: block;
  width: 28px !important;
  height: 28px !important;
  max-width: 100%;
  max-height: 100%;
}

body.page-product .blockreassurance_product .block-title {
  display: block;
  margin: 0.15rem 0 0;
  color: #3b2740 !important;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.28 !important;
}

body.page-product .blockreassurance_product p:not(.block-title) {
  margin: 0.28rem 0 0;
  color: #746a74 !important;
  font-size: 0.76rem;
  line-height: 1.38;
}

body.page-product .blockreassurance_product > .clearfix {
  display: none;
}

@media screen and (min-width: 768px) and (max-width: 1199.98px) {
  body.page-product .blockreassurance_product {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.page-product .blockreassurance_product > div:not(.clearfix) {
    min-height: 142px;
  }
}

/* MF v2.1: softer, fairy-inspired cart presentation. */
body.page-cart .cart-grid {
  --bs-gutter-x: clamp(1.25rem, 2.4vw, 2.5rem);
  padding-top: 0.8rem;
}

body.page-cart .cart-grid__content .page-title,
body.page-cart .cart-grid__content h1,
body.page-cart .cart-grid__aside-wrapper > h2 {
  color: #3b2e3e;
  font-family: Palatino, "Palatino Linotype", "Book Antiqua", Georgia, serif;
  font-weight: 600;
}

body.page-cart .cart-grid__content .page-title,
body.page-cart .cart-grid__content h1 {
  margin-bottom: 1.1rem;
}

body.page-cart .cart__overview {
  display: grid;
  gap: 0.9rem;
}

body.page-cart .cart__item {
  margin: 0 !important;
  padding: 1rem 1.1rem !important;
  overflow: hidden;
  border: 1px solid rgba(198, 162, 79, 0.25) !important;
  border-radius: 15px;
  background: linear-gradient(150deg, #fff 0%, #fffaf1 100%);
  box-shadow: 0 6px 18px rgba(61, 43, 64, 0.055);
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

body.page-cart .cart__item:hover {
  border-color: rgba(198, 162, 79, 0.42) !important;
  box-shadow: 0 9px 24px rgba(61, 43, 64, 0.085);
  transform: translateY(-1px);
}

body.page-cart .product-line__image {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 132px;
  padding: 0.45rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.82);
}

body.page-cart .product-line__img {
  display: block;
  width: 100%;
  max-width: 145px;
  height: 132px;
  margin: auto;
  object-fit: contain;
}

body.page-cart .product-line__title {
  color: #3f3042;
  font-size: 1.03rem;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
}

body.page-cart .product-line__title:hover,
body.page-cart .product-line__title:focus-visible {
  color: #876a2d;
}

body.page-cart .product-line__item--prices {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.38rem;
  margin-top: 0.55rem;
}

body.page-cart .product-line__item-price,
body.page-cart .product-line__price {
  color: #302832;
  font-weight: 700;
}

body.page-cart .product-line__item-price {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0.25rem 0.65rem;
  border: 1px solid rgba(198, 162, 79, 0.26);
  border-radius: 9px;
  background: linear-gradient(135deg, #fffaf0 0%, #f7ebd2 100%);
}

body.page-cart .product-line__item-regular-price {
  color: #817b82;
  font-size: 0.92rem;
}

body.page-cart .product-line__quantity-button {
  overflow: hidden;
  border-radius: 9px;
  box-shadow: 0 3px 10px rgba(56, 42, 58, 0.055);
}

body.page-cart .product-line__actions .js-remove-from-cart {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0.3rem 0.72rem;
  border: 1px solid rgba(185, 144, 51, 0.36);
  border-radius: 9px;
  color: #806426;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease;
}

body.page-cart .product-line__actions .js-remove-from-cart:hover,
body.page-cart .product-line__actions .js-remove-from-cart:focus-visible {
  border-color: rgba(185, 144, 51, 0.6);
  background: #fff8e9;
  color: #503b20;
}

body.page-cart .cart__continue-shopping {
  margin-top: 1rem;
  border-color: rgba(185, 144, 51, 0.48);
  border-radius: 10px;
  background: #fffdf8;
  color: #745a27;
  box-shadow: 0 4px 12px rgba(83, 59, 27, 0.055);
}

body.page-cart .cart-grid__aside-wrapper {
  padding: 1.25rem;
  border: 1px solid rgba(198, 162, 79, 0.26);
  border-radius: 16px;
  background: linear-gradient(155deg, #fff 0%, #fffaf0 100%);
  box-shadow: 0 9px 26px rgba(55, 39, 59, 0.075);
}

body.page-cart .cart-grid__aside-wrapper > h2 {
  position: relative;
  margin-bottom: 1.2rem;
  padding-bottom: 0.8rem;
  text-align: center;
}

body.page-cart .cart-grid__aside-wrapper > h2::after {
  display: block;
  width: 62px;
  height: 2px;
  margin: 0.65rem auto 0;
  border-radius: 2px;
  background: linear-gradient(90deg, transparent, #c9a84f, transparent);
  content: "";
}

body.page-cart .cart-summary__line {
  padding: 0.48rem 0;
}

body.page-cart .cart-summary__total {
  margin-top: 0.45rem;
  padding: 0.65rem 0.8rem;
  border: 1px solid rgba(198, 162, 79, 0.2);
  border-radius: 10px;
  background: rgba(247, 235, 210, 0.48);
}

body.page-cart .cart-summary__actions .btn-primary,
body.page-cart .checkout .btn-primary {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  border-radius: 11px;
  background: linear-gradient(135deg, #477fce 0%, #376fc2 65%, #65508d 145%);
  box-shadow: 0 7px 17px rgba(55, 103, 178, 0.2);
  color: #fff;
  font-size: 1.1rem;
  font-weight: 650;
  line-height: 1.15;
  text-align: center;
  transition: background 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

body.page-cart .cart-summary__actions .btn-primary:hover,
body.page-cart .cart-summary__actions .btn-primary:focus-visible,
body.page-cart .checkout .btn-primary:hover,
body.page-cart .checkout .btn-primary:focus-visible {
  border-color: #224f91;
  background: linear-gradient(135deg, #326bbd 0%, #245596 100%);
  color: #fff;
  box-shadow: 0 9px 22px rgba(55, 103, 178, 0.28);
  transform: translateY(-1px);
}

@media screen and (min-width: 992px) {
  body.page-cart .cart-grid__aside-wrapper {
    position: sticky;
    top: 1rem;
  }
}

@media screen and (max-width: 991.98px) {
  body.page-cart .cart-grid__aside-wrapper {
    margin-top: 1.5rem;
  }
}

@media screen and (max-width: 575.98px) {
  body.page-cart .cart__overview {
    gap: 0.7rem;
  }

  body.page-cart .cart__item {
    padding: 0.75rem !important;
    border-radius: 13px;
  }

  body.page-cart .product-line__image {
    min-height: 100px;
    padding: 0.25rem;
  }

  body.page-cart .product-line__img {
    max-width: 105px;
    height: 100px;
  }

  body.page-cart .product-line__title {
    font-size: 0.98rem;
  }

  body.page-cart .cart-grid__aside-wrapper {
    padding: 1rem;
    border-radius: 14px;
  }
}

@media screen and (max-width: 767.98px) {
  body.page-product .blockreassurance_product {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.6rem;
    margin-top: 1.15rem;
  }

  body.page-product .blockreassurance_product > div:not(.clearfix) {
    grid-template-columns: 46px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 0.8rem;
    min-height: 0;
    padding: 0.78rem 0.9rem;
    border-radius: 11px;
    text-align: left;
  }

  body.page-product .blockreassurance_product > div:not(.clearfix):hover {
    transform: none;
  }

  body.page-product .blockreassurance_product .item-product {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: center;
    width: 44px;
    height: 44px;
    margin: 0;
  }

  body.page-product .blockreassurance_product .block-title {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    margin: 0;
    font-size: 0.92rem;
  }

  body.page-product .blockreassurance_product p:not(.block-title) {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin-top: 0.15rem;
    font-size: 0.79rem;
  }
}

/* MF v2.1 revision H: final cascade overrides for the requested refinements. */
@media screen and (min-width: 1200px) {
  body.page-product .product__name {
    text-align: center;
  }

  body.page-product .product__prices,
  body.page-product .product__prices .prices__wrapper,
  body.page-product .product__prices .prices__wrapper > div {
    align-items: center !important;
    justify-content: center !important;
    text-align: center;
  }

  body.page-product .product__description-short,
  body.page-product .product__description-short p {
    color: #5d555e;
    font-family: Inter, Arial, sans-serif;
    font-size: 1rem;
    font-style: normal;
    line-height: 1.55;
  }

  body.page-product .product__description-short h2,
  body.page-product .product__description-short h3 {
    color: #49394d;
    font-family: Inter, Arial, sans-serif;
    font-size: 1.08rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.4;
  }

  body.page-product .blockreassurance_product {
    gap: 0.8rem;
  }

  body.page-product .blockreassurance_product > div:not(.clearfix) {
    min-height: 166px;
    padding: 1rem 0.78rem 0.9rem;
  }

  body.page-product .blockreassurance_product .block-title {
    font-size: 0.98rem;
    line-height: 1.3 !important;
  }

  body.page-product .blockreassurance_product p:not(.block-title) {
    margin-top: 0.38rem;
    font-size: 0.86rem;
    line-height: 1.42;
  }

  body.page-category #wrapper > .container {
    width: min(94vw, 1420px);
    max-width: 1420px;
  }

  body.page-category #js-product-list .product-miniature__description {
    color: #655d66;
    font-family: Inter, Arial, sans-serif;
    font-size: 0.96rem;
    font-style: normal;
    line-height: 1.45;
  }

  body.page-category #js-product-list .product-miniature__quickview_button {
    min-width: 172px;
    min-height: 42px;
    padding: 0.48rem 0.9rem;
    border: 1px solid rgba(198, 162, 79, 0.34);
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.94);
    color: #49394d;
    box-shadow: 0 6px 18px rgba(43, 32, 46, 0.14);
    backdrop-filter: blur(9px);
  }

  body.page-category #js-product-list .product-miniature__quickview_button .material-icons {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    margin-right: 0.45rem;
    border-radius: 50%;
    background: #f7ecd5;
    color: #9b7930;
    font-size: 1rem;
  }

  body.page-category #js-product-list .product-miniature__quickview_button:hover,
  body.page-category #js-product-list .product-miniature__quickview_button:focus-visible {
    border-color: rgba(198, 162, 79, 0.62);
    background: #fffdf8;
    color: #3b2740;
    box-shadow: 0 8px 20px rgba(43, 32, 46, 0.18);
  }

  .header-top .header-top-desktop {
    min-height: 84px;
  }

  .header-top .header-top__brand,
  .header-top .header-top__brand .navbar-brand {
    height: 70px !important;
  }

  .header-top .header-top__brand {
    width: 385px !important;
  }

  #header .header-top .header-top__brand img.logo {
    max-width: 375px !important;
    max-height: 70px !important;
  }

  .header-top .header-top__left > a,
  .header-top .header-top__right .header-block__title {
    font-size: 1.07rem;
  }

  .header-top .header-top__left #search_widget .js-search-input {
    height: 46px;
    font-size: 1.04rem;
  }

  .header-top .header-top__right .header-block__action-btn svg {
    width: 23px;
    height: 23px;
  }
}

@media screen and (max-width: 767.98px) {
  body.page-product .blockreassurance_product .block-title {
    font-size: 0.98rem;
  }

  body.page-product .blockreassurance_product p:not(.block-title) {
    font-size: 0.84rem;
  }
}

/* MF v2.1 revision I: larger desktop reassurance rows. */
@media screen and (min-width: 1200px) {
  body.page-product .blockreassurance_product {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.65rem;
  }

  body.page-product .blockreassurance_product > div:not(.clearfix) {
    grid-template-columns: 52px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 0.9rem;
    min-height: 82px;
    padding: 0.78rem 1rem;
    text-align: left;
  }

  body.page-product .blockreassurance_product .item-product {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: center;
    width: 48px;
    height: 48px;
    margin: 0;
  }

  body.page-product .blockreassurance_product .block-title {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    margin: 0;
    font-size: 1.02rem;
  }

  body.page-product .blockreassurance_product p:not(.block-title) {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin-top: 0.18rem;
    font-size: 0.91rem;
  }
}

/* MF v2.1 revision J: keep the discounted product price readable on cream. */
body.page-product .product__prices:has(.product__discount) .product__current-price,
body.page-product .product__prices:has(.product__discount) .product__current-price * {
  color: #3c303d !important;
}

/* MF v2.1 revision K: align lower product content and refine the desktop card. */
@media screen and (min-width: 1200px) {
  body.page-product .product.js-product-container + .row {
    max-width: 1220px;
    margin-right: auto;
    margin-left: auto;
    align-items: flex-start;
    --bs-gutter-x: 2.5rem;
  }

  body.page-product .product.js-product-container + .row > .col-xl-5 {
    flex: 0 0 52%;
    width: 52%;
    max-width: 52%;
  }

  body.page-product .product.js-product-container + .row > .col-xl-7 {
    flex: 0 0 48%;
    width: 48%;
    max-width: 48%;
  }

  body.page-product .product__description-short {
    padding: 0.9rem 1rem;
    border: 1px solid rgba(198, 162, 79, 0.24);
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(255, 253, 248, 0.94), rgba(250, 243, 228, 0.58));
    box-shadow: 0 3px 11px rgba(79, 57, 34, 0.045);
  }

  body.page-product .product__description-short > :last-child {
    margin-bottom: 0;
  }

  body.page-product .product__images {
    max-width: 455px;
  }

  body.page-product .mf-product-fotorama .fotorama__stage {
    height: 445px !important;
  }

  body.page-product .product.js-product-container + .row .blockreassurance_product {
    width: calc(100% + 1.25rem);
    margin-left: -1.25rem;
  }

  body.page-product .product.js-product-container + .row #product-infos-accordion {
    width: calc(100% + 1.25rem);
    margin-left: -1.25rem;
  }
}

/* MF v2.1u: softer navigation. */
@media screen and (min-width: 768px) {
  #top-menu > li > a.main-menu__tree__link:hover,
  #top-menu > li > a.main-menu__tree__link:focus,
  #top-menu > li > a.main-menu__tree__link.active,
  #top-menu > li > a.main-menu__tree__link[aria-current="page"] {
    background: linear-gradient(180deg, #fffaf0 0%, #f3e4c4 100%) !important;
    color: #523c22 !important;
    box-shadow: none !important;
  }

  #top-menu li ul li:hover > a.main-menu__tree__link,
  #top-menu li ul a.main-menu__tree__link:focus {
    background: #fbf3e4 !important;
    color: #523c22 !important;
  }
}

/* MF v2.1w / v2.2g: centred details and clearer mobile cues. */

/* MF checkout: reuse the product-page reassurance card language on desktop. */
@media screen and (min-width: 992px) {
  #block-reassurance {
    width: 100%;
    padding: 0.25rem 0 1rem;
  }

  #block-reassurance ul {
    display: grid;
    gap: 0.65rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  #block-reassurance li {
    margin: 0;
  }

  #block-reassurance .block-reassurance-item {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 0.9rem !important;
    min-height: 82px !important;
    padding: 0.78rem 1rem !important;
    border: 1px solid rgba(198, 162, 79, 0.27) !important;
    border-radius: 12px !important;
    background: linear-gradient(155deg, #fff 0%, #fffaf0 100%) !important;
    box-shadow: 0 4px 13px rgba(55, 39, 59, 0.055) !important;
  }

  #block-reassurance .block-reassurance-item img {
    display: block;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 0.55rem;
    object-fit: contain;
    border: 1px solid rgba(198, 162, 79, 0.22);
    border-radius: 50%;
    background: #f7ecd5;
  }

  #block-reassurance .block-reassurance-item > span {
    display: block;
    min-width: 0;
    color: #746a74;
    font-size: 0.91rem;
    line-height: 1.42;
  }

  #block-reassurance .block-title,
  #block-reassurance .block-reassurance-item .h6 {
    display: block;
    margin: 0 0 0.18rem;
    color: #3b2740;
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.3;
  }
}

body.page-product #product_details_collapse .accordion-body,
body.page-product #product_features_collapse .accordion-body {
  text-align: center;
}

body.page-product #product_details_collapse .details__list,
body.page-product #product_features_collapse .details__list {
  width: min(100%, 720px);
  margin-right: auto;
  margin-left: auto;
}

body.page-product #product_details_collapse .details__item,
body.page-product #product_features_collapse .details__item {
  align-items: center;
}

body.page-product #product_details_collapse .details__left,
body.page-product #product_details_collapse .details__right,
body.page-product #product_features_collapse .details__left,
body.page-product #product_features_collapse .details__right {
  text-align: center !important;
}

/* MF v2.1: editorial presentation for the ps_customtext home module. */
body#index #custom-text {
  margin-top: clamp(2rem, 4vw, 4rem);
  padding: clamp(2rem, 4vw, 4.5rem) 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 4%, rgba(221, 194, 126, 0.14), transparent 24rem),
    linear-gradient(180deg, #fff 0%, #fffaf1 48%, #fff 100%);
}

body#index #custom-text .container {
  width: min(94%, 1180px);
  max-width: 1180px;
}

body#index #custom-text .custom-text__content {
  color: #463d48;
  font-size: 1.06rem;
  line-height: 1.75;
}

body#index #custom-text .custom-text__content > h2,
body#index #custom-text .custom-text__content > h3 {
  position: relative;
  width: min(100%, 980px);
  margin: clamp(2rem, 5vw, 4rem) auto 1.1rem;
  color: #3e2f43;
  font-family: Palatino, "Palatino Linotype", "Book Antiqua", Georgia, serif;
  font-weight: 600;
  line-height: 1.28;
  text-align: center !important;
}

body#index #custom-text .custom-text__content > h2 {
  font-size: clamp(1.55rem, 2.5vw, 2.25rem);
}

body#index #custom-text .custom-text__content > h3 {
  font-size: clamp(1.25rem, 2vw, 1.65rem);
}

body#index #custom-text .custom-text__content > h2::before,
body#index #custom-text .custom-text__content > h3::before {
  display: block;
  margin-bottom: 0.35rem;
  color: #c9a84f;
  content: "\2726";
  font-family: Georgia, serif;
  font-size: 0.72em;
  line-height: 1;
}

body#index #custom-text .custom-text__content > p {
  width: min(100%, 980px);
  margin: 0.75rem auto;
  padding: 1rem 1.25rem;
  border: 1px solid rgba(207, 174, 94, 0.28);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 8px 24px rgba(63, 43, 66, 0.055);
  text-align: left !important;
}

body#index #custom-text .custom-text__content > p:empty {
  display: none;
}

body#index #custom-text .custom-text__content > p:has(img),
body#index #custom-text .custom-text__content > h2:has(img),
body#index #custom-text .custom-text__content > h3:has(img) {
  width: 100%;
  margin: clamp(1.5rem, 4vw, 3rem) auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  text-align: center !important;
}

body#index #custom-text .custom-text__content img {
  display: block;
  width: auto !important;
  max-width: min(100%, 760px) !important;
  height: auto !important;
  max-height: 620px;
  margin: 0 auto !important;
  border: 1px solid rgba(207, 174, 94, 0.34);
  border-radius: 22px;
  object-fit: contain;
  box-shadow: 0 15px 38px rgba(63, 43, 66, 0.12);
}

body#index #custom-text .custom-text__content a {
  color: #806426;
  font-weight: 600;
  text-decoration-color: rgba(201, 168, 79, 0.55);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

body#index #custom-text .custom-text__content a:hover,
body#index #custom-text .custom-text__content a:focus-visible {
  color: #4f3753;
  text-decoration-color: #c9a84f;
}

body#index #custom-text .custom-text__content > :first-child {
  margin-top: 0;
}

/* MF v2.1: product-style reassurance cards throughout cart and checkout. */
body:is(.page-cart, .page-order, .page-order-confirmation) .blockreassurance_product {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.65rem;
  width: 100%;
  margin: 1rem 0;
  padding: 0;
}

body:is(.page-cart, .page-order, .page-order-confirmation) .blockreassurance_product > div:not(.clearfix) {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 0.9rem;
  min-width: 0;
  min-height: 82px;
  margin: 0;
  padding: 0.78rem 1rem;
  overflow: hidden;
  border: 1px solid rgba(198, 162, 79, 0.27);
  border-radius: 12px;
  background: linear-gradient(155deg, #fff 0%, #fffaf0 100%);
  text-align: left;
  box-shadow: 0 4px 13px rgba(55, 39, 59, 0.055);
}

body:is(.page-cart, .page-order, .page-order-confirmation) .blockreassurance_product .item-product {
  display: flex;
  float: none;
  grid-column: 1;
  grid-row: 1 / span 2;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 0.55rem;
  border: 1px solid rgba(198, 162, 79, 0.22);
  border-radius: 50%;
  background: #f7ecd5;
}

body:is(.page-cart, .page-order, .page-order-confirmation) .blockreassurance_product .item-product img,
body:is(.page-cart, .page-order, .page-order-confirmation) .blockreassurance_product .item-product svg {
  display: block !important;
  visibility: visible !important;
  width: 28px !important;
  height: 28px !important;
  max-width: 100%;
  max-height: 100%;
  margin: 0 !important;
  object-fit: contain;
}

body:is(.page-cart, .page-order, .page-order-confirmation) .blockreassurance_product .block-title {
  display: block;
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  margin: 0;
  color: #3b2740 !important;
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.3;
}

body:is(.page-cart, .page-order, .page-order-confirmation) .blockreassurance_product p:not(.block-title) {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  margin: 0.18rem 0 0;
  color: #746a74 !important;
  font-size: 0.91rem;
  line-height: 1.42;
}

body:is(.page-cart, .page-order, .page-order-confirmation) .blockreassurance_product > .clearfix {
  display: none;
}

@media screen and (max-width: 575.98px) {
  body:is(.page-cart, .page-order, .page-order-confirmation) .blockreassurance_product > div:not(.clearfix) {
    grid-template-columns: 46px minmax(0, 1fr);
    column-gap: 0.75rem;
    min-height: 76px;
    padding: 0.68rem 0.78rem;
  }

  body:is(.page-cart, .page-order, .page-order-confirmation) .blockreassurance_product .item-product {
    width: 44px;
    height: 44px;
  }

  body:is(.page-cart, .page-order, .page-order-confirmation) .blockreassurance_product .block-title {
    font-size: 0.96rem;
  }

  body:is(.page-cart, .page-order, .page-order-confirmation) .blockreassurance_product p:not(.block-title) {
    font-size: 0.84rem;
  }
}

/* MF v2.1: one continuous card around image and product information. */
body.page-category #js-product-list .product-miniature > .card {
  overflow: hidden;
  border: 1px solid rgba(198, 162, 79, 0.26) !important;
  border-radius: 13px !important;
  background: linear-gradient(155deg, #fff 0%, #fffdf8 100%) !important;
  box-shadow: 0 6px 18px rgba(61, 43, 64, 0.06) !important;
  transform: none !important;
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

body.page-category #js-product-list .product-miniature > .card:hover {
  border-color: rgba(198, 162, 79, 0.46) !important;
  box-shadow: 0 9px 24px rgba(61, 43, 64, 0.09) !important;
  transform: translateY(-2px) !important;
}

body.page-category #js-product-list .product-miniature__image-container,
body.page-category #js-product-list .product-miniature__infos.card-body {
  border-top: 0 !important;
  background: transparent !important;
}

/* MF v2.1 revision: actual Hummingbird markup for home product modules. */
@media screen and (min-width: 992px) {
  :is(.featured-products, .best-sellers-products) > .container {
    width: min(94vw, 1420px);
    max-width: 1420px;
  }

  :is(.featured-products, .best-sellers-products) > .container > .products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    margin-right: 0;
    margin-left: 0;
  }
}

@media screen and (min-width: 1200px) {
  :is(.featured-products, .best-sellers-products) > .container > .products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* MF v2.1 revision: lighter mixed rhythm for the long home editorial text. */
body#index #custom-text .custom-text__content > p {
  margin: 0.55rem auto;
  padding: 0.25rem 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body#index #custom-text .custom-text__content > p:nth-of-type(9n + 1):not(:has(img)):not(:empty) {
  margin-top: 1.15rem;
  margin-bottom: 1.15rem;
  padding: 1.2rem 1.45rem;
  border: 1px solid rgba(207, 174, 94, 0.3);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 8px 24px rgba(63, 43, 66, 0.055);
}

body#index #custom-text .mf-home-text-card {
  width: min(100%, 980px);
  margin: 1rem auto;
  padding: 1.15rem 1.4rem;
  border: 1px solid rgba(207, 174, 94, 0.3);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 8px 24px rgba(63, 43, 66, 0.055);
}

body#index #custom-text .mf-home-text-card > p {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left !important;
  box-shadow: none;
}

body#index #custom-text .mf-home-text-card > p + p {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(207, 174, 94, 0.16);
}

@media screen and (max-width: 767.98px) {
  body#index #custom-text .custom-text__content > p {
    margin: 0.5rem auto;
    padding: 0.18rem 0;
  }

  body#index #custom-text .custom-text__content > p:nth-of-type(9n + 1):not(:has(img)):not(:empty) {
    margin-top: 0.95rem;
    margin-bottom: 0.95rem;
    padding: 1rem;
    border-radius: 15px;
  }

  body#index #custom-text .mf-home-text-card {
    margin: 0.85rem auto;
    padding: 1rem;
    border-radius: 15px;
  }
}

/* MF v2.1: softer quick-view wording. */
body.page-category #js-product-list .product-miniature__quickview_button,
body#index :is(.featured-products, .best-sellers-products) .product-miniature__quickview_button {
  color: #958f96 !important;
}

@media screen and (min-width: 768px) {
  #top-menu > li:last-child {
    margin-right: 1.25rem;
  }

  #top-menu > li > a.main-menu__tree__link {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: 9px;
    background: transparent !important;
    font-family: Palatino, "Palatino Linotype", "Book Antiqua", Georgia, serif;
    font-weight: 600;
    letter-spacing: 0.025em;
    transition: color 320ms ease, box-shadow 420ms ease, transform 320ms ease;
  }

  #top-menu > li > a.main-menu__tree__link::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(105deg, rgba(255, 252, 245, 0.96), rgba(239, 223, 185, 0.82), rgba(255, 250, 238, 0.97));
    content: "";
    opacity: 0;
    transform: scaleX(0.2);
    transform-origin: left center;
    transition: opacity 350ms ease, transform 520ms cubic-bezier(0.2, 0.72, 0.22, 1);
  }

  #top-menu > li > a.main-menu__tree__link::after {
    position: absolute;
    z-index: -1;
    top: -35%;
    bottom: -35%;
    left: -32%;
    width: 24%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.78), transparent);
    content: "";
    opacity: 0;
    pointer-events: none;
    transform: skewX(-18deg);
  }

  #top-menu > li > a.main-menu__tree__link:hover,
  #top-menu > li > a.main-menu__tree__link:focus-visible,
  #top-menu > li > a.main-menu__tree__link.active,
  #top-menu > li > a.main-menu__tree__link.mf-current-link,
  #top-menu > li > a.main-menu__tree__link[aria-current="page"] {
    background: transparent !important;
    color: #523c22 !important;
    box-shadow: 0 5px 15px rgba(126, 91, 31, 0.11) !important;
    transform: translateY(-1px);
  }

  #top-menu > li > a.main-menu__tree__link:hover::before,
  #top-menu > li > a.main-menu__tree__link:focus-visible::before,
  #top-menu > li > a.main-menu__tree__link.active::before,
  #top-menu > li > a.main-menu__tree__link.mf-current-link::before,
  #top-menu > li > a.main-menu__tree__link[aria-current="page"]::before {
    opacity: 1;
    transform: scaleX(1);
  }

  #top-menu > li > a.main-menu__tree__link:hover::after,
  #top-menu > li > a.main-menu__tree__link:focus-visible::after {
    opacity: 1;
    transform: translateX(570%) skewX(-18deg);
    transition: transform 720ms ease, opacity 180ms ease;
  }

  :is(#contact-link > a, #_desktop_user_info .header-block__action-btn, #_desktop_cart .header-block__action-btn) {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 0.48rem 0.7rem;
    border-radius: 12px;
    transition: color 320ms ease, box-shadow 420ms ease, transform 320ms ease;
  }

  #contact-link > a,
  #_desktop_user_info .header-block__title,
  #_desktop_cart .header-block__title {
    font-size: 1.08rem;
  }

  :is(#contact-link > a, #_desktop_user_info .header-block__action-btn, #_desktop_cart .header-block__action-btn)::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    border: 1px solid rgba(201, 168, 79, 0.2);
    border-radius: inherit;
    background: linear-gradient(110deg, rgba(255, 253, 248, 0.98), rgba(242, 228, 195, 0.78), rgba(255, 252, 245, 0.98));
    content: "";
    opacity: 0;
    transform: scale(0.88);
    transition: opacity 360ms ease, transform 460ms cubic-bezier(0.2, 0.72, 0.22, 1);
  }

  #contact-link > a:hover,
  #contact-link > a:focus-visible,
  #_desktop_user_info .header-block__action-btn:hover,
  #_desktop_user_info .header-block__action-btn:focus-visible,
  #_desktop_cart .header-block:hover .header-block__action-btn {
    color: #604a26 !important;
    box-shadow: 0 5px 16px rgba(126, 91, 31, 0.1);
    transform: translateY(-1px);
  }

  #contact-link > a:hover::before,
  #contact-link > a:focus-visible::before,
  #_desktop_user_info .header-block__action-btn:hover::before,
  #_desktop_user_info .header-block__action-btn:focus-visible::before,
  #_desktop_cart .header-block:hover .header-block__action-btn::before {
    opacity: 1;
    transform: scale(1);
  }

  #_desktop_user_info .header-block__action-btn:hover svg .cls-1,
  #_desktop_user_info .header-block__action-btn:focus-visible svg .cls-1 {
    stroke: #80652f !important;
  }

  #_desktop_cart .header-block:hover svg path {
    fill: #80652f !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #top-menu > li > a.main-menu__tree__link,
  #top-menu > li > a.main-menu__tree__link::before,
  #top-menu > li > a.main-menu__tree__link::after,
  :is(#contact-link > a, #_desktop_user_info .header-block__action-btn, #_desktop_cart .header-block__action-btn),
  :is(#contact-link > a, #_desktop_user_info .header-block__action-btn, #_desktop_cart .header-block__action-btn)::before {
    transition-duration: 0.01ms !important;
  }
}

@media screen and (max-width: 767.98px) {
  body#index #custom-text {
    margin-top: 1.5rem;
    padding: 1.6rem 0 2.4rem;
  }

  body#index #custom-text .container {
    width: min(94%, 680px);
    padding-right: 0.4rem;
    padding-left: 0.4rem;
  }

  body#index #custom-text .custom-text__content {
    font-size: 1rem;
    line-height: 1.65;
  }

  body#index #custom-text .custom-text__content > h2,
  body#index #custom-text .custom-text__content > h3 {
    margin-top: 2.25rem;
  }

  body#index #custom-text .custom-text__content > p {
    margin: 0.65rem auto;
    padding: 0.9rem 1rem;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(63, 43, 66, 0.05);
  }

  body#index #custom-text .custom-text__content img {
    max-height: 460px;
    border-radius: 16px;
    box-shadow: 0 10px 26px rgba(63, 43, 66, 0.11);
  }
}

@media screen and (max-width: 767.98px) {
  #header .header-bottom .mf-mobile-logo {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-width: 0;
    height: 52px;
    margin: 0 auto !important;
    padding: 0 2px !important;
  }

  #header .header-bottom .mf-mobile-logo .navbar-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 52px;
    margin: 0 !important;
    padding: 0 !important;
  }

  #header .header-bottom .mf-mobile-logo img.logo {
    display: block !important;
    width: auto !important;
    max-width: 205px !important;
    height: auto !important;
    max-height: 48px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }

  body.page-category #js-product-list .product-miniature .product-flags .badge.on-sale,
  body.page-category #js-product-list .product-miniature .product-flags .badge.discount,
  body.page-category #js-product-list .product-miniature .product-flags .badge.out-of-stock {
    min-height: 29px;
    padding: 0.38rem 0.58rem !important;
    border-radius: 7px;
    font-size: 0.88rem !important;
    font-weight: 700;
    line-height: 1.1;
    box-shadow: 0 3px 9px rgba(39, 29, 22, 0.14);
  }

  body.page-category #js-product-list .product-miniature__bag-plus-sign {
    top: 58%;
    right: auto;
    left: 50%;
    width: 10px;
    height: 10px;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 11px;
    line-height: 10px;
    box-shadow: none;
    transform: translate(-50%, -50%);
  }
}

/* MF v2.1: minimal category cards — frame appears only on interaction. */
body.page-category #js-product-list .product-miniature > .card {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.page-category #js-product-list .product-miniature > .card:hover,
body.page-category #js-product-list .product-miniature > .card:focus-within {
  border-color: rgba(198, 162, 79, 0.32) !important;
  background: linear-gradient(155deg, #fff 0%, #fffdf8 100%) !important;
  box-shadow: 0 9px 24px rgba(61, 43, 64, 0.085) !important;
  transform: translateY(-2px) !important;
}

/* MF v2.1: compact and polished cart layout. */
body.page-cart .cart__overview {
  gap: 0.78rem;
}

body.page-cart .cart__overview > hr,
body.page-cart .cart__list > hr {
  display: none;
}

body.page-cart .cart__item {
  padding: 0.82rem 0.95rem !important;
  border-left: 3px solid rgba(198, 162, 79, 0.42) !important;
  border-radius: 14px;
  background: linear-gradient(135deg, #fff 0%, #fffcf6 100%);
}

body.page-cart .product-line {
  display: grid !important;
  grid-template-columns: 142px minmax(0, 1fr);
  gap: 1rem;
  align-items: stretch;
  min-height: 0;
}

body.page-cart .product-line__image {
  min-height: 132px;
  padding: 0.3rem;
  background: radial-gradient(circle at center, #fff 55%, #fffaf0 100%);
}

body.page-cart .product-line__img {
  max-width: 138px;
  height: 128px;
}

body.page-cart .product-line__content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 180px;
  grid-template-rows: minmax(72px, auto) auto;
  column-gap: 1rem;
  align-items: center;
  min-width: 0;
}

body.page-cart .product-line__content-left {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  min-width: 0;
}

body.page-cart .product-line__content-right {
  display: flex !important;
  grid-column: 2;
  grid-row: 1 / span 2;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  gap: 0.55rem;
  padding-left: 1rem;
  border-left: 1px solid rgba(198, 162, 79, 0.16);
  text-align: center;
}

body.page-cart .product-line__actions {
  grid-column: 1;
  grid-row: 2;
  align-self: end;
  margin-top: 0.35rem;
}

body.page-cart .product-line__actions .js-remove-from-cart {
  min-height: 30px;
  padding: 0.22rem 0.65rem;
  border-color: transparent;
  background: rgba(255, 250, 239, 0.72);
}

body.page-cart .cart-grid__aside-wrapper {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.page-cart .cart-grid__aside-wrapper > h2 {
  margin-bottom: 0.8rem;
}

body.page-cart .cart-summary {
  padding: 1rem 1.1rem 1.15rem;
  border: 1px solid rgba(198, 162, 79, 0.28);
  border-radius: 16px;
  background: linear-gradient(150deg, #fff 0%, #fffaf1 100%);
  box-shadow: 0 9px 26px rgba(55, 39, 59, 0.07);
}

body.page-cart .cart-summary__line {
  padding: 0.52rem 0.15rem;
}

body.page-cart .cart-summary__total {
  margin: 0.55rem 0 0.7rem;
  padding: 0.72rem 0.8rem;
  border-color: rgba(198, 162, 79, 0.24);
  background: linear-gradient(135deg, rgba(255, 250, 239, 0.96), rgba(247, 235, 210, 0.64));
}

body.page-cart .cart-summary__voucher {
  margin: 0.65rem 0 0.8rem;
}

body.page-cart .cart-voucher__accordion-item {
  overflow: hidden;
  border: 1px solid rgba(198, 162, 79, 0.24) !important;
  border-radius: 11px !important;
  background: rgba(255, 255, 255, 0.76) !important;
}

body.page-cart .cart-voucher__accordion-button {
  min-height: 46px;
  padding: 0.68rem 0.82rem !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #56485a !important;
  font-weight: 650;
  box-shadow: none !important;
}

body.page-cart .cart-voucher__accordion-button:hover,
body.page-cart .cart-voucher__accordion-button:focus-visible,
body.page-cart .cart-voucher__accordion-button:not(.collapsed) {
  background: rgba(247, 235, 210, 0.48) !important;
  color: #6f5527 !important;
}

body.page-cart .cart-voucher__accordion-collapse .accordion-body {
  padding: 0.75rem 0.8rem 0.85rem;
  border-top: 1px solid rgba(198, 162, 79, 0.16);
}

body.page-cart .cart-voucher__form input,
body.page-cart .cart-voucher__form .form-control,
body.page-cart .cart-voucher__form button,
body.page-cart .cart-voucher__form .btn {
  min-height: 42px;
  border-radius: 9px;
}

@media screen and (max-width: 767.98px) {
  body.page-cart .product-line {
    grid-template-columns: 94px minmax(0, 1fr);
    gap: 0.7rem;
  }

  body.page-cart .product-line__image {
    min-height: 98px;
  }

  body.page-cart .product-line__img {
    max-width: 92px;
    height: 94px;
  }

  body.page-cart .product-line__content {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    row-gap: 0.45rem;
  }

  body.page-cart .product-line__content-left,
  body.page-cart .product-line__content-right,
  body.page-cart .product-line__actions {
    grid-column: 1;
  }

  body.page-cart .product-line__content-left {
    grid-row: 1;
  }

  body.page-cart .product-line__content-right {
    grid-row: 2;
    flex-flow: row wrap;
    justify-content: flex-start;
    padding: 0.5rem 0 0;
    border-top: 1px solid rgba(198, 162, 79, 0.14);
    border-left: 0;
    text-align: left;
  }

  body.page-cart .product-line__actions {
    grid-row: 3;
    margin-top: 0;
  }

  body.page-cart .cart-summary {
    padding: 0.9rem;
    border-radius: 14px;
  }
}

/* MF v2.1: visually center the complete desktop navigation group. */
@media screen and (min-width: 992px) {
  #top-menu {
    width: max-content;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    gap: clamp(0.12rem, 0.28vw, 0.4rem);
    justify-content: center;
  }

  #top-menu > li > a.main-menu__tree__link {
    padding-right: clamp(0.28rem, 0.38vw, 0.48rem);
    padding-left: clamp(0.28rem, 0.38vw, 0.48rem);
  }
}

/* MF v2.1: lighter product cards with a single-line excerpt. */
body.page-category #js-product-list .product-miniature__description {
  display: block !important;
  min-height: 1.55em !important;
  max-height: 1.55em !important;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  -webkit-box-orient: initial;
  -webkit-line-clamp: initial;
}

/* MF v2.1: cart rows must size to their content, never fill the aside height. */
body.page-cart .cart__list,
body.page-cart .cart__overview {
  height: auto !important;
  min-height: 0 !important;
}

body.page-cart .cart__overview {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0.78rem;
}

body.page-cart .cart__item {
  flex: 0 0 auto;
  align-self: stretch;
  height: auto !important;
  min-height: 0 !important;
}

@media screen and (min-width: 768px) {
  body.page-cart .product-line__content {
    grid-template-rows: max-content max-content !important;
    align-content: center;
  }
}

/* MF v2.1: center the desktop navigation against the viewport, not its inner container. */
@media screen and (min-width: 992px) {
  #header .main-menu {
    right: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}

/* MF v2.1: keep the full desktop menu inside the viewport. */
@media screen and (min-width: 992px) {
  #header .main-menu {
    box-sizing: border-box;
    width: 100%;
    padding-right: clamp(0.7rem, 2.4vw, 3.5rem) !important;
    padding-left: clamp(0.7rem, 2.4vw, 3.5rem) !important;
  }

  #top-menu {
    display: flex;
    width: 100%;
    max-width: 100%;
    justify-content: space-between;
  }

  #top-menu > li {
    flex: 0 1 auto;
  }

  #top-menu > li:last-child {
    margin-right: 0;
  }

  #top-menu > li > a.main-menu__tree__link {
    padding-right: clamp(0.28rem, 0.42vw, 0.52rem);
    padding-left: clamp(0.28rem, 0.42vw, 0.52rem);
    font-size: 0.96rem;
  }
}

@media screen and (min-width: 1500px) {
  #top-menu > li > a.main-menu__tree__link {
    padding-right: 0.62rem;
    padding-left: 0.62rem;
    font-size: 1rem;
  }
}

/* MF v2.1: restore Hummingbird's compact cart line flow. */
@media screen and (min-width: 768px) {
  body.page-cart .cart__item,
  body.page-cart .product-line,
  body.page-cart .product-line__content {
    height: auto !important;
    min-height: 0 !important;
  }

  body.page-cart .product-line {
    display: flex !important;
    width: 100%;
    gap: 1rem;
    align-items: center;
  }

  body.page-cart .product-line__image {
    flex: 0 0 142px;
    align-self: center;
    min-height: 132px;
    margin: 0 !important;
  }

  body.page-cart .product-line__content {
    display: grid !important;
    flex: 1 1 auto;
    grid-template-columns: minmax(0, 1fr) 180px;
    grid-template-rows: auto auto;
    gap: 0.45rem 1rem;
    align-items: center;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.page-cart .product-line__content-left {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    margin: 0 !important;
  }

  body.page-cart .product-line__content-right {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: stretch;
    margin: 0 !important;
  }

  body.page-cart .product-line__actions {
    position: static !important;
    display: flex !important;
    grid-column: 1;
    grid-row: 2;
    align-items: center;
    align-self: end;
    width: auto !important;
    margin: 0 !important;
  }
}

@media screen and (max-width: 767.98px) {
  body.page-cart .product-line {
    display: flex !important;
    width: 100%;
    gap: 0.7rem;
    align-items: flex-start;
  }

  body.page-cart .product-line__image {
    flex: 0 0 94px;
    min-height: 98px;
    margin: 0 !important;
  }

  body.page-cart .product-line__content {
    display: flex !important;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.45rem;
    width: auto !important;
    min-width: 0;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.page-cart .product-line__content-left,
  body.page-cart .product-line__content-right,
  body.page-cart .product-line__actions {
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
  }
}

/* MF v2.1 final cart alignment: one compact row, no overlapping layers. */
@media screen and (min-width: 768px) {
  body.page-cart .cart__item {
    height: auto !important;
    min-height: 0 !important;
    padding: 0.7rem 0.85rem !important;
  }

  body.page-cart .product-line {
    position: static !important;
    display: flex !important;
    align-items: center;
    gap: 1rem;
    width: 100% !important;
    min-height: 0 !important;
  }

  body.page-cart .product-line__image {
    position: static !important;
    z-index: auto;
    display: flex !important;
    flex: 0 0 122px;
    width: 122px !important;
    min-height: 112px !important;
    margin: 0 !important;
    padding: 0.2rem;
    transform: none !important;
  }

  body.page-cart .product-line__img {
    width: 100% !important;
    max-width: 116px !important;
    height: 108px !important;
    object-fit: contain;
  }

  body.page-cart .product-line__content {
    position: static !important;
    display: grid !important;
    flex: 1 1 auto;
    grid-template-columns: minmax(0, 1fr) 190px;
    grid-template-rows: auto auto;
    gap: 1rem;
    align-items: center;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.page-cart .product-line__content-left {
    position: static !important;
    z-index: auto;
    grid-column: 1;
    grid-row: 1;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    inset: auto !important;
  }

  body.page-cart .product-line__content-left .product-line__title {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    overflow: visible !important;
    white-space: normal !important;
    text-overflow: clip !important;
  }

  body.page-cart .product-line__content-right {
    position: static !important;
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    width: 190px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 0 0 0.85rem;
    border-top: 0;
    border-left: 1px solid rgba(198, 162, 79, 0.16);
    transform: none !important;
  }

  body.page-cart .product-line__actions {
    position: static !important;
    grid-column: 1;
    grid-row: 2;
    justify-content: flex-start;
    align-self: end;
    width: auto !important;
    margin: 0 !important;
    transform: none !important;
  }
}

body.page-cart .cart-summary__line,
body.page-cart .cart-summary__line .label,
body.page-cart .cart-summary__line .value,
body.page-cart .cart-voucher__accordion-button {
  font-size: 1.08rem !important;
}

body.page-cart .cart-summary__total,
body.page-cart .cart-summary__total .label,
body.page-cart .cart-summary__total .value {
  font-size: 1.14rem !important;
}

/* MF v2.1: identical grid for every cart line, including AJAX-refreshed rows. */
@media screen and (min-width: 768px) {
  body.page-cart .cart__item > .product-line {
    position: static !important;
    display: grid !important;
    grid-template-columns: 122px minmax(0, 1fr) 190px;
    grid-template-rows: auto auto;
    gap: 0.45rem 1rem;
    align-items: center;
    width: 100% !important;
    min-height: 112px !important;
  }

  body.page-cart .cart__item > .product-line > .product-line__image {
    position: static !important;
    grid-area: 1 / 1 / 3 / 2 !important;
    width: 122px !important;
    min-height: 108px !important;
    transform: none !important;
  }

  body.page-cart .cart__item > .product-line > .product-line__content {
    display: contents !important;
  }

  body.page-cart .cart__item > .product-line > .product-line__content > .product-line__content-left {
    position: static !important;
    grid-area: 1 / 2 / 2 / 3 !important;
    align-self: center !important;
    justify-self: stretch !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    inset: auto !important;
  }

  body.page-cart .cart__item > .product-line > .product-line__content > .product-line__content-right {
    position: static !important;
    grid-area: 1 / 3 / 3 / 4 !important;
    align-self: center !important;
    justify-self: stretch !important;
    width: 190px !important;
    margin: 0 !important;
    transform: none !important;
  }

  body.page-cart .cart__item > .product-line > .product-line__content > .product-line__actions {
    position: static !important;
    grid-area: 2 / 2 / 3 / 3 !important;
    align-self: end !important;
    justify-self: stretch !important;
    justify-content: flex-start;
    width: auto !important;
    margin: 0 !important;
    transform: none !important;
  }
}

/* MF v2.1: larger product-card titles and prices across listings/modules. */
:is(
  body.page-category #js-product-list,
  body.page-new-products #js-product-list,
  body.page-best-sales #js-product-list,
  body#index .ps-featuredproducts,
  body#index .ps-bestsellers,
  body#index .ps-newproducts,
  body#index .featured-products,
  body#index .best-sellers-products,
  body#index .new-products
) .product-miniature__title {
  font-size: 1.22rem !important;
  line-height: 1.28 !important;
}

:is(
  body.page-category #js-product-list,
  body.page-new-products #js-product-list,
  body.page-best-sales #js-product-list,
  body#index .ps-featuredproducts,
  body#index .ps-bestsellers,
  body#index .ps-newproducts,
  body#index .featured-products,
  body#index .best-sellers-products,
  body#index .new-products
) .product-miniature__price {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
}

:is(
  body.page-category #js-product-list,
  body.page-new-products #js-product-list,
  body.page-best-sales #js-product-list,
  body#index .ps-featuredproducts,
  body#index .ps-bestsellers,
  body#index .ps-newproducts,
  body#index .featured-products,
  body#index .best-sellers-products,
  body#index .new-products
) .product-miniature__regular-price {
  font-size: 1.05rem !important;
}

/* MF v2.1: return cart product rows to Hummingbird's clear native layout. */
@media screen and (min-width: 768px) {
  body.page-cart .cart__overview {
    display: block !important;
  }

  body.page-cart .cart__item {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 1rem !important;
    padding: 0 0 1rem !important;
    overflow: visible !important;
    border: 0 !important;
    border-bottom: 1px solid var(--bs-border-color) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.page-cart .cart__item:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }

  body.page-cart .cart__item > .product-line {
    position: static !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 1.5rem !important;
    width: 100% !important;
    min-height: 0 !important;
  }

  body.page-cart .cart__item > .product-line > .product-line__image {
    position: static !important;
    display: block !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    transform: none !important;
  }

  body.page-cart .product-line__img {
    display: block !important;
    width: 8rem !important;
    max-width: 8rem !important;
    height: auto !important;
    margin: 0 !important;
    border-radius: var(--bs-border-radius) !important;
    object-fit: contain !important;
  }

  body.page-cart .cart__item > .product-line > .product-line__content {
    position: static !important;
    display: grid !important;
    flex: 1 1 auto !important;
    grid-template-columns: minmax(0, 1fr) 9rem !important;
    grid-template-rows: auto auto !important;
    gap: 1.5rem !important;
    align-items: start !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.page-cart .cart__item .product-line__content-left {
    position: static !important;
    display: flex !important;
    grid-area: 1 / 1 / 2 / 2 !important;
    flex-direction: column !important;
    gap: 0.25rem !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  body.page-cart .cart__item .product-line__content-right {
    position: static !important;
    display: flex !important;
    grid-area: 1 / 2 / 2 / 3 !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.5rem !important;
    width: 9rem !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: left !important;
    transform: none !important;
  }

  body.page-cart .cart__item .product-line__actions {
    position: static !important;
    display: flex !important;
    grid-area: 2 / 1 / 3 / 3 !important;
    justify-content: flex-start !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  body.page-cart .product-line__title {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    color: var(--bs-body-color) !important;
    font-size: inherit !important;
    font-weight: 600 !important;
    white-space: normal !important;
    text-overflow: clip !important;
  }

  body.page-cart .product-line__item--prices {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0.25rem 0.5rem !important;
    margin: 0 !important;
  }

  body.page-cart .product-line__item-price {
    display: inline !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-weight: 600 !important;
  }

  body.page-cart .product-line__quantity-button {
    width: 9rem !important;
    max-width: 9rem !important;
    overflow: visible !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.page-cart .product-line__quantity-button input,
  body.page-cart input.js-cart-line-product-quantity {
    display: block !important;
    min-width: 3.5rem !important;
    max-width: 4rem !important;
    color: var(--bs-body-color) !important;
    background-color: var(--bs-body-bg) !important;
    font-size: 1rem !important;
    opacity: 1 !important;
    text-align: center !important;
    visibility: visible !important;
  }

  body.page-cart .product-line__actions .js-remove-from-cart {
    display: inline-block !important;
    min-height: 0 !important;
    padding: 0.5rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: inherit !important;
    font-weight: 400 !important;
  }
}

/* MF v2.1: restore the clearer reference navigation proportions. */
@media screen and (min-width: 992px) {
  #top-menu > li > a.main-menu__tree__link {
    padding-right: clamp(0.24rem, 0.38vw, 0.54rem) !important;
    padding-left: clamp(0.24rem, 0.38vw, 0.54rem) !important;
    font-family: Palatino, "Palatino Linotype", "Book Antiqua", Georgia, serif !important;
    font-size: 1.14rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.025em !important;
  }

  #contact-link > a,
  #_desktop_user_info .header-block__title,
  #_desktop_cart .header-block__title {
    font-size: 1.07rem !important;
  }
}

@media screen and (min-width: 1200px) {
  .header-top .header-top__left #search_widget {
    width: 285px !important;
    max-width: 285px !important;
  }
}

/* MF v2.1 final category intro: first iridescent single-card version. */
body.page-category #js-product-list-header #category-description,
body.page-category #js-product-list-header #category-description.truncated {
  position: relative;
  max-width: 100%;
  margin: 0.9rem 0 0.7rem !important;
  padding: clamp(1rem, 1.7vw, 1.45rem) clamp(1.05rem, 2.2vw, 1.8rem) !important;
  border: 1px solid rgba(198, 162, 79, 0.3) !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 8% 12%, rgba(224, 197, 123, 0.18) 0 2px, transparent 3px),
    radial-gradient(circle at 93% 20%, rgba(171, 139, 186, 0.13) 0 3px, transparent 4px),
    linear-gradient(135deg, rgba(255, 253, 247, 0.98), rgba(252, 248, 255, 0.94)) !important;
  box-shadow: 0 10px 28px rgba(62, 45, 65, 0.065) !important;
  color: #554d57;
  font-size: 1.02rem;
  line-height: 1.7;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

body.page-category #js-product-list-header #category-description {
  display: block !important;
  overflow: visible !important;
}

body.page-category #js-product-list-header #category-description.truncated {
  display: -webkit-box !important;
  max-height: 15rem !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: unset !important;
}

body.page-category #category-description h2 {
  display: block !important;
  margin: 0 0 0.7rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #403443 !important;
  font-family: inherit !important;
  font-size: 1.12rem !important;
  font-weight: 750 !important;
  line-height: 1.4 !important;
}

body.page-category #category-description h2::before {
  content: none !important;
}

body.page-category #category-description p,
body.page-category #category-description p:first-of-type,
body.page-category #category-description p:last-of-type:not(:first-of-type),
body.page-category #category-description p:only-of-type {
  display: block !important;
  margin: 0 0 0.7rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #554d57 !important;
  font-size: 1.02rem !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  text-align: left !important;
}

body.page-category #category-description p:last-child {
  margin-bottom: 0 !important;
}

body.page-category #category-description strong,
body.page-category #category-description b {
  color: #49384c !important;
  font-weight: 700 !important;
}

/* Keep the approved tag design, just slightly larger. */
body.page-category #js-product-list-header #subcategories.subcategories {
  gap: 0.68rem !important;
}

body.page-category #subcategories a.subcategory {
  min-height: 54px !important;
  gap: 0.65rem !important;
  padding: 0.4rem 0.95rem 0.4rem 0.42rem !important;
}

body.page-category #subcategories .subcategory__image {
  flex-basis: 43px !important;
  width: 43px !important;
  height: 43px !important;
}

body.page-category #subcategories .subcategory__name {
  font-size: 0.98rem !important;
}

@media screen and (max-width: 767.98px) {
  body.page-category #js-product-list-header #category-description,
  body.page-category #js-product-list-header #category-description.truncated {
    padding: 1rem !important;
    border-radius: 15px !important;
    font-size: 0.96rem !important;
  }

  body.page-category #js-product-list-header #category-description.truncated {
    max-height: 13rem !important;
  }

  body.page-category #subcategories a.subcategory {
    min-height: 49px !important;
  }

  body.page-category #subcategories .subcategory__image {
    flex-basis: 38px !important;
    width: 38px !important;
    height: 38px !important;
  }

  body.page-category #subcategories .subcategory__name {
    font-size: 0.94rem !important;
  }
}

/* MF v2.1 final authority: centered and airy desktop menu. */
@media screen and (min-width: 1200px) {
  #header .header-bottom .header-bottom__container {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-right: clamp(1rem, 2vw, 2rem) !important;
    padding-left: clamp(1rem, 2vw, 2rem) !important;
  }

  #header .header-bottom .header-bottom__row {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    justify-content: center !important;
  }

  #header .main-menu {
    right: auto !important;
    left: auto !important;
    display: flex !important;
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    justify-content: center !important;
  }

  #header .main-menu > .js-menu-desktop {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #top-menu {
    box-sizing: border-box !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: clamp(0.42rem, 0.62vw, 0.72rem) !important;
  }

  #top-menu > li {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  #top-menu > li > a.main-menu__tree__link {
    padding-right: 0.16rem !important;
    padding-left: 0.16rem !important;
    font-family: "Avenir Next", Avenir, "Segoe UI", Inter, Arial, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.025em !important;
    white-space: nowrap !important;
  }
}
