/*
Theme Name: Quelle Allen Seins
Theme URI: https://quelleallenseins.de
Author: Coach Mo
Description: Der heilige Tempel — Quelle Allen Seins. Kosmisch, tief, transformativ.
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: qas
*/

@import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700&family=Cinzel:wght@400;500;600&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=Raleway:wght@200;300;400;500&display=swap');

:root {
  --void:    #030206;
  --abyss:   #070410;
  --deep:    #0d0720;
  --cosmos:  #130a2e;
  --temple:  #1a0f3e;
  --astral:  #261550;
  --mist:    #3a2070;
  --gold:    #D4AF37;
  --gold-light: #F0D060;
  --gold-dim:   #8a7020;
  --gold-glow:  rgba(212,175,55,0.15);
  --amethyst:   #7B4FBF;
  --silver:  #C0B8D0;
  --pale:    #E8E0F0;
  --white:   #F5F0FF;
  --font-sacred: 'Cinzel Decorative', serif;
  --font-head:   'Cinzel', serif;
  --font-body:   'Cormorant Garamond', serif;
  --font-ui:     'Raleway', sans-serif;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }

/* ── WORDPRESS RESET — verhindert rosa/weiße Hintergründe ── */
html,
body,
body.home,
body.page,
body.single,
body.archive,
body.blog,
.wp-site-blocks,
#page,
#content,
#primary,
#secondary,
.site,
.site-content,
.wp-block-template-part {
  background-color: var(--void) !important;
  background: var(--void) !important;
}

body {
  background: var(--void) !important;
  background-color: var(--void) !important;
  color: var(--pale);
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.9;
  overflow-x: hidden;
}

/* WordPress admin bar spacing */
body.admin-bar #main-nav { top: 32px; }
@media screen and (max-width: 782px) { body.admin-bar #main-nav { top: 46px; } }

/* WordPress core styles reset */
.wp-caption, .gallery-caption { color: var(--silver); }
a { color: var(--gold); }
a:hover { color: var(--gold-light); }

/* ── SACRED CANVAS ── */
#sacred-canvas {
  position: fixed; top:0; left:0;
  width:100%; height:100%;
  pointer-events:none; z-index:0; opacity:0.7;
}

/* ── SACRED GEOMETRY OVERLAY ── */
.sacred-geometry {
  position: fixed; top:0; left:0;
  width:100%; height:100%;
  pointer-events:none; z-index:0; opacity:0.03;
  background-image:
    repeating-conic-gradient(from 0deg at 50% 50%, transparent 0deg, transparent 59deg, rgba(212,175,55,0.5) 60deg),
    radial-gradient(circle at 50% 50%, transparent 30%, rgba(212,175,55,0.1) 31%, transparent 32%);
  background-size: 200px 200px, 400px 400px;
}

/* ── NAV ── */
#main-nav {
  position: fixed; top:0; left:0; right:0; z-index:200;
  display: flex; align-items:center; justify-content:space-between;
  padding: 1.2rem 4rem;
  background: linear-gradient(to bottom, rgba(3,2,6,0.98), transparent);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(212,175,55,0.06);
  transition: all 0.4s ease;
}
#main-nav.scrolled {
  background: rgba(3,2,6,0.99);
  border-bottom-color: rgba(212,175,55,0.15);
  box-shadow: 0 4px 40px rgba(0,0,0,0.6);
}
.nav-logo { text-decoration:none; display:flex; align-items:center; gap:1rem; }
.nav-logo img { height:42px; width:auto; }
.nav-logo-text {
  font-family: var(--font-sacred);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  color: var(--gold);
  line-height: 1.4;
}
.nav-logo-text span {
  display:block;
  font-family: var(--font-ui);
  font-size: 0.55rem;
  letter-spacing: 0.35em;
  color: var(--silver);
  font-weight:300;
  text-transform:uppercase;
}
.nav-links {
  display:flex; gap:2rem; list-style:none; align-items:center;
}
.nav-links a {
  font-family: var(--font-ui);
  font-weight:300; font-size:0.72rem;
  letter-spacing:0.2em; text-transform:uppercase;
  color: var(--silver); text-decoration:none;
  transition: color 0.3s;
  position:relative;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-3px; left:0; right:0;
  height:1px; background:var(--gold); transform:scaleX(0);
  transition:transform 0.3s;
}
.nav-links a:hover, .nav-links .current-menu-item a { color:var(--gold-light); }
.nav-links a:hover::after, .nav-links .current-menu-item a::after { transform:scaleX(1); }

.nav-login {
  font-family: var(--font-ui); font-size:0.68rem; font-weight:300;
  letter-spacing:0.2em; text-transform:uppercase;
  color: var(--gold); border:1px solid rgba(212,175,55,0.3);
  padding:0.5rem 1.2rem; text-decoration:none; transition:all 0.3s;
}
.nav-login:hover { background:var(--gold-glow); border-color:var(--gold); color:var(--gold-light); }

.hamburger {
  display:none; flex-direction:column; gap:5px;
  cursor:pointer; background:none; border:none; padding:4px;
}
.hamburger span { display:block; width:24px; height:1px; background:var(--gold); transition:all 0.3s; }

