/* Акцент проекта moments.maxi.events */
:root {
    --mc1: #5236AF;
}

/* Уведомление о cookie (низ экрана) */
.moments-cookie-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10050;
    padding: 1rem 0;
    background: color-mix(in srgb, var(--bbc) 92%, transparent);
    border-top: 1px solid var(--border-color);
    box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.12);
    backdrop-filter: blur(8px);
    transform: translateY(100%);
    opacity: 0;
    transition: transform 0.35s ease, opacity 0.35s ease;
    pointer-events: none;
}

.moments-cookie-banner--visible {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}

.moments-cookie-banner__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 1.5rem;
}

.moments-cookie-banner__text {
    flex: 1;
    min-width: min(100%, 260px);
}

.moments-cookie-banner__title {
    margin: 0 0 0.35rem;
    font-family: var(--hff);
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--hc);
}

.moments-cookie-banner__desc {
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
    color: var(--bc);
}

.moments-cookie-banner__desc a {
    color: var(--mc1);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.moments-cookie-banner__desc a:hover {
    opacity: 0.85;
}

.moments-cookie-banner__btn {
    flex-shrink: 0;
    margin: 0;
    min-width: 140px;
}

@media (max-width: 575.98px) {
    .moments-cookie-banner__btn {
        width: 100%;
    }
}

/* Переключатель темы: иконки в одном круге (класс fn__svg — без imgToSVG) */
.fn__site_skin .fn__icon .icon {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.stocked_fn_header .fn__logo--header img,
.stocked_fn_mobnav .fn__logo--header img {
    display: block;
    max-height: 70px;
    width: auto;
    max-width: 100%;
}

@media (max-width: 1040px) {
    .stocked_fn_mobnav .fn__logo--header img {
        max-height: 45px;
        height: 45px;
    }
}

.stocked_fn_footer_copyright .fc_left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
/* Залитая акцентом кнопка — белый текст */
a.fn__btn,
button.fn__btn,
.fn__btn {
    color: #fff !important;
}
a.fn__btn:hover,
button.fn__btn:hover,
.fn__btn:hover,
a.fn__btn:focus,
button.fn__btn:focus,
.fn__btn:focus {
    color: #fff !important;
}

/* Активный пункт главного меню */
.stocked_fn_main_nav > li.current-menu-item > a {
    background-color: var(--mc1);
    color: #fff !important;
}
.stocked_fn_main_nav > li.current-menu-item > a:hover {
    color: #fff !important;
    opacity: 0.92;
}

/* Разделы без pagetitle (авторы, теги, подборки) */
.moments-section-list {
    padding-top: 1.5rem;
}

/* Список конкурсов */
.moments-competitions-page {
    padding-bottom: 3rem;
}
.moments-competitions-page__title {
    margin: 0 0 0.75rem;
    font-size: 2rem;
    font-weight: 700;
    font-family: var(--hff);
    color: var(--hc);
}
.moments-competitions-page__lead {
    margin: 0 0 2rem;
    font-size: 1.05rem;
    line-height: 1.55;
    color: var(--bc);
    max-width: 62ch;
}
.moments-competitions-page__subtitle {
    margin: 0 0 1.25rem;
    font-size: 1.125rem;
    font-weight: 700;
    font-family: var(--hff);
    color: var(--hc);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.moments-competitions-page__subtitle--closed {
    margin-top: 2.5rem;
}
.moments-competitions-page__empty {
    color: var(--bc);
    margin: 0 0 1rem;
}
.moments-competition-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem 1.5rem;
    padding: 1.25rem 0;
    border-bottom: 1px solid var(--border-color);
}
.moments-competition-row:first-of-type {
    border-top: 1px solid var(--border-color);
}
.moments-competition-row__body {
    flex: 1;
    min-width: min(100%, 280px);
}
.moments-competition-row__title {
    margin: 0 0 0.5rem;
    font-size: 1.35rem;
    font-weight: 600;
    font-family: var(--hff);
}
.moments-competition-row__title a {
    color: var(--hc);
    text-decoration: none;
}
.moments-competition-row__title a:hover {
    color: var(--mc1);
}
.moments-competition-row__desc {
    margin: 0 0 0.5rem;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--bc);
}
.moments-competition-row__meta {
    margin: 0;
    font-size: 0.9rem;
    color: var(--bc);
}
.moments-competition-row__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: center;
}
.moments-competition-row__actions .fn__btn,
.moments-competition-row__actions .fn__lined_btn {
    margin: 0;
}
.moments-competitions-closed {
    margin: 0;
    padding: 0;
    list-style: none;
}
.moments-competitions-closed li {
    margin-bottom: 0.65rem;
    font-size: 1rem;
}
.moments-competitions-closed a {
    color: var(--hc);
    text-decoration: none;
    font-weight: 500;
}
.moments-competitions-closed a:hover {
    color: var(--mc1);
}
@media (max-width: 767.98px) {
    .moments-competition-row__actions {
        width: 100%;
    }
    .moments-competition-row__actions .fn__btn,
    .moments-competition-row__actions .fn__lined_btn {
        flex: 1 1 auto;
        text-align: center;
    }
}

