/* En-tête et pied de page : règles reprises de partials/layout.php (pages intérieures du site) */
.hdr-cta{display:flex;align-items:center;gap:14px}
.hdr-tel{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-u);font-size:.9rem;color:inherit;text-decoration:none;white-space:nowrap}
.hdr-tel svg{width:18px;height:18px;flex:none}
.show-sm{display:none}
@media(max-width:600px){.hdr-tel span,.hide-sm{display:none}.show-sm{display:inline}.hdr-cta{gap:10px}}
.foot-contact{margin-top:14px;line-height:1.8}
.foot-contact a{color:inherit;text-decoration:underline}
.hdr-cta .btn,nav.main a{white-space:nowrap}
@media(max-width:1180px){.hdr-tel span{display:none}}

/* Rubrique Actualités — complète /assets/site.css en reprenant ses variables */

.actu-hero { padding-bottom: 0; }
.actu-section { padding: 8px 0 72px; }
.actu-preview {
  font-family: var(--font-u); font-size: .9rem;
  background: var(--paper-2); border: 1px solid var(--accent-2);
  padding: 10px 14px; margin: 0 0 8px; max-width: 760px;
}

/* ---------- Liste des articles ---------- */
.post-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 20px; }
.post-card {
  display: flex; flex-direction: column; gap: 10px;
  background: var(--card); border: 1px solid var(--line);
  padding: 26px 26px 22px; color: var(--ink); text-decoration: none;
  transition: border-color .2s ease, transform .2s ease;
}
.post-card:hover, .post-card:focus-visible { border-color: var(--ink); transform: translateY(-2px); }
.post-card h2, .post-card h3 { font-family: var(--font-d); font-weight: 600; font-size: 1.3rem; line-height: 1.25; margin: 0; }
.post-card h3 { font-size: 1.1rem; }
.post-card p { margin: 0; color: var(--stone); font-size: 1rem; line-height: 1.55; }
.post-date { font-family: var(--font-u); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: var(--stone); }
.post-card .go { margin-top: auto; padding-top: 6px; font-family: var(--font-u); font-size: .92rem; font-weight: 500; color: var(--accent); }
.post-list--compact { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }

.actu-cta { margin-top: 56px; padding: 32px; background: var(--accent); color: var(--on-accent); }
.actu-cta h2 { font-family: var(--font-d); color: var(--on-accent); margin: 0 0 8px; }
.actu-cta p { margin: 0 0 14px; }
.actu-cta .btn-fill { background: var(--on-accent); color: var(--ink); border-color: var(--on-accent); }
.actu-cta .btn:not(.btn-fill) { color: var(--on-accent); border-color: var(--on-accent); }

/* ---------- Article ---------- */
.post { max-width: 760px; font-size: 1.06rem; line-height: 1.75; }
.post > header h1 {
  font-family: var(--font-d); font-weight: 600; color: var(--ink);
  font-size: clamp(2rem, 4.6vw, 3.1rem); line-height: 1.12; margin: 0 0 14px;
}
.post .meta { font-family: var(--font-u); font-size: .88rem; color: var(--stone); margin: 0 0 22px; }
.post .lead { font-size: 1.18rem; color: var(--ink); }
.post h2 { font-family: var(--font-d); font-weight: 600; font-size: 1.6rem; line-height: 1.25; margin: 48px 0 12px; }
.post h3 { font-family: var(--font-d); font-weight: 600; font-size: 1.22rem; margin: 30px 0 8px; }
.post a { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; }
.post ul { padding-left: 1.2em; }
.post li { margin: 4px 0; }

.post .box {
  background: var(--paper-2); border-left: 3px solid var(--accent-2);
  padding: 18px 22px; margin: 28px 0;
}
.post .box h2, .post .box h3 { margin-top: 0; font-size: 1.2rem; }

.post .table-scroll { overflow-x: auto; margin: 18px 0; }
.post table { width: 100%; border-collapse: collapse; font-family: var(--font-u); font-size: .92rem; line-height: 1.5; background: var(--card); }
.post th, .post td { border: 1px solid var(--line); padding: 9px 12px; text-align: left; vertical-align: top; }
.post th { background: var(--paper-2); font-weight: 600; }

.post .note { font-family: var(--font-u); font-size: .85rem; line-height: 1.55; color: var(--stone); }
.post ul.note { padding-left: 1.2em; }

.post details { border-bottom: 1px solid var(--line); padding: 14px 0; }
.post summary { cursor: pointer; font-weight: 600; font-family: var(--font-d); font-size: 1.08rem; }
.post details p { margin: 10px 0 0; }

.post .author {
  display: flex; gap: 18px; align-items: flex-start;
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  padding: 22px 0; margin: 44px 0;
  font-size: .98rem;
}
.post .author img { width: 76px; height: 76px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }

.post .cta { background: var(--accent); color: var(--on-accent); padding: 28px; margin: 36px 0; }
.post .cta h2 { color: var(--on-accent); margin: 0 0 8px !important; font-size: 1.4rem; }
.post .cta p { margin: 0 0 10px; }
.post .cta a { color: var(--on-accent); font-weight: 600; }

.post-more { max-width: 760px; margin-top: 56px; padding-top: 28px; border-top: 1px solid var(--line); }
.post-more h2 { font-family: var(--font-d); font-weight: 600; font-size: 1.4rem; margin: 0 0 16px; }

@media (max-width: 640px) {
  .post-list, .post-list--compact { grid-template-columns: 1fr; }
  .post .author { flex-direction: column; }
  .actu-cta, .post .cta { padding: 22px; }
}
