/* =================================================================
   Moody Loan Template — self-contained, 5 color schemes.
   Loaded ONLY when bridge config has templateVariant=loan.

   Default scheme is 'red' (Börskollen-style). Other schemes apply
   via body[data-cs="..."]:
     red          — Börskollen red on warm beige (default)
     navyGreen    — Enklare.se: deep navy + green accent
     wine         — LF Finans: navy + bordeaux accent
     purple       — MedMera Bank: violet + cream
     cyan         — Advisa: black + turquoise/cyan accent
   ================================================================= */
:root{
  --mln-red:#d32f2f;       /* primary accent */
  --mln-red-dark:#a8201a;
  --mln-black:#0a0a0a;     /* header/topbar/footer dark surface */
  --mln-grey-900:#1a1a1a;
  --mln-grey-700:#404040;
  --mln-grey-500:#737373;
  --mln-grey-300:#cfcfcf;
  --mln-bg:#f4ede2;        /* page background */
  --mln-card:#ffffff;
  --mln-line:#e6e0d3;
  --mln-up:#23c47b;
  --mln-down:#ff6b6b;
  --mln-shell:1200px;
  --mln-on-accent:#ffffff; /* foreground when sitting on the accent color */
}

/* ----- Scheme: navyGreen (Enklare.se) ----- */
.mln-body[data-cs="navyGreen"]{
  --mln-red:#1aa264;
  --mln-red-dark:#128749;
  --mln-black:#0a2a4d;
  --mln-bg:#eef4f9;
  --mln-card:#ffffff;
  --mln-line:#d8e1ec;
  --mln-grey-900:#10243d;
  --mln-grey-700:#3a4a60;
  --mln-grey-500:#6c7a8c;
  --mln-grey-300:#bcc7d4;
}

/* ----- Scheme: wine (LF Finans) ----- */
.mln-body[data-cs="wine"]{
  --mln-red:#b3274a;
  --mln-red-dark:#8c1d39;
  --mln-black:#1f3d6e;
  --mln-bg:#ffffff;
  --mln-card:#ffffff;
  --mln-line:#e6ebf2;
  --mln-grey-900:#1a2742;
  --mln-grey-700:#3e4d68;
  --mln-grey-500:#6f7c93;
  --mln-grey-300:#c2cad7;
}

/* ----- Scheme: purple (MedMera Bank) ----- */
.mln-body[data-cs="purple"]{
  --mln-red:#5b3aa0;
  --mln-red-dark:#432875;
  --mln-black:#2c1d54;
  --mln-bg:#fbf6ec;
  --mln-card:#ffffff;
  --mln-line:#ece2d3;
  --mln-grey-900:#211942;
  --mln-grey-700:#4b3d72;
  --mln-grey-500:#7a6d8f;
  --mln-grey-300:#c9c0d2;
}

/* ----- Scheme: cyan (Advisa) ----- */
.mln-body[data-cs="cyan"]{
  --mln-red:#1ab8c2;
  --mln-red-dark:#128b94;
  --mln-black:#0a0a0a;
  --mln-bg:#f4f7f9;
  --mln-card:#ffffff;
  --mln-line:#dde4ea;
  --mln-grey-900:#171e26;
  --mln-grey-700:#3a4554;
  --mln-grey-500:#6c7886;
  --mln-grey-300:#c4ccd5;
}

/* ----- Hotel schemes ----- */
.mln-body[data-cs="coastal"]{
  --mln-red:#e5363f;
  --mln-red-dark:#b91f28;
  --mln-black:#07151f;
  --mln-bg:#f3ebdf;
  --mln-card:#ffffff;
  --mln-line:#e3d7c7;
  --mln-grey-900:#10202b;
  --mln-grey-700:#3b4a55;
  --mln-grey-500:#6d7780;
  --mln-grey-300:#c6cdd2;
}
.mln-body[data-cs="gold"]{
  --mln-red:#c78a21;
  --mln-red-dark:#9e6816;
  --mln-black:#14100a;
  --mln-bg:#f5efe3;
  --mln-card:#fffaf0;
  --mln-line:#e5d6bd;
}
.mln-body[data-cs="tropical"]{
  --mln-red:#0f9f84;
  --mln-red-dark:#08705e;
  --mln-black:#06211c;
  --mln-bg:#eef8f3;
  --mln-card:#ffffff;
  --mln-line:#d1eadf;
}
.mln-body[data-cs="alpine"]{
  --mln-red:#3974c4;
  --mln-red-dark:#24518d;
  --mln-black:#0a1828;
  --mln-bg:#eef3f8;
  --mln-card:#ffffff;
  --mln-line:#d6e0eb;
}
.mln-body[data-cs="sunset"]{
  --mln-red:#e45b36;
  --mln-red-dark:#b83b1f;
  --mln-black:#20100c;
  --mln-bg:#f8ede4;
  --mln-card:#ffffff;
  --mln-line:#ead4c4;
}
/* Reset only the bare minimum — keep theme styles for article content. */
html.mln-body, body.mln-body{ margin:0; }
.mln-body{
  background:var(--mln-bg);
  color:var(--mln-black);
  font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, "Helvetica", sans-serif;
  font-size:16px;
  line-height:1.55;
}
.mln-body *,
.mln-body *::before,
.mln-body *::after{ box-sizing:border-box; }
.mln-body img{ max-width:100%; height:auto; display:block; }

.mln-shell{ max-width:var(--mln-shell); margin:0 auto; padding:0 16px; }

/* ------- Topbar (sticky black ticker) ------- */
.mln-topbar{
  background:var(--mln-black);
  color:#fff;
  font-size:12px;
  padding:8px 0;
  position:sticky;
  top:0;
  z-index:1000;
  border-bottom:2px solid var(--mln-red);
}
.mln-topbar-inner{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  justify-content:flex-end;
  align-items:center;
}
.mln-ticker{ white-space:nowrap; display:inline-flex; gap:6px; align-items:baseline; }
.mln-ticker strong{ color:var(--mln-grey-300); font-weight:600; letter-spacing:.2px; }
.mln-ticker-val{ font-weight:700; }
.mln-ticker-chg{ font-weight:700; margin-left:2px; }
.mln-ticker-chg.up{ color:var(--mln-up); }
.mln-ticker-chg.down{ color:var(--mln-down); }

