.leagues-menu .gallery__thumb {
    background-color: #fff;
    text-align: center;
    padding: 15px 0px 0px 0px;

}
.sponsors__item a img{
    max-height:80px;

}
.leagues-menu  img {
    width: 50%;
}
.leagues-menu  .card__content {
    padding: 10px 10px;
}
/* Playground -> Google Maps link (admin/playgrounds): inherits the
   label's look, the marker icon says it opens the map */
.playground-link {
    color: inherit;
}
.playground-link:hover {
    color: #039049;
}
.playground-link .fa-map-marker {
    color: #039049;
    font-size: 11px;
    margin-left: 0px;
    padding-right: 5px;
}
/* Match rows: the pin sits in front of the short playground name, the
   plain variant is the same label without a map link */
.playground-link__icon {
    color: #039049;
    font-size: 10px;
    margin-right: 3px;
    vertical-align: baseline;
}
.playground-link--plain {
    cursor: default;
}

/* Header top bar: its whole height came from the links inside it, so a
   city with no contact card left it empty and it collapsed to nothing -
   the header below jumped up (owner, 2026-09-08). The bar keeps its place,
   empty - 40px of it (owner, 2026-09-08); the theme hides the bar itself
   under 992px. */
@media (min-width: 992px) {
    .header__top-bar {
        min-height: 40px;
    }
}

/* Partners page: the theme's sponsor cards, two per row (owner,
   2026-09-08). Our copy of the theme carries no .sponsor-card styles -
   only the footer logo strip - so the module is written here, following
   the demo: a white logo panel, centred grey text under it and the
   partner's address on its own line at the foot of the card. The row is
   flex so the two cards of a row end at the same height whatever their
   text. */
