/* Apolino (pharmalleray.ch) — Apotheke/Ratgeber, portail moderne. Classes ap-*. Cobalt/Lime. Plus Jakarta Sans + Inter Tight. */
:root{
  --cobalt:#24457a; --cobalt-d:#1a3560; --cobalt-l:#eef3fb; --lime:#9fbf3a; --lime-d:#7d9c22;
  --slate:#f2f5f9; --paper:#ffffff; --ink:#1f2a37; --muted:#64748b; --line:#e2e8f0; --r:14px;
}
*{box-sizing:border-box}
html,body{margin:0;max-width:100%;overflow-x:hidden}
body{background:var(--slate);color:var(--ink);font-family:"Inter Tight",system-ui,sans-serif;font-size:17px;line-height:1.66;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"Plus Jakarta Sans",system-ui,sans-serif;font-weight:800;line-height:1.14;margin:0;letter-spacing:-.01em}
a{color:inherit} img{max-width:100%;height:auto;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.col{max-width:720px;margin:0 auto;padding:0 24px}
.eyebrow{font-family:"Plus Jakarta Sans";font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--lime-d)}

/* ---- Header bandeau cobalt ---- */
.ap-top{background:var(--cobalt);color:#fff;position:sticky;top:0;z-index:40}
.ap-top__in{display:flex;align-items:center;justify-content:space-between;height:66px}
.ap-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font-family:"Plus Jakarta Sans";font-weight:800;font-size:1.4rem}
.ap-brand svg{width:30px;height:30px}
.ap-nav{display:flex;gap:24px;align-items:center}
.ap-nav a{text-decoration:none;font-size:.92rem;font-weight:600;color:#dbe6f5}
.ap-nav a:hover,.ap-nav a[aria-current]{color:#fff}
.ap-nav a.cta{background:var(--lime);color:var(--cobalt-d);font-weight:800;padding:9px 18px;border-radius:999px}
.ap-nav a.cta:hover{background:var(--lime-d);color:#fff}

/* ---- Hero cobalt ---- */
.ap-hero{background:linear-gradient(160deg,var(--cobalt),var(--cobalt-d));color:#fff;padding:66px 0 74px}
.ap-hero h1{font-size:clamp(2.4rem,5vw,3.6rem);max-width:16em}
.ap-hero h1 em{font-style:normal;color:var(--lime)}
.ap-hero p{font-size:1.15rem;color:#cfdcef;margin:18px 0 26px;max-width:34em}
.ap-lookup{display:flex;gap:8px;max-width:440px;background:#fff;border-radius:999px;padding:6px 6px 6px 18px}
.ap-lookup input{border:0;background:transparent;flex:1;font:inherit;font-size:.98rem;outline:none;color:var(--ink)}
.ap-lookup button{border:0;background:var(--cobalt);color:#fff;font-weight:700;padding:10px 20px;border-radius:999px;cursor:pointer;font-family:inherit}
.ap-trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:22px;font-size:.86rem;color:#cfdcef}
.ap-trust span{display:flex;align-items:center;gap:7px}.ap-trust b{color:var(--lime)}

/* ---- Services grid ---- */
.ap-sec{padding:56px 0}
.ap-shead{max-width:40em;margin-bottom:28px}
.ap-shead h2{font-size:2.1rem;color:var(--cobalt-d)}
.ap-shead p{color:var(--muted)}
.ap-services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ap-svc{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:24px;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.ap-svc:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(36,69,122,.1)}
.ap-svc__i{width:44px;height:44px;border-radius:12px;background:var(--cobalt-l);display:grid;place-items:center;margin-bottom:12px}
.ap-svc h3{font-size:1.25rem;color:var(--cobalt-d);margin:0 0 5px}
.ap-svc p{font-size:.9rem;color:var(--muted);margin:0}

/* ---- Stats band ---- */
.ap-stats{background:var(--cobalt-d);color:#fff}
.ap-stats__in{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:40px 0}
.ap-stats b{font-family:"Plus Jakarta Sans";font-size:2.2rem;display:block;color:var(--lime)}
.ap-stats span{font-size:.86rem;color:#cfdcef}

/* ---- Cards (journal) ---- */
.ap-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ap-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit;transition:transform .15s}
.ap-card:hover{transform:translateY(-3px)}
.ap-card__im{aspect-ratio:16/9;background:linear-gradient(160deg,var(--cobalt),var(--lime-d));background-size:cover;background-position:center}
.ap-card__b{padding:18px 20px 22px}.ap-card .eyebrow{color:var(--lime-d)}
.ap-card h3{font-size:1.2rem;color:var(--cobalt-d);margin:6px 0 5px}.ap-card p{font-size:.9rem;color:var(--muted);margin:0}

/* ---- FAQ accordéon (home) ---- */
.ap-homefaq{max-width:800px;margin:0 auto}
.ap-homefaq details{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);margin:10px 0;padding:2px 22px}
.ap-homefaq summary{cursor:pointer;font-weight:700;color:var(--cobalt-d);padding:16px 0;list-style:none;position:relative;padding-right:28px;font-family:"Plus Jakarta Sans"}
.ap-homefaq summary::after{content:"+";position:absolute;right:2px;top:13px;color:var(--lime-d);font-size:1.3rem}
.ap-homefaq details[open] summary::after{content:"–"}
.ap-homefaq p{padding:0 0 16px;color:var(--muted);margin:0}

/* ---- Footer ---- */
.ap-foot{background:var(--cobalt-d);color:#c3d2e8;padding:52px 0 26px;margin-top:20px}
.ap-badges{display:flex;gap:22px;flex-wrap:wrap;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:30px;font-size:.84rem}
.ap-badges span{display:flex;align-items:center;gap:8px}.ap-badges b{color:var(--lime)}
.ap-foot__cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:34px}
.ap-foot__brand{font-family:"Plus Jakarta Sans";font-weight:800;font-size:1.5rem;color:#fff}
.ap-foot h4{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--lime);margin:0 0 12px}
.ap-foot a{color:#c3d2e8;text-decoration:none;display:block;padding:4px 0;font-size:.92rem;opacity:.9}.ap-foot a:hover{opacity:1;color:#fff}
.ap-foot__note{margin-top:26px;font-size:.8rem;opacity:.55}

/* ===== ARTICLE : 2 colonnes + encart "Kurz erklärt" ===== */
.ap-prog{position:fixed;top:0;left:0;height:3px;width:0;background:var(--lime);z-index:99}
.ap-crumbs{font-size:.82rem;color:var(--muted);padding:22px 0 0}
.ap-crumbs a{color:var(--muted);text-decoration:none}.ap-crumbs a:hover{color:var(--cobalt)}
.ap-arthead{padding:12px 0 26px;border-bottom:1px solid var(--line)}
.ap-arthead .chip{display:inline-block;background:var(--cobalt-l);color:var(--cobalt);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:6px 13px;border-radius:999px;margin-bottom:12px;font-family:"Plus Jakarta Sans"}
.ap-arthead h1{font-size:clamp(2rem,4.4vw,3rem);color:var(--cobalt-d);max-width:18em}
.ap-arthead .lead{font-size:1.16rem;color:#475569;max-width:40em;margin:14px 0 12px}
.ap-byline{font-size:.86rem;color:var(--muted)}
.ap-arthero{width:100%;aspect-ratio:1200/560;object-fit:cover;border-radius:var(--r);margin:20px 0 0}
.ap-artgrid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:44px;align-items:start;padding:34px 0}
.ap-side{position:sticky;top:88px}
.ap-kurz{background:var(--cobalt-l);border:1px solid #d5e2f4;border-radius:var(--r);padding:20px 22px}
.ap-kurz h4{font-family:"Plus Jakarta Sans";font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cobalt);margin:0 0 12px}
.ap-kurz ul{margin:0;padding-left:18px}.ap-kurz li{margin:8px 0;font-size:.92rem;color:#334155}
.ap-toc{margin-top:18px;font-size:.9rem}.ap-toc h4{font-family:"Plus Jakarta Sans";font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.ap-toc a{display:block;color:var(--muted);text-decoration:none;padding:5px 0}.ap-toc a:hover{color:var(--cobalt)}
.ap-prose{min-width:0;max-width:44em}
.ap-prose h2{font-size:1.7rem;color:var(--cobalt-d);margin:36px 0 10px}
.ap-prose h3{font-size:1.3rem;color:var(--cobalt);margin:24px 0 8px}
.ap-prose p{margin:0 0 16px}.ap-prose ul,.ap-prose ol{margin:0 0 16px;padding-left:22px}.ap-prose li{margin:6px 0}
.ap-prose a{color:var(--cobalt);text-decoration:underline;text-underline-offset:2px;font-weight:600}
.ap-steckbrief{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--lime);border-radius:var(--r);padding:18px 22px;margin:22px 0}
.ap-steckbrief b{color:var(--cobalt-d)}
.ap-note{background:var(--cobalt-l);border-radius:var(--r);padding:16px 20px;margin:22px 0}
.ap-note--warn{background:#fef3f2;border:1px solid #fbd5d0}
.ap-keyfigs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}
.ap-keyfigs div{background:var(--cobalt);color:#fff;border-radius:var(--r);padding:16px}
.ap-keyfigs b{font-family:"Plus Jakarta Sans";font-size:1.7rem;display:block;color:var(--lime)}
.ap-keyfigs span{font-size:.82rem;color:#cfdcef}
.ap-tablewrap{overflow-x:auto;margin:22px 0;border:1px solid var(--line);border-radius:var(--r)}
.ap-table{border-collapse:collapse;width:100%;min-width:440px;font-size:.92rem}
.ap-table th{background:var(--cobalt);color:#fff;text-align:left;padding:11px 14px;font-family:"Plus Jakarta Sans";font-weight:700}
.ap-table td{padding:10px 14px;border-top:1px solid var(--line)}
.ap-faq{margin:22px 0}
.ap-faq details{border-bottom:1px solid var(--line);padding:2px 0}
.ap-faq summary{cursor:pointer;font-weight:700;color:var(--cobalt-d);padding:14px 0;list-style:none;position:relative;padding-right:28px;font-family:"Plus Jakarta Sans"}
.ap-faq summary::after{content:"+";position:absolute;right:4px;top:12px;color:var(--lime-d);font-size:1.3rem}
.ap-faq details[open] summary::after{content:"–"}
.ap-faq p{padding:0 0 14px;color:#475569;margin:0}
.ap-refs{margin:30px 0 0;font-size:.86rem;color:var(--muted)}.ap-refs ol{padding-left:20px}.ap-refs li{margin:6px 0}
.ap-related{margin:36px 0 0}
.ap-related h4{font-family:"Plus Jakarta Sans";font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--lime-d);margin:0 0 14px}
.ap-relgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ap-rel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px;text-decoration:none;color:inherit}
.ap-rel:hover{border-color:var(--cobalt)}.ap-rel .eyebrow{color:var(--lime-d)}.ap-rel h3{font-size:1.05rem;color:var(--cobalt-d);margin:6px 0 0}

@media(max-width:860px){
  .ap-services,.ap-cards,.ap-stats__in,.ap-foot__cols,.ap-keyfigs,.ap-relgrid{grid-template-columns:1fr 1fr}
  .ap-artgrid{grid-template-columns:1fr}.ap-side{position:static;margin-bottom:20px}
  .ap-nav a:not(.cta){display:none}
}
@media(max-width:560px){.ap-services,.ap-cards,.ap-stats__in{grid-template-columns:1fr}}
