@charset "utf-8";

/* =============================== */
/* VARIABLES */
/* =============================== */
:root {
    --menu-height: 60px;
}

/* =============================== */
/* HEADER DESKTOP */
/* =============================== */
#header-desktop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--menu-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 40px;
    box-sizing: border-box;
    z-index: 99999;
    /* Très légère transparence : les images qui passent dessous au
       défilement restent devinables, sans gêner la lecture du menu. */
    background: rgba(255,255,255,0.85);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    isolation: isolate;
    transition: background 0.25s ease;
}

#header-desktop:hover {
    background: rgba(255,255,255,0.95);
}

/* =============================== */
/* LOGO DESKTOP */
/* =============================== */
#logo-desktop a {
    color: rgba(0,0,0, 0.85);
    text-decoration: none;
    font-weight: 300;
    font-size: 20px;
    letter-spacing: 1px;
    white-space: nowrap;
}

/* =============================== */
/* MENU DESKTOP */
/* =============================== */
#menu-desktop {
    display: none;
}

@media (min-width: 1200px) {

    #menu-desktop {
        display: flex;
        align-items: center;
        gap: 32px;
        margin-left: auto;
    }

    #menu-desktop a {
        color: rgba(0, 0, 0, 0.85);
        text-decoration: none;
        font-size: 18px;
        font-weight: 200;
        white-space: nowrap;
        padding: 6px 10px;
        border-radius: 4px;
        transition: 
            color 0.25s ease,
            background 0.25s ease;
    }

    #menu-desktop a:hover {
        color: #000;
        background: rgba(0,0,0,0.06);
	}
}

/* =============================== */
/* THÈME "HOME" (page d'accueil)   */
/* Reprend l'apparence de l'ancien  */
/* header.html/style-menu-home.css: */
/* fond transparent, s'assombrit    */
/* au survol, pour se superposer    */
/* aux visuels plein écran de la    */
/* page d'accueil. Activé via la    */
/* classe .theme-home, posée par    */
/* header-divise.js quand           */
/* <site-header-divise theme="home">*/
/* est utilisé.                     */
/* =============================== */

#header-desktop.theme-home {
    background: transparent;
    backdrop-filter: none;
    border-bottom: 0;
}

/* Le fond + flou au survol est posé sur un calque séparé (::before),
   placé derrière le texte, plutôt que directement sur #header-desktop.
   Appliquer le backdrop-filter directement sur l'élément qui contient
   le texte provoquait, lors du survol (activation du flou), un effet
   de "double texte" légèrement décalé (fantôme de 2-3px) : un artefact
   de rendu du navigateur au moment où le calque est recomposé pour le
   flou. En isolant le flou sur un calque vide derrière le texte, le
   texte lui-même n'est jamais recomposé, donc plus de dédoublement. */
#header-desktop.theme-home::before {
    content: "";
    position: absolute;
    inset: 0;
    background: transparent;
    backdrop-filter: none;
    transition: background 0.25s ease, backdrop-filter 0.25s ease;
    z-index: -1;
    pointer-events: none;
}

#header-desktop.theme-home:hover::before {
    background: rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(6px);
}

#header-desktop.theme-home #logo-desktop a {
    color: rgba(0, 0, 0, 0.85);
    font-weight: 200;
    font-size: 18px;
}

#header-desktop.theme-home #logo-desktop a:hover {
    color: #fff;
}

/* Uniquement les liens de premier niveau (pas ceux des     */
/* panneaux de sous-menu, qui gardent leur couleur crème sur */
/* fond sombre — un sélecteur trop large écrasait leur       */
/* couleur en noir, les rendant illisibles).                 */
#header-desktop.theme-home #menu-desktop > a,
#header-desktop.theme-home #menu-desktop > div > a {
    color: rgba(0, 0, 0, 0.85);
}

#header-desktop.theme-home #menu-desktop > a:hover,
#header-desktop.theme-home #menu-desktop > div > a:hover {
    color: #fff;
    background: rgba(0, 0, 0, 0.15);
}

/* =============================== */
/* PALIER RESSERRÉ 1200–1449px     */
/* Même logique que style-menu-home:*/
/* entre le seuil du menu et 1450px,*/
/* on resserre l'espacement pour    */
/* garder de la marge.              */
/* =============================== */

@media (min-width: 1200px) and (max-width: 1449px) {

    #header-desktop {
        padding: 0 24px;
    }

    #menu-desktop {
        gap: 18px;
    }

    #menu-desktop a {
        font-size: 16px;
        padding: 6px 6px;
    }
}

/* =============================== */
/* SOUS-MENUS DESKTOP */
/* =============================== */

/* A PROPOS */
#desktop-apropos {
    position: relative;
    display: flex;
    align-items: center;
    height: var(--menu-height);
}

#desktop-apropos-panel {
    display: none;
    position: absolute;
    top: calc(var(--menu-height) + 5px);
    left: 0;
    background: rgba(60, 60, 60, 0.85);
    backdrop-filter: blur(6px);
    padding: 18px;
    border-radius: 4px;
    min-width: 460px;
    z-index: 10001;
}

#desktop-apropos-panel::before {
    content: "";
    position: absolute;
    top: -5px;
    left: 0;
    width: 100%;
    height: 5px;
}

#desktop-apropos:hover #desktop-apropos-panel,
#desktop-apropos-panel:hover {
    display: block;
}

/* ECHOS DU JAPON */
#desktop-japon {
    position: relative;
    display: flex;
    align-items: center;
    height: var(--menu-height);
}