/* Личный кабинет */
.stocked_fn_cabinet_page .fn__author_info {
    margin-bottom: 3.5rem;
}
.stocked_fn_cabinet_settings_page {
    padding-bottom: 3rem;
}
.stocked_fn_cabinet_settings_page .account_page {
    max-width: 800px;
}
.moments-settings-block {
    margin-top: 2rem;
}
.moments-settings-section {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}
.moments-settings-section__muted {
    margin: 0;
    color: var(--bc);
    font-size: 0.95rem;
}
.moments-settings-form {
    max-width: 100%;
}
.moments-settings-form__submit {
    margin-top: 1rem;
}
.moments-settings-form__submit .fn__submit.has_bg,
.moments-settings-block .fn__submit.has_bg {
    color: #fff;
}
.moments-settings-form__submit .fn__submit.has_bg .text,
.moments-settings-block .fn__submit.has_bg .text {
    color: #fff;
}
.moments-settings-textarea textarea.fn__focus_input {
    width: 100%;
    min-height: 120px;
    padding: 16px 20px;
    border: 1px solid var(--border-color);
    background: var(--bbc);
    color: var(--hc);
    font-family: var(--bff);
    font-size: 14px;
    resize: vertical;
}
.moments-settings-textarea.focused textarea.fn__focus_input {
    padding-top: 22px;
}
.moments-cabinet-works {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--border-color);
}
.moments-cabinet-works__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.moments-cabinet-works__title {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-family: var(--hff);
    color: var(--hc);
}
.moments-cabinet-works__header .fn__btn {
    margin: 0;
}
.moments-cabinet-works__list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.moments-cabinet-work {
    display: grid;
    grid-template-columns: 7rem minmax(0, 1fr) auto;
    gap: 1rem 1.25rem;
    align-items: center;
    padding: 1.15rem 0;
    border-bottom: 1px solid var(--border-color);
}
.moments-cabinet-work__thumb a {
    display: block;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}
.moments-cabinet-work__thumb img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.moments-cabinet-work__no-thumb {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    background: color-mix(in srgb, var(--bc) 12%, transparent);
    border-radius: 3px;
}
.moments-cabinet-work__title {
    margin: 0 0 0.35rem;
    font-size: 1.05rem;
    font-weight: 600;
    font-family: var(--hff);
}
.moments-cabinet-work__title a {
    color: var(--hc);
    text-decoration: none;
}
.moments-cabinet-work__title a:hover {
    color: var(--mc1);
}
.moments-cabinet-work__meta {
    margin: 0 0 0.35rem;
    font-size: 0.88rem;
    color: var(--bc);
}
.moments-work-status {
    font-weight: 600;
}
.moments-work-status--approved {
    color: #2e7d32;
}
.moments-work-status--pending {
    color: var(--mc1);
}
.moments-work-status--rejected {
    color: #c62828;
}
.moments-work-status--muted {
    color: var(--bc);
}
.moments-cabinet-work__tags {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}
.moments-cabinet-work__tags span {
    font-size: 0.75rem;
    padding: 0.15rem 0.45rem;
    border-radius: 3px;
    background: color-mix(in srgb, var(--mc1) 10%, transparent);
    color: var(--hc);
}
.moments-cabinet-work__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.5rem;
}
.moments-cabinet-work__actions .fn__lined_btn {
    margin: 0;
}
.moments-cabinet-work__note {
    font-size: 0.8rem;
    color: var(--bc);
}
.stocked_fn_cabinet_page .details_header .fn__btn {
    margin: 0;
}
@media (max-width: 767.98px) {
    .stocked_fn_cabinet_page .fn__author_info {
        flex-direction: column;
        text-align: center;
    }
    .stocked_fn_cabinet_page .fn__author_info .left_part {
        flex: none;
        margin: 0 auto 1.25rem;
        max-width: 220px;
    }
    .stocked_fn_cabinet_page .fn__author_info .status {
        justify-content: center;
    }
    .fn__account_details .details_content li {
        width: 100%;
    }
    .moments-cabinet-work {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
    }
    .moments-cabinet-work__thumb {
        max-width: 100%;
    }
    .moments-cabinet-work__actions {
        width: 100%;
        align-items: stretch;
    }
    .moments-cabinet-work__actions .fn__lined_btn {
        display: block;
        width: 100%;
        text-align: center;
    }
    .moments-cabinet-works__header .fn__btn {
        width: 100%;
        text-align: center;
    }
}