.sponsors-grid {
    display: flex;
    flex-wrap: wrap;
}
.sponsors-grid > [class*="col-"] {
    display: flex;
}
.sponsors-grid__banner {
    display: block;
}
.sponsor-card {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.sponsor-card__header {
    padding: 30px 25px;
    text-align: center;
    background-color: #fff;
}
/* The theme paints a green bar down the left of every card header; the
   sponsor card is a plain white panel instead */
.sponsor-card__header::before {
    display: none;
}
.sponsor-card__logo {
    margin: 0;
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sponsor-card__logo img {
    max-height: 110px;
    max-width: 100%;
    width: auto;
}
/* The text takes the slack, so the address line sits at the bottom edge of
   both cards of a row */
.sponsor-card__content {
    flex: 1 1 auto;
    padding: 24px 25px;
    text-align: center;
}
.sponsor-card__excerpt {
    font-size: 13px;
    line-height: 1.75;
    color: #9a9da2;
}
.sponsor-card__footer {
    padding: 17px 25px;
    border-top: 1px solid #e4e7ed;
    text-align: center;
}
.sponsor-card__link,
.sponsor-card__link:focus {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #31404b;
    word-break: break-word;
}
.sponsor-card__link:hover {
    color: #039049;
}

/* Team page, "Обща информация": the information card in the right column
   (owner, 2026-09-08). The theme's own event-info widget is not in our
   build, so the card is written here - photo panel on top (skipped when the
   team has no picture), then one row per fact. */
.widget-team-info .card__content {
    padding: 0;
}
.team-info__photo {
    margin: 0;
    border-bottom: 1px solid #e4e7ed;
}
.team-info__photo img {
    display: block;
    width: 100%;
    height: 170px;
    object-fit: cover;
}
.team-info {
    margin: 0;
    padding: 6px 0;
}
.team-info__item {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 9px 20px;
    font-size: 13px;
    line-height: 1.5;
    color: #31404b;
}
.team-info__item + .team-info__item {
    border-top: 1px solid #eef1f4;
}
.team-info__icon {
    flex: 0 0 auto;
    width: 18px;
    text-align: center;
    color: #039049;
    font-size: 14px;
}
.team-info__label {
    color: #9a9da2;
}
.team-info__value {
    margin-left: auto;
    font-weight: 600;
    text-align: right;
}

/* Awards inside the information card (owner, 2026-09-08): a grey strip
   with the heading, then the three cups side by side */
.team-awards__title {
    padding: 8px 20px;
    background-color: #f2f4f7;
    border-top: 1px solid #e4e7ed;
    border-bottom: 1px solid #e4e7ed;
    text-align: center;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #6b7783;
}
.team-awards__list {
    display: flex;
    margin: 0;
    padding: 18px 10px 20px;
}
.team-awards__item {
    flex: 1 1 33.333%;
    text-align: center;
}
.team-awards__item + .team-awards__item {
    border-left: 1px solid #eef1f4;
}
.team-awards__icon {
    display: block;
    font-size: 30px;
    line-height: 1;
}
.team-awards__icon--gold {
    color: #f0b323;
}
.team-awards__icon--silver {
    color: #b3bac3;
}
.team-awards__icon--bronze {
    color: #c58b52;
}
.team-awards__label {
    display: block;
    margin-top: 8px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #9a9da2;
}
.team-awards__value {
    display: block;
    margin-top: 2px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    color: #31404b;
}

/* The same three cups inside a card of the teams listing (owner,
   2026-09-08): a size down, so they fit the narrow tile, and no strip
   above them - the card has its own heading. */
.team-awards--compact .team-awards__list {
    padding: 12px 0 0;
}
.team-awards--compact .team-awards__icon {
    font-size: 20px;
}
.team-awards--compact .team-awards__label {
    margin-top: 6px;
    font-size: 9px;
}
.team-awards--compact .team-awards__value {
    font-size: 15px;
}
/* The whole tile is a link and turns green under the cursor, so the cups
   and their numbers go white with the rest of it */
.gallery__item-inner:hover .team-awards__icon,
.gallery__item-inner:hover .team-awards__label,
.gallery__item-inner:hover .team-awards__value {
    color: #fff;
}
.gallery__item-inner:hover .team-awards__item + .team-awards__item {
    border-left-color: rgba(255, 255, 255, .3);
}

/* Upcoming matches card of the team page (owner, 2026-09-08): the theme's
   architecture in our own style - a grey strip, the nearest match as the
   accent block, the next two as rows under a second strip. */
.widget-upcoming .card__content {
    padding: 0;
}
.upcoming__strip {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 18px;
    background-color: #f2f4f7;
    border-bottom: 1px solid #e4e7ed;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #6b7783;
}
.upcoming__league {
    font-weight: 700;
    color: #31404b;
}
.upcoming__date {
    margin-left: auto;
    white-space: nowrap;
    font-weight: 700;
    color: #31404b;
}
.upcoming__strip--head {
    border-top: 1px solid #e4e7ed;
}
.upcoming__strip--head .upcoming__col {
    font-weight: 700;
}

/* The accent match */
.upcoming__main {
    display: flex;
    align-items: flex-start;
    padding: 20px 12px 14px;
}
.upcoming__team {
    flex: 1 1 38%;
    min-width: 0;
    text-align: center;
}
.upcoming__logo {
    margin: 0 0 8px;
    height: 66px;
}
.upcoming__logo img {
    max-height: 66px;
    max-width: 100%;
    width: auto;
}
/* The two cards sit side by side in the left column and end level */
.upcoming__place-link {
    margin-top: 6px;
}
.upcoming__name {
    margin: 0;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
    /* Two lines for a long name, the third is cut */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.upcoming__name a {
    color: #31404b;
}
.upcoming__name a:hover {
    color: #039049;
}
/* The score of the results card, in the same middle column (owner,
   2026-09-08): the winner in the site green, the loser muted */
.upcoming__score,
.upcoming__score:focus {
    display: block;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    color: #31404b;
    font-variant-numeric: tabular-nums;
}
.upcoming__score-dash {
    margin: 0 4px;
    color: #9a9da2;
}
.upcoming__score-part--winner {
    color: #039049;
}
.upcoming__score-part--loser {
    color: #9a9da2;
}
.upcoming__score-note {
    margin-top: 4px;
    font-size: 11px;
    color: #9a9da2;
}
.upcoming__row-score {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: #31404b;
    font-variant-numeric: tabular-nums;
}

/* Time on top, "vs" under it, the pitch under that (owner, 2026-09-08) */
.upcoming__middle {
    flex: 0 0 26%;
    text-align: center;
    padding-top: 14px;
}
.upcoming__time,
.upcoming__time:focus {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #039049;
}
.upcoming__time:hover {
    color: #039049;
    text-decoration: underline;
}
.upcoming__vs {
    margin: 2px 0 6px;
    font-size: 18px;
    font-weight: 700;
    color: #31404b;
    line-height: 1;
}
.upcoming__place-link,
.upcoming__place-link:focus {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    color: #31404b;
    line-height: 1.3;
}
.upcoming__place-link:hover {
    color: #039049;
}

/* The two rows under the second strip */
.upcoming__list {
    margin: 0;
}
.upcoming__row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
}
.upcoming__row + .upcoming__row {
    border-top: 1px solid #eef1f4;
}
.upcoming__col--team {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}
.upcoming__row-logo {
    width: 24px;
    height: 24px;
    object-fit: contain;
    flex: 0 0 auto;
}
.upcoming__row-team {
    font-size: 12px;
    font-weight: 600;
    color: #31404b;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.upcoming__row-team:hover {
    color: #039049;
}
.upcoming__col--when {
    flex: 0 0 62px;
    text-align: center;
    color: #31404b;
}
.upcoming__col--when:hover {
    color: #039049;
}
.upcoming__row-date {
    display: block;
    font-size: 12px;
    font-weight: 700;
}
.upcoming__row-time {
    display: block;
    font-size: 11px;
    color: #9a9da2;
}
.upcoming__col--place {
    flex: 0 0 84px;
    text-align: right;
    font-size: 11px;
}
.upcoming__col--place .playground-link {
    white-space: nowrap;
    font-weight: 700;
    color: #31404b;
}
.upcoming__col--place .playground-link:hover {
    color: #039049;
}

/* The two match cards of the team page stand side by side and have to read
   as one block (owner, 2026-09-08): the row is flex so they end level, and
   the accent match of each is held to one height, so the grey strip that
   follows it starts on the same line in both. The reserve covers the taller
   of the two - the results card, whose accent match ends with the dominance
   bar. All of it is desktop only: a phone stacks the cards, and a column
   with no width of its own would shrink to its content as a flex item
   instead of filling the row (owner, 2026-09-08). */
@media (min-width: 992px) {
    .team-match-cards {
        display: flex;
        flex-wrap: wrap;
    }
    .team-match-cards > [class*="col-"] {
        display: flex;
    }
    .team-match-cards > [class*="col-"] > .widget-upcoming {
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    .team-match-cards .widget-upcoming .card__content {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
    }
    .team-match-cards .upcoming__lead {
        min-height: 232px;
    }
}

/* An empty upcoming/results card: the module keeps its place and says so
   (owner, 2026-09-08) */
.upcoming__empty {
    margin: 0;
    padding: 24px 18px;
    text-align: center;
    font-size: 12px;
    color: #9a9da2;
}

/* The form of each side, under its crest in the accent match of the
   upcoming card (owner, 2026-09-08). The badges are the standings ones,
   only a size smaller - five of them have to fit a narrow column. */
/* No nowrap: a narrow column may break the five badges over two lines,
   and the reserve above has room for it */
.upcoming__form {
    margin-top: 8px;
    text-align: center;
}
.upcoming__form .form-badge,
.upcoming__form .form-badge:hover,
.upcoming__form .form-badge:focus {
    width: 15px;
    height: 15px;
    line-height: 15px;
    margin: 0 1px 2px;
    font-size: 9px;
    cursor: pointer;
}
/* The popup would be cut by the card on the outer badges, so it is centered
   over the strip instead of hugging the badge's right edge */
.upcoming__form .form-badge__tip {
    right: 50%;
    transform: translateX(50%);
}
.upcoming__form .form-badge__tip::after {
    right: 50%;
    margin-right: -5px;
}

/* The dominance bar of the accent match in the results card: the same
   double bar the match page ends with, inside our card's padding */
.upcoming__dominance {
    margin: 0;
    padding: 0 18px 16px;
}
.upcoming__dominance .progress-title {
    margin-bottom: 6px;
    text-align: center;
}

/* Team information card: the favorite star at the right edge of the header,
   where the other cards keep their buttons (owner, 2026-09-08) */
.team-info__fav {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    line-height: 1;
}
.team-info__fav .fav-star {
    font-size: 16px;
    color: #9a9da2;
    vertical-align: middle;
}
.team-info__fav .fav-star:hover,
.team-info__fav .fav-star:focus,
.team-info__fav .fav-star.is-on {
    color: #fdc90b;
}

/* Footer Secondary */
.footer-secondary {
    background-color: #039049;
    position: fixed;
    width: 100%;
    bottom: 0;
    z-index: 99;
    border-top: 2px solid #039049;
    border-bottom: 2px solid #039049;
}
.footer-secondary__inner {
    padding: 15px 0px;
}
/* The strip is fixed at the viewport bottom, so the foot of the page sat
   behind it and its last row was unreachable (2026-09-08). This clears it
   (owner's number, 2026-09-09). */
.footer {
    /* 46px: 2px borders, 6+7px padding and a 25px button with 2px margins (2026-10-04) */
    padding-bottom: 46px;
}

.footer-secondary__inner ul {
    text-align: center;
    font-size: 12px;
    font-weight: 500;
}
.footer-nav__item {
    height: 50px;
    line-height: 35px;
    padding: 0px;
}
.footer-nav__item img {
    height: 40px;
    z-index:0;
    filter: alpha(opacity=90);  /* IE 5-7 */
    -moz-opacity: 0.9;          /* Netscape */
    -khtml-opacity: 0.9;        /* Safari 1.x */
    opacity: 0.9;               /* Good browsers */

}
.footer-nav__item img:hover {
    filter: alpha(opacity=100);  /* IE 5-7 */
    -moz-opacity: 1;          /* Netscape */
    -khtml-opacity: 1;        /* Safari 1.x */
    opacity: 1;               /* Good browsers */
}
.footer-nav__item span {
    display: block;
    line-height: 22px;
    font-size: 12px;
    padding: 0px 7px 0px 7px;
}
.footer-nav__item .df-icon{
    width: 100%;
    height: 100%;
    font-size:40px;
}
.footer-nav__item > a {
    padding: 0px 0px;

}
.footer-col-inner a {
    color: #fdc90b;
}
.footer-secondary--has-decor .footer-secondary__inner::before {
    left: -25px;
    transform: skew(15deg);
    width: 50px;
}
.footer-secondary--has-decor .footer-secondary__inner::after { 
    right: -25px;
    transform: skew(-15deg);
    width: 50px;
}
.footer-nav--condensed .footer-nav__item {
    padding: 15px 0px;
}

.sponsors-title {
    font-size: 13px;
}
.info-block__link, .nav-account .nav-account__item--logout > a {
    color: #ddd;
}
.info-block--header .info-block__item .df-icon {
    stroke: #fdc90b;
}
.main-nav__list > li > a {
    padding: 0 20px;
    line-height: 40px;
}
/* Dropdowns hang right below the 40px nav (theme default was 62px);
   tighter padding than the theme's 43px 55px */
.main-nav__megamenu {
    top: 40px;
    padding: 20px;
}
.nav-account .nav-account__item { 
    font-size: 11px;
}
@media (min-width: 992px) {
    .nav-account .nav-account__item > a {
        height: 40px;
        line-height: 40px;
    }
}
.marquee-label {
    color: #fff;
    font-size: 11px;
    line-height: 30px;
}
.marquee {
    line-height: 29px;
}
.marquee-wrapper {
    height: 30px;
}
.info-block__heading {
    font-size: 12px;
    font-weight: 500;
}
.info-block__link{
    font-size: 10px;
}
.info-block--header .info-block__item {
    padding-right: 100px;
}
.sponsors-title {
    font-weight: 600;  
}
.df-icon--custom i{
    color: #fdc90b;
}
.posts--simple-list .posts__item {
    padding-bottom: 0px;
    margin-bottom: 0px;
}
.widget--footer .widget__title {
    margin-bottom: 1em;
}
.footer-widgets__inner {
    padding: 3em 0em 3em 0em;
}
.footer-logo--has-txt {
    padding: 0 ;
    margin-top: 0px;
    padding: 0em 0em 2em 2em;
}
.card__header form.card-header__button {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    float: none;
}
/* The picker inside such a form is a floated list, so the form would have no
   height of its own and could not be centered against the title
   (owner, 2026-09-08: the team page's „Играчи" card) */
.card__header form.card-header__button .team-result-filter {
    display: flex;
    align-items: center;
}
.card__header form.card-header__button .team-result-filter__item {
    float: none;
    padding-left: 0;
}
/* A second picker in the same header keeps its distance from the first */
.card__header form.card-header__button .team-result-filter__item + .team-result-filter__item {
    padding-left: 10px;
}

.banner img {
    display:block;
    margin:auto;
    /* Natural size, centered; never wider than the slot (guards the
       oversized legacy uploads too) */
    max-width: 100%;
    height: auto;
    width: auto;
}
.banner {
    padding-bottom: 15px;
}
.widget-social--grid .btn-social-counter {
    padding-left: 15px;
    padding-top: 12px;
    padding-right: 15px;
    min-height: 53px;
    font-weight: 600;
}

.widget-social--grid .btn-social-counter .btn-social-counter__title {
    font-size: 15px;
    font-weight: 500;
    text-overflow: inherit;
}
.widget-social--grid .btn-social-counter .btn-social-counter__count {
    font-size: 12px; 
    font-weight: 500;
}
/* A notch shorter, with a label that reads at a glance (owner, 2026-09-07) */
.widget-social--grid {
    margin-bottom: 0px;
}
.widget-social--grid .btn-social-counter {
    min-height: 40px;
}
.widget-social--grid .btn-social-counter .btn-social-counter__title {
    font-size: 14px;
}
.widget-social--grid .btn-social-counter--twitter {
    background-color: #039049;
    border: 1px solid #e4e7ed;
}
.widget-social--grid .btn-social-counter--rss {
    background-color: #e84124;
    border: 1px solid #e4e7ed;
    position: relative;
    -webkit-animation: moving 5s infinite;
    animation: moving 5s infinite;
}
.widget-social--grid .btn-social-counter--twitter:hover {
    background-color: #039049;
    border: 1px solid #e4e7ed; 
    filter: alpha(opacity=85);  /* IE 5-7 */
    -moz-opacity: 0.85;          /* Netscape */
    -khtml-opacity: 0.85;        /* Safari 1.x */
    opacity: 0.85;               /* Good browsers */
}
.widget-social--grid .btn-social-counter--rss:hover {
    background-color: #e84124;
    border: 1px solid #e4e7ed;
    filter: alpha(opacity=85);  /* IE 5-7 */
    -moz-opacity: 0.85;          /* Netscape */
    -khtml-opacity: 0.85;        /* Safari 1.x */
    opacity: 0.85;               /* Good browsers */

}
.header-search-form {
    width: 5%;
}
.main-nav__list li:hover > .cities{
    padding-bottom: 15px;
}
.cities .main-nav__ul li {
    height: 6em;
}
.register .fa {
    font-size: 150px;
    left: -120%;
    filter: alpha(opacity=20);
    opacity: 0.2;

}
.widget-player--alt .widget-player__photo {
    filter: none;
}
.header-logo {
    bottom: 0px;
    left: 15px;
}
/* Brand logos come in arbitrary sizes - cap them and give them air */
.header-logo__img {
    max-height: 150px;
    max-width: 150px;
    margin: 20px 0;
}
.main-nav__ul li a {
    color: rgba(255, 255, 255, 0.85);
}
.cities {
    padding: 30px 10px 50px 10px;
}
.cities .main-nav__ul li a {
    text-align: center;
    font-family: "Montserrat";
}
.page-heading__title .highlight, .breadcrumb > li + li::before {
    color:#039049 !important;
}
.active-link {
    color:#039049 !important;
}
.content-filter__link {
    padding: 20px;
    font-weight: 600;
}
.posts__item > .banner {
    padding-bottom: 0px;
}
.content-filter__link small {
    font-size: 10px;
}
.fit-table  > thead > tr > td, .fit-table  > tbody > tr > th, .fit-table  > tbody > tr > td, .fit-table  > tfoot > tr > th, .fit-table  > tfoot > tr > td {
    padding: 0.5em;    
}
.post--single .post__thumbnail img {
    width: 100%;
    object-fit: cover;
}
.team-roster-table__header {
    padding: 1.2em 0.8em !important;
    font-weight: 600 !important;
}
.widget-results__content {
    padding: 0.5em 0.5em;
}

.widget-results__status {
    font-size: 10px;
}
.widget-results__title {
    font-size: 0.8em;
    font-weight: bold;
    background-color: #f9f9f9;
    color: #666;
}
.suspended  li {
    padding: 5px 15px;
    line-height: 27px;
}
.table-standings--full .team-standings__team {
    padding: 1em 0em;
}
/* The theme keeps .team-meta on one line and ellipsizes it, while the
   standings table pins the team column to 170px on wide screens - a long
   name ("Докторите - Legio Salutis") read as "..." only here (owner,
   2026-09-29). The other tables have no fixed column, so they never cut.
   The name wraps onto a second line instead; the logo stays vertically
   centered next to it. */
.table-standings--full .team-meta {
    white-space: normal;
}
.table-standings--full .team-meta__info {
    max-width: calc(100% - 40px);
}
.team-standings__diff .standing-win {
    padding: 0 5px;
    color: #039049;
}
.team-standings__diff .standing-draw {
    padding: 0 5px;
    color:#fdc90b;
}
.team-standings__diff .standing-lose {
    padding: 0 5px;
    color:#e84124;
}
.details-stat {
    padding: 0;
    font-size: 1.5em;
}
.details-stat i {
    color: #fdc90b;
}
.submenu li a {
    padding: 10px 15px;
    font-weight: 400;
    font-size: 13px;
}
.widget__list ul {
    padding: 15px 10px;
    text-transform: capitalize;
    font-size: 12px;
}
.widget__list  {
    text-transform: capitalize;
    font-size: 12px;
}
.teams-ful-listing .gallery__thumb {
    height: 13em;
    background-color: #fff;
}
/* Archive: the city and season pickers open the page, in a card of their
   own above the listing (owner, 2026-09-08). The seasons menu that used to
   carry this went with the sidebar. */
.archive-filter {
    margin-bottom: 15px;
}
.archive-filter .card__header {
    border-bottom: 0;
}

/* The tiles are a fixed height so the rows line up; the three cups took
   the room the manager's name left behind (owner, 2026-09-08) */
.teams-ful-listing .gallery__item {
    height: 22em;
}
/* The archive's tiles carry a name and a season, nothing else, so they are
   a size shorter (owner, 2026-09-08). Only on desktop - the phone width
   lays them out as rows further down and gives them their own height. */
.archive-listing .gallery__item {
    height: 20em;
}
/* The gap between the rows of tiles belongs to the league's teams page
   only - the archive shares .teams-ful-listing but lays its seasons out
   as rows (owner, 2026-09-08) */
.league-teams-listing .gallery__item {
    margin-bottom: 20px;
}
.teams-ful-listing .gallery__thumb img {
    height: 100%;
    max-width: 100%;
    padding: 30px;
}
.teams-ful-listing .card__content {
    padding: 15px;
}
.teams-ful-listing .gallery__name {
    font-size: 15px;
    font-weight: 500;
}
.team-header-logo {
    display: block;
    position: absolute;
    right: -10%;
    top: -65%;
    height: 17em;
    padding: 0 5em;
    overflow: hidden;
}
.team-header-logo img {
    height: 120%;
    max-width: 30em;
    -ms-transform: rotate(15deg);
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg);
    opacity: 0.25;
    margin-top: -20%;
}
.game-result__score-label {
    font-size: 1em;
}

.team-heading li {
    color: #fff;
}
.team-label {
    color: #fdc90b;
}
.team-leader .team-leader__avg {
    padding: 0.5em;
}
.team-roster--case .team-roster__meta-value--accent {
    color: #039049;
}
.team-roster--case .team-roster__meta-value {
    color: #039049;
}
.team-roster--case .team-roster__meta-number {
    color: #039049;
}
.team-roster__player-details {
    padding: 9px 25px 9px 75px;
}
.fixture-time {
    width: 10%;
}
.fixture-result {
    width: 10%;

}
.fixture-referee {
    width: 15%;
}
.details-stat {
    width: 5%;
    flex-shrink: 0;
    min-width: 1.2em;
}
.widget-results__team--first, .widget-results__team--second {
    width: 25%;  
}

.player-info__number {
    margin-left: 0px;
}
.game-player-result__th {
    text-align: center;
}
.game-player-result__game--win {
    color:#039049 !important;  
}
.game-player-result__game--draw {
    color:#fdc90b !important;  
}
.game-player-result__game--lose {
    color:#e84124 !important;  
}
.player-info__last-name, .player-info-details__title, .player-info-stats__item .circular .circular__bar .circular__percents small, .player-info-stats__item .circular .circular__label {
    color: #fdc90b;
}
/* The player's photo, on every width (owner, 2026-09-08): softly rounded
   and framed in the theme yellow. Its height is a desktop matter and stays
   in the wide block below. */
.player-info__photo img {
    border-radius: 10%;
    border: 2px solid #fdc90b;
}
.player-info-details__item {
    padding: 6px 0;
}

/* The player's hero row (owner, 2026-09-08): the three career numbers left
   the block under the dials and joined the physical ones. The six read as
   one strip, so they share one width - a sixth of the line on desktop, two
   rows of three on a phone - rather than the theme's assorted ones. */
.player-info-details__item--height,
.player-info-details__item--weight,
.player-info-details__item--age,
.player-info-details__item--goals,
.player-info-details__item--assists,
.player-info-details__item--games {
    flex-basis: 33.333%;
}
@media (min-width: 992px) {
    .player-info-details__item--height,
    .player-info-details__item--weight,
    .player-info-details__item--age,
    .player-info-details__item--goals,
    .player-info-details__item--assists,
    .player-info-details__item--games {
        flex-basis: 16.666%;
    }
}
/* The details column stops growing with the viewport on the widest desktop */
@media (min-width: 1200px) {
    .player-info__item--details {
        width: 600px;
    }
}
/* Only the two dials are left in the row below, so they share it */
.player-info-stats__item--top-padding {
    width: 50%;
}

/* "Основна статистика" (owner, 2026-09-08): the career of the player, one
   event per row - an icon, the name of the event and the number, which is
   the only thing that carries weight. */
.player-stats {
    margin: 0;
}
.player-stats__item {
    display: flex;
    align-items: center;
    padding: 7px 0;
    font-size: 12px;
    color: #4a5762;
}
.player-stats__item + .player-stats__item {
    border-top: 1px solid #eef1f4;
}
.player-stats__icon {
    flex: 0 0 26px;
    font-size: 14px;
    color: #9a9da2;
    text-align: center;
}
.player-stats__icon--goal {
    color: #039049;
}
.player-stats__icon--yellow {
    color: #fdc90b;
}
.player-stats__icon--red {
    color: #e84124;
}
.player-stats__icon--clean {
    color: #31404b;
}
.player-stats__icon--gold {
    color: #f0b323;
}
.player-stats__label {
    flex: 1 1 auto;
    min-width: 0;
}
.player-stats__value {
    flex: 0 0 auto;
    padding-left: 10px;
    font-weight: 700;
    color: #31404b;
}

/* "Награди" (owner, 2026-09-08): a listing - a grey head row, then the
   award's icon, its name over the tournament it was won in, and the season
   at the right edge. The card's own padding goes, so the rows run its full
   width. */
/* Written with both classes: the phone-width .card__content padding sits
   lower in this file and would tie, insetting the awards' grey head row
   instead of letting it run the card's full width (owner, 2026-09-08). */
.card__content.card__content--flush {
    padding: 0;
}
.player-awards__head {
    display: flex;
    align-items: center;
    padding: 8px 20px;
    background-color: #f2f4f7;
    border-bottom: 1px solid #e4e7ed;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #6b7783;
}
.player-awards__head-title {
    flex: 1 1 auto;
}
.player-awards__head-season {
    flex: 0 0 auto;
    padding-left: 10px;
}
.player-awards {
    margin: 0;
}
.player-awards__item {
    display: flex;
    align-items: center;
    padding: 10px 20px;
}
.player-awards__item + .player-awards__item {
    border-top: 1px solid #eef1f4;
}
/* The rows alternate, as in the listing the owner sent */
.player-awards__item:nth-child(even) {
    background-color: #fafbfc;
}
.player-awards__icon {
    flex: 0 0 34px;
    margin: 0 12px 0 0;
    text-align: center;
}
.player-awards__icon img {
    max-width: 28px;
    max-height: 28px;
    width: auto;
    height: auto;
}
.player-awards__desc {
    flex: 1 1 auto;
    min-width: 0;
}
.player-awards__name {
    margin: 0;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    color: #31404b;
}
.player-awards__project {
    margin-top: 2px;
    font-size: 11px;
    line-height: 1.3;
    color: #9a9da2;
}
.player-awards__season {
    flex: 0 0 auto;
    padding-left: 10px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
    color: #31404b;
}

/* The career table by season (owner, 2026-09-08): the season's name carries
   the tournaments behind it on a hover list, each with the club he wore in
   it. Bootstrap only makes .table-responsive scroll under 768px, so on the
   desktop this popup has nothing clipping it - and a phone has no hover. */
.player-season-avg tbody > tr > td.player-season-avg__season {
    position: relative;
}
.player-season__name {
    border-bottom: 1px dotted #9a9da2;
    cursor: help;
}
.player-season__tip {
    display: none;
    position: absolute;
    left: 0;
    bottom: calc(100% + 7px);
    z-index: 1000;
    max-width: 320px;
    padding: 7px 10px;
    border-radius: 3px;
    background-color: #039049;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.6;
    text-align: left;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
}
.player-season__tip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 14px;
    border: 5px solid transparent;
    border-top-color: #039049;
}
.player-season-avg__season:hover .player-season__tip {
    display: block;
}
.player-season__tip-row {
    display: block;
    white-space: nowrap;
}

/* The "Виж всички" of the player's cards sits under what it extends */
.player-more-wrap {
    padding: 10px 20px 14px;
    text-align: center;
}
.player-awards__more-wrap {
    border-top: 1px solid #eef1f4;
}

/* Player match log (owner, 2026-09-08): the result letter is the badge the
   standings carry, the cup marks the matches he took, and the last cell is
   the way to the match's own statistics. The hover state is written out:
   .form-badge:hover ties with a one-class descendant selector and sits
   lower in this file, so its shorthand margin would drop the gap and shift
   the score sideways under the cursor. */
.game-player-result__score .form-badge,
.game-player-result__score .form-badge:hover,
.game-player-result__score .form-badge:focus {
    margin: 0 6px 0 0;
}
.game-player-result__motm {
    color: #f0b323;
}
.player-info-stats__item--top-padding {
    padding: 50px 0 0 0;
}
.player-info__item--stats-inner img {
    width: 80%;
    padding: 2em;
    display: block;
    margin: auto;
}
/* No right margin (it spaced the old "Промени" button): the selects sit
   flush right in the card header; the theme's padding-left keeps the gap
   between two of them */
.team-result-filter__item {
    margin-right: 0;
}
.game-result__table-stats--soccer tbody > tr > td, .game-result__table-stats--soccer tbody > tr > td:first-child{
    padding-bottom: 7px;
    padding-top: 7px;
    font-size: 11px;
}
.progress__number {
    margin-right: 10px;
    margin-left: 10px;
}
.team-header-result-logo {
    display: block;
    position: absolute;
    top: -93%;
    height: 13em;
    overflow: hidden;
    right: 0;
}
.team-header-result-logo img {
    /*    width: 8em;
        margin-top: 25%;*/
    margin-top: 10%;
    height: 10em;
}
.result-logo-home {
    right: 90%;
    margin-left: -800px;
}
.result-logo-away {
    right: -5%;
}
.img-tab {
    padding: 0 10px;
    height: 2em;
    margin-top: -2px;
}
.circular__label {
    font-size: 0.8em;
}
.table {
    margin-bottom: 0px;
}
.table-middle > tbody > tr > td {
    vertical-align: middle !important;
}
.card--clean .card__header {
    line-height: 17px;
}
.posts__thumb {
    float: none;
}

.posts__thumb img, .posts__item--card .posts__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.posts__thumb-list {
    width: 100px;
    height: 100px;
    object-fit: cover;
}
.widget-results__team-logo {
    float: left;
}
#widget-tabbed-sm-newest, #widget-tabbed-sm-commented {
    overflow: auto;
    overflow-x:hidden;
}
#widget-tabbed-sm-newest::-webkit-scrollbar-track, #widget-tabbed-sm-commented::-webkit-scrollbar-track {
    border-radius: 8px;
    background-color: #F5F5F5;
}
#widget-tabbed-sm-newest::-webkit-scrollbar, #widget-tabbed-sm-commented::-webkit-scrollbar {
    width: 8px;
    background-color: #F5F5F5;
}
#widget-tabbed-sm-newest::-webkit-scrollbar-thumb, #widget-tabbed-sm-commented::-webkit-scrollbar-thumb {
    border-radius: 8px;
    background-color: #ccc;
}
.post-sharing {
    display: block;
}
.listing-news {
    float:left;
} 
.listing-news img {
    height: 90px;
    width: 200px;
}
.team-leader__player-img--sm {
    width: 45px;
    height: 45px;
}
/* Every player photo carries the same yellow ring as the one on the player
   page (owner, 2026-09-08): the squad and leader tables, the match pages,
   the statistics boards. The lineup canvas of "Най-постоянните" strokes the
   same circle in custom.js - it cannot take a border. */
