/**
 * luamaya commerce styles: PDP, cart drawer, cart page, checkout, order-received,
 * payment icon strip. Owner: theme-commerce.
 * Measured against the reference (1440/390): page 1600px max + 50px gutters,
 * PDP 65% media / 35% info (media 901px, info starts +40px), 4:5 media,
 * thumbnails 3-up gap 10px, ATC 47px, drawer 450px, checkout summary 440px.
 */

:root {
  --lua-c-font: var(--lua-font-body, var(--font-body-family, Montserrat, "Helvetica Neue", Arial, sans-serif));
  --lua-c-ink: var(--lua-ink, #222222);
  --lua-c-ash: var(--lua-ink-soft, #6b6b6b);
  --lua-c-bg: var(--lua-bg, #ffffff);
  --lua-c-cream: var(--lua-cream, #f4ede8);
  --lua-c-blush: var(--lua-blush, #fcf7f5);
  --lua-c-teal: var(--lua-teal, #00403d);
  --lua-c-sale: var(--lua-sale, #cd1206);
  --lua-c-border: var(--lua-border, rgba(34, 34, 34, 0.15));
  --lua-c-soft: #f3f3f3;
  --lua-c-page: 1600px;
  --lua-c-gutter: 50px;
  --lua-c-dur: 0.25s;
}

.lua-page-pdp .lua-main,
.lua-page-cart .lua-main,
.lua-checkout-main {
  font-family: var(--lua-c-font);
  color: var(--lua-c-ink);
}

/* -------------------------------------------------------------------------
 * Shared primitives
 * ---------------------------------------------------------------------- */
.lua-sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0);
  white-space: nowrap; border: 0;
}

.lua-icon {
  display: block;
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
}

.lua-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 47px;
  padding: 12px 30px;
  border: 1px solid transparent;
  border-radius: 0;
  font-family: inherit;
  font-size: 15px;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: 1px;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  transition: background-color var(--lua-c-dur) ease, color var(--lua-c-dur) ease, border-color var(--lua-c-dur) ease;
  -webkit-appearance: none;
  appearance: none;
}
.lua-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.lua-btn--primary { background: var(--lua-c-cream); color: var(--lua-c-ink); }
.lua-btn--primary:hover { background: var(--lua-c-ink); color: #fff; }
.lua-btn--ink { background: var(--lua-c-teal); color: #fff; }
.lua-btn--ink:hover { background: var(--lua-c-ink); }
.lua-btn--outline { border-color: var(--lua-c-ink); color: var(--lua-c-ink); background: transparent; }
.lua-btn--outline:hover { background: var(--lua-c-ink); color: #fff; }

.lua-price__original {
  color: var(--lua-c-ash);
  text-decoration: line-through;
  font-size: 0.888em;
  letter-spacing: 0.5px;
}
.lua-price__sale { color: var(--lua-c-ink); }

/* Quantity stepper */
.lua-qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--lua-c-border);
  height: 47px;
  background: #fff;
}
.lua-qty__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 100%;
  border: 0;
  background: transparent;
  color: var(--lua-c-ink);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}
.lua-qty__btn .lua-icon { width: 12px; height: 12px; }
.lua-qty__btn:hover { background: var(--lua-c-soft); }
.lua-qty__input,
.lua-qty__value {
  width: 40px;
  height: 100%;
  border: 0;
  padding: 0;
  text-align: center;
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  line-height: 47px;
  background: transparent;
  -moz-appearance: textfield;
  appearance: textfield;
}
.lua-qty__input::-webkit-inner-spin-button,
.lua-qty__input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.lua-qty--sm { height: 36px; }
.lua-qty--sm .lua-qty__btn { width: 30px; font-size: 16px; }
.lua-qty--sm .lua-qty__value { width: 28px; line-height: 36px; font-size: 14px; }

/* Payment icon strip */
.lua-paystrip { margin-top: 18px; }
.lua-paystrip__title {
  margin: 0 0 10px;
  font-size: 13px;
  color: var(--lua-c-ash);
}
.lua-paystrip__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.lua-paystrip__item { display: flex; }
.lua-paystrip__item img {
  display: block;
  width: 38px;
  height: 24px;
  object-fit: contain;
}
.lua-paystrip--drawer { margin-top: 14px; justify-content: center; }
.lua-paystrip--drawer .lua-paystrip__list { justify-content: center; gap: 8px; }
.lua-paystrip--drawer .lua-paystrip__item img { width: 30px; height: 20px; }
.lua-paystrip--checkout { margin-top: 20px; }
.lua-paystrip--checkout .lua-paystrip__list { justify-content: center; gap: 10px 14px; }
.lua-paystrip--checkout .lua-paystrip__item img { width: 34px; height: 22px; }

/* Benefits row */
.lua-benefits {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 16px;
  font-size: 12px;
  letter-spacing: 0.4px;
  color: var(--lua-c-ink);
}
.lua-benefits__sep { color: var(--lua-c-border); }

/* =========================================================================
 * PDP
 * ====================================================================== */
.lua-pdp-main { background: var(--lua-c-bg); }

.lua-pdp {
  max-width: var(--lua-c-page);
  margin: 0 auto;
  padding: 18px var(--lua-c-gutter) 0;
}

.lua-pdp__layout {
  display: flex;
  align-items: flex-start;
  gap: 0;
}
.lua-pdp__media-col {
  flex: 0 0 65%;
  max-width: 65%;
  min-width: 0;
}
.lua-pdp__info-col {
  flex: 1 1 35%;
  min-width: 0;
  padding-left: 40px;
}
.lua-pdp__info { position: relative; }

/* --- Gallery --- */
.lua-gallery { margin: 0 -15px; }
.lua-gallery__stage { position: relative; }
.lua-gallery__track { position: relative; }
.lua-gallery__slide {
  display: none;
  margin: 0;
  position: relative;
  aspect-ratio: 4 / 5;
  background: var(--lua-c-soft);
}
.lua-gallery__slide.is-active { display: block; }
.lua-gallery__zoom {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}
.lua-gallery__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.lua-gallery__zoom-icon {
  position: absolute;
  right: 14px;
  top: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  background: rgba(255, 255, 255, 0.85);
  color: var(--lua-c-ink);
  opacity: 0;
  transition: opacity var(--lua-c-dur) ease;
}
.lua-gallery__zoom-icon .lua-icon { width: 16px; height: 16px; }
.lua-gallery__zoom:hover .lua-gallery__zoom-icon { opacity: 1; }
.lua-gallery__badges {
  position: absolute;
  left: 14px;
  top: 14px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 6px;
  pointer-events: none;
}
.lua-gallery__badge {
  display: inline-block;
  padding: 4px 10px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--lua-c-ink);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  border-radius: 4px;
}
.lua-gallery__indicator {
  display: none;
  gap: 0;
  height: 4px;
  width: 100%;
  background: #a0a0a0;
  pointer-events: none;
}
.lua-gallery__bar { flex: 1 1 0; background: #a0a0a0; }
.lua-gallery__bar.is-active { background: var(--lua-c-ink); }

.lua-gallery__thumbs {
  display: flex;
  align-items: center;
  gap: 0;
  margin-top: 10px;
}
.lua-gallery__thumblist {
  display: flex;
  gap: 10px;
  flex: 1 1 auto;
  min-width: 0;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.lua-gallery__thumblist::-webkit-scrollbar { display: none; }
.lua-gallery__thumb {
  flex: 0 0 calc((100% - 20px) / 3);
  padding: 0;
  border: 1px solid transparent;
  background: var(--lua-c-soft);
  cursor: pointer;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  transition: border-color var(--lua-c-dur) ease, opacity var(--lua-c-dur) ease;
  opacity: 0.72;
}
.lua-gallery__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lua-gallery__thumb.is-active,
.lua-gallery__thumb:hover { opacity: 1; border-color: var(--lua-c-ink); }
.lua-gallery__arrow {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: var(--lua-c-ink);
  cursor: pointer;
}
.lua-gallery__arrow .lua-icon { width: 16px; height: 16px; }
.lua-gallery__arrow:disabled { opacity: 0.3; cursor: default; }

/* --- Buy box typography --- */
.lua-pdp__title {
  margin: 0;
  font-family: var(--lua-font-display, var(--lua-c-font));
  font-size: 26px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
  color: var(--lua-c-ink);
}
.lua-pdp__title-colour { display: block; }
.lua-pdp__subtitle {
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--lua-c-ash);
}
.lua-pdp__rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 10px 0 0;
  font-size: 13px;
}
.lua-stars { display: inline-flex; align-items: center; gap: 2px; color: #d9b45b; }
.lua-star .lua-icon { width: 15px; height: 15px; }
.lua-star { color: #d8d4cc; }
.lua-star.is-full, .lua-star.is-half { color: #d9b45b; }
.lua-star.is-half .lua-icon { opacity: 0.55; }
.lua-stars--lg .lua-star .lua-icon { width: 19px; height: 19px; }
.lua-pdp__rating-value { font-weight: 500; }
.lua-pdp__rating-count { color: var(--lua-c-ash); text-decoration: underline; }

.lua-pdp__material {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.6;
}
.lua-pdp__material-dot {
  display: inline-block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1px solid var(--lua-c-border);
}

/* --- Countdown (reference lua_pdp_countdown) --- */
.lua-countdown {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  padding: 6px 14px;
  border: 1px solid rgba(18, 18, 18, 0.1);
  font-size: 14px;
  line-height: 1.8;
}
.lua-countdown__label { white-space: nowrap; }
.lua-countdown__timer { display: flex; align-items: center; gap: 4px; font-weight: 600; }
.lua-countdown__unit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  padding: 0 4px;
  background: rgba(18, 18, 18, 0.05);
  font-size: 16px;
  font-variant-numeric: tabular-nums;
}
.lua-countdown__sep { font-weight: 600; }

/* --- Price --- */
.lua-pdp__price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
  margin-top: 18px;
}
.lua-pdp__price .lua-price__original {
  font-size: 16px;
  letter-spacing: 1.3px;
  margin-right: 0;
}
.lua-pdp__price .lua-price__sale {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 1.3px;
  color: var(--lua-c-sale);
}
.lua-pdp__save {
  padding: 3px 8px;
  background: var(--lua-c-cream);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.6px;
  line-height: 1.5;
}
.lua-pdp__taxnote {
  margin: 6px 0 0;
  font-size: 12px;
  color: var(--lua-c-ash);
}

/* --- Variants / option groups --- */
.lua-pdp__variants { margin-top: 18px; }
.lua-option { margin: 0 0 14px; padding: 0; border: 0; }
.lua-option:last-child { margin-bottom: 0; }
.lua-option__legend {
  display: block;
  margin-bottom: 10px;
  padding: 0;
  font-size: 13px;
  color: var(--lua-c-ink);
}
.lua-option__legend b { font-weight: 500; }
.lua-option__values { display: flex; flex-wrap: wrap; gap: 6px; }
.lua-option--text .lua-option__values {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(38px, 1fr));
  gap: 6px;
  max-width: 100%;
}
.lua-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  padding: 0 8px;
  border: 1px solid var(--lua-c-border);
  background: #fff;
  color: var(--lua-c-ink);
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  transition: border-color var(--lua-c-dur) ease, background-color var(--lua-c-dur) ease, color var(--lua-c-dur) ease;
  -webkit-user-select: none;
  user-select: none;
}
.lua-option--colour .lua-chip {
  width: 37px;
  height: 37px;
  min-width: 37px;
  padding: 0;
  border-radius: 50%;
  border-color: transparent;
}
.lua-chip:hover { border-color: var(--lua-c-ink); }
.lua-chip.is-active { border-color: var(--lua-c-ink); box-shadow: inset 0 0 0 1px var(--lua-c-ink); font-weight: 600; }
.lua-option--colour .lua-chip.is-active { box-shadow: none; border-color: var(--lua-c-ink); }
.lua-chip.is-unavailable { opacity: 0.45; }
.lua-chip.is-unavailable:hover { border-color: var(--lua-c-border); }
.lua-chip__input { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
.lua-chip__swatch {
  display: block;
  width: 29px;
  height: 29px;
  border-radius: 50%;
  border: 1px solid rgba(34, 34, 34, 0.08);
  background-size: cover;
  background-position: center;
  background-color: var(--lua-c-soft);
}
.lua-chip__text { display: block; }
.lua-chip__input:focus-visible ~ .lua-chip__text,
.lua-chip__input:focus-visible ~ .lua-chip__swatch { outline: 2px solid var(--lua-ink, #222); outline-offset: 3px; }

/* --- Social proof --- */
.lua-social { margin-top: 18px; }
.lua-social__viewers {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.5;
}
.lua-social__viewers b { font-weight: 600; }
.lua-social__dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2e9e5b;
  box-shadow: 0 0 0 3px rgba(46, 158, 91, 0.18);
  animation: luaPulse 2s infinite;
}
@keyframes luaPulse {
  0%, 100% { box-shadow: 0 0 0 3px rgba(46, 158, 91, 0.18); }
  50% { box-shadow: 0 0 0 6px rgba(46, 158, 91, 0.06); }
}
.lua-social__stock {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--lua-c-ink);
}
.lua-social__bar {
  display: block;
  margin-top: 6px;
  width: 100%;
  height: 5px;
  background: var(--lua-c-soft);
  overflow: hidden;
}
.lua-social__bar-fill {
  display: block;
  height: 100%;
  background: var(--lua-c-sale);
  opacity: 0.75;
  transition: width 0.4s ease;
}

/* --- Actions --- */
.lua-pdp__actions {
  display: flex;
  align-items: stretch;
  gap: 8px;
  margin-top: 18px;
}
.lua-pdp__actions .lua-qty { flex: 0 0 auto; }
.lua-pdp__actions .lua-qty__btn { width: 30px; }
.lua-pdp__actions .lua-qty__input { width: 34px; }
.lua-pdp__add {
  flex: 1 1 auto;
  min-width: 0;
  padding: 12px 14px;
  font-size: 14px;
  height: 47px;
  min-height: 47px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lua-wish {
  flex: 0 0 47px;
  width: 47px;
  height: 47px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--lua-c-border);
  background: #fff;
  color: var(--lua-c-ink);
  cursor: pointer;
  transition: border-color var(--lua-c-dur) ease, color var(--lua-c-dur) ease;
}
.lua-wish .lua-icon { width: 20px; height: 20px; }
.lua-wish:hover { border-color: var(--lua-c-ink); }
.lua-wish[aria-pressed="true"] { color: var(--lua-c-sale); border-color: var(--lua-c-sale); }
.lua-wish[aria-pressed="true"] .lua-icon path { fill: currentColor; }

.lua-pdp__delivery {
  margin: 12px 0 0;
  font-size: 13px;
  color: var(--lua-c-ash);
}

/* --- USP --- */
.lua-usp { margin: 26px 0 0; }
.lua-usp__title { margin: 0 0 16px; font-size: 16px; font-weight: 700; }
.lua-usp__list { margin: 0; padding: 0; list-style: none; }
.lua-usp__item {
  display: flex;
  align-items: center;
  margin: 16px 0;
  line-height: 1.4;
}
.lua-usp__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 29px;
  height: 29px;
  margin-right: 16px;
  border-radius: 50%;
  background: var(--lua-c-soft);
  color: var(--lua-c-ink);
}
.lua-usp__icon .lua-icon { width: 15px; height: 15px; }
.lua-usp__text { font-size: 16px; font-weight: 400; line-height: 1.4; }
.lua-usp__benefits {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: 8px 12px;
  width: 100%;
  padding: 8px;
  background: #f7f7f7;
}
.lua-usp__benefit { display: flex; align-items: center; line-height: 1.4; }
.lua-usp__benefit .lua-usp__icon {
  width: 22px;
  height: 22px;
  margin-right: 0;
  background: transparent;
}
.lua-usp__benefit .lua-usp__text { padding: 0 16px; font-size: 14px; }

/* --- Accordions --- */
.lua-accordions { margin-top: 30px; border-top: 1px solid var(--lua-c-border); }
.lua-acc { border-bottom: 1px solid var(--lua-c-border); }
.lua-acc__trigger {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 0;
  min-height: 50px;
  cursor: pointer;
  list-style: none;
}
.lua-acc__trigger::-webkit-details-marker { display: none; }
.lua-acc__title {
  flex: 1 1 auto;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--lua-c-ink);
}
.lua-acc__icon { display: inline-flex; color: var(--lua-c-ink); transition: transform var(--lua-c-dur) ease; }
.lua-acc__icon .lua-icon { width: 14px; height: 14px; }
.lua-acc[open] .lua-acc__icon { transform: rotate(180deg); }
.lua-acc__panel { padding: 0 10px; }
.lua-acc__content {
  margin: 0 0 15px;
  font-size: 14px;
  line-height: 1.8;
  color: var(--lua-c-ink);
}
.lua-acc__content p { margin: 0 0 10px; }
.lua-acc__content p:last-child { margin-bottom: 0; }
.lua-acc__material { font-size: 14px; }

/* --- Reviews (static) --- */
.lua-reviews { max-width: var(--lua-c-page); margin: 40px auto 0; padding: 0 var(--lua-c-gutter); }
.lua-reviews__inner {
  background: var(--lua-c-blush);
  padding: 40px 24px;
  text-align: center;
}
.lua-reviews__title {
  margin: 0 0 16px;
  font-family: var(--lua-font-display, var(--lua-c-font));
  font-size: 22px;
  font-weight: 600;
}
.lua-reviews__summary { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.lua-reviews__meta { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; }

/* --- Related rail --- */
.lua-related {
  max-width: var(--lua-c-page);
  margin: 0 auto;
  padding: 40px var(--lua-c-gutter) 56px;
}
.lua-related__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}
.lua-related__title {
  margin: 0;
  font-family: var(--lua-font-display, var(--lua-c-font));
  font-size: 22px;
  font-weight: 600;
}
.lua-related__nav { display: flex; gap: 8px; }
.lua-related__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--lua-c-border);
  background: #fff;
  color: var(--lua-c-ink);
  border-radius: 50%;
  cursor: pointer;
}
.lua-related__arrow .lua-icon { width: 16px; height: 16px; }
.lua-related__arrow:disabled { opacity: 0.35; cursor: default; }
.lua-related__rail {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.lua-related__rail::-webkit-scrollbar { display: none; }
.lua-related__rail > * {
  flex: 0 0 calc((100% - 24px) / 4);
  scroll-snap-align: start;
  min-width: 0;
}

/* --- Lightbox --- */
.lua-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lua-lightbox[hidden] { display: none; }
.lua-lightbox__overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.78); }
.lua-lightbox__dialog {
  position: relative;
  z-index: 1;
  width: min(92vw, 1000px);
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lua-lightbox__track { width: 100%; height: 100%; }
.lua-lightbox__slide { display: none; margin: 0; }
.lua-lightbox__slide.is-active { display: block; }
.lua-lightbox__slide img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  max-height: 88vh;
  width: auto;
  height: auto;
  object-fit: contain;
}
.lua-lightbox__close {
  position: absolute;
  top: -46px;
  right: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
}
.lua-lightbox__close .lua-icon { width: 20px; height: 20px; }
.lua-lightbox__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  color: var(--lua-c-ink);
  cursor: pointer;
}
.lua-lightbox__nav .lua-icon { width: 16px; height: 16px; }
.lua-lightbox__nav--prev { left: -52px; }
.lua-lightbox__nav--next { right: -52px; }
.lua-lightbox__counter {
  position: absolute;
  bottom: -34px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 13px;
}