#desktop-japon-panel {
    display: none;
    position: absolute;
    top: calc(var(--menu-height) + 5px);
    left: 0;
    background: rgba(60, 60, 60, 0.85);
    backdrop-filter: blur(6px);
    padding: 18px;
    border-radius: 4px;
    min-width: 540px;
    z-index: 10001;
}

#desktop-japon-panel::before {
    content: "";
    position: absolute;
    top: -5px;
    left: 0;
    width: 100%;
    height: 5px;
}

#desktop-japon:hover #desktop-japon-panel,
#desktop-japon-panel:hover {
    display: block;
}

/* DENTELLES DE TERRE */
#desktop-dentelles {
    position: relative;
    display: flex;
    align-items: center;
    height: var(--menu-height);
}

#desktop-dentelles-panel {
    display: none;
    position: absolute;
    top: calc(var(--menu-height) + 5px);
    left: 0;
    background: rgba(60, 60, 60, 0.85);
    backdrop-filter: blur(6px);
    padding: 18px;
    border-radius: 4px;
    min-width: 400px;
    z-index: 10001;
}

#desktop-dentelles-panel::before {
    content: "";
    position: absolute;
    top: -5px;
    left: 0;
    width: 100%;
    height: 5px;
}

#desktop-dentelles:hover #desktop-dentelles-panel,
#desktop-dentelles-panel:hover {
    display: block;
}

/* Colonnes */
.desktop-line {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 24px;
    margin-bottom: 18px;
}

.desktop-line:last-child {
    margin-bottom: 0;
}

#desktop-apropos-panel a,
#desktop-japon-panel a,
#desktop-dentelles-panel a,
#menu-desktop .desktop-submenu-panel a {
    color: rgba(245, 238, 218, 0.85);
    text-decoration: none;
    font-size: 16px;
    font-weight: 200;
    padding: 6px 4px;
    border-radius: 3px;
    transition: background 0.25s ease, color 0.25s ease;
}

#desktop-apropos-panel a:hover,
#desktop-japon-panel a:hover,
#desktop-dentelles-panel a:hover,
#menu-desktop .desktop-submenu-panel a:hover {
    color: #fff;
    background: rgba(255,255,255,0.18);
}

/* =============================== */
/* SOUS-MENUS DESKTOP — GROUPES     */
/* CRÉÉS DEPUIS L'ADMIN (GÉNÉRIQUE) */
/* Les 3 groupes historiques ci-     */
/* dessus ont chacun leur propre id  */
/* (raisons historiques). Tout       */
/* nouveau groupe créé depuis        */
/* l'administration du menu utilise  */
/* uniquement ces classes            */
/* génériques, qui reproduisent le   */
/* même comportement (ouverture au   */
/* survol) sans avoir besoin d'une   */
/* règle CSS par groupe.             */
/* =============================== */
.desktop-submenu-group {
    position: relative;
    display: flex;
    align-items: center;
    height: var(--menu-height);
}

.desktop-submenu-panel {
    display: none;
    position: absolute;
    top: calc(var(--menu-height) + 5px);
    left: 0;
    background: rgba(60, 60, 60, 0.85);
    backdrop-filter: blur(6px);
    padding: 18px;
    border-radius: 4px;
    z-index: 10001;
}

.desktop-submenu-panel::before {
    content: "";
    position: absolute;
    top: -5px;
    left: 0;
    width: 100%;
    height: 5px;
}

.desktop-submenu-group:hover .desktop-submenu-panel,
.desktop-submenu-panel:hover {
    display: block;
}

/* =============================== */
/* CACHER LE HEADER DESKTOP EN MOBILE */
/* =============================== */
@media (min-width: 1200px) {
    #menu-desktop { display:flex; }
    #header-mobile-v2 { display:none !important; }
}

/* =============================== */
/* CACHER LE HEADER DESKTOP QUAND LE */
/* HEADER MOBILE PREND LE RELAIS     */
/* En dessous de 1200px, #header-mobile-v2 s'affiche par-dessus (son
   z-index est plus élevé) mais reste transparent : sans cette règle,
   le logo de #header-desktop restait visible en dessous et se
   superposait à celui du header mobile. Sur les pages "normales" les
   deux logos ont exactement la même police/taille, donc le doublon
   était invisible ; mais sur la page d'accueil (thème "home"), la
   police plus légère du logo desktop décale le rendu et rend ce
   doublon visible ("LAURENCE ALLART" dédoublé). */
/* =============================== */
@media (max-width: 1199px) {
    #header-desktop { display: none !important; }
}

/* =============================== */
/* SOUS-MENU « LES CARNETS »       */
/* Titre placé près du bord droit  */
/* de l'écran : son panneau s'ouvre*/
/* vers la gauche (aligné sur le   */
/* bord droit du titre), et ses    */
/* sous-titres d'une même ligne    */
/* s'alignent tous côte à côte     */
/* (4 sur une ligne), au lieu de   */
/* la grille de 3 colonnes.        */
/* =============================== */
#desktop-les-carnets-panel,
.desktop-submenu-group:has(> a[href="oeuvre.php"]) .desktop-submenu-panel {
    left: auto;
    right: 0;
}
#desktop-les-carnets-panel .desktop-line,
.desktop-submenu-group:has(> a[href="oeuvre.php"]) .desktop-line {
    grid-auto-flow: column;
    grid-template-columns: none;
    grid-auto-columns: max-content;
    white-space: nowrap;
}
