/* Autour de Maman — styles du BLOG (liste d'articles + page article).
   Réutilise les tokens de styles.css (--rose, --sauge, --miel, --cocon, --brume, --ink, --card…). */

/* ── LISTE D'ARTICLES (blog.html) ── */
.blog-filters { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:34px; }
.blog-filter { background:var(--card); border:1.5px solid color-mix(in srgb,var(--ink) 12%,transparent); color:var(--ink);
  padding:8px 18px; border-radius:999px; font-weight:700; font-size:.9rem; cursor:pointer; transition:all .2s ease; font-family:var(--font-body); }
.blog-filter:hover { border-color:var(--cocon); }
.blog-filter.active { background:var(--cocon); color:#fff; border-color:var(--cocon); }

.blog-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:26px; }
.blog-card { display:flex; flex-direction:column; background:var(--card); border-radius:var(--radius); overflow:hidden;
  box-shadow:0 8px 24px -16px rgba(43,58,74,.22); text-decoration:none; color:inherit; transition:transform .25s ease, box-shadow .25s ease; }
.blog-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.blog-card.pillar { border:2px solid color-mix(in srgb,var(--cocon) 45%,transparent); }
.blog-card-cover { aspect-ratio:16/10; background:linear-gradient(135deg,color-mix(in srgb,var(--rose) 40%,var(--card)),color-mix(in srgb,var(--miel) 35%,var(--card))); overflow:hidden; }
.blog-card-cover img { width:100%; height:100%; object-fit:cover; }
.blog-card-body { padding:22px 22px 24px; display:flex; flex-direction:column; gap:8px; flex:1; }
.blog-card-tag { align-self:flex-start; background:color-mix(in srgb,var(--sauge) 26%,transparent); color:#2B3A4A;
  padding:4px 12px; border-radius:999px; font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.02em; }
.blog-card.pillar .blog-card-tag { background:color-mix(in srgb,var(--cocon) 22%,transparent); color:var(--cocon-deep); }
.blog-card h3 { font-size:1.15rem; line-height:1.25; margin:2px 0 0; }
.blog-card p { color:var(--brume); font-size:.92rem; line-height:1.55; margin:0; flex:1; }
.blog-card .blog-card-more { color:var(--cocon); font-weight:700; font-size:.9rem; margin-top:6px; }

