@font-face {
font-family: 'CAMetro';
src: url('CAMetro-Regular_v100.woff2') format('woff2');
font-weight: 400;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'CAMetro';
src: url('CAMetro-Black_v100.woff2') format('woff2');
font-weight: 900;
font-style: normal;
font-display: swap;
}

body, h1, h2, h3, h4, h5, h6, p, a, span, div, .mainHdr, .btn {
font-family: 'CAMetro', sans-serif !important;
}

.hero-banner-wrapper {
position: relative;
width: 100%;
background: #fff;
padding-top: 100px;
display: flex;
justify-content: center;
}

.hero-banner-img {
width: 100%;
max-width: 1920px;
height: auto;
display: block;
}

.hero-btn-container {
position: absolute;
bottom: 6%;
left: 50%;
transform: translateX(-50%);
z-index: 10;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
width: 90%;
max-width: 600px;
}

.hero-ticket-info {
background: rgba(0, 0, 0, 0.75);
color: #fff;
padding: 12px 24px;
border-radius: 8px;
margin: 0 auto 30px auto;
font-size: 1rem;
backdrop-filter: blur(4px);
border: 1px solid rgba(255, 255, 255, 0.1);
line-height: 1.4;
max-width: 600px;
text-align: center;
}

.hero-ticket-info strong {
color: var(--primColor, #ffe500);
font-size: 1.15rem;
font-weight: 900;
display: block;
margin-bottom: 4px;
text-transform: uppercase;
}

.content-no-top-pad {
padding-top: 15px !important;
}

.level1 {
min-height: calc(var(--square) * 3.5) !important;
margin-bottom: 0 !important;
padding-bottom: 0 !important;
}

.level1 > *:last-child {
margin-bottom: 0 !important;
}

.intro-logos {
display: flex;
justify-content: center;
align-items: center;
gap: 60px;
margin-top: 40px;
margin-bottom: 40px;
flex-wrap: wrap;
width: 100%;
}

a.logo-box {
display: flex;
align-items: center;
justify-content: center;
gap: 15px;
text-decoration: none !important;
color: #000 !important;
transition: opacity 0.3s ease, transform 0.3s ease;
}

a.logo-box:hover {
opacity: 0.8;
transform: translateY(-2px);
}

a.logo-box img {
height: 65px;
width: auto;
object-fit: contain;
display: block;
}

.logo-label {
font-size: 1.05rem;
font-weight: 900;
line-height: 1.2;
text-transform: uppercase;
text-align: center;
}

.schedule-container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
margin-top: 2rem;
}

.schedule-box {
background: #fff;
border: 1px solid var(--bdrColor);
padding: 0;
height: 100%;
display: flex;
flex-direction: column;
}

.schedule-box.dark {
background: #f8f8f8;
border-color: #e0e0e0;
}

.schedule-header {
background: var(--primColor);
color: #000;
padding: 1.5rem;
font-weight: 900;
font-size: 1.5rem;
text-transform: uppercase;
display: flex;
align-items: center;
gap: 10px;
}

.schedule-content { padding: 1.5rem; }

.time-row {
display: flex;
margin-bottom: 1rem;
border-bottom: 1px solid #eee;
padding-bottom: 0.5rem;
}

.time-col { font-weight: 900; min-width: 130px; color: var(--secColor); }

.desc-col { flex: 1; }

.vyhlaseni-row {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
background: #000;
color: #fff;
gap: 6px;
padding: 2rem 1.5rem;
}

.vyhlaseni-row .vyhlaseni-time {
color: var(--primColor);
font-size: 1.4rem;
font-weight: 900;
letter-spacing: 0.5px;
}

.vyhlaseni-row .vyhlaseni-label {
font-size: 1.5rem;
font-weight: 900;
text-transform: uppercase;
letter-spacing: 1px;
}

.card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 1.5rem;
margin-top: 2rem;
}

a.info-card {
background: #fff;
padding: 2rem;
text-align: center;
border: 1px solid var(--bdrColor);
color: #000 !important;
text-decoration: none;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

a.info-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 20px rgba(0,0,0,0.15);
}

