/* Blog Headict — Design tokens (variables injectees par header.php) */
html { scroll-behavior: smooth; }
body { font-family: var(--font-body); color: var(--sitetext); background: var(--sitebg); }

.display { font-family: var(--font-heading-black); letter-spacing: -0.03em; line-height: 0.92 !important; text-transform: uppercase; }
.display-tight { font-family: var(--font-heading); font-weight: 900; letter-spacing: -0.02em; line-height: 0.96 !important; }
.eyebrow { font-family: var(--font-heading); font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; }

/* Prose article */
.prose-headict { color: var(--sitetext); font-size: 1.075rem; line-height: 1.78; }
.prose-headict > p { margin: 0 0 1.4rem; }
.prose-headict .lead { font-size: 1.3rem; line-height: 1.6; color: #2b2b2b; font-weight: 500; margin-bottom: 1.8rem; }
.prose-headict h2 {
    font-family: var(--font-heading); font-weight: 900; letter-spacing: -0.02em; text-transform: uppercase;
    color: var(--primary); font-size: 1.9rem; line-height: 1.05; margin: 2.6rem 0 1rem; padding-bottom: .6rem;
    border-bottom: 3px solid var(--secondary); display: inline-block;
}
.prose-headict h3 { font-family: var(--font-heading); font-weight: 800; color: var(--primary); font-size: 1.3rem; margin: 2rem 0 .7rem; }
.prose-headict a { color: var(--secondary); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.prose-headict ul { margin: 0 0 1.4rem; padding: 0; list-style: none; }
.prose-headict ul li { position: relative; padding-left: 1.6rem; margin-bottom: .6rem; }
.prose-headict ul li::before { content: ""; position: absolute; left: 0; top: .62em; width: 8px; height: 8px; background: var(--secondary); }
.prose-headict ol { margin: 0 0 1.4rem; padding-left: 1.5rem; }
.prose-headict ol li { margin-bottom: .6rem; }
.prose-headict blockquote {
    margin: 2rem 0; padding: 1.4rem 1.6rem; background: #f6f6f7; border-left: 5px solid var(--secondary);
    font-family: var(--font-heading); font-weight: 600; font-size: 1.35rem; line-height: 1.4; color: var(--primary);
}
.prose-headict img { border-radius: 12px; margin: 1.5rem 0; max-width: 100%; }

/* Card hover */
.article-card { transition: transform .28s cubic-bezier(.2,.7,.2,1), box-shadow .28s; }
.article-card:hover { transform: translateY(-6px); box-shadow: 0 22px 40px -18px rgba(0,0,0,.35); }
.article-card .card-img { transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.article-card:hover .card-img { transform: scale(1.06); }

/* Nav link underline */
.nav-link { position: relative; }
.nav-link::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -6px; height: 2px; background: var(--secondary); transition: right .25s ease; }
.nav-link:hover::after, .nav-link.is-active::after { right: 0; }

::selection { background: var(--secondary); color: #fff; }

/* Images H2 injectees */
.article-image-h2 { width: 100%; max-height: 380px; object-fit: cover; border-radius: 12px; margin: 1rem 0 1.5rem; }

:root {
    --color-primary:   #1b4f72;
    --color-secondary: #2e86c1;
    --color-text:      #212529;
    --color-bg:        #ffffff;
    --color-muted:     #f7f8fa;
    --color-border:    #ebedf1;
    --color-premium:   #b8860b;
    --radius: 0;
    --card-shadow: none;
    --card-border: 1px solid var(--color-border);
    --card-bg: var(--color-bg);
    --btn-radius: 3px;
    --img-radius: 0;
}

/* ── Base responsive (généré automatiquement) ── */
*, *::before, *::after { box-sizing: border-box; }

/* Empêche le défilement horizontal */
html, body { overflow-x: hidden; max-width: 100%; }

/* Images et vidéos toujours dans leur conteneur */
img, video { max-width: 100%; height: auto; }
/* iframe : largeur 100% mais hauteur respectée (ex. Google Maps) */
iframe, embed, object { max-width: 100%; }

/* Tableaux : scroll horizontal si besoin, jamais de débordement */
table { max-width: 100%; }
.zone-content table,
.page-content table,
.article-content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Texte long (URL, code) : retour à la ligne forcé */
.zone-content,
.page-content,
.article-content {
    overflow-wrap: break-word;
    word-break: break-word;
}