/* Wishlist feedback must be above Journal's header (z-index:100000). */
html body #luno-toast{z-index:2147483000!important}
html body #product .btn-wishlist:focus:not(:focus-visible),
html body #product .btn-wishlist:active{outline:none!important;box-shadow:none!important}
/* =========================
   LUNORIA TOAST (TOP-RIGHT)
   ========================= */
#luno-toast{
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 99999;

  display: none;
  max-width: 360px;
  padding: 12px 14px;
  border-radius: 12px;

  background: rgba(25,25,25,.92);
  color: #fff;
  font-size: 14px;
  line-height: 1.35;

  box-shadow: 0 10px 26px rgba(0,0,0,.22);
}

/* Keep the desktop basket pointer without reserving a shaded strip above its contents. */
@media (min-width: 1025px) {
  .desktop-header-active #cart-content {
    background: #fff !important;
  }

  .desktop-header-active #cart-content::before {
    position: absolute !important;
    top: 0 !important;
    right: 30px !important;
    left: auto !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 1 !important;
  }

  .desktop-header-active #cart-content > ul {
    box-shadow: none !important;
  }
}

/* Homepage hero: three distinct editorial slides, with real accessible text. */
.module-master_slider-26 .module-item-2 .module-subitem-1 {
    color: #54202c !important;
    background: rgba(255, 247, 239, .93) !important;
}

.module-master_slider-26 .module-item-2 .module-subitem-2 {
    color: #fffaf4 !important;
    text-shadow: 0 2px 16px rgba(20, 7, 13, .36) !important;
}

.module-master_slider-26 .module-item-2 .module-subitem-3.ms-layer-button.btn {
    color: #5b1b2b !important;
    background: #fffaf4 !important;
    background-color: #fffaf4 !important;
    border-color: #fffaf4 !important;
}

.module-master_slider-26 .module-item-3 .module-subitem-1 {
    color: #ffffff !important;
    background: #625b91 !important;
}

.module-master_slider-26 .module-item-4 .module-subitem-1 {
    color: #fffaf4 !important;
    background: #7a2031 !important;
}

.module-master_slider-26 .module-item-3 .module-subitem-2 {
    color: #27455f !important;
}

.module-master_slider-26 .module-item-4 .module-subitem-2 {
    color: #4c2530 !important;
}

.module-master_slider-26 .module-item-3 .module-subitem-3.ms-layer-button.btn {
    color: #fff !important;
    background: #625b91 !important;
    background-color: #625b91 !important;
    border-color: #625b91 !important;
}

.module-master_slider-26 .module-item-4 .module-subitem-3.ms-layer-button.btn {
    color: #fffaf4 !important;
    background: #7a2031 !important;
    background-color: #7a2031 !important;
    border-color: #7a2031 !important;
}

.module-master_slider-26 .module-subitem-3:hover,
.module-master_slider-26 .module-subitem-3:focus-visible {
    filter: brightness(1.12);
}

@media (max-width: 767px) {
  .module-master_slider-26 .module-item .module-subitem-3.ms-layer-button.btn {
    font-size: 13px !important;
    line-height: 1.15 !important;
    padding: 10px 14px !important;
  }

  .module-master_slider-26 .module-item-2 .module-subitem-3.ms-layer-button.btn {
    font-size: 12px !important;
  }
}

/* Lunoria homepage audience banners: unaltered catalog product photography. */
.module-banners-259 .module-item > a {
  position: relative;
  display: block;
  overflow: hidden;
  isolation: isolate;
}

.module-banners-259 .module-item-1 > a {
  background: #eeebf5;
}

.module-banners-259 .module-item-2 > a {
  background: #e9e9e9;
}

.module-banners-259 .module-item > a > img {
  display: block;
  width: 100%;
  height: auto;
  mix-blend-mode: multiply;
  transform: translateX(22%);
}

/* Keep Sona 3 at the same visual scale as the Rev product below. */
.module-banners-259 .module-item-1 > a > img {
  opacity: 0;
  transform: none;
}

.module-banners-259 .module-item-1 > a::before {
  content: '';
  position: absolute;
  inset: 0 0 0 auto;
  width: 63% !important;
  z-index: 0;
  opacity: 1 !important;
  background: url('/image/catalog/products/oneonone/n13018/n13018-lelo-sona3-cyber-purple-1.jpg') right center / auto 120% no-repeat;
  transform: translateX(8%);
  mix-blend-mode: multiply;
  pointer-events: none;
}

/* Journal's 320x210 crop cuts the Rev device; render its full catalog photo in the banner frame. */
.module-banners-259 .module-item-2 > a > img {
  opacity: 0;
  transform: none;
}

.module-banners-259 .module-item-2 > a::before {
  content: '';
  position: absolute;
  inset: 0 0 0 auto;
  width: 63% !important;
  z-index: 0;
  opacity: 1 !important;
  background: url('/image/catalog/products/oneonone/n12955/n12955-rev-thrusting-and-rotating-male-masturbator-1.jpg') right center / auto 100% no-repeat;
  mix-blend-mode: multiply;
  pointer-events: none;
}

.module-banners-259 .module-item > a::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  margin: 0 !important;
  background: linear-gradient(90deg, rgba(255, 255, 255, .22), transparent 56%);
  pointer-events: none;
  transition: opacity .25s ease;
}

.module-banners-259 .banner-caption,
.module-banners-259 .banner-caption-2 {
  right: auto !important;
  z-index: 2;
  width: auto !important;
  transform: none !important;
  pointer-events: none;
}

.module-banners-259 .banner-caption {
  top: 24px !important;
  bottom: auto !important;
  left: 22px !important;
}

.module-banners-259 .banner-caption > span,
.module-banners-259 .banner-caption-2 > span {
  display: block !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #3b345a !important;
  background: transparent !important;
}

.module-banners-259 .module-item-2 .banner-caption > span {
  color: #292b35 !important;
}

.module-banners-259 .lunoria-side-heading {
  display: block;
  max-width: 150px;
  font-family: Montserrat, sans-serif;
  font-size: clamp(22px, 1.65vw, 27px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.025em;
  text-align: left;
  text-transform: uppercase;
  text-shadow: none;
}

.module-banners-259 .banner-caption-2 {
  top: auto !important;
  bottom: 22px !important;
  left: 22px !important;
}

.module-banners-259 .banner-caption-2 .lunoria-side-cta {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 32px;
  padding: 8px 12px;
  border: 1px solid #5b517f;
  border-radius: 999px;
  color: #fff !important;
  background: #5b517f !important;
  box-shadow: 0 4px 12px rgba(35, 5, 10, .1);
  font-family: Montserrat, sans-serif;
  font-size: 10px !important;
  font-weight: 750;
  line-height: 1;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap !important;
  transition: transform .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.module-banners-259 .banner-caption-2 .lunoria-side-cta-arrow {
  display: none !important;
}

.module-banners-259 .module-item-2 .lunoria-side-cta {
  border-color: #30343d;
  background: #30343d !important;
}

.desktop .module-banners-259 .module-item > a:hover .lunoria-side-cta,
.module-banners-259 .module-item > a:focus-visible .lunoria-side-cta {
  border-color: #706596;
  color: #fff !important;
  background: #706596 !important;
  box-shadow: 0 6px 14px rgba(35, 5, 10, .2);
  transform: translateY(-1px);
}

.desktop .module-banners-259 .module-item-2 > a:hover .lunoria-side-cta,
.module-banners-259 .module-item-2 > a:focus-visible .lunoria-side-cta {
  border-color: #4a505d;
  background: #4a505d !important;
}

.module-banners-259 .module-item > a:focus-visible {
  outline: 3px solid rgba(141, 32, 46, .4);
  outline-offset: 3px;
}

@media (max-width: 760px) {
  .module-banners-259 .banner-caption {
    top: 12px !important;
    left: 12px !important;
  }

  .module-banners-259 .lunoria-side-heading {
    max-width: 80px;
    font-size: clamp(13px, 3.7vw, 17px);
  }

  .module-banners-259 .banner-caption-2 {
    bottom: 10px !important;
    left: 10px !important;
  }

  .module-banners-259 .banner-caption-2 .lunoria-side-cta {
    min-width: 0;
    min-height: 23px;
    padding: 5px 8px;
    font-size: 7px !important;
    letter-spacing: .03em;
  }
}

@media (prefers-reduced-motion: reduce) {
  .module-banners-259 .lunoria-side-cta {
    transition: none;
  }
}

/* Lunoria search dialog v2 */
html.luno-search-open,
body.luno-search-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

#luno-search-popup {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483600 !important;
  display: grid !important;
  place-items: start center !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  padding: 32px 20px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: none !important;
  transition: opacity .2s ease, visibility .2s ease !important;
}

#luno-search-popup.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

.luno-search-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgba(28, 20, 21, .58);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  cursor: default;
}

#luno-search-popup .luno-search-popup-box {
  position: relative;
  z-index: 1;
  display: flex !important;
  flex-direction: column !important;
  width: min(720px, calc(100vw - 40px)) !important;
  height: min(760px, calc(100dvh - 64px)) !important;
  max-height: calc(100vh - 64px) !important;
  padding: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background: #fff;
  border: 1px solid rgba(122, 31, 41, .13);
  border-radius: 22px;
  box-shadow: 0 24px 80px rgba(31, 18, 20, .3);
  transform: translateY(18px) scale(.985);
  transition: transform .24s ease;
}

#luno-search-popup.is-open .luno-search-popup-box {
  transform: translateY(0) scale(1);
}

.luno-search-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex: 0 0 auto;
  padding: 20px 22px 14px;
  border-bottom: 1px solid #eee7e8;
}

.luno-search-header h2 {
  margin: 0 !important;
  color: #292526 !important;
  font-size: 22px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
}

.luno-search-header p {
  margin: 4px 0 0 !important;
  color: #777174 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

#luno-search-popup .luno-search-close {
  position: relative;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  margin: 0 !important;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f7f3f4;
  color: #403a3c;
  letter-spacing: 0;
  cursor: pointer;
}

.luno-search-close span::before,
.luno-search-close span::after {
  content: '';
  position: absolute;
  top: 21px;
  left: 12px;
  width: 20px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
}

.luno-search-close span::before { transform: rotate(45deg); }
.luno-search-close span::after { transform: rotate(-45deg); }

.luno-search-form {
  flex: 0 0 auto;
  padding: 16px 22px 12px;
  background: #fff;
}

.luno-search-label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.luno-search-field {
  position: relative;
}

#luno-search-popup .luno-search-input {
  display: block;
  width: 100% !important;
  height: 54px !important;
  margin: 0 !important;
  padding: 0 52px 0 50px !important;
  box-sizing: border-box !important;
  border: 1.5px solid #c9c1c3 !important;
  border-radius: 15px !important;
  background: #fff !important;
  color: #292526 !important;
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 54px !important;
  outline: none !important;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: none !important;
  transition: border-color .16s ease, box-shadow .16s ease !important;
}

#luno-search-popup .luno-search-input:focus {
  border-color: #8d202e !important;
  box-shadow: 0 0 0 3px rgba(141, 32, 46, .11) !important;
}

.luno-search-input::-webkit-search-cancel-button { display: none; }

.luno-search-field-icon,
.luno-search-start-icon,
.luno-search-empty-icon {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
}

.luno-search-field-icon {
  position: absolute;
  z-index: 1;
  top: 17px;
  left: 18px;
  color: #6b6467;
  pointer-events: none;
}

.luno-search-field-icon::before,
.luno-search-start-icon::before,
.luno-search-empty-icon::before {
  content: '';
  position: absolute;
  width: 12px;
  height: 12px;
  border: 2px solid currentColor;
  border-radius: 50%;
}

.luno-search-field-icon::after,
.luno-search-start-icon::after,
.luno-search-empty-icon::after {
  content: '';
  position: absolute;
  width: 8px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transform: rotate(45deg);
  transform-origin: left center;
}

.luno-search-field-icon::before { top: 0; left: 0; }
.luno-search-field-icon::after { top: 14px; left: 14px; }

.luno-search-clear {
  position: absolute;
  top: 7px;
  right: 7px;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #716a6d;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
}

.luno-search-clear.is-visible {
  opacity: 1;
  visibility: visible;
}

.luno-search-clear span,
.luno-search-clear span::before,
.luno-search-clear span::after {
  position: absolute;
}

.luno-search-clear span {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #eee8e9;
}

.luno-search-clear span::before,
.luno-search-clear span::after {
  content: '';
  top: 9px;
  left: 5px;
  width: 10px;
  height: 1.5px;
  background: currentColor;
}

.luno-search-clear span::before { transform: rotate(45deg); }
.luno-search-clear span::after { transform: rotate(-45deg); }

.luno-search-helper {
  min-height: 17px;
  margin: 7px 2px 0;
  color: #817a7c;
  font-size: 12px;
  line-height: 1.4;
}

#luno-search-popup .luno-search-results {
  flex: 1 1 auto !important;
  min-height: 0;
  padding: 0 22px 22px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #c9c0c2 transparent;
}

.luno-search-results::-webkit-scrollbar { width: 5px; }
.luno-search-results::-webkit-scrollbar-thumb { background: #c9c0c2; border-radius: 5px; }
.luno-search-results::-webkit-scrollbar-track { background: transparent; }

.luno-search-start,
.luno-search-empty {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 230px;
  padding: 28px 18px !important;
  text-align: center;
  color: #756e70 !important;
  font-size: 14px;
  font-weight: 500 !important;
  line-height: 1.45;
}

.luno-search-start-icon,
.luno-search-empty-icon {
  width: 32px;
  height: 32px;
  margin-bottom: 14px;
  color: #8d202e;
}

.luno-search-start-icon::before,
.luno-search-empty-icon::before {
  width: 19px;
  height: 19px;
  border-width: 2.5px;
  top: 0;
  left: 0;
}

.luno-search-start-icon::after,
.luno-search-empty-icon::after {
  width: 11px;
  height: 2.5px;
  top: 22px;
  left: 22px;
}

.luno-search-start strong,
.luno-search-empty strong {
  margin-bottom: 4px;
  color: #302b2d;
  font-size: 17px;
  font-weight: 750;
}

.luno-search-recent {
  width: 100%;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid #eee8e9;
}

.luno-search-recent-title {
  margin-bottom: 10px;
  color: #5e5759;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.luno-search-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

.luno-search-chip {
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid #ded6d8;
  border-radius: 999px;
  background: #faf8f8;
  color: #544d4f;
  font: inherit;
  font-size: 13px;
  font-weight: 650;
}

.luno-search-hint {
  padding: 32px 16px !important;
  color: #756e70 !important;
  font-size: 14px;
  font-weight: 500 !important;
  text-align: center;
}

.luno-search-summary {
  padding: 6px 2px 12px;
  color: #716a6d;
  font-size: 13px;
  line-height: 1.4;
}

.luno-search-summary strong { color: #453f41; font-weight: 700; }

.luno-search-list {
  overflow: hidden;
  border: 1px solid #eee8e9;
  border-radius: 16px;
  background: #fff;
}

#luno-search-popup .luno-search-result {
  display: flex !important;
  align-items: center;
  gap: 13px;
  min-height: 92px;
  padding: 10px 12px !important;
  box-sizing: border-box;
  border: 0 !important;
  border-bottom: 1px solid #eee8e9 !important;
  background: #fff;
  color: #2b2728 !important;
  text-decoration: none !important;
}

#luno-search-popup .luno-search-result:last-child { border-bottom: 0 !important; }

.luno-search-result-image {
  display: grid;
  place-items: center;
  flex: 0 0 70px;
  width: 70px;
  height: 70px;
  overflow: hidden;
  border-radius: 12px;
  background: #faf9f9;
}

#luno-search-popup .luno-search-result img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  flex: none !important;
  mix-blend-mode: multiply;
}

.luno-search-result-text {
  flex: 1 1 auto;
  min-width: 0;
}

#luno-search-popup .luno-search-result-name {
  display: -webkit-box;
  overflow: hidden;
  color: #302b2d;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#luno-search-popup .luno-search-result-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 7px;
  margin-top: 6px !important;
  color: #272324 !important;
  font-size: 14px !important;
  font-weight: 750 !important;
}

#luno-search-popup .luno-search-result-price .price-old {
  margin: 0 !important;
  color: #8b8587 !important;
  font-size: 12px;
  font-weight: 500;
  text-decoration: line-through;
}

#luno-search-popup .luno-search-result-price .price-new { color: #d21022 !important; }

.luno-search-result-arrow,
.luno-search-view-arrow {
  width: 9px;
  height: 9px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}

.luno-search-result-arrow {
  flex: 0 0 9px;
  margin-right: 4px;
  color: #aaa2a4;
}

#luno-search-popup .luno-search-view-more {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 50px;
  margin-top: 14px;
  padding: 10px 18px !important;
  box-sizing: border-box;
  border: 1px solid #8d202e;
  border-radius: 13px;
  background: #fff;
  color: #8d202e !important;
  font-size: 14px;
  font-weight: 750 !important;
  text-align: center;
  text-decoration: none !important;
}

.luno-search-loading {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 180px;
}

.luno-search-loading span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #8d202e;
  animation: luno-search-pulse .9s infinite ease-in-out;
}

.luno-search-loading span:nth-child(2) { animation-delay: .12s; }
.luno-search-loading span:nth-child(3) { animation-delay: .24s; }

@keyframes luno-search-pulse {
  0%, 60%, 100% { opacity: .25; transform: translateY(0); }
  30% { opacity: 1; transform: translateY(-4px); }
}

.luno-search-retry {
  min-height: 44px;
  margin-top: 16px;
  padding: 9px 18px;
  border: 0;
  border-radius: 999px;
  background: #8d202e;
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
}

@media (hover: hover) {
  .luno-search-close:hover,
  .luno-search-clear:hover,
  .luno-search-chip:hover { background: #f1e8ea; color: #7a1f29; }
  #luno-search-popup .luno-search-result:hover { background: #fcf9fa; }
  #luno-search-popup .luno-search-view-more:hover { background: #8d202e; color: #fff !important; }
}

@media (max-width: 767px) {
  #luno-search-popup {
    place-items: stretch !important;
    padding: 0 !important;
  }

  #luno-search-popup .luno-search-popup-box {
    width: 100% !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: translateY(16px) !important;
  }

  #luno-search-popup.is-open .luno-search-popup-box { transform: translateY(0) !important; }

  .luno-search-header {
    padding: max(14px, env(safe-area-inset-top)) 16px 12px;
  }

  .luno-search-header h2 { font-size: 20px !important; }
  .luno-search-header p { display: none; }
  .luno-search-form { padding: 14px 16px 10px; }
  #luno-search-popup .luno-search-results { padding: 0 16px max(20px, env(safe-area-inset-bottom)) !important; }
  .luno-search-start, .luno-search-empty { min-height: 210px; }
}

@media (prefers-reduced-motion: reduce) {
  #luno-search-popup,
  #luno-search-popup .luno-search-popup-box,
  #luno-search-popup .luno-search-input { transition: none !important; }
  .luno-search-loading span { animation: none !important; }
}

