/*
 Theme Name: Montana News Dev Child
 Theme URI:
 Description: Child theme for the Montana News project.
 Author: Glacier I.T.
 Template: Divi
 Version: 1.0.6
*/

/* Custom styles for Montana News */


/* ==========================================================================
   MONTANA NEWS — DESIGN SYSTEM
   CSS only. Apply the mtn-* class names in a Divi module's
   Advanced tab > CSS ID & Classes > CSS Class.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700');
@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700');

/* --- 1. TOKENS ----------------------------------------------------------- */
:root{
  --mtn-evergreen:#173D35;
  --mtn-evergreen-deep:#0F2A25;
  --mtn-charcoal:#202322;
  --mtn-paper:#F6F3EC;
  --mtn-sage:#AAB8A8;
  --mtn-stone:#ECEDE8;
  --mtn-white:#FFFFFF;
  --mtn-ink-muted:#5C635F;
  --mtn-ink-faint:#828A85;
  --mtn-rule:#DDDCD3;
  --mtn-rule-soft:#E6E4DA;
  --mtn-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --mtn-serif:'Source Serif 4',Georgia,'Times New Roman',serif;
}

/* --- 2. GLOBAL TYPOGRAPHY ------------------------------------------------ */
body{
  background:var(--mtn-paper);
  font-family:var(--mtn-sans);
  font-size:17px;
  line-height:1.65;
  color:var(--mtn-charcoal);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--mtn-serif);
  color:var(--mtn-charcoal);
  font-weight:600;
  letter-spacing:-.015em;
  line-height:1.22;
}
a{color:var(--mtn-evergreen)}
a:hover{color:var(--mtn-charcoal)}

/* --- 3. SECTION HELPERS -------------------------------------------------- */
.mtn-band-paper{background-color:var(--mtn-paper)!important}
.mtn-band-stone{background-color:var(--mtn-stone)!important}
.mtn-band-green{background-color:var(--mtn-evergreen)!important}

.mtn-eyebrow,.mtn-eyebrow p{
  font-family:var(--mtn-sans)!important;
  font-size:11px!important;
  font-weight:600!important;
  letter-spacing:.2em!important;
  text-transform:uppercase!important;
  color:var(--mtn-evergreen)!important;
  line-height:1.6!important;
}

/* Hero with ridgeline signature */
.mtn-hero{position:relative;overflow:hidden}
.mtn-hero::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:120px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0 120 L0 78 L120 52 L210 74 L330 30 L430 66 L540 40 L640 72 L760 44 L880 76 L1000 48 L1120 80 L1240 56 L1340 82 L1440 62 L1440 120 Z' fill='%23AAB8A8' fill-opacity='.22'/%3E%3Cpath d='M0 120 L0 96 L140 82 L260 100 L390 70 L500 94 L620 76 L740 98 L860 80 L980 102 L1120 84 L1260 104 L1440 88 L1440 120 Z' fill='%23173D35' fill-opacity='.08'/%3E%3C/svg%3E") no-repeat center bottom;
  background-size:100% 120px;opacity:.55;pointer-events:none;z-index:0;
}
.mtn-hero > .et_pb_row{position:relative;z-index:1}
.mtn-hero h1{font-size:48px;letter-spacing:-.025em;color:var(--mtn-charcoal)}
.mtn-hero .mtn-hero-sub p{font-size:18px;color:var(--mtn-ink-muted)}

/* Section header */
.mtn-sec-head{border-bottom:2px solid var(--mtn-evergreen);padding-bottom:14px;margin-bottom:30px!important}
.mtn-sec-head h2{font-size:28px;color:var(--mtn-evergreen);margin:0 0 4px}
.mtn-sec-head p{font-size:12px;color:var(--mtn-ink-muted);line-height:1.5;padding-bottom:0!important}

/* --- 4. BLOG MODULE = THE STORY COMPONENT -------------------------------- */
.mtn-blog .et_pb_post{background:transparent;border:0;margin-bottom:0;padding:0}
.mtn-blog .et_pb_image_container{margin:0 0 20px}
.mtn-blog .et_pb_image_container img{border-radius:3px}