/* --- Mobile sticky add to cart --- */
.lua-stickybar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 90;
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 15px;
  background: #fff;
  box-shadow: 0 -3px 7px 0 rgba(35, 35, 35, 0.1);
  transform: translateY(105%);
  transition: transform 0.3s ease;
}
.lua-stickybar.is-visible { transform: translateY(0); }
.lua-stickybar__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lua-stickybar__name {
  font-size: 12px;
  color: var(--lua-c-ash);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lua-stickybar__price { display: flex; align-items: baseline; gap: 8px; font-size: 13px; }
.lua-stickybar__price .lua-price__sale { font-size: 15px; font-weight: 700; color: var(--lua-c-sale); }
.lua-stickybar__btn { min-height: 42px; padding: 8px 18px; font-size: 13px; flex: 0 0 auto; }

/* =========================================================================
 * Cart drawer
 * ====================================================================== */
.lua-cart-drawer {
  position: fixed;
  inset: 0;
  z-index: 950;
}
.lua-cart-drawer[hidden] { display: none; }
.lua-cart-drawer__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  transition: opacity var(--lua-c-dur) ease;
}
.lua-cart-drawer.is-open .lua-cart-drawer__overlay { opacity: 1; }
.lua-cart-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(450px, 100vw);
  max-width: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
  box-shadow: -4px 0 24px rgba(35, 35, 35, 0.12);
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  outline: none;
}
.lua-cart-drawer.is-open .lua-cart-drawer__panel { transform: translateX(0); }
.lua-cart-drawer__head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 20px 16px;
  border-bottom: 1px solid var(--lua-c-border);
}
.lua-cart-drawer__title { flex: 1 1 auto; margin: 0; font-size: 20px; font-weight: 600; }
.lua-cart-drawer__count { font-size: 13px; color: var(--lua-c-ash); }
.lua-cart-drawer__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-right: -8px;
  border: 0;
  background: transparent;
  color: var(--lua-c-ink);
  cursor: pointer;
}
.lua-cart-drawer__close .lua-icon { width: 18px; height: 18px; }
.lua-cart-drawer__body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 16px 20px;
  -webkit-overflow-scrolling: touch;
}
.lua-cart-drawer__added-slot:empty { display: none; }
.lua-cart-drawer__foot {
  flex: 0 0 auto;
  padding: 16px 20px 20px;
  border-top: 1px solid var(--lua-c-border);
  background: #fff;
}
.lua-cart-drawer__checkout { width: 100%; margin-top: 14px; }
.lua-cart-drawer__items .lua-line:last-child { border-bottom: 0; }
.lua-cart-drawer__empty .lua-cart-empty { padding: 30px 0; }

