.eurovision-page{
--geo-bg:linear-gradient(180deg,#eef7ff0%,#ffffff22%,#f8fbff68%,#f5f9f3100%);
--geo-surface:rgba(255,255,255,0.94);
--geo-border:rgba(27,86,113,0.14);
--geo-shadow:024px60pxrgba(16,24,40,0.10);
--geo-shadow-strong:028px66pxrgba(16,24,40,0.14);
--geo-primary:#0f6b7a;
--geo-primary-dark:#0a4957;
--geo-text:#17324d;
--geo-muted:#61738a;
--geo-accent:#2ca7ba;
}

body.eurovision-page{
background:var(--geo-bg);
color:var(--geo-text);
}

body.eurovision-pagemain{
padding:2rem1.5rem4rem;
}

.eurovision-page.content-wrapper{
width:min(1240px,100%);
margin:0auto;
}

.eurovision-page.eurovision-hero,
.eurovision-page.eurovision-toolbar,
.eurovision-page.eurovision-section{
margin-top:2rem;
}

.eurovision-page.eurovision-hero{
margin-top:0;
max-width:980px;
}

.eurovision-page.eurovision-hero-header{
display:grid;
grid-template-columns:96pxminmax(0,1fr);
gap:1rem;
align-items:center;
}

.eurovision-page.eurovision-hero-logo{
width:96px;
height:96px;
border-radius:24px;
object-fit:cover;
background:linear-gradient(135deg,rgba(44,167,186,0.12),rgba(15,107,122,0.06));
border:1pxsolidrgba(15,107,122,0.08);
box-shadow:018px32pxrgba(16,24,40,0.08);
}

.eurovision-page.geo-kicker,
.eurovision-page.section-kicker{
margin:000.55rem;
font-size:0.92rem;
font-weight:800;
letter-spacing:0.14em;
text-transform:uppercase;
color:var(--geo-accent);
}

.eurovision-pageh1{
margin:0;
font-size:clamp(2.1rem,4vw,3.6rem);
line-height:1.02;
font-weight:800;
letter-spacing:-0.04em;
color:var(--geo-primary-dark);
}

.eurovision-page.eurovision-intro,
.eurovision-page.section-copy{
margin:1.1rem00;
max-width:66ch;
color:var(--geo-muted);
font-size:clamp(1rem,1.45vw,1.08rem);
line-height:1.78;
}

.eurovision-page.eurovision-meta{
display:flex;
flex-wrap:wrap;
gap:0.75rem;
margin-top:1.35rem;
}

.eurovision-page.eurovision-meta-item{
display:inline-flex;
align-items:center;
gap:0.5rem;
padding:0.72rem1rem;
border-radius:999px;
background:rgba(255,255,255,0.9);
border:1pxsolidrgba(15,107,122,0.12);
box-shadow:012px26pxrgba(15,107,122,0.10);
color:var(--geo-primary-dark);
font-size:0.92rem;
font-weight:700;
}

.eurovision-page.eurovision-toolbar{
display:flex;
flex-wrap:wrap;
gap:1rem;
align-items:flex-start;
padding:1.15rem1.2rem;
border-radius:24px;
background:rgba(255,255,255,0.86);
border:1pxsolidrgba(15,107,122,0.1);
box-shadow:016px34pxrgba(16,24,40,0.08);
}

.eurovision-page.filter-group{
display:flex;
flex-wrap:wrap;
gap:0.85rem;
align-items:center;
}

.eurovision-page.filter-label{
font-size:0.82rem;
font-weight:800;
letter-spacing:0.12em;
text-transform:uppercase;
color:var(--geo-primary-dark);
}

.eurovision-page.filter-actions{
display:flex;
flex-wrap:wrap;
gap:0.65rem;
}

.eurovision-page.filter-btn{
border:1pxsolidrgba(15,107,122,0.14);
background:rgba(255,255,255,0.92);
color:var(--geo-primary-dark);
padding:0.72rem1rem;
border-radius:999px;
font-weight:700;
cursor:pointer;
transition:background-color0.18sease,color0.18sease,border-color0.18sease,transform0.18sease;
}

.eurovision-page.filter-btn:hover,
.eurovision-page.filter-btn.is-active{
background:var(--geo-primary);
color:#fff;
border-color:var(--geo-primary);
transform:translateY(-1px);
}

.eurovision-page.section-heading{
margin:001.5rem;
max-width:780px;
}

.eurovision-page.section-headingh2{
margin:000.6rem;
font-size:clamp(1.6rem,2.5vw,2.3rem);
line-height:1.12;
font-weight:800;
letter-spacing:-0.03em;
color:var(--geo-primary-dark);
}

.eurovision-page.eurovision-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(265px,1fr));
gap:1.25rem;
}

