/**
 * Enrollment gateway — [feast_enrollment]
 *
 * Ported from fwf-enrollment-container-1.html. Renamed .fwf-enroll →
 * .feast-enroll: one component now serves every program, so a Feed-with-FEAST
 * prefix would be misleading.
 *
 * Scoped entirely under .feast-enroll. Enqueued only on pages using the
 * shortcode.
 */

.feast-enroll {
  --feast-font: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-family: var(--feast-font);
  max-width: 760px;
  margin: 0 auto;
  padding: 8px 4px 40px;
  color: #333;
}

/**
 * Set the face on the ELEMENTS, not just the wrapper. font-family reaches
 * children only by inheritance, which loses to any rule targeting h2/p/a
 * directly — theme typography, an Elementor global font, a <pre> ancestor.
 */
.feast-enroll,
.feast-enroll h1, .feast-enroll h2, .feast-enroll h3,
.feast-enroll p, .feast-enroll span, .feast-enroll a,
.feast-enroll label, .feast-enroll input, .feast-enroll button {
  font-family: var(--feast-font);
}

.feast-enroll h1,
.feast-enroll h2 {
  color: #262882;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 10px;
}
.feast-enroll h1 { font-size: 2.1rem; }
.feast-enroll h2 { font-size: 1.7rem; }

.feast-enroll .feast-byline {
  font-size: 1.08rem;
  color: #2D5778;
  margin: 0 0 28px;
}

.feast-enroll .feast-status {
  font-size: 0.9rem;
  color: #7B858E;
  margin: 0 0 20px;
}
.feast-enroll .feast-status a { color: #F15D31; }

/* ---- Cards ---- */
.feast-enroll .feast-cards {
  display: flex;
  gap: 20px;
  align-items: stretch;
  flex-wrap: wrap;
  margin-bottom: 22px;
}
.feast-enroll .feast-card {
  flex: 1 1 300px;
  background: #fff;
  border: 1px solid #F38A50;
  border-radius: 12px;
  padding: 26px 24px 22px;
  box-shadow: 0 2px 10px rgba(38, 40, 130, 0.06);
  display: flex;
  flex-direction: column;
}
.feast-enroll .feast-card--primary { border-width: 2px; }
.feast-enroll .feast-card h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: #262882;
  margin: 0 0 8px;
}
.feast-enroll .feast-card p {
  font-size: 0.95rem;
  line-height: 1.55;
  margin: 0 0 18px;
  color: #333;
}

/* ---- Buttons ---- */
.feast-enroll .feast-btn {
  display: inline-block;
  background: #F15D31;
  color: #fff !important;
  font-family: inherit;
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  text-align: center;
  padding: 13px 26px;
  border-radius: 8px;
  border: 2px solid #F15D31;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
  margin-top: auto;
}
.feast-enroll .feast-btn:hover,
.feast-enroll .feast-btn:focus-visible {
  background: #262882;
  border-color: #262882;
  color: #fff !important;
}
.feast-enroll .feast-btn--ghost {
  background: transparent;
  color: #2D5778 !important;
  border-color: #2D5778;
}
.feast-enroll .feast-btn--ghost:hover,
.feast-enroll .feast-btn--ghost:focus-visible {
  background: #262882;
  border-color: #262882;
  color: #fff !important;
}
.feast-enroll .feast-btn:focus-visible {
  outline: 3px solid #34C6C6;
  outline-offset: 2px;
}

/* ---- Notices ---- */
.feast-enroll .feast-micro {
  font-size: 0.83rem;
  color: #7B858E;
  margin: 12px 0 0;
  line-height: 1.5;
}
.feast-enroll .feast-glimpse {
  font-size: 0.93rem;
  color: #2D5778;
  background: #F4F6FA;
  border-left: 3px solid #34C6C6;
  border-radius: 0 8px 8px 0;
  padding: 12px 16px;
  margin: 0 0 22px;
}

/* Gravity Forms sits directly in the flow; give it room to breathe. */
.feast-enroll .feast-form { margin-top: 4px; }

@media (max-width: 640px) {
  .feast-enroll h1 { font-size: 1.7rem; }
  .feast-enroll h2 { font-size: 1.4rem; }
  .feast-enroll .feast-cards { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .feast-enroll .feast-btn { transition: none; }
}
