/*
Theme Name: RÉLUMA
Theme URI: https://localhost/
Author: RÉLUMA CANDLES
Description: Maßgeschneidertes Dark-Luxury-Theme für RÉLUMA CANDLES — Duftkerzen, handgegossen in Wien. Volle WooCommerce-Unterstützung.
Version: 1.0.0
Requires PHP: 8.0
Text Domain: reluma
*/

:root{
  --bg:#0A0908;
  --surface:#141210;
  --surface-2:#1C1916;
  --ivory:#F2EDE3;
  --ivory-60: rgba(242,237,227,0.6);
  --ivory-35: rgba(242,237,227,0.35);
  --gold:#C7A360;
  --gold-bright:#E7C989;
  --line: rgba(242,237,227,0.10);
  --line-strong: rgba(242,237,227,0.20);
  --ease: cubic-bezier(.19,1,.22,1);
  --ease-back: cubic-bezier(.34,1.56,.64,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--bg); color:var(--ivory);
  font-family:'Inter', sans-serif; font-weight:300;
  font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:'Bodoni Moda', serif; font-weight:400; margin:0; letter-spacing:-0.01em;}
em{font-style:italic; color:var(--gold-bright); font-weight:400;}
img{max-width:100%; height:auto;}
.mono{font-family:'IBM Plex Mono', monospace; letter-spacing:0.04em; font-weight:400;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1220px; margin:0 auto; padding:0 40px;}
:focus-visible{outline:1px solid var(--gold); outline-offset:4px;}
::selection{background:var(--gold); color:var(--bg);}

.eyebrow{
  font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--gold); display:flex; align-items:center; gap:12px;
}
.eyebrow::before{content:""; width:22px; height:1px; background:var(--gold);}

/* ================= SCROLL PROGRESS ================= */
.scroll-progress{
  position:fixed; top:0; left:0; height:2px; width:100%; z-index:200;
  background:transparent; pointer-events:none;
}
.scroll-progress i{
  display:block; height:100%; width:100%;
  background:linear-gradient(90deg, var(--gold), var(--gold-bright));
  transform-origin:left; transform:scaleX(0);
  box-shadow:0 0 12px rgba(199,163,96,0.6);
}

/* ================= PRELOADER ================= */
.preloader{
  position:fixed; inset:0; z-index:300; background:var(--bg);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px;
  transition:opacity .7s var(--ease), visibility .7s;
}
.preloader.done{opacity:0; visibility:hidden; pointer-events:none;}
.preloader .pl-word{
  font-family:'Bodoni Moda', serif; font-size:clamp(34px,6vw,64px);
  letter-spacing:0.22em; text-transform:uppercase; display:flex; overflow:hidden;
}
.preloader .pl-word span{
  display:inline-block; transform:translateY(110%);
  animation:pl-up .9s var(--ease) forwards;
}
@keyframes pl-up{ to{transform:translateY(0);} }
.preloader .pl-sub{
  font-family:'IBM Plex Mono', monospace; font-size:10px; letter-spacing:0.4em;
  text-transform:uppercase; color:var(--gold); opacity:0;
  animation:pl-fade .8s ease .5s forwards;
}
.preloader .pl-line{
  width:0; height:1px; background:var(--gold);
  animation:pl-line 1s var(--ease) .3s forwards;
}
@keyframes pl-fade{ to{opacity:1;} }
@keyframes pl-line{ to{width:120px;} }

/* ================= CUSTOM CURSOR ================= */
.cursor-dot,.cursor-ring{
  position:fixed; top:0; left:0; pointer-events:none; z-index:250; border-radius:50%;
  transform:translate(-50%,-50%);
}
.cursor-dot{width:6px; height:6px; background:var(--gold-bright);}
.cursor-ring{
  width:34px; height:34px; border:1px solid rgba(199,163,96,0.5);
  transition:width .3s var(--ease), height .3s var(--ease), border-color .3s ease, opacity .3s ease;
}
body.cursor-hover .cursor-ring{width:56px; height:56px; border-color:var(--gold-bright);}
@media (hover:none), (pointer:coarse){ .cursor-dot,.cursor-ring{display:none;} }

