/*
 * Newsweed — feuille de style v2 (refonte graphique)
 * ---------------------------------------------------------------------------
 * UN SEUL FICHIER pour toute la refonte. Chaque section est limitée à son périmètre
 * (classe de <body> ou classe racine), donc le fichier peut être chargé partout sans effet de bord.
 *
 *   1. Page pilier « cannabis »           body.single-cannabis
 *   2. Pages catégorie                    body.category
 *   3. Rubrique « Lois et réglementations » (categ_learn)   .nwl
 *   4. Dossier « Légalisation dans le monde »                .nwm
 *
 * Aucune police n'est déclarée dans ce fichier : celles du thème sont conservées partout.
 * Ajouter une nouvelle page : nouvelle section en fin de fichier, préfixée par sa classe de body.
 */

/* ==========================================================================
   1. PAGE PILIER « CANNABIS »
   Périmètre : body.single-cannabis
   ========================================================================== */

/* Newsweed — page pilier « cannabis » (body.single-cannabis). Aucune police déclarée : celles du thème sont conservées. */
body.single-cannabis { --nwc-accent: #FFE500; --nwc-ink: #0e0e0e; --nwc-text: #2a2a27; --nwc-muted: #5a5a55; --nwc-line: #e3e2dc; --nwc-soft: #f5f4ef; }

/* ---------- Méta sous le titre (date de mise à jour, lecture) ---------- */
body.single-cannabis .mvp-post-feat-text { position: relative; }
body.single-cannabis .nwc-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; width: 100%; max-width: 100%; float: none; clear: both; margin: 0; padding: 0; color: #fff; font-size: 15px; line-height: 1.4; }
body.single-cannabis .nwc-meta span { white-space: nowrap; }
/* Bureau : la ligne sort du flux, sous le titre, dans la marge basse du hero (le bloc de texte ne bouge pas) */
@media (min-width: 768px) {
  body.single-cannabis .nwc-meta { position: absolute; left: 0; top: 100%; margin-top: 12px; }
}
@media (max-width: 767px) {
  body.single-cannabis .nwc-meta { margin-top: 10px; }
}
body.single-cannabis .nwc-meta time { font-weight: 700; }

/* ---------- Liens du texte : soulignement noir, jaune au survol ---------- */
body.single-cannabis #mvp-content-main p a, body.single-cannabis #mvp-content-main li a, body.single-cannabis #mvp-content-main td a { color: var(--nwc-ink); font-weight: 600; text-decoration: underline; text-decoration-color: var(--nwc-ink); text-decoration-thickness: 2px; text-underline-offset: 3px; border: 0; box-shadow: none; background: none; }
body.single-cannabis #mvp-content-main p a:hover, body.single-cannabis #mvp-content-main li a:hover, body.single-cannabis #mvp-content-main td a:hover { background: var(--nwc-accent); text-decoration-color: var(--nwc-accent); text-decoration-thickness: 4px; }

/* ---------- Titres ---------- */
body.single-cannabis #mvp-content-main h2 { position: relative; padding-top: 20px; margin-top: 2em; scroll-margin-top: 24px; }
body.single-cannabis #mvp-content-main h2::before { content: ""; position: absolute; top: 0; left: 0; width: 56px; height: 6px; background: var(--nwc-accent); }
body.single-cannabis #mvp-content-main h3 { scroll-margin-top: 24px; }

/* ---------- Listes à puces ---------- */
body.single-cannabis #mvp-content-main ul:not(.nwc-refs) { list-style: none; padding-left: 0; }
body.single-cannabis #mvp-content-main ul:not(.nwc-refs) > li { position: relative; padding-left: 26px; margin-bottom: 10px; }
body.single-cannabis #mvp-content-main ul:not(.nwc-refs) > li::before { content: ""; position: absolute; left: 0; top: .6em; width: 10px; height: 10px; background: var(--nwc-accent); outline: 2px solid var(--nwc-ink); outline-offset: -2px; }

/* ---------- Encarts (blockquote) ---------- */
body.single-cannabis #mvp-content-main blockquote { margin: 24px 0; padding: 18px 22px; background: var(--nwc-soft); border: 0; border-left: 6px solid var(--nwc-accent); font-style: normal; }
body.single-cannabis #mvp-content-main blockquote p:last-child { margin-bottom: 0; }

/* ---------- Sommaire généré ---------- */
body.single-cannabis #mvp-content-main .nwc-toc { border: 2px solid var(--nwc-ink); margin: 8px 0 8px; clear: both; }
body.single-cannabis #mvp-content-main .nwc-toc > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 0 18px; background: var(--nwc-accent); color: var(--nwc-ink); font-weight: 800; font-size: 18px; letter-spacing: .04em; text-transform: uppercase; cursor: pointer; list-style: none; }
body.single-cannabis #mvp-content-main .nwc-toc > summary::-webkit-details-marker { display: none; }
body.single-cannabis #mvp-content-main .nwc-toc > summary::after { content: ""; width: 10px; height: 10px; border-right: 3px solid currentColor; border-bottom: 3px solid currentColor; transform: rotate(45deg); margin-top: -4px; transition: transform .15s; }
body.single-cannabis #mvp-content-main .nwc-toc[open] > summary::after { transform: rotate(-135deg); margin-top: 4px; }
body.single-cannabis #mvp-content-main .nwc-toc ol { margin: 0; padding: 12px 18px 16px; list-style: none; counter-reset: nwc; display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
body.single-cannabis #mvp-content-main .nwc-toc li { counter-increment: nwc; border-top: 1px solid var(--nwc-line); margin: 0; padding: 0; }
body.single-cannabis #mvp-content-main .nwc-toc li::before { content: none; }
body.single-cannabis #mvp-content-main .nwc-toc li:nth-child(-n+2) { border-top: 0; }
body.single-cannabis #mvp-content-main .nwc-toc a { display: flex; gap: 12px; align-items: baseline; min-height: 44px; padding: 8px 0; font-size: 16px; line-height: 1.3; font-weight: 600; color: var(--nwc-ink); text-decoration: none; background: none; }
body.single-cannabis #mvp-content-main .nwc-toc a::before { content: counter(nwc, decimal-leading-zero); font-weight: 800; color: #7a7a72; }
body.single-cannabis #mvp-content-main .nwc-toc a:hover { background: none; text-decoration: underline; text-decoration-color: var(--nwc-accent); text-decoration-thickness: 4px; text-underline-offset: 4px; }

/* ---------- Tableaux ---------- */
body.single-cannabis #mvp-content-main .nwc-tw { margin: 12px 0 24px; border: 2px solid var(--nwc-ink); overflow-x: auto; }
body.single-cannabis #mvp-content-main .nwc-tw table { width: 100%; margin: 0; border-collapse: collapse; border: 0; table-layout: auto; }
body.single-cannabis #mvp-content-main .nwc-tw th { background: var(--nwc-ink); color: #fff; text-align: left; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; padding: 12px 16px; font-weight: 700; border: 0; }
body.single-cannabis #mvp-content-main .nwc-tw td { padding: 14px 16px; border: 0; border-top: 1px solid var(--nwc-line); vertical-align: top; background: transparent; }
body.single-cannabis #mvp-content-main .nwc-tw tbody tr:nth-child(odd) td, body.single-cannabis #mvp-content-main .nwc-tw tbody tr:nth-child(even) td { background: transparent; }
body.single-cannabis #mvp-content-main .nwc-tw tbody tr:hover td { background: #faf9f4; }
body.single-cannabis #mvp-content-main .nwc-tw td:first-child { font-weight: 700; color: var(--nwc-ink); }
body.single-cannabis #mvp-content-main .nwc-pill { display: inline-block; padding: 3px 12px; font-size: 13px; font-weight: 700; line-height: 1.4; border-radius: 999px; border: 2px solid var(--nwc-ink); }
body.single-cannabis #mvp-content-main .nwc-pill--no { background: var(--nwc-ink); color: #fff; }
body.single-cannabis #mvp-content-main .nwc-pill--yes { background: var(--nwc-accent); color: var(--nwc-ink); }
body.single-cannabis #mvp-content-main .nwc-pill--var { background: #fff; color: var(--nwc-ink); border-style: dashed; }

/* ---------- FAQ en accordéon ---------- */
body.single-cannabis #mvp-content-main .nwc-faq { border: 2px solid var(--nwc-ink); margin: 12px 0 24px; }
body.single-cannabis #mvp-content-main .nwc-faq details { border-top: 2px solid var(--nwc-ink); }
body.single-cannabis #mvp-content-main .nwc-faq details:first-child { border-top: 0; }
body.single-cannabis #mvp-content-main .nwc-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 10px 18px; cursor: pointer; list-style: none; }
body.single-cannabis #mvp-content-main .nwc-faq summary::-webkit-details-marker { display: none; }
body.single-cannabis #mvp-content-main .nwc-faq summary::after { content: ""; flex: none; width: 10px; height: 10px; border-right: 3px solid var(--nwc-ink); border-bottom: 3px solid var(--nwc-ink); transform: rotate(45deg); margin-top: -4px; transition: transform .15s; }
body.single-cannabis #mvp-content-main .nwc-faq details[open] > summary::after { transform: rotate(-135deg); margin-top: 4px; }
body.single-cannabis #mvp-content-main .nwc-faq summary:hover { background: #faf9f4; }
body.single-cannabis #mvp-content-main .nwc-faq details[open] > summary { background: var(--nwc-accent); }
body.single-cannabis #mvp-content-main .nwc-faq summary h3 { margin: 0; padding: 0; font-size: 19px; line-height: 1.3; }
body.single-cannabis #mvp-content-main .nwc-ans { padding: 16px 18px 6px; }
body.single-cannabis #mvp-content-main .nwc-ans p:last-child { margin-bottom: 14px; }

/* ---------- Textes de référence ---------- */
body.single-cannabis #mvp-content-main ul.nwc-refs { list-style: none; margin: 12px 0 24px; padding: 18px 22px; background: var(--nwc-soft); display: grid; gap: 10px; }
body.single-cannabis #mvp-content-main ul.nwc-refs > li { position: relative; padding-left: 20px; margin: 0; font-size: 15px; line-height: 1.55; color: #4a4a45; }
body.single-cannabis #mvp-content-main ul.nwc-refs > li::before { content: "§"; position: absolute; left: 0; top: 0; width: auto; height: auto; background: none; outline: 0; font-weight: 700; color: var(--nwc-ink); }

/* ---------- « Dans la même rubrique » : images en 16:9 ---------- */
body.single-cannabis .mvp-related-posts-list .mvp-related-img { height: auto; overflow: hidden; background: #e9e7df; }
body.single-cannabis .mvp-related-posts-list .mvp-related-img img.mvp-reg-img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
body.single-cannabis .mvp-related-posts-list li:hover .mvp-related-text p { text-decoration: underline; text-decoration-color: var(--nwc-accent); text-decoration-thickness: 4px; text-underline-offset: 4px; }

/* ---------- Bloc auteur ---------- */
body.single-cannabis .nwc-updated { margin: 10px 0 0; font-size: 14px; color: var(--nwc-muted); }

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  body.single-cannabis #mvp-content-main .nwc-toc ol { grid-template-columns: 1fr; }
  body.single-cannabis #mvp-content-main .nwc-toc li:nth-child(2) { border-top: 1px solid var(--nwc-line); }
  body.single-cannabis #mvp-content-main .nwc-tw { border: 0; overflow: visible; }
  body.single-cannabis #mvp-content-main .nwc-tw table, body.single-cannabis #mvp-content-main .nwc-tw tbody, body.single-cannabis #mvp-content-main .nwc-tw tr, body.single-cannabis #mvp-content-main .nwc-tw td { display: block; width: auto; }
  body.single-cannabis #mvp-content-main .nwc-tw thead { display: none; }
  body.single-cannabis #mvp-content-main .nwc-tw tr { border: 2px solid var(--nwc-ink); margin: 0 0 12px; background: #fff; }
  body.single-cannabis #mvp-content-main .nwc-tw td { border: 0; border-top: 1px solid var(--nwc-line); padding: 10px 14px; }
  body.single-cannabis #mvp-content-main .nwc-tw td:first-child { border-top: 0; background: var(--nwc-ink); color: #fff; font-size: 17px; }
  body.single-cannabis #mvp-content-main .nwc-tw td:first-child a { color: #fff; text-decoration-color: #fff; }
  body.single-cannabis #mvp-content-main .nwc-tw td[data-label]:not(:first-child)::before { content: attr(data-label); display: block; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #7a7a72; margin-bottom: 3px; }
  body.single-cannabis #mvp-content-main .nwc-faq summary h3 { font-size: 17px; }
}

/* ==========================================================================
   2. PAGES CATÉGORIE
   Périmètre : body.category
   ========================================================================== */

/* Aucune police déclarée : celles du thème sont conservées. Tout est limité à body.category. */
body.category { --nwk-accent: #FFE500; --nwk-ink: #0e0e0e; --nwk-text: #2a2a27; --nwk-muted: #5a5a55; --nwk-line: #e3e2dc; --nwk-soft: #f5f4ef; --nwc-sticky: 0px; }

/* ---------- Titre ---------- */
body.category #mvp-cat-feat-wrap .opti-h1 { font-size: clamp(34px, 5vw, 54px); line-height: 1.02; font-weight: 800; margin: 14px 0 20px; color: var(--nwk-ink); }

/* ---------- Onglets collants (le nav .nwc-tabs est ajouté par le template) ---------- */
.nwc-tabs { position: sticky; top: var(--nw-sticky); z-index: 5; display: flex; margin: 0 0 28px; background: #fff; border-bottom: 2px solid var(--nw-ink); overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; }
.nwc-tabs::-webkit-scrollbar { display: none; }
.categ-tabs { flex: none; display: inline-flex; align-items: center; min-height: 48px; padding: 0 20px; margin: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; color: var(--nw-ink); font-weight: 700; font-size: 15px; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; }
.categ-tabs[aria-selected="true"] { background: var(--nw-ink); color: #fff; }
.categ-tabs:not([aria-selected="true"]):hover { background: var(--nw-accent); color: var(--nw-ink); }

/* ---------- En bref (description du terme) ---------- */
body.category #mvp-cat-feat-wrap #taxonomy-description p { margin: 0 0 16px; }
body.category #mvp-cat-feat-wrap #taxonomy-description a { color: var(--nwk-ink); font-weight: 600; text-decoration: underline; text-decoration-color: var(--nwk-ink); text-decoration-thickness: 2px; text-underline-offset: 3px; border: 0; box-shadow: none; background: none; }
body.category #mvp-cat-feat-wrap #taxonomy-description a:hover { background: var(--nwk-accent); text-decoration-color: var(--nwk-accent); text-decoration-thickness: 4px; }

/* ---------- Statut légal : résumé compact (généré par le JS) + détail replié ---------- */
body.category #mvp-cat-feat-wrap .nwc-legal { float: none; width: auto; max-width: none; border: 2px solid var(--nwk-ink); border-radius: 0; margin: 28px 0 16px; background: #fff; box-shadow: none; padding: 0; }
body.category #mvp-cat-feat-wrap .nwc-legal > h2, body.category #mvp-cat-feat-wrap .nwc-legal > h3 { margin: 0; padding: 12px 18px; font-size: 22px; line-height: 1.15; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; border-bottom: 1px solid var(--nwk-line); color: var(--nwk-ink); }
body.category #mvp-cat-feat-wrap .nwc-lg { list-style: none; margin: 0; padding: 6px 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
body.category #mvp-cat-feat-wrap .nwc-lg li { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; margin: 0; padding: 0; border-bottom: 1px solid var(--nwk-line); }
body.category #mvp-cat-feat-wrap .nwc-lg li::before { content: none; }
body.category #mvp-cat-feat-wrap .nwc-lg li:nth-last-child(-n+2) { border-bottom: 0; }
body.category #mvp-cat-feat-wrap .nwc-lg__k { font-weight: 600; font-size: 16px; color: var(--nwk-ink); white-space: nowrap; }
body.category #mvp-cat-feat-wrap .nwc-st { display: inline-flex; align-items: center; gap: 7px; padding: 3px 11px 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
body.category #mvp-cat-feat-wrap .nwc-st::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: currentColor; }
body.category #mvp-cat-feat-wrap .nwc-st--no { background: #fdecec; color: #b71c1c; }
body.category #mvp-cat-feat-wrap .nwc-st--var { background: #fff1d6; color: #8a4b00; }
body.category #mvp-cat-feat-wrap .nwc-st--yes { background: #e5f5ea; color: #176b34; }
body.category #mvp-cat-feat-wrap .nwc-lgd { border-top: 1px solid var(--nwk-line); }
body.category #mvp-cat-feat-wrap .nwc-lgd > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 0 18px; cursor: pointer; list-style: none; font-weight: 700; font-size: 14px; letter-spacing: .04em; text-transform: uppercase; color: var(--nwk-ink); }
body.category #mvp-cat-feat-wrap .nwc-lgd > summary::-webkit-details-marker { display: none; }
body.category #mvp-cat-feat-wrap .nwc-lgd > summary::after { content: ""; width: 9px; height: 9px; border-right: 3px solid currentColor; border-bottom: 3px solid currentColor; transform: rotate(45deg); margin-top: -4px; transition: transform .15s; }
body.category #mvp-cat-feat-wrap .nwc-lgd[open] > summary::after { transform: rotate(-135deg); margin-top: 4px; }
body.category #mvp-cat-feat-wrap .nwc-lgd > summary:hover { background: var(--nwk-accent); }
body.category #mvp-cat-feat-wrap .nwc-lgd-body { padding: 4px 18px 14px; }
body.category #mvp-cat-feat-wrap .nwc-lgd-body ul { margin: 0; padding: 0; list-style: none; }
body.category #mvp-cat-feat-wrap .nwc-lgd-body li { margin-bottom: 12px; font-size: 15px; line-height: 1.55; }
body.category #mvp-cat-feat-wrap .nwc-legal-foot { padding: 10px 18px; background: var(--nwk-soft); border-top: 1px solid var(--nwk-line); font-size: 14px; color: var(--nwk-muted); }
body.category #mvp-cat-feat-wrap .nwc-legal-foot p { margin: 0 0 4px; }
body.category #mvp-cat-feat-wrap .nwc-legal-foot a { color: var(--nwk-ink); font-weight: 700; text-decoration: underline; text-decoration-thickness: 3px; text-decoration-color: var(--nwk-accent); text-underline-offset: 4px; }

/* ---------- Assistant IA (enveloppe .nwc-ai ajoutée par le template ; style générique du widget) ---------- */
body.category #mvp-cat-feat-wrap .nwc-ai { position: relative; margin: 0 0 8px; padding: 18px 20px 16px 74px; border: 2px solid var(--nwk-ink); background: var(--nwk-soft); }
body.category #mvp-cat-feat-wrap .nwc-ai::before { content: ""; position: absolute; left: 20px; top: 18px; width: 40px; height: 40px; border-radius: 50%; background-color: var(--nwk-ink); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FFE500'%3E%3Cpath d='M12 3l1.9 5.6L19.5 10.5l-5.6 1.9L12 18l-1.9-5.6L4.5 10.5l5.6-1.9L12 3zm7 11l.9 2.6 2.6.9-2.6.9L19 21l-.9-2.6-2.6-.9 2.6-.9L19 14z'/%3E%3C/svg%3E"); background-size: 22px; background-position: center; background-repeat: no-repeat; }
body.category #mvp-cat-feat-wrap .nwc-ai > div, body.category #mvp-cat-feat-wrap .nwc-ai form { border: 0; box-shadow: none; background: transparent; padding: 0; margin: 0; }
body.category #mvp-cat-feat-wrap .nwc-ai h2, body.category #mvp-cat-feat-wrap .nwc-ai h3, body.category #mvp-cat-feat-wrap .nwc-ai h4 { margin: 0 0 6px; padding: 0; font-size: 19px; line-height: 1.25; font-weight: 700; color: var(--nwk-ink); }
body.category #mvp-cat-feat-wrap .nwc-ai input[type="text"], body.category #mvp-cat-feat-wrap .nwc-ai input[type="search"], body.category #mvp-cat-feat-wrap .nwc-ai textarea { box-sizing: border-box; width: 100%; min-height: 48px; padding: 10px 16px; border: 2px solid var(--nwk-ink); border-radius: 16px; background: #fff; font-size: 16px; line-height: 1.4; box-shadow: none; }
body.category #mvp-cat-feat-wrap .nwc-ai button, body.category #mvp-cat-feat-wrap .nwc-ai input[type="submit"] { min-height: 44px; padding: 0 20px; border: 0; border-radius: 999px; background: var(--nwk-ink); color: #fff; font-weight: 700; cursor: pointer; }
body.category #mvp-cat-feat-wrap .nwc-ai button:hover, body.category #mvp-cat-feat-wrap .nwc-ai input[type="submit"]:hover { background: var(--nwk-accent); color: var(--nwk-ink); }
body.category #mvp-cat-feat-wrap .nwc-ai-sg { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
body.category #mvp-cat-feat-wrap .nwc-ai-sg li { margin: 0; padding: 0; }
body.category #mvp-cat-feat-wrap .nwc-ai-sg button { min-height: 36px; padding: 0 14px; border: 1px solid var(--nwk-ink); border-radius: 999px; background: #fff; color: var(--nwk-ink); font-size: 14px; font-weight: 500; text-align: left; }
body.category #mvp-cat-feat-wrap .nwc-ai-sg button:hover { background: var(--nwk-accent); color: var(--nwk-ink); }

/* ---------- En détail (description longue) ---------- */
/* ---------- Titres de sections (même style partout : barre jaune + titre gras) ---------- */
body.category #mvp-cat-feat-wrap #longue_desc h2, body.category #mvp-cat-feat-wrap #longue_desc_boosted h2, body.category #mvp-cat-feat-wrap .opti-h2, body.category #mvp-cat-feat-wrap #actus-categ > h2, body.category .mvp-main-blog-body > .taxonomy-subtax .opti-h2, body.category .mvp-main-blog-body .container > .opti-h2 { position: relative; margin: 48px 0 16px; padding: 20px 0 0; border: 0; background: none; font-size: 34px; line-height: 1.1; font-weight: 800; letter-spacing: 0; text-transform: none; color: var(--nwk-ink); }
body.category #mvp-cat-feat-wrap #longue_desc h2::before, body.category #mvp-cat-feat-wrap #longue_desc_boosted h2::before, body.category #mvp-cat-feat-wrap .opti-h2::before, body.category #mvp-cat-feat-wrap #actus-categ > h2::before, body.category .mvp-main-blog-body > .taxonomy-subtax .opti-h2::before, body.category .mvp-main-blog-body .container > .opti-h2::before { content: ""; position: absolute; top: 0; left: 0; width: 56px; height: 6px; background: var(--nwk-accent); }
body.category #mvp-cat-feat-wrap .longue_desc_more { position: relative; inset: auto; float: none; clear: both; transform: none; display: inline-flex; align-items: center; gap: 8px; width: auto; min-height: 44px; padding: 0 18px; margin: 16px 0 0; border: 2px solid var(--nwk-ink); background: #fff; color: var(--nwk-ink); font-weight: 700; font-size: 14px; letter-spacing: .04em; text-transform: uppercase; cursor: pointer; }
body.category #mvp-cat-feat-wrap .longue_desc_more::after { content: ""; width: 8px; height: 8px; border-right: 3px solid currentColor; border-bottom: 3px solid currentColor; transform: rotate(45deg); margin-top: -4px; }
body.category #mvp-cat-feat-wrap .longue_desc_more:hover { background: var(--nwk-accent); }

/* ---------- Titres de sections ---------- */

/* ---------- Articles phares : cartes sans bordure ---------- */
body.category #main_posts .main_posts_list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 0; padding: 0; list-style: none; }
body.category #main_posts .main_posts_list li { margin: 0; padding: 0; list-style: none; }
body.category #main_posts .widget-post-wrap, body.category #main_posts .widget-post-wrap > a { display: block; height: 100%; }
body.category #main_posts .widget-post-wrap > a { display: flex; align-items: center; gap: 14px; height: 100%; box-sizing: border-box; padding: 10px; background: var(--nwk-soft); border: 0; border-radius: 0; box-shadow: none; text-decoration: none; color: var(--nwk-ink); }
body.category #main_posts .widget-post-info { display: block; flex: 1; min-width: 0; float: none; width: auto; margin: 0; padding: 0; }
body.category #main_posts img { flex: none; width: 88px; height: 66px; max-width: none; object-fit: cover; display: block; margin: 0; }
body.category #main_posts .post_title { float: none; margin: 0; padding: 0; text-align: left; font-size: 16px; line-height: 1.3; font-weight: 700; }
body.category #main_posts .widget-post-wrap > a:hover { background: var(--nwk-accent); }

/* ---------- Recherches associées / Voir aussi : puces compactes ---------- */
body.category .taxonomy-subtax { margin: 0; }
body.category .taxonomy-subtax a.subtax { display: inline-flex; align-items: center; min-height: 36px; margin: 0 8px 8px 0; padding: 0 12px; border: 0; border-radius: 999px; background: var(--nwk-soft); color: var(--nwk-ink); font-size: 14px; font-weight: 500; text-decoration: none; }
body.category .taxonomy-subtax a.subtax:hover { background: var(--nwk-accent); }
body.category .taxonomy-subtax.nwc-folded .nwc-fold-in { max-height: 84px; overflow: hidden; position: relative; }
body.category .taxonomy-subtax.nwc-folded .nwc-fold-in::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 28px; background: linear-gradient(0deg, #fff, rgba(255, 255, 255, 0)); pointer-events: none; }
body.category .nwc-fold-btn { display: inline-flex; align-items: center; min-height: 44px; margin-top: 4px; padding: 0; border: 0; background: none; color: var(--nwk-ink); font-weight: 700; font-size: 14px; text-decoration: underline; text-decoration-thickness: 3px; text-decoration-color: var(--nwk-accent); text-underline-offset: 4px; cursor: pointer; }

/* ---------- Fil d'actualités ---------- */
body.category #mvp-cat-feat-wrap .mvp-blog-story-list { float: none; width: auto; max-width: none; margin: 0; padding: 0; }
body.category #mvp-cat-feat-wrap .mvp-blog-story-list > li.mvp-blog-story-wrap { float: none; position: static; width: auto; max-width: none; margin: 0; padding: 24px 0; border: 0; border-top: 1px solid var(--nwk-line); }
body.category #mvp-cat-feat-wrap .mvp-blog-story-list > li.mvp-blog-story-wrap:first-child { border-top: 2px solid var(--nwk-ink); }
body.category #mvp-cat-feat-wrap .mvp-blog-story-wrap > a { display: block; }
/* Remise à zéro des décalages du thème (flottants / marges négatives) : tout le bloc reste dans la colonne */
body.category #mvp-cat-feat-wrap .mvp-blog-story-out { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 24px; position: relative; float: none; left: auto; right: auto; top: auto; width: auto; max-width: none; margin: 0 !important; padding: 0 !important; }
body.category #mvp-cat-feat-wrap .mvp-blog-story-img { align-self: start; background: none; position: relative; float: none; left: auto; right: auto; top: auto; width: auto; max-width: none; margin: 0 !important; padding: 0; }
body.category #mvp-cat-feat-wrap .mvp-blog-story-img picture, body.category #mvp-cat-feat-wrap .mvp-blog-story-img img { display: block; width: 100%; max-width: 100%; }
body.category #mvp-cat-feat-wrap .mvp-blog-story-img img { height: auto; aspect-ratio: auto; object-fit: fill; }
body.category #mvp-cat-feat-wrap .mvp-blog-story-img .mvp-mob-img { display: none !important; }
body.category #mvp-cat-feat-wrap .mvp-blog-story-img .mvp-reg-img { display: block !important; }
body.category #mvp-cat-feat-wrap .mvp-blog-story-in { position: static; float: none; left: auto; right: auto; width: auto; max-width: none; margin: 0 !important; padding: 0; }
body.category #mvp-cat-feat-wrap .mvp-blog-story-text { float: none; width: auto; max-width: none; margin: 0; padding: 0; }
body.category #mvp-cat-feat-wrap .mvp-blog-story-wrap .mvp-cat-date-wrap { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 8px; float: none; margin: 0; }
body.category #mvp-cat-feat-wrap .mvp-blog-story-wrap .mvp-cat-date-wrap > span { float: none; display: inline-block; margin: 0; }
body.category #mvp-cat-feat-wrap .mvp-blog-story-wrap .mvp-cd-date { font-size: 13px; color: var(--nwk-muted); }
body.category #mvp-cat-feat-wrap .mvp-blog-story-wrap .mvp-cd-date::before { content: none; }
body.category #mvp-cat-feat-wrap .mvp-blog-story-wrap .mvp-cd-cat + .mvp-cd-date::before { content: "/"; margin-right: 8px; }
body.category #mvp-cat-feat-wrap .mvp-blog-story-text h2 { margin: 8px 0; font-weight: 800; line-height: 1.2; }
body.category #mvp-cat-feat-wrap .mvp-blog-story-text p { line-height: 1.6; color: #4a4a45; }
body.category #mvp-cat-feat-wrap .mvp-blog-story-wrap .mvp-cd-cat { display: inline-block; padding: 2px 8px; background: var(--nwk-accent); color: var(--nwk-ink); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
body.category #mvp-cat-feat-wrap .mvp-blog-story-wrap:hover h2 { text-decoration: underline; text-decoration-color: var(--nwk-accent); text-decoration-thickness: 4px; text-underline-offset: 4px; }

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  body.category #mvp-cat-feat-wrap .nwc-lg { grid-template-columns: 1fr; }
  body.category #mvp-cat-feat-wrap .nwc-lg li:nth-last-child(2) { border-bottom: 1px solid var(--nwk-line); }
  body.category #mvp-cat-feat-wrap .nwc-ai { padding: 16px; }
  body.category #mvp-cat-feat-wrap .nwc-ai::before { position: static; display: block; margin-bottom: 10px; }
  body.category #main_posts .main_posts_list { grid-template-columns: 1fr; }
  body.category #mvp-cat-feat-wrap .mvp-blog-story-out { grid-template-columns: 1fr; gap: 12px; }
}

/* ---------- Widget IA réel : .lega-box > h2.cw-title + p.nwd-cw-sub + .nwd-cw-row (input + button) + .nwd-cw-answer ---------- */
body.category #mvp-cat-feat-wrap .nwc-ai .lega-box { float: none; width: auto; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.category #mvp-cat-feat-wrap .nwc-ai .nwd-cw-sub { margin: 0 0 12px; font-size: 14px; line-height: 1.4; color: var(--nwk-muted); }
body.category #mvp-cat-feat-wrap .nwc-ai .nwd-cw-sub a { color: var(--nwk-ink); font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
body.category #mvp-cat-feat-wrap .nwc-ai .nwd-cw-row { display: flex; gap: 8px; align-items: stretch; }
body.category #mvp-cat-feat-wrap .nwc-ai .nwd-cw-input { flex: 1; min-width: 0; width: auto; }
body.category #mvp-cat-feat-wrap .nwc-ai .nwd-cw-btn { flex: none; border-radius: 16px; }
body.category #mvp-cat-feat-wrap .nwc-ai .nwd-cw-answer { margin-top: 14px; padding: 12px 16px; border-radius: 16px 16px 16px 4px; background: #fff; border: 1px solid var(--nwk-line); font-size: 15px; line-height: 1.55; color: var(--nwk-text); }
body.category #mvp-cat-feat-wrap .nwc-ai .nwd-cw-src { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13px; }
body.category #mvp-cat-feat-wrap .nwc-ai .nwd-cw-src a { color: var(--nwk-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; margin: 0; }
@media (max-width: 480px) {
  body.category #mvp-cat-feat-wrap .nwc-ai .nwd-cw-row { flex-direction: column; }
}

body.category .nwc-fold-btn { gap: 8px; }
body.category .nwc-fold-btn::after { content: ""; width: 8px; height: 8px; border-right: 3px solid currentColor; border-bottom: 3px solid currentColor; transform: rotate(45deg); margin-top: -4px; text-decoration: none; }
body.category .nwc-fold-btn[aria-expanded="true"]::after { transform: rotate(-135deg); margin-top: 4px; }
@media (max-width: 767px) {
  body.category #mvp-cat-feat-wrap #longue_desc h2, body.category #mvp-cat-feat-wrap #longue_desc_boosted h2, body.category #mvp-cat-feat-wrap .opti-h2, body.category #mvp-cat-feat-wrap #actus-categ > h2, body.category .mvp-main-blog-body > .taxonomy-subtax .opti-h2, body.category .mvp-main-blog-body .container > .opti-h2 { font-size: 28px; margin-top: 40px; }
}

/* ---------- Statut légal : en-tête (statut global + commentaire) et lignes qui peuvent passer à la ligne ---------- */
body.category #mvp-cat-feat-wrap .nwc-legal-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; padding: 12px 18px; border-bottom: 1px solid var(--nwk-line); }
body.category #mvp-cat-feat-wrap .nwc-legal-head > * { margin: 0; padding: 0; float: none; width: auto; }
body.category #mvp-cat-feat-wrap .nwc-legal-head .lega-status, body.category #mvp-cat-feat-wrap .nwc-legal-head [class*="status"] { font-size: 22px; line-height: 1.1; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; }
body.category #mvp-cat-feat-wrap .nwc-legal-head p:not([class*="status"]), body.category #mvp-cat-feat-wrap .nwc-legal-head .lega-comment { font-size: 15px; line-height: 1.4; color: var(--nwk-text); }
body.category #mvp-cat-feat-wrap .nwc-lg li { flex-wrap: wrap; row-gap: 4px; }
body.category #mvp-cat-feat-wrap .nwc-lg .nwc-st { margin-left: auto; }

/* ---------- Articles phares : une carte par article, fond sur le lien (hover calé), rien sur les conteneurs ---------- */
body.category #main_posts, body.category #main_posts .main_posts_list, body.category #main_posts .main_posts_list > li, body.category #main_posts .widget-post-wrap { background: none; border: 0; border-radius: 0; box-shadow: none; padding: 0; margin: 0; float: none; width: auto; max-width: none; }
body.category #main_posts .main_posts_list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
body.category #main_posts .main_posts_list > li { min-width: 0; }
body.category #main_posts .widget-post-wrap { display: block; height: 100%; }
body.category #main_posts .widget-post-wrap > a { width: 100%; min-height: 84px; }
@media (max-width: 767px) { body.category #main_posts .main_posts_list { grid-template-columns: 1fr; } }
body.category #mvp-cat-feat-wrap #taxonomy-description { font-size: 15px; line-height: 1.65; color: var(--nwk-ink); }

/* ==========================================================================
   3. RUBRIQUE « LOIS ET RÉGLEMENTATIONS »
   Périmètre : .nwl (template taxonomy-categ_learn-lois-regulations.php)
   ========================================================================== */

/* ==========================================================================
   Newsweed — rubrique « Lois et réglementations »
   Tout est préfixé .nwl / .nwl-* pour éviter les conflits avec le thème.
   ========================================================================== */

/* ---------- Variables et base ---------- */
.nwl {
  --nwl-accent: #ffe500;        /* jaune Newsweed : à ajuster */
  --nwl-ink: #0e0e0e;
  --nwl-text: #2a2a27;
  --nwl-muted: #5a5a55;
  --nwl-line: #e3e2dc;
  --nwl-soft: #f5f4ef;

  font-size: 16px;
  line-height: 1.5;
  color: var(--nwl-ink);
}
.nwl *, .nwl *::before, .nwl *::after { box-sizing: border-box; }
.nwl h1, .nwl h2, .nwl h3, .nwl p, .nwl ul { margin: 0; padding: 0; }
.nwl ul { list-style: none; }
.nwl a { color: inherit; text-decoration: none; }
.nwl a:focus-visible,
.nwl summary:focus-visible { outline: 3px solid var(--nwl-ink); outline-offset: 3px; }
.nwl svg { flex: none; }

.nwl-display { font-weight: 800; }
.nwl-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nwl-clamp-4 { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }

/* ---------- Navigation secondaire (Découvrir · Lois · CBD…) ---------- */
.nwl-subnav {
  position: sticky; top: 0; z-index: 5;
  background: #fff; border-bottom: 1px solid var(--nwl-line);
}
.nwl-subnav__inner {
  max-width: 1240px; margin: 0 auto; padding: 0 24px;
  display: flex; gap: 28px; overflow-x: auto;
}
.nwl-subnav a {
  display: flex; align-items: center; min-height: 52px; padding: 0 4px;
  font-size: 15px; font-weight: 600; color: #4a4a45; white-space: nowrap;
  border-bottom: 4px solid transparent;
}
.nwl-subnav a:hover { color: var(--nwl-ink); border-bottom-color: #d9d8d0; }
.nwl-subnav a[aria-current="page"] {
  color: var(--nwl-ink); font-weight: 700; border-bottom-color: var(--nwl-accent);
}

/* ---------- En-tête de page ---------- */
.nwl-head { display: flex; flex-direction: column; gap: 20px; max-width: 900px; padding: 40px 0 32px; }
.nwl-crumb { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--nwl-muted); }
.nwl-tag {
  background: var(--nwl-accent); color: var(--nwl-ink);
  padding: 4px 10px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
.nwl-title {
  font-weight: 800;
  font-size: clamp(44px, 6vw, 68px); line-height: .95; letter-spacing: -.01em;
}
.nwl-lead { font-size: clamp(18px, 2vw, 21px); line-height: 1.5; color: var(--nwl-text); }
.nwl-updated { font-size: 14px; color: var(--nwl-muted); }

/* Gros boutons « pages de référence » */
.nwl-cta-row { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 4px; }
.nwl-cta {
  flex: 1 1 300px; min-height: 48px; padding: 20px 22px;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  background: var(--nwl-ink); color: #fff;
}
.nwl-cta:hover { outline: 4px solid var(--nwl-accent); outline-offset: -4px; }
.nwl-cta__over { display: block; margin-bottom: 4px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--nwl-accent); }
.nwl-cta__label { display: block; font-weight: 800; font-size: 28px; line-height: 1.05; color: #fff; }
.nwl-cta svg { color: var(--nwl-accent); }

/* ---------- Contrôle segmenté En bref / En détails ---------- */
.nwl-switch-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.nwl-switch { display: inline-flex; border: 2px solid var(--nwl-ink); }
.nwl-switch a {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 0 24px; background: #fff; color: var(--nwl-ink);
  font-size: 15px; font-weight: 700;
}
.nwl-switch a[aria-current="true"] { background: var(--nwl-ink); color: #fff; }
.nwl-switch a:not([aria-current="true"]):hover { background: var(--nwl-accent); }
.nwl-hint { font-size: 15px; color: var(--nwl-muted); }

/* ---------- Sections ---------- */
.nwl-main { display: flex; flex-direction: column; gap: 40px; }
.nwl-section { display: flex; flex-direction: column; gap: 24px; scroll-margin-top: 72px; }
.nwl-h2 { font-weight: 800; font-size: 44px; line-height: 1; }
.nwl-rule { position: relative; height: 8px; background: var(--nwl-ink); }
.nwl-rule::after { content: ""; position: absolute; left: 0; top: 0; width: 120px; height: 8px; background: var(--nwl-accent); }

/* ---------- En bref : cartes thématiques ---------- */
.nwl-themes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 20px; }
.nwl-theme { background: var(--nwl-soft); padding: 24px; }
.nwl-theme--wide { grid-column: 1 / -1; }
.nwl-theme > summary {
  list-style: none; display: flex; align-items: center; gap: 12px; margin-bottom: 12px;
}
.nwl-theme > summary::-webkit-details-marker { display: none; }
.nwl-theme__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; flex: none; background: var(--nwl-accent);
}
.nwl-theme__title { font-weight: 800; font-size: 30px; line-height: 1; }
.nwl-theme__chev { display: none; margin-left: auto; transition: transform .15s; }
.nwl-theme[open] .nwl-theme__chev { transform: rotate(180deg); }

.nwl-links { display: flex; flex-direction: column; }
.nwl-theme--wide .nwl-links { display: block; columns: 280px; column-gap: 40px; }
.nwl-link {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  min-height: 44px; padding: 8px 10px; margin: 0 -10px;
  border-top: 1px solid var(--nwl-line);
  font-size: 16px; font-weight: 500; line-height: 1.35; color: var(--nwl-ink);
  break-inside: avoid;
}
.nwl-link:hover { background: var(--nwl-accent); }

/* Desktop : les cartes restent ouvertes, le résumé n'est pas cliquable */
@media (min-width: 768px) {
  .nwl-theme > summary { pointer-events: none; cursor: default; }
}
/* Mobile : accordéon */
@media (max-width: 767px) {
  .nwl-theme { padding: 0; }
  .nwl-theme > summary { min-height: 56px; margin: 0; padding: 8px 16px; cursor: pointer; }
  .nwl-theme__icon { display: none; }
  .nwl-theme__title { font-size: 24px; }
  .nwl-theme__chev { display: block; }
  .nwl-theme .nwl-links { padding: 0 16px 8px; }
  .nwl-theme--wide .nwl-links { columns: 1; }
  .nwl-link { margin: 0; padding: 10px 0; min-height: 48px; }
  .nwl-themes { gap: 10px; }
}

/* ---------- En détails : filtres ---------- */
.nwl-chips { display: flex; gap: 10px; flex-wrap: wrap; }
.nwl-chip {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px;
  border: 2px solid var(--nwl-ink); border-radius: 999px; background: #fff;
  font-size: 15px; font-weight: 600;
}
.nwl-chip:hover { background: var(--nwl-accent); }
.nwl-chip[aria-pressed="true"] { background: var(--nwl-ink); color: #fff; }
@media (max-width: 767px) {
  .nwl-chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
  .nwl-chip { flex: none; }
}

/* ---------- Cartes d'articles ---------- */
.nwl-media {
  position: relative; overflow: hidden; aspect-ratio: 16 / 10;
  background: repeating-linear-gradient(135deg, #ecebe4 0 14px, #f5f4ef 14px 28px);
}
.nwl-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nwl-badge {
  position: absolute; left: 12px; bottom: 12px; z-index: 1;
  background: var(--nwl-accent); color: var(--nwl-ink);
  padding: 4px 10px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}

.nwl-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 40px 24px; }
.nwl-card { display: flex; flex-direction: column; gap: 14px; }
.nwl-card__title { font-weight: 800; font-size: 30px; line-height: 1.02; }
.nwl-card__excerpt { font-size: 16px; line-height: 1.5; color: #4a4a45; }
.nwl-card:hover .nwl-card__title {
  text-decoration: underline; text-decoration-thickness: 4px;
  text-decoration-color: var(--nwl-accent); text-underline-offset: 4px;
}

/* Article pilier à la une */
.nwl-feature { display: flex; flex-wrap: wrap; background: var(--nwl-ink); color: #fff; }
.nwl-feature .nwl-media { flex: 1 1 320px; min-height: 280px; aspect-ratio: auto; background: repeating-linear-gradient(135deg, #2a2a27 0 14px, #1b1b19 14px 28px); }
.nwl-feature__body { flex: 1 1 320px; padding: 32px; display: flex; flex-direction: column; justify-content: center; gap: 14px; }
.nwl-feature__over {
  align-self: flex-start; background: var(--nwl-accent); color: var(--nwl-ink);
  padding: 4px 10px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
.nwl-feature__title { font-weight: 800; font-size: clamp(34px, 4vw, 44px); line-height: 1; }
.nwl-feature__excerpt { font-size: 17px; line-height: 1.5; color: #dcdbd3; }
.nwl-feature__more { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; color: var(--nwl-accent); }
.nwl-feature:hover .nwl-feature__title {
  text-decoration: underline; text-decoration-thickness: 4px;
  text-decoration-color: var(--nwl-accent); text-underline-offset: 4px;
}

/* ---------- Intégration WordPress (template taxonomy-categ_learn-lois-regulations.php) ---------- */
.nwl #breadcrumbs { font-size: 14px; color: var(--nwl-muted); }
.nwl #breadcrumbs a:hover { text-decoration: underline; }

/* Chapô issu de la description du terme */
.nwl-lead p { margin: 0 0 .6em; }
.nwl-lead p:last-child { margin-bottom: 0; }
.nwl-lead a {
  font-weight: 600; text-decoration: underline; text-decoration-thickness: 3px;
  text-decoration-color: var(--nwl-accent); text-underline-offset: 3px;
}

/* Repli si la description ne contient aucun H2 exploitable */
.nwl-prose { font-size: 17px; line-height: 1.6; color: var(--nwl-text); }
.nwl-prose h2 { margin: 1.4em 0 .5em; font-weight: 800; font-size: 32px; line-height: 1.05; }
.nwl-prose h3 { margin: 1.2em 0 .4em; font-size: 18px; font-weight: 700; }
.nwl-prose p { margin: 0 0 1em; }
.nwl-prose ul { list-style: disc; padding-left: 1.2em; margin: 0 0 1em; }
.nwl-prose a { text-decoration: underline; text-decoration-color: var(--nwl-accent); text-decoration-thickness: 3px; text-underline-offset: 3px; }

/* Cartes thématiques : plusieurs sous-sections côte à côte */
.nwl-theme__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 8px 40px; }
.nwl-theme__cols--single { display: block; }
.nwl-theme__sub {
  margin: 8px 0 0; font-size: 13px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: var(--nwl-muted);
}
.nwl-theme__note { margin: 0 0 8px; font-size: 15px; color: var(--nwl-muted); }
.nwl-theme--wide .nwl-links { display: flex; columns: auto; }
.nwl-theme__cols--single .nwl-links { display: block; columns: 280px; column-gap: 40px; }
@media (max-width: 767px) {
  .nwl-theme__cols { padding: 0 16px 8px; gap: 0; }
  .nwl-theme .nwl-links { padding: 0; }
  .nwl-theme__cols--single .nwl-links { columns: 1; }
  .nwl-theme__sub { margin-top: 12px; }
}

.nwl-card-wrap { display: block; }
.nwl-title--page { font-size: clamp(32px, 4vw, 44px); }
.nwl-pagination { margin-top: 32px; }

/* ---------- Sidebar (optionnel : si tu veux harmoniser les widgets) ---------- */
.nwl-side { display: flex; flex-direction: column; gap: 40px; }
.nwl-ad-label { display: block; margin-bottom: 8px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--nwl-muted); }
.nwl-side-band {
  display: inline-block; padding: 8px 12px; background: var(--nwl-accent);
  font-weight: 800; font-size: 30px; line-height: 1.02;
}
.nwl-latest__title {
  margin-bottom: 8px; padding-bottom: 8px; border-bottom: 4px solid var(--nwl-ink);
  font-weight: 800; font-size: 30px; line-height: 1;
}
.nwl-latest__item { display: flex; flex-direction: column; gap: 4px; padding: 14px 0; border-bottom: 1px solid var(--nwl-line); }
.nwl-latest__cat { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--nwl-muted); }
.nwl-latest__link { font-size: 17px; font-weight: 700; line-height: 1.3; }
.nwl-latest__item:hover .nwl-latest__link {
  text-decoration: underline; text-decoration-thickness: 3px;
  text-decoration-color: var(--nwl-accent); text-underline-offset: 3px;
}

/* ==========================================================================
   4. DOSSIER « LÉGALISATION DU CANNABIS DANS LE MONDE »
   Périmètre : .nwm (template taxonomy-dossiers-legalisation-cannabis-monde.php)
   ========================================================================== */

/* ==========================================================================
   Newsweed — page « La légalisation du cannabis dans le monde »
   Fichier généré : tous les sélecteurs sont préfixés par #mvp-content-main
   pour passer devant les règles du thème sur h2, p, ul, table, a…
   Réglages : --nwm-accent (jaune) et --nwm-sticky (décalage du sommaire collant
   si le thème a un menu fixe, ex. 60px).
   ========================================================================== */

#mvp-content-main .nwm {
  --nwm-accent: #ffe500;
  --nwm-ink: #0e0e0e;
  --nwm-text: #2a2a27;
  --nwm-muted: #5a5a55;
  --nwm-line: #e3e2dc;
  --nwm-soft: #f5f4ef;
  --nwm-sticky: 0px;

  container-type: inline-size;
  width: 100%;
  font-size: 16px;
  line-height: 1.5;
  color: var(--nwm-ink);
  text-align: left;
}
#mvp-content-main .nwm *, #mvp-content-main .nwm *::before, #mvp-content-main .nwm *::after { box-sizing: border-box; }
#mvp-content-main .nwm h2, #mvp-content-main .nwm h3, #mvp-content-main .nwm p, #mvp-content-main .nwm ul, #mvp-content-main .nwm ol, #mvp-content-main .nwm figure { margin: 0; padding: 0; }
#mvp-content-main .nwm ul, #mvp-content-main .nwm ol, #mvp-content-main .nwm li { list-style: none; }
#mvp-content-main .nwm li { margin: 0; padding: 0; }
#mvp-content-main .nwm li::before, #mvp-content-main .nwm li::marker { content: none; }
#mvp-content-main .nwm a { color: inherit; text-decoration: none; border: 0; box-shadow: none; }
#mvp-content-main .nwm img { max-width: 100%; height: auto; }
#mvp-content-main .nwm svg { flex: none; }
#mvp-content-main .nwm [hidden] { display: none; }
#mvp-content-main .nwm a:focus-visible, #mvp-content-main .nwm summary:focus-visible, #mvp-content-main .nwm input:focus-visible { outline: 3px solid var(--nwm-ink); outline-offset: 3px; }

/* ---------- H1 (hors #mvp-content-main : sélecteur dédié) ---------- */
#mvp-post-head h1.nwm-h1 {
  float: none; width: 100%; max-width: 900px; margin: 0 0 8px; padding: 0;
  font-weight: 800;
  font-size: clamp(44px, 6vw, 68px); line-height: .95; letter-spacing: -.01em;
  text-align: left; text-transform: none; color: #0e0e0e;
}

/* ---------- Titres et sections ---------- */
#mvp-content-main .nwm .nwm-h2 {
  position: relative; margin: 0 0 20px; padding: 20px 0 0; border: 0; background: none;
  font-weight: 800; font-size: 44px; line-height: 1;
  letter-spacing: 0; text-transform: none; color: var(--nwm-ink);
}
/* Barre jaune au-dessus des titres : définie ici pour ne plus dépendre de celle du thème */
#mvp-content-main .nwm .nwm-h2::before { content: ""; position: absolute; top: 0; left: 0; width: 56px; height: 6px; background: var(--nwm-accent, #ffe500); }
#mvp-content-main .nwm .nwm-sec { margin-top: 56px; scroll-margin-top: calc(var(--nwm-sticky) + 64px); }
#mvp-content-main .nwm .nwm-prose p { margin: 0 0 14px; font-size: 17px; line-height: 1.6; color: #4a4a45; }
#mvp-content-main .nwm .nwm-prose p:last-child { margin-bottom: 0; }
#mvp-content-main .nwm .nwm-prose a, #mvp-content-main .nwm .nwm-lead a {
  font-weight: 600; text-decoration: underline; text-decoration-thickness: 3px;
  text-decoration-color: var(--nwm-accent); text-underline-offset: 3px;
}
#mvp-content-main .nwm .nwm-prose a:hover, #mvp-content-main .nwm .nwm-lead a:hover { background: var(--nwm-accent); }

/* ---------- Chapô (description du terme) ---------- */
#mvp-content-main .nwm .nwm-lead p { margin: 0 0 14px; font-size: 17px; line-height: 1.6; color: #4a4a45; }
#mvp-content-main .nwm .nwm-lead p:first-child { font-size: 21px; line-height: 1.5; color: var(--nwm-text); }

/* ---------- Chiffres clés ---------- */
#mvp-content-main .nwm .nwm-figs { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 20px; margin: 28px 0 0; }
#mvp-content-main .nwm .nwm-fig { display: flex; flex-direction: column; gap: 6px; padding-top: 12px; border-top: 4px solid var(--nwm-ink); }
#mvp-content-main .nwm .nwm-fig__n {
  align-self: flex-start; padding: 0 8px; background: var(--nwm-accent);
  font-weight: 800; font-size: 48px; font-family: 'Work Sans'; line-height: 1.05;
}
#mvp-content-main .nwm .nwm-fig__l { font-size: 15px; line-height: 1.4; color: var(--nwm-text); }

/* ---------- Sommaire collant ---------- */
#mvp-content-main .nwm .nwm-subnav {
  position: sticky; top: var(--nwm-sticky); z-index: 5;
  display: flex; flex-wrap: wrap; gap: 0 2px; margin: 28px 0 0;
  background: #fff; border-bottom: 1px solid var(--nwm-line);
}
#mvp-content-main .nwm .nwm-subnav a {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 10px;
  font-size: 13px; font-weight: 600; color: #4a4a45; white-space: nowrap;
  border-bottom: 4px solid transparent;
}
#mvp-content-main .nwm .nwm-subnav a:hover { color: var(--nwm-ink); border-bottom-color: var(--nwm-accent); }

/* ---------- Cartes (galerie Jetpack conservée) ---------- */
#mvp-content-main .nwm .nwm-note { margin: -8px 0 16px; font-size: 15px; color: var(--nwm-muted); }
#mvp-content-main .nwm .nwm-note em { font-style: normal; }
#mvp-content-main .nwm .nwm-maps .tiled-gallery { margin: 0; }
#mvp-content-main .nwm .nwm-maps .tiled-gallery-caption { padding-top: 8px; font-size: 15px; font-weight: 600; color: var(--nwm-ink); }

/* ---------- En bref : cartes visuelles ---------- */
#mvp-content-main .nwm .nwm-brief { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 20px; }
#mvp-content-main .nwm .nwm-bcard { display: flex; flex-direction: column; height: 100%; background: var(--nwm-ink); color: #fff; }
#mvp-content-main .nwm .nwm-bcard__media { position: relative; aspect-ratio: 600 / 315; overflow: hidden; background: #2a2a27; }
#mvp-content-main .nwm .nwm-bcard__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; margin: 0; }
#mvp-content-main .nwm .nwm-bcard__tag {
  position: absolute; left: 12px; bottom: 12px; padding: 4px 10px;
  background: var(--nwm-accent); color: var(--nwm-ink);
  font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
#mvp-content-main .nwm .nwm-bcard__body { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; min-height: 48px; }
#mvp-content-main .nwm .nwm-bcard__title { font-weight: 800; font-size: 28px; line-height: 1.05; }
#mvp-content-main .nwm .nwm-bcard svg { color: var(--nwm-accent); }
#mvp-content-main .nwm .nwm-bcard:hover .nwm-bcard__title {
  text-decoration: underline; text-decoration-thickness: 4px;
  text-decoration-color: var(--nwm-accent); text-underline-offset: 4px;
}

/* ---------- Tableaux ---------- */
#mvp-content-main .nwm .nwm-table-wrap { overflow-x: auto; border: 2px solid var(--nwm-ink); }
#mvp-content-main .nwm .nwm-table { width: 100%; margin: 0; border-collapse: collapse; border: 0; font-size: 15px; line-height: 1.45; background: #fff; }
#mvp-content-main .nwm .nwm-table th {
  padding: 12px 16px; border: 0; background: var(--nwm-ink); color: #fff; text-align: left;
  font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
#mvp-content-main .nwm .nwm-table td { padding: 16px; border: 0; border-top: 1px solid var(--nwm-line); vertical-align: top; color: var(--nwm-text); background: transparent; }
#mvp-content-main .nwm .nwm-table tr:hover td { background: #faf9f4; }
#mvp-content-main .nwm .nwm-table td:first-child a { font-size: 16px; font-weight: 700; color: var(--nwm-ink); text-decoration: underline; text-decoration-thickness: 2px; text-decoration-color: var(--nwm-ink); text-underline-offset: 4px; }
#mvp-content-main .nwm .nwm-table td:first-child a:hover { text-decoration-thickness: 4px; text-decoration-color: var(--nwm-accent); }
#mvp-content-main .nwm .nwm-pill {
  display: inline-block; padding: 3px 12px; border: 2px solid var(--nwm-ink); border-radius: 999px;
  background: #fff; color: var(--nwm-ink); font-size: 13px; font-weight: 700; line-height: 1.4;
}
#mvp-content-main .nwm .nwm-pill--yes { background: var(--nwm-accent); }
#mvp-content-main .nwm .nwm-pill--var { border-style: dashed; }
#mvp-content-main .nwm .nwm-pill-note { display: block; margin-top: 6px; font-size: 14px; color: var(--nwm-muted); }

