/* ==========================================================================
   AURA Atelier — WooCommerce presentation
   Product card, catalog, PDP, cart, checkout, account portal.
   ========================================================================== */

.aura-wc-wrap { padding-block: 2rem 4rem; }

/* --------------------------------------------------------------------------
   Monetary values — one numeric treatment everywhere
   --------------------------------------------------------------------------
   Every amount WooCommerce renders carries .woocommerce-Price-amount, so this
   single rule covers product and sale prices, line totals, Subtotal, Shipping,
   VAT and the grand total on the shop, PDP, drawer, cart and checkout.

   lining-nums keeps digits at a uniform cap height (a serif fallback such as
   Georgia defaults to oldstyle figures that hop above and below the baseline);
   tabular-nums gives every digit the same advance width so stacked figures line
   up on the decimal point.

   Scoped to price elements only — headings, product names and the rest of the
   AURA display typography are untouched. Family and weight are deliberately not
   set here, so each price keeps its own emphasis and inherits the body sans.
   -------------------------------------------------------------------------- */
.woocommerce-Price-amount {
  font-variant-numeric: lining-nums tabular-nums;
}

/* ==========================================================================
   Product card
   ========================================================================== */

.aura-product-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
}
@media (min-width: 480px) { .aura-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) {
  .aura-product-grid[data-cols="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aura-product-grid[data-cols="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .aura-product-grid[data-cols="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.aura-product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--aura-canvas);
  border: 1px solid var(--aura-hairline);
  box-shadow: var(--aura-shadow-soft);
  transition: border-color .3s var(--aura-ease), box-shadow .3s var(--aura-ease);
}
.aura-product-card:hover { border-color: var(--aura-ink); }

/* Media */
.aura-product-card__media {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: var(--aura-surface);
}
.aura-product-card__link { display: block; width: 100%; height: 100%; }
.aura-product-card__img,
.aura-product-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s var(--aura-ease-out);
}
.aura-product-card:hover .aura-product-card__img { transform: scale(1.05); }

/* Badges */
.aura-product-card__badges {
  position: absolute;
  top: .75rem; left: .75rem;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .375rem;
  pointer-events: none;
}

/* Wishlist */
.aura-product-card__wish {
  position: absolute;
  top: .75rem; right: .75rem;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px; height: 34px;
  background: rgba(255, 255, 255, .8);
  backdrop-filter: blur(8px);
  color: var(--aura-ink);
  box-shadow: var(--aura-shadow-md);
  transition: background-color .2s var(--aura-ease), color .2s var(--aura-ease);
}
.aura-product-card__wish:hover { background: var(--aura-ink); color: #fff; }
.aura-product-card__wish.is-active { background: var(--aura-ink); color: var(--aura-gold); }
.aura-product-card__wish.is-active svg { fill: var(--aura-gold); }

/* Hover action bar */
.aura-product-card__actions {
  position: absolute;
  left: .75rem; right: .75rem; bottom: .75rem;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: .5rem;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .3s var(--aura-ease), transform .3s var(--aura-ease);
}
.aura-product-card:hover .aura-product-card__actions,
.aura-product-card:focus-within .aura-product-card__actions { opacity: 1; transform: none; }

/* Touch devices have no hover: keep the bar visible. */
@media (hover: none) {
  .aura-product-card__actions { opacity: 1; transform: none; }
}

.aura-product-card__quickview {
  flex: 1 1 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .375rem;
  min-height: 40px;
  padding: .625rem .75rem;
  background: var(--aura-ink);
  color: #fff;
  font-size: .625rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: var(--aura-track-wide);
  box-shadow: var(--aura-shadow-md);
  transition: background-color .2s var(--aura-ease);
}
.aura-product-card__quickview:hover { background: var(--aura-ink-hover); }

.aura-product-card__add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  flex-shrink: 0;
  background: var(--aura-gold);
  color: #fff;
  box-shadow: var(--aura-shadow-md);
  transition: background-color .2s var(--aura-ease);
}
.aura-product-card__add:hover { background: var(--aura-gold-dark); }
.aura-product-card__add.is-loading { opacity: .6; pointer-events: none; }

.aura-product-card__oos {
  position: absolute;
  inset-inline: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  padding: .5rem;
  background: rgba(26, 26, 26, .82);
  color: #fff;
  text-align: center;
  font-size: .625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--aura-track-wide);
}

/* Body */
.aura-product-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: space-between;
  gap: .75rem;
  padding: 1rem;
  background: var(--aura-canvas);
}

.aura-product-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  font-size: .625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--aura-track-wide);
  color: var(--aura-gold);
  min-height: 1rem;
}
.aura-product-card__collection { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aura-product-card__rating { display: inline-flex; align-items: center; gap: .25rem; color: var(--aura-ink); }
.aura-product-card__rating svg { color: var(--aura-gold); }
.aura-product-card__rating span { font-size: .75rem; font-weight: 600; }

.aura-product-card__title {
  margin-top: .25rem;
  font-family: var(--aura-font-serif);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3;
  color: var(--aura-ink);
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
}
.aura-product-card__title a { transition: opacity .2s var(--aura-ease); }
.aura-product-card__title a:hover { opacity: .6; }

.aura-product-card__excerpt {
  margin-top: .25rem;
  font-size: .75rem;
  font-weight: 300;
  color: var(--aura-ink-60);
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
}

/* Swatches */
.aura-product-card__swatches {
  display: flex;
  align-items: center;
  gap: .375rem;
  padding-block: .25rem;
  flex-wrap: wrap;
}
.aura-swatch {
  width: 14px; height: 14px;
  flex-shrink: 0;
  border: 1px solid var(--aura-ink-25);
  background: var(--swatch, var(--aura-border));
  transition: transform .2s var(--aura-ease), box-shadow .2s var(--aura-ease);
}
.aura-swatch:hover { transform: scale(1.1); }
.aura-swatch.is-active {
  transform: scale(1.1);
  border-color: transparent;
  box-shadow: 0 0 0 1px var(--aura-canvas), 0 0 0 2px var(--aura-ink);
}
.aura-product-card__shades {
  margin-left: .25rem;
  font-size: .625rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--aura-ink-40);
}

.aura-product-card__price {
  display: flex;
  align-items: baseline;
  gap: .5rem;
  margin-top: .5rem;
  padding-top: .5rem;
  border-top: 1px solid var(--aura-hairline);
  font-size: .875rem;
  font-weight: 700;
  color: var(--aura-ink);
}
.aura-product-card__price .woocommerce-Price-amount { font-weight: 700; }
/* WooCommerce prints <del>original</del><ins>sale</ins>; the source shows the
   current price first with the original struck through beside it. */
.aura-product-card__price del {
  order: 2;
  font-size: .75rem;
  font-weight: 400;
  color: var(--aura-ink-40);
  text-decoration: line-through;
}
.aura-product-card__price ins { order: 1; text-decoration: none; }
.aura-product-card__price .from,
.aura-product-card__price small { font-weight: 400; font-size: .6875rem; color: var(--aura-muted); }

/* ==========================================================================
   Shop archive
   ========================================================================== */

.aura-shop { padding-block: 2rem 4rem; display: flex; flex-direction: column; gap: 2rem; }

.aura-shop__hero {
  position: relative;
  overflow: hidden;
  padding: 2rem;
  background: var(--aura-ink);
  color: #fff;
  box-shadow: var(--aura-shadow-lg);
}
@media (min-width: 768px) { .aura-shop__hero { padding: 3rem; } }

.aura-shop__hero-inner { position: relative; z-index: 1; max-width: 36rem; }
.aura-shop__hero-eyebrow { color: var(--aura-border); }
.aura-shop__hero-title {
  margin-top: .5rem;
  font-family: var(--aura-font-serif);
  font-size: clamp(1.875rem, 1.2rem + 2.2vw, 3rem);
  font-weight: 300;
  line-height: 1.15;
  color: #fff;
}
.aura-shop__hero-text {
  margin-top: .75rem;
  font-size: .875rem;
  font-weight: 300;
  line-height: 1.7;
  color: var(--aura-border);
}

/* Control bar */
.aura-shop__bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--aura-hairline);
}

.aura-shop__filter-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 42px;
  padding: .625rem 1rem;
  background: #fff;
  border: 1px solid var(--aura-hairline);
  font-size: .75rem;
  font-weight: 600;
  color: var(--aura-ink);
}
.aura-shop__filter-btn svg { color: var(--aura-gold); }
@media (min-width: 1024px) { .aura-shop__filter-btn { display: none; } }