/* ================= REVEALS ================= */
.reveal{opacity:0; transform:translateY(34px); transition:opacity 1s var(--ease), transform 1s var(--ease);}
.reveal.is-visible{opacity:1; transform:translateY(0);}
.reveal-stagger > *{opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal-stagger.is-visible > *{opacity:1; transform:translateY(0);}
.reveal-stagger.is-visible > *:nth-child(1){transition-delay:.05s;}
.reveal-stagger.is-visible > *:nth-child(2){transition-delay:.16s;}
.reveal-stagger.is-visible > *:nth-child(3){transition-delay:.27s;}
.reveal-stagger.is-visible > *:nth-child(4){transition-delay:.38s;}
.mask-reveal{clip-path:inset(0 0 100% 0); transition:clip-path 1.1s var(--ease);}
.mask-reveal.is-visible{clip-path:inset(0 0 0% 0);}
/* Headline letter animation */
.split-line{display:inline-block; overflow:hidden; vertical-align:bottom;}
.split-line span{display:inline-block; transform:translateY(115%); transition:transform 1s var(--ease);}
.is-visible .split-line span, .hero-in .split-line span{transform:translateY(0);}

@media (prefers-reduced-motion: reduce){
  .reveal,.reveal-stagger > *,.mask-reveal{opacity:1; transform:none; transition:none; clip-path:none;}
  .split-line span{transform:none; transition:none;}
  .preloader{display:none;}
  .cursor-dot,.cursor-ring{display:none;}
  *{animation-duration:0.001s !important; animation-iteration-count:1 !important;}
}

/* ================= NAV ================= */
.nav{
  position:sticky; top:0; z-index:60;
  background:rgba(10,9,8,0.72); backdrop-filter:blur(14px) saturate(1.3);
  -webkit-backdrop-filter:blur(14px) saturate(1.3);
  border-bottom:1px solid var(--line); transition:border-color .3s ease;
}
.nav .wrap{display:flex; align-items:center; justify-content:space-between; height:84px; gap:20px;}
.brand{display:flex; align-items:center; line-height:0;}
.brand .logo-svg{height:34px; width:auto; display:block;}
.brand-text{font-family:'Bodoni Moda', serif; font-size:21px; letter-spacing:0.16em; text-transform:uppercase;}
.nav-links{display:flex; gap:44px; font-size:13px; letter-spacing:0.04em; color:var(--ivory-60); margin:0; padding:0; list-style:none;}
.nav-links a{position:relative; padding:6px 0; transition:color .25s ease;}
.nav-links a:hover{color:var(--ivory);}
.nav-links a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:var(--gold); transform:scaleX(0); transform-origin:right;
  transition:transform .4s var(--ease);
}
.nav-links a:hover::after{transform:scaleX(1); transform-origin:left;}
.nav-cart{display:flex; align-items:center; gap:16px;}
.cart-btn{
  border:1px solid var(--line-strong); border-radius:2px; padding:11px 22px;
  font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:0.06em;
  transition:border-color .3s ease, background .3s ease; display:inline-flex; gap:8px; align-items:center;
}
.cart-btn:hover{border-color:var(--gold); background:rgba(199,163,96,0.08);}
.cart-count{color:var(--gold-bright);}
.burger{display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px;}
.burger span{width:20px; height:1px; background:var(--ivory); display:block; transition:transform .3s var(--ease), opacity .3s;}
.nav.menu-open .burger span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.nav.menu-open .burger span:nth-child(2){opacity:0;}
.nav.menu-open .burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.mobile-menu{
  display:none; position:fixed; inset:84px 0 0 0; background:rgba(10,9,8,0.97); z-index:55;
  padding:40px 22px; flex-direction:column; gap:8px;
}
.mobile-menu.open{display:flex;}
.mobile-menu a{
  font-family:'Bodoni Moda', serif; font-size:32px; padding:14px 0; border-bottom:1px solid var(--line);
  opacity:0; transform:translateY(16px); transition:opacity .5s var(--ease), transform .5s var(--ease);
}
.mobile-menu.open a{opacity:1; transform:none;}
.mobile-menu.open a:nth-child(1){transition-delay:.05s;}
.mobile-menu.open a:nth-child(2){transition-delay:.12s;}
.mobile-menu.open a:nth-child(3){transition-delay:.19s;}
.mobile-menu.open a:nth-child(4){transition-delay:.26s;}
.mobile-menu.open a:nth-child(5){transition-delay:.33s;}

