/* Ensure padding doesn't add to viewport height by using border-box sizing */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Adjustable logo max-width (percentage of the card). Change `--logo-max-width` to control logo sizing. */
:root {
  --logo-max-width: 100%;
}

html,
body,
.site-root {
  height: 100%;
}

body {
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto,
    "Helvetica Neue", Arial;
  margin: 0;
  padding: 24px;
  background-color: #000;
  /* Background image with a semi-transparent black overlay on top */
  background-image: linear-gradient(rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.55)),
    url("/assets/background.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #111;
  min-height: 100vh;
}

/* Center the main area vertically and horizontally */
#app {
  min-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* prevent small horizontal overflow which can cause scrollbars */
html,
body {
  overflow-x: hidden;
}

#logo-area.centered {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.logo-grid {
  display: grid;
  /* Always vertical: single column */
  grid-template-columns: 1fr;
  gap: 12px;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

.logo-link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px; /* slimmer buttons */
  /* background: #fff; */
  border-radius: 8px;
  /* border: 1px solid #eee; */
  box-shadow: 0 1px 3px rgba(16, 24, 40, 0.04);
  min-height: 48px;
}

.logo {
  /* max width as a percentage of the `.logo-link` card */
  max-width: var(--logo-max-width);
  max-height: 1200px;
  object-fit: contain;
}

@media (max-width: 600px) {
  body {
    padding: 16px;
  }
  .logo-grid {
    grid-template-columns: 1fr !important;
    gap: 12px;
    align-items: center;
  }
  .logo-link {
    padding: 12px;
    min-height: 56px;
  }
  .logo {
    max-height: 100px;
    max-width: 95%;
  }
}

.logo-link img {
  transition: transform 180ms ease, opacity 180ms ease;
}
