/* === MI Oktató — Dark Theme === */

:root {
    --bg: #0d1117;
    --bg-card: #161b22;
    --bg-hover: #1c2333;
    --border: #30363d;
    --text: #e6edf3;
    --text-dim: #8b949e;
    --accent: #58a6ff;
    --accent-hover: #79c0ff;
    /* ⚠ A kiemelő szín FELÜLETÉN lévő szöveg színe. Sötét módban a --accent
       világos kék, ezért FEKETE szöveg kell rá; világos módban sötétkék,
       ezért FEHÉR. Egyetlen fix szín az egyik módban olvashatatlan lenne. */
    --accent-text: #000;
    --facebook-color: #1877f2;
    --success: #3fb950;
    --danger: #f85149;
    --transition: 0.2s;
}

/* Light theme */
.theme-light {
    --bg: #ffffff;
    --bg-card: #f6f8fa;
    --bg-hover: #eef1f6;
    --border: #d0d7de;
    --text: #1f2328;
    --text-dim: #656d76;
    --accent: #0969da;
    --accent-hover: #0550ae;
    --accent-text: #fff;
    --success: #1a7f37;
    --danger: #cf222e;
    --facebook-color: #1877f2;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background: var(--bg);
    color: var(--text);
    line-height: 1.6;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    transition: background var(--transition), color var(--transition);
}

