/* ============================================================
   LensaMarket — public front-end theme (UI v1, green/"Lensa" theme)
   See docs/UI_SPEC.md for the full design spec this file implements.
   ============================================================ */

:root {
  --c-nav: #06261C;
  --c-ticker: #0A3226;
  --c-ticker-line: #124A38;
  --c-brand: #0E7A4F;
  --c-brand-hover: #095C3B;
  --c-mint: #6EE7B0;
  --c-bg: #F4F6F2;
  --c-card: #FFFFFF;
  --c-soft: #E6F1EA;
  --c-placeholder: #DCE7E0;
  --c-line: #E2E8E3;
  --c-line-soft: #EEF1ED;
  --c-text: #0F1A15;
  --c-text-2: #3C4A42;
  --c-muted: #55655C;
  --c-up: #0B8A4B;
  --c-down: #C8302C;
  --c-flat: #55655C;
  --c-up-dark: #5EE3A1;
  --c-down-dark: #FF8A80;
  --c-impact-mid: #E0A100;

  --font-ui: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --font-serif: 'Source Serif 4', Georgia, serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;

  --radius-card: 14px;
  --radius-img: 10px;
  --radius-btn: 8px;
  --radius-pill: 999px;

  --container: 1200px;

  /* Back-compat alias for kategori.php's inline active-pill style (kept
     from the previous theme rather than editing that file's PHP). */
  --grad-brand: var(--c-brand);
}

* , *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body.lm-theme {
  margin: 0;
  font-family: var(--font-ui);
  background: var(--c-bg);
  color: var(--c-text);
  -webkit-font-smoothing: antialiased;
}

.lm-theme img { max-width: 100%; display: block; }
.lm-theme a { color: var(--c-brand); text-decoration: none; }
.lm-theme a:hover { color: var(--c-brand-hover); text-decoration: underline; }
.lm-theme ::selection { background: rgba(14, 122, 79, 0.25); }

