.site-header,
header.royal-header {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 166px !important;
  padding: 18px clamp(20px, 2.25vw, 44px) !important;
  box-sizing: border-box !important;
  background: #fff !important;
  border-bottom: 1px solid #d9e2e6 !important;
}

.site-header .left-logos,
.royal-header .left-logos {
  display: flex !important;
  align-items: center !important;
  flex-direction: row-reverse !important;
  gap: 10px !important;
  z-index: 1;
}

.site-header .left-logos img,
.royal-header .left-logos img {
  width: auto !important;
  max-width: 150px !important;
  max-height: 58px !important;
  object-fit: contain !important;
}

/* Optical balance: the wider alca oval needs less height than HEYNER. */
.site-header .left-logos a:first-child img,
.royal-header .left-logos a:first-child img,
.site-header .left-logos #logoHeyner,
.royal-header .left-logos #logoHeyner {
  max-width: 130px !important;
  max-height: 64px !important;
}

.site-header .left-logos a:nth-child(2) img,
.royal-header .left-logos a:nth-child(2) img,
.site-header .left-logos #logoAlca,
.royal-header .left-logos #logoAlca {
  max-width: 110px !important;
  max-height: 50px !important;
}

.site-header .logo-main,
.royal-header .logo-main {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: translate(-50%, -50%) !important;
  z-index: 2;
}

.site-header .logo-main img,
.royal-header .logo-main img {
  display: block !important;
  width: auto !important;
  max-width: 220px !important;
  max-height: 96px !important;
  object-fit: contain !important;
}

.site-header .contact-info,
.royal-header .contact-info {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  z-index: 3;
  margin-left: auto;
  text-align: right !important;
  align-items: flex-end !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
}

@media (max-width: 980px) {
  .site-header,
  header.royal-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px 24px !important;
    min-height: 0 !important;
    padding: 18px 24px !important;
  }

  .site-header .logo-main,
  .royal-header .logo-main {
    position: static !important;
    grid-column: 1 / -1;
    justify-self: center;
    transform: none !important;
  }

  .site-header .logo-main img,
  .royal-header .logo-main img {
    max-width: 190px !important;
    max-height: 78px !important;
  }
}

@media (max-width: 640px) {
  .site-header,
  header.royal-header {
    grid-template-columns: 1fr;
    justify-items: center;
    padding: 16px !important;
  }

  .site-header .left-logos,
  .royal-header .left-logos {
    justify-content: center !important;
  }

  .site-header .left-logos img,
  .royal-header .left-logos img {
    max-width: 110px !important;
    max-height: 44px !important;
  }

  .site-header .left-logos a:first-child img,
  .royal-header .left-logos a:first-child img,
  .site-header .left-logos #logoHeyner,
  .royal-header .left-logos #logoHeyner {
    max-width: 104px !important;
    max-height: 50px !important;
  }

  .site-header .left-logos a:nth-child(2) img,
  .royal-header .left-logos a:nth-child(2) img,
  .site-header .left-logos #logoAlca,
  .royal-header .left-logos #logoAlca {
    max-width: 94px !important;
    max-height: 42px !important;
  }

  .site-header .contact-info,
  .royal-header .contact-info {
    width: auto !important;
    margin-left: 0 !important;
    text-align: center !important;
    align-items: center !important;
    justify-self: center;
  }
}
