/* ========================= RESET & BASE ========================= */ * { box-sizing: border-box; } body { margin: 0; font-family: Arial, sans-serif; background-color: #f9f9f9; color: #333; } img { max-width: 100%; height: auto; } /* ========================= GLOBAL LAYOUT ========================= */ main { padding: 1rem; } section { margin-bottom: 2rem; } /* ========================= HEADER ========================= */ .site-header { background-color: #3dd0a9; color: #222; /* fixed contrast */ padding: 1rem; text-align: center; } /* ========================= SEARCH SECTION ========================= */ .event-search h2 { margin-bottom: 0.5rem; } .search__controls { display: flex; flex-direction: column; gap: 0.5rem; } /* ========================= EVENTS LIST ========================= */ .events h2 { margin-bottom: 1rem; } #event-list { display: flex; flex-direction: column; gap: 1rem; } /* ========================= FOOTER ========================= */ footer { text-align: center; padding: 1rem; margin-top: 2rem; font-size: 0.9rem; color: #777; } /* ========================= TABLET (>=768px) ========================= */ @media (min-width: 768px) { .search__controls { flex-direction: row; align-items: center; } .search__controls input, .search__controls select { flex: 1; min-width: 120px; } .search__controls button { flex: 0 0 auto; min-width: 120px; } #event-list { display: grid; grid-template-columns: repeat(2, 1fr); } } /* ========================= DESKTOP (>=1024px) ========================= */ @media (min-width: 1024px) { #event-list { grid-template-columns: repeat(3, 1fr); } }