/* V113: course choices before search; stamps stay inside their cards. */
body .course-choices-six { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
.course-choices-six .course-choice { position: relative; display: flex; flex-direction: column; min-width: 0; }
.course-choices-six .course-choice > p { flex: 1; }
.course-choices-six .course-choice h2 { overflow-wrap: anywhere; }
.course-choices-six .btn, .additional-course-choices .btn { color: var(--course-button-ink); white-space: nowrap; text-align: center; justify-content: center; min-width: 166px; max-width: 100%; }
.course-choices-six .pending-course-link { color: inherit; display: flex; flex: 1; text-decoration: none; flex-direction: column; border-radius: 12px; }
.hub-pending .availability-pending-content { display: flex; flex: 1; flex-direction: column; }
.hub-pending .availability-pending-content > p { flex: 1; }
.hub-pending .coming-soon-stamp { pointer-events: none; }
.hub-pending .pending-course-link:focus-visible { outline: 3px solid #2563eb; outline-offset: 8px; }
.revision-hub-search { margin: 0 0 28px; }
.hub-search-panel { padding: 24px; border: 1px solid #dbe4f0; border-radius: 18px; background: #f8faff; }
.hub-search-panel h2 { margin: 0 0 8px; font-size: 1.35rem; color: #172033; }
.hub-search-panel label { display: block; margin: 0 0 10px; color: #344258; font-weight: 700; }
.hub-search-input { position: relative; display: flex; align-items: center; }
.hub-search-input input { width: 100%; box-sizing: border-box; border: 1.5px solid #9aaeca; border-radius: 10px; padding: 14px 52px 14px 16px; background: #fff; color: #172033; font: inherit; font-size: 1rem; }
.hub-search-input input:focus { outline: 3px solid #bfdbfe; outline-offset: 2px; border-color: #2563eb; }
.hub-search-input input::-webkit-search-cancel-button { display: none; }
#hub-search-clear { position: absolute; right: 6px; width: 40px; height: 40px; background: transparent; border: 0; border-radius: 8px; font-size: 1.6rem; cursor: pointer; color: #334155; }
#hub-search-clear:hover { background: #e2e8f0; }
#hub-search-help { font-size: .9rem; color: #536174; margin: 10px 0 0; }
#hub-search-status { margin: 14px 0 0; font-size: .93rem; color: #344258; }
#hub-search-status:empty { display: none; }
#hub-search-results { margin-top: 16px; }
#hub-search-list { display: grid; gap: 12px; }
.hub-search-result { border: 1px solid #dbe4f0; border-radius: 12px; background: #fff; padding: 16px; display: grid; grid-template-columns: minmax(180px,1fr) minmax(240px,1.4fr); align-items: center; gap: 14px; }
.hub-search-result h3 { margin: 0 0 5px; font-size: 1.03rem; line-height: 1.4; color: #172033; }
.hub-search-result p { margin: 0; font-size: .85rem; color: #536174; }
.hub-result-levels { display: flex; flex-wrap: wrap; gap: 8px; }
.hub-result-levels a { display: inline-flex; align-items: center; min-height: 42px; box-sizing: border-box; padding: 8px 12px; border: 1px solid #adc5ef; border-radius: 8px; color: #1d4ed8; background: #eff6ff; font-size: .88rem; line-height: 1.3; font-weight: 700; text-decoration: none; }
.hub-result-levels a:hover { color: #fff; background: #1d4ed8; border-color: #1d4ed8; }
.hub-result-levels a:focus-visible, #hub-search-clear:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
#hub-search-more { margin-top: 14px; }
.hub-search-panel [hidden] { display: none !important; }
@media (max-width: 1050px) { body .course-choices-six { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 650px) {
  body .course-choices-six { grid-template-columns: 1fr; }
  .hub-search-panel { padding: 18px; }
  .hub-search-result { grid-template-columns: 1fr; }
  .hub-result-levels a { flex: 1 1 155px; justify-content: center; text-align: center; }
  .hub-search-input input { font-size: 16px; }
}

/* Course-specific collections use the established two-column pathway grid. */
.additional-course-choices .course-choice { min-width: 0; }
.additional-course-choices .course-choice > p { flex: 1; }
.additional-course-choices .course-choice-count { font-size: .875rem; font-weight: 700; color: var(--course-strong); }

.course-choice-icon .difference-quotient { width: 30px; height: 36px; vertical-align: middle; }
