@import url('/themes/lsg-core/assets/css/theme.css');
@import url('/themes/lsg-core/assets/css/lsg-core.css');

:root {
  --brand-black: #0c0c0b;
  --brand-white: #ffffff;
  --brand-ivory: #f7f3ec;
  --brand-gold: #b98522;
  --brand-gold-dark: #8f6516;
  --brand-champagne: #e9ddc7;
  --brand-text: #171410;
  --brand-muted: #6c6257;

  --lsg-color-primary: var(--brand-gold);
  --lsg-color-primary-strong: var(--brand-gold-dark);
  --lsg-color-background: var(--brand-white);
  --lsg-color-surface: var(--brand-ivory);
  --lsg-color-text: var(--brand-text);
  --lsg-color-muted: var(--brand-muted);
  --lsg-color-highlight: var(--brand-gold);
  --lsg-font-heading: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --lsg-font-body: Manrope, "Segoe UI", Arial, sans-serif;
  --lsg-font-display: var(--lsg-font-heading);
  --lsg-content-width: min(100vw, 1920px);

  /* Override Bootstrap's default blue states with the Life Style gold palette. */
  --bs-primary: #b98522;
  --bs-primary-rgb: 185, 133, 34;
  --bs-link-color: #8f6516;
  --bs-link-color-rgb: 143, 101, 22;
  --bs-link-hover-color: #6f4d0f;
  --bs-link-hover-color-rgb: 111, 77, 15;
  --bs-focus-ring-color: rgb(185 133 34 / 25%);
}

:root.is-mobile :is(.lsg-home,.lsg-footer),
.page-index #wrapper,
.page-category #wrapper,
.page-product #wrapper,
.page-cart #wrapper,
.page-order-confirmation #wrapper,
.page-customer #wrapper,
.page-cms #wrapper {
  font-family: var(--lsg-font-body);
}

.columns-container.container,
#main-content .columns-container.container,
.header-bottom__container.container-fluid {
  max-width: var(--lsg-content-width);
  width: min(100%, var(--lsg-content-width));
  margin-inline: auto;
  padding-inline: clamp(.8rem, 2vw, 2.4rem);
}

.lsg-home :is(h1,h2,.lsg-section-title,.lsg-editorial h2,.lsg-newsletter h2),
.lsg-collection-card > span {
  font-family: var(--lsg-font-display);
}

.lsg-breadcrumb__wrapper {
  position: relative;
  padding: 0;
}

.lsg-breadcrumb-banner {
  width: min(100%, 1920px);
  height: 207px;
  margin-inline: auto;
  background: var(--lsg-breadcrumb-banner-image) center / cover no-repeat;
  display: block;
  position: relative;
}

.lsg-breadcrumb-banner::after { display: none; }

.page-product .lsg-breadcrumb-banner {
  background-image: url('../img/breadcrumb/life-style-product.webp') !important;
  background-position: center;
}

.lsg-breadcrumb__inner {
  position: relative;
  margin-top: -207px;
}

.lsg-breadcrumb__inner .container {
  min-height: 207px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: min(100%, var(--lsg-content-width));
  max-width: var(--lsg-content-width) !important;
  padding-inline: clamp(.8rem, 2vw, 2.4rem);
}

.lsg-breadcrumb .breadcrumb {
  align-items: center;
  color: #fffaf1;
  border: 1px solid rgb(244 219 159 / 58%);
  border-radius: 999px;
  margin: 0;
  padding: .5rem .95rem;
  width: fit-content;
  background: rgb(28 22 17 / 88%);
  box-shadow: 0 .45rem 1.1rem rgb(20 12 5 / 26%);
  backdrop-filter: blur(7px);
}

.lsg-breadcrumb .breadcrumb-item,
.lsg-breadcrumb .breadcrumb-item a,
.lsg-breadcrumb .breadcrumb-item span {
  color: #fffaf1;
  font-size: .72rem;
  font-weight: 600;
}

.lsg-breadcrumb .breadcrumb-item a:hover,
.lsg-breadcrumb .breadcrumb-item a:focus-visible {
  color: #f4db9f;
}

.lsg-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  color: var(--brand-gold);
}

.lsg-breadcrumb-title {
  display: inline-block;
  width: fit-content;
  margin: .65rem 0 0;
  padding: .3rem .72rem;
  color: #222;
  font-family: var(--lsg-font-display);
  font-size: clamp(1.45rem, 2vw, 2rem);
  font-weight: 600;
  letter-spacing: .035em;
}

/* =========================================
   Life-style additional visual system
   ========================================= */

.page-index .lsg-home,
.page-category .lsg-category-listing,
.page-product #content-wrapper,
.page-cart .page-content,
.page-order .page-content {
  background: linear-gradient(180deg, #fff 0 72%, #faf5ec 72% 100%);
}

.lsg-main-nav__list,
.lsg-main-nav__all,
.lsg-main-nav__sub,
.lsg-main-nav__mega {
  font-family: var(--lsg-font-body);
}

.lsg-main-nav {
  position: sticky;
  top: 0;
  background: #fff;
  box-shadow: 0 0.8rem 2rem rgb(38 30 14 / 8%);
  z-index: 30;
}

.lsg-main-nav::before {
  border-top: 0;
  border-bottom: 1px solid #e8dfd2;
}

.lsg-main-nav__list {
  display: flex;
  align-items: stretch;
  gap: 1.35rem;
  flex: 1 1 auto;
  min-width: 0;
  padding: 0;
  margin: 0;
  list-style: none;
}

.lsg-main-nav__item {
  position: relative;
  display: flex;
  align-items: stretch;
}

.lsg-main-nav__item-link,
.lsg-main-nav__item > a {
  display: flex;
  align-items: center;
  gap: .35rem;
  min-height: 3.75rem;
  padding: .1rem .75rem;
  color: #201a14;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.lsg-main-nav__item--standalone > .lsg-main-nav__item-link {
  color: var(--brand-gold-dark);
}

.lsg-main-nav__item-link::after,
.lsg-main-nav__item > a::after {
  content: "";
  width: .45rem;
  height: .45rem;
  margin-top: .08rem;
  border: 1.5px solid currentColor;
  border-top: 0;
  border-left: 0;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .2s ease;
  opacity: .42;
}

.lsg-main-nav__item--standalone .lsg-main-nav__item-link::after,
.lsg-main-nav__item--standalone > a::after {
  display: none;
}

.lsg-main-nav__item.is-open > .lsg-main-nav__item-link::after,
.lsg-main-nav__item:hover > .lsg-main-nav__item-link::after,
.lsg-main-nav__item:focus-within > .lsg-main-nav__item-link::after,
.lsg-main-nav__item.is-open > a::after,
.lsg-main-nav__item:hover > a::after,
.lsg-main-nav__item:focus-within > a::after {
  transform: rotate(225deg) translateY(1px);
  opacity: 1;
}

.lsg-main-nav__item > a { white-space: nowrap; }

.lsg-main-nav__item > a:focus-visible {
  color: #9b6a18;
  outline: 0;
}

.lsg-main-nav__sub,
.lsg-main-nav__mega {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 40;
  min-width: 13rem;
  max-width: 18rem;
  margin-top: .15rem;
  padding: .8rem;
  border: 1px solid #e7dfd4;
  border-radius: .5rem;
  background: #fff;
  box-shadow: 0 .8rem 1.8rem rgb(45 34 18 / 12%);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, .4rem);
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
}

.lsg-main-nav__categories--simple .lsg-main-nav__mega,
.lsg-main-nav__categories--has-children .lsg-main-nav__dropdown {
  display: none !important;
}

.lsg-main-nav__categories--has-children:hover .lsg-main-nav__dropdown,
.lsg-main-nav__categories--has-children:focus-within .lsg-main-nav__dropdown,
.lsg-main-nav__categories--has-children.is-open .lsg-main-nav__dropdown {
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, .4rem);
}

.lsg-main-nav__sub a,
.lsg-main-nav__mega-grid a {
  display: flex;
  align-items: center;
  min-height: 2rem;
  padding: .42rem .55rem;
  color: #2f2923;
  font-size: 1rem;
  text-transform: none;
  letter-spacing: .015em;
  line-height: 1.3;
}

.lsg-main-nav__sub a:hover,
.lsg-main-nav__sub a:focus-visible,
.lsg-main-nav__mega-grid a:hover,
.lsg-main-nav__mega-grid a:focus-visible,
.lsg-main-nav__item.is-open .lsg-main-nav__item-link,
.lsg-main-nav__item:hover .lsg-main-nav__item-link,
.lsg-main-nav__item:focus-within .lsg-main-nav__item-link,
.lsg-main-nav__item.is-open > a,
.lsg-main-nav__item:hover > a,
.lsg-main-nav__item:focus-within > a {
  color: var(--brand-gold-dark);
  background: #f8f1e6;
}

.lsg-main-nav__all {
  min-width: 13.75rem;
  font-size: 1rem !important;
}

.lsg-main-nav__all .lsg-main-nav__chevron {
  margin-left: auto;
  width: .7rem;
  height: .45rem;
  transition: transform .2s ease;
}

.lsg-main-nav__all:hover .lsg-main-nav__chevron,
.lsg-main-nav__all:focus-visible .lsg-main-nav__chevron,
.lsg-main-nav__all.is-open .lsg-main-nav__chevron {
  transform: rotate(180deg);
}

.lsg-main-nav__categories:hover .lsg-main-nav__dropdown,
.lsg-main-nav__categories:focus-within .lsg-main-nav__dropdown,
.lsg-main-nav__item:hover .lsg-main-nav__sub,
.lsg-main-nav__item:focus-within .lsg-main-nav__sub,
.lsg-main-nav__categories--simple:hover .lsg-main-nav__mega,
.lsg-main-nav__categories--simple:focus-within .lsg-main-nav__mega,
.lsg-main-nav__item:hover .lsg-main-nav__mega,
.lsg-main-nav__item:focus-within .lsg-main-nav__mega {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

.lsg-main-nav__categories .lsg-main-nav__all[aria-expanded='true'] .lsg-main-nav__chevron {
  transform: rotate(180deg);
}

.lsg-main-nav__categories.is-open .lsg-main-nav__dropdown,
.lsg-main-nav__item.is-open .lsg-main-nav__sub {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

.lsg-main-nav__mega {
  left: 0;
  width: calc(100vw - ((100vw - min(100%, var(--lsg-content-width))) / 2));
  max-width: min(100vw, var(--lsg-content-width));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .45rem;
  padding: 1rem;
  transform: translate(0, .4rem);
}

.lsg-main-nav__mega-grid { min-width: 0; }

.lsg-main-nav__categories:hover .lsg-main-nav__mega,
.lsg-main-nav__categories:focus-within .lsg-main-nav__mega {
  opacity: 1;
  visibility: visible;
  transform: translate(0, 0);
}

.lsg-main-nav__categories .lsg-main-nav__dropdown a {
  text-transform: none;
  font-size: 1rem;
}

.lsg-header-wishlist,
#_mobile_ps_customersignin,
#_mobile_ps_shoppingcart,
#_desktop_ps_customersignin,
#_desktop_ps_shoppingcart {
  align-self: stretch;
}

#_mobile_ps_customersignin .header-block__action-btn,
#_mobile_ps_shoppingcart .header-block__action-btn,
#_desktop_ps_customersignin .header-block__action-btn,
#_desktop_ps_shoppingcart .header-block__action-btn,
.lsg-header-wishlist .header-block__action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 4.25rem;
}

