/* =========================================================================
   Blog — habillage museal (hub + article). Override l'ancien theme violet
   de main.css (charge avant via head_extra).
   Palette : museum-black / museum-gold / Cormorant, flat (pas de radius).
   ========================================================================= */

/* ----- HUB / INDEX ----- */
body.page-blog-hub .blog-hero,
body.page-blog-hub .blog-index-hero {
    padding: clamp(48px, 7vw, 96px) 0 clamp(24px, 4vw, 48px);
    border-bottom: 1px solid var(--border, #e6e6e6);
}
body.page-blog-hub h1 {
    font-family: var(--font-display, "Cormorant Garamond", serif);
    font-weight: 400;
    font-size: clamp(2rem, 5vw, 3.2rem);
    letter-spacing: -.02em;
    color: var(--museum-black, #0a0a0a);
}

body.page-blog-hub .blog-grid,
body.page-blog-hub .blog-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
    gap: clamp(20px, 3vw, 32px);
}
body.page-blog-hub .blog-card {
    display: flex;
    flex-direction: column;
    background: var(--museum-white, #fff);
    border: 1px solid var(--border, #e6e6e6);
    border-radius: 0;
    overflow: hidden;
    transition: border-color .2s, transform .2s, box-shadow .2s;
}
body.page-blog-hub .blog-card:hover {
    border-color: var(--museum-gold, #c9a86a);
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.07);
}
body.page-blog-hub .blog-card-img {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--museum-gray, #f5f5f5);
}
body.page-blog-hub .blog-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s cubic-bezier(.16, 1, .3, 1);
}
body.page-blog-hub .blog-card:hover .blog-card-img img { transform: scale(1.04); }

/* Fallback logo : image manquante -> logo Artworks centre sur fond creme */
body.page-blog-hub .blog-card-img.is-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--museum-gray, #f5f5f5);
}
body.page-blog-hub .blog-card-img.is-fallback img {
    width: auto;
    max-width: 55%;
    height: auto;
    object-fit: contain;
    opacity: .55;
    transform: none !important;
}

body.page-blog-hub .blog-card-body { padding: 18px 20px 22px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
body.page-blog-hub .blog-card-cat {
    align-self: flex-start;
    font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
    color: var(--museum-gold, #c9a86a); text-decoration: none;
}
body.page-blog-hub .blog-card-body h2 {
    font-family: var(--font-display, "Cormorant Garamond", serif);
    font-weight: 400; font-size: 1.4rem; line-height: 1.2; margin: 0;
}
body.page-blog-hub .blog-card-body h2 a { color: var(--museum-black, #0a0a0a); text-decoration: none; }
body.page-blog-hub .blog-card-body h2 a:hover { color: var(--museum-gold, #c9a86a); }
body.page-blog-hub .blog-card-excerpt {
    font-size: .92rem; line-height: 1.6;
    color: color-mix(in srgb, var(--museum-black, #0a0a0a) 65%, transparent);
    margin: 0;
}
body.page-blog-hub .blog-card-meta {
    margin-top: auto; padding-top: 8px;
    font-size: .78rem; color: color-mix(in srgb, var(--museum-black, #0a0a0a) 50%, transparent);
}

/* ----- ARTICLE ----- */
body.page-blog-article .blog-article-hero {
    min-height: clamp(320px, 52vh, 520px);
    display: flex;
    align-items: flex-end;
    color: var(--museum-white, #fff);
    position: relative;
}
body.page-blog-article .blog-article-hero h1 {
    font-family: var(--font-display, "Cormorant Garamond", serif);
    font-weight: 400;
    font-size: clamp(2rem, 5vw, 3.4rem);
    line-height: 1.12; letter-spacing: -.02em;
    color: var(--museum-white, #fff);
    text-shadow: 0 2px 24px rgba(0, 0, 0, .4);
    margin: 0 0 12px;
}
body.page-blog-article .blog-article-hero-inner { padding-bottom: clamp(28px, 5vw, 56px); position: relative; z-index: 1; }
body.page-blog-article .blog-breadcrumb ol { color: color-mix(in srgb, var(--museum-white, #fff) 85%, transparent); }
body.page-blog-article .blog-breadcrumb a { color: var(--museum-gold, #c9a86a); text-decoration: none; }
body.page-blog-article .blog-article-meta { color: color-mix(in srgb, var(--museum-white, #fff) 80%, transparent); }

/* Hero sans cover : fond noir museal + logo centre (pas d'image etiree) */
body.page-blog-article .blog-article-nocover .blog-article-hero {
    background: var(--museum-black, #0a0a0a) !important;
}
body.page-blog-article .blog-article-nocover .blog-article-hero .pg-hero-bg {
    background-image: none !important;
    background:
        radial-gradient(circle at 50% 38%,
            color-mix(in srgb, var(--museum-gold, #c9a86a) 16%, transparent) 0%,
            transparent 60%),
        var(--museum-black, #0a0a0a) !important;
    opacity: 1 !important;
}

/* Corps d'article — colonne de lecture museale */
body.page-blog-article .blog-article-body {
    max-width: 760px;
    margin: clamp(36px, 6vw, 72px) auto 0;
    padding: 0 var(--gutter, 24px);
    font-size: 1.08rem;
    line-height: 1.8;
    color: color-mix(in srgb, var(--museum-black, #0a0a0a) 86%, transparent);
}
body.page-blog-article .blog-article-body h2 {
    font-family: var(--font-display, "Cormorant Garamond", serif) !important;
    font-weight: 400 !important;
    font-size: clamp(1.5rem, 3vw, 2rem) !important;
    line-height: 1.2 !important;
    color: var(--museum-black, #0a0a0a) !important;
    margin: 44px 0 14px !important;
    padding-top: 24px;
    border-top: 1px solid var(--border, #e6e6e6);
}
body.page-blog-article .blog-article-body h3 {
    font-family: var(--font-display, "Cormorant Garamond", serif) !important;
    font-weight: 500 !important;
    font-size: clamp(1.2rem, 2.2vw, 1.45rem) !important;
    color: var(--museum-black, #0a0a0a) !important;
    margin: 28px 0 10px !important;
}
body.page-blog-article .blog-article-body p { margin: 0 0 18px !important; }
body.page-blog-article .blog-article-body ul,
body.page-blog-article .blog-article-body ol { margin: 0 0 20px 1.4em !important; }
body.page-blog-article .blog-article-body li { margin-bottom: 8px !important; }
body.page-blog-article .blog-article-body li::marker { color: var(--museum-gold, #c9a86a); }
body.page-blog-article .blog-article-body a {
    color: var(--museum-black, #0a0a0a) !important;
    text-decoration: underline; text-decoration-color: var(--museum-gold, #c9a86a);
    text-underline-offset: 3px;
}
body.page-blog-article .blog-article-body a:hover { color: var(--museum-gold, #c9a86a) !important; }
body.page-blog-article .blog-article-body strong { color: var(--museum-black, #0a0a0a); }
body.page-blog-article .blog-article-body img { max-width: 100%; height: auto; display: block; margin: 28px auto; border: 1px solid var(--border, #e6e6e6); }
body.page-blog-article .blog-article-body blockquote {
    border-left: 3px solid var(--museum-gold, #c9a86a) !important;
    background: var(--museum-gray, #f5f5f5) !important;
    border-radius: 0 !important;
    color: var(--museum-black, #0a0a0a) !important;
    padding: 16px 22px !important;
    margin: 24px 0 !important;
    font-style: italic;
}
body.page-blog-article .blog-article-body code {
    background: var(--museum-gray, #f5f5f5); border-radius: 0; padding: 2px 6px; font-size: .9em;
}

/* CTA + sidebar museum */
body.page-blog-article .blog-article-cta {
    background: var(--museum-black, #0a0a0a) !important;
    border: none !important; border-radius: 0 !important;
    color: var(--museum-white, #fff);
    padding: clamp(28px, 4vw, 44px) !important;
    margin: 44px 0 24px !important;
}
body.page-blog-article .blog-article-cta h2,
body.page-blog-article .blog-article-cta h3 { color: var(--museum-white, #fff) !important; border: none !important; padding: 0 !important; }
body.page-blog-article .blog-article-cta p { color: color-mix(in srgb, var(--museum-white, #fff) 80%, transparent) !important; }
body.page-blog-article .blog-aside-card { border: 1px solid var(--border, #e6e6e6); border-radius: 0; background: var(--museum-white, #fff); }

@media (prefers-reduced-motion: reduce) {
    body.page-blog-hub .blog-card,
    body.page-blog-hub .blog-card-img img { transition: none; }
}
