/* ======= GLOBAL FONTS & COLORS ======= */
body {
  font-family: 'Montserrat', Arial, sans-serif;
  color: #232323;
  background: #fff;
  font-size: 22px;
  font-weight: 400; /* Normal */
  line-height: 1.65;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'PT Serif', serif;
  font-weight: 500; /* Medium */
  color: #1f5bff;      /* Updated Blue */
  margin-top: 1.3em;
  margin-bottom: 0.7em;
  letter-spacing: 0.01em;
}

a {
  color: #2e8b57; /* Green */
  text-decoration: none;
  transition: color 0.2s;
}
a:hover, a:focus {
  color: #1f5bff;
  text-decoration: underline;
}

/* ======= BUTTONS ======= */
.t-btn, .button, button, input[type="submit"] {
  background: #2e8b57;      /* Green */
  color: #fff;
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 1.15rem;
  font-weight: 500;
  border: none;
  border-radius: 2em;
  padding: 13px 36px;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(31,91,255, 0.10);
  transition: background 0.22s, color 0.22s;
}
.t-btn:hover, .button:hover, button:hover, input[type="submit"]:hover {
  background: #1f5bff;  /* Blue */
  color: #fff;
}

/* ======= ALTERNATE BACKGROUNDS ======= */
.bg-alt, .section-alt {
  background: #f5f5dc !important;  /* Light Beige */
  color: #232323 !important;
}

.bg-blue {
  background: #1f5bff !important;
  color: #f5f5dc !important;
}
.bg-green {
  background: #2e8b57 !important;
  color: #f5f5dc !important;
}

/* ======= CARD/BLOCK DESIGN ======= */
.card, .t-card, .custom-block {
  background: #fff;
  border-radius: 1.3em;
  box-shadow: 0 6px 24px rgba(31,91,255, 0.07), 0 2px 4px rgba(0,0,0,0.01);
  padding: 36px 28px;
  margin-bottom: 28px;
}

/* ======= RESPONSIVE TYPOGRAPHY ======= */
@media (max-width: 600px) {
  body {
    font-size: 18px;
  }
  .card, .t-card, .custom-block {
    padding: 18px 10px;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: 1.13em;
  }
}

/* ======= FORMS ======= */
input[type="text"], input[type="email"], textarea, select {
  border: 1.5px solid #1f5bff;
  border-radius: 0.7em;
  font-family: 'Montserrat', Arial, sans-serif;
  padding: 12px;
  font-size: 1rem;
  margin-bottom: 16px;
  background: #fff;
}
input[type="text"]:focus, input[type="email"]:focus, textarea:focus, select:focus {
  border-color: #2e8b57;
  outline: none;
}

/* ======= SECTION SPACING (Optional) ======= */
.t-section, .section {
  padding-top: 60px;
  padding-bottom: 60px;
}

/* ======= IMAGE RADIUS & SHADOW (Optional) ======= */
img {
  border-radius: 0.8em;
  box-shadow: 0 4px 16px rgba(31,91,255, 0.09);
}
