/* AstraDusha — stil cosmic */
* { margin: 0; padding: 0; box-sizing: border-box; }

:root {
    --bg: #0b0b1e;
    --bg2: #141433;
    --gold: #d4af6a;
    --text: #e8e6f0;
    --muted: #9a97b5;
    --accent: #7c6bd6;
}

body {
    background: radial-gradient(ellipse at 50% -20%, #232355 0%, var(--bg) 60%);
    color: var(--text);
    font-family: 'Georgia', 'Times New Roman', serif;
    min-height: 100vh;
    overflow-x: hidden;
}

/* Stele animate */
.stars, .stars2 {
    position: fixed; inset: 0; pointer-events: none; z-index: 0;
    background-image:
        radial-gradient(1px 1px at 20% 30%, #fff8, transparent),
        radial-gradient(1px 1px at 60% 70%, #fff6, transparent),
        radial-gradient(1.5px 1.5px at 80% 20%, #fff9, transparent),
        radial-gradient(1px 1px at 40% 80%, #fff5, transparent),
        radial-gradient(1px 1px at 90% 60%, #fff7, transparent),
        radial-gradient(1.5px 1.5px at 10% 60%, #fff6, transparent);
    background-size: 550px 550px;
    animation: twinkle 6s ease-in-out infinite alternate;
}
.stars2 { background-size: 350px 350px; animation-duration: 9s; opacity: .6; }
@keyframes twinkle { from { opacity: .4; } to { opacity: 1; } }

header {
    position: relative; z-index: 2;
    display: flex; justify-content: space-between; align-items: center;
    padding: 20px 28px;
}
.logo {
    display: flex; align-items: center; gap: 12px;
    font-size: 1.3rem; letter-spacing: 2px; color: var(--gold);
    text-decoration: none;
}
.logo-mark { height: 42px; width: auto; filter: drop-shadow(0 0 12px #d4af6a33); }

.langs a {
    color: var(--muted); text-decoration: none; margin-left: 14px;
    font-size: .85rem; letter-spacing: 1px;
}
.langs a.active { color: var(--gold); border-bottom: 1px solid var(--gold); }

main { position: relative; z-index: 2; max-width: 640px; margin: 0 auto; padding: 24px; }

/* Hero */
.hero { text-align: center; padding: 30px 0 80px; }
.hero-logo {
    display: block;
    width: min(440px, 88%);
    height: auto;
    margin: 0 auto 28px;
    filter: drop-shadow(0 0 50px #d4af6a2e) drop-shadow(0 0 120px #7c6bd61f);
    animation: heroGlow 7s ease-in-out infinite alternate;
}
@keyframes heroGlow {
    from { filter: drop-shadow(0 0 40px #d4af6a26) drop-shadow(0 0 100px #7c6bd618); }
    to   { filter: drop-shadow(0 0 65px #d4af6a40) drop-shadow(0 0 140px #7c6bd62b); }
}
h1 { font-size: 2rem; font-weight: 400; line-height: 1.3; margin-bottom: 18px; }
.subtitle { color: var(--muted); font-size: 1.05rem; line-height: 1.6; margin-bottom: 40px; }

.cta {
    display: inline-block;
    background: linear-gradient(135deg, var(--gold), #b8934f);
    color: #1a1230; text-decoration: none;
    padding: 16px 42px; border-radius: 40px;
    font-size: 1.1rem; letter-spacing: 1px;
    border: none; cursor: pointer;
    box-shadow: 0 6px 30px #d4af6a44;
    transition: transform .2s, box-shadow .2s;
    font-family: inherit;
}
.cta:hover { transform: translateY(-2px); box-shadow: 0 10px 40px #d4af6a66; }

/* Quiz */
.quiz h2 { color: var(--gold); font-weight: 400; margin: 36px 0 18px; font-size: 1.25rem; }
.quiz label { display: block; margin-bottom: 18px; color: var(--muted); font-size: .95rem; }
.quiz input[type=date], .quiz input[type=time], .quiz input[type=text] {
    display: block; width: 100%; margin-top: 8px;
    background: var(--bg2); border: 1px solid #2e2e5e; border-radius: 10px;
    color: var(--text); padding: 14px; font-size: 1rem; font-family: inherit;
}
fieldset { border: none; margin-bottom: 28px; }
legend { color: var(--text); font-size: 1.05rem; margin-bottom: 12px; }
.option {
    display: flex; align-items: center; gap: 12px;
    background: var(--bg2); border: 1px solid #2e2e5e; border-radius: 10px;
    padding: 13px 16px; margin-bottom: 8px; cursor: pointer;
    transition: border-color .2s;
}
.option:hover { border-color: var(--gold); }
.option input { accent-color: var(--gold); }
.quiz button.cta { width: 100%; margin: 20px 0 40px; }

/* Preview */
.preview { text-align: center; padding-top: 30px; }
.preview h1 { color: var(--gold); }
.chart-card {
    background: var(--bg2); border: 1px solid #2e2e5e; border-radius: 16px;
    padding: 24px; margin: 30px 0; text-align: left;
}
.chart-row {
    display: flex; justify-content: space-between;
    padding: 12px 4px; border-bottom: 1px solid #2e2e5e55;
    color: var(--muted);
}
.chart-row:last-child { border-bottom: none; }
.chart-row strong { color: var(--text); }
.chart-row.highlight strong { color: var(--gold); }

.paywall { margin-top: 20px; }
.blurred-portrait {
    width: 200px; height: 260px; margin: 0 auto 20px;
    border-radius: 14px;
    background: linear-gradient(160deg, #2a2a5a, #1a1a3a);
    display: flex; align-items: center; justify-content: center;
    font-size: 3rem; color: var(--gold);
    filter: blur(2px);
    box-shadow: 0 0 60px #7c6bd633;
}
.paywall p { color: var(--muted); margin-bottom: 24px; line-height: 1.5; }

footer { position: relative; z-index: 2; padding: 30px 24px 50px; text-align: center; }

/* Secțiunea "Cum se naște portretul" */
.about-block {
    max-width: 620px; margin: 0 auto 40px;
    padding: 28px 26px;
    background: linear-gradient(180deg, #14143355, #0e0e2455);
    border: 1px solid #2e2e5e66;
    border-radius: 16px;
    text-align: left;
}
.about-title {
    color: var(--gold);
    font-weight: 400;
    font-size: 1.1rem;
    letter-spacing: 1px;
    margin-bottom: 14px;
    text-align: center;
}
.about-text {
    color: var(--muted);
    font-size: .95rem;
    line-height: 1.75;
}

/* Disclaimer: mai jos, cu 30% mai mic, mai discret */
.disclaimer {
    color: #4a4863;
    font-size: .56rem;
    line-height: 1.5;
    max-width: 560px;
    margin: 36px auto 0;
}

@media (max-width: 480px) {
    h1 { font-size: 1.5rem; }
    .logo-mark { height: 34px; }
}