.aura-shop__count { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.aura-shop__count-text { font-size: .75rem; color: var(--aura-ink); }
.aura-shop__count-text strong { font-weight: 700; }

.aura-shop__reset {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  font-size: .75rem;
  color: var(--aura-gold);
}
.aura-shop__reset:hover { text-decoration: underline; }

.aura-shop__controls { display: flex; align-items: center; gap: 1rem; margin-left: auto; }

.aura-density {
  display: none;
  align-items: center;
  gap: .25rem;
  padding: .25rem;
  background: var(--aura-surface);
  border: 1px solid var(--aura-hairline);
}
@media (min-width: 768px) { .aura-density { display: flex; } }

.aura-density__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px; height: 32px;
  color: var(--aura-ink-40);
  transition: background-color .2s var(--aura-ease), color .2s var(--aura-ease);
}
.aura-density__btn:hover { color: var(--aura-ink); }
.aura-density__btn.is-active { background: #fff; color: var(--aura-ink); box-shadow: var(--aura-shadow-md); }

.aura-shop__sort { display: flex; align-items: center; gap: .5rem; }
.aura-shop__sort-label { font-size: .75rem; color: var(--aura-muted); display: none; }
@media (min-width: 640px) { .aura-shop__sort-label { display: inline; } }

.aura-field--sm { min-height: 38px; padding-block: .375rem; font-size: .75rem; font-weight: 600; }
/* Same iOS focus-zoom guard as .aura-field. The 38px min-height still holds. */
@media (max-width: 767px) {
  .aura-field--sm { font-size: 16px; }
}

/* Layout */
.aura-shop__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: start;
}
@media (min-width: 1024px) { .aura-shop__layout { grid-template-columns: 3fr 9fr; } }

.aura-shop__sidebar { display: none; }
@media (min-width: 1024px) {
  .aura-shop__sidebar { display: block; position: sticky; top: calc(var(--aura-header-h) + 1rem); }
}
.aura-shop__main { min-width: 0; }

/* ==========================================================================
   Filters
   ========================================================================== */

.aura-filters {
  background: #fff;
  border: 1px solid var(--aura-hairline);
  padding: 1.5rem;
}
.aura-filters__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--aura-hairline);
}
.aura-filters__title {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--aura-font-serif);
  font-size: 1.125rem;
  font-weight: 400;
  color: var(--aura-ink);
}
.aura-filters__title svg { color: var(--aura-gold); }
.aura-filters__clear { font-size: .6875rem; color: var(--aura-gold); }
.aura-filters__clear:hover { text-decoration: underline; }

.aura-filters__group { padding-top: 1.25rem; margin-top: 1.25rem; border-top: 1px solid var(--aura-hairline); }
.aura-filters__group:first-of-type { border-top: 0; }

.aura-filters__label {
  margin-bottom: .625rem;
  font-size: .6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--aura-gold);
}
.aura-filters__label-row { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.aura-filters__label-row .aura-filters__label { margin-bottom: 0; }
.aura-filters__price { font-size: .75rem; font-weight: 700; color: var(--aura-ink); }

.aura-filters__list { display: flex; flex-direction: column; gap: .125rem; }

.aura-check--row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  width: 100%;
  min-height: 34px;
  padding-block: .25rem;
  color: var(--aura-muted-2);
  transition: color .2s var(--aura-ease);
}
.aura-check--row:hover { color: var(--aura-gold); }
.aura-check__main { display: inline-flex; align-items: center; gap: .5rem; }
.aura-check__count { font-size: .625rem; color: var(--aura-ink-40); }
.aura-check--sale { color: var(--aura-sale-ink); font-weight: 600; }

/* Segmented control */
.aura-segmented {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .25rem;
  padding: .25rem;
  background: var(--aura-surface);
  border: 1px solid var(--aura-hairline);
}
.aura-segmented__item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  font-size: .75rem;
  font-weight: 600;
  color: var(--aura-muted-2);
  cursor: pointer;
  transition: background-color .2s var(--aura-ease), color .2s var(--aura-ease);
}
.aura-segmented__item input { position: absolute; opacity: 0; pointer-events: none; }
.aura-segmented__item:hover { color: var(--aura-ink); }
.aura-segmented__item.is-active { background: var(--aura-ink); color: #fff; }

/* Size chips */
.aura-size-filter { display: flex; flex-wrap: wrap; gap: .375rem; }
.aura-size-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  min-height: 32px;
  padding: .25rem .625rem;
  border: 1px solid var(--aura-hairline);
  font-size: .6875rem;
  font-weight: 600;
  color: var(--aura-muted-2);
  cursor: pointer;
  transition: all .2s var(--aura-ease);
}
.aura-size-chip input { position: absolute; opacity: 0; pointer-events: none; }
.aura-size-chip:hover { border-color: var(--aura-gold); color: var(--aura-ink); }
.aura-size-chip.is-active { background: var(--aura-ink); border-color: var(--aura-ink); color: #fff; }

.aura-filters__apply-price {
  margin-top: .25rem;
  font-size: .6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--aura-gold);
}
.aura-filters__apply-price:hover { text-decoration: underline; }
/* With JS the range auto-applies on release, so the button is a no-JS aid. */
.js .aura-filters__apply-price { display: none; }

.aura-filters__group--toggle { display: flex; flex-direction: column; gap: .25rem; }

/* Mobile filter drawer */
.aura-filter-drawer {
  position: fixed;
  inset-block: 0;
  right: 0;
  z-index: calc(var(--aura-z-overlay) + 1);
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 22rem;
  background: var(--aura-panel);
  box-shadow: var(--aura-shadow-2xl);
  animation: aura-slide-right .3s var(--aura-ease-out) both;
}
.aura-filter-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem;
  border-bottom: 1px solid var(--aura-hairline);
  background: #fff;
  flex-shrink: 0;
}
.aura-filter-drawer__body { flex: 1 1 auto; overflow-y: auto; padding: 1rem; }
.aura-filter-drawer__body .aura-filters { border: 0; padding: 0; background: transparent; }
.aura-filter-drawer__foot {
  padding: 1rem;
  border-top: 1px solid var(--aura-hairline);
  background: #fff;
  flex-shrink: 0;
}

/* ==========================================================================
   Product detail page
   ========================================================================== */

.aura-pdp { padding-block: 2rem 4rem; display: flex; flex-direction: column; gap: 4rem; }

.aura-pdp__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: start;
}
@media (min-width: 1024px) { .aura-pdp__layout { grid-template-columns: 7fr 5fr; gap: 3rem; } }

/* Gallery */
.aura-pdp__stage {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: var(--aura-surface);
  border: 1px solid var(--aura-hairline);
}
.aura-pdp__image { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--aura-ease); }
.aura-pdp__stage:hover .aura-pdp__image { transform: scale(1.05); }

.aura-pdp__flags {
  position: absolute;
  top: 1rem; left: 1rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .375rem;
  z-index: 2;
}

.aura-pdp__thumbs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .75rem;
  margin-top: .75rem;
}
.aura-pdp__thumb {
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border: 2px solid transparent;
  opacity: .7;
  transition: opacity .2s var(--aura-ease), border-color .2s var(--aura-ease), transform .2s var(--aura-ease);
  background: var(--aura-surface);
}
.aura-pdp__thumb img { width: 100%; height: 100%; object-fit: cover; }
.aura-pdp__thumb:hover { opacity: 1; }
.aura-pdp__thumb.is-active { opacity: 1; border-color: var(--aura-gold); box-shadow: var(--aura-shadow-md); }

/* Buy box */
.aura-pdp__buybox {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 1.5rem;
  background: #fff;
  border: 1px solid var(--aura-hairline);
}
@media (min-width: 640px)  { .aura-pdp__buybox { padding: 2rem; } }
@media (min-width: 1024px) { .aura-pdp__buybox { position: sticky; top: calc(var(--aura-header-h) + 1.5rem); } }

.aura-pdp__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  font-size: .6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--aura-gold);
}
.aura-pdp__collection { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aura-pdp__rating { display: inline-flex; align-items: center; gap: .25rem; color: var(--aura-ink); text-transform: none; letter-spacing: 0; }
.aura-pdp__rating svg { color: var(--aura-gold); }
.aura-pdp__rating span { color: var(--aura-ink-40); font-weight: 400; font-size: .75rem; }

.aura-pdp__title {
  margin-top: .5rem;
  font-family: var(--aura-font-serif);
  font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.25rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--aura-ink);
}

.aura-pdp__short { margin-top: .5rem; font-size: .75rem; line-height: 1.7; color: var(--aura-muted); }
.aura-pdp__short p + p { margin-top: .5rem; }

.aura-pdp__price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--aura-hairline);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--aura-ink);
}
.aura-pdp__price > span:first-child { display: inline-flex; align-items: baseline; gap: .75rem; flex-wrap: wrap; }
.aura-pdp__price del { order: 2; font-size: .875rem; font-weight: 400; color: var(--aura-ink-40); }
.aura-pdp__price ins { order: 1; text-decoration: none; }
.aura-pdp__price .aura-badge { align-self: center; }

