/* =========================================================================
   SINGLE ARTICLE v2 — Maison Éditoriale Warm (Gwenda)
   ========================================================================= */

/* Breadcrumbs (fil sienne en séparateur) */
.gwd-breadcrumbs { font: 500 0.78rem/1.4 var(--wp--preset--font-family--sans); color: var(--wp--preset--color--muted); letter-spacing: 0.02em; display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem; }
.gwd-breadcrumbs a:hover { color: var(--wp--preset--color--accent-deep); }
.gwd-bc-sep { display: inline-block; width: 16px; height: 1px; background: var(--wp--preset--color--accent); opacity: 0.6; }

/* En-tête article — cartouche-filet sienne */
.gwd-article-head { position: relative; }
.gwd-article-head::before { content: ""; position: absolute; inset: 0.6rem -1.4rem; border: 1px solid var(--gwd-sienne-hair); border-radius: var(--gwd-radius); pointer-events: none; }
@media (max-width: 760px) { .gwd-article-head::before { inset: 0.4rem -0.6rem; } }
.gwd-article-eyebrow { display: flex; align-items: center; gap: 0.8rem; font-family: var(--wp--preset--font-family--italiana); font-size: 0.8rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--wp--preset--color--accent-deep); margin: 0.6rem 0 0.8rem; }
.gwd-article-eyebrow::after { content: ""; flex: 1; height: 1.5px; background: var(--wp--preset--color--accent); opacity: 0.55; }
.gwd-article-head h1 { letter-spacing: -0.02em; text-wrap: balance; }

.gwd-article-byline { display: flex; align-items: center; gap: 0.85rem; margin-top: 1.2rem; }
.gwd-article-byline .gwd-monogram { width: 44px; height: 44px; font-size: 1.35rem; }
.gwd-article-byline__txt { display: flex; flex-direction: column; gap: 0.05rem; }
.gwd-article-byline__txt strong { font: 600 0.95rem/1.3 var(--wp--preset--font-family--sans); color: var(--wp--preset--color--ink); }
.gwd-article-byline__bureau { font-family: var(--wp--preset--font-family--italiana); font-size: 0.78rem; letter-spacing: 0.08em; color: var(--wp--preset--color--accent-deep); }
.gwd-article-byline__meta { font: 500 0.8rem/1.3 var(--wp--preset--font-family--sans); color: var(--wp--preset--color--muted); font-variant-numeric: tabular-nums; }

/* Featured image — conditionnel (le shortcode ne sort rien sans thumbnail) */
.gwd-feat { aspect-ratio: 16/9; overflow: hidden; border-radius: var(--gwd-radius); margin: 1.6rem auto 0; max-width: 1100px; box-shadow: var(--gwd-shadow); }
.gwd-feat img { width: 100%; height: 100%; object-fit: cover; filter: var(--gwd-grade); }
.gwd-main figure.wp-block-post-featured-image:not(:has(img)) { display: none !important; margin: 0 !important; aspect-ratio: auto !important; }

/* =========================================================================
   ARTICLE WRAP — rail TOC sticky 2 colonnes ≥1100px
   ========================================================================= */
.gwd-article-wrap { max-width: 760px; margin-inline: auto; padding: clamp(1.6rem,4vw,2.6rem) var(--gwd-gutter) 0; }
@media (min-width: 1100px) {
  .gwd-article-wrap { max-width: 1010px; display: grid; grid-template-columns: minmax(0,720px) 220px; column-gap: clamp(2rem,4vw,3.6rem); justify-content: center; align-items: start; }
  .gwd-toc { grid-column: 2; grid-row: 1 / 99; position: sticky; top: 110px; align-self: start; border: 0; border-left: 1px solid var(--gwd-sienne-hair); border-radius: 0; background: transparent; padding: 0.2rem 0 0 1.1rem; max-width: 230px; margin: 0; }
  .gwd-toc__summary { display: none; }
  .gwd-toc[open] .gwd-toc__list, .gwd-toc .gwd-toc__list { display: flex !important; }
  .gwd-share, .gwd-article-body, .gwd-stamp, .gwd-author-card, .gwd-post-nav { grid-column: 1; max-width: 720px; width: 100%; }
}

