/* ============================================
   Seed Savers Russia — Дизайн-система v2.0
   ============================================ */

/* === CSS-переменные === */
:root {
    /* Основные цвета */
    --ssr-green: #00b049;
    --ssr-green-deep: #008a38;
    --ssr-green-light: #33c766;
    --ssr-green-pale: #e6f7ee;
    --ssr-green-faint: #f4faf7;

    /* Акцентные (жёлто-оранжевый) */
    --ssr-accent: #f4a261;
    --ssr-accent-light: #fcd5a7;
    --ssr-accent-pale: #fff4e6;

    /* Нейтральные */
    --ssr-white: #ffffff;
    --ssr-cream: #fafaf5;
    --ssr-warm-gray: #f5f4f0;
    --ssr-border: #e0ddd5;
    --ssr-text: #2b2b20;
    --ssr-text-secondary: #6b6b5e;
    --ssr-text-tertiary: #9a9a8c;
    --ssr-danger: #c0392b;
    --ssr-danger-pale: #fdeaea;

    /* Размеры */
    --ssr-radius: 16px;
    --ssr-radius-sm: 10px;
    --ssr-radius-xs: 6px;
    --ssr-max-width: 1280px;
}

/* === Базовые стили === */
* {
    box-sizing: border-box;
}

body {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.65;
    background-color: var(--ssr-cream);
    color: var(--ssr-text);
    -webkit-font-smoothing: antialiased;
}

/* ============================================
   Навигация
   ============================================ */

.navbar-ssr {
    background: var(--ssr-green) !important;
    box-shadow: 0 2px 12px rgba(0, 176, 73, 0.15);
    padding: 0.875rem 0;
    border-bottom: 3px solid var(--ssr-accent);
}

.navbar-ssr .navbar-brand {
    font-weight: 700;
    font-size: 1.35rem;
    letter-spacing: -0.01em;
    padding: 0.5rem 0;
    color: #fff !important;
}

.navbar-ssr .nav-link {
    font-weight: 600;
    font-size: 1.05rem;
    color: rgba(255, 255, 255, 0.9) !important;
    padding: 0.625rem 1.125rem !important;
    border-radius: var(--ssr-radius-sm);
    transition: all 0.2s;
    margin: 0 0.125rem;
}

.navbar-ssr .nav-link:hover {
    background: rgba(255, 255, 255, 0.15) !important;
    color: #fff !important;
}

.navbar-ssr .dropdown-menu {
    font-size: 1rem;
    border: none;
    border-radius: var(--ssr-radius);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    padding: 0.5rem;
}

.navbar-ssr .dropdown-item {
    font-weight: 500;
    border-radius: var(--ssr-radius-sm);
    padding: 0.625rem 1rem;
    transition: all 0.15s;
}

.navbar-ssr .dropdown-item:hover {
    background: var(--ssr-green-pale);
    color: var(--ssr-green-deep);
}

/* ============================================
   Хлебные крошки
   ============================================ */

.breadcrumb-ssr {
    font-size: 0.9375rem;
    font-weight: 500;
    padding: 1rem 0 0.5rem;
}

.breadcrumb-ssr a {
    color: var(--ssr-text-secondary);
    text-decoration: none;
    transition: color 0.2s;
}

.breadcrumb-ssr a:hover {
    color: var(--ssr-green);
}

.breadcrumb-ssr .separator {
    color: var(--ssr-text-tertiary);
    margin: 0 0.375rem;
}

.breadcrumb-ssr .current {
    color: var(--ssr-text);
    font-weight: 600;
}

/* ============================================
   Заголовки
   ============================================ */