/* --- Added-to-cart card --- */
.lua-added {
  margin-bottom: 18px;
  padding: 14px;
  background: var(--lua-c-blush);
  border: 1px solid var(--lua-c-border);
}
.lua-added__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 600;
}
.lua-added__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--lua-c-teal);
  color: #fff;
}
.lua-added__check .lua-icon { width: 11px; height: 11px; }
.lua-added__item { display: flex; gap: 12px; }
.lua-added__media {
  flex: 0 0 72px;
  width: 72px;
  height: 90px;
  object-fit: cover;
  background: var(--lua-c-soft);
}
.lua-added__body { min-width: 0; }
.lua-added__title { margin: 0; font-size: 14px; font-weight: 500; line-height: 1.35; }
.lua-added__variant { margin: 3px 0 0; font-size: 12px; color: var(--lua-c-ash); }
.lua-added__price { margin: 6px 0 0; font-size: 13px; }
.lua-added__qty { color: var(--lua-c-ash); }
.lua-added__link { min-height: 38px; padding: 8px 16px; font-size: 13px; margin-top: 12px; width: 100%; }

/* --- Cart lines (drawer) --- */
.lua-line {
  position: relative;
  display: flex;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid var(--lua-c-border);
}
.lua-line__media {
  flex: 0 0 80px;
  width: 80px;
  aspect-ratio: 4 / 5;
  background: var(--lua-c-soft);
  overflow: hidden;
}
.lua-line__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lua-line__body { flex: 1 1 auto; min-width: 0; padding-right: 24px; }
.lua-line__title {
  display: block;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  color: var(--lua-c-ink);
  text-decoration: none;
}
.lua-line__variant { margin: 3px 0 0; font-size: 12px; color: var(--lua-c-ash); }
.lua-line__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; }
.lua-line__price { font-size: 14px; font-weight: 500; }
.lua-line__remove {
  position: absolute;
  right: 0;
  bottom: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--lua-c-ash);
  cursor: pointer;
}
.lua-line__remove .lua-icon { width: 15px; height: 15px; }
.lua-line__remove:hover { color: var(--lua-c-ink); }