/* ── PAGE ARTICLE ── */
.art { padding-block:clamp(28px,4vw,52px); }
.art-wrap { max-width:760px; }
.art-breadcrumb { font-size:.85rem; color:var(--brume); margin-bottom:22px; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.art-breadcrumb a { color:var(--brume); text-decoration:none; }
.art-breadcrumb a:hover { color:var(--cocon); text-decoration:underline; }
.art-breadcrumb [aria-current] { color:var(--ink); font-weight:600; }
.art-head h1 { font-size:clamp(1.9rem,4vw,2.9rem); line-height:1.1; letter-spacing:-.015em; margin:8px 0 12px; }
.art-meta { color:var(--brume); font-size:.9rem; }
.art-cover { margin:26px 0 8px; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.art-cover img { width:100%; display:block; aspect-ratio:16/9; object-fit:cover; }
.art-body { font-size:1.06rem; line-height:1.75; color:var(--ink); }
.art-lead { font-size:1.2rem; line-height:1.6; color:var(--ink); font-weight:500; margin-bottom:26px; }
.art-body h2 { font-size:clamp(1.4rem,2.6vw,1.9rem); margin:38px 0 12px; line-height:1.2; scroll-margin-top:90px; }
.art-body h3 { font-size:1.22rem; margin:26px 0 8px; }
.art-body p { margin-bottom:16px; }
.art-body ul, .art-body ol { margin:0 0 18px 1.2em; display:flex; flex-direction:column; gap:8px; }
.art-body li { line-height:1.65; }
.art-body blockquote { border-left:4px solid var(--miel); background:color-mix(in srgb,var(--miel) 10%,transparent);
  margin:22px 0; padding:14px 20px; border-radius:0 12px 12px 0; font-style:italic; color:var(--ink); }
.art-callout { background:color-mix(in srgb,var(--sauge) 16%,var(--card)); border:1px solid color-mix(in srgb,var(--sauge) 34%,transparent);
  border-radius:16px; padding:18px 22px; margin:24px 0; }
.art-callout strong { display:block; margin-bottom:4px; color:var(--cocon-deep); font-family:var(--font-head); }
.art-callout p { margin:0; }

/* Encart pilier (cocon) sur une feuille */
.art-cluster-box { display:flex; flex-direction:column; gap:4px; background:color-mix(in srgb,var(--cocon) 8%,var(--card));
  border:1px solid color-mix(in srgb,var(--cocon) 22%,transparent); border-radius:16px; padding:16px 20px; margin:6px 0 28px; }
.art-cluster-eyebrow { font-size:.74rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:var(--cocon-deep); }
.art-cluster-pillar { font-family:var(--font-head); font-size:1.08rem; color:var(--cocon); text-decoration:none; font-weight:600; }
.art-cluster-pillar:hover { text-decoration:underline; }

/* FAQ */
.art-faq { margin:40px 0 8px; }
.art-faq h2 { font-size:clamp(1.4rem,2.6vw,1.9rem); margin-bottom:14px; }
.art-faq details { border:1px solid color-mix(in srgb,var(--ink) 12%,transparent); border-radius:14px; padding:4px 18px; margin-bottom:12px; background:var(--card); }
.art-faq summary { cursor:pointer; font-weight:700; padding:14px 0; list-style:none; }
.art-faq summary::-webkit-details-marker { display:none; }
.art-faq summary::after { content:"+"; float:right; color:var(--cocon); font-size:1.3rem; line-height:1; }
.art-faq details[open] summary::after { content:"−"; }
.art-faq details p { padding-bottom:16px; margin:0; color:var(--ink); }

/* CTA vers le guide */
.art-cta { margin:44px 0; }
.art-cta-inner { background:linear-gradient(135deg,var(--cocon),var(--cocon-deep)); color:#fff; border-radius:var(--radius); padding:clamp(28px,4vw,40px); text-align:center; box-shadow:var(--shadow); }
.art-cta-eyebrow { text-transform:uppercase; letter-spacing:.05em; font-size:.8rem; font-weight:800; color:#FCE7B8; margin-bottom:8px; }
.art-cta-inner h2 { color:#fff; font-size:clamp(1.5rem,3vw,2.1rem); margin-bottom:10px; }
.art-cta-inner p { color:color-mix(in srgb,#fff 86%,transparent); margin-bottom:20px; max-width:46ch; margin-inline:auto; }
.art-cta-inner .btn-primary { background:var(--miel); color:#2A1B0C; }

/* Variante AVEC couverture du guide : 2 colonnes (livre à gauche, argumentaire à droite).
   La couverture rend l'offre tangible → meilleure conversion qu'un simple bandeau de texte. */
.art-cta-inner.has-cover { display:grid; grid-template-columns:auto 1fr; gap:clamp(22px,4vw,38px); align-items:center; text-align:left; }
.art-cta-inner.has-cover p { margin-inline:0; }
.art-cta-cover { flex:none; }
.art-cta-cover img { display:block; width:clamp(130px,17vw,175px); height:auto; aspect-ratio:2/3; object-fit:cover;
  border-radius:10px; box-shadow:0 22px 40px -14px rgba(0,0,0,.55), 0 3px 0 0 rgba(255,255,255,.16);
  transform:rotate(-2.5deg); transition:transform .35s ease; }
.art-cta-inner.has-cover:hover .art-cta-cover img { transform:rotate(0) translateY(-4px); }
@media (max-width:620px){
  .art-cta-inner.has-cover { grid-template-columns:1fr; text-align:center; justify-items:center; }
  .art-cta-inner.has-cover p { margin-inline:auto; }
  .art-cta-cover img { transform:none; width:150px; }
}

/* Maillage (à lire aussi / transversal) */
.art-related { margin:34px 0; }
.art-related h2 { font-size:1.35rem; margin-bottom:12px; }
.art-related ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
.art-related li a { color:var(--cocon); text-decoration:none; font-weight:600; border-bottom:1px solid transparent; }
.art-related li a:hover { border-bottom-color:var(--cocon); }
.art-related--cross li a { color:var(--terracotta); }
.art-related--cross li a:hover { border-bottom-color:var(--terracotta); }

@media (max-width:600px){ .art-wrap{ padding-inline:2px; } }
