/* Nick's Site Map v1.0.8 — palette bleue éditoriale, isolé du thème Neve
 * et des règles de mise en évidence des liens internes. Toutes les classes
 * de l'explorateur sont limitées au conteneur .nsm-sitemap.
 */

/* Fil d'Ariane : volontairement indépendant de l'habillage de la carte. */
.nsm-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;margin:0 0 1rem;font-size:.875rem;line-height:1.5;color:#5C7087}
.nsm-breadcrumb a,.nsm-yoast-home{display:inline-flex;align-items:center;gap:.25rem;color:#1859A0;text-decoration:none;box-shadow:none}
.nsm-breadcrumb a:hover,.nsm-yoast-home:hover{color:#10487F;text-decoration:underline}
.nsm-breadcrumb .nsm-separator{color:#8B9CAD}
.nsm-breadcrumb .nsm-current{color:#536A83}
.nsm-yoast-home svg,.nsm-breadcrumb svg{width:1rem;height:1rem;vertical-align:middle}

/* Palette cohérente avec l'identité Nick's Blog : bleu profond,
 * bleu principal, bleu glacier, blanc bleuté. */
.nsm-sitemap{
    --nsm-navy:#183B60;
    --nsm-navy-dark:#102C49;
    --nsm-ink:#24384F;
    --nsm-link:#1859A0;
    --nsm-link-hover:#10487F;
    --nsm-muted:#677B8F;
    --nsm-line:#DAE5EF;
    --nsm-warm:#F8FAFD;
    --nsm-soft:#EAF2FA;
    box-sizing:border-box;
    overflow:hidden;
    width:100%;max-width:100%;
    border:1px solid #D8E4F0;
    border-radius:16px;
    background:var(--nsm-warm);
    color:var(--nsm-ink);
    font-family:inherit;
    font-size:15px;
    line-height:1.6;
    box-shadow:0 12px 36px rgba(24,59,96,.065);
}
.nsm-sitemap *, .nsm-sitemap *::before, .nsm-sitemap *::after{box-sizing:border-box}
.nsm-sitemap button,.nsm-sitemap input{font-family:inherit}
/* Garantit la discrétion du label accessible, même sans CSS "screen-reader-text" de WordPress. */
.nsm-sitemap .screen-reader-text{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important}

/* Bandeau recherche et commandes : une vraie entrée dans l'explorateur. */
.nsm-sitemap .nsm-sitemap-tools{
    display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;
    padding:1.35rem 1.5rem;
    background:linear-gradient(115deg,#183B60 0%,#204C76 72%,#2A5D8C 100%);
    border-bottom:1px solid #102C49;
}
.nsm-sitemap .nsm-sitemap-search{
    flex:1 1 290px;min-width:180px;max-width:100%;min-height:44px;
    border:1px solid #C7D7E5;border-radius:9px;
    padding:.65rem 1rem;
    background:#fff;color:#24384F;
    font-size:.94rem;line-height:1.35;
    box-shadow:0 2px 7px rgba(17,46,80,.10);
    -webkit-appearance:none;appearance:none;
}
.nsm-sitemap .nsm-sitemap-search::placeholder{color:#6B7F94;opacity:1}
.nsm-sitemap .nsm-sitemap-search:focus{
    border-color:#8AB4DD;
    box-shadow:0 0 0 3px rgba(205,227,247,.44),0 2px 7px rgba(17,46,80,.10);
    outline:none;
}
.nsm-sitemap .nsm-sitemap-tools button.nsm-expand,
.nsm-sitemap .nsm-sitemap-tools button.nsm-collapse{
    display:inline-flex;justify-content:center;align-items:center;
    min-height:44px;padding:.62rem 1rem;
    border:1px solid #D8E4F0 !important;
    border-radius:9px;
    background:#F8FAFD !important;
    background-image:none !important;
    color:#183B60 !important;
    font-size:.84rem;font-weight:650;line-height:1.25;
    letter-spacing:0;white-space:nowrap;text-transform:none;
    opacity:1 !important;text-shadow:none !important;
    box-shadow:none !important;cursor:pointer;
    transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.nsm-sitemap .nsm-sitemap-tools button.nsm-expand:hover,
.nsm-sitemap .nsm-sitemap-tools button.nsm-collapse:hover,
.nsm-sitemap .nsm-sitemap-tools button.nsm-expand:focus-visible,
.nsm-sitemap .nsm-sitemap-tools button.nsm-collapse:focus-visible,
.nsm-sitemap .nsm-sitemap-tools button.nsm-expand:active,
.nsm-sitemap .nsm-sitemap-tools button.nsm-collapse:active{
    background:#1859A0 !important;
    background-color:#1859A0 !important;
    background-image:none !important;
    border-color:#1859A0 !important;
    color:#fff !important;
    opacity:1 !important;
    text-shadow:none !important;
    box-shadow:none !important;
}
.nsm-sitemap .nsm-sitemap-tools button.nsm-expand:hover,
.nsm-sitemap .nsm-sitemap-tools button.nsm-collapse:hover{transform:translateY(-1px)}
.nsm-sitemap :is(a,button,summary,input):focus-visible{outline:2px solid #1859A0;outline-offset:3px}

/* Racine : repère visuel permanent, sans créer un faux niveau de navigation. */
.nsm-sitemap .nsm-tree-root{padding:1.25rem 1.45rem 1.45rem;background:var(--nsm-warm)}
.nsm-sitemap .nsm-root-label{margin:0 0 .55rem}
.nsm-sitemap .nsm-root-label a{
    display:inline-flex;align-items:center;gap:.6rem;
    color:var(--nsm-navy);font-size:.94rem;font-weight:760;
    line-height:1.5;text-decoration:none;box-shadow:none;
}
.nsm-sitemap .nsm-root-label svg{
    width:20px;height:20px;color:var(--nsm-navy)
}
.nsm-sitemap svg{width:17px;height:17px;flex:none;color:#6788A8}

/* Traits verticaux fins + rythme de lecture plus aéré. */
.nsm-sitemap .nsm-node-list{
    list-style:none !important;
    margin:.5rem 0 .3rem 0 !important;
    padding:0 0 0 1.4rem !important;
    border-left:1px solid #D4E0EC;
}
.nsm-sitemap .nsm-node-list .nsm-node-list{
    margin:.3rem 0 .4rem 1.05rem !important;
    padding-left:1.2rem !important;
    border-color:#DDE8F2;
}
.nsm-sitemap .nsm-node{list-style:none !important;margin:.15rem 0 !important;padding:0 !important}
.nsm-sitemap .nsm-node details,.nsm-sitemap .nsm-node summary{margin:0}
/* Cache explicitement le contenu des dossiers fermes, y compris apres
 * les actions globales ouvrir/reduire et les reouvertures manuelles. */
.nsm-sitemap details.nsm-branch:not([open]) > .nsm-node-list,
.nsm-sitemap details.nsm-branch > .nsm-node-list[hidden]{display:none !important}
.nsm-sitemap details.nsm-branch[open] > .nsm-node-list:not([hidden]){display:block}

.nsm-sitemap .nsm-node summary{
    display:flex;align-items:center;gap:.64rem;
    margin:0;padding:.54rem .7rem;
    min-height:40px;border:1px solid transparent;
    border-radius:9px;list-style:none;cursor:pointer;
    color:var(--nsm-ink);font-weight:650;line-height:1.45;
    transition:background-color .15s ease,border-color .15s ease;
}
.nsm-sitemap .nsm-node summary::-webkit-details-marker{display:none}
.nsm-sitemap .nsm-node summary::before{
    content:'›';display:block;flex:none;width:.7rem;
    color:#6382A0;font-size:1.12rem;font-weight:700;line-height:1;
    transform-origin:50% 50%;transition:transform .16s ease;
}
.nsm-sitemap .nsm-node details[open]>summary::before{transform:rotate(90deg)}
.nsm-sitemap .nsm-node details[open]>summary{background:#EAF2FA;border-color:#D7E6F4}
.nsm-sitemap .nsm-node summary:hover,
.nsm-sitemap .nsm-node summary:focus-visible{background:#DFECFA;border-color:#C6DAED}
.nsm-sitemap .nsm-node .nsm-leaf{
    display:flex;align-items:flex-start;gap:.65rem;
    margin:0;padding:.51rem .7rem .51rem 1.95rem;
    min-height:36px;border:1px solid transparent;border-radius:8px;
    font-weight:400;line-height:1.45;
    transition:background-color .15s ease;
}
.nsm-sitemap .nsm-node .nsm-leaf:hover{background:#EDF4FB}
.nsm-sitemap .nsm-node .nsm-leaf svg{margin-top:2px;opacity:.84}
.nsm-sitemap .nsm-node-title{flex:1;min-width:0;overflow-wrap:anywhere}
.nsm-sitemap .nsm-node-title a{color:var(--nsm-link);font-weight:inherit}
.nsm-sitemap .nsm-node-title a:hover{color:var(--nsm-link-hover)}
.nsm-sitemap .nsm-count{
    margin-left:auto;min-width:1.55rem;padding:.08rem .48rem;
    border:1px solid #D0DEEB;border-radius:999px;
    background:#fff;color:#526A84;
    font-size:.72rem;font-weight:550;line-height:1.45;
    text-align:center;white-space:nowrap;
}

/* Section secondaire : clairement distincte des dossiers, sans alarme visuelle. */
.nsm-sitemap .nsm-orphans{
    padding:1.3rem 1.45rem 1.6rem;
    background:#F1F5FA;border-top:1px solid #DAE5EF;
}
.nsm-sitemap .nsm-orphans h2{
    display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;
    margin:0 0 .32rem;padding:0;
    color:#243F61;font-size:1.03rem;font-weight:730;line-height:1.5;
}
.nsm-sitemap .nsm-orphans p{
    margin:.15rem 0 .85rem;color:#637A91;
    font-size:.86rem;line-height:1.6;
}
.nsm-sitemap .nsm-orphans .nsm-node-list{margin-top:.8rem !important}
.nsm-sitemap .nsm-orphans .nsm-leaf:hover{background:#E5F0FB}
.nsm-sitemap .nsm-none{padding:.65rem 0}
.nsm-sitemap .nsm-node[hidden],.nsm-sitemap .nsm-orphans[hidden]{display:none !important}

/* Liens du plugin : éviter les fonds et soulignements injectés par Nick's Liens. */
.nsm-sitemap a,.nsm-breadcrumb a{background-image:none !important;box-shadow:none !important}
.nsm-sitemap a::after,.nsm-breadcrumb a::after,.nsm-yoast-home::after{content:none !important}
.nsm-sitemap .nsm-root-label a,
.nsm-sitemap .nsm-node-title a,
.nsm-sitemap .nsm-leaf a,
.nsm-sitemap a.nsm-edit-link,
.nsm-sitemap a[href]{
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
    box-shadow:none !important;
    text-shadow:none !important;
    border-bottom:0 !important;
    text-decoration:none !important;
    text-decoration-line:none !important;
    padding:0 !important;margin:0 !important;
}
.nsm-sitemap a[href]:hover{background:transparent !important;text-decoration:underline !important}
.nsm-sitemap a[href]:focus-visible{outline:2px solid #1859A0 !important;outline-offset:3px}
.nsm-breadcrumb a[href],.nsm-yoast-home[href]{background:transparent !important;background-image:none !important;box-shadow:none !important;border-bottom:0 !important;text-decoration:none !important}
.nsm-breadcrumb a[href]:hover,.nsm-yoast-home[href]:hover{text-decoration:underline !important}

/* Métadonnées réservées à l'affichage de l'administration. */
.nsm-sitemap .nsm-node-id{color:var(--nsm-muted);font-size:.76rem;font-weight:400}
.nsm-sitemap a.nsm-edit-link{margin-left:.3rem !important;font-size:.75rem;text-decoration:underline !important;font-weight:400}

@media(max-width:700px){
    .nsm-sitemap .nsm-sitemap-tools{padding:1rem;gap:.55rem}
    .nsm-sitemap .nsm-sitemap-search{flex:1 1 100%;min-height:44px}
    .nsm-sitemap .nsm-sitemap-tools button.nsm-expand,
    .nsm-sitemap .nsm-sitemap-tools button.nsm-collapse{flex:1 1 0;min-width:0;padding:.65rem .75rem}
    .nsm-sitemap .nsm-tree-root,.nsm-sitemap .nsm-orphans{padding:1rem}
    .nsm-sitemap .nsm-node-list{padding-left:.65rem !important}
    .nsm-sitemap .nsm-node-list .nsm-node-list{margin-left:.35rem !important;padding-left:.7rem !important}
    .nsm-sitemap .nsm-node summary{gap:.45rem;padding:.5rem .4rem}
    .nsm-sitemap .nsm-node .nsm-leaf{padding:.44rem .35rem .44rem 1.45rem;gap:.4rem}
    .nsm-sitemap .nsm-count{padding:.08rem .36rem}
}
@media(prefers-reduced-motion:reduce){
    .nsm-sitemap .nsm-node summary,.nsm-sitemap .nsm-node summary::before,
    .nsm-sitemap .nsm-node .nsm-leaf,.nsm-sitemap .nsm-sitemap-tools button{transition:none !important}
}
