/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://theemoneynudge.com
 Description:  Child theme for The Money Nudge
 Author:       The Money Nudge
 Author URI:   https://theemoneynudge.com
 Template:     generatepress
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  generatepress-child
*/

/* ============================================================
   VARIABLES
   ============================================================ */

:root {
  --cream: #faf7f2;
  --cream-mid: #f3ede3;
  --cream-dark: #e8dfd0;
  --charcoal: #1c1c1c;
  --charcoal-mid: #2e2e2e;
  --green: #2a7d4f;
  --green-light: #e8f4ed;
  --green-mid: #3a9962;
  --red: #b83232;
  --red-light: #fdf0f0;
  --text-main: #1c1c1c;
  --text-body: #3d3d3d;
  --text-muted: #7a7a7a;
  --text-light: #a0a0a0;
  --border: #e0d8cc;
  --border-light: #ede8df;
  --white: #ffffff;
  --card-shadow: 0 1px 4px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.04);
}

/* ============================================================
   BASE
   ============================================================ */

.mn-page { all: unset; display: block; font-family: 'Source Sans 3', sans-serif; color: var(--text-main); line-height: 1.65; background: var(--cream); }
.mn-page *, .mn-page *::before, .mn-page *::after { box-sizing: border-box; }

/* ============================================================
   NAV
   ============================================================ */

.mn-nav { background: rgba(250,247,242,0.97); backdrop-filter: blur(10px); border-bottom: 1px solid var(--border); padding: 0 5%; display: flex; flex-direction: row; align-items: center; justify-content: space-between; height: 74px; font-family: 'Source Sans 3', sans-serif; }
a.mn-logo { display: inline-flex; align-items: center; flex: 0 0 auto; padding: 0; margin: 0; text-decoration: none; line-height: 1; }
a.mn-logo img { height: 40px; width: auto; display: block; padding: 0; margin: 0; }
.mn-nav-links { display: flex; align-items: center; gap: 1.75rem; list-style: none; white-space: nowrap; margin: 0; padding: 0; }
.mn-nav-links li { display: flex; align-items: center; margin: 0; padding: 0; }
.mn-nav-links li a { font-size: 0.875rem; font-weight: 700; color: var(--text-body); text-decoration: none; border-bottom: 1.5px solid transparent; padding-bottom: 2px; transition: color 0.2s, border-color 0.2s; line-height: 1.4; }
.mn-nav-links li a:hover { color: var(--green); border-bottom-color: var(--green); }
.mn-hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; background: none; border: none; padding: 6px; }
.mn-hamburger span { display: block; width: 22px; height: 2px; background: var(--charcoal); border-radius: 2px; transition: all 0.3s; }
.mn-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mn-hamburger.open span:nth-child(2) { opacity: 0; }
.mn-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.mn-mobile-menu { display: none; position: fixed; top: 74px; left: 0; right: 0; background: var(--white); border-bottom: 1px solid var(--border); z-index: 199; padding: 1.5rem 5%; flex-direction: column; gap: 0; box-shadow: 0 8px 24px rgba(0,0,0,0.08); }
.mn-mobile-menu.open { display: flex; }
.mn-mobile-menu a { color: var(--text-body); text-decoration: none; font-size: 1rem; padding: 0.85rem 0; border-bottom: 1px solid var(--border-light); font-family: 'Source Sans 3', sans-serif; transition: color 0.2s; }
.mn-mobile-menu a:last-child { border-bottom: none; }
.mn-mobile-menu a:hover { color: var(--green); }

/* ============================================================
   FOOTER LOGO
   ============================================================ */

a.mn-footer-logo { display: inline-flex; align-items: center; flex: 0 0 auto; padding: 1px 0; margin-bottom: 0.85rem; text-decoration: none; line-height: 1; }
a.mn-footer-logo img { height: 72px; width: auto; display: block; filter: brightness(0) invert(1); }

/* ============================================================
   HERO
   ============================================================ */