/* --- Totals --- */
.lua-totals { font-size: 14px; }
.lua-totals__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.lua-totals__label { color: var(--lua-c-ash); }
.lua-totals__value { font-weight: 500; }
.lua-totals__row--total { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--lua-c-border); }
.lua-totals__row--total .lua-totals__label { color: var(--lua-c-ink); font-size: 15px; font-weight: 600; }
.lua-totals__row--total .lua-totals__value { font-size: 16px; font-weight: 700; }
.lua-totals__tax { margin: 4px 0 0; font-size: 11px; line-height: 1.5; color: var(--lua-c-ash); }

/* =========================================================================
 * Cart page
 * ====================================================================== */
.lua-cart-page {
  max-width: var(--lua-c-page);
  margin: 0 auto;
  padding: 32px var(--lua-c-gutter) 64px;
}
.lua-cart-page__head {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin-bottom: 26px;
}
.lua-cart-page__title {
  margin: 0;
  font-family: var(--lua-font-display, var(--lua-c-font));
  font-size: 30px;
  font-weight: 600;
}
.lua-cart-page__count { font-size: 14px; color: var(--lua-c-ash); }
.lua-cart-page__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 48px;
  align-items: start;
}
.lua-cart-page__items { border-top: 1px solid var(--lua-c-border); }
.lua-cart-line {
  display: flex;
  gap: 18px;
  padding: 20px 0;
  border-bottom: 1px solid var(--lua-c-border);
  position: relative;
}
.lua-cart-line__media {
  flex: 0 0 110px;
  width: 110px;
  aspect-ratio: 4 / 5;
  background: var(--lua-c-soft);
  overflow: hidden;
}
.lua-cart-line__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lua-cart-line__body { flex: 1 1 auto; min-width: 0; }
.lua-cart-line__title {
  display: block;
  font-size: 16px;
  font-weight: 500;
  color: var(--lua-c-ink);
  text-decoration: none;
  line-height: 1.35;
}
.lua-cart-line__variant { margin: 4px 0 0; font-size: 13px; color: var(--lua-c-ash); }
.lua-cart-line__unit { display: flex; align-items: baseline; gap: 8px; margin-top: 8px; font-size: 14px; }
.lua-cart-line__unit .lua-price__sale { font-weight: 500; }
.lua-cart-line__controls { display: flex; align-items: center; gap: 20px; margin-top: 14px; }
.lua-cart-line__remove {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  font-family: inherit;
  font-size: 12px;
  color: var(--lua-c-ash);
  cursor: pointer;
}
.lua-cart-line__remove:hover { color: var(--lua-c-ink); }
.lua-cart-line__remove .lua-icon { width: 13px; height: 13px; }
.lua-cart-line__total {
  flex: 0 0 90px;
  text-align: right;
  font-size: 16px;
  font-weight: 600;
  align-self: flex-start;
}
.lua-cart-page__continue {
  display: inline-block;
  margin-top: 18px;
  font-size: 13px;
  color: var(--lua-c-ink);
  text-decoration: underline;
  letter-spacing: 0.3px;
}
.lua-cart-page__aside {
  position: sticky;
  top: 24px;
  padding: 24px;
  background: var(--lua-c-blush);
}
.lua-cart-page__aside-title {
  margin: 0 0 16px;
  font-size: 16px;
  font-weight: 600;
}
.lua-cart-page__checkout { width: 100%; margin-top: 18px; }
.lua-cart-page__aside .lua-paystrip__list { justify-content: flex-start; }