.navbar {
    background: var(--bg-card);
    border-bottom: 1px solid var(--border);
    padding: 0.8rem 1rem;
}
.nav-inner {
    max-width: 960px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.nav-brand { font-size: 1.3rem; font-weight: 700; color: var(--accent); text-decoration: none; }
.nav-links { display: flex; gap: 1rem; }
.nav-links a { color: var(--text-dim); text-decoration: none; font-size: 0.95rem; padding: 0.3rem 0.6rem; border-radius: 6px; transition: 0.2s; }
.nav-links a:hover { color: var(--text); background: var(--bg-hover); }

.container { max-width: 960px; margin: 0 auto; padding: 2rem 1rem; flex: 1; }

.btn {
    display: inline-block; padding: 0.7rem 1.5rem; border: 1px solid var(--border);
    border-radius: 8px; background: var(--bg-card); color: var(--text);
    text-decoration: none; font-size: 1rem; cursor: pointer; transition: 0.2s;
}
.btn:hover { background: var(--bg-hover); border-color: var(--accent); }
.btn-primary { background: var(--accent); color: var(--accent-text); border: none; font-weight: 600; }
.btn-primary:hover { background: var(--accent-hover); }
.btn-donate { background: linear-gradient(135deg, #f093fb, #f5576c); color: #fff; border: none; }

.btn-google, .btn-facebook {
    display: flex; align-items: center; justify-content: center; gap: 0.5rem;
    padding: 0.8rem 1.5rem; border-radius: 8px; font-size: 1rem; font-weight: 500; text-decoration: none;
}
.btn-google { background: #fff; color: #333; border: 1px solid #ddd; }
.btn-facebook { background: var(--facebook-color); color: #fff; border: none; }

.login-page { display: flex; justify-content: center; align-items: center; min-height: 70vh; }
.login-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; padding: 2.5rem; width: 100%; max-width: 420px; text-align: center; }
.login-icon { font-size: 3rem; }
.login-card h1 { margin: 0.5rem 0; font-size: 1.8rem; }
.login-subtitle { color: var(--text-dim); margin-bottom: 2rem; }
.login-buttons { display: flex; flex-direction: column; gap: 0.8rem; }

.donation-counter { margin-top: 1.5rem; padding: 1rem; background: linear-gradient(135deg, #1a1a2e, #2d1b3d); border-radius: 8px; }
.donation-counter h3 { font-size: 0.9rem; color: var(--text-dim); }
.donation-amount { font-size: 2rem; font-weight: 700; color: #f5576c; }
.donation-count { color: var(--text-dim); font-size: 0.85rem; }

.login-info { margin-top: 1.5rem; color: var(--text-dim); font-size: 0.9rem; }
.login-why-free { margin-top: 1.6rem; padding-top: 1.2rem; border-top: 1px solid var(--border); text-align: left; }
.login-why-free h3 { font-size: 1rem; margin-bottom: 0.6rem; text-align: center; }
.login-why-free p { font-size: 0.88rem; color: var(--text-dim); line-height: 1.55; margin-bottom: 0.6rem; }
.login-why-free p.small { font-size: 0.82rem; }
.login-why-free a { color: var(--accent, #58a6ff); }

/* Támogatási cél-sáv (dashboard) */
.donate-goal { text-align: left; margin: 1rem 0 1.4rem; }
.goal-label { display: flex; justify-content: space-between; font-size: 0.85rem; color: var(--text-dim); margin-bottom: 0.45rem; gap: 1rem; flex-wrap: wrap; }
.goal-bar { height: 12px; border-radius: 999px; background: var(--bg); border: 1px solid var(--border); overflow: hidden; }
.goal-fill { height: 100%; border-radius: 999px; background: linear-gradient(90deg, #e0529c, #ff7ab8); transition: width 0.6s ease; }
.goal-note { font-size: 0.82rem; color: var(--text-dim); margin-top: 0.55rem; line-height: 1.45; }

/* Session végi támogatás felkérés */
.session-donate-cta { margin-top: 1.2rem; padding: 1.1rem 1.2rem; border-radius: 10px; border: 1px solid var(--border); background: linear-gradient(135deg, rgba(224,82,156,0.10), rgba(255,122,184,0.05)); text-align: center; }
.session-donate-cta .cta-title { font-weight: 700; font-size: 1.05rem; margin-bottom: 0.5rem; }
.session-donate-cta .cta-text { font-size: 0.88rem; color: var(--text-dim); line-height: 1.5; margin-bottom: 0.5rem; }
.session-donate-cta .cta-cost { font-size: 0.88rem; color: var(--text-dim); margin-bottom: 0.9rem; }
.session-donate-cta .cta-cost strong { color: var(--text); }

/* Napi limit elérése utáni felkérés (session oldal) */
.limit-donate-cta { margin: 1rem auto; padding: 1rem 1.2rem; max-width: 520px; border-radius: 10px; border: 1px solid var(--border); background: var(--bg-card); }
.limit-donate-cta p { font-size: 0.9rem; color: var(--text-dim); line-height: 1.5; margin-bottom: 0.6rem; }
.limit-donate-cta p.small { font-size: 0.82rem; }

/* Milestone emlékeztető kártya (dashboard) */
.reminder-card { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.5rem; padding: 1.1rem 1.3rem; border-radius: 12px; border: 1px solid var(--border); background: linear-gradient(135deg, rgba(224,82,156,0.09), rgba(255,122,184,0.04)); }
.reminder-icon { font-size: 1.6rem; line-height: 1; }
.reminder-body { flex: 1; }
.reminder-body p { font-size: 0.9rem; color: var(--text-dim); line-height: 1.55; margin-bottom: 0.8rem; }
.login-editable-top { margin-bottom: 1.5rem; color: var(--text); font-size: 0.9rem; line-height: 1.6; }
.login-editable-bottom { margin-top: 1.5rem; color: var(--text); font-size: 0.9rem; line-height: 1.6; }

.role-page { text-align: center; }
.role-prompt { color: var(--text-dim); margin: 1rem 0 2rem; }
.role-cards { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: center; }
.role-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; padding: 2rem; width: 280px; cursor: pointer; transition: 0.2s; text-align: center; font-family: inherit; color: var(--text); }
.role-card:hover { border-color: var(--accent); background: var(--bg-hover); }
.role-icon { font-size: 2.5rem; display: block; margin-bottom: 0.5rem; }
.role-card h2 { margin: 0.5rem 0; }
.role-card p { color: var(--text-dim); font-size: 0.9rem; }

.welcome-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; padding: 2rem; text-align: center; margin-bottom: 2rem; }
.welcome-card h1 { margin-bottom: 0.5rem; }
.welcome-card p { margin-bottom: 1.5rem; }

.recent-sessions { margin-bottom: 2rem; }
.recent-sessions h2 { margin-bottom: 1rem; }
.session-list { display: flex; flex-direction: column; gap: 0.5rem; }
.session-item { background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px; padding: 1rem; }
.session-meta { display: flex; gap: 1rem; align-items: center; font-size: 0.9rem; }

.chat-area { background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
.chat-messages { height: 400px; overflow-y: auto; padding: 1rem; }
.message { padding: 0.8rem 1rem; margin-bottom: 0.5rem; border-radius: 8px; font-size: 0.95rem; line-height: 1.5; }
.message.user { background: var(--accent); color: #000; margin-left: auto; max-width: 80%; }
.message.assistant { background: var(--bg-hover); max-width: 85%; }

.chat-input-area { display: flex; gap: 0.5rem; padding: 1rem; border-top: 1px solid var(--border); }
#chat-input { flex: 1; padding: 0.7rem; border: 1px solid var(--border); border-radius: 8px; background: var(--bg); color: var(--text); font-family: inherit; font-size: 0.95rem; resize: none; }

.session-header-stats { display: flex; gap: 1rem; align-items: center; justify-content: center; }
.session-timer { font-size: 1.3rem; font-weight: 700; }
.session-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.session-info { margin-bottom: 1rem; }
.remaining-sessions { font-size: 0.9rem; color: var(--text-dim); margin-bottom: 0.5rem; }
.privacy-notice { background: rgba(88,166,255,0.08); border: 1px solid rgba(88,166,255,0.2); border-radius: 8px; padding: 0.7rem 1rem; margin-bottom: 1rem; font-size: 0.85rem; color: var(--text-dim); line-height: 1.4; }
.limit-reached { text-align: center; padding: 1rem; color: var(--text-dim); font-size: 0.95rem; }

.summary-box { background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; padding: 1.5rem; margin-top: 1rem; text-align: center; }

.profile-page { display: flex; justify-content: center; align-items: center; min-height: 60vh; }
.profile-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; padding: 2rem; text-align: center; max-width: 400px; width: 100%; }
.profile-avatar { width: 80px; height: 80px; border-radius: 50%; margin-bottom: 0.5rem; }

.footer { text-align: center; padding: 1.5rem; color: var(--text-dim); font-size: 0.85rem; border-top: 1px solid var(--border); }
.footer-donate { margin-top: 0.3rem; font-size: 0.8rem; }
.footer-donate a { color: #f5576c; text-decoration: none; }
.footer-donate a:hover { text-decoration: underline; }
.session-donate-subtle { text-align: center; margin-top: 0.8rem; font-size: 0.8rem; color: var(--text-dim); }
.session-donate-subtle a { color: #f5576c; text-decoration: none; }
.session-donate-subtle a:hover { text-decoration: underline; }
.info-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; padding: 1.2rem 1.5rem; margin-bottom: 1.5rem; }
.info-card h3 { margin-bottom: 0.5rem; font-size: 1rem; }
.info-card ul { list-style: none; }
.info-card ul li { padding: 0.3rem 0; font-size: 0.9rem; color: var(--text-dim); line-height: 1.4; }

.donation-options { display: flex; gap: 0.5rem; flex-wrap: wrap; justify-content: center; margin-bottom: 1rem; }
.modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); display: flex; align-items: center; justify-content: center; z-index: 100; }
.modal-content { background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; padding: 2rem; max-width: 400px; width: 90%; text-align: center; }
.modal-content h3 { margin-bottom: 1rem; font-size: 1.2rem; }
.modal-content input[type=number] { width: 100%; padding: 0.7rem; border: 1px solid var(--border); border-radius: 8px; background: var(--bg); color: var(--text); margin-bottom: 0.5rem; font-size: 1rem; }
.modal-content .btn { margin-top: 0.5rem; margin-right: 0.3rem; }
.modal-content .donate-btn { display: inline-block; padding: 0.7rem 1.2rem; border: 1px solid #58a6ff; border-radius: 8px; background: rgba(88,166,255,0.1); color: #58a6ff; font-size: 1rem; font-weight: 600; cursor: pointer; transition: 0.2s; margin: 0.25rem; }
.modal-content .donate-btn:hover { background: rgba(88,166,255,0.25); }
.btn-cancel { background: transparent; color: #8b949e; border: 1px solid #30363d; }

.donate-card-wrapper { display: flex; justify-content: center; margin: 1.5rem 0; }
.donate-card { background: linear-gradient(135deg, rgba(245,87,108,0.08), rgba(240,147,251,0.08)); border: 1px solid rgba(245,87,108,0.2); border-radius: 16px; padding: 2rem; text-align: center; max-width: 500px; width: 100%; }
.donate-card h2 { font-size: 1.3rem; margin-bottom: 0.5rem; color: var(--text); }
.donate-card p { color: var(--text-dim); font-size: 0.9rem; line-height: 1.5; margin-bottom: 0.5rem; }
.donate-card-icon { font-size: 2.5rem; margin-bottom: 0.3rem; }
.donate-card-footer { font-size: 0.8rem; margin-top: 0.3rem; }
.donate-card-footer a { color: var(--accent); text-decoration: none; }
.donate-card-footer a:hover { text-decoration: underline; }

@media (max-width: 600px) { .role-cards { flex-direction: column; align-items: center; } .chat-messages { height: 300px; } .login-card { padding: 1.5rem; } }
/* ── 🧠 Emlékezet (profil oldal) ─────────────────────────────── */
.profile-page { display:flex; flex-direction:column; align-items:center; gap:1rem; padding:1rem; }
.memory-card { max-width:640px; width:100%; text-align:left; }
.memory-card h2 { font-size:1.15rem; margin:0 0 0.6rem; }
.memory-note { font-size:0.88rem; color:var(--text-dim); line-height:1.5; margin:0 0 1rem; }
.memory-label { display:block; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.06em;
                color:var(--text-dim); margin:1rem 0 0.4rem; }
.memory-profile { background:var(--bg-hover); border:1px solid var(--border);
                  border-radius:8px; padding:0.7rem 0.9rem; font-size:0.9rem; line-height:1.55; }
.memory-list { list-style:none; margin:0; padding:0; }
.memory-list li { border-left:2px solid var(--border); padding:0.35rem 0 0.35rem 0.75rem;
                  margin-bottom:0.5rem; font-size:0.88rem; line-height:1.5; }
.memory-date { display:inline-block; font-size:0.72rem; color:var(--text-dim);
               background:var(--bg-hover); border-radius:4px; padding:0.1rem 0.4rem; margin-right:0.4rem; }
.memory-topics { display:block; font-size:0.76rem; color:var(--text-dim); margin-top:0.25rem; }
.memory-empty { font-size:0.88rem; color:var(--text-dim); font-style:italic; }
.memory-actions { display:flex; gap:0.6rem; flex-wrap:wrap; margin-top:1.2rem; }
.memory-actions form { margin:0; }
/* ⚠ Az alap `.flash` szabály KELL — enélkül a flash üzenetek elvesztik a
   belsejüket (padding, kerekítés, térköz). A kategória-szabályok erre épülnek. */
.flash { padding:0.7rem 0.9rem; border-radius:8px; font-size:0.88rem; margin-bottom:0.8rem; }
.flash-info { background: rgba(88,166,255,0.18); border: 1px solid rgba(88,166,255,0.5);
    border-left: 4px solid var(--accent); color: var(--accent-hover);
    font-weight: 600; font-size: 0.95rem; padding: 0.95rem 1.1rem; }

/* A profil oldali hírlevél-kártya KIEMELVE (a többi kártya középen, ez balra
   igazítva, akcentus-sávval) — hogy a fel- és leiratkozás feltűnő legyen,
   mert a /profile a kapu kivétele, ide a még nem döntött felhasználó is eljut. */
.nl-sav-kartya { border-left: 4px solid var(--accent); text-align: left; }

/* A navigáció mobilon törjön, ha sok a menüpont (nem csúszik ki) */
@media (max-width: 700px) {
    .nav-inner { flex-wrap: wrap; gap: 0.4rem; }
    .nav-links { flex-wrap: wrap; gap: 0.3rem; }
    .nav-links a { font-size: 0.85rem; padding: 0.25rem 0.45rem; }
}
.flash-success { background:rgba(63,185,80,0.12); border:1px solid rgba(63,185,80,0.3); color:#7ee787; }
.flash-error { background:rgba(248,81,73,0.12); border:1px solid rgba(248,81,73,0.35); color:#ff9b95; }

/* === 📬 Hírlevél-feliratkozás sáv (dashboard + belépő oldal) ===
   Feltűnő, de nem tolakodó: kártya akcentus-sávval és tömör gombbal.
   A × a MUNKAMENETRE rejti el (sessionStorage) — nem sütivel, és nem
   örökre. Így nem kell hozzá süti-hozzájárulás, és nem is „tűnik el
   végleg" egy félrekattintás miatt.
   A téma-változókat használja, ezért világos módban is helyes. */
.nl-sav {
    display: flex; align-items: center; gap: 0.85rem;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-left: 4px solid var(--accent);
    border-radius: 10px;
    padding: 0.8rem 0.85rem 0.8rem 1rem;
    margin-bottom: 1.2rem;
}
.nl-sav[hidden] { display: none; }
.nl-sav-ikon { font-size: 1.5rem; line-height: 1; flex: 0 0 auto; }
.nl-sav-szoveg { flex: 1 1 auto; min-width: 0; font-size: 0.9rem; line-height: 1.55; }
.nl-sav-szoveg strong { display: block; margin-bottom: 0.15rem; }
.nl-sav-szoveg span { color: var(--text-dim); font-size: 0.85rem; }
.nl-sav-gomb {
    flex: 0 0 auto; white-space: nowrap;
    background: var(--accent); color: #fff; text-decoration: none;
    padding: 0.55rem 1rem; border-radius: 7px;
    font-size: 0.88rem; font-weight: 600;
}
.nl-sav-gomb:hover { background: var(--accent-hover); }
.nl-sav-x {
    flex: 0 0 auto; background: transparent; border: none; cursor: pointer;
    color: var(--text-dim); font-size: 1.35rem; line-height: 1; padding: 0 0.2rem;
}
.nl-sav-x:hover { color: var(--text); }
@media (max-width: 560px) {
    .nl-sav { flex-wrap: wrap; gap: 0.55rem 0.7rem; }
    .nl-sav-ikon { order: 1; font-size: 1.35rem; }
    .nl-sav-szoveg { order: 2; flex: 1 1 auto; }
    .nl-sav-x { order: 3; }
    .nl-sav-gomb { order: 4; flex: 1 1 100%; text-align: center; }
}

/* === Nyitóoldal (nyilvános) ==============================================
   ⚠ Csak téma-változókat használ (--bg-card, --text-dim, --border, --accent):
   így világos és sötét módban is olvasható. Beégetett sötét szín NINCS. */
.landing-hero { text-align: center; padding: 3rem 0 2rem; }
.landing-hero h1 { font-size: clamp(2rem, 6vw, 3.2rem); line-height: 1.15; margin-bottom: 1rem; }
.landing-lead { font-size: 1.1rem; color: var(--text-dim); max-width: 640px;
                margin: 0 auto 1.8rem; line-height: 1.65; }
.landing-lead strong { color: var(--text); }
.landing-cta { display: flex; gap: 0.8rem; justify-content: center; flex-wrap: wrap; }
.landing-note { margin-top: 1.2rem; font-size: 0.85rem; color: var(--text-dim); }
.landing-section { margin: 3.5rem 0; }
.landing-section h2 { font-size: 1.5rem; margin-bottom: 0.4rem; }
.landing-sub { color: var(--text-dim); margin-bottom: 1.4rem; }
.landing-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.landing-cards-3 { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.landing-card { background: var(--bg-card); border: 1px solid var(--border);
                border-radius: 12px; padding: 1.2rem 1.3rem; }
.landing-card h3 { font-size: 1.02rem; margin-bottom: 0.45rem; }
.landing-card h3 a { color: var(--text); text-decoration: none; }
.landing-card h3 a:hover { color: var(--accent); }
.landing-card p { font-size: 0.92rem; color: var(--text-dim); line-height: 1.6; }
.landing-source { margin-top: 1.2rem; font-size: 0.85rem; color: var(--text-dim); }
.landing-steps { counter-reset: lepes; list-style: none; padding: 0; display: grid; gap: 1rem; }
.landing-steps li { counter-increment: lepes; position: relative; padding-left: 3rem; line-height: 1.6; }
.landing-steps li::before { content: counter(lepes); position: absolute; left: 0; top: 0;
    width: 2rem; height: 2rem; border-radius: 50%; background: var(--bg-card);
    border: 1px solid var(--border); color: var(--accent);
    display: flex; align-items: center; justify-content: center; font-weight: 700; }
.landing-steps strong { display: block; margin-bottom: 0.2rem; }
.landing-faq details { background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 10px; padding: 0.9rem 1.1rem; margin-bottom: 0.6rem; }
.landing-faq summary { cursor: pointer; font-weight: 600; }
.landing-faq p { margin-top: 0.6rem; color: var(--text-dim); line-height: 1.65; font-size: 0.94rem; }
.landing-final { text-align: center; margin: 4rem 0 2rem; padding: 2.2rem 1rem;
    background: var(--bg-card); border: 1px solid var(--border); border-radius: 14px; }
.landing-final h2 { margin-bottom: 0.5rem; }
.landing-final p { color: var(--text-dim); margin-bottom: 1.4rem; }
.btn-ghost { background: transparent; color: var(--text); border: 1px solid var(--border); }
.btn-ghost:hover { background: var(--bg-hover); }
.nav-login { color: var(--accent) !important; font-weight: 600; }

/* === Cikkek ==============================================================
   ⚠ Csak téma-változók — világos és sötét módban is olvasható. */
.cikk-lista h1, .cikk h1 { font-size: clamp(1.6rem, 4vw, 2.2rem); line-height: 1.2; margin-bottom: 0.6rem; }
.cikk-lista-lead { color: var(--text-dim); margin-bottom: 2rem; max-width: 640px; }
.cikk-kartya { background: var(--bg-card); border: 1px solid var(--border);
               border-radius: 12px; padding: 1.3rem 1.4rem; margin-bottom: 1rem; }
.cikk-kartya h2 { font-size: 1.15rem; margin-bottom: 0.4rem; }
.cikk-kartya h2 a { color: var(--text); text-decoration: none; }
.cikk-kartya h2 a:hover { color: var(--accent); }
.cikk-kartya p { color: var(--text-dim); font-size: 0.94rem; line-height: 1.6; }
.cikk-meta { font-size: 0.82rem; color: var(--text-dim); margin: 0.6rem 0 1.4rem; }
.cikk-tag { display: inline-block; background: var(--bg-hover); border: 1px solid var(--border);
            border-radius: 20px; padding: 0.05rem 0.55rem; font-size: 0.75rem; margin-left: 0.4rem; }
.cikk-morzs { font-size: 0.85rem; color: var(--text-dim); margin-bottom: 1rem; }
.cikk-morzs a { color: var(--accent); text-decoration: none; }
.cikk-torzs { max-width: 720px; line-height: 1.75; }
.cikk-torzs h2 { font-size: 1.35rem; margin: 2rem 0 0.7rem; }
.cikk-torzs h3 { font-size: 1.08rem; margin: 1.4rem 0 0.5rem; }
.cikk-torzs p { margin-bottom: 1rem; }
.cikk-torzs ul, .cikk-torzs ol { margin: 0 0 1rem 1.3rem; }
.cikk-torzs li { margin-bottom: 0.45rem; }
.cikk-torzs a { color: var(--accent); }
.cikk-torzs blockquote { border-left: 3px solid var(--accent); background: var(--bg-card);
    padding: 0.8rem 1rem; margin: 1rem 0; border-radius: 0 8px 8px 0; color: var(--text-dim); }
.cikk-answer { font-size: 1.05rem; background: var(--bg-card); border: 1px solid var(--border);
               border-radius: 10px; padding: 1rem 1.2rem; }
.cikk-cta { margin: 2.5rem 0; padding: 1.4rem; background: var(--bg-card);
            border: 1px solid var(--border); border-radius: 12px; }
.cikk-cta h2 { font-size: 1.1rem; margin-bottom: 0.5rem; }
.cikk-cta p { color: var(--text-dim); margin-bottom: 1rem; }
.cikk-tovabbi { margin-top: 2rem; }
.cikk-tovabbi h2 { font-size: 1.1rem; margin-bottom: 0.6rem; }
.cikk-tovabbi ul { list-style: none; padding: 0; }
.cikk-tovabbi li { margin-bottom: 0.4rem; }
.cikk-tovabbi a { color: var(--accent); }
.cikk-lista-cta { margin-top: 2rem; }
