/* Final storefront layer. It changes presentation only; catalogue, stock,
   combinations, cart and faceted-search behavior remain native PrestaShop. */

/* ---------- Product listing / cards ---------- */
body#category .product-miniature__actions,
body#search .product-miniature__actions,
body#prices-drop .product-miniature__actions,
body#new-products .product-miniature__actions,
body#best-sales .product-miniature__actions {
  display: none !important;
}

/* Product gallery continuation — 2026-09-04. Scoped to product pages only. */
@media (min-width: 768px) {
  body#product .product__carousel .carousel-control-prev,
  body#product .product__carousel .carousel-control-next {
    align-items: center;
    background: rgba(255,255,255,.94) !important;
    border-radius: 50% !important;
    bottom: auto !important;
    box-shadow: 0 5px 20px rgba(17,16,14,.13);
    display: flex !important;
    height: 52px !important;
    justify-content: center;
    top: 50% !important;
    transform: translateY(-50%);
    transition: background .18s ease, box-shadow .18s ease, transform .18s ease;
    width: 52px !important;
    z-index: 4;
  }
  body#product .product__carousel .carousel-control-prev { left: 18px !important; }
  body#product .product__carousel .carousel-control-next { left: auto !important; right: 18px !important; }
  body#product .product__carousel .carousel-control-prev:hover,
  body#product .product__carousel .carousel-control-next:hover {
    background: #fff !important;
    box-shadow: 0 7px 24px rgba(17,16,14,.2);
  }
  body#product .product__bottom.jojo-product-bottom-empty { display: none !important; }
}

@media (max-width: 767.98px) {
  body#product .product__carousel .product__zoom {
    align-items: center;
    background: rgba(255,255,255,.92) !important;
    border-radius: 50% !important;
    display: flex !important;
    justify-content: center;
    z-index: 6;
  }
  body#product .product__carousel.jojo-product-swipe .carousel-inner {
    display: flex !important;
    overflow: visible;
    touch-action: pan-y pinch-zoom;
    will-change: transform;
  }
  body#product .product__carousel.jojo-product-swipe .carousel-item {
    display: block !important;
    flex: 0 0 100%;
    margin: 0 !important;
    transform: none !important;
    width: 100%;
  }
}

/* Native PrestaShop search: compact icon with a native GET form. */
.jojo-header-search { position: relative; }
.jojo-header-search > summary {
  align-items: center;
  cursor: pointer;
  display: inline-flex;
  height: 44px;
  justify-content: center;
  list-style: none;
  width: 38px;
}
.jojo-header-search > summary::-webkit-details-marker { display: none; }
.jojo-header-search svg {
  fill: none;
  height: 19px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.7;
  width: 19px;
}
.jojo-header-search__form {
  align-items: center;
  background: #fff;
  border: 1px solid var(--jojo-line);
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
  display: flex;
  gap: 8px;
  padding: 8px;
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  width: min(330px, calc(100vw - 32px));
  z-index: 950;
}
.jojo-header-search__form input {
  background: transparent;
  border: 0;
  font: inherit;
  min-width: 0;
  outline: 0;
  padding: 8px 6px;
  width: 100%;
}
.jojo-header-search__form button {
  align-items: center;
  background: transparent;
  border: 0;
  display: inline-flex;
  height: 34px;
  justify-content: center;
  padding: 0;
  width: 34px;
}
@media (max-width: 991.98px) {
  .jojo-header-main .jojo-header-search {
    left: 48px;
    position: absolute;
    top: 9px;
    z-index: 4;
  }
  .jojo-header-search__form {
    left: 12px;
    position: fixed;
    right: 12px;
    top: 62px;
    width: auto;
  }
}

.product-miniature__bottom {
  background: #fff;
  box-sizing: border-box;
  min-height: 62px;
  padding: 11px 4px 8px !important;
  position: relative;
}

.product-miniature__infos {
  display: block !important;
  padding-right: 34px;
}

