.hero__bg {
    background-image: linear-gradient(
        to bottom,
        color-mix(in srgb, var(--dark) 70%, transparent),
        color-mix(in srgb, var(--dark) 20%, transparent)
    ),
    url("../img/hero_bg.jpg");
    background-size: cover;
    background-position: center;
    border-radius: 16px;
}

.hero-minh {
    min-height: 300px;
}


/* левый блок прижат влево, правый — вправо */
.hero-side--left {
    display: flex;
    justify-content: flex-start;
}

.hero-side--right {
    display: flex;
    justify-content: flex-end;
}

/* сам “блок” (карточка) */
.hero-card {
    /* ограничь ширину, чтобы блок выглядел как отдельный блок у края */
    width: 100%;
    max-width: 370px; /* можно поменять под дизайн */
    display: flex;
    flex-direction: column;
    align-items: center; /* ВОТ центровка внутри блока по горизонтали */
    justify-content: flex-start;
}

.about__bg {
    background-image: linear-gradient(
        to bottom,
        color-mix(in srgb, var(--dark) 10%, transparent),
        color-mix(in srgb, var(--dark) 20%, transparent)
    ), url(../img/about.jpg);
    background-size: cover;
    background-position: center;
    border-radius: 16px;
}
.players__bg {
    background-image: linear-gradient(
        to bottom,
        color-mix(in srgb, var(--dark) 70%, transparent),
        color-mix(in srgb, var(--dark) 20%, transparent)
    ), url(../img/players_bg.jpg);
    background-size: cover;
    background-position: center;
    border-radius: 16px;
}

.player-list-photo-wrap {
    background: url('/storage/defimgs/player_photo_backdrop.svg') center / cover no-repeat;
    border-radius: 50%;
    overflow: hidden;
}

.player-list-photo-wrap img {
    position: relative;
    z-index: 1;
}

.player-photo-backdrop {
    background: url('/storage/defimgs/player_photo_backdrop.svg') center / cover no-repeat;
}
.teams__bg {
    background-image: linear-gradient(
        to bottom,
        color-mix(in srgb, var(--dark) 70%, transparent),
        color-mix(in srgb, var(--dark) 20%, transparent)
    ), url(../img/teams_bg.jpg);
    background-size: cover;
    background-position: center;
    border-radius: 16px;
}
.calendar__bg {
    background-image: linear-gradient(
        to bottom,
        color-mix(in srgb, var(--dark) 70%, transparent),
        color-mix(in srgb, var(--dark) 20%, transparent)
    ), url(../img/calendar.jpg);
    background-size: cover;
    background-position: center;
    border-radius: 16px;
}
.tables__bg {
    background-image: linear-gradient(
        to bottom,
        color-mix(in srgb, var(--dark) 70%, transparent),
        color-mix(in srgb, var(--dark) 20%, transparent)
    ), url(../img/tables.jpg);
    background-size: cover;
    background-position: center;
    border-radius: 16px;
}
.team__bg {
    background-color: var(--dark);

    background-image:
        linear-gradient(
            to bottom,
            color-mix(in srgb, var(--dark) 70%, transparent),
            color-mix(in srgb, var(--dark) 20%, transparent)
        ),
        url(../img/team_bg.jpg);

    background-size: cover;
    background-position: center;
    border-radius: 16px;
}
.games__bg {
    background-image: linear-gradient(
        to bottom,
        color-mix(in srgb, var(--dark) 70%, transparent),
        color-mix(in srgb, var(--dark) 20%, transparent)
    ), url(../img/game_bg.jpg);
    background-size: cover;
    background-position: center;
    border-radius: 16px;
}
.partner__bg {
    background-image: linear-gradient(
        to bottom,
        color-mix(in srgb, var(--dark) 70%, transparent),
        color-mix(in srgb, var(--dark) 20%, transparent)
    ), url(../img/partner_bg.jpg);
    background-size: cover;
    background-position: center;
    border-radius: 16px;
}
.calendar-filters .form-label {
    font-weight: 600;
}

.calendar-filters .form-select,
.tables-filters .form-select,
.calendar-filters .form-control {
    background: rgba(255, 255, 255, 0.8);
    border: 0;
    min-height: 36px;
}

.calendar-filters .form-check-input {
    background-color: rgba(255, 255, 255, 0.95);
    border-color: #fff;
}

.calendar-filters .form-check-input:checked {
    border-color: #fff;
}
.calendar-filters .btn{
    min-height: 36px;
    padding: 0px;
}
.match-card {
    will-change: transform, opacity;
}

.date-range-wrapper {
    position: relative;
}

.date-clear-btn {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: transparent;
    padding: 0;
    cursor: pointer;
    color: #666;
    font-size: 14px;
}

.date-clear-btn:hover {
    color: #000;
}