/* CART_PRODUCT_TITLE_NO_UNDERLINE_V115 */
html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .td-name a,
html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .td-name a:hover,
html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .td-name a:focus,
html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .td-name a:active {
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* Lunoria mobile category drawer — 2026-08-06 */
@media (max-width: 1024px) {
  /* Keep every Swiper page indicator on one line, even for large catalogues. */
  .swiper.swiper-has-pages > .swiper-pagination.swiper-pagination-bullets {
    width: max-content !important;
    max-width: calc(100% - 24px) !important;
    height: 27px !important;
    max-height: 27px !important;
    white-space: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch;
  }

  .swiper.swiper-has-pages > .swiper-pagination.swiper-pagination-bullets::-webkit-scrollbar {
    display: none !important;
  }

  .mobile-main-menu-container {
    width: min(88vw, 360px) !important;
    background: #fff !important;
  }

  .mobile-main-menu-container .mobile-wrapper-header {
    height: 48px !important;
    padding: 0 14px !important;
    border-bottom: 1px solid #eadfe1 !important;
    background: #fbf6f7 !important;
  }

  .mobile-main-menu-container .mobile-wrapper-header > span {
    color: #252525 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
  }

  .mobile-main-menu-wrapper {
    padding: 8px 10px 70px !important;
    background: #fff !important;
  }

  .mobile-main-menu-wrapper .main-menu {
    padding: 0 !important;
    background: #fff !important;
  }

  .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item {
    margin: 0 !important;
    border-bottom: 1px solid #ececef !important;
    background: #fff !important;
  }

  .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item > a {
    min-height: 46px !important;
    padding: 0 42px 0 12px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #292929 !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
  }

  .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item > a::before {
    display: none !important;
    content: none !important;
  }

  /* Mobile Special Offers row: a clear, premium offer treatment without emoji. */
  .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-14 {
    margin: 7px 0 !important;
    border-bottom: 0 !important;
  }

  .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-14 > a {
    position: relative !important;
    z-index: 0 !important;
    overflow: hidden !important;
    min-height: 50px !important;
    padding: 0 54px 0 16px !important;
    border: 1px solid #d8a8ad !important;
    border-radius: 8px !important;
    background: linear-gradient(90deg, #fff 0%, #fbf2f3 100%) !important;
    color: #7a1f29 !important;
    font-weight: 800 !important;
    box-shadow: inset 4px 0 0 #7a1f29 !important;
  }

  .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-14 > a .links-text {
    position: relative !important;
    z-index: 2 !important;
    font-weight: 800 !important;
  }

  .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-14 > a::after {
    content: "%" !important;
    position: absolute !important;
    top: 50% !important;
    right: 10px !important;
    z-index: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 31px !important;
    height: 31px !important;
    border-radius: 50% !important;
    background: #7a1f29 !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    transform: translateY(-50%) !important;
    box-shadow: 0 3px 8px rgba(122, 31, 41, .18) !important;
  }

  .mobile-main-menu-wrapper .main-menu > .j-menu > .lunoria-mobile-all-products {
    margin-bottom: 5px !important;
    border: 0 !important;
  }

  .mobile-main-menu-wrapper .main-menu > .j-menu > .lunoria-mobile-all-products > a {
    min-height: 42px !important;
    padding-left: 13px !important;
    border-radius: 8px !important;
    background: #7a1f29 !important;
    color: #fff !important;
    font-weight: 800 !important;
  }

  .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item > a:hover,
  .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item.active > a {
    background: #fff !important;
    color: #292929 !important;
  }

  .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-14 > a:hover,
  .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-14.active > a {
    border-color: #b96f77 !important;
    background: #f8e9eb !important;
    color: #681922 !important;
  }

  .mobile-main-menu-wrapper .main-menu > .j-menu > .lunoria-mobile-all-products > a:hover,
  .mobile-main-menu-wrapper .main-menu > .j-menu > .lunoria-mobile-all-products.active > a {
    background: #681922 !important;
    color: #fff !important;
  }

  .mobile-main-menu-wrapper .main-menu .open-menu {
    top: 50% !important;
    right: 6px !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    transform: translateY(-50%) !important;
    border-radius: 50% !important;
    color: #555 !important;
  }

  .mobile-main-menu-wrapper .main-menu .collapse,
  .mobile-main-menu-wrapper .main-menu .collapsing {
    margin: 0 0 6px !important;
    padding: 5px 6px 6px !important;
    border-radius: 0 0 8px 8px !important;
    background: #f8f8f9 !important;
  }

  .mobile-main-menu-wrapper .main-menu .collapsing {
    transition-property: height !important;
  }

  .mobile-main-menu-wrapper .main-menu .collapse .j-menu > li > a,
  .mobile-main-menu-wrapper .main-menu .collapsing .j-menu > li > a {
    min-height: 38px !important;
    padding: 7px 38px 7px 12px !important;
    border-bottom: 1px solid #e5e5e8 !important;
    background: transparent !important;
    color: #444 !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  /* Finish every expanded submenu cleanly: separators belong only between rows. */
  .mobile-main-menu-wrapper .main-menu .collapse .j-menu > li:last-child > a,
  .mobile-main-menu-wrapper .main-menu .collapsing .j-menu > li:last-child > a {
    border-bottom: 0 !important;
  }

  .mobile-main-menu-wrapper .main-menu .collapsing .j-menu > li,
  .mobile-main-menu-wrapper .main-menu .collapsing .j-menu > li > a {
    background: transparent !important;
  }

  .mobile-main-menu-wrapper .main-menu .links-text {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
}

/* The custom dialog replaces Journal's native desktop typeahead while open. */
html.luno-search-open #search .tt-menu,
html.luno-search-open .header-search .tt-menu {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* =========================================================
   CART STOCK STATES — clear, actionable, and mobile-safe
   ========================================================= */
.lunoria-stock-warning {
  border: 0 !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  line-height: 1.45 !important;
}
.lunoria-stock-warning-out {
  background: #f8e6e8 !important;
  color: #8b2630 !important;
}
.lunoria-stock-warning-quantity {
  background: #fff5dc !important;
  color: #715315 !important;
}
.lunoria-cart-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #383838;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  white-space: nowrap;
}
.lunoria-remove-unavailable,
.lunoria-reduce-quantity {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 38px;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 8px 16px !important;
  background: #9d2633 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}
.lunoria-stock-help {
  margin: 0 0 6px;
  color: #715315;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}
.lunoria-stock-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.lunoria-reduce-quantity {
  background: #725619 !important;
}

@media (min-width: 1025px) {
  .cart-page .cart-table tbody .lunoria-cart-product-row > td {
    vertical-align: middle !important;
    transition: background-color .15s ease;
  }
  .cart-page form.cart-table .table-responsive table.table tbody tr.lunoria-cart-product-row.is-out-of-stock > td {
    background-color: #f1f1f1 !important;
    background-image: none !important;
    color: #6f6f6f !important;
  }
  .cart-page .cart-table tbody .lunoria-cart-product-row.is-out-of-stock .td-image img {
    opacity: .46 !important;
    filter: grayscale(1) !important;
  }
  .cart-page .cart-table tbody .lunoria-cart-product-row.is-out-of-stock .td-name a,
  .cart-page .cart-table tbody .lunoria-cart-product-row.is-out-of-stock .td-model,
  .cart-page .cart-table tbody .lunoria-cart-product-row.is-out-of-stock .td-price {
    color: #6f6f6f !important;
  }
  .cart-page form.cart-table .table-responsive table.table tbody tr.lunoria-cart-product-row.is-insufficient-quantity > td {
    background-color: #fffaf0 !important;
    background-image: none !important;
  }
  .cart-page .cart-table tbody .lunoria-cart-product-row .td-qty > .input-group,
  .cart-page .cart-table tbody .lunoria-cart-product-row .td-total {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .cart-page .cart-table tbody .lunoria-cart-product-row .td-total {
    min-width: 132px;
    text-align: center !important;
  }
  .cart-page .cart-table tbody .lunoria-cart-product-row .lunoria-cart-status-badge-total {
    margin: 0 auto !important;
  }
  .cart-page .cart-table tbody .lunoria-cart-product-row .lunoria-stock-actions-total {
    min-width: 124px;
  }
  .cart-page .cart-table tbody .lunoria-cart-product-row .lunoria-remove-unavailable {
    min-width: 142px;
  }
  .cart-page .cart-table tbody .lunoria-cart-product-row .lunoria-reduce-quantity {
    min-width: 118px;
  }
}

/* Final reference-matched coupon rows and action buttons. */
html.route-checkout-cart .cart-page .cart-panels .panel-group {
  border-top: 0 !important;
}
html.route-checkout-cart .cart-page .cart-panels .panel-heading a {
  display: flex !important;
  width: 100% !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  padding: 0 8px !important;
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  color: #171717 !important;
}
html.route-checkout-cart .cart-page .cart-panels,
html.route-checkout-cart .cart-page .cart-panels .panel-group,
html.route-checkout-cart .cart-page .cart-panels .panel,
html.route-checkout-cart .cart-page .cart-panels .panel-heading {
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html.route-checkout-cart .cart-page .cart-panels .panel-heading a > span {
  display: inline-block !important;
  padding: 0 !important;
  margin: 0 !important;
}
html.route-checkout-cart .cart-page .cart-panels .panel-heading a::before {
  content: '+' !important;
  width: 20px !important;
  margin: 0 14px 0 0 !important;
  color: #171717 !important;
  font-family: inherit !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}
html.route-checkout-cart .cart-page .cart-panels .panel-heading a::after { content: none !important; }

/* Order-summary rows: paid-delivery layout with the free-shipping hint before Total. */
html.route-checkout-cart .cart-page .cart-total > table {
  width: 100% !important;
  border: 1px solid #e7e7e7 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #fff !important;
}
html.route-checkout-cart .cart-page .cart-total > table tr {
  height: 70px !important;
  background: #fff !important;
}
html.route-checkout-cart .cart-page .cart-total > table tr + tr td { border-top: 1px solid #e7e7e7 !important; }
html.route-checkout-cart .cart-page .cart-total > table td {
  padding: 0 26px !important;
  border: 0 !important;
  color: #333 !important;
  font-size: 16px !important;
  vertical-align: middle !important;
}
html.route-checkout-cart .cart-page .cart-total > table td:last-child { font-weight: 700 !important; }
html.route-checkout-cart .cart-page .cart-total > table .cart-total-total { height: 88px !important; }
html.route-checkout-cart .cart-page .cart-total > table .cart-total-total td { font-size: 20px !important; }
html.route-checkout-cart .cart-page .cart-total > table .cart-total-total td:last-child { font-size: 25px !important; }
html.route-checkout-cart .cart-page .cart-total-vat {
  display: block !important;
  margin-top: 4px !important;
  color: #666 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}
html.route-checkout-cart .cart-page .cart-total > table .cart-free-shipping-row td {
  text-align: left !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}

/* Trust strip: keep this benefit banner at the bottom of the cart page. */
html.route-checkout-cart .lunoria-cart-trust-strip {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: center !important;
  width: 100% !important;
  margin: 42px 0 28px !important;
  padding: 28px 42px !important;
  border: 1px solid #f2dfe3 !important;
  border-radius: 12px !important;
  background: #fff5f7 !important;
  box-sizing: border-box !important;
}
html.route-checkout-cart .lunoria-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  min-width: 0 !important;
  color: #171717 !important;
}
html.route-checkout-cart .lunoria-trust-item > i {
  flex: 0 0 42px !important;
  width: 42px !important;
  color: #171717 !important;
  font-size: 38px !important;
  line-height: 1 !important;
  text-align: center !important;
}
html.route-checkout-cart .lunoria-trust-item span { display: flex !important; flex-direction: column !important; gap: 4px !important; }
html.route-checkout-cart .lunoria-trust-item strong { font-size: 14px !important; line-height: 1.2 !important; }
html.route-checkout-cart .lunoria-trust-item small { font-size: 13px !important; line-height: 1.25 !important; color: #666 !important; }

/* Coupon/voucher forms: the row title is sufficient; hide duplicate inner headings. */
html.route-checkout-cart .cart-panels #collapse-coupon label,
html.route-checkout-cart .cart-panels #collapse-voucher label,
html.route-checkout-cart .cart-panels #collapse-coupon h2,
html.route-checkout-cart .cart-panels #collapse-voucher h2,
html.route-checkout-cart .cart-panels #collapse-coupon h3,
html.route-checkout-cart .cart-panels #collapse-voucher h3,
html.route-checkout-cart .cart-panels .panel-coupon .panel-body > p:first-child,
html.route-checkout-cart .cart-panels .panel-voucher .panel-body > p:first-child {
  display: none !important;
}
@media (max-width: 1024px) {
  html.route-checkout-cart .lunoria-cart-trust-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px 14px !important;
    margin: 28px 0 20px !important;
    padding: 22px 16px !important;
  }
  html.route-checkout-cart .lunoria-trust-item { gap: 9px !important; }
  html.route-checkout-cart .lunoria-trust-item > i { flex-basis: 28px !important; width: 28px !important; font-size: 25px !important; }
  html.route-checkout-cart .lunoria-trust-item strong { font-size: 10px !important; }
  html.route-checkout-cart .lunoria-trust-item small { font-size: 9px !important; }
}
html.route-checkout-cart .cart-page .cart-panels .panel {
  border-bottom: 1px solid #e7e7e7 !important;
}
html.route-checkout-cart .cart-page .cart-panels .panel:last-child { border-bottom: 0 !important; }
html.route-checkout-cart .cart-page .buttons.clearfix {
  margin-top: 20px !important;
  gap: 14px !important;
}
html.route-checkout-cart .cart-page .buttons.clearfix .btn {
  height: 64px !important;
  min-height: 64px !important;
  border-radius: 14px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
}
html.route-checkout-cart .cart-page .buttons.clearfix > .pull-right .btn-primary > span::before {
  content: none !important;
}
html.route-checkout-cart .cart-page .buttons.clearfix > .pull-right .btn-primary > i.fa-lock {
  display: inline-block !important;
  margin-right: 12px !important;
  font-size: 18px !important;
  line-height: 1 !important;
}
html.route-checkout-cart .cart-page .buttons.clearfix > .pull-right .btn-primary {
  background: #b51f43 !important;
  border-color: #b51f43 !important;
  color: #fff !important;
}
html.route-checkout-cart .cart-page .buttons.clearfix > .pull-left .btn-default {
  background: #fff !important;
  border: 2px solid #d7d7d7 !important;
  color: #171717 !important;
}

/* True final cart columns: equal Price→Quantity and Quantity→Total spacing. */
@media (min-width: 1025px) {
  html.route-checkout-cart .cart-page form.cart-table table.table .td-image { width: 12% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-name { width: 30% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-price { width: 15% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-qty { width: 20% !important; text-align: center !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-total { width: 15% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-remove { width: 8% !important; overflow: visible !important; }
  html.route-checkout-cart .cart-page form.cart-table tbody .td-qty > .input-group.btn-block {
    display: flex !important;
    width: 132px !important;
    max-width: 132px !important;
    margin: 0 auto !important;
    justify-content: center !important;
    transform: none !important;
  }
}
html.route-checkout-cart .cart-page form.cart-table .td-remove .lunoria-remove-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  overflow: visible !important;
  color: #333 !important;
}
html.route-checkout-cart .cart-page form.cart-table .td-remove .lunoria-bin-icon {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  fill: #333 !important;
}
@media (min-width: 1025px) {
  html.route-checkout-cart .cart-page form.cart-table thead .td-qty {
    transform: translateX(30px) !important;
  }
}
html.route-checkout-cart .cart-page .lunoria-reduce-quantity,
html.route-checkout-cart .cart-page .lunoria-reduce-quantity:hover,
html.route-checkout-cart .cart-page .lunoria-reduce-quantity:focus,
html.route-checkout-cart .cart-page .lunoria-reduce-quantity:active {
  transform: none !important;
  scale: 1 !important;
}
@media (min-width: 1025px) {
  html.route-checkout-cart .cart-page form.cart-table thead .td-qty {
    transform: none !important;
    text-indent: 0 !important;
  }
  html.route-checkout-cart .cart-page form.cart-table thead .lunoria-qty-heading {
    display: inline-block !important;
    transform: translateX(28px) !important;
  }
  html.route-checkout-cart .cart-page form.cart-table thead .td-qty:not(:has(.lunoria-qty-heading)) {
    text-indent: 56px !important;
  }
}

/* Product table order: Price, Quantity, Total, then the bin action. */
@media (min-width: 1025px) {
  html.route-checkout-cart .cart-page form.cart-table table.table .td-image { width: 13% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-name { width: 29% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-price { width: 15% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-qty { width: 20% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-total { width: 15% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-remove { width: 8% !important; }
}
html.route-checkout-cart .cart-page form.cart-table .td-remove .lunoria-remove-button {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  width: 42px !important; height: 42px !important; padding: 0 !important;
  border: 1px solid #d7d7d7 !important; border-radius: 50% !important;
  background: #fff !important; color: #333 !important; box-shadow: none !important;
}
html.route-checkout-cart .cart-page form.cart-table .td-remove .lunoria-remove-button i { font-size: 16px !important; }
html.route-checkout-cart .cart-page form.cart-table .td-qty .input-group-btn .btn-remove { display: none !important; }
html.route-checkout-cart .cart-page form.cart-table tbody .td-qty > .input-group.btn-block {
  display: flex !important;
  width: 132px !important;
  max-width: 132px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: center !important;
  gap: 0 !important;
}
html.route-checkout-cart .cart-page form.cart-table .lunoria-bin-icon {
  display: block !important;
  width: 17px !important;
  height: 17px !important;
  fill: currentColor !important;
}
html.route-checkout-cart .cart-page .cart-summary-title {
  text-align: center !important;
  font-weight: 600 !important;
}

/* Final order-summary presentation. */
html.route-checkout-cart .cart-page .cart-total > table { border: 1px solid #e7e7e7 !important; border-radius: 16px !important; overflow: hidden !important; background: #fff !important; }
html.route-checkout-cart .cart-page .cart-total > table tr { height: 70px !important; background: #fff !important; }
html.route-checkout-cart .cart-page .cart-total > table tr + tr td { border-top: 1px solid #e7e7e7 !important; }
html.route-checkout-cart .cart-page .cart-total > table td { padding: 0 26px !important; border: 0 !important; color: #333 !important; font-size: 16px !important; vertical-align: middle !important; }
html.route-checkout-cart .cart-page .cart-total > table td:last-child { font-weight: 700 !important; }
html.route-checkout-cart .cart-page .cart-total > table .cart-total-total { height: 88px !important; }
html.route-checkout-cart .cart-page .cart-total > table .cart-total-total td { font-size: 20px !important; }
html.route-checkout-cart .cart-page .cart-total > table .cart-total-total td:last-child { font-size: 25px !important; }
html.route-checkout-cart .cart-page .cart-total-vat { display: block !important; margin-top: 4px !important; color: #666 !important; font-size: 12px !important; font-weight: 400 !important; }
html.route-checkout-cart .cart-page .cart-total > table .cart-free-shipping-row td { text-align: left !important; font-size: 16px !important; font-weight: 600 !important; }

/* Final left/right alignment and stronger Total row. */
html.route-checkout-cart .cart-page .cart-total > table tr td:first-child { text-align: left !important; }
html.route-checkout-cart .cart-page .cart-total > table tr td:last-child { text-align: right !important; }
html.route-checkout-cart .cart-page .cart-total > table .cart-total-subtotal td,
html.route-checkout-cart .cart-page .cart-total > table .cart-total-shipping td { font-size: 16px !important; }
html.route-checkout-cart .cart-page .cart-total > table .cart-total-total td:first-child,
html.route-checkout-cart .cart-page .cart-total > table .cart-total-total td:first-child strong { font-size: 21px !important; font-weight: 700 !important; }
html.route-checkout-cart .cart-page .cart-total > table .cart-total-total td:last-child { font-size: 27px !important; font-weight: 700 !important; }

/* Remove the nested Order Summary frame; keep one outer card only. */
html.route-checkout-cart .cart-page .cart-total > table {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
html.route-checkout-cart .cart-page .cart-total > table tr,
html.route-checkout-cart .cart-page .cart-total > table td {
  background: transparent !important;
}

/* Order Summary title and a completely borderless summary grid. */
html.route-checkout-cart .cart-page .cart-summary-title {
  margin: 0 0 22px !important;
  padding: 0 !important;
  color: #171717 !important;
  font-size: 21px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}
html.route-checkout-cart .cart-page .cart-total > table,
html.route-checkout-cart .cart-page .cart-total > table tr,
html.route-checkout-cart .cart-page .cart-total > table td {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Keep the summary as one normal table block (no split/flex inner window). */
html.route-checkout-cart .cart-page .cart-total { display: block !important; width: 100% !important; }
html.route-checkout-cart .cart-page .cart-summary-title { display: block !important; width: 100% !important; }
html.route-checkout-cart .cart-page .cart-total > table tbody tr { display: table-row !important; width: 100% !important; }
html.route-checkout-cart .cart-page .cart-total > table tbody tr td { display: table-cell !important; }

/* Remove the cart-total panel frame itself; the outer cart-bottom is the only card. */
html.route-checkout-cart .cart-page .cart-bottom .cart-total {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
html.route-checkout-cart .cart-page .cart-bottom .cart-summary-title {
  margin: 0 0 22px !important;
  padding: 0 !important;
}
/* Free-shipping state: same clean Total row, with the notice directly below it. */
html.route-checkout-cart .cart-page .cart-total > table .cart-total-total,
html.route-checkout-cart .cart-page .cart-total > table .cart-total-total td { background: transparent !important; }
html.route-checkout-cart .cart-page .cart-total > table .cart-free-shipping-row.unlocked td {
  height: 72px !important;
  padding: 0 18px !important;
  background: #fff3f5 !important;
  border: 1px solid #f0d5db !important;
  border-radius: 10px !important;
  color: #a52a42 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-align: left !important;
  box-sizing: border-box !important;
}
html.route-checkout-cart .cart-page .cart-total > table .cart-free-shipping-row.unlocked td i { margin-right: 10px !important; }
html.route-checkout-cart #content > div > div.cart-bottom > div.panels-total > div.cart-total,
html.route-checkout-cart #content > div > div.cart-bottom > div.panels-total > div.cart-total > table {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Match the reference alignment: labels left, amounts right, Total emphasized. */
html.route-checkout-cart .cart-page .cart-total > table tr td:first-child { text-align: left !important; }
html.route-checkout-cart .cart-page .cart-total > table tr td:last-child { text-align: right !important; }
html.route-checkout-cart .cart-page .cart-total > table .cart-total-subtotal td,
html.route-checkout-cart .cart-page .cart-total > table .cart-total-shipping td { font-size: 16px !important; }
html.route-checkout-cart .cart-page .cart-total > table .cart-total-total td:first-child,
html.route-checkout-cart .cart-page .cart-total > table .cart-total-total td:first-child strong {
  font-size: 21px !important;
  font-weight: 700 !important;
}
html.route-checkout-cart .cart-page .cart-total > table .cart-total-total td:last-child {
  font-size: 27px !important;
  font-weight: 700 !important;
}

/* Compact coupon rows: override Journal's spacious accordion defaults. */
html.route-checkout-cart .cart-page .cart-panels,
html.route-checkout-cart .cart-page .cart-panels .panel-group,
html.route-checkout-cart .cart-page .cart-panels .panel,
html.route-checkout-cart .cart-page .cart-panels .panel-heading {
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html.route-checkout-cart .cart-page .cart-panels .panel-heading a {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  padding: 0 8px !important;
  margin: 0 !important;
}
html.route-checkout-cart .cart-page .cart-panels .panel-heading a > span {
  padding: 0 !important;
  margin: 0 !important;
}
html.route-checkout-cart .cart-page .cart-panels .panel-heading a::before {
  content: '+' !important;
  flex: 0 0 20px !important;
  margin: 0 14px 0 0 !important;
  font-family: inherit !important;
  font-size: 22px !important;
  font-weight: 700 !important;
}
html.route-checkout-cart .cart-page .cart-panels .panel-heading a::after { content: none !important; }

/* Match the reference checkout action order and keep coupon/gift panels above actions. */
html.route-checkout-cart .cart-page .panels-total {
  display: flex !important;
  flex-direction: column !important;
}
html.route-checkout-cart .cart-page .panels-total > .cart-total { order: 1 !important; }
html.route-checkout-cart .cart-page .panels-total > .cart-panels {
  order: 2 !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html.route-checkout-cart .cart-page .cart-panels .title,
html.route-checkout-cart .cart-page .cart-panels > p { display: none !important; }
html.route-checkout-cart .cart-page .cart-panels .panel-group {
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
html.route-checkout-cart .cart-page .cart-panels .panel {
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #ece8e8 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html.route-checkout-cart .cart-page .cart-panels .panel:last-child { border-bottom: 0 !important; }
html.route-checkout-cart .cart-page .cart-panels .panel-heading {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
html.route-checkout-cart .cart-page .cart-panels .panel-heading a {
  display: flex !important;
  align-items: center !important;
  min-height: 52px !important;
  padding: 0 !important;
  background: transparent !important;
  color: #222 !important;
  text-transform: none !important;
  text-align: left !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}
html.route-checkout-cart .cart-page .cart-panels .panel-heading a::before {
  margin-right: 12px !important;
  color: #222 !important;
  font-size: 18px !important;
}
html.route-checkout-cart .cart-page .cart-panels .panel-heading a::after { display: none !important; }
html.route-checkout-cart .cart-page .cart-panels .panel-body { padding: 12px 0 !important; }
html.route-checkout-cart .cart-page .buttons.clearfix {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
html.route-checkout-cart .cart-page .buttons.clearfix > .pull-left,
html.route-checkout-cart .cart-page .buttons.clearfix > .pull-right {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
html.route-checkout-cart .cart-page .buttons.clearfix .btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  height: 52px !important;
  margin: 0 !important;
  border-radius: 11px !important;
  box-sizing: border-box !important;
}
.lunoria-checkout-disabled,
.lunoria-out-of-stock-button {
  opacity: .58 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}
.route-checkout-cart .cart-bottom .buttons.clearfix {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}
.route-checkout-cart .cart-bottom .buttons.clearfix > .pull-left,
.route-checkout-cart .cart-bottom .buttons.clearfix > .pull-right {
  float: none !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  margin: 0 !important;
}
.route-checkout-cart .cart-bottom .buttons.clearfix > .pull-left > .btn,
.route-checkout-cart .cart-bottom .buttons.clearfix > .pull-right > .btn {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 !important;
}
.route-checkout-cart .lunoria-checkout-disabled {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 18px !important;
  border: 1px solid #b6848a !important;
  border-radius: 999px !important;
  background: #b6848a !important;
  color: #fff !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  text-align: center !important;
}
.route-checkout-cart .lunoria-checkout-disabled::before,
.route-checkout-cart .lunoria-checkout-disabled::after {
  display: none !important;
  content: none !important;
}
.route-checkout-cart .lunoria-checkout-disabled > span {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  text-indent: 0 !important;
}
.lunoria-out-of-stock-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 46px !important;
  padding: 10px 18px !important;
  background: #a86f76 !important;
  color: #fff !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  text-align: center !important;
}
.lunoria-out-of-stock-button::before,
.lunoria-out-of-stock-button::after {
  display: none !important;
  content: none !important;
}
.lunoria-out-of-stock-button .btn-text {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  text-indent: 0 !important;
}

@media (max-width: 1024px) {
  .lunoria-stock-warning {
    margin: 10px 0 !important;
    padding: 14px 16px !important;
    font-size: 14px !important;
  }
  .lunoria-cart-product-row.is-out-of-stock {
    padding-top: 0 !important;
    background: #ececec !important;
  }
  .lunoria-cart-product-row.is-out-of-stock td {
    background: transparent !important;
  }
  .lunoria-cart-product-row.is-out-of-stock .td-total::before,
  .lunoria-cart-product-row.is-out-of-stock .td-total .lunoria-product-total-value {
    display: none !important;
    content: none !important;
  }
  .lunoria-cart-product-row.is-out-of-stock .td-total {
    display: block !important;
    width: 100% !important;
    padding: 14px 0 0 !important;
    opacity: 1 !important;
    filter: none !important;
  }
  .lunoria-cart-product-row.is-out-of-stock .td-total .lunoria-cart-status-badge-total {
    position: static !important;
    transform: none !important;
    display: flex !important;
    width: 100% !important;
    min-height: 40px !important;
    margin: 0 !important;
  }
  .lunoria-reduce-quantity {
    width: 100% !important;
    min-height: 46px !important;
  }
  .lunoria-cart-product-row.is-out-of-stock .lunoria-remove-unavailable {
    width: auto !important;
    max-width: 190px !important;
    min-height: 38px !important;
    padding: 7px 14px !important;
    font-size: 12px !important;
  }
  .lunoria-cart-product-row.is-insufficient-quantity {
    background: #fffaf0 !important;
  }
  .lunoria-cart-product-row.is-insufficient-quantity td {
    background: transparent !important;
  }
  .lunoria-cart-product-row.is-insufficient-quantity .lunoria-stock-actions-desktop {
    display: none !important;
  }
  .lunoria-cart-product-row.is-insufficient-quantity .td-total::before {
    display: none !important;
    content: none !important;
  }
  .lunoria-cart-product-row.is-insufficient-quantity .td-total .lunoria-product-total-value {
    display: none !important;
  }
  .lunoria-cart-product-row.is-insufficient-quantity .td-total {
    display: block !important;
    width: 100% !important;
    padding: 14px 0 0 !important;
  }
  .lunoria-cart-product-row.is-insufficient-quantity .td-total .lunoria-stock-actions-mobile {
    display: flex !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .lunoria-cart-product-row.is-insufficient-quantity .lunoria-stock-actions-mobile .lunoria-stock-help {
    width: 100% !important;
    margin: 0 0 8px !important;
    text-align: center !important;
  }
  .lunoria-cart-product-row.is-insufficient-quantity .lunoria-stock-actions-mobile .lunoria-reduce-quantity {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
  .route-checkout-cart .cart-bottom .buttons.clearfix {
    gap: 10px !important;
  }
  .route-checkout-cart .cart-bottom .buttons.clearfix > .pull-left > .btn,
  .route-checkout-cart .cart-bottom .buttons.clearfix > .pull-right > .btn,
  .route-checkout-cart .lunoria-checkout-disabled {
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 14px !important;
    line-height: 1.1 !important;
  }
}

/* === LUNORIA SALE COLOURS: 2026-08-17 ===
   Keep every discounted/current sale figure red and every crossed-out
   original price black across cards, Sale, search, wishlist and product pages. */
.price-new,
.product-price-new,
.product-discount,
.route-account-wishlist .price > b,
.route-product-compare .compare-price .price-new,
.luno-search-result-price .price-new {
  color: #dd0e1c !important;
}

.price-old,
.product-price-old,
.route-account-wishlist .price > s,
.route-product-compare .compare-price .price-old,
.luno-search-result-price .price-old {
  color: #111111 !important;
  text-decoration-color: #111111 !important;
}

/* === LUNORIA PRODUCT CARD PRICE ALIGNMENT: 2026-08-17 ===
   Keep the price/action area anchored to the bottom of every grid card,
   regardless of how many lines the product name occupies. */
.product-grid .product-thumb .caption > .price {
  margin-top: auto !important;
}

.product-grid .product-thumb .caption > .buttons-wrapper {
  margin-top: 0 !important;
}

/* === LUNORIA DESKTOP NESTED FLYOUT STACKING: 2026-08-17 ===
   Keep Journal3 dropdown panels above the page overlay without changing
   the positioning model of the header or navigation wrappers. */
.desktop-header-active header,
.desktop-header-active .desktop-header {
  z-index: 100000 !important;
}

.desktop-header-active .main-menu .j-dropdown {
  z-index: 100010 !important;
  pointer-events: auto !important;
}

/* Bridge the visual gap below top-level desktop menu items. Scoped to the
   first dropdown only so it does not replace the nested flyout bridge. */
.desktop-header-active .desktop-main-menu-wrapper .main-menu > .j-menu > li > .j-dropdown::after {
  content: "";
  position: absolute;
  top: -8px;
  left: 0;
  right: 0;
  height: 8px;
  z-index: 100009;
  background: transparent;
  pointer-events: auto;
}

.desktop-header-active .main-menu .j-dropdown .j-dropdown {
  left: calc(100% - 14px) !important;
  margin-left: 0 !important;
  z-index: 100020 !important;
  background: #ffffff !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.desktop-header-active .main-menu .j-dropdown .j-dropdown::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -14px;
  width: 14px;
  background: transparent;
  pointer-events: auto;
}

.desktop-header-active .main-menu .j-dropdown li:hover,
.desktop-header-active .main-menu .j-dropdown li.open {
  z-index: 100030 !important;
}

.desktop-header-active .main-menu .j-dropdown .j-dropdown ul,
.desktop-header-active .main-menu .j-dropdown .j-dropdown li,
.desktop-header-active .main-menu .j-dropdown .j-dropdown a {
  background-color: #ffffff !important;
  pointer-events: auto !important;
}

/* Keep the locale dropdown's visual spacing while making the gap hoverable. */
.eu-header-locale-controls .language .j-dropdown::after,
.eu-header-locale-controls .currency .j-dropdown::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -14px;
  height: 14px;
  z-index: 1004;
  background: transparent;
  pointer-events: auto;
}

/* Match the Catalogue flyout surface to the white category dropdowns. */
.desktop-header-active .flyout-menu-7 > .j-menu,
.desktop-header-active .flyout-menu-7 > .j-menu > li,
.desktop-header-active .flyout-menu-7 > .j-menu > li > a {
  background-color: #ffffff !important;
}

/* Category navigation follows Price and Brands only on All Products and Sex Toys. */
.lunoria-category-navigation-panel {
  margin-top: 0;
  border-top: 1px solid #e5dede;
}

.lunoria-category-navigation-title {
  min-height: 48px;
  margin: 0 !important;
  padding: 14px 0 10px;
  color: #30343a;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  text-transform: uppercase;
}

.lunoria-category-navigation,
.lunoria-category-tree {
  width: 100%;
}

.lunoria-category-tree {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.lunoria-category-tree .lunoria-category-tree {
  margin: 4px 0 8px 11px !important;
  padding-left: 12px !important;
  border-left: 1px solid #eadfe0;
}

.lunoria-category-node {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border-bottom: 1px solid #eee8e8;
}

.lunoria-category-tree .lunoria-category-tree > .lunoria-category-node:last-child {
  border-bottom: 0;
}

.lunoria-category-node > a,
.lunoria-category-node > details > summary {
  display: flex;
  align-items: center;
  min-height: 42px;
  margin: 0;
  padding: 8px 2px;
  color: #333333;
  font-size: 15px;
  line-height: 1.35;
  text-decoration: none;
}

.lunoria-category-node > details > summary {
  justify-content: space-between;
  gap: 10px;
  cursor: pointer;
  list-style: none;
}

.lunoria-category-node > details > summary::-webkit-details-marker {
  display: none;
}

.lunoria-category-node > details > summary > a {
  flex: 1 1 auto;
  color: inherit;
  font-weight: 600;
  text-decoration: none;
}

.lunoria-category-tree .lunoria-category-tree .lunoria-category-node > a,
.lunoria-category-tree .lunoria-category-tree .lunoria-category-node > details > summary {
  min-height: 36px;
  padding-top: 6px;
  padding-bottom: 6px;
  font-size: 14px;
}

.lunoria-category-tree .lunoria-category-tree .lunoria-category-node > details > summary > a {
  font-weight: 500;
}

.lunoria-category-node a:hover,
.lunoria-category-node summary:hover {
  color: #8b2635;
}

.lunoria-category-toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  flex: 0 0 auto;
  width: auto;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 17px;
  background: #f6ecee;
  color: #7f2832;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  user-select: none;
}

.lunoria-category-toggle::before {
  content: "+";
  position: static;
  order: 2;
  flex: 0 0 auto;
  width: auto;
  height: auto;
  background: none;
  color: #7f2832;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  transform: none;
}

.lunoria-category-toggle::after {
  display: none;
}

.lunoria-category-node details[open] > summary .lunoria-category-toggle::before {
  content: "−";
}

.lunoria-category-toggle-collapse {
  display: none;
}

.lunoria-category-node details[open] > summary .lunoria-category-toggle-expand {
  display: none;
}

.lunoria-category-node details[open] > summary .lunoria-category-toggle-collapse {
  display: inline;
}

@media (max-width: 1024px) {
  .lunoria-category-node > a,
  .lunoria-category-node > details > summary {
    min-height: 50px;
  }

  .lunoria-category-toggle {
    flex-basis: auto;
    width: auto;
    min-height: 40px;
    padding-right: 14px;
    padding-left: 14px;
    border-radius: 20px;
    font-size: 12px;
  }
}

/* Special Offers uses its own OpenCart route; mirror catalogue controls there. */
.route-product-special .products-filter,
.route-product-special .products-filter .select-group {
  overflow: visible !important;
}

/* All Products is rendered through product/catalog but reuses category markup. */
:is(.route-product-catalog) .products-filter,
:is(.route-product-catalog) .products-filter .select-group {
  overflow: visible !important;
}

:is(.route-product-catalog) .products-filter .grid-list {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  width: auto !important;
  min-height: 44px !important;
  padding: 4px !important;
  border: 1px solid #ded8d9 !important;
  border-radius: 11px !important;
  background: #fff !important;
  box-shadow: 0 3px 12px rgba(28, 24, 25, .05) !important;
}

:is(.route-product-catalog) .products-filter .grid-list .view-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  width: auto !important;
  min-width: 88px !important;
  height: 34px !important;
  padding: 0 11px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #514b4d !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

:is(.route-product-catalog) .products-filter .grid-list .view-btn:hover {
  background: #f8f5f5 !important;
  color: #7f2832 !important;
}

:is(.route-product-catalog) .products-filter .grid-list .view-btn.active {
  background: #f3e8ea !important;
  color: #7f2832 !important;
  box-shadow: inset 0 0 0 1px rgba(127, 40, 50, .12) !important;
}

:is(.route-product-catalog) .products-filter .grid-list .view-btn::before {
  font-size: 18px !important;
  line-height: 1 !important;
}

@media (max-width: 1024px) {
  :is(.route-product-catalog) .products-filter .select-group {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    width: 100% !important;
    gap: 8px !important;
  }

  :is(.route-product-catalog) .products-filter .grid-list {
    width: auto !important;
    min-height: 44px !important;
    margin: 0 auto !important;
  }

  :is(.route-product-catalog) .products-filter .grid-list .view-btn {
    min-width: 104px !important;
    height: 38px !important;
    padding: 0 13px !important;
    font-size: 13px !important;
  }
}

.route-product-special .products-filter .grid-list {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  width: auto !important;
  min-height: 44px !important;
  padding: 4px !important;
  border: 1px solid #ded8d9 !important;
  border-radius: 11px !important;
  background: #fff !important;
  box-shadow: 0 3px 12px rgba(28, 24, 25, .05) !important;
}

.route-product-special .products-filter .grid-list .view-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  width: auto !important;
  min-width: 88px !important;
  height: 34px !important;
  padding: 0 11px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #514b4d !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.route-product-special .products-filter .grid-list .view-btn:hover {
  background: #f8f5f5 !important;
  color: #7f2832 !important;
}

.route-product-special .products-filter .grid-list .view-btn.active {
  background: #f3e8ea !important;
  color: #7f2832 !important;
  box-shadow: inset 0 0 0 1px rgba(127, 40, 50, .12) !important;
}

.route-product-special .products-filter .grid-list .view-btn::before {
  font-size: 18px !important;
  line-height: 1 !important;
}

@media (max-width: 1024px) {
  .route-product-special .products-filter .select-group {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    width: 100% !important;
    gap: 8px !important;
  }

  .route-product-special .products-filter .grid-list {
    width: auto !important;
    min-height: 44px !important;
    margin: 0 auto !important;
  }

  .route-product-special .products-filter .grid-list .view-btn {
    min-width: 104px !important;
    height: 38px !important;
    padding: 0 13px !important;
    font-size: 13px !important;
  }
}

#luno-toast.is-show{
  display: block;
}

#luno-toast a{
  color: #fff;
  text-decoration: underline;
}

/* не прячь wishlist badge после ajax */
.count-badge.wishlist-badge:empty,
.wishlist-badge:empty{
  display: inline-flex !important;
}

/* даже если theme пытается скрыть */
.count-badge.wishlist-badge,
.wishlist-badge{
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ===== LUNORIA TOAST POSITION ===== */
#luno-toast{
  top: 163px !important;   /* <-- если надо ниже/выше — меняй это число */
  right: 18px !important;
}

/* ===== HIDE DEFAULT SUCCESS BAR (wishlist add) ===== */
.alert.alert-success,
.alert-success{
  display: none !important;
}

/* ===============================
   LUNORIA TOAST — MOBILE TWEAKS
   =============================== */
@media (max-width: 1024px) {

  #luno-toast{
    top: 520px !important;          /* ← подними/опусти при необходимости */
    right: 12px !important;
    left: 12px !important;         /* чтобы не вылазил за экран */
    
    max-width: none !important;
    width: auto !important;

    padding: 10px 12px !important; /* меньше сам попап */
    border-radius: 10px;
    
    font-size: 13px !important;    /* основной текст */
    line-height: 1.3;
  }

  #luno-toast a{
    font-size: 13px !important;    /* ссылки внутри */
  }

}

/* =====================================
   SEARCH PAGE (DESKTOP)
   Sort By / Show — same as category
===================================== */

@media (min-width: 1025px){

  /* основной контейнер фильтра */
  .route-product-search .products-filter{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;
  }

  /* группа grid/list + select */
  .route-product-search .products-filter .grid-list{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
  }

  /* группа Sort / Show */
  .route-product-search .products-filter .select-group{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    margin-left:auto !important;
  }

  /* каждый блок (Sort / Show) */
  .route-product-search .products-filter .input-group{
    display:flex !important;
    align-items:center !important;
  }

  /* подписи */
  .route-product-search .products-filter .input-group-addon{
    background:transparent !important;
    border:0 !important;
    padding:0 6px 0 0 !important;
    margin:0 !important;

    font-size:13px !important;
    font-weight:600 !important;
    color:#666 !important;
    white-space:nowrap !important;
    line-height:1 !important;
  }

  /* селекты */
  .route-product-search .products-filter select.form-control,
  .route-product-search #input-sort.form-control,
  .route-product-search #input-limit.form-control{
    height:40px !important;
    min-height:40px !important;

    background:#fff !important;
    border:1px solid #d9d9d9 !important;
    border-radius:12px !important;

    padding:0 38px 0 14px !important;

    font-size:14px !important;
    font-weight:600 !important;
    color:#222 !important;

    box-shadow:0 2px 10px rgba(0,0,0,.06) !important;

    -webkit-appearance:none !important;
    appearance:none !important;

    background-image:
      linear-gradient(45deg, transparent 50%, #777 50%),
      linear-gradient(135deg, #777 50%, transparent 50%);
    background-position:
      calc(100% - 18px) 50%,
      calc(100% - 12px) 50%;
    background-size:6px 6px, 6px 6px;
    background-repeat:no-repeat;
  }

  /* hover / focus */
  .route-product-search .products-filter select.form-control:hover{
    border-color:#bdbdbd !important;
  }

  .route-product-search .products-filter select.form-control:focus{
    border-color:#7a2e2a !important;
    box-shadow:
      0 0 0 4px rgba(122,46,42,.14),
      0 2px 10px rgba(0,0,0,.06) !important;
  }
}

/* Remove black hover from Back button (Forgot Password & account pages) */
#account-forgotten .btn-default:hover,
#account-forgotten .btn-default:focus,
#account-forgotten .btn-default:active {
    background: transparent !important;
    color: inherit !important;
    box-shadow: none !important;
}

/* На всякий — если используется outline */
#account-forgotten .btn-default {
    transition: none !important;
}

/* === Account forms buttons alignment === */
#account-forgotten .buttons .btn,
#account-forgotten .buttons input.btn {
  height: 48px;
  padding: 0 28px;
  line-height: 48px;
  border-radius: 24px;
  font-size: 15px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* убираем стандартный Journal3 hover у Back */
#account-forgotten .btn-default:hover,
#account-forgotten .btn-default:focus,
#account-forgotten .btn-default:active {
  background: #ffffff !important;
  color: #333 !important;
  box-shadow: none !important;
}


/* =========================================
   MOBILE CART TOTAL — EASY CONTROL
   Always styles ONLY the last row (Total)
   ========================================= */
@media (max-width: 1024px) {

  :root{
    --luno-total-bg: #ffffff;
    --luno-total-radius: 999px;
    --luno-total-min-height: 34px;
    --luno-total-padding-y: 10px;
    --luno-total-padding-x: 16px;
    --luno-total-gap: 16px;
    --luno-total-margin-bottom: 14px;

    --luno-total-label-size: 16px;
    --luno-total-label-weight: 600;
    --luno-total-label-color: #666666;

    --luno-total-price-size: 16px;
    --luno-total-price-weight: 600;
    --luno-total-price-color: #000000;

    --luno-total-shadow: none;
  }

  /* table wrapper */
  #content > div > div.cart-bottom > div.panels-total > div.cart-total {
    padding: 0 !important;
    margin: 0 !important;
  }

  #content > div > div.cart-bottom > div.panels-total > div.cart-total > table {
    width: 100% !important;
    border: 0 !important;
    background: transparent !important;
    table-layout: fixed !important;
  }

  /* ALWAYS target only the last row = Total */
  #content > div > div.cart-bottom > div.panels-total > div.cart-total > table > tbody > tr:last-child {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    width: 100% !important;
    min-height: var(--luno-total-min-height) !important;

    padding: var(--luno-total-padding-y) var(--luno-total-padding-x) !important;
    margin: 0 0 var(--luno-total-margin-bottom) 0 !important;

    background: var(--luno-total-bg) !important;
    border-radius: var(--luno-total-radius) !important;
    box-shadow: var(--luno-total-shadow) !important;
    box-sizing: border-box !important;
  }

  /* cells reset */
  #content > div > div.cart-bottom > div.panels-total > div.cart-total > table > tbody > tr:last-child > td {
    display: block !important;
    width: auto !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* left side */
  #content > div > div.cart-bottom > div.panels-total > div.cart-total > table > tbody > tr:last-child > td:nth-child(1) {
    flex: 0 0 auto !important;
    text-align: left !important;
    margin-right: var(--luno-total-gap) !important;
  }

  #content > div > div.cart-bottom > div.panels-total > div.cart-total > table > tbody > tr:last-child > td:nth-child(1) > strong {
    font-size: var(--luno-total-label-size) !important;
    font-weight: var(--luno-total-label-weight) !important;
    line-height: 1 !important;
    color: var(--luno-total-label-color) !important;
  }

  /* right side */
  #content > div > div.cart-bottom > div.panels-total > div.cart-total > table > tbody > tr:last-child > td:nth-child(2) {
    flex: 0 0 auto !important;
    text-align: right !important;
    margin-left: auto !important;

    font-size: var(--luno-total-price-size) !important;
    font-weight: var(--luno-total-price-weight) !important;
    line-height: 1 !important;
    color: var(--luno-total-price-color) !important;
  }
}

/* =========================================
   LUNORIA — Register page radios + checkbox
   route=account/register
   ========================================= */

html.route-account-register input[type="radio"],
html.route-account-register input[type="checkbox"]{
  -webkit-appearance: none !important;
  appearance: none !important;
  outline: none !important;
  cursor: pointer !important;
  margin: 0 !important;
  vertical-align: middle !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

/* RADIO */
html.route-account-register .radio-inline{
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-right: 18px !important;
  font-size: 16px !important;
  color: #333 !important;
}

html.route-account-register input[type="radio"][name="newsletter"]{
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  border: 2px solid #7a2e2a !important;
  position: relative !important;
  background: #fff !important;
}

html.route-account-register input[type="radio"][name="newsletter"]::after{
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: #7a2e2a !important;
  transform: translate(-50%, -50%) scale(0) !important;
  transition: transform .18s ease !important;
}

html.route-account-register input[type="radio"][name="newsletter"]:checked::after{
  transform: translate(-50%, -50%) scale(1) !important;
}

/* CHECKBOX */
html.route-account-register input[type="checkbox"][name="agree"]{
  width: 20px !important;
  height: 20px !important;
  border-radius: 6px !important;
  border: 2px solid #7a2e2a !important;
  position: relative !important;
  background: #fff !important;
}

html.route-account-register input[type="checkbox"][name="agree"]:checked{
  background: #7a2e2a !important;
}

html.route-account-register input[type="checkbox"][name="agree"]::after{
  content: "" !important;
  position: absolute !important;
  left: 5px !important;
  top: 1px !important;
  width: 5px !important;
  height: 10px !important;
  border: solid #fff !important;
  border-width: 0 2px 2px 0 !important;
  transform: rotate(45deg) scale(0) !important;
  transition: transform .18s ease !important;
}

html.route-account-register input[type="checkbox"][name="agree"]:checked::after{
  transform: rotate(45deg) scale(1) !important;
}

/* privacy line alignment */
html.route-account-register .buttons .pull-right{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

/* =========================================
   LUNORIA — Product Returns page styling
   route=account/return/add
   ========================================= */

/* ---------- 1) Return reasons radios ---------- */
html.route-account-return-add .form-group .radio label,
html.route-account-return-info .form-group .radio label,
html[class*="route-account-return"] .form-group .radio label{
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  cursor: pointer !important;
  color: #333 !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
}

html.route-account-return-add .form-group .radio input[type="radio"],
html.route-account-return-info .form-group .radio input[type="radio"],
html[class*="route-account-return"] .form-group .radio input[type="radio"]{
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  border-radius: 50% !important;
  border: 2px solid #7a2e2a !important;
  background: #fff !important;
  margin: 0 !important;
  position: relative !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

html.route-account-return-add .form-group .radio input[type="radio"]::after,
html.route-account-return-info .form-group .radio input[type="radio"]::after,
html[class*="route-account-return"] .form-group .radio input[type="radio"]::after{
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: #7a2e2a !important;
  transform: translate(-50%, -50%) scale(0) !important;
  transition: transform .18s ease !important;
}

html.route-account-return-add .form-group .radio input[type="radio"]:checked::after,
html.route-account-return-info .form-group .radio input[type="radio"]:checked::after,
html[class*="route-account-return"] .form-group .radio input[type="radio"]:checked::after{
  transform: translate(-50%, -50%) scale(1) !important;
}

/* ---------- 2) Opened? inline radios ---------- */
html.route-account-return-add .radio-inline,
html.route-account-return-info .radio-inline,
html[class*="route-account-return"] .radio-inline{
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-right: 18px !important;
  color: #333 !important;
  font-size: 16px !important;
}

html.route-account-return-add .radio-inline input[type="radio"],
html.route-account-return-info .radio-inline input[type="radio"],
html[class*="route-account-return"] .radio-inline input[type="radio"]{
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  border-radius: 50% !important;
  border: 2px solid #7a2e2a !important;
  background: #fff !important;
  margin: 0 !important;
  position: relative !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

html.route-account-return-add .radio-inline input[type="radio"]::after,
html.route-account-return-info .radio-inline input[type="radio"]::after,
html[class*="route-account-return"] .radio-inline input[type="radio"]::after{
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: #7a2e2a !important;
  transform: translate(-50%, -50%) scale(0) !important;
  transition: transform .18s ease !important;
}

html.route-account-return-add .radio-inline input[type="radio"]:checked::after,
html.route-account-return-info .radio-inline input[type="radio"]:checked::after,
html[class*="route-account-return"] .radio-inline input[type="radio"]:checked::after{
  transform: translate(-50%, -50%) scale(1) !important;
}

/* ---------- 3) Agree checkbox ---------- */
html.route-account-return-add input[type="checkbox"][name="agree"],
html.route-account-return-info input[type="checkbox"][name="agree"],
html[class*="route-account-return"] input[type="checkbox"][name="agree"]{
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  border-radius: 6px !important;
  border: 2px solid #7a2e2a !important;
  background: #fff !important;
  margin: 0 0 0 8px !important;
  position: relative !important;
  cursor: pointer !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

html.route-account-return-add input[type="checkbox"][name="agree"]:checked,
html.route-account-return-info input[type="checkbox"][name="agree"]:checked,
html[class*="route-account-return"] input[type="checkbox"][name="agree"]:checked{
  background: #7a2e2a !important;
}

html.route-account-return-add input[type="checkbox"][name="agree"]::after,
html.route-account-return-info input[type="checkbox"][name="agree"]::after,
html[class*="route-account-return"] input[type="checkbox"][name="agree"]::after{
  content: "" !important;
  position: absolute !important;
  left: 5px !important;
  top: 1px !important;
  width: 5px !important;
  height: 10px !important;
  border: solid #fff !important;
  border-width: 0 2px 2px 0 !important;
  transform: rotate(45deg) scale(0) !important;
  transition: transform .18s ease !important;
}

html.route-account-return-add input[type="checkbox"][name="agree"]:checked::after,
html.route-account-return-info input[type="checkbox"][name="agree"]:checked::after,
html[class*="route-account-return"] input[type="checkbox"][name="agree"]:checked::after{
  transform: rotate(45deg) scale(1) !important;
}

/* ---------- 4) Bottom action row ---------- */
html.route-account-return-add .buttons,
html.route-account-return-info .buttons,
html[class*="route-account-return"] .buttons{
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
}

/* left and right blocks same width */
html.route-account-return-add .buttons .pull-left,
html.route-account-return-add .buttons .pull-right,
html.route-account-return-info .buttons .pull-left,
html.route-account-return-info .buttons .pull-right,
html[class*="route-account-return"] .buttons .pull-left,
html[class*="route-account-return"] .buttons .pull-right{
  flex: 1 1 0 !important;
}

/* submit side align right */
html.route-account-return-add .buttons .pull-right,
html.route-account-return-info .buttons .pull-right,
html[class*="route-account-return"] .buttons .pull-right{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

/* Back button = same height/feel as Submit */
html.route-account-return-add .buttons .pull-left .btn.btn-danger,
html.route-account-return-info .buttons .pull-left .btn.btn-danger,
html[class*="route-account-return"] .buttons .pull-left .btn.btn-danger{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  box-sizing: border-box !important;
}

/* Submit button same sizing */
html.route-account-return-add .buttons .pull-right .btn.btn-primary,
html.route-account-return-info .buttons .pull-right .btn.btn-primary,
html[class*="route-account-return"] .buttons .pull-right .btn.btn-primary{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 280px !important;
  min-height: 54px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  box-sizing: border-box !important;
}

/* ---------- 5) Mobile ---------- */
@media (max-width: 1024px){
  html.route-account-return-add .buttons,
  html.route-account-return-info .buttons,
  html[class*="route-account-return"] .buttons{
    gap: 14px !important;
  }

  html.route-account-return-add .buttons .pull-left,
  html.route-account-return-add .buttons .pull-right,
  html.route-account-return-info .buttons .pull-left,
  html.route-account-return-info .buttons .pull-right,
  html[class*="route-account-return"] .buttons .pull-left,
  html[class*="route-account-return"] .buttons .pull-right{
    flex: 1 1 100% !important;
  }

  html.route-account-return-add .buttons .pull-left .btn.btn-danger,
  html.route-account-return-add .buttons .pull-right .btn.btn-primary,
  html.route-account-return-info .buttons .pull-left .btn.btn-danger,
  html.route-account-return-info .buttons .pull-right .btn.btn-primary,
  html[class*="route-account-return"] .buttons .pull-left .btn.btn-danger,
  html[class*="route-account-return"] .buttons .pull-right .btn.btn-primary{
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* =========================================
   LUNORIA — align Back with Submit (returns)
   ========================================= */

html[class*="route-account-return"] .buttons .pull-left{
  display: flex !important;
  align-items: flex-end !important;
}

html[class*="route-account-return"] .buttons .pull-left .btn.btn-danger{
  margin-top: 42px !important;
}

/* ===============================
LUNORIA COOKIE CONSENT
=============================== */

#luno-cookie{
position:fixed;
bottom:20px;
left:50%;
transform:translateX(-50%);
z-index:99999;

background:#111;
color:#fff;

max-width:560px;
width:92%;

padding:16px 18px;

border-radius:16px;
border:1px solid rgba(122,46,42,.35);

box-shadow:0 10px 30px rgba(0,0,0,.35);

font-size:14px;
line-height:1.45;
}

#luno-cookie.hidden{
display:none;
}

#luno-cookie .actions{
margin-top:12px;
display:flex;
gap:10px;
flex-wrap:wrap;
}

#luno-cookie button{
cursor:pointer;
border-radius:22px;
padding:8px 16px;
font-size:13px;
font-weight:600;
border:0;
}

#luno-cookie .accept{
background:#7a2e2a;
color:#fff;
}

#luno-cookie .reject{
background:transparent;
border:1px solid #7a2e2a;
color:#fff;
}

#luno-cookie a{
color:#fff;
text-decoration:underline;
font-size:13px;
}

/* ===============================
   LUNORIA POPUP CHECKBOXES
   =============================== */

/* popup terms checkbox + don't show again */
.module-popup input[type="checkbox"],
.popup input[type="checkbox"],
.modal input[type="checkbox"]{
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border: 2px solid #7a2e2a !important;
  border-radius: 6px !important;
  background: #fff !important;
  position: relative !important;
  cursor: pointer !important;
  margin: 0 8px 0 0 !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

.module-popup input[type="checkbox"]:checked,
.popup input[type="checkbox"]:checked,
.modal input[type="checkbox"]:checked{
  background: #7a2e2a !important;
  border-color: #7a2e2a !important;
}

.module-popup input[type="checkbox"]:checked::after,
.popup input[type="checkbox"]:checked::after,
.modal input[type="checkbox"]:checked::after{
  content: "" !important;
  position: absolute !important;
  left: 4px !important;
  top: 0px !important;
  width: 5px !important;
  height: 10px !important;
  border: solid #fff !important;
  border-width: 0 2px 2px 0 !important;
  transform: rotate(45deg) !important;
}

/* Popup checkbox — one line */
.popup-wrapper .checkbox{
display:flex !important;
align-items:center !important;
}

.popup-wrapper .checkbox label{
display:flex !important;
align-items:center !important;
gap:6px !important;
flex-wrap:nowrap !important;
}

.popup-wrapper .checkbox input[type="checkbox"]{
margin:0 !important;
flex:0 0 auto !important;
}

.popup-wrapper .checkbox a{
white-space:nowrap !important;
}
.popup-wrapper .checkbox{
margin-left: -18px !important;
margin-top: 8px !important;
}


#content .confirm-section .checkbox label{
display:flex;
align-items:flex-start;
gap:10px;
line-height:1.4;
}

#content .confirm-section .checkbox label input{
margin-top:4px;
flex-shrink:0;
}

#content .confirm-section .checkbox label a{
white-space:nowrap;
}

#account-return .btn-primary,
#account-return .btn-danger {
    padding: 12px 18px !important;
    font-size: 15px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;

    height: 46px !important;
    min-width: 220px !important;

    border-radius: 12px !important;
    border: 0 !important;

    background:  #7A1F29 !important;
    color: #fff !important;

    font-weight: 800 !important;
    letter-spacing: .8px !important;
    text-transform: uppercase !important;

    box-shadow: 0 16px 34px rgba(122,31,41,.22) !important;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;

    width: 100% !important;
}

#account-return .input-group-btn {
    display: none !important;
}

.checkout-section.section-cvr .form-reward {
    display: none !important;
}

/* ===============================
   PRODUCT PAGE OPTION SELECT
   =============================== */

.product-info .form-group select.form-control[id^="input-option"]{
  width: 240px !important;
  max-width: 100% !important;
  height: 44px !important;

  border: 1px solid #d5d5d5 !important;
  border-radius: 10px !important;
  background-color: #fff !important;

  padding: 0 38px !important;


  font-size: 15px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-align: center !important;
  text-align-last: center !important;

  box-shadow: none !important;
  outline: none !important;

  -webkit-appearance: none !important;
  appearance: none !important;
}

.product-info .form-group select.form-control[id^="input-option"]:focus{
  border-color: #7a2e2a !important;
  box-shadow: 0 0 0 2px rgba(122,46,42,.10) !important;
}

/* HIDE BOTTOM WRITE REVIEW LINK */
.product-info .rating a:last-child{
  display: none !important;
}

/* PRODUCT PAGE — remove bottom write review separator */
#product > div.rating.rating-page > div.review-links > b{
  display: none !important;
}


/* MOBILE PRODUCT PAGE — SPACE ABOVE SHOW LESS */

@media (max-width: 1024px){

  .route-product-product 
  .product_extra-242 
  .expand-content.block-expanded 
  p:last-of-type{
    margin-bottom: 60px !important;
  }

}

/* PRODUCT PAGE — remove title underline */
.route-product-product h1.page-title{
  border-bottom: 0 !important;
}
/* PRODUCT PAGE — remove title after line */
.route-product-product h1.page-title span::after{
  display: none !important;
}

/* PRODUCT TITLE SPACING */

.route-product-product h1.page-title{
  padding-top: 20px;
  padding-bottom: 20px;
}

/* SEARCH BAR — remove focus outline/glow */
.header-search input:focus,
.header-search .form-control:focus,
.search-input input:focus,
.search-input .form-control:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: #7a2e2a !important;
}

/* MOBILE SEARCH — move search box slightly lower */
@media (max-width: 1024px) {
  .mobile-header-active .header-search,
  .mobile-search-wrapper,
  .mobile-container.mobile-search-container {
    margin-top: 5px !important;
  }
}

/* ACCOUNT BUTTONS */

#content > form > div > div.pull-left > a,
#content > form > div > div.pull-left > a:hover,
#content > form > div > div.pull-left > a:focus,
#content > form > div > div.pull-left > a:active {
    background: #ffffff !important;
    color: #222222 !important;
    border: 1px solid #d8d8d8 !important;
    box-shadow: none !important;

    height: 52px !important;
    min-height: 52px !important;
    padding: 0 18px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#content > form > div > div.pull-right > button,
#content > form > div > div.pull-right > button:hover,
#content > form > div > div.pull-right > button:focus,
#content > form > div > div.pull-right > button:active {
    background: #8f2631 !important;
    color: #ffffff !important;
    border: 1px solid #8f2631 !important;
    box-shadow: none !important;

    height: 52px !important;
    min-height: 52px !important;
    padding: 0 18px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#content > div > div.pull-left > a,
#content > div > div.pull-left > a:hover,
#content > div > div.pull-left > a:focus,
#content > div > div.pull-left > a:active {
    background: #ffffff !important;
    color: #222222 !important;
    border: 1px solid #d8d8d8 !important;
    box-shadow: none !important;

    height: 52px !important;
    min-height: 52px !important;
    padding: 0 18px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#content > div > div.pull-right > a,
#content > div > div.pull-right > a:hover,
#content > div > div.pull-right > a:focus,
#content > div > div.pull-right > a:active {
    background: #8f2631 !important;
    color: #ffffff !important;
    border: 1px solid #8f2631 !important;
    box-shadow: none !important;

    height: 52px !important;
    min-height: 52px !important;
    padding: 0 18px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#content > form > div > div.pull-left > a,
#content > form > div > div.pull-left > a:hover,
#content > form > div > div.pull-left > a:focus,
#content > form > div > div.pull-left > a:active {
    background: #ffffff !important;
    color: #222222 !important;
    border: 1px solid #d8d8d8 !important;
    box-shadow: none !important;

    height: 52px !important;
    min-height: 52px !important;
    padding: 0 18px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#content > form > div > div.pull-right > button,
#content > form > div > div.pull-right > button:hover,
#content > form > div > div.pull-right > button:focus,
#content > form > div > div.pull-right > button:active {
    background: #8f2631 !important;
    color: #ffffff !important;
    border: 1px solid #8f2631 !important;
    box-shadow: none !important;

    height: 52px !important;
    min-height: 52px !important;
    padding: 0 18px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Lunoria account buttons fix */

/* BACK / LEFT buttons */
#content .buttons.clearfix .pull-left > a,
#content form .buttons.clearfix .pull-left > a,
#content > form > div > div.pull-left > a,
#content > div > div.pull-left > a,
#content .pull-left > a.btn,
#content .pull-left > a.btn:hover,
#content .pull-left > a.btn:focus,
#content .pull-left > a.btn:active {
    background: #ffffff !important;
    color: #222222 !important;
    border: 1px solid #d8d8d8 !important;
    box-shadow: none !important;
}

/* CONTINUE / RIGHT buttons */
#content .buttons.clearfix .pull-right > button,
#content form .buttons.clearfix .pull-right > button,
#content > form > div > div.pull-right > button,
#content .pull-right > button.btn,
#content .pull-right > button.btn:hover,
#content .pull-right > button.btn:focus,
#content .pull-right > button.btn:active {
    background: #8f2631 !important;
    color: #ffffff !important;
    border: 1px solid #8f2631 !important;
    box-shadow: none !important;
}

/* SAME SIZE / NO HOVER JUMP */
#content .buttons.clearfix .pull-left > a,
#content .buttons.clearfix .pull-left > a:hover,
#content .buttons.clearfix .pull-left > a:focus,
#content .buttons.clearfix .pull-left > a:active,
#content .buttons.clearfix .pull-right > button,
#content .buttons.clearfix .pull-right > button:hover,
#content .buttons.clearfix .pull-right > button:focus,
#content .buttons.clearfix .pull-right > button:active,
#content > form > div > div.pull-left > a,
#content > form > div > div.pull-left > a:hover,
#content > form > div > div.pull-left > a:focus,
#content > form > div > div.pull-left > a:active,
#content > form > div > div.pull-right > button,
#content > form > div > div.pull-right > button:hover,
#content > form > div > div.pull-right > button:focus,
#content > form > div > div.pull-right > button:active,
#content > div > div.pull-left > a,
#content > div > div.pull-left > a:hover,
#content > div > div.pull-left > a:focus,
#content > div > div.pull-left > a:active,
#content > div > div.pull-right > a,
#content > div > div.pull-right > a:hover,
#content > div > div.pull-right > a:focus,
#content > div > div.pull-right > a:active {
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    border-radius: 999px !important;
    transform: none !important;
    top: auto !important;
    margin-top: 0 !important;
}

#content > form > div.buttons.clearfix > div.pull-left > a,
#content > form > div.buttons.clearfix > div.pull-left > a:hover,
#content > form > div.buttons.clearfix > div.pull-left > a:focus,
#content > form > div.buttons.clearfix > div.pull-left > a:active {
    background: #ffffff !important;
    color: #222222 !important;
    border: 1px solid #d8d8d8 !important;
    box-shadow: none !important;

    height: 52px !important;
    min-height: 52px !important;
    padding: 0 18px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    transform: none !important;
    top: auto !important;
    margin-top: 0 !important;
}

#content > form > div.buttons.clearfix > div.pull-right > button,
#content > form > div.buttons.clearfix > div.pull-right > button:hover,
#content > form > div.buttons.clearfix > div.pull-right > button:focus,
#content > form > div.buttons.clearfix > div.pull-right > button:active {
    background: #8f2631 !important;
    color: #ffffff !important;
    border: 1px solid #8f2631 !important;
    box-shadow: none !important;

    height: 52px !important;
    min-height: 52px !important;
    padding: 0 18px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    transform: none !important;
    top: auto !important;
    margin-top: 0 !important;
}

#content > div > div.cart-bottom > div.buttons.clearfix > div.pull-left > a,
#content > div > div.cart-bottom > div.buttons.clearfix > div.pull-left > a:hover,
#content > div > div.cart-bottom > div.buttons.clearfix > div.pull-left > a:focus,
#content > div > div.cart-bottom > div.buttons.clearfix > div.pull-left > a:active {
    background: #ffffff !important;
    color: #222222 !important;
    border: 1px solid #d8d8d8 !important;
    box-shadow: none !important;

    height: 52px !important;
    min-height: 52px !important;
    padding: 0 18px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    transform: none !important;
    top: auto !important;
    margin-top: 0 !important;
}

#content > div > div.cart-bottom > div.buttons.clearfix > div.pull-right > a,
#content > div > div.cart-bottom > div.buttons.clearfix > div.pull-right > a:hover,
#content > div > div.cart-bottom > div.buttons.clearfix > div.pull-right > a:focus,
#content > div > div.cart-bottom > div.buttons.clearfix > div.pull-right > a:active {
    background: #8f2631 !important;
    color: #ffffff !important;
    border: 1px solid #8f2631 !important;
    box-shadow: none !important;

    height: 52px !important;
    min-height: 52px !important;
    padding: 0 18px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    transform: none !important;
    top: auto !important;
    margin-top: 0 !important;
}

#top > div > div.grid-row.grid-row-top-2 > div > div > div > div > div > div > form > div > div > button,
#top > div > div.grid-row.grid-row-top-2 > div > div > div > div > div > div > form > div > div > button:hover,
#top > div > div.grid-row.grid-row-top-2 > div > div > div > div > div > div > form > div > div > button:focus,
#top > div > div.grid-row.grid-row-top-2 > div > div > div > div > div > div > form > div > div > button:active {
    background: #8f2631 !important;
    color: #ffffff !important;
    border: 1px solid #8f2631 !important;
    box-shadow: none !important;

    height: 52px !important;
    min-height: 52px !important;
    padding: 0 18px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    transform: none !important;
    top: auto !important;
    margin-top: 0 !important;
}

#content > div.main-products-wrapper > div > div > a,
#content > div.main-products-wrapper > div > div > a:hover,
#content > div.main-products-wrapper > div > div > a:focus,
#content > div.main-products-wrapper > div > div > a:active {
    background: #8f2631 !important;
    color: #ffffff !important;
    border: 1px solid #8f2631 !important;
    box-shadow: none !important;

    height: 52px !important;
    min-height: 52px !important;
    padding: 0 18px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    line-height: 1 !important;
    border-radius: 999px !important;
    transform: none !important;
    top: auto !important;
    margin-top: 0 !important;
}

#content > form > div > div.pull-left > a,
#content > form > div > div.pull-left > a:hover,
#content > form > div > div.pull-left > a:focus,
#content > form > div > div.pull-left > a:active {
    background: #ffffff !important;
    color: #222222 !important;
    border: 1px solid #d8d8d8 !important;
    box-shadow: none !important;

    height: 52px !important;
    min-height: 52px !important;
    padding: 0 18px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#content > form > div > div.pull-right > button,
#content > form > div > div.pull-right > button:hover,
#content > form > div > div.pull-right > button:focus,
#content > form > div > div.pull-right > button:active {
    background: #8f2631 !important;
    color: #ffffff !important;
    border: 1px solid #8f2631 !important;
    box-shadow: none !important;

    height: 52px !important;
    min-height: 52px !important;
    padding: 0 18px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

html.route-account-return-add #content form > div.buttons.clearfix {
    display: flex !important;
    align-items: flex-end !important;
    gap: 24px !important;
}

html.route-account-return-add #content form > div.buttons.clearfix > div.pull-left,
html.route-account-return-add #content form > div.buttons.clearfix > div.pull-right {
    float: none !important;
    width: 50% !important;
}

html.route-account-return-add #content form > div.buttons.clearfix > div.pull-left > a,
html.route-account-return-add #content form > div.buttons.clearfix > div.pull-right > button {
    width: 100% !important;
}


    .notification-wrapper.notification-wrapper-tr {
        top: 95px !important;
        right: 12px !important;
        left: 12px !important;
        width: auto !important;
    }

    .notification-wrapper.notification-wrapper-tr .notification {
        max-width: 100% !important;
        border-radius: 12px !important;
    }

    .notification-wrapper.notification-wrapper-tr .notification-content {
        padding: 18px 18px 16px 18px !important;
    }

    .notification-wrapper.notification-wrapper-tr .notification-close {
        position: absolute !important;
        top: 10px !important;
        right: 12px !important;
        z-index: 5 !important;
    }

    .notification-wrapper.notification-wrapper-tr .notification-title,
    .notification-wrapper.notification-wrapper-tr .notification-text {
        padding-right: 28px !important;
    }

/* OPTIONS IN PRODUCT POPUP OUT FIX */

/* Lunoria options popup outer shell */
.popup-wrapper.popup-options .popup-container {
    max-width: 430px !important;
    width: calc(100% - 32px) !important;
    border-radius: 18px !important;
    overflow: visible !important;
}

.popup-wrapper.popup-options .popup-body {
    background: #ffffff !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 18px 50px rgba(0,0,0,.22) !important;
}

.popup-wrapper.popup-options .popup-inner-body {
    padding: 0 !important;
    margin: 0 !important;
}

.popup-wrapper.popup-options iframe {
    display: block !important;
    width: 100% !important;
}

.popup-wrapper.popup-options .popup-close {
    top: -16px !important;
    right: -16px !important;
    background: #ffffff !important;
    border: 1px solid #ead2d0 !important;
    color: #7a2e2a !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
}

/* OPTIONS POPUP — FINAL INNER FIX */
html.popup.popup-options,
html.popup.popup-options body {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    background: #ffffff !important;
}

html.popup.popup-options .site-wrapper {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    background: #ffffff !important;
}

html.popup.popup-options #lunoria-annbar,
html.popup.popup-options .lunoria-annbar {
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 14px !important;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

html.popup.popup-options .product-info {
    display: block !important;
    padding: 22px 28px 26px !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}

html.popup.popup-options .product-left,
html.popup.popup-options .product-image,
html.popup.popup-options .product-stats,
html.popup.popup-options .product-price-group,
html.popup.popup-options .rating,
html.popup.popup-options .description,
html.popup.popup-options .product-extra,
html.popup.popup-options .custom-stats,
html.popup.popup-options .brand-image {
    display: none !important;
}

html.popup.popup-options .product-right,
html.popup.popup-options .product-details {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}

html.popup.popup-options .product-options {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}

html.popup.popup-options .options-title {
    display: block !important;
    text-align: center !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    color: #222 !important;
}

html.popup.popup-options .options-title:after {
    display: none !important;
}

html.popup.popup-options .product-option-select,
html.popup.popup-options .form-group {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

html.popup.popup-options .control-label {
    display: block !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 0 10px !important;
    max-width: none !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #333 !important;
}

html.popup.popup-options select.form-control,
html.popup.popup-options select[id^="input-option"] {
    width: 100% !important;
    max-width: 260px !important;
    height: 48px !important;
    margin: 0 auto !important;
    padding: 0 16px !important;
    display: block !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    outline: none !important;
    text-align: center !important;
    text-align-last: center !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #333 !important;
}

html.popup.popup-options .button-group-page {
    position: static !important;
    width: 100% !important;
    max-width: 260px !important;
    margin: 18px auto 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: block !important;
}

html.popup.popup-options .button-group-page:before,
html.popup.popup-options .button-group-page:after {
    display: none !important;
    content: none !important;
}

html.popup.popup-options .stepper,
html.popup.popup-options .wishlist-compare,
html.popup.popup-options .btn-more-details {
    display: none !important;
}

html.popup.popup-options .btn-cart {
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #8f2631 !important;
    border: 1px solid #8f2631 !important;
    color: #ffffff !important;
    box-shadow: none !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    transform: none !important;
}

html.popup.popup-options .btn-cart:hover,
html.popup.popup-options .btn-cart:focus,
html.popup.popup-options .btn-cart:active {
    background: #8f2631 !important;
    border-color: #8f2631 !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

html.popup.popup-options .btn-cart::before {
    content: "\f07a" !important;
    font-family: FontAwesome !important;
    font-weight: normal !important;
    margin-right: 8px !important;
    color: #000000 !important;
}

.popup-wrapper.popup-options iframe {
    height: 280px !important;
    max-height: 280px !important;
}

.popup-wrapper.popup-options .popup-inner-body,
.popup-wrapper.popup-options .popup-body {
    height: 280px !important;
    max-height: 280px !important;
    overflow: hidden !important;
}

html.popup.popup-options .product-option-select select,
html.popup.popup-options .product-option-select select.form-control,
html.popup.popup-options .form-group select#input-option38,
html.popup.popup-options select[id^="input-option"] {
    width: 260px !important;
    min-width: 260px !important;
    max-width: 260px !important;
    height: 50px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box !important;
}

/* Kill Product Compare everywhere */
#content #compare-total,
#content a#compare-total,
#content .compare-btn,
#content a.compare-btn,
#content a[href*="product/compare"],
.products-filter #compare-total,
.products-filter .compare-btn,
.main-products-wrapper #compare-total,
.main-products-wrapper .compare-btn,
.product-layout .btn-compare,
.product-thumb .btn-compare,
.wish-group .btn-compare {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

/* Lunoria custom checkboxes */

input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    border: 2px solid #7a2e2a !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    cursor: pointer !important;
    position: relative !important;
}

input[type="checkbox"]:checked {
    background: #7a2e2a !important;
    border-color: #7a2e2a !important;
}

input[type="checkbox"]:checked::after {
    content: "✓";
    position: absolute;
    top: -2px;
    left: 2px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
}

#main-menu-2 > ul > li > a:hover,
#main-menu-2 > ul > li > a:focus {
    background: #3a3a3a !important;
    color: #ffffff !important;
}

#main-menu-2 > ul > li > a:hover i,
#main-menu-2 > ul > li > a:focus i,
#main-menu-2 > ul > li > a:hover svg,
#main-menu-2 > ul > li > a:focus svg {
    color: #ffffff !important;
    fill: #ffffff !important;
}

/* Checkout only */

.route-checkout-checkout #column-left .address-company {
    display: none !important;
}

.route-checkout-checkout .address-address-2.required .control-label::after {
    display: none !important;
}

.popup-wrapper.popup-options .popup-close {
    display: none !important;
}

@media (max-width: 1024px) {
    #luno-cookie {
        bottom: 80px !important;
    }
}

/* PROPPER STEPPER CART AND CHECKOUT*/

/* === LUNORIA: Basket qty pill like premium UI === */
.route-checkout-cart .td-qty .input-group.btn-block{
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  white-space: nowrap !important;
}

.route-checkout-cart .td-qty .stepper{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 132px !important;
  height: 42px !important;

  border: 1px solid #cfcfd4 !important;
  border-radius: 999px !important;
  overflow: hidden !important;

  background: #ffffff !important;
  box-shadow: none !important;
}

.route-checkout-cart .td-qty .stepper input.form-control{
  order: 2 !important;

  width: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;
  height: 42px !important;

  padding: 0 !important;
  margin: 0 !important;

  border: 0 !important;
  border-left: 1px solid #e0e0e4 !important;
  border-right: 1px solid #e0e0e4 !important;
  border-radius: 0 !important;

  background: #ffffff !important;
  box-shadow: none !important;
  outline: 0 !important;

  text-align: center !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #333 !important;
}

.route-checkout-cart .td-qty .stepper > span{
  display: none !important;
}

.route-checkout-cart .td-qty .luno-qty-btn{
  width: 43px !important;
  height: 42px !important;

  border: 0 !important;
  border-radius: 0 !important;

  background: #ffffff !important;
  color: #111 !important;

  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
}

.route-checkout-cart .td-qty .luno-qty-minus{
  order: 1 !important;
}

.route-checkout-cart .td-qty .luno-qty-plus{
  order: 3 !important;
}

.route-checkout-cart .td-qty .luno-qty-btn:hover{
  background: #f5f5f6 !important;
}

.route-checkout-cart .td-qty .luno-qty-btn:active{
  background: #eeeeef !important;
}

/* Basket: hide manual refresh button */
.route-checkout-cart .td-qty .btn-update{
  display: none !important;
}

/* === LUNORIA: Basket page title premium look === */
.route-checkout-cart h1.title.page-title,
.route-checkout-cart .title.page-title{
  font-size: 34px !important;
  font-weight: 800 !important;
  letter-spacing: -0.4px !important;
  color: #222 !important;
  margin: 18px 0 26px !important;
  padding-left: 14px !important;
  position: relative !important;
}

.route-checkout-cart h1.title.page-title::after,
.route-checkout-cart .title.page-title::after{
  content: "" !important;
  display: block !important;
  width: 86px !important;
  height: 3px !important;
  background: #7a2e2a !important;
  border-radius: 999px !important;
  margin-top: 10px !important;
}

/* === LUNORIA: Basket product table cleaner === */
.route-checkout-cart .cart-table{
  border-radius: 18px !important;
  padding: 22px !important;
  background: #fff !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.05) !important;
}

.route-checkout-cart .cart-table .table-responsive{
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #fff !important;
}

.route-checkout-cart .cart-table table{
  margin-bottom: 0 !important;
}

.route-checkout-cart .cart-table thead td{
  background: #f1f1f2 !important;
  color: #5f6068 !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  letter-spacing: .4px !important;
  text-transform: uppercase !important;
  padding: 18px 14px !important;
}

.route-checkout-cart .cart-table tbody td{
  padding: 20px 14px !important;
  vertical-align: middle !important;
  border-top: 1px solid rgba(0,0,0,.06) !important;
}

/* Basket: move quantity text slightly left */
.route-checkout-cart table thead .td-qty{
    text-indent: -50px !important;
}

/* === LUNORIA: Checkout qty pill like Basket === */

/* === LUNORIA: Checkout qty pill like Basket === */
.route-checkout-checkout .cart-section .td-qty .input-group.btn-block{
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  white-space: nowrap !important;
}

.route-checkout-checkout .cart-section .td-qty .stepper{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 132px !important;
  height: 42px !important;
  border: 1px solid #cfcfd4 !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.route-checkout-checkout .cart-section .td-qty .stepper input.form-control{
  order: 2 !important;
  width: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;
  height: 42px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-left: 1px solid #e0e0e4 !important;
  border-right: 1px solid #e0e0e4 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
  outline: 0 !important;
  text-align: center !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #333 !important;
}

.route-checkout-checkout .cart-section .td-qty .stepper > span{
  display: none !important;
}

.route-checkout-checkout .cart-section .td-qty .luno-qty-btn{
  width: 43px !important;
  height: 42px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  color: #111 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
}

.route-checkout-checkout .cart-section .td-qty .luno-qty-minus{
  order: 1 !important;
}

.route-checkout-checkout .cart-section .td-qty .luno-qty-plus{
  order: 3 !important;
}

.route-checkout-checkout .cart-section .td-qty .luno-qty-btn:hover{
  background: #f5f5f6 !important;
}

.route-checkout-checkout .cart-section .td-qty .luno-qty-btn:active{
  background: #eeeeef !important;
}

/* Checkout: hide manual refresh button */
.route-checkout-checkout .cart-section .td-qty .btn-update{
  display: none !important;
}

/* Checkout: make qty pill same width as Basket + hide refresh */
.route-checkout-checkout .checkout-section.cart-section .td-qty .stepper{
  width: 132px !important;
  min-width: 132px !important;
}

.route-checkout-checkout .checkout-section.cart-section .td-qty .luno-qty-btn{
  width: 43px !important;
  min-width: 43px !important;
  flex: 0 0 43px !important;
}

.route-checkout-checkout .checkout-section.cart-section .td-qty .btn-update,
.route-checkout-checkout .checkout-section.cart-section .td-qty button.btn-update,
.route-checkout-checkout .checkout-section.cart-section .td-qty .btn.btn-update,
.route-checkout-checkout .checkout-section.cart-section .td-qty .btn.btn-primary{
  display: none !important;
}

/* Checkout: move Quantity heading left */
.route-checkout-checkout .checkout-section.cart-section table thead .td-qty{
    text-indent: -55px !important;
}

/* Checkout mobile: compact qty row */
@media (max-width: 1024px){

  .route-checkout-checkout .checkout-section.cart-section .td-qty{
    gap: 6px !important;
  }

  .route-checkout-checkout .checkout-section.cart-section .td-qty .input-group.btn-block{
    gap: 6px !important;
    max-width: 100% !important;
  }

  .route-checkout-checkout .checkout-section.cart-section .td-qty .stepper{
    width: 114px !important;
    min-width: 114px !important;
    height: 38px !important;
  }

  .route-checkout-checkout .checkout-section.cart-section .td-qty .stepper input.form-control{
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
  }

  .route-checkout-checkout .checkout-section.cart-section .td-qty .luno-qty-btn{
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
  }

  .route-checkout-checkout .checkout-section.cart-section .td-qty .btn-danger{
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
  }
}

/* Checkout desktop: make remove button same height as stepper */
.route-checkout-checkout .cart-section .btn-danger{
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    padding: 0 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.route-checkout-checkout .cart-section .stepper{
    height: 42px !important;
}

/* Basket: force remove button same size as qty pill */
.route-checkout-cart .td-qty .btn-remove,
.route-checkout-cart .td-qty button.btn-remove,
.route-checkout-cart .td-qty .input-group-btn .btn-remove{
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  border-radius: 999px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Basket mobile: undo card style ONLY for totals rows */
@media (max-width: 1024px){

  .route-checkout-cart #checkout-cart .cart-total table tbody tr,
  .route-checkout-cart #checkout-cart .cart-total table tbody tr:nth-child(odd),
  .route-checkout-cart #checkout-cart .cart-total table tbody tr:nth-child(even){
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    margin: 0 !important;
    padding: 14px 18px !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    border-bottom: 1px solid rgba(0,0,0,.08) !important;
  }

  .route-checkout-cart #checkout-cart .cart-total table tbody tr:last-child{
    border-bottom: 0 !important;
  }

  .route-checkout-cart #checkout-cart .cart-total table tbody tr td{
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    width: auto !important;
  }

  .route-checkout-cart #checkout-cart .cart-total table tbody tr td:first-child{
    flex: 1 1 auto !important;
    text-align: left !important;
  }

  .route-checkout-cart #checkout-cart .cart-total table tbody tr td:last-child{
    flex: 0 0 auto !important;
    text-align: right !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 1024px){

  #content > div > div.cart-bottom > div.panels-total > div.cart-total > table > tbody > tr:last-child{
    margin-bottom: 0 !important;
  }

}