/* ---------- Bloc États-Unis ---------- */
#mvp-content-main .nwm .nwm-panel { display: flex; flex-direction: column; gap: 16px; padding: 32px; background: var(--nwm-soft); }
#mvp-content-main .nwm .nwm-panel .nwm-h2 { margin: 0; font-size: 38px; }
#mvp-content-main .nwm .nwm-panel p { font-size: 17px; line-height: 1.6; color: var(--nwm-text); }
#mvp-content-main .nwm .nwm-panel p a { font-weight: 600; text-decoration: underline; text-decoration-thickness: 3px; text-decoration-color: var(--nwm-accent); text-underline-offset: 3px; }
#mvp-content-main .nwm .nwm-btn {
  display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 22px;
  background: var(--nwm-ink); color: #fff; font-size: 15px; font-weight: 700;
}
#mvp-content-main .nwm .nwm-btn:hover { outline: 4px solid var(--nwm-accent); outline-offset: -4px; }
#mvp-content-main .nwm .nwm-btn svg { color: var(--nwm-accent); }

/* ---------- Dépénalisé ---------- */
#mvp-content-main .nwm .nwm-decrim { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 16px; margin-top: 16px; }
#mvp-content-main .nwm .nwm-decrim a { display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 18px 20px; background: var(--nwm-soft); }
#mvp-content-main .nwm .nwm-decrim__c { font-weight: 800; font-size: 30px; line-height: 1; }
#mvp-content-main .nwm .nwm-decrim__r { font-size: 15px; line-height: 1.45; color: var(--nwm-text); }
#mvp-content-main .nwm .nwm-decrim a:hover .nwm-decrim__c { text-decoration: underline; text-decoration-thickness: 4px; text-decoration-color: var(--nwm-accent); text-underline-offset: 4px; }

