:root {
  --orange: #175b49;
  --brand-accent: #175b49;
  --brand-accent-dark: #103f34;
  --brand-accent-soft: #dcebe5;
}

/* Verona Respira: all former orange brand accents are now nature green. */
.account-eyebrow,
.heat-advice-modal > header .eyebrow,
.privacy-eyebrow {
  color: var(--brand-accent);
}

.account-secondary,
.intro-logo span,
.intro-accept,
.stats-admin-login > span,
.privacy-mark {
  background: var(--brand-accent) !important;
}

.account-secondary:hover,
.account-secondary:focus-visible,
.intro-accept:hover,
.intro-accept:focus-visible {
  background: var(--brand-accent-dark);
}

.stats-donut {
  background:
    radial-gradient(circle, #fff 0 49%, transparent 51%),
    conic-gradient(
      var(--brand-accent) 0 var(--building),
      #15956a var(--building) var(--park),
      #aebdb8 var(--park) 100%
    );
}

.stats-building {
  background: var(--brand-accent);
}

/* Preserve semantic weather and thermal scales; only brand chrome changes. */
.weather-button {
  border-color: #b8cec5;
  background: #e7f1ed;
  color: var(--brand-accent);
}

.heat-emergency {
  background: #e8f2ee;
  color: var(--brand-accent-dark);
}

.intro-logo span,
.privacy-mark {
  font-size: 24px !important;
  letter-spacing: -0.06em;
}

/* Circular VR mark: user-provided layered landscape, with a light darkening veil
   so the white initials remain legible at every rendered size. */
.brandmark,
.intro-logo span,
.privacy-mark {
  border-radius: 50% !important;
  overflow: hidden;
  background-color: var(--brand-accent-dark) !important;
  background-image:
    linear-gradient(rgba(7, 43, 36, 0.18), rgba(7, 43, 36, 0.18)),
    url("../assets/vr-mountain-background.png") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  color: #fff !important;
  text-shadow: 0 1px 5px rgba(4, 29, 24, 0.9);
  transform: none !important;
}

/* Header initials reduced by 10% from the previous size; circle unchanged. */
.brandmark {
  font-size: clamp(15.12px, 3.564vw, 23.76px);
}

.brand strong {
  color: #082f26;
  font-weight: 700;
}

.brand > div > span {
  color: #214f44;
  font-weight: 700;
}

/* Desktop: use the otherwise empty header area for the primary search. */
@media (min-width: 701px) {
  .welcome {
    z-index: 41;
    top: 8px;
    left: 190px;
    right: 330px;
    width: auto;
    height: 60px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    display: grid;
    grid-template-columns: minmax(170px, 290px) minmax(300px, 560px);
    align-items: center;
    justify-content: center;
    gap: clamp(14px, 2vw, 32px);
  }

  .welcome::after,
  .welcome > .eyebrow,
  .welcome > p {
    display: none;
  }

  .welcome h1 {
    margin: 0;
    font-size: clamp(18px, 1.55vw, 25px);
    line-height: 1.02;
  }

  .welcome .searchbox {
    width: 100%;
    height: 46px;
    margin: 0;
    box-shadow: 0 3px 14px rgba(23, 61, 54, 0.12);
  }

  .welcome .searchbox button {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
  }

  .welcome #result-list {
    position: absolute;
    top: 58px;
    right: 0;
    width: min(560px, 62%);
    margin: 5px 0 0;
    border: 1px solid #d6dfdc;
    box-shadow: 0 12px 28px rgba(23, 61, 54, 0.24);
  }
}

@media (min-width: 701px) and (max-width: 1080px) {
  .welcome {
    left: 175px;
    right: 290px;
    grid-template-columns: minmax(0, 1fr);
  }

  .welcome h1 {
    display: none;
  }

  .welcome #result-list {
    width: 100%;
  }
}