.product-miniature__title {
  color: #151515 !important;
  display: block !important;
  font-family: var(--jojo-condensed) !important;
  font-size: clamp(12px, .82vw, 14px) !important;
  font-weight: 700 !important;
  letter-spacing: .015em !important;
  line-height: 1.12 !important;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.product-miniature__prices {
  align-items: baseline !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 7px;
  justify-content: flex-start;
  margin-top: 5px;
}

.product-miniature__price {
  color: #151515;
  font-family: var(--jojo-condensed) !important;
  font-size: clamp(13px, .9vw, 15px) !important;
  font-weight: 700 !important;
  line-height: 1;
}

.product-miniature__discount-price { order: 0 !important; }
.product-miniature__regular-price { color: #77736e !important; font-size: 11px !important; }
.product-miniature__variants { display: none !important; }
#product .product-variant:has(.product-variant__colors),
#product .product-variants-item:has(.product-variant__colors) { display: none !important; }
.product-list-review { display: none !important; }

.product-miniature__top {
  aspect-ratio: .72 !important;
  background: #f4f2ed;
  border-radius: 0 !important;
  overflow: visible !important;
}

.product-miniature__image-container {
  border-radius: 0 !important;
  height: 100%;
  overflow: hidden;
}

.product-miniature__top img.product-miniature__image {
  height: 100% !important;
  object-fit: cover !important;
  width: 100% !important;
}

/* The native desktop Quick View control caused the dark/floating regression.
   Available sizes remain surfaced by the existing lightweight hover panel. */
@media (min-width: 768px) {
  .product-miniature__quickview-button { display: none !important; }
  .jojo-card-sizes {
    background: rgba(255,255,255,.97) !important;
    bottom: 0 !important;
    gap: 12px !important;
    min-height: 43px !important;
    padding: 8px 14px !important;
  }
  .jojo-card-sizes__label { font-size: 9px !important; letter-spacing: .08em !important; }
  .jojo-card-sizes__values { gap: 6px 13px !important; }
  .jojo-card-sizes__values i { font-size: 11px !important; font-weight: 700; }
  .jojo-card-gallery__control {
    align-items: center !important;
    display: flex !important;
    height: 34px !important;
    justify-content: center !important;
    width: 24px !important;
  }

  /* Deterministic editorial rhythm: 2 large cards, then two rows of 3. */
  #category .products,
  #search .products,
  #prices-drop .products,
  #new-products .products,
  #best-sales .products {
    display: grid !important;
    grid-template-columns: repeat(6,minmax(0,1fr)) !important;
    column-gap: 10px !important;
    row-gap: 34px !important;
  }
  .products > .product-miniature { grid-column: span 2; width: auto !important; }
  .products > .product-miniature:nth-child(8n + 1),
  .products > .product-miniature:nth-child(8n + 2) { grid-column: span 3; }
}

@media (max-width: 767.98px) {
  #category .block-category,
  #category .page-header,
  .page-title-section {
    padding: 27px 14px 15px !important;
  }
  #category .block-category h1,
  #category .page-header h1,
  .page-title-section__title {
    font-family: var(--jojo-condensed) !important;
    font-size: 23px !important;
    font-weight: 700 !important;
    letter-spacing: .025em !important;
  }
  #category #content-wrapper,
  #search #content-wrapper,
  #prices-drop #content-wrapper,
  #new-products #content-wrapper,
  #best-sales #content-wrapper { padding: 0 0 42px !important; }
  #category .products,
  #search .products,
  #prices-drop .products,
  #new-products .products,
  #best-sales .products {
    column-gap: 4px !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    row-gap: 10px !important;
  }
  .product-miniature__top { aspect-ratio: .69 !important; }
  .product-miniature__bottom { min-height: 68px; padding: 9px 6px 8px !important; }
  .product-miniature__infos { padding-right: 29px; }
  .product-miniature__title { font-size: 11.5px !important; }
  .product-miniature__price { font-size: 13px !important; }
  .product-miniature__regular-price { font-size: 10px !important; }
  .product-miniature__quickview-touch.jojo-card-quickadd {
    align-items: center;
    background: transparent !important;
    bottom: auto !important;
    color: #171717;
    display: inline-flex !important;
    height: 28px !important;
    justify-content: center;
    padding: 0 !important;
    position: absolute !important;
    right: 2px !important;
    top: 7px !important;
    width: 28px !important;
  }
  .product-miniature__quickview-touch.jojo-card-quickadd .material-icons {
    font-size: 0 !important;
    height: 18px;
    position: relative;
    width: 18px;
  }
  .product-miniature__quickview-touch.jojo-card-quickadd .material-icons::before {
    background: transparent;
    border: 1.35px solid currentColor;
    border-radius: 1px;
    box-sizing: border-box;
    content: '';
    height: 12px;
    left: 2px;
    position: absolute;
    top: 5px;
    width: 14px;
  }
  .product-miniature__quickview-touch.jojo-card-quickadd .material-icons::after {
    border: 1.35px solid currentColor;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    box-sizing: border-box;
    content: '';
    height: 6px;
    left: 5px;
    position: absolute;
    top: 1px;
    width: 8px;
  }
  .jojo-card-gallery__dots { bottom: 9px !important; gap: 5px !important; }
  .jojo-card-gallery__dot {
    background: rgba(255,255,255,.93) !important;
    border: 1px solid rgba(22,22,22,.28) !important;
    box-shadow: 0 1px 2px rgba(0,0,0,.12) !important;
    height: 5px !important;
    width: 5px !important;
  }
  .jojo-card-gallery__dot.is-active {
    background: #111 !important;
    border-color: #111 !important;
    transform: scale(1.2) !important;
  }
  .products__selection { margin: 0 !important; min-height: 50px !important; padding: 6px 12px !important; }
  .products__sort { gap: 7px !important; }
}

