/* RateioBrasil - modernização da lateral
   Arquivo isolado para facilitar teste e reversão.
*/

#side-menu {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 12px;
    overflow: hidden;
    padding: 8px 0;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

#side-menu li {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

#side-menu li:last-child {
    border-bottom: 0;
}

#side-menu li a {
    position: relative;
    display: block;
    padding: 11px 34px 11px 16px;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 500;
    text-decoration: none;
    transition: background .18s ease, padding-left .18s ease, color .18s ease;
}

#side-menu li a:after {
    content: "›";
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    opacity: .45;
    font-size: 18px;
    font-weight: 700;
}

#side-menu li a:hover,
#side-menu li a:focus {
    background: rgba(0, 0, 0, 0.035);
    padding-left: 20px;
}

#side-menu li a:hover:after,
#side-menu li a:focus:after {
    opacity: .85;
}

/* Destaques principais do catálogo */
#side-menu li.rb-highlight-legal a,
#side-menu li.rb-highlight-concursos a {
    font-weight: 700;
    background: rgba(0, 0, 0, 0.045);
}

#side-menu li.rb-highlight-legal a:before,
#side-menu li.rb-highlight-concursos a:before {
    content: "★";
    display: inline-block;
    margin-right: 8px;
    font-size: 11px;
    vertical-align: 1px;
}

/* Destaque de modernidade / IA */
#side-menu li.rb-highlight-ai a {
    font-weight: 700;
    background: linear-gradient(90deg, rgba(0,0,0,.055), rgba(0,0,0,.015));
}

#side-menu li.rb-highlight-ai a:before {
    content: "✦ IA";
    display: inline-block;
    margin-right: 8px;
    padding: 2px 6px;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: 9px;
    line-height: 1.2;
    letter-spacing: .04em;
    vertical-align: 1px;
}

/* Evita que nomes longos fiquem apertados */
#side-menu li a {
    white-space: normal;
    word-break: normal;
}

/* Mobile */
@media (max-width: 767px) {
    #side-menu {
        border-radius: 10px;
        box-shadow: none;
    }

    #side-menu li a {
        padding-top: 12px;
        padding-bottom: 12px;
        font-size: 15px;
    }
}


/* RB PRINCIPAIS V2 */
#side-menu .rb-section-label {
    padding: 10px 16px 7px;
    border-bottom: 0;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .6;
}

#side-menu .rb-all-label {
    margin-top: 6px;
    padding-top: 14px;
    border-top: 1px solid rgba(0,0,0,.08);
}

#side-menu .rb-feature {
    margin: 4px 8px;
    border: 0;
    border-radius: 9px;
    overflow: hidden;
}

#side-menu .rb-feature > a,
#side-menu .rb-concursos-details > summary {
    padding: 12px 14px;
    font-weight: 700;
    cursor: pointer;
}

#side-menu .rb-icon {
    display: inline-block;
    width: 22px;
    margin-right: 5px;
    text-align: center;
}

#side-menu .rb-highlight-legal,
#side-menu .rb-highlight-concursos {
    background: rgba(0,0,0,.045);
}

#side-menu .rb-highlight-ai {
    background: linear-gradient(90deg, rgba(0,0,0,.07), rgba(0,0,0,.02));
}

#side-menu .rb-ai-badge {
    display: inline-block;
    margin-right: 9px;
    padding: 2px 6px;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: 9px;
    line-height: 1.2;
    letter-spacing: .05em;
}

#side-menu .rb-concursos-details {
    margin: 0;
}

#side-menu .rb-concursos-details > summary {
    list-style: none;
    position: relative;
    padding-right: 34px;
}

#side-menu .rb-concursos-details > summary::-webkit-details-marker {
    display: none;
}

#side-menu .rb-concursos-details > summary:after {
    content: "⌄";
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    opacity: .65;
}

#side-menu .rb-concursos-details[open] > summary:after {
    content: "⌃";
}

#side-menu .rb-submenu {
    margin: 0;
    padding: 4px 0 8px;
    background: rgba(255,255,255,.72);
}

#side-menu .rb-submenu li {
    border: 0;
}

#side-menu .rb-submenu li a {
    padding: 8px 16px 8px 38px;
    font-size: 13px;
    font-weight: 500;
}

#side-menu .rb-submenu li a:after {
    display: none;
}


/* RB GRUPOS V3 */
#side-menu, #side-menu > li, #side-menu .rb-submenu, #side-menu .rb-submenu li { list-style: none; }
#side-menu .rb-section-label { padding:10px 14px 6px; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; opacity:.58; }
#side-menu .rb-feature, #side-menu .rb-other-group { margin:4px 7px; border:0; border-radius:8px; overflow:hidden; }
#side-menu .rb-highlight-legal, #side-menu .rb-highlight-concursos { background:rgba(0,0,0,.035); }
#side-menu .rb-highlight-ai { background:rgba(0,0,0,.025); }
#side-menu .rb-group-details > summary, #side-menu .rb-highlight-ai > a { display:flex; align-items:center; gap:8px; min-height:42px; box-sizing:border-box; padding:10px 13px; font-weight:700; cursor:pointer; list-style:none; }
#side-menu .rb-group-details > summary { position:relative; padding-right:34px; }
#side-menu .rb-group-details > summary::-webkit-details-marker { display:none; }
#side-menu .rb-group-details > summary:after { content:">"; position:absolute; right:14px; top:50%; transform:translateY(-50%); font-size:16px; opacity:.55; }
#side-menu .rb-group-details[open] > summary:after { transform:translateY(-50%) rotate(90deg); }
#side-menu .rb-icon { display:inline-flex; width:20px; justify-content:center; flex:0 0 20px; }
#side-menu .rb-ai-badge { display:inline-block; flex:0 0 auto; padding:2px 6px; border:1px solid currentColor; border-radius:999px; font-size:9px; line-height:1.2; letter-spacing:.05em; }
#side-menu .rb-submenu { margin:0; padding:3px 0 7px; background:rgba(255,255,255,.82); }
#side-menu .rb-submenu li { margin:0; border:0; }
#side-menu .rb-submenu li a { display:block; padding:8px 30px 8px 18px; font-size:13px; font-weight:500; }
#side-menu .rb-other-group { margin-top:9px; border-top:1px solid rgba(0,0,0,.08); border-radius:0; }
#side-menu .rb-other-group > .rb-group-details > summary { font-size:12px; text-transform:uppercase; letter-spacing:.05em; }