/* ================= HERO ================= */
.hero{position:relative; padding:110px 0 0; overflow:hidden;}
.orb{position:absolute; border-radius:50%; filter:blur(80px); pointer-events:none; opacity:.55; will-change:transform;}
.orb-1{width:520px; height:520px; top:-180px; left:-140px; background:radial-gradient(circle, rgba(199,163,96,0.28), transparent 70%);}
.orb-2{width:420px; height:420px; top:60px; right:-160px; background:radial-gradient(circle, rgba(122,94,52,0.24), transparent 70%);}
.hero-watermark{
  position:absolute; top:44%; left:50%; transform:translate(-50%,-50%);
  font-family:'Bodoni Moda', serif; font-size:clamp(120px,22vw,320px); letter-spacing:0.08em;
  color:transparent; -webkit-text-stroke:1px rgba(242,237,227,0.045);
  white-space:nowrap; pointer-events:none; user-select:none; z-index:0;
}
.hero .wrap{
  display:grid; grid-template-columns:1fr 0.95fr; gap:40px; align-items:center;
  position:relative; z-index:2;
}
.hero h1{
  font-size:clamp(42px, 5.6vw, 76px); line-height:1.04; font-weight:400;
  max-width:13ch; margin:26px 0 30px;
}
.hero p{max-width:36ch; color:var(--ivory-60); font-size:16px; font-weight:300; margin:0 0 40px;}
.hero-ctas{display:flex; gap:18px; flex-wrap:wrap; margin-bottom:56px;}
.btn-gold{
  background:var(--gold); color:var(--bg); padding:16px 30px; border-radius:2px;
  font-family:'IBM Plex Mono', monospace; font-size:12px; letter-spacing:0.06em;
  display:inline-block; border:none; cursor:pointer; position:relative; overflow:hidden;
  transition:transform .4s var(--ease), background .3s ease, box-shadow .4s ease;
}
.btn-gold::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(115deg, transparent 35%, rgba(255,255,255,0.35) 50%, transparent 65%);
  transform:translateX(-130%); transition:transform .7s var(--ease);
}
.btn-gold:hover::after{transform:translateX(130%);}
.btn-gold:hover{background:var(--gold-bright); transform:translateY(-3px); box-shadow:0 18px 34px -14px rgba(199,163,96,0.5);}
.btn-line{
  border:1px solid var(--line-strong); color:var(--ivory); padding:16px 28px; border-radius:2px;
  font-family:'IBM Plex Mono', monospace; font-size:12px; letter-spacing:0.06em; display:inline-block;
  transition:border-color .3s ease, transform .4s var(--ease), background .3s ease;
}
.btn-line:hover{border-color:var(--gold); transform:translateY(-3px); background:rgba(199,163,96,0.06);}
.stat-row{display:flex; gap:44px; border-top:1px solid var(--line); padding-top:28px;}
.stat-row > div{display:flex; flex-direction:column; gap:6px;}
.stat-num{font-family:'Bodoni Moda', serif; font-size:26px; color:var(--ivory);}
.stat-label{font-family:'IBM Plex Mono', monospace; font-size:10px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ivory-35);}