.date-clear-btn {
    display: none;
}

.date-range-wrapper.has-value .date-clear-btn {
    display: block;
}

.match-status-group .btn-primary {
    border-color: #f8f9fa;
}
#page-matches-content,
#matches-list,
.matches-list {
    overflow-x: hidden;
}
/* Лого вниз и вправо */
.hero-right__logo {
    margin-top: 3rem;
    width: 100%;
    display: flex;
    justify-content: flex-end; /* вправо */
}

/* если хочешь, чтобы правый блок на md+ был ближе к верху так же */
@media (max-width: 767.98px) {
    .hero-side--left,
    .hero-side--right {
        justify-content: center; /* на мобиле оба по центру, обычно так лучше */
    }

    .hero-right__logo {
        justify-content: center;
    }
}

/* Правый блок на всю ширину колонки, содержимое "верх/низ" */
.hero-right {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch; /* заголовок занимает всю ширину */
}

/* Заголовок на всю ширину колонки и выравнивание вправо на md+ */
.hero-right__title {
    width: 100%;
    text-align: center;
}

@media (min-width: 768px) {
    .hero-right__title {
        text-align: right;
    }
}

.upcoming-matches .d-flex {
    align-items: stretch !important;
}

.upcoming-matches .team-wrapper {
    flex: 1 1 0;
    max-width: 45%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/*.upcoming-matches .team-logo {*/
/*    height: 50px;                 !* одинаковая зона под логотип *!*/
/*    display: flex;*/
/*    align-items: center;*/
/*    justify-content: center;*/
/*}*/

.upcoming-matches .team-img {
    max-height: 65px;
    max-width: 100%;
    object-fit: contain;
}

.upcoming-matches .team-name {
    margin-top: auto; /* прижимает название вниз */
    min-height: 48px; /* фиксируем область текста */
    display: flex;
    align-items: flex-end; /* текст по нижней линии */
    justify-content: center;
    text-align: center;
    font-weight: 500;
}

.latest-results .match-teams {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}

.latest-results .team-wrapper {
    flex: 1 1 0;
    max-width: 40%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/*.latest-results .team-logo {*/
/*    height: 60px;*/
/*    display: flex;*/
/*    align-items: center;*/
/*    justify-content: center;*/
/*}*/

.latest-results .team-img {
    max-height: 65px;
    max-width: 100%;
    object-fit: contain;
}

.latest-results .team-name {
    margin-top: auto;
    min-height: 40px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    text-align: center;
    font-weight: 500;
}

.latest-results .match-score {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 15px;
}

.latest-results .score {
    font-size: 32px;
    font-weight: 700;
}

.liders .player-photo {
    width: 120px;
    height: 150px;
    object-fit: cover;
    border-radius: 12px;
    border: 2px solid rgba(255, 255, 255, 0.15);
}

.carousel-control-prev {
    left: -15px;
}

.carousel-control-next {
    right: -15px;
}

footer {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* Общий блок команды */
.matches-list .team {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    align-items: center;
    min-height: 65px;
    max-height: 65px;
    overflow: hidden;
}

/* ЛЕВАЯ команда */
.matches-list .team.team-left {
    justify-content: flex-end;
}

/* ПРАВАЯ команда */
.matches-list .team.team-right {
    justify-content: flex-start;
}

/* Названия */
.matches-list .team-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Логотип */
.matches-list .team-logo {
    width: 60px;
    object-fit: contain;
    display: block;
}

/* Счёт фиксированной ширины */
.matches-list .score {
    flex: 0 0 64px;
    text-align: center;
}
.game-header {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
}

.game-header span:first-child {
    justify-self: start;
}

.game-header span:nth-child(2) {
    justify-self: center;
}

.game-header span:last-child {
    justify-self: end;
}

/* Новости: заявки и отзаявки игроков */
.player-transfer-card {
    min-height: 108px;
    overflow: hidden;
    transition:
        transform 0.2s ease,
        border-color 0.2s ease;
}
.player-transfer-card-link { color: inherit; }
.player-transfer-card-link:hover { color: inherit !important; }
.player-transfer-card:hover {
    transform: translateY(-2px);
}
.player-transfer-more { text-underline-offset: 5px; }
.player-transfer-content { min-width: 0; flex: 1 1 auto; }
.player-transfer-name { color: #fff; font-weight: 700; }
.player-transfer-meta {
    display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 5px;
    color: rgba(220, 231, 255, .68); font-size: .86rem;
}
.player-transfer-team-logo { width: 20px; height: 20px; object-fit: contain; }
.player-transfer-date-light { color: rgba(255, 255, 255, .82); }
.news-empty-state {
    padding: 24px; text-align: center; color: rgba(220, 231, 255, .65);
    border: 1px dashed rgba(255, 255, 255, .18); border-radius: 12px;
}