.page-title-ssr {
    font-size: 2rem;
    font-weight: 700;
    color: var(--ssr-green-deep);
    margin-bottom: 0.375rem;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.page-subtitle-ssr {
    font-size: 1.0625rem;
    color: var(--ssr-text-secondary);
    font-weight: 500;
    margin-bottom: 2rem;
}

/* ============================================
   Карточки (общие)
   ============================================ */

.card-ssr {
    background: var(--ssr-white);
    border-radius: var(--ssr-radius);
    border: 1px solid var(--ssr-border);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    transition: box-shadow 0.25s, transform 0.15s;
}

.card-ssr:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

.card-ssr-header {
    background: transparent;
    border-bottom: 1px solid var(--ssr-border);
    padding: 1rem 1.25rem;
    font-weight: 700;
    font-size: 1.0625rem;
    color: var(--ssr-green-deep);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.card-ssr-body {
    padding: 1.25rem;
}

.card-ssr-footer-ssr {
    padding: 0.875rem 1.25rem;
    border-top: 1px solid var(--ssr-border);
    background: var(--ssr-green-faint);
}

/* ============================================
   Кнопки
   ============================================ */

.btn-primary-ssr {
    background: var(--ssr-green);
    color: var(--ssr-white);
    font-weight: 600;
    font-size: 1rem;
    padding: 0.75rem 1.5rem;
    border-radius: var(--ssr-radius-sm);
    border: none;
    transition: all 0.2s;
}

.btn-primary-ssr:hover {
    background: var(--ssr-green-deep);
    color: var(--ssr-white);
}

.btn-outline-ssr {
    background: transparent;
    color: var(--ssr-green-deep);
    font-weight: 600;
    font-size: 1rem;
    padding: 0.625rem 1.25rem;
    border-radius: var(--ssr-radius-sm);
    border: 1.5px solid var(--ssr-green-deep);
    transition: all 0.2s;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
}

.btn-outline-ssr:hover {
    background: var(--ssr-green-deep);
    color: var(--ssr-white);
    text-decoration: none;
}

.btn-accent-ssr {
    background: var(--ssr-accent);
    color: var(--ssr-text);
    font-weight: 700;
    font-size: 1rem;
    padding: 0.75rem 1.5rem;
    border-radius: var(--ssr-radius-sm);
    border: none;
    transition: all 0.2s;
}

.btn-accent-ssr:hover {
    background: #e08d4a;
    color: var(--ssr-text);
}

.btn-danger-ssr {
    background: transparent;
    color: var(--ssr-danger);
    font-weight: 600;
    font-size: 0.9375rem;
    padding: 0.5rem 1rem;
    border-radius: var(--ssr-radius-sm);
    border: 1.5px solid var(--ssr-danger);
    transition: all 0.2s;
}

.btn-danger-ssr:hover {
    background: var(--ssr-danger);
    color: var(--ssr-white);
}

.btn-sm-ssr {
    font-size: 0.875rem;
    padding: 0.5rem 1rem;
    border-radius: var(--ssr-radius-xs);
    font-weight: 600;
}

/* ============================================
   Формы
   ============================================ */

.form-label-ssr {
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--ssr-text-secondary);
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.form-control-ssr {
    font-size: 1rem;
    font-weight: 500;
    border-radius: var(--ssr-radius-sm);
    border: 1.5px solid var(--ssr-border);
    padding: 0.75rem 1rem;
    background-color: var(--ssr-cream);
    color: var(--ssr-text);
    transition: all 0.2s;
}

.form-control-ssr:focus {
    border-color: var(--ssr-green);
    box-shadow: 0 0 0 3px rgba(0, 176, 73, 0.12);
    background-color: var(--ssr-white);
}

.form-control-ssr::placeholder {
    color: var(--ssr-text-tertiary);
}

.form-select-ssr {
    font-size: 1rem;
    font-weight: 500;
    border-radius: var(--ssr-radius-sm);
    border: 1.5px solid var(--ssr-border);
    padding: 0.75rem 1rem;
    background-color: var(--ssr-cream);
    color: var(--ssr-text);
    transition: all 0.2s;
}

.form-select-ssr:focus {
    border-color: var(--ssr-green);
    box-shadow: 0 0 0 3px rgba(0, 176, 73, 0.12);
    background-color: var(--ssr-white);
}

/* ============================================
   Фильтры
   ============================================ */

.filters-card-ssr {
    background: var(--ssr-white);
    border-radius: var(--ssr-radius);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    border: 1px solid var(--ssr-border);
    padding: 1.5rem;
    margin-bottom: 2rem;
}

/* ============================================
   Карточки сортов (каталог)
   ============================================ */

.variety-card-ssr {
    background: var(--ssr-white);
    border-radius: var(--ssr-radius);
    overflow: hidden;
    border: 1px solid var(--ssr-border);
    transition: all 0.25s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.variety-card-ssr:hover {
    box-shadow: 0 8px 28px rgba(0, 176, 73, 0.1);
    transform: translateY(-3px);
    border-color: var(--ssr-green-pale);
}

.variety-card-ssr .card-image-wrap {
    position: relative;
    overflow: hidden;
    background: var(--ssr-warm-gray);
    aspect-ratio: 4 / 3;
}

.variety-card-ssr .card-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.variety-card-ssr:hover .card-image-wrap img {
    transform: scale(1.05);
}

.variety-card-ssr .card-image-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    color: var(--ssr-text-tertiary);
}

.variety-card-ssr .card-image-placeholder i {
    font-size: 2.5rem;
}

/* Бейджи на карточке */
.card-badges {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    display: flex;
    gap: 0.375rem;
    flex-wrap: wrap;
}

.card-badge-pill {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 1rem;
    transition: all 0.2s;
    cursor: default;
}

.card-badge-pill:hover {
    transform: scale(1.1);
}

.card-badge-pill.badge-bank {
    background: rgba(0, 138, 56, 0.9);
    color: #fff;
}

.card-badge-pill.badge-exchange {
    background: rgba(244, 162, 97, 0.9);
    color: #fff;
}

.card-badge-pill.badge-store {
    background: rgba(0, 176, 73, 0.7);
    backdrop-filter: blur(4px);
    color: #fff;
}

/* Тело карточки */
.variety-card-ssr .card-content {
    padding: 1.125rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.variety-card-ssr .card-culture {
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--ssr-green);
    margin-bottom: 0.375rem;
}

.variety-card-ssr .card-name {
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--ssr-text);
    margin-bottom: 0;
    line-height: 1.35;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
}

.variety-card-ssr .card-name a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
}

.variety-card-ssr .card-name a:hover {
    color: var(--ssr-green-deep);
}

/* Кнопка в карточке */
.btn-card-detail {
    background: transparent;
    color: var(--ssr-green-deep);
    font-weight: 600;
    font-size: 0.9375rem;
    padding: 0.5rem 1rem;
    border-radius: var(--ssr-radius-sm);
    border: 1.5px solid var(--ssr-green-deep);
    transition: all 0.2s;
    width: 100%;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
}

.btn-card-detail:hover {
    background: var(--ssr-green-deep);
    color: var(--ssr-white);
    text-decoration: none;
}

/* ============================================
   Бейджи (общие)
   ============================================ */

.status-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.875rem;
    border-radius: 20px;
    font-size: 0.8125rem;
    font-weight: 600;
}

.status-pill-status-bank {
    background: var(--ssr-green-pale);
    color: var(--ssr-green-deep);
}

.status-pill-status-exchange {
    background: var(--ssr-accent-pale);
    color: #b5651a;
}