/* ── LAYOUT ── */
.site-content { position:relative; z-index:1; padding-top:80px; }
.container { max-width:1200px; margin:0 auto; padding:0 3rem; }
.container-narrow { max-width:860px; margin:0 auto; padding:0 3rem; }

/* ── SACRED DIVIDER ── */
.sacred-divider {
  display:flex; align-items:center; gap:1.5rem; margin:2rem 0;
}
.sacred-divider::before, .sacred-divider::after {
  content:''; flex:1; height:1px;
  background:linear-gradient(to right, transparent, var(--gold-dim));
}
.sacred-divider::after { background:linear-gradient(to left, transparent, var(--gold-dim)); }
.sacred-divider-symbol {
  color:var(--gold); font-size:1rem; letter-spacing:0.3em; white-space:nowrap;
}

/* ── SECTION LABEL ── */
.section-label {
  font-family:var(--font-ui); font-size:0.62rem;
  letter-spacing:0.5em; text-transform:uppercase;
  color:var(--gold); margin-bottom:0.8rem;
}

/* ── BUTTONS ── */
.btn-sacred {
  display:inline-block; font-family:var(--font-head);
  font-size:0.75rem; font-weight:400; letter-spacing:0.25em;
  text-transform:uppercase; color:var(--void);
  background:linear-gradient(135deg, var(--gold), var(--gold-light));
  border:none; padding:1rem 2.8rem; cursor:pointer;
  text-decoration:none; transition:all 0.4s ease;
  position:relative; overflow:hidden;
}
.btn-sacred::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, var(--gold-light), var(--gold));
  opacity:0; transition:opacity 0.4s;
}
.btn-sacred:hover { transform:translateY(-3px); box-shadow:0 12px 40px rgba(212,175,55,0.4); color:var(--void); }
.btn-sacred:hover::before { opacity:1; }
.btn-ghost {
  display:inline-block; font-family:var(--font-head);
  font-size:0.72rem; font-weight:400; letter-spacing:0.25em;
  text-transform:uppercase; color:var(--gold);
  background:transparent; border:1px solid rgba(212,175,55,0.35);
  padding:1rem 2.8rem; cursor:pointer; text-decoration:none; transition:all 0.3s;
}
.btn-ghost:hover {
  border-color:var(--gold); background:var(--gold-glow);
  color:var(--gold-light); transform:translateY(-2px);
}

/* ── PAGE HERO ── */
.page-hero {
  padding:9rem 0 6rem; text-align:center; position:relative;
  background: radial-gradient(ellipse 80% 60% at 50% 50%, rgba(123,79,191,0.12) 0%, transparent 70%);
}
.page-hero::after {
  content:''; position:absolute; bottom:0; left:15%; right:15%;
  height:1px;
  background:linear-gradient(to right, transparent, rgba(212,175,55,0.25), transparent);
}
.page-hero h1 {
  font-family:var(--font-sacred); font-size:clamp(2rem,4.5vw,3.8rem);
  font-weight:400; color:var(--white); margin-bottom:1.2rem;
  letter-spacing:0.05em; line-height:1.2;
}
.page-hero p {
  font-style:italic; color:var(--silver); font-size:1.15rem;
  max-width:600px; margin:0 auto;
}

/* ── HERO ── */
.hero {
  min-height:100vh; display:flex; align-items:center;
  position:relative; overflow:hidden; padding:8rem 0 6rem;
}
.hero-bg {
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 100% 70% at 50% 30%, rgba(26,15,62,0.8) 0%, transparent 70%),
    radial-gradient(ellipse 50% 50% at 20% 80%, rgba(7,4,16,0.9) 0%, transparent 60%),
    radial-gradient(ellipse 40% 40% at 80% 20%, rgba(212,175,55,0.04) 0%, transparent 60%);
}
.hero-mandala {
  position:absolute; right:-10%; top:50%; transform:translateY(-50%);
  width:700px; height:700px; opacity:0.04;
  border-radius:50%;
  background:
    repeating-conic-gradient(from 0deg, transparent 0deg, transparent 11deg, rgba(212,175,55,1) 12deg, transparent 13deg),
    radial-gradient(circle, rgba(212,175,55,0.5) 0%, transparent 70%);
  animation: rotateSlow 120s linear infinite;
}
@keyframes rotateSlow { from { transform:translateY(-50%) rotate(0deg); } to { transform:translateY(-50%) rotate(360deg); } }

.hero-content {
  position:relative; z-index:2; max-width:820px;
  padding:0 4rem; animation:fadeUp 1.4s ease both;
}
.hero-pre {
  font-family:var(--font-ui); font-size:0.68rem;
  letter-spacing:0.6em; text-transform:uppercase;
  color:var(--gold); margin-bottom:2.5rem;
  display:flex; align-items:center; gap:1.2rem;
}
.hero-pre::before { content:''; width:50px; height:1px; background:var(--gold); }
.hero h1 {
  font-family:var(--font-sacred);
  font-size:clamp(2.5rem,5.5vw,5rem);
  font-weight:400; line-height:1.15; color:var(--white);
  margin-bottom:1rem; letter-spacing:0.03em;
}
.hero h1 .gold-word { color:var(--gold-light); }
.hero-tagline {
  font-family:var(--font-head); font-size:clamp(1rem,2vw,1.4rem);
  font-weight:400; color:var(--amethyst); letter-spacing:0.15em;
  margin-bottom:2rem; text-transform:uppercase;
}
.hero-sub {
  font-size:1.2rem; font-weight:300; color:var(--silver);
  max-width:580px; margin-bottom:3.5rem; line-height:2;
  font-style:italic;
}
.hero-actions { display:flex; gap:1.5rem; flex-wrap:wrap; align-items:center; }
.hero-scroll {
  position:absolute; bottom:3rem; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:0.5rem;
  z-index:2; animation:float 3s ease-in-out infinite;
}
.hero-scroll span { font-family:var(--font-ui); font-size:0.58rem; letter-spacing:0.4em; text-transform:uppercase; color:var(--gold-dim); }
.scroll-line { width:1px; height:60px; background:linear-gradient(to bottom, var(--gold-dim), transparent); }

