/*
Theme Name: LA Country Style
Theme URI: https://la-country-style.de
Author: LA Country Style
Description: Premium Vodka Shop – Dark Tropical Sunset Theme mit WooCommerce
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
WC requires at least: 8.0
WC tested up to: 9.0
License: Private
Text Domain: la-country-style
*/

/* ═══════════════════════════════════════════════════════════════════
   LA Country Style – Palm Beach Vodka
   Dark Tropical Sunset Theme
   ═══════════════════════════════════════════════════════════════════ */

/* ── Variables ───────────────────────────────────────────────────── */
:root {
  --bg-deep:       #06060e;
  --bg-dark:       #0c0510;
  --sunset-1:      #3d1205;
  --sunset-2:      #7a2808;
  --sunset-3:      #c94a08;
  --sunset-4:      #e87808;
  --gold:          #d4a017;
  --gold-light:    #f0c040;
  --gold-pale:     #fde68a;
  --text-primary:  #f5e6d0;
  --text-muted:    #9a7a55;
  --glass:         rgba(8, 4, 2, 0.82);
  --glass-border:  rgba(212, 160, 23, 0.22);
  --glass-hover:   rgba(212, 160, 23, 0.55);
  --card-bg:       rgba(14, 8, 3, 0.88);
  --danger:        #e05a2b;
  --radius:        14px;
  --radius-sm:     7px;
  --nav-h:         70px;
  --transition:    0.3s ease;
  --shadow-gold:   0 0 40px rgba(212, 160, 23, 0.25);
  --shadow-sunset: 0 0 60px rgba(201, 74, 8, 0.35);
}

/* ── Reset & Base ─────────────────────────────────────────────────── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; font-size: 16px; }

body {
  font-family: 'Arial', 'Helvetica Neue', sans-serif;
  color: var(--text-primary);
  background-color: var(--bg-deep);
  background-image:
    radial-gradient(ellipse 120% 45% at 50% 100%, rgba(201,74,8,.45) 0%, transparent 65%),
    radial-gradient(ellipse 60% 25% at 50% 100%, rgba(232,120,8,.3) 0%, transparent 50%),
    linear-gradient(180deg, #06060e 0%, #0c0520 35%, #1a0808 65%, #0e0504 100%);
  background-attachment: fixed;
  min-height: 100vh;
  line-height: 1.6;
}

a { color: var(--gold-pale); text-decoration: none; transition: color var(--transition); }
a:hover { color: var(--gold-light); }
ul { list-style: none; }
img, svg { max-width: 100%; }

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ── Typography ───────────────────────────────────────────────────── */
h1, h2, h3, h4 {
  font-family: 'Georgia', 'Times New Roman', serif;
  font-weight: 700;
  line-height: 1.2;
  color: var(--gold-pale);
}

h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.5rem, 3.5vw, 2.4rem); }
h3 { font-size: clamp(1.1rem, 2.5vw, 1.5rem); }
h4 { font-size: 1rem; letter-spacing: .08em; color: var(--gold); }

.gold-text   { color: var(--gold); }
.section-tag {
  display: inline-block;
  font-size: .75rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold);
  border: 1px solid var(--glass-border);
  border-radius: 999px;
  padding: 4px 14px;
  margin-bottom: 14px;
}

/* ── Buttons ──────────────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 32px;
  border-radius: var(--radius-sm);
  font-size: .95rem;
  font-weight: 700;
  letter-spacing: .06em;
  cursor: pointer;
  border: none;
  transition: all var(--transition);
  text-decoration: none;
  white-space: nowrap;
}

.btn--gold {
  background: linear-gradient(135deg, #b8860b 0%, #d4a017 45%, #f0c040 100%);
  color: #0a0600;
  box-shadow: 0 4px 20px rgba(212,160,23,.35);
}
.btn--gold:hover {
  background: linear-gradient(135deg, #d4a017 0%, #f0c040 50%, #ffe080 100%);
  box-shadow: 0 6px 30px rgba(240,192,64,.5);
  transform: translateY(-2px);
  color: #0a0600;
}

.btn--sunset {
  background: linear-gradient(135deg, #7a2808 0%, #c94a08 50%, #e87808 100%);
  color: #fff8ee;
  box-shadow: 0 4px 20px rgba(201,74,8,.35);
}
.btn--sunset:hover {
  background: linear-gradient(135deg, #c94a08 0%, #e87808 50%, #ff9020 100%);
  box-shadow: 0 6px 30px rgba(232,120,8,.5);
  transform: translateY(-2px);
  color: #fff8ee;
}

.btn--outline {
  background: transparent;
  color: var(--text-primary);
  border: 1px solid rgba(245,230,208,.4);
}
.btn--outline:hover {
  border-color: var(--gold);
  color: var(--gold-pale);
  background: rgba(212,160,23,.08);
}

.btn--sm { padding: 9px 20px; font-size: .85rem; }
.btn--full { width: 100%; }

/* ── Age Gate ─────────────────────────────────────────────────────── */
.age-gate {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.age-gate__backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 100% 55% at 50% 100%, rgba(201,74,8,.6) 0%, transparent 60%),
    linear-gradient(180deg, #03030a 0%, #0c041a 40%, #200608 80%, #120403 100%);
}

.age-gate__card {
  position: relative;
  background: rgba(8,4,2,.92);
  border: 1px solid var(--glass-border);
  border-radius: 20px;
  padding: 50px 40px 36px;
  max-width: 460px;
  width: 100%;
  text-align: center;
  box-shadow: 0 0 80px rgba(201,74,8,.2), 0 0 140px rgba(0,0,0,.6);
  backdrop-filter: blur(20px);
  overflow: hidden;
}

