/* V176 — ciclo responsivo único do menu lateral. */
:root { --v176-sidebar-width: 258px; }
.layout > .sidebar img[alt="Claudio Oliveira Advocacia"] {
  display: block !important;
  width: 160px !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto 10px !important;
  object-fit: contain;
}
.layout > .sidebar > div:first-child {
  box-sizing: border-box !important; display: flex !important; flex-direction: column !important;
  align-items: center !important; width: 100% !important; max-width: none !important;
  margin-inline: 0 !important; padding-inline: 0 !important; text-align: center !important;
}
.layout > .sidebar > div:first-child > div:last-child {
  box-sizing: border-box !important; width: 160px !important; max-width: 100% !important; margin-inline: auto !important;
  padding-inline: 0 !important; text-align: center !important;
}
.v176-sidebar-toggle {
  display: grid; place-items: center; width: 28px; height: 32px; padding: 0;
  border: 0; border-radius: 7px; background: transparent; color: #49657e;
  cursor: pointer; transition: color 160ms ease, background 160ms ease;
}
.v176-sidebar-toggle:hover,
.v176-sidebar-toggle:focus-visible { background: #edf4f8; color: #173f67; outline: none; }
.v176-sidebar-toggle svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform 180ms ease; }
.v176-sidebar-toggle .v176-hamburger { display: none; }

@media (min-width: 1025px) {
  body.v176-sidebar-collapsed { --v176-sidebar-width: 78px; }
  .layout > .sidebar {
    position: fixed !important; inset: 0 auto 0 0 !important; z-index: 10010 !important;
    display: block !important; visibility: visible !important; opacity: 1 !important;
    width: var(--v176-sidebar-width) !important; height: 100dvh !important; min-height: 100dvh !important;
    overflow-x: hidden !important; overflow-y: auto !important; overscroll-behavior: contain;
    background: #fff; scrollbar-width: thin; scrollbar-color: #bfd0dd transparent;
    transition: width 180ms ease, padding 180ms ease;
  }
  .layout > .sidebar + div {
    position: relative !important; z-index: 1 !important;
    width: calc(100% - var(--v176-sidebar-width)) !important;
    margin-left: var(--v176-sidebar-width) !important;
    transition: width 180ms ease, margin-left 180ms ease;
  }
  .v176-sidebar-toggle { position: fixed; top: 14px; left: calc(var(--v176-sidebar-width) - 40px); right: auto; z-index: 10030; }
  body.v176-sidebar-collapsed .v176-sidebar-toggle svg { transform: rotate(180deg); }
  body.v176-sidebar-collapsed .layout > .sidebar { padding-left: 12px !important; padding-right: 12px !important; }
  body.v176-sidebar-collapsed .sidebar img { width: 50px !important; max-width: 50px !important; height: auto !important; margin-inline: auto !important; }
  body.v176-sidebar-collapsed .sidebar .nav-row { align-items: center; }
  body.v176-sidebar-collapsed .sidebar .nav-btn {
    display: flex !important; align-items: center !important; justify-content: center !important;
    width: 48px !important; min-width: 48px !important; padding: 10px !important; margin-inline: auto !important;
    overflow: hidden !important; white-space: nowrap !important; font-size: 0 !important;
  }
  body.v176-sidebar-collapsed .sidebar .nav-btn .premium-nav-icon,
  body.v176-sidebar-collapsed .sidebar .nav-btn .v93-nav-icon { margin: 0 !important; flex: 0 0 auto !important; }
  body.v176-sidebar-collapsed .sidebar .v107-admin { margin-inline: 0 !important; }
  body.v176-sidebar-collapsed .sidebar .v107-admin-toggle { display: grid !important; grid-template-columns: 1fr !important; width: 48px !important; min-width: 48px !important; margin: 0 auto !important; padding: 9px !important; }
  body.v176-sidebar-collapsed .sidebar .v107-admin-toggle > span:not(.v107-admin-icon),
  body.v176-sidebar-collapsed .sidebar .v107-admin-submenu { display: none !important; }
  body.v176-sidebar-collapsed .sidebar .v107-admin-icon { margin: 0 auto !important; }
  body.v176-sidebar-collapsed .sidebar .cc180-menu { width: 48px !important; margin-inline: auto !important; }
  body.v176-sidebar-collapsed .sidebar .cc180-menu-main {
    justify-content: center !important; width: 48px !important; min-width: 48px !important;
    min-height: 48px !important; padding: 10px !important; overflow: hidden !important;
  }
  body.v176-sidebar-collapsed .sidebar .cc180-menu-main > span:not(.cc180-menu-icon),
  body.v176-sidebar-collapsed .sidebar .cc180-submenu { display: none !important; }
  body.v176-sidebar-collapsed .sidebar .cc180-menu-icon { flex-basis: 28px !important; margin: 0 !important; }
  body.v176-sidebar-collapsed .sidebar .j2433-legal-main { display: none !important; }
  body.v176-sidebar-collapsed .sidebar .j2433-legal-menu,
  body.v176-sidebar-collapsed .sidebar .j2433-legal-submenu {
    display: grid !important; width: 48px !important; gap: 6px !important;
    margin-inline: auto !important; padding: 0 !important;
  }
  body.v176-sidebar-collapsed .sidebar .j2433-legal-submenu > .nav-btn {
    display: grid !important; place-items: center !important; width: 48px !important;
    min-width: 48px !important; min-height: 48px !important; padding: 10px !important;
    margin: 0 !important; overflow: hidden !important; font-size: 0 !important;
  }
  body.v176-sidebar-collapsed .sidebar .j2433-legal-submenu > .nav-btn > span:not(:first-child) { display: none !important; }
  body.v176-sidebar-collapsed .sidebar .j2433-panel-icon,
  body.v176-sidebar-collapsed .sidebar .j2433-case-icon { margin: 0 !important; }
}

