/* ============================================================
   builacnedir.com — design system
   ============================================================ */
:root {
  --teal-50:#effcfb; --teal-100:#cbf5f2; --teal-300:#5ee0db; --teal-500:#0ea5a4;
  --teal-600:#0d8e8d; --teal-700:#0f6f6e;
  --ink-900:#0b1620; --ink-800:#13212e; --ink-700:#1d2f3e;
  --slate-50:#f6f8fa; --slate-100:#eef2f6; --slate-200:#e2e8ef; --slate-300:#cbd5e1;
  --slate-400:#94a3b8; --slate-500:#64748b; --slate-600:#475569; --slate-700:#334155;
  --amber-500:#f59e0b; --red-500:#ef4444; --red-600:#dc2626; --green-500:#10b981;
  --blue-500:#3b82f6; --violet-500:#8b5cf6;

  --radius-xs:8px; --radius-sm:12px; --radius:16px; --radius-lg:22px; --radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(15,30,45,.06), 0 1px 3px rgba(15,30,45,.08);
  --shadow:0 4px 16px rgba(15,30,45,.08), 0 2px 6px rgba(15,30,45,.05);
  --shadow-lg:0 18px 50px -12px rgba(13,90,90,.28);
  --maxw:1180px;
  --font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --font-display:'Plus Jakarta Sans',var(--font);
}
:root[data-theme="light"]{
  --bg:#f4f7f9; --bg-grad-1:#e7f6f5; --bg-grad-2:#f4f7f9;
  --surface:#ffffff; --surface-2:#f8fafc; --surface-3:#eef3f6;
  --border:#e4ebf0; --border-strong:#d4dee6;
  --text:#10222e; --text-soft:#42596b; --text-faint:#7c8fa0;
  --header-bg:rgba(255,255,255,.82); --hero-text:#0b3b3a;
}
:root[data-theme="dark"]{
  --bg:#091017; --bg-grad-1:#0c1c22; --bg-grad-2:#091017;
  --surface:#0f1b25; --surface-2:#13212d; --surface-3:#18293607;
  --surface-3:#172530; --border:#21333f; --border-strong:#2c4150;
  --text:#e7eef3; --text-soft:#a3b4c1; --text-faint:#6f8492;
  --header-bg:rgba(12,22,30,.78); --hero-text:#d7f3f1;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:var(--font); color:var(--text); background:var(--bg);
  -webkit-font-smoothing:antialiased; line-height:1.55; font-size:15.5px;
  min-height:100vh; display:flex; flex-direction:column;
}
a{color:inherit;text-decoration:none}
.container{max-width:var(--maxw);margin:0 auto;padding:0 22px;width:100%}
.app-main{flex:1 0 auto;width:100%}
h1,h2,h3{font-family:var(--font-display);line-height:1.15;margin:0;letter-spacing:-.02em}
::selection{background:var(--teal-300);color:#06302f}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:saturate(140%) blur(14px);
  background:var(--header-bg);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;gap:18px;height:66px}
.brand{display:flex;align-items:center;gap:10px;color:var(--teal-600);flex-shrink:0}
.brand-mark{display:inline-flex;color:var(--teal-500);filter:drop-shadow(0 4px 8px rgba(14,165,164,.3))}
.brand-text{font-family:var(--font-display);font-weight:800;font-size:21px;color:var(--text);letter-spacing:-.03em}
.brand-text span{color:var(--teal-500)}
.main-nav{display:flex;gap:4px;margin-left:8px;flex:1}
.main-nav a{padding:9px 14px;border-radius:var(--radius-pill);font-weight:600;font-size:14.5px;
  color:var(--text-soft);transition:.18s;display:flex;align-items:center;gap:7px}
.main-nav a:hover{color:var(--text);background:var(--surface-3)}
.main-nav a.active{color:var(--teal-700);background:var(--teal-50)}
:root[data-theme="dark"] .main-nav a.active{color:var(--teal-300);background:rgba(14,165,164,.12)}
.nav-badge{background:var(--teal-500);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;
  border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}
.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:38px;height:38px;
  padding:0 11px;border:1px solid var(--border);background:var(--surface);color:var(--text-soft);
  border-radius:var(--radius-pill);cursor:pointer;font-weight:700;font-size:13px;transition:.18s}
.icon-btn:hover{color:var(--text);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}
.icon-sun{display:none}
:root[data-theme="dark"] .icon-sun{display:block}
:root[data-theme="dark"] .icon-moon{display:none}
.menu-btn{display:none}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:var(--radius-pill);
  font-weight:700;font-size:14.5px;cursor:pointer;border:1px solid transparent;transition:.18s;white-space:nowrap}