.mtn-blog .post-meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  font-size:0!important;margin:0 0 10px;padding:0;
}
.mtn-blog .post-meta a,
.mtn-blog .post-meta .published{
  font-family:var(--mtn-sans);font-size:11px!important;font-weight:600;
  letter-spacing:.11em;text-transform:uppercase;line-height:1.4;
}
.mtn-blog .post-meta a{order:1;color:var(--mtn-evergreen)!important;text-decoration:none}
.mtn-blog .post-meta a:hover{color:var(--mtn-charcoal)!important}
.mtn-blog .post-meta .published{order:2;color:var(--mtn-ink-faint)!important;font-weight:500;display:flex;align-items:center;gap:8px}
.mtn-blog .post-meta .published::before{content:'';width:3px;height:3px;border-radius:50%;background:var(--mtn-sage);display:inline-block}

.mtn-blog .entry-title{padding:0;margin:0}
.mtn-blog .entry-title a{
  font-family:var(--mtn-serif);color:var(--mtn-charcoal);font-weight:600;
  text-decoration:none;letter-spacing:-.015em;
}
.mtn-blog .entry-title a:hover{color:var(--mtn-evergreen)}

.mtn-blog .post-content{margin-top:12px}
.mtn-blog .post-content::before{
  content:'\2726  AI Summary';
  display:inline-block;margin-bottom:10px;
  font-family:var(--mtn-sans);font-size:11px;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:var(--mtn-evergreen);
  border:1px solid var(--mtn-sage);border-radius:100px;padding:2px 10px;
  background:rgba(170,184,168,.13);line-height:1.6;
}
.mtn-blog .post-content p{font-size:15px;color:var(--mtn-ink-muted);line-height:1.62;margin:0;padding:0}
.mtn-blog .post-content .more-link{display:none}

