/* Polski Hokej: original red, black and white identity. */
:root { --hokej-red: #9b191c; }
.site-header { border-top: 2px solid var(--hokej-red); }
.brand { gap: 22px; }
.brand img { width: 134px; height: 63px; object-fit: contain; }
.century { border-left-color: #ded8d4; }
.site-header nav a[aria-current="page"] { color: var(--hokej-red); }
.hero::before {
    content: "";
    position: absolute;
    right: max(70px, calc((100vw - 1240px) / 2));
    bottom: 50px;
    width: 290px;
    height: 136px;
    background: url('polski-hokej-baza.svg') center / contain no-repeat;
    opacity: .16;
    pointer-events: none;
    z-index: 1;
}
.organizer-mark { border-bottom: 2px solid var(--hokej-red); }
.organizer-mark:hover { background: #f6f3f1; }
@media (max-width: 1100px) {
    .brand { gap: 16px; }
    .brand img { width: 118px; height: 56px; }
    .century { padding-left: 16px; }
}
@media (max-width: 800px) {
    .brand img { width: 105px; height: 50px; }
    .brand { gap: 18px; }
    .hero::before { display: none; }
}
@media (max-width: 360px) {
    .brand { gap: 12px; }
    .brand img { width: 91px; height: 43px; }
    .century { padding-left: 12px; }
    .header-inner { gap: 14px; }
}

/* Preserve the supplied red logo on a light background. */
.brand img { background: #fff; padding: 5px 9px; border-radius: 2px; }
.organizer-mark, .organizer-mark:hover { background: #fff; }

/* Light masthead gives the original logo its natural background. */
.site-header { background: #fff; color: #202020; border-bottom-color: #e0dcda; border-top-width: 3px; }
.brand img { background: transparent; }
.century { color: #9b191c; }
.site-header .nav-cta { background: #9b191c; border-color: #9b191c; color: #fff; }
.site-header .nav-cta:hover, .site-header .nav-cta[aria-current="page"] { background: #791316; color: #fff; }
.site-header nav a:not(.nav-cta):hover { color: #9b191c; }
.menu-toggle { color: #202020; border-color: #c9c1bc; }
.jury-teaser { border-top: 3px solid #9b191c; }
.page-heading { border-bottom: 3px solid #9b191c; }
.organizer-mark { border-bottom-color: #9b191c; }
@media (max-width: 800px) {
    .site-header nav { background: #fff; }
    .js .site-header nav { border-top-color: #e0dcda; }
}
/* Balance visible logo sizes despite whitespace inside the original SVGs. */
.partner-inner > div { display: grid; grid-template-rows: auto 110px; justify-items: center; align-items: center; gap: 12px; }
.partner-inner > div > img { height: 60px; width: auto; max-width: 210px; }
.partner-inner .organizer-mark { display: flex; align-items: center; justify-content: center; padding: 0; margin: 0; border: 0; }
.partner-inner .organizer-mark img { height: 100px; width: auto; max-width: 210px; }
.partner-inner .ps-logo { height: 110px; width: auto; max-width: 210px; }
@media (min-width: 481px) and (max-width: 800px) {
    .partner-inner > div { grid-template-rows: auto 90px; }
    .partner-inner > div > img { height: 45px; max-width: 145px; }
    .partner-inner .organizer-mark img { height: 80px; max-width: 145px; }
    .partner-inner .ps-logo { height: 90px; max-width: 145px; }
}
/* Portrait hover: decorative only, without changing the page layout. */
@media (hover: hover) and (pointer: fine) {
    .jury-card > img, .portrait-strip img {
        transition: filter .35s ease, transform .35s ease, box-shadow .35s ease;
    }
    .jury-card > img:hover, .portrait-strip img:hover {
        filter: grayscale(0);
        transform: translateY(-4px);
        box-shadow: 0 12px 24px #1818181f;
    }
}
@media (prefers-reduced-motion: reduce) {
    .jury-card > img, .portrait-strip img { transition: none; }
    .jury-card > img:hover, .portrait-strip img:hover { transform: none; }
}
/* Larger masthead logo, preserving SVG proportions. */
.brand img { width: 188px; height: 82px; padding: 0; }
@media(max-width:1100px){.brand img { width: 160px; height: 76px; }}
@media(max-width:800px){.brand img { width: 140px; height: 70px; }}
@media(max-width:360px){.brand img { width: 118px; height: 64px; }}