/* TOC (cachée tant que JS n'a pas trouvé ≥2 H2) */
.gwd-toc { display: none; margin: 0 0 2rem; border: 1px solid var(--gwd-hair); border-radius: var(--gwd-radius-sm); padding: 0.5rem 1.1rem; background: var(--wp--preset--color--base-soft); }
.gwd-toc.is-ready { display: block; }
.gwd-toc__summary { cursor: pointer; font: 600 0.74rem/1 var(--wp--preset--font-family--sans); text-transform: uppercase; letter-spacing: 0.13em; color: var(--wp--preset--color--ink-soft); padding: 0.5rem 0; list-style: none; min-height: 44px; display: flex; align-items: center; }
.gwd-toc__summary::-webkit-details-marker { display: none; }
.gwd-toc__summary::after { content: " +"; margin-left: auto; color: var(--wp--preset--color--accent-deep); }
.gwd-toc[open] .gwd-toc__summary::after { content: " –"; }
.gwd-toc__list { margin: 0.3rem 0 0.5rem; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 0.45rem; }
.gwd-toc__list a { font: 400 0.9rem/1.35 var(--wp--preset--font-family--sans); color: var(--wp--preset--color--muted); border-left: 2px solid transparent; padding-left: 0.7rem; margin-left: -0.7rem; transition: color .2s, border-color .2s; }
.gwd-toc__list a:hover { color: var(--wp--preset--color--accent-deep); }
.gwd-toc__list a.is-active { color: var(--wp--preset--color--ink); border-left-color: var(--wp--preset--color--accent); }
@media (min-width: 1100px) { .gwd-toc__list a { padding-left: 1rem; margin-left: -1.1rem; } }

/* Partage — pastilles 44px tappables */
.gwd-share { display: flex; align-items: center; gap: 0.7rem; flex-wrap: wrap; margin: 0 0 2rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--gwd-hair); }
.gwd-share__label { font: 600 0.7rem/1 var(--wp--preset--font-family--sans); text-transform: uppercase; letter-spacing: 0.14em; color: var(--wp--preset--color--muted); }
.gwd-share a, .gwd-share__copy { display: inline-flex; align-items: center; min-height: 38px; padding: 0 0.85rem; font: 500 0.82rem/1 var(--wp--preset--font-family--sans); color: var(--wp--preset--color--ink-soft); border: 1px solid var(--gwd-hair); border-radius: var(--gwd-radius-sm); background: transparent; cursor: pointer; transition: border-color .2s, color .2s; }
.gwd-share a:hover, .gwd-share__copy:hover { color: var(--wp--preset--color--accent-deep); border-color: var(--wp--preset--color--accent); }
.gwd-share__status { font: 500 0.8rem/1 var(--wp--preset--font-family--sans); color: var(--wp--preset--color--secondary-deep); }

/* =========================================================================
   CORPS — typographie long-form
   ========================================================================= */
