/**
 * Widget Plan du site (sitemap HTML) — [rr_sitemap]
 *
 * Porte de wp-pdc-widgets/widget-sitemap.css. Les couleurs passent par les
 * variables du theme (teal/or RR) : aucune valeur de marque en dur.
 *
 * Les selecteurs sont volontairement doubles (.rr-sitemap .rr-sitemap__x) pour
 * passer devant les regles de .page-body (listes a puces, liens soulignes) sans
 * recourir a !important, sauf la ou il faut neutraliser les marqueurs de liste.
 *
 * @package RR_Widgets
 */

.rr-sitemap {
    max-width: 100%;
    padding: var(--spacing-4, 1rem) 0;
}

/* Titre principal (facultatif : la page affiche deja le sien) */
.rr-sitemap .rr-sitemap__title {
    font-size: var(--font-size-3xl, 1.875rem);
    font-weight: var(--font-weight-bold, 700);
    color: var(--color-text, #000000);
    margin-top: 0;
    margin-bottom: var(--spacing-8, 2rem);
    padding-bottom: var(--spacing-4, 1rem);
    border-bottom: 3px solid var(--color-primary, #040404);
}

/* Sections */
.rr-sitemap .rr-sitemap__section {
    margin-bottom: var(--spacing-10, 2.5rem);
}

.rr-sitemap .rr-sitemap__section:last-child {
    margin-bottom: 0;
}

/* Titres de section */
.rr-sitemap .rr-sitemap__heading {
    display: flex;
    align-items: center;
    gap: var(--spacing-3, 0.75rem);
    font-size: var(--font-size-xl, 1.25rem);
    font-weight: var(--font-weight-bold, 700);
    color: var(--color-text, #000000);
    margin-top: 0;
    margin-bottom: var(--spacing-5, 1.25rem);
    padding-bottom: var(--spacing-3, 0.75rem);
    border-bottom: 2px solid var(--color-border, #e5e7eb);
}

.rr-sitemap .rr-sitemap__heading-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background-color: var(--color-primary, #040404);
    color: var(--color-text-inverse, #ffffff);
    border-radius: var(--radius-md, 8px);
    flex-shrink: 0;
}

.rr-sitemap .rr-sitemap__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 24px;
    padding: 0 var(--spacing-2, 0.5rem);
    font-size: var(--font-size-xs, 0.75rem);
    font-weight: var(--font-weight-semibold, 600);
    color: var(--color-text-muted, #767676);
    background-color: var(--color-bg-secondary, #f8f8f8);
    border-radius: var(--radius-full, 9999px);
}

/* Groupes (une categorie d'articles) */
.rr-sitemap .rr-sitemap__group {
    margin-bottom: var(--spacing-6, 1.5rem);
}

.rr-sitemap .rr-sitemap__group-name {
    display: flex;
    align-items: center;
    gap: var(--spacing-2, 0.5rem);
    font-size: var(--font-size-base, 1rem);
    font-weight: var(--font-weight-semibold, 600);
    color: var(--color-primary, #040404);
    margin-top: 0;
    margin-bottom: var(--spacing-2, 0.5rem);
    padding-bottom: var(--spacing-1, 0.25rem);
    border-bottom: 1px solid var(--color-border, #e5e7eb);
}

.rr-sitemap .rr-sitemap__group-link,
.rr-sitemap .rr-sitemap__group-link:visited {
    color: inherit;
    text-decoration: none;
}

.rr-sitemap .rr-sitemap__group-link:hover {
    text-decoration: underline;
}

/* Listes de liens — multi-colonnes */
.rr-sitemap ul.rr-sitemap__list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    column-count: var(--rr-sitemap-columns, 3);
    column-gap: var(--spacing-6, 1.5rem);
}

.rr-sitemap ul.rr-sitemap__list li.rr-sitemap__item {
    list-style: none !important;
    break-inside: avoid;
    padding: 0 !important;
    margin: 0 !important;
}

.rr-sitemap ul.rr-sitemap__list li.rr-sitemap__item::before,
.rr-sitemap ul.rr-sitemap__list li.rr-sitemap__item::marker {
    content: none !important;
    display: none !important;
}

.rr-sitemap .rr-sitemap__link,
.rr-sitemap .rr-sitemap__link:visited {
    display: block;
    color: var(--color-text-secondary, #4a4a4a);
    text-decoration: none;
    font-size: var(--font-size-sm, 0.875rem);
    line-height: 1.4;
    padding: 3px var(--spacing-2, 0.5rem);
    margin-left: calc(-1 * var(--spacing-2, 0.5rem));
    margin-right: calc(-1 * var(--spacing-2, 0.5rem));
    border-radius: var(--radius-md, 8px);
    transition: color 200ms ease, background-color 200ms ease;
}

.rr-sitemap .rr-sitemap__link:hover,
.rr-sitemap .rr-sitemap__link:focus-visible {
    color: var(--color-text-inverse, #ffffff);
    background-color: var(--color-primary, #040404);
    text-decoration: none;
}

/* Responsive */
@media (max-width: 1024px) {
    .rr-sitemap ul.rr-sitemap__list {
        column-count: 2;
    }
}

@media (max-width: 768px) {
    .rr-sitemap ul.rr-sitemap__list {
        column-count: 1;
    }

    .rr-sitemap .rr-sitemap__title {
        font-size: var(--font-size-2xl, 1.5rem);
    }

    .rr-sitemap .rr-sitemap__heading {
        font-size: var(--font-size-lg, 1.125rem);
    }
}