/* Checkout: telephone is optional, remove only its red star */
.route-checkout-checkout .form-group.account-telephone > label.control-label::after{
    display: none !important;
    content: none !important;
}

/* Lunoria branded alert popup */
.lunoria-notice-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.lunoria-notice-box {
  width: 100%;
  max-width: 420px;
  background: #ffffff;
  border-radius: 18px;
  border: 1px solid #eadfdd;
  box-shadow: 0 20px 55px rgba(0, 0, 0, 0.22);
  padding: 28px 26px 24px;
  text-align: center;
  position: relative;
}

.lunoria-notice-title {
  color: #7a1f29;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 12px;
}

.lunoria-notice-message {
  color: #333;
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 22px;
}

.lunoria-notice-button {
  background: #7a1f29;
  color: #ffffff;
  border: 0;
  border-radius: 999px;
  padding: 11px 34px;
  font-weight: 700;
}

.lunoria-notice-close {
  position: absolute;
  top: 12px;
  right: 14px;
  border: 0;
  background: transparent;
  color: #777;
  font-size: 24px;
  line-height: 1;
}

.lunoria-notice-actions{
	display:flex;
	gap:10px;
	margin-top:18px;
}

.lunoria-confirm-cancel,
.lunoria-confirm-ok{
	flex:1;
	padding:10px 14px;
	border:none;
	border-radius:10px;
	font-size:14px;
	font-weight:600;
	cursor:pointer;
	transition:.2s;
}

.lunoria-confirm-cancel{
	background:#ececec;
	color:#333;
}

.lunoria-confirm-cancel:hover{
	background:#dddddd;
}

.lunoria-confirm-ok{
	background:#7A1F29;
	color:#fff;
}

.lunoria-confirm-ok:hover{
	background:#681922;
}

@media (max-width: 1024px) {
    .module-item-1 .banner-caption-2 > span > div,
    .module-item-2 .banner-caption-2 > span > div,
    .module-item-3 .banner-caption-2 > span > div,
    .module-item-4 .banner-caption-2 > span > div,
    .module-item-5 .banner-caption-2 > span > div,
    .module-item-6 .banner-caption-2 > span > div,
    .module-item-7 .banner-caption-2 > span > div,
    .module-item-8 .banner-caption-2 > span > div {
        height: 16px !important;
        line-height: 16px !important;
        font-size: 8px !important;
        letter-spacing: 0.5px !important;
    }
}

.desktop-main-menu-wrapper .main-menu-item > a {
    background: #333333 !important;
}

.bottom-menu.bottom-menu-266 {
    background: rgba(255, 255, 255, 0.9) !important;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-width: 1px 0 0 !important;
    border-style: solid !important;
    border-color: #eadfe1 !important;
    box-shadow: 0 -6px 20px rgba(36, 24, 27, 0.08) !important;
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
}

.bottom-menu.bottom-menu-266 ul {
    display: flex !important;
    align-items: stretch !important;
    width: 100% !important;
    height: 64px !important;
    margin: 0 !important;
}

.bottom-menu.bottom-menu-266 ul > li {
    flex: 1 1 20% !important;
    width: 20% !important;
    max-width: 20% !important;
    border: 0 !important;
}

.bottom-menu.bottom-menu-266 ul > li > a {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 48px !important;
    height: 64px !important;
    min-height: 48px !important;
    padding: 6px 2px 5px !important;
    color: #2d292a !important;
    background: transparent !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    -webkit-tap-highlight-color: transparent;
}

.bottom-menu.bottom-menu-266 ul > li > a .links-text {
    top: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 13px !important;
    min-height: 13px !important;
    margin: 3px 0 0 !important;
    color: currentColor !important;
    line-height: 13px !important;
    transform: none !important;
}

.bottom-menu.bottom-menu-266 .bottom-menu-item > a::before {
    content: '' !important;
    display: block !important;
    flex: 0 0 24px !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    color: currentColor !important;
    background-color: currentColor !important;
    background-image: none !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    -webkit-mask-size: 23px 23px !important;
    mask-size: 23px 23px !important;
}

.bottom-menu.bottom-menu-266 .bottom-menu-item-1 > a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5.5 9.5V21h13V9.5M9.5 21v-7h5v7'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5.5 9.5V21h13V9.5M9.5 21v-7h5v7'/%3E%3C/svg%3E") !important;
}

.bottom-menu.bottom-menu-266 .bottom-menu-item-2 > a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E") !important;
}

.bottom-menu.bottom-menu-266 .bottom-menu-item-3 > a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") !important;
    -webkit-mask-size: 24px 24px !important;
    mask-size: 24px 24px !important;
}

.bottom-menu.bottom-menu-266 .bottom-menu-item-4 > a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.8a5.5 5.5 0 0 0-7.8 0L12 5.8l-1-1a5.5 5.5 0 0 0-7.8 7.8l1 1L12 21l7.8-7.4 1-1a5.5 5.5 0 0 0 0-7.8Z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.8a5.5 5.5 0 0 0-7.8 0L12 5.8l-1-1a5.5 5.5 0 0 0-7.8 7.8l1 1L12 21l7.8-7.4 1-1a5.5 5.5 0 0 0 0-7.8Z'/%3E%3C/svg%3E") !important;
}

.bottom-menu.bottom-menu-266 .bottom-menu-item-5 > a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4.5 21a7.5 7.5 0 0 1 15 0'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4.5 21a7.5 7.5 0 0 1 15 0'/%3E%3C/svg%3E") !important;
}

html.route-common-home .bottom-menu-266 .bottom-menu-item-1 > a,
html.route-product-category .bottom-menu-266 .bottom-menu-item-2 > a,
html.route-product-product .bottom-menu-266 .bottom-menu-item-2 > a,
html.route-product-manufacturer .bottom-menu-266 .bottom-menu-item-2 > a,
html.route-product-search .bottom-menu-266 .bottom-menu-item-3 > a,
html:has(.mobile-search-wrapper #search.open) .bottom-menu-266 .bottom-menu-item-3 > a,
html.route-account-wishlist .bottom-menu-266 .bottom-menu-item-4 > a,
html[class*='route-account-']:not(.route-account-wishlist) .bottom-menu-266 .bottom-menu-item-5 > a {
    color: #7a1f29 !important;
}

.bottom-menu.bottom-menu-266 .wishlist-badge {
    top: 7px !important;
    right: auto !important;
    left: calc(50% + 10px) !important;
    min-width: 17px !important;
    width: auto !important;
    height: 17px !important;
    margin: 0 !important;
    padding: 0 4px !important;
    border: 1px solid #ffffff !important;
    border-radius: 9px !important;
    background: #9a5962 !important;
    color: #ffffff !important;
    box-shadow: none !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 15px !important;
    transform: translateX(-50%) !important;
}

html.has-bottom-menu body {
    padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)) !important;
}

html.has-bottom-menu .mobile-filter-trigger {
    bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
    margin-bottom: 0 !important;
}

html.has-bottom-menu .scroll-top {
    bottom: calc(74px + env(safe-area-inset-bottom, 0px)) !important;
}

/* === LUNORIA unified header icons === */
.mobile-header-active .menu-trigger::before,
.mobile-header-active .mini-search .search-trigger::before,
.mobile-header-active #cart > a > i::before,
.desktop-header-active .desktop-search-wrapper .search-button::before,
.desktop-header-active .desktop-cart-wrapper #cart > a > i::before,
.desktop-header-active .top-menu-240 > .j-menu > .top-menu-item > a::before {
    content: '' !important;
    display: block !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 auto 3px !important;
    color: transparent !important;
    background: #2d292a !important;
    font-family: inherit !important;
    font-size: 0 !important;
    line-height: 0 !important;
    position: static !important;
    transform: none !important;
    -webkit-mask-image: var(--luno-header-icon) !important;
    mask-image: var(--luno-header-icon) !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
}

.mobile-header-active .menu-trigger::before {
    --luno-header-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E");
}

.mobile-header-active .mini-search .search-trigger::before,
.desktop-header-active .desktop-search-wrapper .search-button::before {
    --luno-header-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E");
}

.mobile-header-active #cart > a > i::before,
.desktop-header-active .desktop-cart-wrapper #cart > a > i::before {
    --luno-header-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.2 10.2a2 2 0 0 0 2 1.6h7.9a2 2 0 0 0 2-1.6L21 7H6'/%3E%3Ccircle cx='10' cy='20' r='1.2'/%3E%3Ccircle cx='18' cy='20' r='1.2'/%3E%3C/svg%3E");
}

.desktop-header-active .top-menu-240 > .j-menu > .top-menu-item-1 > a::before {
    --luno-header-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h5a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-5'/%3E%3Cpath d='m10 8 4 4-4 4M14 12H3'/%3E%3C/svg%3E");
}

.desktop-header-active .top-menu-240 > .j-menu > .top-menu-item-2 > a::before {
    --luno-header-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='4'/%3E%3Cpath d='M2.5 21a6.5 6.5 0 0 1 13 0M19 8v6M16 11h6'/%3E%3C/svg%3E");
}

.desktop-header-active .top-menu-240 > .j-menu > .top-menu-item-3 > a::before {
    --luno-header-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4.5 21a7.5 7.5 0 0 1 15 0'/%3E%3C/svg%3E");
}

.desktop-header-active .top-menu-240 > .j-menu > .top-menu-item-4 > a::before,
.desktop-header-active .top-menu-240 > .j-menu > .top-menu-item-6 > a::before,
.desktop-header-active .top-menu-240 > .j-menu > .top-menu-item > a[href*="route=account/logout"]::before {
    --luno-header-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h5'/%3E%3Cpath d='m14 8 4 4-4 4M18 12H7'/%3E%3C/svg%3E");
}

.desktop-header-active .top-menu-240 > .j-menu > .top-menu-item-5 > a::before,
.desktop-header-active .top-menu-240 > .j-menu > .top-menu-item-7 > a::before,
.desktop-header-active .top-menu-240 > .j-menu > .top-menu-item > a[href*="route=account/wishlist"]::before {
    --luno-header-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.8a5.5 5.5 0 0 0-7.8 0L12 5.8l-1-1a5.5 5.5 0 0 0-7.8 7.8l1 1L12 21l7.8-7.4 1-1a5.5 5.5 0 0 0 0-7.8Z'/%3E%3C/svg%3E");
}