/* ── MISSION ── */
.section-mission { padding:10rem 0; position:relative; }
.mission-grid { display:grid; grid-template-columns:1fr 1fr; gap:8rem; align-items:center; }
.mission-visual { position:relative; }
.mission-image {
  aspect-ratio:3/4; overflow:hidden;
  border:1px solid rgba(212,175,55,0.12);
  position:relative;
}
.mission-image img { width:100%; height:100%; object-fit:contain; background:var(--abyss); display:block; }
.mission-image::before {
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(to top, rgba(3,2,6,0.4) 0%, transparent 50%);
}
.frame-corner { position:absolute; width:36px; height:36px; border-color:var(--gold); border-style:solid; opacity:0.35; }
.frame-corner.tl { top:-10px; left:-10px; border-width:1px 0 0 1px; }
.frame-corner.tr { top:-10px; right:-10px; border-width:1px 1px 0 0; }
.frame-corner.bl { bottom:-10px; left:-10px; border-width:0 0 1px 1px; }
.frame-corner.br { bottom:-10px; right:-10px; border-width:0 1px 1px 0; }
.mission-badge {
  position:absolute; bottom:-1.5rem; right:-1.5rem;
  width:120px; height:120px; border-radius:50%;
  background:linear-gradient(135deg, var(--cosmos), var(--temple));
  border:1px solid rgba(212,175,55,0.2);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; z-index:2;
}
.mission-badge-num { font-family:var(--font-head); font-size:2rem; color:var(--gold); line-height:1; }
.mission-badge-label { font-family:var(--font-ui); font-size:0.55rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--silver); margin-top:0.3rem; }

.mission-text h2 {
  font-family:var(--font-sacred); font-size:clamp(1.6rem,3vw,2.4rem);
  font-weight:400; color:var(--white); line-height:1.3; margin-bottom:2rem;
}
.mission-text h2 em { font-style:italic; color:var(--gold-light); font-family:var(--font-body); }
.mission-text p { color:var(--silver); margin-bottom:1.5rem; font-size:1.05rem; }
.mission-text p.lead { font-size:1.2rem; color:var(--pale); font-style:italic; }
.dispenza-quote {
  margin:2.5rem 0; padding:2rem 2.5rem;
  border-left:2px solid var(--gold);
  background:rgba(212,175,55,0.03);
  position:relative;
}
.dispenza-quote::before {
  content:'"'; font-family:var(--font-sacred); font-size:5rem;
  color:var(--gold); opacity:0.15; position:absolute;
  top:-1rem; left:1rem; line-height:1;
}
.dispenza-quote p { font-style:italic; color:var(--pale); font-size:1.1rem; line-height:2; margin:0; }
.dispenza-quote cite { font-family:var(--font-ui); font-size:0.68rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); margin-top:0.8rem; display:block; }

/* ── OFFERINGS ── */
.section-offerings { padding:10rem 0; background:linear-gradient(to bottom, transparent, rgba(19,10,46,0.4), transparent); }
.offerings-header { text-align:center; margin-bottom:6rem; }
.offerings-header h2 { font-family:var(--font-sacred); font-size:clamp(1.8rem,3.5vw,3rem); font-weight:400; color:var(--white); margin-bottom:1rem; }
.offerings-header p { color:var(--silver); font-style:italic; font-size:1.1rem; max-width:560px; margin:0 auto; }

.offerings-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.offering-card {
  background:linear-gradient(160deg, rgba(19,10,46,0.9), rgba(7,4,16,0.9));
  border:1px solid rgba(212,175,55,0.08);
  padding:3rem 2.5rem; position:relative; overflow:hidden;
  transition:all 0.5s ease; cursor:pointer; text-decoration:none; display:block;
}
.offering-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(to right, transparent, var(--gold), transparent);
  opacity:0; transition:opacity 0.5s;
}
.offering-card::after {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at 50% 0%, rgba(212,175,55,0.05) 0%, transparent 70%);
  opacity:0; transition:opacity 0.5s;
}
.offering-card:hover { border-color:rgba(212,175,55,0.25); transform:translateY(-6px); box-shadow:0 30px 60px rgba(0,0,0,0.6); }
.offering-card:hover::before, .offering-card:hover::after { opacity:1; }
.offering-symbol { font-size:2.5rem; margin-bottom:1.5rem; display:block; }
.offering-type { font-family:var(--font-ui); font-size:0.6rem; letter-spacing:0.35em; text-transform:uppercase; color:var(--gold); margin-bottom:0.8rem; }
.offering-card h3 { font-family:var(--font-head); font-size:1.3rem; font-weight:400; color:var(--white); margin-bottom:1rem; line-height:1.3; }
.offering-card p { color:var(--silver); font-size:0.95rem; line-height:1.8; margin-bottom:2rem; }
.offering-link { font-family:var(--font-ui); font-size:0.65rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; gap:0.8rem; transition:gap 0.3s; }
.offering-card:hover .offering-link { gap:1.4rem; }
.offering-link::after { content:'→'; }

