/* The regular navigation stays in view at every width. */
body header.granov-header[data-dg-full-nav] .granov-header__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 14px;
  width: min(1320px, calc(100% - 48px));
  padding: 18px 0;
  margin-inline: auto;
}
body header.granov-header[data-dg-full-nav] .granov-header__brand { display: block; min-width: 0; }
body header.granov-header[data-dg-full-nav] .granov-header__logo { max-width: 100%; }
body header.granov-header[data-dg-full-nav] .granov-header__menu {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 clamp(8px, 1vw, 15px);
  max-height: none;
  margin: 0;
  padding: 6px 12px;
  overflow: visible;
  border: 1px solid #e1ebef;
  border-radius: 9px;
  box-shadow: none;
  white-space: normal;
}
body header.granov-header[data-dg-full-nav] .granov-header__menu > :is(a, details) {
  border: 0;
  flex: none;
}
body header.granov-header[data-dg-full-nav] .granov-header__menu > a,
body header.granov-header[data-dg-full-nav] .granov-header__menu > details > summary {
  display: flex;
  align-items: center;
  min-height: 38px;
  padding: 5px 2px;
  color: #253b47;
  line-height: 1.25;
  text-decoration-thickness: 1px;
}
body header.granov-header[data-dg-full-nav] .granov-header__menu > .granov-header__booking {
  min-height: 38px;
  padding-inline: 10px;
  border-radius: 6px;
  background: #155e79;
  color: #fff;
  font-weight: 700;
}
body header.granov-header[data-dg-full-nav] .granov-header__menu > .granov-header__booking:hover {
  background: #104860;
  color: #fff;
}
@media (max-width: 1270px) {
  body header.granov-header[data-dg-full-nav] { position: relative; }
  body header.granov-header[data-dg-full-nav] .granov-header__row {
    grid-template-columns: minmax(0, 1fr) auto;
    align-content: start;
    gap: 9px 12px;
    padding-block: 12px;
  }
  body header.granov-header[data-dg-full-nav] .granov-header__actions {
    grid-area: 1 / 2;
  }
  body header.granov-header[data-dg-full-nav] .granov-header__menu {
    grid-area: 2 / 1 / 3 / -1;
  }
}
@media (max-width: 1150px) {
  html:has(body > header.granov-header[data-dg-full-nav]) {
    --granov-mobile-top: 0px;
    scroll-padding-top: 16px;
  }
  body header.granov-header[data-dg-full-nav] .granov-header__details {
    grid-area: auto;
    display: flex;
    margin-top: 4px;
  }
  body header.granov-header[data-dg-full-nav] .granov-header__menu {
    inset: auto;
    background: #f8fbfc;
    justify-content: flex-start;
    font-size: 13px;
  }
  body header.granov-header[data-dg-full-nav] .granov-header__menu details { position: static; }
  body header.granov-header[data-dg-full-nav] .granov-header__menu ul {
    position: absolute;
    inset: calc(100% + 4px) 0 auto;
    width: auto;
    max-height: min(55vh, 500px);
    max-height: min(55dvh, 500px);
    padding: 6px 10px;
    border: 1px solid #d7e6ea;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 24px #173b5024;
    z-index: 3;
  }
  body header.granov-header[data-dg-full-nav] .granov-header__menu li a {
    padding-inline: 8px;
  }
}
@media (max-width: 600px) {
  body header.granov-header[data-dg-full-nav] .granov-header__row {
    width: calc(100% - 24px);
    gap: 8px;
    padding-top: max(10px, env(safe-area-inset-top, 0px));
    padding-bottom: 8px;
  }
  body header.granov-header[data-dg-full-nav] .granov-header__logo { width: clamp(177px, 59vw, 258px); }
  body header.granov-header[data-dg-full-nav] .granov-header__menu {
    padding: 3px 7px;
    gap: 0 9px;
    font-size: 12.5px;
  }
  body header.granov-header[data-dg-full-nav] .granov-header__menu > a,
  body header.granov-header[data-dg-full-nav] .granov-header__menu > details > summary {
    min-height: 34px;
  }
  body header.granov-header[data-dg-full-nav] .granov-header__menu > .granov-header__booking {
    min-height: 34px;
    margin-block: 2px;
    padding-inline: 7px;
  }
  body.home-restored header.granov-header[data-dg-full-nav] .granov-header__details { display: none; }
}

/* Align the menu with the logo itself. Address and hours have their own row. */
@media (min-width: 920px) {
  body header.granov-header[data-dg-full-nav] .granov-header__row {
    grid-template-columns: minmax(0, 1fr) max-content auto;
    column-gap: 14px;
    row-gap: 3px;
  }
  body header.granov-header[data-dg-full-nav] .granov-header__brand { display: contents; }
  body header.granov-header[data-dg-full-nav] .granov-header__logo { grid-area: 1 / 1; }
  body header.granov-header[data-dg-full-nav] .granov-header__details {
    grid-area: 2 / 1 / 3 / 3;
    margin-top: 0;
  }
  body header.granov-header[data-dg-full-nav] .granov-header__menu {
    grid-area: 1 / 2;
    justify-self: end;
    flex-wrap: nowrap;
  }
  body header.granov-header[data-dg-full-nav] .granov-header__actions { grid-area: 1 / 3 / 3 / 4; }
}
@media (min-width: 920px) and (max-width: 1150px) {
  body header.granov-header[data-dg-full-nav] .granov-header__row {
    grid-template-columns: minmax(0, 1fr) max-content;
  }
  body header.granov-header[data-dg-full-nav] .granov-header__actions {
    grid-area: 1 / 2;
    justify-self: end;
  }
}

/* Keep the shared links directly on the header, with the booking button as the CTA. */
body header.granov-header[data-dg-full-nav] .granov-header__menu {
  border: 0;
  border-radius: 0;
  padding-inline: 0;
  background: transparent;
}
@media (min-width: 920px) {
  body header.granov-header[data-dg-full-nav] .granov-header__menu > a:not(.granov-header__booking),
  body header.granov-header[data-dg-full-nav] .granov-header__menu > details > summary {
    font-size: clamp(13px, calc(7px + .55vw), 16px);
    font-weight: 500;
  }
}