.status-pill-status-store {
    background: #e8f5e9;
    color: #2e7d32;
}

.badge-ssr-available {
    background: var(--ssr-green-pale);
    color: var(--ssr-green-deep);
    font-weight: 700;
    font-size: 0.8125rem;
    padding: 0.375rem 0.75rem;
    border-radius: var(--ssr-radius-xs);
}

.badge-ssr-info {
    background: #e3f2fd;
    color: #1565c0;
    font-weight: 700;
    font-size: 0.8125rem;
    padding: 0.375rem 0.75rem;
    border-radius: var(--ssr-radius-xs);
}

/* ============================================
   Таблица характеристик
   ============================================ */

.char-table-ssr {
    width: 100%;
}

.char-table-ssr tr {
    border-bottom: 1px solid var(--ssr-border);
}

.char-table-ssr td {
    padding: 0.75rem 0;
    vertical-align: top;
    font-size: 1rem;
}

.char-table-ssr td:first-child {
    color: var(--ssr-text-secondary);
    width: 33.333%;
    font-size: 0.9375rem;
    font-weight: 500;
    padding-left: 1rem;
    vertical-align: top;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.char-table-ssr td:last-child {
    width: 66.667%;
    font-weight: 600;
    color: var(--ssr-text);
}

/* ============================================
   Блок блокировки (mini-blur) — для неавторизованных
   ============================================ */

.mini-blur-overlay {
    position: relative;
    min-height: 80px;
}

.mini-blur-overlay .mini-blur {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(250, 250, 245, 0.85);
    backdrop-filter: blur(6px);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    z-index: 10;
}

.mini-blur-overlay .mini-blur-content {
    text-align: center;
    padding: 1rem;
    padding-bottom: 1.25rem;
}

.mini-blur-overlay .mini-blur-content i {
    color: var(--ssr-text-tertiary);
    font-size: 1.8rem;
    margin-bottom: 0.5rem;
    display: block;
}

.mini-blur-overlay .mini-blur-content p {
    font-size: 1rem;
    color: var(--ssr-text-secondary);
    margin-bottom: 0.75rem;
}

.mini-blur-overlay .mini-blur-content .btn-join {
    font-size: 0.9375rem;
    padding: 0.5rem 1rem;
    border-radius: var(--ssr-radius-sm);
    background: var(--ssr-green);
    color: #fff !important;
    text-decoration: none;
    font-weight: 700;
    display: inline-block;
    transition: all 0.3s;
}

.mini-blur-overlay .mini-blur-content .btn-join:hover {
    background: var(--ssr-green-deep);
    color: #fff !important;
    transform: translateY(-1px);
}

/* ============================================
   Доступность (availability block)
   ============================================ */

.availability-section-row {
    margin-bottom: 1.25rem;
}

.availability-item-ssr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.625rem;
    border-radius: var(--ssr-radius-sm);
    transition: background-color 0.15s;
}

.availability-item-ssr:hover {
    background-color: var(--ssr-green-pale);
}

.btn-exchange-ssr {
    background: var(--ssr-green);
    border: none;
    color: #fff;
    font-weight: 600;
    font-size: 0.875rem;
    padding: 0.5rem 1rem;
    border-radius: var(--ssr-radius-xs);
    transition: all 0.2s;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    white-space: nowrap;
}

.btn-exchange-ssr:hover {
    background: var(--ssr-green-deep);
    color: #fff;
    text-decoration: none;
}

/* ============================================
   Галерея
   ============================================ */

.gallery-main-ssr {
    position: relative;
    cursor: pointer;
    border-radius: var(--ssr-radius);
    overflow: hidden;
    background: var(--ssr-warm-gray);
    width: 100%;
    aspect-ratio: 1 / 1;
    box-sizing: border-box;
}

.gallery-main-ssr img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.gallery-main-ssr:hover img {
    transform: scale(1.05);
}

.gallery-thumbs-ssr {
    display: flex;
    gap: 0.5rem;
    padding: 0.75rem;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--ssr-border) transparent;
}

.gallery-thumb-ssr {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: var(--ssr-radius-sm);
    cursor: pointer;
    border: 2px solid transparent;
    transition: all 0.15s;
    flex-shrink: 0;
}

.gallery-thumb-ssr:hover {
    border-color: var(--ssr-green);
    transform: translateY(-2px);
}

.gallery-thumb-ssr.active {
    border-color: var(--ssr-green);
    box-shadow: 0 0 0 2px rgba(0, 176, 73, 0.2);
}

/* ============================================
   Пагинация
   ============================================ */

.pagination-ssr .page-link {
    font-weight: 600;
    font-size: 1rem;
    color: var(--ssr-text);
    border-color: var(--ssr-border);
    border-radius: var(--ssr-radius-sm) !important;
    padding: 0.625rem 1rem;
    margin: 0 0.125rem;
    text-decoration: none;
    transition: all 0.2s;
}

.pagination-ssr .page-link:hover {
    background: var(--ssr-green-pale);
    color: var(--ssr-green-deep);
    border-color: var(--ssr-green);
}

.pagination-ssr .page-item.active .page-link {
    background: var(--ssr-green);
    border-color: var(--ssr-green);
    color: var(--ssr-white);
}

.pagination-ssr .page-item.disabled .page-link {
    color: var(--ssr-text-tertiary);
    opacity: 0.6;
}

/* ============================================
   Профиль (sidebar)
   ============================================ */

.profile-sidebar-ssr {
    background: var(--ssr-white);
    border-radius: var(--ssr-radius);
    border: 1px solid var(--ssr-border);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    padding: 1.5rem;
}

