/* Hide any empty CTA rows so they don't create blank space */
.free-ce .cta-row:empty { display: none !important; }

/* Slightly tighten section spacing so adjacent sections don't look "gappy" */
.free-ce .section { padding-top: 20px; padding-bottom: 20px; }

/* Trim extra space under single-paragraph cards and badges */
.free-ce .card p:last-child,
.free-ce .badge ul { margin-bottom: 0; }

/* Keep the states grid snug */
.free-ce .states { row-gap: 12px; }

/* Ensure ULs inside badges don't add extra bottom margin */
.free-ce .badge ul { padding-left: 18px; margin: 10px 0 0; }


/* Virginia details styling (safe & simple) */
.free-ce details.va-inline{
  background:#0f172a;
  border:1px solid #1f2937;
  border-radius:12px;
  padding:12px;
  margin-top:6px;
  color:#fff;
}
.free-ce details.va-inline summary{
  cursor:pointer;
  font-weight:700;
  color:#cfe9ff;
  outline:none;
}
.free-ce details.va-inline[open] .va-box{ margin-top:8px; }


/* ==== Free CE — normalize state "bubble" tags ==== */
.free-ce .row { align-items: center !important; }

.free-ce .tag{
  display: inline-block !important;
  font-size: 13px !important;
  line-height: 1 !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

/* Ensure both variants are same size */
.free-ce .tag.appr,
.free-ce .tag.warn{
  border-width: 1px !important;
}

/* Optional: if any still look tall due to inherited styles, cap the height */
.free-ce .tag{ max-height: 28px !important; }


/* ==== Free CE — Larger fonts on Approved States grid ==== */
.free-ce .states { row-gap: 14px !important; }
.free-ce .state { font-size: 18px !important; line-height: 1.5 !important; }
.free-ce .state .row strong { font-size: 19px !important; font-weight: 800 !important; }
.free-ce .state small { font-size: 16px !important; }
.free-ce .tag { font-size: 13px !important; padding: 5px 10px !important; }

/* ==== Free CE — Registration form readability ==== */

/* Make all form text bright by default */
.free-ce form,
.free-ce form * { color:#ffffff !important; }

/* Larger, clearer labels */
.free-ce label{
  font-size:16px !important;
  font-weight:600 !important;
}

/* Bigger inputs/selects with stronger borders & contrast */
.free-ce input,
.free-ce select{
  font-size:18px !important;
  padding:14px 14px !important;
  border:1px solid #3a4d73 !important;
  background:#0d1424 !important; /* slightly darker for contrast */
  color:#ffffff !important;
  border-radius:10px !important;
}

/* Brighten placeholder text (e.g., "First Last", "National Producer Number") */
.free-ce input::placeholder,
.free-ce select::placeholder{ color:#eaf2ff !important; opacity:1 !important; }
/* Cross-browser placeholder fallbacks */
.free-ce input::-webkit-input-placeholder{ color:#eaf2ff !important; opacity:1 !important; }
.free-ce input:-ms-input-placeholder{ color:#eaf2ff !important; }
.free-ce input::-ms-input-placeholder{ color:#eaf2ff !important; }

/* Helper text brighter & a hair larger */
.free-ce .helper{ color:#eaf2ff !important; font-size:14px !important; }

/* High-visibility focus state */
.free-ce input:focus,
.free-ce select:focus{
  outline:none !important;
  border-color:var(--brand) !important;                /* #0EA5E9 */
  box-shadow:0 0 0 3px rgba(14,165,233,0.25) !important;
}

/* Slightly larger buttons to match */
.free-ce .cta-row .btn{
  font-size:16px !important;
  padding:14px 20px !important;
}

/* ==== Free CE: Contrast fixes (hero + class cards) ==== */

/* 1) Darker hero background so the white headline & sentence pop */
.free-ce-hero{
  /* solid dark base */
  background: #060a12 !important;
  /* keep a subtle sheen; remove the next line if you want it fully solid */
  background-image: linear-gradient(180deg, rgba(0,0,0,0.45), rgba(0,0,0,0.25)) !important;
  border-bottom: 1px solid #0e1627 !important;
}

/* Ensure hero text is bright white */
.free-ce-hero h1,
.free-ce-hero p,
.free-ce-hero .pill { color:#ffffff !important; }

/* 2) Class card titles: make course names bright and bold */
.free-ce .card h3{
  color:#ffffff !important;
  font-weight: 800 !important;
  letter-spacing: 0.2px;
}

/* Optional: strengthen the small gray line under titles if it still feels faint */
.free-ce .card .meta{ color:#e8efff !important; }

/* Optional: deepen card background a hair for even more contrast */
.free-ce .card{
  background: #0f1728 !important;          /* slightly darker than before */
  border-color: #1a2540 !important;
}

/* === FIA Free CE — site CSS === */
:root{
  --bg:#0b1220; --brand:#0EA5E9; --accent:#22C55E; --warn:#F59E0B;
  --fg:#ffffff; --fg2:#ffffff; --card:#121a2d; --muted:#eaf2ff;
}

/* Page wrapper */
.free-ce-wrap{max-width:1100px;margin:auto;padding:24px;color:#fff}

/* Hero */
.free-ce-hero{padding:48px 24px 24px;border-bottom:1px solid #1f2937;
  background:linear-gradient(180deg, rgba(14,165,233,.08), transparent);color:#fff}
.free-ce-hero h1{font-size:clamp(28px,3.5vw,44px);margin:0 0 10px;color:#fff}
.free-ce-hero p{margin:0;font-size:clamp(15px,2.4vw,18px);color:#fff}

/* General */
.free-ce a{color:#cfe9ff;text-decoration:none}
.free-ce a:hover{text-decoration:underline}
.free-ce .section{padding:28px 0}
.free-ce .section h2{font-size:clamp(22px,2.6vw,30px);margin:0 0 12px;color:#fff}
.free-ce .cta-row{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}
.free-ce .btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:12px;
  background:var(--brand);border:1px solid rgba(255,255,255,.12);font-weight:700;color:#fff}
.free-ce .btn.secondary{background:#111827;border-color:#243042}

/* Badges */
.free-ce .atglance{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:22px 0}
.free-ce .badge{background:var(--card);border:1px solid #1f2937;border-radius:14px;padding:14px;color:#fff}
.free-ce .badge b{display:block;margin-bottom:6px}

/* States */
.free-ce .states{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.free-ce .state{background:var(--card);border:1px solid #1f2937;border-radius:12px;padding:12px;color:#fff}
.free-ce .state .row{display:flex;gap:8px;align-items:center;justify-content:space-between}
.free-ce .tag{font-size:12px;padding:4px 8px;border-radius:999px;color:#fff}
.free-ce .tag.appr{background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.25)}
.free-ce .tag.warn{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.25)}

/* Events */
.free-ce .events{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.free-ce .card{background:var(--card);border:1px solid #1f2937;border-radius:16px;padding:16px;color:#fff}
.free-ce .card .meta{font-size:14px;color:#fff}

/* FAQ + info + form */
.free-ce details{background:#0f172a;border:1px solid #1f2937;border-radius:12px;padding:14px;color:#fff}
.free-ce details+details{margin-top:8px}
.free-ce summary{cursor:pointer;font-weight:700;color:#fff}
.free-ce .info{background:#111827;border:1px solid #223047;border-radius:12px;padding:14px;color:#fff}
.free-ce form{background:var(--card);border:1px solid #1f2937;border-radius:16px;padding:18px;color:#fff}
.free-ce .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.free-ce label{font-size:13px;color:#fff}
.free-ce input,.free-ce select{width:100%;padding:10px;border-radius:10px;border:1px solid #223047;background:#0f172a;color:#fff}
.free-ce .helper{font-size:12px;color:#eaf2ff}

/* Dark page background (optional) */
.page.free-ce-bg{background:#0b1220}