/* Wiki — même direction « Cinéma » que l'accueil (couleurs et boutons : cinema.css). */

/* La recherche et les catégories repliables cachent des éléments avec `.hidden` (js/app.js) : il doit l'emporter sur
   leur `display`. Limité au wiki lui-même — l'en-tête du site compte sur `hidden 2xl:flex`. */
:is(.wiki-index, .wiki-sidebar) .hidden { display: none !important; }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* ------------------------------------------------------------------ haut de page */

.wiki-hero {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 520px;
    overflow: hidden;
    isolation: isolate;
}

.wiki-hero.is-entry { min-height: 400px; }

.wiki-hero-bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }

.wiki-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(0deg, var(--cine-bg) 0%, rgba(5, 6, 8, .8) 35%, rgba(5, 6, 8, .35) 75%, rgba(5, 6, 8, .65) 100%);
}

.wiki-hero-inner {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
    padding: 7rem var(--cine-gutter) 3rem;
}

.wiki-hero-title {
    margin: 0;
    font-family: "Caslon Antique", serif;
    font-weight: 400;
    font-size: clamp(2.75rem, 6.5vw, 5.5rem);
    line-height: 1;
    letter-spacing: .03em;
    color: var(--cine-ink);
}

.wiki-hero-lead {
    margin: 0;
    max-width: 680px;
    font-family: "IM Fell English", serif;
    font-size: clamp(1.1rem, 1.6vw, 1.35rem);
    line-height: 1.5;
    color: var(--cine-text);
}

.wiki-hero-meta { margin: 0; font-size: .875rem; color: var(--cine-faint); }

.wiki-jump { display: flex; flex-wrap: wrap; gap: .5rem; }
.wiki-jump a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 1rem; border: 1px solid rgba(241, 236, 226, .2); border-radius: 999px; background: rgba(5, 6, 8, .4); font-size: .875rem; font-weight: 600; color: var(--cine-text); transition: border-color .15s ease, color .15s ease; }
.wiki-jump a:hover { border-color: var(--cine-gold); color: var(--cine-ink); }
.wiki-index-category { scroll-margin-top: 5.5rem; }

.wiki-hero-edit { min-height: 44px; padding: 0 1.25rem; font-size: .9375rem; }

.wiki-crumbs { display: flex; align-items: center; gap: .6rem; font-size: .8125rem; font-weight: 700; letter-spacing: .3em; text-transform: uppercase; color: var(--cine-gold); }
.wiki-crumbs a { color: var(--cine-muted); }
.wiki-crumbs a:hover { color: var(--cine-ink); }
.wiki-crumbs span[aria-hidden] { color: var(--cine-faint); }

/* ------------------------------------------------------------------ recherche */

.wiki-search { position: relative; display: block; width: 100%; }
/* z-index : sans lui, le champ (qui suit l'icône et a un flou d'arrière-plan) la recouvrait. */
.wiki-search svg { position: absolute; z-index: 1; left: 1rem; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); fill: none; stroke: var(--cine-muted); stroke-width: 2; pointer-events: none; }
.wiki-search input {
    width: 100%;
    min-height: 48px;
    padding: 0 1rem 0 2.75rem;
    border: 1px solid rgba(241, 236, 226, .2) !important;
    border-radius: 999px;
    background: rgba(5, 6, 8, .55) !important;
    color: var(--cine-ink);
    font-size: .9375rem;
}
.wiki-search input:focus { border-color: var(--cine-gold) !important; box-shadow: 0 0 0 3px rgba(232, 176, 75, .18) !important; }
.wiki-search input::placeholder { color: var(--cine-faint) !important; }
.wiki-search input::-webkit-search-cancel-button { filter: invert(1); opacity: .5; }

.wiki-search-hero { max-width: 560px; margin-top: .5rem; }
.wiki-search-hero input { min-height: 56px; font-size: 1.0625rem; backdrop-filter: blur(8px); }

