.site-nav-item { box-sizing: border-box; }
.site-nav-label { display: flex; align-items: center; color: #555; cursor: pointer; text-decoration: none; }
.site-nav-item summary { list-style: none; }
.site-nav-item summary::-webkit-details-marker { display: none; }
.site-nav-icon { flex: none; width: 16px; height: 16px; object-fit: contain; }
.site-nav-title { min-width: 0; }
.site-nav-chevron { display: inline-block; width: 6px; height: 6px; border-left: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(-45deg); flex: none; }
.site-nav-submenu { background: #fff; z-index: 1001; }
.site-nav-submenu a, .site-nav-submenu span { display: block; color: #555; text-decoration: none; }
.site-nav-submenu a:hover { color: #608f1c; background: #f5f9f0; }

/* Match the original toolbar's icon and text spacing. */
.site-nav-item--desktop { position: relative; float: right; margin: 24px 15px 0 0; font-size: 13px; }
.site-nav-item--desktop > .site-nav-label, a.site-nav-item--desktop.site-nav-label { height: 20px; color: #222; }
.site-nav-item--desktop .site-nav-icon { margin: 2px 10px 0; }
.site-nav-item--desktop .site-nav-chevron { margin-right: 11px; }
.site-nav-item--desktop:hover > .site-nav-label,
.site-nav-item--desktop[open] > .site-nav-label,
a.site-nav-item--desktop:hover,
a.site-nav-item--desktop.site-nav-current,
.site-nav-item--desktop.site-nav-current > .site-nav-label { color: #74b537; }
.site-nav-item--desktop > .site-nav-submenu { position: absolute; top: 28px; right: 0; min-width: 240px; max-width: 320px; max-height: 65vh; overflow-y: auto; border: 1px solid #e5e5e5; border-radius: 7px; box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.site-nav-item--desktop .site-nav-submenu a,
.site-nav-item--desktop .site-nav-submenu span { padding: 11px 15px; font-size: 12px; line-height: 1.7; white-space: normal; border-bottom: 1px solid #f2f2f2; }
.site-nav-item--desktop .site-nav-submenu > :last-child { border-bottom: 0; }

/* Match the signed-in drawer's menu-item-side rows. */
#slide-out .site-nav-item--mobile { display: block; width: 100%; margin: 5px 0; font-size: 12px; }
#slide-out .site-nav-item--mobile > .site-nav-label,
#slide-out a.site-nav-item--mobile,
#slide-out span.site-nav-item--mobile { min-height: 50px; padding: 2px 5px; }
#slide-out a.site-nav-item--mobile,
#slide-out span.site-nav-item--mobile { display: flex; align-items: center; }
#slide-out .site-nav-item--mobile .site-nav-icon { width: 19px; height: 19px; margin: 0 10px; }
#slide-out .site-nav-item--mobile .site-nav-title { margin: 0 14px; line-height: 1.6; }
#slide-out .site-nav-item--mobile .site-nav-chevron { margin-right: auto; margin-left: 18px; }
#slide-out .site-nav-item--mobile:hover > .site-nav-label,
#slide-out a.site-nav-item--mobile:hover,
#slide-out .site-nav-item--mobile[open] > .site-nav-label { background: #f2f2f2; }
#slide-out .site-nav-item--mobile.site-nav-current > .site-nav-label,
#slide-out a.site-nav-item--mobile.site-nav-current { color: #74b537; }
#slide-out .site-nav-item--mobile > .site-nav-submenu { margin: 0 22px 8px 16px; background: #f9fbf6; border-right: 2px solid #83b852; }
#slide-out .site-nav-submenu a,
#slide-out .site-nav-submenu span { padding: 9px 14px; font-size: 12px; line-height: 1.7; white-space: normal; border-bottom: 1px solid #edf1e8; }
#slide-out .site-nav-submenu > :last-child { border-bottom: 0; }

/* Guest drawer uses the same icon and row treatment. */
#menu { overflow-y: auto; }
#menu .site-nav-item--mobile { display: block; width: calc(100% - 24px); max-width: 460px; margin: 5px auto; text-align: right; background: #fafafa; border-radius: 7px; font-size: 12px; }
#menu .site-nav-item--mobile > .site-nav-label,
#menu a.site-nav-item--mobile,
#menu span.site-nav-item--mobile { min-height: 48px; padding: 5px 14px; }
#menu a.site-nav-item--mobile,
#menu span.site-nav-item--mobile { display: flex; align-items: center; }
#menu .site-nav-item--mobile .site-nav-icon { width: 19px; height: 19px; margin-left: 14px; }
#menu .site-nav-item--mobile .site-nav-chevron { margin-right: auto; margin-left: 10px; }
#menu .site-nav-item--mobile > .site-nav-submenu { border-top: 1px solid #ececec; }
#menu .site-nav-submenu a,
#menu .site-nav-submenu span { padding: 10px 18px; font-size: 12px; line-height: 1.7; border-bottom: 1px solid #f0f0f0; }
#menu .site-nav-submenu > :last-child { border-bottom: 0; }