/* ================= FLOATING PRODUCT CARD ================= */
.stage{position:relative; height:560px; display:flex; align-items:center; justify-content:center; perspective:1400px;}
.float-card{
  position:relative; width:340px; padding:32px 28px 28px;
  background:linear-gradient(165deg, rgba(28,25,22,0.85), rgba(20,18,16,0.7));
  border:1px solid var(--line-strong); border-radius:6px;
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  box-shadow:0 50px 100px -30px rgba(0,0,0,0.65), 0 0 0 1px rgba(255,255,255,0.02) inset;
  transform-style:preserve-3d; transition:transform .15s ease-out;
  animation:card-float 7s ease-in-out infinite;
}
@keyframes card-float{ 0%,100%{margin-top:0;} 50%{margin-top:-16px;} }
.fc-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:26px;}
.fc-tag{
  font-family:'IBM Plex Mono', monospace; font-size:10px; letter-spacing:0.08em;
  color:var(--gold-bright); border:1px solid rgba(199,163,96,0.35); padding:4px 9px; border-radius:99px;
}
.fc-dot{width:6px; height:6px; border-radius:50%; background:#7CD48A; box-shadow:0 0 8px #7CD48A; animation:dot-pulse 2s ease-in-out infinite;}
@keyframes dot-pulse{ 50%{opacity:.4;} }
.candle-visual{position:relative; height:270px; display:flex; align-items:flex-end; justify-content:center; margin-bottom:22px;}
.glow{
  position:absolute; top:6px; left:50%; transform:translateX(-50%);
  width:180px; height:200px; border-radius:50%;
  background:radial-gradient(circle, rgba(231,201,137,0.35), transparent 70%);
  filter:blur(6px); animation:glow-pulse 3s ease-in-out infinite; pointer-events:none;
}
@keyframes glow-pulse{ 0%,100%{opacity:.9;} 50%{opacity:.55;} }
.flame{
  position:absolute; top:38px; left:50%; transform:translateX(-50%);
  width:9px; height:22px; border-radius:50% 50% 50% 50% / 65% 65% 35% 35%;
  background:radial-gradient(ellipse at 50% 78%, #FFF3D6 0%, var(--gold-bright) 45%, rgba(231,201,137,0) 78%);
  animation:flicker 2.3s ease-in-out infinite;
}
@keyframes flicker{
  0%,100%{ transform:translateX(-50%) scaleY(1) rotate(0deg); }
  30%{ transform:translateX(-53%) scaleY(1.08) rotate(-3deg); }
  60%{ transform:translateX(-48%) scaleY(0.93) rotate(3deg); }
  85%{ transform:translateX(-51%) scaleY(1.02) rotate(-1deg); }
}
.wick{position:absolute; top:56px; left:50%; transform:translateX(-50%); width:1.5px; height:26px; background:#3A322A;}
.jar{
  width:132px; height:150px; margin-top:80px; border-radius:3px 3px 10px 10px;
  background:linear-gradient(180deg, rgba(199,163,96,0.14), rgba(199,163,96,0.03));
  border:1px solid var(--line-strong); position:relative;
  box-shadow:inset 0 0 40px rgba(0,0,0,0.4);
}
.jar-label{
  position:absolute; left:14px; right:14px; top:44px; bottom:44px;
  border-top:1px solid var(--line-strong); border-bottom:1px solid var(--line-strong);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
}
.jar-label .name{font-family:'Bodoni Moda', serif; font-style:italic; font-size:13px; color:var(--ivory);}
.jar-label .no{font-family:'IBM Plex Mono', monospace; font-size:9px; color:var(--ivory-35); letter-spacing:0.1em;}
.wax-top{position:absolute; top:-5px; left:8px; right:8px; height:11px; background:#8A6B37; border-radius:50%; opacity:.85;}
.fc-meta{display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:18px;}
.fc-meta > div{display:flex; flex-direction:column; gap:4px;}
.fc-meta .k{font-family:'IBM Plex Mono', monospace; font-size:9px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ivory-35);}
.fc-meta .v{font-family:'Bodoni Moda', serif; font-size:16px;}
.card-shadow{
  position:absolute; bottom:-30px; left:50%; transform:translateX(-50%);
  width:260px; height:40px; border-radius:50%;
  background:radial-gradient(ellipse, rgba(0,0,0,0.55), transparent 70%);
  filter:blur(6px);
}

/* ================= MARQUEE ================= */
.marquee{
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  overflow:hidden; padding:22px 0; background:var(--surface); position:relative;
}
.marquee-track{display:flex; gap:0; width:max-content; animation:marquee 28s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
.marquee-track span{
  font-family:'Bodoni Moda', serif; font-size:22px; letter-spacing:0.18em; text-transform:uppercase;
  white-space:nowrap; padding:0 28px; color:var(--ivory-60); display:flex; align-items:center; gap:56px;
}
.marquee-track span i{font-style:normal; color:var(--gold); font-size:14px;}
.marquee-track span b{font-weight:400; color:var(--ivory);}
@keyframes marquee{ to{transform:translateX(-50%);} }

/* ================= STAT STRIP ================= */
.strip{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--surface);}
.strip .wrap{display:grid; grid-template-columns:repeat(4,1fr); padding:34px 40px;}
.strip-item{text-align:center; border-right:1px solid var(--line); padding:0 12px;}
.strip-item:last-child{border-right:none;}
.strip-num{font-family:'Bodoni Moda', serif; font-size:28px; color:var(--gold-bright);}
.strip-label{font-family:'IBM Plex Mono', monospace; font-size:10px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ivory-35); margin-top:6px;}

/* ================= SECTIONS ================= */
.section{padding:130px 0; position:relative;}
.section-watermark{
  position:absolute; top:30px; right:-2vw;
  font-family:'Bodoni Moda', serif; font-size:clamp(90px,14vw,200px); letter-spacing:0.06em;
  color:transparent; -webkit-text-stroke:1px rgba(242,237,227,0.04);
  pointer-events:none; user-select:none; white-space:nowrap; z-index:0;
}
.section > .wrap{position:relative; z-index:1;}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:64px; gap:24px; flex-wrap:wrap;}
.section-head h2{font-size:clamp(32px,4vw,46px); margin-top:16px; max-width:16ch;}
.section-head p{max-width:32ch; color:var(--ivory-60); font-size:14.5px; font-weight:300;}

/* ================= PRODUCT GRID (Startseite + Shop) ================= */
.grid, ul.products{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--line);
  border:1px solid var(--line); list-style:none; margin:0; padding:0;
}
.grid.cols-4{grid-template-columns:repeat(4,1fr);}
.p-card, ul.products li.product{
  background:var(--bg); padding:30px 26px; display:flex; flex-direction:column; gap:16px;
  transition:background .4s ease; position:relative; margin:0;
}
.p-card:hover, ul.products li.product:hover{background:var(--surface);}
.p-media{
  height:280px; border-radius:2px; position:relative; overflow:hidden; display:block;
}
.p-media img, ul.products li.product img{
  width:100%; height:100%; object-fit:cover; display:block; border-radius:2px;
  transition:transform 1.2s var(--ease);
}
.p-card:hover .p-media img, ul.products li.product:hover img{transform:scale(1.06);}
.p-media::after, ul.products li.product .woocommerce-loop-product__link::after{
  content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(125deg, transparent 42%, rgba(231,201,137,0.14) 50%, transparent 58%);
  transform:translateX(-140%); transition:transform .8s var(--ease);
}
.p-card:hover .p-media::after{transform:translateX(140%);}
ul.products li.product .woocommerce-loop-product__link{position:relative; display:block; overflow:hidden; height:280px; border-radius:2px;}
ul.products li.product:hover .woocommerce-loop-product__link::after{transform:translateX(140%);}
.p-no{font-family:'IBM Plex Mono', monospace; font-size:10px; color:var(--ivory-60);}
.p-card h3, ul.products li.product .woocommerce-loop-product__title{
  font-family:'Bodoni Moda', serif; font-size:22px; font-style:italic; font-weight:400; padding:0; margin:0; color:var(--ivory);
}
.p-notes{font-family:'IBM Plex Mono', monospace; font-size:10.5px; letter-spacing:0.05em; text-transform:uppercase; color:var(--ivory-35);}
.p-foot{display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); padding-top:16px; margin-top:auto;}
.price, ul.products li.product .price{font-family:'Bodoni Moda', serif; font-size:17px; color:var(--gold-bright); margin:0;}
ul.products li.product .price{margin-top:auto; padding-top:14px; border-top:1px solid var(--line);}
.add-btn{
  font-family:'IBM Plex Mono', monospace; font-size:10.5px; letter-spacing:0.04em;
  border-bottom:1px solid var(--gold); padding-bottom:2px; transition:opacity .25s ease; background:none; border-top:none; border-left:none; border-right:none; color:var(--ivory); cursor:pointer;
}
.add-btn:hover{opacity:.6;}
ul.products li.product .button{
  margin-top:14px; text-align:center;
}

