/* ══════════════════════════════════════════════════════════════════════════════
   LM Formentin TT5 — styles du site
   1. Structure FSE    2. Pages    3. Accueil    4. Pied de page
   5. Accessibilité    6. Surcharges Arsenal Opus (ex-plugin opus-lmf)
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── 1. Structure FSE ──────────────────────────────────────────────────────── */

/* Pas d'espace TT5 entre en-tête, contenu et pied de page */
.wp-site-blocks > main,
.wp-site-blocks > footer,
.wp-site-blocks > * + * { margin-block-start: 0; }

/* Pied de page collé en bas sur les pages courtes (remplace le « sticky footer » jQuery de Divi) */
.wp-site-blocks {
    min-height:     100vh;
    display:        flex;
    flex-direction: column;
}
.wp-site-blocks > main { flex: 1 0 auto; }

/* ── 2. Pages (Films, Théâtre, lettre d'information…) ─────────────────────── */

/* Mesures de Divi : titre à 40px sous l'en-tête, 75px avant le pied de page */
.lmf-main--page {
    --lmf-main-offset: 40px;  /* ajouté aux 64px de l'en-tête fixe (header.css) */
    padding-top:       40px;
    padding-bottom:    75px;
}
.lmf-main--page h1 {
    margin-top:    0;
    margin-bottom: 10px;
}
.lmf-main--page h1 + * { margin-block-start: 40px; }

.lmf-date {
    font-size: 15px;
    color:     #777777;
}

/* Fiches film / spectacle : Opus gère tout, en pleine largeur, sous l'en-tête fixe */
.lmf-main--fiche > .wp-block-shortcode,
.lmf-main--fiche > * { margin: 0; }

/* ── 3. Accueil : grande image plein écran sous l'en-tête transparent ────── */

.lmf-accueil-image.wp-block-cover {
    min-height: calc(100vh - 63px);
    padding:    0;
    margin:     0;
}
.lmf-main--accueil .wp-block-post-content > * { margin-block-start: 0; }

/* ── 4. Pied de page ───────────────────────────────────────────────────────── */

.lmf-footer {
    color:       #ffffff;
    font-family: var(--wp--preset--font-family--dm-sans);
}
.lmf-footer__inner {
    width:     80%;
    max-width: 1080px;
    margin:    0 auto;
}

/* Bandeau lettre d'information */
.lmf-footer__lettre {
    background: #3a3a3a;
    padding:    20px 0;
    text-align: center;
}
.lmf-footer__bouton {
    display:         inline-flex;
    align-items:     center;
    gap:             8px;
    font-size:       15px;
    font-weight:     500;
    line-height:     1.7;
    color:           #ffffff;
    text-decoration: none;
    padding:         4.5px 10.5px;
    border:          1px solid #3a3a3a;
    border-radius:   3px;
    transition:      color .3s, background-color .3s, border-color .3s;
}
.lmf-footer__bouton:hover,
.lmf-footer__bouton:focus-visible {
    color:            #000000;
    background-color: #ffffff;
    border-color:     #ffffff;
}
.lmf-footer__icone { flex-shrink: 0; }

/* Ligne copyright / crédit */
.lmf-footer__bas {
    background: #111111;
    padding:    15px 0;
}
.lmf-footer__ligne {
    display:         flex;
    justify-content: space-between;
    gap:             1rem;
}
.lmf-footer__ligne p {
    margin:      0;
    font-size:   12px;
    line-height: 27px;
}
.lmf-footer__ligne a {
    color:           #ffffff;
    text-decoration: none;
}
@media (max-width: 980px) {
    .lmf-footer__ligne { display: block; }
}

/* ── 5. Accessibilité : anneau de focus au clavier uniquement ──────────────── */

a, button, summary, input, textarea, select, .wp-block-button__link { outline: none; }
a:focus-visible, button:focus-visible, summary:focus-visible,
input:focus-visible, textarea:focus-visible, select:focus-visible,
.wp-block-button__link:focus-visible {
    outline:        2px solid var(--wp--preset--color--accent-1);
    outline-offset: 2px;
}
/* Sur les fonds sombres (panneau du menu, pied de page) */
.ap-nav a:focus-visible, .ap-nav button:focus-visible,
.lmf-footer a:focus-visible {
    outline-color: #ffffff;
}