.profile-nav-ssr .list-group-item {
    border: none;
    border-radius: var(--ssr-radius-sm);
    margin-bottom: 0.25rem;
    padding: 0.75rem 1rem;
    color: var(--ssr-text);
    font-weight: 600;
    font-size: 1rem;
    transition: all 0.15s;
}

.profile-nav-ssr .list-group-item:hover {
    background-color: var(--ssr-green-pale);
    color: var(--ssr-green-deep);
}

.profile-nav-ssr .list-group-item.active {
    background-color: var(--ssr-green);
    color: #fff;
}

/* ============================================
   Статистика (карточки в профиле)
   ============================================ */

.stat-card-ssr {
    background: var(--ssr-white);
    border-radius: var(--ssr-radius);
    border: 1px solid var(--ssr-border);
    padding: 1.5rem;
    text-align: center;
    transition: all 0.2s;
}

.stat-card-ssr:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

.stat-card-ssr i {
    font-size: 2.25rem;
    margin-bottom: 0.5rem;
}

.stat-card-ssr .stat-value {
    font-size: 2rem;
    font-weight: 700;
    color: var(--ssr-green-deep);
    margin: 0.5rem 0;
}

.stat-card-ssr .stat-label {
    font-size: 0.9375rem;
    color: var(--ssr-text-secondary);
    font-weight: 500;
}

/* ============================================
   Алёрты (сообщения)
   ============================================ */

.alert-ssr {
    border-radius: var(--ssr-radius-sm);
    border: none;
    font-weight: 500;
    font-size: 1rem;
    padding: 1rem 1.25rem;
}

.alert-success-ssr {
    background: var(--ssr-green-pale);
    color: var(--ssr-green-deep);
    border-left: 4px solid var(--ssr-green);
}

.alert-danger-ssr {
    background: var(--ssr-danger-pale);
    color: var(--ssr-danger);
    border-left: 4px solid var(--ssr-danger);
}

.alert-info-ssr {
    background: #e3f2fd;
    color: #1565c0;
    border-left: 4px solid #1976d2;
}

/* ============================================
   Пустые состояния
   ============================================ */

.empty-state-ssr {
    text-align: center;
    padding: 4rem 2rem;
    background: var(--ssr-white);
    border-radius: var(--ssr-radius);
    border: 2px dashed var(--ssr-border);
}

.empty-state-ssr i {
    font-size: 3.5rem;
    color: var(--ssr-text-tertiary);
    margin-bottom: 1.25rem;
}

.empty-state-ssr h4 {
    font-weight: 700;
    color: var(--ssr-text);
    margin-bottom: 0.5rem;
}

.empty-state-ssr p {
    color: var(--ssr-text-secondary);
    max-width: 400px;
    margin: 0 auto 1.5rem;
}

/* ============================================
   Корзина обмена
   ============================================ */

.exchange-item-ssr {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 1.25rem;
    background: var(--ssr-white);
    border-radius: var(--ssr-radius);
    border: 1px solid var(--ssr-border);
    margin-bottom: 1rem;
    border-left: 4px solid var(--ssr-green);
    transition: all 0.2s;
}

.exchange-item-ssr:hover {
    box-shadow: 0 4px 16px rgba(0, 176, 73, 0.08);
    border-left-color: var(--ssr-green-deep);
}

.exchange-item-ssr-photo {
    width: 72px;
    height: 72px;
    border-radius: 12px;
    object-fit: cover;
    border: 2px solid var(--ssr-border);
    flex-shrink: 0;
}

.exchange-item-ssr-photo-placeholder {
    width: 72px;
    height: 72px;
    border-radius: 12px;
    background: var(--ssr-warm-gray);
    border: 2px solid var(--ssr-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ssr-text-tertiary);
    font-size: 1.75rem;
    flex-shrink: 0;
}

.exchange-item-ssr-info {
    flex: 1;
    min-width: 0;
}

.exchange-item-ssr-variety {
    font-weight: 700;
    font-size: 1.125rem;
    color: var(--ssr-text);
    text-decoration: none;
    display: block;
    margin-bottom: 0.25rem;
}

.exchange-item-ssr-variety:hover {
    color: var(--ssr-green-deep);
}

.exchange-item-ssr-direction {
    font-size: 0.9375rem;
    color: var(--ssr-text-secondary);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.direction-arrow {
    color: var(--ssr-green);
    font-size: 1.125rem;
}

.direction-you {
    background: var(--ssr-green-pale);
    color: var(--ssr-green-deep);
    padding: 0.15rem 0.6rem;
    border-radius: 12px;
    font-weight: 700;
    font-size: 0.875rem;
}

.exchange-item-ssr-quantity {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 80px;
}

.qty-label-ssr {
    font-size: 0.8125rem;
    color: var(--ssr-text-secondary);
    text-transform: uppercase;
    font-weight: 600;
}

.qty-value-ssr {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ssr-green-deep);
}

.qty-unit-ssr {
    font-size: 0.875rem;
    color: var(--ssr-text-secondary);
}

/* ============================================
   Отзывы
   ============================================ */

.review-card-ssr {
    padding: 1.25rem;
    border-bottom: 1px solid var(--ssr-border);
}

.review-card-ssr:last-child {
    border-bottom: none;
}

.review-author {
    font-weight: 700;
    color: var(--ssr-text);
}

.review-rating {
    color: var(--ssr-accent);
    font-size: 1.125rem;
}

/* ============================================
   Статусы (банки/биржи)
   ============================================ */