/* Empty cart */
.lua-cart-empty { padding: 56px 0; text-align: center; }
.lua-cart-empty__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: var(--lua-c-blush);
}
.lua-cart-empty__icon .lua-icon { width: 26px; height: 26px; }
.lua-cart-empty__title { margin: 0 0 8px; font-size: 22px; font-weight: 600; }
.lua-cart-empty__text { margin: 0 0 22px; font-size: 14px; color: var(--lua-c-ash); }
.lua-cart-empty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }

/* =========================================================================
 * Checkout shell + form
 * ====================================================================== */
.lua-checkout-body {
  background: #fff;
  font-family: var(--lua-c-font);
  color: var(--lua-c-ink);
}
.lua-checkout-header { border-bottom: 1px solid var(--lua-c-border); background: #fff; }
.lua-checkout-header__inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  max-width: var(--lua-c-page);
  margin: 0 auto;
  padding: 14px var(--lua-c-gutter);
}
.lua-checkout-header__back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--lua-c-ink);
  text-decoration: none;
}
.lua-checkout-header__back-icon .lua-icon { width: 14px; height: 14px; }
.lua-checkout-header__back:hover { text-decoration: underline; }
.lua-checkout-header__logo { justify-self: center; display: inline-flex; }
.lua-checkout-header__logo img { display: block; height: 42px; width: auto; }
.lua-checkout-header__logo-text { font-size: 22px; font-weight: 600; letter-spacing: 3px; }
.lua-checkout-header__secure {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--lua-c-ash);
}
.lua-checkout-header__secure .lua-icon { width: 14px; height: 14px; }

.lua-checkout-main { padding: 40px 0 64px; }
.lua-checkout-wrap { max-width: var(--lua-c-page); margin: 0 auto; padding: 0 var(--lua-c-gutter); }

.lua-checkout__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 440px;
  gap: 56px;
  align-items: start;
}
.lua-checkout__main { max-width: 904px; }
.lua-checkout__section {
  padding: 0 0 26px;
  margin-bottom: 26px;
  border-bottom: 1px solid var(--lua-c-border);
}
.lua-checkout__section:last-child { border-bottom: 0; margin-bottom: 0; }
.lua-checkout__heading {
  margin: 0 0 16px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
}
.lua-checkout__heading--summary { font-size: 17px; }
.lua-checkout__note { margin: -6px 0 0; font-size: 13px; color: var(--lua-c-ash); line-height: 1.5; }
.lua-checkout__fields { display: flex; flex-wrap: wrap; gap: 0 12px; }
.lua-checkout__fields .form-row { width: 100%; margin: 0 0 12px; padding: 0; }
.lua-checkout__fields .form-row-first,
.lua-checkout__fields .form-row-last { width: calc(50% - 6px); }
.lua-checkout__fields .form-row-wide { width: 100%; }
.woocommerce-billing-fields__field-wrapper { display: flex; flex-wrap: wrap; gap: 0 12px; }

/* Checkout fields (Woo markup) */
.lua-checkout .form-row label {
  display: block;
  margin: 0 0 6px;
  font-size: 13px;
  color: var(--lua-c-ink);
}
.lua-checkout .form-row .required { color: var(--lua-c-sale); text-decoration: none; }
.lua-checkout .form-row input.input-text,
.lua-checkout .form-row select,
.lua-checkout .form-row textarea,
.lua-checkout .select2-selection {
  width: 100%;
  height: 48px;
  padding: 0 14px;
  border: 1px solid var(--lua-c-border);
  border-radius: 0;
  background: #fff;
  font-family: inherit;
  font-size: 15px;
  color: var(--lua-c-ink);
  outline: none;
  transition: border-color var(--lua-c-dur) ease;
  box-shadow: none;
}
.lua-checkout .form-row input.input-text:focus,
.lua-checkout .form-row select:focus,
.lua-checkout .form-row textarea:focus { border-color: var(--lua-c-ink); }
.lua-checkout .woocommerce-invalid input.input-text,
.lua-checkout .woocommerce-invalid select { border-color: var(--lua-c-sale); }
.lua-checkout .select2-container .select2-selection--single { height: 48px; padding: 0 14px; }
.lua-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 46px; padding: 0; }
.lua-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }
.lua-checkout .select2-dropdown { border-color: var(--lua-c-border); border-radius: 0; font-family: inherit; }
.lua-checkout .woocommerce-form__label-for-checkbox { font-size: 13px; }

/* Payment block */
.lua-payment__methods { margin: 0; padding: 0; list-style: none; }
.lua-payment__methods li.wc_payment_method {
  margin: 0 0 10px;
  padding: 14px 16px;
  border: 1px solid var(--lua-c-border);
  background: #fff;
}
.lua-payment__methods li.wc_payment_method > label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}
.lua-payment__methods li.wc_payment_method input.input-radio { margin: 0; accent-color: var(--lua-c-teal); }
.lua-payment__methods .payment_box {
  margin: 10px 0 0;
  padding: 10px 12px;
  background: #f8f4f0;
  font-size: 13px;
  line-height: 1.5;
}
.lua-payment__methods .payment_box::before { display: none; }
.lua-payment__note { margin: 14px 0 0; font-size: 12px; line-height: 1.6; color: var(--lua-c-ash); }