.age-gate__palm {
  position: absolute;
  bottom: 0;
  width: 120px;
  opacity: .55;
  pointer-events: none;
  z-index: 0;
}
.age-gate__palm--left  { left: -28px; }
.age-gate__palm--right { right: -28px; transform: scaleX(-1); }

.age-gate__body {
  position: relative;
  z-index: 2;
}

.age-gate__logo {
  display: flex;
  justify-content: center;
  margin-bottom: 22px;
}

.age-gate__warning {
  font-size: .8rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--sunset-3);
  border: 1px solid rgba(201,74,8,.35);
  border-radius: 999px;
  padding: 5px 16px;
  display: inline-block;
  margin-bottom: 18px;
}

.age-gate__title {
  font-size: 1.6rem;
  color: var(--gold-pale);
  margin-bottom: 10px;
}

.age-gate__sub {
  color: var(--text-muted);
  font-size: .9rem;
  margin-bottom: 30px;
}

.age-gate__btns {
  display: flex;
  gap: 14px;
  justify-content: center;
  margin-bottom: 24px;
}
.age-gate__btns .btn { min-width: 140px; }

.age-gate__legal {
  font-size: .75rem;
  color: var(--text-muted);
  line-height: 1.7;
  border-top: 1px solid var(--glass-border);
  padding-top: 18px;
}

/* ── Logo ─────────────────────────────────────────────────────────── */
.logo-la {
  font-family: 'Georgia', serif;
  font-weight: 700;
  font-size: 1.35em;
  color: var(--gold);
  letter-spacing: .05em;
}
.logo-cs {
  font-family: 'Georgia', serif;
  font-size: .85em;
  color: var(--text-muted);
  margin-left: 6px;
  letter-spacing: .1em;
}

/* ── Navbar ───────────────────────────────────────────────────────── */
.navbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 900;
  height: var(--nav-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 32px;
  background: rgba(5,3,8,.9);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--glass-border);
  transition: background var(--transition);
}
.navbar.scrolled { background: rgba(4,2,6,.97); }

.navbar__brand {
  text-decoration: none;
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.navbar__brand .logo-la  { font-size: 1.4rem; }

.navbar__links {
  display: flex;
  align-items: center;
  gap: 6px;
}
.navbar__links a {
  color: var(--text-muted);
  font-size: .88rem;
  letter-spacing: .06em;
  padding: 6px 12px;
  border-radius: var(--radius-sm);
  transition: all var(--transition);
}
.navbar__links a:hover,
.navbar__links a.active {
  color: var(--gold-pale);
  background: rgba(212,160,23,.1);
}

.navbar__cart {
  position: relative;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  padding: 8px;
  border-radius: var(--radius-sm);
  transition: color var(--transition);
}
.navbar__cart:hover { color: var(--gold); }

.cart-badge {
  position: absolute;
  top: 2px; right: 2px;
  background: var(--sunset-3);
  color: #fff;
  font-size: .65rem;
  font-weight: 700;
  width: 16px; height: 16px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}

.navbar__toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
}
.navbar__toggle span {
  display: block;
  width: 24px; height: 2px;
  background: var(--text-primary);
  border-radius: 2px;
  transition: all var(--transition);
}

/* ── Hero ─────────────────────────────────────────────────────────── */
.hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding-top: var(--nav-h);
  position: relative;
  overflow: hidden;
}

.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 90% 55% at 50% 100%, rgba(232,120,8,.5) 0%, rgba(201,74,8,.25) 40%, transparent 65%),
    radial-gradient(ellipse 50% 35% at 50% 100%, rgba(255,140,20,.35) 0%, transparent 50%);
  pointer-events: none;
}

.hero__palms {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.hero__palm {
  position: absolute;
  bottom: 0;
}
.hero__palm--left  { left: -30px;  width: clamp(140px,18vw,240px); opacity: .75; transform-origin: bottom center; animation: palm-sway-left 7s ease-in-out infinite; }
.hero__palm--right { right: -30px; width: clamp(140px,18vw,240px); opacity: .75; transform-origin: bottom center; animation: palm-sway-right 8.5s ease-in-out infinite; }

.hero__content {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  padding: 80px 0;
}
.hero__text { max-width: 540px; }
.hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .75rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 20px;
}
.hero__eyebrow::before, .hero__eyebrow::after {
  content: '';
  height: 1px;
  width: 28px;
  background: var(--gold);
  opacity: .6;
}
.hero__title { margin-bottom: 8px; }
.hero__subtitle {
  font-family: 'Georgia', serif;
  font-size: 1.3rem;
  color: var(--sunset-4);
  margin-bottom: 18px;
  font-style: italic;
}
.hero__desc {
  color: var(--text-muted);
  font-size: 1rem;
  line-height: 1.75;
  margin-bottom: 34px;
  max-width: 440px;
}
.hero__actions { display: flex; gap: 14px; flex-wrap: wrap; }

.hero__badge {
  display: inline-block;
  background: rgba(232,120,8,.15);
  border: 1px solid rgba(232,120,8,.35);
  color: var(--sunset-4);
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 999px;
  margin-top: 26px;
}

