/* Import Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@600&family=Open+Sans:wght@400&display=swap');

/* Base Styles */
body {
    font-family: 'Open Sans', sans-serif; /* Use Open Sans for body text */
    font-size: 1rem;
    line-height: 1.6;
    color: #333;
    background-color: #f5f5f5; /* Soft Gray */
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Merriweather', serif; /* Use Merriweather for headings */
    font-weight: 600;
    margin: 1.5rem 0;
}

h1 { font-size: 3rem; color: #007aff; } 
h2 { font-size: 2.5rem; color: #4cd964; } 
h3 { font-size: 2rem; color: #ff9500; } 
h4 { font-size: 1.5rem; color: #FFD700 }
h5 { font-size: 1.25rem; }
h6 { font-size: 1.25rem; }


a {
  color: #007bff;
  text-decoration: none;
  transition: color 0.3s ease;
}

a:hover {
  color: #0056b3;
  text-decoration: underline;
}

/* ========== BUTTONS & FORMS ========== */
.btn {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  border-radius: 0.375rem;
  transition: all 0.3s ease;
}

.btn-primary {
  background-color: #28a745;
  color: #fff;
  border: none;
}

.btn-primary:hover {
  background-color: #218838;
  transform: scale(1.05);
}

input, textarea, select {
  width: 100%;
  padding: 1rem;
  border: 1px solid #ccc;
  border-radius: 0.375rem;
  margin: 0.5rem 0;
}

input:focus, textarea:focus {
  border-color: #007bff;
  outline: none;
}

label {
  font-weight: 600;
  margin-top: 0.5rem;
  display: block;
}

/* ========== LAYOUT & SPACING ========== */
.container {
  max-width: 1200px; /* Maximum width for large screens */
  width: 90%; /* Fluid width for smaller screens */
  margin: 0 auto; /* Center-align content */
  padding: 1rem; /* Padding inside the container */
}

.grid {
  display: flex; /* Use flexbox for grid layout */
  gap: 1rem; /* Space between grid items */
  flex-wrap: wrap; /* Allow items to wrap to the next line */
}

.col {
  flex: 1; /* Flex-grow to fill available space */
  min-width: 300px; /* Minimum width for columns */
}

/* Utility Classes for Spacing */
.mt-3 { margin-top: 3rem; } /* Margin top utility */
.px-2 { padding-left: 1rem; padding-right: 1rem; } /* Horizontal padding utility */
.py-2 { padding-top: 1rem; padding-bottom: 1rem; } /* Vertical padding utility */


/* ========== COLOR SCHEME ========== */
.bg-light { background-color: #f9f9f9; }
.text-secondary { color: #555; }

/* ========== RESPONSIVE DESIGN ========== */
@media (max-width: 1023px) {
  .grid { flex-direction: column; }
  h1 { font-size: 2.5rem; }
  h2 { font-size: 2rem; }
}

@media (max-width: 575px) {
  body { font-size: 0.9rem; }
  .btn { width: 100%; text-align: center; }
}

/* ========== UTILITIES ========== */
.text-center { text-align: center; }
.border-radius { border-radius: 0.375rem; }
.clearfix::after {
  content: "";
  clear: both;
  display: table;
}

/* ========== ACCESSIBILITY ========== */
:focus {
  outline: 2px solid #007bff;
  outline-offset: 2px;
}