/* WooCommerce generic buttons */
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #place_order, button[type=submit],
.wc-block-components-button, .wp-element-button{
  background:var(--gold) !important; color:var(--bg) !important; border:none; border-radius:2px !important;
  font-family:'IBM Plex Mono', monospace !important; font-size:12px !important; letter-spacing:0.06em;
  padding:14px 26px !important; font-weight:400 !important; cursor:pointer;
  transition:background .3s ease, transform .3s var(--ease), box-shadow .3s ease !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce #place_order:hover,
button[type=submit]:hover, .wc-block-components-button:hover, .wp-element-button:hover{
  background:var(--gold-bright) !important; transform:translateY(-2px);
  box-shadow:0 14px 26px -12px rgba(199,163,96,0.5);
}

/* ================= SHOP WRAPPER ================= */
.shop-wrap{padding:70px 40px 130px;}
.shop-main .woocommerce-products-header{margin-bottom:50px;}
.shop-main .woocommerce-products-header__title{
  font-size:clamp(36px,5vw,60px); position:relative;
}
.page-hero{
  padding:90px 0 50px; border-bottom:1px solid var(--line); margin-bottom:0; position:relative; overflow:hidden;
}
.page-hero h1{font-size:clamp(36px,5vw,60px);}
.woocommerce-breadcrumb{
  font-family:'IBM Plex Mono', monospace !important; font-size:10.5px !important; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--ivory-35) !important; margin-bottom:26px !important;
}
.woocommerce-breadcrumb a{color:var(--ivory-60) !important;}
.woocommerce-ordering select{
  background:var(--surface); color:var(--ivory); border:1px solid var(--line-strong);
  padding:10px 14px; font-family:'IBM Plex Mono', monospace; font-size:11px; border-radius:2px;
}
.woocommerce-result-count{color:var(--ivory-35); font-family:'IBM Plex Mono', monospace; font-size:11px;}
.woocommerce nav.woocommerce-pagination ul{border:1px solid var(--line) !important;}
.woocommerce nav.woocommerce-pagination ul li{border-right:1px solid var(--line) !important;}
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span{
  color:var(--ivory-60) !important; font-family:'IBM Plex Mono', monospace; padding:12px 18px !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--surface) !important; color:var(--gold-bright) !important;}
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--surface) !important; color:var(--ivory) !important;}

/* Sale badge */
.woocommerce span.onsale{
  background:var(--gold) !important; color:var(--bg) !important; border-radius:0 !important;
  font-family:'IBM Plex Mono', monospace !important; font-size:10px !important; letter-spacing:0.08em;
  text-transform:uppercase; min-width:0 !important; min-height:0 !important; line-height:1 !important;
  padding:8px 12px !important; top:12px !important; left:12px !important; z-index:3;
}