/* 4a. LEAD */
.mtn-blog--lead .entry-title a{font-size:38px;line-height:1.16;letter-spacing:-.025em}
.mtn-blog--lead .post-content p{font-size:17px;color:#3E4441;max-width:36em}

/* 4b. STACK */
.mtn-blog--stack .et_pb_post{padding:22px 0;border-top:1px solid var(--mtn-rule)}
.mtn-blog--stack .et_pb_post:first-of-type{padding-top:0;border-top:0}
.mtn-blog--stack .entry-title a{font-size:19px;line-height:1.28}
.mtn-blog--stack .post-content p{font-size:14px}

/* 4c. CARDS */
.mtn-blog--cards .et_pb_post{
  background:var(--mtn-white);border:1px solid var(--mtn-rule-soft);border-radius:3px;
  padding:24px;margin-bottom:24px!important;
  transition:border-color .18s ease,transform .18s ease;
}
.mtn-blog--cards .et_pb_post:hover{border-color:var(--mtn-sage);transform:translateY(-2px)}
.mtn-blog--cards .entry-title a{font-size:23px;line-height:1.26}

/* 4d. LIST */
.mtn-blog--list .et_pb_post{padding:18px 0;border-bottom:1px solid var(--mtn-rule)}
.mtn-blog--list .et_pb_post:last-of-type{border-bottom:0}
.mtn-blog--list .entry-title a{font-size:17px;line-height:1.3}
.mtn-blog--list .post-content p{font-size:14px}

.mtn-blog .pagination{display:none}

/* --- 5. TOPIC CHIPS ------------------------------------------------------ */
.mtn-chips{text-align:center}
.mtn-chips p{margin:0;line-height:2.4}
.mtn-chips a{
  display:inline-block;font-family:var(--mtn-sans);font-size:12px;font-weight:500;
  letter-spacing:.04em;color:var(--mtn-evergreen);background:var(--mtn-white);
  border:1px solid var(--mtn-rule);border-radius:100px;padding:6px 15px;margin:4px 3px;
  text-decoration:none;transition:background .15s,border-color .15s,color .15s;
}
.mtn-chips a:hover{background:var(--mtn-evergreen);border-color:var(--mtn-evergreen);color:#fff}

/* --- 6. NEWSLETTER ------------------------------------------------------- */
.mtn-newsletter{position:relative;overflow:hidden}
.mtn-newsletter h1,.mtn-newsletter h2,.mtn-newsletter h3{color:#fff!important;font-size:34px}
.mtn-newsletter p{color:rgba(255,255,255,.75)!important;font-size:17px}
.mtn-newsletter input[type=text],
.mtn-newsletter input[type=email]{
  background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.28)!important;
  color:#fff!important;border-radius:3px!important;font-family:var(--mtn-sans)!important;padding:14px 16px!important;
}
.mtn-newsletter ::placeholder{color:rgba(255,255,255,.5)!important}
.mtn-newsletter .et_pb_newsletter_button,
.mtn-newsletter .et_pb_button{
  background:var(--mtn-paper)!important;color:var(--mtn-evergreen)!important;border:0!important;
  border-radius:3px!important;font-family:var(--mtn-sans)!important;font-size:12px!important;
  font-weight:600!important;letter-spacing:.09em!important;text-transform:uppercase!important;
}
.mtn-newsletter .et_pb_button:hover{background:var(--mtn-sage)!important}

/* --- 7. AI TRANSPARENCY -------------------------------------------------- */
.mtn-transparency p{font-size:15px;color:var(--mtn-ink-muted);text-align:center}
.mtn-transparency h3{
  font-family:var(--mtn-sans);font-size:11px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--mtn-evergreen);text-align:center;
}

/* --- 8. MOBILE ----------------------------------------------------------- */
@media (max-width:980px){
  .mtn-blog--lead .entry-title a{font-size:30px}
}
@media (max-width:767px){
  body{font-size:17px;line-height:1.6}
  .mtn-hero h1{font-size:34px}
  .mtn-hero::after{height:78px;background-size:100% 78px;opacity:.4}
  .mtn-sec-head h2{font-size:24px}
  .mtn-blog--lead .entry-title a{font-size:28px}
  .mtn-blog--cards .entry-title a{font-size:21px}
  .mtn-blog--stack .entry-title a{font-size:18px}
  .mtn-newsletter h2{font-size:28px}
}


/* --- 9. GLOBAL HEADER (Divi Theme Builder) ------------------------------- */
.mtn-masthead .et_pb_row,.mtn-nav .et_pb_row{padding-top:0!important;padding-bottom:0!important}
.mtn-masthead .et_pb_text{margin-bottom:0!important}
.mtn-mark svg{margin:0 auto}
.mtn-wordmark p{
  font-family:var(--mtn-serif);font-size:34px;font-weight:600;letter-spacing:-.02em;
  color:#fff;line-height:1.1;text-align:center;margin:6px 0 0;padding:0;
}
.mtn-wordmark span{color:var(--mtn-sage);font-weight:400}
.mtn-tagline p{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.6);
  text-align:center;font-weight:500;margin-top:7px;padding:0;
}
.mtn-nav{border-top:1px solid rgba(255,255,255,.11)}
.mtn-nav .et_pb_menu__logo-wrap,
.mtn-nav .et_pb_menu__search-button,
.mtn-nav .et_pb_menu__cart-button{display:none!important}
.mtn-nav .et_pb_menu__wrap{justify-content:center}
.mtn-nav .et_pb_menu__menu>nav>ul>li{padding:13px 14px}
.mtn-nav .et_pb_menu__menu>nav>ul>li>a{
  font-family:var(--mtn-sans);font-size:13px;font-weight:500;letter-spacing:.04em;
  color:rgba(255,255,255,.82)!important;padding-bottom:6px;
  border-bottom:2px solid transparent;transition:color .15s,border-color .15s;
}
.mtn-nav .et_pb_menu__menu>nav>ul>li>a:hover{
  color:#fff!important;opacity:1;border-bottom-color:var(--mtn-sage);
}
.mtn-nav .mobile_menu_bar:before{color:var(--mtn-sage)!important}
.mtn-nav .et_mobile_menu{background:var(--mtn-evergreen);border-top-color:var(--mtn-sage)}
.mtn-nav .et_mobile_menu a{color:rgba(255,255,255,.85)!important;border-color:rgba(255,255,255,.1)}

