/* ==========================================================================
   CSS Variables for Theming
   ========================================================================== */

:root {
  /* Light theme (default) */
  --bg-color: #ffffff;
  --text-color: #000000;
  --link-color: #808080;
  --accent-color: #ff0000;
}

/* Dark theme */
@media (prefers-color-scheme: dark) {
  :root {
    --bg-color: #1a1a1a;
    --text-color: #e0e0e0;
    --link-color: #a0a0a0;
    --accent-color: #ff4444;
  }
}

/* ==========================================================================
   Mobile-First Base Styles
   ========================================================================== */

*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-family: 'Lato', sans-serif;
}

html,
body,
.wrapper {
  height: auto;
}

body {
  text-align: center;
  padding: 0 1rem;
  background-color: var(--bg-color);
  color: var(--text-color);
}

p {
  font-size: 1em;
}

a {
  text-decoration: none;
}

a, footer {
  color: var(--link-color);
}

header {
  margin-top: 3rem;
  font-size: 1.5em;
}

/* Info container - mobile: stacked layout */
.info {
  display: block;
  width: 100%;
}

/* Text and links - mobile: full width, stacked */
.text {
  width: 100%;
  text-align: center;
  margin-bottom: 1rem;
}

.links {
  width: 100%;
  text-align: center;
}

footer, .mailto {
  font-size: 0.7em;
}

footer {
  margin-top: 3rem;
}

.heart {
  color: var(--accent-color);
}

/* ==========================================================================
   Tablet Breakpoint (768px+)
   ========================================================================== */

@media (min-width: 768px) {
  body {
    padding: 0 2rem;
  }

  header {
    margin-top: 5rem;
    font-size: 1.8em;
  }

  footer {
    margin-top: 5rem;
  }

  /* Start transitioning to side-by-side layout */
  .text {
    margin-bottom: 0;
  }
}

/* ==========================================================================
   Desktop Breakpoint (1024px+)
   ========================================================================== */

@media (min-width: 1024px) {
  body {
    padding: 0;
  }

  header {
    margin-top: 10%;
    font-size: 1.8em;
  }

  footer {
    margin-top: 10%;
  }
}
