/* Mobile and tablet navigation, independent of the original menu plugin. */
.sb-mobile-header { display: none; }
@media (max-width: 1199px), (pointer: coarse) {
  body.brz .brz-section__header { display: none !important; }
  .sb-mobile-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; position: sticky; top: 0; z-index: 10000; box-sizing: border-box; width: 100%; padding: 12px 16px; background: #fff; border-bottom: 1px solid #e4dce8; color: #38263f; font-family: Montserrat, Arial, sans-serif; }
  .sb-mobile-header * { box-sizing: border-box; }
  .sb-mobile-header .sb-brand { color: #7b33a9; font-size: 16px; font-weight: 600; line-height: 1.4; text-decoration: none; }
  .sb-mobile-header details { margin: 0; }
  .sb-mobile-header summary { display: flex; align-items: center; gap: 8px; list-style: none; cursor: pointer; min-height: 44px; padding: 10px 12px; border: 1px solid #7b33a9; border-radius: 4px; color: #612586; background: #fff; font-size: 16px; font-weight: 600; line-height: 1.4; }
  .sb-mobile-header summary::-webkit-details-marker { display: none; }
  .sb-mobile-header summary::after { content: '+'; font-size: 22px; line-height: 1; }
  .sb-mobile-header details[open] summary::after { content: '−'; }
  .sb-mobile-header nav { position: absolute; top: 100%; left: 0; right: 0; padding: 8px 16px 16px; background: #fff; border-bottom: 1px solid #e4dce8; box-shadow: 0 8px 16px #38263f18; max-height: 70vh; overflow-y: auto; }
  .sb-mobile-header nav a { display: block; padding: 14px 12px; min-height: 48px; color: #38263f; font-size: 16px; line-height: 1.5; text-decoration: none; border-radius: 4px; }
  .sb-mobile-header nav a:hover, .sb-mobile-header nav a[aria-current="page"] { background: #f3ecf7; color: #612586; }
  .sb-mobile-header a:focus-visible, .sb-mobile-header summary:focus-visible { outline: 3px solid #7b33a9; outline-offset: 3px; }
}