/* ---------- Mobile navigation ---------- */
@media (max-width: 991.98px) {
  .jojo-primary-nav__panel {
    max-width: min(100vw,430px) !important;
    padding: 0 20px 36px !important;
  }
  .jojo-primary-nav__mobile-head {
    align-items: center;
    border-bottom: 1px solid var(--jojo-line);
    display: grid !important;
    grid-template-columns: 44px 1fr 44px;
    min-height: 66px;
  }
  .jojo-primary-nav__mobile-logo {
    font-family: var(--jojo-serif);
    font-size: 22px;
    font-weight: 600;
    grid-column: 2;
    justify-self: center;
    letter-spacing: .09em;
    text-decoration: none;
  }
  .jojo-primary-nav__close {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    left: auto !important;
    position: relative !important;
    top: auto !important;
  }
  .jojo-primary-nav__search {
    align-items: center;
    border-bottom: 1px solid var(--jojo-line);
    display: flex !important;
    gap: 12px;
    min-height: 66px;
  }
  .jojo-primary-nav__search > span {
    border: 1.5px solid currentColor;
    border-radius: 50%;
    height: 17px;
    position: relative;
    width: 17px;
  }
  .jojo-primary-nav__search > span::after {
    background: currentColor;
    content: '';
    height: 1.5px;
    position: absolute;
    right: -5px;
    top: 14px;
    transform: rotate(45deg);
    width: 7px;
  }
  .jojo-primary-nav__search input {
    background: transparent;
    border: 0;
    box-shadow: none;
    font-family: var(--jojo-condensed);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .04em;
    min-width: 0;
    outline: 0;
    text-transform: uppercase;
    width: 100%;
  }
  .jojo-primary-nav__list { padding-top: 13px !important; }
  .jojo-primary-nav__item { min-height: 54px; }
  .jojo-primary-nav__link {
    font-family: var(--jojo-condensed) !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    letter-spacing: .015em !important;
    min-height: 54px !important;
    text-transform: uppercase !important;
  }
  .jojo-primary-nav__disclosure::before,
  .jojo-primary-nav__disclosure::after { left: 18px !important; width: 9px !important; }
  .jojo-primary-nav__utilities {
    border-top: 1px solid var(--jojo-line);
    display: grid !important;
    gap: 13px;
    margin-top: 28px;
    padding-top: 22px;
  }
  .jojo-primary-nav__utilities a { color: #5f5c57; font-family: var(--jojo-serif); font-size: 17px; text-decoration: none; }
}

/* ---------- Category rail + native filters ---------- */
.jojo-category-rail {
  align-items: center;
  border-bottom: 1px solid var(--jojo-line);
  border-top: 1px solid var(--jojo-line);
  display: flex;
  gap: 30px;
  margin: 0 0 20px;
  min-height: 58px;
  overflow: hidden;
  padding: 0 2px;
}
.jojo-category-rail strong {
  flex: 0 0 auto;
  font-family: var(--jojo-condensed);
  font-size: 17px;
  letter-spacing: .025em;
  text-transform: uppercase;
}
.jojo-category-rail > div {
  align-items: center;
  display: flex;
  gap: 26px;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
  white-space: nowrap;
}
.jojo-category-rail > div::-webkit-scrollbar { display: none; }
.jojo-category-rail a {
  color: var(--jojo-ink);
  font-family: var(--jojo-serif);
  font-size: 15px;
  padding: 19px 0 16px;
  text-decoration: none;
}
.jojo-category-rail a[aria-current="page"] { color: var(--jojo-gold); font-style: italic; }
body#category #search_filter_toggler {
  border: 0 !important;
  font-family: var(--jojo-condensed) !important;
  font-size: 13px !important;
  letter-spacing: .035em !important;
}
body#category #offcanvas-faceted .offcanvas-title,
body#category #offcanvas-faceted .accordion-button {
  font-family: var(--jojo-condensed) !important;
  font-size: 16px !important;
  letter-spacing: .025em !important;
}

/* The native Hummingbird left-column is hidden on wide catalog layouts.
   Keep it layout-neutral while allowing its native offcanvas child to open. */
body#category #left-column:has(#offcanvas-faceted) {
  display: contents !important;
}

body#category #offcanvas-faceted {
  width: min(430px, 100vw) !important;
}
body#category #offcanvas-faceted .accordion-body {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2,minmax(0,1fr));
  padding: 8px 0 22px !important;
}
body#category #offcanvas-faceted .search-filters__form-check {
  align-items: center;
  border: 1px solid var(--jojo-line);
  justify-content: center;
  min-height: 48px;
  padding: 8px !important;
  text-align: center;
}
body#category #offcanvas-faceted .search-filters__form-check input { display: none; }
body#category #offcanvas-faceted .search-filters__form-label { margin: 0 !important; }
@media (max-width: 767.98px) {
  .jojo-category-rail { gap: 18px; margin: 0 -12px 10px; min-height: 54px; padding: 0 16px; }
  .jojo-category-rail strong { font-size: 16px; }
  .jojo-category-rail > div { gap: 20px; }
  .jojo-category-rail a { font-size: 15px; padding-block: 17px 14px; }
  body#category #offcanvas-faceted { width: 100vw !important; }
  body#category #offcanvas-faceted .offcanvas-header { justify-content: center; min-height: 70px !important; }
  body#category #offcanvas-faceted .btn-close { position: absolute; right: 20px; }
  body#category #offcanvas-faceted .offcanvas-body { padding: 0 20px 92px !important; }
}

