/* ============================================================
   LAGHBANI CONSULTING — Foundation-year (Studienkolleg) detail pages
   Shared components for the six programme pages. Linked after
   site.css. Accent defaults to the navy/blue/gold brand; a page
   can retint by setting --sk-accent / --sk-accent-d on :root or body.
   ============================================================ */
:root{--sk-accent:var(--blue-600);--sk-accent-d:var(--blue-700);--sk-accent-050:var(--blue-050)}

/* ---- hero (navy) ---- */
.sk-hero{background:linear-gradient(160deg,#101d36,#1e2b42 58%,#243a63);color:var(--fg-on-ink)}
.sk-hero h1{color:#fff}
.sk-hero h1 em{font-style:normal;color:var(--gold-300)}
.sk-hero .eyebrow{color:var(--gold-300)}
.sk-hero .lede{color:var(--fg-on-ink-2)}
.sk-hero .lede strong{color:#fff}
.sk-hero .crumbs{color:#8aa0c8}.sk-hero .crumbs a{color:var(--blue-400)}
.sk-hero .hero-blob{width:560px;height:560px;background:radial-gradient(circle,var(--blue-500),transparent 66%);opacity:.30;top:-220px;right:-120px;animation:skFloat 19s ease-in-out infinite}
.sk-hero .hero-blob.two{width:380px;height:380px;background:radial-gradient(circle,var(--gold-500),transparent 70%);opacity:.20;left:-120px;bottom:-200px;top:auto;right:auto;animation:skFloat 24s ease-in-out infinite reverse}
@keyframes skFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(26px,-20px)}}

.alert{background:var(--brand-gold);color:var(--ink-900);text-align:center;font-weight:600;font-size:14px;padding:12px 24px;display:flex;align-items:center;justify-content:center;gap:9px}
.alert i{width:16px;height:16px}

/* key-facts strip in the hero */
.meta-strip{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.meta-strip .m{background:rgba(255,255,255,.06);border:1px solid var(--line-on-ink);border-radius:var(--r-md);padding:14px 18px;backdrop-filter:blur(8px);min-width:120px}
.meta-strip .m b{display:block;font-family:var(--font-display);font-size:18px;color:var(--gold-300);line-height:1.05}
.meta-strip .m span{font-size:12.5px;color:var(--fg-on-ink-2);margin-top:6px;display:block}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.official-link{display:inline-flex;align-items:center;gap:8px;margin-top:24px;padding:9px 16px;background:rgba(255,255,255,.1);border:1px solid var(--line-on-ink);border-radius:var(--r-pill);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.official-link:hover{background:rgba(255,255,255,.18)}

.sec-head.center{text-align:center}
.sec-head.center .rule-gold{margin-left:auto;margin-right:auto}

/* ---- highlight cards ---- */
.hl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:860px){.hl-grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.hl-grid{grid-template-columns:1fr}}
.hl{background:var(--surface-card);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:24px;transition:transform .25s cubic-bezier(.22,.61,.36,1),box-shadow .25s,border-color .25s}
.hl:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--gold-100)}
.hl .ic{width:44px;height:44px;border-radius:12px;background:var(--gold-050);color:var(--gold-700);display:flex;align-items:center;justify-content:center;margin-bottom:13px}
.hl h3{font-size:16.5px;margin:0 0 6px}
.hl p{font-size:14px;line-height:1.55;color:var(--fg2);margin:0}

/* ---- course-track tab panels ---- */
.kpanel{background:var(--surface-card);border:var(--card-hairline);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:30px;transition:transform .28s var(--ease-soft),box-shadow .28s var(--ease-soft)}
.kpanel:hover{transform:translateY(var(--card-lift));box-shadow:var(--card-shadow-hover)}
.kpanel-head{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;border-bottom:1px solid var(--line-1);padding-bottom:20px;margin-bottom:6px}
.kletter{width:60px;height:60px;border-radius:14px;background:linear-gradient(135deg,var(--ink-800),var(--blue-700));color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:24px;flex:none}
.kname{flex:1;min-width:200px}
.kname h3{font-size:19px;margin:0 0 4px}
.kname p{font-size:14px;color:var(--fg2);margin:0;line-height:1.5}
.ktag{align-self:center;padding:7px 15px;border-radius:var(--r-pill);background:var(--sk-accent-050);color:var(--sk-accent-d);font-weight:600;font-size:13px;white-space:nowrap}
.irow{display:grid;grid-template-columns:160px 1fr;gap:12px 20px;padding:13px 0;border-bottom:1px solid var(--line-1);font-size:14.5px}
.irow:last-child{border-bottom:none}
.irow .lab{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-500);font-weight:600;padding-top:3px}
.irow .val{color:var(--fg1);line-height:1.55;min-width:0}
@media(max-width:540px){.irow{grid-template-columns:1fr;gap:4px}}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips .c{padding:4px 12px;background:var(--surface-app);border:1px solid var(--line-2);border-radius:var(--r-pill);font-size:12.5px;color:var(--fg2);font-weight:500}
.chips .c.fsp{background:var(--gold-050);border-color:var(--gold-100);color:var(--gold-700)}

/* ---- cost breakdown ---- */
.cost{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;align-items:start}
@media(max-width:760px){.cost{grid-template-columns:1fr}}
.cost-card{background:var(--surface-card);border:1px solid var(--line-2);border-radius:var(--r-xl);padding:30px;box-shadow:var(--shadow-sm)}
.cost-card .amt{font-family:var(--font-display);font-size:clamp(38px,5vw,52px);color:var(--ink-800);line-height:1}
.cost-card .amt small{display:block;font-family:var(--font-sans);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);font-weight:600;margin-top:8px}
.cost-list{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:0}
.cost-list li{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line-1);font-size:14.5px;color:var(--fg2)}
.cost-list li:last-child{border-bottom:none}
.cost-list li b{color:var(--fg1);font-weight:600;white-space:nowrap}
.cost-note{background:var(--gold-050);border:1px solid var(--gold-100);border-radius:var(--r-lg);padding:22px 24px}
.cost-note .ic{width:40px;height:40px;border-radius:11px;background:#fff;color:var(--gold-700);display:flex;align-items:center;justify-content:center;margin-bottom:12px;box-shadow:var(--shadow-xs)}
.cost-note h3{font-size:16px;margin:0 0 6px;color:var(--gold-700)}
.cost-note p{font-size:14px;line-height:1.55;color:var(--gold-700);margin:0;opacity:.92}

/* ---- numbered steps / how to apply ---- */
.steps{counter-reset:s;display:grid;gap:14px;margin-top:8px;max-width:780px}
.step{display:flex;gap:18px;background:var(--surface-card);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:22px 24px}
.step::before{counter-increment:s;content:counter(s,decimal-leading-zero);font-family:var(--font-display);font-size:22px;color:var(--gold-500);min-width:42px}
.step h3{font-size:17px;margin:0 0 5px}
.step p{font-size:14.5px;line-height:1.55;color:var(--fg2);margin:0}

/* ---- entry-by-level timeline (start date depends on level) ---- */
.levels{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:760px){.levels{grid-template-columns:1fr}}
.lvl{background:var(--surface-card);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:22px;position:relative;overflow:hidden}
.lvl::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--sk-accent)}
.lvl .badge{display:inline-block;font-family:var(--font-display);font-size:15px;color:#fff;background:var(--sk-accent);border-radius:var(--r-sm);padding:4px 11px;margin-bottom:12px}
.lvl h3{font-size:15px;margin:0 0 4px}
.lvl p{font-size:13.5px;color:var(--fg2);margin:0;line-height:1.5}

/* ---- dark "we apply for you" split ---- */
.apply-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
@media(max-width:860px){.apply-grid{grid-template-columns:1fr}}
.req{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:12px;counter-reset:r}
.req li{position:relative;padding:16px 16px 16px 58px;background:rgba(255,255,255,.06);border:1px solid var(--line-on-ink);border-radius:var(--r-md);color:var(--fg-on-ink-2);font-size:14px;line-height:1.5}
.req li::before{counter-increment:r;content:counter(r);position:absolute;left:16px;top:18px;width:28px;height:28px;border-radius:999px;background:var(--brand-gold);color:var(--ink-900);display:flex;align-items:center;justify-content:center;font-weight:700}
.req li strong{color:#fff;display:block;margin-bottom:2px}
.apply-card{background:rgba(255,255,255,.05);border:1px solid var(--line-on-ink);border-radius:var(--r-xl);padding:34px;backdrop-filter:blur(8px)}
.apply-card h3{color:#fff;font-size:20px;margin:6px 0 14px}
.apply-card .checklist{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-direction:column;gap:11px}
.apply-card .checklist li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--fg-on-ink-2);line-height:1.5}
.apply-card .checklist li .ic{color:var(--gold-300);flex:none;margin-top:1px}

/* ---- extra info cards (life, funding, accommodation) ---- */
.xgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
@media(max-width:760px){.xgrid{grid-template-columns:1fr}}
.xcard{background:var(--surface-card);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:26px}
.xcard .ic{width:42px;height:42px;border-radius:11px;background:var(--sk-accent-050);color:var(--sk-accent-d);display:flex;align-items:center;justify-content:center;margin-bottom:13px}
.xcard h3{font-size:17px;margin:0 0 7px}
.xcard p{font-size:14px;line-height:1.6;color:var(--fg2);margin:0 0 10px}
.xcard p:last-child{margin-bottom:0}
.xcard ul{margin:0;padding-left:18px}
.xcard li{font-size:14px;line-height:1.55;color:var(--fg2);margin-bottom:6px}
.xcard li::marker{color:var(--gold-600)}

/* ---- price/room table ---- */
.simple-table{width:100%;border-collapse:collapse;font-size:14px;background:var(--surface-card);border:1px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden}
.simple-table th,.simple-table td{text-align:left;padding:13px 18px;border-bottom:1px solid var(--line-1)}
.simple-table thead th{background:var(--ink-050);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-500);font-weight:600}
.simple-table tbody tr:last-child td{border-bottom:none}
.simple-table td{color:var(--fg2)}.simple-table td b{color:var(--fg1)}

/* ---- testimonials ---- */
.tst-track{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:860px){.tst-track{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.tst-track{grid-template-columns:1fr}}
.tst{background:var(--surface-card);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-xs)}
.tst .qm{font-family:var(--font-display);font-size:34px;color:var(--gold-300);line-height:.5;height:16px}
.tst p{font-size:14px;line-height:1.6;color:var(--fg1);margin:14px 0 16px}
.tst .who{font-size:14px;font-weight:600;color:var(--fg1)}
.tst .country{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);margin-top:3px}

/* ---- closing CTA band ---- */
.cta-band{background:linear-gradient(140deg,var(--ink-800),var(--blue-700));border-radius:var(--r-xl);padding:48px;text-align:center;color:#fff;position:relative;overflow:hidden;isolation:isolate}
.cta-band h2{color:#fff;font-size:var(--h2-size);font-weight:600;letter-spacing:-.015em;margin:0 0 10px}
.cta-band p{color:var(--fg-on-ink-2);max-width:48ch;margin:0 auto 24px}
.cta-band .hero-blob{width:420px;height:420px;background:radial-gradient(circle,var(--gold-500),transparent 68%);opacity:.4;top:-180px;right:-80px}
