/* Shared vacancy cards: preview stays compact; the full card floats over later rows. */
.company-job-grid { align-items: start; }
.company-job-grid > [class*="col-"] { min-width: 0; position: relative; }
.company-job-grid > .th-job-active { z-index: 30; }
.company-job-grid .th-expandable-job-card { position: relative; min-width: 0; height: 122px; min-height: 122px; padding: 10px 12px; align-items: start; overflow: visible; }
.th-expandable-job-card .company-job-content { min-width: 0; }
.th-expandable-job-card .company-job-content h3, .th-job-section .th-expandable-job-card h3 { display: block; min-width: 0; margin: 2px 0 5px; max-width: 100%; font-size: 1.02rem; font-weight: 750; color: #184779; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.th-expandable-job-card .th-more-jobs { display: inline-block; max-width: calc(100% - 13px); margin: 3px 0 0 13px; padding: 3px 9px; border: 0; border-radius: 999px; background: #e5f8ef; color: #007b5d; font-size: .67rem; font-weight: 750; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; }
.th-expandable-job-card .th-more-jobs:hover { background: #d1f2e2; }
.th-expandable-job-card .th-more-jobs:focus-visible, .th-job-overlay a:focus-visible { outline: 2px solid #1466a8; outline-offset: 2px; }
.th-expandable-job-card .company-job-content ul { margin: 0; padding: 0; }
.th-expandable-job-card .company-job-content li { min-width: 0; border: 0; padding: 3px 0 3px 13px; }
.th-expandable-job-card .company-job-content li::before { content: '\25B8'; top: 3px; color: #1663a6; }
.th-expandable-job-card .company-job-content li a { display: block; max-width: 100%; font-size: .9rem; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.th-expandable-job-card .company-job-content small { font-size: .73rem; line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* One opaque card covers its preview and any rows underneath, without a detached seam. */
.th-expandable-job-card .th-job-overlay { position: absolute; top: -1px; left: -1px; z-index: 2; display: flex; flex-direction: column; width: calc(100% + 2px); max-height: min(520px, calc(100dvh - 24px)); border: 1px solid #82b1de; border-radius: 16px; background: #fff; color: #243e58; box-shadow: 0 18px 35px #12385a38; overflow: hidden; visibility: hidden; pointer-events: none; }
.th-expandable-job-card.is-expanded .th-job-overlay { visibility: visible; pointer-events: auto; }
.th-expandable-job-card.th-open-up .th-job-overlay { top: auto; bottom: -1px; }
.th-job-overlay-header { flex: 0 0 auto; display: flex; align-items: center; gap: 12px; min-width: 0; margin: 0 16px; padding: 14px 0 12px; border-bottom: 1px solid #dce6ee; }
.th-job-overlay-logo { flex: 0 0 62px; display: grid; place-items: center; width: 62px; height: 62px; border: 1px solid #dce6ee; border-radius: 11px; color: #718a9c; overflow: hidden; }
.th-job-overlay-logo img { width: 100%; height: 100%; object-fit: contain; padding: 6px; }
.th-job-overlay-heading { min-width: 0; }
.th-job-overlay-heading strong { display: block; max-width: 100%; color: #184779; font-size: .98rem; line-height: 1.3; overflow-wrap: anywhere; }
.th-job-overlay-heading small { display: inline-block; margin-top: 5px; padding: 3px 9px; border-radius: 999px; background: #e6f8f0; color: #007b5d; font-size: .72rem; font-weight: 750; }
.th-job-overlay-list { flex: 1 1 auto; min-height: 0; margin: 0; padding: 8px 16px 16px; overflow-y: auto; overscroll-behavior: contain; list-style: none; }
.th-job-overlay-list li { position: relative; min-width: 0; padding: 9px 0 9px 17px; border-bottom: 1px solid #edf1f4; }
.th-job-overlay-list li:last-child { border-bottom: 0; }
.th-job-overlay-list li::before { position: absolute; top: 9px; left: 0; content: '\25B8'; color: #1663a6; }
.th-job-overlay-list a { display: block; max-width: 100%; color: #243e58; font-size: .88rem; font-weight: 700; line-height: 1.38; text-decoration: none; overflow-wrap: anywhere; }
.th-job-overlay-list a:hover { color: #087f83; text-decoration: underline; }
.th-job-overlay-list small { display: block; margin-top: 4px; color: #667d91; font-size: .72rem; line-height: 1.35; overflow-wrap: anywhere; }
/* Landing-page hover rules must not unlock the preview titles outside their cards. */
.th-job-section .th-expandable-job-card:hover { transform: none; }
.th-job-section .th-expandable-job-card:hover li a, .th-job-section .th-expandable-job-card:focus-within li a { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.th-job-section .th-job-overlay-list li a, .th-job-section .th-expandable-job-card:hover .th-job-overlay-list li a, .th-job-section .th-expandable-job-card:focus-within .th-job-overlay-list li a { white-space: normal; overflow: visible; text-overflow: clip; -webkit-line-clamp: unset; }
@media (max-width: 575px) { .company-job-grid .th-expandable-job-card { height: 116px; min-height: 116px; } .th-expandable-job-card .th-more-jobs { font-size: .62rem; padding-inline: 5px; } .th-job-overlay-header { margin-inline: 12px; } .th-job-overlay-list { padding-inline: 12px; } }