/* ------- Header ------- */
.mln-header{
  background:#fff;
  border-bottom:1px solid var(--mln-line);
  padding:10px 0;
}
.mln-header-inner{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:nowrap;
}
.mln-logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:var(--mln-black);
}
.mln-logo-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  background:var(--mln-red);  /* follows the active scheme (red/navyGreen/wine/purple/cyan) */
  border-radius:6px;
  flex-shrink:0;
  color:#fff;
  font-weight:900;
  font-size:14px;
  letter-spacing:.4px;
  text-transform:uppercase;
  font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}
.mln-body[data-template="hotel"] .mln-logo-mark{
  background:
    radial-gradient(circle at 28% 22%, rgba(255,255,255,.34), transparent 28%),
    linear-gradient(135deg, var(--mln-red), var(--mln-red-dark));
  box-shadow:0 10px 24px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.22);
}
.mln-body[data-template="hotel"] .mln-logo-mark--shape-1{ border-radius:10px 18px 10px 18px; }
.mln-body[data-template="hotel"] .mln-logo-mark--shape-2{ border-radius:50% 18px 50% 18px; }
.mln-body[data-template="hotel"] .mln-logo-mark--shape-3{ border-radius:18px 8px 18px 8px; transform:rotate(-2deg); }
.mln-body[data-template="hotel"] .mln-logo-mark--shape-4{ border-radius:14px; }
.mln-body[data-template="hotel"] .mln-logo-mark--shape-5{ border-radius:22px 22px 10px 10px; }
.mln-logo-mark--footer{
  width:32px;
  height:32px;
  font-size:13px;
}
.mln-logo-text{
  font-weight:900;
  font-size:22px;
  letter-spacing:-.5px;
  text-transform:lowercase;
  white-space:nowrap;
}
.mln-body[data-template="hotel"] .mln-logo-text{
  position:relative;
  text-transform:none;
  letter-spacing:-.7px;
  color:var(--mln-grey-900);
}
.mln-body[data-template="hotel"] .mln-logo-text::after{
  content:"";
  position:absolute;
  left:2px;
  right:8px;
  bottom:-5px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--mln-red), transparent);
  opacity:.36;
}
.mln-logo:hover .mln-logo-text{ color:var(--mln-red); }

.mln-nav{ position:relative; flex:1 1 auto; min-width:0; }

/* Search box (right side of header) — flexible: shrinks to icon-only on tight viewports */
.mln-search{
  display:flex;
  align-items:center;
  gap:0;
  background:#fff;
  border:1px solid var(--mln-line);
  border-radius:24px;
  padding:0 4px 0 14px;
  height:38px;
  min-width:160px;
  max-width:260px;
  flex:0 1 auto;
}
.mln-search input{
  flex:1;
  border:0;
  background:transparent;
  outline:0;
  font-size:14px;
  color:var(--mln-black);
  padding:8px 0;
  font-family:inherit;
  min-width:0;
}
.mln-search input::placeholder{ color:var(--mln-grey-500); }
.mln-search button{
  background:var(--mln-red);
  border:0;
  color:#fff;
  width:32px; height:32px;
  border-radius:50%;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  transition:background .15s ease;
}
.mln-search button:hover{ background:var(--mln-red-dark); }
.mln-menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:0;
  flex-wrap:nowrap;
  white-space:nowrap;
}
.mln-menu li{ position:relative; }
.mln-menu a{
  display:inline-block;
  padding:10px 11px;
  color:var(--mln-black);
  text-decoration:none;
  text-transform:uppercase;
  font-weight:700;
  font-size:12.5px;
  letter-spacing:.3px;
  border-bottom:3px solid transparent;
  transition:color .15s ease, border-color .15s ease;
  white-space:nowrap;
}
.mln-menu a:hover,
.mln-menu .current-menu-item > a,
.mln-menu .current-menu-parent > a,
.mln-menu .current-menu-ancestor > a{
  color:var(--mln-red);
  border-bottom-color:var(--mln-red);
}
/* Sub-menu */
.mln-menu .sub-menu{
  display:none;
  position:absolute;
  top:100%; left:0;
  background:#fff;
  border:1px solid var(--mln-line);
  list-style:none;
  margin:0; padding:6px 0;
  min-width:220px;
  z-index:50;
  box-shadow:0 6px 18px rgba(0,0,0,0.08);
}
.mln-menu li:hover > .sub-menu,
.mln-menu li:focus-within > .sub-menu{ display:block; }
.mln-menu .sub-menu a{
  padding:8px 16px;
  text-transform:none;
  font-weight:600;
  letter-spacing:0;
  border-bottom:none;
  display:block;
}
.mln-menu .sub-menu a:hover{ color:var(--mln-red); background:rgba(211,47,47,0.05); }

.mln-nav-toggle{
  display:none;
  background:transparent;
  border:1px solid var(--mln-line);
  width:42px; height:42px;
  border-radius:4px;
  cursor:pointer;
  padding:0;
}
.mln-nav-toggle span{
  display:block;
  height:2px; width:18px;
  background:var(--mln-black);
  margin:4px auto;
}

/* ------- Buttons ------- */
.mln-btn{
  display:inline-block;
  padding:14px 24px;
  border-radius:4px;
  font-weight:800;
  text-decoration:none;
  text-align:center;
  letter-spacing:.3px;
  font-size:15px;
  transition:background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
  border:1px solid transparent;
}
.mln-btn-primary{ background:var(--mln-red); color:#fff; }
.mln-btn-primary:hover{ background:var(--mln-red-dark); color:#fff; transform:translateY(-1px); }
.mln-btn-ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.6); }
.mln-btn-ghost:hover{ background:rgba(255,255,255,.08); color:#fff; }

/* ------- Sections ------- */
.mln-section{ padding:36px 0; }
.mln-section + .mln-section{ padding-top:0; }
.mln-section-first{ padding-top:24px; }
.mln-section-topics{ background:transparent; }

.mln-section-head{ margin:0 0 28px; }
.mln-tag{
  display:inline-block;
  background:var(--mln-red);
  color:#fff;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  padding:4px 10px;
  letter-spacing:.6px;
}
.mln-section-head h2{
  margin:8px 0 0;
  font-size:30px;
  font-weight:900;
  letter-spacing:-.4px;
  line-height:1.15;
  color:var(--mln-black);
}

/* ------- Card grids ------- */
.mln-grid-top{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:20px;
  margin-bottom:32px;
  align-items:stretch;
}
.mln-grid-top-side{
  display:flex;
  flex-direction:column;
  gap:20px;
  min-height:0;
}

.mln-grid-mid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:18px;
  align-items:stretch;
}

