/* ==========================================================================
   URBADAPT theme
   Palette taken from the project logo: deep navy (the city skyline) and the
   warm orange-red of the sun and adaptation arrows.
   ========================================================================== */

:root {
  --urb-navy: #123a6d;
  --urb-navy-dark: #0c2749;
  --urb-navy-light: #2f6bb5;
  --urb-orange: #e8461e;
  --urb-amber: #f7941e;
  --urb-sky: #4a9fe0;
}

/* Material colour hooks -------------------------------------------------- */

[data-md-color-scheme="default"] {
  --md-primary-fg-color: var(--urb-navy);
  --md-primary-fg-color--light: var(--urb-navy-light);
  --md-primary-fg-color--dark: var(--urb-navy-dark);
  --md-accent-fg-color: var(--urb-orange);
  --md-typeset-a-color: var(--urb-navy-light);
}

[data-md-color-scheme="slate"] {
  --md-primary-fg-color: var(--urb-navy-dark);
  --md-primary-fg-color--light: var(--urb-navy-light);
  --md-primary-fg-color--dark: #081c35;
  --md-accent-fg-color: var(--urb-amber);
  --md-typeset-a-color: #7fb8ea;
  --md-default-bg-color: #101820;
}

/* Header ----------------------------------------------------------------- */

.md-header__button.md-logo img {
  height: 2rem;
  width: auto;
}

/* Landing hero ----------------------------------------------------------- */

.urb-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.6rem;
  padding: 2.2rem 1rem 1.4rem;
  border-radius: 0.6rem;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(247, 148, 30, 0.16), transparent 62%),
    linear-gradient(160deg, rgba(18, 58, 109, 0.07), rgba(232, 70, 30, 0.06));
}

[data-md-color-scheme="slate"] .urb-hero {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(247, 148, 30, 0.2), transparent 62%),
    linear-gradient(160deg, rgba(47, 107, 181, 0.16), rgba(232, 70, 30, 0.1));
}

.urb-hero img.urb-hero__logo {
  width: min(320px, 62%);
  height: auto;
  margin-bottom: 0.4rem;
}

.urb-hero__tagline {
  font-size: 1.15rem;
  line-height: 1.5;
  font-weight: 400;
  max-width: 44rem;
  margin: 0 auto;
  color: var(--md-default-fg-color--light);
}

.urb-hero__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  justify-content: center;
  margin-top: 0.8rem;
}

/* Keep the hero H1 out of the flow of the page title styling */
.urb-hero h1 {
  margin: 0;
  font-weight: 700;
  letter-spacing: -0.02em;
}

/* Buttons ---------------------------------------------------------------- */

.md-typeset .md-button {
  border-radius: 0.4rem;
  font-weight: 600;
}

.md-typeset .md-button--primary {
  background-color: var(--urb-orange);
  border-color: var(--urb-orange);
  color: #fff;
}

.md-typeset .md-button--primary:hover,
.md-typeset .md-button--primary:focus {
  background-color: var(--urb-navy);
  border-color: var(--urb-navy);
  color: #fff;
}

/* Figure cards ----------------------------------------------------------- */

.md-typeset figure {
  margin: 1.6rem 0;
  padding: 0.8rem;
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 0.5rem;
  background-color: var(--md-code-bg-color);
}

.md-typeset figure img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
  border-radius: 0.25rem;
  background: #fff; /* publication figures are rendered on white */
}

.md-typeset figure figcaption {
  margin-top: 0.7rem;
  font-size: 0.72rem;
  line-height: 1.6;
  text-align: left;
  max-width: none;
  color: var(--md-default-fg-color--light);
}

.md-typeset figure figcaption strong {
  color: var(--md-default-fg-color);
}

/* Wiki-source footer injected by scripts/sync_wiki.py -------------------- */

.urb-source {
  margin-top: 2.5rem;
  padding-top: 0.8rem;
  border-top: 1px solid var(--md-default-fg-color--lightest);
  font-size: 0.68rem;
  color: var(--md-default-fg-color--light);
}

/* Tables ----------------------------------------------------------------- */

.md-typeset table:not([class]) {
  font-size: 0.72rem;
}

.md-typeset table:not([class]) th {
  background-color: var(--md-primary-fg-color);
  color: #fff;
}

/* Wide tables and figures must scroll inside their own container */
.md-typeset .md-typeset__table {
  overflow-x: auto;
}
