/* Luxury UI System */
:root{
  --color-ivory:#f6f2ea;
  --color-ink:#0b0b0b;
  --color-gold:#b9975b;
  --color-muted:#7a7670;
  --color-line:#e9e3d9;
  --space-xs:0.5rem;
  --space-s:1rem;
  --space-m:2rem;
  --space-l:4rem;
  --space-xl:8rem;
  --max-w:1200px;
  --grid-gap:2rem;
  --serif:"Playfair Display","Times New Roman",serif;
  --sans:"Inter","Helvetica Neue",Arial,sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--color-ink);
  background:var(--color-ivory);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}

.container{
  width:min(100%,var(--max-w));
  margin:0 auto;
  padding:0 var(--space-m);
}

.lx-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(246,242,234,0.9);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--color-line);
}
.lx-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1.5rem 0;
}
.lx-logo{
  font-family:var(--serif);
  font-size:1.5rem;
  letter-spacing:0.02em;
}
.lx-nav{
  display:flex;
  align-items:center;
  gap:2rem;
}
.lx-menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:2rem;
}
.lx-menu a{
  font-size:0.8rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
}
.lx-cart{
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  font-size:0.8rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  border:1px solid var(--color-line);
  padding:0.55rem 0.9rem;
  border-radius:999px;
}
.lx-cart-count{
  background:var(--color-gold);
  color:var(--color-ivory);
  border-radius:999px;
  padding:0.1rem 0.4rem;
  font-size:0.7rem;
}

.lx-hero{
  min-height:100vh;
  display:grid;
  align-items:center;
  padding:var(--space-xl) 0;
}
.lx-hero h1{
  font-family:var(--serif);
  font-size:clamp(2.75rem,5vw,5rem);
  line-height:1.02;
  letter-spacing:-0.01em;
  margin:0 0 1rem;
}
.lx-eyebrow{
  font-size:0.8rem;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--color-muted);
}
.lx-cta{
  display:inline-flex;
  align-items:center;
  gap:0.75rem;
  padding:0.9rem 1.8rem;
  border:1px solid var(--color-gold);
  border-radius:999px;
  color:var(--color-gold);
  transition:transform .25s ease, background .25s ease, color .25s ease;
}
.lx-cta:hover{
  transform:translateY(-2px);
  background:var(--color-gold);
  color:var(--color-ivory);
}

.lx-section{
  padding:var(--space-xl) 0;
}
.lx-grid{
  display:grid;
  gap:var(--grid-gap);
}
.lx-products{
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}
.lx-product-card{
  background:#fff;
  padding:var(--space-s);
  border:1px solid var(--color-line);
  transition:transform .35s ease, box-shadow .35s ease;
}
.lx-product-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(0,0,0,0.08);
}
.lx-price{
  font-family:var(--serif);
  color:var(--color-gold);
  font-size:1.1rem;
}

.lx-story{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  align-items:center;
}
.lx-highlight{
  padding:var(--space-l);
  border:1px solid var(--color-ink);
  text-align:center;
  font-family:var(--serif);
  font-size:clamp(1.75rem,3vw,3rem);
}

.lx-footer{
  border-top:1px solid var(--color-line);
  padding:4rem 0;
}
.lx-footer-inner{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:1.5rem;
}
.lx-footer-logo{
  font-family:var(--serif);
  font-size:1.25rem;
}
.lx-footer-tagline,
.lx-footer-meta{
  color:var(--color-muted);
}

/* WooCommerce */
.woocommerce ul.products{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:var(--grid-gap);
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}
.woocommerce div.product .price{
  color:var(--color-gold);
  font-family:var(--serif);
}
.woocommerce div.product div.images,
.woocommerce div.product div.summary{
  float:none;
  width:100%;
}
.lx-product{
  padding:var(--space-xl) 0;
}
.lx-product-grid{
  display:grid;
  gap:var(--space-l);
  grid-template-columns:1.2fr 0.8fr;
}
@media (max-width: 900px){
  .lx-product-grid{grid-template-columns:1fr;}
  .lx-header-inner{flex-direction:column;gap:1rem;}
}
.lx-product-summary{
  position:sticky;
  top:2rem;
  align-self:start;
}
.woocommerce .quantity .qty{
  border:1px solid #d8cfbf;
  padding:0.6rem 0.75rem;
}
.woocommerce .single_add_to_cart_button{
  background:var(--color-ink);
  color:var(--color-ivory);
  border-radius:999px;
  padding:0.9rem 1.8rem;
  transition:transform .25s ease, background .25s ease;
}
.woocommerce a.button,
.woocommerce button.button{
  background:transparent;
  color:var(--color-ink);
  border:1px solid var(--color-ink);
  border-radius:999px;
  padding:0.7rem 1.4rem;
  transition:transform .25s ease, background .25s ease, color .25s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover{
  transform:translateY(-2px);
  background:var(--color-ink);
  color:var(--color-ivory);
}
.woocommerce .single_add_to_cart_button:hover{
  transform:translateY(-2px);
  background:var(--color-gold);
}
body.lx-added .single_add_to_cart_button{
  box-shadow:0 0 0 6px rgba(185,151,91,0.2);
}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  border-bottom:1px solid var(--color-line);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-family:var(--sans);
  letter-spacing:0.12em;
  text-transform:uppercase;
  font-size:0.75rem;
}

/* Scroll reveal */
.lx-reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .7s ease, transform .7s ease;
}
.lx-reveal.is-visible{
  opacity:1;
  transform:none;
}