/* ================= SINGLE PRODUCT ================= */
.single-product div.product{background:transparent; color:var(--ivory);}
.single-product div.product .product_title{font-size:clamp(32px,4vw,52px); font-style:italic;}
.single-no{color:var(--gold); font-size:11px !important; letter-spacing:0.14em; text-transform:uppercase; margin:10px 0 4px;}
.single-notes{font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ivory-35); margin-bottom:18px;}
.single-product div.product p.price{
  font-family:'Bodoni Moda', serif; font-size:30px; color:var(--gold-bright) !important; margin:18px 0 !important;
}
.single-product div.product .woocommerce-product-details__short-description{color:var(--ivory-60); max-width:46ch;}
.single-product div.product form.cart{margin:30px 0 !important; display:flex; gap:14px; align-items:stretch;}
.single-product div.product form.cart .quantity .qty{
  background:var(--surface); border:1px solid var(--line-strong); color:var(--ivory);
  height:100%; min-height:47px; width:70px; border-radius:2px; font-family:'IBM Plex Mono', monospace;
}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0 !important; margin-bottom:0 !important;}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom:1px solid var(--line) !important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent !important; border:none !important; border-radius:0 !important; margin:0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none !important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  color:var(--ivory-35) !important; font-family:'IBM Plex Mono', monospace; font-size:11px !important;
  letter-spacing:0.08em; text-transform:uppercase; padding:16px 22px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--gold-bright) !important; border-bottom:1px solid var(--gold) !important;}
.woocommerce div.product .woocommerce-tabs .panel{margin-top:34px; color:var(--ivory-60);}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:24px; margin-bottom:14px;}
.related.products{margin-top:110px;}
.related.products > h2{font-size:clamp(26px,3vw,36px); margin-bottom:40px;}
.woocommerce div.product div.images img{border-radius:3px; border:1px solid var(--line);}
.woocommerce div.product div.images .flex-control-thumbs li img{border:1px solid var(--line); opacity:.5;}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active{opacity:1; border-color:var(--gold);}

/* ================= CART / CHECKOUT / FORMS ================= */
.woocommerce table.shop_table{
  border:1px solid var(--line) !important; border-radius:3px !important; border-collapse:separate;
}
.woocommerce table.shop_table th{color:var(--ivory-35); font-family:'IBM Plex Mono', monospace; font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; border-bottom:1px solid var(--line) !important; background:var(--surface);}
.woocommerce table.shop_table td{border-top:1px solid var(--line) !important; background:transparent;}
.woocommerce table.shop_table td a{color:var(--ivory);}
.woocommerce table.shop_table td.product-name a:hover{color:var(--gold-bright);}
.woocommerce-cart table.cart img{width:70px; border-radius:2px;}
.woocommerce .cart_totals h2, .woocommerce-checkout #order_review_heading, .woocommerce-billing-fields h3{
  font-size:24px; margin-bottom:18px;
}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce form .form-row select, .select2-container--default .select2-selection--single{
  background:var(--surface) !important; border:1px solid var(--line-strong) !important; color:var(--ivory) !important;
  padding:13px 14px !important; border-radius:2px !important; font-family:'Inter', sans-serif; font-size:14px;
  height:auto !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--ivory) !important; line-height:1.4 !important;}
.select2-dropdown{background:var(--surface-2) !important; border:1px solid var(--line-strong) !important; color:var(--ivory);}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--gold) !important; color:var(--bg) !important;}
.woocommerce form .form-row label{color:var(--ivory-60); font-size:12.5px; letter-spacing:0.02em;}
.woocommerce form .form-row .required{color:var(--gold);}
.woocommerce-checkout #payment{background:var(--surface) !important; border:1px solid var(--line) !important; border-radius:3px !important;}
.woocommerce-checkout #payment div.payment_box{background:var(--surface-2) !important; color:var(--ivory-60) !important;}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--surface-2) !important;}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--line) !important;}
.woocommerce-checkout #payment ul.payment_methods li label{color:var(--ivory);}
#add_payment_method #payment ul.payment_methods li input[type=radio]:checked+label{color:var(--gold-bright);}
.woocommerce-info, .woocommerce-message, .woocommerce-error{
  background:var(--surface) !important; color:var(--ivory) !important; border-top-color:var(--gold) !important;
  border:1px solid var(--line); border-top:3px solid var(--gold) !important; border-radius:2px;
}
.woocommerce-error{border-top-color:#B0503C !important;}
.woocommerce-message::before, .woocommerce-info::before{color:var(--gold) !important;}
.woocommerce-error::before{color:#B0503C !important;}
.woocommerce a.remove{color:var(--ivory-60) !important;}
.woocommerce a.remove:hover{background:var(--gold) !important; color:var(--bg) !important;}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none; padding:0; border:1px solid var(--line); border-radius:3px;}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line); padding:0;}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block; padding:14px 18px; font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ivory-60);}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a, .woocommerce-account .woocommerce-MyAccount-navigation li a:hover{color:var(--gold-bright); background:var(--surface);}
.woocommerce .quantity .qty{background:var(--surface); border:1px solid var(--line-strong); color:var(--ivory); border-radius:2px; padding:8px;}
.woocommerce #coupon_code{background:var(--surface) !important; border:1px solid var(--line-strong) !important; color:var(--ivory) !important; border-radius:2px !important; padding:12px !important; height:auto !important;}

