/* =========================================================================
   Artworks Digital — Design V2 muséal
   Couche UI : premium, minimal, sans ombre ni dégradé décoratif
   ========================================================================= */

:root {
    --hero-cover-overlay: linear-gradient(180deg, rgba(0,0,0,.2) 0%, rgba(0,0,0,.6) 100%);
    --hero-cover-image: url('https://images.unsplash.com/photo-1579783902614-a3fb3927b6a5?auto=format&fit=crop&w=1920&q=80');
}

.accent {
    background: none;
    -webkit-background-clip: unset;
    background-clip: unset;
    color: var(--museum-gold);
    font-style: normal;
    font-weight: 600;
}

body.theme-gallery .accent { color: var(--museum-gold); }

.gradient-text {
    background: none;
    color: var(--museum-black);
    font-style: normal;
}

.eyebrow {
    background: transparent;
    color: var(--museum-gold);
    border: 1px solid var(--museum-gold);
    border-radius: 0;
    letter-spacing: .14em;
}

a { color: var(--museum-black); }
a:hover { color: var(--museum-gold); }

/* ----- Header ----- */
.site-header {
    background: var(--museum-white);
    backdrop-filter: none;
    border-bottom: 1px solid var(--border);
}

/* Nav compacte : 3 dropdowns + actions à droite */
.nav-list-compact { gap: 2px; }
.nav-list-compact > .nav-dropdown > details > summary {
    padding: 8px 12px;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    border-radius: 0;
    white-space: nowrap;
}
.nav-end {
    list-style: none;
    margin: 0 0 0 auto;
    padding: 0;
}
.nav-end-list {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.nav-account-summary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    cursor: pointer;
    list-style: none;
    border: 1px solid var(--border-strong);
    background: transparent;
    color: var(--museum-black);
}
.nav-account-summary::-webkit-details-marker { display: none; }
.nav-menu-account {
    right: 0;
    left: auto;
    min-width: 220px;
}
.nav-dropdown-account { position: relative; }
.nav-list-compact .nav-cta-compact {
    padding: 8px 16px !important;
    font-size: .72rem !important;
    white-space: nowrap;
}
@media (max-width: 1024px) {
    .nav-end { margin-left: 0; width: 100%; }
    .nav-end-list {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        gap: 4px;
        padding-top: 12px;
        border-top: 1px solid var(--border);
    }
    .nav-end-list .btn { width: 100%; }
    .nav-dropdown-account .nav-menu-account {
        position: static;
        width: 100%;
        box-shadow: none;
        border: none;
        border-top: 1px solid var(--border);
    }
}
.site-header.is-scrolled {
    background: var(--museum-white);
    box-shadow: none;
    border-bottom-color: var(--border);
}

/* =========================================================================
   Bouton flottant nav (.pf-nav-trigger) + body.nav-forced-visible
   Style partage pour toute page qui choisit de masquer la navbar au top
   (portfolio public, galerie publique, home). La regle "site-header masque
   par defaut" reste page-specifique (voir portfolio-classic-v2.css,
   home-v2.css, etc.).
   ========================================================================= */