@media (max-width: 1024px) {
  .v106-menu-toggle,
  .v106-menu-backdrop,
  .v106-sidebar-close { display: none !important; }
  body.v106-menu-open { overflow: visible !important; }
  .layout {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    overflow-x: clip !important;
  }
  .layout > .sidebar {
    position: relative !important; inset: auto !important; z-index: 10010 !important;
    box-sizing: border-box !important; width: 100% !important; min-width: 0 !important; max-width: 100vw !important;
    height: 0 !important; min-height: 0 !important; max-height: 0 !important;
    padding: 0 !important; overflow: visible !important;
    border: 0 !important; background: transparent !important;
    transition: max-height 200ms ease, box-shadow 200ms ease;
    transform: none !important;
  }
  .layout > .sidebar img[alt="Claudio Oliveira Advocacia"] { width: 130px !important; max-width: 130px !important; max-height: none !important; margin: 0 auto 4px !important; }
  .layout > .sidebar > div:first-child { text-align: center !important; }
  .layout > .sidebar > div:first-child > div:last-child {
    text-align: center !important; font-size: 10px !important; letter-spacing: .11em !important;
  }
  .layout > .sidebar .nav-row,
  .layout > .sidebar .cc180-menu,
  .layout > .sidebar .v107-admin,
  .layout > .sidebar > :not(img):not(.v176-sidebar-toggle) { visibility: hidden; }
  .layout > .sidebar > div:first-child { visibility: hidden !important; }
  .layout > .sidebar + div { box-sizing: border-box !important; width: 100% !important; min-width: 0 !important; max-width: 100% !important; margin-left: 0 !important; }
  .v176-sidebar-toggle { position: fixed; top: 50px; left: 14px; right: auto; z-index: 100130; width: 42px; height: 40px; border: 1px solid #cbd8e5; background: #173b63; color: #fff; box-shadow: 0 4px 14px rgba(17,39,68,.18); }
  .v176-sidebar-toggle svg { width: 20px; height: 20px; transform: none; }
  .v176-sidebar-toggle .v176-chevron { display: none; }
  .v176-sidebar-toggle .v176-hamburger { display: block; }
  body.v176-mobile-menu-open { overflow: hidden; }
  body.v176-mobile-menu-open .layout > .sidebar {
    position: fixed !important; inset: 40px auto 0 0 !important; z-index: 100120 !important;
    width: min(340px, 92vw) !important; max-width: min(340px, 92vw) !important;
    height: calc(100dvh - 40px) !important; max-height: calc(100dvh - 40px) !important;
    padding: 16px 14px 24px !important; overflow-y: auto !important; box-shadow: 0 16px 45px rgba(18,33,64,.18);
    border-right: 1px solid #d8e4ed !important; background: #fff !important;
  }
  body.v176-mobile-menu-open .layout > .sidebar > div:first-child { visibility: visible !important; }
  body.v176-mobile-menu-open .layout > .sidebar img[alt="Claudio Oliveira Advocacia"] {
    width: 168px !important; max-width: 168px !important; margin-top: 2px !important; margin-bottom: 5px !important;
  }
  body.v176-mobile-menu-open .v176-sidebar-toggle {
    position: fixed; top: 85px; left: min(calc(92vw - 43px), 297px); right: auto;
    color: #49657e; background: #fff; box-shadow: none;
  }
  body.v176-mobile-menu-open .v176-sidebar-toggle .v176-chevron { display: block; }
  body.v176-mobile-menu-open .v176-sidebar-toggle .v176-hamburger { display: none; }
  body.v176-mobile-menu-open .v176-sidebar-toggle svg { transform: rotate(90deg); }
  body.v176-mobile-menu-open .layout > .sidebar .nav-row,
  body.v176-mobile-menu-open .layout > .sidebar .cc180-menu,
  body.v176-mobile-menu-open .layout > .sidebar .v107-admin,
  body.v176-mobile-menu-open .layout > .sidebar > :not(img):not(.v176-sidebar-toggle) { visibility: visible; }
  body.v176-mobile-menu-open .layout > .sidebar .nav-row { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-top: 14px; }
}

@media (max-width: 560px) {
  body.v176-mobile-menu-open .layout > .sidebar .nav-row { grid-template-columns: 1fr; }
}

body:not(.v176-sidebar-collapsed) .sidebar-header > div:first-child > div:last-child{width:160px!important;max-width:160px!important;margin-inline:auto!important;text-align:center!important;font-size:10px!important;letter-spacing:.1em!important;white-space:nowrap!important}
