/* ══ overview mobile: botón de menú arriba a la derecha + sidebar ══ */
.ov-burger{display:none}
@media(max-width:820px){
  .ov-burger{display:grid;place-items:center;position:absolute;z-index:950;top:calc(var(--frame,10px) + 40px);right:calc(var(--frame,10px) + 21px);width:40px;height:40px;padding:0;border:0;background:none;color:#fff;cursor:pointer}
  .ov-burger i{display:grid;gap:5px;font-size:0}
  .ov-burger i::before,.ov-burger i::after,.ov-burger i s{content:"";display:block;width:22px;height:2px;border-radius:2px;background:currentColor}
}
.side-scrim{position:fixed;inset:0;z-index:995;background:rgba(8,16,64,.42);opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
body.side-open .side-scrim{opacity:1;visibility:visible}
.side{position:fixed;z-index:1000;top:0;left:0;bottom:0;width:min(84vw,360px);background:#fff;color:#0A1240;border-radius:0 18px 18px 0;box-shadow:30px 0 80px rgba(8,16,64,.3);padding:24px 22px;display:flex;flex-direction:column;transform:translateX(-105%);transition:transform .55s cubic-bezier(.16,1,.3,1);font-family:'Plus Jakarta Sans',sans-serif}
.side.on{transform:none}
.side-h{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}
.side-lc img{display:block;height:78px;width:auto}
#sideClose{border:0;background:none;padding:6px 0;font:700 11px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(10,18,64,.62);cursor:pointer}
#sideClose i{font-style:normal;margin-left:6px;font-size:13px}
.side-list,.side-sub{list-style:none;margin:0;padding:0}
.side-list{overflow:auto;flex:1;padding-bottom:10px}
.side-row{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;width:100%;padding:11px 0 11px 14px;border:0;border-bottom:1px solid rgba(10,18,64,.1);background:none;text-align:left;color:#0A1240;text-decoration:none;cursor:pointer;font:inherit}
.side-row em{display:none}
.side-row b{font:500 16px/24px 'Plus Jakarta Sans',sans-serif;color:rgba(10,18,64,.82)}
.side-row.cur b{color:#1043FA}
.side-row s{justify-self:end;width:9px;height:9px;border-right:1px solid rgba(10,18,64,.35);border-bottom:1px solid rgba(10,18,64,.35);transform:rotate(45deg) translate(-3px,-3px);transition:transform .3s}
.side-row[aria-expanded="true"] s{transform:rotate(225deg)}
.side-row.soon{opacity:.38;pointer-events:none}
.side-sub{display:none}
.side-sub.open{display:block}
.side-sub .side-row{padding-left:18px;border-bottom-color:rgba(10,18,64,.07)}
.side-sub .side-sub .side-row{padding-left:36px}
.side-sub .side-row b{font-size:15px}
.side-ref{margin-top:28px}.side-ref+.side-ref{margin-top:0}

/* cerrado: sin sombra ni presencia (la sombra se colaba por el borde izquierdo) */
.side{box-shadow:none;visibility:hidden;transition:transform .55s cubic-bezier(.16,1,.3,1),visibility 0s .55s,box-shadow .3s}
.side.on{box-shadow:30px 0 80px rgba(8,16,64,.3);visibility:visible;transition:transform .55s cubic-bezier(.16,1,.3,1),visibility 0s,box-shadow .3s}
/* items alineados con el logo */
.side-list>li>.side-row{padding-left:0}
.side-sub .side-row{padding-left:14px}
.side-sub .side-sub .side-row{padding-left:28px}
.side-row s{margin-right:2px}
/* el botón de menú también entra, después del logotipo */
@media(max-width:820px){
  .ov-burger{opacity:0}
  body.rv-on .ov-burger{animation:ovBurgerIn .9s cubic-bezier(.16,1,.3,1) .55s both}
  @keyframes ovBurgerIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
}
#sideClose{padding:6px}
#sideClose i{margin-left:0;font-size:20px}
.side-lc img{height:98px}
.side-lc{margin-top:14px}
.side-list{margin-top:22px}
.side-row b,.side-sub .side-row b{font-size:17px}
.side-sub .side-row{padding-left:28px}
.side-sub .side-sub .side-row{padding-left:44px}
.side-sub .side-row b{font-weight:400}