.info-card h3 { font-size: 1.25rem; margin-bottom: 0.5rem; color: #000 !important; }

.info-card p { margin: 0; color: #333 !important; }

.school-logo {
height: 70px;
width: auto;
max-width: 100%;
object-fit: contain;
margin-bottom: 1.5rem;
display: block;
}

.solid-bg-content {
background: #0a0a0a !important;
padding: clamp(2rem, 4vw, 3.5rem) !important;
border-radius: 12px;
position: relative;
z-index: 2;
border: 1px solid var(--primColor, #FFE500) !important;
overflow: hidden;
}

.split-section {
display: grid;
grid-template-columns: 1.2fr 0.8fr;
gap: 4rem;
position: relative;
z-index: 1;
}

.jury-section-title {
display: flex;
align-items: center;
color: var(--primColor, #FFE500);
font-size: 1.3rem;
font-weight: 900;
text-transform: uppercase;
margin: 25px 0 15px;
gap: 15px;
letter-spacing: 0.5px;
}

.jury-section-title::after {
content: '';
flex: 1;
height: 2px;
background: var(--primColor, #FFE500);
border-radius: 2px;
}

.jury-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
gap: 20px 15px;
margin-top: 20px;
}

.jury-item {
text-align: center;
color: #fff;
cursor: default;
}

.jury-img {
width: 95px;
height: 95px;
border-radius: 50%;
background: #111;
margin: 0 auto 12px;
overflow: hidden;
position: relative;
transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.jury-img img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
}

.jury-item:hover .jury-img {
transform: translateY(-5px);
}

.jury-item:hover .jury-img img {
transform: scale(1.1);
}

.jury-name {
font-weight: 900;
font-size: 0.95rem;
line-height: 1.2;
display: block;
transition: color 0.3s ease;
}

.jury-item:hover .jury-name {
color: var(--primColor, #FFE500);
}

.prize-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 14px;
}

.prize-list li {
background: #111;
border: 1px solid #333;
color: #fff;
padding: 16px 20px;
border-radius: 8px;
font-weight: 700;
display: flex;
align-items: center;
gap: 18px;
font-size: 1.05rem;
}

.prize-list li i {
color: var(--primColor, #FFE500);
font-size: 1.4rem;
min-width: 30px;
text-align: center;
}

.coming-soon-wrapper {
position: relative;
padding-bottom: 56.25%;
height: 0;
width: 100%;
border-radius: 8px;
overflow: hidden;
background: #000;
border: 1px dashed rgba(255, 229, 0, 0.4);
box-shadow: 0 10px 30px rgba(0,0,0,0.2);
display: flex;
align-items: center;
justify-content: center;
}

.coming-soon-content {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
color: var(--primColor, #ffe500);
width: 100%;
}

.coming-soon-content svg {
width: 48px;
height: 48px;
margin: 0 auto 12px auto;
display: block;
opacity: 0.9;
}

.coming-soon-content span {
display: block;
font-size: 1.1rem;
font-weight: 900;
text-transform: uppercase;
letter-spacing: 1px;
color: #fff;
}

.level1-image-container {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
}

.info-box {
background: linear-gradient(135deg, var(--primColor) 0%, #d4c200 100%);
color: #000;
padding: clamp(32px, 5vw, 48px);
margin: 0 !important;
}

.info-box__title {
font-size: 1.5rem;
font-weight: 900;
margin: 0 0 16px;
text-transform: uppercase;
}

.episode-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 24px;
margin-top: 32px;
}

.episode-card {
background: #fff;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.episode-card .coming-soon-wrapper {
border-radius: 0;
box-shadow: none;
border: none;
background: #111;
}

.episode-info {
padding: 16px;
}

.episode-info h4 {
margin: 0;
font-size: 1.15rem;
font-weight: 900;
text-transform: uppercase;
color: #000;
}

.cta-section {
background: #000;
padding: var(--vSpace) 0;
text-align: center;
color: #fff;
}

.cta-section__title {
font-size: clamp(2rem, 5vw, 3.5rem);
font-weight: 900;
margin-bottom: 24px;
text-transform: uppercase;
}

.cta-section__title span { color: var(--primColor); }

@media (max-width: 960px) {
.split-section { grid-template-columns: 1fr; gap: 3rem; }
}

@media (max-width: 768px) {
.hero-banner-wrapper { padding-top: 60px; }
.hero-btn-container { bottom: 3%; }
.hero-ticket-info { font-size: 0.9rem; padding: 10px 15px; }
.hero-ticket-info strong { font-size: 1rem; }
.schedule-container { grid-template-columns: 1fr; }
.level1 { grid-template-columns: 1fr; min-height: auto !important; }
.intro-logos { gap: 30px; flex-direction: column; align-items: center; }
}