/* Bottle display */
.hero__bottle {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.bottle-wrap {
  position: relative;
  display: flex;
  justify-content: center;
}
.bottle-glow {
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(201,74,8,.5) 0%, rgba(232,120,8,.2) 40%, transparent 70%);
  border-radius: 50%;
  filter: blur(30px);
  pointer-events: none;
}
.bottle-svg {
  width: clamp(160px, 22vw, 260px);
  height: auto;
  object-fit: contain;
  border-radius: 16px;
  filter: drop-shadow(0 20px 50px rgba(0,0,0,.7)) drop-shadow(0 0 30px rgba(212,160,23,.15));
  animation: float 5s ease-in-out infinite;
}
.product-bottle-lg {
  width: clamp(180px, 28vw, 300px);
  height: auto;
  object-fit: contain;
  border-radius: 18px;
  filter: drop-shadow(0 20px 60px rgba(0,0,0,.75)) drop-shadow(0 0 40px rgba(212,160,23,.12));
  animation: float 5s ease-in-out infinite;
}
.bottle-thumb {
  width: 52px;
  height: auto;
  object-fit: contain;
  border-radius: 6px;
  filter: drop-shadow(0 4px 10px rgba(0,0,0,.6));
}

/* ── Oval logo ────────────────────────────────────────────────────── */
.oval-logo {
  display: block;
  width: clamp(160px, 22vw, 260px);
  height: auto;
  filter: drop-shadow(0 6px 24px rgba(0,0,0,.55));
  transition: transform var(--transition), filter var(--transition);
}
.oval-logo:hover {
  transform: scale(1.04);
  filter: drop-shadow(0 8px 32px rgba(212,160,23,.5));
}
.hero__logo-stamp {
  display: flex;
  justify-content: center;
  margin-bottom: 40px;
  position: relative;
  z-index: 2;
}
.navbar__oval {
  height: 48px;
  width: auto;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.5));
  transition: filter var(--transition);
}
.navbar__oval:hover { filter: drop-shadow(0 4px 16px rgba(212,160,23,.5)); }
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-12px); }
}

/* ── Palm sway ────────────────────────────────────────────────────── */
@keyframes palm-sway-left {
  0%, 100% { transform: rotate(0deg); }
  35%       { transform: rotate(-4deg); }
  70%       { transform: rotate(2.5deg); }
}
@keyframes palm-sway-right {
  0%, 100% { transform: scaleX(-1) rotate(0deg); }
  35%       { transform: scaleX(-1) rotate(-4deg); }
  70%       { transform: scaleX(-1) rotate(2.5deg); }
}

/* ── Animated gradient orbs (Stripe-style) ────────────────────────── */
.hero__orbs {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}
.hero__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  will-change: transform;
}
.hero__orb--1 {
  width: clamp(350px, 55vw, 750px);
  height: clamp(350px, 55vw, 750px);
  background: radial-gradient(circle, rgba(201,74,8,.55) 0%, transparent 65%);
  top: -25%; left: -8%;
  animation: orb-1 16s ease-in-out infinite;
}
.hero__orb--2 {
  width: clamp(280px, 42vw, 620px);
  height: clamp(280px, 42vw, 620px);
  background: radial-gradient(circle, rgba(100,30,140,.45) 0%, transparent 65%);
  bottom: -15%; right: 8%;
  animation: orb-2 20s ease-in-out infinite;
}
.hero__orb--3 {
  width: clamp(220px, 32vw, 480px);
  height: clamp(220px, 32vw, 480px);
  background: radial-gradient(circle, rgba(212,160,23,.28) 0%, transparent 65%);
  top: 25%; right: 20%;
  animation: orb-3 13s ease-in-out infinite;
}
@keyframes orb-1 {
  0%, 100% { transform: translate(0, 0); }
  33%       { transform: translate(9%, 14%); }
  66%       { transform: translate(-4%, 7%); }
}
@keyframes orb-2 {
  0%, 100% { transform: translate(0, 0); }
  50%       { transform: translate(-13%, -17%); }
}
@keyframes orb-3 {
  0%, 100% { transform: translate(0, 0); }
  40%       { transform: translate(-9%, 11%); }
  80%       { transform: translate(7%, -9%); }
}

/* ── Water wave ───────────────────────────────────────────────────── */
.hero__wave {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 90px;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
}
.wave-svg {
  width: 200%;
  height: 100%;
  animation: wave-flow 12s linear infinite;
}
@keyframes wave-flow {
  0%   { transform: translateX(-50%); }
  100% { transform: translateX(0); }
}
@keyframes bar-shimmer {
  0%   { background-position: 0px 0; }
  100% { background-position: 300px 0; }
}

/* ── Sparkle particles ────────────────────────────────────────────── */
.hero__sparkles {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 1;
}
.sparkle {
  position: absolute;
  width: 2px; height: 2px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 5px 2px rgba(212,160,23,.6);
  animation: sparkle-rise linear infinite;
  opacity: 0;
}
@keyframes sparkle-rise {
  0%   { transform: translateY(0) scale(1); opacity: 0; }
  15%  { opacity: 1; }
  85%  { opacity: 0.4; }
  100% { transform: translateY(-360px) scale(0.2); opacity: 0; }
}

/* ── Feature bar ──────────────────────────────────────────────────── */
.feature-bar {
  border-top: 1px solid var(--glass-border);
  border-bottom: 1px solid var(--glass-border);
  background: rgba(5,3,8,.55);
  backdrop-filter: blur(10px);
  padding: 22px 0;
  position: relative;
  overflow: hidden;
}
.feature-bar::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(
    90deg,
    rgba(212,160,23,0.02)   0px,
    rgba(212,160,23,0.02)  60px,
    rgba(212,160,23,0.09) 150px,
    rgba(212,160,23,0.02) 240px,
    rgba(212,160,23,0.02) 300px
  );
  animation: bar-shimmer 5s linear infinite;
}
.feature-bar__list {
  display: flex;
  justify-content: center;
  gap: clamp(20px, 4vw, 60px);
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}
.feature-bar__item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .85rem;
  color: var(--text-muted);
  white-space: nowrap;
}
.feature-bar__item strong { color: var(--text-primary); }
.feature-bar__icon { font-size: 1.2rem; }