/* Option groups */
.aura-pdp__form { display: flex; flex-direction: column; gap: 1.5rem; }

.aura-option-group__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .625rem;
}
.aura-option-group__label {
  font-size: .6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--aura-ink);
}
.aura-option-group__value { color: var(--aura-gold); font-weight: 400; text-transform: none; letter-spacing: 0; }
.aura-option-group__guide {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  font-size: .6875rem;
  color: var(--aura-gold);
}
.aura-option-group__guide:hover { text-decoration: underline; }

.aura-option-list { display: flex; flex-wrap: wrap; gap: .5rem; }
.aura-option-list--chips { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (min-width: 480px) { .aura-option-list--chips { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

.aura-color-option {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 40px;
  padding: .5rem .875rem;
  border: 1px solid var(--aura-hairline);
  font-size: .75rem;
  font-weight: 500;
  color: var(--aura-muted-2);
  transition: all .2s var(--aura-ease);
}
.aura-color-option__dot {
  width: 14px; height: 14px;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, .2);
  background: var(--swatch, var(--aura-border));
  flex-shrink: 0;
}
.aura-color-option:hover { border-color: var(--aura-gold); }
.aura-color-option.is-active {
  border-color: var(--aura-gold);
  background: var(--aura-surface);
  color: var(--aura-ink);
  box-shadow: var(--aura-shadow-md);
}

.aura-chip-option {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .625rem .5rem;
  border: 1px solid var(--aura-hairline);
  font-size: .75rem;
  font-weight: 700;
  color: var(--aura-ink);
  transition: all .2s var(--aura-ease);
}
.aura-chip-option:hover { border-color: var(--aura-gold); }
.aura-chip-option.is-active { background: var(--aura-ink); border-color: var(--aura-ink); color: #fff; box-shadow: var(--aura-shadow-md); }

.aura-color-option.is-unavailable,
.aura-chip-option.is-unavailable {
  opacity: .35;
  text-decoration: line-through;
}

.aura-pdp__stock-warning {
  font-size: .75rem;
  font-weight: 600;
  color: var(--aura-sale-ink);
  background: var(--aura-sale-bg);
  padding: .625rem .875rem;
}

/* Quantity + actions */
.aura-pdp__actions {
  display: flex;
  align-items: stretch;
  gap: .75rem;
  padding-top: 1rem;
  border-top: 1px solid var(--aura-hairline);
}

.aura-qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--aura-hairline);
  background: var(--aura-panel);
  flex-shrink: 0;
}
.aura-qty__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  align-self: stretch;
  color: var(--aura-muted-2);
  transition: color .2s var(--aura-ease), background-color .2s var(--aura-ease);
}
.aura-qty__btn:hover { color: var(--aura-ink); background: var(--aura-surface); }
.aura-qty__btn[disabled] { opacity: .35; pointer-events: none; }

.aura-qty__input {
  width: 42px;
  border: 0;
  background: transparent;
  text-align: center;
  font-size: .8125rem;
  font-weight: 700;
  color: var(--aura-ink);
  -moz-appearance: textfield;
  appearance: textfield;
}
.aura-qty__input::-webkit-outer-spin-button,
.aura-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.aura-qty__input:focus { outline: none; }
.aura-qty__value { width: 36px; text-align: center; font-size: .75rem; font-weight: 700; }
.aura-qty--sm .aura-qty__btn { width: 30px; height: 30px; }

.aura-pdp__add { flex: 1 1 auto; min-height: 52px; }
.aura-pdp__add.is-loading { opacity: .7; pointer-events: none; }

.aura-pdp__wish {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  flex-shrink: 0;
  border: 1px solid var(--aura-hairline);
  color: var(--aura-ink);
  transition: all .2s var(--aura-ease);
}
.aura-pdp__wish:hover { border-color: var(--aura-gold); color: var(--aura-gold); }
.aura-pdp__wish.is-active { border-color: var(--aura-gold); background: var(--aura-surface); color: var(--aura-gold); }
.aura-pdp__wish.is-active svg { fill: var(--aura-gold); }

/* Guarantees */
.aura-pdp__guarantees {
  display: grid;
  grid-template-columns: 1fr;
  gap: .625rem;
  font-size: .6875rem;
  color: var(--aura-muted);
}
@media (min-width: 480px) { .aura-pdp__guarantees { grid-template-columns: 1fr 1fr; } }
.aura-pdp__guarantees span { display: inline-flex; align-items: center; gap: .375rem; }
.aura-pdp__guarantees svg { color: var(--aura-gold); flex-shrink: 0; }

.aura-pdp__accordion { border-top: 1px solid var(--aura-hairline); }

/* Reviews */
.aura-pdp__reviews { scroll-margin-top: calc(var(--aura-header-h) + 2rem); }

.aura-reviews {
  padding: 2rem;
  background: #fff;
  border: 1px solid var(--aura-hairline);
}
@media (min-width: 768px) { .aura-reviews { padding: 3rem; } }

.aura-reviews__head {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.5rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--aura-hairline);
}
@media (min-width: 768px) { .aura-reviews__head { flex-direction: row; align-items: flex-end; justify-content: space-between; } }
.aura-reviews__title { margin-top: .25rem; }
.aura-reviews__score { display: flex; align-items: center; gap: .75rem; }
.aura-reviews__score-value { font-size: .875rem; font-weight: 700; color: var(--aura-ink); }

.aura-reviews__list { display: flex; flex-direction: column; }
.aura-review { padding-block: 1.5rem; border-top: 1px solid var(--aura-hairline); }
.aura-review:first-child { border-top: 0; padding-top: 0; }
.aura-review__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  font-size: .75rem;
  flex-wrap: wrap;
}
.aura-review__author { display: inline-flex; align-items: center; gap: .5rem; }
.aura-review__name { font-weight: 700; color: var(--aura-ink); }
.aura-review__date { color: var(--aura-ink-40); }
.aura-review__stars { margin-top: .5rem; }
.aura-review__title {
  margin-top: .5rem;
  font-family: var(--aura-font-serif);
  font-size: 1rem;
  font-weight: 600;
  color: var(--aura-ink);
}
.aura-review__text { margin-top: .375rem; font-size: .8125rem; line-height: 1.8; color: var(--aura-muted-2); }
.aura-review__text p + p { margin-top: .5rem; }