.status-approved {
    background: var(--ssr-green-pale);
    color: var(--ssr-green-deep);
    padding: 0.375rem 0.875rem;
    border-radius: 20px;
    font-weight: 600;
    font-size: 0.875rem;
}

.status-pending {
    background: var(--ssr-accent-pale);
    color: #b5651a;
    padding: 0.375rem 0.875rem;
    border-radius: 20px;
    font-weight: 600;
    font-size: 0.875rem;
}

.status-rejected {
    background: var(--ssr-danger-pale);
    color: var(--ssr-danger);
    padding: 0.375rem 0.875rem;
    border-radius: 20px;
    font-weight: 600;
    font-size: 0.875rem;
}

.status-shipped {
    background: #e3f2fd;
    color: #1565c0;
    padding: 0.375rem 0.875rem;
    border-radius: 20px;
    font-weight: 600;
    font-size: 0.875rem;
}

.status-completed {
    background: #e8f5e9;
    color: #2e7d32;
    padding: 0.375rem 0.875rem;
    border-radius: 20px;
    font-weight: 600;
    font-size: 0.875rem;
}

/* ============================================
   Аудиентная навигация
   ============================================ */

.back-link-ssr {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--ssr-text-secondary);
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 1.5rem;
    transition: color 0.2s;
}

.back-link-ssr:hover {
    color: var(--ssr-green);
    text-decoration: none;
}

/* ============================================
   Футер
   ============================================ */

.footer-ssr {
    background: var(--ssr-green-deep);
    color: rgba(255, 255, 255, 0.75);
    padding: 2.5rem 0 1.5rem;
    margin-top: 3.5rem;
}

.footer-ssr h5 {
    font-weight: 700;
    font-size: 1.125rem;
    color: #fff;
    margin-bottom: 0.75rem;
}

.footer-ssr h6 {
    font-weight: 700;
    color: #fff;
    font-size: 0.9375rem;
    margin-bottom: 0.75rem;
}

.footer-ssr a {
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
    transition: color 0.2s;
    font-size: 0.9375rem;
}

.footer-ssr a:hover {
    color: var(--ssr-accent);
}

.footer-divider-ssr {
    border-color: rgba(255, 255, 255, 0.15);
    margin: 1.5rem 0 1rem;
}

/* ============================================
   Информационная панель
   ============================================ */

.results-info-ssr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    font-size: 0.9375rem;
    color: var(--ssr-text-secondary);
    font-weight: 500;
}

/* ============================================
   Адаптивность
   ============================================ */

@media (max-width: 768px) {
    body {
        font-size: 16px;
    }

    .page-title-ssr {
        font-size: 1.625rem;
    }

    .filters-card-ssr {
        padding: 1.125rem;
    }

    .variety-card-ssr .card-content {
        padding: 0.875rem;
    }

    .variety-card-ssr .card-name {
        font-size: 0.9375rem;
        line-height: 1.3;
    }

    .variety-card-ssr .card-culture {
        font-size: 0.75rem;
    }

    .exchange-item-ssr {
        flex-direction: column;
        align-items: flex-start;
    }

    .exchange-item-ssr-quantity {
        flex-direction: row;
        gap: 0.5rem;
    }

    /* === Fix horizontal scroll === */
    html, body {
        overflow-x: hidden !important;
        width: 100% !important;
    }

    .container {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* === Fix description/genealogy blocks === */
    .section-description-ssr,
    .section-genealogy-ssr {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }

    .variety-description {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* === Catalog & Bazaar cards === */
    .variety-card-ssr {
        width: 100%;
        max-width: 100%;
    }

    /* === Remove horizontal overflow from images === */
    img {
        max-width: 100%;
        height: auto;
    }

    /* === Catalog page specific === */
    .filters-card-ssr form .col-md-3,
    .filters-card-ssr form .col-md-4,
    .filters-card-ssr form .col-md-2 {
        width: 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* ============================================
   Blur overlay (exchange request selection)
   ============================================ */

.blur-overlay {
    position: relative;
    min-height: 60vh;
}
.blur-overlay .blur-background {
    filter: blur(8px);
    pointer-events: none;
    user-select: none;
}
.blur-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--ssr-white);
    border-radius: var(--ssr-radius);
    padding: 3rem;
    max-width: 560px;
    width: 92%;
    text-align: center;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
    z-index: 1000;
}

/* ============================================
   Утилиты
   ============================================ */

.text-green-ssr { color: var(--ssr-green) !important; }
.text-green-deep-ssr { color: var(--ssr-green-deep) !important; }
.text-accent-ssr { color: var(--ssr-accent) !important; }
.text-muted-ssr { color: var(--ssr-text-secondary) !important; }

.bg-cream-ssr { background: var(--ssr-cream) !important; }
.bg-green-pale-ssr { background: var(--ssr-green-pale) !important; }
.bg-accent-pale-ssr { background: var(--ssr-accent-pale) !important; }

/* Скроллбар для thin scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--ssr-cream);
}

::-webkit-scrollbar-thumb {
    background: var(--ssr-border);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--ssr-text-tertiary);
}

/* ============================================
   Новая система управления фото сортов
   ============================================ */

.photo-drop-zone {
    border: 2px dashed var(--ssr-border);
    border-radius: var(--ssr-radius-sm);
    transition: all 0.2s;
    background: var(--ssr-warm-gray);
}

.photo-drop-zone:hover,
.photo-drop-zone.dragover {
    border-color: var(--ssr-green);
    background: var(--ssr-green-pale);
}

/* Список фото */
.photo-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 500px;
    overflow-y: auto;
    padding-right: 4px;
}

.photo-list::-webkit-scrollbar {
    width: 6px;
}

.photo-list::-webkit-scrollbar-track {
    background: var(--ssr-warm-gray);
    border-radius: 3px;
}

.photo-list::-webkit-scrollbar-thumb {
    background: var(--ssr-border);
    border-radius: 3px;
}

/* Элемент фото */
.photo-item-wrapper {
    transition: all 0.2s;
    border-radius: var(--ssr-radius-sm);
}

.photo-item-wrapper:hover {
    background: var(--ssr-green-faint);
}

.photo-item-wrapper.dragging {
    opacity: 0.5;
    border: 2px dashed var(--ssr-green);
}

.photo-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px;
    border-radius: var(--ssr-radius-sm);
    background: var(--ssr-white);
    border: 1px solid var(--ssr-border);
    position: relative;
}