.mn-hero { background: var(--white); border-bottom: 1px solid var(--border); padding: 5rem 5% 4rem; display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 5rem; align-items: center; }
.mn-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.1em; color: var(--green); text-transform: uppercase; margin-bottom: 1.25rem; font-family: 'Source Sans 3', sans-serif; }
.mn-eyebrow::before { content:''; width:24px; height:2px; background:var(--green); }
.mn-hero-title { font-family: 'Playfair Display', serif; font-weight: 700; font-size: clamp(2.2rem, 4vw, 3.6rem); line-height: 1.1; letter-spacing: -0.02em; color: var(--charcoal); margin-bottom: 1.25rem; }
.mn-hero-title em { font-style: italic; color: var(--green); }
.mn-hero-sub { font-size: 1.05rem; font-weight: 300; color: var(--text-body); max-width: 500px; line-height: 1.8; margin-bottom: 2rem; font-family: 'Source Sans 3', sans-serif; }
.mn-hero-actions { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.mn-btn-primary { background: var(--green); color: var(--white); font-family: 'Source Sans 3', sans-serif; font-weight: 600; font-size: 0.95rem; padding: 12px 28px; border-radius: 4px; text-decoration: none; transition: background 0.2s; display: inline-block; }
.mn-btn-primary:hover { background: #236642; color: var(--white); }
.mn-btn-text { color: var(--text-body); font-size: 0.9rem; text-decoration: none; display: inline-flex; align-items: center; gap: 5px; border-bottom: 1px solid var(--border); padding-bottom: 1px; transition: color 0.2s, border-color 0.2s; font-family: 'Source Sans 3', sans-serif; }
.mn-btn-text:hover { color: var(--green); border-color: var(--green); }
.mn-btn-youtube { display: inline-flex; align-items: center; gap: 7px; background: #ff0000; color: var(--white); font-family: 'Source Sans 3', sans-serif; font-weight: 600; font-size: 0.875rem; padding: 10px 20px; border-radius: 4px; text-decoration: none; transition: background 0.2s; }
.mn-btn-youtube:hover { background: #cc0000; color: var(--white); }
.mn-trust { display: flex; align-items: center; gap: 1.5rem; margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--border-light); flex-wrap: wrap; }
.mn-trust-item { display: flex; align-items: center; gap: 6px; font-size: 0.8rem; color: var(--text-muted); font-family: 'Source Sans 3', sans-serif; }
.mn-trust-icon { width: 16px; height: 16px; border-radius: 50%; background: var(--green-light); color: var(--green); display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 0.6rem; font-weight: 700; }

/* ============================================================
   CAROUSEL
   ============================================================ */

.mn-carousel { position: relative; }
.mn-carousel-track { position: relative; overflow: hidden; }
.mn-carousel-slide { display: none; animation: mn-fade-in 0.4s ease; }
.mn-carousel-slide.active { display: block; }
@keyframes mn-fade-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.mn-carousel-controls { display: flex; align-items: center; justify-content: center; gap: 0.75rem; margin-top: 0.85rem; }
.mn-carousel-prev, .mn-carousel-next { background: var(--white); border: 1px solid var(--border); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; color: var(--charcoal); cursor: pointer; transition: all 0.2s; padding: 0; }
.mn-carousel-prev:hover, .mn-carousel-next:hover { background: var(--green); color: var(--white); border-color: var(--green); }
.mn-carousel-dots { display: flex; align-items: center; gap: 6px; }
.mn-carousel-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--border); border: none; cursor: pointer; transition: all 0.2s; padding: 0; }
.mn-carousel-dot.active { background: var(--green); transform: scale(1.3); }

/* ============================================================
   FEATURED CARD
   ============================================================ */

.mn-featured-card { background: var(--cream); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; box-shadow: var(--card-shadow); display: flex; flex-direction: column; }
.mn-featured-thumb { width: 100%; height: 200px; position: relative; overflow: hidden; background: linear-gradient(135deg, #1a4731 0%, #2a7d4f 60%, #3a9962 100%); display: flex; align-items: center; justify-content: center; }
.mn-featured-thumb img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.mn-featured-thumb-fallback { font-family: 'Playfair Display', serif; font-size: 1.4rem; font-weight: 700; color: rgba(255,255,255,0.9); text-align: center; padding: 0 1.5rem; line-height: 1.3; position: relative; z-index: 1; }
.mn-featured-label { position: absolute; top: 12px; left: 12px; z-index: 2; background: var(--white); color: var(--green); font-size: 0.65rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; padding: 4px 10px; border-radius: 2px; font-family: 'Source Sans 3', sans-serif; }
.mn-featured-body { padding: 1.5rem; flex: 1; display: flex; flex-direction: column; }
.mn-featured-cat { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--green); font-weight: 600; margin-bottom: 0.5rem; font-family: 'Source Sans 3', sans-serif; }
.mn-featured-title { font-family: 'Playfair Display', serif; font-weight: 600; font-size: 1.05rem; line-height: 1.4; color: var(--charcoal); margin-bottom: 0.75rem; text-decoration: none; display: block; transition: color 0.15s; }
.mn-featured-title:hover { color: var(--green); }
.mn-featured-excerpt { font-size: 0.875rem; color: var(--text-body); line-height: 1.65; font-family: 'Source Sans 3', sans-serif; flex: 1; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mn-featured-footer { padding: 1rem 1.5rem; border-top: 1px solid var(--border-light); display: flex; align-items: center; justify-content: space-between; }
.mn-featured-meta { font-size: 0.75rem; color: var(--text-muted); font-family: 'Source Sans 3', sans-serif; }
.mn-featured-read { font-size: 0.8rem; color: var(--green); font-weight: 600; text-decoration: none; font-family: 'Source Sans 3', sans-serif; }
.mn-featured-read:hover { text-decoration: underline; }

/* ============================================================
   AD PLACEHOLDERS
   ============================================================ */

.mn-ad-wrap { padding: 1.5rem 5%; background: var(--cream); }
.mn-ad-placeholder { background: var(--white); border: 1px dashed var(--border); border-radius: 4px; display: flex; align-items: center; justify-content: center; color: var(--text-light); font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; height: 90px; font-family: 'Source Sans 3', sans-serif; }
.mn-ad-inline { height: 90px; margin-bottom: 2rem; border-radius: 4px; }
.mn-sidebar-ad { background: var(--white); border: 1px dashed var(--border); border-radius: 6px; height: 250px; display: flex; align-items: center; justify-content: center; color: var(--text-light); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.06em; font-family: 'Source Sans 3', sans-serif; }

/* ============================================================
   SHARED SECTION
   ============================================================ */

.mn-section { padding: 4rem 5%; }
.mn-section-label { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--green); font-weight: 600; display: flex; align-items: center; gap: 8px; margin-bottom: 0.5rem; font-family: 'Source Sans 3', sans-serif; }
.mn-section-label::before { content:''; width:20px; height:2px; background:var(--green); }
.mn-section-title { font-family: 'Playfair Display', serif; font-weight: 700; font-size: clamp(1.5rem, 2.5vw, 2.2rem); letter-spacing: -0.015em; color: var(--charcoal); line-height: 1.2; }
.mn-section-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 2rem; flex-wrap: wrap; gap: 0.5rem; }
.mn-section-link { font-size: 0.85rem; color: var(--green); font-weight: 600; text-decoration: none; border-bottom: 1px solid transparent; transition: border-color 0.2s; margin-bottom: 2px; font-family: 'Source Sans 3', sans-serif; }
.mn-section-link:hover { border-bottom-color: var(--green); color: var(--green); }

/* ============================================================
   CATEGORIES GRID
   ============================================================ */

.mn-cat-section { background: var(--white); border-bottom: 1px solid var(--border); }
.mn-cat-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; }
.mn-cat-card { background: var(--cream); border: 1px solid var(--border); border-radius: 6px; padding: 1.4rem 1.1rem; text-decoration: none; transition: all 0.2s; border-top: 3px solid var(--cat-color, var(--green)); display: block; }
.mn-cat-card:hover { background: var(--white); box-shadow: var(--card-shadow); transform: translateY(-2px); }
.mn-cat-icon { font-size: 1.4rem; margin-bottom: 0.7rem; display: block; }
.mn-cat-name { font-family: 'Playfair Display', serif; font-weight: 600; font-size: 0.9rem; color: var(--charcoal); margin-bottom: 0.3rem; line-height: 1.3; }
.mn-cat-desc { font-size: 0.78rem; color: var(--text-muted); line-height: 1.55; font-family: 'Source Sans 3', sans-serif; }
.mn-cat-arrow { display: inline-flex; align-items: center; gap: 4px; font-size: 0.7rem; color: var(--cat-color, var(--green)); font-weight: 600; margin-top: 0.8rem; font-family: 'Source Sans 3', sans-serif; }

