/*
 * ECVS brand overrides for Epic Job Board v2 widget + cards + map.
 *   #112337  primary navy
 *   #527EFF  electric blue accent
 *   #ab0a3d  red accent
 *   #f4d5a3  warm cream highlight
 */

/* ============================================
 * v2 Filter Widget (hero search card)
 * ============================================ */

.ejb-v2.search-hero {
    background: linear-gradient(135deg, #061322 0%, #0d1f3a 45%, #112337 100%) !important;
}

/* ECVS: uniform 10px radius on the widget (NOT a pill).
   Set every corner-radius longhand too — plugin uses shorthand 10px/45px/45px/10px
   for .go-btn and might re-apply individual corners elsewhere. */
.ejb-v2 .search-card,
.ejb-v2 .search-row,
.ejb-v2 .go-btn {
    border-radius: 10px !important;
    border-top-left-radius: 10px !important;
    border-top-right-radius: 10px !important;
    border-bottom-right-radius: 10px !important;
    border-bottom-left-radius: 10px !important;
}

/* Lock sidebar widget content widths so nothing overflows the 300px sidebar */
html body.page-template-page-job-search-v2 .ejb-v2-sidebar,
html body.page-template-page-job-search-v2 .ejb-v2-sidebar * {
    max-width: 100% !important;
    box-sizing: border-box !important;
}
html body.page-template-page-job-search-v2 .ejb-v2-sidebar img,
html body.page-template-page-job-search-v2 .ejb-v2-sidebar a,
html body.page-template-page-job-search-v2 .ejb-v2-sidebar .wp-block-button__link,
html body.page-template-page-job-search-v2 .ejb-v2-sidebar .wp-block-button {
    width: auto !important;
    max-width: 100% !important;
    word-wrap: break-word !important;
    overflow-wrap: anywhere !important;
}

/* Sidebar overflow fix — force the layout to stay within viewport.
   !important needed because vault theme CSS overrides the inline flex rules. */
html body.page-template-page-job-search-v2 .ejb-v2-layout {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 40px !important;
    align-items: flex-start !important;
    box-sizing: border-box !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 30px !important;
    width: 100% !important;
}
html body.page-template-page-job-search-v2 .ejb-v2-layout > .ejb-v2-main {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: calc(100% - 340px) !important;
    box-sizing: border-box !important;
}
html body.page-template-page-job-search-v2 .ejb-v2-layout > .ejb-v2-sidebar {
    flex: 0 0 300px !important;
    width: 300px !important;
    max-width: 300px !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}
@media (max-width: 991px) {
    html body.page-template-page-job-search-v2 .ejb-v2-layout > .ejb-v2-main,
    html body.page-template-page-job-search-v2 .ejb-v2-layout > .ejb-v2-sidebar {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Wrap the per-role bonus text so "for every {role}" is on its own line */
.jc-v2 .jc-ref-note {
    display: block;
    width: 100%;
    color: #ab0a3d;
    font-size: 13px;
    font-weight: 600;
    margin-top: 4px;
    line-height: 1.4;
}

.ejb-v2 .hero-bg-image {
    background-image: url('https://epiccardiovascularservices.com/wp-content/themes/vault-child/images/ecvs-hero-cardio.jpg') !important;
    background-size: cover !important;
    background-position: center center !important;
}
.ejb-v2 .hero-bg-image.loaded { opacity: 0.12 !important; }

/* Hide the "Hi {name}!" greeting (looks awkward in the hero) */
.ejb-v2 .hero-greeting { display: none !important; }

.ejb-v2 .hero-title em { color: #ab0a3d !important; }

.ejb-v2 .sf-label { color: #112337 !important; }

.ejb-v2 .sf:hover,
.ejb-v2 .sf.active { background: #eef2f8 !important; }
.ejb-v2 .sf-chip-outer { border-color: #b0bed5 !important; }
.ejb-v2 .sf.active .chev { stroke: #112337 !important; }
.ejb-v2 .sf:focus-within { border-color: #112337 !important; }
.ejb-v2 .sf-icon { color: #112337 !important; }

.ejb-v2 .dd-i.selected,
.ejb-v2 .dd-i:hover,
.ejb-v2 .ac-opt:hover,
.ejb-v2 .ac-opt.selected,
.ejb-v2 .dd-city-item:hover {
    background: #eef2f8 !important;
    color: #112337 !important;
}
.ejb-v2 .dd-i.selected { font-weight: 600 !important; }

.ejb-v2 .filter-chip,
.ejb-v2 .ac-chip,
.ejb-v2 .selected-chip {
    background: #eef2f8 !important;
    border-color: #b0bed5 !important;
    color: #112337 !important;
}
.ejb-v2 .filter-chip:hover { background: #b0bed5 !important; }

/* Selected pills (.spec-tag, .loc-tag) */
.ejb-v2 .spec-tag,
.ejb-v2 .loc-tag {
    background: #eef2f8 !important;
    border-color: #b0bed5 !important;
    color: #112337 !important;
}
.ejb-v2 .spec-tag-x,
.ejb-v2 .loc-tag-x {
    background: rgba(17, 35, 55, 0.15) !important;
    color: #112337 !important;
}
.ejb-v2 .spec-tag-x:hover,
.ejb-v2 .loc-tag-x:hover { background: rgba(17, 35, 55, 0.3) !important; }

.ejb-v2 .more-tag {
    background: rgba(17, 35, 55, 0.15) !important;
    border-color: #b0bed5 !important;
    color: #112337 !important;
}
.ejb-v2 .more-tag:hover { background: rgba(17, 35, 55, 0.25) !important; }

/* Inputs */
.ejb-v2 .loc-search,
.ejb-v2 .ac-input,
.ejb-v2 input[type="text"] { border-color: #112337 !important; }
.ejb-v2 .loc-search:focus,
.ejb-v2 .ac-input:focus,
.ejb-v2 input[type="text"]:focus { border-color: #112337 !important; }

/* Hide assignments-live badge and trending cities row on ECVS */
.ejb-v2 .hero-badge,
.ejb-v2 .trending-row,
.ejb-v2 .tr-label,
.ejb-v2 .tr-pills-wrap { display: none !important; }

/* Trending pill numbers — bold solid white */
.ejb-v2 .tc-count {
    color: #ffffff !important;
    font-weight: 700 !important;
    opacity: 1 !important;
}

/* Sort By chip on the results header (high-specificity, ID-selector) */
#ats-job-filter-sort-by-container.sort-chip {
    border-color: #112337 !important;
}
#ats-job-filter-sort-by-container.sort-chip:hover {
    background: rgba(17, 35, 55, 0.06) !important;
    border-color: #ab0a3d !important;
}
.sort-chip select,
.sort-chip select#ats-job-filter-sort-by-pay-rate {
    color: #112337 !important;
}

/* Force Refer & Earn button to RED accent on cards */
.jc-v2 .jc-actions .refer-friend-btn.uicore-btn,
.jc-v2 .jc-actions .refer-friend-btn.uicore-inverted {
    background: #ab0a3d !important;
    color: #fff !important;
    border-color: #ab0a3d !important;
}
.jc-v2 .jc-actions .refer-friend-btn.uicore-btn:hover {
    background: #8b0832 !important;
    color: #fff !important;
}

.ejb-v2 .pac-container,
.ejb-v2 .loc-autocomplete,
.ejb-v2 .ac-list { border-color: #112337 !important; }

/* Black checkboxes (plugin default is dark teal #1a3a4a) */
.ejb-v2 .dd-check { border-color: #000 !important; }
.ejb-v2 .dd-i.selected .dd-check {
    background: #000 !important;
    border-color: #000 !important;
}

/* Remove the light-teal focus ring on the search row */
.ejb-v2 .search-row:focus-within {
    border-color: #112337 !important;
    box-shadow: none !important;
}

/* Explore Jobs button */
.ejb-v2 .go-btn { background: #112337 !important; }
.ejb-v2 .go-btn:hover {
    background: #ab0a3d !important;
    box-shadow: 0 8px 24px rgba(171, 10, 61, 0.45) !important;
}
/* Hide the circle arrow so the Explore Jobs button keeps a uniform 10px rectangle shape */
.ejb-v2 .go-btn .btn-arrow { display: none !important; }
.ejb-v2 .go-btn {
    justify-content: center !important;
    padding-right: 32px !important;
    padding-left: 32px !important;
}

.ejb-v2 .search-btn,
.ejb-v2 button[type="submit"]:not(.go-btn) {
    background: #112337 !important;
    border-color: #112337 !important;
    color: #fff !important;
}

.ejb-v2 .loading-bar,
.ejb-v2 .progress::before,
.ejb-v2 .progress::after {
    background: linear-gradient(to right, transparent, #112337) !important;
}

.ejb-v2 .dd-scroll::-webkit-scrollbar-thumb { background: #b0bed5 !important; }
.ejb-v2 .dd-scroll::-webkit-scrollbar-thumb:hover { background: #112337 !important; }

.ejb-v2 .sort-chip,
.ejb-v2 .filter-chip { border-color: #112337 !important; }
.ejb-v2 .sort-chip:hover,
.ejb-v2 .filter-chip:hover { background: #112337 !important; color: #fff !important; }

.ejb-v2 .results-count,
.ejb-v2 .jobs_loaded { color: #112337 !important; }

/* Assignments live dot + trending counts */
.ejb-v2 .badge-dot { background: #f4d5a3 !important; }
.ejb-v2 .tc-count { color: #527EFF !important; }

/* ============================================
 * v2 Job Cards
 * ============================================ */

.jc-v2:hover { border-color: #112337 !important; }

.jc-v2 .jc-type { color: #112337 !important; }
.jc-v2 .jc-title { color: #222 !important; }
.jc-v2 .jc-title:hover { color: #ab0a3d !important; }

.jc-v2 .jc-pay { color: #112337 !important; }
.jc-v2 .jc-pay span { color: #555 !important; }

.jc-v2 .epic-select-badge { background: #112337 !important; }

.jc-v2 .jm svg { stroke: #999 !important; }

.jc-v2 .jc-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}
.jc-v2 .jc-actions .ot-button + .ot-button { margin-left: 0; }

.jc-v2 .jc-ref-note {
    display: block;
    width: 100%;
    color: #ab0a3d;
    font-size: 13px;
    font-weight: 600;
    margin-top: 4px;
}

/* ============================================
 * Map
 * ============================================ */

.ejb-view-tab.active,
.ejb-view-btn.active {
    background: #112337 !important;
    color: #fff !important;
}

.ejb-map-card .ejb-map-card-cat,
.ejb-map-card .ejb-map-card-type,
.ejb-map-card .ejb-map-card-pay { color: #112337 !important; }
.ejb-map-card.highlighted { border-color: #112337 !important; background: #f0f4fa !important; }
.ejb-map-card:hover { border-color: #112337 !important; }

.ejb-cluster,
.ejb-cluster-small,
.ejb-cluster-medium,
.ejb-cluster-large {
    background: #112337 !important;
    color: #fff !important;
    border-color: rgba(17, 35, 55, 0.4) !important;
}
.ejb-cluster:hover,
.ejb-cluster-small:hover,
.ejb-cluster-medium:hover,
.ejb-cluster-large:hover { background: #ab0a3d !important; }

.ejb-marker { background: #112337 !important; border-color: #fff !important; }
.ejb-marker.pulse { box-shadow: 0 0 0 0 rgba(17, 35, 55, 0.7) !important; }

.ejb-map-loading::after,
.ejb-map-spinner { border-top-color: #112337 !important; }

/* Map popup card */
.ejb-popup-cat,
.ejb-popup-type,
.ejb-popup-pay { color: #112337 !important; }
.ejb-popup-link { background: #112337 !important; color: #fff !important; }
.ejb-popup-link:hover,
.ejb-popup-link:visited,
.ejb-popup-link:active { background: #ab0a3d !important; color: #fff !important; }
.leaflet-popup-content a:hover { color: #ab0a3d !important; }

.ejb-map-card svg,
.ejb-map-empty svg,
.ejb-map-panel svg { stroke: #112337 !important; }


/* === Standalone button styling so cards work without UICore CSS loaded === */

.jc-v2 .jc-actions .uicore-btn,
.jc-v2 .jc-actions .apply-now-btn,
.jc-v2 .jc-actions .refer-friend-btn {
    display: inline-block !important;
    padding: 12px 28px !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    text-align: center !important;
    border: 2px solid transparent !important;
    transition: all 0.2s ease !important;
    line-height: 1.2 !important;
}
.jc-v2 .jc-actions .apply-now-btn {
    background: #112337 !important;
    color: #fff !important;
    border-color: #112337 !important;
}
.jc-v2 .jc-actions .apply-now-btn:hover {
    background: #0a1825 !important;
    border-color: #0a1825 !important;
    color: #fff !important;
}
.jc-v2 .jc-actions .refer-friend-btn {
    background: #ab0a3d !important;
    color: #fff !important;
    border-color: #ab0a3d !important;
}
.jc-v2 .jc-actions .refer-friend-btn:hover {
    background: #8b0832 !important;
    border-color: #8b0832 !important;
    color: #fff !important;
}
.jc-v2 .jc-actions .elementor-button-text { color: inherit !important; font-size: inherit !important; }

/* Load More button on the results page */
#load-more-jobs.uicore-btn {
    display: inline-block !important;
    padding: 14px 32px !important;
    border-radius: 10px !important;
    background: #112337 !important;
    color: #fff !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
#load-more-jobs.uicore-btn:hover {
    background: #0a1825 !important;
    color: #fff !important;
}

/* Make sure the Explore Jobs button keeps its pill shape (border-radius from plugin
   may be overridden by theme). Force it. */
.ejb-v2 .go-btn {
    border-radius: 10px 45px 45px 10px !important;
}