/* ---------- Product page ---------- */
@media (min-width: 992px) {
  #product .product__container {
    gap: clamp(44px,5vw,88px) !important;
    grid-template-columns: minmax(0,1.42fr) minmax(350px,.72fr) !important;
  }
  #product .product__images { display: grid; gap: 14px; grid-template-columns: 86px minmax(0,1fr); }
  #product .product__carousel { grid-column: 2; grid-row: 1; }
  #product .product__thumbnails { grid-column: 1; grid-row: 1; margin: 0 !important; }
  #product .product__thumbnails-list { display: flex !important; flex-direction: column; gap: 9px !important; }
  #product .product__thumbnail { width: 86px; }
}
@media (max-width: 767.98px) {
  #product .breadcrumb { display: none; }
  #product .product__carousel { margin: 0 !important; }
  #product .product__carousel .carousel-item img { aspect-ratio: .72 !important; object-fit: cover !important; }
  #product .product__right { padding: 25px 18px 0 !important; }
  #product .product__name { font-size: clamp(36px,11vw,49px) !important; line-height: .9 !important; }
  #product .product__price { font-size: 21px !important; }
  #product .product__actions .add-to-cart { min-height: 52px !important; }
}

/* ---------- Homepage proportions ---------- */
.jojo-homepage { gap: 0 !important; }
.jojo-home-block { border: 0 !important; }
.jojo-home-block__media picture { inset: 0 !important; position: absolute !important; }
.jojo-home-block__media img { object-position: center top; }
@media (max-width: 767.98px) {
  .jojo-home-block,
  .jojo-home-block--1,
  .jojo-home-block--4 { min-height: calc(100svh - 62px) !important; }
  .jojo-home-block--2,
  .jojo-home-block--3 { min-height: 78svh !important; }
  .jojo-home-block--2 .jojo-home-block__media,
  .jojo-home-block--3 .jojo-home-block__media {
    aspect-ratio: auto !important;
    inset: 0 !important;
    position: absolute !important;
  }
  .jojo-home-block--2 .jojo-home-block__veil,
  .jojo-home-block--3 .jojo-home-block__veil { display: block !important; }
  .jojo-home-block--2 .jojo-home-block__content,
  .jojo-home-block--3 .jojo-home-block__content {
    align-items: center !important;
    align-self: stretch !important;
    background: transparent !important;
    color: #fff !important;
    justify-content: flex-end !important;
    min-height: 0 !important;
    padding: 34px 22px 42px !important;
    text-align: center !important;
  }
  .jojo-home-block .jojo-display { font-size: clamp(39px,11vw,54px) !important; }
  .jojo-home-block__subtitle { line-height: 1.5 !important; margin: 13px auto 20px !important; }
}

/* ---------- 2026-08-11 focused category / product refinement ---------- */
/* Native ordering remains available to ps_facetedsearch, but its two approved
   price choices are presented inside the existing filter drawer by JS. */
body#category .products__sort {
  align-items: center;
  display: flex !important;
  flex: 0 0 auto !important;
  margin-left: auto;
  width: auto !important;
}
body#category .products__sort-label,
body#category .products__sort-dropdown { display: none !important; }
body#category .products__selection {
  align-items: center;
  justify-content: space-between;
}
body#category #search_filter_toggler {
  align-items: center;
  color: #171717 !important;
  display: inline-flex;
  gap: 7px;
  min-height: 36px;
  padding: 5px 0 !important;
  width: auto !important;
}
body#category #search_filter_toggler .material-icons {
  font-size: 17px !important;
  font-weight: 300;
}

body#category .jojo-filter-sort .accordion-body {
  display: grid !important;
  gap: 8px;
  grid-template-columns: repeat(2,minmax(0,1fr));
  padding: 8px 0 22px !important;
}
body#category .jojo-filter-sort__option {
  align-items: center;
  border: 1px solid var(--jojo-line);
  color: #171717;
  display: flex;
  font-family: var(--jojo-condensed);
  font-size: 12px;
  font-weight: 700;
  justify-content: center;
  letter-spacing: .025em;
  min-height: 48px;
  padding: 8px 10px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}
body#category .jojo-filter-sort__option.current,
body#category .jojo-filter-sort__option:hover,
body#category .jojo-filter-sort__option:focus-visible {
  background: #171717;
  border-color: #171717;
  color: #fff;
}