/* WooCommerce Blocks (Cart/Checkout Gutenberg) dark overrides */
.wc-block-components-sidebar-layout, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout{color:var(--ivory);}
.wc-block-components-panel, .wc-block-cart-items, .wc-block-components-order-summary,
.wc-block-components-totals-wrapper, .wc-block-cart-item__wrap{color:var(--ivory);}
.wc-block-components-product-name, .wc-block-components-totals-item__label{color:var(--ivory) !important;}
.wc-block-cart-items__row, .wc-block-components-totals-wrapper{border-color:var(--line) !important;}
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input{
  background:var(--surface) !important; border:1px solid var(--line-strong) !important; color:var(--ivory) !important;
}
.wc-block-components-text-input label, .wc-block-components-combobox label{color:var(--ivory-35) !important;}
.wc-block-components-sidebar .wc-block-components-panel{background:var(--surface);}
.wc-block-components-quantity-selector{background:var(--surface); border:1px solid var(--line-strong) !important;}
.wc-block-components-quantity-selector input, .wc-block-components-quantity-selector button{color:var(--ivory) !important; background:transparent !important;}
.wc-block-components-radio-control__option, .wc-block-components-checkbox__label{color:var(--ivory-60) !important;}
.wc-block-components-formatted-money-amount{color:var(--gold-bright) !important; font-family:'Bodoni Moda', serif;}

/* ================= PROCESS ================= */
.process{background:var(--surface); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line);}
.step{background:var(--surface); padding:46px 34px; transition:background .4s ease; position:relative; overflow:hidden;}
.step::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:linear-gradient(90deg, var(--gold), var(--gold-bright));
  transform:scaleX(0); transform-origin:left; transition:transform .6s var(--ease);
}
.step:hover::after{transform:scaleX(1);}
.step:hover{background:var(--surface-2);}
.step .num{font-family:'Bodoni Moda', serif; font-style:italic; font-size:38px; color:var(--gold); display:block; margin-bottom:22px;}
.step h3{font-size:21px; font-weight:400; margin-bottom:12px;}
.step p{font-size:14px; color:var(--ivory-60); margin:0; font-weight:300;}