.mln-card{
  background:var(--mln-card);
  border:1px solid var(--mln-line);
  border-radius:6px;
  overflow:hidden;
  text-decoration:none;
  color:var(--mln-black);
  display:flex;
  flex-direction:column;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  height:100%;
}
.mln-card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(0,0,0,0.08);
  border-color:#d8d2c5;
}

.mln-card-img{
  display:flex;
  align-items:center;
  justify-content:center;
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  color:#fff;
  font-weight:900;
  letter-spacing:1px;
  text-shadow:0 2px 6px rgba(0,0,0,.3);
  flex-shrink:0;
}
.mln-card-img-label{ font-size:18px; }

/* Lead card: image takes a fixed slice; body fills the remaining height
   so the lead matches the stacked side-cards visually. */
.mln-card-lead .mln-card-img{ aspect-ratio:16/9; min-height:0; }
.mln-card-side .mln-card-img{ aspect-ratio:16/10; min-height:0; }
.mln-grid-top .mln-card-side{ flex:1 1 0; }
.mln-grid-top .mln-card-side .mln-card-img{ flex:0 0 auto; height:auto; }

/* Card body wraps cat-pill + title + text and fills available vertical space. */
.mln-card-body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  padding:14px 16px 16px;
  min-height:0;
}

.mln-card-mid{ padding:18px; display:flex; flex-direction:column; gap:8px; }
.mln-card-mid:hover{ border-color:var(--mln-red); }

.mln-card-cat{
  display:inline-block;
  background:var(--mln-red);
  color:#fff;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.5px;
  padding:4px 10px;
  align-self:flex-start;
  margin:0;
}
.mln-card-mid .mln-card-cat{ margin:0; }

.mln-card-title{
  margin:8px 0 0;
  font-weight:800;
  line-height:1.25;
  color:var(--mln-black);
}
.mln-card-mid .mln-card-title{ margin:0; font-size:17px; }
.mln-card-side .mln-card-title{ font-size:17px; }
.mln-card-lead .mln-card-title{ font-size:24px; }
.mln-card:hover .mln-card-title{ color:var(--mln-red); }

.mln-card-text{
  margin:8px 0 0;
  color:var(--mln-grey-700);
  font-size:14.5px;
  line-height:1.55;
  flex:1 1 auto;
}
.mln-card-mid .mln-card-text{ margin:0; flex:0 0 auto; }
.mln-card-side .mln-card-text{
  /* Tighten side cards so the stack height aligns with the lead. */
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* ------- Category tile grid ------- */
.mln-cat-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:16px;
}
.mln-cat-tile{
  background:#fff;
  border:1px solid var(--mln-line);
  border-radius:6px;
  padding:22px 18px;
  text-decoration:none;
  color:var(--mln-black);
  display:flex;
  flex-direction:column;
  gap:6px;
  transition:border-color .15s ease, transform .15s ease;
}
.mln-cat-tile:hover{ border-color:var(--mln-red); transform:translateY(-2px); }
.mln-cat-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px; height:42px;
  background:var(--mln-red);
  color:#fff;
  border-radius:50%;
  font-weight:900;
  font-size:20px;
  margin-bottom:8px;
}
.mln-cat-tile strong{ font-size:17px; }
.mln-cat-tile em{ font-style:normal; color:var(--mln-grey-500); font-size:13px; }

/* ------- CTA banner ------- */
.mln-cta{ padding:0 0 56px; }
.mln-cta-inner{
  background:var(--mln-black);
  color:#fff;
  border-radius:6px;
  padding:32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}