/* ── SHOP PREVIEW ── */
.section-shop-preview { padding:10rem 0; }
.shop-tabs { display:flex; gap:0.5rem; margin-bottom:4rem; flex-wrap:wrap; }
.shop-tab { font-family:var(--font-ui); font-size:0.65rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--silver); background:transparent; border:1px solid rgba(212,175,55,0.12); padding:0.6rem 1.4rem; cursor:pointer; transition:all 0.3s; }
.shop-tab:hover, .shop-tab.active { color:var(--void); background:var(--gold); border-color:var(--gold); }
.shop-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.shop-card {
  background:linear-gradient(160deg, rgba(19,10,46,0.85), rgba(7,4,16,0.85));
  border:1px solid rgba(212,175,55,0.08); overflow:hidden;
  transition:all 0.4s ease; display:flex; flex-direction:column;
}
.shop-card:hover { border-color:rgba(212,175,55,0.25); transform:translateY(-5px); box-shadow:0 20px 50px rgba(0,0,0,0.5); }
.shop-thumb {
  aspect-ratio:4/3;
  background:linear-gradient(135deg, var(--cosmos), var(--temple));
  display:flex; align-items:center; justify-content:center;
  font-size:3rem; position:relative; overflow:hidden;
}
.shop-thumb::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 40%, rgba(212,175,55,0.08) 0%, transparent 65%); }
.shop-badge { position:absolute; top:1rem; right:1rem; font-family:var(--font-ui); font-size:0.58rem; letter-spacing:0.2em; text-transform:uppercase; background:var(--gold); color:var(--void); padding:0.25rem 0.6rem; font-weight:500; }
.shop-body { padding:1.8rem; display:flex; flex-direction:column; flex:1; }
.shop-cat { font-family:var(--font-ui); font-size:0.6rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); margin-bottom:0.6rem; }
.shop-card h3 { font-family:var(--font-head); font-size:1.05rem; font-weight:400; color:var(--white); margin-bottom:0.6rem; line-height:1.4; }
.shop-card p { font-size:0.88rem; color:var(--silver); line-height:1.7; flex:1; margin-bottom:1.5rem; }
.shop-footer { display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(212,175,55,0.08); padding-top:1.2rem; }
.shop-price { font-family:var(--font-head); font-size:1.4rem; color:var(--gold); }
.shop-price-sub { font-family:var(--font-ui); font-size:0.6rem; color:var(--silver); letter-spacing:0.1em; margin-top:0.1rem; }
.add-to-cart { font-family:var(--font-ui); font-size:0.65rem; font-weight:400; letter-spacing:0.15em; text-transform:uppercase; color:var(--void); background:var(--gold); border:none; padding:0.65rem 1.2rem; cursor:pointer; transition:all 0.3s; white-space:nowrap; }
.add-to-cart:hover { background:var(--gold-light); transform:translateY(-1px); }