/* Hummingbird already ships a full-resolution modal gallery. Make the whole
   hero image an obvious, generous trigger while retaining its native modal. */
body#product .product__carousel .carousel-item img { cursor: zoom-in; }
body#product .product-images-modal img {
  touch-action: pan-x pan-y pinch-zoom;
  user-select: none;
}
body#product .breadcrumb { display: none !important; }

body#product .product__accordion.jojo-product-details-inline {
  border-bottom: 1px solid var(--jojo-line);
  border-top: 1px solid var(--jojo-line);
  margin-top: 18px;
}
body#product .jojo-product-details-inline .accordion-item {
  border-color: var(--jojo-line) !important;
}
body#product .jojo-product-details-inline .accordion-button {
  font-family: var(--jojo-condensed);
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: .035em;
  min-height: 44px;
  padding: 10px 2px !important;
  text-transform: uppercase;
}
body#product .jojo-product-details-inline .accordion-body {
  font-size: 13px;
  line-height: 1.55;
  padding: 3px 2px 16px !important;
}
body#product .product__bottom:has(.product__bottom-left:empty) {
  margin-top: 22px !important;
  padding-top: 0 !important;
}
body#product .product__bottom:has(.product__bottom-left:empty) .product__bottom-left { display: none; }

/* One presentation-only control delegates to the one native cart button. */
.jojo-sticky-cart {
  align-items: center;
  background: rgba(255,255,255,.97);
  border-top: 1px solid var(--jojo-line);
  bottom: 0;
  box-shadow: 0 -8px 24px rgba(23,23,23,.07);
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0,1fr) auto;
  left: 0;
  opacity: 0;
  padding: 11px clamp(22px,4vw,64px);
  pointer-events: none;
  position: fixed;
  transform: translate3d(0,105%,0);
  transition: opacity .2s ease,transform .28s cubic-bezier(.22,.61,.36,1);
  width: 100%;
  z-index: 1035;
}
.jojo-sticky-cart.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translate3d(0,0,0);
}
.jojo-sticky-cart__meta { min-width: 0; }
.jojo-sticky-cart__name {
  display: block;
  font-family: var(--jojo-condensed);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .025em;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.jojo-sticky-cart__selection {
  color: #6d6963;
  display: block;
  font-size: 11px;
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.jojo-sticky-cart__action {
  align-items: center;
  background: #151515;
  border: 1px solid #151515;
  color: #fff;
  display: inline-flex;
  font-family: var(--jojo-condensed);
  font-size: 12px;
  font-weight: 700;
  gap: 18px;
  justify-content: center;
  letter-spacing: .055em;
  min-height: 44px;
  min-width: 260px;
  padding: 9px 18px;
  text-transform: uppercase;
}
.jojo-sticky-cart__action:disabled { cursor: not-allowed; opacity: .48; }
.jojo-sticky-cart__price { font-size: 13px; letter-spacing: 0; }

@media (min-width: 992px) {
  body#category #left-column:has(#offcanvas-faceted) {
    display: block !important;
    flex: 0 0 0 !important;
    height: 0 !important;
    margin: 0 !important;
    max-width: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    width: 0 !important;
  }
  body#category #center-column {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  body#category #main { padding-top: 8px; }
  body#category .category__header {
    margin-bottom: 6px !important;
    padding: 16px 24px 10px !important;
  }
  body#category .page-title-section,
  body#category .block-category,
  body#category .page-header { margin-bottom: 8px !important; padding-block: 16px 10px !important; }
  body#category .page-title-section__title,
  body#category .block-category h1,
  body#category .page-header h1 {
    font-size: clamp(26px,2.15vw,34px) !important;
    line-height: 1 !important;
  }
  body#category .jojo-category-rail { margin-bottom: 10px; min-height: 50px; }
  body#category .jojo-category-rail a { padding-block: 15px 13px; }

  body#product #main { padding-top: 10px; }
  body#product .product__container {
    align-items: start;
    gap: clamp(36px,4vw,70px) !important;
    grid-template-columns: minmax(0,1.34fr) minmax(360px,.72fr) !important;
    padding-bottom: 0 !important;
  }
  body#product .product__images { grid-template-columns: 72px minmax(0,1fr); }
  body#product .product__thumbnail { width: 72px; }
  body#product .product__right { padding-top: 4px !important; }
  body#product .product__name {
    font-size: clamp(34px,3.15vw,52px) !important;
    line-height: .94 !important;
    margin-bottom: 6px !important;
  }
  body#product .product__manufacturer { margin-bottom: 10px !important; }
  body#product .product__prices { margin-bottom: 17px !important; padding-bottom: 16px !important; }
  body#product .product__variants { margin-bottom: 14px !important; }
  body#product .product__add-to-cart-container { margin-bottom: 10px !important; }
  body#product .ps-categoryproducts,
  body#product .ps-viewedproduct { margin-top: 34px !important; }
  body#product .module-products .products {
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  }
  body#product .module-products .product-miniature {
    grid-column: auto !important;
    width: auto !important;
  }
}

