/**
 * WP Radial Thumb Menu 1.4.12
 * Floating thumb launcher + scrollable hierarchical navigation.
 */

.wprtm-fab-root,
.wprtm-fab-root *,
.wprtm-overlay,
.wprtm-overlay * { box-sizing: border-box; }

.wprtm-fab-root[hidden],
.wprtm-overlay[hidden] { display: none !important; }

body.wprtm-menu-open {
    overflow: hidden !important;
    overscroll-behavior: none;
}

/* Floating L navigation --------------------------------------------------- */
.wprtm-fab-root {
    position: fixed;
    right: calc(var(--wprtm-right, 18px) + env(safe-area-inset-right, 0px));
    bottom: calc(var(--wprtm-bottom, 18px) + env(safe-area-inset-bottom, 0px));
    width: var(--wprtm-button-size, 58px);
    height: var(--wprtm-button-size, 58px);
    z-index: var(--wprtm-z, 99990);
    pointer-events: none;
    isolation: isolate;
    font-family: var(--wprtm-font, inherit);
    -webkit-tap-highlight-color: transparent;
    transition: transform var(--wprtm-retreat-duration, 1500ms) var(--wprtm-retreat-easing, cubic-bezier(.16,1,.3,1));
}

.wprtm-fab-root[data-handedness="left"] {
    right: auto;
    left: calc(var(--wprtm-left, 18px) + env(safe-area-inset-left, 0px));
}

/* Position déployée : les boutons naissent directement ici, sans saut depuis le centre. */
.wprtm-fab-root[data-handedness="right"],
.wprtm-fab-root[data-handedness="left"] {
    transform: translate3d(0,0,0);
}