/* ── CART ── */
.cart-nav-btn { background:none; border:1px solid rgba(212,175,55,0.25); color:var(--gold); width:40px; height:40px; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:1rem; position:relative; transition:all 0.3s; flex-shrink:0; }
.cart-nav-btn:hover { border-color:var(--gold); background:var(--gold-glow); }
.cart-count { position:absolute; top:-6px; right:-6px; background:var(--gold); color:var(--void); font-family:var(--font-ui); font-size:0.58rem; font-weight:600; width:18px; height:18px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
.cart-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.7); z-index:500; opacity:0; pointer-events:none; transition:opacity 0.35s; backdrop-filter:blur(6px); }
.cart-overlay.open { opacity:1; pointer-events:all; }
.cart-drawer { position:fixed; top:0; right:0; bottom:0; width:420px; max-width:95vw; background:var(--deep); border-left:1px solid rgba(212,175,55,0.15); z-index:501; display:flex; flex-direction:column; transform:translateX(100%); transition:transform 0.4s cubic-bezier(0.4,0,0.2,1); }
.cart-drawer.open { transform:translateX(0); }
.cart-header { padding:2rem; border-bottom:1px solid rgba(212,175,55,0.1); display:flex; align-items:center; justify-content:space-between; flex-shrink:0; }
.cart-header h3 { font-family:var(--font-head); font-size:1.2rem; font-weight:400; color:var(--white); }
.cart-close { background:none; border:1px solid rgba(212,175,55,0.2); color:var(--gold); width:36px; height:36px; cursor:pointer; font-size:1rem; display:flex; align-items:center; justify-content:center; transition:all 0.3s; }
.cart-close:hover { background:var(--gold-glow); border-color:var(--gold); }
.cart-items { flex:1; overflow-y:auto; padding:1.5rem 2rem; }
.cart-empty { text-align:center; padding:4rem 0; }
.cart-empty p { font-style:italic; color:var(--silver); margin-top:1rem; font-size:0.95rem; }
.cart-item { display:flex; gap:1rem; padding:1.2rem 0; border-bottom:1px solid rgba(212,175,55,0.06); align-items:flex-start; }
.cart-item-icon { width:52px; height:52px; background:linear-gradient(135deg, var(--cosmos), var(--temple)); border:1px solid rgba(212,175,55,0.12); display:flex; align-items:center; justify-content:center; font-size:1.4rem; flex-shrink:0; }
.cart-item-info { flex:1; }
.cart-item-name { font-family:var(--font-head); font-size:0.9rem; color:var(--white); font-weight:400; margin-bottom:0.2rem; }
.cart-item-cat { font-family:var(--font-ui); font-size:0.6rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--gold); }
.cart-item-price { font-family:var(--font-head); font-size:1.05rem; color:var(--gold); flex-shrink:0; }
.cart-item-remove { background:none; border:none; color:rgba(200,184,216,0.3); cursor:pointer; font-size:0.9rem; padding:0.2rem; transition:color 0.3s; margin-top:0.2rem; }
.cart-item-remove:hover { color:#e07070; }
.cart-footer { padding:2rem; border-top:1px solid rgba(212,175,55,0.1); flex-shrink:0; }
.cart-total-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:1.5rem; }
.cart-total-label { font-family:var(--font-ui); font-size:0.7rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--silver); }
.cart-total-amount { font-family:var(--font-head); font-size:1.8rem; color:var(--gold); }
.checkout-btn { width:100%; background:linear-gradient(135deg, var(--gold), var(--gold-light)); color:var(--void); border:none; padding:1.1rem; font-family:var(--font-ui); font-size:0.75rem; font-weight:400; letter-spacing:0.2em; text-transform:uppercase; cursor:pointer; transition:all 0.3s; margin-bottom:0.8rem; }
.checkout-btn:hover { opacity:0.9; transform:translateY(-1px); }
.checkout-btn:disabled { opacity:0.3; cursor:not-allowed; transform:none; }
.cart-note { font-family:var(--font-ui); font-size:0.63rem; color:rgba(200,184,216,0.35); text-align:center; letter-spacing:0.05em; }

/* ── DISPENZA SECTION ── */
.section-dispenza {
  padding:10rem 0; position:relative;
  background:linear-gradient(to bottom, transparent, rgba(19,10,46,0.5), transparent);
}
.dispenza-inner { display:grid; grid-template-columns:1fr 1.2fr; gap:8rem; align-items:center; }
.dispenza-text h2 { font-family:var(--font-sacred); font-size:clamp(1.6rem,2.8vw,2.4rem); font-weight:400; color:var(--white); margin-bottom:2rem; line-height:1.3; }
.dispenza-text p { color:var(--silver); margin-bottom:1.5rem; font-size:1.05rem; }
.dispenza-pillars { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-top:3rem; }
.pillar { border-top:1px solid rgba(212,175,55,0.2); padding-top:1.2rem; }
.pillar h4 { font-family:var(--font-head); font-size:0.95rem; font-weight:400; color:var(--gold-light); margin-bottom:0.4rem; }
.pillar p { font-size:0.88rem; color:var(--silver); line-height:1.7; }
.dispenza-visual { position:relative; }
.dispenza-image { overflow:hidden; border:1px solid rgba(212,175,55,0.1); }
.dispenza-image img { width:100%; height:420px; object-fit:contain; background:var(--abyss); display:block; }

/* ── COMMUNITY ── */
.section-community { padding:10rem 0; }
.community-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:8rem; align-items:center; }
.community-text h2 { font-family:var(--font-sacred); font-size:clamp(1.6rem,2.8vw,2.4rem); font-weight:400; color:var(--white); margin-bottom:2rem; }
.community-text p { color:var(--silver); margin-bottom:1.5rem; font-size:1.05rem; }
.community-features { display:flex; flex-direction:column; gap:1rem; margin-top:2.5rem; }
.community-feature { display:flex; align-items:center; gap:1rem; padding:1rem 1.5rem; background:rgba(19,10,46,0.6); border:1px solid rgba(212,175,55,0.08); }
.community-feature-icon { font-size:1.4rem; flex-shrink:0; }
.community-feature-text { font-family:var(--font-ui); font-size:0.82rem; color:var(--pale); }
.community-visual { display:flex; flex-direction:column; gap:1rem; }
.community-post-preview { padding:1.5rem 2rem; background:rgba(13,7,32,0.8); border:1px solid rgba(212,175,55,0.08); transition:all 0.3s; }
.community-post-preview:hover { border-color:rgba(212,175,55,0.2); }
.community-post-author { font-family:var(--font-ui); font-size:0.65rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--gold); margin-bottom:0.5rem; }
.community-post-text { font-style:italic; color:var(--silver); font-size:0.95rem; line-height:1.7; }
.community-post-meta { font-family:var(--font-ui); font-size:0.62rem; color:rgba(200,184,216,0.4); margin-top:0.8rem; }

