/**
 * article-custom.css
 * Styles pour les articles enrichis du blog GCS.NC
 * À placer dans : /assets/css/article-custom.css
 * À charger dans article.php via :
 * <link rel="stylesheet" href="/assets/css/article-custom.css">
 */

/* ── Layout 2 colonnes (article + sidebar) ── */
.gcs-layout {
    display: grid !important;
    grid-template-columns: 1fr 230px !important;
    gap: 36px !important;
    align-items: start !important;
  }
  .gcs-main { min-width: 0 !important; }
  .gcs-side { position: sticky !important; top: 80px !important; }
  
  /* ── Timeline ── */
  .gcs-tl {
    margin: 20px 0 !important;
    padding-left: 20px !important;
    border-left: 2px solid #2a2a2a !important;
    list-style: none !important;
  }
  .gcs-tl-item {
    position: relative !important;
    padding-bottom: 22px !important;
    padding-left: 0 !important;
    margin-bottom: 0 !important;
  }
  .gcs-tl-item:last-child { padding-bottom: 0 !important; }
  .gcs-tl-item::before {
    content: '' !important;
    position: absolute !important;
    left: -26px !important;
    top: 5px !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: #1e1e1e !important;
    border: 2px solid #b0b0b0 !important;
  }
  .gcs-tl-item.now::before {
    background: #f7941d !important;
    border-color: #f7941d !important;
  }
  .gcs-tl-year {
    display: block !important;
    font-size: .68rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
    color: #f7941d !important;
    margin-bottom: 2px !important;
  }
  .gcs-tl-title {
    display: block !important;
    font-weight: 700 !important;
    color: #e0e0e0 !important;
    font-size: .95rem !important;
    margin-bottom: 3px !important;
  }
  .gcs-tl-desc {
    display: block !important;
    font-size: .87rem !important;
    color: #b0b0b0 !important;
    line-height: 1.55 !important;
  }
  
  /* ── Bandeau statistiques ── */
  .gcs-stats {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    margin: 24px 0 !important;
    border: 1px solid #2a2a2a !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #2a2a2a !important;
    gap: 1px !important;
  }
  .gcs-stat {
    background: #121212 !important;
    padding: 18px 10px !important;
    text-align: center !important;
  }
  .gcs-stat-n {
    display: block !important;
    font-size: 1.9rem !important;
    font-weight: 400 !important;
    color: #f7941d !important;
    line-height: 1 !important;
    margin-bottom: 6px !important;
    font-family: Georgia, serif !important;
  }
  .gcs-stat-l {
    display: block !important;
    font-size: .73rem !important;
    color: #b0b0b0 !important;
    line-height: 1.4 !important;
  }
  
  /* ── Grille architectures (2x2) ── */
  .gcs-arch {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin: 20px 0 !important;
  }
  .gcs-arch-card {
    background: #121212 !important;
    border: 1px solid #2a2a2a !important;
    border-radius: 8px !important;
    padding: 14px !important;
  }
  .gcs-arch-head {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 10px !important;
  }
  .gcs-badge {
    display: inline-block !important;
    font-size: .6rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .07em !important;
    padding: 2px 8px !important;
    border-radius: 3px !important;
    border: 1px solid !important;
    line-height: 1.6 !important;
  }
  .gcs-badge-r { color: #f08070 !important; background: rgba(180,50,30,.2) !important;  border-color: rgba(220,80,50,.4) !important;  }
  .gcs-badge-b { color: #00a0e9 !important; background: rgba(0,160,233,.12) !important; border-color: rgba(0,160,233,.35) !important; }
  .gcs-badge-a { color: #f7941d !important; background: rgba(247,148,29,.12) !important;border-color: rgba(247,148,29,.35) !important;}
  .gcs-badge-p { color: #c0a0f0 !important; background: rgba(80,50,160,.2) !important;  border-color: rgba(130,100,220,.4) !important;}
  .gcs-arch-name {
    font-weight: 700 !important;
    font-size: .9rem !important;
    color: #e0e0e0 !important;
  }
  .gcs-arch-line {
    display: block !important;
    font-size: .82rem !important;
    color: #b0b0b0 !important;
    line-height: 1.55 !important;
    margin-bottom: 5px !important;
  }
  .gcs-arch-line:last-child { margin-bottom: 0 !important; }
  .gcs-pro { color: #8cc63f !important; }
  .gcs-pro::before { content: '✓  ' !important; }
  .gcs-con { color: #e05040 !important; }
  .gcs-con::before { content: '✗  ' !important; }
  
  /* ── Callout (encadré orange) ── */
  .gcs-callout {
    display: block !important;
    border-left: 3px solid #f7941d !important;
    background: rgba(247,148,29,.1) !important;
    border-top: 1px solid rgba(247,148,29,.3) !important;
    border-bottom: 1px solid rgba(247,148,29,.3) !important;
    border-right: 1px solid rgba(247,148,29,.3) !important;
    border-radius: 0 6px 6px 0 !important;
    padding: 14px 18px !important;
    margin: 22px 0 !important;
    font-size: .95rem !important;
    color: #e0e0e0 !important;
    line-height: 1.65 !important;
  }
  
  /* ── Pull quote (citation verte) ── */
  .gcs-quote {
    display: block !important;
    margin: 22px 0 !important;
    padding: 18px 22px !important;
    background: #121212 !important;
    border: 1px solid #2a2a2a !important;
    border-left: 3px solid #8cc63f !important;
    border-radius: 0 6px 6px 0 !important;
    font-style: italic !important;
    font-size: 1.08rem !important;
    color: #e0e0e0 !important;
    line-height: 1.55 !important;
  }
  
  /* ── Liste signaux ── */
  .gcs-signals {
    list-style: none !important;
    padding: 0 !important;
    margin: 16px 0 !important;
  }
  .gcs-signals li {
    display: flex !important;
    gap: 10px !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #2a2a2a !important;
    font-size: .92rem !important;
    color: #b0b0b0 !important;
    align-items: flex-start !important;
    margin: 0 !important;
  }
  .gcs-signals li:last-child { border-bottom: none !important; }
  .gcs-signals li::before {
    content: '→' !important;
    color: #f7941d !important;
    flex-shrink: 0 !important;
  }
  
  /* ── Sidebar cards ── */
  .gcs-scard {
    background: #2a2a2a !important;
    border: 1px solid #383838 !important;
    border-radius: 8px !important;
    padding: 16px !important;
    margin-bottom: 14px !important;
    box-shadow: 0 4px 8px rgba(0,0,0,.4) !important;
  }
  .gcs-stitle {
    display: block !important;
    font-size: .62rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
    color: #f7941d !important;
    margin-bottom: 10px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid #383838 !important;
  }
  .gcs-scard p {
    font-size: .82rem !important;
    color: #b0b0b0 !important;
    line-height: 1.58 !important;
    margin-bottom: 7px !important;
  }
  .gcs-scard p:last-child { margin-bottom: 0 !important; }
  .gcs-scard a { color: #f7941d !important; }
  .gcs-scard a:hover { color: #8cc63f !important; }
  
  /* ── Responsive mobile ── */
  @media (max-width: 768px) {
    .gcs-layout {
      grid-template-columns: 1fr !important;
    }
    .gcs-side {
      position: static !important;
    }
    .gcs-arch {
      grid-template-columns: 1fr !important;
    }
    .gcs-stats {
      grid-template-columns: 1fr !important;
    }
  }