/* ── Generic sections ─────────────────────────────────────────────── */
.section { padding: 90px 0; }
.section--sm { padding: 60px 0; }
.section-header { text-align: center; margin-bottom: 56px; }
.section-header p { color: var(--text-muted); max-width: 520px; margin: 14px auto 0; }

/* Card */
.card {
  background: var(--card-bg);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius);
  padding: 32px;
  transition: border-color var(--transition), box-shadow var(--transition);
}
.card:hover {
  border-color: var(--glass-hover);
  box-shadow: var(--shadow-gold);
}

/* ── Age warning banner ───────────────────────────────────────────── */
.age-warning {
  background: rgba(61,18,5,.65);
  border: 1px solid rgba(201,74,8,.4);
  border-radius: var(--radius-sm);
  padding: 12px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .85rem;
  color: #f5c0a0;
  margin-bottom: 28px;
}
.age-warning__icon { font-size: 1.1rem; flex-shrink: 0; }

/* ── Product detail ───────────────────────────────────────────────── */
.product-detail {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
  padding-top: calc(var(--nav-h) + 40px);
}

.product-visual {
  position: sticky;
  top: calc(var(--nav-h) + 30px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.product-note-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}
.note-tag {
  background: rgba(212,160,23,.12);
  border: 1px solid var(--glass-border);
  color: var(--gold-pale);
  font-size: .75rem;
  letter-spacing: .06em;
  padding: 4px 14px;
  border-radius: 999px;
}

.product-info h1 { margin-bottom: 6px; }
.product-info .subtitle {
  font-family: 'Georgia', serif;
  font-style: italic;
  color: var(--sunset-4);
  font-size: 1.1rem;
  margin-bottom: 24px;
}
.product-specs {
  display: flex;
  gap: 20px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}
.spec-pill {
  background: var(--glass);
  border: 1px solid var(--glass-border);
  border-radius: 999px;
  padding: 6px 16px;
  font-size: .82rem;
  color: var(--text-muted);
}
.spec-pill strong { color: var(--text-primary); }
.product-price {
  font-family: 'Georgia', serif;
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--gold);
  margin-bottom: 6px;
}
.product-price-sub {
  font-size: .82rem;
  color: var(--text-muted);
  margin-bottom: 28px;
}
.product-desc {
  color: var(--text-muted);
  line-height: 1.8;
  margin-bottom: 30px;
}