/* ── TESTIMONIALS ── */
.section-testimonials { padding:10rem 0; background:linear-gradient(to bottom, transparent, rgba(13,7,32,0.5), transparent); }
.testimonials-header { text-align:center; margin-bottom:5rem; }
.testimonials-header h2 { font-family:var(--font-sacred); font-size:clamp(1.8rem,3vw,2.8rem); font-weight:400; color:var(--white); }
.testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.testimonial-card { background:linear-gradient(160deg, rgba(19,10,46,0.7), rgba(7,4,16,0.7)); border:1px solid rgba(212,175,55,0.08); padding:2.5rem; position:relative; }
.testimonial-stars { color:var(--gold); font-size:0.85rem; margin-bottom:1rem; letter-spacing:0.15em; }
.testimonial-quote { font-size:3rem; color:var(--gold); opacity:0.2; line-height:1; font-family:var(--font-sacred); margin-bottom:1rem; }
.testimonial-text { font-style:italic; color:var(--silver); font-size:1rem; line-height:1.8; margin-bottom:2rem; }
.testimonial-author { font-family:var(--font-ui); font-size:0.68rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--gold); }
.testimonial-service { font-family:var(--font-ui); font-size:0.6rem; letter-spacing:0.1em; color:rgba(200,184,216,0.4); margin-top:0.3rem; }

/* ── NEWSLETTER ── */
.section-newsletter { padding:10rem 0; }
.newsletter-box {
  background:linear-gradient(135deg, rgba(26,15,62,0.8), rgba(13,7,32,0.8));
  border:1px solid rgba(212,175,55,0.15);
  padding:6rem; text-align:center; position:relative; overflow:hidden;
}
.newsletter-box::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(to right, transparent, var(--gold), transparent); opacity:0.5; }
.newsletter-box::after { content:'✦ ✦ ✦'; position:absolute; top:1.5rem; left:50%; transform:translateX(-50%); color:var(--gold); font-size:0.7rem; opacity:0.5; letter-spacing:0.5em; }
.newsletter-box h2 { font-family:var(--font-sacred); font-size:clamp(1.6rem,3vw,2.4rem); font-weight:400; color:var(--white); margin-bottom:1rem; }
.newsletter-box p { color:var(--silver); font-style:italic; margin-bottom:3rem; font-size:1.05rem; }
.newsletter-form { display:flex; max-width:520px; margin:0 auto; }
.newsletter-form input { flex:1; background:rgba(3,2,6,0.9); border:1px solid rgba(212,175,55,0.15); border-right:none; color:var(--white); padding:1rem 1.5rem; font-family:var(--font-ui); font-size:0.85rem; font-weight:300; outline:none; transition:border-color 0.3s; }
.newsletter-form input::placeholder { color:rgba(192,184,208,0.35); }
.newsletter-form input:focus { border-color:rgba(212,175,55,0.4); }
.newsletter-form button { background:linear-gradient(135deg, var(--gold), var(--gold-light)); color:var(--void); border:none; padding:1rem 2rem; font-family:var(--font-ui); font-size:0.7rem; font-weight:400; letter-spacing:0.2em; text-transform:uppercase; cursor:pointer; transition:all 0.3s; white-space:nowrap; }
.newsletter-form button:hover { opacity:0.9; }
.newsletter-disclaimer { font-family:var(--font-ui); font-size:0.65rem; color:rgba(192,184,208,0.35); margin-top:1rem; letter-spacing:0.05em; }

/* ── KONTAKT ── */
.kontakt-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:8rem; align-items:start; }
.kontakt-info h2 { font-family:var(--font-sacred); font-size:1.8rem; font-weight:400; color:var(--white); margin-bottom:1rem; }
.kontakt-info p { color:var(--silver); font-style:italic; margin-bottom:3rem; font-size:1.05rem; }
.kontakt-items { display:flex; flex-direction:column; gap:1.5rem; }
.kontakt-item { display:flex; align-items:center; gap:1rem; }
.kontakt-icon-wrap { width:44px; height:44px; background:rgba(212,175,55,0.06); border:1px solid rgba(212,175,55,0.15); display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; }
.kontakt-item-label { font-family:var(--font-ui); font-size:0.65rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--gold); margin-bottom:0.2rem; }
.kontakt-item-value { font-size:0.95rem; color:var(--pale); }
.kontakt-form { display:flex; flex-direction:column; gap:1.2rem; }
.form-group { display:flex; flex-direction:column; gap:0.5rem; }
.form-label { font-family:var(--font-ui); font-size:0.65rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); }
.form-group input, .form-group select, .form-group textarea { background:rgba(3,2,6,0.8); border:1px solid rgba(212,175,55,0.12); color:var(--white); padding:0.9rem 1.2rem; font-family:var(--font-body); font-size:1rem; font-weight:300; outline:none; transition:border-color 0.3s; width:100%; }
.form-group select option { background:var(--deep); }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:rgba(212,175,55,0.35); }
.form-group textarea { resize:vertical; min-height:140px; }
.form-group input::placeholder, .form-group textarea::placeholder { color:rgba(192,184,208,0.3); }