/* Передача прав на фото */
.stocked_fn_cabinet_rights_page {
    padding-bottom: 3rem;
}
.moments-rights-transfer.account_page {
    max-width: 800px;
    margin: 0 auto;
}
.moments-rights-transfer__photo {
    display: flex;
    gap: 1.25rem;
    align-items: center;
    margin-bottom: 2rem;
    padding: 1rem;
    border: 1px solid var(--border-color);
    border-radius: 3px;
}
.moments-rights-transfer__thumb {
    flex: 0 0 140px;
    max-width: 40%;
}
.moments-rights-transfer__thumb img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 3px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}
.moments-rights-transfer__title {
    margin: 0 0 0.35rem;
    font-size: 1.25rem;
    font-weight: 700;
    font-family: var(--hff);
    color: var(--hc);
}
.moments-rights-transfer__meta {
    margin: 0;
}
.moments-rights-transfer__facts {
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}
.moments-rights-transfer__facts li {
    margin-bottom: 1rem;
}
.moments-rights-transfer__facts .label {
    display: block;
    font-size: 0.85rem;
    color: var(--bc);
    margin-bottom: 0.2rem;
    font-family: var(--hff);
}
.moments-rights-transfer__facts .value {
    display: block;
    font-size: 0.95rem;
    color: var(--hc);
    font-weight: 600;
    word-break: break-all;
}
.moments-rights-transfer__hash {
    font-size: 0.8rem;
    font-weight: 500;
    background: color-mix(in srgb, var(--bc) 8%, transparent);
    padding: 0.35rem 0.5rem;
    border-radius: 3px;
}
.stocked_fn_cabinet_rights_page .fn__submit.has_bg,
.stocked_fn_cabinet_rights_page .fn__submit.has_bg .text {
    color: #fff;
}
@media (max-width: 767.98px) {
    .moments-rights-transfer__photo {
        flex-direction: column;
        text-align: center;
    }
    .moments-rights-transfer__thumb {
        flex: none;
        max-width: 100%;
        width: 100%;
    }
}