.team-leader__player-img {
    border: 2px solid #fdc90b;
}
.team-leader__player-position{
    font-size: 12px;
    line-height: 1.5em;
}
/* The shirt number on the player photo of the squad table (owner,
   2026-09-27): a green circle with a white number at the bottom right of
   the photo. The figure clips to a circle (overflow hidden), so the badge
   hangs on a wrapper around it; the wrapper takes the figure's spacing. */
.team-leader__player-photo {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}
.team-leader__player-photo .team-leader__player-img {
    display: block;
    margin-right: 0;
}
.team-leader__player-number {
    position: absolute;
    right: -4px;
    bottom: -4px;
    min-width: 22px;
    height: 22px;
    padding: 0 5px;
    border-radius: 11px;
    background: #039049;
    color: #fff;
    font-size: 12px;
    line-height: 22px;
    font-weight: 700;
    text-align: center;
    box-sizing: border-box;
}
@media (max-width: 767px){
    .listing-news {
        float:none;
    } 
    .listing-news img {
        height: 100%;
        width: 100%;
    } 
}
@media (min-width: 320px){
    .header__top-bar {
        overflow: hidden;
    }
    .sponsors {
        margin-bottom: 5em;
    }
    .player-info__name {
        margin-left: 10px;
        font-size: 2em;
        margin-top: 5px;
        line-height: 0.9em;
    }
    .posts__item--card .posts__title{
        height: 40px;
    }
    .posts--simple-list .posts__title {
        height: 40px;
    }
    .posts--cards .posts__thumb {
        height: 200px;
    }
    .posts--slider-featured .posts__thumb {
        height: 200px; 
    }
    .posts__item--card-condensed .posts__thumb {
        height: 200px;
    }

}
@media (max-width: 767px){
    .fixture-time {
        width: 15%;
    }
    .fixture-result {
        width: 10%;
    }
    .fixture-referee {
        width: 25%;
    }
    .details-stat {
        width: 10%;
    }
    .widget-results__team--first, .widget-results__team--second {
        width: 15%;  
        text-align: center;
    }
    .footer-widgets__inner {
        padding: 3em 0em 0em 0em;
    }

}

@media (min-width: 767px){
    .teams-heading {
        padding-bottom: 0px;
    }
    .team-heading {
        padding-bottom: 35px;
    }
    .posts__item--card .posts__title{
        height: 45px;
        font-size:18px;
    }
    .posts--simple-list .posts__title {
        height: 40px;
    }
    .posts--cards .posts__thumb {
        height: 200px;
    }
    .posts--slider-featured .posts__thumb {
        height: 300px; 
    }
    .posts__item--card-condensed .posts__thumb {
        height: 200px;
    }
}
@media (min-width: 480px){
    .card-header__button {
        position: absolute;
        right: 1.2em;
    }
}
@media (min-width: 980px){
    .site-content {
        padding-top: 10px;
    }
    .teams-heading {
        padding-bottom: 0px;
    }
    .team-heading {
        padding-bottom: 35px;
    }
}
@media (min-width: 992px) {
    .page-heading {
        padding: 40px 0 20px 0;
    }
    .team-heading {
        padding-bottom: 35px;
    }
    /* The player's photo on desktop (owner, 2026-09-08): a size taller;
       the frame and the rounding are global */
    .player-info__photo img {
        height: 19em;
        margin-top: 2em;
    }
    .widget-player__photo img {
        object-fit: cover;
        width: 136px;
        height: 136px;
    }
    .widget-player__content {
        bottom: 20px;
    }
    .widget-player__name {
        top: 0px;
        left: 0px;
        font-size: 13px;
    }
    .widget-player__first-name {
        white-space: normal;
    }
    .page-heading__title {
        font-size: 24px;
    }
}

@media screen and (max-width: 991px) {
    .header__top-bar {
        display: none;
    }
    .footer-secondary--has-decor .footer-secondary__inner {
        padding: 5px 0px 6px 0px;
    }
    .footer-nav__item img {
        display: none;
    }
    .footer-nav--condensed .footer-nav__item {
        padding: 0px 10px;
        height: 20px;
        line-height: 25px;
    }
    .cities {
        padding: 30px 10px 50px 10px;
    }
    .cities .footer-nav__item {
        height: 22px;
    }
    .main-nav__list .main-nav__megamenu > ul > li > a {
        height:22px;
        color: #aaa;
        padding: 0px 15px 0px 15px;
    }
    /* The theme's 15px tail under every megamenu column */
    .main-nav__list .main-nav__megamenu [class^="col-"] {
        padding-bottom: 0px;
    }

    .cities .footer-nav__item span {
        font-size: 10px;
        text-align: left;
    }
    .main-nav .header-mobile__logo {
        margin-bottom: 5px;
    }
    .site-content {
        padding-top: 0px;
    }

    .player-info__item--stats-inner img {
        width: 14em;
    }
    .footer-secondary--has-decor .footer-secondary__inner::before {
        width: 0px;
    }
    .footer-secondary--has-decor .footer-secondary__inner::after { 
        width: 0px;
    }
    .footer-secondary {
        background-color: #16171a;
    }
}
@media (min-width: 1200px){
    .main-nav {
        text-align: left;
        margin-left: 14em;
    }
    .team-heading {
        padding-bottom: 35px;
    }
    .player-info__name {
        font-size: 3em;
        margin-top: 10px;
        line-height: 1em;
    }
    .player-info-stats__item .circular .circular__bar{
        height: 80px;
        width: 80px;
    }
    .player-info-stats__item--top-padding {
        padding: 20px 0px 0px 0px;
    }
    .player-info-details__item {
        padding: 10px 0;
    }
    .posts__item--card .posts__title{
        height: 60px;
    }
    .posts--simple-list .posts__title {
        height: 40px;
    }
    .posts--cards .posts__thumb {
        height: 200px;
    }
    .posts--slider-featured .posts__thumb {
        height: 400px; 
    }
    .posts__item--card-condensed .posts__thumb {
        height: 200px;
    }
    .widget-player__photo img {
        object-fit: cover;
        width: 168px;
        height: 168px;
    }
    .widget-player__content {
        bottom: 30px;
    }
    .widget-player__name {
        font-size: 18px;
    }
    .widget-player__first-name {
        white-space: normal;
    }
    .widget-results__team-name {
        font-size: 12px;
        font-weight: 500;
    }

    .page-heading__title {
        font-size: 28px;
    }
}

@media screen and (max-width: 1400px) {
    .footer-nav__item img {
        height: 40px;

    } 
    .footer-nav__item span {
        font-size: 11px;
    }

}
@media (min-width: 992px) {
    .header__secondary {
        min-height: 100px;
        margin-top: 10px;
    }
}
/* Header banner: at most 90px high (owner, 2026-10-03), on the desktop
   band and on its mobile copy alike; the width follows, never past the
   container. The admin recommends 1140 x 90 for this zone. */
.header__secondary img,
.header-banner-mobile .banner img {
    display: block;
    margin-left: auto;
    max-width: 100%;
    max-height: 90px;
    width: auto;
    height: auto;
}
/* The same cap for an ad-code banner (CMS::adCode: an iframe, an ins or
   a div the network brings), which the img rule cannot reach: the slot
   itself clips at 90px and the embedded frame is held to it (Codex on
   PR #73) */
.header__secondary > .container,
.header-banner-mobile .banner > .col-sm-12 {
    max-height: 90px;
    overflow: hidden;
}
.header__secondary iframe,
.header__secondary ins,
.header-banner-mobile .banner iframe,
.header-banner-mobile .banner ins {
    display: block;
    max-width: 100%;
    max-height: 90px;
}
.widget-results__team-details {
    max-width: 70%;
}
.widget-results__playground{
    font-size: 11px !important;
    color: #9a9da2;
}
/* SLICK SLIDER TOURNAMENTS FOOTER */
.slick-tournaments .slick-slide img {
    display: inherit;
}
.slick-tournaments .slick-list {
    margin: 0 60px;
}
.slick-tournaments .slick-prev {
    left: 20px;
    top: 30px;
}
.slick-tournaments .slick-next {
    right: 20px;
    top: 30px;
}
/* SLICK SLIDER TEAMS */
.widget-results__score {
    font-size: 11px;
}
.team-leader__player-inner {
    white-space: nowrap;
    overflow: hidden;
}
.main-nav__ul li a {
    font-weight: 600; 
}
.label, .posts__cat-label, .posts__item--card .posts__cat-label, .posts--slider-featured .posts__cat-label {
    font-size: 11px;
}
.bold {
    font-weight: 600;
}
.game-result__header--alt .game-result__title {
    font-size: 10px;
}
.game-result__header--alt {
    font-size: 11px;
    /* The strip of the referee and the delegate carries the theme's top
       and bottom edge; only the top one stays (owner, 2026-09-11) */
    border-bottom: 0;
}
.game-result__header--alt .game-result__league,
.game-result__header--alt .game-result__date {
    font-size: 10px;
}
.game-result__team-logo {
    height: 150px;
}
.game-result__header--alt .game-result__league {
    flex-basis: inherit;
}
.game-result__score-wrap {
    text-align: center;
    width: 33%;
}
/* Match page (result and live), phone width: the donor theme hides the score
   dash below 992px, because in its own widget the two numbers are stacked and
   absolutely positioned there. On the big scoreboard they stay side by side on
   one line, so without the dash the result reads as a single number ("31"
   instead of "3 - 1"). Bring it back for that scoreboard only - the widget
   layouts keep the theme's behaviour. */
