/* ============================================
   Database Page CSS - Matched to Bolt Design
   College Admissions Database Pages
   Version: 1.0.0
   All classes prefixed with db- to avoid conflicts
   ============================================ */

/* ---- GeneratePress Overrides (full-width layout) ---- */
body.post-type-archive-colleges,
body.single-colleges {
    max-width: 100% !important;
    width: 100% !important;
    overflow-x: hidden !important;
}
body.post-type-archive-colleges > *,
body.single-colleges > * {
    max-width: 100% !important;
    width: 100% !important;
}
body.post-type-archive-colleges #page,
body.post-type-archive-colleges #page.grid-container,
body.post-type-archive-colleges #page.site,
body.post-type-archive-colleges .site,
body.post-type-archive-colleges .site-content,
body.post-type-archive-colleges .content-area,
body.post-type-archive-colleges .inside-article,
body.post-type-archive-colleges .entry-content,
body.post-type-archive-colleges .container,
body.post-type-archive-colleges .grid-container,
body.single-colleges #page,
body.single-colleges #page.grid-container,
body.single-colleges #page.site,
body.single-colleges .site,
body.single-colleges .site-content,
body.single-colleges .content-area,
body.single-colleges .inside-article,
body.single-colleges .entry-content,
body.single-colleges .container,
body.single-colleges .grid-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
    width: 100% !important;
}
body.post-type-archive-colleges .entry-content > *,
body.single-colleges .entry-content > * {
    max-width: none !important;
}
body.post-type-archive-colleges .separate-containers .inside-article,
body.single-colleges .separate-containers .inside-article {
    padding: 0 !important;
    background: transparent !important;
}
/* Keep header normal width */
body.post-type-archive-colleges .site-header .grid-container,
body.single-colleges .site-header .grid-container {
    max-width: 1280px !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
}
body.post-type-archive-colleges .inside-navigation.grid-container,
body.single-colleges .inside-navigation.grid-container {
    max-width: 1280px !important;
}

/* ================================================================
   ARCHIVE PAGE STYLES (BEM classes from archive-colleges.php)
   These match the actual HTML class names used in the template.
   ================================================================ */

/* ---- Archive Page Wrapper ---- */
.db-archive-page {
    background: #F9FAFB !important;
    min-height: 100vh !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* ---- Archive Hero Section ---- */
.db-archive-hero {
    position: relative !important;
    overflow: hidden !important;
    background: linear-gradient(135deg, #1E3A8A 0%, #3B82F6 100%) !important;
    padding: 60px 0 !important;
}
.db-archive-hero__bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}
.db-archive-hero__overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(135deg, rgba(30, 58, 138, 0.85) 0%, rgba(59, 130, 246, 0.75) 100%) !important;
}
.db-archive-hero__content {
    position: relative !important;
    z-index: 2 !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    text-align: center !important;
}
.db-archive-hero__title {
    font-family: var(--gpa-font) !important;
    font-size: var(--gpa-h1-size) !important;
    font-weight: var(--gpa-h1-weight) !important;
    color: #fff !important;
    margin-bottom: 16px !important;
    line-height: var(--gpa-h1-line) !important;
}
.db-archive-hero__subtitle {
    font-family: var(--gpa-font) !important;
    font-size: var(--gpa-body-lg-size) !important;
    font-weight: var(--gpa-body-weight) !important;
    color: rgba(255, 255, 255, 0.85) !important;
    margin-bottom: 32px !important;
    max-width: 600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    line-height: 1.6 !important;
}
.db-archive-hero__stats {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 24px !important;
    flex-wrap: wrap !important;
}
.db-archive-hero__stat {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #fff !important;
}
.db-archive-hero__stat span:first-child {
    font-size: 28px !important;
    font-weight: 800 !important;
    display: block !important;
}
.db-archive-hero__stat-divider {
    width: 1px !important;
    height: 40px !important;
    background: rgba(255, 255, 255, 0.3) !important;
}

/* ---- Archive Search ---- */
.db-archive-search {
    max-width: 1280px !important;
    margin: -28px auto 0 !important;
    padding: 0 24px !important;
    position: relative !important;
    z-index: 10 !important;
}
.db-archive-search__wrapper {
    position: relative !important;
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
    padding: 8px !important;
}
.db-archive-search__icon {
    position: absolute !important;
    left: 24px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 24px !important;
    height: 24px !important;
    color: #9CA3AF !important;
    pointer-events: none !important;
}
.db-archive-search__input {
    width: 100% !important;
    padding: 18px 56px !important;
    font-size: 18px !important;
    border: 2px solid transparent !important;
    border-radius: 12px !important;
    background: #F9FAFB !important;
    outline: none !important;
    transition: all 0.2s ease !important;
    color: #111827 !important;
}
.db-archive-search__input::placeholder {
    color: #9CA3AF !important;
}
.db-archive-search__input:focus {
    border-color: #3B82F6 !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.15) !important;
}
.db-archive-search__input:focus-visible {
    outline: 3px solid #2563EB !important;
    outline-offset: 2px !important;
}
.db-archive-search__spinner {
    position: absolute !important;
    right: 24px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 24px !important;
    height: 24px !important;
    border: 3px solid #E5E7EB !important;
    border-top-color: #3B82F6 !important;
    border-radius: 50% !important;
    animation: db-spin 0.6s linear infinite !important;
}
@keyframes db-spin {
    to { transform: translateY(-50%) rotate(360deg); }
}

/* ---- Archive Pills ---- */
.db-archive-pills {
    max-width: 1280px !important;
    margin: 24px auto !important;
    padding: 0 24px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: center !important;
}
.db-archive-pill {
    display: inline-flex !important;
    align-items: center !important;
    padding: 8px 20px !important;
    border-radius: 9999px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    background: #F3F4F6 !important;
    color: #4B5563 !important;
    border: 1px solid #E5E7EB !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
}
.db-archive-pill:hover {
    background: #E5E7EB !important;
    color: #1F2937 !important;
}
.db-archive-pill--active {
    background: #3B82F6 !important;
    color: #fff !important;
    border-color: #3B82F6 !important;
}
.db-archive-pill--active:hover {
    background: #2563EB !important;
    border-color: #2563EB !important;
    color: #fff !important;
}

/* ---- Archive Filters ---- */
.db-archive-filters {
    max-width: 1280px !important;
    margin: 0 auto 24px !important;
    padding: 0 24px !important;
}
.db-archive-filters__toggle {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 20px !important;
    background: #fff !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #374151 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}
.db-archive-filters__toggle:hover {
    background: #F9FAFB !important;
    border-color: #D1D5DB !important;
}
.db-archive-filters__chevron {
    width: 16px !important;
    height: 16px !important;
    transition: transform 0.2s ease !important;
}
.db-archive-filters__panel {
    background: #fff !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 16px !important;
    padding: 24px !important;
    margin-top: 12px !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1) !important;
}
.db-archive-filters__grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
}
.db-archive-filters__group {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}
.db-archive-filters__label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}
.db-archive-filters__select {
    width: 100% !important;
    padding: 10px 36px 10px 14px !important;
    font-size: 14px !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #111827 !important;
    outline: none !important;
    transition: border-color 0.2s ease !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
}
.db-archive-filters__select:focus {
    border-color: #3B82F6 !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15) !important;
}
.db-archive-filters__select:focus-visible {
    outline: 3px solid #2563EB !important;
    outline-offset: 2px !important;
}
.db-archive-filters__actions {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    margin-top: 20px !important;
    padding-top: 20px !important;
    border-top: 1px solid #F3F4F6 !important;
}
.db-archive-filters__reset {
    padding: 8px 20px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #6B7280 !important;
    background: none !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}
.db-archive-filters__reset:hover {
    background: #F3F4F6 !important;
    color: #374151 !important;
}

/* ---- Archive Results Info ---- */
.db-archive-results-info {
    max-width: 1280px !important;
    margin: 0 auto 16px !important;
    padding: 0 24px !important;
}
.db-archive-results-info__text {
    font-size: 15px !important;
    color: #6B7280 !important;
    font-weight: 500 !important;
}

/* ---- Archive Intro Content Sections ---- */
.db-archive-intro {
    max-width: 1280px !important;
    margin: 0 auto 24px !important;
    padding: 20px 24px !important;
    background: #fff !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 12px !important;
}
.db-archive-intro + .db-archive-intro {
    margin-top: -8px !important;
}
.db-archive-intro__title {
    font-family: var(--gpa-font) !important;
    font-size: var(--gpa-h2-size) !important;
    font-weight: var(--gpa-h2-weight) !important;
    line-height: var(--gpa-h2-line) !important;
    color: #111827 !important;
    margin: 0 0 10px !important;
}
.db-archive-intro__text {
    font-family: var(--gpa-font) !important;
    font-size: var(--gpa-body-size) !important;
    line-height: var(--gpa-body-line) !important;
    color: #374151 !important;
    margin: 0 !important;
}

/* ---- Archive Section Heading (above grid) ---- */
.db-archive-section-title {
    max-width: 1280px !important;
    margin: 8px auto 16px !important;
    padding: 0 24px !important;
    font-family: var(--gpa-font) !important;
    font-size: var(--gpa-h2-size) !important;
    font-weight: var(--gpa-h2-weight) !important;
    line-height: var(--gpa-h2-line) !important;
    color: #111827 !important;
}

@media (max-width: 768px) {
    .db-archive-intro__title,
    .db-archive-section-title {
        font-size: var(--gpa-h2-size-m) !important;
    }
}

/* ---- Archive Grid ---- */
.db-archive-grid {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
}