/* Миниатюра */
.photo-thumb {
    width: 180px;
    height: 140px;
    object-fit: contain;
    border-radius: var(--ssr-radius-xs);
    flex-shrink: 0;
    cursor: pointer;
    transition: all 0.2s;
    background: var(--ssr-warm-gray);
}

.photo-thumb:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transform: scale(1.02);
}

.photo-thumb-placeholder {
    width: 180px;
    height: 140px;
    border-radius: var(--ssr-radius-xs);
    background: var(--ssr-warm-gray);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.photo-thumb-placeholder i {
    font-size: 2rem;
    color: var(--ssr-text-tertiary);
}

/* Бейдж «Главное фото» */
.photo-badge-main {
    position: absolute;
    top: 16px;
    left: 16px;
    background: rgba(255, 193, 7, 0.95);
    color: #fff;
    border-radius: 6px;
    padding: 4px 8px;
    font-size: 0.875rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 3px;
    z-index: 2;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* Кнопки действий на фото */
.photo-actions {
    position: absolute;
    top: 8px;
    right: 8px;
    display: flex;
    gap: 4px;
    z-index: 2;
}

.btn-photo-action {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 6px;
    font-size: 0.875rem;
    cursor: pointer;
    transition: all 0.15s;
    backdrop-filter: blur(4px);
}

.btn-main {
    background: rgba(255, 193, 7, 0.2);
    color: #f9a825;
}

.btn-main:hover {
    background: rgba(255, 193, 7, 0.5);
    color: #f57f17;
}

.btn-delete {
    background: rgba(198, 40, 40, 0.2);
    color: #c74350;
}

.btn-delete:hover {
    background: rgba(198, 40, 40, 0.5);
    color: #fff;
}

/* Чекбокс «Общедоступно» */
.photo-public-check {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    flex-shrink: 0;
    padding: 4px 8px;
    border-radius: var(--ssr-radius-xs);
    transition: all 0.15s;
    position: absolute;
    bottom: 8px;
    right: 8px;
    z-index: 2;
}

.photo-public-check:hover {
    background: rgba(0, 176, 73, 0.1);
}

.form-check-input-photo {
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: var(--ssr-green);
    margin: 0;
}

.photo-public-label {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--ssr-green-deep);
    white-space: nowrap;
}

.photo-public-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    background: var(--ssr-green-pale);
    color: var(--ssr-green-deep);
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 700;
}

/* Легенда */
.photo-legend {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 0.875rem;
    color: var(--ssr-text-secondary);
}

.photo-legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.photo-legend-item i {
    font-size: 1.125rem;
}

/* Пустое состояние */
.photo-empty-state {
    text-align: center;
    padding: 2rem 1rem;
}

/* Адаптивность */
@media (max-width: 768px) {
    .photo-thumb,
    .photo-thumb-placeholder {
        width: 140px;
        height: 110px;
    }

    .photo-item {
        flex-wrap: wrap;
    }

    .photo-actions {
        top: auto;
        bottom: 8px;
        right: 60px;
    }

    .photo-public-check {
        bottom: auto;
        top: 8px;
        right: 8px;
    }
}

/* ============================================
   WYSIWYG Редактор описания
   ============================================ */

.wysiwyg-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    padding: 10px 12px;
    background: linear-gradient(to bottom, var(--ssr-warm-gray), #edece8);
    border: 1.5px solid var(--ssr-border);
    border-bottom: none;
    border-radius: var(--ssr-radius-sm) var(--ssr-radius-sm) 0 0;
}

.toolbar-separator {
    width: 1px;
    height: 32px;
    background: linear-gradient(to bottom, transparent, var(--ssr-border), transparent);
    margin: 0 6px;
}