.pf-nav-trigger {
    position: fixed;
    top: 18px;
    right: 18px;
    z-index: 60;
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--museum-black, #0a0a0a);
    color: var(--museum-gold, #c9a86a);
    border: 1px solid color-mix(in srgb, var(--museum-gold, #c9a86a) 65%, transparent);
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.22);
    cursor: pointer;
    padding: 0;
    transition: transform .22s ease, background .22s, color .22s, box-shadow .25s;
    -webkit-tap-highlight-color: transparent;
}
.pf-nav-trigger:hover,
.pf-nav-trigger:focus-visible {
    transform: scale(1.06);
    background: var(--museum-gold, #c9a86a);
    color: var(--museum-black, #0a0a0a);
    outline: none;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28), 0 0 0 6px color-mix(in srgb, var(--museum-gold, #c9a86a) 28%, transparent);
}
.pf-nav-trigger svg {
    width: 22px;
    height: 22px;
    stroke: currentColor;
    stroke-width: 1.8;
    fill: none;
}
.pf-nav-trigger[aria-expanded="true"] {
    background: var(--museum-gold, #c9a86a);
    color: var(--museum-black, #0a0a0a);
}
.pf-nav-trigger[aria-expanded="true"] .pf-nav-trigger-open { display: none; }
.pf-nav-trigger:not([aria-expanded="true"]) .pf-nav-trigger-close { display: none; }
body.nav-forced-visible .site-header {
    transform: translateY(0) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}
/* Sur les pages a navbar masquee, le bouton flottant pilote l'ouverture du
   menu mobile : on masque le hamburger interne redondant pour eviter deux
   controles superposes. */
body:has(.pf-nav-trigger) .nav-toggle { display: none; }
@media (max-width: 600px) {
    .pf-nav-trigger {
        top: 14px;
        right: 14px;
        width: 44px;
        height: 44px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .pf-nav-trigger { transition: none; }
}

/* Boutons : voir buttons-v2.css */

/* ----- Hero landing ----- */
.hero {
    min-height: min(92vh, 900px);
    display: flex;
    align-items: flex-end;
    position: relative;
    padding: 0;
    margin: 0;
    overflow: hidden;
}
.hero-bg,
.pg-hero-bg,
.gl-hero-bg {
    position: absolute;
    inset: 0;
    background-image: var(--hero-cover-overlay), var(--hero-cover-image);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #1a1a1a;
    pointer-events: none;
    animation: none !important;
}

/* Pages marketing .pg-hero — même rendu que l'accueil */
.pg-hero.gl-hero,
.pg-hero:has(> .pg-hero-bg) {
    position: relative;
    overflow: hidden;
    padding: 0;
    margin: 0;
    min-height: min(92vh, 900px);
    display: flex;
    align-items: flex-end;
    text-align: left;
    background: #1a1a1a;
}
.pg-hero.gl-hero > .container,
.pg-hero:has(> .pg-hero-bg) > .container {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: var(--container-max, 1200px);
    margin: 0 auto;
    padding: clamp(48px, 8vw, 120px) var(--gutter, 24px);
}
.pg-hero.gl-hero h1,
.pg-hero:has(> .pg-hero-bg) h1 {
    font-family: var(--font-display);
    font-weight: 400;
    font-size: clamp(2.2rem, 5vw, 3.5rem);
    letter-spacing: -.03em;
    color: #fff;
    line-height: 1.1;
    margin: 0 auto 16px;
    max-width: 18ch;
}
.pg-hero:has(> .pg-hero-bg) h1 {
    margin-left: 0;
    margin-right: 0;
}
.pg-hero.gl-hero .lead,
.pg-hero:has(> .pg-hero-bg) .lead {
    color: rgba(255,255,255,.85);
    font-size: 1.05rem;
    max-width: 52ch;
    margin: 0 auto 24px;
}
.pg-hero:has(> .pg-hero-bg) .lead {
    margin-left: 0;
    margin-right: 0;
}
.pg-hero.gl-hero .eyebrow,
.pg-hero:has(> .pg-hero-bg) .eyebrow {
    color: var(--museum-gold);
    border-color: rgba(201,168,106,.5);
}
.pg-hero.gl-hero .pg-hero-cta,
.pg-hero:has(> .pg-hero-bg) .pg-hero-cta {
    justify-content: flex-start;
}
.pg-hero.gl-hero .pg-hero-stats,
.pg-hero:has(> .pg-hero-bg) .pg-hero-stats {
    justify-content: flex-start;
    border-top: 1px solid rgba(255,255,255,.2);
    padding-top: 20px;
}
.pg-hero.gl-hero .pg-hero-stats strong,
.pg-hero:has(> .pg-hero-bg) .pg-hero-stats strong {
    color: #fff;
}
.pg-hero.gl-hero .pg-hero-stats span,
.pg-hero:has(> .pg-hero-bg) .pg-hero-stats span {
    color: rgba(255,255,255,.75);
}
.pg-hero.gl-hero .pg-hero-micro,
.pg-hero:has(> .pg-hero-bg) .pg-hero-micro {
    color: rgba(255,255,255,.65);
}
.hero-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    padding: clamp(48px, 8vw, 120px) 0;
    color: var(--museum-white);
}
.hero-content h1 {
    color: var(--museum-white);
    font-family: var(--font-display);
    font-weight: 400;
    font-size: clamp(2.4rem, 6vw, 4.5rem);
    letter-spacing: -.03em;
    max-width: 14ch;
}
.hero-content .lead {
    color: rgba(255,255,255,.82);
    max-width: 52ch;
    font-size: 1.05rem;
}
.hero-content .eyebrow {
    color: var(--museum-gold);
    border-color: rgba(201,168,106,.6);
}
.hero-visual { display: none; }
.hero-trust {
    border-top: 1px solid rgba(255,255,255,.2);
    padding-top: 20px;
    margin-top: 32px;
}
.hero-trust li { color: rgba(255,255,255,.75); }
.hero-trust strong { color: var(--museum-white); }

/* ----- Cards & sections ----- */
.card,
.card-feature,
.feature,
.dir-card {
    box-shadow: none !important;
    border: 1px solid var(--border);
    border-radius: 0;
    background: var(--museum-white);
}
.card,
.card-feature {
    padding: clamp(24px, 3vw, 32px);
}
.feature {
    padding: clamp(22px, 2.5vw, 28px);
}
.card-feature:hover,
.dir-card:hover {
    transform: none;
    border-color: var(--museum-black);
}
.section-alt { background: var(--museum-gray); }

/* ----- Split artistes / galeries (accueil) ----- */
.museum-split {
    padding: var(--section-y) 0;
    background: var(--museum-white);
}
.museum-split-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--card-gap, 28px);
    border: none;
}
@media (max-width: 900px) {
    .museum-split-grid { grid-template-columns: 1fr; }
}
.museum-split-block {
    display: flex;
    flex-direction: column;
    min-height: 420px;
    padding: clamp(32px, 5vw, 64px);
    text-decoration: none;
    color: inherit;
    transition: background var(--t-fast);
}
.museum-split-block:hover {
    background: var(--museum-gray);
    color: inherit;
}
.museum-split-block {
    border: 1px solid var(--border);
}
.museum-split-block--artists {
    background: linear-gradient(180deg, #fafafa 0%, var(--museum-white) 100%);
}
.museum-split-block--galleries {
    background: var(--museum-white);
}
.museum-split-block--collectors {
    background: linear-gradient(180deg, #f9f7f2 0%, var(--museum-white) 100%);
}
.museum-split-visual {
    flex: 1;
    min-height: 180px;
    margin: 24px 0;
    background: var(--museum-gray) center / cover no-repeat;
    border: 1px solid var(--border);
}
.museum-split-block--artists .museum-split-visual:not([style*="background-image"]) {
    background-image: url('https://images.unsplash.com/photo-1549887534-1541e9326642?auto=format&fit=crop&w=900&q=80');
}
.museum-split-block--galleries .museum-split-visual:not([style*="background-image"]) {
    background-image: url('https://images.unsplash.com/photo-1561214115-f2f40f7e0a8f?auto=format&fit=crop&w=900&q=80');
    filter: grayscale(30%);
}
.museum-split-block--collectors .museum-split-visual:not([style*="background-image"]) {
    background-image: url('https://images.unsplash.com/photo-1541961017774-22349e4a1262?auto=format&fit=crop&w=900&q=80');
}
.museum-split-visual[style*="background-image"] {
    filter: none;
}
.museum-split-block h2 {
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 400;
    margin-bottom: 12px;
}
.museum-split-block p {
    color: var(--text-muted);
    max-width: 40ch;
    margin-bottom: 24px;
}
.museum-split-cta {
    display: inline-block;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--museum-black);
    border-bottom: 1px solid var(--museum-gold);
    padding-bottom: 4px;
}

/* ----- SEO hub & articles ----- */
.seo-hub-hero,
.seo-content-wrap {
    padding: var(--section-y) 0;
}
.page-seo-hub .seo-hub-hero {
    min-height: min(78vh, 720px);
    border-bottom: 1px solid rgba(255,255,255,.22);
}
.page-seo-hub .seo-hub-hero-inner {
    position: relative;
    z-index: 1;
    width: 100%;
}
.page-seo-hub .seo-hub-hero .lead {
    max-width: 56ch;
}
.page-seo-hub .seo-hub-strip {
    background: var(--museum-white);
    border-bottom: 1px solid var(--border);
    padding: 14px 0;
}
.page-seo-hub .seo-hub-strip ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 14px 28px;
    color: var(--text-muted);
    font-size: .9rem;
}
.page-seo-hub .seo-hub-strip li::before {
    content: "✦";
    color: var(--museum-gold);
    margin-right: 8px;
}
.page-seo-hub .seo-hub-intro p {
    margin: 0;
    font-size: 1.02rem;
    line-height: 1.75;
    color: var(--text-muted);
}
.page-seo-hub .seo-hub-links {
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.page-seo-hub .seo-hub-links a {
    text-decoration: none;
    border: 1px solid var(--border);
    background: var(--museum-white);
    padding: 8px 12px;
    font-size: .8rem;
    color: var(--museum-black);
}
.page-seo-hub .seo-hub-links a:hover {
    border-color: var(--museum-gold);
}
.seo-hub-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--card-gap, 28px);
    background: transparent;
    border: none;
}
.seo-hub-card {
    display: block;
    padding: 28px 24px;
    background: var(--museum-white);
    border: 1px solid var(--border);
    text-decoration: none;
    color: inherit;
    transition: background var(--t-fast), border-color var(--t-fast);
}
.seo-hub-card:hover {
    background: var(--museum-gray);
    color: inherit;
}
.seo-hub-card h3 {
    font-family: var(--font-display);
    font-size: 1.15rem;
    font-weight: 500;
    margin: 0 0 8px;
}
.page-seo-hub .seo-hub-card-kicker {
    margin: 0 0 10px;
    font-size: .68rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--museum-gold);
    font-weight: 700;
}
.seo-hub-card p {
    font-size: .88rem;
    color: var(--text-muted);
    margin: 0;
}
.page-seo-hub .seo-hub-card-cta {
    display: inline-block;
    margin-top: 14px;
    font-size: .84rem;
    font-weight: 600;
    color: var(--museum-black);
}

/* ----- Blog (hub + article) ----- */
.page-blog-hub .blog-hero,
.page-blog-article .blog-article-hero {
    min-height: min(76vh, 700px);
    border-bottom: 1px solid rgba(255,255,255,.2);
}
.page-blog-hub .blog-hero-inner,
.page-blog-article .blog-article-hero-inner {
    position: relative;
    z-index: 1;
    width: 100%;
}
.page-blog-hub .blog-hero h1,
.page-blog-article .blog-article-hero h1 {
    color: #fff;
    font-family: var(--font-display);
    font-weight: 400;
}
.page-blog-hub .blog-hero .lead,
.page-blog-article .blog-article-hero .blog-article-meta {
    color: rgba(255,255,255,.86);
}
.page-blog-hub .blog-breadcrumb a,
.page-blog-article .blog-breadcrumb a {
    color: var(--museum-gold-soft);
}
.page-blog-hub .blog-breadcrumb [aria-current="page"],
.page-blog-article .blog-breadcrumb [aria-current="page"] {
    color: rgba(255,255,255,.9);
}
.page-blog-hub .blog-section,
.page-blog-article .blog-layout {
    background: #fff;
}
.page-blog-hub .blog-search,
.page-blog-hub .blog-search input {
    background: rgba(255,255,255,.95);
}
.page-blog-hub .blog-card,
.page-blog-hub .blog-aside-card,
.page-blog-article .blog-aside-card,
.page-blog-article .blog-article-cta {
    border-radius: 0;
    border: 1px solid var(--border);
    background: #fff;
    box-shadow: none;
}
.page-blog-hub .blog-card h2 a:hover,
.page-blog-article .blog-related-list a:hover strong,
.page-blog-article .blog-article-body a,
.page-blog-hub .blog-breadcrumb a:hover,
.page-blog-article .blog-breadcrumb a:hover {
    color: var(--museum-black);
}
.page-blog-hub .blog-card-cat,
.page-blog-hub .blog-cat-list a.is-active,
.page-blog-article .blog-cat-list a.is-active {
    color: var(--museum-black);
    border-color: var(--museum-gold-soft);
    background: #fff;
}
.page-blog-hub .blog-aside-cta,
.page-blog-article .blog-article-cta {
    background: linear-gradient(180deg, #fff 0%, #f7f3eb 100%);
}
.page-blog-hub .blog-aside-cta h3,
.page-blog-article .blog-article-cta h3 {
    color: var(--museum-black);
}
.page-blog-hub .blog-aside-cta p,
.page-blog-article .blog-article-cta p {
    color: var(--text-muted);
}
.seo-content,
.seo-content-wrap article {
    max-width: 720px;
    margin: 0 auto;
    padding: var(--section-y) var(--gutter);
}
.seo-content h1,
.seo-content-wrap h1 {
    font-family: var(--font-display);
    font-weight: 400;
    font-size: clamp(2rem, 4vw, 2.75rem);
    letter-spacing: -.02em;
    margin-bottom: 1.5rem;
}
.seo-content h2 {
    font-family: var(--font-display);
    font-weight: 500;
    margin-top: 2.5rem;
}

/* ----- Annuaires ----- */
.dir-hero {
    padding: var(--section-y) 0 48px;
    border-bottom: 1px solid var(--border);
}
.dir-hero .container {
    max-width: min(1200px, 100%);
}
.dir-search {
    max-width: min(1100px, 100%);
    width: 100%;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
    border-radius: 0;
    padding: 8px 10px;
}
.dir-search-input {
    padding-left: 18px;
    min-width: 0;
}
.dir-search-input input {
    padding: 12px 8px;
    font-size: 1rem;
    width: 100%;
    min-width: 12ch;
}
.dir-search-select {
    min-width: 180px;
    border-radius: 0;
    border: 1px solid var(--border);
    background: var(--museum-gray);
}
@media (min-width: 900px) {
    .dir-search-input {
        min-width: 420px;
    }
}
@media (max-width: 640px) {
    .dir-search-input {
        min-width: 0;
    }
    .dir-search-select {
        min-width: 0;
        width: 100%;
    }
}
.dir-grid {
    gap: var(--card-gap, 28px) !important;
    background: transparent !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.dir-card {
    padding: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.dir-card:hover {
    border-color: var(--museum-black) !important;
}
.dir-avatar {
    position: relative;
    aspect-ratio: 4/3;
    width: 100%;
    min-height: 200px;
    flex-shrink: 0;
    display: block;
    background: var(--museum-gray) !important;
    background-image: none !important;
    border-radius: 0;
    overflow: hidden;
}
.dir-avatar img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.dir-card:hover .dir-avatar img { transform: none; }
.dir-avatar-placeholder {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: var(--museum-black);
    background: var(--museum-gray);
    font-family: var(--font-display);
    font-size: 3rem;
    font-weight: 400;
}
.dir-body { padding: 24px; }

/* Annuaire artistes — présentation éditoriale */
.page-directory .dir-hero--editorial {
    padding: clamp(48px, 8vw, 96px) 0 40px;
    background: linear-gradient(180deg, var(--museum-gray) 0%, var(--museum-white) 55%);
}
.page-directory .dir-hero-top {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px 48px;
    margin-bottom: 40px;
}
.page-directory .dir-hero-copy { max-width: 52ch; }
.page-directory .dir-hero-copy h1 {
    font-family: var(--font-display);
    font-weight: 400;
    font-size: clamp(2.2rem, 5vw, 3.4rem);
    letter-spacing: -.03em;
    line-height: 1.05;
    margin-bottom: 16px;
}
.page-directory .dir-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid var(--border);
    background: var(--museum-white);
}
.page-directory .dir-stats li {
    padding: 20px 28px;
    border-right: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 120px;
}
.page-directory .dir-stats li:last-child { border-right: none; }
.page-directory .dir-stats-value {
    font-family: var(--font-display);
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 400;
    line-height: 1;
    color: var(--museum-black);
}
.page-directory .dir-stats--accent .dir-stats-value { color: var(--museum-gold, #b8860b); }
.page-directory .dir-stats-label {
    font-size: .65rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.page-directory .dir-search-icon {
    display: flex;
    align-items: center;
    opacity: .45;
}
.page-directory .dir-search-reset { margin-left: 4px; }
.page-directory .dir-results-note { margin-top: 12px; }
.page-directory .dir-content { padding-bottom: clamp(64px, 10vw, 120px); }
.page-directory .dir-mosaic-label {
    margin: 0 0 20px;
    letter-spacing: .18em;
}
.page-directory .dir-mosaic {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: var(--card-gap, 20px);
}
.page-directory .dir-artist-card {
    grid-column: span 4;
    position: relative;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    border: 1px solid var(--border);
    background: var(--museum-black);
    overflow: hidden;
    min-height: 380px;
    transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
.page-directory .dir-artist-card:hover {
    border-color: var(--museum-gold, #b8860b);
    color: inherit;
}
.page-directory .dir-artist-card.is-featured {
    grid-column: span 6;
    min-height: 460px;
}
.page-directory .dir-artist-card.is-tall {
    grid-row: span 1;
    min-height: 440px;
}
.page-directory .dir-artist-visual {
    position: relative;
    flex: 1;
    min-height: 260px;
    overflow: hidden;
    background: var(--museum-gray);
}
.page-directory .dir-artist-card.is-featured .dir-artist-visual { min-height: 320px; }
.page-directory .dir-artist-visual img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s cubic-bezier(.25, .46, .45, .94);
}
.page-directory .dir-artist-card:hover .dir-artist-visual img {
    transform: scale(1.04);
}
.page-directory .dir-artist-placeholder {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #1a1a1a 0%, #333 100%);
}
.page-directory .dir-artist-initial {
    font-family: var(--font-display);
    font-size: clamp(4rem, 12vw, 7rem);
    font-weight: 300;
    color: rgba(255,255,255,.25);
    line-height: 1;
}
.page-directory .dir-artist-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        transparent 35%,
        rgba(0,0,0,.25) 60%,
        rgba(0,0,0,.88) 100%
    );
    pointer-events: none;
}
.page-directory .dir-artist-badge {
    position: absolute;
    top: 14px;
    z-index: 2;
    font-size: .65rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 5px 10px;
    background: rgba(0,0,0,.55);
    color: var(--museum-white);
    border: 1px solid rgba(255,255,255,.2);
}
.page-directory .dir-artist-badge--promo { left: 14px; color: var(--museum-gold, #d4af37); }
.page-directory .dir-artist-badge--pro { right: 14px; left: auto; }
.page-directory .dir-artist-cap {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    padding: 20px 22px 22px;
    color: var(--museum-white);
}
.page-directory .dir-artist-name {
    font-family: var(--font-display);
    font-size: clamp(1.25rem, 2.5vw, 1.65rem);
    font-weight: 400;
    margin: 0 0 6px;
    letter-spacing: -.02em;
    line-height: 1.15;
}
.page-directory .dir-artist-headline {
    font-size: .88rem;
    font-style: italic;
    opacity: .85;
    margin: 0 0 10px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.page-directory .dir-artist-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    font-size: .72rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    opacity: .75;
    margin-bottom: 14px;
}
.page-directory .dir-artist-style::after {
    content: "·";
    margin-left: 14px;
    opacity: .5;
}
.page-directory .dir-artist-style:last-child::after,
.page-directory .dir-artist-meta .dir-artist-style:only-child::after { display: none; }
.page-directory .dir-artist-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,.15);
    font-size: .72rem;
    letter-spacing: .04em;
}
.page-directory .dir-artist-support {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: rgba(255,255,255,.9);
}
.page-directory .dir-artist-heart { opacity: .9; flex-shrink: 0; }
.page-directory .dir-artist-cta {
    margin-left: auto;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-size: .65rem;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity var(--t-fast), transform var(--t-fast);
}
.page-directory .dir-artist-card:hover .dir-artist-cta {
    opacity: 1;
    transform: translateY(0);
}
@media (max-width: 1100px) {
    .page-directory .dir-artist-card,
    .page-directory .dir-artist-card.is-featured { grid-column: span 6; }
}
@media (max-width: 700px) {
    .page-directory .dir-mosaic { grid-template-columns: 1fr; }
    .page-directory .dir-artist-card,
    .page-directory .dir-artist-card.is-featured,
    .page-directory .dir-artist-card.is-tall {
        grid-column: span 1;
        min-height: 360px;
    }
    .page-directory .dir-stats { width: 100%; }
    .page-directory .dir-stats li { flex: 1; min-width: 0; border-right: none; border-bottom: 1px solid var(--border); }
    .page-directory .dir-stats li:last-child { border-bottom: none; }
    .page-directory .dir-artist-cta { opacity: 1; transform: none; margin-left: 0; }
}

/* ----- Footer ----- */
.site-footer {
    background: var(--museum-black);
    color: rgba(255,255,255,.7);
    border-top: none;
    padding: clamp(64px, 8vw, 96px) 0 32px;
}
.site-footer a { color: rgba(255,255,255,.75); }
.site-footer a:hover { color: var(--museum-gold); }
.site-footer h4 {
    color: var(--museum-white);
    font-size: .7rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.site-footer .footer-brand p { color: rgba(255,255,255,.55); }
.site-footer .footer-bottom {
    border-top: 1px solid rgba(255,255,255,.12);
    margin-top: 48px;
    padding-top: 24px;
}

/* ----- Témoignages & carousel promo ----- */
.testimonial,
.featured-promo-card {
    box-shadow: none !important;
    border: 1px solid var(--border);
    border-radius: 0;
}

/* ----- Sticky CTA & modales ----- */
.sticky-cta-inner {
    box-shadow: none;
    border: 1px solid var(--border);
    border-radius: 0;
}
.signup-modal-card,
.toast {
    box-shadow: none;
    border: 1px solid var(--border);
    border-radius: 0;
}

/* ----- Aria FAB ----- */
.aria-fab {
    box-shadow: none;
    border: 1px solid var(--border);
    border-radius: 0;
}

/* ----- Nav (liens, pas les .btn — gérés par buttons-v2.css) ----- */

/* Nav — galerie (plus de pill orange / dégradé) */
.nav-cta-gallery-pill {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    background: transparent !important;
    background-image: none !important;
    color: var(--museum-black) !important;
    border: 1px solid var(--museum-black) !important;
    border-radius: 0 !important;
    padding: 8px 14px !important;
    font-weight: 600 !important;
    font-size: .72rem !important;
    letter-spacing: .04em;
    text-transform: uppercase;
    box-shadow: none !important;
    transform: none !important;
    filter: none !important;
}
.nav-cta-gallery-pill:hover {
    background: var(--museum-black) !important;
    color: var(--museum-white) !important;
    transform: none !important;
    box-shadow: none !important;
}
.nav-cta-secondary.btn,
.nav-cta-secondary.btn-ghost {
    /* alias secondaire dans la nav si utilisé */
}
.nav-list li > a:not(.btn):hover { color: var(--museum-gold) !important; }
.nav-dropdown details summary:hover,
.nav-dropdown details[open] summary {
    color: var(--museum-black) !important;
    background: var(--museum-gray) !important;
}
.nav-menu-icon-mix {
    background: var(--museum-black) !important;
    background-image: none !important;
}
.nav-aria-link { color: var(--museum-black) !important; }
.nav-login-link { color: var(--museum-black) !important; }
.hero-trust strong {
    background: none !important;
    -webkit-background-clip: unset !important;
    color: var(--museum-white) !important;
    font-style: normal;
}
.dir-hero::before { display: none !important; }
.dir-hero { background: var(--museum-white) !important; }
.dir-card:hover { border-color: var(--museum-black) !important; }
.featured-promo-arrow,
.mockup,
.mockup-art {
    box-shadow: none !important;
}
.card-icon {
    background: var(--museum-gray) !important;
    border: 1px solid var(--border);
}
h1, h2 { color: var(--museum-black); }
.site-footer .logo-img { filter: none; }
.site-footer .footer-logo-mark {
    width: 44px;
    height: 44px;
    object-fit: contain;
    display: block;
}

/* =========================================================================
   V2 COMPLET — formulaires, navigation, marketplace, auth, etc.
   ========================================================================= */

/* Boutons : buttons-v2.css */

/* ----- Formulaires ----- */
.form-field input,
.form-field select,
.form-field textarea,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="number"],
textarea,
select {
    border-radius: 0 !important;
    border: 1px solid var(--border-strong) !important;
    box-shadow: none !important;
    background: var(--museum-white);
    transition: border-color var(--t-fast);
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus,
input:focus,
textarea:focus,
select:focus {
    border-color: var(--museum-black) !important;
    outline: none !important;
    box-shadow: none !important;
}
.form-field label {
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--gray-600);
}
.form-stack,
.form-grid,
.form-card {
    gap: 20px;
}
.form-card {
    border: 1px solid var(--border);
    border-radius: 0;
    padding: 28px;
    background: var(--museum-white);
    box-shadow: none !important;
}
.checkbox-field,
.radio-field {
    accent-color: var(--museum-black);
}

/* ----- Navigation ----- */
.nav-list li > a:not(.btn):hover { color: var(--museum-gold); }
.nav-dropdown details summary:hover,
.nav-dropdown details[open] summary {
    color: var(--museum-black);
    background: var(--museum-gray);
}
.nav-menu {
    border: 1px solid var(--border);
    border-radius: 0;
    box-shadow: none !important;
}
.nav-menu-item:hover { background: var(--museum-gray); }
.nav-menu-icon-artist,
.nav-menu-icon-gallery,
.nav-menu-icon-mix {
    background: var(--museum-black) !important;
    background-image: none !important;
    color: var(--museum-white);
    border-radius: 0;
}
.nav-cta,
.nav-cta-compact {
    border-radius: 0 !important;
}
.nav-icon-btn {
    border-radius: 0;
    border: 1px solid var(--border);
    box-shadow: none;
}
.nav-toggle span { background: var(--museum-black); }

/* ----- Flash & toasts ----- */
.flash,
.toast {
    border-radius: 0 !important;
    box-shadow: none !important;
    border: 1px solid var(--border);
}
.flash-info { border-left-color: var(--museum-gold); color: var(--museum-black); }
.toast-info .toast-icon,
.toast-warning .toast-icon,
.toast-message .toast-icon { background: var(--museum-black); }

/* ----- Cards, features, steps, FAQ ----- */
.card:hover,
.feature:hover,
.steps li:hover {
    transform: none !important;
    box-shadow: none !important;
    border-color: var(--museum-black) !important;
}
.step-num {
    background: var(--museum-black) !important;
    background-image: none !important;
    border-radius: 0;
    box-shadow: none !important;
}
.faq details {
    border-radius: 0;
    box-shadow: none !important;
}
.faq details[open] {
    border-color: var(--museum-black);
    box-shadow: none !important;
}
.faq summary:hover { color: var(--museum-gold); }

/* ----- Auth pages ----- */
.auth-section,
.page-auth {
    background: var(--museum-gray);
    min-height: calc(100vh - 73px);
}
.auth-card,
.signup-card {
    border: 1px solid var(--border);
    border-radius: 0;
    box-shadow: none !important;
    background: var(--museum-white);
    max-width: 480px;
    margin: 0 auto;
    padding: clamp(32px, 5vw, 48px);
}
.signup-modal-card { max-width: none; }

/* ----- Marketplace legacy (mkt-*) — liste V2 = marketplace-v2.css (mkt2-*) ----- */
.page-marketplace .mkt-hero,
.page-marketplace .mkt-card,
.page-marketplace-oeuvre .mkt-card {
    /* neutralise l’ancien main.css (dégradés / radius) si classes résiduelles */
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

/* ----- Landing sections (pg-*, hp-*) ----- */
.pg-hero,
.pg-section,
.hp-section {
    padding: var(--section-y) 0;
}
.pg-hero {
    border-bottom: 1px solid var(--border);
    background: var(--museum-white);
}
.pg-hero h1,
.hp-hero h1 {
    font-family: var(--font-display);
    font-weight: 400;
}
.pg-card,
.pg-stat,
.hp-card,
.hp-tpl-card {
    border: 1px solid var(--border);
    border-radius: 0;
    box-shadow: none !important;
    background: var(--museum-white);
}
.pg-card:hover,
.hp-tpl-card:hover {
    transform: none;
    border-color: var(--museum-black);
}
.pg-cmp-table {
    border: 1px solid var(--border);
    border-collapse: collapse;
}
.pg-cmp-table th {
    background: var(--museum-gray);
    text-transform: uppercase;
    font-size: .7rem;
    letter-spacing: .08em;
}
.pg-cmp-table td,
.pg-cmp-table th {
    border: 1px solid var(--border);
    padding: 12px 16px;
}

/* ----- Blog ----- */
.blog-card,
.blog-hero,
.article-card {
    border: 1px solid var(--border);
    border-radius: 0;
    box-shadow: none !important;
}
.blog-card:hover { border-color: var(--museum-black); transform: none; }
.article-content {
    max-width: 720px;
    margin: 0 auto;
}
.article-content h2 {
    font-family: var(--font-display);
    margin-top: 2em;
}

/* ----- Matching ----- */
.match-card,
.match-score,
.match-hero {
    border: 1px solid var(--border);
    border-radius: 0;
    box-shadow: none !important;
}
.match-score-bar {
    background: var(--museum-gray);
    border-radius: 0;
}
.match-score-fill {
    background: var(--museum-gold) !important;
    background-image: none !important;
}

/* ----- Promo / featured ----- */
.featured-promo,
.featured-promo-card {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}
.featured-promo-arrow {
    border: 1px solid var(--border);
    border-radius: 0;
    background: var(--museum-white);
}

/* ----- Templates showcase (hp-*, tpl-*) ----- */
.tpl-card,
.hp-tpl-card,
.tpl-picker-card {
    border: 1px solid var(--border);
    border-radius: 0;
    box-shadow: none !important;
}
.tpl-card.is-selected,
.tpl-picker-card.is-selected {
    border-color: var(--museum-black);
    outline: 2px solid var(--museum-gold);
    outline-offset: 2px;
}

/* ----- Aria ----- */
.aria-hero,
.aria-panel,
.aria-chat,
.aria-fab {
    border-radius: 0;
    box-shadow: none !important;
}
.aria-hero {
    border: 1px solid var(--border);
    background: var(--museum-white);
}
.aria-fab {
    background: var(--museum-white);
    border: 1px solid var(--border);
}
.aria-fab:hover { border-color: var(--museum-black); }

/* ----- Community ----- */
.community-card,
.community-post,
.community-create-form {
    border: 1px solid var(--border);
    border-radius: 0;
    box-shadow: none !important;
}

/* ----- Contact / cart ----- */
.contact-grid,
.cart-table,
.cart-summary {
    border: 1px solid var(--border);
    border-radius: 0;
}
.cart-summary {
    background: var(--museum-gray);
    padding: 24px;
    box-shadow: none !important;
}

/* ----- Work cards (editor artworks) ----- */
.work-card,
.artwork-card {
    border: 1px solid var(--border);
    border-radius: 0;
    box-shadow: none !important;
}
.work-card-image { border-radius: 0; }

/* ----- Messages ----- */
.msg-thread,
.msg-bubble,
.msg-compose {
    border-radius: 0;
    border: 1px solid var(--border);
    box-shadow: none !important;
}
.msg-bubble--out {
    background: var(--museum-black);
    color: var(--museum-white);
}
.msg-bubble--in {
    background: var(--museum-gray);
}

/* ----- Cookie banner ----- */
.cookie-banner {
    border-top: 1px solid var(--border);
    box-shadow: none !important;
    background: var(--museum-white);
}
.cookie-banner-inner { border-radius: 0; }

/* ----- Sticky CTA ----- */
.sticky-cta {
    background: transparent;
}
.sticky-cta-inner {
    background: var(--museum-white);
    backdrop-filter: none;
}

/* ----- Signup modal / wizard ----- */
.signup-modal-backdrop { background: rgba(0,0,0,.55); }
.signup-slide-nav .btn { min-width: 120px; }
.signup-side-glow { display: none; }
.signup-modal-side {
    background: var(--museum-gray);
    border-left: 1px solid var(--border);
}
.signup-stat strong { font-family: var(--font-display); color: var(--museum-black); }

/* ----- Galerie theme (public pages, landing) ----- */
body.theme-gallery .hero,
body.theme-gallery .pg-hero {
    background: var(--museum-white);
}
body.theme-gallery .dash-hero,
body.theme-gallery .kpi-card-gallery::before {
    background-image: none !important;
}

/* ----- Curatorial / demo banners ----- */
.curatorial-fieldset {
    background: var(--museum-gray) !important;
    border: 1px solid var(--border) !important;
    border-radius: 0 !important;
}
.curatorial-quote {
    box-shadow: none !important;
    border-radius: 0 !important;
    border-left-color: var(--museum-gold) !important;
}
.demo-banner,
.propose-banner {
    border-bottom: 1px solid var(--border);
    background: var(--museum-gray);
    box-shadow: none;
}

/* ----- Badges & pills ----- */
.badge,
.tag,
.pill,
.status-badge {
    border-radius: 0;
    border: 1px solid var(--border);
    box-shadow: none;
    font-size: .65rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

/* ----- Links ----- */
.link {
    color: var(--museum-black);
    text-decoration: underline;
    text-decoration-color: var(--museum-gold);
    text-underline-offset: 3px;
    font-weight: 500;
}
.link:hover { color: var(--museum-gold); }

/* ----- Tables génériques ----- */
table {
    border-collapse: collapse;
}
table th {
    background: var(--museum-gray);
    font-size: .7rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* ----- SEO landing (seo_landing.html) ----- */
.seo-hero {
    padding: var(--section-y) 0;
    background: var(--museum-white);
    border-bottom: 1px solid var(--border);
}
.page-seo-landing .seo-hero {
    min-height: min(80vh, 760px);
    background: #15110d;
    border-bottom: 1px solid rgba(255,255,255,.22);
}
.page-seo-landing .seo-hero-inner {
    position: relative;
    z-index: 1;
    width: 100%;
}
.seo-hero h1 {
    font-family: var(--font-display);
    font-weight: 400;
    font-size: clamp(2rem, 4vw, 2.75rem);
}
.page-seo-landing .seo-hero h1 {
    color: #fff;
}
.page-seo-landing .seo-hero .lead {
    color: rgba(255,255,255,.86);
}
.page-seo-landing .seo-hero .seo-breadcrumb,
.page-seo-landing .seo-hero .eyebrow,
.page-seo-landing .seo-hero h1,
.page-seo-landing .seo-hero .lead {
    text-align: left;
}
.page-seo-landing .seo-hero .seo-hero-cta {
    justify-content: flex-start;
}
.page-seo-landing .seo-hero .seo-breadcrumb a,
.page-seo-landing .seo-hero .seo-breadcrumb span {
    color: rgba(255,255,255,.9);
}
.page-seo-landing .seo-hero .seo-stats {
    border-top-color: rgba(255,255,255,.22);
    justify-content: flex-start;
    gap: 14px;
}
.page-seo-landing .seo-hero .seo-stat strong {
    color: #fff !important;
}
.page-seo-landing .seo-hero .seo-stat span {
    color: rgba(255,255,255,.78);
}
.page-seo-landing .seo-hero .seo-stat {
    min-width: 170px;
    padding: 12px 14px;
    border: 1px solid rgba(255,255,255,.24);
    background: rgba(0,0,0,.28);
    backdrop-filter: blur(1px);
}
.page-seo-landing .seo-hero .seo-stat strong,
.page-seo-landing .seo-hero .seo-stat span {
    color: #fff !important;
}
.seo-breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.seo-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid var(--border);
}
.seo-stat strong {
    display: block;
    font-family: var(--font-display);
    font-size: 1.75rem;
    font-weight: 400;
    color: var(--museum-black);
    background: none !important;
    -webkit-background-clip: unset !important;
    color: var(--museum-black) !important;
}
.seo-stat span { color: var(--text-muted); font-size: .85rem; }
.seo-content-block {
    padding: var(--section-y) 0;
    border-bottom: 1px solid var(--border);
}
.seo-faq details {
    border: 1px solid var(--border);
    border-radius: 0;
    margin-bottom: 8px;
    box-shadow: none !important;
}
.seo-breadcrumb a { color: var(--museum-black); }
.seo-breadcrumb a:hover { color: var(--museum-gold); }
.seo-article { max-width: 720px; padding: var(--section-y) var(--gutter); }
.seo-article h2, .seo-section-title {
    font-family: var(--font-display);
    font-weight: 400;
    color: var(--museum-black);
}
.seo-article a { color: var(--museum-black); text-decoration-color: var(--museum-gold); }
.seo-article strong { color: var(--museum-black); }
.seo-article code {
    background: var(--museum-gray);
    border-radius: 0;
    color: var(--museum-black);
}
.seo-article table { border: 1px solid var(--border); }
.seo-article th { background: var(--museum-gray); }
.seo-features-section { padding: var(--section-y) 0; background: var(--museum-gray); }
.seo-features-grid {
    gap: var(--card-gap, 28px) !important;
    background: transparent !important;
}
.seo-feature {
    background: var(--museum-white);
    border: 1px solid var(--border);
    border-radius: 0;
    box-shadow: none !important;
    padding: 28px;
}
.seo-feature h3 { color: var(--museum-black); }
.seo-faq-section {
    padding: var(--section-y) 0;
    background: var(--museum-white) !important;
    background-image: none !important;
}
.seo-faq summary:hover { color: var(--museum-gold); }
.seo-related { padding: var(--section-y) 0; }
.seo-related-grid {
    gap: var(--card-gap, 28px) !important;
    background: transparent !important;
}
.seo-related-card {
    border: 1px solid var(--border);
    border-radius: 0;
    box-shadow: none !important;
    background: var(--museum-white);
    padding: 24px;
}
.seo-related-card:hover {
    background: var(--museum-gray);
    transform: none;
    box-shadow: none !important;
}
.seo-cta-final {
    padding: var(--section-y) 0;
    background: var(--museum-black);
    color: var(--museum-white);
    text-align: center;
}
.seo-cta-final h2 {
    color: var(--museum-white);
    font-family: var(--font-display);
    font-weight: 400;
}
.seo-cta-final p { color: rgba(255,255,255,.7); }
/* seo-cta-final boutons : buttons-v2.css (.seo-cta-final .btn-*) */

.page-seo-landing .seo-hub-strip {
    background: var(--museum-white);
    border-bottom: 1px solid var(--border);
    padding: 14px 0;
}
.page-seo-landing .seo-hub-strip ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 14px 28px;
    color: var(--text-muted);
    font-size: .9rem;
}
.page-seo-landing .seo-hub-strip li::before {
    content: "✦";
    color: var(--museum-gold);
    margin-right: 8px;
}

/* ----- Inscription galerie (gp-* inline styles override) ----- */
body.page-auth .gp-wrap {
    min-height: calc(100vh - 80px) !important;
    background: var(--museum-gray) !important;
    padding: 24px 16px 64px !important;
}
body.page-auth .gp-back {
    border-radius: 0 !important;
    background: var(--museum-white) !important;
    border: 1px solid var(--border) !important;
    color: var(--museum-black) !important;
    box-shadow: none !important;
}
body.page-auth .gp-card {
    border-radius: 0 !important;
    box-shadow: none !important;
    border: 1px solid var(--border) !important;
    background: var(--museum-white) !important;
}
body.page-auth .gp-side {
    background: var(--museum-black) !important;
    background-image: none !important;
    border-radius: 0 !important;
}

/* ----- SEO landing (seo_landing.html content) ----- */
.seo-landing,
.seo-landing article {
    max-width: 720px;
    margin: 0 auto;
    padding: var(--section-y) var(--gutter);
}
.seo-landing h1 {
    font-family: var(--font-display);
    font-weight: 400;
}
.seo-landing table {
    width: 100%;
    border: 1px solid var(--border);
    margin: 24px 0;
}
.seo-landing table th,
.seo-landing table td {
    border: 1px solid var(--border);
    padding: 12px;
}

/* ----- Utilitaires : neutraliser ombres/gradients résiduels ----- */
[class*="gradient"],
[style*="linear-gradient"]:not(.hero-bg):not(.museum-split-visual):not(.pf-hero-full) {
    /* laisser hero images */
}
*[style*="box-shadow"] {
    /* inline shadows sur pages statiques — surcharge partielle via classes parent */
}
.section-header h2 {
    font-family: var(--font-display);
    font-weight: 400;
}

/* =========================================================================
   Direction artistique globale /vitrine (noir / blanc / doré)
   ========================================================================= */
body.page-static,
body.page-directory,
body.page-marketplace,
body.page-marketplace-oeuvre,
body.page-seo-hub {
    background: var(--museum-white);
    color: var(--museum-black);
}
body.page-static .section-header .eyebrow,
body.page-directory .section-header .eyebrow,
body.page-marketplace .eyebrow,
body.page-seo-hub .section-header .eyebrow {
    color: var(--museum-gold);
    border-color: rgba(201,168,106,.45);
}
body.page-static .section-header h2,
body.page-directory .section-header h2,
body.page-marketplace .section-header h2,
body.page-seo-hub .section-header h2 {
    color: var(--museum-black);
}
body.page-static .section-lead,
body.page-directory .section-lead,
body.page-marketplace .section-lead,
body.page-seo-hub .section-lead {
    color: var(--text-muted);
}
body.page-static .btn-primary,
body.page-directory .btn-primary,
body.page-marketplace .btn-primary,
body.page-seo-hub .btn-primary {
    background: var(--museum-black) !important;
    border-color: var(--museum-black) !important;
    color: var(--museum-white) !important;
}
body.page-static .btn-primary:hover,
body.page-directory .btn-primary:hover,
body.page-marketplace .btn-primary:hover,
body.page-seo-hub .btn-primary:hover {
    background: var(--museum-gold) !important;
    border-color: var(--museum-gold) !important;
    color: var(--museum-black) !important;
}
body.page-static .btn-secondary,
body.page-static .btn-ghost,
body.page-directory .btn-secondary,
body.page-directory .btn-ghost,
body.page-marketplace .btn-secondary,
body.page-marketplace .btn-ghost,
body.page-seo-hub .btn-secondary,
body.page-seo-hub .btn-ghost {
    border-color: var(--border);
    color: var(--museum-black);
}
body.page-static .btn-secondary:hover,
body.page-static .btn-ghost:hover,
body.page-directory .btn-secondary:hover,
body.page-directory .btn-ghost:hover,
body.page-marketplace .btn-secondary:hover,
body.page-marketplace .btn-ghost:hover,
body.page-seo-hub .btn-secondary:hover,
body.page-seo-hub .btn-ghost:hover {
    border-color: var(--museum-gold);
}
body.page-static .card,
body.page-static .offer-card,
body.page-static .seo-hub-card,
body.page-directory .dir-card,
body.page-marketplace .mkt2-card,
body.page-seo-hub .seo-hub-card {
    border: 1px solid var(--border);
    box-shadow: none;
}
body.page-static .faq details,
body.page-directory .faq details,
body.page-seo-hub .faq details {
    border-color: var(--border);
    background: var(--museum-white);
}

/* Pages statiques avec blocs colorés inline → fond neutre */
.pg-offer-block,
.static-hero {
    background: var(--museum-white) !important;
    border: 1px solid var(--border);
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Override global gradients */
[style*="background: linear-gradient"],
[style*="background:linear-gradient"] {
    /* handled per-component above */
}

/* Logo header */
.logo-img { max-height: 40px; }

/* Selection */
::selection {
    background: var(--museum-gold-soft);
    color: var(--museum-black);
}

/* =========================================================================
   Purge couleurs bleu/violet résiduelles (main.css legacy)
   ========================================================================= */
.hero { background: transparent !important; }
.hero-bg { animation: none !important; }
.section-alt,
.pf-section-alt,
.dash-hero,
.signup-modal-side,
.featured-promo {
    background: var(--museum-gray) !important;
    background-image: none !important;
}
.dash-hero::before,
.dir-hero::before,
.signup-side-glow { display: none !important; }
.dash-nav a:hover { background: var(--museum-gray) !important; color: var(--museum-black) !important; }
.dash-nav a.is-active {
    background: var(--museum-black) !important;
    background-image: none !important;
    box-shadow: none !important;
}
.dash-side-eyebrow { color: var(--museum-gold) !important; }
.flash-info { color: var(--museum-black) !important; border-left-color: var(--museum-gold) !important; }
.toast-info .toast-icon,
.toast-message .toast-icon,
.toast-warning .toast-icon { background: var(--museum-black) !important; }
.toast-success,
.toast-error,
.toast-info,
.toast-message {
    background: var(--museum-white) !important;
    background-image: none !important;
}
.seo-breadcrumb a,
.seo-feature h3,
.dir-search-input input:focus { color: var(--museum-black) !important; }
.lang-menu a.is-active,
.lang-menu a:hover { background: var(--museum-gray) !important; color: var(--museum-black) !important; }
.period-switch a.is-active,
.step-num,
.card-icon svg { color: inherit; }
.feature[style*="linear-gradient"] {
    background: var(--museum-white) !important;
    border: 1px solid var(--border) !important;
}
.mockup-cover,
.mockup-art,
.mockup-avatar {
    background: var(--museum-gray) !important;
    background-image: none !important;
}
.curatorial-fieldset {
    background: var(--museum-gray) !important;
    border-color: var(--border) !important;
}
.curatorial-mark { color: var(--museum-gold) !important; }
body { -webkit-tap-highlight-color: rgba(201, 168, 106, .2); }

/* Bandeau galerie accueil */
.gallery-cta-band { padding: var(--section-y) 0; }
.museum-band {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    padding: 32px;
    border: 1px solid var(--border);
    background: var(--museum-white) !important;
    background-image: none !important;
}
.museum-band .pg-risk-icon {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    font-size: 1.5rem;
    background: var(--museum-black) !important;
    background-image: none !important;
    color: var(--museum-white) !important;
    border-radius: 0;
}
.museum-band h2 {
    font-family: var(--font-display);
    font-weight: 400;
    margin: 0 0 8px;
    color: var(--museum-black);
}
.museum-band p { margin: 0; color: var(--text-muted); line-height: 1.6; }
.museum-band-actions {
    display: flex;
    gap: 10px;
    margin-top: 16px;
    flex-wrap: wrap;
}
.section-matching,
.matching-scorecard,
.matching-visual {
    background: var(--museum-white) !important;
    background-image: none !important;
    border: 1px solid var(--border);
    box-shadow: none !important;
}
.matching-score-fill {
    background: var(--museum-gold) !important;
    background-image: none !important;
}

/* ----- Espacement grilles de cartes (global) ----- */
.cards-grid,
.cards-grid-3,
.features-grid,
.hp-tpl-grid,
.hp-blog-grid,
.hp-comm-grid,
.match-grid,
.artworks-grid,
.dash-grid,
.blog-grid,
.tpl-picker-grid,
.seo-hub-grid,
.seo-features-grid,
.seo-related-grid,
.dir-grid,
.mkt-grid {
    gap: var(--card-gap, 28px) !important;
    background: transparent !important;
}

/* Portfolio gratuit: force numéros features visibles */
body.page-portfolio-gratuit .pg-feature-num span {
    background: none !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
    color: var(--museum-gold) !important;
}

/* Clarifier les liens offre portfolio */
.hero-offer-link {
    margin: 10px 0 0;
    color: rgba(255,255,255,.92);
}
.hero-offer-link a {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.hero-offer-link a:hover {
    color: var(--museum-gold-soft);
}
.offer-switch-nav {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: #fff;
}
.offer-switch-nav .container {
    display: flex;
    gap: 12px;
    padding: 10px var(--gutter);
    flex-wrap: wrap;
}
.offer-switch-nav a {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border: 1px solid var(--border);
    color: var(--museum-black);
    text-decoration: none;
    font-size: .86rem;
}
.offer-switch-nav a:hover {
    border-color: var(--museum-gold);
}
.offer-switch-nav a.is-active {
    border-color: var(--museum-gold);
    background: #f7f3eb;
    font-weight: 600;
}

/* CTA blocks: robust readability on all vitrine pages */
body.page-static .cta-card {
    background: #111 !important;
    border: 1px solid #2a2a2a;
    box-shadow: none;
}
body.page-static .cta-card h2,
body.page-static .cta-card p,
body.page-static .cta-card .cta-card-micro {
    color: #fff !important;
}
body.page-static .cta-card h2 .accent {
    background: none !important;
    color: var(--museum-gold) !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
}
body.page-static .cta-card .btn-light {
    background: #fff !important;
    color: #000 !important;
    border-color: #fff !important;
}
body.page-static .cta-card .cta-card-secondary {
    background: transparent !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.6) !important;
}
body.page-static .cta-card .cta-card-secondary:hover {
    background: #fff !important;
    color: #000 !important;
    border-color: #fff !important;
}
body.page-static .pg-cta-inline-card {
    background: #fff !important;
    border: 1px solid var(--border) !important;
    box-shadow: none !important;
}
body.page-static .pg-cta-inline-card p {
    color: var(--museum-black) !important;
}

/* Dashboard portfolio: icônes actions toujours visibles */
body.page-editor .quick-action-icon {
    background: var(--museum-black) !important;
    color: #fff !important;
}
body.page-editor .quick-action:hover .quick-action-icon {
    background: var(--museum-gold) !important;
    color: var(--museum-black) !important;
}
