/* V2 search, SEO city pages and city index only. Intentionally not imported site-wide. */
.v2-search-page{padding:38px 0 80px;color:#19132b;background:#fff;min-height:55vh}
.v2-search-shell{max-width:1224px}
.v2-search-hero{padding:8px 0 27px;border-bottom:1px solid #ece8f1;margin-bottom:21px}
.v2-search-eyebrow{font-size:13px;font-weight:700;color:#6423b7;margin-bottom:13px;display:flex;align-items:center;gap:9px}
.v2-search-eyebrow a{color:#6423b7;text-decoration:none}
.v2-search-hero h1{font-size:clamp(25px,3vw,36px);font-weight:800;line-height:1.2;margin:0 0 12px;color:#1b102d}
.v2-search-hero p{color:#747082;font-size:15px;line-height:1.6;max-width:850px;margin:0}
.v2-search-category{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 22px}
.v2-search-category a{border:1px solid #e3dbea;border-radius:7px;color:#55169f;text-decoration:none;padding:9px 15px;font-size:13px;font-weight:700}
.v2-search-category a:hover,.v2-search-category a.active{background:#48079d;color:#fff;border-color:#48079d}
.v2-search-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.v2-search-result{display:flex;align-items:stretch;gap:17px;border:1px solid #eae5ed;border-radius:12px;min-height:172px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.v2-search-result:hover{border-color:#d7c1ed;box-shadow:0 7px 23px #2605440b}
.v2-search-image{flex:0 0 155px;width:155px;min-height:158px;background:#f3f3f5;display:flex;align-items:center;justify-content:center;padding:15px}
.v2-search-image img{display:block;max-width:calc(90% - 10px);max-height:calc(100% - 15px);width:auto;height:auto;object-fit:contain}
.v2-search-copy{padding:16px 16px 13px 0;min-width:0;flex:1}
.v2-search-company{display:block;color:#797186;font-size:12px;font-weight:500;text-decoration:none;margin:0 0 5px}
.v2-search-company:hover{color:#530da2}
.v2-search-copy h2{font-size:16px;font-weight:750;line-height:1.35;margin:0 0 11px}
.v2-search-job-link{color:#20162c;text-decoration:none}
.v2-search-job-link:hover{color:#5000a8}
.v2-search-meta{display:flex;gap:6px 15px;flex-wrap:wrap;color:#777080;font-size:12px;line-height:1.3;margin:0 0 12px}
.v2-search-meta i{color:#722fd3;margin-right:3px}
.v2-search-open{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:750;color:#490097;text-decoration:none}
.v2-search-open i,.v2-search-bottom-links i,.v2-search-chip i{transition:transform .2s ease}
.v2-search-open:hover,.v2-search-bottom-links a:hover,.v2-search-chip:hover{color:#6022b5;text-decoration:none}
.v2-search-open:hover i,.v2-search-bottom-links a:hover i,.v2-search-chip:hover i{transform:translateX(5px)}
.v2-search-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:29px 0 0}
.v2-search-pagination a{min-width:37px;height:37px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#4a1499;border:1px solid #e8def0;padding:6px 11px;border-radius:8px;font-weight:700;font-size:13px}
.v2-search-pagination a:hover,.v2-search-pagination a.current{background:#4c009a;color:#fff;border-color:#4c009a}
.v2-search-empty{text-align:center;background:#f7f5fa;border-radius:12px;padding:34px 20px;color:#656072}
.v2-search-empty h2{font-size:19px;font-weight:750;color:#1b112d}
.v2-search-empty i{font-size:26px;margin-bottom:12px}
.v2-search-empty a{color:#54149e;font-weight:700}
.v2-search-bottom-links{display:flex;gap:25px;flex-wrap:wrap;margin:30px 0 0}
.v2-search-bottom-links a{font-weight:700;color:#490097;text-decoration:none;display:inline-flex;align-items:center;gap:9px}
.v2-city-group{margin:0 0 42px}
.v2-city-group h2{font-size:23px;font-weight:780;margin:0 0 20px;padding:0 0 12px;border-bottom:1px solid #ede8f1}
.v2-city-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.v2-city-card{border:1px solid #eae6f0;border-radius:10px;padding:17px 34px 17px 17px;min-height:84px;text-decoration:none;color:#261638;position:relative;display:flex;flex-direction:column;justify-content:center;gap:7px;transition:box-shadow .2s,border-color .2s}
.v2-city-card span{font-size:15px;font-weight:750}.v2-city-card span i{font-size:13px;color:#7a35d3;margin-right:5px}.v2-city-card small{font-size:12px;color:#797284}
.v2-city-arrow{position:absolute;right:13px;top:calc(50% - 7px);color:#7228c7;transition:transform .2s}
.v2-city-card:hover{color:#5310aa;border-color:#cdb3ec;box-shadow:0 5px 17px #2000330b}.v2-city-card:hover .v2-city-arrow{transform:translateX(4px)}
.v2-search-chips{display:flex;flex-wrap:wrap;gap:9px}
.v2-search-chip{border:1px solid #e4dbea;color:#5c18a2;text-decoration:none;display:inline-flex;align-items:center;gap:9px;padding:10px 13px;border-radius:8px;font-size:13px;font-weight:650}
.v2-section-subtitle{margin-top:-12px;color:#777081;font-size:14px;margin-bottom:19px}
.v2-city-related{margin-top:40px}
@media(max-width:1000px){.v2-city-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.v2-search-image{flex-basis:124px;width:124px}.v2-search-copy{padding:13px 12px 12px 0}}
@media(max-width:760px){.v2-search-page{padding:20px 0 55px}.v2-search-grid{grid-template-columns:1fr}.v2-city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v2-search-hero h1{font-size:27px}}
@media(max-width:480px){.v2-search-result{gap:12px;min-height:140px}.v2-search-image{flex-basis:105px;width:105px;min-height:132px;padding:8px}.v2-search-copy h2{font-size:15px}.v2-search-copy{padding:12px 9px 10px 0}.v2-search-meta{font-size:11px;gap:5px}.v2-search-open{font-size:12px}.v2-city-grid{grid-template-columns:1fr}.v2-city-card{min-height:70px}.v2-search-hero{margin-bottom:15px}}

/* Phase 49: gray out completed ads while preserving detail links. */
.v2-search-result.v2-search-finished{background:#fafafa;border-color:#e9e9e9}
.v2-search-finished .v2-search-image{background:#f0f0f0}
.v2-search-finished .v2-search-image img{filter:grayscale(1);opacity:.45}
.v2-search-finished .v2-search-company,.v2-search-finished .v2-search-job-link,
.v2-search-finished .v2-search-meta,.v2-search-finished .v2-search-meta i,
.v2-search-finished .v2-search-open{color:#9a9a9a !important}
.v2-search-finished:hover{box-shadow:none;border-color:#e1e1e1}
.v2-search-finished .v2-search-ended{font-weight:700}

/* Search has one 50-item Load more button, not numbered pagination. */
.v2-search-load-more{text-align:center;margin:29px auto 4px}
.v2-load-more-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;
 border-radius:9px;border:1px solid #4c009a;background:#4c009a;color:#fff;
 min-height:45px;padding:10px 28px;font-weight:750;font-size:14px;text-decoration:none;
 transition:background .2s ease,border-color .2s ease}
.v2-load-more-button:hover,.v2-load-more-button:focus{background:#6722b3;border-color:#6722b3;color:#fff;text-decoration:none}
.v2-load-more-button.is-loading{opacity:.65;pointer-events:none}
.v2-search-load-error{display:block;margin-top:9px;color:#ab3030;font-size:13px}
.v2-search-load-error:empty{display:none}

/* Highlight the cities that actually have live job listings. */
.v2-city-card span .v2-city-has-jobs{color:#14945f;font-size:15px;margin-left:7px;vertical-align:middle}

/* Phase 50: dedicated search page controls, directly under the results heading. */
.v2-search-nav .mainnav{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"left right"}
.v2-search-nav .navlinks-left{grid-area:left}
.v2-search-nav .navlinks-right{grid-area:right}
.v2-search-nav .navlinks-right{justify-content:flex-end}
.v2-search-page:not(.v2-city-page):not(.v2-cities-page) .v2-search-hero{
    padding-bottom:0;border-bottom:0;margin-bottom:20px;
}
.v2-search-filter-wrap{margin:0 0 25px}
.v2-search-filter-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;
    min-height:54px;border:1px solid #d6d0df;border-radius:11px;background:#fff;overflow:hidden;
    box-shadow:0 3px 14px #24073d07}
.v2-search-filter-form:focus-within{border-color:#955ed9}
.v2-search-filter-form .v2-search-field{width:100%;min-width:0;border:0;border-right:1px solid #eae5ed;
    border-radius:0;outline:none;box-shadow:none;background:#fff;color:#271b39;
    padding:0 16px;font-family:inherit;font-size:14px}
.v2-search-filter-form .v2-search-text{min-height:54px}
.v2-search-filter-form .v2-search-select{cursor:pointer;padding-right:32px;text-overflow:ellipsis}
.v2-search-submit{border:0;border-radius:0;background:#420095;color:#fff;min-width:104px;
    font-size:14px;font-weight:750;display:flex;align-items:center;justify-content:center;gap:10px}
.v2-search-submit:hover,.v2-search-submit:focus{background:#5b14ac;color:#fff}
@media(max-width:850px){
    .v2-search-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}
    .v2-search-filter-form .v2-search-field{min-height:50px}
    .v2-search-filter-form .v2-search-text{border-bottom:1px solid #eae5ed}
    .v2-search-filter-form .v2-search-select:last-of-type{border-top:1px solid #eae5ed}
    .v2-search-submit{min-height:50px}
}
@media(max-width:550px){
    .v2-search-filter-form{display:flex;flex-direction:column;border-radius:10px}
    .v2-search-filter-form .v2-search-field{height:49px;min-height:49px;border-right:0;border-bottom:1px solid #eae5ed}
    .v2-search-submit{min-height:48px;width:100%}
}

/* Phase 51: City landing headings have no introductory paragraph/divider. */
.v2-cities-page .v2-search-hero,.v2-city-page .v2-search-hero{
    border-bottom:0;padding-bottom:0;margin-bottom:23px;
}
.v2-cities-page .v2-search-hero h1,.v2-city-page .v2-search-hero h1{margin-bottom:0}