.aura-review-form {
  margin-top: 2rem;
  padding: 1.5rem;
  background: var(--aura-panel);
  border: 1px solid var(--aura-hairline);
}
.aura-review-form .comment-reply-title {
  font-size: .6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--aura-ink);
  margin-bottom: 1rem;
  display: block;
}
.aura-review-form p { margin-bottom: .875rem; }
.aura-review-form label { display: block; margin-bottom: .375rem; font-size: .6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.aura-review-form input[type="text"],
.aura-review-form input[type="email"],
.aura-review-form textarea {
  width: 100%;
  padding: .75rem .875rem;
  background: #fff;
  border: 1px solid var(--aura-ink-15);
  font-size: .8125rem;
  font-family: var(--aura-font-sans);
}
.aura-review-form input:focus, .aura-review-form textarea:focus { outline: none; border-color: var(--aura-gold); }
.aura-review-form .comment-form-cookies-consent { display: flex; align-items: center; gap: .5rem; font-size: .75rem; }
.aura-review-form .comment-form-cookies-consent label { margin: 0; text-transform: none; letter-spacing: 0; font-weight: 400; }

/* Star rating input */
.aura-review-form .comment-form-rating { margin-bottom: 1rem; }
.aura-review-form .stars { display: inline-flex; gap: .25rem; }
.aura-review-form .stars a {
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  text-indent: -9999px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A68B6D' stroke-width='1.5'%3E%3Cpath d='M12 2l3 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.9 21l1.2-6.8-5-4.9 6.9-1z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.aura-review-form .stars.selected a.active,
.aura-review-form .stars:hover a,
.aura-review-form .stars a.active {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23A68B6D' stroke='%23A68B6D' stroke-width='1.5'%3E%3Cpath d='M12 2l3 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.9 21l1.2-6.8-5-4.9 6.9-1z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.aura-review-form .stars.selected a:not(.active) ~ a { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A68B6D' stroke-width='1.5'%3E%3Cpath d='M12 2l3 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.9 21l1.2-6.8-5-4.9 6.9-1z'/%3E%3C/svg%3E") center/contain no-repeat; }

.aura-reviews__login { font-size: .8125rem; color: var(--aura-muted-2); }

/* Related products */
.aura-related { padding-block: 2rem; }
.aura-related__title { margin-bottom: 1.5rem; }

/* ==========================================================================
   Quick view internals
   ========================================================================== */

.aura-quickview__media { padding: 1.5rem; background: var(--aura-surface); }
.aura-quickview__stage { aspect-ratio: 3 / 4; overflow: hidden; background: var(--aura-canvas); box-shadow: var(--aura-shadow-md); }
.aura-quickview__stage img { width: 100%; height: 100%; object-fit: cover; }
.aura-quickview__thumbs { display: flex; gap: .5rem; margin-top: 1rem; overflow-x: auto; padding-bottom: .25rem; }
.aura-quickview__thumb {
  width: 3.5rem; height: 4.25rem;
  flex-shrink: 0;
  overflow: hidden;
  border: 2px solid transparent;
  opacity: .7;
  transition: opacity .2s, border-color .2s;
}
.aura-quickview__thumb img { width: 100%; height: 100%; object-fit: cover; }
.aura-quickview__thumb.is-active { opacity: 1; border-color: var(--aura-gold); }

.aura-quickview__buybox {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 2rem;
  background: #fff;
  max-height: 85vh;
  overflow-y: auto;
}
.aura-quickview__title {
  margin-top: .375rem;
  font-family: var(--aura-font-serif);
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--aura-ink);
}
.aura-quickview__title a:hover { color: var(--aura-gold); }
.aura-quickview__desc { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--aura-hairline); font-size: .75rem; line-height: 1.8; color: var(--aura-muted-2); }
.aura-quickview__foot { padding-top: 1rem; border-top: 1px solid var(--aura-hairline); text-align: center; }
.aura-quickview__full { font-size: .75rem; font-weight: 600; color: var(--aura-gold); }
.aura-quickview__full:hover { text-decoration: underline; }
.aura-quickview__assure {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: .75rem;
  font-size: .6875rem;
  color: var(--aura-muted);
}
.aura-quickview__assure span { display: inline-flex; align-items: center; gap: .25rem; }
.aura-quickview__assure svg { color: var(--aura-gold); }

/* ==========================================================================
   Mini cart (drawer)
   ========================================================================== */

.aura-mini-cart__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: 1.25rem 1.5rem;
  background: #fff;
  border-bottom: 1px solid var(--aura-hairline);
  flex-shrink: 0;
}
.aura-mini-cart__title { display: flex; align-items: center; gap: .625rem; flex-wrap: wrap; }
.aura-mini-cart__title svg { color: var(--aura-gold); }
.aura-mini-cart__count {
  padding: .125rem .625rem;
  background: var(--aura-surface);
  color: var(--aura-muted);
  font-size: .6875rem;
  font-weight: 600;
  border-radius: 999px;
}

.aura-mini-cart__ship {
  padding: .875rem 1.5rem;
  background: var(--aura-surface);
  border-bottom: 1px solid var(--aura-hairline);
  flex-shrink: 0;
}

.aura-ship-progress + * { margin-top: 1rem; }
.aura-ship-progress__text { font-size: .75rem; font-weight: 500; color: var(--aura-muted-2); margin-bottom: .5rem; }
.aura-ship-progress__text strong { color: var(--aura-ink); font-weight: 700; }
.aura-ship-progress__text.is-unlocked { display: flex; align-items: center; gap: .375rem; color: var(--aura-ok-ink); font-weight: 600; }
.aura-ship-progress__text.is-unlocked svg { color: var(--aura-ok-ink); flex-shrink: 0; }
.aura-ship-progress__track { height: 4px; background: var(--aura-border); overflow: hidden; }
.aura-ship-progress__bar { display: block; height: 100%; background: var(--aura-gold); transition: width .5s var(--aura-ease); }

.aura-mini-cart__body { flex: 1 1 auto; overflow-y: auto; padding: 1.5rem; min-height: 0; }

.aura-mini-cart__empty { text-align: center; padding: 3rem 0; }
.aura-mini-cart__empty > * + * { margin-top: 1rem; }

.aura-mini-cart__items { display: flex; flex-direction: column; }
.aura-mini-cart__item {
  display: flex;
  gap: 1rem;
  padding-block: 1.25rem;
  border-top: 1px solid var(--aura-hairline);
  transition: opacity .2s;
}
.aura-mini-cart__item:first-child { border-top: 0; padding-top: 0; }
.aura-mini-cart__item.is-updating { opacity: .45; pointer-events: none; }

.aura-mini-cart__media { flex-shrink: 0; width: 5rem; }
.aura-mini-cart__img,
.aura-mini-cart__media img {
  width: 5rem; height: 6rem;
  object-fit: cover;
  background: var(--aura-surface);
  border: 1px solid var(--aura-hairline);
}

.aura-mini-cart__details { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.aura-mini-cart__row { display: flex; align-items: flex-start; justify-content: space-between; gap: .5rem; }

.aura-mini-cart__name {
  font-family: var(--aura-font-serif);
  font-size: .9375rem;
  font-weight: 400;
  line-height: 1.3;
  color: var(--aura-ink);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.aura-mini-cart__name a:hover { color: var(--aura-gold); }

.aura-mini-cart__remove { color: var(--aura-ink-40); flex-shrink: 0; padding: .25rem; display: flex; transition: color .2s; }
.aura-mini-cart__remove:hover { color: var(--aura-sale-ink); }

.aura-mini-cart__variation { margin-top: .25rem; font-size: .6875rem; color: var(--aura-muted); }
.aura-mini-cart__variation p { display: inline; }
.aura-mini-cart__variation dl { display: flex; flex-wrap: wrap; gap: .25rem .5rem; margin: 0; }
.aura-mini-cart__variation dt { font-weight: 600; }
.aura-mini-cart__variation dd { margin: 0; color: var(--aura-ink); }
.aura-mini-cart__variation dd p { margin: 0; }

.aura-mini-cart__unit { margin-top: .25rem; font-size: .8125rem; font-weight: 600; color: var(--aura-ink); }
.aura-mini-cart__unit del { color: var(--aura-ink-40); font-weight: 400; }
.aura-mini-cart__unit ins { text-decoration: none; }

.aura-mini-cart__controls { margin-top: .75rem; align-items: center; }
.aura-mini-cart__line { font-size: .75rem; font-weight: 700; color: var(--aura-gold); }

.aura-mini-cart__foot {
  padding: 1.5rem;
  background: #fff;
  border-top: 1px solid var(--aura-hairline);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.aura-coupon { display: flex; gap: .5rem; }
.aura-coupon.is-loading { opacity: .6; pointer-events: none; }
.aura-coupon__field { position: relative; flex: 1 1 auto; display: flex; align-items: center; }
.aura-coupon__field svg { position: absolute; left: .75rem; color: var(--aura-ink-40); pointer-events: none; }
.aura-coupon__field input {
  width: 100%;
  min-height: 40px;
  padding: .5rem .75rem .5rem 2.25rem;
  background: var(--aura-panel);
  border: 1px solid var(--aura-hairline);
  font-size: .75rem;
}
.aura-coupon__field input:focus { outline: none; border-color: var(--aura-gold); }
.aura-coupon__submit {
  padding: .5rem 1rem;
  background: var(--aura-surface);
  color: var(--aura-ink);
  font-size: .75rem;
  font-weight: 600;
  transition: background-color .2s;
}
.aura-coupon__submit:hover { background: var(--aura-border); }

.aura-coupon__applied {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .5rem .75rem;
  background: var(--aura-ok-bg);
  color: var(--aura-ok-ink);
  font-size: .75rem;
  font-weight: 500;
}
.aura-coupon__amount { margin-left: auto; font-weight: 700; }
.aura-coupon__remove { color: currentColor; opacity: .7; display: flex; }
.aura-coupon__remove:hover { opacity: 1; }

.aura-mini-cart__totals { display: flex; flex-direction: column; gap: .5rem; font-size: .75rem; color: var(--aura-muted-2); }
.aura-mini-cart__total-row { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.aura-mini-cart__total-row.is-discount { color: var(--aura-ok-ink); }
.aura-mini-cart__total-row.is-total {
  padding-top: .625rem;
  border-top: 1px solid var(--aura-hairline);
  font-size: .875rem;
  font-weight: 600;
  color: var(--aura-ink);
}
/* Matches the cart and checkout totals: no serif, so the drawer's grand total
   uses the same lining figures as the line totals above it. Size and gold keep
   it the most prominent figure in the drawer. */
.aura-mini-cart__grand { font-size: 1.25rem; color: var(--aura-gold); }

.aura-mini-cart__view-cart {
  text-align: center;
  font-size: .6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--aura-muted);
}
.aura-mini-cart__view-cart:hover { color: var(--aura-ink); }
.aura-mini-cart__note { text-align: center; font-size: .625rem; color: var(--aura-ink-40); }

/* ==========================================================================
   Cart page
   ========================================================================== */

.aura-cart-page { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: start; }
@media (min-width: 1024px) { .aura-cart-page { grid-template-columns: 8fr 4fr; } }

.aura-cart-table { background: #fff; border: 1px solid var(--aura-hairline); }
.aura-cart-table__row {
  display: grid;
  grid-template-columns: 5rem 1fr;
  gap: 1rem;
  padding: 1.25rem;
  border-bottom: 1px solid var(--aura-hairline);
}
@media (min-width: 640px) { .aura-cart-table__row { grid-template-columns: 6rem 1fr auto; align-items: center; } }
.aura-cart-table__row:last-child { border-bottom: 0; }

.aura-cart-table__media img { width: 100%; aspect-ratio: 3/4; object-fit: cover; background: var(--aura-surface); }
.aura-cart-table__name { font-family: var(--aura-font-serif); font-size: 1.0625rem; color: var(--aura-ink); }
.aura-cart-table__name a:hover { color: var(--aura-gold); }
.aura-cart-table__meta { margin-top: .25rem; font-size: .75rem; color: var(--aura-muted); }
.aura-cart-table__meta dl { display: flex; flex-wrap: wrap; gap: .25rem .75rem; margin: 0; }
.aura-cart-table__meta dt { font-weight: 600; }
.aura-cart-table__meta dd { margin: 0; }
.aura-cart-table__meta dd p { margin: 0; }
.aura-cart-table__controls { display: flex; align-items: center; gap: 1rem; margin-top: .75rem; }
.aura-cart-table__price { font-weight: 700; color: var(--aura-ink); white-space: nowrap; }
.aura-cart-table__remove { color: var(--aura-ink-40); display: inline-flex; }
.aura-cart-table__remove:hover { color: var(--aura-sale-ink); }

.aura-cart-page__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-top: 1.5rem;
}
.aura-coupon--page { flex: 1 1 16rem; max-width: 22rem; }

.aura-cart-summary {
  padding: 1.5rem;
  background: #fff;
  border: 1px solid var(--aura-hairline);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (min-width: 1024px) { .aura-cart-summary { position: sticky; top: calc(var(--aura-header-h) + 1.5rem); } }
.aura-cart-summary__title { padding-bottom: .75rem; border-bottom: 1px solid var(--aura-hairline); }

/* WooCommerce cart totals table, restyled */
.aura-cart-summary .shop_table { font-size: .8125rem; }
.aura-cart-summary .shop_table th,
.aura-cart-summary .shop_table td {
  padding: .625rem 0;
  text-align: left;
  border-bottom: 1px solid var(--aura-hairline);
  font-weight: 400;
  color: var(--aura-muted-2);
}
.aura-cart-summary .shop_table td { text-align: right; color: var(--aura-ink); }
.aura-cart-summary .shop_table tr.order-total th,
.aura-cart-summary .shop_table tr.order-total td {
  border-bottom: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--aura-ink);
  padding-top: 1rem;
}
/* The amount inherits the body sans (Plus Jakarta Sans) like every other price.
   Cormorant's default figures are oldstyle — it ships 'lnum' as an alternate and
   no 'onum' — so digits varied in height and descended below the baseline, which
   read as decorative next to the lining figures used everywhere else. Size and
   gold are kept, so the total stays the most prominent figure in the summary. */
.aura-cart-summary .shop_table tr.order-total td .woocommerce-Price-amount { font-size: 1.375rem; color: var(--aura-gold); }
.aura-cart-summary #shipping_method { list-style: none; margin: 0; padding: 0; text-align: right; }
.aura-cart-summary #shipping_method li { margin-bottom: .375rem; }
.aura-cart-summary .woocommerce-shipping-destination { font-size: .6875rem; color: var(--aura-muted); }
.aura-cart-summary .shipping-calculator-button { color: var(--aura-gold); font-size: .75rem; }

/* ==========================================================================
   Checkout
   ========================================================================== */

.aura-checkout { display: flex; flex-direction: column; gap: 2rem; }

.aura-checkout__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--aura-hairline);
  flex-wrap: wrap;
}
.aura-checkout__brand { display: flex; align-items: baseline; gap: .875rem; }
.aura-checkout__brand-name {
  font-family: var(--aura-font-serif);
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--aura-ink);
}
.aura-checkout__brand-label {
  font-size: .6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--aura-gold);
}
.aura-checkout__secure { display: inline-flex; align-items: center; gap: .375rem; font-size: .6875rem; color: var(--aura-muted); }
.aura-checkout__secure svg { color: var(--aura-gold); }