/* Qty picker */
.qty-row {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.qty-picker {
  display: flex;
  align-items: center;
  gap: 0;
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.qty-btn {
  width: 40px; height: 40px;
  background: rgba(212,160,23,.1);
  border: none;
  color: var(--gold);
  font-size: 1.2rem;
  cursor: pointer;
  transition: background var(--transition);
  display: flex; align-items: center; justify-content: center;
}
.qty-btn:hover { background: rgba(212,160,23,.25); }
.qty-input {
  width: 56px; height: 40px;
  background: transparent;
  border: none;
  border-left: 1px solid var(--glass-border);
  border-right: 1px solid var(--glass-border);
  color: var(--text-primary);
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
  outline: none;
  font-family: inherit;
}
.qty-input::-webkit-inner-spin-button,
.qty-input::-webkit-outer-spin-button { -webkit-appearance: none; }
.qty-input[type=number] { -moz-appearance: textfield; }

/* ── Coming soon ──────────────────────────────────────────────────── */
.coming-soon-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 24px;
}
.coming-soon-card {
  background: var(--card-bg);
  border: 1px dashed var(--glass-border);
  border-radius: var(--radius);
  padding: 40px 20px;
  text-align: center;
  min-height: 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.coming-soon-card__icon { font-size: 2.5rem; opacity: .4; }
.coming-soon-card h4 { color: var(--text-muted); font-family: 'Georgia', serif; font-size: 1rem; }
.coming-soon-card p  { font-size: .8rem; color: rgba(154,122,85,.6); }

/* ── Legal pages ──────────────────────────────────────────────────── */
.legal-page {
  padding-top: calc(var(--nav-h) + 50px);
  padding-bottom: 80px;
  max-width: 820px;
  margin: 0 auto;
}
.legal-page h1 { margin-bottom: 8px; }
.legal-page .legal-meta { color: var(--text-muted); font-size: .85rem; margin-bottom: 40px; }
.legal-section { margin-bottom: 38px; }
.legal-section h2 {
  font-size: 1.15rem;
  color: var(--gold);
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--glass-border);
}
.legal-section h3 { font-size: 1rem; color: var(--text-primary); margin: 16px 0 8px; }
.legal-section p,
.legal-section li { color: var(--text-muted); font-size: .9rem; line-height: 1.8; margin-bottom: 10px; }
.legal-section ul, .legal-section ol { padding-left: 20px; }
.legal-section ul li { list-style: disc; }
.legal-section ol li { list-style: decimal; }
.legal-section a { color: var(--gold-pale); }

/* ── Footer ───────────────────────────────────────────────────────── */
.footer {
  position: relative;
  background: rgba(4,2,6,.95);
  border-top: 1px solid var(--glass-border);
  padding: 70px 0 30px;
  overflow: hidden;
}
.footer__palms {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 260px;
  pointer-events: none;
}
.footer-palm {
  position: absolute;
  bottom: 0;
  width: clamp(80px, 14vw, 180px);
  opacity: .25;
}
.footer-palm--l { left: 0; }
.footer-palm--r { right: 0; }

.footer__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
  margin-bottom: 48px;
}
.footer__logo { margin-bottom: 14px; }
.footer__logo .logo-cs { color: var(--gold); font-size: 1.35em; }
.footer__pay-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}
.pay-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  font-size: .65rem;
  font-weight: 700;
  padding: 3px 7px;
  letter-spacing: .03em;
  white-space: nowrap;
}
.pay-badge--visa    { background: #1a1f71; color: #fff; }
.pay-badge--mc      { background: #eb001b; color: #fff; }
.pay-badge--amex    { background: #2e77bc; color: #fff; }
.pay-badge--paypal  { background: #003087; color: #fff; }
.pay-badge--klarna  { background: #ffb3c7; color: #17120f; }
.pay-badge--apple   { background: #000; color: #fff; }
.pay-badge--google  { background: #fff; color: #444; border: 1px solid #ddd; }
.pay-badge--amazon  { background: #ff9900; color: #111; font-size: .6rem; }
.footer__brand p {
  color: var(--text-muted);
  font-size: .85rem;
  line-height: 1.75;
  margin-bottom: 8px;
}
.footer__age {
  display: inline-block;
  border: 1px solid rgba(201,74,8,.3);
  color: rgba(201,74,8,.8);
  font-size: .75rem;
  padding: 4px 12px;
  border-radius: 999px;
  margin-top: 6px;
}
.footer__col h4 {
  font-size: .8rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 16px;
}
.footer__col ul li {
  margin-bottom: 8px;
}
.footer__col ul li a {
  color: var(--text-muted);
  font-size: .85rem;
  transition: color var(--transition);
}
.footer__col ul li a:hover { color: var(--gold-pale); }
.footer__col ul li:not(:has(a)) {
  color: var(--text-muted);
  font-size: .85rem;
}

.footer__bottom {
  border-top: 1px solid var(--glass-border);
  padding-top: 24px;
  text-align: center;
}
.footer__bottom p {
  color: rgba(154,122,85,.5);
  font-size: .78rem;
  line-height: 1.8;
}
.footer__disclaimer { color: rgba(154,122,85,.35) !important; font-size: .72rem !important; }

/* ── Utilities ────────────────────────────────────────────────────── */
.mt-0 { margin-top: 0; }
.mb-0 { margin-bottom: 0; }
.text-center { text-align: center; }
.text-muted { color: var(--text-muted); }
.divider {
  border: none;
  border-top: 1px solid var(--glass-border);
  margin: 28px 0;
}
.badge-new {
  display: inline-block;
  background: linear-gradient(135deg, #7a2808, #c94a08);
  color: #fff8ee;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .12em;
  padding: 3px 10px;
  border-radius: 999px;
  text-transform: uppercase;
  vertical-align: middle;
  margin-left: 8px;
}

/* ── WooCommerce Overrides ────────────────────────────────────────── */
.woocommerce-wrapper {
  padding-top: calc(var(--nav-h) + 40px);
  padding-bottom: 80px;
  min-height: 80vh;
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: var(--card-bg) !important;
  border-top-color: var(--gold) !important;
  color: var(--text-primary) !important;
  border-radius: var(--radius-sm) !important;
  padding: 14px 20px !important;
  margin-bottom: 20px !important;
  list-style: none !important;
}
.woocommerce-error { border-top-color: var(--danger) !important; }
.woocommerce-message::before,
.woocommerce-info::before { color: var(--gold) !important; }

/* Breadcrumb */
.woocommerce-breadcrumb {
  color: var(--text-muted) !important;
  font-size: .82rem !important;
  margin-bottom: 24px !important;
}
.woocommerce-breadcrumb a { color: var(--gold-pale) !important; }

/* Product archive */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce ul.products li.product {
  background: var(--card-bg) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  transition: all var(--transition) !important;
  text-align: center !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  width: auto !important;
}
.woocommerce ul.products li.product:hover {
  border-color: var(--glass-hover) !important;
  box-shadow: var(--shadow-gold) !important;
  transform: translateY(-4px) !important;
}
.woocommerce ul.products li.product img {
  margin: 0 !important;
  padding: 24px !important;
  background: radial-gradient(ellipse at 50% 100%, rgba(201,74,8,.15) 0%, transparent 70%) !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Georgia', serif !important;
  font-size: 1rem !important;
  color: var(--gold-pale) !important;
  padding: 0 16px 4px !important;
}
.woocommerce ul.products li.product .price {
  color: var(--gold) !important;
  font-family: 'Georgia', serif !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
}
.woocommerce ul.products li.product .button {
  margin: 12px 16px 16px !important;
  background: linear-gradient(135deg, #b8860b 0%, #d4a017 45%, #f0c040 100%) !important;
  color: #0a0600 !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  font-weight: 700 !important;
  padding: 10px 20px !important;
  transition: all var(--transition) !important;
  white-space: nowrap !important;
  display: block !important;
  text-align: center !important;
}
.woocommerce ul.products li.product .button:hover {
  background: linear-gradient(135deg, #d4a017 0%, #f0c040 50%, #ffe080 100%) !important;
  transform: translateY(-1px) !important;
  color: #0a0600 !important;
}

/* Single product – template override layout (lacs-product-layout) */
.lacs-product-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: start;
  padding-top: 110px;
}
.lacs-product-gallery {
  position: sticky;
  top: calc(var(--nav-h) + 30px);
}
.woocommerce-product-gallery__trigger {
  display: none !important;
}
.lacs-product-gallery img,
.lacs-product-gallery .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 70vh !important;
  border-radius: var(--radius) !important;
  object-fit: contain !important;
  display: block !important;
  background: radial-gradient(ellipse at 50% 100%, rgba(201,74,8,.15) 0%, transparent 70%);
}

/* Single product */
.woocommerce div.product {
  display: block !important;
}
.woocommerce div.product .woocommerce-product-gallery__image img {
  border-radius: var(--radius) !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  background: radial-gradient(ellipse at 50% 100%, rgba(201,74,8,.15) 0%, transparent 70%) !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--gold) !important;
  font-family: 'Georgia', serif !important;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--text-muted) !important;
  line-height: 1.8 !important;
  margin-bottom: 20px !important;
}
.woocommerce div.product .product_title {
  color: var(--gold-pale) !important;
  font-family: 'Georgia', serif !important;
}
.woocommerce div.product .woocommerce-tabs {
  margin-top: 40px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--glass-border) !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  margin: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--text-muted) !important;
  font-size: .88rem !important;
  padding: 10px 16px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom-color: var(--gold) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--gold-pale) !important; }
.woocommerce div.product .woocommerce-Tabs-panel { color: var(--text-muted) !important; line-height: 1.8 !important; }

/* Add to cart */
.woocommerce div.product form.cart .qty {
  background: rgba(12,6,3,.7) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--text-primary) !important;
  padding: 10px 14px !important;
  font-size: 1rem !important;
  width: 70px !important;
}
.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: linear-gradient(135deg, #b8860b 0%, #d4a017 45%, #f0c040 100%) !important;
  color: #0a0600 !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  font-weight: 700 !important;
  font-size: .95rem !important;
  padding: 13px 32px !important;
  letter-spacing: .06em !important;
  transition: all var(--transition) !important;
  box-shadow: 0 4px 20px rgba(212,160,23,.35) !important;
}
.woocommerce div.product form.cart .button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: linear-gradient(135deg, #d4a017 0%, #f0c040 50%, #ffe080 100%) !important;
  box-shadow: 0 6px 30px rgba(240,192,64,.5) !important;
  transform: translateY(-2px) !important;
  color: #0a0600 !important;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #payment #place_order {
  background: linear-gradient(135deg, #7a2808 0%, #c94a08 50%, #e87808 100%) !important;
  color: #fff8ee !important;
  box-shadow: 0 4px 20px rgba(201,74,8,.35) !important;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #payment #place_order:hover {
  background: linear-gradient(135deg, #c94a08 0%, #e87808 50%, #ff9020 100%) !important;
  box-shadow: 0 6px 30px rgba(232,120,8,.5) !important;
  color: #fff8ee !important;
}

/* Cart / Checkout table */
.woocommerce table.shop_table {
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  background: var(--card-bg) !important;
  color: var(--text-primary) !important;
  margin-bottom: 30px !important;
}
.woocommerce table.shop_table th {
  background: rgba(212,160,23,.08) !important;
  color: var(--gold) !important;
  border-bottom: 1px solid var(--glass-border) !important;
  font-size: .82rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  padding: 12px 16px !important;
}
.woocommerce table.shop_table td {
  border-bottom: 1px solid var(--glass-border) !important;
  color: var(--text-primary) !important;
  padding: 14px 16px !important;
  vertical-align: middle !important;
}
.woocommerce table.shop_table .product-name a { color: var(--gold-pale) !important; }
.woocommerce table.shop_table .amount { color: var(--gold) !important; font-weight: 700 !important; }
.woocommerce table.shop_table .cart-subtotal,
.woocommerce table.shop_table .order-total { color: var(--gold-pale) !important; }
.woocommerce table.shop_table .order-total .amount { font-size: 1.2rem !important; }

/* Cart totals & checkout */
.woocommerce .cart-collaterals,
.woocommerce-checkout .woocommerce-checkout-payment {
  background: var(--card-bg) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  padding: 28px !important;
}
.woocommerce .cart_totals h2,
.woocommerce-checkout h3 {
  color: var(--gold) !important;
  font-size: 1rem !important;
  letter-spacing: .08em !important;
  margin-bottom: 18px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--glass-border) !important;
}

/* Checkout form inputs */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  background: rgba(12,6,3,.7) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--text-primary) !important;
  padding: 11px 14px !important;
  font-size: .9rem !important;
  transition: border-color var(--transition), box-shadow var(--transition) !important;
  width: 100% !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: rgba(212,160,23,.5) !important;
  box-shadow: 0 0 0 3px rgba(212,160,23,.1) !important;
  outline: none !important;
}
.woocommerce form .form-row label {
  color: var(--text-muted) !important;
  font-size: .8rem !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
}

/* Payment methods */
.woocommerce #payment ul.payment_methods {
  background: transparent !important;
  border-bottom: 1px solid var(--glass-border) !important;
  padding: 0 0 16px !important;
}
.woocommerce #payment ul.payment_methods li {
  padding: 10px 0 !important;
  color: var(--text-primary) !important;
}
.woocommerce #payment div.payment_box {
  background: rgba(212,160,23,.05) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--text-muted) !important;
}