/* ---- College Cards ---- */
.db-college-card {
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid #E5E7EB !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    text-decoration: none !important;
    color: inherit !important;
}
.db-college-card:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-4px) !important;
    border-color: #BFDBFE !important;
}

/* ---- Skeleton Loading Cards ---- */
.db-college-card--skeleton {
    pointer-events: none !important;
}
.db-skeleton {
    background: linear-gradient(90deg, #F3F4F6 25%, #E5E7EB 50%, #F3F4F6 75%) !important;
    background-size: 200% 100% !important;
    animation: db-skeleton-shimmer 1.5s ease-in-out infinite !important;
    border-radius: 8px !important;
}
.db-skeleton--badges {
    height: 28px !important;
    width: 60% !important;
    margin-bottom: 12px !important;
}
.db-skeleton--title {
    height: 24px !important;
    width: 80% !important;
    margin-bottom: 8px !important;
}
.db-skeleton--location {
    height: 16px !important;
    width: 50% !important;
    margin-bottom: 16px !important;
}
.db-skeleton--stats {
    height: 40px !important;
    width: 100% !important;
    margin-bottom: 12px !important;
}
.db-skeleton--test-box {
    height: 60px !important;
    width: 100% !important;
}
@keyframes db-skeleton-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* ---- Archive No Results ---- */
.db-archive-no-results {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 60px 24px !important;
    text-align: center !important;
}
.db-archive-no-results__content {
    max-width: 480px !important;
    margin: 0 auto !important;
}
.db-archive-no-results__content svg {
    width: 64px !important;
    height: 64px !important;
    color: #D1D5DB !important;
    margin: 0 auto 24px !important;
}
.db-archive-no-results__title {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin-bottom: 8px !important;
}
.db-archive-no-results__text {
    font-size: 16px !important;
    color: #6B7280 !important;
    margin-bottom: 24px !important;
    line-height: 1.6 !important;
}
.db-archive-no-results__reset {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 12px 24px !important;
    background: #3B82F6 !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border: none !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    text-decoration: none !important;
}
.db-archive-no-results__reset:hover {
    background: #2563EB !important;
}

/* ---- Archive Responsive ---- */

/* Tablet (<1024px) */
@media (max-width: 1023px) {
    .db-archive-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .db-archive-filters__grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .db-archive-hero__title {
        font-size: var(--gpa-h1-size-m) !important;
    }
}

/* Mobile (<640px) */
@media (max-width: 639px) {
    .db-archive-hero {
        padding: 40px 0 !important;
    }
    .db-archive-hero__title {
        font-size: var(--gpa-h1-size-m) !important;
    }
    .db-archive-hero__subtitle {
        font-size: var(--gpa-body-size) !important;
    }
    .db-archive-hero__stats {
        gap: 16px !important;
    }
    .db-archive-hero__stat span:first-child {
        font-size: 22px !important;
    }
    .db-archive-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .db-archive-filters__grid {
        grid-template-columns: 1fr !important;
    }
    .db-archive-search__input {
        font-size: 16px !important;
        padding: 14px 48px !important;
    }
    .db-archive-pills {
        gap: 6px !important;
    }
    .db-archive-pill {
        padding: 6px 14px !important;
        font-size: 13px !important;
    }
}

/* ================================================================
   SINGLE COLLEGE PAGE + LISTING PAGE STYLES (original classes below)
   ================================================================ */

/* ---- General / Container ---- */
/* max-w-7xl (1280px), mx-auto, px-4 sm:px-6 lg:px-8 */
.db-container {
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
}
/* space-y-8 */
.db-sections > * + * {
    margin-top: 32px !important;
}
/* mb-8 */
.db-mb-8 {
    margin-bottom: 32px !important;
}

/* ---- Cards (shared base) ---- */
/* bg-white rounded-2xl shadow-lg p-6 sm:p-8 */
.db-card {
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important;
    padding: 24px !important;
}

/* ---- Section Headings ---- */
/* text-2xl sm:text-3xl font-bold text-gray-900 mb-6 */
.db-section-title {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin-bottom: 24px !important;
    line-height: 1.2 !important;
}

/* ================================================================
   HERO SECTION (.db-hero)
   relative overflow-hidden bg-white rounded-2xl shadow-lg mb-8
   ================================================================ */
.db-hero {
    position: relative !important;
    overflow: hidden !important;
    background-color: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important;
    margin-bottom: 32px !important;
}

/* Campus background image - absolute inset-0 bg-cover bg-center bg-no-repeat */
.db-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

/* Dark gradient overlay - from-black/70 via-black/50 to-black/30 */
.db-hero-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 10 !important;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.3)) !important;
}

/* Content - relative z-20 px-6 py-8 sm:px-8 sm:py-12 */
.db-hero-content {
    position: relative !important;
    z-index: 20 !important;
    padding: 32px 24px !important;
    max-width: 896px !important;
}

/* H1 - single college hero (matches homepage tokens) */
.db-hero-title {
    font-family: var(--gpa-font) !important;
    font-size: var(--gpa-h1-size-m) !important;
    font-weight: var(--gpa-h1-weight) !important;
    color: #fff !important;
    margin-bottom: 16px !important;
    line-height: var(--gpa-h1-line) !important;
}

/* Location - text-gray-200, text-lg sm:text-xl, flex items-center mb-6 */
.db-hero-location {
    display: flex !important;
    align-items: center !important;
    color: #E5E7EB !important;
    font-size: 18px !important;
    margin-bottom: 24px !important;
}
.db-hero-location svg,
.db-hero-location .db-icon {
    width: 20px !important;
    height: 20px !important;
    margin-right: 8px !important;
    flex-shrink: 0 !important;
}

/* Badges container - flex flex-wrap gap-3 */
.db-hero-badges {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

/* Badge base - px-4 py-2 rounded-full text-sm font-semibold border */
.db-badge {
    display: inline-flex !important;
    align-items: center !important;
    padding: 8px 16px !important;
    border-radius: 9999px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-width: 1px !important;
    border-style: solid !important;
}

/* Badge variants */
/* Private: bg-blue-100 text-blue-800 border-blue-200 */
.db-badge-private {
    background: #DBEAFE !important;
    color: #1E40AF !important;
    border-color: #BFDBFE !important;
}
/* Public: bg-purple-100 text-purple-800 border-purple-200 */
.db-badge-public {
    background: #F3E8FF !important;
    color: #6B21A8 !important;
    border-color: #E9D5FF !important;
}
/* Non-profit: bg-teal-100 text-teal-800 border-teal-200 */
.db-badge-nonprofit {
    background: #CCFBF1 !important;
    color: #115E59 !important;
    border-color: #99F6E4 !important;
}
/* Acceptance <20%: bg-red-100 text-red-800 border-red-200 */
.db-badge-acceptance-low {
    background: #FEE2E2 !important;
    color: #991B1B !important;
    border-color: #FECACA !important;
}
/* Acceptance <50%: bg-orange-100 text-orange-800 border-orange-200 */
.db-badge-acceptance-mid {
    background: #FFEDD5 !important;
    color: #9A3412 !important;
    border-color: #FED7AA !important;
}
/* Acceptance 50%+: bg-green-100 text-green-800 border-green-200 */
.db-badge-acceptance-high {
    background: #DCFCE7 !important;
    color: #166534 !important;
    border-color: #BBF7D0 !important;
}
/* Enrollment: bg-gray-100 text-gray-800 border-gray-200 */
.db-badge-enrollment {
    background: #F3F4F6 !important;
    color: #1F2937 !important;
    border-color: #E5E7EB !important;
}
/* Default/fallback: bg-gray-100 text-gray-800 border-gray-200 */
.db-badge-default {
    background: #F3F4F6 !important;
    color: #1F2937 !important;
    border-color: #E5E7EB !important;
}

/* ================================================================
   KEY HIGHLIGHTS (.db-highlights)
   ================================================================ */
.db-highlights {
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important;
    padding: 24px !important;
}

/* Grid: grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6 */
.db-highlights-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
}

