/* Texas Rescue Med Course Finder 1.8.1 - scoped, responsive, and asset-independent. */
.trm-course-finder,
.trm-course-finder * { box-sizing: border-box !important; }
.trm-course-finder {
  --trm-navy: #0b1f3a;
  --trm-navy-2: #123a61;
  --trm-red: #c8102e;
  --trm-blue: #146faf;
  --trm-ink: #19344f;
  --trm-muted: #52697e;
  --trm-line: #dce5ee;
  max-width: 1100px;
  margin: 24px auto 38px;
  background: #fff;
  border: 1px solid #d4e0eb;
  border-radius: 20px;
  box-shadow: 0 20px 54px rgba(11,31,58,.12);
  overflow: hidden;
  color: var(--trm-navy);
  font: 400 15px/1.55 Arial,Helvetica,sans-serif;
  scroll-margin-top: 100px;
}
.trm-course-finder [hidden] { display: none !important; }
.trm-course-finder .trm-finder-head {
  position: relative;
  isolation: isolate;
  padding: 35px 42px 30px;
  background: linear-gradient(118deg,#0b1f3a 0%,#102f50 75%,#15416a 100%);
  border-bottom: 4px solid var(--trm-red);
  color: #fff;
}
.trm-course-finder .trm-finder-head::after {
  content: '';
  position: absolute;
  z-index: -1;
  right: -75px;
  top: -120px;
  width: 330px;
  height: 330px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 0 0 50px rgba(255,255,255,.025),0 0 0 100px rgba(255,255,255,.018);
  pointer-events: none;
}
.trm-course-finder .trm-finder-kicker {
  display: inline-block;
  color: #ffb9c4;
  font: 800 11px/1.4 Arial,Helvetica,sans-serif;
  text-transform: uppercase;
  letter-spacing: .16em;
  margin: 0 0 11px;
}
.trm-course-finder h3.trm-finder-title {
  color: #fff !important;
  font: 800 clamp(29px,3.35vw,42px)/1.14 Arial,Helvetica,sans-serif !important;
  letter-spacing: -.027em;
  margin: 0 0 11px !important;
  max-width: 750px;
}
.trm-course-finder p.trm-finder-intro {
  color: #e1ecf5 !important;
  font: 400 clamp(14px,1.5vw,17px)/1.62 Arial,Helvetica,sans-serif !important;
  margin: 0 !important;
  max-width: 740px;
}
.trm-course-finder .trm-finder-head-meta {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 19px;
}
.trm-course-finder .trm-finder-head-meta span {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255,255,255,.23);
  background: rgba(255,255,255,.09);
  border-radius: 999px;
  color: #e6eff6;
  padding: 6px 12px;
  font: 700 11px/1.35 Arial,Helvetica,sans-serif;
}
.trm-course-finder .trm-finder-progress {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 18px;
  align-items: center;
  padding: 25px 42px 19px;
}
.trm-course-finder .trm-finder-step-count {
  min-width: 135px;
  white-space: nowrap;
  color: #3b5975;
  font: 800 12px/1.35 Arial,Helvetica,sans-serif;
  letter-spacing: .015em;
}
.trm-course-finder .trm-finder-track {
  display: flex;
  gap: 8px;
  width: 100%;
  height: 8px;
  overflow: visible;
}
.trm-course-finder .trm-finder-step-segment {
  flex: 1;
  min-width: 0;
  height: 8px;
  border-radius: 999px;
  background: #e5ecf2;
  transition: background-color .18s ease,box-shadow .18s ease;
}
.trm-course-finder .trm-finder-step-segment.is-complete { background: #c8102e; }
.trm-course-finder .trm-finder-step-segment.is-current { background: #f5c6cd; box-shadow: inset 0 0 0 1px #d66073; }
.trm-course-finder .trm-finder-body { padding: 3px 42px 25px; }
.trm-course-finder h3.trm-finder-question {
  color: var(--trm-navy) !important;
  font: 800 clamp(22px,2.5vw,29px)/1.26 Arial,Helvetica,sans-serif !important;
  letter-spacing: -.02em;
  margin: 0 0 21px !important;
}
.trm-course-finder .trm-finder-question:focus,
.trm-course-finder .trm-finder-hard-stop-heading:focus { outline: none; }
.trm-course-finder .trm-finder-options {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
  align-items: stretch;
}
.trm-course-finder .trm-finder-options > .trm-finder-choice:last-child:nth-child(odd) { grid-column: 1 / -1; }
.trm-course-finder button.trm-finder-choice {
  display: grid !important;
  grid-template-columns: 44px minmax(0,1fr) 19px;
  align-items: center !important;
  column-gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 104px !important;
  margin: 0 !important;
  padding: 17px 18px !important;
  border: 1px solid #d0deea !important;
  border-radius: 13px !important;
  background: #f7f9fc !important;
  box-shadow: none !important;
  color: var(--trm-navy) !important;
  text-align: left !important;
  white-space: normal !important;
  cursor: pointer !important;
  transition: border-color .16s,background-color .16s,box-shadow .16s,transform .16s;
}
.trm-course-finder button.trm-finder-choice:hover {
  background: #eef5fb !important;
  border-color: #5385ac !important;
  box-shadow: 0 7px 18px rgba(11,31,58,.08) !important;
  transform: translateY(-1px);
}
.trm-course-finder button.trm-finder-choice.is-selected {
  border-color: #b81d35 !important;
  background: #fff2f4 !important;
  box-shadow: 0 0 0 2px rgba(200,16,46,.14) !important;
  transform: none !important;
}
.trm-course-finder button.trm-finder-choice:disabled:not(.is-selected) { cursor: default !important; opacity: .67; }
.trm-course-finder .trm-finder-choice-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  background: #e7f0f8;
  border: 1px solid #cedfec;
  border-radius: 11px;
  color: #174e79;
}
.trm-course-finder .trm-finder-choice-icon svg { display: block; width: 23px; height: 23px; }
.trm-course-finder .trm-finder-choice.is-selected .trm-finder-choice-icon { background: #c8102e; color: #fff; border-color: #c8102e; }
.trm-course-finder .trm-finder-choice-content { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; min-width: 0; }
.trm-course-finder .trm-finder-choice-title {
  display: block;
  color: #0b1f3a !important;
  font: 800 15px/1.35 Arial,Helvetica,sans-serif !important;
  letter-spacing: -.006em;
}
.trm-course-finder .trm-finder-choice-detail {
  display: block;
  color: #53697e !important;
  font: 400 12px/1.55 Arial,Helvetica,sans-serif !important;
}
.trm-course-finder .trm-finder-choice-chevron {
  justify-self: end;
  color: #69849c;
  font: 700 22px/1 Arial,Helvetica,sans-serif !important;
  transition: transform .16s,color .16s;
}
.trm-course-finder .trm-finder-choice:hover .trm-finder-choice-chevron { transform: translateX(3px); color: #c8102e; }
.trm-course-finder .trm-finder-choice.is-selected .trm-finder-choice-chevron { color: #c8102e; transform: translateX(3px); }
.trm-course-finder button:focus-visible,
.trm-course-finder a:focus-visible { outline: 3px solid #146faf !important; outline-offset: 3px !important; }
.trm-course-finder .trm-finder-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  border-top: 1px solid #edf2f6;
  padding: 18px 42px 25px;
}
.trm-course-finder button.trm-finder-back,
.trm-course-finder button.trm-finder-reset {
  min-height: 42px !important;
  min-width: 95px !important;
  margin: 0 !important;
  padding: 9px 18px !important;
  border: 1px solid #cedde9 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: #173b58 !important;
  font: 800 13px/1.3 Arial,Helvetica,sans-serif !important;
  cursor: pointer !important;
}
.trm-course-finder button.trm-finder-back:hover,
.trm-course-finder button.trm-finder-reset:hover { background: #edf5fa !important; }
/* The result is visually distinct from the questions and uses only published program data. */
.trm-course-finder .trm-finder-result-banner {
  position: relative;
  margin: 0 0 19px;
  padding: 25px 26px 23px;
  border: 1px solid #c7dceb;
  border-left: 5px solid #c8102e;
  border-radius: 12px;
  background: linear-gradient(130deg,#eef6fc 0%,#f8fbfe 100%);
}
.trm-course-finder .trm-finder-result-kicker {
  display: block;
  margin-bottom: 9px;
  color: #a4142a;
  font: 800 11px/1.3 Arial,Helvetica,sans-serif;
  text-transform: uppercase;
  letter-spacing: .13em;
}
.trm-course-finder h3.trm-finder-result-heading {
  margin: 0 0 9px !important;
  font: 800 clamp(24px,3vw,34px)/1.2 Arial,Helvetica,sans-serif !important;
  color: #0b1f3a !important;
}
.trm-course-finder p.trm-finder-result-summary { margin: 0 !important; max-width: 850px; font: 400 15px/1.6 Arial,Helvetica,sans-serif !important; color: #3c5871 !important; }
.trm-course-finder .trm-finder-copy { color: #405870 !important; font: 400 14px/1.65 Arial,Helvetica,sans-serif !important; margin: 0 0 17px !important; }
.trm-course-finder .trm-finder-advisory {
  border: 1px solid #ead8af;
  border-left: 4px solid #b18428;
  background: #fffaf0;
  border-radius: 9px;
  padding: 14px 17px;
  margin: 15px 0;
  color: #51432d;
}
.trm-course-finder .trm-finder-advisory strong { display: block; color: #684e1f; font: 800 13px/1.5 Arial,Helvetica,sans-serif; margin-bottom: 5px; }
.trm-course-finder .trm-finder-advisory p.trm-finder-copy { margin: 0 !important; color: #5b4b32 !important; font-size: 13px !important; }
.trm-course-finder .trm-finder-matches {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr));
  align-items: stretch;
  gap: 14px;
  margin-top: 20px;
}
.trm-course-finder .trm-finder-match {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0;
  padding: 22px 22px 20px;
  background: #fff;
  border: 1px solid #d6e1eb;
  border-radius: 14px;
  box-shadow: 0 3px 13px rgba(11,31,58,.035);
}
.trm-course-finder .trm-finder-match--primary { background: #f0f7fd; border: 2px solid #6492b6; padding: 21px 21px 19px; box-shadow: 0 6px 19px rgba(11,31,58,.08); }
.trm-course-finder .trm-finder-body > .trm-finder-match { max-width: 680px; margin-top: 20px; }
.trm-course-finder .trm-finder-match-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 14px; }
.trm-course-finder .trm-finder-format {
  display: inline-flex;
  color: #b51f35;
  background: #fff0f2;
  border-radius: 6px;
  padding: 5px 8px;
  font: 800 11px/1.25 Arial,Helvetica,sans-serif;
  text-transform: uppercase;
  letter-spacing: .055em;
}
.trm-course-finder .trm-finder-status { color: #28526c; background: #e5eff6; border-radius: 999px; padding: 5px 9px; font: 750 11px/1.25 Arial,Helvetica,sans-serif; }
.trm-course-finder h4.trm-finder-match-name { color: #0b1f3a !important; margin: 0 0 10px !important; font: 800 21px/1.3 Arial,Helvetica,sans-serif !important; letter-spacing: -.012em; }
.trm-course-finder p.trm-finder-match-desc { margin: 0 0 16px !important; color: #486177 !important; font: 400 13px/1.6 Arial,Helvetica,sans-serif !important; }
.trm-course-finder dl.trm-finder-facts { display: block !important; margin: 0 0 18px !important; padding: 0 !important; }
.trm-course-finder .trm-finder-fact { display: flex !important; justify-content: space-between; gap: 12px; align-items: baseline; padding: 10px 0; border-top: 1px solid #dce5ed; }
.trm-course-finder .trm-finder-fact dt { flex: 1 1 auto; color: #5b7185; font: 700 12px/1.35 Arial,Helvetica,sans-serif; }
.trm-course-finder .trm-finder-fact dd { flex: 0 1 55%; max-width: 62%; color: #193852; font: 800 13px/1.4 Arial,Helvetica,sans-serif; text-align: right; margin: 0 !important; overflow-wrap: anywhere; }
.trm-course-finder p.trm-finder-unavailable { margin: 0 0 15px !important; color: #813948 !important; font: 600 12px/1.5 Arial,Helvetica,sans-serif !important; }
.trm-course-finder .trm-finder-match-actions,
.trm-course-finder .trm-finder-final-actions { display: flex !important; align-items: stretch; gap: 9px; flex-wrap: wrap; margin-top: auto; }
.trm-course-finder .trm-finder-final-actions { margin: 18px 0 5px; }
.trm-course-finder a.trm-finder-link {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex: 1 1 145px;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 11px 15px !important;
  border-radius: 8px !important;
  text-align: center !important;
  white-space: normal !important;
  text-decoration: none !important;
  font: 800 13px/1.35 Arial,Helvetica,sans-serif !important;
}
.trm-course-finder a.trm-finder-link--primary { border: 1px solid #b71d34 !important; color: #fff !important; background: #b71d34 !important; }
.trm-course-finder a.trm-finder-link--primary:hover { background: #8e172a !important; border-color: #8e172a !important; }
.trm-course-finder a.trm-finder-link--secondary { color: #153955 !important; background: #fff !important; border: 1px solid #abc3d7 !important; }
.trm-course-finder a.trm-finder-link--secondary:hover { background: #eaf3fa !important; }
.trm-course-finder p.trm-finder-disclaimer { color: #60798c !important; margin: 21px 0 0 !important; font: 400 12px/1.6 Arial,Helvetica,sans-serif !important; }
.trm-course-finder .trm-finder-loading { color: #536c83; margin: 0; }
/* Retain the existing strict attendance hard stop with no hidden course cards or application links. */
.trm-course-finder .trm-finder-hard-stop { margin: 0 0 8px; padding: 30px; border: 2px solid #bf3046; border-left: 7px solid #bf3046; border-radius: 14px; background: #fff7f8; box-shadow: 0 7px 23px rgba(139,25,41,.07); }
.trm-course-finder .trm-finder-hard-stop-symbol { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin: 0 0 13px; background: #ad1e34; color: #fff; border-radius: 50%; font: 800 30px/1 Arial,Helvetica,sans-serif; }
.trm-course-finder .trm-finder-hard-stop-kicker { display: block; margin: 0 0 10px; color: #a51b30; font: 800 12px/1.4 Arial,Helvetica,sans-serif; text-transform: uppercase; letter-spacing: .1em; }
.trm-course-finder h3.trm-finder-hard-stop-heading { max-width: 850px; color: #801729 !important; margin: 0 0 13px !important; font: 800 clamp(23px,3vw,30px)/1.23 Arial,Helvetica,sans-serif !important; }
.trm-course-finder p.trm-finder-hard-stop-lead { max-width: 850px; color: #48313a !important; margin: 0 0 17px !important; font: 500 15px/1.67 Arial,Helvetica,sans-serif !important; }
.trm-course-finder .trm-finder-hard-stop-details { margin: 16px 0; padding: 16px 18px; border: 1px solid #efc7ce; border-radius: 9px; background: #fff; }
.trm-course-finder .trm-finder-hard-stop-details p { color: #5d3440 !important; margin: 0 !important; font: 700 13px/1.6 Arial,Helvetica,sans-serif !important; }
.trm-course-finder .trm-finder-hard-stop-details p + p { margin-top: 7px !important; }
.trm-course-finder .trm-finder-hard-stop-actions { display: flex; align-items: stretch; flex-wrap: wrap; gap: 10px; margin-top: 21px; }
.trm-course-finder .trm-finder-hard-stop-actions a.trm-finder-link,
.trm-course-finder button.trm-finder-hard-stop-restart { display: inline-flex !important; align-items: center !important; justify-content: center !important; flex: 1 1 180px; min-height: 50px !important; margin: 0 !important; padding: 11px 16px !important; border-radius: 8px !important; text-align: center !important; text-decoration: none !important; font: 800 14px/1.35 Arial,Helvetica,sans-serif !important; }
.trm-course-finder button.trm-finder-hard-stop-restart { color: #872034 !important; background: #fff !important; border: 1px solid #d5a3ad !important; box-shadow: none !important; cursor: pointer !important; }
.trm-course-finder button.trm-finder-hard-stop-restart:hover { background: #ffeef0 !important; }
@media (max-width: 790px) {
  .trm-course-finder { border-radius: 16px; }
  .trm-course-finder .trm-finder-head { padding: 31px 25px 26px; }
  .trm-course-finder .trm-finder-progress { padding: 23px 25px 17px; }
  .trm-course-finder .trm-finder-body { padding: 3px 25px 22px; }
  .trm-course-finder .trm-finder-footer { padding: 17px 25px 22px; }
  .trm-course-finder .trm-finder-options,.trm-course-finder .trm-finder-matches { grid-template-columns: minmax(0,1fr); }
  .trm-course-finder .trm-finder-options > .trm-finder-choice:last-child:nth-child(odd) { grid-column: 1; }
  .trm-course-finder button.trm-finder-choice { min-height: 92px !important; }
}
@media (max-width: 470px) {
  .trm-course-finder { margin: 15px auto 26px; border-radius: 14px; }
  .trm-course-finder .trm-finder-head { padding: 27px 19px 23px; }
  .trm-course-finder .trm-finder-head-meta { gap: 7px; }
  .trm-course-finder .trm-finder-head-meta span { padding: 5px 9px; font-size: 10px; }
  .trm-course-finder .trm-finder-progress { grid-template-columns: 1fr; gap: 9px; padding: 21px 19px 18px; }
  .trm-course-finder .trm-finder-step-count { min-width: 0; }
  .trm-course-finder .trm-finder-body { padding: 2px 19px 20px; }
  .trm-course-finder .trm-finder-footer { padding: 16px 19px 21px; }
  .trm-course-finder button.trm-finder-choice { grid-template-columns: 37px minmax(0,1fr) 14px; gap: 11px !important; min-height: 87px !important; padding: 13px 11px !important; }
  .trm-course-finder .trm-finder-choice-icon { width: 37px; height: 37px; border-radius: 9px; }
  .trm-course-finder .trm-finder-choice-icon svg { width: 20px; height: 20px; }
  .trm-course-finder .trm-finder-choice-title { font-size: 14px !important; }
  .trm-course-finder .trm-finder-choice-detail { font-size: 11.5px !important; }
  .trm-course-finder .trm-finder-result-banner { padding: 19px 17px; }
  .trm-course-finder .trm-finder-match { padding: 19px 16px; }
  .trm-course-finder .trm-finder-match--primary { padding: 18px 15px; }
  .trm-course-finder .trm-finder-fact dd { max-width: 59%; }
  .trm-course-finder .trm-finder-hard-stop { padding: 21px 16px; border-left-width: 5px; }
  .trm-course-finder .trm-finder-hard-stop-details { padding: 14px 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .trm-course-finder .trm-finder-step-segment,
  .trm-course-finder button.trm-finder-choice,
  .trm-course-finder .trm-finder-choice-chevron { transition: none !important; transform: none !important; }
}