/* --- 10. GLOBAL FOOTER (Divi Theme Builder) ------------------------------ */
.mtn-footer h4{
  font-family:var(--mtn-sans);font-size:11px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--mtn-sage);margin:0 0 14px;padding:0;
}
.mtn-footer ul{list-style:none;margin:0;padding:0}
.mtn-footer li{margin:0 0 9px;padding:0}
.mtn-footer li a{font-size:15px;color:rgba(255,255,255,.7);text-decoration:none}
.mtn-footer li a:hover{color:#fff}
.mtn-foot-name{
  font-family:var(--mtn-serif)!important;font-size:24px;font-weight:600;color:#fff;
  line-height:1.1;margin:0 0 10px!important;padding:0;
}
.mtn-foot-name span{color:var(--mtn-sage);font-weight:400}
.mtn-foot-brand p{font-size:15px;color:rgba(255,255,255,.55);line-height:1.6}
.mtn-foot-base p{
  font-size:12px;color:rgba(255,255,255,.45);
  padding-top:18px;border-top:1px solid rgba(255,255,255,.12);
}
@media (max-width:767px){
  .mtn-wordmark p{font-size:27px}
  .mtn-footer h4{margin-top:24px}
}

.mtn-footer .mtn-foot-name{font-size:24px!important;line-height:1.1!important;color:#fff!important}
.mtn-footer .mtn-foot-name span{color:var(--mtn-sage)!important}
.mtn-foot-brand svg{margin-bottom:12px}

/* --- 11. RESPONSIVE ROW WIDTH -------------------------------------------
   Layouts use a 1180px content column. Declaring that as a fixed Divi row
   width breaks mobile, so cap it here instead and let Divi stay fluid.     */
.et_pb_row{max-width:min(1180px,90vw)!important}
.et_pb_section{overflow-x:hidden}

/* --- 12. ARTICLE + ARCHIVE TEMPLATES ------------------------------------- */
.mtn-article-title .entry-title,
.mtn-article-title h1{
  font-family:var(--mtn-serif);font-size:38px;font-weight:600;letter-spacing:-.025em;
  line-height:1.16;color:var(--mtn-charcoal);padding:0;margin:0 0 12px;
}
.mtn-article-title .et_pb_title_meta_container{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:0!important;
  padding:0;margin:0;
}
.mtn-article-title .et_pb_title_meta_container a,
.mtn-article-title .et_pb_title_meta_container .published{
  font-family:var(--mtn-sans);font-size:11px!important;font-weight:600;
  letter-spacing:.11em;text-transform:uppercase;line-height:1.4;text-decoration:none;
}
.mtn-article-title .et_pb_title_meta_container a{order:1;color:var(--mtn-evergreen)!important}
.mtn-article-title .et_pb_title_meta_container .published{
  order:2;color:var(--mtn-ink-faint)!important;font-weight:500;
  display:flex;align-items:center;gap:8px;
}
.mtn-article-title .et_pb_title_meta_container .published::before{
  content:'';width:3px;height:3px;border-radius:50%;background:var(--mtn-sage);display:inline-block;
}
.mtn-article-content p{
  font-size:18px;line-height:1.75;color:#313634;margin:0 0 1.1em;
}
.mtn-article-content p em{color:var(--mtn-ink-faint);font-size:15px}
.mtn-article-content a{
  color:var(--mtn-evergreen);font-weight:600;
  border-bottom:1px solid var(--mtn-sage);text-decoration:none;
}
.mtn-article-content a:hover{border-bottom-color:var(--mtn-evergreen)}

.mtn-archive-title h1,.mtn-archive-title .entry-title{
  font-family:var(--mtn-serif);font-size:34px;font-weight:600;color:var(--mtn-evergreen);
  letter-spacing:-.02em;padding:0;margin:0 0 6px;
}
.mtn-archive-head{border-bottom:0}
.mtn-blog--cards .pagination{
  display:flex!important;justify-content:space-between;padding-top:24px;
  font-family:var(--mtn-sans);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
}
.mtn-blog--cards .pagination a{color:var(--mtn-evergreen);font-weight:600}
@media (max-width:767px){
  .mtn-article-title h1,.mtn-article-title .entry-title{font-size:28px}
  .mtn-article-content p{font-size:17px}
  .mtn-archive-title h1,.mtn-archive-title .entry-title{font-size:26px}
}