/* GPA card: bg-gradient-to-br from-blue-50 to-blue-100 rounded-xl border-blue-200 */
.db-highlight-gpa {
    text-align: center !important;
    padding: 24px !important;
    background: linear-gradient(to bottom right, #EFF6FF, #DBEAFE) !important;
    border-radius: 12px !important;
    border: 1px solid #BFDBFE !important;
}
.db-highlight-gpa .db-highlight-value {
    color: #1E3A5F !important;
}
.db-highlight-gpa .db-highlight-label {
    color: #1D4ED8 !important;
}

/* SAT card: bg-gradient-to-br from-purple-50 to-purple-100 rounded-xl border-purple-200 */
.db-highlight-sat {
    text-align: center !important;
    padding: 24px !important;
    background: linear-gradient(to bottom right, #FAF5FF, #F3E8FF) !important;
    border-radius: 12px !important;
    border: 1px solid #E9D5FF !important;
}
.db-highlight-sat .db-highlight-value {
    color: #581C87 !important;
}
.db-highlight-sat .db-highlight-label {
    color: #7C3AED !important;
}

/* ACT card: bg-gradient-to-br from-green-50 to-green-100 rounded-xl border-green-200 */
.db-highlight-act {
    text-align: center !important;
    padding: 24px !important;
    background: linear-gradient(to bottom right, #F0FDF4, #DCFCE7) !important;
    border-radius: 12px !important;
    border: 1px solid #BBF7D0 !important;
}
.db-highlight-act .db-highlight-value {
    color: #14532D !important;
}
.db-highlight-act .db-highlight-label {
    color: #16A34A !important;
}

/* Icon circles: w-12 h-12 bg-X-500 rounded-full, centered */
.db-highlight-icon {
    width: 48px !important;
    height: 48px !important;
    border-radius: 9999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 16px !important;
    font-size: 24px !important;
    line-height: 1 !important;
    color: #fff !important;
}
.db-highlight-gpa .db-highlight-icon {
    background: #3B82F6 !important;
}
.db-highlight-sat .db-highlight-icon {
    background: #8B5CF6 !important;
}
.db-highlight-act .db-highlight-icon {
    background: #22C55E !important;
}

/* Value: text-3xl font-bold */
.db-highlight-value {
    font-size: 30px !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
}

/* Label: text-sm font-medium */
.db-highlight-label {
    font-size: 14px !important;
    font-weight: 500 !important;
}

/* Additional info row: border-t border-gray-200, mt-6 pt-6 */
.db-highlights-info {
    margin-top: 24px !important;
    padding-top: 24px !important;
    border-top: 1px solid #E5E7EB !important;
}
.db-highlights-info-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    text-align: center !important;
}
.db-highlights-info-item {
    display: flex !important;
    align-items: center !important;
}
.db-highlights-info-item .db-info-label {
    font-size: 14px !important;
    color: #4B5563 !important;
    margin-right: 8px !important;
}

/* Info badges: px-3 py-1 rounded-full text-sm font-semibold */
.db-info-badge {
    display: inline-flex !important;
    padding: 4px 12px !important;
    border-radius: 9999px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}
/* indigo-100 */
.db-info-badge-indigo {
    background: #E0E7FF !important;
    color: #3730A3 !important;
}
/* green-100 */
.db-info-badge-green {
    background: #DCFCE7 !important;
    color: #166534 !important;
}
/* amber-100 */
.db-info-badge-amber {
    background: #FEF3C7 !important;
    color: #92400E !important;
}

/* ================================================================
   ADMISSION SCORES (.db-scores)
   ================================================================ */
.db-scores {
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important;
    padding: 24px !important;
}

/* Header with toggle button */
.db-scores-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 24px !important;
}
.db-scores-toggle {
    display: flex !important;
    align-items: center !important;
    padding: 8px 16px !important;
    background: #F3F4F6 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #374151 !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
}
.db-scores-toggle:hover {
    background: #E5E7EB !important;
}

/* Two columns: grid-cols-1 lg:grid-cols-2 gap-6 */
.db-scores-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
}

/* SAT box: bg-gradient-to-br from-blue-50 to-blue-100 rounded-xl p-6 border-blue-200 */
.db-scores-sat {
    background: linear-gradient(to bottom right, #EFF6FF, #DBEAFE) !important;
    border-radius: 12px !important;
    padding: 24px !important;
    border: 1px solid #BFDBFE !important;
}
.db-scores-sat .db-scores-box-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1E3A5F !important;
}
.db-scores-sat .db-scores-percentile {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1D4ED8 !important;
    margin-bottom: 12px !important;
}

/* ACT box: bg-gradient-to-br from-green-50 to-green-100 rounded-xl p-6 border-green-200 */
.db-scores-act {
    background: linear-gradient(to bottom right, #F0FDF4, #DCFCE7) !important;
    border-radius: 12px !important;
    padding: 24px !important;
    border: 1px solid #BBF7D0 !important;
}
.db-scores-act .db-scores-box-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #14532D !important;
}
.db-scores-act .db-scores-percentile {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #16A34A !important;
    margin-bottom: 12px !important;
}

/* Box header with submit badge */
.db-scores-box-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 16px !important;
}

/* Submit badge: px-3 py-1 bg-X-200 text-X-800 rounded-full text-sm font-semibold */
.db-submit-badge {
    display: inline-flex !important;
    padding: 4px 12px !important;
    border-radius: 9999px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}
.db-submit-badge-blue {
    background: #BFDBFE !important;
    color: #1E40AF !important;
}
.db-submit-badge-green {
    background: #BBF7D0 !important;
    color: #166534 !important;
}

/* Score rows: flex justify-between, py-3 border-b border-gray-100 */
.db-score-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #F3F4F6 !important;
}
.db-score-row:last-child {
    border-bottom: none !important;
}
.db-score-row-label {
    font-weight: 500 !important;
    color: #374151 !important;
    font-size: 16px !important;
}
.db-score-row-value {
    text-align: right !important;
}
.db-score-row-range {
    font-weight: 600 !important;
    color: #111827 !important;
    font-size: 16px !important;
}
.db-score-row-avg {
    font-size: 14px !important;
    color: #6B7280 !important;
}

/* Mobile accordion for scores */
.db-scores-content {
    display: block !important;
}
.db-scores-content-collapsed {
    display: none !important;
}

/* ================================================================
   ADMISSION REQUIREMENTS (.db-requirements)
   ================================================================ */
.db-requirements {
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important;
    padding: 24px !important;
}

/* Grid: grid-cols-1 sm:grid-cols-2 gap-4 */
.db-requirements-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
}

/* Requirement item base */
.db-req-item {
    display: flex !important;
    align-items: center !important;
    padding: 16px !important;
    border-radius: 12px !important;
    border: 1px solid !important;
    transition: background 0.2s ease !important;
}

/* Required item: bg-green-50 border-green-200 hover:bg-green-100 */
.db-req-required {
    background: #F0FDF4 !important;
    border-color: #BBF7D0 !important;
}
.db-req-required:hover {
    background: #DCFCE7 !important;
}
.db-req-required .db-req-label {
    font-weight: 500 !important;
    color: #14532D !important;
}
.db-req-required .db-req-status {
    font-size: 14px !important;
    margin-top: 4px !important;
    color: #16A34A !important;
}

/* Not required: bg-gray-50 border-gray-200 hover:bg-gray-100 */
.db-req-not-required {
    background: #F9FAFB !important;
    border-color: #E5E7EB !important;
}
.db-req-not-required:hover {
    background: #F3F4F6 !important;
}
.db-req-not-required .db-req-label {
    font-weight: 500 !important;
    color: #374151 !important;
}
.db-req-not-required .db-req-status {
    font-size: 14px !important;
    margin-top: 4px !important;
    color: #6B7280 !important;
}

/* Icon circle: w-6 h-6 rounded-full (green-500 or gray-400) */
.db-req-icon {
    flex-shrink: 0 !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 9999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: 16px !important;
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1 !important;
}
.db-req-icon-green {
    background: #22C55E !important;
}
.db-req-icon-gray {
    background: #9CA3AF !important;
}

/* Req content container */
.db-req-content {
    flex: 1 !important;
}

/* Note box: bg-blue-50 rounded-xl border-blue-200 */
.db-req-note {
    margin-top: 24px !important;
    padding: 16px !important;
    background: #EFF6FF !important;
    border-radius: 12px !important;
    border: 1px solid #BFDBFE !important;
}
.db-req-note p {
    font-size: 14px !important;
    color: #1E40AF !important;
    margin: 0 !important;
}
.db-req-note strong {
    font-weight: 700 !important;
}

/* ================================================================
   CREDIT OPTIONS (.db-credits)
   ================================================================ */
.db-credits {
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important;
    padding: 24px !important;
}

/* Grid: grid-cols-1 md:grid-cols-3 gap-6 */
.db-credits-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
}

/* Credit card base */
.db-credit-card {
    position: relative !important;
    padding: 24px !important;
    border-radius: 12px !important;
    border: 1px solid !important;
    transition: all 0.2s ease !important;
}
.db-credit-card:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1) !important;
}

/* Available: bg-gradient-to-br from-green-50 to-green-100 border-green-200 */
.db-credit-available {
    background: linear-gradient(to bottom right, #F0FDF4, #DCFCE7) !important;
    border-color: #BBF7D0 !important;
}
.db-credit-available .db-credit-title {
    color: #14532D !important;
}
.db-credit-available .db-credit-desc {
    color: #15803D !important;
}
.db-credit-available .db-credit-status {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #166534 !important;
    margin-top: 16px !important;
}

/* Not available: bg-gradient-to-br from-gray-50 to-gray-100 border-gray-200 */
.db-credit-unavailable {
    background: linear-gradient(to bottom right, #F9FAFB, #F3F4F6) !important;
    border-color: #E5E7EB !important;
}
.db-credit-unavailable .db-credit-title {
    color: #374151 !important;
}
.db-credit-unavailable .db-credit-desc {
    color: #4B5563 !important;
}
.db-credit-unavailable .db-credit-status {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #6B7280 !important;
    margin-top: 16px !important;
}

/* Status badge (top-right) - w-6 h-6 rounded-full */
.db-credit-status-badge {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 9999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1 !important;
}
.db-credit-status-badge-green {
    background: #22C55E !important;
}
.db-credit-status-badge-gray {
    background: #9CA3AF !important;
}

/* Icon box: w-12 h-12 rounded-xl (green-500 or gray-400) */
.db-credit-icon {
    width: 48px !important;
    height: 48px !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 16px !important;
    color: #fff !important;
    font-size: 24px !important;
    line-height: 1 !important;
}
.db-credit-icon-green {
    background: #22C55E !important;
}
.db-credit-icon-gray {
    background: #9CA3AF !important;
}

/* Title and description */
.db-credit-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
}
.db-credit-desc {
    font-size: 14px !important;
}

/* Note box: bg-amber-50 rounded-xl border-amber-200 */
.db-credits-note {
    margin-top: 24px !important;
    padding: 16px !important;
    background: #FFFBEB !important;
    border-radius: 12px !important;
    border: 1px solid #FDE68A !important;
}
.db-credits-note p {
    font-size: 14px !important;
    color: #92400E !important;
    margin: 0 !important;
}
.db-credits-note strong {
    font-weight: 700 !important;
}

/* ================================================================
   FAQ SECTION (.db-faq)
   Same styling as calculator FAQ (Rank Math)
   ================================================================ */
.db-faq {
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important;
    padding: 24px !important;
}

.db-faq .rank-math-block,
.db-faq .wp-block-rank-math-faq-block {
    padding: 0 !important;
    margin: 0 !important;
}
.db-faq .rank-math-faq-item {
    background: #fff !important;
    border-radius: 8px !important;
    padding: 24px !important;
    border: 1px solid #E5E7EB !important;
    margin-bottom: 24px !important;
}
.db-faq .rank-math-question {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin-bottom: 12px !important;
}
.db-faq .rank-math-answer,
.db-faq .rank-math-answer p {
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #374151 !important;
    line-height: 1.7 !important;
}

/* Custom FAQ items (non-Rank Math) */
.db-faq-item {
    background: #fff !important;
    border-radius: 8px !important;
    padding: 24px !important;
    border: 1px solid #E5E7EB !important;
    margin-bottom: 24px !important;
}
.db-faq-question {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin-bottom: 12px !important;
}
.db-faq-answer {
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #374151 !important;
    line-height: 1.7 !important;
}

/* ================================================================
   MAIN LISTING PAGE (.db-listing)
   ================================================================ */

/* Search bar container: bg-white rounded-xl shadow-lg p-6 */
.db-listing-search {
    background: #F8FAFC !important;
    border: 1px solid #E2E8F0 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
    border-radius: 8px !important;
    padding: 16px !important;
    margin-bottom: 24px !important;
}

/* Listing header */
.db-listing-header {
    text-align: center !important;
    margin-bottom: 16px !important;
}
.db-listing-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin-bottom: 8px !important;
}
.db-listing-subtitle {
    font-size: 14px !important;
    color: #475569 !important;
    margin-bottom: 16px !important;
}

