/* Basic Reset */
* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  /* background-color: #f0f2f5; */
  background-color: #696969;
  padding: 20px; /* Reduced padding for mobile */
  line-height: 1.5;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
}

h1 {
  text-align: center;
  margin-bottom: 30px;
  /* color: #1a1a1a; */
  color: #dcdcdc;
  text-shadow: 2px 2px 5px #000000;
}

h1 a {
  text-align: center;
  margin-bottom: 30px;
  /* color: #1a1a1a; */
  color: #dcdcdc;
  text-shadow: 2px 2px 5px #000000;
}

/* RESPONSIVE GRID CORE */
.card-grid {
  display: grid;
  /* 280px is the "sweet spot" for most phone widths */
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 25px;
}

/* Card Styling */
.card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 15px rgba(0,0,0,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Hover effects for desktop */
@media (hover: hover) {
  .card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 20px rgba(0,0,0,0.15);
  }
}

.card-image {
  width: 100%;
  aspect-ratio: 16 / 9; /* Keeps image shape consistent */
  object-fit: cover;
  background-color: #ddd;
}

.card-body {
  padding: 20px;
}

.card-body h2 {
  font-size: 1.25rem;
  margin-bottom: 8px;
  color: #111;
}

.card-body p {
  font-size: 0.95rem;
  color: #555;
}

/* Mobile specific adjustments */
@media (max-width: 480px) {
  body { padding: 15px; }
  .card-grid { gap: 15px; }
}


/* Original from: https://projects.verou.me/css3patterns/#upholstery */
body {
  background: radial-gradient(
        rgba(76, 76, 76, 1) 4%,
        rgba(61, 61, 61, 1) 9%,
        rgba(61, 61, 61, 0) 9%
      )
      0 0,
    radial-gradient(
        rgba(76, 76, 76, 1) 4%,
        rgba(61, 61, 61, 1) 8%,
        rgba(61, 61, 61, 0) 10%
      )
      50px 50px,
    radial-gradient(rgba(76, 76, 76, 0.8) 20%, rgba(61, 61, 61, 0)) 50px 0,
    radial-gradient(rgba(76, 76, 76, 0.8) 20%, rgba(61, 61, 61, 0)) 0 50px,
    radial-gradient(rgba(61, 61, 61, 1) 35%, rgba(61, 61, 61, 0) 60%) 50px 0,
    radial-gradient(rgba(61, 61, 61, 1) 35%, rgba(61, 61, 61, 0) 60%) 100px 50px,
    radial-gradient(rgba(53, 53, 53, 0.7), rgba(61, 61, 61, 0)) 0 0,
    radial-gradient(rgba(53, 53, 53, 0.7), rgba(61, 61, 61, 0)) 50px 50px,
    linear-gradient(
        45deg,
        rgba(61, 61, 61, 0) 49%,
        rgba(0, 0, 0, 1) 50%,
        rgba(61, 61, 61, 0) 70%
      )
      0 0,
    linear-gradient(
        -45deg,
        rgba(61, 61, 61, 0) 49%,
        rgba(0, 0, 0, 1) 50%,
        rgba(61, 61, 61, 0) 70%
      )
      0 0;
  background-color: rgba(61, 61, 61, 1);
  background-size: 100px 100px;
}
