/* PROTEGE V13.21.0 — menu administrativo organizado + banner Home ampliado */
@media (min-width:821px){
  .sidebar{overflow:hidden!important}
  .sidebar nav{
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    padding-right:4px;
    scrollbar-width:thin;
    scrollbar-color:#d7c5df transparent;
  }
  .sidebar nav::-webkit-scrollbar{width:6px}
  .sidebar nav::-webkit-scrollbar-thumb{background:#d7c5df;border-radius:999px}
  .sidebar nav::-webkit-scrollbar-track{background:transparent}
}
.sidebar-group{display:block;margin:2px 0}
.sidebar-group>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:11px 13px;
  border-radius:10px;
  font-size:13px;
  font-weight:800;
  color:#655d69;
  cursor:pointer;
  user-select:none;
}
.sidebar-group>summary::-webkit-details-marker{display:none}
.sidebar-group>summary::after{content:'›';font-size:18px;line-height:1;transition:transform .2s ease;color:var(--purple)}
.sidebar-group[open]>summary::after{transform:rotate(90deg)}
.sidebar-group>summary:hover,.sidebar-group[open]>summary{background:#faf5fc;color:var(--purple)}
.sidebar-submenu{display:grid;gap:3px;padding:3px 0 5px 12px;border-left:2px solid #eee3f2;margin-left:13px}
.sidebar-submenu a{padding:9px 10px!important;font-size:12px!important}
.sidebar-submenu a.active{background:#f4eafa!important;color:var(--purple)!important}

/* O carrossel usa uma largura própria para acompanhar visualmente o cabeçalho. */
@media (min-width:901px){
  .home-banners .banner-container{width:min(1360px,calc(100% - 40px));max-width:none}
  .home-banner-slide{height:310px;min-height:310px;align-items:stretch}
  .home-banner-copy{padding:26px 42px 28px 48px}
  .home-banner-copy h2{font-size:clamp(29px,2.7vw,39px)}
  .home-banner-image{height:310px!important;min-height:310px!important;width:100%!important;object-fit:contain!important;object-position:center!important}
}
@media(max-width:820px){
  .sidebar-group{flex:0 0 auto;position:relative}
  .sidebar-group>summary{min-height:40px;padding:9px 11px;white-space:nowrap;background:#faf5fc}
  .sidebar-group[open]{display:flex;align-items:center;gap:5px}
  .sidebar-group[open]>.sidebar-submenu{display:flex;gap:5px;padding:0;margin:0;border:0}
  .sidebar-submenu a{flex:0 0 auto!important;min-height:40px!important;padding:8px 10px!important}
}
@media(max-width:600px){
  .sidebar-group>summary{font-size:12px;padding:8px 9px}
  .sidebar-submenu a{font-size:11px!important}
}