.btn svg{width:18px;height:18px}
.btn-primary{background:linear-gradient(135deg,var(--teal-500),var(--teal-600));color:#fff;box-shadow:0 8px 20px -8px rgba(14,165,164,.6)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 26px -8px rgba(14,165,164,.7)}
.btn-ghost{background:var(--surface);border-color:var(--border);color:var(--text)}
.btn-ghost:hover{border-color:var(--teal-500);color:var(--teal-600)}
.btn-soft{background:var(--teal-50);color:var(--teal-700)}
:root[data-theme="dark"] .btn-soft{background:rgba(14,165,164,.14);color:var(--teal-300)}
.btn-soft:hover{background:var(--teal-100)}
.btn-sm{padding:7px 13px;font-size:13px}
.btn-danger{background:var(--surface);border-color:var(--border);color:var(--red-500)}
.btn-danger:hover{background:var(--red-500);color:#fff;border-color:var(--red-500)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* ---------- Search ---------- */
.search-box{position:relative;width:100%}
.search-input-wrap{display:flex;align-items:center;gap:12px;background:var(--surface);border:1.5px solid var(--border);
  border-radius:var(--radius-pill);padding:0 8px 0 18px;height:54px;transition:.18s;box-shadow:var(--shadow-sm)}
.search-input-wrap:focus-within{border-color:var(--teal-500);box-shadow:0 0 0 4px rgba(14,165,164,.14)}
.search-input-wrap svg{color:var(--text-faint);flex-shrink:0}
.search-input-wrap input{flex:1;border:none;background:none;outline:none;font-size:16px;color:var(--text);font-family:inherit}
.search-input-wrap input::placeholder{color:var(--text-faint)}
.search-hero .search-input-wrap{height:62px;font-size:17px;box-shadow:var(--shadow-lg)}
.search-results{position:absolute;top:calc(100% + 10px);left:0;right:0;background:var(--surface);
  border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:40;
  overflow:hidden;max-height:62vh;overflow-y:auto}
.search-results .sr-group-title{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  color:var(--text-faint);padding:12px 16px 6px}
.sr-item{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;transition:.12s;border-left:3px solid transparent}
.sr-item:hover,.sr-item.active{background:var(--surface-3);border-left-color:var(--teal-500)}
.sr-item .sr-icon{width:34px;height:34px;border-radius:10px;background:var(--teal-50);color:var(--teal-600);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700}
:root[data-theme="dark"] .sr-item .sr-icon{background:rgba(14,165,164,.14);color:var(--teal-300)}
.sr-item .sr-icon.dx{background:#f3e8ff;color:var(--violet-500)}
:root[data-theme="dark"] .sr-item .sr-icon.dx{background:rgba(139,92,246,.18)}
.sr-name{font-weight:600;font-size:14.5px;line-height:1.25}
.sr-meta{font-size:12.5px;color:var(--text-faint)}
.sr-empty{padding:20px 16px;color:var(--text-faint);text-align:center;font-size:14px}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding:64px 0 54px;
  background:radial-gradient(1100px 480px at 50% -120px,var(--bg-grad-1),var(--bg-grad-2))}
.hero::before{content:"";position:absolute;inset:0;background-image:
  radial-gradient(circle at 12% 18%,rgba(14,165,164,.10),transparent 32%),
  radial-gradient(circle at 88% 12%,rgba(59,130,246,.08),transparent 30%);pointer-events:none}
.hero-inner{position:relative;text-align:center;max-width:760px;margin:0 auto}
.hero h1{font-size:clamp(30px,5vw,50px);font-weight:800;color:var(--text);margin-bottom:14px}
.hero h1 .grad{background:linear-gradient(120deg,var(--teal-500),var(--teal-700));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lede{font-size:clamp(15px,2vw,18px);color:var(--text-soft);margin:0 auto 30px;max-width:580px}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-pill);padding:6px 14px;font-size:13px;font-weight:600;color:var(--teal-700);margin-bottom:22px;box-shadow:var(--shadow-sm)}
:root[data-theme="dark"] .hero-eyebrow{color:var(--teal-300)}
.hero-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--green-500);box-shadow:0 0 0 4px rgba(16,185,129,.18)}
.hero-search{max-width:620px;margin:0 auto}
.hero-stats{display:flex;gap:30px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.hero-stat{text-align:center}
.hero-stat .num{font-family:var(--font-display);font-weight:800;font-size:28px;color:var(--teal-600);letter-spacing:-.03em}
.hero-stat .lbl{font-size:12.5px;color:var(--text-faint);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.hero-quicklinks{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.chip{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:var(--radius-pill);
  background:var(--surface);border:1px solid var(--border);font-size:13.5px;font-weight:600;color:var(--text-soft);
  cursor:pointer;transition:.16s}
.chip:hover{border-color:var(--teal-500);color:var(--teal-600);box-shadow:var(--shadow-sm);transform:translateY(-1px)}

/* ---------- Sections / layout ---------- */
.section{padding:46px 0}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.section-head h2{font-size:25px;font-weight:800}
.section-head .sub{color:var(--text-soft);font-size:14.5px;margin-top:4px}
.section-head a.more{font-weight:600;color:var(--teal-600);font-size:14px}
.grid{display:grid;gap:16px}
.grid-feature{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.grid-cat{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}

/* ---------- Cards ---------- */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;
  transition:.18s;position:relative}
a.card,.card.clickable{cursor:pointer}
a.card:hover,.card.clickable:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-2px)}
.feature-card{padding:24px}
.feature-card .ico{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  margin-bottom:16px;color:#fff}
.feature-card h3{font-size:18px;margin-bottom:7px}
.feature-card p{color:var(--text-soft);font-size:14px;margin:0}
.ico-teal{background:linear-gradient(135deg,var(--teal-500),var(--teal-700))}
.ico-amber{background:linear-gradient(135deg,#fbbf24,#f59e0b)}
.ico-violet{background:linear-gradient(135deg,#a78bfa,#7c3aed)}
.ico-blue{background:linear-gradient(135deg,#60a5fa,#2563eb)}

.drug-card{display:flex;flex-direction:column;gap:10px}
.drug-card .dc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.drug-card .dc-name{font-weight:700;font-size:15.5px;line-height:1.3;color:var(--text)}
.drug-card .dc-ing{font-size:13px;color:var(--text-soft)}
.drug-card .dc-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:auto;padding-top:4px}
.pill-form{font-size:12px;font-weight:600;color:var(--text-faint);background:var(--surface-3);padding:3px 9px;border-radius:var(--radius-pill)}
.variant-badge{flex-shrink:0;font-size:11px;font-weight:700;color:var(--teal-700);background:var(--teal-50);
  padding:3px 9px;border-radius:var(--radius-pill);white-space:nowrap}
:root[data-theme="dark"] .variant-badge{background:rgba(14,165,164,.14);color:var(--teal-300)}
.pres-table{display:flex;flex-direction:column}
.pres-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border);font-size:13.5px}
.pres-row:first-child{border-top:none}
.pres-row .pres-name{flex:1;min-width:0;font-weight:600}
.pres-row .pres-bc{font-family:ui-monospace,monospace;font-size:12px;color:var(--text-faint)}
.leaflet-source{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font-size:13px;font-weight:600;color:var(--teal-600)}
.leaflet-source:hover{text-decoration:underline}
.leaflet-panel{background:linear-gradient(180deg,var(--teal-50),var(--surface));border-color:var(--teal-100)}
:root[data-theme="dark"] .leaflet-panel{background:linear-gradient(180deg,rgba(14,165,164,.08),var(--surface));border-color:var(--border)}
.leaflet-links{display:flex;gap:10px;flex-wrap:wrap}
.badge-passive{background:var(--surface-3);color:var(--text-faint)}

.cat-card{display:flex;align-items:center;gap:13px;padding:15px 16px}
.cat-card .cat-ico{width:40px;height:40px;border-radius:11px;background:var(--teal-50);color:var(--teal-600);
  display:flex;align-items:center;justify-content:center;flex-shrink:0}
:root[data-theme="dark"] .cat-card .cat-ico{background:rgba(14,165,164,.13);color:var(--teal-300)}
.cat-card .cat-name{font-weight:600;font-size:14px;line-height:1.25}
.cat-card .cat-count{font-size:12.5px;color:var(--text-faint)}

/* ---------- Badges ---------- */
.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:3px 9px;
  border-radius:var(--radius-pill);letter-spacing:.01em;white-space:nowrap}
.badge-rx{background:#fef2f2;color:var(--red-600)}
.badge-otc{background:#ecfdf5;color:#059669}
.badge-sgk{background:#eff6ff;color:#2563eb}
.badge-atc{background:var(--surface-3);color:var(--text-soft);font-family:ui-monospace,monospace}
:root[data-theme="dark"] .badge-rx{background:rgba(239,68,68,.15);color:#fca5a5}
:root[data-theme="dark"] .badge-otc{background:rgba(16,185,129,.15);color:#6ee7b7}
:root[data-theme="dark"] .badge-sgk{background:rgba(59,130,246,.15);color:#93c5fd}

/* severity */
.sev{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:12px;padding:4px 10px;border-radius:var(--radius-pill)}
.sev::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.sev-severe{background:#fef2f2;color:var(--red-600)}
.sev-moderate{background:#fffbeb;color:#b45309}
.sev-mild{background:#f0fdf4;color:#15803d}
:root[data-theme="dark"] .sev-severe{background:rgba(239,68,68,.16);color:#fca5a5}
:root[data-theme="dark"] .sev-moderate{background:rgba(245,158,11,.16);color:#fcd34d}
:root[data-theme="dark"] .sev-mild{background:rgba(16,185,129,.16);color:#6ee7b7}

/* ---------- Drug / disease detail ---------- */
.detail-hero{background:radial-gradient(900px 360px at 0% -80px,var(--bg-grad-1),transparent);padding:30px 0 8px}
.breadcrumb{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--text-faint);margin-bottom:16px;flex-wrap:wrap}
.breadcrumb a:hover{color:var(--teal-600)}
.detail-head{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:flex-start}
.detail-head h1{font-size:clamp(22px,3.4vw,32px);font-weight:800;margin-bottom:10px}
.detail-badges{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:6px}
.detail-sub{color:var(--text-soft);font-size:15px}
.detail-layout{display:grid;grid-template-columns:1fr 320px;gap:26px;padding:26px 0 40px;align-items:start}
.detail-main{min-width:0;display:flex;flex-direction:column;gap:18px}
.detail-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:84px}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px}
.panel h3{font-size:16px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:9px}
.panel h3 .ph-ico{color:var(--teal-500)}
.panel .leaflet{color:var(--text-soft);font-size:14.5px;line-height:1.7;max-height:340px;overflow:hidden;position:relative;transition:max-height .3s}
.panel .leaflet.expanded{max-height:none}
.leaflet p,.ic-body p{margin:0 0 10px}
.leaflet p:last-child,.ic-body p:last-child{margin-bottom:0}
.panel .leaflet.clamped::after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;
  background:linear-gradient(transparent,var(--surface))}
.read-more{margin-top:10px;font-weight:600;color:var(--teal-600);cursor:pointer;font-size:13.5px}
.ing-chips{display:flex;flex-wrap:wrap;gap:8px}
.ing-chip{display:inline-flex;align-items:center;gap:7px;background:var(--surface-3);border:1px solid var(--border);
  padding:7px 13px;border-radius:var(--radius-pill);font-size:13.5px;font-weight:600;cursor:pointer;transition:.15s}
.ing-chip:hover{border-color:var(--teal-500);color:var(--teal-600)}
.ing-chip .atc{font-family:ui-monospace,monospace;font-size:11px;color:var(--text-faint)}
.kv{display:flex;flex-direction:column;gap:11px}
.kv .row{display:flex;justify-content:space-between;gap:14px;font-size:14px;align-items:baseline}
.kv .row .k{color:var(--text-faint);flex-shrink:0}
.kv .row .v{font-weight:600;text-align:right}
.alt-item,.intx-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--border)}
.alt-item:first-child,.intx-item:first-child{border-top:none}
.alt-item .a-name{font-weight:600;font-size:14px;line-height:1.3}
.alt-item .a-meta{font-size:12.5px;color:var(--text-faint)}
.intx-item{flex-direction:column;align-items:stretch;gap:6px}
.intx-item .ix-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.intx-item .ix-pair{font-weight:600;font-size:13.5px}
.intx-item .ix-sum{font-size:13px;color:var(--text-soft)}

/* ---------- Toolbar / filters ---------- */
.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:22px}
.toolbar .search-box{flex:1;min-width:240px}
.select{appearance:none;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;
  border:1px solid var(--border);border-radius:var(--radius-pill);padding:10px 38px 10px 16px;font-size:14px;
  font-weight:600;color:var(--text);cursor:pointer;font-family:inherit}
.select:focus{outline:none;border-color:var(--teal-500)}
.filter-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.toggle-pill{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:var(--radius-pill);
  border:1px solid var(--border);background:var(--surface);font-size:13.5px;font-weight:600;color:var(--text-soft);cursor:pointer;transition:.15s}
.toggle-pill.on{background:var(--teal-500);color:#fff;border-color:var(--teal-500)}
.result-count{color:var(--text-faint);font-size:13.5px;font-weight:600}

/* alphabet */
.alpha-bar{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:20px}
.alpha-bar button{width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:var(--surface);
  font-weight:700;font-size:13px;color:var(--text-soft);cursor:pointer;transition:.14s}
.alpha-bar button:hover{border-color:var(--teal-500);color:var(--teal-600)}
.alpha-bar button.on{background:var(--teal-500);color:#fff;border-color:var(--teal-500)}

/* pagination */
.pagination{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:30px}
.pagination button{min-width:40px;height:40px;border-radius:11px;border:1px solid var(--border);background:var(--surface);
  font-weight:600;cursor:pointer;color:var(--text-soft);transition:.14s;padding:0 12px}
.pagination button:hover:not(:disabled){border-color:var(--teal-500);color:var(--teal-600)}
.pagination button.on{background:var(--teal-500);color:#fff;border-color:var(--teal-500)}
.pagination button:disabled{opacity:.4;cursor:not-allowed}

/* ---------- Interaction checker ---------- */
.checker-add{margin-bottom:18px}
.med-chips{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.med-chip{display:inline-flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-pill);padding:8px 8px 8px 16px;font-weight:600;font-size:14px;box-shadow:var(--shadow-sm)}
.med-chip .x{width:24px;height:24px;border-radius:50%;background:var(--surface-3);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:var(--text-faint);font-size:16px;line-height:1}
.med-chip .x:hover{background:var(--red-500);color:#fff}
.intx-result-card{border-left:4px solid var(--border);padding:16px 18px;border-radius:var(--radius);background:var(--surface);
  border-top:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:12px}
.intx-result-card.severe{border-left-color:var(--red-500)}
.intx-result-card.moderate{border-left-color:var(--amber-500)}
.intx-result-card.mild{border-left-color:var(--green-500)}
.intx-result-card .irc-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.intx-result-card .irc-pair{font-weight:700;font-size:15px}
.intx-result-card .irc-sum{color:var(--text-soft);font-size:14px}
.intx-result-card .irc-mech{color:var(--text-faint);font-size:13px;margin-top:7px;padding-top:7px;border-top:1px dashed var(--border)}
.banner{display:flex;gap:13px;align-items:center;padding:16px 18px;border-radius:var(--radius);font-weight:600;margin-bottom:18px}
.banner-ok{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}
.banner-warn{background:#fffbeb;color:#b45309;border:1px solid #fde68a}
.banner-danger{background:#fef2f2;color:var(--red-600);border:1px solid #fecaca}
:root[data-theme="dark"] .banner-ok{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.3);color:#6ee7b7}
:root[data-theme="dark"] .banner-warn{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.3);color:#fcd34d}
:root[data-theme="dark"] .banner-danger{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.3);color:#fca5a5}

/* ---------- My meds ---------- */
.med-row{display:flex;align-items:center;gap:16px;padding:16px 18px;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);margin-bottom:12px}
.med-row .mr-icon{width:46px;height:46px;border-radius:13px;background:var(--teal-50);color:var(--teal-600);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700;font-size:18px}
:root[data-theme="dark"] .med-row .mr-icon{background:rgba(14,165,164,.13);color:var(--teal-300)}
.med-row .mr-body{flex:1;min-width:0}
.med-row .mr-name{font-weight:700;font-size:15px}
.med-row .mr-ing{font-size:13px;color:var(--text-faint)}
.med-row .mr-times{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.time-tag{display:inline-flex;align-items:center;gap:5px;background:var(--surface-3);border-radius:var(--radius-pill);
  padding:3px 10px;font-size:12.5px;font-weight:600;color:var(--text-soft)}
.time-tag button{border:none;background:none;cursor:pointer;color:var(--text-faint);font-size:13px;padding:0;line-height:1}
.time-tag button:hover{color:var(--red-500)}
.mr-actions{display:flex;gap:8px;flex-shrink:0}

/* ---------- empty / loading ---------- */
.empty-state{text-align:center;padding:60px 20px;color:var(--text-faint)}
.empty-state .es-ico{width:64px;height:64px;border-radius:18px;background:var(--surface-3);display:flex;
  align-items:center;justify-content:center;margin:0 auto 16px;color:var(--text-faint)}
.empty-state h3{color:var(--text);margin-bottom:6px}
.skeleton{background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-2) 50%,var(--surface-3) 75%);
  background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:var(--radius)}
@keyframes shimmer{to{background-position:-200% 0}}
.sk-card{height:140px}
.spinner{width:34px;height:34px;border:3px solid var(--border);border-top-color:var(--teal-500);border-radius:50%;
  animation:spin .7s linear infinite;margin:40px auto}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- toast ---------- */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink-900);
  color:#fff;padding:13px 22px;border-radius:var(--radius-pill);font-weight:600;font-size:14px;z-index:100;
  box-shadow:var(--shadow-lg);opacity:0;transition:.25s;pointer-events:none}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.success{background:#0f766e}
.toast.danger{background:var(--red-600)}

/* ---------- footer ---------- */
.site-footer{flex-shrink:0;background:var(--surface);border-top:1px solid var(--border);padding:40px 0;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.1fr 1.7fr;gap:30px;align-items:start}
.footer-brand p{color:var(--text-faint);font-size:13.5px;margin:10px 0 0;max-width:240px}
.footer-links{display:flex;flex-direction:column;gap:8px}
.footer-links h5{margin:0 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-weight:700}
.footer-links a{color:var(--text-soft);font-size:13.5px;font-weight:600}
.footer-links a:hover{color:var(--teal-600)}
.footer-disclaimer p{font-size:13px;color:var(--text-soft);margin:0 0 8px;line-height:1.6}
.footer-source{color:var(--text-faint)!important;font-size:12px!important}

/* ---------- prose (about) ---------- */
.prose{max-width:760px;margin:0 auto}
.prose h1{font-size:32px;margin-bottom:8px}
.prose h2{font-size:21px;margin:28px 0 10px}
.prose p,.prose li{color:var(--text-soft);font-size:15px;line-height:1.75}
.prose ul{padding-left:20px}
.prose a{color:var(--teal-600);font-weight:600}
.prose code{background:var(--surface-3);padding:2px 7px;border-radius:6px;font-size:13px}

/* ---------- editorial home ---------- */
.hero-editorial{text-align:center}
.hero-editorial .hero-inner{align-items:center}
.hero-editorial h1{max-width:none;white-space:nowrap;font-size:clamp(20px,3.6vw,44px)}
.hero-editorial .lede{max-width:60ch;margin-left:auto;margin-right:auto}
.hero-editorial .hero-search{width:100%;max-width:760px;margin-left:auto;margin-right:auto;text-align:left}
.hero-editorial .hero-quicklinks{justify-content:center}
@media (max-width:640px){.hero-editorial h1{white-space:normal}}
.hero-search-label{display:block;font-size:12px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
/* leaflet sub-headings */
.ic-h{font-weight:700;color:var(--text);margin-top:4px}
.ic-sub{font-weight:700;color:var(--text)}
.hero-quicklinks{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}
.quick-label{font-size:12.5px;font-weight:700;color:var(--text-faint)}
.hero-quicklinks #heroChips{display:inline-flex;gap:8px;flex-wrap:wrap}
.trust-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px;width:100%}
.tstat{padding:20px 22px}
.tstat-num{font-family:var(--font-display);font-weight:800;font-size:30px;line-height:1}
.tstat-big{font-family:var(--font-display);font-weight:800;font-size:22px;color:var(--teal-600)}
.tstat-lbl{font-size:13px;color:var(--text-faint);margin-top:6px}
.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.trust-item{padding:6px 4px}
.trust-num{font-family:var(--font-display);font-weight:800;font-size:15px;color:var(--teal-500);background:var(--teal-50);width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.trust-item h3{font-size:16px;margin:0 0 6px}
.trust-item p{font-size:13.5px;color:var(--text-soft);margin:0;line-height:1.55}
.kicker{font-size:12px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
@media (max-width:760px){.trust-stats,.trust-strip{grid-template-columns:1fr}}

/* ---------- editorial drug detail ---------- */
.detail-hero-ed{background:var(--surface-2);border-bottom:1px solid var(--border)}
.dhe-grid{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start}
.dhe-main .dh-kicker{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;letter-spacing:.05em;color:var(--text-faint);text-transform:uppercase}
.dhe-main h1{font-size:clamp(28px,4vw,42px);margin:10px 0 0;line-height:1.08}
.dh-intro{max-width:62ch;color:var(--text-soft);font-size:14.5px;line-height:1.6;margin:14px 0 18px}
.dh-actions{display:flex;gap:10px;flex-wrap:wrap}
.source-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow);position:sticky;top:84px}
.source-card h4{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:15px}
.src-row{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:6px 0;border-top:1px dashed var(--border);color:var(--text-faint)}
.src-row:first-of-type{border-top:none}
.src-row b{color:var(--text);font-weight:600}
.src-row code{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--teal-600)}
.src-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.tag-src{font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--teal-50);color:var(--teal-700);border:1px solid var(--teal-100)}
.tag-src.tag-muted{background:var(--surface-3);color:var(--text-faint);border-color:var(--border)}
.tag-src.tag-warn{background:#fef2f2;color:#b91c1c;border-color:#fecaca}
.tag-src.tag-ok{background:#ecfdf5;color:#047857;border-color:#a7f3d0}
.detail-narrow{max-width:1000px}
.important-banner{margin-bottom:20px}
.banner-info{background:var(--surface-2);border:1px solid var(--border);color:var(--text-soft)}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:22px}
.ig-cell{background:var(--surface);padding:15px 18px}
.ig-lbl{font-size:11px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}
.ig-val{font-size:14.5px;font-weight:600}
.ig-ing{color:var(--teal-600);cursor:pointer}.ig-ing:hover{text-decoration:underline}
.gv-flag{display:inline-block;font-size:12.5px;font-weight:700;padding:2px 10px;border-radius:999px}
.gv-flag.gv-avoid{background:#fef2f2;color:#b91c1c}
.gv-flag.gv-caution{background:#fffbeb;color:#b45309}
.gv-flag.gv-info{background:var(--teal-50);color:var(--teal-700)}
.gv-flag.gv-none{background:var(--surface-3);color:var(--text-faint);font-weight:600}
.info-cards{display:flex;gap:16px;align-items:flex-start;margin-bottom:22px}
.ic-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}
@media (max-width:720px){.info-cards{flex-direction:column}}
.kunye-panel{margin-bottom:22px}
.kunye-pres{margin-top:10px;font-size:13px;color:var(--text-faint)}
.info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;border-left:3px solid var(--border)}
.info-card.lvl-avoid{border-left-color:#ef4444}
.info-card.lvl-caution{border-left-color:#f59e0b}
.info-card.lvl-info{border-left-color:var(--teal-500)}
.info-card h4{margin:0 0 8px;font-size:15.5px}
.ic-body{font-size:13.5px;line-height:1.6;color:var(--text-soft)}
.ic-generic{color:var(--text-faint)}
.info-card .leaflet{max-height:128px;overflow:hidden;position:relative;transition:max-height .35s;-webkit-mask-image:linear-gradient(180deg,#000 78%,transparent);mask-image:linear-gradient(180deg,#000 78%,transparent)}
.info-card .leaflet.expanded{-webkit-mask-image:none;mask-image:none}
.info-card .leaflet.expanded{max-height:4000px}
.info-card .read-more{margin-top:8px;background:none;border:none;padding:0;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--teal-600)}
.info-card .read-more:hover{text-decoration:underline}
.src-panel .leaflet-links{display:flex;gap:10px;flex-wrap:wrap}
.page-jump{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.pj-label{font-size:12.5px;font-weight:700;color:var(--text-faint)}
.pj{font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-soft);cursor:pointer;transition:.15s}
.pj:hover{border-color:var(--teal-400,var(--teal-300));color:var(--teal-600)}
.info-card{display:flex;flex-direction:column}
.ic-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px}
.ic-src{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--text-faint)}
.ic-foot .ic-more{margin-top:0}
.ic-more{display:inline-flex;align-items:center;gap:5px;margin-top:10px;font-size:12.5px;font-weight:600;color:var(--teal-600)}
.ic-more:hover{text-decoration:underline}
.scan-manual{display:flex;gap:8px;padding:0 18px 18px}
.scan-manual input{flex:1;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:14px}
.scan-manual input:focus{outline:none;border-color:var(--teal-400,var(--teal-300))}
.sr-var{display:inline-block;font-size:11px;font-weight:700;background:var(--teal-50);color:var(--teal-700);border-radius:999px;padding:1px 7px;margin-left:6px}
@media (max-width:860px){.dhe-grid{grid-template-columns:1fr}.source-card{position:static}.info-cards{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.info-grid{grid-template-columns:1fr}}

/* ---------- safety panel ---------- */
.safety-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.safety-item{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px}
.safety-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.safety-emo{font-size:17px}
.safety-lbl{font-weight:700;font-size:13.5px}
.safety-head .sev{margin-left:auto}
.safety-text{font-size:12.5px;color:var(--text-soft);line-height:1.55;max-height:80px;overflow:hidden}

/* ---------- barcode scanner modal ---------- */
.scan-modal{position:fixed;inset:0;background:rgba(8,16,22,.72);backdrop-filter:blur(6px);z-index:200;
  display:flex;align-items:center;justify-content:center;padding:20px}
.scan-sheet{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:440px;overflow:hidden;box-shadow:var(--shadow-lg)}
.scan-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border)}
.scan-head strong{display:flex;align-items:center;gap:8px;font-size:16px}
.scan-body{position:relative;aspect-ratio:4/3;background:#000;overflow:hidden}
.scan-video{width:100%;height:100%;object-fit:cover}
.scan-frame{position:absolute;inset:18% 12%;border:3px solid var(--teal-300);border-radius:14px;box-shadow:0 0 0 1000px rgba(0,0,0,.25)}
.scan-hint{padding:14px 18px;font-size:13.5px;color:var(--text-soft);text-align:center}
.scan-msg{padding:0 18px 16px;color:var(--red-500);font-weight:600;font-size:14px;text-align:center}

/* ---------- weather ---------- */
.weather-panel .weather-now{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.wn-emo{font-size:42px;line-height:1}
.wn-temp{font-family:var(--font-display);font-weight:800;font-size:30px}
.wn-desc{font-size:13px;color:var(--text-soft)}
.weather-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.wday{text-align:center;background:var(--surface-3);border-radius:12px;padding:10px 4px}
.wd-name{font-size:11.5px;font-weight:700;color:var(--text-faint);text-transform:capitalize}
.wd-emo{font-size:24px;margin:4px 0}
.wd-temp b{font-size:13px}.wd-temp span{font-size:12px;color:var(--text-faint)}
.wd-pop{font-size:10.5px;color:var(--blue-500)}
@media (max-width:680px){.weather-days{grid-template-columns:repeat(4,1fr)}}

/* ---------- reviews ---------- */
.reviews-panel .rev-head{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:15px}
.rev-avg{color:#f59e0b;letter-spacing:2px;font-size:17px}
.rev-list{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
.rev-item{border-top:1px solid var(--border);padding-top:12px}
.rev-item:first-child{border-top:none}
.rev-meta{font-size:13px;color:var(--text-faint);display:flex;gap:8px;align-items:center}
.rev-meta .rev-stars{color:#f59e0b;letter-spacing:1px}
.rev-meta strong{color:var(--text)}
.rev-comment{font-size:14px;line-height:1.55;margin-top:5px;color:var(--text-soft)}
.rev-form{border-top:1px solid var(--border);padding-top:16px;display:flex;flex-direction:column;gap:10px}
.rev-rate{font-size:13.5px;color:var(--text-faint);display:flex;align-items:center;gap:4px}
.rev-star{background:none;border:none;font-size:24px;cursor:pointer;color:#f59e0b;line-height:1;padding:0 1px}
.rev-form input,.rev-form textarea{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:14px;font-family:inherit}
.rev-form input:focus,.rev-form textarea:focus{outline:none;border-color:var(--teal-400,var(--teal-300))}
.rev-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

/* ---------- price trend ---------- */
.ptrend{font-size:12px;font-weight:700;margin-left:4px}
.ptrend.up{color:#dc2626}
.ptrend.down{color:#059669}

/* ---------- firma / muadil ---------- */
.kv-link{color:var(--teal-600);text-decoration:none}.kv-link:hover{text-decoration:underline}
.avail{font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap;flex-shrink:0}
.avail-on{background:#ecfdf5;color:#047857}
.avail-off{background:#fef2f2;color:#b91c1c}
.muadil-toggle{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--text-soft);cursor:pointer;user-select:none}
.muadil-toggle input{width:16px;height:16px;accent-color:var(--teal-500)}

/* ---------- therapeutic category chips ---------- */
.tcat-row{display:flex;gap:8px;flex-wrap:wrap;margin:-2px 0 14px}
.tcat-chip{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;padding:8px 14px;border-radius:999px;
  border:1px solid var(--border);background:var(--surface);color:var(--text-soft);cursor:pointer;transition:.15s}
.tcat-chip:hover{border-color:var(--teal-300);color:var(--text)}
.tcat-chip.on{background:var(--teal-500);border-color:var(--teal-500);color:#fff}
.tcat-n{font-size:11px;font-weight:700;opacity:.7}
.tcat-chip.on .tcat-n{opacity:.85}
.chip-surprise{border-style:dashed;cursor:pointer;font-family:inherit}

/* ---------- right rail (wide screens): weather + news ---------- */
.side-rail{display:none}
.rail-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:16px}
.rail-card h4{display:flex;align-items:center;gap:7px;margin:0 0 12px;font-size:14px}
.rail-weather{display:flex;flex-direction:column;gap:6px}
.rw-day{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font-size:12.5px}
.rw-day .rw-emo{font-size:16px;justify-self:start}
.rw-t b{font-weight:700}.rw-t{color:var(--text-faint)}
.rw-day span:first-child{color:var(--text-faint);text-transform:capitalize}
.rail-news{display:flex;flex-direction:column}
.rail-news a{display:block;font-size:13px;line-height:1.4;padding:8px 0;border-top:1px solid var(--border);color:var(--text-soft);text-decoration:none}
.rail-news a:first-child{border-top:none}
.rail-news a:hover{color:var(--teal-600)}
.rail-more{display:inline-block;margin-top:10px;font-size:12.5px;font-weight:600;color:var(--teal-600)}
@media (min-width:1300px){
  body{padding-right:288px}
  .side-rail{display:block;position:fixed;top:0;right:0;width:288px;height:100vh;overflow-y:auto;
    padding:84px 16px 24px;border-left:1px solid var(--border);background:var(--surface-2);z-index:20}
}
@media print{.side-rail{display:none!important}body{padding-right:0!important}}

/* ---------- header weather chip ---------- */
.header-weather{display:inline-flex;align-items:center;gap:5px;font-size:14px;padding:6px 12px;border-radius:999px;
  border:1px solid var(--border);background:var(--surface-2);color:var(--text);text-decoration:none;line-height:1;transition:.15s}
.header-weather:hover{border-color:var(--teal-300);background:var(--teal-50)}
.header-weather b{font-weight:700}
@media (max-width:560px){.header-weather{display:none}}

/* ---------- near-me tabs ---------- */
.near-tabs{display:flex;gap:6px;margin-top:18px;flex-wrap:wrap}
.near-tab{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;padding:9px 16px;border-radius:999px;
  border:1px solid var(--border);background:var(--surface);color:var(--text-soft);cursor:pointer;transition:.15s}
.near-tab:hover{border-color:var(--teal-300)}
.near-tab.on{background:var(--teal-500);border-color:var(--teal-500);color:#fff}
.locate-prompt{display:flex;align-items:center;gap:14px;color:var(--text-soft)}
.locate-prompt strong{font-size:15px;color:var(--text)}

/* ---------- pharmacies / news ---------- */
.pharm-row{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid var(--border);flex-wrap:wrap}
.pharm-row:first-child{border-top:none}
.pharm-name{font-weight:700;font-size:14.5px}
.pharm-meta{font-size:12.5px;color:var(--text-faint)}
.pharm-actions{display:flex;gap:8px;align-items:center}
.pharm-badge{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--surface-2,#eef2f7);color:var(--text-faint);font-size:11px;font-weight:600;vertical-align:middle}
.seg-toggle{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2,#f3f5f9)}
.seg-toggle .seg{appearance:none;border:none;background:transparent;color:var(--text-faint);font:inherit;font-weight:600;font-size:13.5px;padding:7px 14px;border-radius:9px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:.15s}
.seg-toggle .seg:hover{color:var(--text)}
.seg-toggle .seg.on{background:var(--card,#fff);color:var(--accent,#2563eb);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.news-row{display:block;padding:11px 0;border-top:1px solid var(--border)}
.news-row:first-child{border-top:none}
.news-title{font-weight:600;font-size:14px;line-height:1.4}
.news-src{font-size:12px;color:var(--text-faint);margin-top:3px}
.news-row:hover .news-title{color:var(--teal-600)}
@media (max-width:760px){#nearGrid{grid-template-columns:1fr!important}}

/* ---------- compare table ---------- */
.cmp-wrap{overflow-x:auto;margin-top:18px}
.cmp-table{width:100%;border-collapse:collapse;min-width:480px}
.cmp-table th,.cmp-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border);font-size:13.5px;vertical-align:top}
.cmp-table th{color:var(--text-faint);font-weight:600;width:130px;white-space:nowrap}
.cmp-table td{font-weight:500}
.cmp-x{width:22px;height:22px;border-radius:50%;border:none;background:var(--surface-3);cursor:pointer;color:var(--text-faint)}
.cmp-x:hover{background:var(--red-500);color:#fff}

/* ---------- my meds upgrades ---------- */
.mr-check{width:30px;height:30px;flex-shrink:0;border-radius:50%;border:2px solid var(--border);background:var(--surface);
  cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:.15s}
.mr-check.on{background:var(--green-500);border-color:var(--green-500)}
.mr-check:hover{border-color:var(--green-500)}
.mr-stats{display:flex;align-items:center;gap:10px;margin-top:9px}
.adh-bar{flex:1;max-width:140px;height:7px;background:var(--surface-3);border-radius:4px;overflow:hidden}
.adh-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--teal-500),var(--green-500))}
.adh-lbl{font-size:11.5px;color:var(--text-faint);font-weight:600}

/* ---------- ATC browser ---------- */
.atc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.atc-card{display:flex;align-items:center;gap:14px;padding:16px}
.atc-code{width:48px;height:48px;flex-shrink:0;border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:800;font-size:22px;color:#fff}
.atc-code-inline{display:inline-flex;width:34px;height:34px;border-radius:9px;align-items:center;justify-content:center;font-weight:800;color:#fff;vertical-align:middle;margin-right:6px}
.ico-teal{background:var(--teal-500)}.ico-red{background:var(--red-500)}.ico-blue{background:var(--blue-500)}
.ico-amber{background:#d97706}.ico-violet{background:#7c3aed}.ico-green{background:var(--green-500)}.ico-slate{background:var(--text-faint)}
.atc-name{font-weight:700;font-size:14.5px;line-height:1.3}
.atc-count{font-size:12.5px;color:var(--text-faint);margin-top:3px}
.atc-l2-list{display:flex;flex-direction:column;gap:2px}
.atc-l2{display:flex;align-items:center;gap:14px;padding:13px 14px;border-radius:10px;border:1px solid transparent}
.atc-l2:hover{background:var(--surface-3);border-color:var(--border)}
.atc-l2-code{font-family:var(--font-mono,monospace);font-weight:700;font-size:13px;color:var(--teal-600);min-width:46px}
.atc-l2-label{flex:1;font-size:14px;font-weight:500}
.atc-l2-count{font-size:12px;color:var(--text-faint)}
a.toggle-pill{text-decoration:none;display:inline-flex;align-items:center;gap:6px}
a.toggle-pill svg{width:15px;height:15px}

/* ---------- Atlas ---------- */
.atlas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.atlas-cell{display:flex;gap:13px;align-items:flex-start;text-align:left;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer;transition:.15s;font:inherit}
.atlas-cell:hover{border-color:var(--teal-500);transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.06)}
.atlas-cell.sel{border-color:var(--teal-500);box-shadow:0 0 0 2px var(--teal-500) inset}
.atlas-cell .atc-code{width:42px;height:42px;font-size:19px;border-radius:11px}
.atlas-cell-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.atlas-cell-name{font-weight:700;font-size:14px;line-height:1.25}
.atlas-cell-bar{height:6px;border-radius:999px;background:var(--surface-3,#eef2f7);overflow:hidden}
.atlas-cell-bar>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal-500),var(--blue-500))}
.atlas-cell-meta{font-size:11.5px;color:var(--text-faint)}
.atlas-hint{margin-top:18px;color:var(--text-faint);font-size:13.5px;text-align:center;padding:20px}
#atlasDetail{margin-top:16px}
.atlas-panel-head{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.atlas-panel-head h3{margin:0;font-size:18px}
.atlas-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:16px}
.atlas-col h4{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint)}
.atlas-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 10px;border-radius:9px;font-size:13.5px;text-decoration:none;color:var(--text)}
.atlas-row:hover{background:var(--surface-3,#f3f5f9)}
.atlas-row-n{font-weight:700;color:var(--teal-600);font-size:12.5px}
.atlas-note{display:flex;gap:10px;align-items:flex-start;padding:13px 15px;margin-bottom:16px;border-radius:12px;background:var(--surface-3,#f3f5f9);color:var(--text-faint);font-size:12.5px;line-height:1.5}
.country-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.country-card{padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.country-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.country-flag{font-size:26px;line-height:1}
.country-name{font-weight:800;font-size:16px}
.country-note{font-size:13px;color:var(--text-faint);line-height:1.5;margin-bottom:12px}
.country-areas{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.atc-chip{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:700;color:#fff;text-decoration:none;cursor:pointer;opacity:.92}
.atc-chip:hover{opacity:1}
.country-firms{display:flex;flex-wrap:wrap;gap:6px}
.firm-chip{display:inline-block;padding:3px 9px;border-radius:8px;font-size:11.5px;background:var(--surface-3,#eef2f7);color:var(--text-faint);font-weight:600}
@media(max-width:560px){.atlas-cols{grid-template-columns:1fr;gap:14px}}
.graph-wrap{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--border);background:#070a16}
.graph-canvas{display:block;width:100%;height:72vh;min-height:460px;touch-action:none;cursor:grab}
.graph-legend{position:absolute;top:12px;left:14px;display:flex;flex-direction:column;gap:6px;font-size:12px;color:#cbd5e1;background:rgba(7,10,22,.55);padding:9px 12px;border-radius:10px;backdrop-filter:blur(4px)}
.graph-legend span{display:flex;align-items:center;gap:7px}
.lg-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.graph-controls{position:absolute;top:12px;right:14px;display:flex;flex-direction:column;gap:7px;align-items:flex-start;font-size:12.5px;color:#cbd5e1;background:rgba(7,10,22,.55);padding:10px 12px;border-radius:10px;backdrop-filter:blur(4px)}
.graph-controls label{display:flex;align-items:center;gap:7px;cursor:pointer}
.graph-controls .btn{margin-top:2px;color:#cbd5e1;border-color:rgba(203,213,225,.3)}
.graph-hint{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:11.5px;color:#94a3b8;background:rgba(7,10,22,.55);padding:6px 12px;border-radius:999px;backdrop-filter:blur(4px);white-space:nowrap;max-width:94%;overflow:hidden;text-overflow:ellipsis}
@media(max-width:560px){.graph-controls{font-size:11.5px;padding:8px 9px}.graph-legend{font-size:11px}}

/* ---------- Legal / disclaimer ---------- */
.legal-callout{display:flex;gap:10px;align-items:flex-start;margin-bottom:22px;border-left:4px solid var(--amber-500,#d97706);background:var(--surface-3,#fff7ed);font-size:13.5px;line-height:1.55;font-weight:500}
.legal-callout svg{flex-shrink:0;margin-top:1px;color:var(--amber-500,#d97706)}
.legal-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:32px;align-items:start}
.legal-main{min-width:0}
.legal-doc{max-width:820px}
.legal-doc>p{font-size:14.5px;line-height:1.7;color:var(--text-soft,var(--text));margin:0 0 12px}
.legal-sec{margin-top:26px;padding-top:6px;border-top:1px solid var(--border)}
.legal-sec h2{font-size:17px;font-weight:750;margin:0 0 10px;scroll-margin-top:80px}
.legal-sec p{font-size:14px;line-height:1.7;color:var(--text-soft,var(--text));margin:0 0 11px}
.legal-contact{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.legal-aside{position:sticky;top:80px}
.legal-aside-card{border:1px solid var(--border);border-radius:14px;padding:16px;background:var(--surface)}
.legal-aside-card h4{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint)}
.legal-navlink{display:block;padding:7px 0;font-size:13.5px;color:var(--text-soft,var(--text));text-decoration:none;border-bottom:1px solid var(--border)}
.legal-navlink:last-child{border-bottom:none}
.legal-navlink:hover{color:var(--teal-600)}
@media(max-width:880px){.legal-layout{grid-template-columns:1fr}.legal-aside{position:static;margin-top:24px}}

/* ---------- Cookie consent banner ---------- */
.cookie-banner[hidden]{display:none}
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  max-width:980px;margin:0 auto;padding:14px 18px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow,0 8px 30px rgba(0,0,0,.18))}
.cookie-text{font-size:13px;line-height:1.55;color:var(--text-soft,var(--text));max-width:680px}
.cookie-text strong{display:block;font-size:14px;margin-bottom:3px;color:var(--text)}
.cookie-text a{color:var(--teal-600);font-weight:600;margin-left:4px}
.cookie-actions{display:flex;gap:8px;flex-shrink:0}
@media(max-width:560px){.cookie-banner{left:8px;right:8px;bottom:8px;padding:13px 14px}.cookie-actions{width:100%}.cookie-actions .btn{flex:1}}

/* ---------- Inline feature disclaimers ---------- */
.ic-note,.feat-note{display:flex;gap:7px;align-items:flex-start;font-size:11.5px;line-height:1.5;color:var(--text-faint);background:var(--surface-3,#f3f5f9);border-radius:8px;padding:7px 10px}
.ic-note{margin:8px 0 2px}
.ic-note svg,.feat-note svg{flex-shrink:0;width:14px;height:14px;margin-top:1px;opacity:.8}
.feat-note{margin-top:12px}
.scan-note{font-size:11.5px;line-height:1.5;color:var(--text-faint);padding:0 16px 6px;text-align:center}

/* ---------- Server-rendered (SSR) content fallback ---------- */
.ssr-article{padding:24px 0 40px;max-width:860px}
.ssr-crumb{font-size:13px;color:var(--text-faint);margin-bottom:14px}
.ssr-crumb a{color:var(--teal-600)}
.ssr-article h1{font-size:26px;line-height:1.25;margin:0 0 12px}
.ssr-icd{color:var(--text-faint);font-weight:500;font-size:18px}
.ssr-lead{font-size:15.5px;line-height:1.65;color:var(--text-soft,var(--text));margin:0 0 16px}
.ssr-meta,.ssr-druglist,.ssr-pharm,.ssr-province-grid{list-style:none;padding:0;margin:0 0 16px}
.ssr-meta li{font-size:14px;padding:5px 0;border-bottom:1px solid var(--border)}
.ssr-meta-line{font-size:14px;color:var(--text-soft);margin:0 0 14px}
.ssr-sec{margin:22px 0;padding-top:6px;border-top:1px solid var(--border)}
.ssr-sec h2{font-size:18px;margin:0 0 10px}
.ssr-sec p{font-size:14.5px;line-height:1.7;color:var(--text-soft,var(--text));margin:0 0 10px}
.ssr-druglist{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 16px}
.ssr-druglist li,.ssr-pharm li{font-size:14px;padding:4px 0}
.ssr-province-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 16px}
.ssr-province-grid a,.ssr-druglist a{color:var(--teal-600)}
.ssr-pharm li{padding:7px 0;border-bottom:1px solid var(--border);line-height:1.5}
.ssr-faq{margin-top:24px}
.ssr-faq h2{font-size:19px;margin:0 0 12px}
.ssr-faq-item{margin-bottom:14px}
.ssr-faq-item h3{font-size:15px;margin:0 0 4px}
.ssr-faq-item p{font-size:14px;line-height:1.65;color:var(--text-soft,var(--text));margin:0}
.ssr-otherprov{font-size:13.5px;line-height:1.9}
.ssr-disc{margin-top:22px;font-size:12.5px;color:var(--text-faint);background:var(--surface-3,#f3f5f9);border-radius:10px;padding:11px 14px;line-height:1.55}

/* ---------- FAQ accordion (drug detail) ---------- */
.faq-panel .faq-q{border-bottom:1px solid var(--border);padding:2px 0}
.faq-panel .faq-q:last-child{border-bottom:none}
.faq-q summary{cursor:pointer;font-weight:650;font-size:14.5px;padding:12px 26px 12px 2px;position:relative;list-style:none}
.faq-q summary::-webkit-details-marker{display:none}
.faq-q summary::after{content:'+';position:absolute;right:6px;top:10px;font-size:18px;color:var(--text-faint);transition:.2s}
.faq-q[open] summary::after{content:'−'}
.faq-a{padding:0 2px 14px;font-size:14px;line-height:1.7;color:var(--text-soft,var(--text))}
.faq-a p{margin:0 0 8px}

/* ---------- side-effect search ---------- */
.se-search{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:18px}
.se-search svg{color:var(--amber-600,#d97706);flex-shrink:0}
.se-search input{flex:1;border:none;background:none;outline:none;font-size:14.5px;color:var(--text);font-family:inherit}

/* ---------- my-meds profiles ---------- */
.profile-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.prof-chip{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;padding:7px 14px;border-radius:999px;
  border:1px solid var(--border);background:var(--surface);color:var(--text-soft);cursor:pointer;transition:.15s}
.prof-chip:hover{border-color:var(--teal-300)}
.prof-chip.on{background:var(--teal-500);border-color:var(--teal-500);color:#fff}
.prof-chip.prof-add{border-style:dashed;color:var(--text-faint)}
.prof-x{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--surface);
  cursor:pointer;color:var(--text-faint);display:inline-flex;align-items:center;justify-content:center}
.prof-x:hover{border-color:var(--red-500);color:var(--red-500)}

/* ---------- print ---------- */
@media print {
  .site-header, .site-footer, .dh-actions, .toolbar, .pagination, .scan-modal,
  .mr-actions, .read-more, .no-print, #scanBtn, .filter-pills, .source-card .src-badges,
  .trust-strip, .hero-quicklinks { display: none !important; }
  body, .app, .container, .detail-narrow { background: #fff !important; color: #000 !important; max-width: 100% !important; }
  .detail-hero, .detail-hero-ed, .section { padding: 0 !important; background: #fff !important; border: none !important; }
  .dhe-grid { display: block !important; }
  .source-card { position: static !important; box-shadow: none !important; border: 1px solid #ccc !important; margin-top: 12px; }
  .panel, .info-card, .info-grid, .ig-cell { break-inside: avoid; border-color: #ccc !important; box-shadow: none !important; }
  .info-cards { display: block !important; }
  .info-card { margin-bottom: 10px; }
  .leaflet { max-height: none !important; overflow: visible !important; }
  .med-row { break-inside: avoid; }
  a { color: #000 !important; text-decoration: none !important; }
  h1 { font-size: 22px !important; }
}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .detail-layout{grid-template-columns:1fr}
  .detail-side{position:static}
  .footer-grid{grid-template-columns:1fr 1fr;gap:24px}
}
@media (max-width:720px){
  .main-nav{position:fixed;top:66px;left:0;right:0;flex-direction:column;background:var(--surface);
    border-bottom:1px solid var(--border);padding:12px 22px;gap:4px;transform:translateY(-130%);transition:.25s;box-shadow:var(--shadow);z-index:45}
  .main-nav.open{transform:translateY(0)}
  .menu-btn{display:inline-flex}
  .footer-grid{grid-template-columns:1fr}
  .hero-stats{gap:20px}
  body{font-size:15px}
}
