/* Luxeline site interaction consistency */
.site-footer a[href^="mailto:"],
.site-footer a[href^="mailto:"] span {
  letter-spacing: .04em;
  text-transform: lowercase !important;
}

/* Product imagery swaps cleanly while cards without a gallery image stay visible. */
.product-card__media > img { transform: none !important; }

.product-card__media > img:not(.product-card__hover-img) {
  opacity: 1 !important;
}

.product-card__media > .product-card__hover-img {
  opacity: 0 !important;
  transition: opacity .18s ease !important;
}

@media (hover: hover) and (pointer: fine) {
  .product-card:hover .product-card__media > .product-card__hover-img,
  .product-card:focus-within .product-card__media > .product-card__hover-img { opacity: 1 !important; }
}

@media (hover: none), (pointer: coarse) {
  .product-card__media > .product-card__hover-img { display: none !important; }
}

/* Two-product extension archives remain balanced instead of leaving a blank third column. */
@media (min-width: 1025px) {
  body.tax-product_cat.term-tape-extensions ul.products,
  body.tax-product_cat.term-wefts ul.products,
  body.tax-product_cat.term-bundles ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Bundles catalogue: make the two purchase formats clear before selection. */
.lx-bundle-guide {
  background: #f8f0f4;
  border: 1px solid #ead9e1;
  color: #0a0a0a;
  margin: 0 0 42px;
  overflow: hidden;
}

.lx-bundle-guide__intro {
  max-width: 760px;
  padding: clamp(28px, 4vw, 54px) clamp(22px, 4vw, 54px) clamp(22px, 3vw, 36px);
}

.lx-bundle-guide__eyebrow,
.lx-bundle-guide__count {
  color: #b64d7b;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .19em;
  margin: 0 0 14px;
  text-transform: uppercase;
}

.lx-bundle-guide__intro h2 {
  font-family: inherit;
  font-size: clamp(32px, 4.2vw, 58px);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: .98;
  margin: 0 0 18px;
}

.lx-bundle-guide__intro > p:last-child {
  color: #5e565a;
  font-size: 15px;
  line-height: 1.7;
  margin: 0;
}

.lx-bundle-guide__options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lx-bundle-guide__card {
  background: #fff;
  border-top: 1px solid #ead9e1;
  display: flex;
  flex-direction: column;
  min-height: 390px;
  padding: clamp(28px, 3.5vw, 48px);
}

.lx-bundle-guide__card + .lx-bundle-guide__card {
  border-left: 1px solid #ead9e1;
}

.lx-bundle-guide__card--dark {
  background: #0a0a0a;
  border-color: #0a0a0a;
  color: #fff;
}

.lx-bundle-guide__card h3 {
  color: inherit;
  font-family: inherit;
  font-size: clamp(25px, 2.8vw, 38px);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.05;
  margin: 0 0 18px;
}

.lx-bundle-guide__card > p:not(.lx-bundle-guide__count) {
  color: #5e565a;
  font-size: 14px;
  line-height: 1.7;
  margin: 0 0 20px;
}

.lx-bundle-guide__card--dark > p:not(.lx-bundle-guide__count) {
  color: rgba(255, 255, 255, .72);
}

.lx-bundle-guide__card ul {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
}

.lx-bundle-guide__card li {
  border-top: 1px solid #ead9e1;
  font-size: 12px;
  letter-spacing: .035em;
  padding: 11px 0;
}

.lx-bundle-guide__card--dark li {
  border-color: rgba(255, 255, 255, .17);
}

.lx-bundle-guide__card a {
  align-items: center;
  align-self: flex-start;
  background: #0a0a0a;
  color: #fff !important;
  display: inline-flex;
  font-size: 10px;
  font-weight: 700;
  justify-content: center;
  letter-spacing: .15em;
  margin-top: auto;
  min-height: 50px;
  padding: 0 22px;
  text-decoration: none !important;
  text-transform: uppercase;
}

.lx-bundle-guide__card--dark a {
  background: #e8a8c4;
  color: #0a0a0a !important;
}

.lx-bundle-guide__card a:hover,
.lx-bundle-guide__card a:focus-visible {
  background: #c55e8b;
  color: #fff !important;
}

.lx-bundle-guide__note {
  background: #f8f0f4;
  border-top: 1px solid #ead9e1;
  color: #5e565a;
  font-size: 12px;
  line-height: 1.65;
  margin: 0;
  padding: 18px clamp(22px, 4vw, 54px);
}

.lx-bundle-option-help {
  color: #71686c;
  font-size: 11px;
  line-height: 1.55;
  margin: 8px 0 0;
}

@media (max-width: 720px) {
  .lx-bundle-guide {
    margin-bottom: 30px;
  }

  .lx-bundle-guide__options {
    grid-template-columns: 1fr;
  }

  .lx-bundle-guide__card {
    min-height: 0;
  }

  .lx-bundle-guide__card + .lx-bundle-guide__card {
    border-left: 0;
  }
}

@media (max-width: 860px) {
  .product-card__media > .product-card__hover-img { display: none !important; }

  select.lx-pill-enhanced {
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    margin: 0 !important;
    max-height: 1px !important;
    max-width: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    white-space: nowrap !important;
    width: 1px !important;
  }

  .sp-sticky-bar {
    gap: 8px !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    width: auto !important;
  }

  .sp-sticky-bar__info {
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .sp-sticky-bar__btn {
    font-size: 9px !important;
    letter-spacing: .16em !important;
    min-width: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* Pagination container and page items are separate visual elements. */
.woocommerce-pagination ul.page-numbers,
.woocommerce-pagination ul.page-numbers:hover,
.woocommerce-pagination ul.page-numbers:focus-within {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  height: auto !important;
  min-height: 0 !important;
  outline: 0 !important;
  width: auto !important;
}

.woocommerce-pagination ul.page-numbers > li {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.woocommerce-pagination ul.page-numbers > li > .page-numbers {
  align-items: center;
  background: transparent !important;
  border: 0 !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  display: inline-flex;
  height: 38px !important;
  justify-content: center;
  min-width: 38px !important;
  outline: 0;
  width: 38px !important;
}

.woocommerce-pagination ul.page-numbers > li > .page-numbers::before,
.woocommerce-pagination ul.page-numbers > li > .page-numbers::after {
  content: none !important;
  display: none !important;
}

.woocommerce-pagination ul.page-numbers > li > a.page-numbers:hover {
  background: #eee3e8 !important;
  color: #080808 !important;
}

.woocommerce-pagination ul.page-numbers > li > .page-numbers.current {
  background: #080808 !important;
  color: #faf8f5 !important;
}

.woocommerce-pagination ul.page-numbers > li > a.page-numbers:focus-visible {
  outline: 2px solid #d978a3;
  outline-offset: 3px;
}

/* Every colour preview remains a true circle at rest and when selected. */
.sp-colour-dot,
.lx-colour-dot,
.color-variable-item,
.color-variable-item .variable-item-span-color {
  aspect-ratio: 1 / 1 !important;
  background-clip: border-box !important;
  border: 0 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
}

.sp-colour-dot,
.lx-colour-dot {
  box-shadow: 0 0 0 1px rgba(8, 8, 8, .2) !important;
  height: 34px !important;
  min-height: 34px !important;
  min-width: 34px !important;
  width: 34px !important;
}

.sp-colour-dot::before,
.sp-colour-dot::after,
.lx-colour-dot::before,
.lx-colour-dot::after,
.color-variable-item .variable-item-span-color::before,
.color-variable-item .variable-item-span-color::after { border-radius: inherit !important; }

.sp-colour-swatch.is-active .sp-colour-dot,
.sp-colour-swatch[aria-current="true"] .sp-colour-dot,
.lx-colour-btn.is-active .lx-colour-dot,
.lx-colour-btn:has(input:checked) .lx-colour-dot,
.color-variable-item.selected .variable-item-span-color {
  border: 0 !important;
  box-shadow: 0 0 0 2px #faf8f5, 0 0 0 4px #d978a3 !important;
}

.sp-colour-swatch:focus-visible,
.lx-colour-btn:has(input:focus-visible),
.color-variable-item:focus-visible {
  border-radius: 999px !important;
  outline: 2px solid #d978a3 !important;
  outline-offset: 4px;
}

/* Buttons retain a fixed footprint across the site. */
.btn,
.button,
.wp-element-button,
button,
input[type="submit"],
.btn:hover,
.btn:focus-visible,
.button:hover,
.button:focus-visible,
.wp-element-button:hover,
.wp-element-button:focus-visible,
button:hover,
button:focus-visible,
input[type="submit"]:hover,
input[type="submit"]:focus-visible { transform: none !important; }

/* Ritual: immersive editorial hero with desktop copy overlay. */
@media (min-width: 901px) {
  body.page-id-18574 .lx-ritual-v4__hero,
  body.page-id-11172 .lx-ritual-v4__hero {
    display: block !important;
    isolation: isolate;
    min-height: 100vh !important;
    min-height: 100svh !important;
    min-height: 100dvh !important;
    overflow: hidden;
    position: relative;
  }

  body.page-id-18574 .lx-ritual-v4__media,
  body.page-id-11172 .lx-ritual-v4__media {
    height: 100% !important;
    inset: 0;
    margin: 0;
    min-height: 0 !important;
    order: initial !important;
    position: absolute !important;
    width: 100% !important;
    z-index: 0;
  }

  body.page-id-18574 .lx-ritual-v4__media::after,
  body.page-id-11172 .lx-ritual-v4__media::after {
    background:
      linear-gradient(90deg, rgba(9,9,9,.88) 0%, rgba(9,9,9,.7) 30%, rgba(9,9,9,.24) 54%, rgba(9,9,9,0) 72%),
      linear-gradient(0deg, rgba(9,9,9,.26) 0%, rgba(9,9,9,0) 32%);
    z-index: 1;
  }

  body.page-id-18574 .lx-ritual-v4__media img,
  body.page-id-11172 .lx-ritual-v4__media img {
    display: block !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 69% center !important;
    width: 100% !important;
  }

  body.page-id-18574 .lx-ritual-v4__hero-copy,
  body.page-id-11172 .lx-ritual-v4__hero-copy {
    background: transparent !important;
    justify-content: center;
    min-height: 100vh !important;
    min-height: 100svh !important;
    min-height: 100dvh !important;
    order: initial !important;
    padding: clamp(108px, 14vh, 150px) clamp(32px, 3vw, 52px) clamp(50px, 8vh, 90px) clamp(36px, 7vw, 112px) !important;
    position: relative;
    width: min(46rem, 54vw);
    z-index: 2;
  }

  body.page-id-18574 .lx-ritual-v4__hero .lx-ritual-v4__button--light,
  body.page-id-11172 .lx-ritual-v4__hero .lx-ritual-v4__button--light {
    background: #d978a3;
    border-color: #d978a3;
    color: #090909 !important;
  }

  body.page-id-18574 .lx-ritual-v4__hero .lx-ritual-v4__button--light:hover,
  body.page-id-18574 .lx-ritual-v4__hero .lx-ritual-v4__button--light:focus-visible,
  body.page-id-11172 .lx-ritual-v4__hero .lx-ritual-v4__button--light:hover,
  body.page-id-11172 .lx-ritual-v4__hero .lx-ritual-v4__button--light:focus-visible {
    background: transparent;
    border-color: #fff;
    color: #fff !important;
  }
}

@media (min-width: 901px) and (max-height: 720px) {
  body.page-id-18574 .lx-ritual-v4__hero-copy,
  body.page-id-11172 .lx-ritual-v4__hero-copy {
    padding-bottom: 34px !important;
    padding-top: 92px !important;
  }

  body.page-id-18574 .lx-ritual-v4__hero h1,
  body.page-id-11172 .lx-ritual-v4__hero h1 { font-size: clamp(46px, 5vw, 64px); }

  body.page-id-18574 .lx-ritual-v4__lead,
  body.page-id-11172 .lx-ritual-v4__lead { line-height: 1.45; margin-top: 18px; }

  body.page-id-18574 .lx-ritual-v4__actions,
  body.page-id-11172 .lx-ritual-v4__actions { margin-top: 22px; }

  body.page-id-18574 .lx-ritual-v4__button,
  body.page-id-11172 .lx-ritual-v4__button { height: 48px; }

  body.page-id-18574 .lx-ritual-v4__trust,
  body.page-id-11172 .lx-ritual-v4__trust { margin-top: 14px; }
}

/* About and Contact videos begin at the viewport's left edge. */
body.page-id-1 .lx-about-v3__film-frame {
  max-width: none !important;
  width: 100% !important;
}

body.page-id-268 .lx-contact-new__stage {
  margin-inline: 0 !important;
  max-width: none !important;
  width: 100% !important;
}