/* Order summary column */
.lua-checkout__aside {
  position: sticky;
  top: 24px;
  padding: 24px;
  background: var(--lua-c-blush);
}
.lua-checkout__summary { min-width: 0; }
.lua-checkout__summary .lua-review { width: 100%; border-collapse: collapse; }
.lua-review__head { display: none; }
.lua-review__item td { padding: 0 0 14px; vertical-align: top; }
.lua-review__product { display: flex; gap: 12px; }
.lua-review__media {
  position: relative;
  flex: 0 0 64px;
  width: 64px;
  height: 80px;
  background: var(--lua-c-soft);
}
.lua-review__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lua-review__qty {
  position: absolute;
  top: -8px;
  right: -8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 10px;
  background: var(--lua-c-ash);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
}
.lua-review__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lua-review__title { font-size: 13px; font-weight: 500; line-height: 1.35; }
.lua-review__variant { font-size: 12px; color: var(--lua-c-ash); }
.lua-review__unit { display: flex; align-items: baseline; gap: 6px; margin-top: 2px; font-size: 12px; }
.lua-review__item .product-total { text-align: right; font-size: 13px; font-weight: 500; white-space: nowrap; padding-left: 10px; }
.lua-review tfoot th,
.lua-review tfoot td {
  padding: 7px 0;
  font-size: 13px;
  text-align: left;
  font-weight: 400;
  vertical-align: top;
}
.lua-review tfoot td { text-align: right; font-weight: 500; }
.lua-review tr.cart-subtotal th { color: var(--lua-c-ash); }
.lua-review tr.order-total th { font-size: 15px; font-weight: 600; padding-top: 14px; border-top: 1px solid var(--lua-c-border); }
.lua-review tr.order-total td { font-size: 16px; font-weight: 700; padding-top: 14px; border-top: 1px solid var(--lua-c-border); }
.lua-review__taxnote { margin: 4px 0 0; font-size: 11px; color: var(--lua-c-ash); text-align: right; }

/* Shipping method radios inside the summary (Woo output) */
.lua-review .woocommerce-shipping-totals.shipping th { color: var(--lua-c-ash); }
.lua-review .woocommerce-shipping-totals.shipping td { text-align: right; }
.lua-review ul#shipping_method {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.lua-review ul#shipping_method li {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2px;
  margin: 0;
  font-size: 13px;
}
.lua-review ul#shipping_method li label { margin: 0; display: inline-flex; gap: 8px; align-items: center; cursor: pointer; }
.lua-review ul#shipping_method li input { margin: 0 8px 0 0; accent-color: var(--lua-c-teal); }
.lua-review .woocommerce-shipping-destination { margin: 6px 0 0; font-size: 12px; color: var(--lua-c-ash); }
.lua-review .woocommerce-shipping-calculator { display: none; }

/* Consent + submit */
.lua-checkout__consent { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--lua-c-border); }
.lua-consent { display: flex; flex-direction: column; gap: 12px; }
.lua-checkbox {
  position: relative;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 12px;
  line-height: 1.5;
  cursor: pointer;
}
.lua-checkbox input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 18px;
  height: 18px;
  margin: 0;
  cursor: pointer;
}
.lua-checkbox__box {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  border: 1px solid var(--lua-c-ink);
  background: #fff;
  position: relative;
}
.lua-checkbox input:checked + .lua-checkbox__box::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid var(--lua-c-ink);
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg);
}
.lua-checkbox input:focus-visible + .lua-checkbox__box { outline: 2px solid var(--lua-c-ink); outline-offset: 2px; }
.lua-checkbox__label a { color: inherit; text-decoration: underline; }
.lua-consent__privacy { margin: 0; font-size: 11px; line-height: 1.5; color: var(--lua-c-ash); }
.lua-consent__privacy a { color: var(--lua-c-ash); text-decoration: underline; }
.lua-checkout__submit { margin-top: 16px; }
.lua-checkout__place-order { width: 100%; min-height: 52px; font-size: 15px; }
.lua-checkout__place-order.loading { opacity: 0.65; pointer-events: none; }

/* Woo notices on checkout */
.lua-checkout .woocommerce-notices-wrapper,
.lua-checkout-notices { margin-bottom: 16px; }
.lua-checkout .woocommerce-message,
.lua-checkout .woocommerce-info,
.lua-checkout .woocommerce-error {
  margin: 0 0 10px;
  padding: 12px 44px 12px 16px;
  list-style: none;
  border: 1px solid var(--lua-c-border);
  background: #f8f4f0;
  font-size: 13px;
  line-height: 1.5;
}
.lua-checkout .woocommerce-error { border-color: var(--lua-c-sale); color: var(--lua-c-sale); }
.lua-checkout .woocommerce-error li { list-style: none; margin: 0 0 4px; }
.lua-checkout .woocommerce-error li:last-child { margin-bottom: 0; }

/* Checkout footer */
.lua-checkout-footer { border-top: 1px solid var(--lua-c-border); padding: 26px 0 34px; }
.lua-checkout-footer__inner {
  max-width: 700px;
  margin: 0 auto;
  padding: 0 var(--lua-c-gutter);
  text-align: center;
}
.lua-checkout-footer__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 18px;
  margin-bottom: 16px;
}
.lua-checkout-footer__links a { font-size: 12px; color: var(--lua-c-ink); text-decoration: none; }
.lua-checkout-footer__links a:hover { text-decoration: underline; }
.lua-checkout-footer .lua-paystrip__list { justify-content: center; }
.lua-checkout-footer__copy { margin: 14px 0 0; font-size: 11px; color: var(--lua-c-ash); }