/* ---------- Focused mobile category/product corrections (2026-08-15) ---------- */
body#category .product-miniature__image-link { position: relative; }
body#category .jojo-product-soldout {
  align-items: center;
  color: #fff;
  display: flex;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 15px;
  font-weight: 600;
  inset: 0;
  justify-content: center;
  letter-spacing: .14em;
  pointer-events: none;
  position: absolute;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 6px;
  z-index: 5;
}
body#category .jojo-product-soldout::before {
  background: linear-gradient(180deg, rgba(14,13,12,.18), rgba(14,13,12,.07) 46%, rgba(14,13,12,.25));
  content: "";
  inset: 0;
  position: absolute;
  z-index: -1;
}
@media (max-width: 767.98px) {
  body#category .page-title-section,
  body#category .block-category,
  body#category .page-header { padding: 18px 12px 9px !important; }
  body#category .page-title-section__title,
  body#category .block-category h1,
  body#category .page-header h1 { font-size: 20px !important; line-height: 1 !important; }
  body#category .jojo-category-rail { margin-bottom: 2px; }
  body#category .products__selection { min-height: 44px !important; padding: 3px 11px !important; }
  body#category .products__filter-button { margin-left: auto; }

  body#product .breadcrumb { display: none; }
  body#product #main { padding: 0 !important; }
  body#product .columns-container.container {
    max-width: none !important;
    padding-inline: 0 !important;
  }
  body#product .center-column.page { padding-inline: 0 !important; }
  body#product .product__container {
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }
  body#product .product__left {
    margin-bottom: 0 !important;
  }
  body#product .product__left,
  body#product .product__images,
  body#product .product__carousel { width: 100% !important; }
  body#product .product__carousel .carousel-item img {
    aspect-ratio: .72 !important;
    object-position: center top;
  }
  body#product .product__right { padding: 16px 15px 0 !important; }
  body#product .product__name {
    font-size: clamp(25px,7.6vw,31px) !important;
    line-height: .98 !important;
    margin-bottom: 5px !important;
  }
  body#product .product__manufacturer { margin-bottom: 7px !important; }
  body#product .product__prices {
    margin-bottom: 13px !important;
    padding-bottom: 12px !important;
  }
  body#product .product__description-short { margin-bottom: 12px !important; }
  body#product .product__variants { gap: 8px !important; margin-bottom: 12px !important; }
  body#product .product-variant { margin-bottom: 0 !important; }
  body#product .product__add-to-cart-container { margin-bottom: 8px !important; }
  body#product .product__actions-qty-add { gap: 8px !important; }
  body#product .product__actions .add-to-cart { min-height: 48px !important; }
  body#product .product__accordion.jojo-product-details-inline { margin-top: 13px; }
  body#product .product__bottom { margin-inline: 15px !important; padding: 15px 0 30px !important; width: auto !important; }
  body#product .ps-categoryproducts,
  body#product .ps-viewedproduct { margin-block: 22px !important; }
  body#product .module-products .products {
    display: grid !important;
    gap: 4px !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  body#product .module-products .product-miniature {
    grid-column: auto !important;
    width: auto !important;
  }

  .jojo-sticky-cart {
    gap: 9px;
    grid-template-columns: minmax(0,1fr) minmax(152px,44vw);
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
  }
  .jojo-sticky-cart__name { font-size: 10.5px; }
  .jojo-sticky-cart__selection { font-size: 9.5px; }
  .jojo-sticky-cart__action { gap: 8px; min-height: 42px; min-width: 0; padding: 7px 10px; width: 100%; }
  .jojo-sticky-cart__price { font-size: 11px; }
}