.lsg-main-nav__mega strong {
  display: block;
  margin: 0 0 .35rem .3rem;
  color: var(--brand-gold) !important;
  font-family: var(--lsg-font-display);
  font-size: 1.084rem;
  font-weight: 800;
}

.lsg-main-nav__mega-grid a {
  border-radius: .45rem;
  padding-inline: .75rem;
}

/* Home */
.lsg-hero__content {
  gap: .9rem;
}

.lsg-hero__content .btn {
  min-width: 14rem;
  min-height: 2.8rem;
  border-radius: 999px;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.lsg-reassurance__item {
  align-items: flex-start;
}

.lsg-reassurance__item span { max-width: 12.5rem; }

.lsg-collections {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

.lsg-collection-card {
  min-height: 18.5rem;
  border-radius: .95rem;
}

.lsg-collection-card:hover,
.lsg-collection-card:focus-within {
  box-shadow: 0 1rem 2.8rem rgb(47 36 24 / 15%);
}

.lsg-products-preview {
  gap: 1.2rem;
  padding-top: 2.5rem;
  padding-bottom: 4rem;
}

.lsg-products-preview .btn,
.lsg-editorial .btn,
.lsg-newsletter .btn {
  padding-inline: 1.45rem;
  border-radius: 999px;
}

/* Category listing page */
.lsg-category-listing {
  max-width: min(100%, var(--lsg-content-width));
  margin: 0 auto;
}

.lsg-category-listing__body {
  display: grid;
  grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr);
  gap: clamp(1.25rem, 1.8vw, 1.75rem);
  align-items: start;
}

.lsg-category-listing__filters {
  position: sticky;
  top: 1rem;
  align-self: start;
  border: 1px solid #5d4522;
  border-radius: .45rem;
  background: linear-gradient(145deg, #766044 0%, #30251b 100%);
  box-shadow: 0 .9rem 2rem rgb(28 17 5 / 18%);
  padding: 1.15rem;
}

.lsg-category-listing__filters .block-categories,
.lsg-category-listing__filters .faceted-search {
  margin-bottom: 0;
}

.lsg-category-listing__filters #search-filters > .left-block__title {
  margin: 0 0 .8rem;
  color: #f4db9f;
  font-family: var(--lsg-font-display);
  font-size: 1.15rem;
  font-weight: 700;
}

.lsg-category-listing__filters .accordion-item { border-color: rgb(244 219 159 / 20%); background: transparent; }
.lsg-category-listing__filters .accordion-button { padding: .78rem 0; background: transparent; box-shadow: none; color: #fffaf1; font-size: .78rem; font-weight: 700; }
.lsg-category-listing__filters .accordion-button:not(.collapsed) { color: #f4db9f; }
.lsg-category-listing__filters .accordion-button::after { width: .5rem; height: .5rem; background-size: .5rem; }
.lsg-category-listing__filters .accordion-body { padding: 0 0 .8rem; }
.lsg-category-listing__filters .form-check { margin: 0; padding: .25rem 0 .25rem 1.45rem; }
.lsg-category-listing__filters .form-check-label,
.lsg-category-listing__filters .facet-label a { color: #ded3c2; font-size: .75rem; }
.lsg-category-listing__filters .form-check-input { border-color: #a7854d; background-color: transparent; }
.lsg-category-listing__filters .form-check-input:checked { border-color: #d7a947; background-color: #d7a947; }

.lsg-rating-filter {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid rgb(244 219 159 / 20%);
}

.lsg-rating-filter a {
  display: block;
  padding: .4rem .1rem;
  color: #f4db9f;
  font-size: .76rem;
}

.lsg-category-listing #products {
  min-width: 0;
}

.lsg-category-listing .products {
  display: grid;
  gap: 1.2rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lsg-category-listing .product-miniature {
  border-radius: .45rem;
  border: 1px solid #ece2d5;
  background: #fff;
  overflow: hidden;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.lsg-category-listing .product-miniature:hover {
  transform: translateY(-2px);
  border-color: #d7c8b2;
  box-shadow: 0 .75rem 1.65rem rgb(55 43 27 / 8%);
}

/* Product cards: shared structure for the home showcase and category grids. */
:is(.lsg-products-preview__list, .lsg-category-listing) .product-miniature {
  display: flex;
  min-width: 0;
}

:is(.lsg-products-preview__list, .lsg-category-listing) .product-miniature__inner {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}

:is(.lsg-products-preview__list, .lsg-category-listing) .product-miniature__top {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #f8f5ef;
}

:is(.lsg-products-preview__list, .lsg-category-listing) .product-miniature .thumbnail-container,
:is(.lsg-products-preview__list, .lsg-category-listing) .product-miniature__image-link,
:is(.lsg-products-preview__list, .lsg-category-listing) .product-miniature__image {
  display: block;
  width: 100%;
  height: 100%;
}

:is(.lsg-products-preview__list, .lsg-category-listing) .product-miniature .thumbnail-container {
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

:is(.lsg-products-preview__list, .lsg-category-listing) .product-miniature__image {
  object-fit: cover;
}

:is(.lsg-products-preview__list, .lsg-category-listing) .product-miniature__bottom {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  padding: .95rem;
}

:is(.lsg-products-preview__list, .lsg-category-listing) .product-miniature__infos {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}

:is(.lsg-products-preview__list, .lsg-category-listing) .product-miniature__subtitle {
  display: block;
  margin-bottom: .3rem;
  overflow: hidden;
  color: var(--brand-muted);
  font-size: .65rem;
  line-height: 1.3;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

:is(.lsg-products-preview__list, .lsg-category-listing) .product-miniature__title {
  display: -webkit-box;
  min-height: 2.7em;
  margin: 0 0 .55rem;
  overflow: hidden;
  color: var(--brand-text);
  font-size: .74rem;
  font-weight: 700;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

:is(.lsg-products-preview__list, .lsg-category-listing) .product-miniature__prices {
  margin-top: auto;
}

:is(.lsg-products-preview__list, .lsg-category-listing) .product-miniature__price {
  color: var(--brand-text);
  font-size: .9rem;
  font-weight: 700;
}

:is(.lsg-products-preview__list, .lsg-category-listing) .product-miniature__discount-price {
  margin-top: .2rem;
  color: var(--brand-muted);
  font-size: .68rem;
}

:is(.lsg-products-preview__list, .lsg-category-listing) .product-miniature__actions {
  margin-top: .85rem;
}

:is(.lsg-products-preview__list, .lsg-category-listing) .product-miniature__form {
  display: block;
}

:is(.lsg-products-preview__list, .lsg-category-listing) .quantity-button {
  display: none;
}

:is(.lsg-products-preview__list, .lsg-category-listing) .product-miniature__add,
:is(.lsg-products-preview__list, .lsg-category-listing) .product-miniature__details {
  width: 100%;
  min-height: 2.3rem;
  padding: .45rem .6rem;
  font-size: .68rem;
}

:is(.lsg-products-preview__list, .lsg-category-listing) .lsg-product-favorite {
  position: absolute;
  top: .65rem;
  right: .65rem;
  z-index: 2;
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 50%;
  background: rgb(255 255 255 / 92%);
  color: var(--brand-text);
}

:is(.lsg-products-preview__list, .lsg-category-listing) .lsg-product-favorite svg {
  width: 1.1rem;
  height: 1.1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}

.products__selection {
  margin-bottom: 1rem;
  align-items: center;
}

.products__count,
.products__sort {
  padding: .55rem 0;
}

.page-category #js-product-list-header { display: none; }
.products__selection { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.products__sort { display: flex; align-items: center; margin-left: auto; }
.products__sort-dropdown { width: 150px; margin-left: auto; }
.products__sort-dropdown-button { width: 150px; overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.products__sort-dropdown .dropdown-menu { min-width: 150px; }

.products__filter-button,
#search_filter_toggler {
  border-radius: 999px;
}

/* Product page */
.page-product .product__container {
  display: grid;
  gap: clamp(1.4rem, 2vw, 2.4rem);
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr);
  align-items: start;
  margin-bottom: 2rem;
}

.page-product .product__left {
  position: relative;
}

.page-product .product__images .carousel-inner { border-radius: .9rem; overflow: hidden; }

.page-product .product__thumbnails {
  margin-top: .9rem;
}

.page-product .product__thumbnail {
  border-radius: .58rem;
  border: 1px solid transparent;
}

.page-product .product__thumbnail.js-thumb-selected,
.page-product .product__thumbnail:focus-visible {
  border-color: var(--brand-gold);
}

.page-product .product__right {
  align-self: start;
  border-radius: .95rem;
  border: 1px solid #e5ddcf;
  background: #fffef8;
  padding: clamp(1.1rem, 1.8vw, 1.7rem);
}

.page-product .product__manufacturer,
.page-product .lsg-product-rating-summary {
  display: inline-flex;
  align-items: center;
  padding: .2rem .55rem;
  margin-bottom: .7rem;
  border-radius: 999px;
  background: #f5efe4;
  font-size: .7rem;
}

.page-product .product__name {
  margin-bottom: .75rem;
  font-size: clamp(1.85rem, 2.8vw, 2.4rem);
  letter-spacing: .01em;
  line-height: 1.12;
}

.page-product .product__description-short {
  color: #52483d;
  margin-bottom: .85rem;
}

.page-product .lsg-pack-final {
  font-size: 1.6rem;
  color: var(--brand-gold-dark);
}

.page-product .product__actions {
  margin-top: 1rem;
}

.page-product .product__actions .product-miniature__actions,
.page-product .product__actions .product-miniature__form,
.page-product .product__actions form {
  width: 100%;
}

.page-product .product-add-to-cart,
.page-product .product__actions .btn {
  width: 100%;
  min-height: 2.95rem;
  border-radius: .7rem;
}

.page-product .lsg-product-benefits {
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: .9rem;
  margin: 1.85rem 0 0;
}

.page-product .lsg-product-benefits__item {
  border: 1px solid #e6ddcf;
  border-radius: .9rem;
  padding: .9rem .95rem;
  background: #fff;
}

.page-product .lsg-product-tabs {
  margin-top: 2rem;
}

.page-product .lsg-product-tabs .nav-tabs {
  border-bottom: 1px solid #e5dccf;
  overflow-x: auto;
  white-space: nowrap;
  scrollbar-width: none;
}

.page-product .lsg-product-tabs .nav-tabs::-webkit-scrollbar { display: none; }

.page-product .lsg-product-tabs .nav-link {
  border: 0;
  margin-inline: .15rem;
  color: #53493e;
  text-transform: uppercase;
  font-size: .73rem;
  letter-spacing: .03em;
}

.page-product .lsg-product-tabs .nav-link.active {
  color: #201711;
  font-weight: 700;
}

.page-product .lsg-product-description-layout {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) minmax(0, .5fr);
  align-items: start;
}

.page-product .lsg-product-description-layout img {
  border-radius: .8rem;
  width: 100%;
  height: auto;
}

/* Cart + Checkout */
.page-cart .cart-grid,
.page-order .checkout-grid {
  width: min(100%, var(--lsg-content-width));
  margin-inline: auto;
}

.page-cart .cart-grid__content,
.page-order .checkout-grid__content {
  padding: 0;
}

.page-cart .cart-grid__aside,
.page-order .checkout-grid__aside {
  position: relative;
}

.page-cart .cart-grid__aside-wrapper,
.page-order .checkout-grid__aside-wrapper {
  border-radius: .95rem;
  border: 1px solid #e6ddcf;
  background: #fff;
  padding: 1.2rem;
  box-shadow: 0 .6rem 1.5rem rgb(57 47 34 / 6%);
}

.page-cart .lsg-cart-section-title,
.page-order .lsg-checkout-banner h1 {
  font-family: var(--lsg-font-display);
  letter-spacing: .02em;
}

.page-cart .lsg-cart-voucher,
.page-order .lsg-checkout-welcome {
  margin-top: 1rem;
}

.page-cart .cart-summary__line,
.page-order .cart-summary__line {
  font-size: .84rem;
}

.page-cart .cart-summary__total .cart-summary__line {
  font-size: 1.2rem;
}

.page-order .checkout-grid__content > .tab-content {
  gap: 1rem;
}

.page-order .step__title {
  border-radius: .5rem .5rem 0 0;
}

.page-order .step__title .page-title-section {
  letter-spacing: .035em;
}

.page-order .cart-summary__totals,
.page-order .cart-summary__totals .cart-summary__line {
  font-size: .92rem;
}

.page-order .lsg-checkout-banner__inner {
  display: grid;
  gap: .45rem;
  margin: 0 auto 1.5rem;
}

@media (max-width: 1199.98px) {
  .lsg-main-nav__list { gap: .85rem; }
  .lsg-main-nav__item-link,
  .lsg-main-nav__item > a { font-size: 1rem; min-height: 3.4rem; }
  .lsg-main-nav__mega { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lsg-category-listing__body { grid-template-columns: 1fr; }
  .lsg-category-listing__filters { position: static; }
  .lsg-category-listing .products { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .page-product .product__container { grid-template-columns: 1fr; }
  .page-product .product__right { margin-top: 0; }
}

@media (max-width: 991.98px) {
  .lsg-main-nav__mega { grid-template-columns: 1fr; }
  .lsg-main-nav__sub,
  .lsg-main-nav__mega { position: static; display: none; }
  .lsg-main-nav__item:hover .lsg-main-nav__sub,
  .lsg-main-nav__item:focus-within .lsg-main-nav__sub,
  .lsg-main-nav__item.is-open .lsg-main-nav__sub {
    display: grid;
    transform: none;
    margin-top: .25rem;
  }
  .lsg-main-nav__item-link::after,
  .lsg-main-nav__item > a::after { display: none; }
  .lsg-category-listing .products { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .page-product .lsg-product-description-layout { grid-template-columns: 1fr; }
}

@media (max-width: 575.98px) {
  .lsg-main-nav { top: auto; }
  .lsg-main-nav__list { display: none; }
  .lsg-main-nav__item-link,
  .lsg-main-nav__item > a { min-height: auto; }
  .page-index .lsg-home,
  .page-category .lsg-category-listing,
  .page-product #content-wrapper,
  .page-cart .page-content {
    background: #fff;
  }
  .lsg-category-listing,
  .page-product .product__container {
    max-width: 100%;
  }
  .lsg-category-listing .products { grid-template-columns: 1fr 1fr; }
  .page-product .product__right { margin-top: .8rem; }
  .page-product .lsg-product-benefits { grid-template-columns: 1fr; }
}

/* Life Style editorial finish */
.lsg-hero {
  isolation: isolate;
  min-height: clamp(20rem, 25vw, 24rem);
  max-height: none;
}

.lsg-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(90deg, rgb(19 13 8 / 70%) 0%, rgb(19 13 8 / 38%) 37%, transparent 68%),
    linear-gradient(0deg, rgb(10 8 6 / 35%) 0%, transparent 42%);
}

.lsg-hero__content {
  max-width: 38rem;
  padding: clamp(2rem, 4vw, 4.5rem);
  color: #fff;
  text-shadow: 0 .15rem .8rem rgb(0 0 0 / 18%);
}

.lsg-hero h1 { color: #fff; font-size: clamp(2.6rem, 4vw, 4.25rem); }
.lsg-hero__lead { color: rgb(255 255 255 / 88%); font-size: .9rem; }
.lsg-home .lsg-eyebrow { color: #d8ad5b; font-weight: 700; letter-spacing: .16em; }

.lsg-home .btn-primary {
  border: 1px solid #e5c383;
  background: linear-gradient(135deg, #c69742, #8f6516);
  box-shadow: 0 .75rem 1.6rem rgb(0 0 0 / 22%);
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.lsg-home .btn-primary:hover,
.lsg-home .btn-primary:focus-visible {
  border-color: #fff0c8;
  background: linear-gradient(135deg, #d7ad60, #9c6f1a);
  color: #fff;
  transform: translateY(-2px);
}

.lsg-reassurance {
  position: relative;
  z-index: 2;
  width: min(92%, 72rem);
  margin: -2.25rem auto 0;
  padding: 1.35rem 1.65rem;
  border: 1px solid rgb(225 201 151 / 50%);
  border-radius: 1rem;
  background: rgb(22 17 12 / 92%);
  box-shadow: 0 1.2rem 3rem rgb(24 16 8 / 20%);
}

.lsg-reassurance__item strong { color: #fff; letter-spacing: .035em; text-transform: uppercase; }
.lsg-reassurance__item span { color: #d9c9ae; }
.lsg-reassurance__item > svg { color: #d9aa52; }

.lsg-collections { padding-top: 40px; background: #fbf8f3; }
.lsg-section-heading { max-width: 34rem; margin-bottom: 2.6rem; }
.lsg-section-heading > p:last-child { max-width: 30rem; color: var(--brand-muted); line-height: 1.75; }
.lsg-section-heading .lsg-section-title { margin-bottom: .8rem; font-size: clamp(2.4rem, 3.6vw, 4rem); }

.lsg-collection-card {
  position: relative;
  min-height: 22rem;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.lsg-collection-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgb(19 13 8 / 84%) 0%, rgb(19 13 8 / 14%) 58%, transparent 100%);
  transition: background .3s ease;
}

.lsg-collection-card > span,
.lsg-collection-card small { position: relative; z-index: 1; }
.lsg-collection-card > span { color: #fff; font-size: clamp(1.35rem, 1.7vw, 1.8rem); letter-spacing: .06em; }
.lsg-collection-card small { color: #f2d9a7; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.lsg-collection-card:hover::after { background: linear-gradient(0deg, rgb(19 13 8 / 90%) 0%, rgb(19 13 8 / 25%) 70%, transparent 100%); }

.lsg-products-preview { padding-top: 2.5rem; padding-bottom: 5.5rem; background: #fff; }
.lsg-products-preview__header { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; }
.lsg-products-preview__header .lsg-section-title { margin-bottom: 0; }
.lsg-products-preview__header > a { flex: 0 0 auto; padding-bottom: .35rem; border-bottom: 1px solid #c59742; color: #805613; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

.lsg-products-preview__list .products { align-items: stretch; gap: clamp(1rem, 1.8vw, 1.7rem); }
.lsg-products-preview__list .product-miniature,
.lsg-products-preview__list .product-miniature__inner { height: 100%; }
@media (max-width: 767.98px) {
  .lsg-hero { min-height: 23rem; }
  .lsg-hero__content { padding-block: 1.4rem; }
}

/* The custom footer sits directly beneath the preceding visual section. */
#footer,
footer#footer,
#footer .footer,
#footer .footer__main,
.lsg-footer {
  margin-top: 0;
}

#footer {
  margin-top: 0 !important;
  padding-top: 0;
  background: #080a0a;
}

#footer > .lsg-footer {
  margin-bottom: 0;
}

.page-index :is(main, #main, #main-content, #wrapper, .page) { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.page-index .lsg-editorial { margin-bottom: 0 !important; }

/* Compact, balanced Life Style header. */
@media (min-width: 768px) {
  .header-bottom {
    padding-block: .1rem;
    border-bottom: 1px solid #9b6a18;
    background: #fff;
  }
  .header-bottom__row {
    position: relative !important;
    min-height: 4.8rem;
    gap: clamp(.7rem, 1.25vw, 1.35rem);
  }
  .header-bottom__logo {
    flex-basis: clamp(13rem, 16vw, 17rem);
  }
  .lsg-brand-logo { width: clamp(13rem, 16vw, 17rem) !important; max-width: none; overflow: visible; }
  .lsg-brand-logo img {
    width: 100%;
    max-width: 100%;
    max-height: 4.25rem;
    margin-left: 0;
    transform: none;
    mix-blend-mode: multiply;
  }
  .header-bottom #_desktop_ps_searchbar .ps-searchbar__input {
    border-color: #d8cdbd;
    background: #fff;
  }
  .header-bottom #_desktop_ps_searchbar {
    min-width: 12rem;
    margin-left: clamp(.75rem, 1.5vw, 1.5rem) !important;
  }
  .header-bottom #_desktop_ps_customersignin,
  .lsg-header-language,
  .lsg-header-wishlist,
  .header-bottom #_desktop_ps_shoppingcart {
    flex: 0 0 4.75rem;
    width: 4.75rem !important;
    display: flex !important;
    align-items: center !important;
    color: #292019;
  }
  .header-bottom #_desktop_ps_customersignin { order: 3; }
  .lsg-header-language { order: 4; justify-content: center; }
  .lsg-header-wishlist { order: 5; }
  .header-bottom #_desktop_ps_shoppingcart { order: 6; }
  .lsg-language-selector,
  .lsg-language-selector__menu { width: 100%; }
  .lsg-language-selector__menu { position: relative; }
  .lsg-language-selector__menu summary {
    display: grid;
    grid-template-rows: 1.65rem 1rem;
    align-content: center;
    justify-content: center;
    justify-items: center;
    gap: .15rem;
    min-height: 3.85rem;
    cursor: pointer;
    color: #292019;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .06em;
    list-style: none;
  }
  .lsg-language-selector__menu summary::-webkit-details-marker { display: none; }
  .lsg-language-selector__flag { font-size: 1.7rem; line-height: 1; }
  .lsg-language-selector__code { font-size: .78rem; line-height: 1; }
  .lsg-language-selector__chevron { position: absolute; right: .15rem; top: 50%; color: #ae7820; font-size: .85rem; transform: translateY(-50%); }
  .lsg-language-selector__menu ul {
    position: absolute;
    top: calc(100% + .25rem);
    right: 0;
    z-index: 50;
    width: 9.5rem;
    margin: 0;
    padding: .35rem;
    border: 1px solid #e0d2bd;
    background: #fff;
    box-shadow: 0 .75rem 1.6rem rgb(39 25 12 / 14%);
    list-style: none;
  }
  .lsg-language-selector__menu li a {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .5rem .6rem;
    color: #292019;
    font-size: .75rem;
    text-decoration: none;
  }
  .lsg-language-selector__menu li a:hover,
  .lsg-language-selector__menu .is-current a { background: #f8f1e6; color: #805613; }
  .header-bottom #_desktop_ps_customersignin .header-block__action-btn,
  .header-bottom #_desktop_ps_shoppingcart .header-block__action-btn,
  .lsg-header-wishlist .header-block__action-btn {
    display: grid !important;
    grid-template-rows: 1.55rem 1rem;
    height: 3.5rem !important;
    min-height: 3.5rem !important;
    align-content: center;
    justify-items: center;
    gap: .25rem;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
  }
  .header-bottom #_desktop_ps_customersignin .header-block,
  .header-bottom #_desktop_ps_shoppingcart .header-block {
    display: flex !important;
    align-items: center !important;
    width: 100%;
    height: 100%;
  }
  .header-bottom #_desktop_ps_customersignin :is(.header-block__icon, .header-block__action-btn > i),
  .header-bottom #_desktop_ps_shoppingcart :is(.header-block__icon, .header-block__action-btn > i),
  .lsg-header-wishlist .lsg-header-icon {
    align-self: center;
    margin: 0 !important;
  }
  .header-bottom #_desktop_ps_customersignin .header-block__title,
  .header-bottom #_desktop_ps_shoppingcart .header-block__title,
  .lsg-header-wishlist .header-block__title { color: #292019; font-size: .63rem; line-height: 1; }
  .header-bottom :is(.header-block__icon, .lsg-header-icon) { color: #d6ac59; }
  .lsg-header-icon { width: 1.55rem; height: 1.55rem; }
}

@media (min-width: 992px) {
  .lsg-main-nav { justify-content: center; }
  .lsg-main-nav__categories { position: relative; left: auto; flex: 0 0 auto; margin-right: 1.25rem; }
  .lsg-main-nav__list { flex: 0 1 auto; justify-content: center; margin-inline: 0; }
}

@media (max-width: 575.98px) {
  .lsg-products-preview__header { align-items: flex-start; flex-direction: column; gap: .75rem; }
}

.lsg-editorial { position: relative; min-height: clamp(29rem, 38vw, 39rem); isolation: isolate; }
.lsg-editorial::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgb(15 10 7 / 92%) 0%, rgb(15 10 7 / 64%) 45%, transparent 78%); }
.lsg-editorial__content { max-width: 34rem; color: #fff; }
.lsg-editorial h2 { color: #fff; font-size: clamp(2.6rem, 4.2vw, 4.5rem); }
.lsg-editorial__content > p:not(.lsg-eyebrow) { color: rgb(255 255 255 / 82%); font-size: 1rem; line-height: 1.8; }

.lsg-benefits { background: #17110b; }
.lsg-benefits > div { min-height: 8rem; background: transparent; color: #fff; }
.lsg-benefits span { color: #cdbb9c; }
.lsg-benefits > div > svg { color: #d8aa52; }

@media (max-width: 767.98px) {
  .lsg-hero { min-height: 23rem; max-height: none; }
  .lsg-hero::after { background: linear-gradient(0deg, rgb(19 13 8 / 82%) 0%, rgb(19 13 8 / 32%) 70%, transparent 100%); }
  .lsg-hero__content { padding: 2rem 1.4rem; border-left: 0; }
  .lsg-reassurance { margin-top: 0; width: 100%; border-radius: 0; }
  .lsg-collection-card { min-height: 16rem; }
  .lsg-editorial::before { background: linear-gradient(0deg, rgb(15 10 7 / 92%) 0%, rgb(15 10 7 / 20%) 100%); }
}

/* Mobile navigation: do not rely on the platform menu module, whose assigned
   categories are deliberately independent from the storefront navigation. */
@media (max-width: 991.98px) {
  .header-bottom__row { min-height: 5.25rem; align-items: center !important; }
  .header-bottom__logo { flex: 0 1 auto; min-width: 0; }
  .lsg-brand-logo { display: block; width: clamp(8.4rem, 35vw, 10.5rem); }
  .lsg-brand-logo img { display: block; width: 100%; height: auto; }
  .ps-mainmenu__mobile-toggle { display: none !important; }

  .lsg-mobile-menu { position: static; flex: 0 0 auto; order: 1; }
  .lsg-mobile-menu > summary {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border: 1px solid #e5d8c4;
    border-radius: .5rem;
    color: #2d241b;
    cursor: pointer;
    list-style: none;
  }
  .lsg-mobile-menu > summary::-webkit-details-marker { display: none; }
  .lsg-mobile-menu > summary svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.8; }
  .lsg-mobile-menu > summary span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .lsg-mobile-menu[open] > summary { border-color: #b98522; background: #fbf5e9; color: #8f6516; }
  .lsg-mobile-menu__panel {
    position: fixed;
    z-index: 1000;
    top: 7.3rem;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    align-content: start;
    gap: 1.15rem;
    overflow-y: auto;
    padding: 1.4rem 1.15rem max(2rem, env(safe-area-inset-bottom));
    border-top: 1px solid #e8dfd2;
    background: #fffdf9;
    box-shadow: 0 1.4rem 2.8rem rgb(25 17 8 / 18%);
  }
  .lsg-mobile-menu__panel-heading { display: grid; gap: .15rem; padding: 0 .35rem; }
  .lsg-mobile-menu__panel-heading strong { color: #251c14; font-family: var(--lsg-font-display); font-size: 2rem; font-weight: 600; line-height: 1; }
  .lsg-mobile-menu__panel-heading span { color: var(--brand-muted); font-size: .78rem; }
  .lsg-mobile-menu__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
  .lsg-mobile-menu__links a,
  .lsg-mobile-menu__account {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 3.35rem;
    padding: .7rem .8rem;
    border: 1px solid #e8dfd2;
    border-radius: .5rem;
    background: #fff;
    color: #2d241b;
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none;
  }
  .lsg-mobile-menu__links a span,
  .lsg-mobile-menu__account span { color: #a8751d; font-size: 1rem; }
  .lsg-mobile-menu__account { border-color: #b98522; background: #1a1510; color: #fff; }

  .lsg-collections__grid {
    display: grid;
    grid-auto-columns: minmax(15.5rem, 82vw);
    grid-auto-flow: column;
    grid-template-columns: none;
    gap: .8rem;
    overflow-x: auto;
    padding: 0 1.25rem .8rem;
    scroll-padding-inline: 1.25rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  .lsg-collection-card { scroll-snap-align: start; min-height: 18rem; }
}

@media (max-width: 374.98px) {
  .lsg-mobile-menu__links { grid-template-columns: 1fr; }
  .lsg-brand-logo { width: 8rem; }
}

/* Keep the full desktop category bar inside the available viewport at common
   laptop widths; without this, the final Promotions link creates a horizontal
   page scroll. */
@media (min-width: 992px) and (max-width: 1599.98px) {
  .lsg-main-nav__categories { margin-right: .65rem; }
  .lsg-main-nav__all { min-width: 12rem; }
  .lsg-main-nav__list { gap: .7rem; }
  .lsg-main-nav__item-link,
  .lsg-main-nav__item > a { padding-inline: .45rem; font-size: .87rem; }
}

@media (min-width: 992px) {
  .lsg-mobile-menu { display: none !important; }
  .lsg-main-nav { display: flex !important; }
  .lsg-footer__section { display: contents; }
  .lsg-footer__section > summary { display: none; }
  .lsg-footer__section:not([open]) > :not(summary) { display: block; }
}

/* Mobile storefront: a deliberately composed interface, rather than a
   compressed desktop layout. These overrides also prevent desktop modules
   injected by PrestaShop from consuming header space on narrow screens. */
@media (max-width: 991.98px) {
  .header-bottom { box-shadow: 0 .35rem .9rem rgb(26 19 10 / 7%); }
  .header-bottom__container.container-fluid { padding-inline: 1rem; }
  .header-bottom__row {
    position: relative !important;
    min-height: 4.8rem;
    height: 4.8rem;
    justify-content: flex-end;
    gap: .5rem;
  }
  .header-bottom #_desktop_ps_searchbar,
  .header-bottom #_desktop_ps_customersignin,
  .header-bottom #_desktop_ps_shoppingcart,
  .header-bottom .lsg-header-language,
  .header-bottom .lsg-header-wishlist { display: none !important; }
  .header-bottom__logo {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 7.6rem !important;
    transform: translate(-50%, -50%);
  }
  .header-bottom .lsg-brand-logo {
    display: block;
    width: clamp(8.25rem, 37vw, 10.25rem) !important;
    max-width: 100%;
  }
  .header-bottom .lsg-brand-logo img {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-height: 3.15rem;
    object-fit: contain;
    object-position: left center;
  }
  .ps-searchbar--mobile,
  #_mobile_ps_customersignin,
  #_mobile_ps_shoppingcart,
  .lsg-mobile-menu { flex: 0 0 2.55rem !important; width: 2.55rem; height: 2.55rem; }
  .ps-searchbar--mobile,
  #_mobile_ps_customersignin,
  #_mobile_ps_shoppingcart { display: grid !important; place-items: center; }
  :is(.ps-searchbar--mobile, #_mobile_ps_customersignin, #_mobile_ps_shoppingcart) .header-block__action-btn,
  .ps-searchbar--mobile > button { display: grid !important; width: 2.55rem; height: 2.55rem; min-height: 2.55rem !important; padding: 0 !important; place-items: center; border: 1px solid transparent; border-radius: .5rem; color: #282019; }
  :is(.ps-searchbar--mobile, #_mobile_ps_customersignin, #_mobile_ps_shoppingcart) .header-block__icon,
  .ps-searchbar--mobile .material-icons { font-size: 1.38rem; }
  #_mobile_ps_shoppingcart .header-block__badge { top: -.25rem; right: -.15rem; }

  .lsg-mobile-menu,
  #_mobile_ps_customersignin,
  .ps-searchbar--mobile,
  #_mobile_ps_shoppingcart {
    position: absolute;
    top: calc(50% - 1.275rem);
    align-self: auto !important;
  }
  .lsg-mobile-menu { left: 1rem; }
  #_mobile_ps_customersignin { left: 4.35rem; }
  .ps-searchbar--mobile { right: 4.35rem; margin-left: 0; }
  #_mobile_ps_shoppingcart { right: 1rem; }
  .lsg-mobile-menu > summary { width: 2.55rem; height: 2.55rem; border-color: #d9c8ad; border-radius: .5rem; background: #fffdfa; }
  .lsg-mobile-menu__panel { top: 6.8rem; left: 0; width: auto; gap: 1.25rem; padding: 1.35rem 1rem max(2rem, env(safe-area-inset-bottom)); background: #fbf8f2; }
  .lsg-mobile-menu__panel-heading { padding: .25rem .2rem 0; border-bottom: 0; }
  .lsg-mobile-menu__panel-heading strong { font-size: 2.15rem; }
  .lsg-mobile-menu__links { grid-template-columns: 1fr; gap: .5rem; }
  .lsg-mobile-menu__links a {
    display: grid;
    grid-template-columns: 2.35rem minmax(0, 1fr) auto;
    min-height: 3.7rem;
    padding: .55rem .8rem;
    border-radius: .65rem;
    font-size: .9rem;
    letter-spacing: .01em;
  }
  .lsg-mobile-menu__links a::before {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: 50%;
    background: #f2e7d4;
    color: #96651b;
    font-family: var(--lsg-font-display);
    font-size: 1.25rem;
    font-weight: 700;
    content: '✦';
  }
  .lsg-mobile-menu__links a:nth-child(2)::before { content: '✿'; }
  .lsg-mobile-menu__links a:nth-child(3)::before { content: '☼'; }
  .lsg-mobile-menu__links a:nth-child(4)::before { content: '⌂'; }
  .lsg-mobile-menu__links a:nth-child(5)::before { content: '◇'; }
  .lsg-mobile-menu__links a:nth-child(6)::before { content: '○'; }
  .lsg-mobile-menu__links a:nth-child(7)::before { content: '✧'; }
  .lsg-mobile-menu__links a:nth-child(8)::before { content: '✦'; }
  .lsg-mobile-menu__links a:nth-child(9)::before { content: '%'; }
  .lsg-mobile-language { border: 1px solid #b98522; border-radius: .65rem; background: #1a1510; color: #fff; }
  .lsg-mobile-language .lsg-language-selector__menu { position: relative; display: block; width: 100%; }
  .lsg-mobile-language .lsg-language-selector__menu summary { display: flex; align-items: center; justify-content: space-between; min-height: 3.6rem; padding: .7rem .8rem; cursor: pointer; color: #fff; font-size: .9rem; font-weight: 700; list-style: none; }
  .lsg-mobile-language .lsg-language-selector__menu summary::before { content: 'Idioma'; }
  .lsg-mobile-language .lsg-language-selector__menu summary::-webkit-details-marker { display: none; }
  .lsg-mobile-language .lsg-language-selector__flag { display: none; }
  .lsg-mobile-language .lsg-language-selector__code { margin-left: auto; color: #e0b45d; font-size: .74rem; letter-spacing: .1em; }
  .lsg-mobile-language .lsg-language-selector__chevron { position: static; margin-left: .55rem; color: #e0b45d; }
  .lsg-mobile-language .lsg-language-selector__menu ul { position: static; display: grid; gap: .15rem; width: auto; margin: 0; padding: 0 .8rem .75rem; border: 0; background: transparent; box-shadow: none; list-style: none; }
  .lsg-mobile-language .lsg-language-selector__menu li a { display: flex; align-items: center; justify-content: space-between; min-height: 2.5rem; padding: .45rem .1rem; border-top: 1px solid rgb(255 255 255 / 15%); color: #fff; font-size: .82rem; text-decoration: none; }
  .lsg-mobile-language .lsg-language-selector__menu li.is-current a { color: #e0b45d; }

  .lsg-hero { min-height: 32.5rem; background-position: 62% center; }
  /* The core theme uses ::before for its light image treatment. Override that
     layer directly so mobile copy remains readable over every hero crop. */
  .lsg-hero::before { background: linear-gradient(0deg, rgb(19 13 8 / 91%) 0%, rgb(19 13 8 / 62%) 48%, rgb(19 13 8 / 8%) 100%); }
  .lsg-hero::after { display: none; }
  .lsg-hero__content { gap: .75rem; padding: 1.8rem 1.25rem 2rem; }
  .lsg-hero h1 { max-width: 9ch; font-size: clamp(2.65rem, 12vw, 3.45rem); line-height: .94; }
  .lsg-hero__lead { max-width: 25rem; color: #fff; font-size: .93rem; line-height: 1.65; }
  .lsg-hero__content .btn { width: 100%; min-width: 0; min-height: 3.4rem; }

  .lsg-collections { padding: 2.75rem 0 2.25rem; }
  .lsg-collections__grid { grid-auto-columns: minmax(17rem, 80vw); gap: .75rem; padding: 0 1.25rem 1rem; }
  .lsg-collection-card { min-height: 21rem; border-radius: .8rem; }

  .lsg-products-preview { display: grid; padding: 2.6rem 0 2.25rem; }
  .lsg-products-preview__header { display: contents; }
  .lsg-products-preview__header .lsg-section-title { font-size: clamp(2.15rem, 10vw, 2.8rem); line-height: 1; }
  .lsg-products-preview__header .lsg-section-title { order: 1; padding: 0 1.25rem; text-align: center; }
  .lsg-products-preview__header > a { order: 3; justify-self: center; margin-top: .25rem; font-size: .7rem; white-space: nowrap; }
  .lsg-products-preview__list { overflow: hidden; padding-top: 1.15rem; }
  .lsg-products-preview__list { order: 2; }
  .lsg-products-preview__list .products {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(16rem, 76vw);
    align-items: stretch;
    grid-template-columns: none;
    gap: .9rem;
    overflow-x: auto;
    padding: 0 1.25rem 1.25rem;
    scroll-padding-inline: 1.25rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  .lsg-products-preview__list .product-miniature { height: 100%; scroll-snap-align: start; }
  .lsg-products-preview__list .product-miniature__inner { height: 100%; }
  .lsg-products-preview__list .product-miniature__top { margin-bottom: .7rem; }
  .lsg-products-preview__list .product-miniature__bottom { padding: .85rem .9rem 1rem; }
  .lsg-products-preview__list .product-miniature__title { min-height: 2.35em; margin-bottom: .35rem; font-size: 1.15rem; line-height: 1.14; }
  .lsg-products-preview__list .product-miniature__subtitle { margin-top: .1rem; font-size: .62rem; }
  .lsg-products-preview__list .product-miniature__prices { justify-content: flex-start; min-height: 2.55rem; padding: 0 3.1rem 0 0; text-align: left; }
  .lsg-products-preview__list .product-miniature__price { font-size: 1.2rem; }
  .lsg-products-preview__list .product-miniature__discount-price { font-size: .9rem; }
  .lsg-products-preview__list .product-list-comments-number { display: none; }
  .lsg-products-preview__list :is(.product-list-review, .lsg-card-review) { justify-content: flex-start; margin: .2rem 0 .45rem; }
  .lsg-products-preview__list .product-miniature__actions { right: .9rem; bottom: 1rem; }
  .lsg-products-preview__list .product-miniature__add { width: 2.75rem !important; min-width: 2.75rem; height: 2.75rem; min-height: 2.75rem; }

  .lsg-editorial { min-height: 31rem; background-position: 62% center; }
  .lsg-editorial__content { padding: 2rem 1.25rem; }
  .lsg-editorial h2 { font-size: clamp(2.5rem, 11vw, 3.25rem); line-height: .98; }
  .lsg-editorial__content > p:not(.lsg-eyebrow) { font-size: .95rem; line-height: 1.65; }

  .lsg-footer { padding: 2.5rem 1.25rem 1.4rem; }
  .lsg-footer__grid { display: block; }
  .lsg-footer__brand { text-align: center; }
  .lsg-footer__brand img { width: 12rem; margin-right: auto; margin-left: auto; }
  .lsg-footer__brand p { max-width: 23rem; margin-right: auto; margin-left: auto; }
  .lsg-footer__social { justify-content: center; margin: 1.25rem 0 2rem; }
  .lsg-footer__section { border-top: 1px solid #292929; }
  .lsg-footer__section:last-child { border-bottom: 1px solid #292929; }
  .lsg-footer__section summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 3.7rem;
    color: #d6ac59;
    cursor: pointer;
    font-size: .77rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    list-style: none;
  }
  .lsg-footer__section summary::-webkit-details-marker { display: none; }
  .lsg-footer__section summary::after { color: #d6ac59; content: '+'; font-size: 1.25rem; font-weight: 400; }
  .lsg-footer__section[open] summary::after { content: '−'; }
  .lsg-footer__section nav,
  .lsg-footer__section > div { padding: 0 0 1rem; }
  .lsg-footer__section h2 { display: none; }
  .lsg-footer__section nav a { margin: 0 0 .65rem; font-size: .82rem; }
  .lsg-footer__payment-logos { justify-content: center; }
  .lsg-footer__bottom { align-items: center; text-align: center; }
  .lsg-footer__bottom > span:nth-child(2) { display: none; }
  .lsg-footer__bottom > span:last-child { display: none; }
  .lsg-footer__bottom { margin-top: 2.1rem; font-size: .7rem; }
}

/* One product-card treatment for catalog listings, accessories and recommendations. */
.products .lsg-product-card {
  display: flex;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #eee5d9;
  border-radius: .85rem;
  background: #fbf8f2;
  box-shadow: 0 .65rem 1.5rem rgb(48 32 13 / 9%);
  transition: transform .25s ease, box-shadow .25s ease;
}
.products .lsg-product-card:hover { box-shadow: 0 .95rem 2rem rgb(48 32 13 / 15%); }
.products .lsg-product-card .product-miniature__inner { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; }
.products .lsg-product-card .product-miniature__top { position: relative; aspect-ratio: 1 / 1; overflow: hidden; border-radius: .45rem; background: #f8f5ef; box-shadow: 0 .7rem 1.7rem rgb(34 24 12 / 10%); }
.products .lsg-product-card .thumbnail-container,
.products .lsg-product-card .product-miniature__image-link,
.products .lsg-product-card .product-miniature__image { display: block; width: 100%; height: 100%; }
.products .lsg-product-card .thumbnail-container { margin: 0; border: 0; border-radius: 0; background: transparent; }
.products .lsg-product-card .product-miniature__image { object-fit: cover; transition: transform .5s ease; }
.products .lsg-product-card:hover .product-miniature__image { transform: scale(1.06); }
.products .lsg-product-card :is(.product-flags, .product-miniature__quickview-button, .product-miniature__quickview-touch) { display: none !important; }
.products .lsg-product-card .product-miniature__bottom { position: relative; display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; padding: 1rem 1rem 1.1rem; }
.products .lsg-product-card .product-miniature__infos { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; }
.products .lsg-product-card .product-miniature__image-container > .wishlist-button-add { display: none !important; }
.products .lsg-product-card .lsg-product-meta { width: 100%; min-height: 2rem; overflow: hidden; }
.products .lsg-product-card .product-miniature__subtitle { display: block; float: left; min-width: 0; margin-top: 5px; margin-bottom: 0; padding-right: 0; overflow: hidden; color: #9b6d20; font-size: .61rem; font-weight: 700; letter-spacing: .12em; line-height: 1.3; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.products .lsg-product-card .lsg-product-favorite,
.products .lsg-product-card .lsg-product-meta > .wishlist-button-add { position: static !important; inset: auto !important; display: block !important; float: right !important; width: 2rem !important; height: 2rem !important; margin: 0 !important; }
.products .lsg-product-card .lsg-product-favorite .wishlist-button-add,
.products .lsg-product-card .lsg-product-meta > .wishlist-button-add { position: static !important; inset: auto !important; display: grid !important; float: right; min-width: 2rem !important; min-height: 2rem !important; padding: 0 !important; place-items: center; transform: none !important; border: 1px solid rgb(183 133 37 / 52%) !important; border-radius: 50% !important; background: transparent !important; color: #ae7820 !important; }
.products .lsg-product-card .lsg-product-favorite .wishlist-button-add i,
.products .lsg-product-card .lsg-product-meta > .wishlist-button-add i { color: #ae7820 !important; font-size: 1.15rem !important; }
.products .lsg-product-card .product-miniature__title { display: -webkit-box; min-height: 2.24em; margin: 0 0 .55rem; overflow: hidden; color: #292019; font-family: var(--lsg-font-display); font-size: 1.2rem; font-weight: 600; letter-spacing: .01em; line-height: 1.12; text-align: center; text-transform: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.products .lsg-product-card .product-miniature__prices { display: flex; align-items: center; justify-content: center; order: 3; min-height: 2.6rem; margin-top: auto; padding-inline: 3rem; text-align: center; }
.products .lsg-product-card .product-miniature__price { order: 2; color: #8f6516; font-size: 1.4rem; font-weight: 700; }
.products .lsg-product-card .product-miniature__discount-price { order: 1; margin: 0 .5rem 0 0; color: var(--brand-muted); font-size: 1.1rem; }
.products .lsg-product-card .product-miniature__regular-price { font-size: 1.1rem; }
.products .lsg-product-card :is(.product-list-review, .lsg-card-review) { align-self: center; order: 2; justify-content: center; margin: .35rem 0 .55rem; text-align: center; }
.products .lsg-product-card .product-miniature__actions { position: absolute; right: 1rem; bottom: 1.1rem; z-index: 1; width: auto; margin: 0; }
.products .lsg-product-card .product-miniature__form { display: block; }
.products .lsg-product-card .quantity-button { display: none; }
.products .lsg-product-card .product-miniature__add { display: inline-grid; width: 2.6rem !important; min-width: 2.6rem; height: 2.6rem; min-height: 2.6rem; padding: .55rem .7rem; place-items: center; border-radius: .45rem; }
.products .lsg-product-card .product-miniature__add-text { display: none; }
.products .lsg-product-card .product-miniature__details { width: auto; min-height: 2.6rem; padding: .55rem .7rem; font-size: .68rem; }

/* Brand and wishlist share one fixed-width row in every product card. */
.products .lsg-product-card .lsg-product-meta { display: block !important; width: 100% !important; min-height: 40px !important; overflow: hidden !important; }
.products .lsg-product-card .lsg-product-meta > .product-miniature__subtitle { float: left !important; max-width: calc(100% - 40px); margin-top: 15px !important; }
.products .lsg-product-card .lsg-product-meta > :not(.product-miniature__subtitle) { float: right !important; width: 40px !important; max-width: 40px !important; margin: 0 !important; }
.products .lsg-product-card .lsg-product-meta :is(.lsg-product-favorite, .wishlist-button-add) { position: static !important; inset: auto !important; display: grid !important; float: right !important; width: 40px !important; max-width: 40px !important; min-width: 40px !important; height: 40px !important; min-height: 40px !important; margin: 0 !important; padding: 0 !important; place-items: center; transform: none !important; }
.products .lsg-product-card .lsg-product-meta .lsg-product-favorite .wishlist-button-add { width: 32px !important; min-width: 32px !important; height: 32px !important; min-height: 32px !important; }

/* Keep the desktop navigation intact on compact laptop widths.  Mobile rules
   remain scoped to max-width: 991.98px above. */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .lsg-main-nav__container { padding-inline: .2rem; }
  .lsg-main-nav__all { flex: 0 0 auto; margin-right: .15rem; padding-inline: .1rem .45rem; font-size: .78rem; }
  .lsg-main-nav__list { gap: 0; }
  .lsg-main-nav__item-link,
  .lsg-main-nav__item > a { min-height: 3.75rem; padding-inline: .38rem; font-size: .76rem; letter-spacing: .01em; }
}

/* The category artwork is a 3 × 2 sheet of square images. Keep each desktop
   tile square as the viewport changes so the artwork is cropped, never stretched. */
@media (min-width: 992px) {
  .lsg-collection-card {
    aspect-ratio: 1;
    min-height: 0;
  }
}

/* Product page: a compact, editorial gallery and a clear purchase moment. */
.page-product .product__container {
  width: min(100%, var(--lsg-content-width));
  margin-inline: auto;
  grid-template-columns: minmax(0, 1fr) minmax(22rem, .86fr);
}

.page-product .product__images .carousel-inner {
  aspect-ratio: 1 / 1;
  max-height: 34rem;
  background: #f8f5ef;
}

.page-product .product__images .carousel-item,
.page-product .product__images .carousel-item picture,
.page-product .product__images .carousel-item img {
  height: 100%;
}

.page-product .product__images .carousel-item img {
  object-fit: contain;
}

.page-product .product__zoom,
.page-product :is(.carousel-control-prev, .carousel-control-next) {
  width: 2.35rem;
  height: 2.35rem;
}

.page-product .product__zoom svg {
  width: 1rem;
  height: 1rem;
}

.page-product .product-add-to-cart {
  margin: 0;
  padding: 1rem;
  border: 1px solid #e6ddcf;
  border-radius: .45rem;
  background: #fcf9f3;
  box-shadow: 0 .55rem 1.3rem rgb(53 37 17 / 7%);
}

.page-product .product-add-to-cart .product__availability {
  margin: 0 0 .85rem;
  color: #514535;
  font-size: .82rem;
}

.page-product .product-add-to-cart .product__availability-icon {
  font-size: 1.05rem;
}

.page-product .product__actions-qty-add {
  flex-wrap: nowrap;
  gap: .7rem;
}

.page-product .product__quantity {
  flex: 0 0 7.25rem;
  width: 7.25rem;
}

.page-product .product__quantity :is(input, .form-control) {
  min-height: 3.15rem;
  border-color: #ddcfbb;
  border-radius: .45rem;
  background: #fff;
}

.page-product .product__add-to-cart {
  min-width: 0;
}

.page-product .product__add-to-cart-button {
  min-height: 3.15rem !important;
  border: 1px solid #8f6516;
  border-radius: .45rem !important;
  background: #8f6516;
  box-shadow: 0 .45rem .9rem rgb(104 72 19 / 18%);
  color: #fff;
  font-weight: 700;
  letter-spacing: .035em;
}

.page-product .product__add-to-cart-button:hover,
.page-product .product__add-to-cart-button:focus-visible {
  border-color: #6f4d0f;
  background: #6f4d0f;
  color: #fff;
}

.page-product .product__add-to-cart-button .material-icons {
  margin-right: .4rem;
  font-size: 1.1rem;
  vertical-align: -0.12em;
}

.page-product .lsg-product-benefits__item {
  display: flex;
  align-items: center;
  gap: .7rem;
}

.page-product .lsg-product-benefits__item > svg {
  flex: 0 0 1.55rem;
  width: 1.55rem;
  height: 1.55rem;
  fill: none;
  stroke: #9b6d20;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.65;
}

/* All recommendation areas share the page-width container and six-card desktop grid. */
.page-product :is(.product__accessories, .ps-categoryproducts, .ps-viewedproduct) .module-products {
  width: min(100%, var(--lsg-content-width));
  max-width: var(--lsg-content-width) !important;
  margin-inline: auto;
  padding-inline: clamp(.8rem, 2vw, 2.4rem);
}

.page-product :is(.product__accessories, .ps-categoryproducts, .ps-viewedproduct) .products {
  display: grid;
  gap: clamp(.8rem, 1.15vw, 1.2rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .page-product .product__images {
    display: grid;
    grid-template-columns: 5.25rem minmax(0, 1fr);
    gap: .9rem;
    align-items: start;
  }

  .page-product .product__carousel {
    grid-column: 2;
    grid-row: 1;
  }

  .page-product .product__thumbnails {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
  }

  .page-product .product__thumbnails-list {
    display: flex;
    flex-direction: column;
    gap: .7rem;
    max-height: 34rem;
    overflow-y: auto;
    padding-right: .2rem;
  }

  .page-product .product__thumbnail {
    flex: 0 0 auto;
  }

  .page-product .product__thumbnail-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
  }

  .page-product :is(.product__accessories, .ps-categoryproducts, .ps-viewedproduct) .products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .page-product :is(.product__accessories, .ps-categoryproducts, .ps-viewedproduct) .products {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

/* Real panel structure for the PDP: summary above, highlights as its own card. */
.page-product .product__right {
  display: block;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.page-product .product__right::before {
  content: none;
}

.page-product .lsg-product-summary-panel {
  border: 1px solid #eadfce;
  border-radius: .45rem;
  background: linear-gradient(145deg, #fffefb 0%, #fbf6ed 100%);
  box-shadow: 0 1rem 2.4rem rgb(56 37 11 / 7%);
  padding: clamp(1.5rem, 1.9vw, 1.7rem);
}

.page-product .lsg-product-summary-panel .lsg-product-cart-notice {
  width: max-content;
  max-width: 100%;
  white-space: nowrap;
}

.page-product .lsg-product-summary-panel .product__name {
  margin: 1.15rem 0 1.1rem;
}

.page-product .lsg-product-summary-panel .product__description-short {
  margin: 0 0 1.45rem;
}

.page-product .product__right > .lsg-product-highlights {
  margin: 1rem 0 0;
  padding: 1rem 1.2rem;
  border: 1px solid #eadfce;
  border-radius: .45rem;
  background: #fffdf9;
  box-shadow: 0 .65rem 1.3rem rgb(55 37 11 / 7%);
}

.page-product .lsg-product-highlights,
.page-product.page-product .product__left .lsg-product-benefits--gallery {
  display: none;
}

.page-product .product__right > .lsg-product-benefits--summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .6rem;
  margin: 1rem 0 0;
}

.page-product .product__right > .lsg-product-benefits--summary .lsg-product-benefits__item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: .7rem .8rem;
}

.page-product .product__right > .lsg-product-benefits--summary .lsg-product-benefits__item::before {
  content: '';
  flex: 0 0 2.6rem;
  width: 2.6rem;
  height: 2.6rem;
  background: center / contain no-repeat;
}

.page-product .product__right > .lsg-product-benefits--summary .lsg-product-benefits__item > svg {
  display: none;
}

.page-product .product__right > .lsg-product-benefits--summary .lsg-product-benefits__item:nth-child(1)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b98522' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5h11v11H3z'/%3E%3Cpath d='M14 9h3l4 4v3h-7z'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3C/svg%3E"); }
.page-product .product__right > .lsg-product-benefits--summary .lsg-product-benefits__item:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b98522' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7H4v4'/%3E%3Cpath d='M4 11a8 8 0 1 0 2-5.3'/%3E%3Cpath d='M9 12h6'/%3E%3C/svg%3E"); }
.page-product .product__right > .lsg-product-benefits--summary .lsg-product-benefits__item:nth-child(3)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b98522' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='10' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3Cpath d='M12 14v2'/%3E%3C/svg%3E"); }
.page-product .product__right > .lsg-product-benefits--summary .lsg-product-benefits__item:nth-child(4)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b98522' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14v-2a8 8 0 0 1 16 0v2'/%3E%3Cpath d='M4 14h3v5H5a1 1 0 0 1-1-1zM20 14h-3v5h2a1 1 0 0 0 1-1z'/%3E%3Cpath d='M17 19c-1 2-3 2-5 2'/%3E%3C/svg%3E"); }
.page-product .product__right > .lsg-product-benefits--summary .lsg-product-benefits__item:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b98522' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 7a8 8 0 1 0 2 7'/%3E%3Cpath d='m15 3 4 4-4 4'/%3E%3C/svg%3E"); }
}

.page-product .product__right > .lsg-product-benefits--summary .lsg-product-benefits__item strong {
  font-size: .96rem;
}

.page-product .product__right > .lsg-product-benefits--summary .lsg-product-benefits__item small {
  font-size: .83rem;
}

@media (max-width: 575.98px) {
  .page-product .product__right > .lsg-product-benefits--summary {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 1200px) {
  .page-product .lsg-product-summary-panel {
    display: grid;
    grid-template-columns: minmax(13rem, max-content) minmax(0, 1fr);
    column-gap: 1rem;
    align-items: center;
  }

  .page-product .lsg-product-summary-panel > .lsg-product-cart-notice {
    grid-column: 1;
    grid-row: 1;
  }

  .page-product .lsg-product-summary-panel > .lsg-product-page-review {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }

  .page-product .lsg-product-summary-panel > :is(.product__name, .product__description-short) {
    grid-column: 1 / -1;
  }

  .page-product .lsg-product-summary-panel > .product__name { grid-row: 2; }
  .page-product .lsg-product-summary-panel > .product__description-short { grid-row: 3; }

  .page-product .lsg-product-summary-panel > .product__prices {
    grid-column: 1;
    grid-row: 4;
    align-self: center;
    width: 400px;
    margin: 0;
    padding: 0;
    border: 0;
  }

  .page-product .lsg-product-summary-panel > .product__prices .product__prices-block {
    display: block ruby;
  }

  .page-product .lsg-product-summary-panel > .product__prices .product__price {
    margin: 0 10px;
  }

  .page-product .lsg-product-summary-panel > .product__prices .product__discount-percentage.text-primary-emphasis {
    display: none;
  }

  .page-product .lsg-product-summary-panel > .product__actions {
    grid-column: 2;
    grid-row: 4;
    margin: 0;
  }

  .page-product .lsg-product-summary-panel > .product__actions .product-add-to-cart {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .page-product .lsg-product-summary-panel > .product__actions-qty-add {
    justify-content: flex-end;
    gap: .35rem;
  }

  .page-product .lsg-product-summary-panel > .product__actions .product__quantity {
    flex-basis: 7.75rem;
    width: 7.75rem;
  }

  .page-product .lsg-product-summary-panel > .product__actions .product__add-to-cart-button {
    min-height: 2.7rem !important;
    padding-inline: .85rem;
    font-size: .72rem;
  }
}

@media (max-width: 767.98px) {
  .page-product .product__container { grid-template-columns: 1fr; }
  .page-product .product__images .carousel-inner { max-height: none; }
  .page-product .product__actions-qty-add { flex-wrap: wrap; }
  .page-product .product__quantity { flex-basis: 100%; width: 100%; }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .page-product .product__container { grid-template-columns: 1fr; }
}

/* Life Style product-page polish: warm editorial hierarchy, never Bootstrap blue. */
.page-product .product__right {
  border-color: #eadfce;
  border-radius: .45rem;
  background: linear-gradient(145deg, #fffefb 0%, #fbf6ed 100%);
  box-shadow: 0 1rem 2.4rem rgb(56 37 11 / 7%);
}

.page-product .product__manufacturer {
  color: #8f6516;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.page-product .product__name {
  color: #261b13;
  font-family: var(--lsg-font-display);
  font-size: clamp(2.25rem, 3.2vw, 3.35rem);
  font-weight: 600;
  letter-spacing: .01em;
  line-height: .98;
}

.page-product .product__description-short {
  max-width: 38rem;
  color: #695d4e;
  font-size: .88rem;
  line-height: 1.7;
}

.page-product .lsg-product-rating-summary {
  gap: .35rem;
  border: 1px solid #eadfce;
  background: #fffaf1;
  color: #8f6516;
}

.page-product .lsg-product-rating-summary a,
.page-product .lsg-product-rating-summary strong,
.page-product .lsg-review-stars {
  color: #b98522;
}

.page-product .product__prices {
  padding-block: .7rem .85rem;
  border-block: 1px solid #eee4d6;
}

.page-product .product__price {
  color: #8f6516;
  font-family: var(--lsg-font-display);
  font-size: 2rem;
  font-weight: 700;
}

.page-product .product__tax-infos {
  color: #817568;
}

.page-product .product-flags {
  top: .85rem;
  left: .85rem;
  z-index: 2;
}

.page-product .product-flags .badge {
  padding: .38rem .58rem;
  border: 1px solid #b98522;
  border-radius: .45rem;
  background: #fffaf1;
  color: #8f6516;
  font-family: var(--lsg-font-body);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.page-product .lsg-product-benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .7rem;
  margin-top: 2.2rem;
}

.page-product .lsg-product-benefits__item {
  min-width: 0;
  border-color: #eadfce;
  border-radius: .45rem;
  background: #fffdf9;
  box-shadow: 0 .45rem 1.2rem rgb(65 44 15 / 4%);
}

.page-product .lsg-product-benefits__item strong {
  display: block;
  color: #33251b;
  font-size: .74rem;
}

.page-product .lsg-product-benefits__item small {
  display: block;
  color: #766858;
  font-size: .64rem;
  line-height: 1.35;
}

@media (max-width: 991.98px) {
  .page-product .lsg-product-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575.98px) {
  .page-product .lsg-product-benefits { grid-template-columns: 1fr; }
}

/* Reassurance belongs with the product imagery; the parent copy is hidden. */
.page-product .product__container + .lsg-product-benefits {
  display: none;
}

.page-product .product__left .lsg-product-benefits--gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .6rem;
  margin: 1rem 0 0;
}

.page-product .product__left .lsg-product-benefits--gallery .lsg-product-benefits__item {
  gap: 1rem;
  padding: .7rem .75rem;
}

.page-product .product__left .lsg-product-benefits--gallery .lsg-product-benefits__item > svg {
  flex-basis: 2.5rem;
  width: 2.5rem;
  height: 2.5rem;
}

.page-product .product__left .lsg-product-benefits--gallery .lsg-product-benefits__item strong {
  font-size: 1.11rem;
}

.page-product .product__left .lsg-product-benefits--gallery .lsg-product-benefits__item small {
  font-size: .96rem;
}

.page-product .lsg-product-description-layout img {
  width: min(100%, 400px);
  max-width: 400px;
  justify-self: center;
}

.page-product .product__bottom {
  display: block;
  width: 100%;
  grid-template-columns: minmax(0, 1fr);
}

.page-product .product__bottom-left {
  width: 100%;
  max-width: none;
}

.page-product .lsg-product-description-layout {
  padding-top: 1.25rem;
}

/* The cart quantity belongs in the product panel, never as a page-wide blue alert. */
.page-product #notifications .alert-info {
  display: none;
}

.page-product .lsg-product-cart-notice {
  display: inline-flex;
  align-items: center;
  min-height: 1.8rem;
  padding: .28rem .65rem;
  border: 1px solid #e4c887;
  border-radius: .45rem;
  background: #fff7e5;
  color: #8f6516;
  font-size: .7rem;
  font-weight: 700;
}

/* Reuse the exact review component rendered in every product card. */
.page-product .lsg-product-rating-summary {
  display: none;
}

.page-product .lsg-product-page-review {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 1.8rem;
}

.page-product .lsg-product-page-review .product-list-review {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  margin: 0;
}

@media (max-width: 575.98px) {
  .page-product .product__left .lsg-product-benefits--gallery { grid-template-columns: 1fr; }
}

/* Keep the decisive purchase controls on the same visual line as the price. */
@media (min-width: 1200px) {
  .page-product .product__container { position: relative; }

  .page-product .product__right {
    display: grid;
    grid-template-columns: minmax(8rem, .55fr) minmax(19rem, 1.45fr);
    column-gap: 1rem;
    align-items: start;
  }

  .page-product .product__right > :is(.product__manufacturer, .product__name, .product__description-short, .lsg-product-rating-summary, .lsg-product-highlights, .product__customization) {
    grid-column: 1 / -1;
  }

  .page-product .product__right > .product__manufacturer {
    grid-column: 1;
    grid-row: 1;
  }

  .page-product .product__right > .lsg-product-cart-notice {
    grid-column: 1;
    grid-row: 1;
  }

  .page-product .product__right > .lsg-product-page-review {
    grid-column: 2;
    grid-row: 1;
  }

  .page-product .product__right > .lsg-product-rating-summary {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }

  .page-product .product__right > .product__name {
    grid-row: 2;
  }

  .page-product .product__right > .product__description-short {
    grid-row: 3;
  }

  .page-product .product__right > .product__prices {
    grid-column: 1;
    grid-row: 4;
    align-self: center;
    margin: 0;
    padding: 0;
    border: 0;
  }

  .page-product .product__right > .product__prices .product__prices-block {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .2rem .6rem;
  }

  .page-product .product__right > .product__prices .product__price {
    font-size: 1.65rem;
    line-height: 1;
  }

  .page-product .product__right > .product__prices .product__discount-price {
    margin: 0;
  }

  .page-product .product__right > .product__prices :is(.product__discount-percentage, .product__discount-amount) {
    display: none;
  }

  .page-product .product__right > .product__prices .product__tax-infos {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    width: auto;
    margin: 0;
    white-space: nowrap;
  }

  .page-product .product__right > .product__actions {
    grid-column: 2;
    grid-row: 4;
    margin: 0;
  }

  .page-product .product__right > .product__actions .product-add-to-cart {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .page-product .product__right > .product__actions .product__availability {
    margin: 0 0 .4rem;
    padding-left: .2rem;
    font-size: .7rem;
  }

  .page-product .product__right > .product__actions :is(.alert, .alert-info) {
    margin: 0 0 .4rem;
    padding: .35rem .55rem;
    border: 1px solid #e4c887;
    border-radius: .45rem;
    background: #fff7e5;
    color: #8f6516;
    font-size: .68rem;
  }

  .page-product .product__right > .product__actions-qty-add {
    justify-content: flex-end;
    gap: .35rem;
  }

  .page-product .product__right > .product__actions .product__quantity {
    flex-basis: 7.75rem;
    width: 7.75rem;
  }

  .page-product .product__right > .product__actions .product__quantity :is(input, .form-control),
  .page-product .product__right > .product__actions .product__add-to-cart-button {
    min-height: 2.7rem !important;
  }

  .page-product .product__right > .product__actions .product__add-to-cart-button {
    padding-inline: .85rem;
    font-size: .72rem;
  }

  .page-product .product__right > .lsg-product-highlights {
    grid-row: 5;
    position: relative;
    margin: 1.15rem -.35rem -.35rem;
    padding: .85rem 1rem;
    border: 1px solid #eadfce;
    border-radius: .45rem;
    background: #fffdf9;
    box-shadow: 0 .65rem 1.3rem rgb(55 37 11 / 7%);
  }

  .page-product .product__right > .lsg-product-highlights h2 {
    margin-bottom: .45rem;
    color: #302219;
    font-family: var(--lsg-font-body);
    font-size: .86rem;
  }

  .page-product .product__right > .lsg-product-highlights ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .page-product .product__right > .lsg-product-highlights li {
    margin: .12rem 0;
    color: #665847;
    font-size: .68rem;
    line-height: 1.25;
  }

  .page-product .product__actions .wishlist-button-add {
    position: absolute !important;
    z-index: 15;
    top: .85rem;
    left: calc(54% - 2.85rem);
    display: grid !important;
    width: 2.35rem !important;
    max-width: 2.35rem !important;
    min-width: 2.35rem !important;
    height: 2.35rem !important;
    max-height: 2.35rem !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    place-items: center;
    transform: none !important;
    border: 1px solid #eadfce !important;
    border-radius: .45rem !important;
    background: rgb(255 253 249 / 94%) !important;
    box-shadow: 0 .35rem .9rem rgb(48 31 10 / 10%) !important;
  }

  .page-product .product__actions .wishlist-button-add i {
    color: #8f6516 !important;
    font-size: 1.15rem !important;
  }
}

/* Match the understated review treatment used in product cards. */
.page-product .lsg-product-rating-summary {
  gap: .25rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: .68rem;
}

.page-product .lsg-product-rating-summary a {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  color: #b98522;
}

.page-product .lsg-product-rating-summary .lsg-review-count,
.page-product .lsg-product-rating-summary strong {
  color: #8a7b6a;
  font-size: .64rem;
  font-weight: 500;
}

/* The quantity field is one compact horizontal control: minus, input, plus. */
.page-product .product__quantity .quantity-button__group {
  display: flex !important;
  flex: 1 1 auto;
  flex-wrap: nowrap !important;
  align-items: stretch;
  width: 100%;
}

.page-product .product__quantity .quantity-button__group :is(.btn, .form-control) {
  flex: 0 0 auto;
  width: 2.55rem;
  min-width: 2.55rem;
  margin: 0;
}

.page-product .product__quantity .quantity-button__group .form-control {
  width: 2.65rem;
  min-width: 2.65rem;
  text-align: center;
}

.page-product #decrement_button_1 {
  border-radius: 10px 0 0 10px;
}

.page-product #increment_button_1 {
  border-radius: 0 10px 10px 0;
}

.page-product #quantity_wanted {
  border-radius: 0;
  border-left: 0;
  border-right: 0;
}

/* PDP reviews use the card's compact treatment, but the values come from the
   product payload rather than the listing endpoint. */
.page-product .lsg-product-page-review__static {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  color: #6b5c4c;
  font-size: .72rem;
  line-height: 1;
  text-decoration: none;
}

.page-product .lsg-product-page-review__stars {
  display: inline-block;
  color: transparent;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  letter-spacing: .08rem;
  line-height: 1;
  white-space: nowrap;
  background: linear-gradient(90deg, #f4b400 0 calc(var(--lsg-rating) * 20%), #e2e5e8 calc(var(--lsg-rating) * 20%) 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

.page-product .lsg-product-page-review__static .product-list-comments-number {
  color: #6b5c4c;
  font-size: .72rem;
}

/* The summary and the highlights are two separate cards. The highlights stay
   within product__right for the document flow, but no longer inherit its panel. */
@media (min-width: 1200px) {
  .page-product .product__right {
    position: relative;
    display: grid;
    grid-template-columns: 1.35rem minmax(8rem, .55fr) minmax(19rem, 1.45fr) 1.35rem;
    column-gap: 1rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding: 0;
  }

  .page-product .product__right::before {
    content: '';
    z-index: 0;
    grid-column: 1 / -1;
    grid-row: 1 / 5;
    border: 1px solid #eadfce;
    border-radius: .45rem;
    background: linear-gradient(145deg, #fffefb 0%, #fbf6ed 100%);
    box-shadow: 0 1rem 2.4rem rgb(56 37 11 / 7%);
  }

  .page-product .product__right > :is(.lsg-product-cart-notice, .lsg-product-page-review, .product__name, .product__description-short, .product__prices, .product__actions) {
    position: relative;
    z-index: 1;
  }

  .page-product .product__right > .lsg-product-cart-notice {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
  }

  .page-product .product__right > .lsg-product-page-review {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    align-self: center;
  }

  .page-product .product__right > .product__name,
  .page-product .product__right > .product__description-short {
    grid-column: 2 / 4;
  }

  .page-product .product__right > .product__name { grid-row: 2; }
  .page-product .product__right > .product__description-short { grid-row: 3; }

  .page-product .product__right > .product__prices {
    grid-column: 2;
    grid-row: 4;
    align-self: center;
  }

  .page-product .product__right > .product__actions {
    grid-column: 3;
    grid-row: 4;
    align-self: center;
  }

  .page-product .product__right > .lsg-product-highlights {
    z-index: 1;
    grid-column: 1 / -1;
    grid-row: 5;
    margin: 1rem 0 0;
    padding: 1rem 1.2rem;
    border: 1px solid #eadfce;
    border-radius: .45rem;
    background: #fffdf9;
    box-shadow: 0 .65rem 1.3rem rgb(55 37 11 / 7%);
  }

  .page-product .product__carousel > .wishlist-button-add {
    position: absolute !important;
    z-index: 15;
    top: .85rem;
    right: .85rem;
    left: auto;
    display: grid !important;
    width: 2.35rem !important;
    min-width: 2.35rem !important;
    height: 2.35rem !important;
    margin: 0 !important;
    padding: 0 !important;
    place-items: center;
    transform: none !important;
    border: 1px solid #eadfce !important;
    border-radius: .45rem !important;
    background: rgb(255 253 249 / 94%) !important;
    box-shadow: 0 .35rem .9rem rgb(48 31 10 / 10%) !important;
  }

.page-product .product__carousel > .wishlist-button-add i {
    color: #8f6516 !important;
    font-size: 1.15rem !important;
  }
}

/* Final PDP panel layout override. */
.page-product .product__right {
  display: block;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.page-product .product__right::before { content: none; }

.page-product .lsg-product-summary-panel {
  border: 1px solid #eadfce;
  border-radius: .45rem;
  background: linear-gradient(145deg, #fffefb 0%, #fbf6ed 100%);
  box-shadow: 0 1rem 2.4rem rgb(56 37 11 / 7%);
  padding: clamp(1.25rem, 1.8vw, 1.7rem);
}

.page-product .lsg-product-summary-panel .lsg-product-cart-notice {
  width: max-content;
  max-width: 100%;
  white-space: nowrap;
}

.page-product .lsg-product-summary-panel .product__name { margin: 1.15rem 0 1.1rem; }
.page-product .lsg-product-summary-panel .product__description-short { margin: 0 0 1.45rem; }

.page-product .product__right > .lsg-product-highlights {
  margin: 1rem 0 0;
  padding: 1rem 1.2rem;
  border: 1px solid #eadfce;
  border-radius: .45rem;
  background: #fffdf9;
  box-shadow: 0 .65rem 1.3rem rgb(55 37 11 / 7%);
}

@media (min-width: 1200px) {
  .page-product .lsg-product-summary-panel {
    display: grid;
    grid-template-columns: minmax(13rem, max-content) minmax(0, 1fr);
    column-gap: 1rem;
    align-items: center;
  }

  .page-product .lsg-product-summary-panel > .lsg-product-cart-notice { grid-column: 1; grid-row: 1; }
  .page-product .lsg-product-summary-panel > .lsg-product-page-review { grid-column: 2; grid-row: 1; justify-self: end; }
  .page-product .lsg-product-summary-panel > :is(.product__name, .product__description-short) { grid-column: 1 / -1; }
  .page-product .lsg-product-summary-panel > .product__name { grid-row: 2; }
  .page-product .lsg-product-summary-panel > .product__description-short { grid-row: 3; }

  .page-product .lsg-product-summary-panel > .product__prices {
    grid-column: 1;
    grid-row: 4;
    align-self: center;
    margin: 0;
    padding: 0;
    border: 0;
  }

  .page-product .lsg-product-summary-panel > .product__actions {
    grid-column: 2;
    grid-row: 4;
    margin: 0;
  }

  .page-product .lsg-product-summary-panel > .product__actions .product-add-to-cart {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .page-product .lsg-product-summary-panel > .product__actions-qty-add { justify-content: flex-end; gap: .35rem; }
  .page-product .lsg-product-summary-panel > .product__actions .product__quantity { flex-basis: 7.75rem; width: 7.75rem; }
  .page-product .lsg-product-summary-panel > .product__actions .product__add-to-cart-button { min-height: 2.7rem !important; padding-inline: .85rem; font-size: .72rem; }

  .page-product .lsg-product-summary-panel > .product__prices .product__prices-block {
    flex-wrap: nowrap;
    align-items: baseline;
    width: max-content;
  }

  .page-product .lsg-product-summary-panel > .product__actions .product__actions-qty-add {
    flex-wrap: nowrap;
    justify-content: flex-end;
    gap: .35rem;
  }

  .page-product .lsg-product-summary-panel > .product__actions .product__add-to-cart {
    flex: 0 0 12.5rem;
  }

  .page-product .lsg-product-summary-panel > .product__actions .product__add-to-cart-button {
    width: 100%;
    min-width: 12.5rem;
    padding-inline: .7rem;
  }

  .page-product .lsg-product-summary-panel > .product__prices {
    width: 400px;
  }

  .page-product .lsg-product-summary-panel > .product__prices .product__prices-block {
    display: block ruby;
  }

  .page-product .lsg-product-summary-panel > .product__prices .product__price {
    margin: 0 10px;
  }

  .page-product .lsg-product-summary-panel > .product__prices .product__discount-percentage.text-primary-emphasis {
    display: none;
  }

  .page-product .product__left .lsg-product-benefits--gallery {
    display: none;
  }
}