/* Order received */
.lua-thankyou { max-width: 760px; margin: 0 auto; }
.lua-thankyou__card { padding: 32px; border: 1px solid var(--lua-c-border); background: #fff; }
.lua-thankyou__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin: 0 0 16px;
  border-radius: 50%;
  background: var(--lua-c-teal);
  color: #fff;
}
.lua-thankyou__check .lua-icon { width: 22px; height: 22px; }
.lua-thankyou__title { margin: 0 0 10px; font-family: var(--lua-font-display, var(--lua-c-font)); font-size: 26px; font-weight: 600; }
.lua-thankyou__number { margin: 0 0 10px; font-size: 14px; }
.lua-thankyou__text { margin: 0 0 6px; font-size: 14px; line-height: 1.6; color: var(--lua-c-ink); }
.lua-thankyou__email { margin: 0 0 22px; font-size: 13px; color: var(--lua-c-ash); }
.lua-thankyou__summary { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--lua-c-border); }
.lua-thankyou__summary-title { margin: 0 0 14px; font-size: 16px; font-weight: 600; }
.lua-thankyou__items { width: 100%; border-collapse: collapse; font-size: 13px; }
.lua-thankyou__item td { padding: 0 0 12px; vertical-align: top; text-align: left; }
.lua-thankyou__item-media { position: relative; width: 60px; }
.lua-thankyou__item-media img { display: block; width: 56px; height: 70px; object-fit: cover; background: var(--lua-c-soft); }
.lua-thankyou__item-qty {
  position: absolute;
  top: -7px;
  left: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 9px;
  background: var(--lua-c-ash);
  color: #fff;
  font-size: 10px;
  font-weight: 600;
}
.lua-thankyou__item-name { padding-left: 14px !important; font-weight: 500; }
.lua-thankyou__item-total { text-align: right !important; white-space: nowrap; }
.lua-thankyou__items tfoot th { text-align: left; font-weight: 400; color: var(--lua-c-ash); padding: 6px 0; }
.lua-thankyou__items tfoot td { text-align: right; font-weight: 500; padding: 6px 0; }
.lua-thankyou__total th, .lua-thankyou__total td { border-top: 1px solid var(--lua-c-border); padding-top: 12px !important; font-size: 15px; font-weight: 600; }
.lua-thankyou__tax { margin: 6px 0 0; font-size: 11px; color: var(--lua-c-ash); text-align: right; }
.lua-thankyou__actions { margin-top: 22px; }
.lua-thankyou .lua-conversion-mount { margin-top: 18px; }

/* =========================================================================
 * Responsive
 * ====================================================================== */
@media (max-width: 1312px) {
  :root { --lua-c-gutter: 30px; }
  .lua-pdp__info-col { padding-left: 28px; }
  .lua-cart-page__grid { grid-template-columns: minmax(0, 1fr) 340px; gap: 32px; }
  .lua-checkout__layout { gap: 36px; }
}

/* Tablet / mobile PDP (reference switches at 750px) */
@media (max-width: 989px) {
  .lua-pdp { padding-left: 15px; padding-right: 15px; padding-top: 8px; }
  .lua-pdp__layout { flex-direction: column; }
  .lua-pdp__media-col,
  .lua-pdp__info-col { flex: 1 1 auto; max-width: 100%; width: 100%; padding-left: 0; }
  .lua-gallery { margin: 0; }
  .lua-gallery__thumbs { display: none; }
  .lua-gallery__track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    gap: 0;
    margin: 0 -15px;
    width: calc(100% + 30px);
  }
  .lua-gallery__track::-webkit-scrollbar { display: none; }
  .lua-gallery__slide {
    display: block;
    flex: 0 0 100%;
    width: 100%;
    scroll-snap-align: start;
  }
  .lua-gallery__indicator { display: flex; margin: 0 -15px; width: calc(100% + 30px); }
  .lua-gallery__zoom-icon { display: none; }
  .lua-pdp__info { padding: 18px 0 0; }
  .lua-pdp__title { font-size: 22px; }
  .lua-pdp__actions { flex-wrap: nowrap; }
  .lua-usp__text { font-size: 14px; }
  .lua-related__rail > * { flex-basis: calc((100% - 8px) / 2); }
  .lua-reviews, .lua-related { padding-left: 15px; padding-right: 15px; }
  .lua-reviews { margin-top: 30px; }
  .lua-reviews__inner { padding: 28px 18px; }
  .lua-stickybar { display: flex; }
  .lua-page-pdp .lua-main { padding-bottom: 64px; }
  .lua-lightbox__nav--prev { left: 4px; }
  .lua-lightbox__nav--next { right: 4px; }
}

@media (max-width: 900px) {
  .lua-cart-page__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .lua-cart-page__aside { position: static; }
  .lua-checkout__layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .lua-checkout__aside { position: static; order: 2; }
  .lua-checkout__main { order: 1; max-width: none; }
  .lua-checkout-main { padding: 24px 0 40px; }
  .lua-checkout-header__inner { grid-template-columns: auto 1fr auto; padding: 12px 15px; }
  .lua-checkout-header__back-text { display: none; }
  .lua-checkout-header__secure-text { display: none; }
  .lua-checkout-wrap { padding: 0 15px; }
  .lua-checkout-footer__inner { padding: 0 15px; }
}

@media (max-width: 749px) {
  .lua-cart-page { padding: 20px 15px 44px; }
  .lua-cart-page__title { font-size: 24px; }
  .lua-cart-line { gap: 12px; }
  .lua-cart-line__media { flex-basis: 88px; width: 88px; }
  .lua-cart-line__total { flex-basis: auto; font-size: 15px; position: absolute; right: 0; top: 20px; }
  .lua-cart-line__body { padding-right: 74px; }
  .lua-cart-line__title { font-size: 14px; }
  .lua-pdp__save { font-size: 12px; }
  .lua-usp__benefits { flex-direction: column; align-items: flex-start; }
  .lua-thankyou__card { padding: 20px 16px; }
  .lua-thankyou__title { font-size: 22px; }
}

/* =========================================================================
 * Utility states + toasts
 * ====================================================================== */
html.lua-no-scroll,
body.lua-no-scroll { overflow: hidden !important; }

.lua-cart-drawer.is-updating .lua-cart-drawer__items,
.lua-cart-drawer.is-updating .lua-cart-drawer__totals { opacity: 0.55; transition: opacity 0.15s ease; }

.lua-added.is-visible { animation: luaAddedIn 0.25s ease; }
@keyframes luaAddedIn {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}

.lua-toast-host {
  position: fixed;
  left: 50%;
  bottom: 24px;
  z-index: 1100;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none;
  width: min(92vw, 420px);
}
.lua-toast {
  margin: 0;
  padding: 12px 16px;
  background: #222;
  color: #fff;
  font-family: var(--lua-c-font);
  font-size: 13px;
  line-height: 1.4;
  text-align: center;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.lua-toast.is-hiding { opacity: 0; transform: translateY(6px); }

/* Woo "added to cart" notices that we don't render ourselves */
.lua-page-pdp .woocommerce-notices-wrapper:empty { display: none; }

/* Added-to-cart card: subtitle + qty row */
.lua-added__subtitle { margin: 2px 0 0; font-size: 12px; color: var(--lua-c-ash); }
.lua-added__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; }
.lua-added__price { margin: 0; font-size: 13px; font-weight: 500; }

