/* ─────────────────────────────────────────────────────────────────
   articles.css — design system for /insights/<slug>/ article pages
   and /frameworks/ product surfaces. Loads alongside /style.css.
   Cormorant Garamond display + DM Sans body. EUR pricing. EN-GB.
   Extends style.css tokens; adds article-body + sidebar classes.
   ───────────────────────────────────────────────────────────────── */

/* Display font override for article pages */
.art-display, .art-h1, .art-h2, .art-h3, .art-h4, .art-quote, .art-price{
  font-family:'Cormorant Garamond',Georgia,serif;
}

/* ── Hero ── */
.art-hero{
  padding:3.5rem 0 3rem;
  background:linear-gradient(135deg,#132132 0%,#0F1923 100%);
  color:var(--cream);
  position:relative;
}
.art-hero::after{
  content:'';
  position:absolute;
  bottom:0;left:0;right:0;
  height:3px;
  background:var(--gold);
}
.art-hero-inner{
  max-width:1180px;
  margin:0 auto;
  padding:0 28px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:2rem;
  flex-wrap:wrap;
}
.art-hero-left{ flex:1; min-width:280px; }
.art-kicker{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:0.72rem;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:var(--gold-light);
  margin-bottom:1rem;
  font-weight:500;
}
.art-hero h1{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(1.9rem,3.8vw,2.7rem);
  line-height:1.12;
  margin-bottom:1rem;
  font-weight:600;
  color:var(--cream);
}
.art-hero h1 em{
  font-style:italic;
  color:var(--gold-light);
}
.art-hero-sub{
  font-size:0.98rem;
  color:rgba(240,240,238,0.72);
  max-width:560px;
  font-weight:300;
  line-height:1.65;
}
.art-hero-stats{
  display:flex;
  gap:2rem;
  flex-shrink:0;
}
.art-stat strong{
  display:block;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.65rem;
  font-weight:600;
  color:var(--gold-light);
  line-height:1;
  margin-bottom:0.35rem;
}
.art-stat span{
  font-size:0.7rem;
  color:rgba(240,240,238,0.5);
  text-transform:uppercase;
  letter-spacing:0.08em;
}

/* ── Two-column layout ── */
.art-layout{
  max-width:1180px;
  margin:0 auto;
  padding:2.5rem 28px 3rem;
  display:grid;
  grid-template-columns:1fr 340px;
  gap:3rem;
  align-items:start;
}
@media(max-width:980px){
  .art-layout{ grid-template-columns:1fr; }
  .art-sidebar{ position:static!important; order:-1; }
}

/* ── Body sections ── */
.art-section{
  background:var(--white);
  border:1px solid var(--border);
  padding:2.4rem;
  margin-bottom:1.6rem;
}
.art-section:last-child{ margin-bottom:0; }
.art-section-kicker{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:0.7rem;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:0.6rem;
  font-weight:500;
}
.art-section h2{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.65rem;
  font-weight:600;
  margin-bottom:1rem;
  line-height:1.2;
  color:var(--text);
}
.art-section h3{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.25rem;
  font-weight:600;
  margin:1.4rem 0 0.6rem;
  color:var(--text);
}
.art-section p{
  font-size:0.96rem;
  color:var(--text-soft);
  margin-bottom:0.95rem;
  line-height:1.78;
}
.art-section p:last-child{ margin-bottom:0; }
.art-section strong{ color:var(--text); }
.art-section ul, .art-section ol{ margin:0.6rem 0 0.95rem 1.4rem; }
.art-section li{
  font-size:0.96rem;
  color:var(--text-soft);
  line-height:1.78;
  margin-bottom:0.5rem;
}

/* ── Pull quote ── */
.art-pull-quote{
  border-left:3px solid var(--gold);
  padding:1.2rem 1.4rem;
  margin:1.4rem 0;
  background:rgba(181,98,42,0.06);
}
.art-pull-quote p{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.1rem;
  font-style:italic;
  color:var(--text);
  margin:0;
}

/* ── Timeline ── */
.art-timeline{
  margin:1.2rem 0;
  border:1px solid var(--border);
  overflow:hidden;
}
.art-timeline-row{
  display:flex;
  align-items:stretch;
  border-bottom:1px solid var(--border);
}
.art-timeline-row:last-child{ border-bottom:none; }
.art-timeline-month{
  width:96px;
  min-width:96px;
  background:var(--navy);
  color:var(--gold-light);
  font-size:0.78rem;
  font-weight:600;
  letter-spacing:0.06em;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0.7rem 0.5rem;
  text-align:center;
}
.art-timeline-event{
  padding:0.8rem 1.1rem;
  font-size:0.9rem;
  color:var(--text-soft);
  display:flex;
  align-items:center;
  line-height:1.6;
}
.art-timeline-row.warn .art-timeline-month{ background:var(--gold); color:#fff; }
.art-timeline-row.danger .art-timeline-month{ background:var(--blue); color:#fff; }

/* ── Bomb cards ── */
.art-bombs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  margin:1.2rem 0;
}
@media(max-width:620px){ .art-bombs{ grid-template-columns:1fr; } }
.art-bomb{
  padding:1.2rem;
  border:1px solid var(--border);
  background:var(--white);
}
.art-bomb.c1{ border-top:3px solid var(--gold); }
.art-bomb.c2{ border-top:3px solid var(--blue); }
.art-bomb.c3{ border-top:3px solid #7490B8; }
.art-bomb-label{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:0.68rem;
  letter-spacing:2px;
  text-transform:uppercase;
  font-weight:600;
  margin-bottom:0.4rem;
}
.c1 .art-bomb-label{ color:var(--gold); }
.c2 .art-bomb-label{ color:var(--blue); }
.c3 .art-bomb-label{ color:#7490B8; }
.art-bomb-amount{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.7rem;
  font-weight:600;
  line-height:1;
  margin-bottom:0.3rem;
  color:var(--text);
}
.art-bomb-desc{ font-size:0.82rem; color:#9ca3af; }

/* ── Question list ── */
.art-question-list{ list-style:none!important; margin:1rem 0!important; padding:0!important; }
.art-question-list li{
  display:flex;
  gap:0.85rem;
  padding:0.7rem 0;
  border-bottom:1px solid var(--border);
  font-size:0.95rem;
  color:var(--text-soft);
  line-height:1.7;
  margin-bottom:0!important;
}
.art-question-list li:last-child{ border-bottom:none; }
.art-question-list li::before{
  content:'\2192';
  color:var(--gold);
  font-weight:700;
  flex-shrink:0;
  margin-top:1px;
}
.art-question-list strong{ display:block; margin-bottom:0.2rem; }

/* ── Author card ── */
.art-author{
  display:flex;
  gap:1.2rem;
  align-items:flex-start;
  padding:1.4rem;
  border:1px solid var(--border);
  margin-top:1.4rem;
  background:#faf8f4;
}
.art-author-avatar{
  width:54px;
  height:54px;
  border-radius:50%;
  border:2px solid var(--gold);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.3rem;
  font-weight:600;
  color:var(--gold);
  flex-shrink:0;
}
.art-author-name{
  font-weight:500;
  font-size:0.98rem;
  margin-bottom:0.2rem;
  color:var(--text);
}
.art-author-title{
  font-size:0.82rem;
  color:#9ca3af;
  margin-bottom:0.5rem;
}
.art-author-bio{
  font-size:0.88rem;
  color:var(--text-soft);
  line-height:1.7;
}

/* ── Sidebar ── */
.art-sidebar{ position:sticky; top:2rem; }

/* Free magnet card */
.art-free{
  background:var(--white);
  border:1px solid var(--border);
  border-top:3px solid var(--blue);
  margin-bottom:1.4rem;
  overflow:hidden;
}
.art-free-head{
  background:var(--blue);
  color:var(--white);
  padding:0.9rem 1.2rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.art-free-head strong{
  font-size:0.8rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
}
.art-free-badge{
  background:var(--white);
  color:var(--blue);
  font-size:0.72rem;
  font-weight:700;
  padding:0.2rem 0.6rem;
  letter-spacing:0.06em;
}
.art-free-body{ padding:1.2rem; }
.art-free-title{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.2rem;
  font-weight:600;
  margin-bottom:0.5rem;
  line-height:1.2;
  color:var(--text);
}
.art-free-desc{
  font-size:0.86rem;
  color:var(--text-soft);
  margin-bottom:1rem;
  line-height:1.65;
}
.art-checks{ list-style:none; margin:0 0 1.2rem 0!important; padding:0!important; }
.art-checks li{
  font-size:0.83rem;
  color:var(--text-soft);
  padding:0.28rem 0;
  display:flex;
  gap:0.5rem;
  margin-bottom:0!important;
  line-height:1.55;
}
.art-checks li::before{
  content:'\2713';
  color:var(--blue);
  font-weight:700;
  flex-shrink:0;
}
/* .btn-free now styled by unified button block in /style.css */
.art-free-foot{
  font-size:0.75rem;
  color:#9ca3af;
  margin-top:0.7rem;
  text-align:center;
}

/* Paid framework section heading */
.art-fw-heading{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:0.7rem;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:0.8rem;
  padding-left:0.2rem;
  font-weight:500;
}

/* Paid framework cards */
.art-fw{
  background:var(--white);
  border:1px solid var(--border);
  margin-bottom:0.8rem;
  overflow:hidden;
  transition:border-color 0.15s;
}
.art-fw:hover{ border-color:var(--gold); }
.art-fw-head{
  display:flex;
  align-items:stretch;
}
.art-fw-num{
  width:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.25rem;
  font-weight:600;
  color:var(--white);
  flex-shrink:0;
}
.art-fw.fw1 .art-fw-num{ background:var(--blue); }
.art-fw.fw2 .art-fw-num{ background:#3D3D3D; }
.art-fw.fw3 .art-fw-num{ background:var(--gold); }
.art-fw-headtxt{ padding:0.75rem 0.95rem; flex:1; }
.art-fw-label{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:0.68rem;
  letter-spacing:2px;
  text-transform:uppercase;
  font-weight:600;
  margin-bottom:0.18rem;
}
.art-fw.fw1 .art-fw-label{ color:var(--blue); }
.art-fw.fw2 .art-fw-label{ color:#3D3D3D; }
.art-fw.fw3 .art-fw-label{ color:var(--gold); }
.art-fw-title{
  font-size:0.92rem;
  font-weight:500;
  line-height:1.28;
  color:var(--text);
}
.art-fw-price{
  display:flex;
  align-items:center;
  padding:0 1rem;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.25rem;
  font-weight:600;
  color:var(--text);
  white-space:nowrap;
}
.art-fw-body{
  padding:0.75rem 0.95rem;
  border-top:1px solid var(--border);
}
.art-fw-desc{
  font-size:0.82rem;
  color:var(--text-soft);
  margin-bottom:0.7rem;
  line-height:1.6;
}
.art-fw-includes{ list-style:none; margin:0 0 0.95rem 0!important; padding:0!important; }
.art-fw-includes li{
  font-size:0.79rem;
  color:var(--text-soft);
  padding:0.18rem 0;
  display:flex;
  gap:0.5rem;
  margin-bottom:0!important;
  line-height:1.55;
}
.art-fw-includes li::before{
  content:'\00B7';
  color:var(--gold);
  font-weight:700;
  flex-shrink:0;
}
/* .btn-fw now styled by unified button block in /style.css */

/* Bundle card */
.art-bundle{
  background:var(--navy);
  color:var(--white);
  padding:1.4rem;
  margin-bottom:1.2rem;
  position:relative;
  overflow:hidden;
}
.art-bundle::after{
  content:'';
  position:absolute;
  bottom:0;left:0;right:0;
  height:3px;
  background:var(--gold);
}
.art-bundle-label{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:0.68rem;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:var(--gold-light);
  font-weight:500;
  margin-bottom:0.4rem;
}
.art-bundle-title{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.15rem;
  font-weight:600;
  margin-bottom:0.3rem;
  color:var(--white);
}
.art-bundle-saving{
  font-size:0.78rem;
  color:rgba(240,240,238,0.55);
  margin-bottom:0.8rem;
}
.art-bundle-saving strong{ color:var(--gold-light); }
.art-bundle-price{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:2.1rem;
  font-weight:600;
  margin-bottom:0.9rem;
  color:var(--white);
}
.art-bundle-price span{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:0.82rem;
  color:rgba(240,240,238,0.4);
  text-decoration:line-through;
  margin-left:0.5rem;
  font-weight:400;
}
/* .btn-bundle now styled by unified button block in /style.css */

/* Guarantee block */
.art-guarantee{
  background:var(--white);
  border:1px solid var(--border);
  padding:1rem 1.2rem;
  display:flex;
  gap:0.8rem;
  align-items:flex-start;
  margin-bottom:1.2rem;
}
.art-guarantee-icon{ flex-shrink:0; }
.art-guarantee-icon svg{ width:20px; height:20px; }
.art-guarantee-text strong{
  display:block;
  font-size:0.85rem;
  margin-bottom:0.2rem;
  color:var(--text);
}
.art-guarantee-text p{
  font-size:0.78rem;
  color:#9ca3af;
  margin:0;
  line-height:1.55;
}

/* Trust note */
.art-trust{
  font-size:0.75rem;
  color:#9ca3af;
  text-align:center;
  margin-top:0.6rem;
  line-height:1.55;
}
.art-trust a{ color:var(--gold); text-decoration:none; }
.art-trust a:hover{ text-decoration:underline; }

/* Breadcrumb */
.art-crumb{
  font-size:11px;
  color:rgba(240,240,238,0.55);
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:1rem;
}
.art-crumb a{ color:var(--gold); }
.art-crumb a:hover{ color:var(--gold-light); }

/* Read-more / continue CTA inline */
/* .btn-article now styled by unified button block in /style.css.
   Inline article-body CTA keeps its top margin from prior layout. */
.btn-article { margin-top:1rem; }

/* Subtle horizontal rule */
hr.art-hr{
  border:none;
  border-top:1px solid var(--border);
  margin:1.4rem 0;
}

/* Action-list (your-action-items style) */
.art-action-list{ margin:0.8rem 0!important; padding:0!important; list-style:none; }
.art-action-list li{
  position:relative;
  padding:0.5rem 0 0.5rem 1.5rem;
  font-size:0.93rem;
  color:var(--text-soft);
  line-height:1.7;
  margin-bottom:0!important;
}
.art-action-list li::before{
  content:'\2713';
  position:absolute;
  left:0;
  top:0.6rem;
  color:var(--gold);
  font-weight:700;
}

/* Mobile refinements */
@media(max-width:680px){
  .art-hero{ padding:2.6rem 0 2.2rem; }
  .art-hero-stats{ gap:1.2rem; }
  .art-stat strong{ font-size:1.4rem; }
  .art-layout{ padding:1.5rem 18px 2rem; }
  .art-section{ padding:1.6rem; }
  .art-section h2{ font-size:1.4rem; }
}