/* ---------- Mobile product/category UX refinement ---------- */
@media (max-width: 767.98px) {
  body#category .page-title-section,
  body#category .block-category,
  body#category .page-header {
    display: block !important;
    height: auto !important;
    margin: 0 !important;
    min-height: 0 !important;
    padding: 14px 10px 11px !important;
    text-align: center;
  }
  body#category .page-title-section__title,
  body#category .block-category h1,
  body#category .page-header h1 {
    font-size: 18px !important;
    letter-spacing: .07em !important;
    line-height: 1.1 !important;
    margin: 0 !important;
  }
  body#category .category__header {
    height: auto !important;
    min-height: 0 !important;
    padding: 13px 12px 11px !important;
  }
  body#category .category__header > h1.page-title-section {
    font-size: 18px !important;
    letter-spacing: .07em !important;
    line-height: 1.1 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center;
  }

  body#product .product__carousel .carousel-control-prev,
  body#product .product__carousel .carousel-control-next {
    display: none !important;
  }
  body#product .product__carousel .product__zoom {
    height: 34px !important;
    right: 9px !important;
    top: 9px !important;
    width: 34px !important;
  }
  body#product .jojo-product-gallery-dots {
    align-items: center;
    bottom: 12px;
    display: flex;
    gap: 6px;
    justify-content: center;
    left: 50%;
    pointer-events: none;
    position: absolute;
    transform: translateX(-50%);
    z-index: 4;
  }
  body#product .jojo-product-gallery-dots i {
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(18,17,15,.25);
    border-radius: 50%;
    display: block;
    height: 6px;
    transition: background .18s ease, transform .18s ease;
    width: 6px;
  }
  body#product .jojo-product-gallery-dots i.is-active {
    background: #11100e;
    border-color: #11100e;
    transform: scale(1.08);
  }

  body#product .product__right { padding: 11px 12px 0 !important; }
  body#product .product__name {
    font-size: 18px !important;
    line-height: 1.15 !important;
    margin: 0 0 3px !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  body#product .product__manufacturer {
    font-size: 10px !important;
    letter-spacing: .1em;
    margin: 0 0 5px !important;
  }
  body#product .product__prices {
    border-bottom: 1px solid var(--jojo-line);
    margin: 0 0 8px !important;
    padding: 0 0 7px !important;
  }
  body#product .product__prices-block {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 2px 8px;
  }
  body#product .product__prices-block > .product__prices-inline:not(.product__discount-price) { order: 1; }
  body#product .product__prices-block > .product__discount-price { order: 2; }
  body#product .product__prices-block > .product__tax-infos { order: 3; }
  body#product .product__price { font-size: 22px !important; line-height: 1.1 !important; }
  body#product .product__discount-price,
  body#product .product__regular-price,
  body#product .product__discount-amount { font-size: 11px !important; }
  body#product .product__tax-infos { font-size: 9px !important; margin: 0 !important; }
  body#product .product__description-short:empty { display: none !important; }

  body#product .product__actions form {
    display: grid;
    gap: 6px 9px;
    grid-template-columns: minmax(0,1fr) 92px;
  }
  body#product .product__variants {
    display: block !important;
    grid-column: 1;
    grid-row: 1;
    margin: 0 !important;
    min-width: 0;
  }
  body#product .product-variant,
  body#product .product-variant select {
    height: 40px !important;
    min-height: 40px !important;
    width: 100% !important;
  }
  body#product .product-variant__label { display: none !important; }
  body#product .product__add-to-cart-container,
  body#product .product__actions-qty-add { display: contents !important; }
  body#product .product__quantity {
    display: grid !important;
    grid-column: 2;
    grid-row: 1;
    grid-template-columns: 28px 36px 28px;
    height: 40px !important;
    width: 92px !important;
  }
  body#product .product__quantity .btn,
  body#product .product__quantity #quantity_wanted {
    height: 40px !important;
    margin: 0 0 0 -1px !important;
    min-height: 40px !important;
    padding: 0 !important;
    width: auto !important;
  }
  body#product .product__quantity .decrement { margin-left: 0 !important; }
  body#product .product__availability {
    grid-column: 1 / -1;
    grid-row: 2;
    margin: 0 !important;
    min-height: 16px;
  }
  body#product .product__availability-status { font-size: 10px !important; line-height: 1.35 !important; }
  body#product .product__add-to-cart {
    grid-column: 1 / -1;
    grid-row: 3;
  }
  body#product .product__add-to-cart-button {
    height: 46px !important;
    min-height: 46px !important;
    width: 100% !important;
  }
  body#product .product__additional-info {
    grid-column: 1 / -1;
    grid-row: 4;
    margin: 0 !important;
    min-height: 26px;
  }
  body#product .product__accordion.jojo-product-details-inline {
    grid-column: 1 / -1;
    margin-top: 7px !important;
  }
  body#product .jojo-product-details-inline .accordion-button {
    min-height: 36px !important;
    padding: 7px 1px !important;
  }
  body#product .product__bottom {
    margin: 0 12px !important;
    padding: 8px 0 12px !important;
  }
  body#product .ps-categoryproducts,
  body#product .ps-viewedproduct { margin-block: 12px !important; }
  body#product .module-products .section-title {
    font-size: 19px !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    padding: 10px 12px 9px !important;
  }
  body#product .module-products .product-miniature__bottom { padding: 7px 4px 9px !important; }
  body#product .module-products .products { align-items: start !important; }
  body#product .module-products .product-miniature,
  body#product .module-products .product-miniature__bottom {
    align-self: start !important;
    height: auto !important;
  }
  body#product .module-products .product-miniature__bottom { min-height: 58px !important; }
  body#product .module-products .product-miniature__title {
    font-size: 11px !important;
    line-height: 1.2 !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  body#product .module-products .product-miniature__details,
  body#product .module-products .product-miniature__actions { display: none !important; }
}