.gwd-article-body { font-size: var(--wp--preset--font-size--md); line-height: 1.62; color: var(--wp--preset--color--ink-soft); hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 6 3 3; text-wrap: pretty; }
.gwd-article-body > p, .gwd-article-body > ul, .gwd-article-body > ol, .gwd-article-body > h3, .gwd-article-body > h4 { max-width: 66ch; margin-inline: auto; }
.gwd-article-body > p { margin-block: 0 1.35rem; }
.gwd-article-body > p:first-child::first-letter, .gwd-article-body > p:first-of-type::first-letter { font-family: var(--wp--preset--font-family--serif); float: left; font-size: 3.4em; line-height: 0.72; padding: 0.04em 0.12em 0 0; color: var(--wp--preset--color--accent-deep); -webkit-initial-letter: 3 3; initial-letter: 3 3; }
.gwd-article-body h2 { font-family: var(--wp--preset--font-family--serif); font-weight: 400; color: var(--wp--preset--color--ink); font-size: var(--wp--preset--font-size--2xl); line-height: 1.15; margin: 2.8rem auto 1rem; padding-top: 1.2rem; position: relative; max-width: 66ch; text-wrap: balance; scroll-margin-top: 100px; }
.gwd-article-body h2::before { content: ""; position: absolute; top: 0; left: 0; width: 44px; height: 2px; background: var(--wp--preset--color--accent); }
.gwd-article-body h3 { font-family: var(--wp--preset--font-family--serif); font-weight: 400; font-style: italic; color: var(--wp--preset--color--accent-deep); font-size: var(--wp--preset--font-size--xl); margin: 2rem auto 0.8rem; text-wrap: balance; }
.gwd-article-body a { color: var(--wp--preset--color--accent-deep); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; text-decoration-color: var(--gwd-sienne-hair); }
.gwd-article-body a:hover { text-decoration-color: var(--wp--preset--color--accent); }
.gwd-article-body ul, .gwd-article-body ol { padding-left: 1.3rem; margin-bottom: 1.35rem; }
.gwd-article-body li { margin-bottom: 0.45rem; }
.gwd-article-body ul li::marker { color: var(--wp--preset--color--accent); }
.gwd-article-body img, .gwd-article-body figure img { border-radius: var(--gwd-radius); }
.gwd-article-body figcaption { font: italic 400 0.85rem/1.4 var(--wp--preset--font-family--serif); color: var(--wp--preset--color--muted); margin-top: 0.5rem; text-align: center; }
.gwd-article-body blockquote { font-family: var(--wp--preset--font-family--serif); font-style: italic; font-size: var(--wp--preset--font-size--xl); line-height: 1.4; color: var(--wp--preset--color--ink); border-left: 2px solid var(--wp--preset--color--accent); padding-left: 1.4rem; margin: 2rem 0; position: relative; }
.gwd-article-body blockquote::before { content: "\00AB"; position: absolute; left: -0.2rem; top: -1.4rem; font-size: 2.6rem; color: var(--wp--preset--color--accent); opacity: 0.35; }
.gwd-article-body .wp-block-quote.is-style-gwd-pull { border: 0; text-align: center; max-width: 32ch; margin: 2.6rem auto; padding: 0; font-size: var(--wp--preset--font-size--2xl); color: var(--wp--preset--color--ink); }
.gwd-article-body .wp-block-quote.is-style-gwd-pull::before { position: static; display: block; font-size: 2rem; margin-bottom: 0.3rem; }
.gwd-article-body .wp-block-table table { border-collapse: collapse; width: 100%; font-size: 0.95rem; font-variant-numeric: tabular-nums; }
.gwd-article-body .wp-block-table td, .gwd-article-body .wp-block-table th { border: 1px solid var(--gwd-hair); padding: 0.7rem 0.9rem; text-align: left; }
.gwd-article-body .wp-block-table th { background: var(--wp--preset--color--base-soft); font-family: var(--wp--preset--font-family--sans); }

/* VERDICT (cartouche signature, posé via pattern gwd-verdict) */
.gwd-verdict { border: 1.5px solid var(--wp--preset--color--accent); border-radius: var(--gwd-radius); padding: 1.4rem 1.6rem; margin: 2.4rem auto; max-width: 66ch; }
.gwd-verdict__label { font-family: var(--wp--preset--font-family--italiana); font-size: 0.78rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--wp--preset--color--accent-deep); margin: 0 0 0.5rem; }
.gwd-verdict__line { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--lg); color: var(--wp--preset--color--ink); margin: 0; }
.gwd-verdict__keep { color: var(--wp--preset--color--secondary-deep); font-weight: 600; }
.gwd-verdict__pass { color: var(--wp--preset--color--muted); }
.gwd-verdict__by { font: 500 0.82rem/1.3 var(--wp--preset--font-family--sans); color: var(--wp--preset--color--muted); margin: 0.6rem 0 0; }