.eurovision-page.eurovision-card,
.eurovision-page.eurovision-empty{
background:var(--geo-surface);
border:1pxsolidvar(--geo-border);
box-shadow:var(--geo-shadow);
backdrop-filter:blur(10px);
}

.eurovision-page.eurovision-card{
border-radius:24px;
overflow:hidden;
transition:transform0.2sease,box-shadow0.2sease,border-color0.2sease;
}

.eurovision-page.eurovision-card:hover{
transform:translateY(-4px);
border-color:rgba(15,107,122,0.25);
box-shadow:var(--geo-shadow-strong);
}

.eurovision-page.eurovision-card--locked{
position:relative;
}

.eurovision-page.eurovision-card-link{
display:flex;
flex-direction:column;
min-height:100%;
color:inherit;
text-decoration:none;
}

.eurovision-page.eurovision-card-media{
position:relative;
min-height:250px;
overflow:hidden;
background:
radial-gradient(circleat15%15%,rgba(73,190,229,0.16),transparent34%),
radial-gradient(circleat85%10%,rgba(233,185,73,0.14),transparent30%),
linear-gradient(135deg,rgba(255,255,255,0.88),rgba(239,248,255,0.72));
}

.eurovision-page.eurovision-card-image{
width:100%;
height:250px;
object-fit:cover;
display:block;
}

.eurovision-page.eurovision-year-pill,
.eurovision-page.eurovision-locked-pill{
position:absolute;
top:1rem;
z-index:2;
display:inline-flex;
align-items:center;
padding:0.52rem0.9rem;
border-radius:999px;
font-size:0.78rem;
font-weight:800;
letter-spacing:0.08em;
text-transform:uppercase;
box-shadow:014px30pxrgba(16,24,40,0.14);
}

.eurovision-page.eurovision-year-pill{
left:1rem;
background:rgba(12,84,102,0.92);
color:#fff;
}

.eurovision-page.eurovision-locked-pill{
right:1rem;
background:rgba(255,255,255,0.94);
color:#788290;
}

.eurovision-page.eurovision-lock-overlay{
position:absolute;
inset:0;
display:grid;
place-items:center;
background:rgba(235,240,244,0.5);
backdrop-filter:blur(5px);
}

.eurovision-page.eurovision-lock-icon{
font-size:3.1rem;
line-height:1;
filter:drop-shadow(014px24pxrgba(16,24,40,0.16));
}

.eurovision-page.eurovision-card-content{
padding:1.1rem1.2rem1.35rem;
display:flex;
flex-direction:column;
gap:0.72rem;
min-height:138px;
}

.eurovision-page.eurovision-card-title{
margin:0;
font-size:1.14rem;
line-height:1.3;
color:var(--geo-text);
}

.eurovision-page.eurovision-card-host{
margin:0;
display:inline-flex;
align-items:center;
gap:0.55rem;
flex-wrap:wrap;
color:var(--geo-primary-dark);
font-weight:700;
line-height:1.45;
}

.eurovision-page.eurovision-inline-flag{
width:1.2rem;
height:1.2rem;
border-radius:999px;
object-fit:cover;
flex:001.2rem;
box-shadow:06px14pxrgba(16,24,40,0.12);
}

.eurovision-page.eurovision-card-facts{
margin-top:auto;
display:flex;
flex-wrap:wrap;
gap:0.5rem;
}

.eurovision-page.eurovision-fact{
display:inline-flex;
align-items:center;
gap:0.45rem;
padding:0.48rem0.72rem;
border-radius:999px;
background:rgba(15,107,122,0.08);
color:var(--geo-primary-dark);
font-size:0.8rem;
font-weight:700;
}

.eurovision-page.eurovision-fact--song{
background:rgba(201,153,49,0.12);
color:#8b6511;
}

.eurovision-page.eurovision-empty{
border-radius:22px;
padding:1.15rem1.2rem;
color:var(--geo-muted);
line-height:1.7;
}

@media(max-width:720px){
body.eurovision-pagemain{
padding-inline:1rem;
}

.eurovision-page.eurovision-hero-header{
grid-template-columns:1fr;
}

.eurovision-page.eurovision-hero-logo{
width:82px;
height:82px;
}

.eurovision-page.eurovision-toolbar{
padding:1rem;
}

.eurovision-page.eurovision-grid{
grid-template-columns:1fr;
}

.eurovision-page.eurovision-card-media,
.eurovision-page.eurovision-card-image{
min-height:220px;
height:220px;
}
}