/* Search input wrapper */
.db-search-wrapper {
    position: relative !important;
    max-width: 672px !important;
    margin: 0 auto 12px !important;
}
.db-search-icon {
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 20px !important;
    height: 20px !important;
    color: #94A3B8 !important;
}
/* Input: pl-12 border-gray-300 rounded-lg */
.db-search-input {
    width: 100% !important;
    padding: 10px 48px 10px 48px !important;
    font-size: 14px !important;
    border: 2px solid #CBD5E1 !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important;
    outline: none !important;
}
.db-search-input:focus {
    border-color: #3B82F6 !important;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.2) !important;
}
.db-search-input:focus-visible {
    outline: 3px solid #2563EB !important;
    outline-offset: 2px !important;
}
.db-search-clear {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 20px !important;
    height: 20px !important;
    color: #94A3B8 !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
}
.db-search-clear:hover {
    color: #475569 !important;
}

/* Search suggestions dropdown */
.db-search-suggestions {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin-top: 8px !important;
    background: #fff !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 12px !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
    z-index: 50 !important;
    max-height: 320px !important;
    overflow-y: auto !important;
}
.db-search-suggestions-group {
    padding: 8px !important;
}
.db-search-suggestions-label {
    display: flex !important;
    align-items: center !important;
    padding: 8px 12px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #6B7280 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}
.db-search-suggestion-item {
    width: 100% !important;
    text-align: left !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    transition: background 0.15s ease !important;
    display: flex !important;
    align-items: center !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 14px !important;
    color: #374151 !important;
}
.db-search-suggestion-item:hover {
    background: #F9FAFB !important;
}
.db-search-tips {
    padding: 12px 16px !important;
    background: #F8FAFC !important;
    border-top: 1px solid #F3F4F6 !important;
    font-size: 14px !important;
    color: #6B7280 !important;
}

/* Quick filter pills */
.db-quick-filters {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 6px !important;
    margin-bottom: 16px !important;
}
.db-quick-filter {
    padding: 4px 12px !important;
    border-radius: 9999px !important;
    font-size: 14px !important;
    transition: all 0.15s ease !important;
    border: none !important;
    cursor: pointer !important;
    background: #F1F5F9 !important;
    color: #475569 !important;
}
.db-quick-filter:hover {
    background: #E2E8F0 !important;
}
.db-quick-filter-active-red {
    background: #FEE2E2 !important;
    color: #991B1B !important;
    border: 1px solid #FECACA !important;
}
.db-quick-filter-active-green {
    background: #DCFCE7 !important;
    color: #166534 !important;
    border: 1px solid #BBF7D0 !important;
}
.db-quick-filter-active-blue {
    background: #DBEAFE !important;
    color: #1E40AF !important;
    border: 1px solid #BFDBFE !important;
}
.db-quick-filter-active-purple {
    background: #F3E8FF !important;
    color: #6B21A8 !important;
    border: 1px solid #E9D5FF !important;
}

/* Filter bar */
.db-filter-bar {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    border-top: 1px solid #E2E8F0 !important;
    padding-top: 12px !important;
    margin-bottom: 12px !important;
}
.db-filter-controls {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.db-filter-toggle {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 16px !important;
    border-radius: 8px !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    color: #475569 !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
}
.db-filter-toggle:hover {
    background: #F8FAFC !important;
    color: #0F172A !important;
}
.db-filter-toggle-active {
    background: #DBEAFE !important;
    color: #1D4ED8 !important;
    border: 1px solid #BFDBFE !important;
}
.db-filter-count {
    background: #DBEAFE !important;
    color: #1E40AF !important;
    padding: 4px 12px !important;
    border-radius: 9999px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

/* Sort controls */
.db-sort-controls {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.db-sort-label {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #374151 !important;
    display: none !important;
}
.db-sort-select {
    border: 1px solid #CBD5E1 !important;
    border-radius: 8px !important;
    padding: 6px 12px !important;
    font-size: 14px !important;
    background: #fff !important;
    outline: none !important;
}
.db-sort-select:focus {
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5) !important;
    border-color: transparent !important;
}
.db-sort-select:focus-visible {
    outline: 3px solid #2563EB !important;
    outline-offset: 2px !important;
}
.db-sort-order-btn {
    padding: 8px !important;
    border-radius: 8px !important;
    transition: all 0.15s ease !important;
    border: none !important;
    cursor: pointer !important;
    background: #F1F5F9 !important;
    color: #475569 !important;
}
.db-sort-order-btn:hover {
    background: #E2E8F0 !important;
}
.db-sort-order-btn-active {
    background: #DBEAFE !important;
    color: #1D4ED8 !important;
}

/* Filter dropdowns grid */
.db-filter-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding-top: 12px !important;
    border-top: 1px solid #E2E8F0 !important;
}
.db-filter-group label {
    display: block !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    margin-bottom: 8px !important;
}
.db-filter-select {
    width: 100% !important;
    border: 1px solid #CBD5E1 !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
    background: #fff !important;
    outline: none !important;
}
.db-filter-select:focus {
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5) !important;
    border-color: transparent !important;
}
.db-filter-select:focus-visible {
    outline: 3px solid #2563EB !important;
    outline-offset: 2px !important;
}

/* Filter action buttons */
.db-filter-actions {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: 12px !important;
    border-top: 1px solid #F1F5F9 !important;
    margin-top: 12px !important;
    gap: 8px !important;
}
.db-btn-clear-filters {
    background: #F1F5F9 !important;
    color: #374151 !important;
    padding: 8px 16px !important;
    border-radius: 8px !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
}
.db-btn-clear-filters:hover {
    background: #E2E8F0 !important;
}
.db-btn-apply-filters {
    background: #2563EB !important;
    color: #fff !important;
    padding: 8px 16px !important;
    border-radius: 8px !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
}
.db-btn-apply-filters:hover {
    background: #1D4ED8 !important;
}

/* Results count */
.db-results-info {
    margin-bottom: 24px !important;
}
.db-results-count {
    color: #475569 !important;
    font-size: 14px !important;
}

/* College cards grid: grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 */
.db-college-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
}

/* Card: bg-white rounded-xl shadow-md border-2 border-slate-300, hover:shadow-xl hover:border-blue-400 */
.db-college-card {
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1) !important;
    border: 2px solid #CBD5E1 !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}
.db-college-card:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
    border-color: #60A5FA !important;
    transform: translateY(-4px) !important;
}

/* Card inner padding */
.db-college-card-body {
    padding: 16px !important;
}

/* Card header with badges */
.db-college-card-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    margin-bottom: 12px !important;
}
.db-college-card-badges {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 1 !important;
    min-width: 0 !important;
    flex-wrap: wrap !important;
}