/* Личный кабинет: загрузка и конкурсы */
.stocked_fn_cabinet_upload_page,
.stocked_fn_cabinet_competitions_page {
    padding-bottom: 3rem;
}
.moments-cabinet-upload__back {
    margin: 0 0 1.25rem;
}
.moments-cabinet-upload-form {
    margin-top: 0.5rem;
}
.moments-cabinet-competition-banner {
    margin-bottom: 1.5rem;
    padding: 1rem 1.25rem;
    border-radius: 3px;
    border: 1px solid color-mix(in srgb, var(--mc1) 35%, transparent);
    background: color-mix(in srgb, var(--mc1) 8%, transparent);
}
.moments-cabinet-competition-banner__status {
    margin: 0 0 0.35rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--mc1);
}
.moments-cabinet-competition-banner__title {
    margin: 0 0 0.35rem;
    font-size: 1.2rem;
    font-weight: 700;
    font-family: var(--hff);
    color: var(--hc);
}
.moments-cabinet-competition-banner__desc {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--bc);
}
.moments-upload-file {
    margin-bottom: 20px;
    position: relative;
}
.moments-upload-file__label {
    display: block;
    padding: 1.5rem 1.25rem;
    border: 2px dashed color-mix(in srgb, var(--mc1) 45%, var(--border-color));
    border-radius: 3px;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
}
.moments-upload-file__label:hover {
    border-color: var(--mc1);
    background: color-mix(in srgb, var(--mc1) 5%, transparent);
}
.moments-upload-file__title {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    font-family: var(--hff);
    color: var(--hc);
    margin-bottom: 0.35rem;
}
.moments-upload-file__hint {
    display: block;
    font-size: 0.85rem;
    color: var(--bc);
    margin-bottom: 0.85rem;
}
.moments-upload-file__btn {
    pointer-events: none;
    display: inline-block;
}
.moments-upload-file__input {
    position: absolute;
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    z-index: -1;
}
.moments-upload-file.has-error .moments-upload-file__label {
    border-color: #c62828;
}
.moments-form-select select.fn__focus_input {
    width: 100%;
    height: 50px;
    padding: 0 20px;
    border: 1px solid var(--border-color);
    border-radius: 0;
    background: var(--bbc);
    color: var(--hc);
    font-size: 14px;
    font-family: var(--bff);
    appearance: none;
    cursor: pointer;
}
.moments-form-select.focused select.fn__focus_input {
    padding-left: 19px;
}
.moments-upload-categories {
    margin-bottom: 20px;
}
.moments-upload-categories__label {
    margin: 0 0 0.75rem;
    font-weight: 600;
    font-family: var(--hff);
    color: var(--hc);
}
.moments-upload-categories__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
}
.moments-upload-categories__item {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.9rem;
    font-weight: 400;
    color: var(--bc);
    cursor: pointer;
}
.moments-upload-categories__item input {
    accent-color: var(--mc1);
}
.moments-upload-consents {
    margin: 0 0 20px;
    padding: 1rem 1.15rem;
    border: 1px solid var(--border-color);
    border-radius: 3px;
}
.moments-upload-consents__legend {
    padding: 0 0.35rem;
    font-weight: 700;
    font-family: var(--hff);
    color: var(--hc);
}
.moments-upload-consents__docs {
    margin: 0 0 0.85rem;
    font-size: 0.9rem;
    color: var(--bc);
}
.moments-upload-consents__docs a {
    color: var(--mc1);
}
.moments-cabinet-stats-card {
    margin-bottom: 2rem;
    padding: 1.25rem 1.35rem;
    border: 1px solid var(--border-color);
    border-radius: 3px;
    background: color-mix(in srgb, var(--bbc) 60%, transparent);
}
.moments-cabinet-stats-card__title {
    margin: 0 0 0.65rem;
    font-size: 1.05rem;
    font-weight: 700;
    font-family: var(--hff);
    color: var(--hc);
}
.moments-cabinet-stats-card__line {
    margin: 0;
    color: var(--bc);
}
.moments-cabinet-stats-card__badges {
    margin: 0.75rem 0 0;
}
.moments-cabinet-badge {
    display: inline-block;
    margin: 0 0.35rem 0.35rem 0;
    padding: 0.2rem 0.55rem;
    font-size: 0.8rem;
    border-radius: 3px;
    background: color-mix(in srgb, var(--mc1) 12%, transparent);
    color: var(--hc);
}
.moments-cabinet-competition-card {
    margin-bottom: 1.5rem;
    padding: 1.25rem 1.35rem;
    border: 1px solid var(--border-color);
    border-radius: 3px;
}
.moments-cabinet-competition-card--highlight {
    border-color: var(--mc1);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--mc1) 25%, transparent);
}
.moments-cabinet-competition-card__title {
    margin: 0.35rem 0 0.5rem;
    font-size: 1.25rem;
    font-weight: 700;
    font-family: var(--hff);
    color: var(--hc);
}
.moments-cabinet-competition-card__desc,
.moments-cabinet-competition-card__hint,
.moments-cabinet-competition-card__footer {
    margin: 0 0 0.75rem;
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--bc);
}
.moments-cabinet-competition-card__footer {
    margin-bottom: 0;
}
.moments-cabinet-competition-card__footer a,
.moments-cabinet-competition-card__hint a {
    color: var(--mc1);
}
.moments-cabinet-enter-form {
    max-width: 100%;
    margin-bottom: 0.5rem;
}
.moments-cabinet-enter-form__submit {
    margin-top: 0.25rem;
}
.moments-cabinet-entries-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.moments-cabinet-entries-list li {
    padding: 0.65rem 0;
    border-bottom: 1px solid var(--border-color);
    font-size: 0.95rem;
    color: var(--bc);
}
.moments-cabinet-entries-list a {
    color: var(--hc);
    font-weight: 500;
    text-decoration: none;
}
.moments-cabinet-entries-list a:hover {
    color: var(--mc1);
}
.stocked_fn_cabinet_upload_page .fn__submit.has_bg,
.stocked_fn_cabinet_competitions_page .fn__submit.has_bg,
.moments-cabinet-enter-form .fn__submit.has_bg {
    color: #fff;
}
.stocked_fn_cabinet_upload_page .fn__submit.has_bg .text,
.stocked_fn_cabinet_competitions_page .fn__submit.has_bg .text,
.moments-cabinet-enter-form .fn__submit.has_bg .text {
    color: #fff;
}
.stocked_fn_cabinet_upload_page .fn__submit.has_bg:hover,
.stocked_fn_cabinet_competitions_page .fn__submit.has_bg:hover,
.moments-cabinet-enter-form .fn__submit.has_bg:hover,
.stocked_fn_cabinet_upload_page .fn__submit.has_bg:hover .text,
.stocked_fn_cabinet_competitions_page .fn__submit.has_bg:hover .text,
.moments-cabinet-enter-form .fn__submit.has_bg:hover .text {
    color: #fff;
}