.aura-checkout__steps {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: .875rem 1.25rem;
  background: var(--aura-surface);
  border: 1px solid var(--aura-hairline);
  font-size: .75rem;
  font-weight: 600;
  color: var(--aura-muted-2);
  flex-wrap: wrap;
}
.aura-checkout__step { display: inline-flex; align-items: center; gap: .5rem; }
.aura-checkout__step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: var(--aura-ink);
  color: #fff;
  font-size: .625rem;
}

/* minmax(0,…) rather than bare fr: grid tracks default to min-width:auto, so a
   long unbreakable string (an email, a gateway iframe) can force one column
   wider and squeeze the other. */
.aura-checkout__cols { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; align-items: start; }
/* 6/5 rather than 7/5. The left column is mostly full-width address fields,
   which do not benefit past ~630px, while the right column now carries product
   rows (image + name + variation + qty + price), shipping options and the card
   form. This moves ~60px to where the content actually needs it. */
@media (min-width: 1024px) { .aura-checkout__cols { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); } }
@media (min-width: 1280px) { .aura-checkout__cols { gap: 2.5rem; } }

.aura-checkout__panel {
  padding: 1.5rem;
  background: #fff;
  border: 1px solid var(--aura-hairline);
}
@media (min-width: 640px) { .aura-checkout__panel { padding: 2rem; } }
.aura-checkout__panel + .aura-checkout__panel { margin-top: 1.5rem; }
.aura-checkout__panel-title {
  display: flex;
  align-items: center;
  gap: .625rem;
  margin-bottom: 1.25rem;
  padding-bottom: .875rem;
  border-bottom: 1px solid var(--aura-hairline);
}
.aura-checkout__panel-title svg { color: var(--aura-gold); }

.aura-checkout__aside { display: flex; flex-direction: column; gap: 1.5rem; }
@media (min-width: 1024px) { .aura-checkout__aside { position: sticky; top: calc(var(--aura-header-h) + 1.5rem); } }

.aura-checkout__review { padding: 1.5rem; background: var(--aura-panel); border: 1px solid var(--aura-hairline); }

.aura-checkout__aside { display: flex; flex-direction: column; gap: 1.5rem; }
@media (min-width: 1024px) { .aura-checkout__aside { position: sticky; top: calc(var(--aura-header-h) + 1.5rem); } }

.aura-checkout__review { padding: 1.5rem; background: var(--aura-panel); border: 1px solid var(--aura-hairline); }


/* WooCommerce form fields inside checkout */
.woocommerce-checkout .form-row { margin-bottom: 1rem; }
.woocommerce-checkout .form-row label,
.woocommerce-billing-fields label,
.woocommerce-shipping-fields label,
.woocommerce-address-fields label {
  display: block;
  margin-bottom: .375rem;
  font-size: .6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--aura-ink);
}
.woocommerce-checkout .form-row .required { color: var(--aura-gold); text-decoration: none; }

.woocommerce form .input-text,
.woocommerce-page form .input-text,
.woocommerce form select,
.woocommerce-page form select,
.woocommerce form textarea,
.select2-container .select2-selection--single {
  width: 100%;
  min-height: 44px;
  padding: .75rem .875rem;
  background: var(--aura-panel);
  border: 1px solid var(--aura-ink-15);
  border-radius: 0;
  font-family: var(--aura-font-sans);
  font-size: .8125rem;
  color: var(--aura-ink);
}
.woocommerce form .input-text:focus,
.woocommerce form select:focus,
.woocommerce form textarea:focus { outline: none; border-color: var(--aura-gold); box-shadow: 0 0 0 1px var(--aura-gold-soft); }

.select2-container .select2-selection--single { display: flex; align-items: center; }
.select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 1.4; color: var(--aura-ink); }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 100%; right: .5rem; }
.select2-dropdown { border-color: var(--aura-hairline); border-radius: 0; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--aura-gold); }

.woocommerce form .form-row-first,
.woocommerce form .form-row-last { width: 100%; float: none; }
@media (min-width: 640px) {
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last { width: calc(50% - .5rem); float: left; }
  .woocommerce form .form-row-last { float: right; }
}

/* Float containment for WooCommerce forms.
   WooCommerce prints <div class="clear"> after each floated first/last field
   pair and relies on `.clear{clear:both}` from woocommerce-layout.css, which
   this theme dequeues. Without it the full-width rows that follow (country,
   address, city, state, postcode, phone, email) rode up alongside the floats
   and their wrapper collapsed — the vertical compression on Checkout and on
   the account address forms. */