/* ============================================================
   ARTICLE LIST + SIDEBAR
   ============================================================ */

.mn-articles-section { background: var(--cream); }
.mn-articles-layout { display: grid; grid-template-columns: 1fr 300px; gap: 3rem; align-items: start; }
.mn-articles-list { display: flex; flex-direction: column; }
.mn-article-row { display: grid; grid-template-columns: 110px 1fr; gap: 1.1rem; padding: 1.4rem 0; border-bottom: 1px solid var(--border-light); text-decoration: none; }
.mn-article-row:first-child { padding-top: 0; }
.mn-article-row:last-child { border-bottom: none; }
.mn-article-row:hover .mn-article-title { color: var(--green); }
.mn-article-thumb { width: 110px; height: 75px; border-radius: 4px; overflow: hidden; flex-shrink: 0; background: linear-gradient(135deg, var(--green-light) 0%, var(--cream-dark) 100%); display: flex; align-items: center; justify-content: center; position: relative; }
.mn-article-thumb img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.mn-article-thumb-fallback { font-family: 'Playfair Display', serif; font-size: 0.65rem; font-weight: 600; color: var(--green); text-align: center; padding: 0.2rem; line-height: 1.3; position: relative; z-index: 1; }
.mn-article-cat { font-size: 0.63rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--green); font-weight: 600; margin-bottom: 0.25rem; font-family: 'Source Sans 3', sans-serif; }
.mn-article-title { font-family: 'Playfair Display', serif; font-weight: 600; font-size: 0.95rem; color: var(--charcoal); line-height: 1.35; margin-bottom: 0.35rem; transition: color 0.15s; }
.mn-article-meta { font-size: 0.7rem; color: var(--text-muted); font-family: 'Source Sans 3', sans-serif; }
.mn-sidebar { display: flex; flex-direction: column; gap: 1.25rem; }
.mn-sidebar-card { background: var(--white); border: 1px solid var(--border); border-radius: 6px; overflow: hidden; }
.mn-sidebar-head { padding: 0.9rem 1.1rem; border-bottom: 1px solid var(--border-light); font-family: 'Playfair Display', serif; font-weight: 600; font-size: 0.9rem; color: var(--charcoal); }
.mn-sidebar-body { padding: 1rem 1.1rem; }
.mn-popular-list { display: flex; flex-direction: column; }
.mn-popular-item { display: flex; align-items: flex-start; gap: 10px; padding: 0.8rem 0; border-bottom: 1px solid var(--border-light); text-decoration: none; }
.mn-popular-item:last-child { border-bottom: none; padding-bottom: 0; }
.mn-popular-num { font-family: 'Playfair Display', serif; font-weight: 700; font-size: 1rem; color: var(--cream-dark); line-height: 1; flex-shrink: 0; width: 20px; }
.mn-popular-title { font-size: 0.82rem; color: var(--charcoal); line-height: 1.4; transition: color 0.15s; font-family: 'Source Sans 3', sans-serif; }
.mn-popular-item:hover .mn-popular-title { color: var(--green); }

/* ============================================================
   DISCLAIMER
   ============================================================ */

