/* ════════════════════════════════════════════════
   PAGES INTÉRIEURES — Styles additionnels
   ════════════════════════════════════════════════ */

/* ── Section générique ─── */
.inner-section { padding: 64px 0; }
.inner-section:nth-child(even) { background: var(--c-sable); }
.inner-section:nth-child(odd)  { background: var(--c-white); }

/* ── Prose / Contenu éditorial ─── */
.prose h2 { font-family:var(--font-display); font-size:1.7rem; color:var(--c-dark); margin:32px 0 14px; }
.prose h3 { font-family:var(--font-display); font-size:1.25rem; color:var(--c-primary); margin:24px 0 10px; }
.prose p  { margin-bottom:16px; line-height:1.8; color:var(--c-text); }
.prose ul { margin:0 0 16px 24px; list-style:disc; }
.prose ul li { margin-bottom:8px; }
.prose a  { color:var(--c-primary); text-decoration:underline; }
.prose blockquote {
  border-left:4px solid var(--c-gold); padding:16px 24px;
  background:var(--c-ocean); border-radius:0 var(--radius) var(--radius) 0;
  margin:24px 0; font-style:italic; color:var(--c-muted);
}
.prose .lead { font-size:1.15rem; color:var(--c-dark); font-weight:400; line-height:1.7; margin-bottom:24px; }

/* ── Timeline ─── */
.timeline { position:relative; padding-left:32px; }
.timeline::before { content:''; position:absolute; left:10px; top:0; bottom:0; width:2px; background:var(--c-gold); }
.timeline-item { position:relative; margin-bottom:36px; }
.timeline-item::before {
  content:''; position:absolute; left:-26px; top:6px;
  width:14px; height:14px; border-radius:50%;
  background:var(--c-gold); border:3px solid var(--c-white);
  box-shadow:0 0 0 2px var(--c-gold);
}
.timeline-year {
  font-family:var(--font-display); font-size:1rem; font-weight:700;
  color:var(--c-gold); margin-bottom:6px;
}
.timeline-title { font-weight:700; color:var(--c-dark); margin-bottom:6px; }
.timeline-text  { font-size:.9rem; color:var(--c-muted); line-height:1.6; }