.woocommerce .clear { clear: both; }

/* Belt and braces: a full-width row always starts below any preceding pair. */
.woocommerce form .form-row-wide,
.woocommerce form .form-row-full { clear: both; }

/* And the wrappers enclose their floats so panel padding is respected. */
.woocommerce-billing-fields__field-wrapper::after,
.woocommerce-shipping-fields__field-wrapper::after,
.woocommerce-address-fields__field-wrapper::after,
.woocommerce-account-fields::after {
  content: "";
  display: table;
  clear: both;
}

/* Payment box */
.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods {
  padding: 0;
  border: 0;
  display: flex;
  flex-direction: column;
  gap: .625rem;
}
.woocommerce-checkout #payment ul.payment_methods li {
  list-style: none;
  padding: 1rem;
  background: var(--aura-panel);
  border: 1px solid var(--aura-hairline);
  transition: border-color .2s var(--aura-ease);
}
.woocommerce-checkout #payment ul.payment_methods li:hover { border-color: var(--aura-gold); }
.woocommerce-checkout #payment ul.payment_methods li label {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .8125rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  margin: 0;
  cursor: pointer;
}
.woocommerce-checkout #payment div.payment_box {
  margin-top: .75rem;
  padding: .875rem;
  background: #fff;
  border: 1px solid var(--aura-hairline);
  font-size: .75rem;
  color: var(--aura-muted-2);
}
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment .payment_methods li img { max-height: 28px; width: auto; display: inline-block; margin-left: .5rem; }

.woocommerce-checkout #payment .place-order { padding: 1.25rem 0 0; }
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 48px;
  padding: .875rem 2rem;
  background: var(--aura-ink);
  color: #fff;
  border: 1px solid var(--aura-ink);
  border-radius: 0;
  font-family: var(--aura-font-sans);
  font-size: .6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--aura-track-wide);
  transition: background-color .3s var(--aura-ease);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #payment #place_order:hover { background: var(--aura-ink-hover); color: #fff; }
.woocommerce #payment #place_order { width: 100%; }

.woocommerce .button.wc-backward,
.woocommerce a.button.wc-forward { background: transparent; color: var(--aura-ink); border-color: var(--aura-ink); }
.woocommerce .button.wc-backward:hover { background: var(--aura-ink); color: #fff; }

.woocommerce-terms-and-conditions-wrapper { margin-bottom: 1rem; font-size: .75rem; }
.woocommerce-privacy-policy-text { font-size: .75rem; color: var(--aura-muted); margin-bottom: 1rem; }

.woocommerce-checkout-review-order-table { width: 100%; font-size: .8125rem; }
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: .625rem 0;
  border-bottom: 1px solid var(--aura-hairline);
  text-align: left;
  font-weight: 400;
  color: var(--aura-muted-2);
}
.woocommerce-checkout-review-order-table td { text-align: right; color: var(--aura-ink); }

/* Line-item rows: the product column is a <td> like the price column, so the
   blanket `td { text-align: right }` above was right-aligning product names
   against their own prices. Realign per column instead of per cell type. */
.woocommerce-checkout-review-order-table th.product-name,
.woocommerce-checkout-review-order-table td.product-name {
  text-align: left;
  width: 65%;
  color: var(--aura-ink);
  line-height: 1.5;
}
.woocommerce-checkout-review-order-table th.product-total,
.woocommerce-checkout-review-order-table td.product-total {
  text-align: right;
  white-space: nowrap;
  vertical-align: top;
}
.woocommerce-checkout-review-order-table td.product-name .product-quantity {
  color: var(--aura-muted);
  font-weight: 400;
}
.woocommerce-checkout-review-order-table td.product-name .variation {
  margin: .25rem 0 0;
  font-size: .6875rem;
  color: var(--aura-muted);
}
.woocommerce-checkout-review-order-table td.product-name .variation dt,
.woocommerce-checkout-review-order-table td.product-name .variation dd { display: inline; margin: 0; }
.woocommerce-checkout-review-order-table td.product-name .variation p { display: inline; margin: 0; }
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
  font-size: 1rem;
  font-weight: 700;
  color: var(--aura-ink);
  border-bottom: 0;
  padding-top: 1rem;
  vertical-align: baseline;
}
.woocommerce-checkout-review-order-table tfoot .order-total th { border-top: 1px solid var(--aura-ink-15); }
.woocommerce-checkout-review-order-table tfoot .order-total td { border-top: 1px solid var(--aura-ink-15); }
/* Same as the cart summary: drop the serif so the total's digits are lining
   figures matching the subtotal, shipping and VAT above it. Size and gold keep
   it prominent. tfoot td already carries font-variant-numeric: tabular-nums. */
.woocommerce-checkout-review-order-table tfoot .order-total .woocommerce-Price-amount { font-size: 1.375rem; color: var(--aura-gold); }

/* The tax note lives inside the total cell. Without this it inherited the
   grand-total treatment (1.375rem gold serif), so the VAT figure competed with
   the total instead of supporting it. */
.woocommerce-checkout-review-order-table tfoot .order-total small.includes_tax {
  display: block;
  margin-top: .375rem;
  font-size: .6875rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--aura-muted);
}
.woocommerce-checkout-review-order-table tfoot .order-total small.includes_tax .woocommerce-Price-amount {
  font-family: var(--aura-font-sans);
  font-size: .6875rem;
  font-weight: 600;
  color: var(--aura-muted-2);
}

/* Financial summary: quiet labels left, amounts on one right-hand baseline,
   Total carrying the strongest weight and the tax row clearly secondary. */
.woocommerce-checkout-review-order-table tfoot th { font-weight: 500; color: var(--aura-muted-2); }
.woocommerce-checkout-review-order-table tfoot td { white-space: nowrap; font-variant-numeric: tabular-nums; }
.woocommerce-checkout-review-order-table tfoot tr.tax-total th,
.woocommerce-checkout-review-order-table tfoot tr.tax-total td {
  font-size: .75rem;
  color: var(--aura-muted);
}
.woocommerce-checkout-review-order-table tfoot tr.tax-total td .woocommerce-Price-amount {
  font-family: var(--aura-font-sans);
  font-size: .75rem;
  font-weight: 600;
  color: var(--aura-muted-2);
}
/* Tax now has its own row, so the parenthetical inside the total is noise. */
.woocommerce-checkout-review-order-table tfoot .order-total small.includes_tax { display: none; }
/* Line-item and summary amounts never wrap mid-figure. */
.woocommerce-checkout-review-order-table td.product-total,
.woocommerce-checkout-review-order-table tfoot td { font-variant-numeric: tabular-nums; }
.woocommerce-checkout-review-order-table .woocommerce-Price-amount { white-space: nowrap; }

/* Order review product row: [image] [name / variation / Qty × N] … [price].
   Rendered by woocommerce/checkout/review-order.php, i.e. inside the fragment
   WooCommerce refreshes, so the quantity can never go stale. */
.woocommerce-checkout-review-order-table tbody tr.cart_item td { padding-block: 1rem; vertical-align: top; }

.aura-review-item { display: flex; gap: .875rem; align-items: flex-start; }
.aura-review-item__media { flex-shrink: 0; width: 3.5rem; }
.aura-review-item__media img {
  width: 3.5rem;
  height: 4.5rem;
  object-fit: cover;
  border: 1px solid var(--aura-hairline);
  background: var(--aura-surface);
  display: block;
}
.aura-review-item__info { display: block; flex: 1 1 auto; min-width: 0; }
.aura-review-item__name {
  display: block;
  font-size: .8125rem;
  font-weight: 500;
  line-height: 1.45;
  color: var(--aura-ink);
}
.aura-review-item__variation,
.aura-review-item__qty {
  display: block;
  margin-top: .1875rem;
  font-size: .6875rem;
  line-height: 1.5;
  color: var(--aura-muted);
}
.aura-review-item__qty { color: var(--aura-ink-60); font-weight: 600; }
.aura-review-item__info .variation { margin: .1875rem 0 0; font-size: .6875rem; color: var(--aura-muted); }
.aura-review-item__info .variation dt,
.aura-review-item__info .variation dd,
.aura-review-item__info .variation p { display: inline; margin: 0; }

/* Shipping choices need the full column, not a right-aligned half cell:
   method names such as "Standard Carbon-Neutral Ground: 28,75 SR" wrapped onto
   three lines when squeezed into the price column. Label above, options below,
   both full width. */
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals { display: block; }
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th,
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td {
  display: block;
  width: 100%;
  text-align: left;
}
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th {
  border-bottom: 0;
  padding-bottom: .25rem;
}
.woocommerce-checkout-review-order-table #shipping_method {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
}
.woocommerce-checkout-review-order-table #shipping_method li {
  display: flex;
  align-items: baseline;
  gap: .5rem;
  margin-bottom: .375rem;
}
.woocommerce-checkout-review-order-table #shipping_method li:last-child { margin-bottom: 0; }
.woocommerce-checkout-review-order-table #shipping_method label { margin: 0; cursor: pointer; }
.woocommerce-checkout-review-order-table .woocommerce-shipping-destination { margin-top: .5rem; font-size: .6875rem; color: var(--aura-muted); }