/* Страница конкурса (рейтинг) */
.stocked_fn_competition_show_page {
    padding-bottom: 3rem;
}
.moments-competition-show__back {
    margin: 0 0 1.25rem;
}
.moments-competition-show__header {
    margin-bottom: 2.5rem;
    max-width: 72ch;
}
.moments-competition-show__status {
    display: inline-block;
    margin: 0 0 0.75rem;
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: 3px;
    font-family: var(--hff);
}
.moments-competition-show__status--active {
    background-color: var(--mc1);
    color: #fff;
}
.moments-competition-show__status--closed {
    background-color: color-mix(in srgb, var(--bc) 18%, transparent);
    color: var(--hc);
}
.moments-competition-show__status--idle {
    background-color: color-mix(in srgb, var(--mc1) 15%, transparent);
    color: var(--mc1);
}
.moments-competition-show__title {
    margin: 0 0 0.5rem;
    font-size: clamp(1.75rem, 4vw, 2.25rem);
    font-weight: 700;
    font-family: var(--hff);
    color: var(--hc);
    line-height: 1.2;
}
.moments-competition-show__dates {
    margin: 0 0 1rem;
    font-size: 0.95rem;
    color: var(--bc);
}
.moments-competition-show__desc {
    margin: 0 0 1.25rem;
    font-size: 1.05rem;
    line-height: 1.55;
    color: var(--bc);
}
.moments-competition-show__cta {
    margin-top: 0.5rem;
}
.moments-competition-show__cta .fn__btn {
    margin: 0;
}
.moments-competition-show__leaderboard-hint {
    margin: -0.5rem 0 1.5rem;
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--bc);
    max-width: 62ch;
}
.moments-leaderboard {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--border-color);
}
.moments-leaderboard-row {
    display: grid;
    grid-template-columns: 3.5rem 7rem minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    grid-template-areas:
        "rank thumb body score"
        "rank thumb actions actions";
    gap: 0.75rem 1.25rem;
    align-items: center;
    padding: 1.25rem 0;
    border-bottom: 1px solid var(--border-color);
}
.moments-leaderboard-row__rank {
    grid-area: rank;
    display: flex;
    justify-content: center;
}
.moments-leaderboard-row__thumb {
    grid-area: thumb;
}
.moments-leaderboard-row__thumb a {
    display: block;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}
