/* Native navigation: retain Dimora's composition, identity and motion. */
html {
  scroll-padding-top: calc(var(--dimora-header-height, 95px) + var(--dimora-admin-visible, 0px) + 16px);
}
.site-header {
  position: sticky;
  top: var(--dimora-admin-visible, 0px);
  z-index: 40;
}
.site-header.is-scrolled { box-shadow: 0 8px 25px #2f29260b; }
/* A customer's business name can be longer than the demo wordmark. Keep
   utilities reachable and let the measured header grow instead of overflowing. */
.site-header .header-row {
  height: auto;
  min-height: 94px;
  padding-top: 12px;
  padding-bottom: 12px;
}
.site-header .brand {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 36%;
}
.site-header .brand-word,
.nav-dialog .brand-word {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.05;
}
.site-header .brand-matte,
.nav-dialog .brand-matte { min-width: 0; max-width: 100%; }
.site-header .brand-matte img,
.nav-dialog .brand-matte img { max-width: 100%; }
.site-header .main-nav { min-width: 0; }
.site-header .main-nav ul { flex-wrap: wrap; justify-content: center; row-gap: 0; }
.site-header .header-actions { flex: none; }
.nav-dialog .dialog-top .brand {
  flex: 0 1 auto;
  min-width: 0;
  max-width: calc(100% - 58px);
}
.nav-dialog .dialog-top > .icon-button { flex: none; }
.site-footer .brand { max-width: 100%; }
/* A link is the last child of each menu item: never hide those links at
   intermediate widths. The mobile button takes over at the existing breakpoint. */
.site-header .main-nav a { display: inline-flex; }
.nav-dialog .dimora-menu-tools {
  padding: 12px 30px 26px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  border-top: 1px solid var(--line);
}
.dimora-menu-tools a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  font: 12px/1.4 Inter, Arial, sans-serif;
  overflow-wrap: anywhere;
}
.dimora-menu-tools .icon { width: 19px; height: 19px; flex: none; }
.dimora-menu-tools a:hover { background: var(--cream); }
.site-header a:focus-visible,
.site-header button:focus-visible,
.nav-dialog a:focus-visible,
.nav-dialog button:focus-visible {
  outline: 2px solid var(--wine);
  outline-offset: 5px;
}
@media (min-width: 801px) and (max-width: 1100px) {
  .site-header .header-row { gap: 16px; }
  .site-header .main-nav ul { gap: 16px; }
}
@media (max-width: 800px) {
  .site-header .header-row { min-height: 82px; }
  .site-header .brand { max-width: calc(100% - 170px); }
}
@media (max-width: 600px) {
  .site-header .header-row { min-height: 75px; }
  .site-header .brand { max-width: calc(100% - 144px); }
  html { scroll-padding-top: calc(var(--dimora-header-height, 76px) + var(--dimora-admin-visible, 0px) + 12px); }
  .nav-dialog .dimora-menu-tools { padding: 8px 25px 24px; }
}
@media (max-width: 360px) {
  .site-header .brand { max-width: calc(100% - 129px); }
}
@media (max-height: 480px) and (orientation: landscape) {
  .nav-dialog .dialog-top { padding-top: 12px; padding-bottom: 12px; }
  .nav-dialog nav { padding-top: 8px; padding-bottom: 8px; }
  .nav-dialog nav a { font-size: 26px; padding-top: 12px; padding-bottom: 12px; }
}