.btn-editor {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 12px;
    border: 1.5px solid var(--ssr-border);
    border-radius: var(--ssr-radius-xs);
    background: linear-gradient(to bottom, #ffffff, var(--ssr-cream));
    color: var(--ssr-text-secondary);
    font-size: 1.125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    min-width: 40px;
    height: 38px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    position: relative;
}

.btn-editor:hover {
    background: linear-gradient(to bottom, var(--ssr-green-pale), #d9f2e6);
    border-color: var(--ssr-green);
    color: var(--ssr-green-deep);
    box-shadow: 0 2px 6px rgba(0, 176, 73, 0.15);
    transform: translateY(-1px);
}

.btn-editor:active {
    background: var(--ssr-green);
    color: white;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2);
    transform: translateY(0);
}

/* Кнопки форматирования текста */
.btn-editor.btn-h2 {
    color: var(--ssr-green-deep);
    font-weight: 700;
    font-size: 1rem;
}

.btn-editor.btn-h2:hover {
    background: linear-gradient(to bottom, #e8f5e9, #c8e6c9);
    border-color: var(--ssr-green);
}

.btn-editor.btn-h3 {
    color: var(--ssr-green);
    font-weight: 700;
    font-size: 0.9375rem;
}

.btn-editor.btn-h3:hover {
    background: linear-gradient(to bottom, #e8f5e9, #c8e6c9);
    border-color: var(--ssr-green);
}

/* Кнопки цвета */
.btn-editor.btn-red {
    color: var(--ssr-danger);
    border-color: #f5c6cb;
}

.btn-editor.btn-red:hover {
    background: linear-gradient(to bottom, #fdeaea, #f8d7da);
    border-color: var(--ssr-danger);
    color: var(--ssr-danger);
    box-shadow: 0 2px 6px rgba(192, 57, 43, 0.2);
}

.btn-editor.btn-yellow {
    color: #b58100;
    border-color: #f4d9a2;
}

.btn-editor.btn-yellow:hover {
    background: linear-gradient(to bottom, #fff8e6, #fff3cd);
    border-color: #DAA520;
    color: #b58100;
    box-shadow: 0 2px 6px rgba(218, 165, 32, 0.2);
}

.btn-editor.btn-green {
    color: var(--ssr-green-deep);
    border-color: #c8e6c9;
}

.btn-editor.btn-green:hover {
    background: linear-gradient(to bottom, var(--ssr-green-pale), #c8e6c9);
    border-color: var(--ssr-green);
    color: var(--ssr-green-deep);
    box-shadow: 0 2px 6px rgba(0, 176, 73, 0.2);
}

/* Кнопка изображения */
.btn-editor.btn-image {
    color: var(--ssr-accent);
    border-color: #fcd5a7;
}

.btn-editor.btn-image:hover {
    background: linear-gradient(to bottom, #fff4e6, #ffe0b2);
    border-color: var(--ssr-accent);
    color: #e08a3a;
    box-shadow: 0 2px 6px rgba(244, 162, 97, 0.25);
}

/* Ресайз-хендл для изображений в редакторе — ТОЛЬКО в .wysiwyg-editor */
.wysiwyg-editor .editor-image-resize-handle {
    position: absolute;
    right: -6px;
    bottom: -6px;
    width: 16px;
    height: 16px;
    background: var(--ssr-green);
    border: 2px solid white;
    border-radius: 3px;
    cursor: nwse-resize;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    z-index: 100;
    transition: all 0.15s;
}

.wysiwyg-editor .editor-image-resize-handle:hover {
    background: var(--ssr-green-deep);
    transform: scale(1.2);
    box-shadow: 0 3px 8px rgba(0, 176, 73, 0.3);
}

.wysiwyg-editor .editor-image-resize-handle::before {
    content: '';
    position: absolute;
    bottom: 3px;
    right: 3px;
    width: 8px;
    height: 8px;
    border-right: 2px solid white;
    border-bottom: 2px solid white;
}

/* ========================
   Старые resize handles — СКРЫТЬ на фронтенде и во всех местах кроме редактора
   ======================== */

/* Принудительно скрываем все элементы resize/handle во фронтенде */
.variety-description .editor-image-resize-handle,
.section-description-ssr .editor-image-resize-handle,
.card-ssr-body.variety-description .editor-image-resize-handle,
.variety-description .resize-handle,
.section-description-ssr .resize-handle,
.card-ssr-body.variety-description .resize-handle,
.variety-description .image-toolbar,
.section-description-ssr .image-toolbar,
.card-ssr-body.variety-description .image-toolbar {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
}

/* ============================================
   Новые resize handles (8 направлений) — ТОЛЬКО в редакторе
   ============================================ */

.wysiwyg-editor .resize-handle {
    transition: transform 0.1s ease;
}

.wysiwyg-editor .resize-handle:hover {
    transform: scale(1.3);
    border-color: var(--ssr-green-deep);
    box-shadow: 0 0 6px rgba(0, 176, 73, 0.4);
}

/* Панель инструментов изображения — ТОЛЬКО в редакторе */
.wysiwyg-editor .image-toolbar {
    animation: toolbarFadeIn 0.2s ease;
}

@keyframes toolbarFadeIn {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.wysiwyg-editor .image-toolbar input[type="number"] {
    -moz-appearance: textfield;
}

.wysiwyg-editor .image-toolbar input[type="number"]::-webkit-outer-spin-button,
.wysiwyg-editor .image-toolbar input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.wysiwyg-editor {
    min-height: 250px;
    padding: 16px;
    line-height: 1.7;
    font-size: 1rem;
    border-radius: 0 var(--ssr-radius-sm) var(--ssr-radius-sm) 0;
}

.wysiwyg-editor:focus {
    border-color: var(--ssr-green);
    box-shadow: 0 0 0 3px rgba(0, 176, 73, 0.12);
}

.wysiwyg-editor h2 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--ssr-green-deep);
    margin: 0.75rem 0 0.375rem;
    border-bottom: 2px solid var(--ssr-green-pale);
    padding-bottom: 0.375rem;
}

.wysiwyg-editor h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ssr-text);
    margin: 0.625rem 0 0.25rem;
}

.wysiwyg-editor p {
    margin: 0.375rem 0;
    line-height: 1.6;
}

.wysiwyg-editor figure.editor-image {
    display: block;
    max-width: 100%;
    margin: 2px 0 !important;
    padding: 0 !important;
    text-align: center;
    page-break-inside: avoid;
    position: relative;
}

.wysiwyg-editor figure.editor-image + p,
.wysiwyg-editor p + figure.editor-image {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.wysiwyg-editor figure.editor-image img {
    border-radius: var(--ssr-radius-sm);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    margin: 0 auto;
    display: block;
}

.wysiwyg-editor figure.editor-image figcaption {
    text-align: center;
    font-size: 0.85em;
    color: var(--ssr-text-secondary);
    margin-top: 6px;
    font-style: italic;
}

/* Убираем лишний отступ после figure */
.wysiwyg-editor figure + p,
.wysiwyg-editor p + figure,
.wysiwyg-editor p:empty {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.wysiwyg-editor figure {
    margin: 2px 0 !important;
    padding: 0 !important;
}

.wysiwyg-editor p {
    margin: 0 !important;
}

.wysiwyg-editor b,
.wysiwyg-editor strong {
    font-weight: 700;
    color: var(--ssr-text);
}

.wysiwyg-editor i,
.wysiwyg-editor em {
    font-style: italic;
}

.wysiwyg-editor u {
    text-decoration: underline;
}

/* Цветные текстовые блоки */
.wysiwyg-editor span[style*="color: red"],
.wysiwyg-editor span[style*="color:#ff0000"] {
    color: var(--ssr-danger) !important;
    font-weight: 600;
}

.wysiwyg-editor span[style*="color: green"],
.wysiwyg-editor span[style*="color:#008000"] {
    color: var(--ssr-green-deep) !important;
    font-weight: 600;
}

/* Адаптивность редактора */
@media (max-width: 768px) {
    .wysiwyg-toolbar {
        padding: 6px 8px;
    }

    .btn-editor {
        padding: 5px 8px;
        font-size: 0.8125rem;
        min-width: 28px;
        height: 28px;
    }

    .wysiwyg-editor {
        min-height: 200px;
        padding: 12px;
        font-size: 0.9375rem;
    }
}

/* ============================================
   Зелёное первое слово в заголовках (hero word)
   ============================================ */

/* Hero word - максимальная специфичность для ВСЕХ страниц и контекстов */
.hero-word,
.hero-word *,
body .hero-word {
    color: var(--ssr-green-deep) !important;
    font-weight: 800 !important;
}

/* Персональный каталог пользователя (user_variety_detail) */
.card-ssr-body.variety-description h2 span.hero-word,
.card-ssr-body.variety-description h3 span.hero-word,
.card-ssr-body.variety-description h2.hero span.hero-word,
.card-ssr-body.variety-description h3.hero span.hero-word {
    color: var(--ssr-green-deep) !important;
    font-weight: 900 !important;
}

/* Общий каталог (variety_detail) */
.section-description-ssr h2 span.hero-word,
.section-description-ssr h3 span.hero-word,
.section-description-ssr h2.hero span.hero-word,
.section-description-ssr h3.hero span.hero-word {
    color: var(--ssr-green-deep) !important;
    font-weight: 900 !important;
}

/* Редактор */
.wysiwyg-editor h2 span.hero-word,
.wysiwyg-editor h3 span.hero-word,
.wysiwyg-editor h2.hero span.hero-word,
.wysiwyg-editor h3.hero span.hero-word {
    color: var(--ssr-green-deep) !important;
    font-weight: 900 !important;
}

/* Универсальный fallback для любых вложенностей */
.section-description-ssr div div span.hero-word,
.card-ssr-body.variety-description div div span.hero-word {
    color: var(--ssr-green-deep) !important;
    font-weight: 900 !important;
}

/* ============================================
   Figure/Styling для описания сорта на detail-страницах
   ============================================ */

/* Figure в описании сорта — одинаковые стили для редактора и вывода */
.variety-description figure,
.section-description-ssr figure {
    display: block !important;
    max-width: 100% !important;
    margin: 1rem 0 !important;
    padding: 0 !important;
    text-align: center !important;
    page-break-inside: avoid !important;
    height: auto !important;
}

/* Изображения внутри figure */
.variety-description figure img,
.section-description-ssr figure img {
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
    border-radius: var(--ssr-radius-sm);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* Подписи под изображениями */
.variety-description figure figcaption,
.section-description-ssr figure figcaption {
    text-align: center !important;
    font-size: 0.85em !important;
    color: var(--ssr-text-secondary) !important;
    margin-top: 6px !important;
    font-style: italic !important;
}

/* Убираем лишние отступы между figure и соседними элементами */
.variety-description figure + p,
.variety-description p + figure,
.section-description-ssr figure + p,
.section-description-ssr p + figure,
.variety-description p:empty,
.section-description-ssr p:empty {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* ============================================
   Hero заголовки (h2.hero, h3.hero)
   ============================================ */

/* Сам заголовок h2/h3 с классом hero */
.variety-description h2.hero,
.variety-description h3.hero,
.section-description-ssr h2.hero,
.section-description-ssr h3.hero {
    margin: 1.25rem 0 0.625rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--ssr-text);
}

/* Первый H2 после текста */
.variety-description p + h2.hero,
.section-description-ssr p + h2.hero {
    margin-top: 1.5rem;
}

/* ЗЕЛЁНОЕ ПЕРВОЕ СЛОВО — принудительно для всех контекстов */
.variety-description h2.hero span.hero-word,
.variety-description h3.hero span.hero-word,
.section-description-ssr h2.hero span.hero-word,
.section-description-ssr h3.hero span.hero-word,
.card-ssr-body.variety-description h2.hero span.hero-word,
.card-ssr-body.variety-description h3.hero span.hero-word,
.wysiwyg-editor h2.hero span.hero-word,
.wysiwyg-editor h3.hero span.hero-word {
    color: var(--ssr-green-deep) !important;
    font-weight: 900;
}
