:root{
  --bg:#f1f0ea;
  --surface:#ffffff;
  --text:#111111;
  --muted:#666666;
  --line:#e7e4db;
  --highlight:#edf39a;
  --primary:#ff6b00;
  --primary-hover:#e85f00;
  --secondary:#0f172a;
  --blue-soft:#eef4ff;
  --green-soft:#edf9f1;
  --shadow:0 14px 40px rgba(17,17,17,.08);
  --radius:22px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--text);
  background:#fff;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.topbar{
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(12px);
  background:rgba(255,255,255,.86);
  border-bottom:1px solid rgba(17,17,17,.06);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px;gap:20px}
.brand{font-weight:800;font-size:1.2rem;letter-spacing:.01em}
.brand span{color:#FF7800}
.brand i{color:#888888}
.navlinks{display:flex;gap:28px;color:#555;font-size:.96rem;list-style:none;margin:0;padding:0}
.navlinks li{margin:0;padding:0}
.navlinks a{display:inline-flex;align-items:center}
.navlinks a:hover{color:#000}
.navlinks .current-menu-item > a,
.navlinks .current-menu-ancestor > a{color:#000;font-weight:700}
.nav-right{display:flex;align-items:center;gap:12px}
.lang-switch{height:46px;padding:0 14px;border:1px solid rgba(16,16,16,.1);border-radius:999px;background:#fff;font:inherit;font-weight:700;color:#222}
.navcta{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 20px;border-radius:999px;background:var(--primary);color:#fff;font-weight:800;box-shadow:0 12px 28px rgba(255,106,0,.24)}
.navcta:hover{background:var(--primary-hover)}
.hero{
  background:var(--bg);
  padding:22px 0 38px;
  border-bottom:1px solid var(--line);
}
.hero-card{
  position:relative;
  min-height:760px;
  border-radius:32px;
  overflow:hidden;
  background:var(--bg);
  box-shadow:var(--shadow);
}
.hero-media{
  position:absolute;inset:0;
  background:var(--bg);
}
.hero-media img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  filter:saturate(.98) contrast(1.02);
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(241,240,234,.22) 0%, rgba(241,240,234,.10) 28%, rgba(241,240,234,.00) 44%, rgba(241,240,234,.74) 60%, rgba(241,240,234,.93) 72%, rgba(241,240,234,.98) 100%);
}
.hero-copy{
  position:absolute;right:6%;top:10%;bottom:10%;width:min(480px,42%);
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.84);border:1px solid rgba(17,17,17,.07);
  padding:10px 16px;border-radius:999px;color:#454545;font-weight:600;font-size:.92rem;margin-bottom:22px;
}
.dot{width:10px;height:10px;background:#16a34a;border-radius:50%}
h1{margin:0;font-size:clamp(3.3rem,7vw,6.5rem);line-height:.9;letter-spacing:.05em;font-weight:900;display:flex;flex-direction:column;gap:.08em}
h1 .line{display:block}
.mark{display:inline-block;background:var(--highlight);padding:.03em .18em .08em;border-radius:8px}
.hero-sub{margin:22px 0 0;font-size:1.08rem;color:#4f4f4f;max-width:35ch}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 24px;border-radius:999px;font-weight:800;font-size:1rem;transition:transform .15s ease, background .15s ease, border-color .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--primary);color:#fff;box-shadow:0 12px 28px rgba(255,107,0,.24)}
.btn-primary:hover{background:var(--primary-hover)}
.btn-secondary{background:rgba(255,255,255,.82);border:1px solid rgba(17,17,17,.08);color:#111}
.hero-proof{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px;color:#4f4f4f;font-size:.95rem}
.hero-proof span{display:inline-flex;align-items:center;gap:8px}
.hero-proof b{color:#16a34a}
section{padding:84px 0}
.section-head{text-align:center;max-width:760px;margin:0 auto 42px}
.section-head h2{font-size:clamp(2rem,4vw,3rem);line-height:1.02;letter-spacing:-.05em;margin:0 0 14px}
.section-head p{margin:0;color:var(--muted);font-size:1.08rem}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.stat{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 6px 18px rgba(17,17,17,.03)}
.stat strong{display:block;font-size:2rem;letter-spacing:-.05em}
.stat span{color:var(--muted)}
.path{display:grid;gap:18px}
.path-item{display:grid;grid-template-columns:82px 1fr auto;gap:22px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px 26px;box-shadow:0 8px 24px rgba(17,17,17,.04)}
.level-badge{width:82px;height:82px;border-radius:22px;display:grid;place-items:center;font-weight:900;font-size:1.2rem;letter-spacing:-.03em}
.l0{background:var(--green-soft);color:#15803d}.l1{background:#fff4ea;color:#ea580c}.l2{background:var(--blue-soft);color:#2563eb}.l3{background:#fff1f5;color:#db2777}
.path-item h3{margin:0 0 8px;font-size:1.25rem}
.path-item p{margin:0;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.chip{padding:8px 12px;border-radius:999px;background:#f6f5f1;color:#4d4d4d;font-size:.92rem}
.price-block{text-align:right;min-width:200px}
.price-block .now{display:inline-block;padding:8px 14px;border-radius:999px;background:var(--green-soft);color:#15803d;font-weight:800;margin-bottom:10px}
.old{font-size:1.4rem;font-weight:900;text-decoration:line-through;color:#8a8a8a;display:block}
.free-note{font-size:.95rem;color:#2563eb;font-weight:700}
.modules{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:0 10px 24px rgba(17,17,17,.04)}
.list{display:grid;gap:16px}
.list-item{display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid #efede7}
.list-item:last-child{padding-bottom:0;border-bottom:none}
.ico{width:36px;height:36px;border-radius:12px;background:#f6f5f1;display:grid;place-items:center;font-weight:800}
.list-item h4{margin:0 0 4px;font-size:1rem}.list-item p{margin:0;color:var(--muted)}
.offer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.offer{position:relative;background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 10px 24px rgba(17,17,17,.04)}
.offer.recommended{border:2px solid #111;transform:translateY(-4px)}
.recommend{position:absolute;top:-14px;left:24px;background:#111;color:#fff;padding:7px 14px;border-radius:999px;font-size:.82rem;font-weight:800}
.offer h3{margin:0 0 6px;font-size:1.18rem}.offer .mini{color:#666;font-size:.92rem;margin-bottom:16px}
.offer .bigold{font-size:2.4rem;font-weight:900;letter-spacing:-.06em;text-decoration:line-through;color:#9b9b9b}
.offer .bigfree{text-decoration:none}
.offer .subfree{display:block;color:#2563eb;font-weight:800;margin-top:6px}
.offer ul{list-style:none;padding:0;margin:22px 0 24px;display:grid;gap:11px;color:#333}
.offer li::before{content:"✓ ";color:#16a34a;font-weight:900}
.offer .btn{width:100%}
.blog-roll{background:linear-gradient(180deg,#fff,#faf9f6)}
.blog-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:24px;align-items:start}
.post-card{background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 10px 24px rgba(17,17,17,.04);display:flex;flex-direction:column;min-width:0}
.post-card .post-body,.post-card .post-title,.post-card .post-excerpt{min-width:0}
.post-card.featured .post-title{font-size:1.7rem}
.post-thumb{display:grid;place-items:center;position:relative;aspect-ratio:16/9;background:#f6f5f1;overflow:hidden}
.post-thumb.placeholder{background:linear-gradient(135deg,#fff1e6,#f6f5f1)}
.post-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.post-fallback{position:relative;z-index:1;font-weight:800;letter-spacing:.04em;color:#1f2937}
.post-body{padding:26px;display:flex;flex-direction:column;gap:12px}
.post-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#666}
.post-tag{background:#111;color:#fff;padding:6px 10px;border-radius:999px;font-size:.7rem;letter-spacing:.08em}
.post-date{font-weight:600}
.post-title{margin:0;font-size:1.35rem;line-height:1.2}
.post-excerpt{margin:0;color:var(--muted)}
.post-link{margin-top:auto;font-weight:800;color:var(--primary)}
.post-link:hover{color:var(--primary-hover)}
.post-grid{display:grid;gap:18px}
.post-card.compact{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);align-items:stretch}
.post-card.compact .post-thumb{aspect-ratio:auto;height:100%;min-height:100%}
.post-card.compact .post-body{padding:22px;min-width:0}
.post-card.compact .post-title{font-size:1.12rem;line-height:1.18}
.post-card.compact .post-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-footer{display:flex;justify-content:center;margin-top:28px}
.blog-page{background:linear-gradient(180deg,#fff 0%,#faf9f6 100%)}
.page-hero{padding:74px 0 28px;background:linear-gradient(180deg,#fff 0%,#faf9f6 100%);border-bottom:1px solid var(--line)}
.page-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:24px;align-items:end}
.section-head.align-left{text-align:left;max-width:none;margin:0}
.page-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid rgba(17,17,17,.08);font-size:.84rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#444}
.page-title{display:block;margin:16px 0 14px;font-size:clamp(2.6rem,5vw,4.4rem);line-height:.94;letter-spacing:-.06em;font-weight:900}
.page-copy{margin:0;color:var(--muted);font-size:1.08rem}
.page-lead{max-width:34ch}
.page-panel{background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 10px 24px rgba(17,17,17,.04)}
.page-panel h3{margin:0 0 10px;font-size:1.35rem;letter-spacing:-.03em}
.page-panel p{margin:0;color:var(--muted)}
.page-panel .btn{margin-top:20px}
.archive-section{padding-top:40px}
.post-card.archive-featured{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:stretch;margin-bottom:24px}
.post-card.archive-featured .post-thumb{aspect-ratio:auto;height:100%;min-height:340px}
.post-card.archive-featured .post-body{padding:32px}
.post-card.archive-featured .post-title{font-size:clamp(1.9rem,4vw,2.6rem)}
.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.post-card.archive-item .post-body{padding:24px}
.post-card.archive-item .post-title{font-size:1.28rem}
.post-card.archive-item .post-excerpt{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.archive-empty{text-align:center;padding:48px 32px}
.archive-empty p{margin:0;color:var(--muted)}
.archive-pagination{display:flex;justify-content:center;margin-top:32px}
.archive-pagination .nav-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.archive-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:#fff;color:#111;font-weight:700;box-shadow:0 8px 18px rgba(17,17,17,.04)}
.archive-pagination .page-numbers.current{background:#111;color:#fff;border-color:#111}
.archive-pagination .page-numbers:hover{border-color:#cfcabf;color:#111}

/* Keep Astra blog/single layouts wide and aligned with the LearnAI design width. */
body.blog .ast-container,
body.archive .ast-container,
body.single-post .ast-container{
  max-width:var(--max) !important;
  width:100%;
  padding-left:24px;
  padding-right:24px;
}
body.blog #primary,
body.archive #primary,
body.single-post #primary{
  width:100%;
  margin:0;
}
body.blog #secondary,
body.archive #secondary,
body.single-post #secondary{
  display:none;
}
body.single-post .entry-content,
body.archive .entry-content{
  max-width:100%;
}

.footer-cta{background:#0f172a;color:#fff;text-align:center}
.footer-cta p{color:rgba(255,255,255,.72)}
footer{padding:28px 0 60px;background:#0f172a;color:rgba(255,255,255,.72);text-align:center}
@media (max-width: 1100px){
  .stats,.offer-grid{grid-template-columns:repeat(2,1fr)}
  .modules,.blog-layout,.page-grid,.post-card.archive-featured{grid-template-columns:1fr}
  .archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-card{min-height:680px}
  .hero-copy{width:min(460px,50%);right:4%}
  .post-card.archive-featured .post-thumb{aspect-ratio:16/9;height:auto;min-height:0}
}
@media (max-width: 860px){
  .navlinks{display:none}
  .hero-card{min-height:auto;display:grid}
  .hero-media,.hero-overlay,.hero-copy{position:relative}
  .hero-overlay{display:none}
  .hero-media{height:420px}
  .hero-copy{width:auto;right:auto;top:auto;bottom:auto;padding:28px 24px 34px;background:var(--bg)}
  h1{font-size:clamp(2.7rem,10vw,4.4rem)}
  .path-item{grid-template-columns:1fr;align-items:flex-start}
  .price-block{text-align:left;min-width:auto}
  .post-card.compact{grid-template-columns:1fr}
  .post-card.compact .post-thumb{aspect-ratio:16/9;height:auto;min-height:0}
  .archive-grid{grid-template-columns:1fr}
  .page-hero{padding:58px 0 20px}
}
@media (max-width: 640px){
  .wrap{padding:0 18px}
  section{padding:64px 0}
  .stats,.offer-grid{grid-template-columns:1fr}
  .hero-media{height:320px}
  .navcta{padding:12px 16px}
  body.blog .ast-container,
  body.archive .ast-container,
  body.single-post .ast-container{
    padding-left:18px;
    padding-right:18px;
  }
}

/* ==========================================================================
   LEARNAI v2 — Navigation redesign additions
   Tools dropdown · Language switcher · Login icon · Footer
   ========================================================================== */

/* --------------------------------------------------------------------------
   Nav-center: new navlinks with dropdown support
   -------------------------------------------------------------------------- */
.nav-center { flex: 1; display: flex; justify-content: center; }
.navlinks { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; align-items: center; }
.navlinks > li { position: relative; }
.navlinks > li > a {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 8px 14px; border-radius: 10px;
  color: #555; font-size: .96rem; font-weight: 500;
  transition: color .15s, background .15s;
}
.navlinks > li > a:hover,
.navlinks > li.has-dropdown:hover > a,
.navlinks > li.is-open > a { color: #111; background: rgba(17,17,17,.05); }
.navlinks > li.current-menu-item > a { color: #111; font-weight: 700; }

/* Dropdown arrow icon */
.nav-arrow { transition: transform .2s; flex-shrink: 0; }
.has-dropdown:hover .nav-arrow,
.has-dropdown.is-open .nav-arrow { transform: rotate(180deg); }

/* Dropdown panel */
.dropdown {
  display: none;
  position: absolute; top: calc(100% + 8px); left: 50%;
  transform: translateX(-50%);
  background: #fff; border: 1px solid rgba(17,17,17,.08);
  border-radius: 18px; padding: 8px;
  box-shadow: 0 20px 50px rgba(17,17,17,.12);
  min-width: 240px; list-style: none; margin: 0;
  z-index: 100;
}
/* Show on hover (desktop) */
.has-dropdown:hover .dropdown,
.has-dropdown.is-open .dropdown { display: block; }

.dropdown li { margin: 0; }
.dropdown a {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 14px; border-radius: 12px;
  color: #333; font-size: .94rem; font-weight: 500;
  transition: background .12s, color .12s;
}
.dropdown a:hover { background: #f6f5f1; color: #111; }
.dd-icon { font-size: 1rem; line-height: 1; flex-shrink: 0; }

/* Separator between dropdown items */
.dropdown li + li { border-top: 1px solid rgba(17,17,17,.05); }

/* --------------------------------------------------------------------------
   Language switcher
   -------------------------------------------------------------------------- */
.lang-switcher { position: relative; }
.lang-current {
  display: inline-flex; align-items: center; gap: 5px;
  height: 38px; padding: 0 12px;
  border: 1px solid rgba(16,16,16,.12); border-radius: 999px;
  background: #fff; cursor: pointer;
  font-family: inherit; font-size: .88rem; font-weight: 700; color: #222;
  transition: border-color .15s, background .15s;
}
.lang-current:hover { border-color: rgba(16,16,16,.25); background: #f9f8f5; }
.lang-code { letter-spacing: .04em; }

/* Polylang outputs a <ul> — style it as a dropdown */
.lang-dropdown {
  display: none;
  position: absolute; top: calc(100% + 8px); right: 0;
  background: #fff; border: 1px solid rgba(17,17,17,.08);
  border-radius: 14px; padding: 6px;
  box-shadow: 0 16px 40px rgba(17,17,17,.10);
  min-width: 140px; list-style: none; margin: 0;
  z-index: 200;
}
.lang-dropdown.is-open { display: block; }
.lang-dropdown li { margin: 0; }
.lang-dropdown a {
  display: block; padding: 9px 12px; border-radius: 9px;
  color: #333; font-size: .9rem; font-weight: 500;
  transition: background .12s;
}
.lang-dropdown a:hover { background: #f6f5f1; color: #111; }
.lang-dropdown .current-lang a { font-weight: 700; color: #111; }

/* --------------------------------------------------------------------------
   Login icon button
   -------------------------------------------------------------------------- */
.nav-login {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; border-radius: 50%;
  border: 1px solid rgba(16,16,16,.12); background: #fff;
  color: #444; transition: border-color .15s, background .15s, color .15s;
  flex-shrink: 0;
}
.nav-login:hover { border-color: #111; color: #111; background: #f9f8f5; }
/* Green dot for logged-in state */
.nav-login-dot {
  position: absolute; bottom: 2px; right: 2px;
  width: 9px; height: 9px; border-radius: 50%;
  background: #16a34a; border: 2px solid #fff;
}

/* --------------------------------------------------------------------------
   Footer redesign
   -------------------------------------------------------------------------- */
.site-footer {
  background: #0f172a; color: #94a3b8;
  padding: 60px 0 0;
  border-top: 1px solid rgba(255,255,255,.06);
}
.footer-inner {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 48px; padding-bottom: 48px;
}
.footer-brand .brand { color: #fff; font-size: 1.1rem; }
.footer-brand .brand span { color: #ff7800; }
.footer-brand .brand i { color: #64748b; }
.footer-tagline { margin: 12px 0 0; font-size: .9rem; line-height: 1.6; max-width: 28ch; }

.footer-nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.footer-col strong { display: block; color: #e2e8f0; font-size: .88rem; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 14px; }
.footer-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.footer-col a { color: #94a3b8; font-size: .92rem; transition: color .15s; }
.footer-col a:hover { color: #fff; }

.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.07);
  padding: 18px 0;
  font-size: .82rem; color: #64748b;
}
.footer-bottom .wrap { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
/* Polylang lang list in footer */
.footer-langs ul { display: flex; gap: 12px; list-style: none; margin: 0; padding: 0; }
.footer-langs a { color: #64748b; font-size: .82rem; transition: color .15s; }
.footer-langs a:hover,
.footer-langs .current-lang a { color: #fff; }

/* --------------------------------------------------------------------------
   Responsive adjustments
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
  .nav-center { display: none; } /* Mobile: hide nav (add hamburger separately if needed) */
  .footer-inner { grid-template-columns: 1fr; gap: 32px; }
  .footer-nav { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .footer-nav { grid-template-columns: 1fr; }
  .footer-bottom .wrap { flex-direction: column; align-items: flex-start; }
}

/* ==========================================================================
   Astra-Kompensation: Abstände neutralisieren die durch
   den unterdrückten Astra-Header entstehen könnten
   ========================================================================== */
.ast-header-break-point .site-content,
.ast-above-header-section,
.ast-below-header-section,
.ast-primary-header-bar { display: none !important; }

/* Sicherstellen dass kein Astra-Body-Padding den Inhalt nach unten schiebt */
body.astra-theme-body-padding { padding-top: 0 !important; }