/* ── Order Received ──────────────────────────────────────────────── */
.woocommerce .woocommerce-order-received h1,
.woocommerce .woocommerce-order h2,
.woocommerce .woocommerce-order h3 {
  color: var(--gold-pale) !important;
  font-family: 'Georgia', serif !important;
  margin: 32px 0 16px !important;
}
.woocommerce-thankyou-order-received {
  color: var(--text-primary) !important;
  font-size: 1rem !important;
  margin-bottom: 28px !important;
  padding: 14px 20px !important;
  background: rgba(212,160,23,.08) !important;
  border-left: 3px solid var(--gold) !important;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0 !important;
}

/* Order overview: grid of cards */
.woocommerce ul.order_details,
.woocommerce ul.woocommerce-order-overview {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 14px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 36px !important;
  background: transparent !important;
  border: none !important;
}
.woocommerce ul.order_details li,
.woocommerce ul.woocommerce-order-overview li {
  background: var(--card-bg) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  padding: 16px 20px !important;
  color: var(--text-muted) !important;
  font-size: .78rem !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  border-right: none !important;
  margin: 0 !important;
}
.woocommerce ul.order_details li strong,
.woocommerce ul.woocommerce-order-overview li strong {
  display: block !important;
  color: var(--gold-pale) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  margin-top: 6px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Bestelldetails table */
.woocommerce-order-details {
  background: var(--card-bg) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  padding: 24px !important;
  margin-bottom: 28px !important;
}
.woocommerce-order-details table.woocommerce-table {
  width: 100% !important;
  border-collapse: collapse !important;
}
.woocommerce-order-details table th {
  color: var(--gold) !important;
  font-size: .75rem !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  border-bottom: 1px solid var(--glass-border) !important;
  padding: 10px 14px !important;
  background: transparent !important;
}
.woocommerce-order-details table td {
  color: var(--text-primary) !important;
  padding: 12px 14px !important;
  border-bottom: 1px solid rgba(212,160,23,.08) !important;
  background: transparent !important;
}
.woocommerce-order-details table tfoot td,
.woocommerce-order-details table tfoot th {
  color: var(--text-muted) !important;
  font-size: .85rem !important;
}
.woocommerce-order-details table tfoot tr:last-child td,
.woocommerce-order-details table tfoot tr:last-child th {
  color: var(--gold) !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  border-top: 1px solid var(--glass-border) !important;
}

/* Rechnungs- & Lieferadresse */
.woocommerce-customer-details {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
  margin-top: 8px !important;
}
.woocommerce-customer-details section {
  background: var(--card-bg) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  padding: 20px 24px !important;
}
.woocommerce-customer-details address {
  font-style: normal !important;
  color: var(--text-muted) !important;
  line-height: 1.9 !important;
  font-size: .9rem !important;
}

/* ── Responsive ───────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .hero__content    { grid-template-columns: 1fr; gap: 40px; }
  .hero__bottle     { order: -1; }
  .hero__palm--left, .hero__palm--right { width: 110px; }
  .product-detail   { grid-template-columns: 1fr; }
  .product-visual   { position: static; }
  .footer__grid     { grid-template-columns: 1fr 1fr; }
  .woocommerce div.product { grid-template-columns: 1fr !important; }
  .woocommerce div.product .woocommerce-product-gallery { position: static !important; }
}

@media (max-width: 680px) {
  .navbar { padding: 0 18px; }
  .navbar__links {
    display: none;
    position: fixed;
    top: var(--nav-h); left: 0; right: 0;
    flex-direction: column;
    background: rgba(4,2,6,.97);
    border-bottom: 1px solid var(--glass-border);
    padding: 20px;
    gap: 4px;
  }
  .navbar__links.open { display: flex; }
  .navbar__links a { padding: 12px 16px; font-size: .95rem; border-radius: var(--radius-sm); }
  .navbar__toggle { display: flex; }
  .age-gate__card { padding: 36px 24px 28px; }
  .age-gate__btns { flex-direction: column; }
  .age-gate__btns .btn { width: 100%; }
  .footer__grid { grid-template-columns: 1fr; }
  .hero__actions { flex-direction: column; }
  .hero__actions .btn { width: 100%; justify-content: center; }
  .woocommerce ul.products { grid-template-columns: 1fr !important; }
}

@media (max-width: 420px) {
  .container { padding: 0 16px; }
  .hero__palm--left, .hero__palm--right { width: 80px; }
}

/* ── WooCommerce Blocks Checkout ─────────────────────────────────── */
.wp-block-woocommerce-checkout,
.wc-block-checkout {
  color: var(--text-primary) !important;
}

/* Input fields */
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-country-input input,
.wc-block-components-state-input input,
.wc-block-components-combobox input {
  background: rgba(12, 6, 3, .85) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--text-primary) !important;
  font-size: .95rem !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wc-block-components-combobox input:focus {
  border-color: rgba(212,160,23,.6) !important;
  box-shadow: 0 0 0 3px rgba(212,160,23,.12) !important;
  outline: none !important;
}

/* Placeholder text */
.wc-block-components-text-input input::placeholder,
.wc-block-components-combobox input::placeholder {
  color: var(--text-muted) !important;
  opacity: 1 !important;
}

/* Floating labels */
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-combobox label,
.wc-block-components-checkbox__label {
  color: var(--text-muted) !important;
  background: transparent !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-combobox.is-active label {
  color: var(--gold) !important;
}

/* Select dropdown */
.wc-block-components-select select,
.wc-block-components-combobox select {
  background: rgba(12, 6, 3, .85) !important;
  color: var(--text-primary) !important;
}
.wc-block-components-select select option,
.wc-block-components-combobox select option {
  background: #0c0510 !important;
  color: var(--text-primary) !important;
}

/* Section headings */
.wc-block-checkout__step-title,
.wc-block-components-title {
  color: var(--gold-pale) !important;
}

/* Quantity badge on product image in order summary */
.wc-block-components-order-summary-item__quantity {
  background: var(--gold) !important;
  color: #0a0600 !important;
  border: 2px solid var(--bg-deep) !important;
  font-weight: 700 !important;
  font-size: .75rem !important;
}

/* Order summary sidebar */
.wc-block-order-summary,
.wc-block-components-order-summary {
  background: var(--card-bg) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  padding: 20px !important;
  color: var(--text-primary) !important;
}
.wc-block-components-order-summary-item__description,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
  color: var(--text-primary) !important;
}
.wc-block-components-totals-item--total .wc-block-components-totals-item__value {
  color: var(--gold) !important;
  font-weight: 700 !important;
}

/* Coupon field */
.wc-block-components-totals-coupon__form input,
.wc-block-components-coupon input {
  background: rgba(12, 6, 3, .75) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--text-primary) !important;
}
.wc-block-components-totals-coupon__button,
.wc-block-components-coupon button {
  background: linear-gradient(135deg, #b8860b 0%, #d4a017 45%, #f0c040 100%) !important;
  color: #0a0600 !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  font-weight: 700 !important;
}

/* Checkout main area background */
.wc-block-checkout__main {
  background: transparent !important;
}
.wc-block-components-checkout-step {
  background: var(--card-bg) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  padding: 24px !important;
  margin-bottom: 16px !important;
}

/* Express payment buttons area */
.wc-block-components-express-payment-continue-rule span {
  color: var(--text-muted) !important;
}
.wc-block-components-express-payment-continue-rule::before,
.wc-block-components-express-payment-continue-rule::after {
  background: var(--glass-border) !important;
}

/* ── Star Ratings ────────────────────────────────────────────────── */
.woocommerce .comment-form-rating select#rating { display: none !important; }

.woocommerce p.stars {
  margin: 8px 0 16px !important;
  line-height: 1 !important;
}
.woocommerce p.stars a {
  display: inline-block !important;
  width: 2em !important;
  height: 2em !important;
  font-size: 1.4rem !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  position: relative !important;
  margin-right: 2px !important;
}
.woocommerce p.stars a::before {
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  text-indent: 0 !important;
  content: '☆' !important;
  color: var(--gold) !important;
  font-size: 1.8rem !important;
  line-height: 1 !important;
  transition: color .15s !important;
}
/* hover: fill all stars */
.woocommerce p.stars:hover a::before {
  content: '★' !important;
  color: var(--gold-light) !important;
}
/* stars after the hovered one go back to empty */
.woocommerce p.stars a.star-1:hover ~ a::before,
.woocommerce p.stars a.star-2:hover ~ a::before,
.woocommerce p.stars a.star-3:hover ~ a::before,
.woocommerce p.stars a.star-4:hover ~ a::before {
  content: '☆' !important;
  color: var(--gold) !important;
}
/* selected state: fill up to active star */
.woocommerce p.stars.selected a::before {
  content: '★' !important;
  color: var(--gold) !important;
}
.woocommerce p.stars.selected a.active ~ a::before {
  content: '☆' !important;
  color: var(--gold) !important;
}

/* ── Review form inputs ──────────────────────────────────────────── */
.woocommerce #reviews #respond textarea,
.woocommerce #reviews #respond input[type="text"],
.woocommerce #reviews #respond input[type="email"] {
  background: rgba(12, 6, 3, .7) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--text-primary) !important;
  padding: 10px 14px !important;
  width: 100% !important;
}
.woocommerce #reviews #respond textarea:focus,
.woocommerce #reviews #respond input:focus {
  border-color: var(--gold) !important;
  outline: none !important;
}
.woocommerce #reviews #respond label { color: var(--text-muted) !important; }
.woocommerce #reviews #respond .comment-form-cookies-consent label { color: var(--text-muted) !important; font-size: .85rem !important; }