.moments-leaderboard-row__thumb img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.moments-leaderboard-row__no-thumb {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    background: color-mix(in srgb, var(--bc) 12%, transparent);
}
.moments-leaderboard-row__body {
    grid-area: body;
    min-width: 0;
}
.moments-leaderboard-row__title {
    margin: 0 0 0.35rem;
    font-size: 1.125rem;
    font-weight: 600;
    font-family: var(--hff);
    line-height: 1.3;
}
.moments-leaderboard-row__title a {
    color: var(--hc);
    text-decoration: none;
}
.moments-leaderboard-row__title a:hover {
    color: var(--mc1);
}
.moments-leaderboard-row__author {
    margin: 0;
    font-size: 0.9rem;
}
.moments-leaderboard-row__author a {
    color: var(--bc);
    text-decoration: none;
    font-weight: 500;
}
.moments-leaderboard-row__author a:hover {
    color: var(--mc1);
}
.moments-leaderboard-row__score {
    grid-area: score;
    text-align: right;
}
.moments-leaderboard-row__score-value {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    font-family: var(--hff);
    color: var(--mc1);
    line-height: 1.1;
}
.moments-leaderboard-row__score-label {
    display: block;
    font-size: 0.8rem;
    color: var(--bc);
    text-transform: lowercase;
}
.moments-leaderboard-row__actions {
    grid-area: actions;
    justify-self: end;
}
.moments-leaderboard-row__actions .fn__lined_btn {
    margin: 0;
}
.moments-leaderboard-rank-num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--hc);
    background: color-mix(in srgb, var(--bc) 10%, transparent);
    font-family: var(--hff);
}
.moments-leaderboard-medal {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    font-weight: 800;
    font-size: 1rem;
    color: #fff;
    font-family: var(--hff);
}
.moments-leaderboard-medal--1 {
    background: linear-gradient(145deg, #d4a017, #f0c040);
}
.moments-leaderboard-medal--2 {
    background: linear-gradient(145deg, #8a9199, #c0c6ce);
}
.moments-leaderboard-medal--3 {
    background: linear-gradient(145deg, #a66b2c, #d4956a);
}
.moments-leaderboard-row--place-1 {
    background: color-mix(in srgb, #f0c040 6%, transparent);
}
.moments-leaderboard-row--place-2 {
    background: color-mix(in srgb, #c0c6ce 8%, transparent);
}
.moments-leaderboard-row--place-3 {
    background: color-mix(in srgb, #d4956a 8%, transparent);
}
@media (max-width: 767.98px) {
    .moments-leaderboard-row {
        grid-template-columns: 3rem 1fr auto;
        grid-template-areas:
            "rank score score"
            "thumb thumb thumb"
            "body body body"
            "actions actions actions";
        gap: 0.65rem 0.75rem;
        padding: 1rem 0;
    }
    .moments-leaderboard-row__score {
        text-align: right;
    }
    .moments-leaderboard-row__actions {
        width: 100%;
        justify-self: stretch;
    }
    .moments-leaderboard-row__actions .fn__lined_btn {
        display: block;
        width: 100%;
        text-align: center;
    }
}

/* Облако тегов (спиральное размещение, не flex-строки) */
.moments-tag-cloud {
    position: relative;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    min-height: clamp(280px, 52vw, 480px);
    aspect-ratio: 5 / 3;
    padding: 1.5rem 0.5rem 2rem;
    line-height: 1;
}
.moments-tag-cloud__item {
    position: absolute;
    font-family: var(--hff);
    font-weight: 700;
    text-decoration: none;
    text-transform: lowercase;
    letter-spacing: -0.02em;
    transform: translate(-50%, -50%) rotate(var(--tag-rotate, 0deg));
    transition: opacity 0.2s ease, transform 0.2s ease;
    white-space: nowrap;
    z-index: 1;
}
.moments-tag-cloud__item:hover {
    opacity: 0.8;
    z-index: 5;
    transform: translate(-50%, -50%) rotate(var(--tag-rotate, 0deg)) scale(1.08);
}
@media (max-width: 576px) {
    .moments-tag-cloud {
        min-height: 320px;
        aspect-ratio: 4 / 5;
    }
}
.moments-tag-chips-wrap {
    padding: 0 1rem 3rem;
}
.moments-tag-chips-empty {
    color: var(--bc);
    margin: 0;
}
.moments-tag-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.65rem;
    justify-content: center;
    max-width: 1100px;
    margin: 0 auto;
}
.moments-tag-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--chip-color) 35%, var(--border-color));
    background: color-mix(in srgb, var(--chip-color) 8%, transparent);
    color: var(--chip-color);
    font-family: var(--hff);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.moments-tag-chip:hover {
    background: var(--chip-color);
    border-color: var(--chip-color);
    color: #fff;
}
.moments-tag-chip__label {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.moments-tag-chip__count {
    font-size: 11px;
    font-weight: 700;
    opacity: 0.85;
    min-width: 1ch;
}
.moments-tag-chip:hover .moments-tag-chip__count {
    opacity: 1;
}

/* Подборки — список рубрик */
.moments-collection-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1rem;
    max-width: 1100px;
    margin: 0 auto 3rem;
    padding: 0 1rem;
}
.moments-collection-card {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 1.1rem 1.25rem;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    text-decoration: none;
    color: inherit;
    background: color-mix(in srgb, var(--mc1) 6%, transparent);
    transition: border-color 0.2s ease, background 0.2s ease;
}
.moments-collection-card:hover {
    border-color: var(--mc1);
    background: color-mix(in srgb, var(--mc1) 12%, transparent);
}
.moments-collection-card__title {
    font-family: var(--hff);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--mc1);
}
.moments-collection-card__desc {
    font-size: 14px;
    color: var(--bc);
    line-height: 1.35;
}
.moments-collection-card__count {
    font-size: 12px;
    font-weight: 600;
    color: var(--bc);
    opacity: 0.85;
}
.moments-tag-show-badge {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    border-radius: 8px;
}
.moments-tag-show-badge span {
    font-size: 3rem;
    font-weight: 800;
    color: #fff;
    font-family: var(--hff);
    line-height: 1;
}
/* Категория на карточке фото */
.fn__blog_item .fn__metas .moments-photo-card__cat > span {
    color: #fff;
    display: inline-block;
    line-height: 1.25;
}
.fn__blog_item .fn__metas .moments-photo-card__cat {
    margin-right: 0.5rem;
}
/* Имя автора без префикса «Автор» — точка-разделитель только после категории */
.fn__blog_item .fn__metas .author:first-child {
    padding-left: 0;
}
.fn__blog_item .fn__metas .author:first-child::after {
    display: none;
}

.moments-tag-show-header {
    margin-bottom: 1rem;
}
.moments-tag-pagination {
    padding: 2rem 0 3rem;
}

.stocked_fn_footer_copyright .fn__logo--footer img {
    display: block;
    max-height: 48px;
    width: auto;
    max-width: 220px;
}

/* Страница фото */
.moments-photo-back {
    padding-top: 1.5rem;
    padding-bottom: 0.5rem;
}
.moments-photo-main {
    width: 100%;
    height: auto;
    display: block;
}
.moments-photo-figure {
    margin-bottom: 2rem;
}
.moments-photo-meta {
    margin-bottom: 1.5rem;
}
.moments-photo-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}
.moments-photo-tag {
    font-size: 13px;
    font-family: var(--hff);
    padding: 0.35rem 0.75rem;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    color: var(--bc);
}
.moments-photo-color {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    color: var(--bc);
    font-size: 15px;
}
.moments-photo-swatch {
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 4px;
    border: 1px solid var(--border-color);
}
.moments-photo-color-link {
    display: inline-block;
    margin-left: 0.25rem;
}
.moments-photo-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 0;
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    margin-bottom: 1rem;
}
.moments-photo-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    font-family: var(--hff);
    font-weight: 600;
    color: var(--hc);
}
.moments-photo-action-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}
.moments-photo-action-btns form {
    margin: 0;
}
.moments-photo-action-btns button.fn__btn {
    border: 0;
    cursor: pointer;
}
.moments-photo-note {
    color: var(--bc);
    margin: 0 0 1.5rem;
}
.moments-photo-note a {
    color: var(--mc1);
}
.moments-photo-map {
    height: 280px;
    border-radius: 12px;
    border: 1px solid var(--border-color);
    margin-top: 1rem;
    overflow: hidden;
}
.fn__single_top .authors a {
    color: var(--hc);
    text-decoration: none;
    border-bottom: 1px solid transparent;
}
.fn__single_top .authors a:hover {
    color: var(--mc1);
}