.mln-cta-inner h3{ margin:0 0 6px; font-size:24px; font-weight:800; color:#fff; }
.mln-cta-inner p{ margin:0; color:var(--mln-grey-300); max-width:700px; }

/* ------- Latest articles list ------- */
.mln-recent{ padding-top:0; padding-bottom:64px; }
.mln-list{
  list-style:none;
  margin:0;
  padding:0;
  background:#fff;
  border:1px solid var(--mln-line);
  border-radius:6px;
}
.mln-list li{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:14px;
  padding:14px 18px;
  border-bottom:1px solid var(--mln-line);
}
.mln-list li:last-child{ border-bottom:none; }
.mln-list-cat{
  background:var(--mln-red);
  color:#fff;
  font-size:11px;
  font-weight:800;
  padding:3px 8px;
  text-transform:uppercase;
}
.mln-list a{ color:var(--mln-black); text-decoration:none; font-weight:700; }
.mln-list a:hover{ color:var(--mln-red); }
.mln-list time{ color:var(--mln-grey-500); font-size:13px; white-space:nowrap; }

/* ------- Archive ------- */
.mln-archive{ padding-top:32px; }
.mln-archive-title{
  margin:0 0 24px;
  font-size:36px;
  font-weight:900;
  letter-spacing:-.4px;
  border-bottom:3px solid var(--mln-red);
  padding-bottom:12px;
  display:inline-block;
}
.mln-pagination{
  margin-top:32px;
  display:flex;
  gap:6px;
  justify-content:center;
}
.mln-pagination .page-numbers{
  padding:8px 14px;
  border:1px solid var(--mln-line);
  background:#fff;
  text-decoration:none;
  color:var(--mln-black);
  font-weight:700;
  border-radius:4px;
}
.mln-pagination .page-numbers:hover,
.mln-pagination .page-numbers.current{
  background:var(--mln-red);
  border-color:var(--mln-red);
  color:#fff;
}
.mln-empty{ padding:32px; text-align:center; color:var(--mln-grey-500); background:#fff; border:1px solid var(--mln-line); border-radius:6px; }

/* ------- Article (singular post & page) ------- */
.mln-article{ background:transparent; padding-bottom:48px; }
.mln-article-banner{
  width:100%;
  height:420px;
  max-height:60vh;
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  background-color:var(--mln-grey-900);
  margin-bottom:32px;
}
.mln-article-shell{ max-width:780px; }
.mln-article--page .mln-article-shell{ padding-top:32px; }

.mln-article-cat{
  display:inline-block;
  background:var(--mln-red);
  color:#fff;
  text-decoration:none;
  font-size:11px;
  font-weight:800;
  letter-spacing:.6px;
  padding:5px 12px;
  text-transform:uppercase;
  margin-bottom:14px;
}
.mln-article-cat:hover{ background:var(--mln-red-dark); color:#fff; }

.mln-article-title{
  margin:0 0 18px;
  font-size:42px;
  font-weight:900;
  line-height:1.15;
  letter-spacing:-.5px;
  color:var(--mln-black);
}

.mln-article-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  color:var(--mln-grey-500);
  font-size:14px;
  padding-bottom:18px;
  border-bottom:1px solid var(--mln-line);
  margin-bottom:28px;
}
.mln-meta-author,
.mln-meta-reviewer{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--mln-grey-700);
  font-weight:600;
}
.mln-meta-author{ font-weight:700; }
.mln-meta-reviewer strong{ color:var(--mln-grey-900); font-weight:700; }
.mln-meta-avatar{
  width:28px; height:28px;
  border-radius:50%;
  object-fit:cover;
  background:var(--mln-line);
}
.mln-meta-sep{ color:var(--mln-grey-300); }

/* Body content */
.mln-article-content,
.mln-body .entry-content{
  font-size:18px;
  line-height:1.7;
  color:var(--mln-grey-900);
}
.mln-article-content > *{ max-width:100%; }
.mln-article-content h2,
.mln-article-content h3,
.mln-body .entry-content h2,
.mln-body .entry-content h3{ font-weight:800; color:var(--mln-black); }
.mln-article-content h2,
.mln-body .entry-content h2{
  margin-top:36px;
  margin-bottom:14px;
  font-size:28px;
  border-top:3px solid var(--mln-red);
  padding-top:14px;
  letter-spacing:-.2px;
}
.mln-article-content h3,
.mln-body .entry-content h3{
  margin-top:28px;
  margin-bottom:10px;
  font-size:22px;
}
.mln-article-content p,
.mln-body .entry-content p{ margin:0 0 18px; }
.mln-article-content a,
.mln-body .entry-content a{ color:var(--mln-red); text-decoration:underline; text-underline-offset:2px; }
.mln-article-content a:hover,
.mln-body .entry-content a:hover{ color:var(--mln-red-dark); }
.mln-article-content blockquote,
.mln-body .entry-content blockquote{
  border-left:4px solid var(--mln-red);
  background:#fff;
  padding:18px 22px;
  margin:24px 0;
  font-size:18px;
  color:var(--mln-grey-900);
}
.mln-article-content ul,
.mln-article-content ol,
.mln-body .entry-content ul,
.mln-body .entry-content ol{
  margin:0 0 20px;
  padding-left:22px;
}
.mln-article-content li,
.mln-body .entry-content li{ margin:0 0 8px; }
.mln-article-content img,
.mln-body .entry-content img{
  border-radius:6px;
  margin:24px 0;
}
.mln-article-content figure,
.mln-body .entry-content figure{ margin:28px 0; }
.mln-article-content figcaption,
.mln-body .entry-content figcaption{
  font-size:13px;
  color:var(--mln-grey-500);
  text-align:center;
  margin-top:6px;
}
.mln-article-content table,
.mln-body .entry-content table{
  width:100%;
  border-collapse:collapse;
  margin:20px 0;
  background:#fff;
  font-size:15px;
}
.mln-article-content table th,
.mln-article-content table td,
.mln-body .entry-content table th,
.mln-body .entry-content table td{
  border:1px solid var(--mln-line);
  padding:10px 12px;
  text-align:left;
}
.mln-article-content table th,
.mln-body .entry-content table th{ background:#fff8f1; font-weight:700; }

.mln-article-pages{ display:flex; gap:6px; margin-top:24px; }
.mln-article-pages span,
.mln-article-pages a{
  padding:8px 14px;
  border:1px solid var(--mln-line);
  background:#fff;
  font-weight:700;
}
.mln-article-pages a{ color:var(--mln-black); text-decoration:none; }
.mln-article-pages a:hover{ background:var(--mln-red); border-color:var(--mln-red); color:#fff; }

/* Author / reviewer cards */
.mln-author-card{
  margin-top:24px;
  padding:20px;
  background:#fff;
  border:1px solid var(--mln-line);
  border-radius:6px;
  display:flex;
  gap:16px;
  align-items:flex-start;
}
.mln-author-card--reviewer{
  margin-top:12px;
  border-left:3px solid var(--mln-red);
}
.mln-author-avatar{
  width:60px; height:60px;
  border-radius:50%;
  object-fit:cover;
  flex-shrink:0;
  background:var(--mln-line);
}
.mln-author-role{
  font-size:11px;
  color:var(--mln-red);
  text-transform:uppercase;
  letter-spacing:.6px;
  font-weight:800;
  margin-bottom:2px;
}
.mln-author-name{
  font-weight:800;
  font-size:17px;
  margin-bottom:4px;
  color:var(--mln-black);
}
.mln-author-bio{
  margin:0;
  color:var(--mln-grey-700);
  font-size:14.5px;
  line-height:1.55;
}

/* Related (used in singular bottom) */
.mln-related{ margin-top:48px; }
.mln-related .mln-section-head{ margin-bottom:18px; }
.mln-related .mln-section-head h2{ font-size:22px; }

/* =================================================================
   Affiliate toplist + CTA block (Adtraction-injected via n8n).
   The toplist appears near the top of articles with commercial intent;
   the bottom CTA block sits before the FAQ section.
   ================================================================= */
.ln-toplist-wrap{
  margin:24px 0 28px;
  padding:0;
  background:transparent;
  border:0;
}
.ln-toplist-title{
  margin:0 0 6px !important;
  font-size:22px !important;
  font-weight:800 !important;
  color:var(--mln-black) !important;
  border-top:3px solid var(--mln-red) !important;
  padding-top:12px !important;
  display:inline-block !important;
}
.ln-toplist-disclosure{
  margin:0 0 14px;
  font-size:12px;
  color:var(--mln-grey-500);
  text-transform:uppercase;
  letter-spacing:.5px;
}
.n24-toplist.ln-toplist,
.ln-toplist{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  border:1px solid var(--mln-line);
  border-radius:8px;
  overflow:hidden;
  font-size:15.5px;
}
.n24-toplist.ln-toplist tr,
.ln-toplist tr{
  border-bottom:1px solid var(--mln-line);
}
.n24-toplist.ln-toplist tr:last-child,
.ln-toplist tr:last-child{ border-bottom:none; }
.n24-toplist.ln-toplist td,
.ln-toplist td{
  padding:14px 16px;
  vertical-align:middle;
  border:0;
  border-top:1px solid var(--mln-line);
}
.n24-toplist.ln-toplist tr:first-child td,
.ln-toplist tr:first-child td{ border-top:0; }
.ln-tl-rank{
  width:42px;
  text-align:center;
  font-weight:900;
  font-size:18px;
  color:var(--mln-red);
  background:#fff8f1;
}
.ln-tl-bank{
  font-size:16px;
}
.ln-tl-bank strong{
  color:var(--mln-black);
  font-weight:800;
}
.ln-tl-action{
  width:140px;
  text-align:right;
}
.ln-tl-btn{
  display:inline-block;
  background:var(--mln-red);
  color:#fff !important;
  text-decoration:none !important;
  padding:9px 16px;
  border-radius:4px;
  font-weight:800;
  font-size:13px;
  letter-spacing:.3px;
  white-space:nowrap;
  transition:background .15s ease;
  border-bottom:0 !important;
}
.ln-tl-btn:hover{
  background:var(--mln-red-dark);
  color:#fff !important;
}

/* Inline affiliate paragraph (sponsored mention mid-article) */
.ln-affiliate-inline{
  margin:18px 0;
  padding:14px 18px;
  background:#fff;
  border-left:3px solid var(--mln-red);
  border-radius:4px;
  font-size:16.5px;
  line-height:1.7;
  color:var(--mln-grey-900);
}
.ln-affiliate-inline a{
  color:var(--mln-red);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
.ln-affiliate-inline a:hover{ color:var(--mln-red-dark); }

/* Bottom CTA block — 3 cards horizontally */
.ln-affiliate-cta{
  margin:36px 0 28px;
  padding:24px;
  background:#fff;
  border:1px solid var(--mln-line);
  border-radius:8px;
}
.ln-aff-header{ margin:0 0 16px; }
.ln-aff-title{
  margin:0 0 6px !important;
  font-size:20px !important;
  font-weight:800 !important;
  color:var(--mln-black) !important;
  border-top:0 !important;
  padding-top:0 !important;
}
.ln-aff-disclosure{
  margin:0;
  font-size:12px;
  color:var(--mln-grey-500);
  text-transform:uppercase;
  letter-spacing:.5px;
}
.ln-aff-list{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:14px;
}
.ln-aff-list li{ margin:0 !important; padding:0 !important; }
.ln-aff-list li::before{ content:none !important; }
.ln-aff-link{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  padding:18px 14px;
  background:#fff;
  border:1px solid var(--mln-line);
  border-radius:6px;
  text-decoration:none !important;
  color:var(--mln-black);
  text-align:center;
  transition:border-color .15s ease, transform .15s ease;
}
.ln-aff-link:hover{
  border-color:var(--mln-red);
  transform:translateY(-2px);
}
.ln-aff-logo{
  max-height:40px;
  max-width:120px;
  object-fit:contain;
}
.ln-aff-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px; height:42px;
  background:var(--mln-red);
  color:#fff;
  border-radius:50%;
  font-weight:900;
  font-size:16px;
}
.ln-aff-name{
  font-weight:800;
  font-size:15px;
  color:var(--mln-black);
}
.ln-aff-cta{
  display:inline-block;
  background:var(--mln-red);
  color:#fff;
  padding:6px 14px;
  border-radius:4px;
  font-weight:800;
  font-size:13px;
  letter-spacing:.3px;
}
.ln-aff-link:hover .ln-aff-cta{ background:var(--mln-red-dark); }

/* Mobile */
@media (max-width:680px){
  .n24-toplist.ln-toplist,
  .ln-toplist{ font-size:14px; }
  .ln-tl-action{ width:auto; }
  .ln-tl-btn{ padding:7px 12px; font-size:12px; }
  .ln-aff-list{ grid-template-columns:1fr 1fr; }
}

/* =================================================================
   n24-* hardcoded post blocks (output by n8n article generators).
   These selectors style the markup that appears INSIDE article body
   so it matches the loan template's visual identity (red accent +
   warm beige). Scoped to .mln-article-content / entry-content so
   archive/grid stays unaffected.
   ================================================================= */
.mln-article-content article,
.mln-body .entry-content article{ background:transparent; padding:0; margin:0; }
.mln-article-content .n24-p,
.mln-body .entry-content .n24-p{
  margin:0 0 18px;
  font-size:18px;
  line-height:1.7;
  color:var(--mln-grey-900);
}

/* Stats line under intro */
.mln-article-content .n24-stats-line,
.mln-body .entry-content .n24-stats-line{
  display:block;
  background:#fff;
  border:1px solid var(--mln-line);
  border-left:3px solid var(--mln-red);
  border-radius:4px;
  padding:14px 18px;
  margin:0 0 28px;
  font-size:15px;
  line-height:1.7;
  color:var(--mln-grey-900);
}
.mln-article-content .n24-stats-line strong,
.mln-body .entry-content .n24-stats-line strong{ color:var(--mln-black); font-weight:700; }

/* Snapshot block (4-card grid) */
.mln-article-content .n24-snapshot-block,
.mln-body .entry-content .n24-snapshot-block{
  margin:32px 0;
  padding:0;
  background:transparent;
  border:0;
}
.mln-article-content .n24-grid-heading,
.mln-body .entry-content .n24-grid-heading{
  margin:0 0 14px !important;
  font-size:24px !important;
  font-weight:800 !important;
  border-top:3px solid var(--mln-red) !important;
  padding-top:12px !important;
  display:inline-block !important;
  letter-spacing:-.2px;
  color:var(--mln-black) !important;
}
.mln-article-content .n24-grid-wrap,
.mln-body .entry-content .n24-grid-wrap{ width:100%; }
.mln-article-content .n24-grid,
.mln-body .entry-content .n24-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
  margin:0;
}
.mln-article-content .n24-card,
.mln-body .entry-content .n24-card{
  background:#fff;
  border:1px solid var(--mln-line);
  border-radius:6px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.mln-article-content .n24-card-header,
.mln-body .entry-content .n24-card-header{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px 10px;
  border-bottom:1px solid var(--mln-line);
  background:#fff8f1;
}
.mln-article-content .n24-card-num,
.mln-body .entry-content .n24-card-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px; height:28px;
  background:var(--mln-red);
  color:#fff;
  border-radius:50%;
  font-weight:900;
  font-size:14px;
  flex-shrink:0;
}
.mln-article-content .n24-card-title,
.mln-body .entry-content .n24-card-title{
  font-size:15px;
  font-weight:800;
  color:var(--mln-black);
  letter-spacing:-.1px;
}
.mln-article-content .n24-card-body,
.mln-body .entry-content .n24-card-body{
  padding:12px 16px 16px;
  font-size:14.5px;
  color:var(--mln-grey-900);
  flex:1;
}

/* Lists used inside cards */
.mln-article-content .n24-list,
.mln-body .entry-content .n24-list{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
.mln-article-content .n24-list li,
.mln-body .entry-content .n24-list li{
  position:relative;
  padding-left:20px;
  margin:0 0 8px;
  line-height:1.55;
}
.mln-article-content .n24-list li::before,
.mln-body .entry-content .n24-list li::before{
  content:"";
  position:absolute;
  left:4px; top:9px;
  width:6px; height:6px;
  background:var(--mln-red);
  border-radius:50%;
}
.mln-article-content .n24-list-tight li,
.mln-body .entry-content .n24-list-tight li{ font-size:14.5px; margin-bottom:6px; }
.mln-article-content .n24-list.n24-checks li::before,
.mln-body .entry-content .n24-list.n24-checks li::before{
  content:"✓";
  background:transparent;
  color:#0f7a4a;
  font-weight:900;
  font-size:14px;
  width:auto; height:auto;
  top:-1px; left:0;
  border-radius:0;
}
.mln-article-content .n24-list.n24-x li::before,
.mln-body .entry-content .n24-list.n24-x li::before{
  content:"×";
  background:transparent;
  color:var(--mln-red);
  font-weight:900;
  font-size:18px;
  line-height:1;
  width:auto; height:auto;
  top:0; left:0;
  border-radius:0;
}

/* n24 table — overrides default loan table styles for this class */
.mln-article-content .n24-table,
.mln-body .entry-content .n24-table{
  width:100%;
  border-collapse:collapse;
  margin:24px 0;
  background:#fff;
  font-size:15px;
  border:1px solid var(--mln-line);
  border-radius:6px;
  overflow:hidden;
}
.mln-article-content .n24-table thead,
.mln-body .entry-content .n24-table thead{ background:var(--mln-black); }
.mln-article-content .n24-table thead th,
.mln-body .entry-content .n24-table thead th{
  color:#fff;
  text-align:left;
  padding:12px 14px;
  font-weight:700;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.4px;
  border:0;
}
.mln-article-content .n24-table tbody td,
.mln-body .entry-content .n24-table tbody td{
  padding:12px 14px;
  border-top:1px solid var(--mln-line);
  vertical-align:top;
}
.mln-article-content .n24-table tbody tr:nth-child(even),
.mln-body .entry-content .n24-table tbody tr:nth-child(even){ background:#fbf6ec; }

/* Callouts: TLDR / Tip / Note / Warning */
.mln-article-content .n24-tldr,
.mln-body .entry-content .n24-tldr,
.mln-article-content .n24-tip,
.mln-body .entry-content .n24-tip,
.mln-article-content .n24-note,
.mln-body .entry-content .n24-note,
.mln-article-content .n24-warning,
.mln-body .entry-content .n24-warning{
  margin:24px 0;
  padding:16px 20px;
  border-radius:6px;
  background:#fff;
  border:1px solid var(--mln-line);
  border-left:4px solid var(--mln-red);
}
.mln-article-content .n24-tldr,
.mln-body .entry-content .n24-tldr{
  background:#fffbf6;
  border-left-color:var(--mln-red);
}
.mln-article-content .n24-tldr strong,
.mln-body .entry-content .n24-tldr strong{
  color:var(--mln-red);
  font-weight:800;
  letter-spacing:.2px;
  text-transform:uppercase;
  font-size:13px;
}
.mln-article-content .n24-tip,
.mln-body .entry-content .n24-tip{
  background:#f3f8fb;
  border-left-color:#0a4d8c;
}
.mln-article-content .n24-tip-label,
.mln-body .entry-content .n24-tip-label{
  color:#0a4d8c;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.4px;
  font-size:12px;
  margin-bottom:6px;
}
.mln-article-content .n24-note,
.mln-body .entry-content .n24-note{
  background:#fdf8eb;
  border-left-color:#c8973f;
}
.mln-article-content .n24-note-label,
.mln-body .entry-content .n24-note-label{
  color:#8a6a22;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.4px;
  font-size:12px;
  margin-bottom:6px;
}
.mln-article-content .n24-warning,
.mln-body .entry-content .n24-warning{
  background:#fff0ee;
  border-left-color:var(--mln-red);
}
.mln-article-content .n24-warning-label,
.mln-body .entry-content .n24-warning-label{
  color:var(--mln-red);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.4px;
  font-size:12px;
  margin-bottom:6px;
}
.mln-article-content .n24-tldr p,
.mln-body .entry-content .n24-tldr p,
.mln-article-content .n24-tip p,
.mln-body .entry-content .n24-tip p,
.mln-article-content .n24-note p,
.mln-body .entry-content .n24-note p,
.mln-article-content .n24-warning p,
.mln-body .entry-content .n24-warning p{
  margin:0;
  font-size:15.5px;
  line-height:1.65;
}

/* Pros & cons two-column */
.mln-article-content .n24-clarity,
.mln-body .entry-content .n24-clarity{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin:24px 0;
}
.mln-article-content .n24-clarity-col,
.mln-body .entry-content .n24-clarity-col{
  background:#fff;
  border:1px solid var(--mln-line);
  border-radius:6px;
  padding:18px 20px;
}
.mln-article-content .n24-clarity-col h3,
.mln-body .entry-content .n24-clarity-col h3{
  margin:0 0 12px !important;
  font-size:16px !important;
  font-weight:800 !important;
  text-transform:uppercase;
  letter-spacing:.4px;
  border-top:0 !important;
  padding-top:0 !important;
}
.mln-article-content .n24-clarity-col:first-child h3,
.mln-body .entry-content .n24-clarity-col:first-child h3{ color:#0f7a4a; }
.mln-article-content .n24-clarity-col:last-child h3,
.mln-body .entry-content .n24-clarity-col:last-child h3{ color:var(--mln-red); }

/* Quote / blockquote with cite */
.mln-article-content blockquote cite,
.mln-body .entry-content blockquote cite{
  display:block;
  margin-top:8px;
  font-style:normal;
  font-size:13px;
  color:var(--mln-grey-500);
  font-weight:700;
}

/* Network-source attribution paragraph (smaller, italic) */
.mln-article-content .n24-network-source,
.mln-body .entry-content .n24-network-source{
  font-size:14px;
  color:var(--mln-grey-700);
  background:#fff;
  border:1px dashed var(--mln-line);
  padding:12px 16px;
  border-radius:4px;
  margin:24px 0;
}

/* Related links inside article body (n8n-generated) */
.mln-article-content .n24-related,
.mln-body .entry-content .n24-related{
  background:#fff;
  border:1px solid var(--mln-line);
  border-radius:6px;
  padding:20px;
  margin:32px 0;
}
.mln-article-content .n24-section-heading,
.mln-body .entry-content .n24-section-heading{
  margin:0 0 12px !important;
  font-size:18px !important;
  font-weight:800 !important;
  border-top:0 !important;
  padding-top:0 !important;
  text-transform:uppercase;
  letter-spacing:.4px;
}
.mln-article-content .n24-related ul,
.mln-body .entry-content .n24-related ul{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.mln-article-content .n24-related li,
.mln-body .entry-content .n24-related li{
  padding:8px 0;
  border-top:1px solid var(--mln-line);
  margin:0;
}
.mln-article-content .n24-related li::before,
.mln-body .entry-content .n24-related li::before{ content:none; }
.mln-article-content .n24-related li:first-child,
.mln-body .entry-content .n24-related li:first-child{ border-top:0; padding-top:0; }
.mln-article-content .n24-related a,
.mln-body .entry-content .n24-related a{
  color:var(--mln-black);
  text-decoration:none;
  font-weight:700;
  border-bottom:0;
}
.mln-article-content .n24-related a:hover,
.mln-body .entry-content .n24-related a:hover{ color:var(--mln-red); }

/* FAQ items (details/summary) */
.mln-article-content .n24-faq-item,
.mln-body .entry-content .n24-faq-item{
  background:#fff;
  border:1px solid var(--mln-line);
  border-radius:6px;
  margin:8px 0;
  padding:0;
}
.mln-article-content .n24-faq-item summary,
.mln-body .entry-content .n24-faq-item summary{
  list-style:none;
  cursor:pointer;
  padding:14px 18px;
  font-weight:700;
  color:var(--mln-black);
  position:relative;
  padding-right:48px;
}
.mln-article-content .n24-faq-item summary::-webkit-details-marker,
.mln-body .entry-content .n24-faq-item summary::-webkit-details-marker{ display:none; }
.mln-article-content .n24-faq-item summary::after,
.mln-body .entry-content .n24-faq-item summary::after{
  content:"+";
  position:absolute;
  right:18px; top:50%;
  transform:translateY(-50%);
  width:24px; height:24px;
  border-radius:50%;
  background:var(--mln-red);
  color:#fff;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  line-height:1;
  transition:transform .2s ease;
}
.mln-article-content .n24-faq-item[open] summary::after,
.mln-body .entry-content .n24-faq-item[open] summary::after{
  content:"−";
  transform:translateY(-50%) rotate(180deg);
}
.mln-article-content .n24-faq-item p,
.mln-body .entry-content .n24-faq-item p{
  padding:0 18px 16px;
  margin:0;
  font-size:15.5px;
  color:var(--mln-grey-900);
  line-height:1.65;
}

/* Mobile collapse for n24 grids */
@media (max-width:680px){
  .mln-article-content .n24-grid,
  .mln-body .entry-content .n24-grid{ grid-template-columns:1fr; }
  .mln-article-content .n24-clarity,
  .mln-body .entry-content .n24-clarity{ grid-template-columns:1fr; }
  .mln-article-content .n24-table,
  .mln-body .entry-content .n24-table{
    display:block;
    overflow-x:auto;
    white-space:nowrap;
  }
}

/* ------- Footer ------- */
.mln-footer{
  background:var(--mln-black);
  color:var(--mln-grey-300);
  margin-top:48px;
}

/* Newsletter banner (sits above the main footer columns) */
.mln-footer-newsletter{
  background:linear-gradient(135deg, #1a1a1a 0%, #0a0a0a 100%);
  border-bottom:1px solid #1f1f1f;
  padding:32px 0;
  position:relative;
  overflow:hidden;
}
.mln-footer-newsletter::before{
  content:"";
  position:absolute;
  inset:0 auto auto -10%;
  width:50%;
  height:100%;
  background:radial-gradient(ellipse at left center, rgba(211,47,47,.18) 0%, transparent 70%);
  pointer-events:none;
}
.mln-footer-newsletter-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  flex-wrap:wrap;
  position:relative;
  z-index:1;
}
.mln-footer-newsletter h3{
  margin:8px 0 0;
  color:#fff;
  font-size:22px;
  font-weight:800;
  letter-spacing:-.2px;
  max-width:560px;
  line-height:1.3;
}
.mln-tag--ghost{
  background:transparent;
  color:var(--mln-red);
  border:1px solid var(--mln-red);
}
.mln-newsletter-form{
  display:flex;
  background:#fff;
  border-radius:4px;
  overflow:hidden;
  min-width:340px;
  flex-shrink:0;
}
.mln-newsletter-form input{
  flex:1;
  border:0;
  outline:0;
  padding:12px 16px;
  font-size:14px;
  font-family:inherit;
  color:var(--mln-black);
  min-width:0;
}
.mln-newsletter-form button{
  background:var(--mln-red);
  color:#fff;
  border:0;
  padding:0 20px;
  font-weight:800;
  font-size:14px;
  cursor:pointer;
  letter-spacing:.3px;
  transition:background .15s ease;
  font-family:inherit;
}
.mln-newsletter-form button:hover{ background:var(--mln-red-dark); }

.mln-footer-inner{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1fr;
  gap:32px;
  padding:48px 16px;
}
.mln-footer-logo-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  margin-bottom:12px;
}
.mln-logo-mark--footer{ width:32px; height:32px; }
.mln-footer-brand .mln-footer-logo{
  display:inline-block;
  font-weight:900;
  font-size:22px;
  color:#fff;
  text-transform:none;
  letter-spacing:-.4px;
}
.mln-footer-tagline{
  margin:0 0 16px;
  color:var(--mln-grey-300);
  font-size:14px;
  max-width:340px;
  line-height:1.6;
}
.mln-footer-social{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.mln-footer-social-label{
  color:var(--mln-grey-500);
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.6px;
  font-weight:700;
  margin-right:8px;
}
.mln-footer-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px; height:34px;
  border:1px solid #2a2a2a;
  border-radius:50%;
  color:var(--mln-grey-300);
  text-decoration:none;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.mln-footer-social a:hover{ background:var(--mln-red); border-color:var(--mln-red); color:#fff; }

.mln-footer-col h5{
  margin:0 0 14px;
  color:#fff;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.6px;
  font-weight:800;
}
.mln-footer-col ul{ list-style:none; margin:0; padding:0; }
.mln-footer-col li{ margin:0 0 10px; }
.mln-footer-col a{
  color:var(--mln-grey-300);
  text-decoration:none;
  font-size:14px;
  transition:color .15s ease;
}
.mln-footer-col a:hover{ color:var(--mln-red); }

.mln-footer-base{
  border-top:1px solid #1f1f1f;
  padding:18px 0;
  font-size:12px;
  color:var(--mln-grey-500);
}
.mln-footer-base-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}
.mln-footer-base-links{ display:inline-flex; gap:18px; flex-wrap:wrap; }
.mln-footer-base a{ color:var(--mln-grey-500); text-decoration:none; }
.mln-footer-base a:hover{ color:var(--mln-red); }

/* ------- Mobile ------- */
@media (max-width:1100px){
  .mln-menu a{ padding:10px 9px; font-size:12px; letter-spacing:.2px; }
  .mln-search{ min-width:140px; }
  .mln-logo-text{ font-size:20px; }
}

@media (max-width:980px){
  .mln-topbar-inner{ justify-content:flex-start; gap:14px; font-size:11px; }
  .mln-header{ position:relative; }
  .mln-header-inner{ position:static; flex-wrap:nowrap; gap:12px; }
  /* Compact: logo on the left, search shrinks, hamburger at the right edge.
     The actual menu becomes a dropdown that overlays the page width. */
  .mln-nav{ flex:0 0 auto; order:0; position:static; }
  .mln-search{ flex:1 1 auto; min-width:0; max-width:none; }
  .mln-nav-toggle{ display:inline-flex; align-items:center; justify-content:center; }
  .mln-logo-text{ font-size:20px; }
  .mln-menu{
    display:none;
    position:absolute;
    top:100%; right:0; left:0;
    background:#fff;
    border-top:1px solid var(--mln-line);
    border-bottom:1px solid var(--mln-line);
    flex-direction:column;
    flex-wrap:nowrap;
    white-space:normal;
    z-index:60;
    padding:6px 0;
    box-shadow:0 8px 18px rgba(0,0,0,0.06);
  }
  .mln-menu.is-open{ display:flex; }
  .mln-menu li{ width:100%; border-bottom:1px solid var(--mln-line); }
  .mln-menu li:last-child{ border-bottom:none; }
  .mln-menu a{ padding:12px 18px; border-bottom:none; font-size:13px; letter-spacing:.4px; }
  .mln-menu .sub-menu{
    display:block !important;
    position:static;
    box-shadow:none;
    border:none;
    background:#faf6ec;
    padding:0;
  }
  .mln-menu .sub-menu a{ padding-left:32px; font-size:12px; }

  .mln-grid-top{ grid-template-columns:1fr; }
  .mln-card-lead .mln-card-img{ min-height:200px; }
  .mln-card-side .mln-card-img{ min-height:160px; }

  .mln-cta-inner{ flex-direction:column; align-items:flex-start; padding:24px; }

  .mln-list li{ grid-template-columns:1fr; }
  .mln-list time{ font-size:12px; }

  .mln-footer-newsletter-inner{ flex-direction:column; align-items:flex-start; }
  .mln-newsletter-form{ width:100%; min-width:0; }

  .mln-footer-inner{ grid-template-columns:1fr 1fr; gap:24px; padding:32px 16px; }
  .mln-footer-brand{ grid-column:1 / -1; }

  .mln-footer-base-inner{ flex-direction:column; align-items:flex-start; }

  .mln-section-head h2{ font-size:24px; }
  .mln-archive-title{ font-size:28px; }

  .mln-article-banner{ height:240px; margin-bottom:20px; }
  .mln-article-title{ font-size:30px; }
  .mln-article-content,
  .mln-body .entry-content{ font-size:17px; }
  .mln-article-content h2,
  .mln-body .entry-content h2{ font-size:22px; }
  .mln-author-card{ flex-direction:column; gap:12px; }
}

@media (max-width:520px){
  .mln-footer-inner{ grid-template-columns:1fr; }
  .mln-card-lead .mln-card-title{ font-size:20px; }
}