@media (max-width: 991px) {
    .game-result__score--lg .game-result__score-dash {
        display: inline;
        margin: 0 4px;
    }
}
.widget-game-result__table-stats .table > thead > tr > th:last-child, .widget-game-result__table-stats .table > tbody > tr > td:last-child, .widget-game-result__table-stats .table > tbody > tr > th:last-child {
    padding-right: 0px;
}
.xs-icon {
    height: 15px;
}
.card__subheader {
    margin-top: -40px;
}
/* The strips that open a section inside a card rather than the card itself
   (the „Надмощие" of the head-to-head page): they keep their own place, so
   the global lift above is taken off. Two classes, so the rule wins over
   the phone-width override further down as well. */
.card__subheader.card__subheader--plain {
    margin-top: 0;
}
/* Match page (Main info / MOTM): the global -40px above was tuned for cards
   whose sections still had their own top padding; inside a plain 24px
   card__content it overshoots by 16px and the strip pokes out of the card,
   touching whatever sits above. -24px lands it exactly on the card's top edge. */
.card__subheader--flush {
    margin-top: -24px;
}
.card--dominance > .card__content {
    padding-bottom: 0;
}
/* Match page, „Надмощие" card (owner, 2026-09-08): the strip runs the full
   width of the card again - it bleeds back into the 24px gutters and sits
   on the card's top edge - and the bars get their own breathing room
   instead of sitting edge to edge. */
.card--dominance .card__subheader {
    margin-top: -23px;
    margin-left: -24px;
    margin-right: -24px;
}
.card--dominance .progress-double-wrapper {
    margin: 10px;
    padding: 5px;
}
.game-result__header--alt {
    margin-top: 50px;
    margin-bottom: -10px;
}
.widget-tabbed .nav.widget-tabbed__nav > li > a:hover, .widget-tabbed .nav.widget-tabbed__nav > li.active > a {
    color: #039049;
}
.df-timeline__event-name {
    font-size: 13px;
}
.df-timeline__event-desc {
    font-size: 11px;
    font-weight: 600;
    color: #039049;
}
.content-filter__item--active .content-filter__link:hover {
    cursor: pointer;
}
.game-result__date {
    padding-bottom: 5px;
}
.game-result__section {
    padding-top: 0px;
}
.posts__title a, .match-preview__team-name,
.match-preview__countdown .countdown__title,
.widget-results__score,
.post--single .post__title,
.posts--inline .posts__title,
.page-heading__title,
h6, h5, h4, h3, h2, h1,
.info-block__heading
{
    font-family: "Montserrat", sans-serif;
}
.post__content,
.nav-account .nav-account__item,
/*.main-nav__ul li a,*/
.label,
.widget-results__team-name,
widget-results__score-winner,
.widget-results__score,
.submenu li a, td,
.posts posts--inline,
.team-meta__name,
.team-standings__pos,
.team-standings__win,
.widget-results__status,
.widget-results__status,
.team-leader__player-name,
.team-leader__player-position,
/*.footer-col-inner a,*/
.circular__percents,
.df-timeline__event-name,
.df-timeline__event-desc
{
    font-family: "Montserrat", sans-serif !important;
}
.widget-results__status, .widget-results__status {
    padding-top: 0px;
    font-weight: 600;
}
.widget-results__score-winner, .widget-results__score-loser, .widget-results__score-draw {
    font-weight: 500;
}
/* The two halves under a result ("2:1 / 0:3"): each one never breaks
   inside, only around the slash (owner, 2026-09-27) */
.widget-results__half {
    white-space: nowrap;
}
.category-filter__link {
    color: #999;
}
.posts--simple-list .posts__date, .posts--simple-list .posts__comments {
    font-weight: 500;
}
.posts__item--card .posts__date {
    font-weight: 500;
}
.posts__item--card .post-author__name {
    font-size: 12px;
    font-weight: 500;
}
.team-meta__name {
    font-weight: 600;
}
.widget-results__score-winner:before  {
    border-left: 8px solid #039049;
}
.widget-results__score-loser ~ .widget-results__score-winner::after {
    border-right: 8px solid #039049; 
}
.score-referee .widget-results__score-draw, .score-referee .widget-results__status {
    font-size: 10px;
}
/* Tooltips are green, the same green the winner marker and the standings
   badges use (owner, 2026-09-08) - the theme's black bubble read as a
   browser default */
.tooltip {
    font-size: 10px;
}
.tooltip-inner {
    background-color: #039049;
}
.tooltip.top .tooltip-arrow,
.tooltip.top-left .tooltip-arrow,
.tooltip.top-right .tooltip-arrow {
    border-top-color: #039049;
}
.tooltip.bottom .tooltip-arrow,
.tooltip.bottom-left .tooltip-arrow,
.tooltip.bottom-right .tooltip-arrow {
    border-bottom-color: #039049;
}
.tooltip.left .tooltip-arrow {
    border-left-color: #039049;
}
.tooltip.right .tooltip-arrow {
    border-right-color: #039049;
}
/* TO DO - DENI
HEADER - FIXED LOGO, MENU & SEARCH ON MOBILE
MOBILE MENU - WITHOWT HEADER TOP BAR
SEARCH - ON DESKTOP LIKE SAPIBG.ORG
TEAM - Z-INDEX OL BEFORE IMG
LEAGUE - MENU ON TOP
*/


/* Standings: form column (last 5 matches). It's an <a> (links to the match),
   but reads as a plain colored badge - the theme's global a:hover would
   otherwise turn the letter green (a:hover beats .form-badge on specificity
   since they tie on the class column and a:hover adds an element match) */
.form-badge,
.form-badge:hover,
.form-badge:focus {
    display: inline-block;
    width: 18px;
    height: 18px;
    line-height: 18px;
    margin: 0 1px;
    border-radius: 2px;
    font-size: 10px;
    font-weight: 700;
    text-align: center;
    color: #fff;
    position: relative;
    cursor: default;
    text-decoration: none;
}
/* Hover popup with the match behind each form badge */
.form-badge__tip {
    display: none;
    position: absolute;
    bottom: calc(100% + 7px);
    right: -4px;
    background-color: #039049;
    color: #fff;
    padding: 6px 10px;
    border-radius: 3px;
    font-size: 11px;
    /* The whole line is bold, like the score in it (owner, 2026-09-08) */
    font-weight: 700;
    line-height: 1.6;
    white-space: nowrap;
    text-align: center;
    z-index: 1000;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}
.form-badge__tip::after {
    content: "";
    position: absolute;
    top: 100%;
    right: 9px;
    border: 5px solid transparent;
    border-top-color: #039049;
}
.form-badge:hover .form-badge__tip {
    display: block;
}
.form-badge--win {
    background-color: #039049;
}
.form-badge--draw,
.form-badge--draw:hover,
.form-badge--draw:focus {
    background-color: #fdc90b;
    /* Dark letter: white on this yellow is unreadable */
    color: #1e2024;
}
.form-badge--loss {
    background-color: #e84124;
}

/* Standings: keep the round selector from stretching the card header */
.card__header .form-control.input-sm {
    width: auto;
    display: inline-block;
}

/* Banner slots: fixed height while showing the placeholder image */
img.banner-placeholder {
    height: 90px;
}

/* Footer: tighter contact rows now that they sit under the logo */
.footer .info-block__item {
    margin-bottom: 10px;
}

/*
 * Mobile menu: replace the OS scrollbar with a slim, theme-coloured one and
 * keep the scroll chaining inside the panel, so the page behind it does not
 * move while the menu is being scrolled.
 */
@media only screen and (max-width: 991px) {
    .main-nav {
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scrollbar-color: rgba(255, 255, 255, 0.25) transparent;
    }
    .main-nav::-webkit-scrollbar {
        width: 4px;
    }
    .main-nav::-webkit-scrollbar-track {
        background: transparent;
    }
    .main-nav::-webkit-scrollbar-thumb {
        background-color: rgba(255, 255, 255, 0.25);
        border-radius: 2px;
    }
    .main-nav::-webkit-scrollbar-thumb:hover {
        background-color: rgba(255, 255, 255, 0.4);
    }
}

/* Mobile menu: tighter rows */
@media only screen and (max-width: 991px) {
    .main-nav .main-nav__list > li > a {
        padding: 10px 15px;
    }

    /*
     * Contact details are appended to the menu by init.js, right after the
     * navigation buttons. Set them apart: own background and a divider on
     * the first one (the only row preceded by a non-contact item).
     */
    .main-nav .main-nav__list > li.nav-account__item {
        background-color: #16181b;
    }
    .main-nav .main-nav__list > li:not(.nav-account__item) + li.nav-account__item {
        border-top: 2px solid #039049;
    }
    .main-nav .main-nav__list > li.nav-account__item > a {
        text-transform: none;
        font-weight: 400;
    }
}

/*
 * Fixtures/results tabs: Bootstrap stacks .nav-justified below 768px, which
 * gives two full-width rows. Keep them side by side at 50/50 instead.
 */
@media (max-width: 767px) {
    /* Owner, 2026-09-11 */
    .page-heading__title {
        font-size: 15px;
    }
    .widget-tabbed .nav.widget-tabbed__nav.nav-justified > li {
        display: table-cell;
        width: 1%;
        float: none;
    }
    .widget-tabbed .nav.widget-tabbed__nav.nav-justified > li > a {
        margin-bottom: 0;
        text-align: center;
    }
}

/*
 * Bottom tournaments bar (the strip is position: fixed at the viewport
 * bottom - see .footer-secondary at the top of this file - so its height
 * is precious). The theme's original footer-nav look, in its mobile
 * variant, now applies on every breakpoint: no icons, small text links,
 * 20px row, plus the Archive button at the end. The strip's own paddings
 * are untouched - original theme/custom values.
 */
/* Desktop keeps a tight strip padding too (owner's numbers, 2026-09-09,
   2026-10-04) */
@media (min-width: 992px) {
    .footer-secondary--has-decor .footer-secondary__inner {
        padding: 6px 0 7px 0;
    }
}
/* Tournament strip: every tournament is a button in the look of the
   install bar's "Инсталирай" (owner, 2026-10-04) - red #e84124, white
   bold uppercase text, 4px corners; 25px tall, 13px text without letter
   spacing (owner's numbers, 2026-10-04). The yellow separators are gone,
   the gap between the buttons does their job. */
.tournaments-nav.footer-nav--condensed .footer-nav__item {
    padding: 0;
    height: 25px;
    line-height: 30px;
    margin: 2px 1px;
}
.tournaments-nav .footer-nav__item > a {
    display: inline-block;
    /* Border-box keeps the button at 25px with its 3px padding (the theme
       does not set it globally); top alignment keeps it inside the item */
    box-sizing: border-box;
    vertical-align: top;
    height: 25px;
    padding: 3px 10px;
    border-radius: 4px;
    background: #e84124;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 19px;
    letter-spacing: 0;
    text-transform: uppercase;
    transition: background .15s ease;
}
.tournaments-nav .footer-nav__item > a span {
    padding: 0;
    line-height: inherit;
    font-size: inherit;
}
.tournaments-nav .footer-nav__item > a:hover,
.tournaments-nav .footer-nav__item > a:focus {
    background: #c9361c;
    color: #fff;
}

/* Header top bar: contact items are icons + values (no text labels).
   The anchor turns inline-flex so the 15px icons sit vertically centered
   with the small text. */
.nav-account .nav-account__item > a {
    display: inline-flex;
    align-items: center;
}
.nav-account .nav-account__item i {
    margin-right: 6px;
    color: #fdc90b;
    font-size: 15px;
}
.nav-account .nav-account__item > a .highlight {
    color: #fff;
}
/* The clones init.js puts into the mobile menu (outside .nav-account) */
.main-nav__list .nav-account__item i {
    margin-right: 6px;
    font-size: 14px;
    vertical-align: middle;
}

@media (max-width: 991px) {
    /* Mobile menu contacts: icon on the left, white left-aligned text */
    .main-nav .main-nav__list > li.nav-account__item > a {
        text-align: left;
    }
    .main-nav .main-nav__list > li.nav-account__item > a .highlight {
        float: none;
        color: #fff;
    }
    .main-nav .main-nav__list > li.nav-account__item i {
        float: left;
        color: #fdc90b;
    }

    /* Mobile menu regions: splash-style tiles, two per row - the brand
       logo above the name (owner decision 2026-09-06, replaces the plain
       text rows this block used to hold). The items reuse
       .footer-nav__item, which the theme floats at 33.3% under 480px and
       caps at a 22px row, so the grid has to reset float, width and
       height. The 22px cap on the anchor is set through
       .main-nav__list .main-nav__megamenu, hence the long selector. */
    .cities .main-nav__ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
        padding: 0;
    }
    .main-nav__megamenu.cities img {
        display: block;
        width: 40px;
        height: 40px;
        margin: 0 auto 6px;
        object-fit: contain;
    }
    .cities .footer-nav__item {
        display: block;
        float: none;
        width: auto;
        height: auto;
        padding: 0;
    }
    .cities .footer-nav__item > a,
    .main-nav__list .main-nav__megamenu.cities > ul > li > a {
        display: block;
        height: auto;
        padding: 8px 3px;
        text-align: center;
        border-radius: 6px;
        background: rgba(255, 255, 255, .1);
    }
    .cities {
        padding: 10px;
    }
    .cities .main-nav__ul li {
        height: auto;
    }
    .cities .footer-nav__item span {
        display: block;
        text-align: center;
        font-size: 10px;
        line-height: 1.3em;
        padding: 0;
    }
}

/* Regions megamenu on desktop: the same tiles as the mobile drawer above
   (owner, 2026-09-07) - the brand logo over the name in a card, six per
   row, instead of the plain bootstrap columns. The items are col-md-2 in
   the markup and the theme caps the row at 6em, so float, width and
   height have to be reset for the grid; the anchor height cap is set
   through .main-nav__list .main-nav__megamenu, hence the long selector. */