.desktop-header-active .top-menu-240 > .j-menu > .top-menu-item > a:hover::before,
.desktop-header-active .desktop-search-wrapper .search-button:hover::before,
.desktop-header-active .desktop-cart-wrapper #cart > a:hover > i::before,
html.mobile-main-menu-container-open .mobile-header-active .menu-trigger::before,
.mobile-header-active #search.open .search-trigger::before,
html.mobile-cart-content-container-open .mobile-header-active #cart > a > i::before {
    background: #7a1f29 !important;
}

.mobile-header-active .mobile-bar {
    position: relative !important;
}

.mobile-header-active .mobile-bar .mobile-logo-wrapper {
    position: absolute !important;
    left: 48px !important;
    right: 48px !important;
    width: auto !important;
    max-width: none !important;
    height: 50px !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 3 !important;
    pointer-events: none !important;
}

.mobile-header-active .mobile-logo-wrapper #logo,
.mobile-header-active .mobile-logo-wrapper #logo a {
    width: 100% !important;
    height: 100% !important;
    pointer-events: auto !important;
}

.mobile-header-active .mobile-logo-wrapper #logo img {
    width: auto !important;
    max-width: min(220px, calc(100% - 16px)) !important;
    max-height: 48px !important;
    object-fit: contain !important;
}

.mobile-header-active .mobile-bar-group {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
    justify-content: flex-end !important;
    z-index: 2 !important;
    pointer-events: none !important;
}

.mobile-header-active .mobile-bar-group > .menu-trigger {
    position: absolute !important;
    left: 0 !important;
    pointer-events: auto !important;
}

.mobile-header-active .mobile-bar-group > .mobile-search-wrapper {
    position: absolute !important;
    right: 48px !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    pointer-events: none !important;
}

.mobile-header-active .mobile-bar-group > .mobile-search-wrapper .search-trigger {
    opacity: 0 !important;
    pointer-events: none !important;
}

.mobile-header-active .mobile-bar-group > .mobile-search-wrapper #search.open,
.mobile-header-active .mobile-bar-group > .mobile-search-wrapper #search.open > .dropdown-menu {
    pointer-events: auto !important;
}

.mobile-header-active .mobile-bar-group > .mobile-cart-wrapper {
    pointer-events: auto !important;
}

.mobile-header-active .menu-trigger,
.mobile-header-active .mini-search .search-trigger,
.mobile-header-active .mobile-cart-wrapper,
.mobile-header-active .mobile-cart-wrapper #cart,
.mobile-header-active .mobile-cart-wrapper #cart > a,
.mobile-header-active .mobile-cart-wrapper #cart > a > i {
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.mobile-header-active .menu-trigger {
    left: 0 !important;
}

.mobile-header-active .mini-search .search-trigger::before,
.mobile-header-active #cart > a > i::before,
.mobile-header-active .menu-trigger::before {
    width: 26px !important;
    height: 26px !important;
    margin: 0 !important;
}

.mobile-header-active .mini-search .search-trigger::before {
    transform: translateY(1px) !important;
}

.mobile-header-active #cart > a > i::before {
    transform: translateY(-1px) !important;
}

.desktop-header-active .desktop-search-wrapper .search-button::before {
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
}

.desktop-header-active .desktop-cart-wrapper #cart > a > i::before {
    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
}

.desktop-header-active .top-menu-240 > .j-menu > .top-menu-item > a {
    min-width: 72px !important;
    min-height: 64px !important;
    color: #2d292a !important;
}

.desktop-header-active .top-menu-240 > .j-menu > .top-menu-item > a:hover {
    color: #7a1f29 !important;
}

.desktop-header-active .top-menu-240 .wishlist-badge,
.desktop-header-active .desktop-cart-wrapper #cart-items,
.mobile-header-active .mobile-cart-wrapper #cart-items {
    min-width: 17px !important;
    width: auto !important;
    height: 17px !important;
    padding: 0 4px !important;
    border: 1px solid #ffffff !important;
    border-radius: 9px !important;
    background: #9a5962 !important;
    color: #ffffff !important;
    box-shadow: none !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 15px !important;
}

.desktop-header-active .top-menu-240 .wishlist-badge {
    top: 3px !important;
    right: 8px !important;
    left: auto !important;
    margin: 0 !important;
    transform: none !important;
}

.desktop-header-active .desktop-cart-wrapper #cart-items {
    top: 4px !important;
    right: 5px !important;
    margin: 0 !important;
    transform: none !important;
}

.mobile-header-active .mobile-cart-wrapper #cart-items {
    top: 5px !important;
    right: 4px !important;
    margin: 0 !important;
    transform: none !important;
}

html.desktop-header-active #main-menu.main-menu-3 > .j-menu > .main-menu-item-1 > a::before,
html.desktop-header-active #main-menu-2.main-menu-64 > .j-menu > .main-menu-item-2 > a::before {
    content: none !important;
    display: none !important;
    margin: 0 !important;
}

html.mobile .breadcrumb > li:first-child a,
html.tablet .breadcrumb > li:first-child a,
html.mobile .breadcrumb > li + li::before,
html.tablet .breadcrumb > li + li::before {
    color: #969093 !important;
    opacity: 0.85 !important;
}

html.mobile .breadcrumb > li:first-child a::before,
html.tablet .breadcrumb > li:first-child a::before {
    font-size: 14px !important;
}

#content > div.search-form > div.inputs > select {
    display: none !important;
}

@media (max-width: 9999px) {
  #luno-search-popup {
    position: fixed;
    inset: 6px;
    z-index: 999999;
    background: #fff;
    border-radius: 22px;
    box-shadow: 0 14px 45px rgba(0,0,0,.28);
    opacity: 0;
    visibility: hidden;
    transform: translateY(18px);
    transition: opacity .45s ease, transform .45s ease, visibility .45s ease;
    overflow: hidden;
  }
}
   
  @media (min-width: 1025px) and (max-width: 1500px) {
    #luno-search-popup {
        left: 50% !important;
        top: 30px !important;
        bottom: auto !important;
        width: 720px !important;
        max-width: calc(100vw - 40px) !important;
        transform: translateX(-50%) !important;
    }

    #luno-search-popup.is-open {
        transform: translateX(-50%) translateY(0) !important;
    }
}

  #luno-search-popup.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .luno-search-popup-box {
    height: 100%;
    padding: 14px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
  }

  .luno-search-close {
    height: 36px;
    border: none;
    border-radius: 999px;
    background: #7A1F29;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.2px;
    margin-bottom: 12px;
  }

  .luno-search-input {
    width: 100%;
    height: 48px;
    border: 2px solid #7A1F29;
    border-radius: 16px;
    padding: 0 15px;
    font-size: 16px;
    box-sizing: border-box;
    outline: none;
    margin-bottom: 10px;
  }

  .luno-search-results {
    overflow-y: auto;
    flex: 1;
    padding-bottom: 12px;
  }

  .luno-search-result {
    display: flex;
    gap: 12px;
    padding: 11px 4px;
    text-decoration: none;
    color: #2b2b2b;
    border-bottom: 1px solid #eee;
  }

  .luno-search-result img {
    width: 62px;
    height: 62px;
    object-fit: contain;
    flex: 0 0 62px;
  }

  .luno-search-result-name {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
  }

  .luno-search-result-price {
    margin-top: 5px;
    font-size: 14px;
    font-weight: 700;
    color: #7A1F29;
  }

  .luno-search-result-price .price-old {
    color: #888;
    text-decoration: line-through;
    margin-right: 7px;
  }

  .luno-search-result-price .price-new {
    color: #7A1F29;
  }

  .luno-search-view-more,
  .luno-search-empty,
  .luno-search-hint,
  .luno-search-loading {
    display: block;
    padding: 14px;
    text-align: center;
    color: #555;
    font-weight: 600;
    text-decoration: none;
  }

@media (max-width: 1024px) {
    button.search-button::before {
        display: none !important;
    }
}

/* Desktop */
.popup-body h2 {
    font-size: 58px;
    line-height: 1.05;
    font-weight: 700;
    color: #6d1422;
}

@media (max-width: 1024px) {
    .popup-body h2 {
        font-size: 24px !important;
        line-height: 1.0 !important;
        margin: 0 0 10px 0 !important;
    }

    .luno-popup-divider {
        margin: 6px 0 10px 0 !important;
    }

    .popup-body p strong {
        font-size: 15px !important;
        line-height: 1.15 !important;
    }

    .popup-body p {
        font-size: 14px !important;
        line-height: 1.3 !important;
        margin-bottom: 12px !important;
    }

    .luno-popup-divider span:first-child,
    .luno-popup-divider span:last-child {
        width: 50px !important;
    }
}

@media (max-width: 1024px) {
    .module-popup-110 button.btn.btn-primary::before {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1 !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
    }
}

/* Newsletter popup close button */
.module-popup-110 .btn.popup-close,
.module-popup-110 .btn.popup-close:hover,
.module-popup-110 .btn.popup-close:focus,
.module-popup-110 .btn.popup-close:active,
.module-popup-110 .btn.popup-close:visited {
    position: absolute !important;
    top: 12px !important;
    right: 16px !important;

    width: 160px !important;
    height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 0 !important;
    border-radius: 999px !important;

    background: #7a1f29 !important;
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: inherit !important;
    pointer-events: inherit !important;

    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;

    box-shadow: none !important;
    outline: none !important;
    transition: none !important;
    -webkit-tap-highlight-color: transparent !important;

    z-index: 999 !important;
}

.module-popup-110 .btn.popup-close::before {
    display: none !important;
}

.module-popup-110 .btn.popup-close::after {
    content: "CLOSE WINDOW";
}

@media (max-width: 1024px) {
    #luno-search-popup {
        top: 12px !important;
        left: 6px !important;
        right: 6px !important;
        bottom: auto !important;

        max-height: calc(100vh - 24px) !important;
        height: auto !important;
    }

    .luno-search-popup-box {
        max-height: calc(100vh - 52px) !important;
        overflow-y: auto !important;
    }
}

/* Hide unnecessary elements */
.btn-extra-93,
.stat-2,
.btn-extra-46 {
    display: none !important;
}

/* Equal header action icons */
.classic-cart-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 2px !important;
}

.classic-cart-wrapper .j-menu {
    display: flex !important;
    align-items: center !important;
    gap: 2px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.classic-cart-wrapper .j-menu > li,
.classic-cart-wrapper .desktop-cart-wrapper {
    margin: 0 !important;
    padding: 0 !important;
}

.classic-cart-wrapper .j-menu > li > a,
.classic-cart-wrapper .cart-heading {
    width: 52px !important;
    height: 52px !important;
    padding: 0 !important;
    margin: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;
}

/* Fix cart badge position */
#cart .cart-heading {
    position: relative !important;
}

#cart-items {
    position: absolute !important;
    top: 4px !important;
    right: 6px !important;
    margin: 0 !important;
}

@media (min-width: 1025px) and (max-width: 1500px) {
    body > div.site-wrapper > h1 {
        text-align: center !important;
    }
}

body > div.popup-wrapper.module.module-popup.module-popup-110 > div.popup-container > div > div > div.popup-footer {
    background: #f8eef0 !important;
}

#top > div > div.grid-row.grid-row-top-3 {
    padding-top: 0 !important;
    padding-bottom: 30px !important;
}

#bottom > div > div.grid-row.grid-row-bottom-4 {
    background: #efe0e4 !important;

}

lunoria-slider-label {
    display: inline-block;
    padding: 10px 22px;
    border-radius: 8px;
    background: #2f2f31;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

@media (max-width: 1024px) {
    .lunoria-slider-label {
        font-size: 10px;
        padding: 4px 12px;
        letter-spacing: 1.5px;
    }
}

@media (max-width: 1024px) {
    #top > div > div.grid-row.grid-row-top-1 > div > div.grid-col.grid-col-top-1-1 > div > div > div > div > div > div > div.ms-view.ms-fade-wave-view > div > div.module-item.module-item-1.ms-slide.ms-slide-auto-height > div.ms-slide-layers > div > div:nth-child(3) > div > a {
        transform: scale(0.5);
        transform-origin: left center;
    }
}

@media (max-width: 1024px) {
    #top > div > div.grid-row.grid-row-top-1 > div > div.grid-col.grid-col-top-1-1 > div > div > div > div > div > div > div.ms-view.ms-fade-wave-view > div > div.module-item.module-item-3.ms-slide.ms-slide-auto-height > div.ms-slide-layers > div > div:nth-child(3) > div > a {
        transform: scale(0.5);
        transform-origin: left center;
    }
}

#top > div > div.grid-row.grid-row-top-4 > div > div.grid-col.grid-col-top-4-1 > div > div > div > div > div > ul {
    display: flex !important;
    width: 100%;
}

#top > div > div.grid-row.grid-row-top-4 > div > div.grid-col.grid-col-top-4-1 > div > div > div > div > div > ul > li {
    flex: 1 1 0 !important;
    width: auto !important;
    text-align: center;
}

#top > div > div.grid-row.grid-row-top-5 > div > div.grid-col.grid-col-top-5-1 > div > div > div > div > div > ul {
    display: flex !important;
    width: 100%;
}

#top > div > div.grid-row.grid-row-top-5 > div > div.grid-col.grid-col-top-5-1 > div > div > div > div > div > ul > li {
    flex: 1 1 0 !important;
    width: auto !important;
    text-align: center;
}

.table-responsive .table-bordered,
.table-responsive .table-bordered td,
.table-responsive .table-bordered th {
    border: none !important;
}

/* Hide pagination dots under the vertical product thumbnail carousel only. */
.route-product-product .additional-images .swiper-pagination {
    display: none !important;
}

/* Desktop header visual refresh only. Keeps mobile/tablet and page content untouched. */
@media (min-width: 1025px) {
    .desktop-header-active .header-classic .top-bar {
        min-height: 34px !important;
        height: 34px !important;
    }

    .desktop-header-active .header-classic .mid-bar {
        min-height: 128px !important;
        height: 128px !important;
        padding: 0 42px 0 105px !important;
        align-items: center !important;
        gap: 29px !important;
        background: #fff !important;
    }

    .desktop-header-active .header-classic .desktop-logo-wrapper {
        flex: 0 0 306px !important;
        justify-content: flex-start !important;
    }

    .desktop-header-active .header-classic #logo,
    .desktop-header-active .header-classic #logo a {
        display: flex !important;
        align-items: center !important;
    }

    .desktop-header-active .header-classic #logo img {
        width: 289px !important;
        height: auto !important;
        max-width: 289px !important;
        max-height: none !important;
    }

    .desktop-header-active .header-classic .desktop-search-wrapper {
        flex: 1 1 442px !important;
        max-width: 476px !important;
        min-width: 357px !important;
        margin: 0 auto !important;
    }

    .desktop-header-active .header-classic #search,
    .desktop-header-active .header-classic .header-search {
        max-width: none !important;
        width: 100% !important;
        height: 46px !important;
    }

    .desktop-header-active .header-classic .header-search {
        border-radius: 12px !important;
        border: 2px solid #4a4a4a !important;
        box-shadow: 0 9px 24px rgba(0, 0, 0, 0.08) !important;
        overflow: hidden !important;
    }

    .desktop-header-active .header-classic .header-search > input {
        height: 46px !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        padding: 0 53px 0 24px !important;
    }

    .desktop-header-active .header-classic .header-search > .search-button {
        min-width: 49px !important;
        height: 46px !important;
    }

    .desktop-header-active .header-classic .header-search > .search-button::before {
        font-size: 22px !important;
        color: #1f1f1f !important;
    }

    .desktop-header-active .header-classic .classic-cart-wrapper {
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        min-width: 357px !important;
    }

    .desktop-header-active .header-classic .classic-cart-wrapper .secondary-menu > .top-menu > .j-menu {
        display: flex !important;
        align-items: center !important;
    }

    .desktop-header-active .header-classic .classic-cart-wrapper .j-menu > li,
    .desktop-header-active .header-classic .classic-cart-wrapper .desktop-cart-wrapper {
        width: 73px !important;
        min-width: 73px !important;
        height: 61px !important;
        border-left: 1px solid #e7e0e0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .desktop-header-active .header-classic .classic-cart-wrapper .desktop-cart-wrapper {
        border-right: 1px solid #e7e0e0 !important;
    }

    .desktop-header-active .header-classic .classic-cart-wrapper .j-menu > li > a,
    .desktop-header-active .header-classic .classic-cart-wrapper .cart-heading {
        width: 73px !important;
        height: 61px !important;
        color: #1f1f1f !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        padding: 0 !important;
        background: transparent !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .desktop-header-active .header-classic .classic-cart-wrapper .j-menu > li > a::before,
    .desktop-header-active .header-classic .classic-cart-wrapper .cart-heading > i::before {
        font-size: 29px !important;
        line-height: 1 !important;
        color: #1f1f1f !important;
        margin: 0 0 6px 0 !important;
    }

    .desktop-header-active .header-classic .classic-cart-wrapper .cart-heading > i {
        display: flex !important;
        width: 36px !important;
        height: 31px !important;
        margin: 0 0 6px 0 !important;
        line-height: 31px !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        transform: translateX(8px) !important;
    }

    .desktop-header-active .header-classic .classic-cart-wrapper .cart-heading > i::before {
        content: '\e8cc' !important;
        font-family: icomoon !important;
        font-size: 34px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        line-height: 1 !important;
        position: static !important;
        left: auto !important;
        top: auto !important;
    }

    .desktop-header-active .header-classic .classic-cart-wrapper .cart-heading::after {
        content: "Cart" !important;
        display: block !important;
        position: static !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        color: #1f1f1f !important;
        margin: 0 !important;
        transform: translateX(8px) !important;
    }

    .desktop-header-active .header-classic .classic-cart-wrapper #cart-total {
        display: none !important;
    }

    .desktop-header-active .header-classic #cart-items,
    .desktop-header-active .header-classic .classic-cart-wrapper .count-badge {
        top: 3px !important;
        right: 5px !important;
        min-width: 15px !important;
        height: 15px !important;
        font-size: 9px !important;
        line-height: 15px !important;
        transform: none !important;
    }

    .desktop-header-active .header-classic .desktop-main-menu-wrapper {
        min-height: 54px !important;
        height: 54px !important;
        width: 100% !important;
        max-width: none !important;
        padding: 0 60px !important;
        background: #303030 !important;
        justify-content: center !important;
    }

    .desktop-header-active .header-classic .desktop-main-menu-wrapper .main-menu > .j-menu > li > a {
        min-height: 54px !important;
        height: 54px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        align-items: center !important;
    }

    .desktop-header-active .header-classic .desktop-main-menu-wrapper .main-menu > .j-menu {
        height: 54px !important;
        align-items: center !important;
    }
}

@media (min-width: 1025px) and (max-width: 1450px) {
    .desktop-header-active .header-classic .mid-bar {
        min-height: clamp(106px, calc(52px + 4.8vw), 122px) !important;
        height: clamp(106px, calc(52px + 4.8vw), 122px) !important;
        padding-left: clamp(18px, 2.2vw, 32px) !important;
        padding-right: clamp(18px, 2.2vw, 32px) !important;
        gap: clamp(12px, 1.5vw, 22px) !important;
    }

    .desktop-header-active .header-classic .desktop-logo-wrapper {
        flex-basis: clamp(244px, 22vw, 319px) !important;
    }

    .desktop-header-active .header-classic #logo img {
        width: clamp(234px, 20.5vw, 289px) !important;
        max-width: clamp(234px, 20.5vw, 289px) !important;
    }

    .desktop-header-active .header-classic .desktop-search-wrapper {
        min-width: 260px !important;
        max-width: clamp(348px, 34vw, 476px) !important;
        flex-basis: clamp(330px, 34vw, 476px) !important;
    }

    .desktop-header-active .header-classic .classic-cart-wrapper {
        min-width: clamp(244px, 22vw, 319px) !important;
    }

    .desktop-header-active .header-classic .classic-cart-wrapper .j-menu > li,
    .desktop-header-active .header-classic .classic-cart-wrapper .desktop-cart-wrapper,
    .desktop-header-active .header-classic .classic-cart-wrapper .j-menu > li > a,
    .desktop-header-active .header-classic .classic-cart-wrapper .cart-heading {
        width: clamp(61px, 5vw, 72px) !important;
        min-width: clamp(61px, 5vw, 72px) !important;
    }

    .desktop-header-active .header-classic .desktop-main-menu-wrapper {
        padding-left: clamp(12px, 1.8vw, 26px) !important;
        padding-right: clamp(12px, 1.8vw, 26px) !important;
    }
}

/* Lunoria desktop navigation: mirror the Europe storefront geometry exactly. */
@media (min-width: 1025px) {
    .desktop-header-active .header-classic .desktop-main-menu-wrapper {
        gap: 0 !important;
    }

    .desktop-header-active .header-classic .desktop-main-menu-wrapper > #main-menu,
    .desktop-header-active .header-classic .desktop-main-menu-wrapper > #main-menu-2 {
        flex: 0 0 auto !important;
        width: auto !important;
        margin: 0 !important;
    }

    .desktop-header-active .header-classic .desktop-main-menu-wrapper > #main-menu-2 {
        margin-left: 4px !important;
        border-left: 1px solid rgba(255, 255, 255, 0.14) !important;
    }

    .desktop-header-active .header-classic .desktop-main-menu-wrapper > #main-menu-2 > .j-menu {
        display: flex !important;
        height: 54px !important;
        align-items: center !important;
    }

    .desktop-header-active .header-classic .desktop-main-menu-wrapper > #main-menu-2 > .j-menu > li > a {
        min-width: 0 !important;
        min-height: 54px !important;
        height: 54px !important;
        padding: 0 13px !important;
        background: #303030 !important;
        color: #fff !important;
        font-size: 12px !important;
        align-items: center !important;
    }

    .desktop-header-active .header-classic .desktop-main-menu-wrapper .main-menu > .j-menu > li > a {
        min-height: 54px !important;
        height: 54px !important;
        padding: 0 14px !important;
        font-size: 12px !important;
        align-items: center !important;
    }

    .desktop-header-active .header-classic .desktop-main-menu-wrapper .main-menu-3 > .j-menu > .main-menu-item-1 > a {
        min-width: 0 !important;
    }
}

@media (min-width: 1025px) and (max-width: 1450px) {
    .desktop-header-active .header-classic .desktop-main-menu-wrapper .main-menu > .j-menu > li > a {
        padding-left: clamp(6px, calc(-4px + 1vw), 10.5px) !important;
        padding-right: clamp(6px, calc(-4px + 1vw), 10.5px) !important;
        font-size: clamp(9.5px, calc(3.5px + 0.59vw), 12px) !important;
    }

    .desktop-header-active .header-classic .desktop-main-menu-wrapper > #main-menu-2 {
        margin-left: 2px !important;
    }

    .desktop-header-active .header-classic .desktop-main-menu-wrapper > #main-menu-2 > .j-menu > li > a {
        padding-left: clamp(7px, calc(-3px + 1vw), 11px) !important;
        padding-right: clamp(7px, calc(-3px + 1vw), 11px) !important;
        font-size: clamp(9.5px, calc(3.5px + 0.59vw), 12px) !important;
    }
}