/* ── Cards équipe ─── */
.team-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:24px;
}
.team-card {
  background:var(--c-white); border-radius:var(--radius-lg);
  border:1px solid var(--c-border); overflow:hidden;
  box-shadow:var(--shadow-sm); text-align:center;
  transition:all .3s;
}
.team-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.team-card-photo {
  height:180px; overflow:hidden;
  background:linear-gradient(135deg,var(--c-primary),var(--c-dark));
  display:flex; align-items:center; justify-content:center;
  font-size:3rem; color:rgba(255,255,255,.3);
}
.team-card-photo img { width:100%; height:100%; object-fit:cover; }
.team-card-body { padding:20px 16px; }
.team-card-name { font-family:var(--font-display); font-size:1rem; font-weight:700; color:var(--c-dark); margin-bottom:4px; }
.team-card-role { font-size:.8rem; color:var(--c-primary); font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
.team-card-desc { font-size:.82rem; color:var(--c-muted); margin-top:10px; line-height:1.5; }

/* ── Steps / Démarche ─── */
.steps { display:flex; flex-direction:column; gap:0; }
.step {
  display:flex; gap:24px; align-items:flex-start;
  padding:24px 0; border-bottom:1px solid var(--c-border);
}
.step:last-child { border-bottom:none; }
.step-num {
  flex-shrink:0; width:48px; height:48px; border-radius:50%;
  background:var(--c-primary); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-size:1.2rem; font-weight:700;
}
.step-body h4 { font-weight:700; color:var(--c-dark); margin-bottom:6px; }
.step-body p  { font-size:.9rem; color:var(--c-muted); margin:0; }

/* ── Accordion ─── */
.accordion { border:1px solid var(--c-border); border-radius:var(--radius); overflow:hidden; }
.accordion-item { border-bottom:1px solid var(--c-border); }
.accordion-item:last-child { border-bottom:none; }
.accordion-btn {
  width:100%; text-align:left; padding:18px 24px;
  background:none; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between;
  font-family:var(--font-body); font-size:.95rem; font-weight:600;
  color:var(--c-dark); transition:background .2s;
}
.accordion-btn:hover { background:var(--c-ocean); }
.accordion-btn .acc-icon { transition:transform .3s; font-size:.85rem; }
.accordion-btn.open .acc-icon { transform:rotate(180deg); }
.accordion-content {
  display:none; padding:0 24px 20px;
  font-size:.9rem; color:var(--c-muted); line-height:1.7;
}
.accordion-content.open { display:block; }

/* ── Infos box ─── */
.info-box {
  padding:20px 24px; border-radius:var(--radius);
  display:flex; gap:14px; align-items:flex-start;
  margin:20px 0;
}
.info-box.info-blue { background:var(--c-ocean); border-left:4px solid var(--c-primary); }
.info-box.info-gold { background:#fdf6e3; border-left:4px solid var(--c-gold); }
.info-box.info-red  { background:#feeaea; border-left:4px solid var(--c-red); }
.info-box.info-green{ background:#e8f5ee; border-left:4px solid var(--c-success); }
.info-box-icon { font-size:1.2rem; flex-shrink:0; margin-top:2px; }
.info-box-body { flex:1; }
.info-box-body strong { display:block; margin-bottom:4px; color:var(--c-dark); }
.info-box-body p { margin:0; font-size:.875rem; }

/* ── Table budgétaire ─── */
.budget-table { width:100%; border-collapse:collapse; font-size:.9rem; }
.budget-table th {
  background:var(--c-dark); color:#fff;
  padding:12px 16px; text-align:left;
  font-size:.8rem; letter-spacing:.06em; text-transform:uppercase;
}
.budget-table td { padding:12px 16px; border-bottom:1px solid var(--c-border); }
.budget-table tr:nth-child(even) td { background:var(--c-sable); }
.budget-table tr:hover td { background:var(--c-ocean); }
.budget-table .amount { text-align:right; font-weight:600; font-family:var(--font-display); }
.budget-table .total td { font-weight:700; background:var(--c-ocean); color:var(--c-primary); }

/* ── Contact form ─── */
.contact-form { display:flex; flex-direction:column; gap:16px; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(max-width:600px){ .form-row { grid-template-columns:1fr; } }
.form-label { font-size:.875rem; font-weight:600; color:var(--c-dark); }
.form-label span { color:var(--c-red); }
.form-input, .form-select, .form-textarea {
  width:100%; padding:12px 16px;
  border:1px solid var(--c-border); border-radius:var(--radius);
  font-family:var(--font-body); font-size:.95rem; color:var(--c-text);
  background:var(--c-white); transition:border-color .2s, box-shadow .2s;
  outline:none;
}
.form-input:focus, .form-select:focus, .form-textarea:focus {
  border-color:var(--c-primary); box-shadow:0 0 0 3px rgba(27,79,168,.12);
}
.form-textarea { resize:vertical; min-height:120px; }
.form-hint { font-size:.78rem; color:var(--c-muted); }

/* ── Map embed ─── */
.map-embed { border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow); }
.map-embed iframe { display:block; }

/* ── Stat cards environnement ─── */
.env-kpi-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
@media(min-width:640px){ .env-kpi-grid { grid-template-columns:repeat(4,1fr); } }
.env-kpi { background:rgba(255,255,255,.1); border-radius:var(--radius); padding:20px; text-align:center; }
.env-kpi-number { font-family:var(--font-display); font-size:1.8rem; font-weight:700; color:#7FD9A4; }
.env-kpi-label  { font-size:.78rem; opacity:.8; margin-top:4px; }

/* ── Galerie ─── */
.galerie-page-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:12px;
}
@media(min-width:640px){ .galerie-page-grid { grid-template-columns:repeat(3,1fr); } }
@media(min-width:900px){ .galerie-page-grid { grid-template-columns:repeat(4,1fr); } }
.galerie-page-item {
  aspect-ratio:1; border-radius:var(--radius); overflow:hidden;
  background:var(--c-ocean); position:relative; cursor:pointer;
}
.galerie-page-item img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.galerie-page-item:hover img { transform:scale(1.08); }

/* ── Tag cloud ─── */
.tags-cloud { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.tag-chip {
  padding:5px 14px; background:var(--c-ocean);
  color:var(--c-primary); border-radius:20px;
  font-size:.78rem; font-weight:600; border:1px solid rgba(27,79,168,.15);
  transition:all .2s; text-decoration:none;
}
.tag-chip:hover { background:var(--c-primary); color:#fff; }

/* ── Transport pratique ─── */
.transport-card {
  background:var(--c-white); border-radius:var(--radius-lg);
  border:1px solid var(--c-border); padding:28px; box-shadow:var(--shadow-sm);
}
.transport-icon { font-size:2.5rem; margin-bottom:12px; }
.transport-title { font-family:var(--font-display); font-size:1.1rem; font-weight:700; color:var(--c-dark); margin-bottom:10px; }
.transport-list { display:flex; flex-direction:column; gap:8px; }
.transport-row { display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px solid var(--c-border); font-size:.875rem; }
.transport-row:last-child { border-bottom:none; }
.transport-row span:first-child { color:var(--c-muted); }
.transport-row span:last-child { font-weight:600; color:var(--c-dark); }

/* ── Highlight strip ─── */
.highlight-strip {
  background:linear-gradient(135deg,var(--c-primary),var(--c-dark));
  color:#fff; padding:40px; border-radius:var(--radius-lg);
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; flex-wrap:wrap; margin:40px 0;
}
.highlight-strip-text h3 { font-family:var(--font-display); font-size:1.4rem; font-weight:700; margin-bottom:8px; }
.highlight-strip-text p  { opacity:.8; font-size:.95rem; margin:0; }

/* ── Responsive sidebar ─── */
@media(max-width:900px){
  .content-sidebar-wrap { grid-template-columns:1fr; }
}