@media (min-width: 992px) {
    .main-nav__megamenu.cities,
    .main-nav__list li:hover > .cities {
        padding: 20px 25px;
    }
    .cities .main-nav__ul {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 10px;
        float: none;
        width: 100%;
        padding: 0;
    }
    .cities .main-nav__ul li,
    .cities .footer-nav__item {
        display: block;
        float: none;
        width: auto;
        height: auto;
        padding: 0;
    }
    .cities .footer-nav__item > a,
    .main-nav__list .main-nav__megamenu.cities > ul > li > a {
        display: block;
        height: auto;
        padding: 14px 8px;
        text-align: center;
        border-radius: 6px;
        background: rgba(255, 255, 255, 0.06);
        transition: background 0.2s ease, box-shadow 0.2s ease, color 0.3s ease;
    }
    .cities .footer-nav__item > a:hover {
        background: rgba(255, 255, 255, 0.12);
    }
    .main-nav__megamenu.cities img {
        display: block;
        width: 56px;
        height: 56px;
        margin: 0 auto 8px;
        object-fit: contain;
    }
    .cities .footer-nav__item span {
        display: block;
        text-align: center;
        font-size: 11px;
        line-height: 1.3em;
        padding: 0;
    }
}

@media (max-width: 991px) {
    .header-banner-mobile .banner {
        padding-top: 10px;
    }
}

/* Mobile: air between the breaking-news strip and the first content card */
@media (max-width: 991px) {
    .marquee-wrapper {
        margin-bottom: 15px;
    }
}

/* Mobile: the page heading banner (title + breadcrumb, every page) is
   hidden - covers the base .page-heading and its team-heading /
   teams-heading variants alike */
@media (max-width: 991px) {
    .page-heading {
        display: none;
    }
}

/* Mobile: the footer brand logo is hidden (the columns "Турнири" and
   "Други региони" are hidden via Bootstrap classes in the layout) */
@media (max-width: 991px) {
    .footer-widgets .footer-logo {
        display: none;
    }
}

/* All card headers: the base theme's 27px/23px is too roomy site-wide */
.card__header {
    padding: 14px;
    padding-left: 30px;
}

.card__header--has-btn {
    padding-top: 14px;
    padding-bottom: 14px;
}

.card__header--has-filter {
    padding-top: 14px;
    padding-bottom: 14px;
}

/* Squad page: awards widget and full squad table, scoped through .squad-page
   (wraps content + sidebar) */
.squad-page .awards__name,
.squad-page .full-squad-widget .team-leader__player-name,
.squad-page .full-squad-widget .team-leader__player-position,
.squad-page .full-squad-widget td {
    font-size: 12px;
}

/* Categories-style menus (statistics indicators, archive seasons): the
   base theme header padding is too roomy - 14px, same as the
   .card__header--has-btn treatment used elsewhere */
.widget_categories > .card__header {
    padding: 14px;
    padding-left: 30px;
}

/* Ranking boards: a real width for the # column and centered stat columns
   (the player/team cell stays left-aligned) */
.ranking-board th,
.ranking-board td {
    text-align: center;
}
.ranking-board .team-standings__pos {
    width: 90px;
}
/* Team page's own standing tab: center the # column */
.team-standing-page .team-standings__pos {
    text-align: center;
}
.ranking-board .team-leader__type,
.ranking-board .team-leader__player {
    text-align: left;
}
/* Player board: the rank tier stars under the rank value */
.ranking-board .ranking-stars {
    display: block;
    font-size: 9px;
    line-height: 1;
}

/* Squad page leader tables: the % header sat on the 0.5em padding of
   .team-leader__avg (a rule meant for the circular-chart td) while the
   other th's keep Bootstrap's default 8px - align it with the rest */
.squad-page .team-leader > thead > tr > th.team-leader__avg {
    padding: 8px;
}

/* Squad page: full squad card content sits flush (0) with a 30px left
   indent to match the other card headers; the awards card keeps its 14px
   padding, both with the same 30px left indent. The legend card that used
   to sit here is gone - its abbreviations are now on hover tooltips on the
   full squad table's header row instead. */
.squad-page .full-squad-widget > .card__header {
    padding: 14px 24px;
}
.squad-page .full-squad-widget > .card__content {
    padding: 0;
}
.squad-page .widget-awards > .card__header,
.squad-page .widget-awards > .card__content {
    padding: 14px;
    padding-left: 30px;
}

/* Fixtures/results widget rows: nothing signaled that a row was a link to
   the match (no icon, no underline) - unlike the separate match-link icon
   and team links used elsewhere, which made rows here read as inert. Hover
   now tints the row and swaps the score/time+venue column for "Виж повече". */
.widget-results__item > a {
    display: block;
    transition: background-color 0.15s ease;
}
.widget-results__item > a:hover,
.widget-results--wide .widget-results__item:hover {
    background-color: #ebebeb;
}
/* The team names answer the hover too: green, the site's link colour, so the
   row reads as one clickable thing (owner, 2026-09-10). The wide league
   layout has no row link, its rows tint on the item itself and the names
   turn green only under the pointer, as they are links of their own. */
.widget-results__team-name {
    transition: color 0.15s ease;
}
.widget-results__item > a:hover .widget-results__team-name,
.widget-results--wide .widget-results__team a:hover .widget-results__team-name {
    color: #039049;
}
.widget-results__result-hover {
    display: none;
    font-size: 12px;
    font-weight: 600;
    color: #039049;
    /* long team names squeeze the middle column - the label must never wrap,
       or the whole row jumps to two lines on hover (team names ellipsize) */
    white-space: nowrap;
}
.widget-results__item > a:hover .widget-results__result-default {
    display: none;
}
.widget-results__item > a:hover .widget-results__result-hover {
    display: block;
}

/* Fixtures/results widget: the tab panes had a max-height with no overflow
   rule, so a long list just spilled past the box instead of scrolling
   inside it */
.widget-results__scroll {
    max-height: 650px;
    overflow-y: auto;
}

/* Livescore: blinking score/minute/dot */
.live-blink {
    animation: live-blinker 1.5s linear infinite;
}
@keyframes live-blinker {
    50% {
        opacity: 0;
    }
}

/* Running matches injected by custom.js at the top of the "Резултати" tab
   of the city fixtures widget. A light red wash with a red edge - the same
   weight as a favorite row's yellow (owner, 2026-09-07; the solid red row
   shouted over everything around it). The row keeps the theme's own text
   colours; only the "На живо" chip carries the red. The row is not one
   link any more (owner, 2026-09-09): the minute, the score and the
   statistics icon go to the match, the teams to their pages - like the
   rows below it. */
/* The live block stands above both tabs, so it draws its own bottom edge:
   the first row of the tab under it is a :first-child and has none
   (owner, 2026-09-11) */
.widget-results__live-list {
    border-bottom: 1px solid #e4e7ed;
}
/* Spelled out, like .pwa-install[hidden] and .back-fab[hidden]: the theme
   carries no global [hidden] rule, only the browser default */
.widget-results__live-list[hidden] {
    display: none;
}
.widget-results__item--live > .widget-results__content {
    background-color: rgba(232, 65, 36, 0.09);
    box-shadow: inset 4px 0 0 #e84124;
}
/* The chip, the score and the minute bubble are links now, but must look
   exactly like the plain cells of the rows below - no link colour, no
   underline */
.widget-results__live-link,
.widget-results__live-link:hover,
.widget-results__live-link:focus {
    display: block;
    color: inherit;
    text-decoration: none;
}
/* Only the minute bubble on the right: lifted a touch to sit on the line
   of the row (owner, 2026-09-09) */
.details-stat .widget-results__live-link {
    margin-top: -3px;
}
/* Penalties: the word is only on the tooltip (owner, 2026-09-08), so the
   dotted underline is what says the score has more behind it */
.widget-results__pen-score {
    border-bottom: 1px dotted #9a9da2;
}

/* City page, running match: the statistics slot holds the minute the
   game is in, as the same pulsing red bubble the live page ends its
   timeline with (owner, 2026-09-09). The slot's own font-size (1.5em, for
   the icons) is overridden here. */
.widget-results__live-minute {
    display: inline-block;
    width: 24px;
    height: 24px;
    line-height: 22px;
    border: 1px solid #e84124;
    border-radius: 50%;
    background-color: #e84124;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 9px;
    font-weight: 700;
    text-align: center;
    animation: live-now-pulse 1.6s ease-out infinite;
}

/* The chip: a small red badge, and it is the only thing that blinks */
.widget-results__status-live {
    display: inline-block;
    padding: 2px;
    border-radius: 3px;
    background-color: #e84124;
    color: #fff;
    font-weight: 500;
    line-height: 1rem;
    font-size: 0.9rem;
}

/* Live match page (matches/live.blade.php) */
.card__subheader--live {
    background-color: #e84124;
}
.card__subheader--live .game-result__subtitle,
.card__subheader--live .live-blink {
    color: #fff;
}
.live-minute {
    margin-top: 6px;
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: bold;
    color: #e84124;
}
/* Live timeline: the running minute closes the board (owner, 2026-09-08).
   A bubble on the rail in the red of the page's live chip, blinking, moved
   by the browser's clock between polls. The row is the last thing on the
   board, so it carries no bottom gap of its own. */
.df-timeline__event--now {
    min-height: 26px;
    margin-bottom: 0;
}
.df-timeline__time--now {
    border-color: #e84124;
    background-color: #e84124;
    color: #fff;
    /* The bubble pulses with a fading red ring; the minute inside stands
       still (owner, 2026-09-09) */
    animation: live-now-pulse 1.6s ease-out infinite;
}
@keyframes live-now-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(232, 65, 36, 0.55);
    }
    100% {
        box-shadow: 0 0 0 10px rgba(232, 65, 36, 0);
    }
}
.live-timeline__heading {
    text-align: center;
    text-transform: uppercase;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: -0.02em;
    color: #9aa1a7;
    /* The card around it carries the spacing (owner, 2026-09-07) */
    padding: 0;
}

/* PWA install prompt: bottom bar with the app icon; hidden by default,
   custom.js shows it (Chromium: install button, iOS: instructions).
   On DESKTOP the bar sits in the MIDDLE of the line (owner, 2026-09-08),
   with the "Любими" pill keeping its own right corner; the width cap below
   is what keeps the two apart. On a phone they stack, the pill on top (see
   the 991px block below). */
.pwa-install {
    position: fixed;
    /* The width below is the whole bar, borders and padding included -
       the theme does not set border-box globally */
    box-sizing: border-box;
    left: 50%;
    transform: translateX(-50%);
    /* Default only - custom.js lifts the bar above the fixed
       .footer-secondary tournaments strip when one is on the page */
    bottom: 16px;
    z-index: 1050;
    display: flex;
    align-items: center;
    gap: 12px;
    /* 60% of the line, centred (owner, 2026-09-08); the phone block below
       gives it the full width back */
    width: 60%;
    padding: 12px 14px;
    background: #111;
    color: #fff;
    /* Brand green frame (owner, 2026-10-04) */
    border: 1px solid #039049;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}
.pwa-install[hidden] {
    display: none;
}
.pwa-install__icon {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    flex-shrink: 0;
    object-fit: contain;
    background: #fff;
}
.pwa-install__body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}
.pwa-install__lines {
    flex: 1 1 auto;
    min-width: 0;
}
.pwa-install__title {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 15px;
}
.pwa-install__text {
    font-size: 12px;
    line-height: 1.2;
}
.pwa-install__share {
    width: 15px;
    height: 15px;
    vertical-align: -3px;
    /* Same yellow as the button - it was the only green left in the bar */
    color: #fdc90b;
}
.pwa-install__button {
    display: inline-block;
    flex: 0 0 auto;
    border: 0;
    border-radius: 4px;
    padding: 5px 10px;
    /* Brand green with white text, like the bar's frame (owner,
       2026-10-04) */
    background: #039049;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
}
.pwa-install__button:hover,
.pwa-install__button:focus {
    background: #027a3e;
    color: #fff;
}
/* The explicit display rules above must not defeat the hidden attribute */
.pwa-install [hidden] {
    display: none !important;
}
/* Wide desktop (lg): half the line is enough for the same content
   (owner, 2026-09-08); md keeps the 60% above. */
@media (min-width: 1200px) {
    .pwa-install {
        width: 50%;
    }
}
/* Phone (the project's own mobile breakpoint, 991px): the bar runs the
   full width with the app icon, the name and the button (owner,
   2026-09-07 - there is room for all three). The "Любими" pill is not
   beside it but above it, so nothing is reserved on the right; only the
   descriptive line goes, the name says the same in fewer words. */
@media (max-width: 991px) {
    .pwa-install {
        width: calc(100% - 30px);
    }
    .pwa-install__text--desc {
        display: none;
    }
}
/* Red circle peeking over the banner's top-right corner */
.pwa-install__close {
    position: absolute;
    top: -12px;
    right: -10px;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 50%;
    background: #e74c3c;
    color: #fff;
    font-size: 16px;
    line-height: 28px;
    text-align: center;
    padding: 0;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}
.pwa-install__close:hover {
    background: #c0392b;
}

/* City 6/6 column and team fixtures: league-style rows without the
   compact hover-swap. Give teams more room when officials are hidden. */
.widget-results--wide .widget-results__team--first,
.widget-results--wide .widget-results__team--second {
    width: 28%;
}
.widget-results--wide .fixture-time {
    width: 12%;
}

/* Full squad table: 14 columns need tighter header padding than the
   generic 1.2em rule or the row wraps and the layout breaks. */
.full-squad-widget .team-roster-table__header {
    padding: 0.55em 0.35em !important;
    white-space: nowrap;
}
.full-squad-widget .team-leader__player {
    white-space: nowrap;
}
.full-squad-widget .team-leader__player-info {
    display: block;
}


/* Filter selects (round, team, event, stat pickers): styled like the
   outline header button and self-submitting on change (custom.js) -
   the "Промени" buttons are gone (owner, 2026-09-05) */
.team-result-filter__item select.form-control {
    height: 26px;
    padding: 0 24px 0 10px;
    border: 1px solid #dbdfe6;
    border-radius: 2px;
    color: #9a9da2;
    background: transparent url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5'%3E%3Cpath fill='%239a9da2' d='M0 0h8L4 5z'/%3E%3C/svg%3E") no-repeat right 8px center;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
    transition: color 0.2s ease, border-color 0.2s ease;
}
.team-result-filter__item select.form-control:hover,
.team-result-filter__item select.form-control:focus {
    border-color: #9a9da2;
    color: #31404b;
    outline: none;
    box-shadow: none;
}
.team-result-filter__item select.form-control::-ms-expand {
    display: none;
}
/* Standings widget: group titles of a group tournament */
/* The group heading: a band on the theme's yellow, centred and larger,
   so the start of a group is plain to see (owner, 2026-10-05) */