/* Lunoria desktop header: centre logo, search and account actions as one group. */
@media (min-width: 1451px) {
    .desktop-header-active .header-classic .mid-bar {
        padding-left: 42px !important;
        padding-right: 42px !important;
        justify-content: center !important;
    }

    .desktop-header-active .header-classic .desktop-logo-wrapper,
    .desktop-header-active .header-classic .classic-cart-wrapper {
        flex: 0 0 357px !important;
        width: 357px !important;
        min-width: 357px !important;
    }

    .desktop-header-active .header-classic .desktop-search-wrapper {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* Keep only the useful desktop header row available after the full header scrolls away. */
@media (min-width: 1025px) {
    .desktop-header-active .luno-desktop-header-spacer {
        display: none;
        width: 100%;
        flex: none;
    }

    .desktop-header-active.luno-desktop-header-stuck .luno-desktop-header-spacer {
        display: block;
    }

    .desktop-header-active.luno-desktop-header-stuck header.header-classic .mid-bar {
        position: fixed !important;
        inset: 0 0 auto !important;
        z-index: 100001 !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 94px !important;
        height: 94px !important;
        padding: 0 24px !important;
        box-sizing: border-box !important;
        justify-content: center !important;
        background: #fff !important;
        border-bottom: 1px solid #f0e4e6 !important;
    }
}

@media (min-width: 1025px) and (max-width: 1450px) {
    .desktop-header-active .header-classic .mid-bar {
        padding-left: clamp(18px, 2.2vw, 32px) !important;
        padding-right: clamp(18px, 2.2vw, 32px) !important;
        justify-content: center !important;
    }

    .desktop-header-active .header-classic .desktop-logo-wrapper,
    .desktop-header-active .header-classic .classic-cart-wrapper {
        flex-basis: clamp(244px, 22vw, 319px) !important;
        width: clamp(244px, 22vw, 319px) !important;
        min-width: clamp(244px, 22vw, 319px) !important;
    }

    .desktop-header-active .header-classic .desktop-search-wrapper {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* Journal3's desktop dropdown overlay is anchored to the first menu item and can
   cover only part of the page at intermediate widths. Keep dropdowns clear and
   remove that purely decorative dimming layer on every desktop category menu. */
@media (min-width: 1025px) {
    .desktop-header-active .desktop-main-menu-wrapper .main-menu > .j-menu > .first-dropdown::before {
        content: none !important;
        display: none !important;
    }

    /* Keep the final category dropdown inside the viewport as the navigation
       expands towards the right edge on medium desktop widths. */
    .desktop-header-active .desktop-main-menu-wrapper > #main-menu > .j-menu > li:last-child > .j-dropdown {
        left: auto !important;
        right: 0 !important;
    }
}

/* Lunoria storefront filters: fixed-size checkbox controls for every group. */
.module-filter .filter-checkbox input[type="checkbox"],
.module-filter .filter-radio input[type="radio"] {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    display: block !important;
    box-sizing: border-box !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    margin: 0 2px 0 0 !important;
    padding: 0 !important;
    border: 2px solid #7a2e2a !important;
    border-radius: 4px !important;
    background: #fff !important;
    cursor: pointer;
    flex-shrink: 0 !important;
}

.module-filter .filter-checkbox input[type="checkbox"]:checked,
.module-filter .filter-radio input[type="radio"]:checked {
    background: #7a2e2a !important;
}

.module-filter .filter-checkbox input[type="checkbox"]:checked::after,
.module-filter .filter-radio input[type="radio"]:checked::after {
    content: "✓";
    position: absolute;
    top: -2px;
    left: 2px;
    display: block;
    color: #fff;
    font-family: Montserrat, sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: normal;
}

.module-filter .filter-checkbox input[type="checkbox"]:focus-visible,
.module-filter .filter-radio input[type="radio"]:focus-visible {
    outline: 2px solid rgba(122, 46, 42, 0.35);
    outline-offset: 2px;
}

/* Keep filter counts attached to the value text, including wrapped labels. */
.module-filter .filter-checkbox > label > .links-text,
.module-filter .filter-radio > label > .links-text {
    flex: 1 1 auto;
    min-width: 0;
    overflow: visible;
    text-overflow: clip;
}

/* Product counts add visual noise and must stay hidden in all filter groups. */
.module-filter .filter-checkbox .count-badge,
.module-filter .filter-radio .count-badge {
    display: none !important;
}

/* Searchable image-only manufacturer filter. */
.module-filter .module-item-m .lunoria-brand-filter-search {
    margin: 0 0 10px;
}

.module-filter .module-item-m .lunoria-brand-filter-search input {
    width: 100%;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #d9d2d3;
    border-radius: 10px;
    background: #ffffff;
    color: #292627;
    font-size: 13px;
    line-height: 40px;
    outline: none;
    box-shadow: 0 3px 12px rgba(28, 24, 25, .04);
}

.module-filter .module-item-m .lunoria-brand-filter-search input:focus {
    border-color: #8b2635;
    box-shadow: 0 0 0 2px rgba(139, 38, 53, .10);
}

.module-filter .module-item-m .lunoria-brand-image-filter {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(48px, 1fr));
    gap: 8px;
}

.module-filter .module-item-m .lunoria-brand-image-filter > label {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    height: 56px;
    margin: 0;
    padding: 7px;
    border: 1px solid transparent;
    border-radius: 9px;
    background: #ffffff;
    cursor: pointer;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.module-filter .module-item-m .lunoria-brand-image-filter > label:hover {
    border-color: #decfd2;
    background: #fdfafa;
}

.module-filter .module-item-m .lunoria-brand-image-filter > label:has(input:checked) {
    border-color: #8b2635;
    box-shadow: 0 0 0 1px #8b2635;
}

.module-filter .module-item-m .lunoria-brand-image-filter input[type="checkbox"],
.module-filter .module-item-m .lunoria-brand-image-filter input[type="radio"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 1px !important;
    min-height: 1px !important;
    max-width: 1px !important;
    max-height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.module-filter .module-item-m .lunoria-brand-image-filter img {
    display: block;
    width: 38px;
    height: 38px;
    margin: 0 !important;
    border: 0 !important;
    object-fit: contain;
}

.module-filter .module-item-m .lunoria-brand-image-filter .links-text,
.module-filter .module-item-m .lunoria-brand-image-filter .count-badge {
    display: none !important;
}

.module-filter .module-item-m .lunoria-brand-filter-empty {
    padding: 10px 2px 2px;
    color: #777173;
    font-size: 12px;
}

.module-filter .module-item-m .lunoria-brand-filter-empty[hidden] {
    display: none !important;
}

@media (max-width: 1024px) {
    .module-filter .module-item-m .lunoria-brand-filter-search input {
        height: 44px;
        font-size: 14px;
        line-height: 44px;
    }

    .module-filter .module-item-m .lunoria-brand-image-filter {
        grid-template-columns: repeat(auto-fill, minmax(56px, 1fr));
        gap: 9px;
    }

    .module-filter .module-item-m .lunoria-brand-image-filter > label {
        height: 62px;
        padding: 9px;
    }
}

/* Sort and page-size dropdowns shared by category and search pages. */
.route-product-category .products-filter,
.route-product-search .products-filter,
.route-product-manufacturer-info .products-filter,
.route-product-category .products-filter .select-group,
.route-product-search .products-filter .select-group,
.route-product-manufacturer-info .products-filter .select-group {
    overflow: visible !important;
}

.route-product-manufacturer-info .products-filter .select-group {
    gap: 12px !important;
}

.eu-choice-filter {
    position: relative;
    flex: 0 0 auto;
    margin: 0;
    color: #292627;
}

.eu-choice-filter > summary {
    display: flex;
    align-items: center;
    min-width: 150px;
    height: 44px;
    padding: 0 13px;
    border: 1px solid #d9d2d3;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(28, 24, 25, .05);
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.eu-choice-filter-sort > summary {
    width: 290px;
}

.eu-choice-filter-limit > summary {
    width: 140px;
}

.eu-choice-filter > summary::-webkit-details-marker {
    display: none;
}

.eu-choice-filter > summary::after {
    content: '';
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    margin-left: auto;
    border-right: 2px solid #6e6869;
    border-bottom: 2px solid #6e6869;
    transform: rotate(45deg) translateY(-2px);
    transition: transform .18s ease;
}

.eu-choice-filter[open] > summary {
    border-color: #9a5960;
    box-shadow: 0 0 0 3px rgba(122, 46, 42, .1);
}

.eu-choice-filter[open] > summary::after {
    transform: rotate(225deg) translate(-2px, -1px);
}

.eu-choice-filter-label {
    align-self: stretch;
    display: inline-flex;
    align-items: center;
    margin: 0 12px 0 -13px;
    padding: 0 13px;
    border-radius: 10px 0 0 10px;
    background: #f8f5f5;
    color: #585153;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.eu-choice-filter-value {
    min-width: 0;
    margin-right: 12px;
    color: #292627;
    font-size: 13px;
    font-weight: 650;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.eu-choice-filter-panel {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 1000;
    width: 100%;
    min-width: 190px;
    padding: 8px;
    border: 1px solid #e3dcdd;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(35, 29, 30, .18);
}

.eu-choice-filter-option {
    display: flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 10px;
    border-radius: 8px;
    color: #3a3536 !important;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.25;
    text-decoration: none !important;
}

.eu-choice-filter-option:hover,
.eu-choice-filter-option:focus {
    background: #f8f5f5;
    color: #7a2e2a !important;
}

.eu-choice-filter-option.is-selected {
    background: #f3e8ea;
    color: #7a2e2a !important;
    font-weight: 800;
}

@media (max-width: 1024px) {
    .route-product-category .products-filter .select-group,
    .route-product-search .products-filter .select-group,
    .route-product-manufacturer-info .products-filter .select-group {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        width: 100% !important;
        gap: 8px !important;
        overflow: visible !important;
    }

    .eu-choice-filter {
        width: 100%;
    }

    .eu-choice-filter > summary,
    .eu-choice-filter-sort > summary,
    .eu-choice-filter-limit > summary {
        width: 100%;
        min-width: 0;
    }

    .eu-choice-filter-label {
        margin-right: 8px;
        padding-left: 10px;
        padding-right: 8px;
        font-size: 10px;
    }

    .eu-choice-filter-value {
        font-size: 11px;
    }

    .eu-choice-filter-panel {
        left: 0;
        right: auto;
        min-width: 100%;
        width: max-content;
        max-width: min(300px, calc(100vw - 30px));
    }
}
/* Clear Grid / List catalogue view switch */
.route-product-category .products-filter .grid-list,
.route-product-search .products-filter .grid-list,
.route-product-manufacturer-info .products-filter .grid-list {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  width: auto !important;
  min-height: 44px !important;
  padding: 4px !important;
  border: 1px solid #ded8d9 !important;
  border-radius: 11px !important;
  background: #fff !important;
  box-shadow: 0 3px 12px rgba(28, 24, 25, .05) !important;
}
.route-product-category .products-filter .grid-list .view-btn,
.route-product-search .products-filter .grid-list .view-btn,
.route-product-manufacturer-info .products-filter .grid-list .view-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  width: auto !important;
  min-width: 88px !important;
  height: 34px !important;
  padding: 0 11px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #514b4d !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  transition: background-color .18s ease, color .18s ease, box-shadow .18s ease !important;
}
.route-product-category .products-filter .grid-list .view-btn:hover,
.route-product-search .products-filter .grid-list .view-btn:hover,
.route-product-manufacturer-info .products-filter .grid-list .view-btn:hover {
  background: #f8f5f5 !important;
  color: #7f2832 !important;
}
.route-product-category .products-filter .grid-list .view-btn.active,
.route-product-search .products-filter .grid-list .view-btn.active,
.route-product-manufacturer-info .products-filter .grid-list .view-btn.active {
  background: #f3e8ea !important;
  color: #7f2832 !important;
  box-shadow: inset 0 0 0 1px rgba(127, 40, 50, .12) !important;
}
.route-product-category .products-filter .grid-list .view-btn::before,
.route-product-search .products-filter .grid-list .view-btn::before,
.route-product-manufacturer-info .products-filter .grid-list .view-btn::before {
  font-size: 18px !important;
  line-height: 1 !important;
}
.lunoria-view-switch-label {
  display: inline-block;
  pointer-events: none;
}

@media (max-width: 1024px) {
  .route-product-category .products-filter .grid-list,
  .route-product-search .products-filter .grid-list,
  .route-product-manufacturer-info .products-filter .grid-list {
    width: auto !important;
    min-height: 44px !important;
    margin: 0 auto !important;
  }
  .route-product-category .products-filter .grid-list .view-btn,
  .route-product-search .products-filter .grid-list .view-btn,
  .route-product-manufacturer-info .products-filter .grid-list .view-btn {
    min-width: 104px !important;
    height: 38px !important;
    padding: 0 13px !important;
    font-size: 13px !important;
  }
}

/* Desktop cart stock-state surface — keep after Journal cart rules. */
@media (min-width: 1025px) {
  html.route-checkout-cart .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row.is-out-of-stock > td {
    background: #f1f1f1 !important;
  }
  html.route-checkout-cart .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row.is-insufficient-quantity > td {
    background: #fffaf0 !important;
  }
}

/* Match Continue Shopping and disabled Checkout actions exactly. */
.route-checkout-cart .cart-bottom .buttons.clearfix > .pull-left,
.route-checkout-cart .cart-bottom .buttons.clearfix > .pull-right {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}
.route-checkout-cart .cart-bottom .buttons.clearfix > .pull-left > .btn,
.route-checkout-cart .cart-bottom .buttons.clearfix > .pull-right > .btn,
.route-checkout-cart .cart-bottom .buttons.clearfix > .pull-right > .lunoria-checkout-disabled {
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* Cart product table only: one clean frame, white header, simple row dividers. */
.route-checkout-cart .cart-page form.cart-table {
  padding: 0 !important;
  border: 1px solid #ece8e8 !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
.route-checkout-cart .cart-page form.cart-table .table-responsive {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #fff !important;
}
.route-checkout-cart .cart-page form.cart-table table.table {
  margin: 0 !important;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #fff !important;
}
.route-checkout-cart .cart-page form.cart-table thead td {
  background: #fff !important;
  color: #333 !important;
  border: 0 !important;
  border-bottom: 1px solid #e9e7e7 !important;
}
.route-checkout-cart .cart-page form.cart-table tbody td {
  background: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid #ece8e8 !important;
}
.route-checkout-cart .cart-page form.cart-table tbody tr:last-child td { border-bottom: 0 !important; }
.route-checkout-cart .cart-page form.cart-table .td-name a { color: #222 !important; }
.route-checkout-cart .cart-page form.cart-table thead td,
.route-checkout-cart .cart-page form.cart-table tbody td { vertical-align: middle !important; }
.route-checkout-cart .cart-page form.cart-table thead .td-price,
.route-checkout-cart .cart-page form.cart-table tbody .td-price { white-space: nowrap !important; }
.route-checkout-cart .cart-page form.cart-table tbody .td-name a { display: block !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.route-checkout-cart .cart-page form.cart-table tbody .td-name a {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
@media (min-width: 1025px) {
  .route-checkout-cart .cart-page form.cart-table table.table .td-name { width: 25% !important; }
  .route-checkout-cart .cart-page form.cart-table table.table .td-qty { width: 27% !important; }
  .route-checkout-cart .cart-page form.cart-table table.table .td-total { width: 20% !important; }
}

/* Prevent the product table from being clipped when the desktop window is narrowed. */
@media (min-width: 1025px) and (max-width: 1200px) {
  html.route-checkout-cart .cart-page .cart-bottom { display: block !important; }
  html.route-checkout-cart .cart-page .cart-bottom .cart-total { margin-top: 24px !important; }
  html.route-checkout-cart .cart-page form.cart-table .table-responsive { overflow-x: visible !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table { width: 100% !important; table-layout: fixed !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-image { width: 13% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-name { width: 31% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-qty { width: 25% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-price { width: 15% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-total { width: 16% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table td { overflow: hidden !important; }
}

/* Final desktop column sizing: keep every table column visible. */
@media (min-width: 1025px) {
  html.route-checkout-cart .cart-page form.cart-table { width: 64% !important; }
  html.route-checkout-cart .cart-page .cart-bottom { width: 36% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table {
    width: 100% !important;
    table-layout: fixed !important;
  }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-image { width: 13% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-name { width: 31% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-qty { width: 24% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-price { width: 15% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-total { width: 17% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table td { min-width: 0 !important; overflow: hidden !important; }
  html.route-checkout-cart .cart-page form.cart-table .td-qty > .input-group,
  html.route-checkout-cart .cart-page form.cart-table .lunoria-stock-actions-total,
  html.route-checkout-cart .cart-page form.cart-table .lunoria-remove-unavailable { max-width: 100% !important; min-width: 0 !important; }
  html.route-checkout-cart .cart-page form.cart-table .stepper { max-width: 118px !important; }
}
.route-checkout-cart .cart-bottom .buttons.clearfix > .pull-left,
.route-checkout-cart .cart-bottom .buttons.clearfix > .pull-right {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.route-checkout-cart .cart-bottom .buttons.clearfix > .pull-right > .lunoria-checkout-disabled {
  display: flex !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (min-width: 1201px) {
  html.route-checkout-cart .cart-page form.cart-table { width: 64% !important; }
  html.route-checkout-cart .cart-page .cart-bottom { width: 36% !important; }
}

/* Right cart panel visual treatment only; inner labels and calculations stay untouched. */
@media (min-width: 1025px) {
  html.route-checkout-cart .cart-page .cart-bottom {
    padding: 24px !important;
    border: 1px solid #ece8e8 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(53,34,38,.06) !important;
  }
  html.route-checkout-cart .cart-page .cart-bottom .panels-total { margin: 0 !important; }
  html.route-checkout-cart .cart-page .cart-bottom .cart-total {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  html.route-checkout-cart .cart-page .cart-bottom .buttons.clearfix {
    margin-top: 20px !important;
    gap: 12px !important;
  }
  html.route-checkout-cart .cart-page .cart-bottom .buttons.clearfix .btn {
    width: 100% !important;
    min-height: 52px !important;
    margin: 0 !important;
    border-radius: 11px !important;
    box-sizing: border-box !important;
  }
}

/* Reference spacing for the two coupon rows and the two actions. */
html.route-checkout-cart .cart-page .cart-panels .panel-heading a {
  min-height: 54px !important;
  padding: 0 8px !important;
  color: #171717 !important;
  text-align: left !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}
html.route-checkout-cart .cart-page .cart-panels .panel-heading a::before {
  content: '+' !important;
  width: 20px !important;
  margin: 0 14px 0 0 !important;
  color: #171717 !important;
  font-family: inherit !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}
html.route-checkout-cart .cart-page .cart-panels .panel-heading a::after { content: none !important; }
html.route-checkout-cart .cart-page .cart-panels .panel { border-bottom: 1px solid #e7e7e7 !important; }
html.route-checkout-cart .cart-page .cart-panels .panel:last-child { border-bottom: 1px solid #e7e7e7 !important; }
html.route-checkout-cart .cart-page .buttons.clearfix { margin-top: 20px !important; gap: 14px !important; }
html.route-checkout-cart .cart-page .buttons.clearfix .btn {
  height: 64px !important;
  min-height: 64px !important;
  border-radius: 14px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}
html.route-checkout-cart .cart-page .buttons.clearfix > .pull-right .btn-primary {
  background: #b51f43 !important;
  border-color: #b51f43 !important;
  color: #fff !important;
}
html.route-checkout-cart .cart-page .buttons.clearfix > .pull-left .btn-default {
  background: #fff !important;
  border: 2px solid #d7d7d7 !important;
  color: #171717 !important;
}

/* CART_COLUMNS_FINAL_V79 */
@media (min-width: 1025px) {
  html.route-checkout-cart .cart-page form.cart-table table.table .td-image { width: 12% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-name { width: 30% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-price { width: 15% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-qty { width: 20% !important; text-align: center !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-total { width: 15% !important; }
  html.route-checkout-cart .cart-page form.cart-table table.table .td-remove { width: 8% !important; overflow: visible !important; }
  html.route-checkout-cart .cart-page form.cart-table tbody .td-qty > .input-group.btn-block {
    display: flex !important;
    width: 132px !important;
    max-width: 132px !important;
    margin: 0 auto !important;
    justify-content: center !important;
    transform: none !important;
  }
}
html.route-checkout-cart .cart-page form.cart-table .td-remove .lunoria-remove-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  overflow: visible !important;
  color: #333 !important;
}
html.route-checkout-cart .cart-page form.cart-table .td-remove .lunoria-bin-icon {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  fill: #333 !important;
}
@media (min-width: 1025px) {
  html.route-checkout-cart .cart-page form.cart-table thead .td-qty {
    transform: translateX(30px) !important;
  }
}
html.route-checkout-cart .cart-page .lunoria-reduce-quantity,
html.route-checkout-cart .cart-page .lunoria-reduce-quantity:hover,
html.route-checkout-cart .cart-page .lunoria-reduce-quantity:focus,
html.route-checkout-cart .cart-page .lunoria-reduce-quantity:active {
  transform: none !important;
  scale: 1 !important;
}
@media (min-width: 1025px) {
  html.route-checkout-cart .cart-page form.cart-table thead .td-qty {
    transform: none !important;
    text-indent: 28px !important;
  }
  html.route-checkout-cart .cart-page form.cart-table thead .lunoria-qty-heading {
    display: inline-block !important;
    transform: none !important;
  }
}

/* QUANTITY_HEADING_COMPAT_V88 */
@media (min-width: 1025px) {
  html.route-checkout-cart .cart-page form.cart-table thead .td-qty {
    transform: none !important;
    text-indent: 0 !important;
  }
  html.route-checkout-cart .cart-page form.cart-table thead .lunoria-qty-heading {
    display: inline-block !important;
    transform: translateX(28px) !important;
  }
  html.route-checkout-cart .cart-page form.cart-table thead .td-qty:not(:has(.lunoria-qty-heading)) {
    text-indent: 56px !important;
  }
}

/* QUANTITY_HEADING_STRUCTURAL_V89 */
@media (min-width: 1025px) {
  html.route-checkout-cart .cart-page form.cart-table thead .td-qty {
    transform: none !important;
    text-indent: 0 !important;
    position: relative !important;
    font-size: 0 !important;
    color: transparent !important;
  }
  html.route-checkout-cart .cart-page form.cart-table thead .lunoria-qty-heading {
    display: none !important;
  }
  html.route-checkout-cart .cart-page form.cart-table thead .td-qty::after {
    content: 'QUANTITY' !important;
    position: absolute !important;
    left: calc(50% + 3px) !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: #333 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}

/* REDUCE_BUTTON_HOVER_LOCK_V92 */
html.route-checkout-cart .cart-page form.cart-table button.btn.lunoria-reduce-quantity,
html.route-checkout-cart .cart-page form.cart-table button.btn.lunoria-reduce-quantity:hover,
html.route-checkout-cart .cart-page form.cart-table button.btn.lunoria-reduce-quantity:focus,
html.route-checkout-cart .cart-page form.cart-table button.btn.lunoria-reduce-quantity:active {
  width: 120px !important;
  min-width: 120px !important;
  max-width: 120px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 8px 16px !important;
  font-size: 12px !important;
  line-height: 12px !important;
  letter-spacing: .2px !important;
  transform: none !important;
  scale: 1 !important;
  box-shadow: none !important;
  transition: none !important;
}
html.route-checkout-cart .cart-page form.cart-table button.btn.lunoria-reduce-quantity::before,
html.route-checkout-cart .cart-page form.cart-table button.btn.lunoria-reduce-quantity::after {
  content: none !important;
  display: none !important;
}

/* CART_TABLE_HEADER_VERTICAL_CENTER_V93 */
@media (min-width: 1025px) {
  html.route-checkout-cart .cart-page form.cart-table thead td:not(.td-model) {
    padding-top: 7px !important;
    padding-bottom: 29px !important;
    vertical-align: middle !important;
  }
  html.route-checkout-cart .cart-page form.cart-table thead .td-qty::after {
    top: calc(50% - 11px) !important;
  }
}

/* CART_TABLE_HEADER_WIDTH_V94 */
@media (min-width: 1025px) {
  html.route-checkout-cart .cart-page form.cart-table thead tr {
    position: relative !important;
    border-bottom: 0 !important;
  }
  html.route-checkout-cart .cart-page form.cart-table thead tr::after {
    content: '' !important;
    position: absolute !important;
    left: 24px !important;
    right: 24px !important;
    bottom: 0 !important;
    border-bottom: 1px solid #e5e5e5 !important;
    pointer-events: none !important;
  }
}

/* CART_TABLE_HEADER_HEIGHT_V95 */
@media (min-width: 1025px) {
  html.route-checkout-cart .cart-page form.cart-table table.table {
    margin-top: -20px !important;
  }
}

/* CART_TABLE_HEADER_HEIGHT_BALANCED_V96 */
@media (min-width: 1025px) {
  html.route-checkout-cart .cart-page form.cart-table table.table {
    margin-top: -23px !important;
  }
  html.route-checkout-cart .cart-page form.cart-table thead td:not(.td-model) {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }
  html.route-checkout-cart .cart-page form.cart-table thead .td-qty::after {
    top: 50% !important;
  }
}

/* CART_TABLE_HEADER_HEIGHT_REFINED_V97 */
@media (min-width: 1025px) {
  html.route-checkout-cart .cart-page form.cart-table table.table { margin-top: -10px !important; }
  html.route-checkout-cart .cart-page form.cart-table thead td:not(.td-model) {
    padding-top: 7px !important;
    padding-bottom: 29px !important;
  }
  html.route-checkout-cart .cart-page form.cart-table thead .td-qty::after { top: calc(50% - 11px) !important; }
}

/* CART_TABLE_HEADER_CENTER_V98 */
@media (min-width: 1025px) {
  html.route-checkout-cart .cart-page form.cart-table thead td:not(.td-model) {
    padding-top: 17px !important;
    padding-bottom: 19px !important;
  }
  html.route-checkout-cart .cart-page form.cart-table thead .td-qty::after {
    top: 50% !important;
  }
}

/* CART_TABLE_HEADER_25PX_V99 */
@media (min-width: 1025px) {
  html.route-checkout-cart .cart-page form.cart-table table.table {
    margin-top: -23px !important;
  }
  html.route-checkout-cart .cart-page form.cart-table thead td:not(.td-model) {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
  }
  html.route-checkout-cart .cart-page form.cart-table thead .td-qty::after {
    top: 50% !important;
  }
}

/* MOBILE_CART_LAYOUT_RESTORE_V100 */
@media (max-width: 1024px) {
  html.route-checkout-cart .cart-page form.cart-table tbody tr.lunoria-cart-product-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    align-items: start !important;
  }
  html.route-checkout-cart .cart-page form.cart-table tbody tr.lunoria-cart-product-row > .td-image {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  html.route-checkout-cart .cart-page form.cart-table tbody tr.lunoria-cart-product-row > .td-name {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
  html.route-checkout-cart .cart-page form.cart-table tbody tr.lunoria-cart-product-row > .td-qty {
    grid-column: 1 !important;
    grid-row: 2 !important;
    display: flex !important;
    justify-content: flex-start !important;
  }
  html.route-checkout-cart .cart-page form.cart-table tbody tr.lunoria-cart-product-row > .td-qty::before {
    content: none !important;
  }
  html.route-checkout-cart .cart-page form.cart-table tbody tr.lunoria-cart-product-row > .td-price {
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: flex !important;
    justify-content: space-between !important;
  }
  html.route-checkout-cart .cart-page form.cart-table tbody tr.lunoria-cart-product-row > .td-price::before {
    content: 'Unit price' !important;
  }
  html.route-checkout-cart .cart-page form.cart-table tbody tr.lunoria-cart-product-row > .td-total {
    grid-column: 2 !important;
    grid-row: 3 !important;
    display: flex !important;
    justify-content: space-between !important;
  }
  html.route-checkout-cart .cart-page form.cart-table tbody tr.lunoria-cart-product-row > .td-total::before {
    content: 'Total' !important;
    display: block !important;
  }
  html.route-checkout-cart .cart-page form.cart-table tbody tr.lunoria-cart-product-row > .td-remove {
    grid-column: 2 !important;
    grid-row: 4 !important;
    display: flex !important;
    justify-content: flex-end !important;
    width: auto !important;
    height: auto !important;
  }
  html.route-checkout-cart .cart-page form.cart-table tbody tr.lunoria-cart-product-row.is-insufficient-quantity > .td-total,
  html.route-checkout-cart .cart-page form.cart-table tbody tr.lunoria-cart-product-row.is-out-of-stock > .td-total {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
  }
}

/* MOBILE_CART_LAYOUT_GRID_V101 */
@media (max-width: 1024px) {
  html.route-checkout-cart .cart-page form.cart-table table.table tbody {
    display: block !important;
    width: 100% !important;
  }
  html.route-checkout-cart .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }
  html.route-checkout-cart .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > td {
    min-width: 0 !important;
    width: auto !important;
  }
}

/* MOBILE_CART_SOURCE_LAYOUT_V102 */
@media (max-width: 1024px) {
  html body.route-checkout-cart #checkout-cart #content .cart-page form.cart-table table.table tbody {
    display: table-row-group !important;
    width: auto !important;
  }
  html body.route-checkout-cart #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row {
    display: block !important;
    width: auto !important;
    grid-template-columns: none !important;
  }
  html body.route-checkout-cart #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-price,
  html body.route-checkout-cart #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-qty,
  html body.route-checkout-cart #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-total {
    display: flex !important;
    width: 100% !important;
    justify-content: space-between !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
  html body.route-checkout-cart #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-qty::before {
    content: 'Qty' !important;
  }
  html body.route-checkout-cart #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-price::before {
    content: 'Unit price' !important;
  }
  html body.route-checkout-cart #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-total::before {
    content: 'Total' !important;
    display: block !important;
  }
  html body.route-checkout-cart #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-remove {
    display: none !important;
  }
  html body.route-checkout-cart #checkout-cart #content .cart-page form.cart-table tbody .td-qty > .input-group.btn-block {
    display: inline-flex !important;
    width: 188px !important;
    max-width: 188px !important;
    margin: 0 0 0 auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 14px !important;
  }
  html body.route-checkout-cart #checkout-cart #content .cart-page form.cart-table .td-qty .input-group-btn {
    display: inline-flex !important;
    width: 42px !important;
    margin: 0 !important;
  }
  html body.route-checkout-cart #checkout-cart #content .cart-page form.cart-table .td-qty .input-group-btn .lunoria-remove-button {
    display: inline-flex !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
  }
}

/* MOBILE_CART_STEPPER_WIDTH_V105 */
@media (max-width: 1024px) {
  html body.route-checkout-cart #checkout-cart #content .cart-page form.cart-table .td-qty .stepper {
    flex: 0 0 132px !important;
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
  }
}

/* MOBILE_CART_FINAL_V106 */
@media (max-width: 1024px) {
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody { display:table-row-group !important; width:auto !important; }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row { display:block !important; width:auto !important; grid-template-columns:none !important; }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-price,
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-qty,
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-total { display:flex !important; width:100% !important; justify-content:space-between !important; grid-column:auto !important; grid-row:auto !important; }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table tbody .td-qty > .input-group.btn-block { display:inline-flex !important; width:188px !important; max-width:188px !important; margin:0 0 0 auto !important; align-items:center !important; justify-content:flex-end !important; gap:14px !important; }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .td-qty .stepper { flex:0 0 132px !important; width:132px !important; min-width:132px !important; max-width:132px !important; }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .td-qty .input-group-btn { display:inline-flex !important; flex:0 0 42px !important; width:42px !important; }
}

/* MOBILE_CART_CARD_REDESIGN_V107 */
@media (max-width: 1024px) {
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table {
    border: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
    background: transparent !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .table-responsive {
    overflow: visible !important;
    background: transparent !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody {
    display: block !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row {
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr) !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 14px !important;
    border: 1px solid #ece8e8 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 5px 16px rgba(53,34,38,.04) !important;
    overflow: hidden !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > td {
    width: auto !important;
    min-width: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 64px !important;
    height: 72px !important;
    padding: 0 10px 0 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .td-image img {
    max-width: 58px !important;
    max-height: 66px !important;
    padding: 7px !important;
    border-radius: 12px !important;
    background: #fafafa !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-name {
    grid-column: 2 !important;
    grid-row: 1 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    text-align: left !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .td-name a {
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-qty {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    margin-top: 12px !important;
    padding: 14px 0 12px !important;
    border-top: 1px solid #efeded !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-qty::before {
    content: 'Quantity' !important;
    color: #777 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table tbody .td-qty > .input-group.btn-block {
    width: 193px !important;
    max-width: 193px !important;
    gap: 12px !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .td-qty .lunoria-remove-button {
    width: 42px !important;
    height: 42px !important;
    border: 1px solid #d9d6d6 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #333 !important;
    box-shadow: none !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-price,
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-total {
    grid-row: 3 !important;
    padding: 11px 0 0 !important;
    border-top: 1px solid #efeded !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-price {
    grid-column: 1 !important;
    align-items: flex-start !important;
    text-align: left !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-total {
    grid-column: 2 !important;
    align-items: flex-end !important;
    text-align: right !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-price::before,
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-total::before {
    color: #888 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-price {
    color: #555 !important;
    font-size: 13px !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-total {
    color: #222 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row.is-insufficient-quantity > .td-total,
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row.is-out-of-stock > .td-total {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    margin-top: 10px !important;
    padding: 12px 0 0 !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    text-align: left !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .lunoria-stock-actions-total {
    width: auto !important;
    min-width: 0 !important;
    align-items: flex-end !important;
  }
}

/* CART_SUMMARY_MATCHES_CHECKOUT_V120 */
html.route-checkout-cart body #checkout-cart #content .cart-page .cart-bottom .cart-summary-title {
  display: flex !important;
  width: 100% !important;
  min-height: 0 !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin: 0 0 17px !important;
  padding: 2px 0 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #211d1e !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  text-transform: none !important;
}

html.route-checkout-cart body #checkout-cart #content .cart-page .cart-bottom .cart-summary-count {
  margin-left: auto !important;
  color: #766f70 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
}

html.route-checkout-cart body #checkout-cart #content .cart-page .cart-bottom .cart-total > table,
html.route-checkout-cart body #checkout-cart #content .cart-page .cart-bottom .cart-total > table > tbody {
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: collapse !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html.route-checkout-cart body #checkout-cart #content .cart-page .cart-bottom .cart-total > table > tbody > tr,
html.route-checkout-cart body #checkout-cart #content .cart-page .cart-bottom .cart-total > table > tbody > tr.cart-total-total {
  display: table-row !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  background: transparent !important;
}

html.route-checkout-cart body #checkout-cart #content .cart-page .cart-bottom .cart-total > table > tbody > tr > td,
html.route-checkout-cart body #checkout-cart #content .cart-page .cart-bottom .cart-total.is-paid-shipping > table > tbody > tr.cart-total-total > td {
  display: table-cell !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 8px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #211d1e !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  vertical-align: middle !important;
}

html.route-checkout-cart body #checkout-cart #content .cart-page .cart-bottom .cart-total > table > tbody > tr > td:first-child {
  padding-left: 0 !important;
  text-align: left !important;
}

html.route-checkout-cart body #checkout-cart #content .cart-page .cart-bottom .cart-total > table > tbody > tr > td:last-child {
  padding-right: 0 !important;
  font-weight: 700 !important;
  text-align: right !important;
}

html.route-checkout-cart body #checkout-cart #content .cart-page .cart-bottom .cart-total > table > tbody > tr.cart-total-total > td,
html.route-checkout-cart body #checkout-cart #content .cart-page .cart-bottom .cart-total.is-paid-shipping > table > tbody > tr.cart-total-total > td {
  padding-top: 12px !important;
  color: #9d2636 !important;
  font-size: 18px !important;
  font-weight: 750 !important;
}

html.route-checkout-cart body #checkout-cart #content .cart-page .cart-bottom .cart-free-shipping-notice {
  display: flex !important;
  width: 100% !important;
  min-height: 48px !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 10px 0 0 !important;
  padding: 10px 12px !important;
  border: 1px solid #ebe5e6 !important;
  border-radius: 10px !important;
  background: #fafafa !important;
  color: #211d1e !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  box-sizing: border-box !important;
}

html.route-checkout-cart body #checkout-cart #content .cart-page .cart-bottom .cart-free-shipping-notice.is-unlocked {
  border-color: #f0d5db !important;
  background: #fff3f5 !important;
  color: #9d2636 !important;
}

html.route-checkout-cart body #checkout-cart #content .cart-page .cart-bottom .cart-free-shipping-icon {
  display: block !important;
  width: 21px !important;
  min-width: 21px !important;
  height: 21px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  stroke-width: 1.7 !important;
}

html.route-checkout-cart body #checkout-cart #content .cart-page .panels-total > .cart-panels {
  margin: 18px 0 0 !important;
  padding: 0 !important;
  border-top: 1px solid #e7e1e2 !important;
}

html.route-checkout-cart body #checkout-cart #content .cart-page .cart-panels .panel-heading a {
  min-height: 54px !important;
  padding: 0 !important;
  color: #211d1e !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}

html.route-checkout-cart body #checkout-cart #content .cart-page .cart-panels .panel-heading a::before {
  flex: 0 0 20px !important;
  width: 20px !important;
  margin: 0 18px 0 0 !important;
  font-size: 20px !important;
}

@media (min-width: 1025px) {
  html.route-checkout-cart body #checkout-cart #content .cart-page .cart-bottom {
    padding: 22px !important;
    border-radius: 20px !important;
  }
}

/* MOBILE_STOCK_UNDER_PRODUCT_NAME_V114 */
.lunoria-mobile-stock-under-name {
  display: none !important;
}
@media (max-width: 1024px) {
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .td-name {
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .lunoria-cart-product-title-block {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .lunoria-mobile-stock-under-name {
    display: block !important;
    margin-top: 4px !important;
    color: #8a6510 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-align: left !important;
  }
}

/* MOBILE_REDUCE_CONTINUOUS_DIVIDER_V111 */
@media (max-width: 1024px) {
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row.is-insufficient-quantity > .td-qty {
    border-bottom: 1px solid #efeded !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row.is-insufficient-quantity > .td-price,
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row.is-insufficient-quantity > .td-total {
    border-top: 0 !important;
  }
}

/* MOBILE_STEPPER_OFFSET_V112 */
@media (max-width: 1024px) {
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table tr:not(.is-insufficient-quantity) .td-qty .stepper {
    transform: translateX(10px) !important;
  }
}

/* MOBILE_REDUCE_OFFSET_V113 */
@media (max-width: 1024px) {
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table tr.is-insufficient-quantity .lunoria-mobile-reduce-replacement,
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table tr.is-insufficient-quantity .lunoria-mobile-reduce-replacement:hover,
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table tr.is-insufficient-quantity .lunoria-mobile-reduce-replacement:focus,
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table tr.is-insufficient-quantity .lunoria-mobile-reduce-replacement:active {
    transform: translateX(10px) !important;
  }
}

/* MOBILE_CART_INSUFFICIENT_COMPACT_V108 */
.lunoria-mobile-stock-limit,
.lunoria-mobile-insufficient-total {
  display: none !important;
}
@media (max-width: 1024px) {
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .td-image a,
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .td-image img {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .td-image img {
    padding: 0 !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-qty {
    flex-wrap: wrap !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .lunoria-mobile-stock-limit {
    display: block !important;
    flex: 0 0 100% !important;
    margin: 7px 54px 0 0 !important;
    color: #8a6510 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-align: right !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .lunoria-stock-actions-total {
    display: none !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .lunoria-mobile-insufficient-total {
    display: inline !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row.is-insufficient-quantity > .td-total {
    grid-column: 2 !important;
    grid-row: 3 !important;
    margin-top: 0 !important;
    padding: 11px 0 0 !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    text-align: right !important;
  }
}

/* MOBILE_REDUCE_REPLACES_STEPPER_V109 */
.lunoria-mobile-reduce-replacement {
  display: none !important;
}
@media (max-width: 1024px) {
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .td-qty {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 54px minmax(132px, 1fr) 54px !important;
    column-gap: 0 !important;
    align-items: center !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .td-qty::before {
    grid-column: 1 !important;
    justify-self: start !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .td-qty > .input-group.btn-block {
    grid-column: 2 / 4 !important;
    display: grid !important;
    grid-template-columns: minmax(132px, 1fr) 54px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    gap: 0 !important;
    align-items: center !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .td-qty .stepper,
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .td-qty .lunoria-mobile-reduce-replacement {
    grid-column: 1 !important;
    justify-self: center !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table .td-qty .input-group-btn {
    grid-column: 2 !important;
    justify-self: end !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table tr.is-insufficient-quantity .td-qty .stepper {
    display: none !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table tr.is-insufficient-quantity .lunoria-mobile-reduce-replacement,
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table tr.is-insufficient-quantity .lunoria-mobile-reduce-replacement:hover,
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table tr.is-insufficient-quantity .lunoria-mobile-reduce-replacement:focus,
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table tr.is-insufficient-quantity .lunoria-mobile-reduce-replacement:active {
    display: inline-flex !important;
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 10px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #8a6510 !important;
    border-radius: 999px !important;
    background: #8a6510 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table tr.is-insufficient-quantity .lunoria-mobile-stock-limit {
    display: none !important;
  }
}

/* MOBILE_QUANTITY_TRUE_CENTER_V110 */
@media (max-width: 1024px) {
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table table.table tbody tr.lunoria-cart-product-row > .td-qty {
    display: grid !important;
    grid-template-columns: 54px minmax(132px, 1fr) 54px !important;
  }
  html.route-checkout-cart body #checkout-cart #content .cart-page form.cart-table tbody .td-qty > .input-group.btn-block {
    grid-column: 2 / 4 !important;
    display: grid !important;
    grid-template-columns: minmax(132px, 1fr) 54px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    gap: 0 !important;
  }
}

/* MOBILE_MAIN_MENU_HIDE_SCROLLBAR_V133 */
@media (max-width: 1024px) {
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu {
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }
}

/* MOBILE_MAIN_MENU_CLEAN_INTERACTION_STATE_V134 */
@media (max-width: 1024px) {
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item {
    border-top: 0 !important;
    border-right: 0 !important;
    border-left: 0 !important;
    border-bottom: 1px solid #ececef !important;
    box-shadow: none !important;
    outline: 0 !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item:not(.main-menu-item-14):not(.lunoria-mobile-all-products) > a,
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item:not(.main-menu-item-14):not(.lunoria-mobile-all-products) > a:hover,
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item:not(.main-menu-item-14):not(.lunoria-mobile-all-products) > a:focus,
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item:not(.main-menu-item-14):not(.lunoria-mobile-all-products) > a:active {
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item.dropdown.open > a,
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item.dropdown.open > a:hover,
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item.dropdown.open > a:focus,
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item.dropdown.open > a:active {
    background: #fff !important;
    color: #7a1f29 !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item.dropdown.open > .collapse,
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item.dropdown.open > .collapsing {
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
  }
}

/* MOBILE_MAIN_MENU_ACCORDION_USABILITY_V135 */
@media (max-width: 1024px) {
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item > a {
    min-height: 48px !important;
    padding-right: 50px !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu .open-menu {
    right: 0 !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu .open-menu i {
    display: block !important;
    width: 9px !important;
    height: 9px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    background: transparent !important;
    color: #626262 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    transform: rotate(45deg) translate(-1px, -1px) !important;
    transform-origin: center !important;
    transition: transform .18s ease, color .18s ease !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu .open-menu i::before {
    display: none !important;
    content: none !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu .open-menu[aria-expanded="true"] i {
    color: #7a1f29 !important;
    transform: rotate(-135deg) translate(-1px, -1px) !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu .collapse .j-menu > li > a,
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu .collapsing .j-menu > li > a {
    min-height: 48px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu .collapse .j-menu > .lunoria-mobile-view-all > a,
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu .collapsing .j-menu > .lunoria-mobile-view-all > a {
    background: transparent !important;
    color: #6f4449 !important;
    font-size: 13px !important;
    font-weight: 650 !important;
  }
}

/* Keep the v2 search dialog authoritative over legacy search rules above. */
#luno-search-popup {
  inset: 0 !important;
  left: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  padding: 32px 20px !important;
  overflow: hidden !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

#luno-search-popup.is-open { transform: none !important; }

#luno-search-popup .luno-search-popup-box {
  width: min(720px, calc(100vw - 40px)) !important;
  height: min(760px, calc(100dvh - 64px)) !important;
  max-height: calc(100vh - 64px) !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#luno-search-popup .luno-search-close {
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: #f7f3f4 !important;
  color: #403a3c !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
}

#luno-search-popup .luno-search-input {
  width: 100% !important;
  height: 54px !important;
  margin: 0 !important;
  padding: 0 52px 0 50px !important;
  border: 1.5px solid #c9c1c3 !important;
  border-radius: 15px !important;
  font-size: 16px !important;
}

#luno-search-popup .luno-search-results {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  padding: 0 22px 22px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

#luno-search-popup .luno-search-result {
  display: flex !important;
  gap: 13px !important;
  padding: 10px 12px !important;
  border-bottom: 1px solid #eee8e9 !important;
}

#luno-search-popup .luno-search-result img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  flex: none !important;
}

#luno-search-popup .luno-search-view-more {
  display: flex !important;
  padding: 10px 18px !important;
  color: #8d202e !important;
}

@media (max-width: 767px) {
  #luno-search-popup {
    padding: 0 !important;
  }

  #luno-search-popup .luno-search-popup-box {
    width: 100% !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    overflow: hidden !important;
  }

  #luno-search-popup .luno-search-results {
    padding: 0 16px max(20px, env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
  }
}

/* Desktop search stays attached to the header field instead of becoming a modal. */
@media (min-width: 1025px) {
  html.luno-search-open:not(.mobile-header-active),
  body.luno-search-open {
    overflow: auto !important;
    overscroll-behavior: auto !important;
  }

  #luno-search-popup.is-desktop-dropdown {
    inset: 0 !important;
    display: block !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    pointer-events: none !important;
  }

  #luno-search-popup.is-desktop-dropdown .luno-search-backdrop,
  #luno-search-popup.is-desktop-dropdown .luno-search-header,
  #luno-search-popup.is-desktop-dropdown .luno-search-form {
    display: none !important;
  }

  #luno-search-popup.is-desktop-dropdown .luno-search-popup-box {
    position: fixed !important;
    top: var(--luno-search-top) !important;
    left: var(--luno-search-left) !important;
    width: var(--luno-search-width) !important;
    height: auto !important;
    max-height: var(--luno-search-max-height) !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #e7dfe1 !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 18px 45px rgba(35, 22, 25, .2) !important;
    pointer-events: auto !important;
    transform: translateY(-5px) !important;
    opacity: 0;
    transition: opacity .16s ease, transform .16s ease !important;
  }

  #luno-search-popup.is-desktop-dropdown.is-open .luno-search-popup-box {
    opacity: 1;
    transform: translateY(0) !important;
  }

  #luno-search-popup.is-desktop-dropdown .luno-search-results {
    width: 100%;
    max-height: var(--luno-search-max-height) !important;
    padding: 8px !important;
    box-sizing: border-box;
    overflow-y: auto !important;
  }

  #luno-search-popup.is-desktop-dropdown .luno-search-summary {
    padding: 6px 8px 10px;
  }

  #luno-search-popup.is-desktop-dropdown .luno-search-list {
    border-radius: 12px;
  }

  #luno-search-popup.is-desktop-dropdown .luno-search-result {
    min-height: 82px;
    padding: 8px 10px !important;
  }

  #luno-search-popup.is-desktop-dropdown .luno-search-result-image {
    flex-basis: 62px;
    width: 62px;
    height: 62px;
    border-radius: 10px;
  }

  #luno-search-popup.is-desktop-dropdown .luno-search-start,
  #luno-search-popup.is-desktop-dropdown .luno-search-empty {
    min-height: 150px;
    padding: 22px 16px !important;
  }

  #luno-search-popup.is-desktop-dropdown .luno-search-recent {
    margin-top: 18px;
    padding-top: 14px;
  }

  #luno-search-popup.is-desktop-dropdown .luno-search-view-more {
    min-height: 46px;
    margin-top: 8px;
    border-radius: 11px;
  }

  #luno-search-popup.is-desktop-dropdown .luno-search-loading {
    min-height: 140px;
  }
}

/* Lunoria home category cards v2: photography and labels occupy separate rows. */
.module-banners-299 .module-item > a {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 0 0 1px rgba(84, 37, 46, .09);
  transition: transform .2s ease, box-shadow .2s ease;
}

.module-banners-299 .module-item > a > img {
  display: block;
  flex: none;
  width: 100%;
  height: auto;
  aspect-ratio: 8 / 13;
  object-fit: cover;
  border-radius: 0;
}

.module-banners-299 .module-item .banner-text.banner-caption-2 {
  position: static !important;
  inset: auto !important;
  display: block;
  flex: none;
  width: 100% !important;
  height: 34px !important;
  margin: 0 !important;
  transform: none !important;
  background: #fff;
}

.module-banners-299 .module-item .banner-caption-2 > span {
  position: static !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100% !important;
  padding: 3px 4px;
  transform: none !important;
  color: #6f2633;
  font-family: Montserrat, Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .08em;
  text-align: center;
  text-transform: uppercase;
}

@media (hover: hover) {
  .module-banners-299 .module-item > a:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(64, 25, 34, .14);
  }
}

.module-banners-299 .module-item > a:focus-visible {
  outline: 2px solid #7e2435;
  outline-offset: 3px;
}

@media (max-width: 767px) {
  .module-banners-299 .module-item .banner-text.banner-caption-2 {
    height: 32px !important;
  }
  .module-banners-299 .module-item .banner-caption-2 > span {
    font-size: 10px;
  }
}


/* Lunoria category cards v2 label legibility fix. */
.module-banners-299 .module-item > a,
.module-banners-299 .module-item > a:hover {
  text-decoration: none !important;
}
.module-banners-299 .module-item .banner-caption-2 > span {
  font-size: 12px;
  text-decoration: none !important;
}
@media (max-width: 767px) {
  .module-banners-299 .module-item .banner-caption-2 > span {
    font-size: 11px;
  }
}

/* Lunoria homepage trust placement only v1. */
#top > .grid-rows > .grid-row-top-3 { order: 1; }
#top > .grid-rows > .grid-row-top-2 { order: 2; }
#top > .grid-rows > .grid-row-top-4 { order: 3; }
#top > .grid-rows > .grid-row-top-5 { order: 4; }
#top > div.grid-rows > div.grid-row.grid-row-top-3 { padding: 10px 10px !important; }
@media (max-width: 767px) {
  #top > div.grid-rows > div.grid-row.grid-row-top-3 { padding: 8px 10px !important; }
}

/* Lunoria category cards v6: neutral pearl product studio. */
.module-banners-299 .module-item-4 > a { background: #f0eceb; }
.module-banners-299 .module-item-4 > a > img { object-fit: contain; mix-blend-mode: multiply; transform: rotate(-90deg) scale(1.6); }

/* Use the uncropped catalog photo for the Anal category card. */
.module-banners-299 .module-item-4 > a > img { content: url('/image/catalog/supplier-hires/20261024/lj-eighth-7008-c3a6bc41e59e.jpg'); }

/* Category captions: slightly larger without changing card images. */
.module-banners-299 .module-item .banner-caption-2 > span { font-size: 14px !important; letter-spacing: .06em !important; }
@media (max-width: 767px) { .module-banners-299 .module-item .banner-caption-2 > span { font-size: 12px !important; letter-spacing: .02em !important; } }

/* Center the homepage Recently Viewed / Most Viewed selector on all screens. */
.module-side_products-39 .side-products-tabs > .nav-tabs {
  justify-content: center;
}

/* Lunoria Wish List: warm editorial table and restrained actions. */
html.route-account-wishlist .page-title {
  color: #4d2732 !important;
}

html.route-account-wishlist #account-wishlist .table-responsive {
  padding: 18px !important;
  border: 1px solid #eadfe1 !important;
  border-radius: 16px !important;
  background: #fffdfc !important;
  box-shadow: 0 14px 32px rgba(71, 28, 40, .07) !important;
}

html.route-account-wishlist #account-wishlist table {
  margin: 0 !important;
  border: 0 !important;
}

html.route-account-wishlist #account-wishlist table thead td {
  padding: 12px !important;
  border: 0 !important;
  border-bottom: 1px solid #eadfe1 !important;
  background: #f8f2f3 !important;
  color: #77384a !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
}

html.route-account-wishlist #account-wishlist table tbody tr {
  background: #fffdfc !important;
}

html.route-account-wishlist #account-wishlist table tbody td {
  padding: 15px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid #f0e8e9 !important;
  background: transparent !important;
  color: #5a4b51 !important;
  font-size: 13px !important;
  vertical-align: middle !important;
}

html.route-account-wishlist #account-wishlist table tbody tr:last-child td {
  border-bottom: 0 !important;
}

html.route-account-wishlist #account-wishlist .td-image img {
  width: 64px !important;
  height: 64px !important;
  object-fit: contain !important;
  border-radius: 9px !important;
  background: #f8f5f4 !important;
}

html.route-account-wishlist #account-wishlist table tbody .td-name a {
  color: #4d2732 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
}

html.route-account-wishlist #account-wishlist table tbody .td-name a:hover {
  color: #8a3249 !important;
}

html.route-account-wishlist #account-wishlist table tbody .td-stock.in-stock {
  color: #387353 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

html.route-account-wishlist #account-wishlist table tbody .td-stock.out-of-stock {
  color: #97485a !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

html.route-account-wishlist #account-wishlist table tbody .td-price .price,
html.route-account-wishlist #account-wishlist table tbody .td-price .price b {
  color: #812b40 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

html.route-account-wishlist #account-wishlist table tbody .td-price .price s {
  color: #9e9599 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
}

html.route-account-wishlist #account-wishlist table tbody .td-action .btn {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  font-size: 15px !important;
  align-items: center !important;
  justify-content: center !important;
}

html.route-account-wishlist #account-wishlist table tbody .td-action .btn-primary {
  border: 1px solid #712438 !important;
  background: #712438 !important;
  color: #fff !important;
}

html.route-account-wishlist #account-wishlist table tbody .td-action .btn-primary:hover {
  border-color: #572033 !important;
  background: #572033 !important;
}

html.route-account-wishlist #account-wishlist table tbody .td-action .btn-remove {
  border: 1px solid #e4cbd1 !important;
  background: #fff !important;
  color: #8b344a !important;
}

html.route-account-wishlist #account-wishlist table tbody .td-action .btn-remove:hover {
  background: #f9eff1 !important;
}

html.route-account-wishlist #account-wishlist .buttons {
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: 16px !important;
}

html.route-account-wishlist #account-wishlist .buttons .pull-right {
  float: none !important;
  width: auto !important;
}

html.route-account-wishlist #account-wishlist .buttons .btn {
  width: auto !important;
  min-width: 170px !important;
  height: 44px !important;
  padding: 0 24px !important;
  border: 1px solid #712438 !important;
  border-radius: 999px !important;
  background: #712438 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
}

html.route-account-wishlist #account-wishlist .buttons .btn:hover {
  border-color: #572033 !important;
  background: #572033 !important;
}

@media (max-width: 767px) {
  html.route-account-wishlist #account-wishlist .table-responsive {
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html.route-account-wishlist #account-wishlist table,
  html.route-account-wishlist #account-wishlist table tbody {
    display: block !important;
    width: 100% !important;
  }

  html.route-account-wishlist #account-wishlist table thead {
    display: none !important;
  }

  html.route-account-wishlist #account-wishlist table tbody tr {
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr) !important;
    gap: 5px 13px !important;
    margin-bottom: 12px !important;
    padding: 13px !important;
    border: 1px solid #eadfe1 !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 22px rgba(71, 28, 40, .06) !important;
  }

  html.route-account-wishlist #account-wishlist table tbody td {
    display: block !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: left !important;
  }

  html.route-account-wishlist #account-wishlist table tbody .td-model {
    display: none !important;
  }

  html.route-account-wishlist #account-wishlist table tbody .td-image {
    grid-column: 1 !important;
    grid-row: 1 / span 3 !important;
  }

  html.route-account-wishlist #account-wishlist table tbody .td-image img {
    width: 76px !important;
    height: 76px !important;
  }

  html.route-account-wishlist #account-wishlist table tbody .td-name,
  html.route-account-wishlist #account-wishlist table tbody .td-stock,
  html.route-account-wishlist #account-wishlist table tbody .td-price {
    grid-column: 2 !important;
  }

  html.route-account-wishlist #account-wishlist table tbody .td-name a {
    font-size: 13px !important;
  }

  html.route-account-wishlist #account-wishlist table tbody .td-action {
    display: flex !important;
    grid-column: 1 / -1 !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    padding-top: 10px !important;
    border-top: 1px solid #f0e8e9 !important;
  }

  html.route-account-wishlist #account-wishlist .buttons .pull-right,
  html.route-account-wishlist #account-wishlist .buttons .btn {
    width: 100% !important;
  }
}

