/* ============================================
   AUSWANDER-GUIDE SCHWEIZ — Ratgeber/Blog
   Eigenständiges Stylesheet, gleiches Design-System wie die LP.
   ============================================ */

/* ---- Fonts (lokal, DSGVO-konform) ---- */
@font-face { font-family:'DM Serif Display'; font-style:normal; font-weight:400; font-display:swap; src:url('/fonts/dm-serif-display-regular.woff2') format('woff2'); }
@font-face { font-family:'Outfit'; font-style:normal; font-weight:400; font-display:swap; src:url('/fonts/outfit-400.woff2') format('woff2'); }
@font-face { font-family:'Outfit'; font-style:normal; font-weight:500; font-display:swap; src:url('/fonts/outfit-500.woff2') format('woff2'); }
@font-face { font-family:'Outfit'; font-style:normal; font-weight:600; font-display:swap; src:url('/fonts/outfit-600.woff2') format('woff2'); }
@font-face { font-family:'Outfit'; font-style:normal; font-weight:700; font-display:swap; src:url('/fonts/outfit-700.woff2') format('woff2'); }

:root {
  --bg:#FDFBF7; --bg-alt:#F5F1EB; --text:#2B2B2B; --text-soft:#5B554F; --text-muted:#706A64;
  --accent:#D4764E; --accent-btn:#B25B34; --accent-btn-hover:#A85530; --green:#3A7D5C;
  --border:#E5E0D8; --white:#fff; --cost:#9A3D1E;
  --font-heading:'DM Serif Display', Georgia, serif;
  --font-body:'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:var(--font-body); color:var(--text); background:var(--bg); line-height:1.7; font-size:1.05rem; -webkit-font-smoothing:antialiased; }
a { color:var(--accent-btn); }

/* ---- Nav (schlicht, sticky) ---- */
.rg-nav { position:sticky; top:0; z-index:100; background:rgba(253,251,247,0.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--border); }
.rg-nav__inner { max-width:1080px; margin:0 auto; padding:0.85rem 1.5rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.rg-nav__logo { display:flex; align-items:center; gap:0.55rem; font-family:var(--font-heading); font-size:1.15rem; color:var(--text); text-decoration:none; }
.rg-nav__cta { background:var(--accent-btn); color:var(--white); text-decoration:none; padding:0.55rem 1.3rem; border-radius:8px; font-weight:600; font-size:0.9rem; white-space:nowrap; transition:background .2s; }
.rg-nav__cta:hover { background:var(--accent-btn-hover); }

/* ---- Layout ---- */
.rg-main { max-width:720px; margin:0 auto; padding:2.5rem 1.5rem 4rem; }
.rg-breadcrumb { font-size:0.85rem; color:var(--text-muted); margin-bottom:1.8rem; }
.rg-breadcrumb a { color:var(--text-muted); text-decoration:none; }
.rg-breadcrumb a:hover { color:var(--accent-btn); text-decoration:underline; }
.rg-breadcrumb span { margin:0 0.4rem; }

/* ---- Article header ---- */
.rg-header h1 { font-family:var(--font-heading); font-weight:400; font-size:clamp(2rem, 5vw, 2.9rem); line-height:1.15; color:var(--text); margin-bottom:1rem; }
.rg-lead { font-size:1.2rem; color:var(--text-soft); line-height:1.6; margin-bottom:1.5rem; }
.rg-meta { font-size:0.85rem; color:var(--text-muted); padding-bottom:1.8rem; border-bottom:1px solid var(--border); margin-bottom:2.2rem; }

/* ---- Inhaltsverzeichnis ---- */
.rg-toc { background:var(--bg-alt); border:1px solid var(--border); border-radius:12px; padding:1.4rem 1.6rem; margin-bottom:2.5rem; }
.rg-toc h2 { font-family:var(--font-body); font-size:0.8rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--text-muted); margin-bottom:0.8rem; }
.rg-toc ol { list-style:none; counter-reset:toc; }
.rg-toc li { counter-increment:toc; margin:0.35rem 0; }
.rg-toc li::before { content:counter(toc); display:inline-block; width:1.5rem; color:var(--accent); font-weight:700; }
.rg-toc a { color:var(--text); text-decoration:none; }
.rg-toc a:hover { color:var(--accent-btn); text-decoration:underline; }

/* ---- Prose ---- */
.rg-prose h2 { font-family:var(--font-heading); font-weight:400; font-size:1.65rem; line-height:1.25; color:var(--text); margin:2.8rem 0 1rem; scroll-margin-top:80px; }
.rg-prose h3 { font-size:1.2rem; font-weight:600; color:var(--text); margin:1.8rem 0 0.7rem; }
.rg-prose p { margin-bottom:1.2rem; }
.rg-prose ul, .rg-prose ol { margin:0 0 1.4rem 1.3rem; }
.rg-prose li { margin-bottom:0.6rem; }
.rg-prose strong { font-weight:600; color:var(--text); }
.rg-prose a { color:var(--accent-btn); text-decoration:underline; text-underline-offset:2px; }

/* Kosten-Hinweis (Risiko-Box) */
.rg-cost { background:#FBEEE8; border-left:4px solid var(--accent); border-radius:0 8px 8px 0; padding:0.9rem 1.2rem; margin:1.2rem 0 1.6rem; font-size:0.98rem; }
.rg-cost strong { color:var(--cost); }

/* Tabelle */
.rg-prose table { width:100%; border-collapse:collapse; margin:1.4rem 0 1.8rem; font-size:0.95rem; }
.rg-prose th, .rg-prose td { text-align:left; padding:0.65rem 0.8rem; border-bottom:1px solid var(--border); }
.rg-prose th { background:var(--bg-alt); font-weight:600; }

/* ---- CTA-Box (Guide) ---- */
.rg-cta { background:linear-gradient(135deg,#D4764E,#B25B34); color:var(--white); border-radius:16px; padding:2.2rem 2rem; margin:3rem 0; text-align:center; }
.rg-cta h2 { font-family:var(--font-heading); font-weight:400; font-size:1.6rem; color:var(--white); margin-bottom:0.7rem; }
.rg-cta p { font-size:1.02rem; opacity:0.95; margin-bottom:1.4rem; max-width:46ch; margin-left:auto; margin-right:auto; }
.rg-cta a { display:inline-block; background:var(--white); color:var(--accent-btn); font-weight:700; text-decoration:none; padding:0.9rem 2rem; border-radius:10px; transition:transform .15s; }
.rg-cta a:hover { transform:translateY(-2px); }

/* ---- Verwandte Artikel ---- */
.rg-related { margin-top:3.5rem; padding-top:2rem; border-top:1px solid var(--border); }
.rg-related h2 { font-family:var(--font-heading); font-weight:400; font-size:1.4rem; margin-bottom:1.2rem; }
.rg-related ul { list-style:none; display:grid; gap:0.8rem; }
.rg-related a { display:block; padding:0.9rem 1.1rem; background:var(--white); border:1px solid var(--border); border-radius:10px; color:var(--text); text-decoration:none; font-weight:500; transition:border-color .2s, transform .15s; }
.rg-related a:hover { border-color:var(--accent); transform:translateY(-2px); }

/* ---- Hub-Grid ---- */
.rg-hub-intro { text-align:center; max-width:640px; margin:0 auto 2.8rem; }
.rg-hub-intro h1 { font-family:var(--font-heading); font-weight:400; font-size:clamp(2rem,5vw,2.8rem); margin-bottom:0.9rem; }
.rg-hub-intro p { color:var(--text-soft); font-size:1.1rem; }
.rg-hub-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1.1rem; }
.rg-hub-card { display:block; background:var(--white); border:1px solid var(--border); border-radius:12px; padding:1.3rem 1.4rem; text-decoration:none; color:var(--text); transition:border-color .2s, transform .15s; }
.rg-hub-card:hover { border-color:var(--accent); transform:translateY(-3px); }
.rg-hub-card span { display:inline-block; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--accent); font-weight:700; margin-bottom:0.5rem; }
.rg-hub-card h2 { font-family:var(--font-body); font-size:1.08rem; font-weight:600; line-height:1.35; }

/* ---- Footer ---- */
.rg-footer { background:#2B2B2B; color:rgba(255,255,255,0.85); padding:2.5rem 1.5rem; margin-top:3rem; }
.rg-footer__inner { max-width:1080px; margin:0 auto; display:flex; flex-wrap:wrap; gap:1.2rem; align-items:center; justify-content:space-between; }
.rg-footer__links { display:flex; gap:1.3rem; flex-wrap:wrap; }
.rg-footer__links a { color:rgba(255,255,255,0.75); text-decoration:none; font-size:0.9rem; }
.rg-footer__links a:hover { color:var(--white); }
.rg-footer__copy { width:100%; font-size:0.78rem; color:rgba(255,255,255,0.65); padding-top:1rem; border-top:1px solid rgba(255,255,255,0.12); }

@media (max-width:600px){
  body{ font-size:1rem; }
  .rg-main{ padding:1.8rem 1.2rem 3rem; }
  .rg-cta{ padding:1.8rem 1.3rem; }
}
