/*
 * rc-redesign.css — стили из моков редизайна (index/auth/register/contacts_template_mock.html,
 * см. rankcraft_handover.md в старом репозитории). Вынесены из инлайновых <style> в моках
 * в один файл, как и планировалось в хендовере. Классы (rc-*, mock-*) — оригинальные,
 * без переименования, чтобы будущие переносы вёрстки (карточка компании, лента отзывов
 * и т.д.) можно было копировать из оставшихся моков без переучивания именования.
 */

:root {
    --bg-color: #f8fafc;
    --text-main: #0f172a;
    --text-muted: #64748b;
    --primary: #3b82f6;
    --card-bg: #ffffff;
    --border-color: #e2e8f0;
    --star-active: #fbbf24;
    --star-inactive: #cbd5e1;
    --pro-color: #10b981;
    --con-color: #ef4444;
    --radius: 16px;
    --nav-height: 70px;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--bg-color);
    color: var(--text-main);
    margin: 0;
    padding: 0;
    line-height: 1.6;
}

.container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 32px 24px;
}

/* ---------- Навигация (шапка) ---------- */
.mock-nav {
    background: white;
    min-height: var(--nav-height);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    font-weight: 600;
    position: sticky;
    top: 0;
    z-index: 100;
}

.nav-mobile-top { display: flex; align-items: center; gap: 32px; }

.mock-logo {
    font-size: 20px;
    font-weight: 800;
    color: var(--primary);
    letter-spacing: -0.5px;
    text-decoration: none;
}

.mobile-burger { display: none; background: none; border: none; font-size: 24px; cursor: pointer; color: var(--text-main); }

.nav-desktop-links { display: flex; gap: 20px; }
.nav-desktop-links a { text-decoration: none; color: var(--text-main); font-size: 15px; transition: color 0.2s; }
.nav-desktop-links a:hover { color: var(--primary); }

.nav-right-actions { display: flex; align-items: center; gap: 20px; }

.mobile-menu { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: white; z-index: 9999; flex-direction: column; padding: 24px; box-sizing: border-box; overflow-y: auto; }
.mobile-menu.active { display: flex; }
.mobile-menu a { text-decoration: none; color: var(--text-main); font-weight: 600; font-size: 24px; display: block; margin-bottom: 24px; }
.mobile-menu-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 40px; }
.mobile-menu-close { background: none; border: none; font-size: 36px; line-height: 1; cursor: pointer; color: var(--text-main); padding: 0; }

.nav-icon-btn {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-main);
    font-size: 15px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
}
.nav-icon-btn:hover { color: var(--primary); }
.desktop-only { display: flex; }