/* Комментарии */
.moments-photo-comments {
    max-width: 840px;
    margin: 0 auto 120px;
    padding: 60px 20px 0;
    text-align: left;
}
.moments-photo-comments .title {
    margin: 0 0 1.25rem;
    font-size: 22px;
    font-family: var(--hff);
    text-transform: uppercase;
    color: var(--hc);
}
.moments-photo-comments .desc a {
    color: var(--mc1);
}
.moments-comment-form label {
    display: block;
    margin-bottom: 0.35rem;
    font-weight: 600;
    font-family: var(--hff);
}
.moments-comment-form textarea {
    width: 100%;
    max-width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-family: var(--bff);
    font-size: 16px;
    resize: vertical;
    margin-bottom: 1rem;
    box-sizing: border-box;
}
.moments-comment-form .btn {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 2rem;
}
.moments-form-error {
    color: #c62828;
    margin: -0.5rem 0 1rem;
}
.moments-comment-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.moments-comment-item {
    padding: 1.25rem 0;
    border-bottom: 1px solid var(--border-color);
}
.moments-comment-head {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    align-items: baseline;
    margin-bottom: 0.35rem;
}
.moments-comment-head strong {
    font-family: var(--hff);
}
.moments-comment-head span {
    color: var(--bc);
    font-size: 14px;
}
.moments-comment-body {
    margin: 0;
    white-space: pre-wrap;
    line-height: 1.55;
}
.moments-comment-delete {
    margin-top: 0.5rem;
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
}
.moments-comment-empty {
    color: var(--bc);
}
.moments-comment-pagination {
    margin-top: 1.5rem;
}