/* ── BLOG ── */
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; margin-bottom:4rem; }
.blog-card { background:linear-gradient(160deg, rgba(19,10,46,0.7), rgba(7,4,16,0.7)); border:1px solid rgba(212,175,55,0.08); overflow:hidden; transition:all 0.4s; text-decoration:none; display:block; }
.blog-card:hover { border-color:rgba(212,175,55,0.25); transform:translateY(-6px); box-shadow:0 24px 60px rgba(0,0,0,0.5); }
.blog-thumb { aspect-ratio:16/9; background:linear-gradient(135deg, var(--cosmos), var(--temple)); display:flex; align-items:center; justify-content:center; font-size:2.5rem; overflow:hidden; }
.blog-thumb img { width:100%; height:100%; object-fit:cover; }
.blog-body { padding:2rem; }
.blog-tag { font-family:var(--font-ui); font-size:0.6rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); margin-bottom:0.8rem; }
.blog-card h3 { font-family:var(--font-head); font-size:1.1rem; font-weight:400; color:var(--white); margin-bottom:0.8rem; line-height:1.4; }
.blog-card p { font-size:0.9rem; color:var(--silver); line-height:1.7; margin-bottom:1.5rem; }
.blog-meta { font-family:var(--font-ui); font-size:0.65rem; color:rgba(192,184,208,0.45); }

/* ── FAQ ── */
.faq-list { max-width:820px; margin:0 auto; }
.faq-item { border-bottom:1px solid rgba(212,175,55,0.1); padding:2rem 0; }
.faq-question { font-family:var(--font-head); font-size:1.1rem; font-weight:400; color:var(--white); cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:1rem; transition:color 0.3s; user-select:none; }
.faq-question:hover { color:var(--gold-light); }
.faq-toggle { color:var(--gold); font-size:1.2rem; transition:transform 0.3s; flex-shrink:0; }
.faq-item.open .faq-toggle { transform:rotate(45deg); }
.faq-answer { max-height:0; overflow:hidden; transition:max-height 0.4s ease, padding 0.4s ease; }
.faq-item.open .faq-answer { max-height:300px; padding-top:1.2rem; }
.faq-answer p { color:var(--silver); font-style:italic; line-height:1.9; }

/* ── MITGLIEDER ── */
.login-box {
  max-width:480px; margin:0 auto;
  background:linear-gradient(160deg, rgba(19,10,46,0.9), rgba(7,4,16,0.9));
  border:1px solid rgba(212,175,55,0.15);
  padding:4rem; text-align:center; position:relative;
}
.login-box::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(to right, transparent, var(--gold), transparent); opacity:0.5; }
.login-box h2 { font-family:var(--font-sacred); font-size:1.8rem; font-weight:400; color:var(--white); margin-bottom:0.5rem; }
.login-box p { color:var(--silver); font-style:italic; margin-bottom:2.5rem; font-size:0.95rem; }

/* ── LEGAL ── */
.legal-block h2 { font-family:var(--font-head); font-size:1.4rem; font-weight:400; color:var(--gold-light); margin:2.5rem 0 1rem; padding-bottom:0.5rem; border-bottom:1px solid rgba(212,175,55,0.12); }
.legal-block h3 { font-family:var(--font-ui); font-size:0.78rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--silver); margin:1.8rem 0 0.6rem; }
.legal-block p { color:rgba(192,184,208,0.75); font-size:0.95rem; line-height:1.85; margin-bottom:1rem; }
.legal-block strong { color:var(--pale); }

/* ── ENTRY CONTENT ── */
.entry-content { color:var(--silver); line-height:1.9; }
.entry-content h1,.entry-content h2,.entry-content h3 { font-family:var(--font-head); color:var(--white); font-weight:400; margin:2rem 0 1rem; }
.entry-content p { margin-bottom:1.5rem; }
.entry-content a { color:var(--gold); }

