

/* Start:/local/templates/fhso_2025/assets/css/about.css?17816783214400*/
.about {
	padding-bottom: 40px;
}
.about__wrapper {
	display: flex;
	flex-direction: column;
	gap: 24px;
	background: var(--color-bg-white);
	box-shadow: 0px 32px 64px -16px #001c4780;
	padding: 20px;
	border-radius: 48px;
}

.about__banner {
	margin: 0;
	height: 400px;
	box-shadow: 0px 32px 64px -24px #0045ad40, 0px 0px 0px 2px #ffffff80 inset,
		0px 0px 0px 1px #001c4733;
	border-radius: var(--radius-lg);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 24px;
	position: relative;
	overflow: hidden;
}

.about__banner-img img {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	object-fit: cover;
}

.about__banner-img::before {
	border-radius: 24px;
	background: linear-gradient(
		180deg,
		rgba(0, 100, 181, 0) 38.62%,
		rgba(0, 100, 181, 0.9) 100%,
		#0045adb2
	);
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}

.about__banner-img::after {
	border-radius: 24px;
	background: #0045adb2;
	mix-blend-mode: soft-light;
	box-shadow: 0px 32px 64px -24px #0045ad40, 0px 0px 0px 2px #ffffff80 inset,
		0px 0px 0px 1px #001c4733;
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}

.about__title-wrapper {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	align-items: flex-end;
	flex-wrap: wrap;
}

