footer {
  text-align: center;
  padding: 20px;
  color: #999;
  font-size: 0.85em;
  border-top: 1px solid #e5e7eb;
  margin-top: 20px;
}

footer a {
  color: #888;
}

footer a:hover {
  color: #2563eb;
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */

/* --- Base --- */

html, body {
  margin: 0;
  padding: 0;
  background-color: #f9fafb;
  font-family: 'Inter', sans-serif;
  color: #333;
  line-height: 1.6;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.content {
  flex: 1;
  max-width: 800px;
  margin: 0 auto;
  padding: 20px clamp(16px, 5vw, 40px);
  width: 100%;
  box-sizing: border-box;
}

a {
  color: #2563eb;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/* --- Search --- */

.search {
  text-align: center;
  margin-bottom: 40px;
}

.search h1 {
  font-size: 1.4em;
  font-weight: 700;
  margin-bottom: 16px;
}

.search label {
  display: block;
  margin-bottom: 8px;
  font-size: 0.95em;
  color: #555;
}

.search input[type="text"] {
  padding: 10px 14px;
  font-size: 1em;
  font-family: 'Nunito', sans-serif;
  border: 1px solid #ccc;
  border-radius: 6px;
  width: 260px;
  max-width: 80%;
  outline: none;
  transition: border-color 0.2s;
}

.search input[type="text"]:focus {
  border-color: #2563eb;
}

.search input[type="submit"] {
  padding: 10px 20px;
  font-size: 1em;
  font-family: 'Nunito', sans-serif;
  background-color: #2563eb;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  margin-left: 8px;
  transition: background-color 0.2s;
}

.search input[type="submit"]:hover {
  background-color: #1d4ed8;
}

/* --- Results --- */

.results {
  margin-bottom: 40px;
}

.results h2 {
  font-size: 1.2em;
  border-bottom: 2px solid #ccc;
  padding-bottom: 6px;
  margin-bottom: 16px;
}

/* --- Gender accents --- */

.results.male h2 {
  border-bottom-color: #0d9488;
}

.results.male .race h3 a {
  color: #0f766e;
}

.results.male .race h3 a:hover {
  color: #115e59;
}

.results.female h2 {
  border-bottom-color: #d97706;
}

.results.female .race h3 a {
  color: #b45309;
}

.results.female .race h3 a:hover {
  color: #92400e;
}

/* --- Race cards --- */

.race {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 10px;
}

.race h3 {
  margin: 0 0 4px 0;
  font-size: 1em;
  font-weight: 600;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px;
}

.date {
  color: #595959;
  font-weight: 400;
  font-size: 0.85em;
  margin-left: 8px;
}

.riders-found {
  color: #333;
  font-weight: 400;
  font-size: 0.95em;
}

.no-riders {
  color: #999;
  font-style: italic;
  font-size: 0.9em;
}

.no-teams {
  text-align: center;
  color: #888;
  margin-top: 40px;
}