/* ---------- Médical : pastilles de pays ---------- */
#mvp-content-main .nwm .nwm-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
#mvp-content-main .nwm .nwm-tags li { display: inline-flex; align-items: center; min-height: 34px; padding: 0 12px; border-radius: 999px; background: var(--nwm-soft); font-size: 15px; }

/* ---------- Par continent / pays ---------- */
#mvp-content-main .nwm .nwm-filter { display: flex; flex-direction: column; gap: 6px; margin-bottom: 20px; }
#mvp-content-main .nwm .nwm-filter label { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
#mvp-content-main .nwm .nwm-filter input {
  width: 100%; max-width: 520px; min-height: 52px; margin: 0; padding: 0 16px;
  border: 2px solid var(--nwm-ink); border-radius: 0; background: #fff; box-shadow: none;
  font-family: inherit; font-size: 17px; color: var(--nwm-ink);
}
#mvp-content-main .nwm .nwm-group { display: flex; flex-direction: column; gap: 10px; margin-top: 20px; padding-top: 14px; border-top: 4px solid var(--nwm-ink); }
#mvp-content-main .nwm .nwm-group__t { margin: 0; font-weight: 800; font-size: 30px; line-height: 1; }
#mvp-content-main .nwm .nwm-group__t a:hover { text-decoration: underline; text-decoration-thickness: 4px; text-decoration-color: var(--nwm-accent); text-underline-offset: 4px; }
#mvp-content-main .nwm .nwm-chips { display: flex; flex-wrap: wrap; gap: 8px; }
#mvp-content-main .nwm .nwm-chips a {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px;
  border: 2px solid var(--nwm-ink); border-radius: 999px; background: #fff;
  font-size: 15px; font-weight: 500; color: var(--nwm-ink);
}
#mvp-content-main .nwm .nwm-chips a:hover { background: var(--nwm-accent); }
#mvp-content-main .nwm .nwm-chips .nwm-chip--b a { font-weight: 700; background: var(--nwm-soft); }
#mvp-content-main .nwm .nwm-empty { margin-top: 16px; font-size: 17px; color: var(--nwm-muted); }