.mn-disclaimer { background: var(--red-light); border-top: 1px solid #f0d0d0; border-bottom: 1px solid #f0d0d0; padding: 1rem 5%; display: flex; align-items: flex-start; gap: 12px; }
.mn-disclaimer-icon { width: 20px; height: 20px; border-radius: 50%; background: var(--red); color: white; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 0.65rem; font-weight: 700; margin-top: 1px; }
.mn-disclaimer-text { font-size: 0.78rem; color: #7a3232; line-height: 1.55; font-family: 'Source Sans 3', sans-serif; }
.mn-disclaimer-text a { color: #7a3232; }

/* ============================================================
   YOUTUBE SECTION
   ============================================================ */

.mn-youtube-section { background: var(--white); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.mn-yt-inner { display: grid; grid-template-columns: 320px 1fr; gap: 3.5rem; align-items: center; padding: 4rem 5%; }
.mn-yt-desc { font-size: 0.95rem; color: var(--text-body); line-height: 1.75; margin-bottom: 1.5rem; font-family: 'Source Sans 3', sans-serif; }
.mn-yt-cta-group { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 0.75rem; }
.mn-btn-yt-big { display: inline-flex; align-items: center; gap: 9px; background: #ff0000; color: var(--white); font-family: 'Source Sans 3', sans-serif; font-weight: 700; font-size: 1rem; padding: 13px 24px; border-radius: 4px; text-decoration: none; transition: background 0.2s; }
.mn-btn-yt-big:hover { background: #cc0000; color: var(--white); }
.mn-btn-yt-ghost { font-size: 0.875rem; color: var(--green); font-weight: 600; text-decoration: none; border-bottom: 1px solid transparent; transition: border-color 0.2s; font-family: 'Source Sans 3', sans-serif; }
.mn-btn-yt-ghost:hover { border-bottom-color: var(--green); }
.mn-yt-fine { font-size: 0.75rem; color: var(--text-light); font-family: 'Source Sans 3', sans-serif; }
.mn-video-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.mn-video-card { background: var(--cream); border: 1px solid var(--border); border-radius: 6px; overflow: hidden; text-decoration: none; transition: all 0.2s; display: block; }
.mn-video-card:hover { box-shadow: var(--card-shadow); transform: translateY(-2px); }
.mn-video-thumb { width: 100%; height: 155px; background: linear-gradient(135deg, #1a4731 0%, #2a7d4f 100%); display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.mn-play-circle { width: 46px; height: 46px; border-radius: 50%; background: rgba(255,255,255,0.9); display: flex; align-items: center; justify-content: center; transition: transform 0.2s; z-index: 1; position: relative; }
.mn-video-card:hover .mn-play-circle { transform: scale(1.08); background: white; }
.mn-play-tri { width: 0; height: 0; border-left: 14px solid var(--green); border-top: 9px solid transparent; border-bottom: 9px solid transparent; margin-left: 3px; }
.mn-video-dur { position: absolute; bottom: 8px; right: 10px; background: rgba(0,0,0,0.65); color: white; font-size: 0.7rem; font-weight: 600; padding: 2px 7px; border-radius: 2px; font-family: 'Source Sans 3', sans-serif; z-index: 1; }
.mn-video-body { padding: 1rem 1.1rem; }
.mn-video-title { font-family: 'Playfair Display', serif; font-weight: 600; font-size: 0.9rem; color: var(--charcoal); line-height: 1.4; margin-bottom: 0.35rem; }
.mn-video-sub { font-size: 0.75rem; color: var(--text-muted); font-family: 'Source Sans 3', sans-serif; }

/* ============================================================
   WHY SECTION
   ============================================================ */

.mn-why-section { background: var(--cream-mid); border-top: 1px solid var(--border); }
.mn-why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 2rem; }
.mn-why-card { background: var(--white); border: 1px solid var(--border); border-radius: 6px; padding: 1.6rem 1.4rem; transition: box-shadow 0.2s; }
.mn-why-card:hover { box-shadow: var(--card-shadow); }
.mn-why-num { font-family: 'Playfair Display', serif; font-weight: 700; font-size: 2.2rem; color: var(--cream-dark); line-height: 1; margin-bottom: 0.8rem; }
.mn-why-title { font-family: 'Playfair Display', serif; font-weight: 600; font-size: 0.95rem; color: var(--charcoal); margin-bottom: 0.45rem; }
.mn-why-desc { font-size: 0.875rem; color: var(--text-body); line-height: 1.7; font-family: 'Source Sans 3', sans-serif; }

/* ============================================================
   TOPIC PILLS
   ============================================================ */

.mn-topics-section { background: var(--white); border-top: 1px solid var(--border); padding: 3rem 5%; }
.mn-topics-pills { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.25rem; }
.mn-topic-pill { background: var(--cream); border: 1px solid var(--border); border-radius: 20px; padding: 6px 15px; font-size: 0.8rem; color: var(--text-body); text-decoration: none; transition: all 0.2s; font-family: 'Source Sans 3', sans-serif; }
.mn-topic-pill:hover { background: var(--green-light); border-color: var(--green); color: var(--green); }
.mn-pill-count { display: inline-flex; align-items: center; justify-content: center; background: var(--border); color: var(--text-muted); font-size: 0.65rem; font-weight: 600; border-radius: 10px; padding: 1px 6px; margin-left: 4px; }
.mn-topic-pill:hover .mn-pill-count { background: var(--green); color: white; }

/* ============================================================
   FOOTER
   ============================================================ */

.mn-footer { background: var(--charcoal-mid, #2e2e2e); border-top: 1px solid #444; padding: 3.5rem 5% 2rem; }
.mn-footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; margin-bottom: 2.5rem; }
.mn-footer-tagline { font-size: 0.875rem; color: #888; line-height: 1.65; max-width: 240px; font-family: 'Source Sans 3', sans-serif; margin-top: 0.5rem; }
.mn-footer-col-title { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.1em; color: #888; font-weight: 600; margin-bottom: 1rem; font-family: 'Source Sans 3', sans-serif; }
.mn-footer-links { list-style: none; display: flex; flex-direction: column; gap: 0.5rem; padding: 0; margin: 0; }
.mn-footer-links a { font-size: 0.875rem; color: #aaa; text-decoration: none; transition: color 0.2s; font-family: 'Source Sans 3', sans-serif; }
.mn-footer-links a:hover { color: var(--cream); }
.mn-footer-bottom { border-top: 1px solid #3a3a3a; padding-top: 1.5rem; display: flex; align-items: center; justify-content: space-between; font-size: 0.75rem; color: #666; flex-wrap: wrap; gap: 0.75rem; font-family: 'Source Sans 3', sans-serif; }
.mn-footer-legal { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.mn-footer-legal a { color: #666; text-decoration: none; }
.mn-footer-legal a:hover { color: #aaa; }

/* ============================================================
   CATEGORY PAGE
   ============================================================ */

.mn-cat-hero { background: var(--white); border-bottom: 1px solid var(--border); padding: 4rem 5% 3.5rem; border-top: 4px solid var(--cat-color, var(--green)); }
.mn-cat-hero-inner { display: grid; grid-template-columns: 1fr 200px; gap: 3rem; align-items: center; max-width: 1100px; }
.mn-cat-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.1em; color: var(--cat-color, var(--green)); text-transform: uppercase; margin-bottom: 1rem; font-family: 'Source Sans 3', sans-serif; }
.mn-cat-eyebrow-icon { font-size: 1rem; }
.mn-cat-hero-title { font-family: 'Playfair Display', serif; font-weight: 700; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.1; letter-spacing: -0.02em; color: var(--charcoal); margin-bottom: 1rem; }
.mn-cat-hero-intro { font-size: 1rem; font-weight: 300; color: var(--text-body); line-height: 1.8; max-width: 580px; margin-bottom: 1.25rem; font-family: 'Source Sans 3', sans-serif; }
.mn-cat-hero-meta { display: flex; align-items: center; gap: 0.75rem; font-size: 0.8rem; color: var(--text-muted); font-family: 'Source Sans 3', sans-serif; }
.mn-cat-count { font-weight: 600; color: var(--cat-color, var(--green)); }
.mn-cat-hero-badge { border-radius: 12px; padding: 2rem 1.5rem; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.5rem; }
.mn-cat-hero-badge-icon { font-size: 2.5rem; }
.mn-cat-hero-badge-name { font-family: 'Playfair Display', serif; font-weight: 700; font-size: 1rem; color: var(--charcoal); }
.mn-cat-hero-badge-sub { font-size: 0.72rem; color: var(--text-muted); font-family: 'Source Sans 3', sans-serif; }
.mn-catpage-articles { background: var(--cream); }
.mn-catpage-layout { display: grid; grid-template-columns: 1fr 300px; gap: 3rem; align-items: start; }
.mn-catpage-list { display: flex; flex-direction: column; gap: 0; }
.mn-catpage-featured { display: grid; grid-template-columns: 280px 1fr; gap: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--border-light); text-decoration: none; }
.mn-catpage-featured:hover .mn-catpage-featured-title { color: var(--green); }
.mn-catpage-featured-thumb { width: 280px; height: 185px; border-radius: 6px; overflow: hidden; position: relative; flex-shrink: 0; background: var(--green-light); }
.mn-catpage-featured-thumb img { width: 100%; height: 100%; object-fit: cover; }
.mn-catpage-featured-thumb-fallback { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; padding: 1rem; text-align: center; }
.mn-catpage-featured-badge { position: absolute; top: 10px; left: 10px; color: white; font-size: 0.65rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; padding: 3px 10px; border-radius: 2px; font-family: 'Source Sans 3', sans-serif; }
.mn-catpage-featured-body { display: flex; flex-direction: column; justify-content: center; }
.mn-catpage-featured-title { font-family: 'Playfair Display', serif; font-weight: 700; font-size: 1.2rem; color: var(--charcoal); line-height: 1.35; margin-bottom: 0.75rem; transition: color 0.15s; }
.mn-catpage-featured-excerpt { font-size: 0.875rem; color: var(--text-body); line-height: 1.65; margin-bottom: 0.75rem; font-family: 'Source Sans 3', sans-serif; }
.mn-pagination { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--border-light); }
.mn-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 4px; border: 1px solid var(--border); font-size: 0.85rem; color: var(--text-body); text-decoration: none; font-family: 'Source Sans 3', sans-serif; transition: all 0.2s; }
.mn-pagination .page-numbers:hover { border-color: var(--green); color: var(--green); }
.mn-pagination .page-numbers.current { background: var(--green); color: white; border-color: var(--green); }
.mn-pagination .prev, .mn-pagination .next { width: auto; padding: 0 14px; }
.mn-related-cat-link { display: flex; align-items: center; gap: 10px; text-decoration: none; padding: 0.6rem 0.75rem; border: 1px solid var(--border); border-radius: 6px; background: var(--cream); transition: all 0.2s; border-left: 3px solid var(--rc-color, var(--green)); }
.mn-related-cat-link:hover { background: var(--white); box-shadow: var(--card-shadow); }
.mn-related-cat-icon { font-size: 1.25rem; flex-shrink: 0; }
.mn-related-cat-name { font-family: 'Playfair Display', serif; font-weight: 600; font-size: 0.875rem; color: var(--charcoal); }
.mn-related-cat-count { font-size: 0.7rem; color: var(--text-muted); font-family: 'Source Sans 3', sans-serif; }
.mn-related-band .mn-related-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }

/* ============================================================
   SINGLE ARTICLE
   ============================================================ */

.mn-single-hero { background: var(--white); border-bottom: 1px solid var(--border); border-top: 4px solid var(--cat-color, var(--green)); padding: 3rem 5% 2.5rem; }
.mn-single-hero-inner { max-width: 780px; }
.mn-single-hero-full { max-width: 100%; width: 100%; }
.mn-single-hero-full .mn-single-title { font-size: clamp(2rem, 4vw, 3.2rem); max-width: 900px; }
.mn-single-breadcrumb { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 0.75rem; color: var(--text-muted); margin-bottom: 1rem; font-family: 'Source Sans 3', sans-serif; }
.mn-single-breadcrumb a { color: var(--text-muted); text-decoration: none; transition: color 0.2s; }
.mn-single-breadcrumb a:hover { color: var(--green); }
.mn-single-cat-label { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.1em; font-weight: 600; margin-bottom: 0.6rem; font-family: 'Source Sans 3', sans-serif; }
.mn-single-title { font-family: 'Playfair Display', serif; font-weight: 700; font-size: clamp(1.75rem, 3.5vw, 2.75rem); line-height: 1.15; letter-spacing: -0.02em; color: var(--charcoal); margin-bottom: 1.25rem; }
.mn-single-meta { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; font-size: 0.8rem; color: var(--text-muted); font-family: 'Source Sans 3', sans-serif; }
.mn-single-meta strong { color: var(--charcoal); }
.mn-meta-dot { opacity: 0.4; }
.mn-single-layout-section { background: var(--cream); }
.mn-single-layout { display: grid; grid-template-columns: 1fr 300px; gap: 3rem; align-items: start; }
.mn-single-thumb-container { border-radius: 8px; overflow: hidden; box-shadow: var(--card-shadow); margin-bottom: 2.5rem; background: var(--cream-mid); }
.mn-single-thumb { width: 100%; height: auto; display: block; object-fit: contain; max-height: 480px; }
.mn-single-disclaimer { background: var(--red-light); border: 1px solid #f0d0d0; border-radius: 6px; padding: 0.9rem 1.1rem; font-size: 0.8rem; color: #7a3232; line-height: 1.6; margin-bottom: 2rem; font-family: 'Source Sans 3', sans-serif; text-align: center; max-width: 640px; margin-left: auto; margin-right: auto; }
.mn-single-disclaimer a { color: #7a3232; }
.mn-single-body { font-family: 'Source Sans 3', sans-serif; font-size: 1.05rem; color: var(--text-body); line-height: 1.85; }
.mn-single-body h2 { font-family: 'Playfair Display', serif; font-weight: 700; font-size: 1.6rem; color: var(--charcoal); margin: 2.5rem 0 1rem; letter-spacing: -0.015em; line-height: 1.25; }
.mn-single-body h3 { font-family: 'Playfair Display', serif; font-weight: 600; font-size: 1.2rem; color: var(--charcoal); margin: 2rem 0 0.75rem; line-height: 1.3; }
.mn-single-body p { margin-bottom: 1.4rem; }
.mn-single-body ul, .mn-single-body ol { margin: 0 0 1.4rem 1.5rem; padding: 0; }
.mn-single-body li { margin-bottom: 0.5rem; }
.mn-single-body strong { color: var(--charcoal); font-weight: 600; }
.mn-single-body a { color: var(--green); text-decoration: underline; }
.mn-single-body a:hover { color: #236642; }
.mn-single-body blockquote { border-left: 3px solid var(--green); margin: 2rem 0; padding: 1rem 1.5rem; background: var(--green-light); border-radius: 0 6px 6px 0; font-style: italic; color: var(--charcoal); }
.mn-single-body table { width: 100%; border-collapse: collapse; margin-bottom: 1.5rem; font-size: 0.9rem; }
.mn-single-body th { background: var(--charcoal); color: var(--cream); padding: 0.75rem 1rem; text-align: left; font-family: 'Playfair Display', serif; font-weight: 600; }
.mn-single-body td { padding: 0.75rem 1rem; border-bottom: 1px solid var(--border); color: var(--text-body); }
.mn-single-body tr:nth-child(even) td { background: var(--cream-mid); }
.mn-author-box { display: flex; gap: 1.25rem; align-items: flex-start; background: var(--white); border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem; margin-top: 2.5rem; }
.mn-author-img { border-radius: 50%; width: 64px; height: 64px; flex-shrink: 0; }
.mn-author-label { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--text-muted); font-weight: 600; margin-bottom: 0.2rem; font-family: 'Source Sans 3', sans-serif; }
.mn-author-name { font-family: 'Playfair Display', serif; font-weight: 700; font-size: 1rem; color: var(--charcoal); margin-bottom: 0.4rem; }
.mn-author-bio { font-size: 0.85rem; color: var(--text-body); line-height: 1.65; font-family: 'Source Sans 3', sans-serif; }
.mn-single-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-top: 1.75rem; padding-top: 1.5rem; border-top: 1px solid var(--border-light); }
.mn-tags-label { font-size: 0.8rem; color: var(--text-muted); font-family: 'Source Sans 3', sans-serif; }
.mn-related-articles { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--border-light); }
.mn-related-grid-sm { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-top: 1rem; }
.mn-related-card { text-decoration: none; display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; transition: all 0.2s; }
.mn-related-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.1); transform: translateY(-3px); }
.mn-related-thumb { width: 100%; height: 160px; overflow: hidden; position: relative; background: var(--green-light); flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.mn-related-thumb img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; transition: transform 0.3s; }
.mn-related-card:hover .mn-related-thumb img { transform: scale(1.04); }
.mn-related-thumb-fallback { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.mn-related-body { padding: 1rem 1.1rem; display: flex; flex-direction: column; gap: 0.3rem; flex: 1; }
.mn-related-title { font-family: 'Playfair Display', serif; font-weight: 600; font-size: 0.9rem; color: var(--charcoal); line-height: 1.4; transition: color 0.15s; }
.mn-related-card:hover .mn-related-title { color: var(--green); }
.mn-toc { display: flex; flex-direction: column; gap: 0; }
.mn-toc-link { font-size: 0.82rem; color: var(--text-body); text-decoration: none; padding: 0.5rem 0; border-bottom: 1px solid var(--border-light); line-height: 1.4; transition: color 0.15s; font-family: 'Source Sans 3', sans-serif; display: block; }
.mn-toc-link:last-child { border-bottom: none; }
.mn-toc-link:hover { color: var(--green); }

/* ============================================================
   ALL TOPICS PAGE
   ============================================================ */

.mn-at-hero { background: var(--white); border-bottom: 1px solid var(--border); border-top: 4px solid var(--green); padding: 4rem 5% 3rem; }
.mn-at-hero-inner { max-width: 640px; }
.mn-at-title { font-family: 'Playfair Display', serif; font-weight: 700; font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -0.02em; color: var(--charcoal); line-height: 1.1; margin-bottom: 0.85rem; }
.mn-at-sub { font-size: 1rem; font-weight: 300; color: var(--text-body); line-height: 1.75; font-family: 'Source Sans 3', sans-serif; }
.mn-at-categories { background: var(--cream); }
.mn-at-cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.mn-at-cat-card { background: var(--white); border: 1px solid var(--border); border-radius: 8px; padding: 1.6rem 1.4rem; text-decoration: none; display: block; border-top: 3px solid var(--cat-color, var(--green)); transition: all 0.2s; }
.mn-at-cat-card:hover { box-shadow: var(--card-shadow); transform: translateY(-2px); }
.mn-at-cat-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.75rem; }
.mn-at-cat-icon { font-size: 1.6rem; }
.mn-at-cat-count { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.05em; font-family: 'Source Sans 3', sans-serif; }
.mn-at-cat-name { font-family: 'Playfair Display', serif; font-weight: 700; font-size: 1.1rem; color: var(--charcoal); margin-bottom: 0.5rem; }
.mn-at-cat-desc { font-size: 0.82rem; color: var(--text-muted); line-height: 1.6; margin-bottom: 1rem; font-family: 'Source Sans 3', sans-serif; }
.mn-at-cat-arrow { font-size: 0.75rem; font-weight: 600; font-family: 'Source Sans 3', sans-serif; }

/* ============================================================
   ALL ARTICLES PAGE
   ============================================================ */

.mn-filter-bar { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; padding: 1.25rem 5%; background: var(--white); border-bottom: 1px solid var(--border); }
.mn-filter-pill { background: var(--cream); border: 1px solid var(--border); border-radius: 20px; padding: 6px 16px; font-size: 0.8rem; color: var(--text-body); text-decoration: none; transition: all 0.2s; font-family: 'Source Sans 3', sans-serif; }
.mn-filter-pill:hover { background: var(--green-light); border-color: var(--green); color: var(--green); }
.mn-filter-pill.active { background: var(--pill-color, var(--green)); color: white; border-color: var(--pill-color, var(--green)); }
.mn-aa-section { background: var(--cream); }
.mn-aa-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.mn-aa-card { background: var(--white); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; text-decoration: none; display: flex; flex-direction: column; transition: all 0.2s; }
.mn-aa-card:hover { box-shadow: var(--card-shadow); transform: translateY(-2px); }
.mn-aa-thumb { width: 100%; height: 170px; overflow: hidden; position: relative; background: var(--green-light); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.mn-aa-thumb img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; transition: transform 0.3s; }
.mn-aa-card:hover .mn-aa-thumb img { transform: scale(1.04); }
.mn-aa-thumb-fallback { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.mn-aa-body { padding: 1.1rem 1.25rem; display: flex; flex-direction: column; gap: 0.3rem; flex: 1; }
.mn-aa-title { font-family: 'Playfair Display', serif; font-weight: 600; font-size: 0.95rem; color: var(--charcoal); line-height: 1.35; margin-bottom: 0.35rem; transition: color 0.15s; }
.mn-aa-card:hover .mn-aa-title { color: var(--green); }
.mn-aa-excerpt { font-size: 0.8rem; color: var(--text-muted); line-height: 1.6; font-family: 'Source Sans 3', sans-serif; flex: 1; }

/* ============================================================
   LEGAL PAGES
   ============================================================ */

.mn-legal-hero { background: var(--white); border-bottom: 1px solid var(--border); border-top: 4px solid var(--green); padding: 3.5rem 5% 3rem; }
.mn-legal-hero-inner { max-width: 640px; }
.mn-legal-icon { font-size: 2.5rem; margin-bottom: 0.75rem; display: block; }
.mn-legal-title { font-family: 'Playfair Display', serif; font-weight: 700; font-size: clamp(1.75rem, 3vw, 2.5rem); letter-spacing: -0.02em; color: var(--charcoal); line-height: 1.15; margin-bottom: 0.6rem; }
.mn-legal-sub { font-size: 1rem; color: var(--text-muted); font-family: 'Source Sans 3', sans-serif; line-height: 1.65; }
.mn-legal-layout { display: grid; grid-template-columns: 1fr 260px; gap: 3rem; align-items: start; background: var(--cream); }
.mn-legal-content { background: var(--white); border: 1px solid var(--border); border-radius: 8px; padding: 2.5rem; font-family: 'Source Sans 3', sans-serif; font-size: 1rem; color: var(--text-body); line-height: 1.8; }
.mn-legal-content h2 { font-family: 'Playfair Display', serif; font-weight: 700; font-size: 1.35rem; color: var(--charcoal); margin: 2rem 0 0.75rem; letter-spacing: -0.01em; }
.mn-legal-content h3 { font-family: 'Playfair Display', serif; font-weight: 600; font-size: 1.1rem; color: var(--charcoal); margin: 1.5rem 0 0.5rem; }
.mn-legal-content p { margin-bottom: 1.2rem; }
.mn-legal-content ul, .mn-legal-content ol { margin: 0 0 1.2rem 1.5rem; }
.mn-legal-content li { margin-bottom: 0.4rem; }
.mn-legal-content a { color: var(--green); text-decoration: underline; }
.mn-legal-content strong { color: var(--charcoal); font-weight: 600; }
.mn-legal-nav { display: flex; flex-direction: column; gap: 0; }
.mn-legal-nav-link { display: block; padding: 0.7rem 0; border-bottom: 1px solid var(--border-light); font-size: 0.875rem; color: var(--text-body); text-decoration: none; transition: color 0.15s; font-family: 'Source Sans 3', sans-serif; }
.mn-legal-nav-link:last-child { border-bottom: none; }
.mn-legal-nav-link:hover { color: var(--green); }
.mn-legal-nav-link.active { color: var(--green); font-weight: 600; }

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1024px) {
  .mn-cat-grid { grid-template-columns: repeat(3, 1fr); }
  .mn-articles-layout { grid-template-columns: 1fr 260px; gap: 2rem; }
  .mn-catpage-layout { grid-template-columns: 1fr 260px; gap: 2rem; }
  .mn-single-layout { grid-template-columns: 1fr 260px; gap: 2rem; }
  .mn-footer-top { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .mn-video-grid { grid-template-columns: 1fr 1fr; }
  .mn-yt-inner { grid-template-columns: 1fr; gap: 2rem; padding: 3rem 5%; }
  .mn-at-cat-grid { grid-template-columns: repeat(2, 1fr); }
  .mn-aa-grid { grid-template-columns: repeat(2, 1fr); }
  .mn-related-grid-sm { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .mn-nav-links { display: none; }
  .mn-hamburger { display: flex; }
  .mn-hero { grid-template-columns: 1fr; padding: 3rem 5% 2.5rem; gap: 2rem; }
  .mn-hero-right { order: -1; }
  .mn-featured-thumb { height: 180px; }
  .mn-cat-grid { grid-template-columns: repeat(2, 1fr); }
  .mn-articles-layout { grid-template-columns: 1fr; }
  .mn-sidebar { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 0.5rem; }
  .mn-why-grid { grid-template-columns: 1fr 1fr; }
  .mn-footer-top { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .mn-video-grid { grid-template-columns: 1fr 1fr; }
  .mn-cat-hero-inner { grid-template-columns: 1fr; gap: 1.5rem; }
  .mn-cat-hero-right { display: none; }
  .mn-catpage-layout { grid-template-columns: 1fr; }
  .mn-catpage-featured { grid-template-columns: 1fr; }
  .mn-catpage-featured-thumb { width: 100%; height: 200px; }
  .mn-single-layout { grid-template-columns: 1fr; }
  .mn-single-title { font-size: 1.75rem; }
  .mn-related-band .mn-related-grid { grid-template-columns: 1fr; }
  .mn-legal-layout { grid-template-columns: 1fr; }
  .mn-legal-sidebar { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
  .mn-legal-content { padding: 1.5rem; }
  .mn-yt-right .mn-video-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 480px) {
  .mn-hero { padding: 2.5rem 5% 2rem; }
  .mn-hero-title { font-size: 2rem; }
  .mn-cat-grid { grid-template-columns: 1fr 1fr; }
  .mn-article-row { grid-template-columns: 90px 1fr; gap: 0.85rem; }
  .mn-article-thumb { width: 90px; height: 65px; }
  .mn-why-grid { grid-template-columns: 1fr; }
  .mn-video-grid { grid-template-columns: 1fr; }
  .mn-sidebar { grid-template-columns: 1fr; }
  .mn-footer-top { grid-template-columns: 1fr; gap: 1.75rem; }
  .mn-section { padding: 3rem 5%; }
  .mn-footer-bottom { flex-direction: column; align-items: flex-start; }
  .mn-cat-hero { padding: 2.5rem 5% 2rem; }
  .mn-single-hero { padding: 2rem 5% 1.75rem; }
  .mn-single-title { font-size: 1.5rem; }
  .mn-author-box { flex-direction: column; }
  .mn-related-grid-sm { grid-template-columns: 1fr; }
  .mn-related-thumb { height: 200px; }
  .mn-legal-sidebar { grid-template-columns: 1fr; }
  .mn-single-body h2 { font-size: 1.35rem; }
  .mn-single-body h3 { font-size: 1.1rem; }
  .mn-at-cat-grid { grid-template-columns: 1fr; }
  .mn-aa-grid { grid-template-columns: 1fr; }
  .mn-hero-actions { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 360px) {
  .mn-cat-grid { grid-template-columns: 1fr; }
  .mn-article-row { grid-template-columns: 1fr; }
  .mn-article-thumb { width: 100%; height: 130px; border-radius: 4px 4px 0 0; }
}
