/**
 * Filters bar + all opportunities grid — matches html/style.css.
 */

.oc365-html-home .filters-section{
border-top:1px solid #eaeaea;
padding-top:40px;
}

.oc365-html-home .filters-section > .container,
.oc365-html-home .all-opportunities-section > .container{
max-width:1280px;
padding-left:24px;
padding-right:24px;
}

/* Filters bar */
.oc365-html-home .filters-bar-form{
margin:0;
}

.oc365-html-home .filters-bar{
background-color:var(--oc365-color-card, #fff);
border:1px solid var(--oc365-color-border, #e5e7eb);
border-radius:10px;
padding:16px;
margin-bottom:40px;
display:flex;
align-items:center;
gap:12px;
box-shadow:0 1px 2px rgba(0, 0, 0, 0.04);
}

.oc365-html-home .search-input-wrapper{
position:relative;
flex:1.5;
min-width:0;
}

.oc365-html-home .search-icon{
position:absolute;
left:16px;
top:50%;
transform:translateY(-50%);
color:var(--oc365-color-text-muted, #6b7280);
pointer-events:none;
}

.oc365-html-home .search-input{
width:100%;
padding:12px 16px 12px 48px;
border:1px solid var(--oc365-color-border, #e5e7eb);
border-radius:6px;
background-color:var(--oc365-color-bg, #fafafa);
transition:0.25s cubic-bezier(0.4, 0, 0.2, 1);
box-sizing:border-box;
}

.oc365-html-home .search-input:focus{
border-color:var(--oc365-color-text, #111827);
background-color:var(--oc365-color-card, #fff);
box-shadow:0 0 0 3px rgba(17, 24, 39, 0.05);
outline:none;
}

.oc365-html-home .filter-select-wrapper{
position:relative;
flex:1;
min-width:0;
}

.oc365-html-home .filter-select{
width:100%;
padding:12px 36px 12px 16px;
border:1px solid var(--oc365-color-border, #e5e7eb);
border-radius:6px;
background-color:var(--oc365-color-bg, #fafafa);
cursor:pointer;
appearance:none;
transition:0.25s cubic-bezier(0.4, 0, 0.2, 1);
box-sizing:border-box;
}

.oc365-html-home .filter-select:focus{
border-color:var(--oc365-color-text, #111827);
background-color:var(--oc365-color-card, #fff);
box-shadow:0 0 0 3px rgba(17, 24, 39, 0.05);
outline:none;
}

.oc365-html-home .select-arrow{
position:absolute;
right:16px;
top:50%;
transform:translateY(-50%);
color:var(--oc365-color-text-muted, #6b7280);
pointer-events:none;
}

.oc365-html-home .btn-reset{
background:none;
border:none;
color:var(--oc365-color-text-muted, #6b7280);
cursor:pointer;
padding:0 12px;
white-space:nowrap;
transition:color 0.15s ease;
}

.oc365-html-home .btn-reset:hover{
color:var(--oc365-color-text, #111827);
}

/* All opportunities section */
.oc365-html-home .all-opportunities-section{
padding-bottom:80px;
background:var(--oc365-color-bg, #fafafa);
}

.oc365-html-home .all-opportunities-section .section-header{
display:flex;
justify-content:space-between;
align-items:flex-end;
margin-bottom:36px;
max-width:none;
}

/* Typography overrides: end of this file */

.oc365-html-home .all-opportunities-section .section-title{
color:var(--oc365-color-text, #111827);
margin:0;
}

.oc365-html-home .all-opportunities-section .section-link{
color:var(--oc365-color-text, #111827);
display:inline-flex;
align-items:center;
gap:8px;
text-decoration:none;
white-space:nowrap;
transition:gap 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.oc365-html-home .all-opportunities-section .section-link:hover{
gap:12px;
color:var(--oc365-color-text, #111827);
}

.oc365-html-home .results-header-info{
display:flex;
flex-direction:column;
}

.oc365-html-home .results-count{
color:var(--oc365-color-text-muted, #6b7280);
margin-top:4px;
}

.oc365-html-home #listing-results.all-opportunities-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:24px;
margin-bottom:48px;
width:100%;
align-items:stretch;
}

.oc365-html-home #listing-results.all-opportunities-grid--loading{
opacity:0.55;
pointer-events:none;
}

.oc365-html-home #listing-results .opportunity-card.listing-card{
position:relative;
display:flex;
flex-direction:row;
flex-wrap:nowrap;
align-items:stretch;
gap:20px;
padding:24px;
min-height:0;
border-radius:10px;
border:1px solid var(--oc365-color-border, #e5e7eb);
background-color:var(--oc365-color-card, #fff);
box-shadow:none;
isolation:auto;
transition:0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.oc365-html-home #listing-results .opportunity-card.listing-card:hover{
transform:translateY(-4px);
box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.06), 0 10px 10px -5px rgba(0, 0, 0, 0.03);
border-color:var(--oc365-color-border-hover, #d1d5db);
}

.oc365-html-home #listing-results .card-left{
display:flex;
flex-direction:column;
align-items:center;
width:72px;
flex-shrink:0;
}

/* .date-day / .date-month — typography block below */

.oc365-html-home #listing-results .card-competition .date-day,
.oc365-html-home #listing-results .card-competition .date-month{color:#f43f5e}
.oc365-html-home #listing-results .card-scholarship .date-day,
.oc365-html-home #listing-results .card-scholarship .date-month{color:#2563eb}
.oc365-html-home #listing-results .card-residency .date-day,
.oc365-html-home #listing-results .card-residency .date-month{color:#059669}
.oc365-html-home #listing-results .card-grant .date-day,
.oc365-html-home #listing-results .card-grant .date-month{color:#7c3aed}
.oc365-html-home #listing-results .card-job .date-day,
.oc365-html-home #listing-results .card-job .date-month{color:#d97706}
.oc365-html-home #listing-results .card-default .date-day,
.oc365-html-home #listing-results .card-default .date-month{color:var(--oc365-color-primary, #111827)}

.oc365-html-home #listing-results .card-right{
display:flex;
flex-direction:column;
flex:1;
min-width:0;
}

.oc365-html-home #listing-results .card-tag-wrapper{
margin-bottom:0;
}

.oc365-html-home #listing-results .tag-badge{
display:inline-flex;
align-items:center;
padding:3px 10px;
text-transform:uppercase;
border-radius:9999px;
}

.oc365-html-home #listing-results .tag-competition{color:#f43f5e;background-color:#fff1f2}
.oc365-html-home #listing-results .tag-scholarship{color:#2563eb;background-color:#eff6ff}
.oc365-html-home #listing-results .tag-residency{color:#059669;background-color:#ecfdf5}
.oc365-html-home #listing-results .tag-grant{color:#7c3aed;background-color:#f5f3ff}
.oc365-html-home #listing-results .tag-job{color:#d97706;background-color:#fffbeb}
.oc365-html-home #listing-results .tag-default{color:var(--oc365-color-text-muted, #6b7280);background-color:var(--oc365-color-bg, #fafafa)}

.oc365-html-home #listing-results .opp-title{
margin:8px 0 12px;
color:var(--oc365-color-text, #111827);
}

.oc365-html-home #listing-results .opp-title a{
color:inherit;
text-decoration:none;
}

.oc365-html-home #listing-results .opp-title a:hover{
color:var(--oc365-color-primary, #111827);
}

.oc365-html-home #listing-results .opp-badges{
display:flex;
flex-wrap:wrap;
gap:6px;
margin-bottom:16px;
}

.oc365-html-home #listing-results .opp-badge{
padding:3px 8px;
border-radius:6px;
background-color:var(--oc365-color-bg, #fafafa);
color:var(--oc365-color-text-muted, #6b7280);
}

.oc365-html-home #listing-results .opp-desc{
color:var(--oc365-color-text-muted, #6b7280);
margin:0 0 20px;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
}

.oc365-html-home #listing-results .opp-apply-link{
color:var(--oc365-color-text, #111827);
margin-top:auto;
display:inline-flex;
align-items:center;
gap:6px;
text-decoration:none;
transition:gap 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.oc365-html-home #listing-results .opp-apply-link:hover{
gap:10px;
}

.oc365-html-home #listing-results .inline-ad{
grid-column:1 / -1;
background-color:var(--oc365-color-bg, #fafafa);
border:1px dashed var(--oc365-color-border, #e5e7eb);
border-radius:6px;
padding:24px;
text-align:center;
font-size:0.8rem;
color:var(--oc365-color-text-muted, #9ca3af);
letter-spacing:0.05em;
text-transform:uppercase;
margin:24px 0;
}

.oc365-html-home .load-more-wrapper{
display:flex;
justify-content:center;
margin-top:24px;
}

.oc365-html-home .btn-load-more,
.oc365-html-home #load-more.btn-load-more{
display:inline-flex;
align-items:center;
justify-content:center;
padding:12px 32px;
font-family:var(--oc365-font-heading);
font-weight:600;
font-size:0.95rem;
line-height:1.2;
border-radius:6px;
cursor:pointer;
border:1px solid var(--oc365-color-border, #e5e7eb);
background-color:var(--oc365-color-card, #fff);
color:var(--oc365-color-text, #111827);
transition:0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.oc365-html-home .btn-load-more:hover:not(:disabled),
.oc365-html-home #load-more.btn-load-more:hover:not(:disabled){
border-color:var(--oc365-color-text-muted, #9ca3af);
background-color:#fcfcfc;
transform:translateY(-1px);
box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);
}

.oc365-html-home .btn-load-more:active:not(:disabled),
.oc365-html-home #load-more.btn-load-more:active:not(:disabled){
transform:scale(0.98);
}

.oc365-html-home .btn-load-more:disabled,
.oc365-html-home #load-more.btn-load-more:disabled{
opacity:0.6;
cursor:not-allowed;
transform:none;
box-shadow:none;
}

.oc365-html-home .listings-wrapper.is-loading .listings-loading{
display:flex;
}

.oc365-html-home .no-results{
grid-column:1 / -1;
text-align:center;
padding:48px 24px;
background:var(--oc365-color-card, #fff);
border:1px solid var(--oc365-color-border, #e5e7eb);
border-radius:10px;
}

@media (max-width: 1024px){
.oc365-html-home #listing-results.all-opportunities-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
}

@media (max-width: 768px){
.oc365-html-home .filters-bar{
flex-direction:column;
align-items:stretch;
padding:20px;
}

.oc365-html-home .search-input-wrapper,
.oc365-html-home .filter-select-wrapper,
.oc365-html-home .btn-reset{
flex:none;
width:100%;
}

.oc365-html-home .btn-reset{
text-align:center;
padding:10px 0;
border:1px solid var(--oc365-color-border, #e5e7eb);
border-radius:6px;
background-color:var(--oc365-color-bg, #fafafa);
}

.oc365-html-home #listing-results.all-opportunities-grid{
grid-template-columns:1fr;
}

.oc365-html-home #listing-results .opportunity-card.listing-card{
flex-direction:column;
gap:16px;
}

.oc365-html-home #listing-results .card-left{
flex-direction:row;
width:100%;
gap:12px;
align-items:center;
border-bottom:1px solid var(--oc365-color-border, #e5e7eb);
padding-bottom:12px;
}

.oc365-html-home .all-opportunities-section .section-header{
flex-direction:column;
align-items:flex-start;
gap:12px;
}
}


/**
 * Homepage Featured + All Opportunities typography — exact html/style.css.
 * Loads after typography-html.css; uses literal stacks so fonts match mockup.
 */

body.oc365-html-typography.oc365-html-home{
--oc365-home-font-heading:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
--oc365-home-font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Section headers (Featured + All Opportunities) */
body.oc365-html-typography.oc365-html-home .featured-section .section-title,
body.oc365-html-typography.oc365-html-home .all-opportunities-section .section-title{
font-family:var(--oc365-home-font-heading);
font-size:1.85rem;
font-weight:800;
letter-spacing:-0.02em;
line-height:1.25;
color:var(--oc365-color-text, #111827);
}

body.oc365-html-typography.oc365-html-home .featured-section .section-link,
body.oc365-html-typography.oc365-html-home .all-opportunities-section .section-link{
font-family:var(--oc365-home-font-heading);
font-size:0.95rem;
font-weight:600;
letter-spacing:normal;
line-height:1.4;
}

body.oc365-html-typography.oc365-html-home .all-opportunities-section .results-count{
font-family:var(--oc365-home-font-body);
font-size:0.85rem;
font-weight:400;
letter-spacing:normal;
line-height:1.4;
}

/* Featured cards */
body.oc365-html-typography.oc365-html-home .featured-card .tag-badge{
font-family:var(--oc365-home-font-body);
font-size:0.75rem;
font-weight:700;
letter-spacing:0.05em;
line-height:1.2;
}

body.oc365-html-typography.oc365-html-home .featured-card .featured-title{
font-family:var(--oc365-home-font-heading);
font-size:1.1rem;
font-weight:700;
letter-spacing:-0.02em;
line-height:1.4;
}

body.oc365-html-typography.oc365-html-home .featured-card .date-day{
font-family:var(--oc365-home-font-heading);
font-size:2.25rem;
font-weight:800;
letter-spacing:-0.02em;
line-height:1;
}

body.oc365-html-typography.oc365-html-home .featured-card .date-month{
font-family:var(--oc365-home-font-body);
font-size:0.75rem;
font-weight:700;
letter-spacing:0.05em;
line-height:1.2;
text-transform:uppercase;
}

body.oc365-html-typography.oc365-html-home .featured-card .card-meta-bottom,
body.oc365-html-typography.oc365-html-home .featured-card .meta-loc{
font-family:var(--oc365-home-font-body);
font-size:0.85rem;
font-weight:500;
letter-spacing:normal;
line-height:1.4;
}

body.oc365-html-typography.oc365-html-home .featured-card .meta-value{
font-family:var(--oc365-home-font-body);
font-size:0.85rem;
font-weight:600;
letter-spacing:normal;
line-height:1.4;
}

/* All Opportunities cards */
body.oc365-html-typography.oc365-html-home #listing-results .tag-badge{
font-family:var(--oc365-home-font-body);
font-size:0.75rem;
font-weight:700;
letter-spacing:0.05em;
line-height:1.2;
}

body.oc365-html-typography.oc365-html-home #listing-results .opp-title,
body.oc365-html-typography.oc365-html-home #listing-results .opp-title a{
font-family:var(--oc365-home-font-heading);
font-size:1.15rem;
font-weight:700;
letter-spacing:-0.02em;
line-height:1.35;
}

body.oc365-html-typography.oc365-html-home #listing-results .opp-badge{
font-family:var(--oc365-home-font-body);
font-size:0.75rem;
font-weight:500;
letter-spacing:normal;
line-height:1.25;
}

body.oc365-html-typography.oc365-html-home #listing-results .opp-desc{
font-family:var(--oc365-home-font-body);
font-size:0.9rem;
font-weight:400;
letter-spacing:normal;
line-height:1.6;
}

body.oc365-html-typography.oc365-html-home #listing-results .opp-apply-link{
font-family:var(--oc365-home-font-heading);
font-size:0.9rem;
font-weight:600;
letter-spacing:normal;
line-height:1.4;
}

body.oc365-html-typography.oc365-html-home #listing-results .date-day{
font-family:var(--oc365-home-font-heading);
font-size:2.25rem;
font-weight:800;
letter-spacing:-0.02em;
line-height:1;
}

body.oc365-html-typography.oc365-html-home #listing-results .date-month{
font-family:var(--oc365-home-font-body);
font-size:0.75rem;
font-weight:700;
letter-spacing:0.05em;
line-height:1.2;
text-transform:uppercase;
}

body.oc365-html-typography.oc365-html-home .btn-load-more,
body.oc365-html-typography.oc365-html-home .btn-reset{
font-family:var(--oc365-home-font-heading);
font-size:0.95rem;
font-weight:600;
letter-spacing:normal;
}

body.oc365-html-typography.oc365-html-home .filters-bar .search-input,
body.oc365-html-typography.oc365-html-home .filters-bar .filter-select{
font-family:var(--oc365-home-font-body);
font-size:0.95rem;
font-weight:400;
letter-spacing:normal;
line-height:1.4;
}

@media (max-width:768px){
body.oc365-html-typography.oc365-html-home #listing-results .card-left .date-day,
body.oc365-html-typography.oc365-html-home #listing-results .date-day{
font-size:1.75rem;
}

body.oc365-html-typography.oc365-html-home #listing-results .card-left .date-month,
body.oc365-html-typography.oc365-html-home #listing-results .date-month{
font-size:0.85rem;
}
}