.wprtm-fab {
    --wprtm-disc-bg: var(--wprtm-local-button-bg, var(--wprtm-button-bg, #0b2e4f));
    --wprtm-disc-fg: var(--wprtm-local-button-fg, var(--wprtm-button-fg, #fff));
    position: absolute;
    inset: 0;
    display: block;
    width: var(--wprtm-button-size, 58px);
    height: var(--wprtm-button-size, 58px);
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    pointer-events: auto;
    opacity: 0;
    /* Toujours à la coordonnée finale : l'introduction ne déplace plus jamais les boutons. */
    transform: translate3d(var(--wprtm-offset-x,0), var(--wprtm-offset-y,0), 0) scale(1) rotate(0deg);
    transform-origin: 50% 50%;
    /* Intro = opacity only. Position is immutable until the collective retreat. */
    transition-property: opacity;
    transition-timing-function: ease;
    touch-action: manipulation;
    appearance: none;
    -webkit-appearance: none;
}

.wprtm-fab-root[data-handedness="left"] .wprtm-fab {
    transform: translate3d(calc(-1 * var(--wprtm-offset-x,0px)), var(--wprtm-offset-y,0), 0) scale(1) rotate(0deg);
}

.wprtm-fab-root.is-first-visit .wprtm-fab {
    transition-duration: var(--wprtm-first-duration, 820ms);
    transition-delay: var(--wprtm-delay-first, 0ms);
}
.wprtm-fab-root.is-repeat-visit .wprtm-fab {
    transition-duration: var(--wprtm-repeat-duration, 520ms);
    transition-delay: var(--wprtm-delay-repeat, 0ms);
}

.wprtm-fab-root.is-ready .wprtm-fab {
    /* Only opacity changes here. Transform remains exactly the base transform. */
    opacity: 1;
}

.wprtm-fab__disc {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50%;
    background: var(--wprtm-disc-bg);
    color: var(--wprtm-disc-fg);
    box-shadow: var(--wprtm-button-shadow, 0 4px 8px rgba(0,0,0,.18), 0 16px 24px rgba(0,0,0,.24), 0 28px 46px rgba(0,0,0,.16));
    transform: translate3d(0,-3px,0);
    transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

.wprtm-fab::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 16%; right: 16%; bottom: -9px;
    height: 12px;
    border-radius: 50%;
    background: rgba(0,0,0,.26);
    filter: blur(7px);
    opacity: .72;
    pointer-events: none;
}

.wprtm-fab:active .wprtm-fab__disc { transform: translate3d(0,-1px,0) scale(.93); }

.wprtm-icon {
    display: block;
    width: 45%;
    height: 45%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none;
}

/* SVG de position rendu comme masque monochrome : la couleur = currentColor. */
.wprtm-icon--mask {
    width: 52%;
    height: 52%;
    background: currentColor;
    -webkit-mask-image: var(--wprtm-icon-url);
    mask-image: var(--wprtm-icon-url);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* Le Menu Pouce se miroir automatiquement pour le mode gaucher. */
.wprtm-fab-root[data-handedness="left"] .wprtm-fab--corner .wprtm-launcher-icon--menu .wprtm-icon--mask {
    transform: scaleX(-1);
}

/* V1.4.12 — colonne droite alignée sur le bord droit de l’étiquette Menu.
 * - les libellés verticaux partagent le même bord droit et le texte est aligné à gauche ;
 * - Accueil et Contact restent inchangés ;
 * - le bouton d’angle reçoit provisoirement une capsule de test. */
.wprtm-fab__label {
    --wprtm-label-shift: calc((var(--wprtm-button-size,58px) * .25) + 3px);
    --wprtm-label-extra-x: 0px;
    position: absolute;
    display: inline-block;
    max-width: min(42vw,170px);
    min-height: 22px;
    padding: 4px 10px;
    border: 1.5px solid var(--wprtm-local-button-fg, var(--wprtm-button-fg,#fff));
    border-radius: 999px;
    background: color-mix(in srgb, var(--wprtm-local-button-bg, var(--wprtm-button-bg,#0b2e4f)) 94%, transparent);
    color: var(--wprtm-local-button-fg, var(--wprtm-button-fg,#fff));
    box-shadow: 0 3px 10px rgba(0,0,0,.16);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    text-shadow: none;
    font-size: clamp(10.5px,2.55vw,12px);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: .01em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 0;
    pointer-events: none;
    top: 0;
    transition-property: opacity, transform;
    transition-duration: 180ms, 220ms;
    transition-timing-function: ease, cubic-bezier(.2,.82,.22,1);
    transition-delay: 0ms, 0ms;
}

/* Réglage fin par slot — échelle demandée : 1 diamètre = 3.7 unités.
 * 1 unité = var(--wprtm-button-size) / 3.7.
 * Déplacements vers la droite demandés :
 * - Test       : 0.57u ≈ 8.9px
 * - Discussion : 1.49u ≈ 23.4px
 * - Haut de page / Menu : 1.39u ≈ 21.8px */
.wprtm-fab[data-wprtm-slot="corner"] .wprtm-fab__label { --wprtm-label-extra-x: calc(var(--wprtm-button-size,58px) * 0.154054); }
.wprtm-fab[data-wprtm-slot="up-1"] .wprtm-fab__label { --wprtm-label-extra-x: calc(var(--wprtm-button-size,58px) * 0.402703); }
.wprtm-fab[data-wprtm-slot="up-2"] .wprtm-fab__label,
.wprtm-fab[data-wprtm-slot="up-3"] .wprtm-fab__label { --wprtm-label-extra-x: calc(var(--wprtm-button-size,58px) * 0.375676); }

/* Colonne verticale (Menu / Haut de page / Discussion) : même bord droit, texte aligné à gauche. */
.wprtm-fab-root[data-handedness="right"] .wprtm-fab[data-wprtm-slot="up-1"] .wprtm-fab__label,
.wprtm-fab-root[data-handedness="right"] .wprtm-fab[data-wprtm-slot="up-2"] .wprtm-fab__label,
.wprtm-fab-root[data-handedness="right"] .wprtm-fab[data-wprtm-slot="up-3"] .wprtm-fab__label {
    left: auto;
    right: calc(100% - var(--wprtm-label-shift));
    transform: translate3d(var(--wprtm-label-extra-x), calc(-50% + 6px), 0);
    text-align: left;
}
.wprtm-fab-root[data-handedness="left"] .wprtm-fab[data-wprtm-slot="up-1"] .wprtm-fab__label,
.wprtm-fab-root[data-handedness="left"] .wprtm-fab[data-wprtm-slot="up-2"] .wprtm-fab__label,
.wprtm-fab-root[data-handedness="left"] .wprtm-fab[data-wprtm-slot="up-3"] .wprtm-fab__label {
    left: calc(100% - var(--wprtm-label-shift));
    right: auto;
    transform: translate3d(var(--wprtm-label-extra-x), calc(-50% + 6px), 0);
    text-align: left;
}

/* Rangée basse inchangée pour Accueil et Contact ; le corner de test utilise la même logique. */
.wprtm-fab-root[data-handedness="right"] .wprtm-fab[data-wprtm-slot="left-2"] .wprtm-fab__label,
.wprtm-fab-root[data-handedness="right"] .wprtm-fab[data-wprtm-slot="left-1"] .wprtm-fab__label,
.wprtm-fab-root[data-handedness="right"] .wprtm-fab[data-wprtm-slot="corner"] .wprtm-fab__label {
    left: 50%;
    right: auto;
    text-align: center;
    transform: translate3d(calc(-50% - var(--wprtm-label-shift) + var(--wprtm-label-extra-x)), calc(-50% + 6px), 0);
}
.wprtm-fab-root[data-handedness="left"] .wprtm-fab[data-wprtm-slot="left-2"] .wprtm-fab__label,
.wprtm-fab-root[data-handedness="left"] .wprtm-fab[data-wprtm-slot="left-1"] .wprtm-fab__label,
.wprtm-fab-root[data-handedness="left"] .wprtm-fab[data-wprtm-slot="corner"] .wprtm-fab__label {
    left: 50%;
    right: auto;
    text-align: center;
    transform: translate3d(calc(-50% + var(--wprtm-label-shift) - var(--wprtm-label-extra-x)), calc(-50% + 6px), 0);
}

/* Apparition séquencée régulière de haut en bas. */
.wprtm-fab-root.is-first-visit.labels-visible .wprtm-fab__label {
    transition-delay: var(--wprtm-label-delay-first, 0ms), var(--wprtm-label-delay-first, 0ms);
}
.wprtm-fab-root.is-repeat-visit.labels-visible .wprtm-fab__label {
    transition-delay: var(--wprtm-label-delay-repeat, 0ms), var(--wprtm-label-delay-repeat, 0ms);
}
.wprtm-fab-root.labels-visible .wprtm-fab__label { opacity: 1 !important; }
.wprtm-fab-root.labels-visible[data-handedness="right"] .wprtm-fab[data-wprtm-slot="up-1"] .wprtm-fab__label,
.wprtm-fab-root.labels-visible[data-handedness="right"] .wprtm-fab[data-wprtm-slot="up-2"] .wprtm-fab__label,
.wprtm-fab-root.labels-visible[data-handedness="right"] .wprtm-fab[data-wprtm-slot="up-3"] .wprtm-fab__label,
.wprtm-fab-root.labels-visible[data-handedness="left"] .wprtm-fab[data-wprtm-slot="up-1"] .wprtm-fab__label,
.wprtm-fab-root.labels-visible[data-handedness="left"] .wprtm-fab[data-wprtm-slot="up-2"] .wprtm-fab__label,
.wprtm-fab-root.labels-visible[data-handedness="left"] .wprtm-fab[data-wprtm-slot="up-3"] .wprtm-fab__label {
    transform: translate3d(var(--wprtm-label-extra-x), -50%, 0) !important;
}
.wprtm-fab-root.labels-visible[data-handedness="right"] .wprtm-fab[data-wprtm-slot="left-2"] .wprtm-fab__label,
.wprtm-fab-root.labels-visible[data-handedness="right"] .wprtm-fab[data-wprtm-slot="left-1"] .wprtm-fab__label,
.wprtm-fab-root.labels-visible[data-handedness="right"] .wprtm-fab[data-wprtm-slot="corner"] .wprtm-fab__label {
    transform: translate3d(calc(-50% - var(--wprtm-label-shift) + var(--wprtm-label-extra-x)), -50%, 0) !important;
}
.wprtm-fab-root.labels-visible[data-handedness="left"] .wprtm-fab[data-wprtm-slot="left-2"] .wprtm-fab__label,
.wprtm-fab-root.labels-visible[data-handedness="left"] .wprtm-fab[data-wprtm-slot="left-1"] .wprtm-fab__label,
.wprtm-fab-root.labels-visible[data-handedness="left"] .wprtm-fab[data-wprtm-slot="corner"] .wprtm-fab__label {
    transform: translate3d(calc(-50% + var(--wprtm-label-shift) - var(--wprtm-label-extra-x)), -50%, 0) !important;
}

@media (hover:hover) and (pointer:fine) {



    .wprtm-fab:hover .wprtm-fab__disc {
        transform: translate3d(0,-5px,0) scale(1.035);
        filter: brightness(1.07);
    }
    /* Sur ordinateur uniquement : un seul libellé, celui du bouton réellement survolé. */
    .wprtm-fab-root:not(.labels-visible):not(.is-intro-running) .wprtm-fab:hover .wprtm-fab__label { opacity: 1 !important; }
    .wprtm-fab-root:not(.labels-visible):not(.is-intro-running)[data-handedness="right"] .wprtm-fab[data-wprtm-slot="up-1"]:hover .wprtm-fab__label,
    .wprtm-fab-root:not(.labels-visible):not(.is-intro-running)[data-handedness="right"] .wprtm-fab[data-wprtm-slot="up-2"]:hover .wprtm-fab__label,
    .wprtm-fab-root:not(.labels-visible):not(.is-intro-running)[data-handedness="right"] .wprtm-fab[data-wprtm-slot="up-3"]:hover .wprtm-fab__label,
    .wprtm-fab-root:not(.labels-visible):not(.is-intro-running)[data-handedness="left"] .wprtm-fab[data-wprtm-slot="up-1"]:hover .wprtm-fab__label,
    .wprtm-fab-root:not(.labels-visible):not(.is-intro-running)[data-handedness="left"] .wprtm-fab[data-wprtm-slot="up-2"]:hover .wprtm-fab__label,
    .wprtm-fab-root:not(.labels-visible):not(.is-intro-running)[data-handedness="left"] .wprtm-fab[data-wprtm-slot="up-3"]:hover .wprtm-fab__label { transform: translate3d(var(--wprtm-label-extra-x), -50%, 0) !important; }
    .wprtm-fab-root:not(.labels-visible):not(.is-intro-running)[data-handedness="right"] .wprtm-fab[data-wprtm-slot="left-2"]:hover .wprtm-fab__label,
    .wprtm-fab-root:not(.labels-visible):not(.is-intro-running)[data-handedness="right"] .wprtm-fab[data-wprtm-slot="left-1"]:hover .wprtm-fab__label,
    .wprtm-fab-root:not(.labels-visible):not(.is-intro-running)[data-handedness="right"] .wprtm-fab[data-wprtm-slot="corner"]:hover .wprtm-fab__label { transform: translate3d(calc(-50% - var(--wprtm-label-shift) + var(--wprtm-label-extra-x)), -50%, 0) !important; }
    .wprtm-fab-root:not(.labels-visible):not(.is-intro-running)[data-handedness="left"] .wprtm-fab[data-wprtm-slot="left-2"]:hover .wprtm-fab__label,
    .wprtm-fab-root:not(.labels-visible):not(.is-intro-running)[data-handedness="left"] .wprtm-fab[data-wprtm-slot="left-1"]:hover .wprtm-fab__label,
    .wprtm-fab-root:not(.labels-visible):not(.is-intro-running)[data-handedness="left"] .wprtm-fab[data-wprtm-slot="corner"]:hover .wprtm-fab__label { transform: translate3d(calc(-50% + var(--wprtm-label-shift) - var(--wprtm-label-extra-x)), -50%, 0) !important; }
}

.wprtm-fab:focus-visible,
.wprtm-close:focus-visible,
.wprtm-tree-link:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--wprtm-accent,#7c3aed) 72%, white);
    outline-offset: 4px;
}

/* Retrait collectif ------------------------------------------------------- */
.wprtm-fab-root.is-retreated[data-handedness="right"] {
    transform: translate3d(
        calc(var(--wprtm-right,18px) + (var(--wprtm-button-size,58px) * var(--wprtm-retreat-fraction,.25))),
        calc(var(--wprtm-bottom,18px) + (var(--wprtm-button-size,58px) * var(--wprtm-retreat-fraction,.25))),0);
}
.wprtm-fab-root.is-retreated[data-handedness="left"] {
    transform: translate3d(
        calc(-1 * (var(--wprtm-left,18px) + (var(--wprtm-button-size,58px) * var(--wprtm-retreat-fraction,.25)))),
        calc(var(--wprtm-bottom,18px) + (var(--wprtm-button-size,58px) * var(--wprtm-retreat-fraction,.25))),0);
}

/* Launcher corner -------------------------------------------------------- */
.wprtm-fab[data-wprtm-launcher-toggle] { z-index: 30; }
.wprtm-launcher-icon {
    position: absolute; inset: 0; display: grid; place-items: center;
    transition: opacity 180ms ease, transform 260ms cubic-bezier(.2,.82,.22,1);
}
.wprtm-launcher-icon .wprtm-icon { width: 43%; height: 43%; }
.wprtm-launcher-icon--menu { opacity: 0; transform: scale(.55) rotate(-55deg); }
.wprtm-launcher-icon--menu .wprtm-icon--mask { width: 58%; height: 58%; }
.wprtm-launcher-icon--close { opacity: 1; transform: scale(1); }
.wprtm-fab-root.is-collapsed .wprtm-launcher-icon--menu { opacity: 1; transform: scale(1); }
.wprtm-fab-root.is-collapsed .wprtm-launcher-icon--close { opacity: 0; transform: scale(.55) rotate(65deg); }

.wprtm-fab-root.is-collapsed .wprtm-fab:not([data-wprtm-launcher-toggle]) {
    opacity: 0 !important;
    pointer-events: none;
    transform: translate3d(0,0,0) scale(.16) rotate(-70deg) !important;
    transition-delay: 0ms !important;
    transition-duration: 360ms !important;
}
.wprtm-fab-root.is-collapsed .wprtm-fab:not([data-wprtm-launcher-toggle])::after { opacity: 0; }
.wprtm-fab-root.is-collapsed .wprtm-fab__label { opacity: 0 !important; }
.wprtm-fab[data-wprtm-launcher-toggle].is-nudging .wprtm-fab__disc {
    animation: wprtm-launcher-nudge var(--wprtm-nudge-duration,720ms) cubic-bezier(.2,.82,.22,1) both;
}

/* Full-screen menu ------------------------------------------------------- */
.wprtm-overlay {
    position: fixed;
    inset: 0;
    z-index: calc(var(--wprtm-z,99990) + 10);
    color: var(--wprtm-menu-text,#fff);
    font-family: var(--wprtm-font,inherit);
    visibility: hidden;
    pointer-events: none;
}
.wprtm-overlay.is-mounted { visibility: visible; }
.wprtm-overlay.is-open { pointer-events: auto; }

.wprtm-overlay__surface {
    position: absolute;
    inset: 0;
    background: var(--wprtm-menu-bg,var(--wprtm-overlay-bg,rgba(119,119,119,.70)));
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    clip-path: circle(0 at var(--wprtm-origin-x, calc(100% - 30px)) var(--wprtm-origin-y, calc(100% - 30px)));
    transition: clip-path var(--wprtm-overlay-duration,900ms) cubic-bezier(.22,.82,.22,1);
}
.wprtm-overlay.is-open .wprtm-overlay__surface {
    clip-path: circle(150vmax at var(--wprtm-origin-x, calc(100% - 30px)) var(--wprtm-origin-y, calc(100% - 30px)));
    /* L’ouverture est volontairement plus lente; la fermeture conserve son rythme actuel. */
    transition-duration: var(--wprtm-overlay-open-duration,1300ms);
    transition-timing-function: cubic-bezier(.32,0,.2,1);
}

.wprtm-list-stage {
    position: absolute;
    inset: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    padding:
        calc(var(--wprtm-menu-pad-top,88px) + env(safe-area-inset-top,0px))
        max(22px, env(safe-area-inset-right,0px))
        calc(var(--wprtm-menu-pad-bottom,110px) + env(safe-area-inset-bottom,0px))
        max(22px, env(safe-area-inset-left,0px));
    opacity: 0;
    transform: translate3d(0,18px,0);
    transition: opacity 260ms ease, transform 340ms cubic-bezier(.22,1,.36,1);
}
.wprtm-overlay.is-content-visible .wprtm-list-stage { opacity: 1; transform: translate3d(0,0,0); }

.wprtm-list-head { max-width: 760px; margin: 0 auto 26px; padding-left: 4px; }
.wprtm-list-head__eyebrow { display: block; opacity: .62; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.wprtm-list-head__title { display: block; margin-top: 5px; font-size: clamp(26px,7vw,42px); line-height: 1.05; }

.wprtm-tree { max-width: 760px; margin: 0 auto; }
.wprtm-tree ul { list-style: none; margin: 0; padding: 0; }
.wprtm-tree__group { position: relative; margin: 0 0 18px; }
.wprtm-tree__group + .wprtm-tree__group { padding-top: 12px; }

.wprtm-tree__children {
    position: relative;
    margin-left: calc(var(--wprtm-root-bullet-size,18px) / 2);
    padding-left: 28px !important;
}
.wprtm-tree__children::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: calc(var(--wprtm-menu-item-height,54px) / 2);
    width: 2px;
    border-radius: 2px;
    background: var(--wprtm-menu-line,rgba(255,255,255,.3));
}
.wprtm-tree__children .wprtm-tree__children {
    margin-left: calc(var(--wprtm-child-bullet-size,12px) / 2);
    padding-left: 24px !important;
}

.wprtm-tree__item { position: relative; }
.wprtm-tree__item::before {
    content: "";
    position: absolute;
    left: -28px;
    top: calc(var(--wprtm-menu-item-height,54px) / 2);
    width: 28px;
    height: 2px;
    background: var(--wprtm-menu-line,rgba(255,255,255,.3));
}
.wprtm-tree__children .wprtm-tree__children > .wprtm-tree__item::before { left: -24px; width: 24px; }

.wprtm-tree-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: var(--wprtm-menu-item-height,54px);
    width: 100%;
    padding: 7px 8px 7px 0;
    color: var(--wprtm-menu-text,#fff);
    text-decoration: none;
    font-size: clamp(16px,4.4vw,22px);
    line-height: 1.18;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}
.wprtm-tree-link.is-root {
    min-height: calc(var(--wprtm-menu-item-height,54px) + 6px);
    font-size: clamp(19px,5.2vw,28px);
    font-weight: 760;
}
.wprtm-tree-link.depth-2 { font-size: clamp(15px,4vw,19px); opacity: .92; }
.wprtm-tree-link.depth-3,
.wprtm-tree-link.depth-4 { font-size: clamp(14px,3.8vw,18px); opacity: .82; }

.wprtm-tree-link__bullet {
    position: relative;
    z-index: 2;
    flex: 0 0 auto;
    width: var(--wprtm-child-bullet-size,12px);
    height: var(--wprtm-child-bullet-size,12px);
    border: 2px solid var(--wprtm-menu-bg,#11131b);
    border-radius: 50%;
    background: var(--wprtm-menu-child-bullet,var(--wprtm-button-bg,#0b2e4f));
    box-shadow: 0 0 0 2px var(--wprtm-menu-line,rgba(255,255,255,.3));
}
.wprtm-tree-link.is-root .wprtm-tree-link__bullet {
    width: var(--wprtm-root-bullet-size,18px);
    height: var(--wprtm-root-bullet-size,18px);
    background: var(--wprtm-menu-root-bullet,var(--wprtm-button-bg,#0b2e4f));
    box-shadow: 0 6px 20px rgba(0,0,0,.35), 0 0 0 3px color-mix(in srgb,var(--wprtm-menu-root-bullet,#7c3aed) 35%,transparent);
}
.wprtm-tree-link__content { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; justify-content: center; padding: 7px 0; }
.wprtm-tree-link__label { display: block; padding: 0; }
.wprtm-tree-link__description { display: block; margin-top: 4px; max-width: 62ch; color: currentColor; opacity: .66; font-size: .72em; font-weight: 450; line-height: 1.28; }
.wprtm-tree-link.is-root .wprtm-tree-link__description { font-size: .62em; opacity: .7; }
@media (hover:hover) and (pointer:fine) { .wprtm-tree-link:hover { background: rgba(255,255,255,.055); border-radius: 14px; } }
.wprtm-tree__item.is-current > .wprtm-tree-link,
.wprtm-tree__group.is-current > .wprtm-tree-link,
.wprtm-tree-link[aria-current="page"] { color: var(--wprtm-menu-current,#a78bfa); }
.wprtm-tree-link[aria-current="page"] .wprtm-tree-link__bullet { background: var(--wprtm-menu-root-bullet,var(--wprtm-button-bg,#0b2e4f)); }
.wprtm-tree-link:active { transform: translateX(3px); }

.wprtm-close {
    position: absolute;
    right: calc(18px + env(safe-area-inset-right,0px));
    bottom: calc(18px + env(safe-area-inset-bottom,0px));
    z-index: 20;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 58px;
    height: 58px;
    padding: 0 17px;
    border: 0;
    border-radius: 999px;
    background: var(--wprtm-close-bg,#fff);
    color: var(--wprtm-close-fg,#11131b);
    box-shadow: 0 10px 32px rgba(0,0,0,.3);
    cursor: pointer;
    opacity: 0;
    transform: translate3d(0,18px,0) scale(.86);
    transition: opacity 220ms ease, transform 300ms cubic-bezier(.22,1,.36,1);
}
.wprtm-close .wprtm-icon { width: 22px; height: 22px; }
.wprtm-close__label { font-size: 13px; font-weight: 750; }
.wprtm-overlay.is-content-visible .wprtm-close { opacity: 1; transform: translate3d(0,0,0) scale(1); }

.wprtm-menu-empty {
    max-width: 540px;
    margin: 15vh auto 0;
    padding: 18px 20px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 18px;
    background: rgba(255,255,255,.07);
    color: var(--wprtm-menu-text,#fff);
    line-height: 1.5;
}

body.wprtm-menu-open .wprtm-fab-root { opacity: 0; pointer-events: none; transition: opacity 150ms ease; }

/* Fallback sans clip-path. */
.wprtm-overlay.no-clip-path .wprtm-overlay__surface {
    clip-path: none;
    opacity: 0;
    transform: scale(.96);
    transition: opacity var(--wprtm-overlay-duration,900ms) ease, transform var(--wprtm-overlay-duration,900ms) cubic-bezier(.22,.82,.22,1);
}
.wprtm-overlay.no-clip-path.is-open .wprtm-overlay__surface {
    opacity: 1;
    transform: scale(1);
    transition-duration: var(--wprtm-overlay-open-duration,1300ms);
    transition-timing-function: cubic-bezier(.32,0,.2,1);
}

@keyframes wprtm-launcher-nudge {
    0%,100% { transform: translate3d(0,-3px,0) rotate(0deg) scale(1); }
    18% { transform: translate3d(0,-6px,0) rotate(-9deg) scale(1.04); }
    36% { transform: translate3d(0,-2px,0) rotate(8deg) scale(1.02); }
    54% { transform: translate3d(0,-5px,0) rotate(-5deg) scale(1.035); }
    72% { transform: translate3d(0,-3px,0) rotate(3deg) scale(1.01); }
}

@media (max-width:430px) {
    .wprtm-fab__label { max-width: 47vw; }
    .wprtm-close__label { display: none; }
    .wprtm-close { width: 58px; min-width: 58px; padding: 0; }
}

@media (prefers-reduced-motion:reduce) {
    .wprtm-fab-root,
    .wprtm-fab,
    .wprtm-fab__label,
    .wprtm-fab__disc,
    .wprtm-overlay__surface,
    .wprtm-list-stage,
    .wprtm-close {
        animation-duration: 1ms !important;
        animation-delay: 0ms !important;
        transition-duration: 1ms !important;
        transition-delay: 0ms !important;
        scroll-behavior: auto !important;
    }
    .wprtm-fab[data-wprtm-launcher-toggle].is-nudging .wprtm-fab__disc { animation: none !important; }
}

/* V1.4.6 — ancrage unique et déterministe.
 * Aucun calcul visualViewport/left/top : la position normale existe dès le premier rendu. */
.wprtm-fab-root {
    position: fixed !important;
    right: calc(var(--wprtm-right,18px) + env(safe-area-inset-right,0px)) !important;
    bottom: calc(var(--wprtm-bottom,18px) + env(safe-area-inset-bottom,0px)) !important;
    left: auto !important;
    top: auto !important;
    z-index: 2147483647 !important;
}
.wprtm-fab-root[data-handedness="left"] {
    right: auto !important;
    left: calc(var(--wprtm-left,18px) + env(safe-area-inset-left,0px)) !important;
    bottom: calc(var(--wprtm-bottom,18px) + env(safe-area-inset-bottom,0px)) !important;
    top: auto !important;
}
.wprtm-overlay {
    z-index: 2147483647 !important;
}

/* V1.4.6: aucun changement de règle de transform au moment où les libellés apparaissent. */

/* V1.4.12 : la couleur du bouton sert de fond à l'étiquette, sans contour de texte lourd. */
.wprtm-fab__label { text-shadow: none; }

/* V1.4.7 — featured-image thumbnails in the hierarchical menu. */
.wprtm-tree-link__thumb {
    --wprtm-thumb-size: var(--wprtm-thumb-mobile-size,46px);
    position: relative;
    flex: 0 0 var(--wprtm-thumb-size);
    width: var(--wprtm-thumb-size);
    height: var(--wprtm-thumb-size);
    overflow: hidden;
    border-radius: var(--wprtm-thumb-radius,12px);
    background: rgba(255,255,255,.12);
    box-shadow: 0 5px 16px rgba(0,0,0,.16), inset 0 0 0 1px rgba(255,255,255,.16);
}
.wprtm-tree-link__thumb-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    transform: scale(1.025);
    transition: opacity 180ms ease, transform 260ms cubic-bezier(.22,1,.36,1);
}
.wprtm-tree-link__thumb-image.is-loaded {
    opacity: 1;
    transform: scale(1);
}
/* Keep the hierarchy dot/line, then the illustration, then title + line 2. */
.wprtm-tree-link:has(.wprtm-tree-link__thumb) { gap: 11px; }

@media (min-width:600px) {
    .wprtm-tree-link__thumb { --wprtm-thumb-size: var(--wprtm-thumb-tablet-size,58px); }
    .wprtm-tree-link { min-height: max(var(--wprtm-menu-item-height,54px), calc(var(--wprtm-thumb-tablet-size,58px) + 12px)); }
}
@media (min-width:1000px) {
    .wprtm-list-head,
    .wprtm-tree { max-width: 920px; }
    .wprtm-tree-link__thumb { --wprtm-thumb-size: var(--wprtm-thumb-desktop-size,76px); }
    .wprtm-tree-link { min-height: max(var(--wprtm-menu-item-height,54px), calc(var(--wprtm-thumb-desktop-size,76px) + 14px)); }
    .wprtm-tree-link { font-size: clamp(17px,1.25vw,22px); }
    .wprtm-tree-link.is-root { font-size: clamp(21px,1.55vw,28px); }
}

/* Align hierarchy connectors with the actual thumbnail row center. */
.wprtm-tree { --wprtm-tree-row-center: var(--wprtm-row-center-mobile,30px); }
.wprtm-tree-link { min-height: max(var(--wprtm-menu-item-height,54px), calc(var(--wprtm-thumb-mobile-size,46px) + 14px)); }
.wprtm-tree__children::before { bottom: var(--wprtm-tree-row-center); }
.wprtm-tree__item::before { top: var(--wprtm-tree-row-center); }
@media (min-width:600px) {
    .wprtm-tree { --wprtm-tree-row-center: var(--wprtm-row-center-tablet,36px); }
}
@media (min-width:1000px) {
    .wprtm-tree { --wprtm-tree-row-center: var(--wprtm-row-center-desktop,45px); }
}