/* ---------- FAQ ---------- */
#mvp-content-main .nwm .nwm-faq { display: flex; flex-direction: column; gap: 10px; }
#mvp-content-main .nwm .nwm-faq details { background: var(--nwm-soft); }
#mvp-content-main .nwm .nwm-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 60px; padding: 10px 20px; cursor: pointer; list-style: none; }
#mvp-content-main .nwm .nwm-faq summary::-webkit-details-marker { display: none; }
#mvp-content-main .nwm .nwm-faq summary h3 { margin: 0; font-weight: 800; font-size: 28px; line-height: 1.05; }
#mvp-content-main .nwm .nwm-faq summary svg { transition: transform .15s; }
#mvp-content-main .nwm .nwm-faq details[open] summary svg { transform: rotate(180deg); }
#mvp-content-main .nwm .nwm-faq details > p { padding: 0 20px 20px; font-size: 17px; line-height: 1.6; color: var(--nwm-text); }

/* ---------- Conteneur étroit (colonne d'article, mobile) ---------- */
@container (max-width: 640px) {
  #mvp-content-main .nwm .nwm-subnav { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; }
  #mvp-content-main .nwm .nwm-subnav::-webkit-scrollbar { display: none; }
  #mvp-content-main .nwm .nwm-h2 { font-size: 34px; }
  #mvp-content-main .nwm .nwm-lead p:first-child { font-size: 19px; }
  #mvp-content-main .nwm .nwm-panel { padding: 22px 18px; }
  #mvp-content-main .nwm .nwm-panel .nwm-h2 { font-size: 32px; }
  #mvp-content-main .nwm .nwm-bcard__title { font-size: 26px; }
  #mvp-content-main .nwm .nwm-faq summary { padding: 10px 16px; }
  #mvp-content-main .nwm .nwm-faq summary h3 { font-size: 24px; }
  #mvp-content-main .nwm .nwm-faq details > p { padding: 0 16px 16px; font-size: 16px; }

  /* Tableaux : une carte par ligne */
  #mvp-content-main .nwm .nwm-table-wrap { border: 0; overflow: visible; }
  #mvp-content-main .nwm .nwm-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  #mvp-content-main .nwm .nwm-table, #mvp-content-main .nwm .nwm-table tbody, #mvp-content-main .nwm .nwm-table tr, #mvp-content-main .nwm .nwm-table td { display: block; width: 100%; }
  #mvp-content-main .nwm .nwm-table tr { margin-bottom: 12px; padding: 16px; background: var(--nwm-soft); }
  #mvp-content-main .nwm .nwm-table tr:hover td { background: transparent; }
  #mvp-content-main .nwm .nwm-table td { padding: 4px 0; border: 0; }
  #mvp-content-main .nwm .nwm-table td[data-label]::before {
    content: attr(data-label); display: block; font-size: 12px; font-weight: 700;
    letter-spacing: .08em; text-transform: uppercase; color: var(--nwm-muted);
  }
  #mvp-content-main .nwm .nwm-table td:first-child::before { display: none; }
  #mvp-content-main .nwm .nwm-table td:first-child a { font-weight: 800; font-size: 28px; line-height: 1; }
}

.crumb { display: flex; flex-wrap: wrap; gap: 4px 8px; margin: 0 0 36px; font-size: 14px; color: #5a5a55; }
.crumb a { color: #5a5a55; text-decoration: none; }
.crumb a:hover { color: #0e0e0e; text-decoration: underline; text-decoration-color: #FFE500; text-decoration-thickness: 3px; text-underline-offset: 3px; }
.crumb [aria-current="page"] { color: #0e0e0e; font-weight: 600; }