/* Lunoria cart confirmation: compact card instead of a page-wide notification. */
.notification-wrapper.notification-wrapper-tr {
  top: 104px !important;
  right: 24px !important;
  bottom: auto !important;
  left: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 10px !important;
  width: min(520px, calc(100vw - 48px)) !important;
  height: auto !important;
  max-height: calc(100vh - 120px) !important;
  pointer-events: none !important;
}

.notification-wrapper.notification-wrapper-tr .notification-cart {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #eadde0 !important;
  border-radius: 16px !important;
  background: #fffdfc !important;
  color: #46343a !important;
  box-shadow: 0 18px 44px rgba(69, 29, 40, .17) !important;
  pointer-events: auto !important;
}

.notification-wrapper.notification-wrapper-tr .notification-cart .notification-content {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  min-height: 0 !important;
  padding: 18px 48px 16px 18px !important;
}

.notification-wrapper.notification-wrapper-tr .notification-cart .notification-content img {
  box-sizing: border-box !important;
  flex: 0 0 60px !important;
  width: 60px !important;
  height: 60px !important;
  margin: 0 !important;
  padding: 5px !important;
  border: 1px solid #f0e8e9 !important;
  border-radius: 10px !important;
  background: #fff !important;
  object-fit: contain !important;
}

.notification-wrapper.notification-wrapper-tr .notification-cart .notification-content > div {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.notification-wrapper.notification-wrapper-tr .notification-cart .notification-title {
  margin: 0 0 5px !important;
  padding: 0 !important;
  color: #4d2531 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.notification-wrapper.notification-wrapper-tr .notification-cart .notification-text {
  margin: 0 !important;
  padding: 0 !important;
  color: #6d6268 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

.notification-wrapper.notification-wrapper-tr .notification-cart .notification-text a {
  color: #782d42 !important;
  font-weight: 700 !important;
  text-decoration-color: #c99aa7 !important;
  text-underline-offset: 2px !important;
}

.notification-wrapper.notification-wrapper-tr .notification-cart .notification-close {
  top: 11px !important;
  right: 11px !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  border-radius: 50% !important;
  background: #f8f2f3 !important;
  color: #79364a !important;
}

.notification-wrapper.notification-wrapper-tr .notification-cart .notification-buttons {
  box-sizing: border-box !important;
  display: flex !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 12px 18px 16px !important;
  border-top: 1px solid #f0e8e9 !important;
  background: #fffaf9 !important;
}

.notification-wrapper.notification-wrapper-tr .notification-cart .notification-buttons .btn {
  box-sizing: border-box !important;
  display: flex !important;
  flex: 1 1 0 !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 9px 12px !important;
  border-radius: 999px !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .035em !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

.notification-wrapper.notification-wrapper-tr .notification-cart .notification-view-cart {
  border: 1px solid #9c6574 !important;
  background: #fffdfc !important;
  color: #712b3e !important;
}

.notification-wrapper.notification-wrapper-tr .notification-cart .notification-checkout {
  border: 1px solid #712438 !important;
  background: #712438 !important;
  color: #fff !important;
}

.notification-wrapper.notification-wrapper-tr .notification-cart .notification-view-cart:hover {
  background: #f8f0f2 !important;
}

.notification-wrapper.notification-wrapper-tr .notification-cart .notification-checkout:hover {
  border-color: #582033 !important;
  background: #582033 !important;
}

/* Wishlist confirmation uses the same warm surface and burgundy accent. */
#luno-toast {
  box-sizing: border-box !important;
  top: 104px !important;
  right: 24px !important;
  bottom: auto !important;
  left: auto !important;
  width: min(420px, calc(100vw - 48px)) !important;
  max-width: none !important;
  min-height: 68px !important;
  padding: 17px 20px 17px 56px !important;
  border: 1px solid #eadde0 !important;
  border-radius: 16px !important;
  background: #fffdfc !important;
  color: #46343a !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  box-shadow: 0 18px 44px rgba(69, 29, 40, .17) !important;
}

#luno-toast::before {
  content: '✓';
  position: absolute;
  top: 17px;
  left: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #f1e5e9;
  color: #792e43;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}

#luno-toast a {
  color: #762b40 !important;
  font-size: inherit !important;
  font-weight: 700 !important;
  text-decoration-color: #c99aa7 !important;
  text-underline-offset: 2px !important;
}

@media (max-width: 1024px) {
  .notification-wrapper.notification-wrapper-tr {
    top: 92px !important;
    right: 12px !important;
    left: 12px !important;
    width: auto !important;
    max-height: calc(100vh - 104px) !important;
  }

  .notification-wrapper.notification-wrapper-tr .notification-cart {
    max-width: none !important;
  }

  .notification-wrapper.notification-wrapper-tr .notification-cart .notification-content {
    gap: 10px !important;
    padding: 15px 42px 13px 14px !important;
  }

  .notification-wrapper.notification-wrapper-tr .notification-cart .notification-content img {
    flex-basis: 48px !important;
    width: 48px !important;
    height: 48px !important;
  }

  .notification-wrapper.notification-wrapper-tr .notification-cart .notification-buttons {
    gap: 8px !important;
    padding: 11px 14px 14px !important;
  }

  #luno-toast {
    top: 92px !important;
    right: 12px !important;
    left: 12px !important;
    width: auto !important;
    padding: 16px 16px 16px 52px !important;
  }

  #luno-toast::before {
    top: 16px;
    left: 15px;
  }
}

/* Login popup: compact, focused account form */
html.popup-login {
  padding: 0 !important;
}

.popup-wrapper.popup-login .popup-bg {
  background: rgba(29, 16, 23, .62) !important;
}

.popup-wrapper.popup-login .popup-container {
  width: min(440px, calc(100vw - 32px)) !important;
  max-width: 440px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #fffdfc !important;
  box-shadow: 0 24px 70px rgba(30, 12, 20, .24) !important;
}

.popup-wrapper.popup-login .popup-body,
.popup-wrapper.popup-login .popup-inner-body {
  border-radius: 18px !important;
  overflow: hidden !important;
}

.popup-wrapper.popup-login .popup-body {
  background: #fffdfc !important;
  box-shadow: none !important;
}

.popup-wrapper.popup-login .popup-body,
.popup-wrapper.popup-login .popup-inner-body {
  height: auto !important;
  min-height: 0 !important;
}

.popup-wrapper.popup-login iframe {
  display: block;
  width: 100% !important;
  min-height: 0 !important;
  border: 0;
}

.popup-wrapper.popup-login .popup-close {
  top: 16px !important;
  right: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  transform: none !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #f7f1f2 !important;
  color: #713348 !important;
  z-index: 20 !important;
}

.popup-wrapper.popup-login .popup-close::before,
.popup-wrapper.popup-login .popup-close::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 15px !important;
  height: 2px !important;
  border-radius: 2px !important;
  background: currentColor !important;
}

.popup-wrapper.popup-login .popup-close::before {
  transform: translate(-50%, -50%) rotate(45deg) !important;
}

.popup-wrapper.popup-login .popup-close::after {
  transform: translate(-50%, -50%) rotate(-45deg) !important;
}

.popup-wrapper.popup-login .journal-loading {
  display: none !important;
}

html.popup-login #lunoria-annbar,
html.popup-login #lunoria-annbar-spacer {
  display: none !important;
}

html.popup-login body {
  width: 100% !important;
  margin: 0 !important;
  background: #fffdfc !important;
}

html.popup-login .site-wrapper {
  padding: 31px 32px 29px !important;
  background: #fffdfc !important;
}

html.popup-login .site-wrapper > h2.title {
  margin: 0 42px 5px 0 !important;
  padding: 0 !important;
  color: #3c2830 !important;
  font-size: 23px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -.02em !important;
  border: 0 !important;
}

html.popup-login .site-wrapper > h2.title::after {
  display: none !important;
}

html.popup-login .lunoria-login-intro {
  display: block !important;
  margin: 0 0 23px !important;
  color: #786e72 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

html.popup-login .login-form,
html.popup-login .login-form .form-group {
  width: 100% !important;
}

html.popup-login .login-form .form-group {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  margin: 0 0 17px !important;
}

html.popup-login .login-form label.control-label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  color: #45363c !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

html.popup-login .login-form input.form-control {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 46px !important;
  padding: 0 14px !important;
  border: 1px solid #ded4d7 !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #382d31 !important;
  font-size: 14px !important;
  box-shadow: none !important;
}

html.popup-login .login-form input.form-control::placeholder {
  color: #a79da1 !important;
}

html.popup-login .login-form input.form-control:focus {
  border-color: #822e48 !important;
  outline: 2px solid rgba(130, 46, 72, .13) !important;
  outline-offset: 0 !important;
}

html.popup-login .lunoria-password-field {
  position: relative;
  display: block !important;
  width: 100%;
  height: 46px !important;
  min-height: 0 !important;
  flex: 0 0 46px !important;
}

html.popup-login .lunoria-password-field input.form-control {
  padding-right: 64px !important;
}

html.popup-login .lunoria-password-toggle {
  position: absolute;
  top: 4px;
  right: 5px;
  height: 38px !important;
  padding: 0 9px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #7c3048;
  font-size: 0 !important;
  font-weight: 700;
  cursor: pointer;
}

html.popup-login .lunoria-password-toggle::after {
  content: 'Show';
  font-size: 12px;
}

html.popup-login .lunoria-password-toggle[aria-pressed="true"]::after {
  content: 'Hide';
}

html.popup-login .lunoria-password-toggle:hover,
html.popup-login .lunoria-password-toggle:focus-visible {
  background: #f7eff1;
  outline: none;
}

html.popup-login .lunoria-forgot-password {
  display: block !important;
  width: 100% !important;
  flex: 0 0 auto !important;
  margin-top: 9px !important;
  text-align: right !important;
}

html.popup-login .lunoria-forgot-password a,
html.popup-login .lunoria-login-register a {
  color: #782a43 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

html.popup-login .lunoria-forgot-password a:hover,
html.popup-login .lunoria-login-register a:hover {
  text-decoration: underline !important;
}

html.popup-login .login-form .buttons {
  width: 100% !important;
  margin: 20px 0 0 !important;
  padding: 0 !important;
}

html.popup-login .login-form .buttons .pull-right {
  float: none !important;
  width: 100% !important;
}

html.popup-login .login-form .buttons .btn-primary {
  display: block !important;
  width: 100% !important;
  height: 48px !important;
  border: 1px solid #79253d !important;
  border-radius: 9px !important;
  background: #79253d !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

html.popup-login .login-form .buttons .btn-primary:hover,
html.popup-login .login-form .buttons .btn-primary:focus-visible {
  background: #622035 !important;
  border-color: #622035 !important;
}

html.popup-login .login-form .buttons .btn-primary::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

html.popup-login .lunoria-login-register {
  margin: 19px 0 0 !important;
  color: #786e72 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

@media (max-width: 480px) {
  html.popup-login .site-wrapper {
    padding: 27px 23px 25px !important;
  }
}

/* Mobile account pages: use the same calm, single-column form language as the popups. */
@media (max-width: 767px) {
  html.route-account-login #account-login,
  html.route-account-register #account-register {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    padding: 18px 18px 34px !important;
    background: linear-gradient(180deg, #fff 0%, #fcf8f8 100%) !important;
    box-sizing: border-box !important;
  }

  html.route-account-login #account-login > .row,
  html.route-account-register #account-register > .row,
  html.route-account-login #account-login .login-box {
    margin: 0 !important;
  }

  html.route-account-login #account-login #content,
  html.route-account-register #account-register #content {
    float: none !important;
    width: 100% !important;
    padding: 0 !important;
  }

  html.route-account-login #account-login .login-box {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  html.route-account-login #account-login .login-box > .col-sm-6 {
    float: none !important;
    width: 100% !important;
    padding: 0 !important;
  }

  html.route-account-login #account-login .login-box > .col-sm-6:last-child { order: 1; }
  html.route-account-login #account-login .login-box > .col-sm-6:first-child { order: 2; }

  html.route-account-login #account-login .well,
  html.route-account-register #account-register .register-form {
    margin: 0 !important;
    padding: 25px 22px !important;
    border: 1px solid #eee5e6 !important;
    border-radius: 18px !important;
    background: #fffdfc !important;
    box-shadow: 0 12px 32px rgba(76, 37, 49, .075) !important;
    box-sizing: border-box !important;
  }

  html.route-account-login #account-login .well {
    display: block !important;
    min-height: 0 !important;
  }

  html.route-account-login #account-login .login-form {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html.route-account-login #account-login .well > h2.title {
    margin: 0 0 18px !important;
    padding: 0 !important;
    color: #412d35 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
  }

  html.route-account-login #account-login .well > h2.title::after {
    display: none !important;
  }

  html.route-account-login #account-login .login-box > .col-sm-6:last-child .well > p {
    display: none !important;
  }

  html.route-account-login #account-login .login-box > .col-sm-6:first-child .well {
    padding: 21px 22px !important;
    box-shadow: none !important;
  }

  html.route-account-login #account-login .login-box > .col-sm-6:first-child .well > h2.title {
    margin-bottom: 7px !important;
    font-size: 18px !important;
  }

  html.route-account-login #account-login .login-box > .col-sm-6:first-child .well > p {
    display: block !important;
    margin: 0 0 16px !important;
    color: #70666b !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
  }

  html.route-account-login #account-login .login-box > .col-sm-6:first-child .well > p > strong {
    display: none !important;
  }

  html.route-account-login #account-login .login-form .form-group {
    margin: 0 0 15px !important;
    padding: 0 !important;
  }

  html.route-account-login #account-login .login-form .control-label,
  html.route-account-register #account-register .register-form .control-label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
    color: #49373e !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: left !important;
  }

  html.route-account-login #account-login .login-form .form-control,
  html.route-account-register #account-register .register-form .form-control {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 50px !important;
    padding: 0 15px !important;
    border: 1px solid #ded4d7 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #392e33 !important;
    font-size: 16px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  html.route-account-login #account-login .login-form .form-control:focus,
  html.route-account-register #account-register .register-form .form-control:focus {
    border-color: #842e48 !important;
    outline: 3px solid rgba(132, 46, 72, .13) !important;
    outline-offset: 0 !important;
  }

  html.route-account-login #account-login .login-form .lunoria-forgot-password {
    margin: 8px 0 0 !important;
    text-align: right !important;
  }

  html.route-account-login #account-login .login-form .lunoria-forgot-password a {
    color: #79253d !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
  }

  html.route-account-login #account-login .well .buttons,
  html.route-account-register #account-register .register-form .buttons {
    margin: 19px 0 0 !important;
    padding: 0 !important;
  }

  html.route-account-login #account-login .well .buttons .pull-right,
  html.route-account-register #account-register .register-form .buttons .pull-right {
    float: none !important;
    width: 100% !important;
  }

  html.route-account-login #account-login .well .buttons .btn-primary,
  html.route-account-register #account-register .register-form .buttons .btn-primary {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 50px !important;
    padding: 0 16px !important;
    border: 1px solid #79253d !important;
    border-radius: 10px !important;
    background: #79253d !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
  }

  html.route-account-login #account-login .well .buttons .btn-primary::after,
  html.route-account-register #account-register .register-form .buttons .btn-primary::after {
    content: none !important;
    display: none !important;
  }

  html.route-account-login #account-login .login-box > .col-sm-6:first-child .btn-primary {
    border-color: #d8c6cc !important;
    background: #fff !important;
    color: #79253d !important;
  }

  html.route-account-register #account-register #content > p {
    margin: 0 0 17px !important;
    color: #70666b !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    text-align: center !important;
  }

  html.route-account-register #account-register #content > p a {
    color: #79253d !important;
    font-weight: 700 !important;
  }

  html.route-account-register #account-register .register-form {
    width: 100% !important;
  }

  html.route-account-register #account-register .register-form #account,
  html.route-account-register #account-register .register-form fieldset {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  html.route-account-register #account-register .register-form fieldset {
    margin-top: 22px !important;
    padding-top: 22px !important;
    border-top: 1px solid #eee5e6 !important;
  }

  html.route-account-register #account-register .register-form legend {
    width: 100% !important;
    margin: 0 0 17px !important;
    padding: 0 !important;
    border: 0 !important;
    color: #412d35 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
  }

  html.route-account-register #account-register .register-form .form-group {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 0 15px !important;
    padding: 0 !important;
  }

  html.route-account-register #account-register .register-form .form-group > .col-sm-10 {
    display: block !important;
    flex: 0 0 auto !important;
    float: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  html.route-account-register #account-register .register-form .lunoria-newsletter-note {
    margin: 0 0 13px !important;
    color: #49373e !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
  }

  html.route-account-register #account-register .register-form fieldset:last-of-type .form-group {
    margin-bottom: 0 !important;
  }

  html.route-account-register #account-register .register-form .radio-inline {
    color: #49373e !important;
    font-size: 13px !important;
  }

  html.route-account-register #account-register .register-form .buttons {
    padding-top: 20px !important;
    border-top: 1px solid #eee5e6 !important;
  }

  html.route-account-register #account-register .register-form .buttons .pull-right {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: center !important;
    row-gap: 16px !important;
  }

  html.route-account-register #account-register .register-form .buttons input[name="agree"] {
    grid-column: 1 !important;
    margin: 1px 0 0 !important;
  }

  html.route-account-register #account-register .register-form .buttons label[for="lunoria-page-register-agree"] {
    grid-column: 2 !important;
    margin: 0 !important;
    color: #70666b !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    cursor: pointer !important;
  }

  html.route-account-register #account-register .register-form .buttons label a {
    color: #79253d !important;
    font-weight: 700 !important;
  }

  html.route-account-register #account-register .register-form .buttons .btn-primary {
    grid-column: 1 / -1 !important;
  }
}

/* Account logout confirmation */
@media (min-width: 1025px) {
  html.route-account-login #account-login,
  html.route-account-register #account-register {
    display: block !important;
    width: calc(100% - 48px) !important;
    margin: 0 auto !important;
    padding: 24px 0 62px !important;
    box-sizing: border-box !important;
  }

  html.route-account-login #account-login { max-width: 1080px !important; }
  html.route-account-register #account-register { max-width: 940px !important; }

  html.route-account-login #account-login > .row,
  html.route-account-register #account-register > .row,
  html.route-account-login #account-login .login-box {
    margin: 0 !important;
  }

  html.route-account-login #account-login #content,
  html.route-account-register #account-register #content {
    float: none !important;
    width: 100% !important;
    padding: 0 !important;
  }

  html.route-account-login #account-login .login-box {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
  }

  html.route-account-login #account-login .login-box > .col-sm-6 {
    float: none !important;
    width: 100% !important;
    padding: 0 !important;
  }

  html.route-account-login #account-login .login-box > .col-sm-6:last-child { order: 1; }
  html.route-account-login #account-login .login-box > .col-sm-6:first-child { order: 2; }

  html.route-account-login #account-login .well,
  html.route-account-register #account-register .register-form {
    border: 1px solid #eee5e6 !important;
    border-radius: 18px !important;
    background: #fffdfc !important;
    box-shadow: 0 14px 36px rgba(76, 37, 49, .075) !important;
    box-sizing: border-box !important;
  }

  html.route-account-login #account-login .well {
    display: flex !important;
    flex-direction: column !important;
    min-height: 380px !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 32px !important;
  }

  html.route-account-login #account-login .well > h2.title {
    margin: 0 0 20px !important;
    padding: 0 !important;
    color: #412d35 !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
  }

  html.route-account-login #account-login .well > h2.title::after { display: none !important; }
  html.route-account-login #account-login .well > p:not(.lunoria-account-benefits) { display: none !important; }

  html.route-account-login #account-login .lunoria-account-benefits {
    display: block !important;
    max-width: 390px !important;
    margin: 0 !important;
    color: #70666b !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
  }

  html.route-account-login #account-login .login-form {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html.route-account-login #account-login .login-form .form-group {
    margin: 0 0 17px !important;
    padding: 0 !important;
  }

  html.route-account-login #account-login .login-form .control-label,
  html.route-account-register #account-register .register-form .control-label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: #49373e !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    text-align: left !important;
  }

  html.route-account-login #account-login .login-form .form-control,
  html.route-account-register #account-register .register-form .form-control {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 48px !important;
    padding: 0 14px !important;
    border: 1px solid #ded4d7 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #392e33 !important;
    font-size: 15px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  html.route-account-login #account-login .login-form .form-control:focus,
  html.route-account-register #account-register .register-form .form-control:focus {
    border-color: #842e48 !important;
    outline: 3px solid rgba(132, 46, 72, .13) !important;
    outline-offset: 0 !important;
  }

  html.route-account-login #account-login .lunoria-forgot-password {
    margin: 9px 0 0 !important;
    text-align: right !important;
  }

  html.route-account-login #account-login .lunoria-forgot-password a {
    color: #79253d !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
  }

  html.route-account-login #account-login .well .buttons {
    width: 100% !important;
    margin: 20px 0 0 !important;
    padding: 0 !important;
  }

  html.route-account-login #account-login .login-box > .col-sm-6:first-child .buttons {
    margin-top: auto !important;
  }

  html.route-account-login #account-login .well .buttons .pull-right {
    float: none !important;
    width: 100% !important;
  }

  html.route-account-login #account-login .well .buttons .btn-primary,
  html.route-account-register #account-register .register-form .buttons .btn-primary {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 48px !important;
    padding: 0 16px !important;
    border: 1px solid #79253d !important;
    border-radius: 9px !important;
    background: #79253d !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
  }

  html.route-account-login #account-login .well .buttons .btn-primary::after,
  html.route-account-register #account-register .register-form .buttons .btn-primary::after {
    content: none !important;
    display: none !important;
  }

  html.route-account-login #account-login .login-box > .col-sm-6:first-child .btn-primary {
    border-color: #d8c6cc !important;
    background: #fff !important;
    color: #79253d !important;
  }

  html.route-account-register #account-register #content > p {
    margin: 0 0 18px !important;
    color: #70666b !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
  }

  html.route-account-register #account-register #content > p a {
    color: #79253d !important;
    font-weight: 700 !important;
  }

  html.route-account-register #account-register .register-form {
    width: 100% !important;
    margin: 0 !important;
    padding: 34px 38px !important;
  }

  html.route-account-register #account-register .register-form #account,
  html.route-account-register #account-register .register-form fieldset:first-of-type {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 20px !important;
    row-gap: 15px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  html.route-account-register #account-register .register-form fieldset:first-of-type {
    margin-top: 28px !important;
    padding-top: 24px !important;
    border-top: 1px solid #eee5e6 !important;
  }

  html.route-account-register #account-register .register-form #account > legend,
  html.route-account-register #account-register .register-form fieldset:first-of-type > legend,
  html.route-account-register #account-register .register-form #account > .account-customer-group,
  html.route-account-register #account-register .register-form #account > .custom-field {
    grid-column: 1 / -1 !important;
  }

  html.route-account-register #account-register .register-form fieldset {
    width: 100% !important;
    margin: 25px 0 0 !important;
    padding: 23px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid #eee5e6 !important;
  }

  html.route-account-register #account-register .register-form legend {
    width: 100% !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    color: #412d35 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
  }

  html.route-account-register #account-register .register-form .form-group {
    width: 100% !important;
    min-width: 0 !important;
    flex-direction: column !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html.route-account-register #account-register .register-form .form-group > .col-sm-10 {
    display: block !important;
    flex: 0 0 auto !important;
    float: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  html.route-account-register #account-register .register-form .lunoria-newsletter-note {
    margin: 0 0 14px !important;
    color: #49373e !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
  }

  html.route-account-register #account-register .register-form fieldset:last-of-type .form-group {
    display: grid !important;
    grid-template-columns: 120px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 20px !important;
  }

  html.route-account-register #account-register .register-form fieldset:last-of-type .form-group > .control-label {
    width: auto !important;
    margin: 0 !important;
  }

  html.route-account-register #account-register .register-form fieldset:last-of-type .form-group > .col-sm-10 {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    width: 100% !important;
  }

  html.route-account-register #account-register .register-form .radio-inline {
    color: #49373e !important;
    font-size: 13px !important;
  }

  html.route-account-register #account-register .register-form .buttons {
    width: 100% !important;
    margin: 25px 0 0 !important;
    padding: 22px 0 0 !important;
    border-top: 1px solid #eee5e6 !important;
  }

  html.route-account-register #account-register .register-form .buttons .pull-right {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 220px !important;
    align-items: center !important;
    gap: 10px !important;
    float: none !important;
    width: 100% !important;
  }

  html.route-account-register #account-register .register-form .buttons input[name="agree"] {
    grid-column: 1 !important;
    margin: 0 !important;
  }

  html.route-account-register #account-register .register-form .buttons label[for="lunoria-page-register-agree"] {
    grid-column: 2 !important;
    margin: 0 !important;
    color: #70666b !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    cursor: pointer !important;
  }

  html.route-account-register #account-register .register-form .buttons label a {
    color: #79253d !important;
    font-weight: 700 !important;
  }

  html.route-account-register #account-register .register-form .buttons .btn-primary {
    grid-column: 2 !important;
  }
}

/* Password reset page — compact, consistent with the account forms. */
html.route-account-forgotten h1.page-title span::after {
  margin: 10px auto 0 !important;
}

html.route-account-forgotten #account-forgotten {
  display: block !important;
  width: calc(100% - 36px) !important;
  max-width: 620px !important;
  margin: 0 auto !important;
  padding: 28px 0 70px !important;
  box-sizing: border-box !important;
}

html.route-account-forgotten #account-forgotten > .row { margin: 0 !important; }

html.route-account-forgotten #account-forgotten #content {
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
}

html.route-account-forgotten #account-forgotten .lunoria-reset-intro {
  margin: 0 0 20px !important;
  color: #70666b !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

html.route-account-forgotten #account-forgotten form {
  margin: 0 !important;
  padding: 32px !important;
  border: 1px solid #eee5e6 !important;
  border-radius: 18px !important;
  background: #fffdfc !important;
  box-shadow: 0 14px 36px rgba(76, 37, 49, .075) !important;
  box-sizing: border-box !important;
}

html.route-account-forgotten #account-forgotten fieldset {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

html.route-account-forgotten #account-forgotten legend {
  width: 100% !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
  color: #412d35 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

html.route-account-forgotten #account-forgotten .form-group {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
}

html.route-account-forgotten #account-forgotten .form-group > .control-label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: #49373e !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

html.route-account-forgotten #account-forgotten .form-group > .col-sm-10 {
  display: block !important;
  flex: 0 0 auto !important;
  float: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
}

html.route-account-forgotten #account-forgotten .form-control {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 50px !important;
  padding: 0 15px !important;
  border: 1px solid #ded4d7 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #392e33 !important;
  font-size: 16px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

html.route-account-forgotten #account-forgotten .form-control:focus {
  border-color: #842e48 !important;
  outline: 3px solid rgba(132, 46, 72, .13) !important;
  outline-offset: 0 !important;
}

html.route-account-forgotten #account-forgotten .buttons {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  margin: 24px 0 0 !important;
  padding: 0 !important;
}

html.route-account-forgotten #account-forgotten .buttons .pull-left,
html.route-account-forgotten #account-forgotten .buttons .pull-right {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

html.route-account-forgotten #account-forgotten .buttons .btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 158px !important;
  height: 48px !important;
  padding: 0 20px !important;
  border-radius: 9px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .03em !important;
  line-height: normal !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

html.route-account-forgotten #account-forgotten .buttons .btn-default {
  border: 1px solid #d8c6cc !important;
  background: #fff !important;
  color: #79253d !important;
}

html.route-account-forgotten #account-forgotten .buttons .btn-primary {
  min-width: 190px !important;
  border: 1px solid #79253d !important;
  background: #79253d !important;
  color: #fff !important;
}

html.route-account-forgotten #account-forgotten .buttons .btn-primary::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 767px) {
  html.route-account-forgotten #account-forgotten {
    padding: 18px 0 34px !important;
  }

  html.route-account-forgotten #account-forgotten .lunoria-reset-intro {
    margin-bottom: 17px !important;
    font-size: 13px !important;
  }

  html.route-account-forgotten #account-forgotten form {
    padding: 25px 22px !important;
  }

  html.route-account-forgotten #account-forgotten legend {
    font-size: 18px !important;
  }

  html.route-account-forgotten #account-forgotten .buttons {
    flex-direction: column-reverse !important;
    align-items: stretch !important;
    gap: 11px !important;
    margin-top: 20px !important;
  }

  html.route-account-forgotten #account-forgotten .buttons .pull-left,
  html.route-account-forgotten #account-forgotten .buttons .pull-right,
  html.route-account-forgotten #account-forgotten .buttons .btn {
    width: 100% !important;
  }
}

/* Account logout confirmation */
html.route-account-logout .lunoria-logout-page {
  padding: 68px 20px 84px;
  background: #fbf9f8;
}

html.route-account-logout .lunoria-logout-page .container {
  width: 100%;
  max-width: 660px;
  margin: 0 auto;
  padding: 0;
}

html.route-account-logout .lunoria-logout-card {
  padding: 52px 56px 48px;
  border: 1px solid #efe5e7;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 16px 44px rgba(65, 25, 37, .065);
  text-align: center;
}

html.route-account-logout .lunoria-logout-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  margin-bottom: 23px;
  border-radius: 50%;
  background: #f8eff1;
  color: #83263f;
}

html.route-account-logout .lunoria-logout-icon svg {
  display: block;
  width: 45px;
  height: 45px;
}

html.route-account-logout .lunoria-logout-kicker {
  margin: 0 0 11px;
  color: #83263f;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .17em;
  line-height: 1.4;
}

html.route-account-logout .lunoria-logout-card h1 {
  margin: 0 0 15px;
  color: #352e31;
  font-size: clamp(27px, 3vw, 34px);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.2;
}

html.route-account-logout .lunoria-logout-lead {
  margin: 0;
  color: #4e4448;
  font-size: 15px;
  line-height: 1.6;
}

html.route-account-logout .lunoria-logout-note {
  margin: 9px 0 0;
  color: #82777b;
  font-size: 13px;
  line-height: 1.55;
}

html.route-account-logout .lunoria-logout-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  margin-top: 29px;
}

html.route-account-logout .lunoria-logout-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid #81263f;
  border-radius: 9px;
  background: #81263f;
  color: #fff !important;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

html.route-account-logout .lunoria-logout-primary:hover,
html.route-account-logout .lunoria-logout-primary:focus-visible {
  border-color: #652035;
  background: #652035;
  transform: translateY(-1px);
}

html.route-account-logout .lunoria-logout-primary span {
  font-size: 18px;
  line-height: 1;
}

html.route-account-logout .lunoria-logout-secondary {
  color: #782a43 !important;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
}

html.route-account-logout .lunoria-logout-secondary:hover,
html.route-account-logout .lunoria-logout-secondary:focus-visible {
  text-decoration: underline !important;
}

@media (max-width: 600px) {
  html.route-account-logout .lunoria-logout-page {
    padding: 36px 16px 60px;
  }

  html.route-account-logout .lunoria-logout-card {
    padding: 38px 24px 36px;
  }

  html.route-account-logout .lunoria-logout-actions {
    flex-direction: column;
    gap: 18px;
  }

  html.route-account-logout .lunoria-logout-primary {
    width: 100%;
  }
}

/* Registration popup: clear two-column form, consistent with sign-in. */
.popup-wrapper.popup-register .popup-bg {
  background: rgba(29, 16, 23, .62) !important;
}

.popup-wrapper.popup-register .popup-container {
  width: min(620px, calc(100vw - 32px)) !important;
  max-width: 620px !important;
  height: auto !important;
  max-height: calc(100vh - 40px) !important;
  border-radius: 18px !important;
  box-shadow: 0 24px 70px rgba(30, 12, 20, .24) !important;
}

.popup-wrapper.popup-register .popup-body,
.popup-wrapper.popup-register .popup-inner-body {
  height: auto !important;
  max-height: calc(100vh - 40px) !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}

.popup-wrapper.popup-register iframe {
  display: block;
  width: 100% !important;
  max-height: calc(100vh - 40px) !important;
  border: 0;
}

.popup-wrapper.popup-register .popup-close {
  top: 18px !important;
  right: 18px !important;
  z-index: 100 !important;
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  transform: none !important;
  border-radius: 50% !important;
  background: #f7f1f2 !important;
  color: #713348 !important;
}

html.popup-register {
  padding: 0 !important;
}

html.popup-register #lunoria-annbar,
html.popup-register #lunoria-annbar-spacer {
  display: none !important;
}

html.popup-register body {
  width: 100% !important;
  margin: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  background: #fffdfc !important;
}

html.popup-register .site-wrapper {
  display: block !important;
  padding: 30px 34px 28px !important;
  background: #fffdfc !important;
}

html.popup-register .lunoria-register-heading {
  margin: 0 40px 23px 0;
}

html.popup-register .lunoria-register-heading h2 {
  margin: 0 0 5px !important;
  padding: 0 !important;
  border: 0 !important;
  color: #3c2830 !important;
  font-size: 23px !important;
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
  line-height: 1.3 !important;
}

html.popup-register .lunoria-register-heading p {
  display: block !important;
  margin: 0 !important;
  color: #786e72 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

html.popup-register .register-form {
  width: 100% !important;
}

html.popup-register .register-form #account,
html.popup-register .register-form > fieldset:first-of-type {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 16px !important;
  row-gap: 15px !important;
  width: 100% !important;
  min-width: 0 !important;
}

html.popup-register .register-form #account > legend,
html.popup-register .register-form > fieldset:first-of-type > legend,
html.popup-register .register-form #account > .account-customer-group,
html.popup-register .register-form #account > .custom-field {
  grid-column: 1 / -1 !important;
}