/* ---------- Internal desktop header/category/product refinement ---------- */
@media (min-width: 992px) {
  body:not(#index) #header .jojo-header-shell {
    align-items: center;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 64px;
    padding-inline: clamp(30px, 4vw, 68px);
  }
  body:not(#index) #header .jojo-header-main { display: contents !important; }
  body:not(#index) #header .jojo-logo {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    margin-right: clamp(28px, 3vw, 48px);
  }
  body:not(#index) #header .jojo-logo span { font-size: 23px; }
  body:not(#index) #header .jojo-header-tools {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
  }
  body:not(#index) #header .jojo-primary-nav {
    align-self: stretch;
    border: 0 !important;
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
  }
  body:not(#index) #header .jojo-primary-nav__panel {
    height: 100%;
    margin: 0 !important;
    max-width: none !important;
  }
  body:not(#index) #header .jojo-primary-nav__list {
    height: 100%;
    justify-content: flex-start !important;
  }
  body:not(#index) #header .jojo-mega-menu {
    left: 0;
    position: fixed;
    right: 0;
    top: 64px;
  }

  body#category #left-column > :not(#offcanvas-faceted),
  body#category #left-column > #search_filters_wrapper,
  body#category #left-column > .ps-categorytree { display: none !important; }
  body#category #left-column > #search_filters_wrapper,
  body#category #left-column > .ps-categorytree {
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }
  body#category .category__header {
    margin-bottom: 0 !important;
    min-height: 0 !important;
    padding: 18px 24px 12px !important;
  }
  body#category .category__header > h1.page-title-section {
    font-size: clamp(27px, 2.25vw, 32px) !important;
    letter-spacing: .035em !important;
    line-height: 1.05 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center;
  }
  body#category .jojo-category-rail {
    justify-content: center;
    margin-bottom: 0 !important;
  }
  body#category .jojo-category-rail > strong { display: none !important; }
  body#category .products__selection {
    min-height: 44px !important;
    padding-block: 4px !important;
  }

  body#product .product__name {
    font-size: clamp(29px, 2.45vw, 35px) !important;
    letter-spacing: 0 !important;
    line-height: 1.04 !important;
    margin-bottom: 7px !important;
  }
}

/* ---------- Final focused mobile category/product corrections (2026-08-15) ---------- */
@media (max-width: 767.98px) {
  body#category .category__header { padding: 6px 10px 7px !important; }
  body#category .category__header > h1.page-title-section,
  body#category .page-title-section,
  body#category .block-category,
  body#category .page-header { padding-block: 5px !important; }
  body#category .jojo-category-rail {
    align-items: center;
    display: flex !important;
    gap: 10px;
    min-height: 48px;
    overflow: hidden;
    padding: 0 10px !important;
  }
  body#category .jojo-category-rail > strong { display: none !important; }
  body#category .jojo-category-rail > div {
    flex: 1 1 auto;
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: none;
    white-space: nowrap;
  }
  body#category .jojo-category-rail > div::-webkit-scrollbar { display: none; }
  body#category .jojo-category-filter-trigger {
    background: transparent !important;
    border: 0 !important;
    color: #11100e !important;
    flex: 0 0 auto;
    font-size: 11px !important;
    margin: 0 !important;
    min-height: 36px !important;
    order: -1;
    padding: 0 3px !important;
  }
  body#category .products__selection { min-height: 0 !important; padding: 0 !important; }
  html:has(body#product), body#product { max-width: 100%; overflow-x: clip; }
  body#product .product__container,
  body#product .product__left,
  body#product .product__images,
  body#product .product__carousel,
  body#product .product__carousel .carousel-inner,
  body#product .product__carousel .carousel-item { max-width: 100vw !important; }
  body#product .product__carousel {
    margin-top: 0 !important;
    overscroll-behavior-x: contain;
    touch-action: pan-y pinch-zoom;
  }
  body#product .product__carousel .carousel-item img {
    border: 0 !important;
    border-radius: 0 !important;
    display: block;
    width: 100% !important;
  }
  body#product .product__left { margin-bottom: 0 !important; }
  body#product .product__right { padding-top: 7px !important; }
  body#product .product__quantity .quantity-button__group {
    display: grid !important;
    grid-template-columns: 28px 36px 28px;
    height: 40px !important;
    width: 92px !important;
  }
  body#product .product__quantity .btn,
  body#product .product__quantity #quantity_wanted {
    border: 1px solid #c9c6c0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 17px !important;
    line-height: 38px !important;
    margin: 0 0 0 -1px !important;
    text-align: center;
  }
  body#product .product__quantity .decrement { margin-left: 0 !important; }
}


/* ============================================================
   JOJO RABBIT — product page cleanup (2026-08-31)
   Hide the customer-reviews / comments module block entirely on
   the product page (write-a-review button, comment list, "write
   the first review" prompt) - not wanted on the storefront.
   ============================================================ */
body#product .product-comments-wrapper {
  display: none !important;
}
