@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Symbols+2&display=swap');
/* ============================================================
   ZYPHORA — Finanzhoroskop 2026 · light "celestial editorial" theme
   (works alongside the Tailwind browser CDN; defines tokens + components)
   ============================================================ */
:root{
  --zy-cream:#f7f3ea; --zy-sand:#efe7d6; --zy-sand2:#e7dcc4;
  --zy-ink:#1a2238; --zy-ink-soft:#3d4663; --zy-ink-mute:#6b7390;
  --zy-gold:#b8893a; --zy-gold-l:#caa24e; --zy-gold-d:#9c6f2c;
  --zy-terra:#c4673b; --zy-line:rgba(26,34,56,.12);
}

*{ -webkit-font-smoothing:antialiased; }
.font-display{ font-family:'Fraunces','Playfair Display',Georgia,serif; }
.font-label{ font-family:'Jost','Inter',sans-serif; letter-spacing:.28em; text-transform:uppercase; }
body.zy-body{
  font-family:'Manrope','Inter',system-ui,sans-serif;
  color:var(--zy-ink); background:var(--zy-cream);
}

/* paper background with warm vignette */
.zy-paper{
  background:
    radial-gradient(1100px 700px at 82% -8%, rgba(202,162,78,.16), transparent 60%),
    radial-gradient(900px 600px at -5% 108%, rgba(196,103,59,.10), transparent 60%),
    var(--zy-cream);
}
.zy-sand{ background:var(--zy-sand); }
.zy-ink-bg{ background:var(--zy-ink); color:var(--zy-cream); }

/* hairline + accents */
.zy-rule{ height:1px; background:linear-gradient(90deg,transparent,var(--zy-gold),transparent); }
.zy-bar{ width:48px; height:2px; background:linear-gradient(90deg,var(--zy-gold-l),var(--zy-gold-d)); }
.zy-bar-terra{ width:48px; height:2px; background:var(--zy-terra); }
.text-gold{
  background:linear-gradient(120deg,var(--zy-gold-l),var(--zy-gold-d));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.text-terra{ color:var(--zy-terra); }
.text-ink-soft{ color:var(--zy-ink-soft); }
.text-ink-mute{ color:var(--zy-ink-mute); }

/* faint starfield (gold dots) for hero/feature bands */
.zy-stars{ position:relative; }
.zy-stars::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:
    radial-gradient(1.3px 1.3px at 30px 40px, rgba(184,137,58,.55), transparent),
    radial-gradient(1.1px 1.1px at 150px 90px, rgba(196,103,59,.45), transparent),
    radial-gradient(1.5px 1.5px at 240px 180px, rgba(184,137,58,.4), transparent),
    radial-gradient(1px 1px at 330px 60px, rgba(156,111,44,.5), transparent);
  background-size:380px 240px; opacity:.7;
}

/* cards */
.zy-card{
  background:#fffdf8; border:1px solid var(--zy-line);
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset, 0 10px 30px -18px rgba(26,34,56,.25);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.zy-card:hover{
  transform:translateY(-5px);
  border-color:rgba(184,137,58,.5);
  box-shadow:0 24px 50px -24px rgba(26,34,56,.40);
}
.zy-card-quiet{ background:rgba(255,253,248,.6); border:1px solid var(--zy-line); }

/* buttons */
.btn-ink{
  background:var(--zy-ink); color:var(--zy-cream); font-weight:600;
  transition:transform .2s ease, box-shadow .3s ease, background .2s ease;
}
.btn-ink:hover{ background:#0f1528; transform:translateY(-2px); box-shadow:0 14px 30px -14px rgba(26,34,56,.6); }
.btn-gold{
  background:linear-gradient(120deg,var(--zy-gold-l),var(--zy-gold-d)); color:#fffdf8; font-weight:700;
  transition:transform .2s ease, box-shadow .3s ease, filter .2s ease;
}
.btn-gold:hover{ transform:translateY(-2px); box-shadow:0 14px 30px -14px rgba(184,137,58,.7); filter:brightness(1.04); }
.btn-outline{
  border:1px solid var(--zy-ink); color:var(--zy-ink); font-weight:600;
  transition:background .2s ease, color .2s ease;
}
.btn-outline:hover{ background:var(--zy-ink); color:var(--zy-cream); }

/* decorative spin + float */
@keyframes zy-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.zy-spin{ animation:zy-spin 140s linear infinite; }
@keyframes zy-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.zy-float{ animation:zy-float 8s ease-in-out infinite; }

.zodiac-glyph{ font-family:'Noto Sans Symbols 2','Segoe UI Symbol','Apple Symbols',sans-serif; line-height:1; color:var(--zy-gold-d); }

/* prose for legal pages */
.zy-prose h2{ font-family:'Fraunces',serif; color:var(--zy-ink); font-size:1.5rem; margin:2rem 0 .75rem; }
.zy-prose h3{ font-family:'Fraunces',serif; color:var(--zy-ink); font-size:1.15rem; margin:1.5rem 0 .5rem; }
.zy-prose p,.zy-prose li{ color:var(--zy-ink-soft); line-height:1.8; }
.zy-prose ul{ list-style:disc; padding-left:1.25rem; }
.zy-prose a{ color:var(--zy-gold-d); text-decoration:underline; }

/* cookie banner hover */
.cookie-banner-hover-effect:hover{ filter:brightness(.97); }