html.popup-register .register-form fieldset {
  width: 100% !important;
  margin: 22px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

html.popup-register .register-form legend {
  display: block !important;
  width: 100% !important;
  margin: 0 0 2px !important;
  padding: 0 !important;
  border: 0 !important;
  color: #49373e !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  line-height: 1.5 !important;
}

html.popup-register .register-form .form-group {
  display: flex;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

html.popup-register .register-form .form-group > .control-label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  color: #45363c !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

html.popup-register .register-form .form-group > .col-sm-10 {
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

html.popup-register .register-form .form-control {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 44px !important;
  padding: 0 13px !important;
  border: 1px solid #ded4d7 !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #382d31 !important;
  font-size: 13px !important;
  box-shadow: none !important;
}

html.popup-register .register-form .form-control::placeholder {
  color: #a79da1 !important;
}

html.popup-register .register-form .form-control:focus {
  border-color: #822e48 !important;
  outline: 2px solid rgba(130, 46, 72, .13) !important;
  outline-offset: 0 !important;
}

html.popup-register .lunoria-register-password-field {
  position: relative;
  display: block !important;
  flex: 0 0 44px !important;
  width: 100% !important;
  height: 44px !important;
  min-height: 0 !important;
}

html.popup-register .lunoria-register-password-field .form-control {
  padding-right: 59px !important;
}

html.popup-register .lunoria-register-password-toggle {
  position: absolute;
  top: 4px;
  right: 5px;
  width: 50px;
  height: 36px !important;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #7c3048;
  font-size: 0 !important;
  font-weight: 700;
  cursor: pointer;
}

html.popup-register .lunoria-register-password-toggle::after {
  content: 'Show';
  font-size: 12px;
}

html.popup-register .lunoria-register-password-toggle[aria-pressed="true"]::after {
  content: 'Hide';
}

html.popup-register .lunoria-register-password-toggle:hover,
html.popup-register .lunoria-register-password-toggle:focus-visible {
  background: #f7eff1;
  outline: none;
}

html.popup-register .register-form > fieldset:nth-of-type(2) {
  padding-top: 18px !important;
  border-top: 1px solid #eee5e7 !important;
}

html.popup-register .register-form > fieldset:nth-of-type(2) .lunoria-newsletter-note {
  display: block !important;
  margin: 4px 0 11px !important;
  color: #786e72 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}

html.popup-register .register-form > fieldset:nth-of-type(2) .form-group > .col-sm-10 {
  display: flex !important;
  align-items: center !important;
  gap: 22px !important;
}

html.popup-register .register-form .radio-inline {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #49373e !important;
  font-size: 12px !important;
}

html.popup-register .register-form .radio-inline input,
html.popup-register .lunoria-register-consent input {
  margin: 0 !important;
  accent-color: #81263f;
}

html.popup-register .register-form .buttons {
  display: block !important;
  width: 100% !important;
  margin: 22px 0 0 !important;
  padding: 0 !important;
}

html.popup-register .lunoria-register-consent {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-bottom: 17px;
}

html.popup-register .lunoria-register-consent input {
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
  margin-top: 1px !important;
}

html.popup-register .lunoria-register-consent label {
  margin: 0 !important;
  color: #675d61 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

html.popup-register .lunoria-register-consent a,
html.popup-register .lunoria-register-signin a {
  color: #782a43 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

html.popup-register .lunoria-register-consent a b {
  font-size: 12px !important;
  font-weight: 700 !important;
}

html.popup-register .lunoria-register-consent a:hover,
html.popup-register .lunoria-register-signin a:hover {
  text-decoration: underline !important;
}

html.popup-register .register-form .buttons > .btn-primary,
html.popup-register .register-form .buttons .pull-right > .btn-primary {
  display: block !important;
  width: 100% !important;
  height: 48px !important;
  border: 1px solid #79253d !important;
  border-radius: 9px !important;
  background: #79253d !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

html.popup-register .register-form .buttons .btn-primary:hover,
html.popup-register .register-form .buttons .btn-primary:focus-visible {
  border-color: #622035 !important;
  background: #622035 !important;
}

html.popup-register .lunoria-register-signin {
  display: block !important;
  margin: 16px 0 0 !important;
  color: #786e72 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

@media (max-width: 640px) {
  .popup-wrapper.popup-register .popup-container {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }
}

@media (max-width: 500px) {
  html.popup-register .site-wrapper {
    padding: 26px 23px 25px !important;
  }

  html.popup-register .register-form #account,
  html.popup-register .register-form > fieldset:first-of-type {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Registration details: matched section headings, calm controls and clear consent. */
html.route-account-register #account-register .register-form #account > legend,
html.route-account-register #account-register .register-form fieldset > legend {
  color: #412d35 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

html.route-account-register #account-register .register-form fieldset:last-of-type .form-group > .control-label {
  align-self: center !important;
  order: 0 !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  padding: 0 !important;
  line-height: 1.35 !important;
}

html.route-account-register #account-register .register-form fieldset:last-of-type .form-group > .col-sm-10 {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  order: 1 !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
}

html.route-account-register #account-register .register-form .radio-inline,
html.popup-register .register-form .radio-inline {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.35 !important;
  cursor: pointer !important;
  transform: none !important;
  transition: none !important;
}

html.route-account-register #account-register .register-form .radio-inline:hover,
html.popup-register .register-form .radio-inline:hover {
  transform: none !important;
  color: #49373e !important;
}

html.route-account-register #account-register .register-form input[type="radio"][name="newsletter"],
html.popup-register .register-form input[type="radio"][name="newsletter"] {
  flex: 0 0 auto !important;
  transform: none !important;
  transition: border-color .15s ease, box-shadow .15s ease !important;
}

html.route-account-register #account-register .register-form input[type="radio"][name="newsletter"]:hover,
html.popup-register .register-form input[type="radio"][name="newsletter"]:hover {
  transform: none !important;
  box-shadow: 0 0 0 3px rgba(121, 37, 61, .1) !important;
}

html.route-account-register #account-register .register-form .lunoria-register-consent-note,
html.popup-register .register-form .lunoria-register-consent-note {
  margin: 0 !important;
  color: #70666b !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

html.route-account-register #account-register .register-form .lunoria-register-consent-note a,
html.popup-register .register-form .lunoria-register-consent-note a {
  color: #79253d !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

html.route-account-register #account-register .register-form .buttons .lunoria-register-consent-note {
  grid-column: 1 !important;
}

html.popup-register .register-form .buttons .lunoria-register-consent-note {
  margin-bottom: 16px !important;
}

html.popup-register .register-form > fieldset:nth-of-type(2) .form-group {
  display: grid !important;
  grid-template-columns: 100px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 12px !important;
}

html.popup-register .register-form > fieldset:nth-of-type(2) .form-group > .control-label,
html.popup-register .register-form > fieldset:nth-of-type(2) .form-group > .col-sm-10 {
  width: 100% !important;
  margin: 0 !important;
}

html.popup-register .register-form > fieldset:nth-of-type(2) .form-group > .control-label {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

html.popup-register .register-form > fieldset:nth-of-type(2) .form-group > .col-sm-10 {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

html.popup-register .register-form .radio-inline,
html.popup-register .register-form .radio-inline:hover,
html.popup-register .register-form .radio-inline:focus-within,
html.popup-register .register-form .form-group .radio-inline:has(input[type="radio"]:checked) {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  html.route-account-register #account-register .register-form fieldset:last-of-type .form-group {
    display: grid !important;
    grid-template-columns: 95px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
  }

  html.route-account-register #account-register .register-form fieldset:last-of-type .form-group > .control-label,
  html.route-account-register #account-register .register-form fieldset:last-of-type .form-group > .col-sm-10 {
    width: 100% !important;
    margin: 0 !important;
  }

  html.route-account-register #account-register .register-form .buttons .lunoria-register-consent-note {
    grid-column: 1 / -1 !important;
  }
}

/* Order history: legible order summaries across desktop and mobile. */
html.route-account-order #account-order {
  width: calc(100% - 40px) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 20px 0 72px !important;
  box-sizing: border-box !important;
}

html.route-account-order #account-order > .row { margin: 0 !important; }
html.route-account-order #account-order #content { float: none !important; width: 100% !important; padding: 0 !important; }

html.route-account-order #account-order .lunoria-order-intro {
  margin: 0 0 20px !important;
  color: #70666b !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}

html.route-account-order #account-order .table-responsive {
  overflow-x: auto !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 1px solid #eee5e6 !important;
  border-radius: 16px !important;
  background: #fffdfc !important;
  box-shadow: 0 12px 32px rgba(76, 37, 49, .07) !important;
}

html.route-account-order #account-order .table-responsive .table {
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: collapse !important;
}

html.route-account-order #account-order .table-responsive thead th {
  padding: 16px 17px !important;
  border: 0 !important;
  border-bottom: 1px solid #eee5e6 !important;
  background: #faf5f6 !important;
  color: #705860 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .07em !important;
  text-align: left !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

html.route-account-order #account-order .table-responsive tbody td {
  padding: 20px 17px !important;
  border: 0 !important;
  border-bottom: 1px solid #f1e9eb !important;
  background: #fffdfc !important;
  color: #493d42 !important;
  font-size: 14px !important;
  text-align: left !important;
  vertical-align: middle !important;
}

html.route-account-order #account-order .table-responsive tbody tr:last-child td { border-bottom: 0 !important; }
html.route-account-order #account-order .table-responsive tbody tr:hover td { background: #fcf8f9 !important; }
html.route-account-order #account-order .lunoria-order-number,
html.route-account-order #account-order .lunoria-order-total { color: #412d35 !important; font-weight: 700 !important; white-space: nowrap !important; }
html.route-account-order #account-order .lunoria-order-date { color: #70666b !important; white-space: nowrap !important; }

html.route-account-order #account-order .lunoria-order-status,
html.route-account-order #account-order .order-status {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-height: 29px !important;
  padding: 5px 11px !important;
  border: 1px solid #e9d9dd !important;
  border-radius: 999px !important;
  background: #f8eef1 !important;
  color: #782b43 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

html.route-account-order #account-order .lunoria-order-action-cell { text-align: right !important; white-space: nowrap !important; }
html.route-account-order #account-order .lunoria-order-view {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-height: 40px !important;
  padding: 0 16px !important;
  border: 1px solid #81263f !important;
  border-radius: 10px !important;
  background: #81263f !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  transition: background-color .16s ease, border-color .16s ease !important;
}
html.route-account-order #account-order .lunoria-order-view:hover,
html.route-account-order #account-order .lunoria-order-view:focus-visible {
  border-color: #692038 !important;
  background: #692038 !important;
  color: #fff !important;
  outline: none !important;
}
html.route-account-order #account-order .lunoria-order-view:focus-visible { box-shadow: 0 0 0 3px rgba(129, 38, 63, .16) !important; }

html.route-account-order #account-order .pagination-results {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin: 0 !important;
  color: #81777b !important;
  font-size: 12px !important;
}
html.route-account-order #account-order .pagination-results > div { float: none !important; width: auto !important; padding: 0 !important; }
html.route-account-order #account-order .buttons { margin: 24px 0 0 !important; padding: 0 !important; }
html.route-account-order #account-order .buttons .pull-right { float: none !important; width: auto !important; text-align: left !important; }
html.route-account-order #account-order .buttons .lunoria-order-back {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  width: auto !important;
  min-height: 43px !important;
  padding: 0 18px !important;
  border: 1px solid #e4dadd !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #6b2b3e !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .03em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}
html.route-account-order #account-order .buttons .lunoria-order-back:hover { background: #faf4f6 !important; }

html.route-account-order #account-order .lunoria-order-empty {
  padding: 46px 24px !important;
  border: 1px solid #eee5e6 !important;
  border-radius: 16px !important;
  background: #fffdfc !important;
  color: #70666b !important;
  text-align: center !important;
}
html.route-account-order #account-order .lunoria-order-empty i { display: block !important; margin-bottom: 14px !important; color: #a56d7d !important; font-size: 30px !important; }
html.route-account-order #account-order .lunoria-order-empty p { margin: 0 !important; }

@media (max-width: 1024px) {
  html.route-account-order #account-order { width: calc(100% - 36px) !important; padding: 22px 0 56px !important; }
  html.route-account-order #account-order .lunoria-order-intro { font-size: 13px !important; }
  html.route-account-order #account-order .order-card {
    margin: 0 0 14px !important;
    padding: 19px !important;
    border: 1px solid #eee5e6 !important;
    border-radius: 16px !important;
    background: #fffdfc !important;
    box-shadow: 0 10px 28px rgba(76, 37, 49, .07) !important;
  }
  html.route-account-order #account-order .order-top { align-items: flex-start !important; margin: 0 0 16px !important; }
  html.route-account-order #account-order .lunoria-order-eyebrow { display: block !important; margin-bottom: 4px !important; color: #8a797f !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .08em !important; text-transform: uppercase !important; }
  html.route-account-order #account-order .order-id { color: #412d35 !important; font-size: 23px !important; line-height: 1.1 !important; }
  html.route-account-order #account-order .order-body { display: grid !important; gap: 10px !important; margin: 0 0 17px !important; font-size: 13px !important; }
  html.route-account-order #account-order .order-body > div { display: flex !important; align-items: baseline !important; justify-content: space-between !important; gap: 14px !important; }
  html.route-account-order #account-order .order-body span { color: #81777b !important; }
  html.route-account-order #account-order .order-body strong { max-width: 65% !important; color: #493d42 !important; font-weight: 600 !important; text-align: right !important; }
  html.route-account-order #account-order .order-body .lunoria-order-mobile-total { margin-top: 4px !important; padding-top: 12px !important; border-top: 1px solid #f1e9eb !important; }
  html.route-account-order #account-order .order-body .lunoria-order-mobile-total strong { color: #412d35 !important; font-size: 16px !important; font-weight: 700 !important; }
  html.route-account-order #account-order .order-action .lunoria-order-view { display: flex !important; width: 100% !important; min-height: 44px !important; }
  html.route-account-order #account-order .pagination-results .text-right { width: auto !important; font-size: 12px !important; text-align: left !important; }
  html.route-account-order #account-order .buttons .pull-right { width: auto !important; }
  html.route-account-order #account-order .buttons .pull-right .lunoria-order-back { width: auto !important; }
}

/* LUNORIA_MOBILE_CATEGORY_MENU_V201 */
@media (max-width: 1024px) {
  html.mobile-header-active .mobile-main-menu-container,
  html.mobile-header-active .mobile-main-menu-wrapper,
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu {
    background: #fffdfc !important;
  }

  html.mobile-header-active .mobile-main-menu-container .mobile-wrapper-header {
    height: 54px !important;
    padding: 0 18px !important;
    border-bottom: 1px solid #f0e7e9 !important;
    background: #fffdfc !important;
  }

  html.mobile-header-active .mobile-main-menu-container .mobile-wrapper-header > span {
    color: #53323d !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper {
    padding: 12px 12px 80px !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item {
    margin: 0 0 2px !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: transparent !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item:not(.main-menu-item-14):not(.lunoria-mobile-all-products) > a,
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item:not(.main-menu-item-14):not(.lunoria-mobile-all-products) > a:hover,
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item:not(.main-menu-item-14):not(.lunoria-mobile-all-products) > a:focus,
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item:not(.main-menu-item-14):not(.lunoria-mobile-all-products) > a:active {
    min-height: 58px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #49363d !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    box-shadow: none !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item:is(.main-menu-item-3, .main-menu-item-4, .main-menu-item-5, .main-menu-item-6, .main-menu-item-7, .main-menu-item-8, .main-menu-item-9, .main-menu-item-10, .main-menu-item-11, .main-menu-item-12) > a {
    position: relative !important;
    padding: 0 48px 0 65px !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item:is(.main-menu-item-3, .main-menu-item-4, .main-menu-item-5, .main-menu-item-6, .main-menu-item-7, .main-menu-item-8, .main-menu-item-9, .main-menu-item-10, .main-menu-item-11, .main-menu-item-12) > a::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 50% !important;
    left: 8px !important;
    width: 42px !important;
    height: 42px !important;
    border: 1px solid #f0e7e9 !important;
    border-radius: 9px !important;
    background-color: #fff !important;
    background-image: var(--lunoria-menu-image) !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-3 { --lunoria-menu-image: url('/image/catalog/lunoria/menu/vibrators.webp'); }
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-4 { --lunoria-menu-image: url('/image/catalog/lunoria/menu/dildos.webp'); }
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-5 { --lunoria-menu-image: url('/image/catalog/lunoria/menu/anal-toys.webp'); }
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-6 { --lunoria-menu-image: url('/image/catalog/lunoria/menu/sexual-wellness.webp'); }
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-7 { --lunoria-menu-image: url('/image/catalog/lunoria/menu/mens-toys.webp'); }
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-8 { --lunoria-menu-image: url('/image/catalog/lunoria/menu/bdsm.webp'); }
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-9 { --lunoria-menu-image: url('/image/catalog/lunoria/menu/lubricants.webp'); }
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-10 { --lunoria-menu-image: url('/image/catalog/lunoria/menu/lingerie.webp'); }
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-11 { --lunoria-menu-image: url('/image/catalog/lunoria/menu/games-gifts.webp'); }
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-12 { --lunoria-menu-image: url('/image/catalog/lunoria/menu/accessories.webp'); }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-1 > a {
    min-height: 42px !important;
    padding-left: 14px !important;
    color: #7b6870 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .05em !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > :is(.main-menu-item-2, .lunoria-mobile-all-products) {
    margin: 2px 0 11px !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > :is(.main-menu-item-2, .lunoria-mobile-all-products) > a,
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > :is(.main-menu-item-2, .lunoria-mobile-all-products) > a:hover,
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > :is(.main-menu-item-2, .lunoria-mobile-all-products).active > a {
    min-height: 46px !important;
    padding: 0 14px !important;
    border: 1px solid #f0e4e7 !important;
    border-radius: 10px !important;
    background: #f9f4f5 !important;
    color: #71394b !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
  }

  /* Match the old, highly specific neutral-row rule on the standard mobile menu. */
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item.main-menu-item-2:not(.main-menu-item-14):not(.lunoria-mobile-all-products) > a,
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item.main-menu-item-2:not(.main-menu-item-14):not(.lunoria-mobile-all-products) > a:hover,
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item.main-menu-item-2:not(.main-menu-item-14):not(.lunoria-mobile-all-products) > a:focus {
    min-height: 46px !important;
    border: 1px solid #f0e4e7 !important;
    border-radius: 10px !important;
    background: #f9f4f5 !important;
    color: #71394b !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-14 {
    margin: 0 0 8px !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-14 > a,
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-14 > a:hover,
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-14.active > a {
    min-height: 44px !important;
    padding: 0 14px !important;
    border: 1px solid #f2e7e9 !important;
    border-radius: 10px !important;
    background: #fcf9f9 !important;
    color: #85546a !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-14 > a .links-text {
    font-weight: 700 !important;
    letter-spacing: .04em !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item-14 > a::after {
    display: none !important;
    content: none !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item.dropdown.open > a,
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item.dropdown.open > a:hover,
  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item.dropdown.open > a:focus {
    background: #faf3f5 !important;
    color: #71394b !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu > .j-menu > .main-menu-item.dropdown.open > :is(.collapse, .collapsing) {
    margin: 0 0 8px !important;
    border-radius: 0 0 10px 10px !important;
    background: #faf6f7 !important;
  }

  html.mobile-header-active .mobile-main-menu-wrapper .main-menu .open-menu {
    color: #816f75 !important;
  }

  html.mobile.mobile-header-active .mobile-main-menu-container .mobile-main-menu-wrapper #main-menu.main-menu-3 > .j-menu > .main-menu-item-2 > a,
  html.mobile.mobile-header-active .mobile-main-menu-container .mobile-main-menu-wrapper #main-menu.main-menu-3 > .j-menu > .main-menu-item-2 > a:hover {
    background: #f9f4f5 !important;
    color: #71394b !important;
  }

  html.mobile.mobile-header-active .mobile-main-menu-container .mobile-main-menu-wrapper #main-menu.main-menu-3 > .j-menu > .lunoria-mobile-all-products > a,
  html.mobile.mobile-header-active .mobile-main-menu-container .mobile-main-menu-wrapper #main-menu.main-menu-3 > .j-menu > .lunoria-mobile-all-products > a:hover {
    min-height: 46px !important;
    border: 1px solid #f0e4e7 !important;
    border-radius: 10px !important;
    background: #f9f4f5 !important;
    color: #71394b !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
  }

  html.mobile.mobile-header-active .mobile-main-menu-container .mobile-main-menu-wrapper #main-menu.main-menu-3 > .j-menu > .main-menu-item-14 > a,
  html.mobile.mobile-header-active .mobile-main-menu-container .mobile-main-menu-wrapper #main-menu.main-menu-3 > .j-menu > .main-menu-item-14 > a:hover {
    min-height: 44px !important;
    padding: 0 14px !important;
    border: 1px solid #f2e7e9 !important;
    border-radius: 10px !important;
    background: #fcf9f9 !important;
    color: #85546a !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
  }

  html.mobile.mobile-header-active .mobile-main-menu-container .mobile-main-menu-wrapper #main-menu.main-menu-3 > .j-menu > .main-menu-item-14 > a::after {
    display: none !important;
    content: none !important;
  }
}

/* Editorial and service pages: a quieter, consistent reading experience. */
html.route-information-information #content > .content {
  width: min(100%, 980px);
  margin: 24px auto 64px;
  padding: 38px clamp(24px, 4vw, 58px) 50px;
  border: 1px solid #eee5e7;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(58, 27, 37, .055);
  box-sizing: border-box;
}

html.route-information-information #content > .content p,
html.route-information-information #content > .content li {
  color: #51474b !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  letter-spacing: 0 !important;
}

html.route-information-information #content > .content p {
  margin: 0 0 16px !important;
}

html.route-information-information #content > .content p.p1:has(> span.s1:empty),
html.route-information-information #content > .content p.p2:has(> br:only-child) {
  display: none !important;
}

html.route-information-information #content > .content h2,
html.route-information-information #content > .content h3 {
  color: #402b33 !important;
  font-size: 25px !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
  margin: 32px 0 18px !important;
  padding: 0 0 13px !important;
  border-bottom: 1px solid #eee5e7;
}

html.route-information-information #content > .content h3 {
  font-size: 21px !important;
}

html.route-information-information #content > .content :is(h2, h3) > b {
  font-size: inherit !important;
  font-weight: inherit !important;
}

html.route-information-information #content > .content :is(ul, ol) {
  margin: 0 0 18px;
  padding-left: 24px;
}

html.route-information-information #content > .content li {
  padding: 2px 0;
}

html.route-information-information #content > .content hr {
  height: 1px;
  margin: 22px 0;
  border: 0;
  background: #eee5e7;
}

html.route-information-information #content > .content a {
  color: #7b263c;
  text-underline-offset: 3px;
}

html.information-3 #content > .content > h2:has(> div) {
  margin: 0 0 22px !important;
  padding: 0 !important;
  border: 0 !important;
}

html.information-3 #content > .content > h2:has(> div) p {
  color: #806d75 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

html.information-8 #content > .content .p3 {
  margin: 24px 0 6px !important;
  padding: 15px 18px;
  border: 1px solid #f0e6e8;
  border-left: 3px solid #84263f;
  border-radius: 10px;
  background: #faf6f7;
}

html.information-8 #content > .content .p3 b {
  color: #402b33;
  font-size: 17px;
}

/* Contact: readable details and genuinely full-width form controls. */
html.route-information-contact .module-title-302 {
  max-width: 850px;
  margin: 22px auto 30px;
}

html.route-information-contact .module-title-302 .subtitle {
  display: block;
  width: min(100%, 620px);
  margin: 0 auto;
}

html.route-information-contact .module-title-302 .subtitle > div {
  max-width: 850px !important;
  margin: 22px auto 0 !important;
  padding: 23px 28px;
  border: 1px solid #eee5e7;
  border-radius: 16px;
  background: #faf7f8;
  color: #51474b !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
  box-sizing: border-box;
}

html.route-information-contact .module-form-20 {
  max-width: 850px;
  margin: 0 auto 64px;
  padding: 32px clamp(20px, 4vw, 44px) 36px;
  border: 1px solid #eee5e7;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(58, 27, 37, .055);
  box-sizing: border-box;
}

html.route-information-contact .module-form-20 .module-title {
  margin: 0 0 22px;
  color: #402b33;
  font-size: 24px;
  line-height: 1.3;
}

html.route-information-contact .module-form-20 .form-group {
  display: block;
  margin: 0 0 18px;
}

html.route-information-contact .module-form-20 .control-label,
html.route-information-contact .module-form-20 .form-group > .col-sm-10 {
  display: block;
  float: none;
  width: 100%;
  max-width: none;
  padding: 0;
  text-align: left;
}

html.route-information-contact .module-form-20 .control-label {
  margin: 0 0 7px;
  color: #45343b;
  font-size: 14px;
  font-weight: 700;
}

html.route-information-contact .module-form-20 .form-control {
  width: 100%;
  max-width: none !important;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #ded4d7;
  border-radius: 9px;
  background: #fff;
  box-sizing: border-box;
}

html.route-information-contact .module-form-20 textarea.form-control {
  min-height: 150px;
  resize: vertical;
}

html.route-information-contact .module-form-20 .form-control:focus {
  border-color: #84263f;
  box-shadow: 0 0 0 3px rgba(132, 38, 63, .12);
}

html.route-information-contact .module-form-20 .buttons .pull-right {
  float: none !important;
  text-align: right;
}

html.route-information-contact .module-form-20 .buttons .btn-primary {
  min-width: 180px;
  min-height: 48px;
  border-radius: 10px;
}

/* Site map: make the category tree scannable without changing any links. */
html.route-information-sitemap #content > .row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin: 22px 0 64px;
}

html.route-information-sitemap #content > .row > .col-sm-6 {
  float: none;
  width: auto;
  min-width: 0;
  padding: 26px 30px;
  border: 1px solid #eee5e7;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(58, 27, 37, .05);
}

html.route-information-sitemap #content ul {
  margin: 0;
  padding-left: 19px;
  list-style: none;
}

html.route-information-sitemap #content > .row > .col-sm-6 > ul {
  padding-left: 0;
}

html.route-information-sitemap #content li {
  padding: 4px 0;
  line-height: 1.45;
}

html.route-information-sitemap #content li a {
  color: #51474b;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}

html.route-information-sitemap #content > .row > .col-sm-6 > ul > li > a {
  color: #6e2639;
  font-size: 16px;
  font-weight: 700;
}

html.route-information-sitemap #content li a:hover {
  color: #84263f;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Brand directory: compact alphabet and consistent logo tiles. */
html.route-product-manufacturer #content > p:first-of-type {
  margin: 22px 0 28px;
  padding: 16px 20px;
  border: 1px solid #eee5e7;
  border-radius: 14px;
  background: #faf7f8;
  font-size: 0;
  line-height: 1.8;
}

html.route-product-manufacturer #content > p:first-of-type strong {
  margin-right: 12px;
  font-size: 16px;
}

html.route-product-manufacturer #content > p:first-of-type a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  margin: 3px 2px;
  border-radius: 8px;
  color: #6e2639;
  font-size: 14px;
  text-decoration: none;
}

html.route-product-manufacturer #content > p:first-of-type a:hover,
html.route-product-manufacturer #content > p:first-of-type a:focus-visible {
  background: #84263f;
  color: #fff;
}

html.route-product-manufacturer #content .manufacturer-letter {
  margin: 28px 0 15px;
  padding: 0 0 9px;
  border-bottom: 1px solid #eee5e7;
  color: #552d3a;
  font-size: 22px;
  scroll-margin-top: 120px;
}

html.route-product-manufacturer #content .manufacturer {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 32px;
}

html.route-product-manufacturer #content .manufacturer > div {
  float: none;
  width: auto;
  min-width: 0;
  margin: 0;
}

html.route-product-manufacturer #content .manufacturer .image-card {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 170px;
  height: 100%;
  padding: 18px 12px;
  border: 1px solid #eee5e7;
  border-radius: 13px;
  background: #fff;
  color: #45343b;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

html.route-product-manufacturer #content .manufacturer .image-card:hover {
  border-color: #ccabb4;
  box-shadow: 0 10px 22px rgba(58, 27, 37, .09);
  transform: translateY(-2px);
}

html.route-product-manufacturer #content .manufacturer .image-card img {
  display: block;
  width: 100px;
  height: 100px;
  max-width: 100%;
  object-fit: contain;
}

html.route-product-manufacturer #content .manufacturer .image-card span {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}

/* Blog: editorial cards with legible summaries. */
html.route-journal3-blog .main-posts.post-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 22px 0 40px;
}

html.route-journal3-blog .main-posts.post-list .post-layout {
  float: none;
  width: auto;
  min-width: 0;
  margin: 0;
}

html.route-journal3-blog .main-posts.post-list .post-thumb {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 1px solid #eee5e7;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(58, 27, 37, .06);
}

html.route-journal3-blog .main-posts.post-list .post-thumb > .image,
html.route-journal3-blog .main-posts.post-list .post-thumb > .image > a {
  display: block;
  width: 100%;
}

html.route-journal3-blog .main-posts.post-list .post-thumb > .image img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

html.route-journal3-blog .main-posts.post-list .post-thumb .caption {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 12px;
  padding: 22px;
}

html.route-journal3-blog .main-posts.post-list .post-thumb .name a {
  color: #402b33;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
}

html.route-journal3-blog .main-posts.post-list .post-thumb .description {
  color: #71656a;
  font-size: 14px;
  line-height: 1.55;
}

html.route-journal3-blog .main-posts.post-list .post-thumb .button-group {
  margin-top: auto;
}

@media (max-width: 1024px) {
  html.route-journal3-blog .main-posts.post-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html.route-product-manufacturer #content .manufacturer {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  html.route-information-information #content > .content {
    margin: 18px auto 42px;
    padding: 24px 20px 32px;
    border-radius: 14px;
  }

  html.route-information-information #content > .content p,
  html.route-information-information #content > .content li {
    font-size: 15px !important;
    line-height: 1.7 !important;
  }

  html.route-information-information #content > .content h2 {
    font-size: 22px !important;
  }

  html.route-information-information #content > .content h3 {
    font-size: 19px !important;
  }

  html.route-information-contact .module-title-302 {
    margin: 18px 20px 20px;
  }

  html.route-information-contact .module-title-302 .subtitle > div {
    padding: 18px 20px;
    text-align: left;
  }

  html.route-information-contact .module-form-20 {
    margin: 0 20px 42px;
    padding: 24px 20px;
  }

  html.route-information-contact .module-form-20 .buttons .btn-primary {
    width: 100%;
  }

  html.route-information-sitemap #content > .row {
    grid-template-columns: 1fr;
    gap: 14px;
    margin: 18px 0 42px;
  }

  html.route-information-sitemap #content > .row > .col-sm-6 {
    padding: 20px;
  }

  html.route-product-manufacturer #content .manufacturer {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  html.route-product-manufacturer #content .manufacturer .image-card {
    min-height: 148px;
    padding: 14px 8px;
  }

  html.route-journal3-blog .main-posts.post-list {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  html.route-journal3-blog .main-posts.post-list .post-thumb > .image img {
    height: 210px;
  }
}

/* Desktop catalogue List view: consistent images, concise copy and clear actions. */
@media (min-width: 1025px) {
  html:not(.mobile-header-active) body #content .main-products.product-list {display:flex!important;flex-direction:column!important;gap:14px!important}
  html:not(.mobile-header-active) body #content .main-products.product-list > .product-layout {width:100%!important;margin:0!important;padding:0!important;border:0!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .product-thumb {display:grid!important;grid-template-columns:168px minmax(0,1fr)!important;gap:22px!important;align-items:center!important;margin:0!important;padding:18px!important;border:1px solid #eadfe4!important;border-radius:14px!important;background:#fff!important;box-shadow:0 3px 12px rgba(78,36,53,.035)!important;overflow:hidden}
  html:not(.mobile-header-active) body #content .main-products.product-list .product-thumb:hover {border-color:#d7bbc7!important;box-shadow:0 5px 18px rgba(78,36,53,.07)!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .product-thumb > .image {width:168px!important;max-width:168px!important;height:168px!important;flex:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:10px!important;overflow:hidden;background:#fff!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .image .product-img,
  html:not(.mobile-header-active) body #content .main-products.product-list .image .product-img > div {display:block!important;width:100%!important;height:168px!important;padding:0!important;background:#fff!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .image img {width:100%!important;height:168px!important;object-fit:contain!important;border:0!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .caption {display:grid!important;grid-template-columns:minmax(0,1fr) 206px!important;grid-template-rows:auto auto 1fr auto!important;column-gap:24px!important;row-gap:7px!important;align-content:center!important;width:auto!important;min-width:0!important;min-height:148px!important;margin:0!important;padding:0!important;text-align:left!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .caption > .stats {grid-column:1;grid-row:1;margin:0!important;padding:0!important;font-size:11px!important;line-height:1.4!important;color:#88717c!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .stats a {color:#88717c!important;text-decoration:none!important;font-size:inherit!important;font-weight:500!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .caption > .name {grid-column:1;grid-row:2;margin:0!important;padding:0!important;line-height:1.4!important;text-align:left!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .name a {font-size:18px!important;font-weight:650!important;line-height:1.4!important;color:#49333d!important;text-decoration:none!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .caption > .description {grid-column:1;grid-row:3;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important;align-self:start;margin:0!important;padding:0!important;max-height:44px!important;font-size:13px!important;font-weight:400!important;line-height:22px!important;color:#85757c!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .caption > .rating {grid-column:1;grid-row:4;justify-content:flex-start!important;margin:0!important;padding:0!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .caption > .price {grid-column:2;grid-row:1 / 3;align-self:center;justify-self:end;display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:8px!important;width:100%!important;margin:0!important;padding:0!important;text-align:right!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .price > div {display:flex!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:wrap;gap:8px!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .price-normal,
  html:not(.mobile-header-active) body #content .main-products.product-list .price-new {font-size:22px!important;font-weight:700!important;line-height:1.4!important;color:#252125!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .price-new {color:#e00820!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .price-old {font-size:13px!important;color:#252125!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .caption > .buttons-wrapper {grid-column:2;grid-row:3 / 5;align-self:end;width:100%!important;margin:0!important;padding:0!important;border:0!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .button-group {display:flex!important;align-items:center!important;gap:8px!important;width:100%!important;padding:0!important;margin:0!important;border:0!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .cart-group {display:flex!important;flex:1 1 auto!important;min-width:0!important;width:auto!important;margin:0!important;padding:0!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .btn-cart {display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;width:100%!important;min-width:0!important;height:42px!important;min-height:42px!important;margin:0!important;padding:9px!important;border:1px solid #77243e!important;border-radius:9px!important;background:#77243e!important;color:#fff!important;box-shadow:none!important;font-size:11px!important;font-weight:650!important;line-height:1.3!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .btn-cart .btn-text {font-size:11px!important;line-height:1.3!important;white-space:nowrap!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .btn-cart:before {font-size:16px!important;margin:0!important;color:inherit!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .wish-group {display:flex!important;flex:0 0 42px!important;align-items:center!important;justify-content:center!important;width:42px!important;margin:0!important;padding:0!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .btn-wishlist {display:flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0!important;border:1px solid #e4d4dc!important;border-radius:9px!important;background:#fff!important;color:#77243e!important;box-shadow:none!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .btn-wishlist:before {font-size:20px!important;margin:0!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .btn-wishlist .btn-text {display:none!important}
}
@media(min-width:1025px) and (max-width:1200px) {
  html:not(.mobile-header-active) body #content .main-products.product-list .product-thumb {grid-template-columns:132px minmax(0,1fr)!important;gap:16px!important;padding:14px!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .product-thumb > .image {width:132px!important;max-width:132px!important;height:150px!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .image .product-img,
  html:not(.mobile-header-active) body #content .main-products.product-list .image .product-img > div,
  html:not(.mobile-header-active) body #content .main-products.product-list .image img {height:150px!important}
  html:not(.mobile-header-active) body #content .main-products.product-list .caption {grid-template-columns:minmax(0,1fr) 180px!important;column-gap:16px!important}
}

/* Basket and Wishlist confirmations auto-dismiss; no redundant close control. */
.notification-cart .notification-close,
.notification-wishlist .notification-close,
#luno-toast .notification-close,
#luno-toast .close {display:none!important}
.notification-wrapper.notification-wrapper-tr .notification-cart .notification-content {padding-right:18px!important}
.notification-wishlist .notification-content {padding-right:18px!important}
.notification-wrapper.notification-wrapper-tr .notification-cart .notification-buttons {margin:0!important}

/* Mobile basket confirmation: a compact toast above the bottom navigation. */
@media (max-width: 767px) {
  .notification-wrapper.notification-wrapper-tr {
    position: fixed !important;
    top: auto !important;
    bottom: var(--lunoria-mobile-toast-bottom, calc(74px + env(safe-area-inset-bottom, 0px))) !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-height: min(180px, calc(100dvh - 160px)) !important;
    height: auto !important;
    transform: none !important;
    justify-content: flex-end !important;
    pointer-events: none !important;
  }
  .notification-wrapper.notification-wrapper-tr .notification-cart {
    max-width: none !important;
    border-radius: 13px !important;
    box-shadow: 0 6px 22px rgba(69, 29, 40, .15) !important;
  }
  .notification-wrapper.notification-wrapper-tr .notification-cart:not(:last-child) {display: none !important;}
  .notification-wrapper.notification-wrapper-tr .notification-cart .notification-content {
    align-items: center !important;
    gap: 9px !important;
    padding: 12px 14px !important;
  }
  .notification-wrapper.notification-wrapper-tr .notification-cart .notification-content img {
    flex-basis: 36px !important;
    width: 36px !important;
    height: 36px !important;
    padding: 3px !important;
    border-radius: 7px !important;
  }
  .notification-wrapper.notification-wrapper-tr .notification-cart .notification-title {
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    max-width: 100% !important;
    overflow: hidden !important;
    margin: 0 0 3px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }
  .notification-wrapper.notification-wrapper-tr .notification-cart .notification-text {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }
  .notification-wrapper.notification-wrapper-tr .notification-cart .notification-close {
    top: 6px !important;
    right: 6px !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
  }
  .notification-wrapper.notification-wrapper-tr .notification-cart .notification-buttons {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    box-sizing: border-box !important;
    gap: 8px !important;
    padding: 10px 14px 12px !important;
  }
  .notification-wrapper.notification-wrapper-tr .notification-cart .notification-buttons .btn {
    min-height: 40px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    transform: none !important;
    padding: 8px 7px !important;
    font-size: 10px !important;
    letter-spacing: .025em !important;
  }
}