/* RB REFINO V4 */

/* Remove marcadores e icones antigos que ainda vazam do tema */
#side-menu,
#side-menu ul,
#side-menu li {
    list-style: none !important;
}

#side-menu li:before,
#side-menu .rb-section-label:before,
#side-menu li.rb-highlight-legal a:before,
#side-menu li.rb-highlight-concursos a:before,
#side-menu li.rb-highlight-ai a:before {
    content: none !important;
    display: none !important;
}

/* Titulo PRINCIPAIS */
#side-menu .rb-section-label {
    display: block !important;
    background: transparent !important;
    color: #8a8f98 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    padding: 12px 10px 6px !important;
    margin: 0 !important;
    border: 0 !important;
}

/* Cards principais */
#side-menu li.rb-feature {
    margin: 5px 7px !important;
    padding: 0 !important;
    border: 1px solid #e6e9ed !important;
    border-radius: 8px !important;
    background: #fff !important;
    overflow: hidden !important;
}

#side-menu li.rb-feature > a,
#side-menu li.rb-feature > details > summary {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    min-height: 42px !important;
    box-sizing: border-box !important;
    padding: 10px 34px 10px 11px !important;
    margin: 0 !important;
    background: #f8fafb !important;
    color: #46515c !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    position: relative !important;
}

/* Barras discretas de identificacao */
#side-menu li.rb-highlight-legal > details > summary {
    border-left: 3px solid #79a86b !important;
}

#side-menu li.rb-highlight-concursos > details > summary {
    border-left: 3px solid #6689a1 !important;
}

#side-menu li.rb-highlight-ai > a {
    border-left: 3px solid #8073a8 !important;
}

/* Nao deixa o estilo verde antigo dominar os cards */
#side-menu li.rb-feature:hover,
#side-menu li.rb-feature > a:hover,
#side-menu li.rb-feature > details > summary:hover {
    background: #f2f5f7 !important;
    color: #34404b !important;
}

/* Icones que nos mesmos inserimos */
#side-menu .rb-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    min-width: 20px !important;
    margin: 0 !important;
    font-size: 15px !important;
}

/* Badge IA */
#side-menu .rb-ai-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 22px !important;
    box-sizing: border-box !important;
    padding: 2px 4px !important;
    margin: 0 !important;
    border: 1px solid #8073a8 !important;
    border-radius: 5px !important;
    color: #665b8c !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
}

/* Remove triangulo nativo do details; usamos nossa propria seta */
#side-menu summary {
    list-style: none !important;
}

#side-menu summary::-webkit-details-marker {
    display: none !important;
}

#side-menu summary::marker {
    content: "" !important;
}

/* Seta dos agrupadores */
#side-menu .rb-group-details > summary:after {
    content: "›" !important;
    display: block !important;
    position: absolute !important;
    right: 13px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    opacity: .55 !important;
}

#side-menu .rb-group-details[open] > summary:after {
    transform: translateY(-50%) rotate(90deg) !important;
}

/* Submenus */
#side-menu .rb-submenu {
    margin: 0 !important;
    padding: 4px 0 6px !important;
    background: #fff !important;
    border: 0 !important;
}

#side-menu .rb-submenu > li {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

#side-menu .rb-submenu > li > a {
    display: block !important;
    padding: 8px 26px 8px 17px !important;
    background: #fff !important;
    color: #626a72 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

/* Outras categorias */
#side-menu li.rb-other-group {
    list-style: none !important;
    margin: 10px 7px 5px !important;
    padding: 0 !important;
    border: 0 !important;
    border-top: 1px solid #e7e9ec !important;
    background: transparent !important;
}

#side-menu li.rb-other-group > details > summary {
    display: flex !important;
    align-items: center !important;
    min-height: 40px !important;
    box-sizing: border-box !important;
    padding: 10px 32px 10px 10px !important;
    background: transparent !important;
    color: #6d747c !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
    position: relative !important;
}


/* RB POS FINAL V5 */
#side-menu li.rb-highlight-pos > a {
    border-left: 3px solid #9a7b59 !important;
}

#side-menu li.rb-highlight-pos .rb-icon {
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
    border: 1px solid #9a7b59 !important;
    border-radius: 4px !important;
    width: 22px !important;
    min-width: 22px !important;
    height: 18px !important;
    line-height: 16px !important;
    box-sizing: border-box !important;
}