/* Coupon / login toggles at the top of checkout */
.woocommerce-form-coupon-toggle, .woocommerce-form-login-toggle { margin-bottom: 1rem; }
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register {
  padding: 1.5rem;
  background: #fff;
  border: 1px solid var(--aura-hairline);
  border-radius: 0;
  margin-bottom: 1.5rem;
}

/* Order received */
.woocommerce-order { max-width: 46rem; }
.woocommerce-order .woocommerce-thankyou-order-received {
  font-family: var(--aura-font-serif);
  font-size: 1.75rem;
  font-weight: 300;
  color: var(--aura-ink);
  margin-bottom: 1.5rem;
}
.woocommerce-order ul.order_details {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  padding: 1.5rem;
  margin: 0 0 2rem;
  background: #fff;
  border: 1px solid var(--aura-hairline);
  list-style: none;
}
.woocommerce-order ul.order_details li {
  font-size: .625rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--aura-muted);
}
.woocommerce-order ul.order_details li strong {
  display: block;
  margin-top: .25rem;
  font-size: .9375rem;
  text-transform: none;
  letter-spacing: 0;
  color: var(--aura-ink);
}

/* ==========================================================================
   Notices
   ========================================================================== */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .75rem;
  padding: .875rem 1.125rem;
  margin-bottom: 1.5rem;
  border: 1px solid var(--aura-hairline);
  background: var(--aura-surface);
  color: var(--aura-muted-2);
  font-size: .8125rem;
  list-style: none;
  border-left: 3px solid var(--aura-gold);
}
.woocommerce-message { background: var(--aura-ok-bg); color: var(--aura-ok-ink); border-color: #A7F3D0; border-left-color: var(--aura-ok-ink); }
.woocommerce-error { background: var(--aura-sale-bg); color: var(--aura-sale-ink); border-color: #FECDD3; border-left-color: var(--aura-sale-ink); }
.woocommerce-error li { list-style: none; }
.woocommerce-message .button,
.woocommerce-info .button { margin-left: auto; min-height: 38px; padding: .5rem 1rem; }

/* ==========================================================================
   Account portal
   ========================================================================== */

.aura-account { padding-block: 2.5rem 4rem; }

/* --- Logged-out: sign in / create account --- */
.aura-auth {
  width: 100%;
  max-width: 30rem;
  margin-inline: auto;
  padding: 2rem;
  background: #fff;
  border: 1px solid var(--aura-hairline);
  box-shadow: var(--aura-shadow-xl);
}
@media (min-width: 640px) { .aura-auth { padding: 2.5rem; } }

.aura-auth__head { text-align: center; margin-bottom: 2rem; }
.aura-auth__brand {
  font-family: var(--aura-font-serif);
  font-size: 1.5rem;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: .2em;
  color: var(--aura-ink);
}
.aura-auth__sub {
  display: block;
  margin-top: .25rem;
  font-size: .625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--aura-track-widest);
  color: var(--aura-gold);
}
.aura-auth__text { margin-top: .75rem; font-size: .75rem; font-weight: 300; color: var(--aura-ink-50); }

.aura-auth__tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .25rem;
  padding: .25rem;
  margin-bottom: 2rem;
  background: var(--aura-canvas);
  border: 1px solid var(--aura-hairline);
}
.aura-auth__tab {
  min-height: 42px;
  font-size: .75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--aura-ink-50);
  transition: background-color .2s var(--aura-ease), color .2s var(--aura-ease);
}
.aura-auth__tab:hover { color: var(--aura-ink); }
.aura-auth__tab.is-active { background: var(--aura-ink); color: #fff; }

.aura-auth__panel[hidden] { display: none; }
.aura-form-row { margin-bottom: 0; }
.aura-auth__form { display: flex; flex-direction: column; gap: 1rem; }
.aura-auth__row { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.aura-auth__forgot { font-size: .625rem; color: var(--aura-gold); }
.aura-auth__forgot:hover { text-decoration: underline; }
.aura-auth__submit { margin-top: .5rem; }

.aura-auth__divider {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--aura-hairline);
  text-align: center;
}
.aura-auth__divider-label {
  font-size: .625rem;
  text-transform: uppercase;
  letter-spacing: var(--aura-track-wide);
  color: var(--aura-ink-50);
}
.aura-auth__social { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-top: .875rem; }
.aura-auth__social-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 44px;
  padding: .625rem .75rem;
  border: 1px solid var(--aura-ink-15);
  background: #fff;
  font-size: .75rem;
  font-weight: 500;
  color: var(--aura-ink);
}
.aura-auth__social-btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
.aura-auth__social-note { margin-top: .625rem; font-size: .625rem; color: var(--aura-ink-40); text-align: center; }

.aura-auth__foot { margin-top: 2rem; text-align: center; font-size: .625rem; font-weight: 300; color: var(--aura-ink-50); }
.aura-auth__foot > * + * { margin-top: .75rem; }
.aura-auth__back { font-weight: 500; text-transform: uppercase; letter-spacing: .06em; color: var(--aura-ink); text-decoration: underline; }
.aura-auth__back:hover { color: var(--aura-gold); }

/* --- Logged-in: client portal --- */
.aura-portal { display: flex; flex-direction: column; gap: 2rem; }

.aura-portal__banner {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 1.5rem;
  background: var(--aura-ink);
  color: #fff;
}
@media (min-width: 640px)  { .aura-portal__banner { padding: 2rem; } }
@media (min-width: 768px)  { .aura-portal__banner { flex-direction: row; align-items: center; justify-content: space-between; } }

.aura-portal__welcome { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.aura-portal__name { font-family: var(--aura-font-serif); font-size: 1.5rem; font-weight: 300; }
@media (min-width: 640px) { .aura-portal__name { font-size: 1.875rem; } }
.aura-portal__tier {
  padding: .125rem .625rem;
  background: var(--aura-gold);
  color: #fff;
  font-size: .5625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--aura-track-wide);
}
.aura-portal__client { margin-top: .5rem; font-size: .75rem; font-weight: 300; color: var(--aura-border); }
.aura-portal__client-id { font-family: ui-monospace, monospace; color: var(--aura-gold); }

.aura-portal__aside {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, .1);
  font-size: .75rem;
  color: var(--aura-border);
}
@media (min-width: 768px) {
  .aura-portal__aside { padding-top: 0; padding-left: 1.5rem; border-top: 0; border-left: 1px solid rgba(255, 255, 255, .1); }
}
.aura-portal__concierge-label { font-size: .625rem; text-transform: uppercase; letter-spacing: var(--aura-track-wide); color: var(--aura-gold); }
.aura-portal__concierge-value { font-weight: 500; color: #fff; }
.aura-portal__logout {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  margin-left: auto;
  padding: .5rem 1rem;
  background: rgba(255, 255, 255, .1);
  color: #fff;
  font-size: .6875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .08em;
  transition: background-color .2s, color .2s;
  white-space: nowrap;
}
.aura-portal__logout:hover { background: #fff; color: var(--aura-ink); }
.aura-portal__logout svg { color: var(--aura-gold); }
.aura-portal__logout:hover svg { color: var(--aura-ink); }

.aura-portal__layout { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: start; }
@media (min-width: 1024px) { .aura-portal__layout { grid-template-columns: 3fr 9fr; } }

/* Sidebar nav */
.aura-account__nav-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 48px;
  padding: .75rem 1rem;
  background: #fff;
  border: 1px solid var(--aura-hairline);
  font-size: .75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
}
@media (min-width: 1024px) { .aura-account__nav-toggle { display: none; } }

.woocommerce-MyAccount-navigation {
  background: #fff;
  border: 1px solid var(--aura-hairline);
  padding: .5rem;
}
@media (max-width: 1023px) {
  .woocommerce-MyAccount-navigation { display: none; margin-top: .5rem; }
  .woocommerce-MyAccount-navigation.is-open { display: block; }
}
@media (min-width: 1024px) { .woocommerce-MyAccount-navigation { position: sticky; top: calc(var(--aura-header-h) + 1.5rem); } }

.woocommerce-MyAccount-navigation ul { display: flex; flex-direction: column; gap: .125rem; }
.woocommerce-MyAccount-navigation li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  min-height: 46px;
  padding: .75rem 1rem;
  font-size: .75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--aura-ink);
  transition: background-color .2s var(--aura-ease), color .2s var(--aura-ease);
}
.woocommerce-MyAccount-navigation li a:hover { background: var(--aura-canvas); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--aura-ink); color: #fff; }
.aura-account__nav-label { display: inline-flex; align-items: center; gap: .5rem; }
.aura-account__nav-label svg { color: var(--aura-gold); flex-shrink: 0; }
.woocommerce-MyAccount-navigation li.is-active .aura-account__nav-label svg { color: var(--aura-gold); }
.aura-account__badge {
  min-width: 20px;
  padding: .0625rem .375rem;
  background: var(--aura-gold);
  color: #fff;
  font-size: .625rem;
  font-weight: 700;
  text-align: center;
}
.aura-account__count { font-size: .625rem; color: var(--aura-gold); font-family: ui-monospace, monospace; }

