/* Content safeguards shared by every bundled theme, including generated CSS builds. */
body { overflow-wrap: anywhere; }
:where(main, header, footer, #announcement-bar) :where(*) { min-width: 0; }
:where(main, header, footer) :where(img, video, iframe, input, select, textarea) { max-width: 100%; }
:where(main, header, footer) a { max-width: 100%; }
.btn-pill, .loom-button, .loom-nav__item > a { white-space: normal; max-width: 100%; }
.btn-pill > *, .loom-button > * { min-width: 0; }
#announcement-bar .flex { flex-wrap: wrap; }
#site-header nav[class*="lg:flex"], .loom-nav--desktop { flex-wrap: wrap; }
#site-header :is(.h-14, .h-16, .h-20) { height: auto; min-height: 4rem; padding-block: .5rem; gap: .75rem; }
#site-header nav .group:focus-within > .invisible { opacity: 1; visibility: visible; }
#site-header nav .group > .absolute { max-width: calc(100vw - 2rem); }
#site-header nav .group > .absolute > * { min-width: min(200px, calc(100vw - 2rem)); }
.loom-nav__children { visibility: hidden; }
.loom-nav__item:is(:hover, :focus-within) > .loom-nav__children { visibility: visible; }
.loom-nav--mobile .loom-nav__children { visibility: visible; }

/* Switch crowded desktop navigation to the existing menu, not clipped links. */
#site-header.theme-nav-compact [data-theme-desktop-nav],
#site-header.theme-nav-compact .hidden.lg\:inline-block,
#site-header.theme-nav-compact a[href^="tel:"],
#site-header.theme-nav-compact .loom-header__actions > .loom-button,
#site-header.theme-nav-compact > div > .hidden.lg\:flex { display: none !important; }
#site-header.theme-nav-compact .mobile-menu-btn,
#site-header.theme-nav-compact .loom-menu-button { display: inline-flex !important; flex-shrink: 0; }
#site-header.theme-nav-compact .loom-menu-button { display: grid !important; }
.loom-mobile-panel:not([hidden]) .loom-menu-close { display: grid; }
#site-header.theme-nav-compact .mobile-nav:not(.hidden),
#site-header.theme-nav-compact > div > .flex.lg\:hidden { display: flex !important; }
#site-header.theme-nav-compact .loom-header__inner { grid-template-columns: minmax(0, 1fr) auto; }

/* With JavaScript disabled, navigation and answers remain available. */
@media (scripting: none) {
  .mobile-menu-btn, .loom-menu-button, .loom-menu-close, .loom-nav__submenu-toggle { display: none !important; }
  .mobile-nav.hidden { display: block !important; max-height: none !important; }
  .loom-mobile-panel[hidden] { display: block; position: static; }
  .loom-nav--mobile .loom-nav__children[hidden] { display: block; }
  .faq-answer { max-height: none !important; opacity: 1 !important; }
}