/* State flag box */
.db-state-flag {
    width: 32px !important;
    height: 24px !important;
    background: linear-gradient(to bottom right, #3B82F6, #2563EB) !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
    flex-shrink: 0 !important;
}

/* Card small badges */
.db-card-badge {
    display: inline-flex !important;
    padding: 4px 8px !important;
    border-radius: 9999px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.db-card-badge-slate {
    background: #F1F5F9 !important;
    color: #1E293B !important;
}
.db-card-badge-purple {
    background: #F3E8FF !important;
    color: #6B21A8 !important;
}
.db-card-badge-blue {
    background: #DBEAFE !important;
    color: #1E40AF !important;
}
.db-card-badge-green {
    background: #DCFCE7 !important;
    color: #166534 !important;
}

/* External link icon (hover visible) */
.db-card-external {
    opacity: 0 !important;
    transition: opacity 0.2s ease !important;
    flex-shrink: 0 !important;
    margin-left: 8px !important;
    color: #64748B !important;
}
.db-college-card:hover .db-card-external {
    opacity: 1 !important;
}

/* Card college name */
.db-college-name {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin-bottom: 8px !important;
    line-height: 1.3 !important;
    transition: color 0.2s ease !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
.db-college-card:hover .db-college-name {
    color: #2563EB !important;
}

/* Card location */
.db-college-location {
    display: flex !important;
    align-items: center !important;
    color: #475569 !important;
    margin-bottom: 12px !important;
    font-size: 14px !important;
}
.db-college-location svg,
.db-college-location .db-icon {
    width: 16px !important;
    height: 16px !important;
    margin-right: 4px !important;
}

/* Card stats: grid-cols-2 gap-4, bg-slate-50 rounded-lg */
.db-card-stats {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
}
.db-card-stat {
    text-align: center !important;
    padding: 8px !important;
    background: #F8FAFC !important;
    border-radius: 8px !important;
}
.db-card-stat-value {
    font-size: 18px !important;
    font-weight: 700 !important;
}
.db-card-stat-value-green {
    color: #059669 !important;
}
.db-card-stat-value-blue {
    color: #2563EB !important;
}
.db-card-stat-label {
    font-size: 12px !important;
    color: #475569 !important;
}

/* SAT box in card: bg-blue-50 rounded-lg p-4 */
.db-card-sat {
    background: #EFF6FF !important;
    border-radius: 8px !important;
    padding: 12px !important;
    margin-bottom: 12px !important;
}
.db-card-sat-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 8px !important;
}
.db-card-sat-icon {
    width: 24px !important;
    height: 24px !important;
    background: #DBEAFE !important;
    border-radius: 9999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: 8px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #2563EB !important;
}
.db-card-sat-range {
    font-weight: 600 !important;
    color: #0F172A !important;
    font-size: 14px !important;
}
.db-card-sat-submit {
    font-size: 12px !important;
    color: #475569 !important;
}
.db-card-sat-avg {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #2563EB !important;
}
.db-card-sat-avg-label {
    font-size: 12px !important;
    color: #475569 !important;
}
/* SAT sub-scores grid */
.db-card-scores-mini {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 4px !important;
    font-size: 12px !important;
}
.db-card-score-mini {
    text-align: center !important;
    padding: 6px 4px !important;
    background: #fff !important;
    border-radius: 4px !important;
}
.db-card-score-mini-label {
    font-weight: 600 !important;
    color: #334155 !important;
}
.db-card-score-mini-value {
    color: #475569 !important;
}

/* ACT box in card: bg-purple-50 rounded-lg p-4 */
.db-card-act {
    background: #FAF5FF !important;
    border-radius: 8px !important;
    padding: 12px !important;
    margin-bottom: 12px !important;
}
.db-card-act-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 8px !important;
}
.db-card-act-icon {
    width: 24px !important;
    height: 24px !important;
    background: #F3E8FF !important;
    border-radius: 9999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: 8px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #7C3AED !important;
}
.db-card-act-range {
    font-weight: 600 !important;
    color: #0F172A !important;
    font-size: 14px !important;
}
.db-card-act-submit {
    font-size: 12px !important;
    color: #475569 !important;
}
.db-card-act-avg {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #7C3AED !important;
}
.db-card-act-avg-label {
    font-size: 12px !important;
    color: #475569 !important;
}

/* Warning bar (no URL) */
.db-card-warning {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px !important;
    background: #FFFBEB !important;
    border-radius: 8px !important;
    margin-top: 12px !important;
    font-size: 12px !important;
    color: #B45309 !important;
}

/* Load more button: bg-blue-600 text-white rounded-lg px-8 py-3 */
.db-load-more-wrap {
    text-align: center !important;
    margin-top: 32px !important;
}
.db-load-more {
    background: #2563EB !important;
    color: #fff !important;
    padding: 12px 32px !important;
    border-radius: 8px !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) !important;
}
.db-load-more:hover {
    background: #1D4ED8 !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
}

/* No results */
.db-no-results {
    text-align: center !important;
    padding: 48px 16px !important;
}
.db-no-results-icon {
    font-size: 60px !important;
    margin-bottom: 16px !important;
}
.db-no-results-title {
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #0F172A !important;
    margin-bottom: 8px !important;
}
.db-no-results-text {
    color: #475569 !important;
    margin-bottom: 16px !important;
    font-size: 16px !important;
}

/* ================================================================
   FOOTER (reuse from existing calculator CSS)
   ================================================================ */