/* ------------------------------------------------------------------ accueil du wiki : les cartes */

.wiki-index { max-width: 1600px; margin: 0 auto; padding: 2rem var(--cine-gutter) 6rem; display: flex; flex-direction: column; gap: 4rem; }

.wiki-index-head { display: flex; align-items: baseline; gap: 1rem; margin-bottom: 1.5rem; padding-bottom: .9rem; border-bottom: 1px solid var(--cine-line); }

.wiki-h2 { margin: 0; font-family: "Caslon Antique", serif; font-weight: 400; font-size: clamp(2rem, 3.5vw, 2.75rem); letter-spacing: .03em; color: var(--cine-ink); }

.wiki-count { font-size: .8125rem; color: var(--cine-faint); }

.wiki-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; }

.wiki-card {
    position: relative;
    display: flex;
    align-items: flex-end;
    aspect-ratio: 3 / 4;
    border-radius: 18px;
    overflow: hidden;
    isolation: isolate;
    background: #11131a;
    border: 1px solid var(--cine-line);
    transition: border-color .25s ease, transform .25s ease;
}
.wiki-card:hover { border-color: rgba(232, 176, 75, .55); transform: translateY(-3px); }

/* Les pages du wiki sont des parchemins : on en montre le haut, là où se trouve leur titre. */
.wiki-card-img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .6s ease; }
.wiki-card:hover .wiki-card-img { transform: scale(1.04); }
.wiki-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(5, 6, 8, .96) 0%, rgba(5, 6, 8, .6) 38%, rgba(5, 6, 8, 0) 70%); }

.wiki-card-empty { position: absolute; inset: 0; z-index: -2; display: flex; align-items: center; justify-content: center; padding-bottom: 30%; font-family: "Caslon Antique", serif; font-size: 5rem; color: rgba(232, 176, 75, .25); }

