/* Project Details Page Styles */

/* Font override for project details page - targeting existing layout classes */
.spm-main-wrap.spm-layout-v2,
.spm-main-wrap.spm-layout-v2 *,
.spm-main-wrap.spm-layout-v2 h1,
.spm-main-wrap.spm-layout-v2 h2,
.spm-main-wrap.spm-layout-v2 h3,
.spm-main-wrap.spm-layout-v2 p,
.spm-main-wrap.spm-layout-v2 span,
.spm-main-wrap.spm-layout-v2 div {
    font-family: 'Montserrat', sans-serif !important;
}

.project-details-page {
    background: #F8F8F8;
    min-height: 100vh;
    padding: 0;
}

/* Impact cards */
.spm-impact-section{margin:96px 0 52px;} /* Increased top margin for extra separation above Project Impact */
.spm-impact-cards.impact-v2{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
@media (max-width:960px){
  .spm-impact-cards.impact-v2{grid-template-columns:repeat(2,1fr);gap:28px;}
}
@media (max-width:640px){
  .spm-impact-cards.impact-v2{grid-template-columns:1fr;gap:24px;}
}

/* --- Added mapping for new spm-* class based single template --- */
.spm-project-details { background:#F8F8F8; padding:40px 20px; }
.spm-project-container { max-width:1200px; margin:0 auto; }
.spm-back-button { background:#0D2B52; color:#fff; border:none; padding:12px 24px; border-radius:6px; font-size:16px; cursor:pointer; text-decoration:none; display:inline-block; margin-bottom:30px; }
.spm-back-button:hover { background:#143b6d; color:#fff; }
.spm-details-header { margin-bottom:24px; }
.spm-details-title { font-size:40px; font-weight:600; margin:0 0 12px; color:#0D2B52; line-height:1.2; }
.spm-details-meta { display:flex; flex-wrap:wrap; gap:16px; font-size:14px; color:#4B5563; }
.spm-details-meta span { display:flex; align-items:center; gap:6px; }
.spm-details-content { display:flex; gap:32px; align-items:flex-start; }
@media(max-width:1000px){ .spm-details-content { flex-direction:column; } }
.spm-details-main { flex:1 1 65%; display:flex; flex-direction:column; gap:28px; }
/* Project Details section (updated): increased vertical spacing & unified paragraph typography to match hero */
.spm-details-text{margin:110px 0 90px;}
.spm-details-text p{font-size:16px;line-height:1.6;margin:0 0 20px;color:#000;}
.spm-details-sidebar { flex:1 1 35%; display:flex; flex-direction:column; gap:28px; }

/* Card base */
.spm-summary-card, .spm-timeline-card, .spm-impact-card, .spm-loan-details, .spm-project-status { background:#fff; border-radius:14px; padding:28px 32px; box-shadow:0 4px 14px rgba(0,0,0,0.08); }
.spm-summary-card h2, .spm-timeline-card h3, .spm-impact-card h3, .spm-loan-details h3, .spm-project-status h3 { margin:0 0 20px; font-size:20px; font-weight:600; color:#0D2B52; }

/* Summary grid */
.spm-summary-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:20px; }
.spm-summary-item { display:flex; flex-direction:column; gap:6px; }
.spm-summary-label { font-size:12px; letter-spacing:.5px; font-weight:600; color:#6B7280; text-transform:uppercase; }
.spm-summary-value { font-size:18px; font-weight:600; color:#111827; }
.spm-summary-value.spm-irr-high { color:#047857; }
.spm-summary-value.spm-irr-medium { color:#d97706; }
.spm-summary-value.spm-irr-low { color:#b91c1c; }

/* Timeline */
.spm-timeline-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; }
.spm-timeline-item { background:#F9FAFB; padding:16px 18px; border-radius:10px; }
.spm-timeline-label { font-size:12px; font-weight:600; color:#6B7280; text-transform:uppercase; letter-spacing:.5px; }
.spm-timeline-value { display:block; margin-top:6px; font-size:16px; font-weight:600; color:#0D2B52; }

/* Impact */
.spm-impact-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:20px; }
.spm-impact-item { background:#F9FAFB; padding:18px 16px 20px; border-radius:12px; text-align:center; display:flex; flex-direction:column; gap:8px; }
.spm-impact-icon { font-size:26px; line-height:1; }
.spm-impact-value { font-size:18px; font-weight:600; color:#0D2B52; }
.spm-impact-label { font-size:12px; line-height:1.3; color:#6B7280; }

/* Loan details */
.spm-loan-table { display:flex; flex-direction:column; gap:10px; }
.spm-loan-row { display:flex; justify-content:space-between; font-size:14px; background:#F9FAFB; padding:12px 14px; border-radius:8px; }
.spm-loan-label { font-weight:600; color:#374151; }
.spm-loan-value { font-weight:600; color:#0D2B52; }
.spm-loan-highlight { background:#0D2B52; color:#fff; }
.spm-loan-highlight .spm-loan-label, .spm-loan-highlight .spm-loan-value { color:#fff; }

/* Status */
.spm-status-items { display:flex; flex-direction:column; gap:14px; }
.spm-status-item { display:flex; justify-content:space-between; align-items:center; font-size:14px; }
.spm-status-label { font-weight:600; color:#374151; }
.spm-status-value { font-weight:600; padding:6px 12px; border-radius:20px; font-size:12px; letter-spacing:.5px; text-transform:uppercase; }
.spm-status-secured { background:#D1FAE5; color:#065F46; }
.spm-status-pending { background:#FEF3C7; color:#92400E; }

/* Utility */
.spm-details-sidebar .spm-project-status, .spm-details-sidebar .spm-loan-details { position:relative; }
.spm-details-sidebar > * { animation:fadeIn .4s ease; }
@keyframes fadeIn { from { opacity:0; transform:translateY(6px);} to { opacity:1; transform:translateY(0);} }

/* Responsive */
@media (max-width: 640px){
    .spm-details-title { font-size:32px; }
    .spm-summary-grid { grid-template-columns:1fr 1fr; }
    .spm-impact-grid { grid-template-columns:1fr 1fr; }
    .spm-timeline-grid { grid-template-columns:1fr; }
}

/* === New detailed single design === */
.spm-layout-v2{--spm-font-head:#0d0d0d;--spm-gray:#647184;--spm-sep:#d8dde2;--spm-accent:#0D2B52;--spm-status-green:#07b25d;}
.spm-breadcrumb{font-size:11px;letter-spacing:.55px;text-transform:none;display:flex;gap:6px;align-items:center;color:#8c98a5;margin:20px 0 20px;font-weight:600;}
.spm-breadcrumb a{color:#8c98a5;text-decoration:none;}
.spm-breadcrumb a:hover{color:#000;}
.spm-breadcrumb .sep{opacity:.5;}
/* Hero bar full version */
.spm-hero-bar{background:#0D2B52;color:#fff;padding:30px 0 40px;margin:0 0 46px;} 
.spm-hero-inner{max-width:1180px;margin:0 auto;padding:0 48px;} 
.spm-hero-bar .spm-breadcrumb{color:#c3ced7;margin-bottom:20px;} 
.spm-hero-bar .spm-breadcrumb a{color:#c3ced7;} 
.spm-hero-bar .spm-breadcrumb a:hover{color:#fff;} 
.spm-hero-bar .spm-hero-title{color:#fff;margin:0;} 
.spm-main-wrap{max-width:1180px;margin:0 auto;padding:0 48px 0;} /* Removed bottom padding to eliminate white space */ 
/* Adjusted grid: larger text column, image column fixed width, tighter vertical alignment */
.spm-top-grid{display:grid;grid-template-columns:minmax(600px,1fr) 500px;gap:60px;align-items:start;margin:0 0 10px;} 
@media(max-width:960px){.spm-top-grid{grid-template-columns:1fr;gap:40px;}}
.spm-top-text p{margin:0 0 8px;font-size:16px;line-height:1.55;color:#1f2430;max-width:600px;} 
.spm-intro-primary{font-size:32px;line-height:1.2;font-weight:700;margin:0 0 28px;color:#000;letter-spacing:.2px;font-family:'Montserrat',sans-serif;max-width:600px;}
.spm-intro-secondary{font-size:16px;line-height:1.6;color:#1f2430;margin:0 0 22px;font-weight:400;}
/* Left hero column now flex so meta bar can stick to bottom */
.spm-top-text{display:flex;flex-direction:column;min-height:480px;justify-content:space-between;} /* Match image height and space content */
/* === CLEAN CONSOLIDATED META BAR (single line, left aligned, labels bold) === */
/* Structural placement: stick to bottom of left hero column */
.spm-top-text .spm-meta-bar{margin-top:auto;padding-top:20px;margin-bottom:0px;}
/* Core flex layout */
.spm-top-text .spm-meta-bar{display:flex;flex-wrap:nowrap;align-items:center;gap:0;justify-content:flex-start;max-width:820px;width:100%;}
/* Items inline with dividers */
/* Items stacked (label above value), consistent left alignment, slimmer spacing */
.spm-top-text .spm-meta-bar .spm-meta-item{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;margin:0 36px 0 0;padding:0 36px 0 0;border-right:1px solid #d8dde2;position:relative;min-height:60px;}
.spm-top-text .spm-meta-bar .spm-meta-item:last-child{margin-right:0;padding-right:0;border-right:none;}
/* Typography */
.spm-top-text .spm-meta-bar .spm-meta-item .label{font-size:11px;font-weight:700;letter-spacing:.55px;text-transform:uppercase;color:#0d0d0d;line-height:1.2;}
.spm-top-text .spm-meta-bar .spm-meta-item .value{font-size:13px;font-weight:500;color:#111827;line-height:1.35;white-space:nowrap;}
.spm-top-text .spm-meta-bar .spm-status-pill{margin:0;white-space:nowrap;}
/* Responsive: allow wrapping below 960px, each item still inline internally */
@media(max-width:960px){
    .spm-top-text{min-height:auto;}
    .spm-top-text .spm-meta-bar{flex-wrap:wrap;row-gap:24px;padding-top:18px;}
    .spm-top-text .spm-meta-bar .spm-meta-item{white-space:normal;}
    /* Hide dividers on mobile but maintain spacing */
    .spm-top-text .spm-meta-bar .spm-meta-item{border-right:none !important;margin-right:20px;padding-right:20px;margin-bottom:12px;}
    /* Add left margin to LOCATION section for mobile spacing - MOBILE ONLY */
    .spm-top-text .spm-meta-bar.spm-meta-v2 .spm-meta-item:nth-child(2) {
        margin-left: 20px;
    }
}
@media(max-width:700px){
    .spm-top-text .spm-meta-bar .spm-meta-item{margin-right:24px;padding-right:0;margin-bottom:16px;}
    /* Maintain left margin on smaller mobile screens */
    .spm-top-text .spm-meta-bar.spm-meta-v2 .spm-meta-item:nth-child(2) {
        margin-left: 20px;
    }
}
/* Image height & vertical alignment */
.spm-top-media{display:flex;align-items:flex-start;}
.spm-top-media img.spm-hero-image{width:100%;height:480px;border-radius:4px;object-fit:cover;box-shadow:0 2px 4px rgba(0,0,0,.10);} 
@media(max-width:960px){.spm-top-media img.spm-hero-image{height:340px;}}
.spm-meta-bar{display:flex;flex-wrap:nowrap;gap:0;padding:0;margin:0 0 24px;align-items:flex-end;max-width:600px;} 
.spm-meta-bar.spm-meta-v2 .spm-meta-item{position:relative;padding:0 24px 0 0;margin:0 20px 0 0;border-right:none;display:flex;flex-direction:column;gap:12px;min-height:60px;justify-content:flex-end;} 
.spm-meta-bar.spm-meta-v2 .spm-meta-item:after{content:"";position:absolute;right:10px;top:50%;transform:translateY(-50%);height:70%;width:1px;background:var(--spm-sep);} 
.spm-meta-bar.spm-meta-v2 .spm-meta-item:last-child{margin-right:0;padding-right:0;} 
.spm-meta-bar.spm-meta-v2 .spm-meta-item:last-child:after{display:none;}
/* Hide meta bar dividers on mobile */
@media(max-width:960px){
    .spm-meta-bar.spm-meta-v2 .spm-meta-item:after{display:none !important;}
    .spm-meta-bar.spm-meta-v2 .spm-meta-item{margin-right:0;padding-right:0;}
} 

/* Desktop reset: Ensure LOCATION has no left margin on desktop screens */
@media(min-width:961px){
    .spm-top-text .spm-meta-bar.spm-meta-v2 .spm-meta-item:nth-child(2) {
        margin-left: 0 !important;
    }
} 
.spm-meta-item .label{font-size:11px;font-weight:700;letter-spacing:.6px;color:var(--spm-gray);text-transform:uppercase;} 
.spm-meta-item .value{font-size:13px;font-weight:500;color:#111827;} 
.spm-status-pill{background:#cff6e3;color:#058447;font-size:10px;font-weight:600;padding:6px 14px;border-radius:24px;display:inline-block;letter-spacing:.4px;text-align:center;line-height:1;} /* reduced font size and padding for compact appearance */

/* Invest button container and styling */
.spm-invest-container {
    margin-top: 16px;
    margin-bottom: 0;
}

.spm-invest-btn-main {
    display: inline-block !important;
    width: auto !important;
    padding: 14px 48px !important;
    background: #0D2B52 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    border-radius: 0 !important;
    text-align: center !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    border: none !important;
    cursor: pointer !important;
    margin: 0;
    font-family: inherit;
}

.spm-invest-btn-main:hover {
    background: #0b223f !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.spm-invest-btn-main:active {
    transform: translateY(0);
}

/* Unique Project Details Typography - Forced Styles */
.spm-project-section-title {
    font-size: 32px !important;
    font-weight: 700 !important;
    margin: 0 0 34px !important;
    color: #000 !important;
    letter-spacing: 0.2px !important;
    font-family: 'Montserrat', sans-serif !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    text-transform: none !important;
}

.spm-project-hero-title {
    color: #fff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    text-decoration: none !important;
    text-transform: none !important;
}

.smp-project-section-title {
    font-size: 32px !important;
    font-weight: 700 !important;
    margin: 0 0 34px !important;
    color: #000 !important;
    letter-spacing: 0.2px !important;
    font-family: 'Montserrat', sans-serif !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    text-transform: none !important;
}

.spm-project-intro-primary {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #000 !important;
    font-family: 'Montserrat', sans-serif !important;
    line-height: 1.3 !important;
    margin: 0 0 16px !important;
    text-decoration: none !important;
    text-transform: none !important;
}

.spm-project-intro-secondary {
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #4b5563 !important;
    font-family: inherit !important;
    line-height: 1.5 !important;
    margin: 0 0 24px !important;
    text-decoration: none !important;
}
.spm-impact-title{margin-top:0;}
/* Impact cards: single authoritative layout (inherits width of .spm-main-wrap) */
.spm-impact-cards.impact-v2{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:0;} /* Reduced gap to allow more width per card */
@media(max-width:1100px){.spm-impact-cards.impact-v2{gap:20px;}}
@media (max-width:960px){.spm-impact-cards.impact-v2{grid-template-columns:repeat(2,1fr);gap:28px;}}
@media (max-width:620px){.spm-impact-cards.impact-v2{grid-template-columns:1fr;gap:24px;}}
/* Impact card layout with consistent alignment using CSS Grid */
.impact-card{
  background:#f4f5f5;
  border:1px solid #f0f2f3;
  border-radius:0;
  padding:24px 26px 28px;
  display:grid;
  grid-template-rows: auto auto minmax(80px, auto) auto minmax(120px, auto); /* Fixed minimum heights for description and citation areas */
  gap:16px;
  box-shadow:none;
  min-height:400px; /* Increased minimum height to accommodate longer citations */
}
.impact-heading{
  font-size:15px;
  font-weight:700;
  letter-spacing:.8px;
  color:#07b25d;
  margin:0;
  text-transform:uppercase;
  align-self:start;
}
.impact-icon{
  font-size:34px;
  line-height:1;
  margin-top:0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  height:44px;
  align-self:start;
}
.impact-icon svg{display:block;width:44px;height:44px;}
.impact-desc-line{
  font-size:17px;
  line-height:1.45;
  margin:0;
  color:#0b0f17;
  font-weight:600;
  align-self:start; /* Align to top of flexible space */
}
.impact-number{
  font-size:24px;
  font-weight:700;
  margin:0;
  color:#0b0f17;
  font-family:"Montserrat",sans-serif;
  letter-spacing:.2px;
  align-self:center; /* Center the number in its allocated space */
}
.impact-number.strong-line{font-size:26px;}
.impact-number .unit{
  font-size:24px;
  font-weight:700; /* Changed from 600 to 700 to match number */
  margin-left:4px; /* Reduced from 8px to 4px for tighter spacing */
  color:#0b0f17;
  text-transform:none;
  font-family:"Montserrat",sans-serif;
  letter-spacing:.2px; /* Added to match number styling */
}
.impact-foot.citation{
  font-size:13px;
  line-height:1.35;
  margin:0;
  color:#0b0f17;
  font-weight:400;
  align-self:start; /* Keep citations at top of their allocated space */
}

/* Details text (authoritative definition – earlier duplicate above intentionally updated) */
.spm-details-text{margin:110px 0 90px;}
.spm-details-text p{font-size:16px;line-height:1.6;margin:0 0 20px;color:#000;}

/* Loan section */
.spm-loan-section{margin-bottom:40px;}
.spm-loan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:34px;}
.loan-col{display:flex;flex-direction:column;gap:14px;}
.loan-row{display:flex;justify-content:space-between;gap:40px;align-items:flex-start;padding:8px 0;border-bottom:1px solid #f0f2f4;}
.loan-row:last-child{border-bottom:none;}
.loan-label{font-size:10px;font-weight:700;letter-spacing:.6px;color:#647184;text-transform:uppercase;line-height:1.4;}
.loan-value{font-size:13px;font-weight:500;color:#111827;line-height:1.45;}
.loan-note{border-top:1px solid #e5e7eb;margin-top:6px;padding-top:10px;}
.loan-value-full{font-size:12px;line-height:1.55;color:#374151;display:block;}
.loan-label{font-size:10px;font-weight:700;letter-spacing:.6px;color:#647184;text-transform:uppercase;line-height:1.4;}
.loan-value{font-size:13px;font-weight:500;color:#111827;line-height:1.45;}
.loan-value-full{font-size:12px;line-height:1.55;color:#374151;display:block;}
@media(max-width:640px){.spm-meta-bar{gap:28px;} .spm-loan-grid{grid-template-columns:1fr;} }

/* --- New Loan Card Design --- */
.spm-loan-card{background:#fff;border:none;border-radius:12px;padding:28px 36px 34px 0;box-shadow:0 2px 4px rgba(0,0,0,.03);} /* left padding removed for alignment */

/* === Overrides: unify typography color to black & align meta labels === */
.spm-meta-bar.spm-meta-v2{align-items:flex-start;}
.spm-meta-bar.spm-meta-v2 .spm-meta-item{gap:4px;justify-content:flex-start;}

/* Set all textual elements (except where explicit contrast like on dark backgrounds) to black */
.spm-meta-item .label,
.spm-meta-item .value,
.impact-number,
.impact-number .unit,
.impact-foot.citation,
.loan-detail-label,
.loan-detail-value,
.loan-intro,
.loan-title,
.section-title,
.spm-intro-primary,
.spm-intro-secondary,
.spm-top-text p,
.loan-detail-value .unit,
.loan-value,
.loan-label,
.loan-value-full {color:#000 !important;}

/* Breadcrumb keep subtle difference if inside hero, else black */
.spm-breadcrumb, .spm-breadcrumb a {color:#000;}

/* Status pill: neutralize colors to black text */
/* status pill: keep original green styling (override removed) */

/* Remove green heading color for impact cards */
.impact-heading{letter-spacing:.8px;text-transform:uppercase;}
.spm-loan-card .loan-top-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:60px;margin:0 0 26px;} 
.loan-top-label{font-size:14px;letter-spacing:.6px;font-weight:600;color:#111827;text-transform:uppercase;margin:0 0 8px;} 
.loan-top-value{font-size:19px;font-weight:600;color:#0d0d0d;letter-spacing:.2px;} 
.loan-intro{font-size:16px;line-height:1.6;color:#000;margin:26px 0 0;max-width:900px;font-weight:400;} /* matched Project Details paragraph style */
.loan-detail-list{list-style:none;margin:0;padding:0;width:100%;display:block;} 
.loan-detail-list{list-style:none;margin:0;padding:0;width:100%;display:block;border-top:1px solid #ebedef;border-bottom:1px solid #ebedef;}
.loan-detail-list li{display:grid;grid-template-columns:260px 1fr;align-items:center;min-height:54px;border-bottom:1px solid #ebedef;} /* restored row separator */
.loan-detail-list li:last-child{border-bottom:none;} /* avoid double bottom line */
.loan-detail-list li:nth-child(odd) .loan-detail-label{background:#f8f9fa;} /* legacy selector kept (no harm) */
.loan-detail-label{background:#f8f9fa;font-size:15px;font-weight:700;color:#111827;padding:12px 34px 12px 14px;display:flex;align-items:center;line-height:1.3;} /* consistent background & bold */
.loan-detail-value{font-size:16px;line-height:1.6;font-weight:400;color:#000;padding:12px 10px 12px 16px;display:flex;align-items:center;justify-content:flex-start;} /* added left padding for spacing */
@media(max-width:880px){.loan-detail-list li{grid-template-columns:220px 1fr;}} 
@media(max-width:640px){.loan-detail-list li{grid-template-columns:1fr;align-items:flex-start;} .loan-detail-label{width:100%;padding-right:14px;} .loan-detail-value{padding-top:4px;}} 
@media(max-width:720px){.spm-loan-card{padding:28px 26px 34px;} .spm-loan-card .loan-top-grid{gap:34px;} .loan-top-value{font-size:16px;} }

/* Loan details v2 */
.loan-title{font-size:34px;font-weight:600;margin:60px 0 34px;color:#0d0d0d;}
.loan-details-table-v2{display:grid;grid-template-columns:1fr;row-gap:18px;margin:0 0 20px;max-width:1040px;}
.loan-details-table-v2 .loan-row-v2{display:grid;grid-template-columns:repeat(2, minmax(200px, 320px));column-gap:90px;}
.loan-details-table-v2 .loan-head{font-size:14px;font-weight:600;}
.loan-details-table-v2 .loan-cell{font-size:14px;line-height:1.5;color:#0b0f17;}
.loan-details-table-v2 .loan-note-full .loan-cell{font-size:14px;font-weight:400;line-height:1.55;margin-top:6px;padding-top:10px;}
.loan-details-table-v2 .key-val{grid-template-columns:auto 1fr;column-gap:14px;}
.loan-details-table-v2 .key-val .key{font-size:14px;line-height:1.5;}
.loan-details-table-v2 .key-val .val{font-size:14px;line-height:1.5;}
@media(max-width:900px){.loan-details-table-v2 .loan-row-v2{grid-template-columns:1fr;row-gap:4px;} .loan-details-table-v2{row-gap:24px;} }

/* Header Section */
.project-header {
    background: #0D2B52;
    color: white;
    padding: 20px 40px;
}

.project-nav {
    font-size: 14px;
    margin-bottom: 10px;
}

.project-nav .nav-item {
    color: #ccc;
}

.project-nav .nav-item.active {
    color: white;
}

.project-nav .nav-separator {
    margin: 0 8px;
    color: #666;
}

.project-main-title {
    font-size: 28px;
    font-weight: 600;
    margin: 0;
    color: white;
}

/* Project Summary Card */
.project-summary-card {
    background: white;
    margin: 30px 40px;
    padding: 30px;
    display: flex;
    gap: 40px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.summary-content {
    flex: 1;
}

.summary-title {
    font-size: 22px;
    font-weight: 600;
    color: #1f2937;
    margin: 0 0 20px;
    line-height: 1.4;
}

.summary-description {
    color: #6b7280;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 30px;
}

.summary-meta {
    display: flex;
    gap: 40px;
}

.meta-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.meta-label {
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
}

.meta-value {
    font-size: 14px;
    color: #1f2937;
    font-weight: 500;
}

.summary-image {
    width: 300px;
    flex-shrink: 0;
}

.summary-image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 8px;
}

/* Status Badge */
.status-badge {
    background: #10b981;
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    display: inline-block;
}

.status-badge.agreement-signed {
    background: #059669;
    color: #fff;
}

.status-badge.under-construction {
    background: #059669;
    color: #fff;
}

.status-badge.generating-returns {
    background: #059669;
    color: #fff;
}

.status-badge.plant-sold {
    background: #ff928e;
    color: #fff;
}

/* Section Titles */
.section-title {
    font-size: 20px;
    font-weight: 600;
    color: #1f2937;
    margin: 0 0 20px;
}

/* Project Impact Section */
.project-impact-section {
    background: white;
    margin: 30px 40px;
    padding: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.impact-grid {
/* (Removed legacy emoji-based .impact-icon styles) */
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

.impact-description {
    font-size: 12px;
    color: #6b7280;
    line-height: 1.4;
    margin-bottom: 15px;
}

.impact-value {
    font-size: 18px;
    font-weight: 700;
    color: #1f2937;
}

/* Project Details Section */
.project-details-section {
    background: white;
    margin: 30px 40px;
    padding: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.details-content {
    color: #6b7280;
    font-size: 14px;
    line-height: 1.6;
}

/* Loan Details Section */
.loan-details-section {
    background: white;
    margin: 30px 40px;
    padding: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.loan-details-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
}

.loan-details-table th,
.loan-details-table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid #e5e7eb;
}

.loan-details-table th {
    background: #f9fafb;
    font-weight: 600;
    color: #374151;
}

.loan-details-table td {
    color: #6b7280;
}

.loan-details-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.detail-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #f3f4f6;
}

.detail-row:last-child {
    border-bottom: none;
}

.detail-label {
    font-size: 14px;
    color: #6b7280;
    font-weight: 500;
}

.detail-value {
    font-size: 14px;
    color: #1f2937;
    font-weight: 600;
}

/* Responsive Design */
@media (max-width: 768px) {
    .project-header {
        padding: 15px 20px;
    }
    
    .project-main-title {
        font-size: 24px;
    }
    
    .project-summary-card {
        margin: 20px;
        padding: 20px;
        flex-direction: column;
    }
    
    .summary-image {
        width: 100%;
    }
    
    .summary-meta {
        flex-direction: column;
        gap: 15px;
    }
    
    .impact-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .project-impact-section,
    .project-details-section,
    .loan-details-section {
        margin: 20px;
        padding: 20px;
    }
}

@media (max-width: 480px) {
    .impact-grid {
        grid-template-columns: 1fr;
    }
}

/* Legacy support - Update old selectors to new unique classes */
.section-title, 
.spm-intro-primary, 
.spm-impact-title, 
.spm-sale-cta-section .section-title, 
.spm-milestones .section-title, 
.spm-hero-title {
    font-size: 32px !important;
    font-weight: 700 !important;
    margin: 0 0 34px !important;
    color: #000 !important;
    letter-spacing: 0.2px !important;
    font-family: 'Montserrat', sans-serif !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    text-transform: none !important;
}
/* Hero specific override: keep hero breadcrumb + title white on dark background */
.spm-hero-bar .spm-hero-title,
.spm-hero-bar .smp-project-hero-title {
    color: #fff !important;
}
.spm-hero-bar .spm-breadcrumb, 
.spm-hero-bar .spm-breadcrumb a {
    color: #c3ced7 !important;
}
.spm-hero-bar .spm-breadcrumb a:hover {
    color: #fff !important;
}

/* View Project Cost: flat bordered green button */
.view-project-cost-link{
    display: inline-block !important;
    width: auto !important;
    padding: 14px 48px !important;
    background: #0D2B52 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    border-radius: 0 !important;
    text-align: center !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    border: none !important;
    cursor: pointer !important;
    margin: 0;
    font-family: inherit;
    letter-spacing: 0.3px;
    transition: background 0.18s ease, color 0.18s ease;
    position: relative;
    top: -1px; /* slight raise to align vertically */
}
.view-project-cost-link:hover{
    background: #0b223f !important;
    color: #ffffff !important;
    text-decoration: none !important;
}
.view-project-cost-link:active{
    background: #0b223f !important;
    color: #ffffff !important;
    text-decoration: none !important;
    transform: translateY(0);
}
.view-project-cost-link:focus{
    outline: none;
    box-shadow: 0 0 0 3px rgba(13, 43, 82, 0.35);
} 

/* Project cost display (replaces button after form submission) */
.project-cost-display{display:inline-block;padding:8px 18px;font-size:13px !important;line-height:1.25;font-weight:600 !important;color:#07b25d !important;background:#f0f9f4;border:1.5px solid #07b25d;border-radius:4px;letter-spacing:.3px;position:relative;top:-1px;}

/* Sale CTA Section - Full Width Blue Background */
.spm-sale-cta-section{
  margin:64px 0 0; /* Removed bottom margin to connect with footer */
  padding:60px 0 60px; /* Ensure no bottom spacing issues */
  max-width:none;
  width:100vw; /* Full viewport width */
  position:relative;
  left:50%;
  right:50%;
  margin-left:-50vw;
  margin-right:-50vw;
  background:#0D2B52; /* Blue background */
}
.sale-cta-content{
  max-width:1200px; /* Slightly narrower container */
  margin:0 auto;
  padding:0 40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:80px;
}
.sale-cta-text{
  flex:1;
  max-width:700px;
}
.spm-sale-cta-section .section-title{
  margin:0 0 20px;
  color:#fff !important; /* Force white text on blue background */
  font-size:32px;
  font-weight:700;
  line-height:1.2;
}
.sale-cta-body{
  font-size:16px;
  line-height:1.5;
  color:#fff; /* White text on blue background */
  margin:0;
  font-weight:400;
}
.sale-cta-button-wrapper{
  flex-shrink:0;
}
.sale-cta-button{
  background:#fff; /* White button */
  color:#000; /* Black text instead of blue */
  display:inline-block;
  padding:12px 32px; /* Reduced top/bottom padding from 16px to 12px */
  font-size:16px; /* Increased by 2px from 14px */
  font-weight:700; /* Increased boldness from 600 to 700 */
  text-decoration:none;
  letter-spacing:.3px;
  border:none;
  border-radius:0; /* Remove border radius for sharp corners */
  transition:all 0.3s ease;
  white-space:nowrap;
}
.sale-cta-button:hover{
  background:#f8f9fa;
  color:#000; /* Keep black text on hover */
}
/* Mobile responsive adjustments */
@media (max-width:960px){
  .sale-cta-content{
    flex-direction:column;
    align-items:flex-start;
    gap:32px;
    padding:0 32px;
  }
  .sale-cta-button-wrapper{
    align-self:flex-start;
  }
}
@media (max-width:620px){
  .spm-sale-cta-section{
    padding:40px 0;
  }
  .sale-cta-content{
    padding:0 24px;
    gap:24px;
  }
}

/* Milestones */
.spm-milestones{margin:60px 0 40px;position:relative;}
.spm-milestones .section-title{margin:0 0 40px;}
.milestone-timeline{position:relative;padding:10px 0 10px;display:flex;flex-direction:column;gap:46px;}
.timeline-bar{position:absolute;top:0;bottom:0;left:8px;width:2px;background:#d1d5db;}

/* Mobile: reduce overall milestone spacing */
@media(max-width:960px){
    .milestone-timeline{gap:28px;}
}
.milestone-item{display:grid;grid-template-columns:120px 24px 1fr;column-gap:28px;align-items:start;position:relative;}
.milestone-item .ms-date{font-size:12px;font-weight:600;color:#0D2B52;letter-spacing:.5px;margin-top:2px;}
.milestone-item .ms-dot{width:16px;height:16px;border-radius:50%;background:#0D2B52;position:relative;z-index:2;margin:2px 0 0 0;}
.milestone-item .ms-card{background:transparent;padding:0;}
.milestone-item .ms-title{font-size:15px;font-weight:600;color:#0d0d0d;margin:0 0 6px;}
.milestone-item .ms-desc{font-size:13px;line-height:1.5;color:#495160;max-width:480px;}

/* Mobile: reduce spacing between dates and milestone text */
@media(max-width:960px){
    .milestone-item .ms-date{margin-top:0;margin-bottom:4px;}
    .milestone-item .ms-title{margin:0 0 2px;}
    .milestone-item .ms-card{padding:0;margin-top:0;}
}

/* Horizontal timeline (inline version after loan section) */
.spm-milestones-inline{margin:90px 0 120px;} /* increased bottom spacing */
.timeline-horizontal{display:flex;justify-content:space-between;position:relative;padding:6px 0 0;gap:60px;}
.timeline-horizontal:before{content:"";position:absolute;top:42px;left:0;right:0;height:6px;background:#e3e5e7;border-radius:3px;}
.timeline-horizontal .milestone-h-item{flex:1 1 0;display:flex;flex-direction:column;align-items:flex-start;position:relative;min-width:120px;}
.timeline-horizontal .milestone-h-item .ms-date{font-size:14px;font-weight:600;color:#0d0d0d;margin:0 0 28px;}
.timeline-horizontal .milestone-h-item .ms-dot{width:26px;height:26px;border-radius:50%;background:#0D2B52;position:absolute;top:44px;left:0;transform:translateY(-50%);z-index:2;} /* nudged up slightly */
.timeline-horizontal .milestone-h-item .ms-text{margin:42px 0 0;font-size:14px;line-height:1.5;color:#0d0d0d;font-weight:600;max-width:240px;}
@media(max-width:1100px){.timeline-horizontal{gap:40px;}}
@media(max-width:880px){.timeline-horizontal{flex-direction:column;gap:46px;}
    .timeline-horizontal:before{top:auto;bottom:auto;left:13px;width:6px;height:100%;}
    .timeline-horizontal .milestone-h-item{padding-left:50px;}
    .timeline-horizontal .milestone-h-item .ms-dot{left:0;top:12px;transform:none;}
    .timeline-horizontal .milestone-h-item .ms-text{margin:10px 0 0;}
}
@media(max-width:640px){
    .milestone-item{grid-template-columns:84px 24px 1fr;column-gap:20px;}
    .timeline-bar{left:7px;}
}

/* Sale CTA White Title - Unique class to avoid affecting other elements */
.spm-sale-cta-title-white {
    color: #fff !important;
}