.db-footer .site-footer { background: #111827 !important; }
.db-footer #footer-widgets { background: #111827 !important; padding: 60px 0 20px !important; }
.db-footer .footer-widgets-container { max-width: 1200px !important; }
.db-footer .inside-footer-widgets { display: flex !important; flex-wrap: wrap !important; gap: 20px !important; }
.db-footer .inside-footer-widgets > div { flex: 1 !important; min-width: 160px !important; }
.db-footer #footer-widgets .widget-title { color: #fff !important; font-size: 16px !important; font-weight: 700 !important; margin-bottom: 16px !important; }
.db-footer #footer-widgets .widget a { color: #D1D5DB !important; font-size: 14px !important; text-decoration: none !important; font-weight: 400 !important; }
.db-footer #footer-widgets .widget a:hover { color: #fff !important; }
.db-footer #footer-widgets .widget ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.db-footer #footer-widgets .widget li { margin-bottom: 10px !important; }
.db-footer .site-info { background: #111827 !important; border-top: 1px solid #1F2937 !important; padding: 20px 0 !important; }
.db-footer .site-info .copyright-bar { color: #9CA3AF !important; font-size: 14px !important; text-align: center !important; }

/* Also apply footer when body class is used */
body.post-type-archive-colleges .site-footer,
body.single-colleges .site-footer { background: #111827 !important; }
body.post-type-archive-colleges #footer-widgets,
body.single-colleges #footer-widgets { background: #111827 !important; padding: 60px 0 20px !important; }
body.post-type-archive-colleges .footer-widgets-container,
body.single-colleges .footer-widgets-container { max-width: 1200px !important; }
body.post-type-archive-colleges .inside-footer-widgets,
body.single-colleges .inside-footer-widgets { display: flex !important; flex-wrap: wrap !important; gap: 20px !important; }
body.post-type-archive-colleges .inside-footer-widgets > div,
body.single-colleges .inside-footer-widgets > div { flex: 1 !important; min-width: 160px !important; }
body.post-type-archive-colleges #footer-widgets .widget-title,
body.single-colleges #footer-widgets .widget-title { color: #fff !important; font-size: 16px !important; font-weight: 700 !important; margin-bottom: 16px !important; }
body.post-type-archive-colleges #footer-widgets .widget a,
body.single-colleges #footer-widgets .widget a { color: #D1D5DB !important; font-size: 14px !important; text-decoration: none !important; font-weight: 400 !important; }
body.post-type-archive-colleges #footer-widgets .widget a:hover,
body.single-colleges #footer-widgets .widget a:hover { color: #fff !important; }
body.post-type-archive-colleges #footer-widgets .widget ul,
body.single-colleges #footer-widgets .widget ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
body.post-type-archive-colleges #footer-widgets .widget li,
body.single-colleges #footer-widgets .widget li { margin-bottom: 10px !important; }
body.post-type-archive-colleges .site-info,
body.single-colleges .site-info { background: #111827 !important; border-top: 1px solid #1F2937 !important; padding: 20px 0 !important; }
body.post-type-archive-colleges .site-info .copyright-bar,
body.single-colleges .site-info .copyright-bar { color: #9CA3AF !important; font-size: 14px !important; text-align: center !important; }

/* ================================================================
   RESPONSIVE BREAKPOINTS
   sm: 640px, md: 768px, lg: 1024px
   ================================================================ */

/* ---- sm: 640px ---- */
@media (min-width: 640px) {
    /* Container */
    .db-container {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    /* Cards */
    .db-card,
    .db-highlights,
    .db-scores,
    .db-requirements,
    .db-credits,
    .db-faq {
        padding: 32px !important;
    }

    /* Section title */
    .db-section-title {
        font-size: 30px !important;
    }

    /* Hero */
    .db-hero-content {
        padding: 48px 32px !important;
    }
    .db-hero-title {
        font-size: var(--gpa-h1-size-m) !important;
    }
    .db-hero-location {
        font-size: 20px !important;
    }

    /* Highlights grid: sm:grid-cols-2 */
    .db-highlights-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    /* Highlights info row */
    .db-highlights-info-row {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        text-align: left !important;
    }

    /* Requirements grid: sm:grid-cols-2 */
    .db-requirements-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    /* Scores toggle hidden on sm+ */
    .db-scores-toggle {
        display: none !important;
    }
    .db-scores-content-collapsed {
        display: block !important;
    }

    /* Listing search */
    .db-listing-search {
        padding: 24px !important;
        margin-bottom: 32px !important;
    }
    .db-listing-title {
        font-size: 30px !important;
    }
    .db-listing-subtitle {
        font-size: 16px !important;
        margin-bottom: 24px !important;
    }
    .db-search-input {
        padding: 16px 64px 16px 64px !important;
        font-size: 18px !important;
        border-radius: 12px !important;
    }
    .db-search-icon {
        left: 24px !important;
        width: 24px !important;
        height: 24px !important;
    }
    .db-search-clear {
        right: 24px !important;
        width: 24px !important;
        height: 24px !important;
    }
    .db-quick-filters {
        gap: 8px !important;
    }

    /* Filter bar row layout */
    .db-filter-bar {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    /* Filter grid: sm:grid-cols-2 */
    .db-filter-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 16px !important;
    }

    /* Filter actions row */
    .db-filter-actions {
        flex-direction: row !important;
        gap: 16px !important;
    }

    /* Sort label visible */
    .db-sort-label {
        display: inline !important;
    }

    /* College card body padding */
    .db-college-card-body {
        padding: 24px !important;
    }
    .db-college-card-badges {
        gap: 12px !important;
    }
    .db-state-flag {
        width: 40px !important;
        height: 32px !important;
        font-size: 14px !important;
    }
    .db-card-badge {
        padding: 4px 12px !important;
        font-size: 14px !important;
    }
    .db-college-name {
        font-size: 20px !important;
    }
    .db-college-location {
        font-size: 14px !important;
    }
    .db-card-stats {
        gap: 16px !important;
    }
    .db-card-stat {
        padding: 12px !important;
    }
    .db-card-stat-value {
        font-size: 24px !important;
    }
    .db-card-sat,
    .db-card-act {
        padding: 16px !important;
    }
    .db-card-scores-mini {
        gap: 8px !important;
    }
    .db-card-score-mini {
        padding: 8px !important;
    }

    /* College grid gap */
    .db-college-grid {
        gap: 24px !important;
    }

    /* Load more */
    .db-load-more-wrap {
        margin-top: 48px !important;
    }
    .db-load-more {
        padding: 16px 32px !important;
        font-size: 16px !important;
    }
}

/* ---- md: 768px ---- */
@media (min-width: 768px) {
    /* Credits grid: md:grid-cols-3 */
    .db-credits-grid {
        grid-template-columns: 1fr 1fr 1fr !important;
    }

    /* College grid: md:grid-cols-2 */
    .db-college-grid {
        grid-template-columns: 1fr 1fr !important;
    }
}

/* ---- lg: 1024px ---- */
@media (min-width: 1024px) {
    /* Container */
    .db-container {
        padding-left: 32px !important;
        padding-right: 32px !important;
    }

    /* Hero title */
    .db-hero-title {
        font-size: var(--gpa-h1-size) !important;
    }

    /* Highlights grid: lg:grid-cols-3 */
    .db-highlights-grid {
        grid-template-columns: 1fr 1fr 1fr !important;
    }

    /* Scores grid: lg:grid-cols-2 */
    .db-scores-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    /* Filter grid: lg:grid-cols-3 */
    .db-filter-grid {
        grid-template-columns: 1fr 1fr 1fr !important;
    }

    /* College grid: lg:grid-cols-3 */
    .db-college-grid {
        grid-template-columns: 1fr 1fr 1fr !important;
    }

    /* Footer columns */
    .db-footer .inside-footer-widgets > div,
    body.post-type-archive-colleges,
body.single-colleges .inside-footer-widgets > div {
        min-width: 200px !important;
    }
}

/* ---- xl: 1280px (filter grid 6 columns) ---- */
@media (min-width: 1280px) {
    .db-filter-grid {
        grid-template-columns: repeat(6, 1fr) !important;
    }
}

/* ---- Mobile (<640px) fine-tuning ---- */
@media (max-width: 639px) {
    .db-hero-content {
        padding: 24px 16px !important;
    }
    .db-hero-title {
        font-size: 28px !important;
    }
    .db-hero-location {
        font-size: 16px !important;
    }
    .db-hero-badges {
        gap: 8px !important;
    }
    .db-badge {
        padding: 6px 12px !important;
        font-size: 12px !important;
    }

    .db-highlight-value {
        font-size: 24px !important;
    }

    .db-faq .rank-math-faq-item,
    .db-faq-item {
        padding: 16px !important;
    }
    .db-faq .rank-math-question,
    .db-faq-question {
        font-size: 18px !important;
    }
    .db-faq .rank-math-answer,
    .db-faq .rank-math-answer p,
    .db-faq-answer {
        font-size: 16px !important;
    }

    /* Footer */
    .db-footer .inside-footer-widgets > div,
    body.post-type-archive-colleges,
body.single-colleges .inside-footer-widgets > div {
        flex: 0 0 48% !important;
    }
}

/* ================================================================
   SINGLE COLLEGE PAGE — BEM ADDENDUM
   Matches class naming used in single-colleges.php template.
   ================================================================ */

/* --- Hero (BEM aliases) --- */
.db-hero__overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 10 !important;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.3)) !important;
}
.db-hero__content {
    position: relative !important;
    z-index: 20 !important;
    padding: 32px 24px !important;
    max-width: 896px !important;
}
.db-hero__title {
    font-size: 30px !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin-bottom: 12px !important;
    line-height: 1.1 !important;
}
.db-hero__location {
    display: flex !important;
    align-items: center !important;
    color: #E5E7EB !important;
    font-size: 18px !important;
    margin-bottom: 24px !important;
}
.db-hero__location svg,
.db-hero__location-icon {
    width: 20px !important;
    height: 20px !important;
    margin-right: 8px !important;
    flex-shrink: 0 !important;
}
.db-hero__badges {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}
.db-badge svg {
    margin-right: 6px !important;
    flex-shrink: 0 !important;
}
/* Badge BEM modifiers */
.db-badge--blue {
    background: #DBEAFE !important;
    color: #1E40AF !important;
    border-color: #BFDBFE !important;
}
.db-badge--purple {
    background: #F3E8FF !important;
    color: #6B21A8 !important;
    border-color: #E9D5FF !important;
}
.db-badge--green {
    background: #DCFCE7 !important;
    color: #166534 !important;
    border-color: #BBF7D0 !important;
}
.db-badge--orange {
    background: #FFEDD5 !important;
    color: #9A3412 !important;
    border-color: #FED7AA !important;
}
.db-badge--red {
    background: #FEE2E2 !important;
    color: #991B1B !important;
    border-color: #FECACA !important;
}
/* Hero badges — solid fill on dark hero for better contrast */
body.single-colleges .db-hero__badges .db-badge {
    backdrop-filter: blur(4px) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15) !important;
    font-weight: 600 !important;
}

/* --- Card header / title (generic) --- */
.db-card__header {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 24px !important;
}
.db-card__title {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin: 0 !important;
}
.db-card__title svg {
    color: #3B82F6 !important;
    flex-shrink: 0 !important;
}

/* --- Key Highlights grid --- */
.db-highlights__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
}

/* --- Stat card (Key Highlights inner cards) --- */
.db-stat-card {
    text-align: center !important;
    padding: 24px !important;
    border-radius: 12px !important;
    border: 1px solid transparent !important;
}
.db-stat-card--blue {
    background: linear-gradient(to bottom right, #EFF6FF, #DBEAFE) !important;
    border-color: #BFDBFE !important;
}
.db-stat-card--purple {
    background: linear-gradient(to bottom right, #FAF5FF, #F3E8FF) !important;
    border-color: #E9D5FF !important;
}
.db-stat-card--green {
    background: linear-gradient(to bottom right, #F0FDF4, #DCFCE7) !important;
    border-color: #BBF7D0 !important;
}
.db-stat-card__icon {
    width: 48px !important;
    height: 48px !important;
    border-radius: 9999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 16px !important;
    color: #fff !important;
}
.db-stat-card--blue .db-stat-card__icon {
    background: #3B82F6 !important;
}
.db-stat-card--purple .db-stat-card__icon {
    background: #8B5CF6 !important;
}
.db-stat-card--green .db-stat-card__icon {
    background: #22C55E !important;
}
.db-stat-card__value {
    font-size: 30px !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
    color: #111827 !important;
}
.db-stat-card--blue .db-stat-card__value { color: #1E3A5F !important; }
.db-stat-card--purple .db-stat-card__value { color: #581C87 !important; }
.db-stat-card--green .db-stat-card__value { color: #14532D !important; }
.db-stat-card__label {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #4B5563 !important;
}
.db-stat-card--blue .db-stat-card__label { color: #1D4ED8 !important; }
.db-stat-card--purple .db-stat-card__label { color: #7C3AED !important; }
.db-stat-card--green .db-stat-card__label { color: #16A34A !important; }

/* --- Key Highlights info badges row --- */
.db-highlights__badges {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-top: 24px !important;
    padding-top: 24px !important;
    border-top: 1px solid #E5E7EB !important;
}
.db-highlight-badge {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 16px !important;
    background: #F9FAFB !important;
    border-radius: 8px !important;
    border: 1px solid #E5E7EB !important;
    color: #374151 !important;
}
.db-highlight-badge svg {
    flex-shrink: 0 !important;
    color: #6B7280 !important;
}
.db-highlight-badge__text {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}
.db-highlight-badge__label {
    font-size: 13px !important;
    color: #6B7280 !important;
    font-weight: 500 !important;
}
.db-highlight-badge__value {
    font-size: 15px !important;
    color: #111827 !important;
    font-weight: 600 !important;
}

/* --- Scores grid and columns --- */
.db-scores__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
}
.db-scores__column {
    border-radius: 12px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #E5E7EB !important;
    background: #fff !important;
}
.db-scores__column-header {
    padding: 20px !important;
    color: #fff !important;
}
.db-scores__column-header--blue {
    background: linear-gradient(to bottom right, #3B82F6, #2563EB) !important;
}
.db-scores__column-header--green {
    background: linear-gradient(to bottom right, #22C55E, #16A34A) !important;
}
.db-scores__column-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    margin: 0 0 8px 0 !important;
    color: #fff !important;
}
.db-scores__average {
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    margin-bottom: 6px !important;
    color: #fff !important;
}
.db-scores__average-label {
    font-size: 14px !important;
    opacity: 0.9 !important;
}
.db-scores__average-value {
    font-size: 22px !important;
    font-weight: 700 !important;
}
.db-scores__submitting {
    font-size: 13px !important;
    opacity: 0.9 !important;
}
.db-scores__body {
    padding: 8px 20px 20px 20px !important;
}
.db-scores__table {
    width: 100% !important;
    border-collapse: collapse !important;
    background: transparent !important;
    font-size: 14px !important;
    /* GeneratePress core (main.min.css) sets `table, td, th { border: 1px solid
       rgba(0,0,0,.1) }` and `td { border-width: 0 1px 1px 0 }`, which drew stray
       vertical divider lines through these score tables and made the columns look
       misaligned. We only ever want the horizontal row rules, so reset the outer
       and side borders explicitly. */
    border: 0 !important;
}
.db-scores__table thead th {
    text-align: right !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #6B7280 !important;
    padding: 6px 0 10px !important;
    border: 0 !important;
    border-bottom: 1px solid #E5E7EB !important;
}
.db-scores__table thead th:first-child {
    text-align: left !important;
}
.db-scores__table tbody th,
.db-scores__table tbody td {
    padding: 14px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #F3F4F6 !important;
    vertical-align: middle !important;
    background: transparent !important;
}
.db-scores__table tbody td {
    text-align: right !important;
    color: #111827 !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}
.db-scores__table tbody tr:last-child th,
.db-scores__table tbody tr:last-child td {
    border-bottom: none !important;
}
.db-scores__row--highlight th,
.db-scores__row--highlight td {
    background: #F9FAFB !important;
    border-bottom-color: transparent !important;
    font-weight: 700 !important;
}
.db-scores__row--highlight th:first-child {
    border-top-left-radius: 8px !important;
    border-bottom-left-radius: 8px !important;
    padding-left: 12px !important;
}
.db-scores__row--highlight td:last-child {
    border-top-right-radius: 8px !important;
    border-bottom-right-radius: 8px !important;
    padding-right: 12px !important;
}
.db-scores__row-label {
    text-align: left !important;
    font-weight: 500 !important;
    color: #374151 !important;
    font-size: 15px !important;
}
.db-scores__row-label svg {
    color: #6B7280 !important;
    flex-shrink: 0 !important;
    vertical-align: -3px !important;
    margin-right: 8px !important;
}

/* --- Requirements grid --- */
.db-requirements__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
}
.db-requirement-item {
    display: flex !important;
    align-items: flex-start !important;
    padding: 16px !important;
    border-radius: 12px !important;
    border: 1px solid !important;
    gap: 14px !important;
    transition: background 0.2s ease !important;
}
.db-requirement-item--required {
    background: #F0FDF4 !important;
    border-color: #BBF7D0 !important;
}
.db-requirement-item--required:hover {
    background: #DCFCE7 !important;
}
.db-requirement-item--not-required {
    background: #F9FAFB !important;
    border-color: #E5E7EB !important;
}
.db-requirement-item--not-required:hover {
    background: #F3F4F6 !important;
}
.db-requirement-item__icon {
    flex-shrink: 0 !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 9999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: #9CA3AF !important;
}
.db-requirement-item--required .db-requirement-item__icon {
    background: #22C55E !important;
}
.db-requirement-item__content {
    flex: 1 !important;
    min-width: 0 !important;
}
.db-requirement-item__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin-bottom: 6px !important;
}
.db-requirement-item__label {
    font-weight: 600 !important;
    color: #111827 !important;
    font-size: 15px !important;
}
.db-requirement-item__status {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 3px 10px !important;
    border-radius: 9999px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    white-space: normal !important;
    max-width: 100% !important;
    word-break: break-word !important;
    text-align: left !important;
    line-height: 1.3 !important;
}
.db-requirement-item__status svg {
    flex-shrink: 0 !important;
}
.db-requirement-item__status--green {
    background: #DCFCE7 !important;
    color: #166534 !important;
}
.db-requirement-item__status--gray {
    background: #F3F4F6 !important;
    color: #4B5563 !important;
}
.db-requirement-item__description {
    font-size: 13px !important;
    color: #6B7280 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* --- Credits grid / cards --- */
.db-credits__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
}
.db-credit-card {
    position: relative !important;
    padding: 24px !important;
    border-radius: 12px !important;
    border: 1px solid !important;
    transition: all 0.2s ease !important;
}
.db-credit-card:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1) !important;
}
.db-credit-card--available {
    background: linear-gradient(to bottom right, #F0FDF4, #DCFCE7) !important;
    border-color: #BBF7D0 !important;
}
.db-credit-card--unavailable {
    background: linear-gradient(to bottom right, #F9FAFB, #F3F4F6) !important;
    border-color: #E5E7EB !important;
}
.db-credit-card__icon-wrap {
    width: 48px !important;
    height: 48px !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 16px !important;
    color: #fff !important;
}
.db-credit-card__icon-wrap--green {
    background: #22C55E !important;
}
.db-credit-card__icon-wrap--gray {
    background: #9CA3AF !important;
}
.db-credit-card__title {
    font-size: 18px !important;
    font-weight: 700 !important;
    margin: 0 0 8px 0 !important;
}
.db-credit-card--available .db-credit-card__title {
    color: #14532D !important;
}
.db-credit-card--unavailable .db-credit-card__title {
    color: #374151 !important;
}
.db-credit-card__status {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 3px 10px !important;
    border-radius: 9999px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    margin-bottom: 12px !important;
}
.db-credit-card__status--green {
    background: #DCFCE7 !important;
    color: #166534 !important;
}
.db-credit-card__status--gray {
    background: #F3F4F6 !important;
    color: #4B5563 !important;
}
.db-credit-card__description {
    font-size: 14px !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}
.db-credit-card--available .db-credit-card__description {
    color: #15803D !important;
}
.db-credit-card--unavailable .db-credit-card__description {
    color: #4B5563 !important;
}

/* --- Info box (notes under sections) --- */
.db-info-box {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-top: 24px !important;
    padding: 16px !important;
    border-radius: 12px !important;
    border: 1px solid !important;
}
.db-info-box svg {
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}
.db-info-box p {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}
.db-info-box--blue {
    background: #EFF6FF !important;
    border-color: #BFDBFE !important;
}
.db-info-box--blue svg,
.db-info-box--blue p {
    color: #1E40AF !important;
}
.db-info-box--amber {
    background: #FFFBEB !important;
    border-color: #FDE68A !important;
}
.db-info-box--amber svg,
.db-info-box--amber p {
    color: #92400E !important;
}

/* --- FAQ (collapsible) --- */
.db-faq__list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}
.db-faq__item {
    background: #fff !important;
    border-radius: 10px !important;
    border: 1px solid #E5E7EB !important;
    overflow: hidden !important;
}
.db-faq__question {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 16px 20px !important;
    background: #fff !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    text-align: left !important;
    gap: 12px !important;
    transition: background 0.15s ease !important;
}
.db-faq__question:hover {
    background: #F9FAFB !important;
}
.db-faq__question:focus-visible {
    outline: 3px solid #2563EB !important;
    outline-offset: -3px !important;
}
.db-faq__chevron {
    color: #6B7280 !important;
    transition: transform 0.2s ease !important;
    flex-shrink: 0 !important;
}
.db-faq__question--active .db-faq__chevron {
    transform: rotate(180deg) !important;
}
.db-faq__answer {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.3s ease, padding 0.3s ease !important;
    padding: 0 20px !important;
    font-size: 16px !important;
    color: #374151 !important;
    line-height: 1.7 !important;
}
.db-faq__answer--open {
    max-height: 800px !important;
    padding: 0 20px 16px 20px !important;
}
.db-faq__answer p {
    margin: 0 !important;
}

/* --- College profile wrapper --- */
.db-college-profile {
    display: block !important;
    width: 100% !important;
    padding: 0 0 24px 0 !important;
}
.db-college-profile > .db-container > * + * {
    margin-top: 24px !important;
}
/* Force full-width for single-colleges content wrappers even inside flex parents */
body.single-colleges #content.site-content,
body.single-colleges #primary,
body.single-colleges main,
body.single-colleges article {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
}
body.single-colleges .db-hero {
    max-width: 1280px !important;
    width: 100% !important;
    margin: 24px auto !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background-color: #1E3A8A !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}
/* Compact hero content padding + reduce title size + widen content area */
body.single-colleges .db-hero__content {
    padding: 20px 24px !important;
    max-width: none !important;
    width: 100% !important;
}
body.single-colleges .db-hero__title {
    font-size: 24px !important;
    margin-bottom: 6px !important;
}
body.single-colleges .db-hero__location {
    font-size: 15px !important;
    margin-bottom: 14px !important;
}
@media (min-width: 768px) {
    body.single-colleges .db-hero__content {
        padding: 28px 32px !important;
    }
    body.single-colleges .db-hero__title {
        font-size: 32px !important;
        margin-bottom: 8px !important;
    }
    body.single-colleges .db-hero__location {
        font-size: 17px !important;
        margin-bottom: 16px !important;
    }
}
/* Stronger overlay for text readability on any image */
body.single-colleges .db-hero__overlay {
    background: linear-gradient(to right, rgba(30, 58, 138, 0.85), rgba(59, 130, 246, 0.65), rgba(139, 92, 246, 0.45)) !important;
}
body.single-colleges .db-container {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* --- Responsive grids for single page --- */
@media (min-width: 640px) {
    .db-highlights__grid {
        grid-template-columns: 1fr 1fr !important;
    }
    .db-requirements__grid {
        grid-template-columns: 1fr 1fr !important;
    }
    .db-highlights__badges {
        flex-direction: row !important;
        flex-wrap: wrap !important;
    }
    .db-highlight-badge {
        flex: 1 1 calc(33.333% - 8px) !important;
        min-width: 200px !important;
    }
}
@media (min-width: 768px) {
    .db-credits__grid {
        grid-template-columns: 1fr 1fr 1fr !important;
    }
}
@media (min-width: 1024px) {
    .db-highlights__grid {
        grid-template-columns: 1fr 1fr 1fr !important;
    }
    .db-scores__grid {
        grid-template-columns: 1fr 1fr !important;
    }
}

/* ---- Mobile overflow guards (client fix Apr 2026) ---- */
.db-card,
.db-requirement-item,
.db-requirement-item__content,
.db-college-profile {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
}
.db-card {
    overflow-wrap: anywhere !important;
}
@media (max-width: 640px) {
    .db-card {
        padding: 20px 16px !important;
    }
    .db-requirement-item {
        padding: 14px !important;
        gap: 10px !important;
    }
    .db-requirement-item__header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 6px !important;
    }
    .db-requirement-item__icon {
        width: 32px !important;
        height: 32px !important;
    }
}

/* =====================================================
   ARCHIVE — COLLEGE CARD (BEM inner elements)
   Server-rendered + AJAX-rendered cards share this markup.
   ===================================================== */
.db-college-card {
    padding: 0 !important;
    gap: 0 !important;
}

/* Image banner (edge-to-edge, 16:9) */
.db-college-card__image {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    background: #F3F4F6 !important;
    overflow: hidden !important;
    position: relative !important;
    text-decoration: none !important;
}
.db-college-card__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.4s ease !important;
}
.db-college-card:hover .db-college-card__image img {
    transform: scale(1.05) !important;
}
.db-college-card__image-placeholder {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, #DBEAFE 0%, #E0E7FF 100%) !important;
    color: #6366F1 !important;
}

/* Content wrapper — everything below image is padded */
.db-college-card > *:not(.db-college-card__image) {
    padding-left: 20px !important;
    padding-right: 20px !important;
}
.db-college-card > .db-college-card__badges { padding-top: 16px !important; margin-top: 0 !important; }
.db-college-card > .db-college-card__test-box--act { margin-bottom: 20px !important; }

/* Internal vertical rhythm */
.db-college-card__badges + .db-college-card__name { margin-top: 12px !important; }
.db-college-card__name + .db-college-card__location { margin-top: 6px !important; }
.db-college-card__location + .db-college-card__stats,
.db-college-card__name + .db-college-card__stats { margin-top: 14px !important; }
.db-college-card__stats + .db-college-card__test-box { margin-top: 14px !important; }
.db-college-card__test-box + .db-college-card__test-box { margin-top: 10px !important; }

/* Top badge row */
.db-college-card__badges {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    align-items: center !important;
    margin: 0 !important;
}
.db-card-badge {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 10px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.02em !important;
    white-space: nowrap !important;
    border: 1px solid transparent !important;
}
.db-card-badge--state {
    background: #F3F4F6 !important;
    color: #374151 !important;
    border-color: #E5E7EB !important;
    text-transform: uppercase !important;
    font-size: 10px !important;
}
.db-card-badge--standards {
    background: #FEF3C7 !important;
    color: #92400E !important;
    border-color: #FDE68A !important;
}
.db-card-badge--blue {
    background: #DBEAFE !important;
    color: #1E40AF !important;
    border-color: #BFDBFE !important;
}
.db-card-badge--purple {
    background: #EDE9FE !important;
    color: #5B21B6 !important;
    border-color: #DDD6FE !important;
}
.db-card-badge--gray {
    background: #F3F4F6 !important;
    color: #374151 !important;
    border-color: #E5E7EB !important;
}

/* College name */
.db-college-card__name {
    margin: 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #111827 !important;
}
.db-college-card__name a {
    color: #1E40AF !important;
    text-decoration: none !important;
}
.db-college-card__name a:hover {
    color: #1D4ED8 !important;
    text-decoration: underline !important;
}

/* Location */
.db-college-card__location {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #6B7280 !important;
    font-size: 13px !important;
    margin: 0 !important;
}
.db-college-card__location svg {
    flex: 0 0 auto !important;
    color: #9CA3AF !important;
}

/* Stats row (Acceptance + GPA) */
.db-college-card__stats {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    padding: 12px 0 !important;
    border-top: 1px solid #F3F4F6 !important;
    border-bottom: 1px solid #F3F4F6 !important;
}
.db-college-card__stat {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}
.db-college-card__stat-label {
    font-size: 11px !important;
    color: #6B7280 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    font-weight: 600 !important;
}
.db-college-card__stat-value {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    line-height: 1.2 !important;
}
.db-college-card__stat-value.db-card-badge--red {
    display: inline-flex !important;
    align-self: flex-start !important;
    background: #FEE2E2 !important;
    color: #991B1B !important;
    padding: 3px 10px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}
.db-college-card__stat-value.db-card-badge--orange {
    display: inline-flex !important;
    align-self: flex-start !important;
    background: #FFEDD5 !important;
    color: #9A3412 !important;
    padding: 3px 10px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}
.db-college-card__stat-value.db-card-badge--green {
    display: inline-flex !important;
    align-self: flex-start !important;
    background: #D1FAE5 !important;
    color: #065F46 !important;
    padding: 3px 10px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

/* Test boxes (SAT / ACT) */
.db-college-card__test-box {
    border-radius: 10px !important;
    padding: 12px 14px !important;
    border: 1px solid #E5E7EB !important;
    background: #F9FAFB !important;
}
.db-college-card__test-box--sat {
    background: linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 100%) !important;
    border-color: #BFDBFE !important;
}
.db-college-card__test-box--act {
    background: linear-gradient(135deg, #F0FDF4 0%, #DCFCE7 100%) !important;
    border-color: #BBF7D0 !important;
}
.db-college-card__test-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
}
.db-college-card__test-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}
.db-college-card__test-range {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    background: rgba(255, 255, 255, 0.7) !important;
    padding: 2px 8px !important;
    border-radius: 6px !important;
}
.db-college-card__test-avg {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 6px !important;
    margin-bottom: 8px !important;
    padding-bottom: 6px !important;
    border-bottom: 1px dashed rgba(0, 0, 0, 0.08) !important;
}
.db-college-card__test-avg-label {
    font-size: 11px !important;
    color: #6B7280 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    font-weight: 600 !important;
}
.db-college-card__test-avg-value {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #111827 !important;
}
.db-college-card__test-breakdown {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
}
.db-college-card__test-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    font-size: 12px !important;
}
.db-college-card__test-row-label {
    color: #6B7280 !important;
    font-weight: 500 !important;
}
.db-college-card__test-row-value {
    color: #111827 !important;
    font-weight: 600 !important;
    font-variant-numeric: tabular-nums !important;
}

/* ---- Load More Button ---- */
.db-archive-load-more {
    display: flex !important;
    justify-content: center !important;
    margin: 32px 0 48px !important;
    padding: 0 !important;
}
.db-archive-load-more__btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 14px 32px !important;
    background: linear-gradient(135deg, #1E40AF 0%, #3B82F6 100%) !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    border: none !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px -2px rgba(59, 130, 246, 0.35) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
    letter-spacing: 0.01em !important;
    min-width: 220px !important;
}
.db-archive-load-more__btn:hover:not(:disabled) {
    background: linear-gradient(135deg, #1D4ED8 0%, #2563EB 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px -4px rgba(59, 130, 246, 0.5) !important;
}
.db-archive-load-more__btn:focus-visible {
    outline: 3px solid #BFDBFE !important;
    outline-offset: 2px !important;
}
.db-archive-load-more__btn:disabled {
    opacity: 0.7 !important;
    cursor: not-allowed !important;
    transform: none !important;
}
.db-archive-load-more__text {
    align-items: center !important;
}
.db-archive-load-more__spinner {
    align-items: center !important;
    gap: 8px !important;
}
.db-archive-load-more__spinner svg {
    animation: db-spinner-rotate 0.8s linear infinite !important;
}
@keyframes db-spinner-rotate {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

/* ============================================================
   T10.6 — Visible breadcrumb (archive /admission/ + single college)
   UI counterpart of the BreadcrumbList JSON-LD (T1.3). Tokens only.
   ============================================================ */
.gpa-breadcrumb {
    max-width: 1140px;
    margin: 0 auto;
    padding: var(--gpa-gap-md, 16px) var(--gpa-gap-md, 16px) 0;
    font-size: 0.875rem;
    line-height: 1.4;
}
.gpa-breadcrumb__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
}
.gpa-breadcrumb__item {
    display: inline-flex;
    align-items: center;
    color: var(--gpa-text-muted, #6b7280);
    min-width: 0;
}
/* Separator before every item except the first. */
.gpa-breadcrumb__item + .gpa-breadcrumb__item::before {
    content: "/";
    margin: 0 0.5em;
    color: var(--gpa-text-light, #9ca3af);
    flex: none;
}
.gpa-breadcrumb__link {
    color: var(--gpa-text-muted, #6b7280);
    text-decoration: none;
    transition: color 0.15s ease;
}
.gpa-breadcrumb__link:hover,
.gpa-breadcrumb__link:focus {
    color: var(--gpa-primary, #2563eb);
    text-decoration: underline;
}
.gpa-breadcrumb__current {
    color: var(--gpa-text-body, #374151);
    font-weight: 600;
    /* Truncate a very long college name gracefully on small screens. */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 60vw;
}