.about__banner-title {
	font-family: var(--font-heading);
	font-size: 48px;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1.1;
	filter: drop-shadow(0px 4px 16px #001c4733);
	background: linear-gradient(88.88deg, #ffffff 0.19%, #c7f7ff 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	z-index: 2;
}

.about__content {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.about__info,
.about__info-text {
	display: flex;
	flex-direction: column;
	gap: 24px;
	line-height: 150%;
	color: #001c47;
}

.about__info-title {
	font-size: 24px;
}

.about__management {
	margin: 40px 0 18px;
	overflow: hidden;
}

.about__management-wrapper {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding-bottom: 22px;
}

.about__management-main {
	display: grid;
	grid-template-columns: 1fr 2fr;

	gap: 24px;
	padding: 37px 0;
}

.about__management-main span {
	line-height: 150%;
}

.about__management-main .about__management-value {
	font-weight: 500;
	font-size: 16px;
	line-height: 150%;
	width: 80%;
}

.about__management-list {
	display: flex;
	gap: 24px;
}

.about__management-list:has(.about__management-group) {
	flex-direction: column;
}

.about__management-group {
	display: flex;
	flex-direction: row;
	gap: 24px;
}

.about__management-img {
	width: 100%;
    aspect-ratio: 1 / 1;
    height: 100%;
    object-fit: cover;
    box-shadow: 0px 0px 0px 2px #ffffff inset, 0px 24px 32px -16px #0064b526;
    border-radius: 24px;
    object-position: 50% 30%;
}

.about__management-info {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.about__management-item {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: calc(100% / 3);
}

.about__management-item:last-child {
	margin: 0 !important;
}

.about__management-list .about__management-name {
	font-weight: 500;
	text-transform: none;
}

@media (max-width: 768px) {
	.about__wrapper {
		padding: 10px 10px 20px;
		border-radius: 32px;
	}

	.about__banner {
		padding: 12px;
	}

	.about__title-wrapper {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 12px;
	}

	.about__banner-title {
		font-size: clamp(20px, 5vw, 32px);
	}

	.about__info-title {
		font-size: clamp(16px, 4vw, 24px);
	}

	.about__info-text {
		font-size: clamp(14px, 3vw, 16px);
	}

	.about__management-list {
		gap: 0;
	}

	.about__management-list:has(.about__management-group),
	.about__management-group {
		gap: 24px;
		flex-direction: column;
	}

	.about__management-item {
		gap: 24px;
	}

	.about__management-main {
		grid-template-columns: 1fr;
		padding: 0;
	}

	.about__management-main .about__management-value {
		width: 100%;
		text-align: center;
		font-size: clamp(16px, 3vw, 24px);
	}

	.about__management-main span {
		text-align: center;
		font-size: clamp(12px, 2vw, 16px);
	}

	.about__management-name {
		text-align: center;
	}

	.about__management-item {
		min-width: calc(100% - 24px);
	}

	.about__management-info {
		align-items: center;
	}

	.about__management-img {
		aspect-ratio: 350 / 253;
	}
}

/* End */


/* Start:/local/templates/fhso_2025/components/bitrix/news.list/judge/style.css?17739247178680*/
        /* ============================================
           ТАБЛИЦА СУДЕЙ
           ============================================ */
        .judges-section {
            margin: 60px 0;
        }

        .judges-section__title {
            font-family: var(--font-heading);
            font-size: 28px;
            font-weight: 800;
            text-transform: uppercase;
            margin-bottom: 30px;
            background: linear-gradient(88.88deg, #ffffff 0.19%, #c7f7ff 100%);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
            text-align: center;
        }

        .judges-card {
            background: var(--color-bg-white);
            box-shadow: 0px 32px 64px -24px #0045ad40;
            border-radius: 32px;
            overflow: hidden;
            margin-bottom: 30px;
        }

        .judges-body {
            padding: 30px;
        }

        .judges-table {
            width: 100%;
            border-collapse: collapse;
            min-width: 1200px;
        }

        .judges-table th {
            text-align: left;
            padding: 15px 10px;
            background: var(--color-bg-light);
            font-family: var(--font-heading);
            font-size: 14px;
            font-weight: 700;
            color: var(--color-primary);
            text-transform: uppercase;
            border-bottom: 2px solid var(--color-secondary-light);
            white-space: nowrap;
        }

        .judges-table td {
            padding: 15px 10px;
            border-bottom: 1px solid var(--color-bg-lighter);
            color: var(--color-text-dark);
            font-size: 14px;
        }

        .judges-table tbody tr:hover {
            background: var(--color-bg-light);
            transition: background 0.3s ease;
        }

        .judges-table .text-center {
            text-align: center;
            color: var(--color-text-secondary);
            font-style: italic;
            padding: 30px;
        }

        .judges-table a {
            color: var(--color-primary);
            text-decoration: none;
            font-weight: 600;
            transition: color 0.3s ease;
        }

        .judges-table a:hover {
            color: var(--color-accent);
            text-decoration: underline;
        }

        .judges-table .judge-number {
            font-weight: 600;
            color: var(--color-accent);
        }

        .judges-table .rating-high {
            color: #28a745;
            font-weight: 600;
        }

        .judges-table .rating-medium {
            color: #ffc107;
            font-weight: 600;
        }

        .judges-table .rating-low {
            color: #dc3545;
            font-weight: 600;
        }

        .judges-table .penalty-count {
            font-weight: 600;
            color: #dc3545;
        }

        /* Статистические блоки */
        .judges-stats {
            display: flex;
            flex-wrap: wrap;
            gap: 20px;
            margin-top: 30px;
            padding: 20px;
            background: var(--color-secondary-light);
            border-radius: 24px;
            justify-content: space-around;
        }

        .judges-stats__item {
            text-align: center;
            flex: 1;
            min-width: 150px;
        }

        .judges-stats__label {
            display: block;
            font-size: 14px;
            font-weight: 600;
            color: var(--color-text-secondary);
            text-transform: uppercase;
            margin-bottom: 5px;
        }

        .judges-stats__value {
            font-size: 24px;
            font-weight: 700;
            color: var(--color-primary);
            font-family: var(--font-heading);
        }

        /* Пагинация */
        .judges-pagination {
            margin-top: 30px;
            text-align: center;
        }

        .judges-pagination .pagination {
            display: inline-flex;
            gap: 10px;
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .judges-pagination .page-link {
            display: block;
            padding: 8px 16px;
            background: var(--color-bg-white);
            border: 1px solid var(--color-secondary-light);
            border-radius: 8px;
            color: var(--color-primary);
            text-decoration: none;
            font-weight: 600;
            transition: all 0.3s ease;
        }

        .judges-pagination .page-link:hover {
            background: var(--color-primary);
            color: white;
            border-color: var(--color-primary);
        }

        .judges-pagination .active .page-link {
            background: var(--color-primary);
            color: white;
            border-color: var(--color-primary);
        }

        /* Адаптивность */
        @media (max-width: 991px) {
            .judges-section__title {
                font-size: 24px;
            }
            
            .judges-body {
                padding: 20px;
            }
        }

        @media (max-width: 768px) {
            .judges-section {
                margin: 40px 0;
            }
            
            .judges-section__title {
                font-size: 20px;
            }
            
            .judges-body {
                padding: 15px;
            }
            
            .judges-table th,
            .judges-table td {
                padding: 12px 15px;
                font-size: 13px;
            }
            
            .judges-stats {
                flex-direction: column;
                gap: 15px;
            }
            
            .judges-stats__item {
                min-width: auto;
            }
            
            .judges-stats__value {
                font-size: 20px;
            }
        }

        @media (max-width: 550px) {
            .judges-body {
                padding: 10px;

            }
            
            .judges-table th,
            .judges-table td {
                padding: 10px 12px;
                font-size: 12px;
            }
        }
.judges__scroll-container,
.standings__scroll-container {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.judges__table-wrapper,
.standings__table-wrapper {
    overflow-x: auto;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
}

.judges__table-wrapper::-webkit-scrollbar,
.standings__table-wrapper::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

.custom-scrollbar {
    height: 8px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    margin-top: 10px;
    position: relative;
    cursor: pointer;
}

.scroll-thumb {
    height: 100%;
    width: 50px;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 4px;
    position: absolute;
    top: 0;
    left: 0;
    cursor: grab;
    transition: background 0.2s;
}

.scroll-thumb:hover {
    background: rgba(255, 255, 255, 0.5);
}

.scroll-thumb:active {
    cursor: grabbing;
    background: rgba(255, 255, 255, 0.7);
}

/* Стили для сенсорных устройств */
@media (max-width: 768px) {
    .custom-scrollbar {
        height: 10px; /* Увеличиваем для удобства касания */
    }
    
    .scroll-thumb {
        min-width: 30px; /* Минимальная ширина для касания */
    }
    .judge-scrollbar{
        bottom: 35px;
        position: relative;
    }
}

.bg-liquid-glass {
    background: linear-gradient(135deg, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0.1) 100%);
    backdrop-filter: blur(2px);
}
        /* Дополнительные стили для выделения */
        .judges-table .judge-category {
            display: inline-block;
            padding: 4px 8px;
            background: var(--color-bg-light);
            border-radius: 16px;
            font-size: 12px;
            font-weight: 600;
            color: var(--color-primary);
        }

        .judges-table .judge-city {
            display: flex;
            align-items: center;
            gap: 5px;
        }

        /* Стили для числовых показателей */
        .judges-table .numeric-value {
            font-weight: 600;
            font-family: monospace;
            text-align: center;
        }

        .judges-table .total-games {
            color: var(--color-primary);
            font-weight: 600;
        }

        .judges-table .season-games {
            color: var(--color-accent);
            font-weight: 600;
        }
/* End */


/* Start:/local/templates/fhso_2025/assets/css/standings.css?17902503356052*/
.standings {
	padding-bottom: 40px;
}

.standings__wrapper {
	display: flex;
	flex-direction: column;
	gap: 20px;
	background: var(--color-bg-white);
	box-shadow: 0px 32px 64px -16px #001c4780;
	padding: 20px 20px 40px;
	border-radius: 48px;
	position: relative;
}

.standings__banner {
	margin: 0;
	height: 400px;
	box-shadow: 0px 32px 64px -24px #0045ad40, 0px 0px 0px 2px #ffffff80 inset,
		0px 0px 0px 1px #001c4733;
	border-radius: var(--radius-lg);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 24px;
	position: relative;
	overflow: hidden;
}

.standings__banner-image img {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	object-fit: cover;
}

.standings__banner-title {
	font-family: var(--font-heading);
	font-size: 48px;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1.1;
	filter: drop-shadow(0px 4px 16px #001c4733);
	background: linear-gradient(88.88deg, #ffffff 0.19%, #c7f7ff 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	z-index: 2;
}

.standings__banner-image::before {
	border-radius: 24px;
	background: linear-gradient(
		180deg,
		rgba(0, 100, 181, 0) 38.62%,
		rgba(0, 100, 181, 0.9) 100%,
		#0045adb2
	);
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}

.standings__banner-image::after {
	border-radius: 24px;
	background: #0045adb2;
	mix-blend-mode: soft-light;
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}

.standings__scroll-container {
	overflow: hidden;
}

.wave-decoration:has(.top-scorers__table-wrapper) {
	overflow: hidden;
	padding: 44px 20px 30px;
}

.standings__table-wrapper,
.top-scorers__table-wrapper {
	overflow-x: scroll;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding-bottom: 40px;
}

.standings__table-wrapper::-webkit-scrollbar,
.top-scorers__table-wrapper::-webkit-scrollbar {
	display: none;
}

.standings__table,
.top-scorers__table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0px 24px 24px -8px #00306740;
	background: linear-gradient(180deg, #0c62b0 0%, #004b96 100%);
}

.standings__table-header,
.top-scorers__table-header {
	background: transparent;
}

.standings__table-body,
.top-scorers__table-body {
	background: #f5fbff;
}

.standings__table-row {
	display: grid;
	/* grid-template-columns: 70px minmax(0, 1.6fr) repeat(8, minmax(40px, 0.23fr)); */
	grid-template-columns: 70px minmax(450px, 1.6fr) repeat(8, 86px);
	align-items: center;
	padding: 6px 0;
	font-size: 14px;
	color: var(--color-primary-dark);
}

.standings__table-body .standings__table-row:nth-child(odd),
.top-scorers__table-body .top-scorers__row:nth-child(even) {
	background: #ffffff;
}

.standings__table-body .standings__table-row:nth-child(even),
.top-scorers__table-body .top-scorers__row:nth-child(odd) {
	background: #ebf5f9;
}

.standings__table-row--leader {
	position: relative;
}

.standings__table-cell,
.top-scorers__cell {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: relative;
}
.standings__table-cell svg {
	position: absolute;
	right: 15px;
	top: -10px;
}

.standings__table-cell--number,
.standings__table-cell,
.top-scorers__cell--number,
.top-scorers__cell {
	justify-content: center;
	font-weight: 700;
	font-size: 24px;
}
.standings__table-cell--team,
.top-scorers__cell--team {
	justify-content: flex-start;
	text-transform: none;
}

.top-scorers__cell--player {
	justify-content: flex-start;
	padding: 0 10px;
}

.standings__team {
	display: flex;
	align-items: center;
	gap: 12px;
}

picture:has(.standings__team-logo) {
	padding: 4px;
	border-radius: 8px;
	background-color: #ffffff;
}

.standings__team-logo {
	width: 40px;
	height: 40px;
	border-radius: 4px;
	overflow: hidden;
	flex-shrink: 0;
	background: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
}

.standings__team-logo img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.standings__team-name {
	font-weight: 700;
	font-size: 24px;
	color: var(--color-primary-dark);
}

.standings__table thead .standings__table-row,
.top-scorers__table-header .top-scorers__row {
	background: linear-gradient(88.88deg, #001c47 0.19%, #0064b5 100%);
	color: #ffffff;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 15px 0;
}

.top-scorers__row {
	display: grid;
	grid-template-columns: 70px 130px repeat(2, minmax(420px, 1fr)) 160px;
	padding: 4px 0;
}

.top-scorers__cell.heading-right {
	justify-content: flex-start;
	padding: 0 10px;
}

picture:has(.top-scorers__player-photo) {
	padding: 0 4px;
}

.top-scorers__player-photo {
	min-width: 112px;
	height: 92px;
	object-fit: cover;
	border-radius: 4px;
}

picture:has(.top-scorers__team-logo) {
	padding: 4px;
	background-color: #ffffff;
	border-radius: 8px;
	margin-right: 10px;
	box-shadow: 0px 4px 8px -4px #0064b540;
}

.top-scorers__team-logo {
	min-width: 84px;
	height: 84px;
}

@media (max-width: 768px) {
	.standings__banner {
		padding: 12px;
	}

	.standings__wrapper {
		padding: 10px 10px 34px;
		border-radius: 32px;
		margin: 0 10px;
	}

	.standings__banner-title {
		font-size: clamp(20px, 5vw, 32px);
	}

	.standings__table thead .standings__table-row,
	.top-scorers__table-header .top-scorers__row {
		padding: 19px 0;
	}

	.standings__table-row {
		grid-template-columns: 40px minmax(350px, 1.6fr) repeat(8, 55px);
	}

	.standings__table-cell svg {
		display: none;
	}

	.standings__table-cell--number,
	.standings__table-cell,
	.standings__team-name,
	.top-scorers__team-name,
	.top-scorers__cell--number,
	.top-scorers__cell {
		font-size: 18px;
	}

	.wave-decoration:has(.top-scorers__table-wrapper) {
		padding: 24px 10px 34px;
	}

	.top-scorers__row {
		grid-template-columns: 40px 90px repeat(2, minmax(330px, 1fr)) 100px;
		padding: 3px 0;
	}

	.top-scorers__player-photo {
		min-width: 82px;
		height: 52px;
	}

	.top-scorers__team-logo {
		min-width: 46px;
		height: 46px;
	}
}

/* End */


/* Start:/local/templates/fhso_2025/assets/css/contacts.css?17902503352912*/
.contacts {
	padding-bottom: 40px;
}

.contacts__wrapper {
	display: flex;
	flex-direction: column;
	gap: 20px;
	background: var(--color-bg-white);
	box-shadow: 0px 32px 64px -16px #001c4780;
	padding: 20px;
	border-radius: 48px;
}

.contacts__banner {
	margin: 0;
	height: 400px;
	box-shadow: 0px 32px 64px -24px #0045ad40, 0px 0px 0px 2px #ffffff80 inset,
		0px 0px 0px 1px #001c4733;
	border-radius: var(--radius-lg);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 24px;
	position: relative;
	overflow: hidden;
}

.contacts__banner-img img {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	object-fit: cover;
}

.contacts__banner-img::before {
	border-radius: 24px;
	background: linear-gradient(
		180deg,
		rgba(0, 100, 181, 0) 38.62%,
		rgba(0, 100, 181, 0.9) 100%,
		#0045adb2
	);
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}

.contacts__banner-img::after {
	border-radius: 24px;
	background: #0045adb2;
	box-shadow: 0px 32px 64px -24px #0045ad40, 0px 0px 0px 2px #ffffff80 inset,
		0px 0px 0px 1px #001c4733;
	mix-blend-mode: soft-light;
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}

.contacts__banner-title {
	font-family: var(--font-heading);
	font-size: 48px;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1.1;
	filter: drop-shadow(0px 4px 16px #001c4733);
	background: linear-gradient(88.88deg, #ffffff 0.19%, #c7f7ff 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	z-index: 2;
}

.contacts__content {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.contacts__content--no-map {
	grid-template-columns: 1fr;
}

.contacts__info {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.contacts__content--no-map .contacts__info {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.contacts__item {
	background: var(--color-bg-light);
	display: flex;
	flex-direction: column;
	border-radius: 24px;
	padding: 12px;
	gap: 12px;
}

.contacts__item-text {
	font-weight: 500;
	line-height: 150%;
}

.contacts__item-label {
	font-weight: 600;
}

.contacts__map {
	display: flex;
	position: relative;
	overflow: hidden;
	border-radius: 24px;
	box-shadow: 0px 0px 0px 2px #ffffff80 inset, 0px 32px 64px -24px #0045ad40,
		0px 0px 0px 1px #001c4733;
}

.contacts__map iframe {
	height: 100%;
}

@media (max-width: 991px) {
	.contacts__map iframe {
		height: 360px;
	}
}

@media (max-width: 768px) {
	.contacts__wrapper {
		padding: 10px 10px 30px;
		border-radius: 32px;
	}

	.contacts__banner {
		padding: 12px;
	}

	.contacts__banner-title {
		font-size: clamp(20px, 5vw, 32px);
	}

	.contacts__content {
		display: flex;
		flex-direction: column;
		margin-top: 24px;
	}

	.contacts__content--no-map .contacts__info {
		grid-template-columns: 1fr;
	}
}

/* End */
/* /local/templates/fhso_2025/assets/css/about.css?17816783214400 */
/* /local/templates/fhso_2025/components/bitrix/news.list/judge/style.css?17739247178680 */
/* /local/templates/fhso_2025/assets/css/standings.css?17902503356052 */
/* /local/templates/fhso_2025/assets/css/contacts.css?17902503352912 */
