/* ═══════════════════════════════════════════════════════════════════════
   Megamenu RetroRoads — rendu sur le site
   Transposition de views/css/megamenu.css (Leo Bootstrap Menu).
   Les couleurs viennent des variables du theme : le menu s'y fond.
   ═══════════════════════════════════════════════════════════════════════ */

.rrm-menu { position: relative; font-family: inherit; }
.rrm-menu ul { list-style: none; margin: 0; padding: 0; }
.rrm-menu a { text-decoration: none; color: inherit; }

/* ── Barre de premier niveau ──────────────────────────────────────────── */
.rrm-horizontal > .rrm-niveau-0 { display: flex; align-items: center; gap: 2px; flex-wrap: wrap; }
.rrm-vertical  > .rrm-niveau-0 { display: block; }

.rrm-item { position: relative; }
.rrm-item.rrm-droite { margin-left: auto; }

.rrm-lien {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 10px 14px; font-size: 14px; font-weight: 500;
    color: var(--rr-text, #181E2A); white-space: nowrap;
    transition: color .15s, background-color .15s;
}
.rrm-lien:hover, .rrm-item:hover > .rrm-lien { color: var(--rr-primary, #BB7F4D); }
.rrm-icone { font-size: 16px; }
.rrm-item-image { max-height: 20px; width: auto; }
.rrm-fleche { font-size: 14px; opacity: .6; transition: transform .15s; }
.rrm-item:hover > .rrm-lien .rrm-fleche { transform: rotate(180deg); }

/* Etiquette « Nouveau », « Promo »... */
.rrm-etiquette {
    font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px;
    background: var(--rr-primary, #BB7F4D); color: #fff;
    padding: 1px 6px; border-radius: 9px;
}

/* ── Sous-menu deroulant ordinaire ────────────────────────────────────── */
.rrm-sousmenu {
    position: absolute; top: 100%; left: 0; z-index: 500;
    min-width: 220px; padding: 8px 0;
    background: #fff; border: 1px solid var(--rr-border, #d9d4c8); border-radius: 6px;
    box-shadow: 0 8px 24px rgba(0,0,0,.10);
    opacity: 0; visibility: hidden; transform: translateY(6px);
    transition: opacity .18s, transform .18s, visibility .18s;
}
.rrm-item:hover > .rrm-sousmenu { opacity: 1; visibility: visible; transform: translateY(0); }

/* Niveaux 2 et au-dela : le panneau part sur le cote */
.rrm-sousmenu .rrm-sousmenu { top: -9px; left: 100%; }
.rrm-sousmenu .rrm-lien { display: flex; width: 100%; padding: 8px 16px; }
.rrm-sousmenu .rrm-fleche { margin-left: auto; transform: rotate(-90deg); }
.rrm-sousmenu .rrm-item:hover > .rrm-lien .rrm-fleche { transform: rotate(-90deg); }

/* ── Megamenu : le panneau large ──────────────────────────────────────── */
.rrm-mega-panneau {
    position: absolute; top: 100%; left: 0; z-index: 500;
    width: 760px; max-width: 96vw; padding: 22px 24px;
    background: #fff; border: 1px solid var(--rr-border, #d9d4c8); border-radius: 8px;
    box-shadow: 0 12px 34px rgba(0,0,0,.12);
    opacity: 0; visibility: hidden; transform: translateY(6px);
    transition: opacity .18s, transform .18s, visibility .18s;
}
.rrm-item.rrm-mega:hover > .rrm-mega-panneau { opacity: 1; visibility: visible; transform: translateY(0); }
.rrm-item.rrm-droite > .rrm-mega-panneau { left: auto; right: 0; }

.rrm-mega-entete { margin-bottom: 16px; }
.rrm-mega-grille { display: flex; flex-wrap: wrap; gap: 22px; }
.rrm-mega-colonne { flex: 1 1 0; min-width: 140px; }

.rrm-grille-1 .rrm-mega-colonne { flex: 0 0 100%; }
.rrm-grille-2 .rrm-mega-colonne { flex: 0 0 calc(50% - 11px); }
.rrm-grille-3 .rrm-mega-colonne { flex: 0 0 calc(33.333% - 15px); }
.rrm-grille-4 .rrm-mega-colonne { flex: 0 0 calc(25% - 17px); }
.rrm-grille-5 .rrm-mega-colonne { flex: 0 0 calc(20% - 18px); }
.rrm-grille-6 .rrm-mega-colonne { flex: 0 0 calc(16.666% - 19px); }

.rrm-colonne-titre {
    font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: .5px;
    color: var(--rr-primary, #BB7F4D); margin-bottom: 10px;
    padding-bottom: 7px; border-bottom: 1px solid var(--rr-border, #d9d4c8);
}
.rrm-colonne-liens li a, .rrm-colonne-sousliens li a { padding: 5px 0; font-weight: 400; }
.rrm-colonne-sousliens { padding-left: 12px; }
.rrm-colonne-sousliens li a { font-size: 13px; opacity: .85; }

/* ── Widgets poses dans les colonnes ──────────────────────────────────── */
.rrm-widget { font-size: 13px; line-height: 1.55; }
.rrm-widget + .rrm-widget { margin-top: 14px; }
.rrm-widget-titre {
    font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px;
    color: var(--rr-primary, #BB7F4D); margin: 0 0 9px;
}
.rrm-liens li a { display: block; padding: 4px 0; }
.rrm-liens li a:hover { color: var(--rr-primary, #BB7F4D); }
.rrm-compteur { font-size: 11px; opacity: .6; }
.rrm-colonnes-2 { column-count: 2; } .rrm-colonnes-3 { column-count: 3; }

.rrm-image img, .rrm-video iframe { max-width: 100%; height: auto; border-radius: 5px; }
.rrm-legende { font-size: 12px; opacity: .7; margin-top: 5px; }

.rrm-grille { display: grid; gap: 12px; }
.rrm-grille-1 { grid-template-columns: 1fr; }
.rrm-grille-2 { grid-template-columns: repeat(2, 1fr); }
.rrm-grille-3 { grid-template-columns: repeat(3, 1fr); }
.rrm-grille-4 { grid-template-columns: repeat(4, 1fr); }

.rrm-vignette, .rrm-annonce { display: block; text-align: center; }
.rrm-vignette img, .rrm-annonce img {
    width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 5px; margin-bottom: 5px;
}
.rrm-annonce-titre { display: block; font-size: 12px; line-height: 1.35; }
.rrm-annonce-prix { display: block; font-weight: 700; color: var(--rr-primary, #BB7F4D); font-size: 13px; }

.rrm-alerte { padding: 10px 12px; border-radius: 5px; border-left: 3px solid; }
.rrm-alerte-info      { background: #EAF2F4; border-color: #20697C; }
.rrm-alerte-succes    { background: #E9F5EC; border-color: #2E7D32; }
.rrm-alerte-attention { background: #FBF1E3; border-color: #BB7F4D; }
.rrm-alerte-danger    { background: #FAEBEA; border-color: #C62828; }

.rrm-reseau { display: flex; gap: 9px; font-size: 20px; }
.rrm-reseau a:hover { color: var(--rr-primary, #BB7F4D); }

/* Onglets et accordeon */
.rrm-tabs-nav { display: flex; gap: 3px; border-bottom: 1px solid var(--rr-border, #d9d4c8); margin-bottom: 10px; }
.rrm-tab { padding: 6px 11px; cursor: pointer; font-size: 12px; font-weight: 600; border-radius: 5px 5px 0 0; }
.rrm-tab.actif { background: var(--rr-primary, #BB7F4D); color: #fff; }
.rrm-tab-panneau { display: none; }
.rrm-tab-panneau.actif { display: block; }

.rrm-acc-item + .rrm-acc-item { margin-top: 5px; }
.rrm-acc-tete {
    width: 100%; text-align: left; padding: 7px 10px; cursor: pointer;
    background: var(--rr-bg, #F3F3F0); border: 1px solid var(--rr-border, #d9d4c8);
    border-radius: 5px; font: inherit; font-weight: 600; font-size: 13px;
}
.rrm-acc-corps { display: none; padding: 9px 10px; }
.rrm-acc-item.ouvert .rrm-acc-corps { display: block; }

/* ── Mobile ───────────────────────────────────────────────────────────── */
.rrm-burger {
    display: none; align-items: center; justify-content: center;
    width: 40px; height: 40px; border: 0; background: none; cursor: pointer;
    font-size: 24px; color: inherit;
}
.rrm-menu.rrm-ouvert > .rrm-niveau-0 {
    display: block; background: #fff; border: 1px solid var(--rr-border, #d9d4c8);
    border-radius: 6px; padding: 8px; margin-top: 6px;
    max-height: 74vh; overflow-y: auto;
}
.rrm-menu.rrm-ouvert .rrm-sousmenu,
.rrm-menu.rrm-ouvert .rrm-mega-panneau {
    position: static; width: auto; opacity: 1; visibility: visible; transform: none;
    box-shadow: none; border: 0; padding: 0 0 0 14px; display: none;
}
.rrm-menu.rrm-ouvert .rrm-item.rrm-deplie > .rrm-sousmenu,
.rrm-menu.rrm-ouvert .rrm-item.rrm-deplie > .rrm-mega-panneau { display: block; }
.rrm-menu.rrm-ouvert .rrm-mega-grille { display: block; }
.rrm-menu.rrm-ouvert .rrm-mega-colonne { margin-bottom: 12px; }

/* ── Menu colle en haut ───────────────────────────────────────────────── */
.rrm-sticky.rrm-collé { position: fixed; top: 0; left: 0; right: 0; z-index: 900;
    background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.08); padding: 0 16px; }