/* Homepage benefits: original order, four columns on desktop and two on mobile. */
.lunoria-home-benefits > .module-body {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px 16px !important;
  align-items: center;
}
.lunoria-home-benefits > .module-body > .module-item {
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
}
.lunoria-home-benefits .info-block-title { font-size: 12px !important; line-height: 1.4 !important; }
@media (max-width: 991px) {
  .lunoria-home-benefits > .module-body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lunoria-home-benefits .info-block-title { font-size: 12px !important; }
  .lunoria-home-benefits .module-item-1 .info-block-title { white-space: nowrap !important; }
  .lunoria-home-benefits .info-block::before { font-size: 30px !important; }
}
@media (max-width: 480px) {
  .lunoria-home-benefits .info-block-title { font-size: 11px !important; }
  .lunoria-home-benefits .info-block-title span { letter-spacing: .15px !important; }
}
/* Gift milestone hero. Position marks on a true £0–£300 monetary scale. */
.module-master_slider-26{container-type:inline-size}
.module-master_slider-26 .module-item-1 .ms-layer-text{top:0!important;left:0!important;width:100%!important;height:100%!important;padding:0!important;margin:0!important;background:none!important;transform:none!important;white-space:normal!important}
.module-master_slider-26 .module-item-1 .ms-slide-layers,.module-master_slider-26 .module-item-1 .ms-anim-layers,.module-master_slider-26 .module-item-1 .ms-parallax-layer{width:100%!important;height:100%!important;max-width:none!important;left:0!important;top:0!important}
.luno-gift-timeline{position:absolute;inset:0;width:100cqw;height:46.846.875cqw;background:radial-gradient(ellipse at 70% 30%,#fff 0%,#fcf8f5 50%,#f1e5e2 100%);color:#762039;font-family:Montserrat,Arial,sans-serif;overflow:hidden;text-shadow:none!important;text-align:left;box-sizing:border-box}
.luno-gift-timeline *{box-sizing:border-box}
.lgs-eyebrow{position:absolute;left:5%;top:7%;font-size:1.05cqw;line-height:1.4;font-weight:700;letter-spacing:.16em;color:#8a6a70}
.lgs-heading{position:absolute;left:5%;top:13%;font-size:3.8cqw;line-height:1.12;font-weight:700;letter-spacing:-.035em}
.lgs-intro{position:absolute;left:5%;top:26%;margin:0!important;font-size:1.3cqw;line-height:1.5;color:#66565b}
.lgs-track{position:absolute;left:8%;right:9%;top:59%;height:.35cqw;border-radius:10px;background:#e4d4d8}
.lgs-track-fill{display:block;height:100%;width:100%;border-radius:inherit;background:linear-gradient(90deg,#caa0ad,#7d223d)}
.lgs-zero{position:absolute;top:1.6cqw;left:0;color:#9d858c;font-size:1.1cqw;line-height:1.2}
.lgs-stop{position:absolute;left:var(--stop);top:50%;width:0;height:0}
.lgs-dot{position:absolute;left:-.65cqw;top:-.65cqw;width:1.3cqw;height:1.3cqw;border-radius:50%;background:#7d223d;border:.25cqw solid #fcf8f5;box-shadow:0 0 0 .12cqw #b37b8c;z-index:1}
.lgs-amount{position:absolute;width:11cqw;left:-5.5cqw;text-align:center;font-size:2.1cqw;line-height:1.1;font-weight:700;letter-spacing:-.03em}
.lgs-amount span{display:block;margin-top:.4cqw;font-size:1.1cqw;line-height:1.2;font-weight:500;letter-spacing:0;color:#8a6a70}
.lgs-above .lgs-amount{top:1.9cqw}.lgs-below .lgs-amount{bottom:1.9cqw}
.lgs-product{position:absolute;width:13cqw;left:-6.5cqw;text-align:center;font-size:1cqw;line-height:1.25;color:#6e5860;font-weight:500}
.lgs-product:before{content:'';position:absolute;left:50%;width:1px;height:2cqw;background:#cba6b1}
.lgs-above .lgs-product{bottom:2.6cqw}.lgs-above .lgs-product:before{bottom:-2cqw}
.lgs-below .lgs-product{top:2.6cqw}.lgs-below .lgs-product:before{top:-2cqw}
.lgs-photo{width:9cqw;height:9cqw;margin:0 auto .55cqw;padding:.6cqw;background:white;border:1px solid #eee2e6;border-radius:1.5cqw;box-shadow:0 .5cqw 1.5cqw #5b23380d;transition:transform .2s ease}
.lgs-photo img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;position:static!important;margin:0!important;max-width:100%!important}
.lgs-stop-4 .lgs-product{left:-10cqw}.lgs-stop-4 .lgs-product:before{left:77%}.lgs-stop-4 .lgs-amount{left:-7cqw}
.lgs-cta{position:absolute;left:5%;bottom:9%;display:inline-flex;align-items:center;gap:1.8cqw;padding:1.2cqw 1.7cqw;border-radius:.6cqw;background:#7d223d;color:white!important;font-size:1.1cqw;line-height:1.3;font-weight:700;text-decoration:none!important;transition:background .2s,box-shadow .2s}
.lgs-cta:hover,.lgs-cta:focus-visible{background:#551428;box-shadow:0 .4cqw 1.5cqw #7d223d33;outline:2px solid #b67e8f;outline-offset:3px}
.lgs-terms{position:absolute;bottom:2%;left:5%;right:5%;margin:0!important;font-size:.85cqw;line-height:1.4;color:#8d737b}
@media(hover:hover){.lgs-stop:hover .lgs-photo{transform:translateY(-.5cqw)}}
@media(max-width:767px){
 .lgs-heading{font-size:4.6cqw;top:13%}.lgs-eyebrow{font-size:1.7cqw;top:5%}.lgs-intro{font-size:2.1cqw;top:25%}
 .lgs-track{top:59%;height:.6cqw;left:7%;right:9%}.lgs-dot{width:1.8cqw;height:1.8cqw;left:-.9cqw;top:-.9cqw}
 .lgs-photo{width:10cqw;height:10cqw;padding:.5cqw;border-radius:1.5cqw}.lgs-product{width:15cqw;left:-7.5cqw;font-size:1.65cqw}
 .lgs-product>span{display:none}.lgs-amount{font-size:2.9cqw}.lgs-amount span{font-size:1.7cqw}
 .lgs-stop-4 .lgs-product{left:-10cqw}.lgs-stop-4 .lgs-product:before{left:67%}
 .lgs-above .lgs-product{bottom:2.6cqw}.lgs-below .lgs-product{top:2.6cqw}
 .lgs-cta{font-size:1.8cqw;bottom:9%;padding:1.4cqw 1.8cqw;gap:1cqw;border-radius:1cqw}
 .lgs-terms{font-size:1.35cqw;bottom:2%;line-height:1.2}
}
@media(prefers-reduced-motion:reduce){.lgs-photo,.lgs-cta{transition:none}}
/* Compact mobile gift timeline within the original hero proportions. */
@media(max-width:767px){
 .luno-gift-timeline{height:46.875cqw}
 .lgs-eyebrow{font-size:2cqw;top:6%}.lgs-heading{font-size:5.8cqw;top:12%}.lgs-intro{font-size:2.6cqw;top:23%}
 .lgs-photo{width:12cqw;height:12cqw;padding:.8cqw}.lgs-product{width:17cqw;left:-8.5cqw}
 .lgs-stop-4 .lgs-product{left:-12cqw}.lgs-stop-4 .lgs-product:before{left:71%}
 .lgs-amount{font-size:3.6cqw;width:14cqw;left:-7cqw}.lgs-amount span{font-size:2.4cqw;margin-top:.7cqw}
 .lgs-stop-4 .lgs-amount{left:-9cqw}
 .lgs-above .lgs-amount{top:2.6cqw}.lgs-below .lgs-amount{bottom:2.6cqw}
 .lgs-cta{font-size:2.4cqw;bottom:9%;padding:2.4cqw 2.8cqw}
 .lgs-terms{font-size:1.9cqw;bottom:2%;line-height:1.3}
}
@media(max-width:767px){
 .module-master_slider-26 .master-slider,.module-master_slider-26 .ms-container,.module-master_slider-26 .ms-inner-controls-cont,.module-master_slider-26 .ms-view,.module-master_slider-26 .ms-slide,.module-master_slider-26 .ms-slide-bgcont{height:46.875cqw!important}
 .module-master_slider-26 .ms-slide-bgcont>img{height:46.875cqw!important;width:100%!important;object-fit:cover;margin:0!important}
 .module-master_slider-26 .ms-slide-layers{top:0!important}
}
.module-master_slider-26 .ms-bullets{top:16px!important;right:16px!important;bottom:auto!important;left:auto!important}
@keyframes lgs-line-reveal{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes lgs-rise{from{opacity:0;transform:translateY(14px) scale(.92)}to{opacity:1;transform:none}}
@keyframes lgs-drop{from{opacity:0;transform:translateY(-14px) scale(.92)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
 .ms-sl-selected .lgs-track-fill{transform-origin:left;animation:lgs-line-reveal 1.4s ease both}
 .ms-sl-selected .lgs-above .lgs-product{animation:lgs-rise .65s ease both}
 .ms-sl-selected .lgs-below .lgs-product{animation:lgs-drop .65s ease both}
 .ms-sl-selected .lgs-stop-1 .lgs-product{animation-delay:.2s}.ms-sl-selected .lgs-stop-2 .lgs-product{animation-delay:.5s}.ms-sl-selected .lgs-stop-3 .lgs-product{animation-delay:.8s}.ms-sl-selected .lgs-stop-4 .lgs-product{animation-delay:1.1s}
}

/* This is a real link above the artwork, with an independent hover/focus state. */
.luno-gift-timeline .lgs-cta{z-index:5;pointer-events:auto;cursor:pointer;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
.luno-gift-timeline .lgs-cta>span{display:inline-block;transition:transform .2s ease}
@media(hover:hover){.luno-gift-timeline .lgs-cta:hover{background:#61162f;transform:translateY(-3px);box-shadow:0 8px 20px #76243d35;outline:none}.luno-gift-timeline .lgs-cta:hover>span{transform:translateX(4px)}}
.luno-gift-timeline .lgs-cta:focus-visible{outline:3px solid #b67e8f;outline-offset:4px;box-shadow:0 5px 16px #76243d25}
.luno-gift-timeline .lgs-cta:active{transform:translateY(0);box-shadow:0 2px 5px #76243d20}
@media(prefers-reduced-motion:reduce){.luno-gift-timeline .lgs-cta,.luno-gift-timeline .lgs-cta>span{transition:none}.luno-gift-timeline .lgs-cta:hover,.luno-gift-timeline .lgs-cta:hover>span{transform:none}}

/* Server-rendered gift preview avoids showing a different slide while MasterSlider initializes. */
.module-master_slider-26>.luno-gift-startup{position:absolute;inset:0;z-index:112;pointer-events:none;overflow:hidden;border-radius:inherit;background:#fcf8f5}
.module-master_slider-26>.luno-gift-startup .lgs-cta{pointer-events:auto}

@media(max-width:767px){
 .lgs-eyebrow{font-size:1.7cqw;top:4%}.lgs-heading{font-size:5cqw;top:11%}.lgs-intro{font-size:2.1cqw;top:25%}
 .lgs-track{top:57%}.lgs-photo{width:9cqw;height:9cqw;padding:.5cqw}
 .lgs-amount{font-size:2.9cqw}.lgs-amount span{font-size:1.7cqw;margin-top:.4cqw}
 .lgs-product{width:15cqw;left:-7.5cqw}.lgs-stop-4 .lgs-product{left:-10cqw}
 .lgs-cta{font-size:2cqw;bottom:6%;padding:1.6cqw 2cqw}
 .lgs-terms{font-size:1.35cqw;bottom:1%;line-height:1.2}
}

/* Original Lunoria branding alongside the footer links. */
footer .grid-row-3>.luno-footer-brand{display:block;width:180px;max-width:100%;align-self:start;margin-top:4px}
footer .luno-footer-brand img{display:block;width:100%;height:auto;max-width:100%}
@media(min-width:1101px){
 footer .grid-row.grid-row-3{display:grid;grid-template-columns:180px minmax(0,1fr);gap:38px;max-width:1280px;width:calc(100% - 40px);margin-left:auto;margin-right:auto}
 footer .grid-row-3>.grid-cols{width:100%;min-width:0;max-width:none;margin:0}
}
@media(max-width:1100px){footer .grid-row-3>.luno-footer-brand{width:190px;margin:0 auto 28px}}

/* Center the larger footer logo within its own column. */
@media(min-width:1101px){
 footer .grid-row.grid-row-3{grid-template-columns:240px minmax(0,1fr)}
 footer .grid-row-3>.luno-footer-brand{width:240px;align-self:center;justify-self:center;margin:0}
}
@media(max-width:1100px){footer .grid-row-3>.luno-footer-brand{width:240px;max-width:calc(100% - 40px)}}

/* Animate the visible startup timeline as well as native slide re-entry. */
@media(prefers-reduced-motion:no-preference){
 .luno-gift-startup .lgs-track-fill{transform-origin:left;animation:lgs-line-reveal 1.4s ease both}
}

/* Pearl/lilac gift canvas; reveals follow monetary positions20/40/60/100%. */
.luno-gift-timeline{background:radial-gradient(ellipse at 72% 25%,#ffffff 0%,#f2eef8 48%,#ded5eb 100%);color:#553454}
.lgs-eyebrow,.lgs-amount span{color:#87718d}.lgs-intro{color:#6f6076}
.lgs-track{background:#d7cce0}.lgs-track-fill{background:linear-gradient(90deg,#bea6ce,#73517e)}
.lgs-dot{background:#73517e;border-color:#f2eef8;box-shadow:0 0 0 .12cqw #b49ac2}
.lgs-photo{border-color:#e5ddec;box-shadow:0 .5cqw 1.5cqw #5936640f}
.lgs-product{color:#786681}.lgs-product:before{background:#b7a2c5}
.luno-gift-timeline .lgs-cta{background:#694271}
@media(hover:hover){.luno-gift-timeline .lgs-cta:hover{background:#4e2b56;box-shadow:0 8px 20px #69427135}}
.module-master_slider-26>.luno-gift-startup{background:#f2eef8}
@media(prefers-reduced-motion:no-preference){
 .ms-sl-selected .lgs-track-fill,.luno-gift-startup .lgs-track-fill{animation:lgs-line-reveal 4s linear both}
 .ms-sl-selected .lgs-above .lgs-product,.luno-gift-startup .lgs-above .lgs-product{animation:lgs-rise .45s ease both}
 .ms-sl-selected .lgs-below .lgs-product,.luno-gift-startup .lgs-below .lgs-product{animation:lgs-drop .45s ease both}
 .ms-sl-selected .lgs-stop-1 .lgs-product,.luno-gift-startup .lgs-stop-1 .lgs-product{animation-delay:.8s}
 .ms-sl-selected .lgs-stop-2 .lgs-product,.luno-gift-startup .lgs-stop-2 .lgs-product{animation-delay:1.6s}
 .ms-sl-selected .lgs-stop-3 .lgs-product,.luno-gift-startup .lgs-stop-3 .lgs-product{animation-delay:2.4s}
 .ms-sl-selected .lgs-stop-4 .lgs-product,.luno-gift-startup .lgs-stop-4 .lgs-product{animation-delay:4s}
}

/* Solid gift slide canvas requested by owner. */
.luno-gift-timeline{background:#f2eef8}

/* Slightly taller mobile hero:54cqw versus46.875cqw. */
@media(max-width:767px){
 .luno-gift-timeline{height:54cqw}
 .module-master_slider-26 .master-slider,.module-master_slider-26 .ms-container,.module-master_slider-26 .ms-inner-controls-cont,.module-master_slider-26 .ms-view,.module-master_slider-26 .ms-slide,.module-master_slider-26 .ms-slide-bgcont{height:54cqw!important}
 .module-master_slider-26 .ms-slide-bgcont>img{height:54cqw!important}
 .module-master_slider-26 .ms-slide-layers{top:3.5625cqw!important}
 .module-master_slider-26 .module-item-1 .ms-slide-layers{top:0!important}
}

/* Incoming gift slide starts reset; never expose its finished idle state. */
@media(prefers-reduced-motion:no-preference){
 .module-master_slider-26 .ms-slide:not(.ms-sl-selected) .lgs-track-fill{animation:none!important;transform:scaleX(0)!important;transform-origin:left}
 .module-master_slider-26 .ms-slide:not(.ms-sl-selected) .lgs-product{animation:none!important;opacity:0!important}
}

/* Warm rose/champagne palette echoes Sona's rose-gold detailing. */
.module-banners-259 .module-item-1>a{background:#f3e5e0}
.module-banners-259 .module-item-1 .banner-caption>span{color:#67434b!important}
.module-banners-259 .module-item-1 .lunoria-side-cta{background:#9b6670!important;border-color:#9b6670;color:#fff!important;box-shadow:0 4px 12px #9b667026}
.desktop .module-banners-259 .module-item-1>a:hover .lunoria-side-cta,
.module-banners-259 .module-item-1>a:focus-visible .lunoria-side-cta{background:#80515b!important;border-color:#80515b;box-shadow:0 6px 14px #80515b33}

/* Align first-level dropdowns with the outside edge of the navigation border. */
.desktop-header-active .header-classic .desktop-main-menu-wrapper .main-menu > .j-menu > .main-menu-item > .j-dropdown {
  top: calc(100% + 1px) !important;
}

/* Keep top-level hover areas contiguous across the full desktop navigation. */
.desktop-header-active .header-classic .desktop-main-menu-wrapper .main-menu > .j-menu {
  justify-content: flex-start !important;
  gap: 0 !important;
}
.desktop-header-active .header-classic .desktop-main-menu-wrapper .main-menu > .j-menu > .main-menu-item {
  flex: 1 1 auto !important;
  margin: 0 !important;
}
.desktop-header-active .header-classic .desktop-main-menu-wrapper .main-menu > .j-menu > .main-menu-item > a {
  width: 100% !important;
  justify-content: center !important;
}
.desktop-header-active .header-classic .desktop-main-menu-wrapper > #main-menu-2 {
  margin-left: 0 !important;
}


/* Category sidebar artwork: plain presentation without a card background or shadow. */
#column-left .module-blocks-250,
#column-left .module-blocks-250 .module-item,
#column-left .module-blocks-250 .block-body,
#column-left .module-blocks-250 .block-wrapper,
#column-left .module-blocks-250 .block-image,
#column-left .module-blocks-250 .block-image img {
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  border: 0 !important;
}

/* Three products per desktop listing row; retain the existing mobile layout. */
@media (min-width: 1025px) {
  #content .main-products.product-grid > .product-layout {
    flex: 0 0 33.333333% !important;
    width: 33.333333% !important;
    max-width: 33.333333% !important;
  }
}


/* Gift hero: distinct milestone colours on a solid warm canvas. */
.luno-gift-timeline{background:#fff9ed;color:#402936}
.module-master_slider-26>.luno-gift-startup{background:#fff9ed}
.luno-gift-timeline .lgs-eyebrow{top:5.5%;padding:.45cqw .8cqw;border-radius:3cqw;background:#ffc857;color:#543218;letter-spacing:.12em;font-size:.95cqw}
.luno-gift-timeline .lgs-heading{color:#402936;font-weight:800}
.luno-gift-timeline .lgs-intro{color:#76616b}
.luno-gift-timeline .lgs-track{background:#e8dcd0;height:.4cqw}
.luno-gift-timeline .lgs-track-fill{background:#c93d52}
.luno-gift-timeline .lgs-zero{color:#8c746c}
.lgs-stop-1{--gift-accent:#cb4551;--gift-tint:#f8d8d7}
.lgs-stop-2{--gift-accent:#147f78;--gift-tint:#d0eae3}
.lgs-stop-3{--gift-accent:#a36b10;--gift-tint:#ffe3a0}
.lgs-stop-4{--gift-accent:#7843ad;--gift-tint:#e6d7f3}
.luno-gift-timeline .lgs-dot{background:var(--gift-accent);border-color:#fff9ed;box-shadow:0 0 0 .15cqw var(--gift-accent)}
.luno-gift-timeline .lgs-amount{color:var(--gift-accent);font-weight:800}
.luno-gift-timeline .lgs-amount span{color:#7a656c}
.luno-gift-timeline .lgs-product{color:#705a62;font-weight:600}
.luno-gift-timeline .lgs-product:before{background:var(--gift-accent);width:2px}
.luno-gift-timeline .lgs-photo{border:.16cqw solid var(--gift-accent);border-radius:50%;background:#fff;box-shadow:.45cqw .45cqw 0 var(--gift-tint);padding:.6cqw;overflow:hidden}
.luno-gift-timeline .lgs-cta{background:#bd354b;border-radius:3cqw;box-shadow:0 .45cqw 0 #f2c9c8;color:#fff!important}
@media(hover:hover){.luno-gift-timeline .lgs-cta:hover{background:#9e253c;box-shadow:0 .6cqw 0 #f2c9c8}}
@media(max-width:767px){
 .luno-gift-timeline .lgs-eyebrow{top:4%;font-size:1.6cqw;padding:.6cqw 1.2cqw}
 .luno-gift-timeline .lgs-track{height:.65cqw}
 .luno-gift-timeline .lgs-photo{padding:.6cqw;border-width:.23cqw;box-shadow:.6cqw .6cqw 0 var(--gift-tint)}
 .luno-gift-timeline .lgs-cta{border-radius:3cqw}
}


/* Make footer branding substantially larger without squeezing the menus. */
@media(min-width:1281px){
 footer .grid-row.grid-row-3{grid-template-columns:340px minmax(0,1fr);max-width:1480px;gap:38px}
 footer .grid-row-3>.luno-footer-brand{width:340px}
}
@media(max-width:1280px){
 footer .grid-row.grid-row-3{display:block}
 footer .grid-row-3>.luno-footer-brand{width:340px;max-width:calc(100% - 40px);margin:0 auto 32px}
}

/* Homepage colour collection — 2026-10-24. Native navigation/autoplay retained. */
.module-master_slider-26 :is(.module-item-2,.module-item-3,.module-item-4,.module-item-9) :is(.ms-slide-layers,.ms-anim-layers,.ms-parallax-layer){width:100%!important;height:100%!important;left:0!important;top:0!important}
.module-master_slider-26 :is(.module-item-2,.module-item-3,.module-item-4,.module-item-9) .ms-layer-text{top:0!important;left:0!important;width:100%!important;height:100%!important;padding:0!important;margin:0!important;background:none!important;transform:none!important;white-space:normal!important}
.luno-colour-hero{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;--lch-bg:#e9ddfa;--lch-ink:#38264e;--lch-accent:#7246a0;--lch-chip:#d7b9f3;color:var(--lch-ink);text-align:left;white-space:normal}
.lch-panel{position:absolute;inset:0 auto 0 0;width:60%;background:var(--lch-bg);border-radius:0 8cqw 8cqw 0}
.lch-copy{position:absolute;left:5%;top:10%;width:49%;height:80%;display:flex;align-items:flex-start;flex-direction:column}
.lch-eyebrow{display:inline-block;border-radius:3cqw;padding:.5cqw .9cqw;background:var(--lch-chip);color:var(--lch-ink);font-size:1cqw;line-height:1.3;font-weight:800;letter-spacing:.12em}
.luno-colour-hero h2{font-family:inherit;font-size:4.8cqw;line-height:1.04;letter-spacing:-.045em;font-weight:800;color:var(--lch-ink);padding:0;margin:2.2cqw 0 1.5cqw;border:0;text-transform:none}
.luno-colour-hero p{font-size:1.35cqw;line-height:1.5;margin:0;max-width:90%;color:var(--lch-ink)}
.lch-cta{display:inline-flex;gap:2cqw;align-items:center;background:var(--lch-accent);color:white!important;border-radius:4cqw;padding:1.1cqw 1.7cqw;font-size:1.1cqw;line-height:1.4;font-weight:800;text-decoration:none!important;margin-top:auto;box-shadow:0 .4cqw 0 var(--lch-chip);transition:background .2s,transform .2s}
.lch-cta:hover{background:var(--lch-ink);transform:translateY(-2px)}
.lch-cta:focus-visible{outline:3px solid var(--lch-ink);outline-offset:4px}
.lch-stamp{position:absolute;right:4%;bottom:8%;padding:1.2cqw 1.8cqw;border-radius:2cqw;background:var(--lch-bg);color:var(--lch-ink);font-size:.8cqw;letter-spacing:.15em;line-height:1.6}
.lch-stamp b{font-size:1.3cqw;letter-spacing:0}
.lch-new{--lch-bg:#d7f3ed;--lch-ink:#124e4a;--lch-accent:#117d76;--lch-chip:#9fe0d4}
.lch-offers{--lch-bg:#ffe0d5;--lch-ink:#6f2d31;--lch-accent:#c34350;--lch-chip:#ffbd9d}
.lch-klarna{background:#fbc9df;--lch-ink:#171216;--lch-accent:#171216;--lch-chip:#fff3f8}
.lch-klarna .lch-copy{width:57%}
.lch-klarna h2{font-size:4.5cqw}
.lch-klarna-card{position:absolute;right:7%;top:21%;width:29%;height:58%;border-radius:3cqw;background:#fff8fb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2cqw;transform:none;box-shadow:1.1cqw 1.1cqw 0 #ee9dbe}
.lch-klarna-card img{width:68%;height:auto;box-shadow:none;border:0;transform:none}
.lch-klarna-card span{font-size:1.2cqw;font-weight:700;color:#171216}
@media(max-width:767px){
 .lch-copy{top:9%;height:82%;width:52%}
 .lch-panel{width:65%;border-radius:0 6cqw 6cqw 0}
 .lch-eyebrow{font-size:1.55cqw;padding:.7cqw 1.2cqw}
 .luno-colour-hero h2{font-size:5.8cqw;margin:3cqw 0 2cqw}
 .luno-colour-hero p{font-size:2.1cqw;max-width:96%}
 .lch-cta{font-size:1.7cqw;padding:1.5cqw 2cqw;gap:1.5cqw}
 .lch-stamp{right:3%;bottom:8%;padding:1.5cqw;font-size:1.3cqw}
 .lch-stamp b{font-size:1.8cqw}
 .lch-klarna h2{font-size:5.4cqw}
 .lch-klarna-card{right:5%;width:30%}
 .lch-klarna-card span{font-size:1.8cqw}
}
@media(prefers-reduced-motion:reduce){.lch-cta{transition:none}}

/* Distinct joyful compositions requested by owner — replaces split-panel trial. */
.joy-discover{background:#7950c6;color:#fff}
.joy-discover .joy-centre{position:absolute;inset:10% 21% 9%;text-align:center;display:flex;align-items:center;flex-direction:column}
.joy-tag{display:inline-block;font-size:1cqw;font-weight:800;letter-spacing:.13em;line-height:1.3;border-radius:3cqw;padding:.55cqw 1cqw;background:#fff1b2;color:#44233f}
.luno-colour-hero.joy-discover h2{color:#fff;font-size:5.8cqw;line-height:1.02;margin:2.3cqw 0 1.5cqw;text-align:center}
.luno-colour-hero em{font-style:normal}
.joy-discover h2 em{color:#ffe36d}
.luno-colour-hero.joy-discover p{color:#fff;font-size:1.4cqw;max-width:100%}
.joy-button{display:inline-flex;align-items:center;gap:2cqw;padding:1.1cqw 1.6cqw;border-radius:3cqw;background:#ffe36d;color:#40203f!important;font-size:1.1cqw;line-height:1.4;font-weight:800;text-decoration:none!important;margin-top:auto;transition:transform .2s,background .2s;box-shadow:0 .4cqw 0 #54308b}
.joy-button:hover{background:#fff4b5;transform:translateY(-2px)}
.joy-button:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.joy-orbit{position:absolute;border-radius:50%;pointer-events:none}
.joy-orbit-a{width:40cqw;height:40cqw;left:-22%;top:-33%;background:#f599c6}
.joy-orbit-b{width:30cqw;height:30cqw;right:-16%;bottom:-40%;background:#a6dfd1}
.joy-photo{position:absolute;background:#fff;border:1cqw solid #ffcddd;border-radius:50%;width:18cqw;height:18cqw;display:grid;place-items:center;overflow:hidden;box-shadow:.8cqw 1cqw 0 #57329c}
.joy-photo img{width:100%;height:100%;object-fit:contain;border:0;box-shadow:none}
.joy-photo-ring{left:3.5%;bottom:12%;transform:rotate(-12deg)}
.joy-photo-wand{right:3.5%;top:15%;border-color:#b4ecdc;transform:rotate(12deg)}
.joy-spark{position:absolute;color:#ffe36d;font-size:6cqw;line-height:1}
.joy-spark-a{left:15%;top:10%}.joy-spark-b{right:16%;bottom:11%;font-size:4cqw}
.joy-note{position:absolute;right:4%;bottom:12%;color:#fff;font-size:1.1cqw;line-height:1.5;transform:rotate(-7deg)}
.joy-new{background:#d0f477;color:#183d32}
.joy-new-copy{position:absolute;left:5%;top:10%;height:80%;width:47%;display:flex;flex-direction:column;align-items:flex-start}
.luno-colour-hero.joy-new h2{color:#183d32;font-size:4.8cqw;line-height:1.05;margin:2cqw 0 1.5cqw}
.joy-new h2 em{color:#3757bf}
.luno-colour-hero.joy-new p{color:#25483a;font-size:1.4cqw}
.joy-new .joy-tag{background:#fff;color:#294e36}
.joy-new .joy-button{background:#264c3b;color:#fff!important;box-shadow:0 .4cqw 0 #a8d34f}
.joy-new .joy-button:hover{background:#3757bf}
.joy-new-blob{position:absolute;width:58cqw;height:58cqw;background:#81cfc7;border-radius:50%;right:-18%;top:-10%}
.joy-product{position:absolute;background:#fff;border-radius:2cqw;padding:1cqw;box-shadow:.6cqw .8cqw 0 #2d756754;display:flex;flex-direction:column;align-items:center;overflow:hidden}
.joy-product img{width:100%;height:calc(100% - 2cqw);object-fit:contain;border:0;box-shadow:none}
.joy-product span{font-weight:800;letter-spacing:.12em;font-size:1cqw;color:#294c43;line-height:2}
.joy-product-a{width:19%;height:60%;right:25%;top:12%;transform:rotate(-10deg);z-index:1}
.joy-product-b{width:18%;height:57%;right:4%;top:27%;transform:rotate(9deg);z-index:2}
.joy-product-c{width:14%;height:39%;right:24%;bottom:5%;transform:rotate(4deg);z-index:3}
.joy-new-label{position:absolute;right:3.5%;top:6%;font-size:1.7cqw;line-height:.95;font-weight:900;color:#3757bf;transform:rotate(10deg)}
.joy-offers{background:#ff8e70;color:#582034}
.joy-offer-band{position:absolute;bottom:0;left:-2%;width:106%;padding:1cqw 0;background:#ffe26f;color:#713348;font-size:1.2cqw;line-height:1.3;letter-spacing:.18em;font-weight:800;white-space:nowrap;transform:rotate(-3deg);transform-origin:0 100%;text-align:center}
.joy-offer-copy{position:absolute;top:10%;left:5%;width:56%;height:70%;display:flex;align-items:flex-start;flex-direction:column}
.luno-colour-hero.joy-offers h2{font-size:5.2cqw;line-height:1.03;color:#582034;margin:2cqw 0 1.5cqw}
.joy-offers h2 em{color:#fff8e8}
.luno-colour-hero.joy-offers p{font-size:1.4cqw;color:#582034}
.joy-offers .joy-tag{background:#ffe26f;color:#582034}
.joy-offers .joy-button{background:#582034;color:#fff!important;box-shadow:0 .4cqw 0 #e36c60}
.joy-offers .joy-button:hover{background:#853451}
.joy-ticket{position:absolute;right:6%;top:14%;width:28%;height:62%;background:#fff6df;border-radius:1cqw;transform:rotate(8deg);color:#582034;padding:2cqw;display:flex;flex-direction:column;align-items:flex-start;box-shadow:.8cqw .8cqw 0 #d66058}
.joy-ticket:before,.joy-ticket:after{content:"";position:absolute;width:3cqw;height:3cqw;border-radius:50%;background:#ff8e70;top:58%}.joy-ticket:before{left:-1.5cqw}.joy-ticket:after{right:-1.5cqw}
.joy-ticket>span{font-size:.9cqw;letter-spacing:.12em;font-weight:800}
.joy-ticket b{font-size:3.1cqw;line-height:1.07;margin-top:2cqw;letter-spacing:-.04em}
.joy-ticket i{font-style:normal;color:#d96587;position:absolute;right:1.6cqw;bottom:2cqw;font-size:5cqw;line-height:1}
.joy-ticket small{font-size:1.1cqw;line-height:1.5;margin-top:auto;padding-top:1.3cqw;border-top:.15cqw dashed #c6a38e;width:100%}
.joy-offer-spark{position:absolute;right:35%;bottom:14%;font-size:6cqw;color:#ffe26f;line-height:1}
@media(max-width:767px){
 .joy-tag{font-size:1.5cqw;padding:.8cqw 1.3cqw}
 .joy-button{font-size:1.65cqw;padding:1.4cqw 1.8cqw}
 .joy-discover .joy-centre{inset:10% 19% 9%}
 .luno-colour-hero.joy-discover h2{font-size:6.5cqw;margin:3cqw 0 2cqw}
 .luno-colour-hero.joy-discover p{font-size:2cqw}
 .joy-photo-ring{left:1.5%;bottom:13%}.joy-photo-wand{right:1.5%;top:18%}.joy-note{font-size:1.7cqw;right:3%;bottom:14%}
 .luno-colour-hero.joy-new h2{font-size:5.4cqw;margin:3cqw 0 2cqw}
 .luno-colour-hero.joy-new p,.luno-colour-hero.joy-offers p{font-size:2cqw}
 .joy-new-copy{width:48%}.joy-product span{font-size:1.6cqw}
 .joy-product-a{right:24%;height:57%;top:16%}.joy-product-b{right:3%;top:28%;height:53%}.joy-product-c{right:24%;height:34%}
 .joy-new-label{font-size:2.5cqw}
 .luno-colour-hero.joy-offers h2{font-size:5.7cqw;margin:3cqw 0 2cqw}
 .joy-offer-copy{width:57%;height:71%}.joy-ticket{right:5%;top:20%;height:55%}.joy-ticket>span{font-size:1.3cqw}.joy-ticket b{font-size:3.3cqw}.joy-ticket small{font-size:1.65cqw}.joy-offer-band{font-size:1.9cqw;padding:1.5cqw 0}
}
@media(prefers-reduced-motion:reduce){.joy-button{transition:none}}

/* Keep each New In product fully visible in the staggered collage. */
.joy-product-a{width:14%;height:60%;right:30%;top:17%}
.joy-product-b{width:14%;height:60%;right:4%;top:22%}
.joy-product-c{width:14%;height:55%;right:17%;top:35%;bottom:auto}
@media(max-width:767px){.joy-product-a{width:14%;height:58%;right:30%;top:20%}.joy-product-b{width:14%;height:58%;right:4%;top:24%}.joy-product-c{width:14%;height:51%;right:17%;top:37%;bottom:auto}}

/* One background confetti burst per gift milestone, synchronized to the 4s timeline. */
.luno-gift-timeline{isolation:isolate}
.luno-gift-timeline>.lgs-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none!important;z-index:0}
.luno-gift-timeline>:not(.lgs-confetti){z-index:1}
.lgs-burst{position:absolute;top:59%;width:0;height:0;pointer-events:none}
.lgs-burst-1{left:24.6%}.lgs-burst-2{left:41.2%}.lgs-burst-3{left:57.8%}.lgs-burst-4{left:91%}
.lgs-burst i{position:absolute;display:block;width:clamp(3px,.36cqw,8px);height:clamp(5px,.65cqw,13px);border-radius:1px;background:var(--piece-colour);opacity:0;pointer-events:none}
.lgs-burst i:nth-child(3n){border-radius:50%;height:clamp(3px,.4cqw,8px)}
@keyframes lgs-confetti-pop{
 0%{opacity:0;transform:translate(0,0) rotate(0) scale(.3)}
 8%{opacity:.85}
 52%{opacity:.8;transform:translate(calc(var(--dx)*.7),var(--dy)) rotate(calc(var(--spin)*.55)) scale(1)}
 100%{opacity:0;transform:translate(var(--dx),5cqw) rotate(var(--spin)) scale(.65)}
}
@media(prefers-reduced-motion:no-preference){
 .module-master_slider-26 .ms-sl-selected .lgs-burst i,
 .module-master_slider-26>.luno-gift-startup .lgs-burst i{animation:lgs-confetti-pop 1.45s cubic-bezier(.15,.6,.45,1) both;animation-delay:calc(var(--burst-delay) + var(--piece-lag))}
 .module-master_slider-26 .ms-slide:not(.ms-sl-selected) .lgs-burst i{animation:none!important;opacity:0!important}
}
@media(max-width:767px){.lgs-burst{top:57%}}
@media(prefers-reduced-motion:reduce){.lgs-confetti{display:none!important}}

/* Blue frame echoes the LELO F1S Blue product. */
.joy-discover .joy-photo-ring{border-color:#a7dced}

/* Owner requested the soft pink For Her background, without the warm gold/champagne cast. */
.module-banners-259 .module-item-1>a{background:#f5e0e9}

/* Centre gift connectors on the milestone and its photo, including the final stop. */
.luno-gift-timeline .lgs-product::before{left:50%;transform:translateX(-50%);height:2.6cqw}
.luno-gift-timeline .lgs-above .lgs-product::before{bottom:-2.6cqw}
.luno-gift-timeline .lgs-below .lgs-product::before{top:-2.6cqw}
.luno-gift-timeline .lgs-stop-4 .lgs-product{left:-6.5cqw}
.luno-gift-timeline .lgs-stop-4 .lgs-amount{left:-5.5cqw}
@media(max-width:767px){.luno-gift-timeline .lgs-stop-4 .lgs-product{left:-7.5cqw}}

/* Gift thresholds 40/80/160/300; real monetary spacing and synchronized reveals. */
.lgs-burst-1{left:19.066666%}.lgs-burst-2{left:30.133334%}.lgs-burst-3{left:52.266666%}
@media(prefers-reduced-motion:no-preference){
.ms-sl-selected .lgs-stop-1 .lgs-product,.luno-gift-startup .lgs-stop-1 .lgs-product{animation-delay:.533333s}
.ms-sl-selected .lgs-stop-2 .lgs-product,.luno-gift-startup .lgs-stop-2 .lgs-product{animation-delay:1.066667s}
.ms-sl-selected .lgs-stop-3 .lgs-product,.luno-gift-startup .lgs-stop-3 .lgs-product{animation-delay:2.133333s}
}