/* PDP add button loading state */
.lua-pdp__add.is-loading,
.lua-stickybar__btn.is-loading { opacity: 0.65; pointer-events: none; }

/* Checkout notices (Woo prints them above the form, inside the shell wrap) */
.lua-checkout-wrap .woocommerce-notices-wrapper,
.lua-checkout-wrap .woocommerce-NoticeGroup { margin-bottom: 18px; }
.lua-checkout-wrap .woocommerce-error,
.lua-checkout-wrap .woocommerce-info,
.lua-checkout-wrap .woocommerce-message {
  margin: 0 0 10px;
  padding: 12px 16px;
  list-style: none;
  border: 1px solid var(--lua-c-border);
  border-left: 3px solid var(--lua-c-teal);
  background: var(--lua-c-blush);
  font-family: var(--lua-c-font);
  font-size: 13px;
  line-height: 1.5;
  color: var(--lua-c-ink);
}
.lua-checkout-wrap .woocommerce-error { border-left-color: var(--lua-c-sale); color: var(--lua-c-sale); }
.lua-checkout-wrap .woocommerce-error li { list-style: none; margin: 0 0 4px; }
.lua-checkout-wrap .woocommerce-error li:last-child { margin-bottom: 0; }

/* Place order: dark brand CTA (checkout app palette) */
.lua-checkout__place-order { background: var(--lua-c-teal); color: #fff; }
.lua-checkout__place-order:hover { background: var(--lua-c-ink); color: #fff; }

/* Checkout selects: guarantee a visible native control (country field) */
.lua-checkout select,
.lua-checkout .form-row select,
.lua-checkout select.country_to_state,
.lua-checkout #billing_country {
  -webkit-appearance: auto;
  appearance: auto;
  display: block;
  width: 100%;
  height: 48px;
  min-height: 48px;
  padding: 0 14px !important;
  border: 1px solid var(--lua-c-border) !important;
  border-radius: 0 !important;
  background-color: #fff !important;
  background-image: none !important;
  color: var(--lua-c-ink) !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 46px;
  box-shadow: none !important;
  cursor: pointer;
}
.lua-checkout .woocommerce-input-wrapper { display: block; width: 100%; }
.lua-checkout .woocommerce-input-wrapper select { width: 100%; }

/* Guard against sub-pixel horizontal overflow on the commerce pages (QA 390 gate) */
body.lua-page-pdp,
body.lua-page-cart,
body.lua-page-checkout,
body.lua-checkout-body { overflow-x: clip; }
body.lua-page-pdp img,
body.lua-page-cart img,
body.lua-checkout-body img { max-width: 100%; }


/* payment area: neutral storefront background (Dawn color-scheme tint looked broken) */
.lua-payment,
#payment,
.lua-checkout__section--payment { background: #fff !important; }
.lua-payment__methods li.wc_payment_method { background: #fff; }
.lua-payment__methods .payment_box { background: #f8f4f0 !important; }
.lua-payment__methods .payment_box p { margin: 0; color: #5f5a55; font-size: 13px; line-height: 1.55; }
.lua-payment__methods .payment_box::before,
.lua-payment__methods .payment_box::after { display: none !important; }


/* PDP USP list: aligned vertical rows (was ragged because the list inherited flex+center) */
.lua-usp__list { display: block !important; width: 100%; }
.lua-usp__item { display: flex; align-items: center; width: 100%; margin: 0 0 14px; text-align: left; }
.lua-usp__item:last-child { margin-bottom: 0; }
.lua-usp__icon { flex: 0 0 auto; width: 29px; height: 29px; margin-right: 14px; border-radius: 50%; background: #f4ede8; color: #222; display: inline-flex; align-items: center; justify-content: center; }
.lua-usp__text { font-size: 15px; line-height: 1.45; color: var(--lua-ink); }
.lua-usp__benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 12px 14px; margin-top: 20px; background: #f4ede8; }
.lua-usp__benefit { display: flex; align-items: center; gap: 10px; text-align: left; }
.lua-usp__benefit .lua-usp__icon { width: 22px; height: 22px; margin: 0; background: transparent; }
.lua-usp__benefit .lua-usp__text { padding: 0; font-size: 13px; color: var(--lua-ink); }
@media screen and (max-width: 749px) {
  .lua-usp__benefits { grid-template-columns: 1fr; }
}


/* =========================================================================
   Reference-style payment card (checkout):
   white rounded card, method title, 4-column brand-tile grid, note below.
   ========================================================================= */
.lua-payment--card { background: transparent !important; padding: 0 !important; }
.lua-payment__card {
  background: #fff;
  border: 1px solid rgba(18, 18, 18, 0.10);
  border-radius: 12px;
  padding: 26px 28px;
}
.lua-payment--card .lua-payment__methods { list-style: none; margin: 0 0 20px; padding: 0; border: 0; }
.lua-payment--card .lua-payment__methods li.wc_payment_method { border: 0; padding: 0; margin: 0; background: transparent; }
.lua-payment--card.lua-payment--single .wc_payment_method input.input-radio { display: none !important; }
.lua-payment--card.lua-payment--single .wc_payment_method label {
  display: block;
  margin: 0;
  font-family: var(--lua-font-body);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--lua-ink);
  cursor: default;
}
.lua-payment--card.lua-payment--single .wc_payment_method label img,
.lua-payment--card.lua-payment--single .wc_payment_method label svg:not(.icon) { display: none !important; }
.lua-payment--card .payment_box { display: none !important; }

.lua-paygrid .lua-paystrip__title { display: none; }
.lua-paygrid .lua-paystrip__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.lua-paygrid .lua-paystrip__item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 62px;
  padding: 12px;
  border: 1px solid rgba(18, 18, 18, 0.10);
  border-radius: 10px;
  background: #fff;
}
.lua-paygrid .lua-paystrip__item img { width: auto; max-width: 100%; max-height: 26px; height: auto; }
.lua-payment__desc { margin: 20px 0 0; font-size: 13px; line-height: 1.65; color: #5f5a55; text-align: left; }
.lua-payment--card + .lua-payment__note,
.lua-payment__card > .lua-payment__note { margin: 12px 0 0; font-size: 12px; color: #6b6b6b; }
@media screen and (max-width: 749px) {
  .lua-payment__card { padding: 20px 18px; border-radius: 10px; }
  .lua-paygrid .lua-paystrip__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lua-paygrid .lua-paystrip__item { min-height: 56px; padding: 10px; }
  .lua-payment--card.lua-payment--single .wc_payment_method label { font-size: 17px; }
}