/* Content panel */
.woocommerce-MyAccount-content {
  padding: 1.5rem;
  background: #fff;
  border: 1px solid var(--aura-hairline);
  min-width: 0;
}
@media (min-width: 640px) { .woocommerce-MyAccount-content { padding: 2rem; } }

.aura-account__panel > * + * { margin-top: 1.5rem; }
.aura-account__panel-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.aura-account__panel-head p { margin-top: .25rem; }

.aura-account__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 640px) { .aura-account__cards { grid-template-columns: repeat(3, 1fr); } }

.aura-account__card {
  padding: 1rem;
  background: var(--aura-canvas);
  border: 1px solid var(--aura-hairline);
}
.aura-account__card > * + * { margin-top: .5rem; }
.aura-account__card-label {
  display: block;
  font-size: .625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--aura-track-wide);
  color: var(--aura-gold);
}
.aura-account__card-value { font-family: var(--aura-font-serif); font-size: 1.125rem; font-weight: 300; color: var(--aura-ink); }
.aura-account__card-note { font-size: .75rem; color: var(--aura-muted-2); }
.aura-account__card-sub { font-size: .625rem; font-weight: 300; color: var(--aura-ink-50); }
.aura-account__card-link { font-size: .625rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--aura-gold); }
.aura-account__card-link:hover { text-decoration: underline; }

/* Order cards */
.aura-orders { display: flex; flex-direction: column; gap: 1rem; }
.aura-order {
  padding: 1.25rem;
  border: 1px solid var(--aura-hairline);
  transition: border-color .2s var(--aura-ease);
}
.aura-order:hover { border-color: var(--aura-gold); }
.aura-order__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding-bottom: .75rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--aura-hairline);
  flex-wrap: wrap;
  font-size: .75rem;
}
.aura-order__number { font-family: var(--aura-font-serif); font-size: 1.125rem; color: var(--aura-ink); }
.aura-order__date { margin-left: .75rem; font-weight: 300; color: var(--aura-ink-50); }
.aura-order__right { display: flex; align-items: center; gap: .75rem; }
.aura-order__total { font-weight: 700; color: var(--aura-ink); }
.aura-order__items { display: flex; flex-direction: column; gap: .75rem; }
.aura-order__item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; font-size: .75rem; }
.aura-order__item-main { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.aura-order__item img { width: 2.5rem; height: 3rem; object-fit: cover; border: 1px solid var(--aura-hairline); flex-shrink: 0; }
.aura-order__item-name { font-weight: 500; color: var(--aura-ink); }
.aura-order__item-meta { font-size: .6875rem; font-weight: 300; color: var(--aura-ink-50); }
.aura-order__item-price { font-weight: 700; color: var(--aura-gold); white-space: nowrap; }
.aura-order__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  flex-wrap: wrap;
  padding-top: .875rem;
  margin-top: 1rem;
  border-top: 1px solid var(--aura-hairline-2);
  font-size: .75rem;
}
.aura-order__actions { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.aura-order__btn {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  min-height: 36px;
  padding: .375rem .875rem;
  border: 1px solid var(--aura-hairline);
  font-size: .6875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--aura-ink);
  transition: background-color .2s;
}
.aura-order__btn:hover { background: var(--aura-canvas); }
.aura-order__btn--dark { background: var(--aura-ink); border-color: var(--aura-ink); color: #fff; }
.aura-order__btn--dark:hover { background: var(--aura-ink-hover); color: #fff; }

/* Addresses */
.aura-addresses { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 768px) { .aura-addresses { grid-template-columns: 1fr 1fr; } }
.aura-address {
  position: relative;
  padding: 1.25rem;
  background: #fff;
  border: 1px solid var(--aura-hairline);
}
.aura-address.is-default { border-color: var(--aura-gold); background: rgba(245, 242, 237, .4); }
.aura-address__flag {
  position: absolute;
  top: .75rem; right: .75rem;
  padding: .125rem .5rem;
  background: var(--aura-gold);
  color: #fff;
  font-size: .5625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: var(--aura-track-wide);
}
.aura-address__title { font-family: var(--aura-font-serif); font-size: 1.125rem; color: var(--aura-ink); }
.aura-address__body { margin-top: .75rem; font-size: .75rem; font-weight: 300; line-height: 1.7; color: var(--aura-ink-60); }
.aura-address__body address { font-style: normal; }
.aura-address__edit { display: inline-block; margin-top: .875rem; font-size: .6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--aura-gold); }
.aura-address__edit:hover { text-decoration: underline; }

/* Empty state variant used inside the portal */
.aura-empty--dashed { background: transparent; border-style: dashed; border-color: var(--aura-ink-25); }

/* Generic WooCommerce account tables (orders list, downloads) */
.woocommerce-MyAccount-content table.shop_table {
  width: 100%;
  border: 1px solid var(--aura-hairline);
  font-size: .8125rem;
}
.woocommerce-MyAccount-content table.shop_table th,
.woocommerce-MyAccount-content table.shop_table td {
  padding: .875rem;
  text-align: left;
  border-bottom: 1px solid var(--aura-hairline);
}
.woocommerce-MyAccount-content table.shop_table thead th {
  background: var(--aura-surface);
  font-size: .625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--aura-gold);
}

/* Edit account / address forms */
.woocommerce-EditAccountForm fieldset,
.woocommerce-address-fields { margin-bottom: 1.5rem; }
.woocommerce-EditAccountForm legend {
  font-family: var(--aura-font-serif);
  font-size: 1.125rem;
  color: var(--aura-ink);
  margin-bottom: .75rem;
}
.woocommerce-EditAccountForm .woocommerce-form-row { margin-bottom: 1rem; }

/* ==========================================================================
   Lookbook (collections page)
   ========================================================================== */

.aura-lookbook { display: flex; flex-direction: column; gap: 4rem; }
.aura-lookbook__row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: center;
  padding: 1.5rem;
  background: #fff;
  border: 1px solid var(--aura-hairline);
}
@media (min-width: 1024px) {
  .aura-lookbook__row { grid-template-columns: 5fr 7fr; padding: 2rem; }
  .aura-lookbook__row.is-reverse .aura-lookbook__body { order: 2; }
  .aura-lookbook__row.is-reverse .aura-lookbook__grid { order: 1; }
}
.aura-lookbook__body > * + * { margin-top: 1rem; }
.aura-lookbook__text { font-size: .8125rem; line-height: 1.8; color: var(--aura-muted-2); }
.aura-lookbook__grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 640px) { .aura-lookbook__grid { grid-template-columns: repeat(3, 1fr); } }

/* ==========================================================================
   Misc WooCommerce resets the theme relies on
   ========================================================================== */

/* WooCommerce's own quantity wrapper (cart page).
   `aura_quantity_args()` adds .aura-qty__input to WooCommerce's quantity field,
   but that class is intentionally chrome-less because in the drawer/PDP the
   .aura-qty wrapper draws the box and the +/- buttons. On the cart page the
   wrapper is WooCommerce's .quantity, which had no styling, so the field
   rendered borderless and transparent. Give .quantity the same box.
   Scoped to .quantity so the drawer's .aura-qty is untouched. */
.woocommerce .quantity {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--aura-hairline);
  background: var(--aura-panel);
}
.woocommerce .quantity .qty {
  width: 4rem;
  min-height: 40px;
  padding: .25rem .5rem;
  border: 0;
  background: transparent;
  text-align: center;
  font-size: .8125rem;
  font-weight: 700;
  color: var(--aura-ink);
}
.woocommerce .quantity .qty:focus { outline: none; box-shadow: none; }
.woocommerce ul.products, .woocommerce-page ul.products { margin: 0; padding: 0; list-style: none; }
.woocommerce .woocommerce-breadcrumb { display: none; }
.woocommerce div.product form.cart .variations { display: none; }
.screen-reader-text { clip-path: inset(50%); }

/* Stock text */
.woocommerce div.product .stock { color: var(--aura-ok-ink); font-size: .75rem; }
.woocommerce div.product .out-of-stock { color: var(--aura-sale-ink); }