/* Hero «Запоминаются только… Моменты» (главная и «О нас») */
.moments-hero-intro-wrap {
    padding-top: 24px;
}
.moments-hero-intro--home {
    padding: 48px 0 56px;
}
.moments-hero-intro--home .moments-hero-intro__copy {
    margin-bottom: 0;
}
.moments-hero-intro--home .about_right_in {
    padding-top: 24px;
}
@media (max-width: 991.98px) {
    .moments-hero-intro--home {
        flex-direction: column;
        padding: 32px 0 40px;
    }
    .moments-hero-intro--home .about_left,
    .moments-hero-intro--home .about_right {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
    .moments-hero-intro--home .about_left_in {
        position: static;
    }
    .moments-hero-intro--home .about_right_in {
        padding-top: 20px;
    }
}

/* Страница «О платформе» (вёрстка Stocked about) */
.moments-about-logo .about_left_in {
    top: 120px;
}
.moments-about-logo .img {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 320px;
    background: linear-gradient(145deg, var(--mc1) 0%, #2d1f5c 55%, #1a1238 100%);
}
.moments-about-logo .img img {
    position: static;
    width: auto;
    height: auto;
    max-width: min(72%, 280px);
    max-height: 200px;
    object-fit: contain;
    filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.25));
}
.moments-about-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}
.moments-about-hero-actions .fn__btn,
.moments-about-hero-actions .fn__lined_btn {
    margin: 0;
}
.moments-about-feature-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.moments-about-feature-list > li {
    margin: 0 0 28px;
    padding: 0;
}
.moments-about-feature-list > li:last-child {
    margin-bottom: 0;
}
.moments-about-feature {
    display: flex;
    align-items: flex-start;
    gap: 18px;
}
.moments-about-feature__icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    color: var(--mc1);
}
.moments-about-feature__icon svg {
    display: block;
    width: 44px;
    height: 44px;
}
.moments-about-feature__text {
    flex: 1;
    min-width: 0;
    font-family: var(--hff);
}
.moments-about-feature__title {
    display: block;
    font-weight: 600;
    font-size: 17px;
    line-height: 1.35;
    color: var(--hc);
    margin-bottom: 6px;
}
.moments-about-feature__desc {
    margin: 0;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.55;
    color: var(--bc);
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
}
.moments-about-benefits {
    margin-bottom: 70px;
}
.moments-about-benefits .section_title,
.moments-about-steps .section_title,
.moments-about-facts .section_title {
    margin-bottom: 30px;
}
.moments-about-steps {
    margin-bottom: 70px;
}
.moments-about-facts {
    margin-bottom: 70px;
}
.moments-about-cta {
    margin-bottom: 40px;
}
.moments-about-cta .section_title {
    margin-bottom: 18px;
}
.moments-about-cta .desc p {
    font-size: 20px;
}

/* Вход / регистрация (sign-in.html, sign-up.html) */
.stocked_fn_sign_in_page .fn__sign_form .fn__submit.has_bg,
.stocked_fn_sign_up_page .fn__sign_form .fn__submit.has_bg {
    color: #fff;
}
.stocked_fn_sign_in_page .fn__sign_form .fn__submit.has_bg .text,
.stocked_fn_sign_in_page .fn__sign_form .fn__submit.has_bg .preloader,
.stocked_fn_sign_up_page .fn__sign_form .fn__submit.has_bg .text,
.stocked_fn_sign_up_page .fn__sign_form .fn__submit.has_bg .preloader {
    color: #fff;
}
.stocked_fn_sign_in_page .fn__sign_form .fn__submit.has_bg:hover,
.stocked_fn_sign_up_page .fn__sign_form .fn__submit.has_bg:hover,
.stocked_fn_sign_in_page .fn__sign_form .fn__submit.has_bg:hover .text,
.stocked_fn_sign_up_page .fn__sign_form .fn__submit.has_bg:hover .text {
    color: #fff;
}
.moments-auth-form--wide {
    width: 480px;
}
.fn__input_section.has-error input {
    border-color: #c62828;
}
.moments-auth-field-error {
    margin: 8px 0 0;
    padding: 0;
    font-size: 13px;
    line-height: 1.4;
    color: #c62828;
    font-weight: 500;
}
.moments-auth-remember {
    margin: -4px 0 20px;
}
.moments-auth-consents {
    margin-bottom: 20px;
}
.moments-auth-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.45;
    color: var(--bc);
    font-weight: 400;
}
.moments-auth-checkbox input {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    flex-shrink: 0;
    accent-color: var(--mc1);
}
.moments-auth-checkbox--block {
    margin-bottom: 14px;
}
.moments-auth-checkbox--block span {
    flex: 1;
}
.moments-auth-checkbox--block span a {
    color: var(--mc1);
}
.moments-auth-optional {
    font-style: normal;
    opacity: 0.75;
}