.widget-standings__group {
    margin: 14px 0 0;
    padding: 7px 10px;
    background: #ffd84a;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #3c3f44;
}
.widget-standings__group:first-child {
    margin-top: 0;
}
/* The header row of every standings table (# | Отбор | Т) on #f9f9f9 - the
   widget and the full standing page alike (owner, 2026-10-05) */
.table-standings > thead > tr > th {
    background-color: #f9f9f9;
}

/* Header primary bar in the theme green (owner, 2026-09-05) */
.header__primary-inner {
    background-color: #039049;
}

/*
 * Favorite teams (Stage 1, item 6). The star buttons, the highlighted
 * rows, the bottom-bar entry, the city page strip and the "Моите отбори"
 * page. Gold = the theme's #fdc90b, the same as the strip separators.
 */
/* Star button: icon only by default; gold when the team is a favorite */
.fav-star {
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
    color: #b7bcc4;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    vertical-align: middle;
    transition: color 0.15s ease, transform 0.15s ease;
}
.fav-star:hover,
.fav-star:focus {
    color: #fdc90b;
    outline: none;
}
.fav-star.is-on {
    color: #fdc90b;
}
.fav-star:active {
    transform: scale(1.2);
}
/* Team heading (desktop): the star right before the team name */
.team-heading__fav {
    display: inline-block;
    margin-right: 12px;
    vertical-align: middle;
}
.team-heading__fav .fav-star {
    font-size: 26px;
    color: rgba(255, 255, 255, 0.7);
    vertical-align: middle;
}
.team-heading__fav .fav-star:hover,
.team-heading__fav .fav-star:focus,
.team-heading__fav .fav-star.is-on {
    color: #fdc90b;
}
/* Team submenu (phones/tablets): the star at the left of the active tab */
.content-filter__item {
    position: relative;
}
.content-filter__fav {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}
.content-filter__fav .fav-star {
    font-size: 20px;
}
/* Standings row (full table and the sidebar widget): star before the name */
.fav-star--row {
    float: left;
    margin: 6px 6px 0 0;
    font-size: 15px;
}
/* Teams list: top-right corner of the card, above the card link */
.teams-ful-listing .gallery__item {
    position: relative;
}
.fav-star--card {
    position: absolute;
    top: 10px;
    right: 25px;
    z-index: 2;
    font-size: 20px;
    color: #c7ccd3;
}
/* Highlighted rows: gold edge and a faint tint (standings and match lists) */
tr.fav-row > td {
    background-color: rgba(253, 201, 11, 0.12) !important;
}
tr.fav-row > td:first-child {
    box-shadow: inset 4px 0 0 #fdc90b;
}
li.fav-row,
.gallery__item.fav-row .gallery__item-inner {
    box-shadow: inset 4px 0 0 #fdc90b;
    background-color: rgba(253, 201, 11, 0.08);
}
/* Floating "Любими" button above the bottom strip (custom.js sets the
   bottom offset: strip + install bar). Pulses while nothing is chosen. */
.fav-fab {
    position: fixed;
    right: 15px;
    bottom: 70px;
    z-index: 98;
    display: inline-flex;
    align-items: center;
    height: 40px;
    padding: 0 16px 0 14px;
    border-radius: 20px;
    background: #fdc90b;
    color: #1a1a1a !important;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
    transition: background 0.15s ease, transform 0.15s ease;
}
.fav-fab:hover,
.fav-fab:focus {
    background: #ffd84a;
    color: #1a1a1a;
    text-decoration: none;
    transform: translateY(-1px);
}
.fav-fab .fa {
    font-size: 16px;
    margin-right: 7px;
}
.fav-fab__count {
    display: inline-block;
    min-width: 18px;
    height: 18px;
    line-height: 18px;
    margin-left: 8px;
    border-radius: 9px;
    background: #1a1a1a;
    color: #fdc90b;
    font-size: 11px;
    text-align: center;
    padding: 0 5px;
}
@keyframes fav-fab-pulse {
    0% {
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3), 0 0 0 0 rgba(253, 201, 11, 0.7);
    }
    70% {
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3), 0 0 0 14px rgba(253, 201, 11, 0);
    }
    100% {
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3), 0 0 0 0 rgba(253, 201, 11, 0);
    }
}
.fav-fab--pulse {
    animation: fav-fab-pulse 1.8s ease-out infinite;
}
@media (prefers-reduced-motion: reduce) {
    .fav-fab--pulse {
        animation: none;
    }
}
/* A tournament of a favorite team in the strip: the buttons are red,
   a favorite one is theme yellow with dark text (owner, 2026-10-04) */
.tournaments-nav .footer-nav__item.fav-active > a,
.tournaments-nav .footer-nav__item.fav-active > a:hover,
.tournaments-nav .footer-nav__item.fav-active > a:focus {
    background: #fdc90b;
    color: #1a1a1a;
}
/* Toast (the limit message) and the first-time hint */
.fav-toast {
    position: fixed;
    left: 50%;
    bottom: 80px;
    transform: translateX(-50%);
    z-index: 1000;
    max-width: 90%;
    background: #1a1a1a;
    color: #fff;
    padding: 12px 18px;
    border-radius: 6px;
    border-left: 4px solid #fdc90b;
    font-size: 13px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}
.fav-toast a {
    color: #fdc90b;
    font-weight: 700;
    margin-left: 8px;
}
.fav-hint {
    display: inline-block;
    margin: 8px 0 0;
    padding: 8px 12px;
    background: #fdc90b;
    color: #1a1a1a;
    border-radius: 4px;
    font-size: 12px;
    max-width: 320px;
    text-align: left;
    line-height: 1.4;
    position: relative;
}
.fav-hint::before {
    content: "";
    position: absolute;
    top: -6px;
    left: 20px;
    border: 6px solid transparent;
    border-top: 0;
    border-bottom-color: #fdc90b;
}
/* Postponed matches (owner, 2026-10-02): a block of their own on top of
   the fixtures widget, above the tabs like the live block - a red title
   band, a light red tint on the rows (no bar: the bar means live) and
   "Отложен" in place of the kick-off time, the round under it where the
   time cell carries the playground otherwise */
.widget-results__postponed-list {
    border-bottom: 1px solid #e4e7ed;
}
.widget-results__title--postponed {
    color: #e84124;
}
.widget-results__item--postponed > .widget-results__content {
    background-color: rgba(232, 65, 36, 0.06);
}
.widget-results__postponed-label {
    color: #e84124;
    font-weight: bold;
}
.widget-results__round {
    color: #9a9da2;
}
/* The match page of a postponed match: "Отложен" where the date goes */
.game-result__date--postponed {
    color: #e84124;
    font-weight: bold;
}
/* Yellow "Моите мачове" title inside the fixtures widget (favorites first) */
.widget-results__title--fav {
    color: #b8900a;
}
.widget-results__title--fav .fa {
    color: #fdc90b;
    margin-right: 4px;
}
/* Favorites page: the lists grow with "Виж още", no inner scroller */
.widget-results--no-scroll .widget-results__scroll {
    max-height: none;
    overflow: visible;
}
.widget-results__more-wrap {
    text-align: center;
    padding: 4px 10px 10px 10px;
}

/* Outline buttons ("Виж всички", "Детайли", "Виж още") in the site green
   (owner, 2026-09-08 - the colour was mobile only until then) */
.btn-outline.btn-default {
    border-color: #039049;
    color: #039049;
}
/* On hover the outline fills with the same green and the text turns white
   (owner, 2026-09-08); the theme filled it grey */
.btn-outline.btn-default:hover,
.btn-outline.btn-default:focus,
.btn-outline.btn-default:active,
.btn-outline.btn-default.active {
    background-color: #039049;
    border-color: #039049;
    color: #fff;
}
.btn-outline.btn-default:hover.btn-circle {
    background-color: #039049;
}

/* Full width only for the "Виж още" button of the fixtures/results widget
   (owner, 2026-09-08); everywhere else the outline buttons keep their own
   width */
.widget-results__more-wrap .btn-outline.btn-default {
    width: 100%;
}
.fav-heading__icon {
    color: #fdc90b;
}
.fav-empty .card__content {
    text-align: center;
    padding: 30px 20px;
}
.fav-empty__title {
    margin-bottom: 10px;
}
.fav-empty__title .fa {
    color: #fdc90b;
    margin-right: 6px;
}
.fav-empty p {
    max-width: none;
    margin: 0;
    font-size: 1.3rem;
    line-height: 1.6;
}
/* A copy of an empty slot inside the sentence (the icon to press) */
.fav-empty__slot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin: 0 3px;
    vertical-align: -6px;
    border: 1px dashed #c7ccd3;
    border-radius: 50%;
    background: #f7f8fa;
    color: #b1b6bd;
    font-size: 10px;
}
.fav-project__empty {
    font-size: 12px;
    color: #9a9da2;
    margin: 0;
}
/* Slots: one row of placeholders - the chosen teams and an empty box for
   every free slot; the picker opens right under the row (owner, 2026-09-07) */
