/* /Components/SelecteurPosition.razor.rz.scp.css */
/* Sélecteur de point — carte + réticule fixe (modèle Waze).

   Le réticule est SUPERPOSÉ à la carte et ne capte aucun événement :
   pointer-events:none est indispensable, sinon il intercepterait le geste de
   glissement et la carte deviendrait immobile — donc le point indésignable. */

.selecteur-position-carte[b-jg129iq3i3] {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
}

.selecteur-position-vue[b-jg129iq3i3] {
    width: 100%;
    /* La hauteur est fixée en ligne par le paramètre Hauteur : Leaflet exige
       une hauteur explicite, un conteneur à 0 px n'affiche qu'une tuile grise. */
    min-height: 240px;
    z-index: 0;
}

.selecteur-position-reticule[b-jg129iq3i3] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 48px;
    height: 48px;
    pointer-events: none;
    z-index: 500; /* au-dessus des tuiles Leaflet (400), sous ses contrôles (1000) */
}

.reticule-croix[b-jg129iq3i3] {
    position: absolute;
    background: #d32f2f;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .9);
}

.reticule-h[b-jg129iq3i3] {
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    transform: translateY(-50%);
}

.reticule-v[b-jg129iq3i3] {
    left: 50%;
    top: 0;
    height: 100%;
    width: 2px;
    transform: translateX(-50%);
}

.reticule-cercle[b-jg129iq3i3] {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 18px;
    margin: -9px 0 0 -9px;
    border: 2px solid #d32f2f;
    border-radius: 50%;
    background: rgba(211, 47, 47, .15);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .9);
}

/* Bouton « ma position » : posé sur la carte, au-dessus des contrôles Leaflet.
   ::deep est obligatoire — le bouton est rendu par MudBlazor, et un composant
   enfant ne reçoit pas l'attribut de portée du composant parent : sans lui, la
   règle ne s'appliquerait à rien et le bouton retomberait sous la carte. */
[b-jg129iq3i3] .selecteur-position-geoloc {
    position: absolute !important;
    right: 12px;
    bottom: 24px;
    z-index: 1001;
}
/* /Layout/MainLayout.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════
   MainLayout — CSS isolé (volontairement vide)
   ───────────────────────────────────────────────────────────────────────
   ⚠️ NE PAS REMETTRE DE RÈGLES ICI tant que la mise en page repose sur des
   composants MudBlazor.

   L'isolation CSS de Blazor n'appose l'attribut de portée (b-xxxxx) que sur
   les BALISES HTML SIMPLES écrites dans le .razor. MainLayout ne contient
   plus que des composants (MudLayout, MudAppBar, MudDrawer…) : aucun
   élément du DOM ne porte donc cet attribut, et toute règle « ::deep » y
   serait compilée en « [b-xxxxx] .quelque-chose » — un sélecteur qui ne
   correspond à rien. Elle serait ignorée SANS AUCUNE ERREUR, ce qui rend le
   défaut long à diagnostiquer : c'est ainsi que le dégradé de marque et les
   couleurs de survol du menu ont disparu le 15/08/2026.

   L'habillage vit désormais dans wwwroot/css/zaza-admin-layout.css, chargé
   APRÈS MudBlazor.min.css. Les anciennes règles .page / .sidebar / .top-row
   y ont été reprises à l'identique ; les conserver ici n'aurait servi qu'à
   entretenir deux sources contradictoires, dont une inopérante.
   ═══════════════════════════════════════════════════════════════════════ */
/* /Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-n3zgzlbtu5] {
    background-color: rgba(255, 255, 255, 0.1);
}

.top-row[b-n3zgzlbtu5] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-n3zgzlbtu5] {
    font-size: 1.1rem;
}

.bi[b-n3zgzlbtu5] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-n3zgzlbtu5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-n3zgzlbtu5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-n3zgzlbtu5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-n3zgzlbtu5] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-n3zgzlbtu5] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-n3zgzlbtu5] {
        padding-bottom: 1rem;
    }

    .nav-item[b-n3zgzlbtu5]  a {
        color: #d7d7d7;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
    }

.nav-item[b-n3zgzlbtu5]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-n3zgzlbtu5]  a:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

/* ── Menu MudBlazor (MudNavMenu/MudNavLink/MudNavGroup) sur le dégradé de marque ──
   Le thème MudBlazor met un texte sombre par défaut → illisible sur le fond coloré.
   On force le texte et les icônes du menu en blanc, avec une ombre légère. */
[b-n3zgzlbtu5] .mud-nav-link,
[b-n3zgzlbtu5] .mud-nav-group > .mud-nav-link,
[b-n3zgzlbtu5] .mud-nav-link .mud-nav-link-text,
[b-n3zgzlbtu5] .mud-nav-group-title,
[b-n3zgzlbtu5] .mud-nav-group .mud-nav-link-text {
    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.35);
}

[b-n3zgzlbtu5] .mud-nav-link .mud-icon-root,
[b-n3zgzlbtu5] .mud-nav-link .mud-nav-link-icon,
[b-n3zgzlbtu5] .mud-nav-group .mud-nav-link-expand-icon {
    color: rgba(255,255,255,.92) !important;
}

[b-n3zgzlbtu5] .mud-nav-link:hover {
    background-color: rgba(255,255,255,.14);
}

/* Lien actif : surbrillance + accent jaune de marque */
[b-n3zgzlbtu5] .mud-nav-link.active,
[b-n3zgzlbtu5] .mud-nav-link.mud-nav-link-active {
    background-color: rgba(255,255,255,.20);
    color: #ffffff !important;
    border-left: 3px solid var(--z-yellow, #ffc400);
}

@media (min-width: 401px) {
    .navbar-toggler[b-n3zgzlbtu5] {
        display: none;
    }

    .collapse[b-n3zgzlbtu5] {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }

    .nav-scrollable[b-n3zgzlbtu5] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