.num { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.serif { font-family: var(--font-serif); }
.is-up { color: var(--c-up); }
.is-down { color: var(--c-down); }
.is-flat { color: var(--c-flat); }
.u-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.u-hide-desktop { display: none; }
.u-hide-mobile {}

/* ============================================================
   HEADER — navbar + ticker bar + mega menu (UI_SPEC §2)
   ============================================================ */
.lm-header { position: sticky; top: 0; z-index: 100; }

.lm-navbar { height: 64px; background: var(--c-nav); }
.lm-navbar__inner {
  max-width: var(--container); margin: 0 auto; height: 100%;
  display: flex; align-items: center; gap: 32px; padding: 0 24px;
}
.lm-logo { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.lm-logo__img { height: 30px; width: auto; }
.lm-logo__mark { width: 42px; height: 42px; flex-shrink: 0; display: block; }
.lm-logo__text { font-size: 24px; font-weight: 800; letter-spacing: -0.02em; color: #fff; text-decoration: none; }
.lm-logo__text span { color: var(--c-mint); }
.lm-logo:hover .lm-logo__text { text-decoration: none; }
@media (max-width: 767px) { .lm-logo__mark { width: 34px; height: 34px; } .lm-logo__text { font-size: 20px; } }

.lm-menu { display: flex; align-items: stretch; height: 64px; gap: 2px; }
.lm-menu__item {
  height: 64px; padding: 0 14px; background: transparent; border: 0;
  border-bottom: 3px solid transparent; color: #fff; font: inherit;
  font-size: 15px; font-weight: 700; display: flex; align-items: center; gap: 6px; cursor: pointer;
}
.lm-menu__item svg { transition: transform .15s; }
.lm-menu__item.is-active,
.lm-menu__item[aria-expanded="true"] { color: var(--c-mint); border-bottom-color: var(--c-mint); }
.lm-menu__item[aria-expanded="true"] svg { transform: rotate(180deg); }

.lm-navbar__spacer { flex-grow: 1; }

.lm-search {
  display: flex; align-items: center; gap: 8px; width: 260px; height: 40px;
  padding: 0 14px; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.16);
  border-radius: var(--radius-btn); flex-shrink: 0;
}
.lm-search svg { width: 16px; height: 16px; stroke: #A7C4B5; flex-shrink: 0; }
.lm-search input {
  flex-grow: 1; min-width: 0; background: transparent; border: 0; outline: none;
  color: #fff; font-family: inherit; font-size: 14px;
}
.lm-search input::placeholder { color: #7FA392; }

.lm-theme-toggle {
  width: 40px; height: 40px; border-radius: var(--radius-btn); background: transparent;
  border: 1px solid rgba(255,255,255,0.16); display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; cursor: not-allowed; opacity: .6;
}

.lm-drawer-toggle {
  display: none; width: 40px; height: 40px; border: 0; background: transparent;
  flex-direction: column; align-items: center; justify-content: center; gap: 4px; cursor: pointer;
}
.lm-drawer-toggle span { display: block; width: 20px; height: 2px; background: #fff; border-radius: 2px; }

.lm-ticker {
  height: 44px; background: var(--c-ticker); border-bottom: 1px solid var(--c-ticker-line);
  display: flex; align-items: center; overflow: hidden;
}
.lm-ticker__scroll { display: flex; align-items: stretch; overflow-x: auto; scrollbar-width: none; max-width: var(--container); margin: 0 auto; flex: 1; }
.lm-ticker__scroll::-webkit-scrollbar { display: none; }
.lm-ticker__item {
  display: flex; align-items: baseline; gap: 8px; padding: 0 16px; border-right: 1px solid var(--c-ticker-line);
  white-space: nowrap; text-decoration: none; flex-shrink: 0;
}
.lm-ticker__item:hover { text-decoration: none; background: rgba(255,255,255,0.04); }
.lm-ticker__name { font-size: 12px; font-weight: 700; color: #A7C4B5; }
.lm-ticker__price { font-size: 13px; color: #fff; }
.lm-ticker__pct { font-size: 12px; }
.lm-ticker__pct.is-up { color: var(--c-up-dark); }
.lm-ticker__pct.is-down { color: var(--c-down-dark); }
.lm-ticker__pct.is-flat { color: #A7C4B5; }
.lm-ticker__source { font-size: 11px; color: #7FA392; white-space: nowrap; padding: 0 24px 0 16px; flex-shrink: 0; }

.lm-scrim {
  display: none; position: fixed; inset: 0; z-index: 90; background: rgba(6,38,28,0.35);
  border: 0; padding: 0; cursor: pointer;
}
.lm-scrim.is-visible { display: block; }

.lm-megamenu {
  position: absolute; left: 0; right: 0; top: 100%; z-index: 95;
  background: #fff; border-bottom: 1px solid var(--c-line); box-shadow: 0 24px 48px rgba(6,38,28,0.18);
  padding: 32px 24px 36px;
}
.lm-megamenu[hidden] { display: none; }
.lm-megamenu__grid { max-width: var(--container); margin: 0 auto; display: grid; gap: 40px; }
.lm-megamenu__grid--market { grid-template-columns: 260px 1fr 340px; }
.lm-megamenu__grid--berita { grid-template-columns: 200px 180px 1fr; }
.lm-megamenu__grid--analisis { grid-template-columns: 240px 240px 1fr; }
.lm-megamenu__grid--makro { grid-template-columns: 220px 240px 1fr; }
.lm-megamenu__grid--kalender { grid-template-columns: 220px 1fr; }

.lm-megamenu__kicker { display: block; font-size: 11px; font-weight: 800; letter-spacing: 0.08em; color: var(--c-muted); margin-bottom: 8px; }
.lm-megamenu__col { display: flex; flex-direction: column; gap: 2px; }
.lm-megamenu__link {
  display: block; padding: 8px 12px; border-radius: 8px; color: var(--c-text);
  text-decoration: none; font-weight: 700;
}
.lm-megamenu__link:hover { background: var(--c-soft); text-decoration: none; }
.lm-megamenu__link--active { background: #EEF5F0; }
.lm-megamenu__link--plain { padding: 8px 12px; }
.lm-megamenu__link--breaking { color: var(--c-down) !important; }
.lm-megamenu__link small { display: block; font-size: 13px; font-weight: 500; color: var(--c-muted); }
.lm-megamenu__grid2 { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 4px 24px; }

.lm-megamenu__panel { background: var(--c-bg); border-radius: 12px; padding: 16px 18px; }
.lm-megamenu__snap-row { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px solid var(--c-line); font-size: 13px; font-weight: 700; }
.lm-megamenu__snap-row:last-child { border-bottom: 0; }
.lm-megamenu__snap-vals { display: flex; gap: 14px; font-weight: 500; }
.lm-megamenu__snap-vals .is-up { color: var(--c-up); }
.lm-megamenu__snap-vals .is-down { color: var(--c-down); }

.lm-megamenu__news-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.lm-megamenu__news-card { display: flex; flex-direction: column; gap: 10px; color: var(--c-text); text-decoration: none; }
.lm-megamenu__news-card:hover { text-decoration: none; }
.lm-megamenu__news-thumb {
  height: 110px; border-radius: var(--radius-img); background: var(--c-placeholder);
  display: flex; align-items: center; justify-content: center; font-size: 12px; color: var(--c-muted);
}
.lm-megamenu__news-tag { font-size: 11px; font-weight: 800; letter-spacing: 0.06em; color: var(--c-brand); }
.lm-megamenu__news-title { font-family: var(--font-serif); font-size: 16px; font-weight: 700; line-height: 1.3; }
.lm-megamenu__empty { color: var(--c-muted); font-size: 14px; }

.lm-megamenu__pick { display: grid; grid-template-columns: 220px 1fr; gap: 20px; background: var(--c-bg); border-radius: 12px; padding: 16px; color: var(--c-text); text-decoration: none; }
.lm-megamenu__pick:hover { text-decoration: none; }
.lm-megamenu__pick-thumb { height: 130px; border-radius: var(--radius-img); background: var(--c-placeholder); display: flex; align-items: center; justify-content: center; font-size: 12px; color: var(--c-muted); }
.lm-megamenu__pick-body { display: flex; flex-direction: column; gap: 8px; }
.lm-megamenu__pick-title { font-family: var(--font-serif); font-size: 19px; font-weight: 700; line-height: 1.3; }
.lm-megamenu__pick-meta { font-size: 13px; color: var(--c-muted); }

.lm-megamenu__rate-head, .lm-megamenu__rate-row { display: grid; grid-template-columns: 1.4fr 1fr 1.4fr; font-size: 13px; padding: 8px 0; border-bottom: 1px solid var(--c-line); }
.lm-megamenu__rate-head { font-size: 12px; color: var(--c-muted); font-weight: 700; }
.lm-megamenu__rate-row span:first-child { font-weight: 700; }
.lm-megamenu__rate-row span:last-child { color: var(--c-muted); text-align: right; }
.lm-megamenu__rate-row span:nth-child(2) { text-align: right; }

.lm-megamenu__events { display: flex; flex-direction: column; gap: 10px; }
.lm-megamenu__events-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.lm-megamenu__event-card { display: flex; flex-direction: column; gap: 8px; padding: 16px; border: 1px solid var(--c-line); border-radius: 12px; color: var(--c-text); text-decoration: none; }
.lm-megamenu__event-card:hover { text-decoration: none; border-color: var(--c-brand); }
.lm-megamenu__event-top { display: flex; justify-content: space-between; font-size: 12px; color: var(--c-muted); }
.lm-megamenu__event-impact { color: var(--c-down); font-weight: 700; }
.lm-megamenu__event-name { font-size: 15px; font-weight: 700; }
.lm-megamenu__event-when { font-size: 13px; color: var(--c-muted); }
.lm-megamenu__event-countdown { font-size: 18px; font-weight: 600; color: var(--c-brand); }

/* Mobile drawer */
.lm-drawer { display: none; }
.lm-drawer[hidden] { display: none; }

/* ============================================================
   BUTTONS / CONTAINERS / SECTIONS (shared: also used by
   kategori.php / artikel.php / pencarian.php — see report deviation note)
   ============================================================ */
.crypto-container, .lm-container { max-width: var(--container); margin: 0 auto; padding: 0 24px; }
.crypto-section, .crypto-section--tight { padding: 32px 0; }

.crypto-btn, .lm-btn {
  display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 20px;
  border-radius: var(--radius-btn); font-weight: 700; font-size: 14px; font-family: inherit;
  border: 1px solid transparent; cursor: pointer; text-decoration: none;
}
.crypto-btn--primary, .lm-btn--primary { background: var(--c-brand); color: #fff; }
.crypto-btn--primary:hover, .lm-btn--primary:hover { background: var(--c-brand-hover); color: #fff; text-decoration: none; }
.crypto-btn--ghost, .lm-btn--ghost { background: #fff; color: var(--c-text); border-color: var(--c-line); }
.crypto-btn--ghost:hover, .lm-btn--ghost:hover { border-color: var(--c-brand); color: var(--c-brand); text-decoration: none; }

.section-kicker { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: 0.08em; color: var(--c-brand); text-transform: uppercase; margin-bottom: 8px; }
.section-title { font-size: 24px; font-weight: 800; letter-spacing: -0.01em; margin: 0 0 8px; }
.section-subtitle { color: var(--c-muted); margin: 0; }
.section-header { margin-bottom: 20px; }

.breadcrumb { font-size: 13px; color: var(--c-muted); margin-bottom: 12px; }
.breadcrumb a { color: var(--c-muted); }
.breadcrumb a:hover { color: var(--c-brand); }

.page-hero { background: var(--c-nav); color: #fff; padding: 40px 0; margin-bottom: 24px; }
.page-hero .breadcrumb, .page-hero .breadcrumb a { color: #A7C4B5; }
.page-hero .section-kicker { color: var(--c-mint); }
.page-hero h1 { font-family: var(--font-serif); font-size: 32px; margin: 0 0 8px; }
.page-hero p { color: #D5E6DC; margin: 0; }

.empty-state { text-align: center; padding: 48px 24px; color: var(--c-muted); }
.empty-state svg { width: 40px; height: 40px; margin: 0 auto 12px; stroke: var(--c-muted); }

.crypto-grid, .lm-grid { display: grid; gap: 20px; }
.crypto-grid--2, .lm-grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.crypto-grid--3, .lm-grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.crypto-grid--4, .lm-grid--4 { grid-template-columns: repeat(4, minmax(0,1fr)); }

.glass-card { background: var(--c-card); border: 1px solid var(--c-line); border-radius: var(--radius-card); }

.news-card { display: flex; flex-direction: column; overflow: hidden; text-decoration: none; color: var(--c-text); }
.news-card:hover { text-decoration: none; border-color: var(--c-brand); }
.news-card__media { height: 160px; background: var(--c-placeholder); display: flex; align-items: center; justify-content: center; color: var(--c-muted); }
.news-card__media svg { width: 28px; height: 28px; stroke: var(--c-muted); }
.news-card__media img { width: 100%; height: 100%; object-fit: cover; }
.news-card__body { padding: 16px; display: flex; flex-direction: column; gap: 8px; }
.news-card__body h3 { margin: 0; font-family: var(--font-serif); font-size: 18px; line-height: 1.3; }
.news-card__body h3 a { color: var(--c-text); text-decoration: none; }
.news-card__body p { margin: 0; font-size: 14px; color: var(--c-text-2); }
.news-card__meta { display: flex; gap: 14px; font-size: 12px; color: var(--c-muted); }
.news-card__meta span { display: inline-flex; align-items: center; gap: 4px; }
.news-card__meta svg { width: 14px; height: 14px; }
.article-card__tag { font-size: 11px; font-weight: 800; letter-spacing: 0.06em; color: var(--c-brand); text-transform: uppercase; }

.news-card--row { flex-direction: row; }
.news-card--row .news-card__media { width: 160px; flex-shrink: 0; height: auto; }

.wpm-load-more-wrap { text-align: center; margin-top: 32px; }

/* ============================================================
   HOMEPAGE — top story, market table, calendar, sidebar (UI_SPEC §3)
   ============================================================ */
.lm-main { max-width: var(--container); margin: 0 auto; padding: 32px 24px 64px; display: grid; grid-template-columns: minmax(0,1fr) 352px; gap: 32px; align-items: start; }
.lm-main__col { display: flex; flex-direction: column; gap: 48px; min-width: 0; }
.lm-sidebar { display: flex; flex-direction: column; gap: 24px; }

.lm-topstory { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 28px; }
.lm-topstory__main { display: flex; flex-direction: column; gap: 14px; color: var(--c-text); text-decoration: none; }
.lm-topstory__main:hover { text-decoration: none; }
.lm-topstory__media { height: 280px; border-radius: var(--radius-card); background: var(--c-placeholder); display: flex; align-items: center; justify-content: center; color: var(--c-muted); font-size: 13px; overflow: hidden; }
.lm-topstory__media img { width: 100%; height: 100%; object-fit: cover; }
.lm-topstory__tag { font-size: 12px; font-weight: 800; letter-spacing: 0.06em; color: var(--c-brand); }
.lm-topstory__title { font-family: var(--font-serif); font-size: 32px; line-height: 1.2; font-weight: 700; margin: 0; }
.lm-topstory__excerpt { font-size: 16px; line-height: 1.55; color: var(--c-text-2); margin: 0; }
.lm-topstory__meta { font-size: 13px; color: var(--c-muted); }
.lm-topstory__side { display: flex; flex-direction: column; }
.lm-topstory__side-item { display: flex; flex-direction: column; gap: 6px; padding: 14px 0; border-bottom: 1px solid var(--c-line); color: var(--c-text); text-decoration: none; }
.lm-topstory__side-item:hover { text-decoration: none; }
.lm-topstory__side-item .lm-topstory__tag { font-size: 11px; }
.lm-topstory__side-item span.serif { font-size: 18px; font-weight: 700; line-height: 1.3; }
.lm-topstory__side-item small { font-size: 12px; color: var(--c-muted); }

.lm-card { background: var(--c-card); border: 1px solid var(--c-line); border-radius: var(--radius-card); padding: 24px 24px 12px; }
.lm-card__head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 16px; gap: 12px; flex-wrap: wrap; }
.lm-card__head h2 { margin: 0; font-size: 24px; font-weight: 800; letter-spacing: -0.01em; }
.lm-card__link { font-size: 14px; font-weight: 700; }

.lm-tabs { display: flex; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; }
.lm-tabs__btn {
  height: 36px; padding: 0 16px; border-radius: var(--radius-pill); font-size: 14px; font-weight: 700;
  border: 1px solid var(--c-line); background: #fff; color: var(--c-text); cursor: pointer; font-family: inherit;
}
.lm-tabs__btn.is-active { background: var(--c-brand); color: #fff; border-color: var(--c-brand); }

.lm-mtable { width: 100%; border-collapse: collapse; }
.lm-mtable thead th { text-align: right; font-size: 12px; font-weight: 700; color: var(--c-muted); padding: 10px 8px; border-bottom: 1px solid var(--c-line); }
.lm-mtable thead th:first-child { text-align: left; }
.lm-mtable tbody td { padding: 12px 8px; border-bottom: 1px solid var(--c-line-soft); font-size: 14px; text-align: right; }
.lm-mtable tbody td:first-child { text-align: left; }
.lm-mtable tbody tr:hover { background: #F7FAF8; }
.lm-mtable__name { display: flex; align-items: center; gap: 10px; font-weight: 700; }
.lm-mtable__cc { font-size: 10px; font-weight: 800; color: var(--c-muted); background: var(--c-line-soft); border-radius: 4px; padding: 3px 5px; }
.lm-mtable__time { font-size: 12px; color: var(--c-muted); }
.lm-mtable-foot { display: flex; justify-content: space-between; padding: 12px 8px 4px; font-size: 12px; color: var(--c-muted); flex-wrap: wrap; gap: 8px; }

.lm-newslist { display: flex; flex-direction: column; }
.lm-newslist__item { display: grid; grid-template-columns: 168px minmax(0,1fr); gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--c-line); color: var(--c-text); text-decoration: none; }
.lm-newslist__item:hover { text-decoration: none; }
.lm-newslist__media { height: 104px; border-radius: var(--radius-img); background: var(--c-placeholder); display: flex; align-items: center; justify-content: center; font-size: 11px; color: var(--c-muted); overflow: hidden; }
.lm-newslist__media img { width: 100%; height: 100%; object-fit: cover; }
.lm-newslist__body { display: flex; flex-direction: column; gap: 6px; }
.lm-newslist__body h3 { margin: 0; font-family: var(--font-serif); font-size: 20px; font-weight: 700; line-height: 1.3; }
.lm-newslist__body p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--c-text-2); }

.lm-caltable { width: 100%; border-collapse: collapse; }
.lm-caltable thead th { text-align: right; font-size: 12px; font-weight: 700; color: var(--c-muted); padding: 10px 8px; border-bottom: 1px solid var(--c-line); }
.lm-caltable thead th:nth-child(1), .lm-caltable thead th:nth-child(2), .lm-caltable thead th:nth-child(3), .lm-caltable thead th:nth-child(4) { text-align: left; }
.lm-caltable tbody td { padding: 12px 8px; border-bottom: 1px solid var(--c-line-soft); font-size: 14px; text-align: right; }
.lm-caltable tbody td:nth-child(1), .lm-caltable tbody td:nth-child(2), .lm-caltable tbody td:nth-child(3), .lm-caltable tbody td:nth-child(4) { text-align: left; }
.lm-caltable__impact { display: flex; gap: 3px; }
.lm-caltable__impact span { width: 8px; height: 8px; border-radius: 2px; background: var(--c-line); }
.lm-caltable__name { font-weight: 600; }

.lm-analysis-card { display: flex; flex-direction: column; gap: 10px; padding: 14px; text-decoration: none; color: var(--c-text); }
.lm-analysis-card:hover { text-decoration: none; border-color: var(--c-brand); }
.lm-analysis-card__media { height: 140px; border-radius: var(--radius-img); background: var(--c-placeholder); display: flex; align-items: center; justify-content: center; font-size: 11px; color: var(--c-muted); }
.lm-analysis-card__title { font-family: var(--font-serif); font-size: 18px; font-weight: 700; line-height: 1.3; }
.lm-analysis-card__meta { font-size: 12px; color: var(--c-muted); }

.lm-explainer-card { display: flex; flex-direction: column; justify-content: space-between; gap: 18px; min-height: 150px; background: var(--c-soft); border-radius: var(--radius-card); padding: 18px; color: var(--c-text); text-decoration: none; }
.lm-explainer-card:hover { text-decoration: none; }
.lm-explainer-card__title { font-size: 16px; font-weight: 700; line-height: 1.35; }
.lm-explainer-card__meta { font-size: 12px; font-weight: 700; color: var(--c-brand-hover); }

/* Sidebar widgets */
.lm-pagi { background: var(--c-nav); border-radius: var(--radius-card); padding: 22px; color: #fff; display: flex; flex-direction: column; gap: 12px; }
.lm-pagi__head { display: flex; align-items: center; justify-content: space-between; }
.lm-pagi__kicker { font-size: 12px; font-weight: 800; letter-spacing: 0.08em; color: var(--c-mint); }
.lm-pagi__date { font-size: 12px; color: #A7C4B5; }
.lm-pagi__title { font-family: var(--font-serif); font-size: 22px; line-height: 1.25; font-weight: 700; margin: 0; }
.lm-pagi__points { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; line-height: 1.45; color: #D5E6DC; }
.lm-pagi__cta { margin-top: 4px; height: 44px; border-radius: var(--radius-btn); background: var(--c-mint); color: #06261C; font-weight: 800; font-size: 14px; display: flex; align-items: center; justify-content: center; text-decoration: none; }
.lm-pagi__cta:hover { text-decoration: none; opacity: .9; }

.lm-asset-summary { padding: 18px; }
.lm-asset-summary__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.lm-asset-summary__name { font-size: 16px; font-weight: 800; }
.lm-range-toggle { display: flex; gap: 2px; }
.lm-range-toggle__btn { height: 28px; padding: 0 8px; border: 0; border-radius: 6px; font-size: 12px; font-weight: 700; background: transparent; color: var(--c-muted); cursor: pointer; font-family: inherit; }
.lm-range-toggle__btn.is-active { background: var(--c-soft); color: var(--c-brand-hover); }
.lm-asset-summary__price { display: flex; align-items: baseline; gap: 10px; }
.lm-asset-summary__price .num:first-child { font-size: 22px; font-weight: 600; }
.lm-asset-summary__price .num:last-child { font-size: 13px; }
.lm-asset-summary__chart { margin: 8px 0 4px; width: 100%; height: auto; }
.lm-asset-summary__list { display: flex; flex-direction: column; }
.lm-asset-summary__row { display: flex; justify-content: space-between; padding: 9px 0; border-top: 1px solid var(--c-line-soft); font-size: 14px; color: var(--c-text); text-decoration: none; }
.lm-asset-summary__row:hover { text-decoration: none; }
.lm-asset-summary__row-vals { display: flex; gap: 14px; }
.lm-asset-summary__row-vals span:last-child { width: 64px; text-align: right; }

.lm-movers { padding: 18px; }
.lm-movers__head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; }
.lm-movers__title { font-size: 16px; font-weight: 800; }
.lm-movers__tabs { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 4px; background: var(--c-bg); border-radius: 8px; padding: 3px; margin-bottom: 8px; }
.lm-movers__tab { height: 32px; border: 0; border-radius: 6px; font-size: 12px; font-weight: 700; background: transparent; color: var(--c-muted); cursor: pointer; font-family: inherit; }
.lm-movers__tab.is-active { background: #fff; color: var(--c-nav); }
.lm-movers__row { display: grid; grid-template-columns: 1fr auto auto; gap: 14px; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--c-line-soft); color: var(--c-text); text-decoration: none; }
.lm-movers__row:hover { text-decoration: none; }
.lm-movers__code { display: flex; flex-direction: column; }
.lm-movers__code strong { font-size: 14px; }
.lm-movers__code small { font-size: 12px; color: var(--c-muted); }
.lm-movers__pct { font-size: 13px; font-weight: 600; min-width: 64px; text-align: right; }

.lm-events { padding: 18px; }
.lm-events__title { font-size: 16px; font-weight: 800; margin-bottom: 8px; }
.lm-events__item { display: grid; grid-template-columns: 52px 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--c-line-soft); }
.lm-events__badge { display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--c-soft); border-radius: 8px; height: 48px; }
.lm-events__badge span:first-child { font-size: 11px; font-weight: 700; color: var(--c-brand-hover); }
.lm-events__badge span:last-child { font-size: 16px; font-weight: 600; color: var(--c-nav); }
.lm-events__body { display: flex; flex-direction: column; justify-content: center; gap: 2px; }
.lm-events__body strong { font-size: 14px; }
.lm-events__body small { font-size: 12px; color: var(--c-muted); }

.lm-popular { padding: 18px; }
.lm-popular__title { font-size: 16px; font-weight: 800; margin-bottom: 6px; }
.lm-popular__item { display: grid; grid-template-columns: 28px 1fr; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--c-line-soft); color: var(--c-text); text-decoration: none; }
.lm-popular__item:hover { text-decoration: none; }
.lm-popular__no { font-size: 20px; font-weight: 600; color: var(--c-brand); }
.lm-popular__title-text { font-family: var(--font-serif); font-size: 15px; font-weight: 700; line-height: 1.35; }

/* ============================================================
   FOOTER (UI_SPEC §3)
   ============================================================ */
.lm-footer { background: var(--c-nav); color: #D5E6DC; padding: 48px 24px 32px; }
.lm-footer__inner { max-width: var(--container); margin: 0 auto; }
.lm-footer__grid { display: grid; grid-template-columns: 1.6fr repeat(4, minmax(0,1fr)); gap: 32px; padding-bottom: 32px; border-bottom: 1px solid var(--c-ticker-line); }
.lm-footer__brand { display: flex; flex-direction: column; gap: 12px; }
.lm-footer__brand p { font-size: 14px; line-height: 1.5; color: #A7C4B5; margin: 0; }
.lm-footer__col { display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.lm-footer__col a { color: #D5E6DC; }
.lm-footer__col a:hover { color: var(--c-mint); }
.lm-footer__heading { font-weight: 800; color: #fff; }
.lm-footer__disclaimer { margin: 24px 0 8px; font-size: 12px; line-height: 1.6; color: #A7C4B5; max-width: 1000px; }
.lm-footer__disclaimer strong { color: #fff; }
.lm-footer__bottom { font-size: 12px; color: #7FA392; }

/* ============================================================
   STUB PAGES ("Segera hadir")
   ============================================================ */
.lm-stub { max-width: var(--container); margin: 0 auto; padding: 64px 24px; }
.lm-stub__inner { max-width: 560px; margin: 0 auto; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.lm-stub h1 { font-family: var(--font-serif); font-size: 28px; margin: 0; }
.lm-stub p { color: var(--c-muted); margin: 0 0 12px; }
.lm-stub--list .lm-stub__inner { max-width: 720px; margin-bottom: 32px; text-align: left; align-items: flex-start; }

/* ============================================================
   ARTICLE DETAIL (kept from previous theme, reskinned)
   ============================================================ */
.article-layout { display: grid; grid-template-columns: 1fr; gap: 24px; }
.article-layout__sidebar:empty { display: none; }
.article-head { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; }
.article-head__category { align-self: flex-start; font-size: 11px; font-weight: 800; letter-spacing: 0.06em; color: var(--c-brand); text-transform: uppercase; }
.article-head h1 { font-family: var(--font-serif); font-size: 32px; line-height: 1.25; margin: 0; }
.article-head__meta { display: flex; gap: 16px; flex-wrap: wrap; font-size: 13px; color: var(--c-muted); }
.article-head__meta span { display: inline-flex; align-items: center; gap: 6px; }
.article-head__meta svg { width: 14px; height: 14px; }
.article-cover { border-radius: var(--radius-card); overflow: hidden; margin-bottom: 20px; }
.article-prose { font-size: 17px; line-height: 1.75; color: var(--c-text); }
.article-prose img { border-radius: var(--radius-img); margin: 20px 0; }
.article-prose h2, .article-prose h3 { font-family: var(--font-serif); }
.article-disclaimer { margin-top: 24px; padding: 16px 18px; background: var(--c-soft); border-radius: var(--radius-card); font-size: 13px; color: var(--c-text-2); }
.article-disclaimer strong { color: var(--c-text); }
.article-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 24px; }
.article-tags a { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: var(--radius-pill); background: var(--c-soft); color: var(--c-brand-hover); font-size: 13px; text-decoration: none; }
.article-share { display: flex; align-items: center; gap: 12px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--c-line); }
.article-share__label { font-size: 13px; color: var(--c-muted); }
.article-share a, .article-share button { width: 36px; height: 36px; border-radius: 50%; background: var(--c-soft); display: flex; align-items: center; justify-content: center; border: 0; cursor: pointer; }
.article-share svg { width: 16px; height: 16px; }
.article-faq { margin-top: 32px; }
.article-faq__item { border-bottom: 1px solid var(--c-line); padding: 14px 0; }
.article-faq__answer { margin-top: 10px; color: var(--c-text-2); }
.related-articles { margin-top: 40px; }
.related-articles h2 { font-family: var(--font-serif); font-size: 22px; }

/* Contact / form (index.php Kontak section, kept) */
.contact-grid { display: grid; grid-template-columns: 1fr 1.6fr; gap: 24px; }
.contact-info-card, .contact-form-card { padding: 24px; }
.contact-info-row { display: flex; gap: 14px; margin-bottom: 20px; }
.contact-info-row__icon { width: 36px; height: 36px; border-radius: 50%; background: var(--c-soft); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.contact-info-row__icon svg { width: 16px; height: 16px; color: var(--c-brand); }
.contact-info-row__label { font-size: 12px; color: var(--c-muted); }
.contact-info-row__value { font-weight: 700; }
.form-row { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.form-row--2col { flex-direction: row; gap: 16px; }
.form-row--2col .form-row { flex: 1; margin-bottom: 0; }
.form-label { font-size: 13px; font-weight: 700; }
.form-input, .form-textarea { padding: 10px 12px; border: 1px solid var(--c-line); border-radius: var(--radius-btn); font-family: inherit; font-size: 14px; }
.form-textarea { min-height: 100px; resize: vertical; }
.hp-field { position: absolute; left: -9999px; }
.form-alert { padding: 12px 14px; border-radius: var(--radius-btn); font-size: 14px; margin-bottom: 16px; }
.form-alert--success { background: var(--c-soft); color: var(--c-brand-hover); }
.form-alert--error { background: #FBE7E6; color: var(--c-down); }

/* Search page */
.search-form { display: flex; gap: 10px; margin-top: 20px; position: relative; }
.search-form__field { flex: 1; position: relative; }
.search-form input { width: 100%; height: 48px; padding: 0 16px; border-radius: var(--radius-btn); border: 1px solid var(--c-line); font-size: 15px; font-family: inherit; }
.search-form button { width: 48px; height: 48px; border-radius: var(--radius-btn); background: var(--c-brand); border: 0; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.search-form button svg { width: 18px; height: 18px; stroke: #fff; }
.search-suggest { position: absolute; top: 52px; left: 0; right: 0; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius-btn); display: none; z-index: 10; overflow: hidden; }
.search-suggest.is-open { display: block; }
.search-suggest a { display: block; padding: 10px 14px; color: var(--c-text); border-bottom: 1px solid var(--c-line-soft); }
.pagination { display: flex; gap: 6px; margin-top: 32px; justify-content: center; }
.pagination a { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 8px; border: 1px solid var(--c-line); }
.pagination a.is-current { background: var(--c-brand); color: #fff; border-color: var(--c-brand); }
.pagination a.is-disabled { opacity: .4; pointer-events: none; }

/* Ads / banners (kept, reskinned minimally) */
.ad-slot { display: block; text-align: center; margin: 16px 0; }
.ad-slot__label { display: block; font-size: 11px; color: var(--c-muted); margin-bottom: 4px; }
.ad-slot--image img { border-radius: var(--radius-img); margin: 0 auto; }
.banner-card { display: block; border-radius: var(--radius-card); overflow: hidden; position: relative; }
.banner-strip__grid { display: grid; gap: 16px; }
.text-ad { display: block; padding: 14px; border: 1px solid var(--c-line); border-radius: var(--radius-card); }
.text-ad__badge { font-weight: 700; }
.text-ad__headline { display: block; font-weight: 700; margin-top: 4px; }
.wpm-popup-ad { position: fixed; inset: 0; z-index: 200; background: rgba(6,38,28,0.5); display: flex; align-items: center; justify-content: center; }
.wpm-popup-ad[hidden] { display: none; }
.wpm-popup-ad__panel { position: relative; background: #fff; border-radius: var(--radius-card); padding: 24px; max-width: 480px; }
.wpm-popup-ad__close { position: absolute; top: 8px; right: 8px; width: 32px; height: 32px; border-radius: 50%; border: 0; background: var(--c-line-soft); cursor: pointer; }
.wpm-sticky-ad { position: fixed; bottom: 0; left: 0; right: 0; z-index: 150; background: #fff; border-top: 1px solid var(--c-line); padding: 8px; display: none; }
.wpm-sticky-ad[hidden] { display: none; }

/* ============================================================
   RESPONSIVE (UI_SPEC §4)
   ============================================================ */
@media (max-width: 1279px) {
  .crypto-container, .lm-container, .lm-navbar__inner, .lm-ticker__scroll, .lm-megamenu__grid, .lm-main, .lm-footer__inner { padding-left: 24px; padding-right: 24px; }
}

@media (max-width: 1023px) {
  .lm-main { grid-template-columns: 1fr; }
  .lm-sidebar { order: 2; }
  .lm-sidebar { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
  .crypto-grid--3, .lm-grid--3 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .lm-footer__grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 767px) {
  .lm-menu, .lm-search, .lm-theme-toggle { display: none; }
  .lm-drawer-toggle { display: flex; }
  .lm-navbar__inner { gap: 12px; }
  .lm-megamenu { display: none !important; }
  .lm-scrim { display: none !important; }

  .lm-drawer {
    display: block; position: fixed; inset: 108px 0 0 0; z-index: 95; background: #fff;
    overflow-y: auto; padding: 16px;
  }
  .lm-drawer[hidden] { display: none; }
  .lm-drawer__search { display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 14px; background: var(--c-bg); border-radius: var(--radius-btn); margin-bottom: 16px; }
  .lm-drawer__search svg { width: 16px; height: 16px; stroke: var(--c-muted); }
  .lm-drawer__search input { flex: 1; border: 0; background: transparent; outline: none; font-family: inherit; font-size: 14px; }
  .lm-drawer__item { border-bottom: 1px solid var(--c-line); padding: 14px 0; }
  .lm-drawer__item summary { font-weight: 700; font-size: 16px; cursor: pointer; list-style: none; }
  .lm-drawer__item summary::-webkit-details-marker { display: none; }
  .lm-drawer__panel { display: flex; flex-direction: column; gap: 4px; margin-top: 10px; padding-left: 8px; }
  .lm-drawer__panel a { padding: 8px 0; color: var(--c-text); }
  .lm-drawer__ticker { display: flex; overflow-x: auto; gap: 0; margin-top: 16px; background: var(--c-ticker); border-radius: var(--radius-card); }

  .lm-ticker__scroll { -webkit-overflow-scrolling: touch; }

  .lm-topstory { grid-template-columns: 1fr; }
  .lm-mtable thead th:nth-child(3), .lm-mtable thead th:nth-child(4), .lm-mtable thead th:nth-child(5),
  .lm-mtable tbody td:nth-child(3), .lm-mtable tbody td:nth-child(4), .lm-mtable tbody td:nth-child(5) { display: none; }
  .lm-caltable thead th:nth-child(6), .lm-caltable thead th:nth-child(7),
  .lm-caltable tbody td:nth-child(6), .lm-caltable tbody td:nth-child(7) { display: none; }
  .crypto-grid--3, .lm-grid--3, .crypto-grid--4, .lm-grid--4, .crypto-grid--2, .lm-grid--2 { grid-template-columns: 1fr; }
  .lm-sidebar { grid-template-columns: 1fr; }
  .lm-footer__grid { grid-template-columns: 1fr; }
  .lm-newslist__item { grid-template-columns: 96px 1fr; gap: 12px; }
  .lm-newslist__media { height: 72px; }
  .form-row--2col { flex-direction: column; gap: 0; }
  .contact-grid { grid-template-columns: 1fr; }
}

/* devs #04 — mega menu thumbnails + Lensa Pagi text */
.lm-megamenu__news-thumb, .lm-megamenu__pick-thumb { overflow: hidden; }
.lm-megamenu__news-thumb img, .lm-megamenu__pick-thumb img { width: 100%; height: 100%; object-fit: cover; }
.lm-pagi__text { margin: 0; font-size: 14px; line-height: 1.45; color: #D5E6DC; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.lm-pagi__points li { display: list-item; }