.wiki-card-body { display: flex; flex-direction: column; gap: .35rem; padding: 1.25rem; }
.wiki-card-title { font-family: "IM Fell English", serif; font-size: 1.5rem; line-height: 1.1; color: var(--cine-ink); }
.wiki-card-text { font-size: .875rem; line-height: 1.45; color: #c9c2b4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.wiki-card-pages { font-size: .75rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--cine-gold); }

.wiki-empty-search { margin: 0; text-align: center; font-family: "IM Fell English", serif; font-size: 1.25rem; color: var(--cine-muted); }

/* ------------------------------------------------------------------ une entrée : menu + contenu */

.wiki-layout {
    max-width: 1600px;
    margin: 0 auto;
    padding: 2rem var(--cine-gutter) 6rem;
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 3rem;
    align-items: start;
}

.wiki-sidebar { position: sticky; top: 6rem; display: flex; flex-direction: column; gap: .35rem; max-height: calc(100vh - 7rem); overflow-y: auto; padding-right: .25rem; }
.wiki-sidebar .wiki-search { margin-bottom: 1rem; }

.wiki-nav-toggle {
    display: flex;
    align-items: center;
    gap: .6rem;
    width: 100%;
    min-height: 44px;
    padding: 0 .75rem;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: var(--cine-ink);
    font-family: "Caslon Antique", serif;
    font-size: 1.2rem;
    text-align: left;
}
.wiki-nav-toggle:hover { background: rgba(241, 236, 226, .06); }
.wiki-nav-toggle > span:first-of-type { flex: 1; }

.wiki-chevron { width: 14px; height: 14px; flex: none; fill: none; stroke: var(--cine-faint); stroke-width: 2; transition: transform .2s ease; }
.wiki-chevron.rotate-90 { transform: rotate(90deg); }

.wiki-nav-list { display: flex; flex-direction: column; gap: 2px; margin: .15rem 0 .6rem 1.35rem; padding-left: .75rem; border-left: 1px solid var(--cine-line); }

.wiki-nav-link { display: block; padding: .5rem .75rem; border-radius: 10px; font-size: .9375rem; color: var(--cine-muted); transition: background .15s ease, color .15s ease; }
.wiki-nav-link:hover { background: rgba(241, 236, 226, .06); color: var(--cine-ink); }
.wiki-nav-link.is-active { background: rgba(232, 176, 75, .14); color: var(--cine-gold); font-weight: 600; }

.wiki-mobile-toggle { display: none; }

.wiki-entry { display: flex; flex-direction: column; align-items: center; gap: 1.5rem; min-width: 0; }
.wiki-entry > * { width: 100%; max-width: 860px; }

.wiki-tabs { display: flex; gap: .5rem; overflow-x: auto; padding-bottom: .25rem; }
.wiki-tab { flex: none; display: inline-flex; align-items: center; min-height: 40px; padding: 0 1.1rem; border-radius: 999px; border: 1px solid rgba(241, 236, 226, .2); font-size: .875rem; font-weight: 600; color: var(--cine-muted); transition: border-color .15s ease, color .15s ease; }
.wiki-tab:hover { border-color: rgba(241, 236, 226, .5); color: var(--cine-ink); }
.wiki-tab.is-active { background: var(--cine-gold); border-color: var(--cine-gold); color: #140f05; }

.wiki-page { margin: 0; background: transparent; }
.wiki-page img { display: block; width: 100%; height: auto; }

.wiki-next-page { align-self: center; width: auto !important; }

.wiki-muted { margin: 0; color: var(--cine-faint); }

.wiki-pager { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--cine-line); }
.wiki-pager-link { display: flex; flex-direction: column; gap: .3rem; padding: 1.1rem 1.25rem; border-radius: 16px; border: 1px solid var(--cine-line); transition: border-color .2s ease, background .2s ease; }
.wiki-pager-link:hover { border-color: rgba(232, 176, 75, .5); background: rgba(232, 176, 75, .05); }
.wiki-pager-link.is-next { grid-column: 2; text-align: right; }
.wiki-pager-dir { font-size: .75rem; font-weight: 700; letter-spacing: .25em; text-transform: uppercase; color: var(--cine-gold); }
.wiki-pager-title { font-family: "IM Fell English", serif; font-size: 1.3rem; color: var(--cine-ink); }

/* Le contenu riche d'une entrée (écrit dans l'éditeur de l'administration). */
.wiki-prose { color: var(--cine-text); line-height: 1.75; font-size: 1.0625rem; overflow-wrap: anywhere; }
.wiki-prose > * + * { margin-top: 1rem; }
.wiki-prose h1, .wiki-prose h2, .wiki-prose h3, .wiki-prose h4 { font-weight: 400; line-height: 1.2; margin-top: 2rem; color: var(--cine-ink); }
.wiki-prose h1, .wiki-prose h2 { font-family: "Caslon Antique", serif; }
.wiki-prose h1 { font-size: 2.25rem; }
.wiki-prose h2 { font-size: 1.85rem; padding-bottom: .4rem; border-bottom: 1px solid var(--cine-line); }
.wiki-prose h3 { font-family: "IM Fell English", serif; font-size: 1.45rem; color: var(--cine-gold); }
.wiki-prose h4 { font-size: 1.1rem; font-weight: 700; }
.wiki-prose a { color: var(--cine-gold); text-decoration: underline; text-underline-offset: 3px; }
.wiki-prose ul { list-style: disc; padding-left: 1.5rem; }
.wiki-prose ol { list-style: decimal; padding-left: 1.5rem; }
.wiki-prose li + li { margin-top: .3rem; }
.wiki-prose blockquote { margin-left: 0; padding: .9rem 1.25rem; border-radius: 12px; background: rgba(232, 176, 75, .07); font-family: "IM Fell English", serif; font-size: 1.2rem; font-style: italic; color: var(--cine-text); }
.wiki-prose hr { border: 0; height: 1px; background: var(--cine-line); margin: 2rem 0; }
.wiki-prose img { max-width: 100%; height: auto; border-radius: 14px; }
.wiki-prose table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.wiki-prose th, .wiki-prose td { border-bottom: 1px solid var(--cine-line); padding: .6rem .75rem; text-align: left; }
.wiki-prose th { color: var(--cine-ink); font-weight: 700; }
.wiki-prose figcaption { color: var(--cine-faint); font-size: .85rem; text-align: center; margin-top: .4rem; }

/* ------------------------------------------------------------------ petits écrans */

@media (max-width: 1023px) {
    .wiki-layout { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; padding-top: 1rem; }

    .wiki-mobile-toggle {
        display: flex;
        align-items: center;
        gap: .6rem;
        min-height: 48px;
        padding: 0 1.1rem;
        border: 1px solid rgba(241, 236, 226, .2);
        border-radius: 999px;
        background: transparent;
        color: var(--cine-ink);
        font-weight: 600;
        justify-self: start;
    }

    .wiki-sidebar { display: none; }

    .wiki-sidebar.wiki-mobile-open {
        display: flex;
        /* Ancré sous le bouton qui l'ouvre (js/app.js écrit --wiki-menu-top) : la hauteur de l'en-tête peut changer. */
        position: fixed;
        left: 1rem;
        right: 1rem;
        top: var(--wiki-menu-top, 7.5rem);
        max-height: calc(100vh - var(--wiki-menu-top, 7.5rem) - 1rem);
        z-index: 40;
        padding: 1rem;
        border: 1px solid var(--cine-line);
        border-radius: 18px;
        background: rgba(10, 11, 15, .97);
        box-shadow: 0 20px 50px rgba(0, 0, 0, .7);
        backdrop-filter: blur(12px);
    }
}

@media (max-width: 767px) {
    .wiki-hero { min-height: 440px; }
    .wiki-hero.is-entry { min-height: 340px; }
    .wiki-hero-inner { padding-top: 6rem; padding-bottom: 2rem; }
    .wiki-crumbs { font-size: .75rem; letter-spacing: .2em; }
    .wiki-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
    .wiki-card-body { padding: .9rem; }
    .wiki-card-title { font-size: 1.2rem; }
    .wiki-card-text { display: none; }
    .wiki-pager { grid-template-columns: minmax(0, 1fr); }
    .wiki-pager-link.is-next { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
    .wiki-card, .wiki-card-img, .wiki-chevron { transition: none; }
}

/* L'éditeur du wiki (celui de l'administration) ouvert en plein écran par-dessus la page publique. */
.wiki-editor-overlay { position: fixed; inset: 0; z-index: 250; overflow-y: auto; background: #000; }
.wiki-editor-overlay[hidden] { display: none; }
.wiki-editor-bar { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1.25rem; border-bottom: 1px solid #1f2937; background: rgba(2, 6, 23, .96); color: #fff; backdrop-filter: blur(8px); }
.wiki-editor-body { max-width: 1400px; margin: 0 auto; padding: 1.5rem 1rem 6rem; }

/* Bouton d'édition toujours accessible aux modérateurs et au-dessus. */
.wiki-edit-fab { position: fixed; right: 1rem; bottom: 1rem; z-index: var(--z-floating); box-shadow: 0 10px 30px rgba(0, 0, 0, .6); }
.wiki-transcript { margin:1.5rem auto; padding:1.25rem; max-width:850px; border:1px solid var(--cine-line); border-radius:12px; background:rgba(255,255,255,.025); }
.wiki-transcript h2 { margin:0 0 .5rem; color:var(--cine-gold); font-size:1.2rem; }
.wiki-transcript .wiki-muted { margin:.25rem 0 1rem; font-size:.85rem; }
.wiki-transcript div { white-space:pre-line; line-height:1.75; color:var(--cine-text); overflow-wrap:anywhere; }