/* ── 6. Surcharges Arsenal Opus (ex-plugin opus-lmf, chargé après opus-front) ─ */
/* Polices désormais servies par le thème (fichiers locaux), plus par Google Fonts. */
/* ══════════════════════════════════════════════════════════════════════════════
   Opus LMF — front-surcharge.css
   Surcharges spécifiques à lmformentin.com
   Chargé APRÈS opus-front (front.css Arsenal)
   ══════════════════════════════════════════════════════════════════════════════ */


/* ── Variables ────────────────────────────────────────────────────────────── */
:root {
    --apf-accent: #2d6fa3;       /* bleu Formentin */
    --apf-serif:  'Cormorant Garamond', Georgia, serif;
}

/* ── Ajustements tailles Cormorant Garamond ──────────────────────────────── */

/* Vignette catalogue — no-img */
.ap-vignette__no-img span { font-size: 19px; }

/* Vignette catalogue — titre */
.ap-vignette__titre { font-size: 20px; }

/* Header fiche — titre principal */
.apf-header__titre { font-size: clamp(44px, 6vw, 86px); }

/* Header fiche — titre original */
.apf-header__titre-original { font-size: 22px; }

/* Résumé court */
.apf-resume { font-size: clamp(20px, 2.2vw, 25px); }

/* Note d'intention */
.apf-intention__texte { font-size: 19px; }
.apf-intention__texte { /* Rajouté en 06/26 */
    font-family: initial;
    font-size: 16px;
    border-left: none;
    padding-left: 0;
}

/* Liens projections */
.apf-projection__lieu a { text-decoration: none; }

/* Citations presse */
.apf-citation blockquote { font-size: clamp(19px, 2.2vw, 24px); }

/* Dates représentations */
.apf-date-item__date { font-size: 18px; }

/* DVD — titre */
.apf-dvd__titre { font-size: clamp(34px, 5vw, 58px); }

/* DVD — prix */
.apf-dvd__prix .woocommerce-Price-amount { font-size: 38px; }

/* DVDs catalogue — titre */
.apf-dvds__titre { font-size: clamp(34px, 5vw, 58px); }

/* DVDs catalogue — nom */
.apf-dvds__nom { font-size: 21px; }

/* Paragraphes des pages Opus : espacement de Divi (marge 0, padding-bottom 1em, sauf le dernier).
   :where() garde la règle faible : les règles de classe d'Opus gardent la priorité. */
:where(.apf) p {
    margin-top:     0;
    margin-bottom:  0;
    padding-bottom: 1em;
}
:where(.apf) p:last-of-type { padding-bottom: 0; }

/* Albums photo (pages privées) : sous-titre gris à côté du titre, comme sur Divi */
.lmf-album-sous-titre {
    font-size:    24px;
    color:        #cccccc;
    padding-left: 10px;
    margin-left:  10px;
}

/* ── Page 404 « hors champ. » ──────────────────────────────────────────────── */

.lmf-404 { min-height: 60vh; }
.lmf-404 .lmf-404__surtitre {
    margin:         0 0 16px;
    font-size:      11px;
    font-weight:    500;
    text-transform: uppercase;
    letter-spacing: .18em;
    color:          var(--wp--preset--color--accent-1);
}
.lmf-404 h1.lmf-404__titre {
    margin-block-start: 0;
    font-size:          clamp(44px, 6vw, 86px);   /* comme les titres des fiches Opus */
    line-height:        1.05;
}
.lmf-404 .lmf-404__texte {
    margin-block-start: 24px;
    font-family:        var(--wp--preset--font-family--cormorant);
    font-size:          clamp(20px, 2.2vw, 25px);
    font-weight:        300;
}
.lmf-404 .lmf-404__liens {
    list-style:  none;
    margin:      40px 0 0;
    padding:     0;
    display:     flex;
    flex-wrap:   wrap;
    gap:         12px 32px;
}
.lmf-404__liens a {
    font-size:       15px;
    font-weight:     500;
    letter-spacing:  .02em;
    color:           var(--wp--preset--color--contrast);
    text-decoration: none;
    border-bottom:   1px solid currentColor;
    padding-bottom:  2px;
    transition:      color .2s;
}
.lmf-404__liens a::after { content: ' →'; }
.lmf-404__liens a:hover  { color: var(--wp--preset--color--accent-1); }