/* CALLOUTS — 5 variantes (préfixe gwd) */
.gwd-callout { margin: 2rem auto; max-width: 66ch; padding: 1.3rem 1.5rem; border-radius: var(--gwd-radius); font-size: var(--wp--preset--font-size--base); line-height: 1.6; position: relative; }
.gwd-callout p { margin: 0 0 0.6rem; } .gwd-callout p:last-child { margin-bottom: 0; }
.gwd-callout strong:first-child { display: block; font-family: var(--wp--preset--font-family--sans); font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.13em; margin-bottom: 0.5rem; }
.gwd-callout--avis { background: var(--wp--preset--color--accent-pale); } .gwd-callout--avis strong:first-child { color: var(--wp--preset--color--accent-deep); }
.gwd-callout--avis::before { content: "\25C6"; position: absolute; top: 1.2rem; right: 1.3rem; color: var(--wp--preset--color--accent); }
.gwd-callout--vecu { background: var(--wp--preset--color--base-soft); border: 1px solid var(--gwd-hair); } .gwd-callout--vecu strong:first-child { color: var(--wp--preset--color--secondary-deep); }
.gwd-callout--note { background: transparent; border-left: 3px solid var(--wp--preset--color--secondary); border-radius: 0; padding-left: 1.2rem; } .gwd-callout--note strong:first-child { color: var(--wp--preset--color--secondary-deep); }
.gwd-callout--alerte { background: color-mix(in srgb, var(--wp--preset--color--accent) 12%, var(--wp--preset--color--base)); } .gwd-callout--alerte strong:first-child { color: var(--wp--preset--color--accent-deep); }
.gwd-callout--aparte { background: transparent; font-family: var(--wp--preset--font-family--serif); font-style: italic; font-size: var(--wp--preset--font-size--lg); color: var(--wp--preset--color--ink); border-block: 1px solid var(--gwd-hair); border-radius: 0; padding: 1.4rem 0; } .gwd-callout--aparte strong:first-child { font-style: normal; }

/* Tampon de fin + author card cartouche */
.gwd-stamp { display: flex; align-items: center; gap: 0.9rem; margin: 2.4rem auto 0; padding-top: 1.4rem; border-top: 1px solid var(--gwd-sienne-hair); }
.gwd-stamp__txt { font-family: var(--wp--preset--font-family--italiana); font-size: 0.9rem; letter-spacing: 0.08em; color: var(--wp--preset--color--ink-soft); }
.gwd-author-card { display: flex; gap: 1.1rem; align-items: flex-start; margin: 2rem auto 0; padding: 1.6rem; background: var(--wp--preset--color--base); border: 1px solid var(--gwd-sienne-hair); border-radius: var(--gwd-radius); }
.gwd-author-card__name { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--lg); color: var(--wp--preset--color--ink); margin: 0; }
.gwd-author-card__role { font: 600 0.72rem/1.3 var(--wp--preset--font-family--sans); text-transform: uppercase; letter-spacing: 0.1em; color: var(--wp--preset--color--accent-deep); margin: 0.2rem 0 0.5rem; }
.gwd-author-card__bio { font-size: 0.92rem; line-height: 1.55; color: var(--wp--preset--color--ink-soft); margin: 0 0 0.6rem; }

/* prev/next */
.gwd-post-nav { gap: 1rem; margin: 2.5rem auto 0; padding-top: 1.5rem; border-top: 1px solid var(--gwd-hair); }
.gwd-post-nav a { font: 500 0.95rem/1.4 var(--wp--preset--font-family--sans); color: var(--wp--preset--color--ink); }
.gwd-post-nav a:hover { color: var(--wp--preset--color--accent-deep); }
.gwd-post-nav__next { text-align: right; }
.gwd-related { background: var(--wp--preset--color--base-soft); border-top: 1px solid var(--gwd-hair); margin-top: 4rem; }

/* MOBILE */
@media (max-width: 760px) {
  .gwd-article-body > p:first-child::first-letter, .gwd-article-body > p:first-of-type::first-letter { font-size: 3em; }
}
@media (max-width: 560px) {
  .gwd-post-nav { flex-direction: column; }
  .gwd-post-nav__next { text-align: left; }
  .gwd-post-nav a { display: block; min-height: 44px; padding: 0.5rem 0; }
  .gwd-author-card { flex-direction: column; }
}