.fav-slots__count {
    float: right;
    font-size: 11px;
    color: #9a9da2;
    font-weight: 400;
}
.fav-slots .card__content {
    padding: 14px 10px !important;
}
.fav-slots__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
}
.fav-slot {
    flex: 1 1 20%;
    min-width: 0;
    padding: 0 3px;
    position: relative;
    display: flex;
    justify-content: center;
}
.fav-slot__team {
    display: block;
    width: 100%;
    min-width: 0;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 9px;
    line-height: 1.3;
    color: #31404b;
    text-transform: uppercase;
    text-align: center;
}
.fav-slot__team img {
    display: block;
    width: 46px;
    height: 46px;
    object-fit: contain;
    margin: 0 auto 5px;
}
.fav-slot__team span {
    display: block;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* Removing: a cross in a circle at the top right corner of the slot, not
   a star (owner, 2026-09-09) */
.fav-slot .fav-star--remove {
    position: absolute;
    top: -4px;
    right: 2px;
    z-index: 2;
    width: 18px;
    height: 18px;
    padding: 0;
    border-radius: 50%;
    background: #c0392b;
    color: #fff;
    font-size: 10px;
    line-height: 18px;
    text-align: center;
    box-shadow: 0 0 0 2px #fff;
}
.fav-slot .fav-star--remove:hover,
.fav-slot .fav-star--remove:focus {
    background: #a93226;
    color: #fff;
}
/* An empty slot carries "Отбор N" where the chosen team's name will stand
   (owner, 2026-09-09): icon -> logo, "Отбор N" -> the name */
.fav-slot--empty {
    flex-direction: column;
    align-items: center;
}
.fav-slot__label {
    display: block;
    width: 100%;
    margin-top: 5px;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 9px;
    line-height: 1.3;
    color: #b1b6bd;
    text-transform: uppercase;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* The empty box: same size and place as a logo, so the row reads as five
   equal slots; clicking it opens the picker */
.fav-slot__add {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 1px dashed #c7ccd3;
    border-radius: 50%;
    background: #f7f8fa;
    color: #b1b6bd;
    font-size: 15px;
    transition: all 0.15s ease;
}
.fav-slot__add:hover,
.fav-slot__add:focus {
    border-color: #fdc90b;
    background: #fff8e1;
    color: #fdc90b;
    outline: none;
}
.fav-slot--empty.is-open .fav-slot__add {
    border-style: solid;
    border-color: #fdc90b;
    background: #fdc90b;
    color: #31404b;
}
/* The picker: one search field for all the free slots */
.fav-picker {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #e4e7ed;
}
.fav-picker__field {
    display: flex;
    align-items: center;
    padding: 0 8px;
    border: 1px solid #e4e7ed;
    border-radius: 4px;
    background: #fff;
}
.fav-picker__field:focus-within {
    border-color: #fdc90b;
}
.fav-picker__icon {
    color: #9a9da2;
    margin-right: 8px;
}
.fav-picker__input {
    flex: 1;
    min-width: 0;
    height: 36px;
    border: 0;
    outline: none;
    background: transparent;
    font-size: 13px;
}
.fav-picker__close {
    padding: 4px 2px;
    border: 0;
    background: transparent;
    color: #9a9da2;
    font-size: 14px;
}
.fav-picker__close:hover {
    color: #c0392b;
}
.fav-picker__dropdown {
    list-style: none;
    margin: 6px 0 0;
    padding: 0;
    max-height: 240px;
    overflow-y: auto;
    border: 1px solid #e4e7ed;
    border-radius: 4px;
    background: #fff;
}
.fav-picker__option {
    display: flex;
    align-items: center;
    padding: 7px 10px;
    cursor: pointer;
    font-size: 12px;
    color: #31404b;
}
.fav-picker__option:hover,
.fav-picker__option.is-active {
    background: rgba(253, 201, 11, 0.15);
}
.fav-picker__option img {
    width: 24px;
    height: 24px;
    object-fit: contain;
    margin-right: 8px;
    flex: 0 0 24px;
}
.fav-picker__none {
    margin: 6px 0 0;
    font-size: 11px;
    color: #9a9da2;
}
/* Phones/tablets: the slots card is relocated on top of the page; the row
   keeps its five columns, only the boxes grow to a comfortable tap size */
@media (max-width: 991px) {
    .fav-slots .card__content {
        padding: 14px 8px !important;
    }
    .fav-slot__team img,
    .fav-slot__add {
        width: 52px;
        height: 52px;
    }
    .fav-slot .fav-star--remove {
        width: 20px;
        height: 20px;
        line-height: 20px;
        font-size: 11px;
    }
}
@media (max-width: 400px) {
    .fav-slot__team img,
    .fav-slot__add {
        width: 42px;
        height: 42px;
    }
    .fav-slot__add {
        font-size: 13px;
    }
}
/* Circular gauges without a canvas (perf audit, 2026-09-09): init.js puts
   the percent and the two colours into custom properties and the ring is a
   conic gradient cut to the plugin's line width (8 of 90 = ~18% of the
   radius), square-capped like the plugin's. The number stays where it was. */
.circular__bar--css::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: conic-gradient(var(--circular-bar, #039049) 0 var(--circular-percent, 0%), var(--circular-track, #ecf0f6) var(--circular-percent, 0%) 100%);
    -webkit-mask: radial-gradient(farthest-side, transparent 81.5%, #000 82.5%);
    mask: radial-gradient(farthest-side, transparent 81.5%, #000 82.5%);
}
/* Notifications (owner, 2026-09-09): a thin button under the slots row
   opens a popup in the shape of the cookie one. Until the notifications
   are on the button pulses and its arrow slides left and right; on, the
   arrow gives way to a gear and everything stands still. */
.fav-push-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin-top: 12px;
    padding: 5px 10px;
    border: 1px solid #039049;
    border-radius: 3px;
    background: #039049;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.7;
    text-transform: uppercase;
    letter-spacing: .05em;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease;
}
.fav-push-btn:hover,
.fav-push-btn:focus {
    background: #027a3d;
    border-color: #027a3d;
    outline: none;
}
.fav-push-btn .fa {
    font-size: 12px;
    color: #fff;
}
/* Without a favorite there is nothing to follow: the button waits, still,
   with a tooltip that says what to do (owner, 2026-09-09). Not the
   disabled attribute - a disabled button gets no mouse events, so its
   tooltip would never show. */
.fav-push-btn.is-disabled {
    background: #eef1f4;
    border-color: #eef1f4;
    color: #4a5762;
    cursor: not-allowed;
    animation: none;
}
.fav-push-btn.is-disabled .fa {
    color: #4a5762;
}
.fav-push-btn.is-disabled .fav-push-btn__arrow {
    animation: none;
}
.fav-push-btn__gear,
.fav-push-btn__spin {
    display: none;
}
/* Asking the browser and the server takes a moment: grey, still, with a
   spinner in place of the arrow, and no second tap (owner, 2026-09-09) */
.fav-push-btn.is-busy {
    background: #eef1f4;
    border-color: #eef1f4;
    color: #31404b;
    cursor: wait;
    animation: none;
}
.fav-push-btn.is-busy .fa {
    color: #31404b;
}
.fav-push-btn.is-busy .fav-push-btn__arrow,
.fav-push-btn.is-busy .fav-push-btn__gear {
    display: none;
}
.fav-push-btn.is-busy .fav-push-btn__spin {
    display: inline-block;
}
.fav-push-btn--off {
    animation: fav-push-pulse 2s ease-in-out infinite;
}
.fav-push-btn--off .fav-push-btn__arrow {
    animation: fav-push-arrow 1.2s ease-in-out infinite;
}
/* On: very light grey and still, dark text and gear; "Известия" opens
   the settings (owner, 2026-09-09) */
.fav-push-btn--on {
    background: #eef1f4;
    border-color: #e4e7ed;
    color: #31404b;
}
.fav-push-btn--on .fa {
    color: #31404b;
}
.fav-push-btn--on:hover,
.fav-push-btn--on:focus {
    background: #e4e7ed;
    border-color: #d8dde3;
}
.fav-push-btn--on .fav-push-btn__arrow {
    display: none;
}
.fav-push-btn--on .fav-push-btn__gear {
    display: inline-block;
}
@keyframes fav-push-pulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(3, 144, 73, .6);
    }
    50% {
        box-shadow: 0 0 0 7px rgba(3, 144, 73, 0);
    }
}
@keyframes fav-push-arrow {
    0%, 100% {
        transform: translateX(-4px);
    }
    50% {
        transform: translateX(4px);
    }
}
@media (prefers-reduced-motion: reduce) {
    .fav-push-btn--off,
    .fav-push-btn--off .fav-push-btn__arrow {
        animation: none;
    }
}
/* Inside the popup (the card's own type comes from the cookie modal) */
.fav-push-modal .ck__title .fa {
    color: #fdc90b;
}
.fav-push-modal .fav-push__message--warn {
    margin-top: 12px;
    padding: 10px 12px;
    background: #fff8e1;
    border-left: 3px solid #fdc90b;
    font-size: 12.5px;
}
.fav-push-modal .fav-push__on {
    margin-top: 14px;
    color: #039049;
    font-weight: 700;
    font-size: 13px;
}
/* The kinds as rows with a drawn checkbox: 22px, green when ticked
   (owner, 2026-09-09) */
.fav-push-modal .fav-push__type {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 10px 0;
    border-bottom: 1px solid #e4e7ed;
    font-weight: 500;
    font-size: 14px;
    color: #31404b;
    cursor: pointer;
}
.fav-push-modal .fav-push__type:last-child {
    border-bottom: 0;
}
.fav-push-modal .fav-push__type input {
    -webkit-appearance: none;
    appearance: none;
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    margin: 0;
    border: 2px solid #c7ccd3;
    border-radius: 5px;
    background: #fff;
    position: relative;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease;
}
.fav-push-modal .fav-push__type input::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 2px;
    width: 6px;
    height: 11px;
    border: solid #fff;
    border-width: 0 2.5px 2.5px 0;
    transform: rotate(45deg) scale(0);
    transition: transform .15s ease;
}
.fav-push-modal .fav-push__type input:checked {
    background: #039049;
    border-color: #039049;
}
.fav-push-modal .fav-push__type input:checked::after {
    transform: rotate(45deg) scale(1);
}
.fav-push-modal .fav-push__type:hover input {
    border-color: #039049;
}
.fav-push-modal .fav-push__type input:focus-visible {
    outline: 2px solid #fdc90b;
    outline-offset: 2px;
}


/* ------------------------------------------------------------------
   Mobile compaction pass (owner request, 2026-09-06)
   Every rule below is mobile-only (the same <= 991px breakpoint the
   theme uses to switch to .header-mobile). The screen is short, so the
   header, the cards and the list rows all lose the desktop air.
   ------------------------------------------------------------------ */
@media (max-width: 991px) {
    /* Header: shorter bar, bigger logo inside it */
    .header-mobile__inner {
        height: 80px;
    }
    .header-mobile__logo-img {
        width: auto;
        height: 85px;
    }
    /* Banners: equal 10px of air above and below */
    .banner {
        padding-bottom: 10px;
    }

    /* Content column sits flush - the cards bring their own spacing */
    .site-content {
        padding: 0;
    }

    /* Cards */
    .card {
        margin-bottom: 10px;
    }
    .card__header {
        padding: 10px;
        padding-left: 20px;
    }
    .card__header--has-filter {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    /* Title left, filter right on the same row */
    .card__header > h4 {
        float: left;
    }
    .category-filter {
        float: right;
    }
    .card__header--has-filter .category-filter {
        padding-top: 0px;
    }

    /* Fixtures/results rows */
    .widget-results__content {
        padding: 0.3em 0.3em;
    }

    /* News lists: full-bleed rows with a tighter rhythm */
    .card .posts--simple-list-condensed .posts__item {
        padding-bottom: 10px;
        margin-bottom: 5px;
    }
    .card .posts--simple-list .posts__item {
        border-bottom: 1px solid #e4e7ed;
        margin-left: -10px;
        margin-right: -10px;
        padding-left: 0px;
        padding-right: 0px;
        padding-bottom: 20px;
        margin-bottom: 10px;
    }
}

/* Sponsor logos (all breakpoints): the theme's 0.2 opacity made them
   read as disabled - 0.8 keeps the muted look but stays legible */
.sponsors__item > a {
    opacity: 0.8;
}

/* ------------------------------------------------------------------
   Mobile pass 2 (owner request, 2026-09-06)
   ------------------------------------------------------------------ */

/* Fixture rows: the middle column repeats the kick-off time and the pitch
   that the first column already carries. On mobile it collapses to a
   plain "vs" between the two crests; desktop keeps time + pitch. */
.widget-results__vs {
    display: none;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    text-transform: lowercase;
    color: #9a9da2;
}

@media (max-width: 991px) {
    .widget-results__vs {
        display: block;
    }
    .widget-results__kickoff,
    .widget-results__place {
        display: none;
    }

    /* Footer widgets: the 60px tail under each one is desktop air */
    .widget--footer {
        margin-bottom: 0px;
    }

    /* Filter bar: a bigger toggle that clears the card header */
    .content-filter__toggle {
        top: 5px;
        z-index: 2;
        width: 50px;
        height: 50px;
    }
    .content-filter__link {
        padding: 10px 10px 15px 10px;
    }

    /* Burger sits higher and closer to the edge in the 80px header */
    .burger-menu-icon {
        top: 30px;
        left: 30px;
    }
}

/* ------------------------------------------------------------------
   Mobile menu drawer (owner request, 2026-09-06)
   ------------------------------------------------------------------ */
@media (max-width: 991px) {
    /* The logo init.js clones into the drawer sits tighter */
    .main-nav .header-mobile__logo {
        padding: 5px 0 10px 0;
    }
    /* Row separators a shade lighter than the theme's #292c31 */
    .main-nav .main-nav__list > li > a {
        border-bottom: 1px solid #444;
    }
    /* The dropdown arrow, against the shorter rows */
    .main-nav__toggle {
        top: 4px;
    }
    /* Regions block: no tail under the last row of tiles */
    .main-nav__list li:hover > .cities {
        padding: 10px;
    }
}

/* Every dropdown row in the main nav (regions, rules, rankings) marks
   hover with the theme yellow (owner decision 2026-09-06). Drawn as an
   inset shadow rather than a border so it never moves the row and never
   fights the separators the theme puts on these anchors. All
   breakpoints - on a phone it doubles as the tap feedback. */
.main-nav__list .main-nav__megamenu > ul > li > a {
    transition: box-shadow 0.2s ease, color 0.3s ease;
}
.main-nav__list .main-nav__megamenu > ul > li > a:hover,
.main-nav__list .main-nav__megamenu > ul > li > a:focus {
    box-shadow: inset 0 -2px 0 #fdc90b;
}

/* ------------------------------------------------------------------
   Page pass (owner review, 2026-09-06)
   ------------------------------------------------------------------ */
@media (max-width: 991px) {
    /* Card headers: the title left, everything else (the "see all" and
       "details" buttons, the category filter) right */
    .card__header a {
        float: right;
    }
    .card__header > h4 {
        font-size: 15px;
        line-height: 1.7em;
    }

    /* Post titles are no longer clipped to two lines */
    .posts--simple-list .posts__title {
        height: auto;
    }

    /* Listing thumbs (news, press, partners) share one height. The theme
       stretches them to the box, so object-fit keeps them from squashing.
       Rules has no thumb at all - its figure is commented out. */
    .listing-news,
    .post-grid .posts__thumb,
    .posts__thumb-list {
        height: 150px;
    }
    .listing-news img,
    .post-grid .posts__thumb img,
    .posts__thumb-list img {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }
    .posts__cat {
        margin-top: 8px;
    }

    /* News / press / rule / partner detail pages: the lead image */
    .post--single > .posts__thumb {
        height: 300px;
    }
    .post--single > .posts__thumb img {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }

    /* Contacts: the card runs edge to edge apart from the text inset */
    .contacts-page .card__content {
        padding: 15px 15px;
    }

    /* Archive: the season cards become rows - a small icon on the left
       (a quarter of the old 13em box) and the name beside it, left
       aligned. Scoped away from league/teams, which shares
       .teams-ful-listing but keeps its crest tiles. */
    .archive-listing .gallery__item {
        height: auto;
    }
    .archive-listing .gallery__item-inner {
        overflow: hidden;
    }
    .archive-listing .gallery__thumb {
        float: left;
        width: 16.66%;
        height: 3.25em;
    }
    .archive-listing .gallery__thumb img {
        padding: 8px;
    }
    .archive-listing .gallery__content {
        float: left;
        width: 83.33%;
        text-align: left;
    }
    .archive-listing .card__content {
        padding: 8px 10px;
    }
    .archive-listing .gallery__date {
        padding: 0;
    }
}

/* ------------------------------------------------------------------
   Forms, card content and the city filter (owner review, 2026-09-06)
   ------------------------------------------------------------------ */
@media (max-width: 991px) {
    /* Card bodies site-wide; .card--clean (0) and .contacts-page (15px)
       carry their own values and outrank this one */
    .card__content {
        padding: 14px 24px;
    }

    /* The contact form is the only form on the front end */
    .form-group {
        padding: 0px;
        margin-bottom: 10px;
        font-size: 13px;
    }

    /* The map under the contact form */
    .gm-map--lg {
        min-height: 0px;
    }

    /* City page, "Актуално": the category filter chips */
    .category-filter__link {
        padding: 4px 6px;
    }
}

/* ------------------------------------------------------------------
   League, match and widget trim (owner review, 2026-09-06)
   ------------------------------------------------------------------ */
/* The league overview used to carry this as an inline style, which no
   rule could override - it is a class now so mobile can trim it */
.site-content--league {
    padding-top: 20px;
}
/* The team page carried the same inline style, for the same reason
   (owner, 2026-09-08) */
.site-content--team {
    padding-top: 20px;
}

@media (max-width: 991px) {
    .site-content--league,
    .site-content--team {
        padding-top: 10px;
    }

    /* Standing page: the card header keeps the group name alone */
    .standing-label {
        display: none;
    }

    /* Round / team filter in a card header */
    .team-result-filter {
        float: right;
    }
    .team-result-filter__item {
        padding: 0;
    }

    /* Sidebar lists sit flush with their card body */
    .widget__list {
        margin-top: -10px;
        margin-bottom: -10px;
    }

    /* Match page: the result block and its timeline */
    .game-result__header--alt {
        margin-top: 0px;
    }
    .game-result__content {
        margin: 0 0 20px 0;
    }
    .df-timeline {
        padding-bottom: 0px;
    }
    .df-timeline__event {
        margin-bottom: 10px;
    }
}

/* ------------------------------------------------------------------
   Forms, match page and the fixtures filter (owner review, 2026-09-06)
   ------------------------------------------------------------------ */
/* The match pages carried their top padding as an inline style, which no
   rule could override - a class instead, so mobile can trim it */
.site-content--match {
    padding-top: 20px;
}

/* League fixtures page: the round and team pickers sit under the title,
   side by side, on every width. The generic .team-result-filter floats
   right (it shares a row with the title elsewhere) - this page does not. */
.league-fixtures-filter {
    clear: both;
    width: 100%;
}
.league-fixtures-filter .team-result-filter {
    float: none;
    display: flex;
    width: 100%;
    margin: 8px 0 0 0;
    padding: 0;
    list-style: none;
}
.league-fixtures-filter .team-result-filter__item {
    width: 50%;
    padding: 0 4px;
}
.league-fixtures-filter .team-result-filter__item:first-child {
    padding-left: 0;
}
.league-fixtures-filter .team-result-filter__item:last-child {
    padding-right: 0;
}
.league-fixtures-filter .team-result-filter__item select {
    width: 100%;
}
/* The title above them takes the whole row */
.card__header .league-fixtures-filter,
.card__header--has-btn > h4 + .league-fixtures-filter {
    float: none;
}

@media (max-width: 991px) {
    .site-content--match {
        padding-top: 10px;
    }

    /* Form fields */
    .form-control {
        height: 40px;
        padding: 5px 10px;
    }
    .card__header--has-btn > h4 {
        margin-bottom: 0;
    }
    /* Round / team pickers in the site green */
    .team-result-filter__item select.form-control {
        border: 1px solid #039049;
        color: #039049;
    }

    /* Favorites: the counter belongs at the right edge of the header, not
       glued to the title. The title floats left site-wide, which shrank it
       to its text and took the floated counter along. */
    .fav-slots .card__header > h4 {
        float: none;
        display: block;
        overflow: hidden;
    }

    /* Match page: the scoreboard block and the head-to-head balance card */
    .game-result__content {
        margin: 0;
    }
    .card--dominance > .card__content {
        padding: 0px;
    }
    .card__subheader {
        margin-top: -29px;
    }
    /* Match page (owner, 2026-09-06): the "Основна информация" and
       „Надмощие" strips sit 15px into the card on phones */
    .card__subheader--flush,
    .card--dominance .card__subheader {
        margin-top: -15px;
    }
    /* The card loses its gutters on phones, so the strip has nothing to
       bleed into - it stays inside the card */
    .card--dominance .card__subheader {
        margin-left: 0;
        margin-right: 0;
    }
}

@media (max-width: 991px) {
    /* Favorites: the slot counter reads as a value, not a caption */
    .fav-slots__count {
        font-weight: 600;
    }
}

@media (max-width: 991px) {
    /* Floating "Любими" button: once at least one team is chosen the
       wording goes and the star plus the counter carry the meaning.
       custom.js puts .fav-fab--has-picks on for count > 0. */
    .fav-fab--has-picks .fav-fab__label {
        display: none;
    }
    .fav-fab--has-picks .fa {
        margin-right: 0;
    }
}

/* Installed app (PWA standalone): a floating back circle bottom left,
   facing the "Любими" pill on the right. Same bottom offset maths as
   .fav-fab - custom.js keeps both above the tournaments strip and the
   install bar. Bottom left because the header corner is unreachable
   one-handed on a big phone; black with a yellow arrow, the inverse of
   the yellow "Любими" pill (owner, 2026-09-06). */
.back-fab {
    position: fixed;
    left: 15px;
    bottom: 70px;
    z-index: 98;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #1a1a1a;
    color: #fdc90b;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
    cursor: pointer;
    transition: background 0.15s ease, transform 0.15s ease;
}
.back-fab[hidden] {
    display: none;
}
.back-fab:hover,
.back-fab:focus {
    background: #333333;
    color: #fdc90b;
    transform: translateY(-1px);
}
.back-fab .fa {
    font-size: 18px;
    line-height: 1;
}
@media (prefers-reduced-motion: reduce) {
    .back-fab {
        transition: none;
    }
}

/* Fixture row actions (owner, 2026-09-06): the two icons carry their own
   meaning, so they carry their own colour - video red, statistics green. */
.meta-like.icon-social-youtube {
    color: #F70031;
}
.meta-like.icon-pie-chart,
.meta-like.icon-chart {
    color: #039049;
}
a:hover .meta-like.icon-social-youtube,
a:focus .meta-like.icon-social-youtube {
    color: #ff2e57;
}
a:hover .meta-like.icon-pie-chart,
a:focus .meta-like.icon-pie-chart,
a:hover .meta-like.icon-chart,
a:focus .meta-like.icon-chart {
    color: #04b45a;
}

/* Player hero (owner, 2026-09-06): the position left the details grid and
   became a second line of the name block - the big number on the left,
   nickname and position stacked against it on the right. Same type as the
   nickname, so the two read as one pair. */
.player-info__position {
    display: block;
    font-size: 16px;
    line-height: 1em;
    margin-top: 6px;
}
@media (min-width: 992px) {
    .player-info__position {
        font-size: 18px;
    }
}
@media (min-width: 1200px) {
    .player-info__position {
        font-size: 26px;
        margin-top: 8px;
    }
}

/* Player hero on phones (owner, 2026-09-06): goals, assists and matches
   become one full row under height/weight/age, and the two AMFL dials
   share the row below them. */
@media (max-width: 991px) {
    .player-info-stats__item {
        width: 100%;
    }
    .player-info-stats__item--top-padding {
        width: 50%;
    }
    .player-info-stats__item .player-info-details__item--goals,
    .player-info-stats__item .player-info-details__item--assists,
    .player-info-stats__item .player-info-details__item--games {
        flex-basis: 33%;
    }
}

/* Registration/Transfers with more than one tournament for the city
   (owner, 2026-09-06): the tile stops being a link and opens a picker.
   The wrapper takes the grid half the tile used to hold, and the tile
   fills it, so a one-tournament and a many-tournament tile are the same
   size next to each other. */
/* The grid clips its children (overflow: hidden in the theme), which cuts
   the picker off a few pixels below the tile - it has to open outside. */
.widget-social--grid.widget-registration {
    overflow: visible;
}
.widget-social--grid .reg-choice {
    position: relative;
    flex-basis: calc(50% - 5px);
    max-width: calc(50% - 5px);
    margin-bottom: 10px;
}
.widget-social--grid .reg-choice .btn-social-counter {
    display: block;
    width: 100%;
    max-width: none;
    flex-basis: auto;
    margin-bottom: 0;
}
.reg-choice__caret {
    position: absolute;
    top: 50%;
    right: 14px;
    margin-top: -7px;
    font-size: 14px;
    opacity: 0.75;
}
.reg-choice__menu {
    width: 100%;
    min-width: 0;
    margin-top: 2px;
    padding: 4px 0;
}
.reg-choice__menu > li > a {
    padding: 7px 14px;
    font-size: 12px;
    line-height: 1.3em;
    white-space: normal;
}

/* The slider sits straight under the card header, with no gap of its own
   (owner, 2026-09-07). Was phones-only; the theme's 15px top applied on
   desktop and pushed the whole card down. */
.card--clean > .card__content {
    padding: 0;
}

/* The narrow desktop band has the least room of all (owner, 2026-09-07) */
@media (min-width: 992px) and (max-width: 1199px) {
    .main-nav__list > li > a {
        padding: 0 10px;
    }
}

/* ==========================================================================
   Mobile header (owner, 2026-09-06): the logo goes left, the burger right,
   and Registration/Transfers sit between them. The desktop header keeps
   its own arrangement - the navigation trial was reverted on 2026-09-07.
   ========================================================================== */

@media only screen and (max-width: 991px) {
    /* Both of these clip their children in the theme, which cut the
       pickers off, and the header has to paint above the page below it */
    #header-mobile,
    .header-mobile__inner {
        overflow: visible;
    }
    .header-mobile {
        position: relative;
        z-index: 20;
    }
    /* Logo left, burger right, the two actions in between */
    .header-mobile__logo {
        left: 15px;
        transform: none;
    }
    .burger-menu-icon {
        left: auto;
        right: 24px;
    }
    .header-mobile__actions {
        position: absolute;
        z-index: 3;
        top: 10px;
        left: 50%;
        transform: translateX(-38%);
        width: 140px;
        text-align: center;
    }
    .header-mobile__action-wrap + .header-mobile__action,
    .header-mobile__action + .header-mobile__action,
    .header-mobile__action + .header-mobile__action-wrap,
    .header-mobile__action-wrap + .header-mobile__action-wrap {
        margin-top: 6px;
    }
    .header-mobile__action {
        display: block;
        position: relative;
        overflow: hidden;
        padding: 8px 8px;
        border-radius: 3px;
        color: #fff;
        font-family: "Montserrat", sans-serif;
        font-size: 12px;
        font-weight: 700;
        line-height: 1;
        text-transform: uppercase;
        letter-spacing: 0.03em;
    }
    .header-mobile__action:hover,
    .header-mobile__action:focus {
        color: #fff;
        text-decoration: none;
    }
    /* The tiles' own green: it went yellow only because the desktop nav
       bar is #039049 itself, and that trial is gone (2026-09-07) */
    .header-mobile__action--register {
        background-color: #039049;
    }
    .header-mobile__action--transfers {
        background-color: #e84124;
    }
    .header-mobile__action-caret {
        margin-left: 5px;
    }
    /* Same faded ball the tiles carry (.register .fa), scaled to a button */
    .header-mobile__action-bg {
        position: absolute;
        left: -6px;
        top: 50%;
        margin-top: -22px;
        font-size: 44px;
        line-height: 44px;
        opacity: 0.2;
        pointer-events: none;
    }
    .header-mobile__action-menu {
        width: 200px;
        min-width: 0;
        padding: 4px 0;
    }
    .header-mobile__action-menu > li > a {
        padding: 8px 12px;
        font-size: 12px;
        line-height: 1.3em;
        white-space: normal;
    }
    /* A hairline between the tournaments, inset from both edges so it
       reads as a divider and not as a border of the menu */
    .header-mobile__action-menu > li + li > a {
        border-top: 1px solid #e4e7ed;
        margin-left: 12px;
        margin-right: 12px;
        padding-left: 0;
        padding-right: 0;
    }
    /* The tiles in the page body would repeat what the header now
       carries, so on phones only the header shows them */
    .widget-registration {
        display: none;
    }
    /* The drawer's control closes it, so it reads as a cross, and it comes
       off the very edge (owner, 2026-09-07) */
    .main-nav .main-nav__back {
        right: 15px;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M12.7 4.7l-1.4-1.4L8 6.6 4.7 3.3 3.3 4.7 6.6 8l-3.3 3.3 1.4 1.4L8 9.4l3.3 3.3 1.4-1.4L9.4 8z'/%3E%3C/svg%3E");
        background-size: 16px 16px;
    }
}

/* League fixtures page, one list per round (owner, 2026-09-30): no tabs,
   so the pane starts right under the header; an empty round says so. */
.widget-results__merged {
    padding-top: 0;
}
.widget-results__empty {
    margin: 0;
    padding: 20px 10px;
    text-align: center;
    color: #9a9da2;
    font-size: 11px;
}
/* "Почиващи" under the round's matches, part of the programme with the
   same title band as the dates and no gap (owner, 2026-09-30): the
   resting teams as crest + name chips, wrapping as they need to */
.widget-results__resting-list {
    list-style: none;
    margin: 0;
    padding: 10px 10px 4px 10px;
    display: flex;
    flex-wrap: wrap;
}
.widget-results__resting-item {
    margin: 0 6px 6px 0;
}
.widget-results__resting-item a {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px 4px 6px;
    border: 1px solid #e4e7ed;
    border-radius: 14px;
    color: #31404b;
    font-size: 11px;
    line-height: 20px;
    font-weight: 700;
    transition: border-color 0.2s, color 0.2s;
}
.widget-results__resting-item a:hover,
.widget-results__resting-item a:focus {
    border-color: #31404b;
    color: #31404b;
    text-decoration: none;
}
.widget-results__resting-item .widget-results__team-logo {
    width: 20px;
    margin-right: 6px;
}
.widget-results__resting-item .widget-results__team-logo img {
    max-width: 20px;
    max-height: 20px;
}

/* Match page: the "watch video" bar under the main info (owner,
   2026-09-30). YouTube red, a plain link to a new tab. */
.match-video {
    padding-top: 20px;
}
.match-video__bar {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 15px;
    border-radius: 4px;
    background-color: #e62117;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2em;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    transition: background-color 0.2s;
}
.match-video__bar:hover,
.match-video__bar:focus {
    background-color: #c4170f;
    color: #fff;
    text-decoration: none;
}
.match-video__bar .fa {
    font-size: 20px;
    margin-right: 10px;
}

/* The one-off cookie line sits right under the tournaments strip: while it
   is up, custom.js only puts this class on and the strip is lifted from
   here (owner, 2026-09-07 - a fixed 35px, not the measured height of the
   line). The strip keeps its own breakpoint padding while the line is up
   (owner, 2026-10-04). */
.footer-secondary--cookies {
    /* 35px is the one-row line; custom.js measures the real one and writes
       it here, because on a phone the line wraps to two rows and a fixed
       lift left the strip standing on top of it (owner, 2026-09-07) */
    bottom: var(--cookie-line, 35px);
}
.footer-secondary--cookies.footer-secondary--has-decor .footer-secondary__inner,
.footer-secondary--cookies .footer-secondary__inner {
    padding-bottom: 4px;
}

/* Suspensions page ({city}/suspensions, owner 2026-10-02): the current
   suspensions first, the served ones under the band, slightly faded. The
   type is coloured by its kind (yellow cards, red card, a decision) and
   the matches are the outlined [remaining] / [total] pair; an end-date
   suspension shows its end date in the same frame. */
.suspensions-empty {
    margin: 0;
    padding: 20px 10px;
    text-align: center;
    color: #9a9da2;
    font-size: 11px;
}
.suspensions-table .suspensions-band td {
    padding: 8px 10px;
    background-color: #f5f7f9;
    color: #31404b;
    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2em;
    letter-spacing: -0.02em;
    text-transform: uppercase;
}
.suspensions-table .suspension-row--served {
    opacity: 0.55;
}
.suspension-type {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 2px;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4em;
    text-transform: uppercase;
    white-space: nowrap;
}
.suspension-type--yellow {
    background-color: #e5b100;
}
.suspension-type--red {
    background-color: #e62117;
}
.suspension-type--manual {
    background-color: #31404b;
}
.suspension-matches {
    display: inline-block;
    min-width: 54px;
    padding: 2px 8px;
    border: 1px solid #dbdfe6;
    border-radius: 2px;
    font-weight: 700;
    white-space: nowrap;
}
.suspension-matches--served {
    border-color: transparent;
    color: #24d9b0;
}