.rc-nav-search input { border: 1px solid var(--border-color); border-radius: 8px; padding: 8px 14px; font-size: 14px; font-family: 'Inter', sans-serif; width: 220px; background: #f8fafc; outline: none; }
.rc-nav-search input:focus { border-color: var(--primary); background: #fff; }

.btn-header-add {
    background: var(--primary);
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(59, 130, 246, 0.3);
    transition: background 0.2s;
    text-decoration: none;
    display: inline-block;
}
.btn-header-add:hover { background: #2563eb; }

/* ---------- Hero / поиск (главная) ---------- */
.rc-hero {
    background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);
    color: white;
    padding: 60px 24px;
    text-align: center;
    border-radius: var(--radius);
    margin-bottom: 32px;
}
.rc-hero h1 { font-size: 36px; font-weight: 800; margin: 0 0 16px 0; }
.rc-hero p { font-size: 18px; color: #bfdbfe; margin: 0 0 32px 0; max-width: 600px; margin-left: auto; margin-right: auto; }

.rc-search-box {
    display: flex;
    max-width: 700px;
    margin: 0 auto;
    background: white;
    padding: 8px;
    border-radius: 12px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
}
.rc-search-input {
    flex-grow: 1;
    border: none;
    padding: 12px 20px;
    font-size: 16px;
    font-family: 'Inter', sans-serif;
    outline: none;
    border-radius: 8px;
    box-sizing: border-box;
}
.rc-search-btn {
    background: var(--text-main);
    color: white;
    border: none;
    padding: 12px 32px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s;
    box-sizing: border-box;
}
.rc-search-btn:hover { background: #334155; }

.rc-widget {
    background: var(--card-bg);
    border-radius: var(--radius);
    padding: 24px;
    border: 1px solid var(--border-color);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
}
.rc-widget-title { font-size: 18px; font-weight: 800; margin: 0 0 20px 0; color: var(--text-main); }

/* ---------- Формы (auth/register/contacts общие) ---------- */
.rc-form-group { margin-bottom: 20px; }
.rc-form-group label { display: block; margin-bottom: 8px; font-weight: 600; color: var(--text-main); font-size: 14px; }
.rc-form-group label span.required, .rc-form-group .required { color: #ef4444; margin-left: 2px; }

.rc-form-group input[type="text"],
.rc-form-group input[type="email"],
.rc-form-group input[type="password"],
.rc-form-group select,
.rc-form-group textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    box-sizing: border-box;
    outline: none;
    transition: border-color 0.2s;
    background-color: #f8fafc;
}
.rc-form-group select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 16px;
    padding-right: 40px;
}
.rc-form-group textarea { resize: vertical; min-height: 160px; }
.rc-form-group input:focus, .rc-form-group select:focus, .rc-form-group textarea:focus { border-color: var(--primary); background-color: #fff; }

.rc-form-options { display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px; font-size: 14px; }
.rc-checkbox-label { display: flex; align-items: center; gap: 8px; cursor: pointer; color: var(--text-main); user-select: none; }
.rc-checkbox-label input { cursor: pointer; width: 16px; height: 16px; accent-color: var(--primary); }

.rc-form-errors { background: #fef2f2; border: 1px solid #fecaca; color: #b00020; border-radius: 8px; padding: 16px 20px; margin: 0 0 20px 0; list-style: none; font-size: 14px; }
.rc-form-errors li { margin-bottom: 4px; }
.rc-form-errors li:last-child { margin-bottom: 0; }
.rc-form-success { background: #f0fdf4; border: 1px solid #bbf7d0; color: #0a7a2f; border-radius: 8px; padding: 16px 20px; font-weight: 600; }

/* Капча: вместо картинки (в старом коде она не работала) — простой математический вопрос,
   см. handler.php компонентов. Визуально занимает место, где в моке была rc-captcha-img. */
.rc-captcha-box { display: flex; gap: 16px; align-items: flex-end; margin-bottom: 32px; }
.rc-captcha-question {
    border: 1px solid var(--border-color);
    border-radius: 8px;
    height: 48px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    white-space: nowrap;
    background: #f1f5f9;
    font-weight: 600;
    color: var(--text-main);
    box-sizing: border-box;
}

/* ---------- Auth / Register карточка ---------- */
.rc-auth-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: calc(100vh - var(--nav-height) - 400px);
    padding: 60px 24px;
}
.rc-auth-card {
    background: var(--card-bg);
    border-radius: var(--radius);
    padding: 48px;
    width: 100%;
    max-width: 440px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--border-color);
    box-sizing: border-box;
}
.rc-auth-title { font-size: 28px; font-weight: 800; margin: 0 0 12px 0; text-align: center; color: var(--text-main); }
.rc-auth-subtitle { text-align: center; color: var(--text-muted); margin: 0 0 32px 0; font-size: 15px; }
.rc-auth-btn {
    width: 100%;
    background: var(--primary);
    color: white;
    border: none;
    padding: 14px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
    margin-bottom: 24px;
}
.rc-auth-btn:hover { background: #2563eb; }
.rc-auth-links { display: flex; flex-direction: column; gap: 12px; text-align: center; font-size: 14px; }
.rc-auth-links a { color: var(--primary); text-decoration: none; font-weight: 600; }
.rc-auth-links a:hover { text-decoration: underline; }
.rc-auth-footer-text { color: var(--text-muted); margin-top: 16px; font-size: 13px; line-height: 1.5; }

/* ---------- Контакты ---------- */
.rc-contacts-wrapper { padding: 40px 0; display: flex; justify-content: center; align-items: flex-start; }
.rc-contacts-card {
    background: var(--card-bg);
    border-radius: var(--radius);
    padding: 48px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03);
    border: 1px solid var(--border-color);
    width: 100%;
    max-width: 700px;
    box-sizing: border-box;
}
.rc-page-title { font-size: 32px; font-weight: 800; margin: 0 0 12px 0; color: var(--text-main); }
.rc-page-desc { font-size: 16px; color: var(--text-muted); margin-bottom: 32px; }
.rc-submit-btn {
    background: var(--primary);
    color: white;
    border: none;
    padding: 14px 32px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}
.rc-submit-btn:hover { background: #2563eb; }

/* ---------- Страница отзыва / компании (из company_template_mock.html) ---------- */
.rc-employer-header {
    background: var(--card-bg);
    border-radius: var(--radius);
    padding: 32px;
    margin-bottom: 32px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    border: 1px solid var(--border-color);
}
.rc-employer-info h1, .rc-employer-info .rc-company-title { margin: 0 0 12px 0; font-size: 36px; font-weight: 800; }
.rc-employer-meta { display: flex; gap: 16px; color: var(--text-muted); font-size: 15px; margin-bottom: 24px; font-weight: 500; flex-wrap: wrap; }
.rc-employer-desc { font-size: 15px; color: #334155; max-width: 650px; background: #f1f5f9; padding: 20px; border-radius: 12px; border-left: 4px solid var(--primary); }
.rc-employer-stats-top { display: flex; flex-direction: column; justify-content: center; align-items: flex-end; padding-left: 32px; border-left: 1px solid var(--border-color); min-width: 200px; }
.rc-rating-huge { font-size: 56px; font-weight: 800; line-height: 1; color: var(--text-main); }
.rc-stars-large { color: var(--star-active); font-size: 24px; margin: 8px 0; letter-spacing: 2px; }
.rc-recommend-badge { display: inline-flex; align-items: center; background: #dcfce7; color: #166534; padding: 6px 14px; border-radius: 20px; font-weight: 600; font-size: 14px; }

/* Layout главной: контент + сайдбар 340px справа (из index-мока) */
.rc-home-layout { display: grid; grid-template-columns: 1fr 340px; gap: 32px; }
.rc-comment-item { margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--border-color); }
.rc-comment-item:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.rc-comment-context { font-size: 13px; font-weight: 600; color: var(--primary); margin-bottom: 6px; display: block; text-decoration: none; }
.rc-comment-context:hover { text-decoration: underline; }
.rc-comment-text { font-size: 14px; color: #334155; line-height: 1.5; margin-bottom: 8px; }
.rc-comment-meta { font-size: 12px; color: var(--text-muted); display: flex; justify-content: space-between; }
@media (max-width: 900px) {
    .rc-home-layout { display: flex; flex-direction: column; }
    .rc-home-layout aside { order: 2; }
    .rc-home-layout main { order: 1; }
}

/* Layout страницы компании: сайдбар 320px слева + контент (из company-мока) */
.rc-layout { display: grid; grid-template-columns: 320px 1fr; gap: 32px; }
.rc-sidebar-sticky { position: sticky; top: calc(var(--nav-height) + 24px); display: flex; flex-direction: column; gap: 24px; }
.rc-reviews-header { margin-bottom: 24px; }

/* Рейтинг-бары (Оценки компании) */
.rc-bar-row { display: flex; align-items: center; margin-bottom: 14px; font-size: 14px; font-weight: 500; }
.rc-bar-label { width: 45px; color: var(--text-muted); display: flex; align-items: center; justify-content: space-between; padding-right: 8px; }
.rc-bar-label span { color: var(--star-active); font-size: 12px; }
.rc-bar-track { flex-grow: 1; height: 6px; background: #e2e8f0; border-radius: 4px; margin: 0 12px; overflow: hidden; }
.rc-bar-fill { height: 100%; background: var(--star-active); border-radius: 4px; }
.rc-bar-count { width: 35px; text-align: right; color: var(--text-muted); }

/* Популярные города */
.rc-geo-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.rc-geo-tag { background: white; border: 1px solid var(--border-color); padding: 6px 12px; border-radius: 20px; font-size: 13px; color: #475569; font-weight: 500; }

.rc-filters { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; }
.rc-filter-btn { background: white; border: 1px solid var(--border-color); padding: 8px 16px; border-radius: 20px; font-size: 14px; font-weight: 500; cursor: pointer; color: var(--text-main); transition: all 0.2s; text-decoration: none; display: inline-block; }
.rc-filter-btn:hover { border-color: var(--text-muted); }
.rc-filter-btn.active { background: var(--text-main); color: white; border-color: var(--text-main); }

.rc-review-card { background: var(--card-bg); border-radius: var(--radius); padding: 32px; margin-bottom: 24px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02); border: 1px solid var(--border-color); }
.rc-review-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 24px; gap: 16px; }
.rc-review-title { font-size: 20px; font-weight: 700; margin: 0 0 8px 0; }
h1.rc-review-title { font-size: 24px; }
.rc-review-title a { color: inherit; text-decoration: none; }
.rc-review-title a:hover { color: var(--primary); }
.rc-stars { color: var(--star-active); font-size: 18px; letter-spacing: 2px; }
.rc-review-meta { text-align: right; font-size: 13px; color: var(--text-muted); font-weight: 500; flex-shrink: 0; }
.rc-review-meta .rc-meta-author { font-weight: 600; color: var(--text-main); margin-right: 8px; }
.rc-review-meta .rc-meta-icons { display: flex; gap: 12px; justify-content: flex-end; font-size: 13px; }

.rc-review-body { display: flex; flex-direction: column; gap: 20px; }
.rc-feedback-block h4 { margin: 0 0 6px 0; font-size: 15px; font-weight: 700; }
.rc-feedback-pro h4 { color: var(--pro-color); }
.rc-feedback-con h4 { color: var(--con-color); }
.rc-feedback-text { font-size: 15px; color: #334155; line-height: 1.6; overflow-wrap: break-word; }
.rc-text-truncated { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.rc-read-more { color: var(--primary); font-size: 14px; font-weight: 600; cursor: pointer; display: inline-block; margin-top: 4px; background: none; border: none; padding: 0; font-family: inherit; }
.rc-read-more:hover { text-decoration: underline; }

.rc-official-response { background: #f0fdf4; border-left: 4px solid #22c55e; padding: 16px 20px; border-radius: 0 8px 8px 0; margin-top: 24px; font-size: 14px; }
.rc-official-title { font-weight: 700; color: #166534; margin-bottom: 8px; display: flex; justify-content: space-between; }
.rc-official-date { color: #4ade80; font-weight: 400; font-size: 13px; }

/* Автокомплит компаний в форме отзыва */
.rc-suggest { position: relative; }
.rc-suggest-item { background: white; border: 1px solid var(--border-color); border-top: none; padding: 10px 14px; cursor: pointer; font-size: 14px; }
.rc-suggest-item:hover { background: #f1f5f9; }
.rc-suggest-item:first-child { border-top: 1px solid var(--border-color); }

.rc-review-photos { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 20px; }
.rc-review-photos img { height: 120px; width: auto; border-radius: 8px; border: 1px solid var(--border-color); transition: opacity 0.2s; }
.rc-review-photos img:hover { opacity: 0.85; }

.rc-review-actions { display: flex; align-items: center; gap: 24px; margin-top: 24px; padding-top: 20px; border-top: 1px solid #f1f5f9; flex-wrap: wrap; }
.rc-action-btn { background: none; border: none; cursor: pointer; color: var(--text-muted); font-size: 14px; font-weight: 500; display: inline-flex; align-items: center; gap: 6px; padding: 0; text-decoration: none; font-family: inherit; }
.rc-action-btn:hover { color: var(--primary); }
.rc-action-btn--danger:hover { color: var(--con-color); }

.rc-add-comment-form { display: none; margin-top: 16px; background: #f8fafc; border: 1px solid var(--border-color); border-radius: 12px; padding: 20px; }
.rc-add-comment-form.active { display: block; }
.rc-add-comment-title { font-weight: 700; font-size: 16px; margin-bottom: 16px; color: var(--text-main); }
.rc-auth-toggle { background: #84cc6d; color: white; padding: 8px 16px; border-radius: 4px; font-size: 12px; font-weight: 700; display: inline-block; cursor: pointer; margin-bottom: 16px; text-transform: uppercase; }
.rc-auth-toggle:hover { background: #6dbb56; }
.rc-auth-panel { display: none; }
.rc-auth-panel.active { display: block; }
.rc-auth-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 8px; }
.rc-btn-submit { background: #84cc6d; color: white; border: none; padding: 10px 20px; border-radius: 4px; font-weight: 600; cursor: pointer; text-transform: uppercase; font-size: 13px; }
.rc-btn-submit:hover { background: #6dbb56; }

.rc-comments-section { margin-top: 20px; background: #f8fafc; border-radius: 12px; padding: 16px; border: 1px solid var(--border-color); }
.rc-comment { padding: 12px 0; border-bottom: 1px solid #e2e8f0; font-size: 14px; }
.rc-comment:last-child { border-bottom: none; padding-bottom: 0; }
.rc-comment-header { font-weight: 600; margin-bottom: 4px; display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.rc-comment-date { color: var(--text-muted); font-weight: 400; font-size: 12px; }
.rc-comment-official { background: #f0fdf4; border-left: 3px solid #22c55e; padding: 12px 16px; margin: 8px -16px; border-radius: 0 4px 4px 0; border-bottom: none; }
.rc-comment-official-badge { background: #22c55e; color: white; padding: 2px 6px; border-radius: 4px; font-size: 10px; font-weight: 700; text-transform: uppercase; margin-left: 8px; vertical-align: middle; }
.rc-show-comments-btn { width: 100%; background: #f8fafc; border: 1px dashed var(--border-color); padding: 12px; border-radius: 8px; color: var(--text-muted); font-weight: 600; cursor: pointer; margin-top: 16px; transition: all 0.2s; font-family: inherit; font-size: 14px; }
.rc-show-comments-btn:hover { background: #f1f5f9; color: var(--text-main); border-style: solid; }

.rc-section-title { font-size: 24px; font-weight: 800; margin: 40px 0 20px 0; }
.rc-load-more { display: block; width: 100%; text-align: center; background: white; border: 1px solid var(--border-color); padding: 12px; border-radius: 8px; color: var(--text-main); font-weight: 600; cursor: pointer; font-family: inherit; font-size: 14px; margin-bottom: 24px; }
.rc-load-more:hover { border-color: var(--text-muted); }
.rc-loading { text-align: center; color: var(--text-muted); padding: 16px; }

/* Служебные элементы, используемые и на публичных страницах
   (flash-сообщения после действий, бейджи статуса, списки «поле-значение») */
.admin-flash { padding: 14px 18px; border-radius: 8px; margin-bottom: 20px; font-weight: 600; font-size: 14px; }
.admin-flash--ok { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; }
.admin-flash--err { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
.admin-badge { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.admin-badge--ok { background: #ecfdf5; color: #047857; }
.admin-badge--off { background: #fef2f2; color: #b91c1c; }
.admin-defs { display: grid; grid-template-columns: 180px 1fr; gap: 10px 20px; font-size: 14px; }
.admin-defs dt { color: var(--text-muted); font-weight: 600; }
.admin-defs dd { margin: 0; word-break: break-word; }

.rc-breadcrumbs { font-size: 13px; color: var(--text-muted); margin-bottom: 16px; }
.rc-breadcrumbs a { color: var(--text-muted); text-decoration: none; }
.rc-breadcrumbs a:hover { color: var(--primary); text-decoration: underline; }

.rc-mod-panel { display: flex; gap: 12px; align-items: center; margin-top: 12px; flex-wrap: wrap; }
.rc-mod-btn { font-size: 13px; padding: 6px 14px; border-radius: 6px; border: 1px solid var(--border-color); background: #f8fafc; color: var(--text-main); cursor: pointer; text-decoration: none; font-family: inherit; }
.rc-mod-btn:hover { border-color: var(--text-muted); }
.rc-mod-btn--danger { color: #b91c1c; border-color: #fecaca; background: #fef2f2; }

@media (max-width: 900px) {
    /* На планшете/мобиле сайдбар компании уходит под контент */
    .rc-layout { display: flex; flex-direction: column; }
    .rc-layout aside { order: 2; }
    .rc-layout main { order: 1; }
    .rc-sidebar-sticky { position: static; }
}

@media (max-width: 768px) {
    .rc-employer-header { flex-direction: column; padding: 24px 16px; }
    .rc-employer-stats-top { border-left: none; border-top: 1px solid var(--border-color); padding-left: 0; padding-top: 24px; margin-top: 24px; align-items: center; }
    .rc-review-header { flex-direction: column; gap: 12px; }
    .rc-review-meta { text-align: left; }
    .rc-review-meta .rc-meta-icons { justify-content: flex-start; }
    .rc-auth-grid { grid-template-columns: 1fr; }
}

/* ---------- Подвал ---------- */
.rc-footer { background: #f1f5f9; padding: 48px 24px; margin-top: 64px; color: #475569; font-size: 14px; border-top: 1px solid var(--border-color); }
.rc-footer-content { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 32px; margin-bottom: 48px; }
.rc-footer-col h4 { color: var(--text-main); font-weight: 700; margin: 0 0 16px 0; font-size: 16px; }
.rc-footer-col ul { list-style: none; padding: 0; margin: 0; }
.rc-footer-col ul li { margin-bottom: 12px; }
.rc-footer-col a { color: #475569; text-decoration: none; transition: color 0.2s; }
.rc-footer-col a:hover { color: var(--primary); }
.rc-footer-bottom { max-width: 1100px; margin: 0 auto; border-top: 1px solid #e2e8f0; padding-top: 32px; display: flex; justify-content: space-between; align-items: flex-start; gap: 48px; }
.rc-footer-text { flex-grow: 1; max-width: 700px; }
.rc-footer-text p { margin: 0 0 12px 0; }
.rc-footer-copy { margin-top: 24px; font-size: 13px; }
.rc-telegram-btn { display: inline-flex; align-items: center; background: #3b82f6; color: white; padding: 10px 20px; border-radius: 8px; text-decoration: none; font-weight: 600; transition: background 0.2s; }
.rc-telegram-btn:hover { background: #2563eb; }

@media (max-width: 768px) {
    .mock-nav { flex-direction: column; align-items: stretch; height: auto; padding: 16px; gap: 16px; }
    .nav-mobile-top { justify-content: space-between; width: 100%; }
    .mobile-burger { display: block; }
    .nav-desktop-links, .desktop-only { display: none; }
    .nav-right-actions { justify-content: center; width: 100%; }
    .btn-header-add { width: 100%; }
    .rc-hero { padding: 40px 16px; }
    .rc-hero h1 { font-size: 28px; }
    .rc-search-box { flex-direction: column; gap: 8px; background: transparent; box-shadow: none; padding: 0; }
    .rc-search-input { width: 100%; box-shadow: 0 4px 10px rgba(0,0,0,0.1); }
    .rc-search-btn { width: 100%; padding: 14px; }
    .rc-footer-content { grid-template-columns: 1fr; }
    .rc-footer-bottom { flex-direction: column; gap: 24px; }
    .rc-auth-wrapper { padding: 24px 16px; min-height: auto; }
    .rc-auth-card { padding: 32px 24px; }
    .rc-contacts-wrapper { padding: 24px 16px; }
    .rc-contacts-card { padding: 32px 24px; }
    .rc-captcha-box { flex-direction: column; align-items: stretch; }
}