/* ── Product page animations ──────────────────────────────────────── */
@keyframes slide-in-left {
  from { opacity: 0; transform: translateX(-38px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes slide-in-right {
  from { opacity: 0; transform: translateX(38px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes glow-pulse {
  0%, 100% { opacity: .45; transform: translateX(-50%) scaleX(1); }
  50%       { opacity: .9;  transform: translateX(-50%) scaleX(1.25); }
}
@keyframes price-shimmer {
  0%, 100% { text-shadow: 0 0 18px rgba(212,160,23,.25); }
  50%       { text-shadow: 0 0 38px rgba(212,160,23,.85), 0 0 65px rgba(240,192,64,.3); }
}
@keyframes btn-glow {
  0%, 100% { filter: drop-shadow(0 0 6px rgba(212,160,23,.4)); }
  50%       { filter: drop-shadow(0 0 22px rgba(212,160,23,.95)) drop-shadow(0 0 45px rgba(240,192,64,.3)); }
}

/* Slide-in on load */
.lacs-product-gallery {
  animation: slide-in-left 0.8s cubic-bezier(.22,.68,0,1.1) both;
}
.summary.entry-summary {
  animation: slide-in-right 0.8s cubic-bezier(.22,.68,0,1.1) 0.2s both;
}

/* Floating bottle image */
.lacs-product-gallery img,
.lacs-product-gallery .woocommerce-product-gallery__image img {
  animation: float 5s ease-in-out infinite !important;
}

/* Ambient glow under the bottle */
.lacs-product-gallery::after {
  content: '';
  position: absolute;
  bottom: -16px; left: 50%;
  transform: translateX(-50%);
  width: 60%; height: 65px;
  background: radial-gradient(ellipse, rgba(201,74,8,.55) 0%, transparent 70%);
  filter: blur(18px);
  pointer-events: none;
  animation: glow-pulse 4s ease-in-out infinite;
}

/* Price gold shimmer */
.woocommerce div.product p.price .woocommerce-Price-amount,
.woocommerce div.product span.price .woocommerce-Price-amount {
  animation: price-shimmer 3s ease-in-out infinite;
  display: inline-block;
}

/* "In den Warenkorb" button pulsing glow */
.single_add_to_cart_button {
  animation: btn-glow 2.5s ease-in-out infinite;
}