/* ================= STORY ================= */
.story .wrap{display:grid; grid-template-columns:1fr 1.05fr; gap:70px; align-items:center;}
.story-visual{
  height:460px; border-radius:3px; position:relative; overflow:hidden;
  background:radial-gradient(120% 100% at 70% 10%, rgba(199,163,96,0.16), transparent 55%), linear-gradient(160deg, #171410, #0A0908);
  border:1px solid var(--line);
}
.story-visual .sv-flame{
  position:absolute; top:42%; left:50%; transform:translate(-50%,-50%);
  width:14px; height:34px; border-radius:50% 50% 50% 50% / 65% 65% 35% 35%;
  background:radial-gradient(ellipse at 50% 78%, #FFF3D6 0%, var(--gold-bright) 45%, rgba(231,201,137,0) 78%);
  animation:flicker 2.6s ease-in-out infinite; filter:blur(0.4px);
}
.story-visual .sv-glow{
  position:absolute; top:42%; left:50%; transform:translate(-50%,-50%);
  width:240px; height:240px; border-radius:50%;
  background:radial-gradient(circle, rgba(231,201,137,0.22), transparent 70%);
  animation:glow-pulse 3.4s ease-in-out infinite;
}
.story-visual::after{
  content:"RÉLUMA Atelier — Wien"; position:absolute; bottom:20px; left:20px;
  font-family:'IBM Plex Mono', monospace; font-size:10px; letter-spacing:0.05em; color:var(--ivory-35);
}
.story h2{font-size:clamp(30px,3.2vw,40px); max-width:15ch; margin-bottom:26px;}
.story p{color:var(--ivory-60); font-size:15px; font-weight:300; margin-bottom:18px; max-width:46ch;}
.quote{
  font-family:'Bodoni Moda', serif; font-style:italic; font-size:24px; line-height:1.4;
  color:var(--ivory); margin-top:34px; max-width:22ch;
  border-left:1px solid var(--gold); padding-left:24px;
}
.quote span{display:block; font-family:'IBM Plex Mono', monospace; font-style:normal; font-size:11px; color:var(--ivory-35); margin-top:16px; letter-spacing:0.04em;}

/* ================= NEWSLETTER ================= */
.newsletter{text-align:center; border-top:1px solid var(--line);}
.newsletter .eyebrow{justify-content:center;}
.newsletter h2{font-size:clamp(30px,4vw,44px); max-width:18ch; margin:20px auto 18px;}
.newsletter p{color:var(--ivory-60); max-width:38ch; margin:0 auto 40px; font-weight:300; font-size:15px;}
.sub-form{display:flex; justify-content:center; max-width:440px; margin:0 auto; border-bottom:1px solid var(--line-strong);}
.sub-form input{flex:1; background:transparent; border:none; padding:16px 4px; color:var(--ivory); font-family:'Inter', sans-serif; font-size:14px; font-weight:300;}
.sub-form input::placeholder{color:var(--ivory-35);}
.sub-form input:focus{outline:none;}
.sub-form button{
  background:none; border:none; color:var(--gold); font-family:'IBM Plex Mono', monospace;
  font-size:11px; letter-spacing:0.06em; cursor:pointer; padding:16px 4px; transition:color .25s ease;
}
.sub-form button:hover{color:var(--gold-bright);}

/* ================= CONTENT PAGES (Impressum usw.) ================= */
.page-content{padding:70px 0 130px; max-width:760px;}
.page-content h1{font-size:clamp(36px,5vw,56px); margin-bottom:34px;}
.page-content h2{font-size:26px; margin:44px 0 14px;}
.page-content h3{font-size:20px; margin:30px 0 10px;}
.page-content p, .page-content li{color:var(--ivory-60); font-size:15px;}
.page-content a{color:var(--gold-bright); border-bottom:1px solid rgba(199,163,96,0.4);}

/* ================= GIANT FOOTER WORDMARK ================= */
.giant-wordmark{
  padding:90px 0 30px; text-align:center; overflow:hidden; border-top:1px solid var(--line);
  position:relative;
}
.giant-wordmark .gw-text{
  font-family:'Bodoni Moda', serif; font-size:clamp(48px,10.5vw,150px); letter-spacing:0.1em;
  text-transform:uppercase; line-height:1; white-space:nowrap;
  background:linear-gradient(180deg, var(--ivory) 20%, rgba(199,163,96,0.55) 85%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  display:inline-block; transition:filter .6s ease, transform 1s var(--ease);
}
.giant-wordmark:hover .gw-text{filter:drop-shadow(0 0 34px rgba(199,163,96,0.35));}
.giant-wordmark .gw-sub{
  display:block; margin-top:18px; font-family:'IBM Plex Mono', monospace; font-size:10px;
  letter-spacing:0.5em; text-transform:uppercase; color:var(--gold);
}

/* ================= FOOTER ================= */
footer.site-footer{padding:70px 0 34px; border-top:1px solid var(--line);}
.foot-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:32px; padding-bottom:44px; border-bottom:1px solid var(--line);}
.foot-brand{font-family:'Bodoni Moda', serif; font-size:19px; letter-spacing:0.14em; text-transform:uppercase; margin-bottom:16px;}
.foot-grid p{font-size:13.5px; color:var(--ivory-35); max-width:30ch; font-weight:300;}
.foot-grid h4{font-family:'IBM Plex Mono', monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:0.08em; color:var(--ivory-35); margin-bottom:18px; font-weight:400;}
.foot-grid ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; font-size:13.5px;}
.foot-grid a{transition:color .25s ease;}
.foot-grid a:hover{color:var(--gold-bright);}
.foot-bottom{display:flex; justify-content:space-between; padding-top:26px; font-size:11.5px; color:var(--ivory-35); flex-wrap:wrap; gap:12px;}

/* ================= RESPONSIVE ================= */
@media (max-width: 980px){
  .hero .wrap{grid-template-columns:1fr;}
  .stage{height:430px; order:-1;}
  .grid, ul.products{grid-template-columns:repeat(2,1fr) !important;}
  .grid.cols-4{grid-template-columns:repeat(2,1fr);}
  .strip .wrap{grid-template-columns:repeat(2,1fr); row-gap:24px;}
  .strip-item:nth-child(2){border-right:none;}
  .steps{grid-template-columns:1fr;}
  .story .wrap{grid-template-columns:1fr;}
  .story-visual{height:280px;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .nav-links{display:none;}
  .burger{display:flex;}
}
@media (max-width: 560px){
  .wrap{padding:0 22px;}
  .shop-wrap{padding:50px 22px 90px;}
  .grid, ul.products, .grid.cols-4{grid-template-columns:1fr !important;}
  .foot-grid{grid-template-columns:1fr;}
  .hero-ctas{flex-direction:column;}
  .stat-row{gap:26px; flex-wrap:wrap;}
  .sub-form{flex-direction:column; border-bottom:none;}
  .sub-form input{border-bottom:1px solid var(--line-strong); text-align:center;}
  .single-product div.product form.cart{flex-wrap:wrap;}
}