/* ── FOOTER ── */
footer {
  position:relative; z-index:1;
  padding:6rem 0 2.5rem;
  border-top:1px solid rgba(212,175,55,0.08);
  background:linear-gradient(to top, rgba(3,2,6,0.99), transparent);
}
.footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:4rem; margin-bottom:5rem; }
.footer-brand .footer-logo { font-family:var(--font-sacred); font-size:1rem; color:var(--gold); margin-bottom:0.3rem; }
.footer-brand .footer-sub { font-family:var(--font-ui); font-size:0.6rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--amethyst); margin-bottom:1.5rem; }
.footer-brand p { font-size:0.88rem; color:var(--silver); font-style:italic; line-height:1.8; margin-bottom:1.5rem; }
.footer-social { display:flex; gap:0.8rem; }
.footer-social a { width:36px; height:36px; background:rgba(212,175,55,0.05); border:1px solid rgba(212,175,55,0.12); display:flex; align-items:center; justify-content:center; color:var(--gold); text-decoration:none; font-size:0.9rem; transition:all 0.3s; }
.footer-social a:hover { background:rgba(212,175,55,0.12); border-color:rgba(212,175,55,0.35); }
.footer-col h4 { font-family:var(--font-ui); font-size:0.65rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); margin-bottom:1.5rem; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:0.8rem; }
.footer-col ul li a { font-family:var(--font-ui); font-size:0.8rem; color:var(--silver); text-decoration:none; transition:color 0.3s; font-weight:300; }
.footer-col ul li a:hover { color:var(--gold-light); }
.footer-bottom { border-top:1px solid rgba(212,175,55,0.06); padding-top:2rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
.footer-bottom p { font-family:var(--font-ui); font-size:0.7rem; color:rgba(192,184,208,0.35); }
.footer-legal { display:flex; gap:2rem; }
.footer-legal a { font-family:var(--font-ui); font-size:0.7rem; color:rgba(192,184,208,0.35); text-decoration:none; transition:color 0.3s; }
.footer-legal a:hover { color:var(--gold); }

/* ── ANIMATIONS ── */
@keyframes fadeUp { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }
@keyframes float { 0%,100% { transform:translateX(-50%) translateY(0); } 50% { transform:translateX(-50%) translateY(-10px); } }
.fade-in { opacity:0; transform:translateY(25px); transition:opacity 0.8s ease, transform 0.8s ease; }
.fade-in.visible { opacity:1; transform:translateY(0); }

/* ── MODAL CHECKOUT ── */
.modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.8); z-index:600; display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity 0.3s; padding:2rem; backdrop-filter:blur(8px); }
.modal-overlay.open { opacity:1; pointer-events:all; }
.checkout-modal { background:var(--deep); border:1px solid rgba(212,175,55,0.2); width:100%; max-width:520px; max-height:90vh; overflow-y:auto; position:relative; transform:translateY(20px); transition:transform 0.3s; }
.modal-overlay.open .checkout-modal { transform:translateY(0); }
.modal-header { padding:2.5rem; border-bottom:1px solid rgba(212,175,55,0.08); position:relative; }
.modal-header::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(to right, transparent, var(--gold), transparent); opacity:0.4; }
.modal-header h3 { font-family:var(--font-head); font-size:1.4rem; font-weight:400; color:var(--white); margin-bottom:0.3rem; }
.modal-header p { font-style:italic; color:var(--silver); font-size:0.9rem; }
.modal-close-btn { position:absolute; top:1.5rem; right:1.5rem; background:none; border:1px solid rgba(212,175,55,0.2); color:var(--gold); width:32px; height:32px; cursor:pointer; font-size:1rem; display:flex; align-items:center; justify-content:center; transition:all 0.3s; }
.modal-close-btn:hover { background:var(--gold-glow); }
.modal-body { padding:2rem 2.5rem; }
.modal-order-summary { background:rgba(3,2,6,0.6); border:1px solid rgba(212,175,55,0.06); padding:1.2rem; margin-bottom:2rem; }
.modal-order-title { font-family:var(--font-ui); font-size:0.62rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); margin-bottom:1rem; }
.modal-order-item { display:flex; justify-content:space-between; font-size:0.88rem; color:var(--silver); padding:0.3rem 0; }
.modal-order-total { display:flex; justify-content:space-between; border-top:1px solid rgba(212,175,55,0.1); margin-top:0.8rem; padding-top:0.8rem; font-family:var(--font-head); color:var(--gold); font-size:1.1rem; }
.modal-form { display:flex; flex-direction:column; gap:1rem; }
.modal-form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.modal-form .form-group input, .modal-form .form-group select { background:rgba(3,2,6,0.8); border:1px solid rgba(212,175,55,0.12); color:var(--white); padding:0.8rem 1rem; font-family:var(--font-body); font-size:0.95rem; outline:none; transition:border-color 0.3s; width:100%; }
.modal-form .form-group input:focus { border-color:rgba(212,175,55,0.35); }
.modal-form .form-group input::placeholder { color:rgba(192,184,208,0.3); }
.modal-pay-btn { width:100%; background:linear-gradient(135deg, var(--gold), var(--gold-light)); color:var(--void); border:none; padding:1.1rem; font-family:var(--font-ui); font-size:0.78rem; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; cursor:pointer; transition:all 0.3s; margin-top:0.5rem; }
.modal-pay-btn:hover { opacity:0.9; }
.modal-secure { display:flex; align-items:center; justify-content:center; gap:0.5rem; margin-top:1rem; font-family:var(--font-ui); font-size:0.62rem; color:rgba(192,184,208,0.3); letter-spacing:0.1em; }
.checkout-success { padding:4rem 2.5rem; text-align:center; }
.success-icon { font-size:3.5rem; margin-bottom:1.5rem; }
.checkout-success h3 { font-family:var(--font-head); font-size:1.8rem; font-weight:400; color:var(--gold); margin-bottom:1rem; }
.checkout-success p { color:var(--silver); font-style:italic; margin-bottom:2rem; }

/* ── MOBILE ── */
@media (max-width:900px) {
  #main-nav { padding:1rem 1.5rem; }
  .nav-links { display:none; }
  .nav-login { display:none; }
  .hamburger { display:flex; }
  .nav-links.open { display:flex; flex-direction:column; position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(3,2,6,0.99); align-items:center; justify-content:center; gap:2.5rem; z-index:99; }
  .nav-links.open a { font-size:1rem; }
  .container, .container-narrow { padding:0 1.5rem; }
  .hero-content { padding:0 1.5rem; }
  .hero-mandala { display:none; }
  .mission-grid, .dispenza-inner, .community-grid, .kontakt-grid { grid-template-columns:1fr; gap:3rem; }
  .offerings-grid, .shop-grid, .testimonials-grid, .blog-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:2.5rem; }
  .newsletter-box { padding:3rem 1.5rem; }
  .newsletter-form { flex-direction:column; }
  .newsletter-form input { border-right:1px solid rgba(212,175,55,0.15); }
  .dispenza-pillars, .modal-form-row { grid-template-columns:1fr; }
}
