/* ============================================================
   PF2026 — Base / Reset
   ============================================================ */

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-family: var(--font);
    background: var(--cream);
    color: var(--ink);
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* [VIEWPORT FIX 2026-05-13] Empêche le scroll horizontal global sur
   mobile quand un élément (embed YouTube, image très large, tableau
   non-responsive, etc.) déborde de la largeur du viewport. `clip`
   plutôt que `hidden` pour ne pas casser `position: sticky` des
   éléments enfants. */
html, body {
    overflow-x: clip;
    max-width: 100%;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* [EMBED RESPONSIVE 2026-05-13] iframes YouTube / Vimeo / autres
   embeds vidéo : largeur 100 % du conteneur, hauteur calculée via
   aspect-ratio 16/9. Les wrappers WordPress (`.wp-block-embed`,
   `.wp-block-embed__wrapper`) sont contraints à 100 % pour éviter
   tout overflow horizontal sur petit écran. */
.wp-block-embed,
.wp-block-embed__wrapper {
    max-width: 100%;
}

.wp-block-embed iframe,
.wp-block-embed__wrapper iframe,
iframe[src*="youtube.com"],
iframe[src*="youtu.be"],
iframe[src*="youtube-nocookie.com"],
iframe[src*="vimeo.com"],
iframe[src*="dailymotion.com"] {
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    font-family: var(--font);
}

/* ---------- Compat shortcodes legacy (pf v7) ----------
   Les shortcodes [intro], [p], [titre] émettent du markup avec ces classes.
   ~2 631 articles en dépendent — on reproduit le rendu pour la transition. */
.entry-content p.intro {
    font-size: 17px;
    line-height: 1.65;
    border-left: 3px solid var(--yellow);
    padding: 6px 0 6px 16px;
    color: var(--ink-mid);
    margin: 18px 0;
}

.entry-content p.article {
    margin: 14px 0;
    line-height: 1.7;
}

.entry-content h3 {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 28px 0 12px;
    color: var(--ink);
}

.entry-content a.dex,
.entry-content a.dexn {
    color: var(--blue);
    border-bottom: 1px dotted var(--blue);
    font-weight: 600;
}
.entry-content a.dex:hover,
.entry-content a.dexn:hover {
    color: var(--yellow-dark);
    border-bottom-color: var(--yellow-dark);
}

.entry-content .artnav {
    display: grid;
    grid-template-columns: auto 1fr auto 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    margin: 28px 0;
    background: var(--cream);
    border-radius: var(--r-md);
    font-size: 13px;
    font-weight: 600;
}
.entry-content .artnav .flc { color: var(--ink-light); }
.entry-content .artnav .name { text-align: center; }
.entry-content .artnav .mid { text-align: center; }
