:root {
  --primary-color: #017439;
  --secondary-color: #FFFFFF;
  --register-btn-bg: #C30808;
  --login-btn-bg: #C30808;
  --register-login-font: #FFFF00;
  --text-color-light-bg: #333333;
  --text-color-dark-bg: #FFFFFF;
  --card-bg-light: #FFFFFF;
  --card-border-light: #e0e0e0;
}

/* Base styles for the page content */
.page-index {
  font-family: Arial, sans-serif;
  line-height: 1.6;
  color: var(--text-color-light-bg); /* Default for light background */
  background-color: var(--secondary-color); /* Assuming body background is light */
}

.page-index__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
}

.page-index__center-align {
  text-align: center;
}

.page-index__section-title {
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 30px;
  color: var(--primary-color);
  text-align: center;
}

.page-index__text-block {
  font-size: 17px;
  margin-bottom: 25px;
  text-align: justify;
  line-height: 1.7;
}

/* Color Contrast Specifics */
.page-index__light-bg {
  background-color: var(--secondary-color); /* White */
  color: var(--text-color-light-bg); /* Dark text */
}

.page-index__dark-bg {
  background-color: var(--primary-color); /* Brand green */
  color: var(--text-color-dark-bg); /* White text */
}

.page-index__dark-bg .page-index__section-title {
  color: var(--text-color-dark-bg); /* White title on dark background */
}

/* CTA Buttons General */
.page-index__cta-buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 30px;
  flex-wrap: wrap; /* Allow wrapping on smaller screens */
}

.page-index__cta-button {
  display: inline-block;
  padding: 15px 40px;
  text-decoration: none;
  border-radius: 8px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  border: none;
  cursor: pointer;
  white-space: nowrap; /* Prevent text wrapping for initial display */
}

.page-index__cta-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.page-index__btn-primary {
  background: var(--primary-color);
  color: var(--text-color-dark-bg);
}

.page-index__btn-primary:hover {
  background: #005f2e; /* Manually darkened primary */
}

.page-index__btn-secondary {
  background: var(--secondary-color);
  color: var(--primary-color);
  border: 2px solid var(--primary-color);
}

.page-index__btn-secondary:hover {
  background: #f0f0f0;
  color: var(--primary-color);
}

/* Specific button colors */
.page-index__btn-register {
  background: var(--register-btn-bg); /* #C30808 */
  color: var(--register-login-font); /* #FFFF00 */
}
.page-index__btn-register:hover {
  background: #9c0606; /* Manually darkened register */
}