/* Сброс стилей браузера */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption,
tbody, tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output,
ruby, section, summary, time, mark, audio, video {
    margin: 0; padding: 0; border: 0;
    font-size: 100%; font: inherit; vertical-align: baseline;
    box-sizing: border-box;
}
html { box-sizing: border-box; font-size: 16px; }
*, *:before, *:after { box-sizing: inherit; }

/* Body */
body {
    font-family: 'Segoe UI', Arial, sans-serif;
    background: #f6f8fa;
    color: #24262b;
    line-height: 1.6;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
}

/* Header */
.main-header {
    background: #fff;
    border-bottom: 2px solid #e6e8ee;
    box-shadow: 0 2px 12px rgba(40, 60, 100, 0.06);
    position: sticky; top: 0; z-index: 10;
}
.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
    height: 70px;
}
.logo {
    display: block;
    height: 42px;
    width: auto;
}
.main-nav {
    display: flex;
    gap: 28px;
}
.nav-link {
    color: #24262b;
    text-decoration: none;
    font-weight: 500;
    font-size: 1.08rem;
    transition: color .2s;
    position: relative;
    padding: 6px 2px;
}
.nav-link.active,
.nav-link:hover {
    color: #2374e1;
}
.nav-link.active::after,
.nav-link:hover::after {
    content: "";
    display: block;
    height: 3px;
    border-radius: 2px;
    background: #2374e1;
    width: 80%;
    margin: 0 auto;
    margin-top: 2px;
}

/* Main content padding for sticky header */
.main-content {
    margin-top: 24px;
    min-height: 80vh;
    max-width: 1200px;
    margin-left: auto; margin-right: auto;
    padding: 0 24px 36px 24px;
}

/* Адаптивность */
@media (max-width: 900px) {
    .header-inner { padding: 0 16px; }
    .main-content { padding: 0 8px 28px 8px; }
}
@media (max-width: 650px) {
    .header-inner {
        flex-direction: column;
        height: auto;
        padding: 8px 6px;
        gap: 8px;
    }
    .main-nav { gap: 14px; }
    .logo { height: 32px; }
}

/* Footer */
.main-footer {
    background: #1b2430;
    color: #e3e6ef;
    padding: 38px 0 22px 0;
    border-top: 3px solid #2374e1;
    font-size: 0.98rem;
}
.footer-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
    flex-wrap: wrap;
    gap: 28px 20px;
}
.footer-col {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 180px;
}
.logo-col { flex: 1.4; }
.footer-logo {
    width: 120px;
    height: auto;
    margin-bottom: 10px;
}
.footer-desc {
    color: #aab2c9;
    font-size: 0.96em;
    margin-top: 6px;
    max-width: 250px;
}
.footer-nav {
    display: flex;
    flex-direction: column;
    gap: 11px;
    flex: 1;
    margin-top: 8px;
}
.footer-link {
    color: #e3e6ef;
    text-decoration: none;
    transition: color 0.18s;
    font-weight: 500;
}
.footer-link:hover {
    color: #59a4ff;
}
.contacts-col { flex: 1.1; }
.footer-contact-label {
    font-size: 1em;
    color: #b6b9c8;
    margin-bottom: 4px;
}
.footer-contact-link {
    color: #c6e1ff;
    text-decoration: none;
    font-weight: 500;
    margin-left: 2px;
}
.footer-contact-link:hover {
    text-decoration: underline;
    color: #92caff;
}
.footer-copyright {
    color: #8a93ad;
    font-size: 0.92em;
    margin-top: 16px;
}

/* Адаптивность футера */
@media (max-width: 900px) {
    .footer-inner { padding: 0 12px; gap: 20px 10px; }
    .footer-logo { width: 85px; }
}
@media (max-width: 650px) {
    .footer-inner {
        flex-direction: column;
        gap: 16px;
        align-items: stretch;
    }
    .footer-col, .contacts-col, .logo-col {
        min-width: 0;
        width: 100%;
    }
    .footer-desc { max-width: none; }
}
/* Hero */
.hero {
    background: linear-gradient(112deg, #e9f2ff 65%, #bfd7f6 100%);
    position: relative;
    min-height: 380px;
    display: flex; align-items: center;
    border-radius: 16px;
    margin-bottom: 36px;
    overflow: hidden;
}
.hero-bg {
    position: absolute; right: 0; top: 0; bottom: 0; width: 46%;
    background: url('/img/hero-bg.webp') no-repeat center/cover;
    opacity: 0.22;
}
.hero-content {
    position: relative;
    z-index: 2;
    max-width: 52%;
    padding: 54px 48px 54px 24px;
}
.hero h1 {
    font-size: 2.7rem;
    font-weight: 800;
    color: #153163;
    margin-bottom: 14px;
    letter-spacing: -0.5px;
}
.hero-desc {
    color: #41577a;
    margin-bottom: 28px;
    font-size: 1.16rem;
}
.hero-btn {
    display: inline-block;
    background: #2374e1;
    color: #fff;
    border-radius: 6px;
    padding: 12px 26px;
    font-size: 1.1em;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s;
}
.hero-btn:hover { background: #174da6; }

/* News */
.section-title {
    font-size: 1.58rem;
    font-weight: 700;
    margin-bottom: 24px;
    color: #1c2838;
    letter-spacing: -0.3px;
}
.main-news .news-list {
    display: flex;
    gap: 22px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}
.news-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(60,80,120,0.04);
    overflow: hidden;
    flex: 1 1 220px;
    min-width: 240px;
    max-width: 330px;
    display: flex; flex-direction: column;
    transition: box-shadow .2s;
}
.news-card:hover {
    box-shadow: 0 6px 24px rgba(60,80,120,0.11);
}
.news-thumb {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
}
.news-meta {
    color: #9097af;
    font-size: 0.93em;
    margin: 10px 0 4px 15px;
}
.news-title {
    font-size: 1.05em;
    font-weight: 600;
    color: #2374e1;
    margin: 0 0 12px 15px;
    text-decoration: none;
    line-height: 1.3;
    transition: color .17s;
}
.news-title:hover { color: #15437a; }
.news-more, .reviews-more {
    text-align: right;
    margin-top: 2px;
}
.more-btn {
    display: inline-block;
    color: #2374e1;
    background: #eaf2ff;
    border-radius: 5px;
    padding: 7px 20px;
    font-weight: 500;
    text-decoration: none;
    font-size: 1em;
    transition: background .18s;
}
.more-btn:hover { background: #d4e4fa; }
.hide-mobile { display: block; }
@media (max-width: 900px) { .hide-mobile { display: none; } }

/* Analytics */
.analytics-list {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}
.analytic-card {
    background: #f6f8fa;
    border-radius: 11px;
    padding: 16px 17px 16px 17px;
    flex: 1 1 270px;
    min-width: 260px;
    max-width: 340px;
    display: flex; flex-direction: column;
    transition: box-shadow .18s;
    box-shadow: 0 2px 8px rgba(60,80,120,0.03);
}
.analytic-card.analytic-featured {
    border: 2px solid #2374e1;
    background: #eaf2ff;
}
.analytic-thumb {
    width: 100%;
    border-radius: 8px;
    margin-bottom: 13px;
    aspect-ratio: 16/9;
    object-fit: cover;
}
.analytic-title {
    font-size: 1.12em;
    color: #2374e1;
    font-weight: 600;
    margin-bottom: 2px;
    text-decoration: none;
}
.analytic-title:hover { color: #153163; }
.analytic-meta {
    color: #7b839b;
    font-size: 0.94em;
    margin-bottom: 8px;
}

/* Tips */
.tips-list {
    display: flex;
    gap: 18px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.tip-card {
    background: #f2f8ff;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(40,70,150,0.04);
    padding: 17px 15px 15px 15px;
    flex: 1 1 260px;
    min-width: 225px;
    max-width: 320px;
    display: flex; gap: 13px;
    align-items: flex-start;
}
.tip-icon {
    font-size: 2.15em;
    color: #2374e1;
    margin-right: 8px;
}
.tip-title {
    font-size: 1.09em;
    font-weight: 600;
    color: #15437a;
    margin-bottom: 2px;
}
.tip-desc { font-size: 0.98em; color: #41577a; }
.tip-more {
    display: inline-block;
    font-size: 0.97em;
    color: #2374e1;
    margin-top: 2px;
    text-decoration: none;
    font-weight: 500;
}
.tip-more:hover { text-decoration: underline; }

/* Reviews Preview */
.reviews-list {
    display: flex;
    gap: 20px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}
.review-card {
    background: #fff;
    border-radius: 11px;
    box-shadow: 0 2px 8px rgba(80,110,160,0.04);
    padding: 15px 12px;
    flex: 1 1 260px;
    min-width: 225px;
    max-width: 320px;
    display: flex; flex-direction: column;
    align-items: flex-start;
    transition: box-shadow .18s;
}
.review-card:hover { box-shadow: 0 5px 20px rgba(80,110,160,0.13); }
.review-thumb {
    width: 100%;
    border-radius: 8px;
    margin-bottom: 10px;
    aspect-ratio: 16/9;
    object-fit: cover;
}
.review-title { font-size: 1.09em; font-weight: 600; margin-bottom: 2px; }
.review-title a { color: #2374e1; text-decoration: none; }
.review-title a:hover { color: #15437a; }
.review-short { color: #41577a; font-size: 0.97em; margin-bottom: 8px; }
.review-rating { color: #ffa700; font-weight: 600; font-size: 1.05em; }

.reviews-more { text-align: right; margin-top: 2px; }

/* FAQ */
.faq-list {
    margin-bottom: 18px;
    max-width: 700px;
}
.faq-list details {
    background: #f8fbff;
    border-radius: 7px;
    margin-bottom: 11px;
    padding: 13px 18px;
    font-size: 1.01em;
    cursor: pointer;
    box-shadow: 0 1px 6px rgba(60,80,120,0.04);
}
.faq-list summary {
    font-weight: 600;
    color: #2374e1;
    cursor: pointer;
    outline: none;
}
.faq-list details[open] {
    border-left: 4px solid #2374e1;
    background: #eaf2ff;
}

/* Join us */
.join-us {
    background: linear-gradient(106deg, #eaf2ff 85%, #f8fbff 100%);
    border-radius: 12px;
    margin: 36px 0 40px 0;
    padding: 34px 18px 32px 24px;
    display: flex; justify-content: center;
}
.join-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 600px;
    width: 100%;
    gap: 14px;
}
.join-content h2 {
    margin-bottom: 5px;
    font-size: 1.31em;
}
.join-form {
    display: flex;
    gap: 10px;
    margin-bottom: 2px;
}
.join-form input[type="email"] {
    padding: 9px 14px;
    border: 1px solid #b8c8e7;
    border-radius: 5px;
    font-size: 1em;
}
.join-form button {
    padding: 9px 20px;
    border: none;
    background: #2374e1;
    color: #fff;
    border-radius: 5px;
    font-weight: 600;
    font-size: 1em;
    cursor: pointer;
    transition: background .15s;
}
.join-form button:hover { background: #15437a; }
.join-social {
    margin-top: 6px;
}
.tg-link {
    display: inline-block;
    color: #2298d5;
    font-weight: 600;
    font-size: 1.09em;
    text-decoration: none;
    margin-right: 9px;
}
.tg-link:hover { text-decoration: underline; }

/* About */
.about {
    background: #f7faff;
    border-radius: 12px;
    padding: 32px 22px 18px 22px;
    margin-bottom: 28px;
    margin-top: 16px;
    font-size: 1.05em;
}

/* Contacts */
.contacts-preview {
    background: #f2f6fb;
    border-radius: 12px;
    padding: 28px 18px 20px 22px;
    margin-bottom: 48px;
    margin-top: 10px;
}
.contacts-block a {
    color: #2374e1;
    font-weight: 600;
    text-decoration: none;
}
.contacts-block a:hover { text-decoration: underline; }

/* Адаптив для всех новых секций */
@media (max-width: 900px) {
    .main-news .news-list, .analytics-list, .tips-list, .reviews-list {
        flex-wrap: wrap;
        gap: 16px;
    }
    .hero-content { max-width: 95%; padding: 32px 10px; }
    .hero-bg { width: 100px; }
}
@media (max-width: 650px) {
    .hero { min-height: 180px; border-radius: 8px; }
    .hero-content { max-width: 100%; padding: 18px 3px; }
    .section-title { font-size: 1.19rem; }
    .main-news .news-list, .analytics-list, .tips-list, .reviews-list {
        flex-direction: column;
    }
    .about, .contacts-preview, .join-us { padding: 14px 5px 13px 7px; }
    .reviews-list, .tips-list, .analytics-list { gap: 12px; }
}
/* NEWS PAGE */

.news-page { margin-bottom: 28px; }
.page-title {
    font-size: 2.15rem;
    font-weight: 800;
    margin-bottom: 9px;
    color: #153163;
}
.page-lead {
    color: #3b4d68;
    font-size: 1.18rem;
    margin-bottom: 18px;
}

.news-filter {
    display: flex;
    gap: 12px;
    margin-bottom: 26px;
    flex-wrap: wrap;
}
.news-filter-btn {
    display: inline-block;
    background: #f2f6fb;
    color: #2a3759;
    border-radius: 6px;
    padding: 8px 22px;
    font-size: 1em;
    font-weight: 500;
    text-decoration: none;
    border: none;
    transition: background .18s, color .17s;
    cursor: pointer;
}
.news-filter-btn.active,
.news-filter-btn:hover {
    background: #2374e1;
    color: #fff;
}

.news-feed {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 18px;
    margin-bottom: 36px;
}
.news-feed-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(60,80,120,0.07);
    overflow: hidden;
    flex: 1 1 330px;
    min-width: 265px;
    max-width: 370px;
    display: flex; flex-direction: column;
    transition: box-shadow .18s;
    position: relative;
    padding-bottom: 6px;
}
.news-feed-card:hover { box-shadow: 0 6px 32px rgba(60,80,120,0.16); }
.news-feed-thumb {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    border-bottom: 1px solid #e8eaf3;
}
.news-feed-meta {
    color: #9097af;
    font-size: 0.98em;
    margin: 11px 0 3px 18px;
}
.news-feed-title {
    font-size: 1.11em;
    font-weight: 700;
    color: #2374e1;
    margin: 0 0 5px 18px;
    text-decoration: none;
    line-height: 1.3;
    transition: color .17s;
}
.news-feed-title:hover { color: #174da6; }
.news-feed-desc {
    font-size: 0.99em;
    color: #3d4768;
    margin: 0 0 8px 18px;
}

.news-feature-block {
    background: linear-gradient(90deg,#eaf2ff 70%,#f8fbff 100%);
    border-radius: 11px;
    box-shadow: 0 2px 10px rgba(60,80,120,0.04);
    padding: 24px 28px 22px 26px;
    margin: 6px 0 30px 0;
    flex: 1 1 100%;
    min-width: 300px;
    max-width: 100%;
    display: flex; flex-direction: column;
    position: relative;
    border-left: 5px solid #2374e1;
}
.news-feature-label {
    font-size: 0.97em;
    font-weight: 700;
    color: #2374e1;
    margin-bottom: 4px;
    display: inline-block;
}
.news-feature-title {
    color: #174da6;
    font-weight: 700;
    font-size: 1.08em;
    text-decoration: none;
}
.news-feature-title:hover { text-decoration: underline; }
.news-feature-desc {
    color: #4d5e82;
    font-size: 1.01em;
}
.editor-choice { border-left-color: #ffa700; }
.editor-choice .news-feature-label { color: #ffa700; }

.news-more.news-loadmore {
    display: flex; align-items: center; gap: 15px;
    margin-top: 7px;
    margin-bottom: 36px;
}
.news-loadmore .more-btn.disabled {
    opacity: .45;
    pointer-events: none;
    background: #e9eef8;
    color: #a4b0c7;
}
.loadmore-tip {
    color: #9ba8c6;
    font-size: 0.97em;
}

.subscribe-banner {
    background: linear-gradient(95deg,#eaf2ff 80%,#f8fbff 100%);
    border-radius: 11px;
    box-shadow: 0 2px 10px rgba(60,80,120,0.04);
    margin-bottom: 30px;
    padding: 22px 18px 18px 26px;
    display: flex; flex-direction: column;
    align-items: flex-start;
    gap: 11px;
    max-width: 550px;
}
.subscribe-banner-text { font-size: 1.06em; margin-bottom: 2px; }
.subscribe-banner-form {
    display: flex; gap: 9px;
}
.subscribe-banner-form input[type="email"] {
    padding: 7px 12px;
    border: 1px solid #b8c8e7;
    border-radius: 5px;
    font-size: 1em;
}
.subscribe-banner-form button {
    padding: 7px 18px;
    border: none;
    background: #2374e1;
    color: #fff;
    border-radius: 5px;
    font-weight: 600;
    font-size: 1em;
    cursor: pointer;
    transition: background .15s;
}
.subscribe-banner-form button:hover { background: #174da6; }
.subscribe-banner-tg {
    margin-top: 2px;
}
.subscribe-banner .tg-link {
    color: #2298d5;
    font-weight: 600;
    text-decoration: none;
}
.subscribe-banner .tg-link:hover { text-decoration: underline; }

/* FAQ на странице новостей */
.news-faq { margin-top: 46px; }

@media (max-width: 900px) {
    .news-feed { gap: 22px 11px; }
    .news-feed-card { min-width: 220px; }
    .news-feature-block, .subscribe-banner { padding: 15px 8px 12px 10px; }
}
@media (max-width: 650px) {
    .page-title { font-size: 1.24rem; }
    .news-feed { flex-direction: column; gap: 12px; }
    .news-feed-card, .news-feature-block, .subscribe-banner { min-width: 0; max-width: 100%; }
}
.trader-tips-page { margin-bottom: 28px; }

/* Уровни трейдера */
.level-select {
    display: flex; gap: 16px; margin-bottom: 30px;
    margin-top: 12px;
}
.level-btn {
    background: #f2f6fb;
    color: #2a3759;
    border-radius: 7px;
    padding: 11px 26px;
    font-size: 1em;
    font-weight: 600;
    cursor: pointer;
    transition: background .17s, color .15s;
    user-select: none;
    border: 2px solid transparent;
}
.level-btn.active,
.level-btn:hover {
    background: #2374e1;
    color: #fff;
    border-color: #2374e1;
}

/* Советы */
.tips-section { margin-bottom: 32px; }
.tips-section.alt-bg { background: #f6f9ff; border-radius: 10px; padding: 18px 0 8px 0; }
.tips-list {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
.tip-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(40,70,150,0.04);
    padding: 15px 12px 13px 12px;
    flex: 1 1 235px;
    min-width: 200px;
    max-width: 300px;
    display: flex; gap: 11px;
    align-items: flex-start;
}
.prof-list .tip-card { min-width: 170px; max-width: 260px; }
.tip-icon {
    font-size: 1.9em;
    color: #2374e1;
    margin-right: 7px;
}
.tip-title {
    font-size: 1.07em;
    font-weight: 600;
    color: #15437a;
    margin-bottom: 2px;
}
.tip-desc { font-size: 0.98em; color: #41577a; }

/* Инфографика */
.infograph-section { margin: 36px 0 24px 0; }
.infograph-box {
    display: flex; flex-direction: column; align-items: center;
    gap: 13px;
}
.infograph-img {
    max-width: 480px; width: 100%;
    min-height: 110px; border-radius: 11px;
    background: #eaf2ff;
    object-fit: contain;
    box-shadow: 0 2px 12px rgba(60,80,120,0.08);
}
.infograph-caption {
    color: #49587b;
    font-size: 1.02em;
    text-align: center;
    margin-bottom: 2px;
}

/* Таблица сравнения */
.compare-table-section { margin-bottom: 34px; }
.compare-table-wrap { overflow-x: auto; }
.compare-table {
    width: 100%; max-width: 720px; margin: 0 auto;
    border-collapse: collapse;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(80,110,160,0.05);
    font-size: 1.02em;
}
.compare-table th, .compare-table td {
    padding: 13px 10px;
    border-bottom: 1px solid #e8eaf3;
    text-align: center;
}
.compare-table th {
    background: #eaf2ff;
    color: #15437a;
    font-weight: 700;
}
.compare-table tr:last-child td { border-bottom: none; }
.compare-table td { color: #2a3759; }

/* Ошибки трейдеров */
.trader-mistakes { margin-bottom: 30px; padding: 13px 0 8px 0; }
.trader-mistakes.alt-bg { background: #f9f4f4; border-radius: 10px; }
.mistakes-list {
    margin-top: 9px; padding-left: 0;
    list-style: none;
    display: flex; flex-wrap: wrap; gap: 14px 36px;
}
.mistakes-list li {
    display: flex; align-items: center;
    font-size: 1.04em;
    color: #ba1724;
    background: none;
}
.mistake-icon {
    margin-right: 8px; font-size: 1.23em;
}

/* Рекомендации */
.tips-recommend { margin-bottom: 32px; }
.recommend-list {
    display: flex; flex-wrap: wrap; gap: 15px;
}
.recommend-card {
    background: #fff;
    border-radius: 9px;
    box-shadow: 0 2px 7px rgba(80,110,160,0.03);
    padding: 13px 12px;
    min-width: 210px; max-width: 280px; flex: 1 1 210px;
}
.recommend-title {
    font-weight: 600; color: #15437a; font-size: 1em; margin-bottom: 3px;
}
.recommend-meta {
    color: #5c6782; font-size: 0.96em;
}

/* FAQ и Подписка */
.tips-faq { margin-bottom: 36px; }
.subscribe-banner { margin-bottom: 28px; }

@media (max-width: 900px) {
    .tips-list, .prof-list, .recommend-list { flex-wrap: wrap; gap: 10px; }
    .infograph-img { max-width: 98vw; }
    .compare-table th, .compare-table td { padding: 8px 3px; }
}
@media (max-width: 650px) {
    .level-select { gap: 6px; flex-direction: column; }
    .tips-section { padding: 0; }
    .tips-list, .prof-list, .recommend-list { flex-direction: column; gap: 8px; }
    .infograph-box { gap: 7px; }
    .compare-table { font-size: 0.97em; }
    .mistakes-list { gap: 9px 10px; flex-direction: column; }
}
.reviews-page { margin-bottom: 32px; }
.reviews-filter {
    display: flex;
    gap: 12px;
    margin-bottom: 28px;
    flex-wrap: wrap;
}
.reviews-filter-btn {
    display: inline-block;
    background: #f2f6fb;
    color: #2a3759;
    border-radius: 6px;
    padding: 8px 22px;
    font-size: 1em;
    font-weight: 500;
    text-decoration: none;
    border: none;
    transition: background .18s, color .17s;
    cursor: pointer;
}
.reviews-filter-btn.active,
.reviews-filter-btn:hover {
    background: #2374e1;
    color: #fff;
}

.reviews-list-main {
    display: flex;
    flex-wrap: wrap;
    gap: 28px 18px;
    margin-bottom: 36px;
}
.review-card-big {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 2px 12px rgba(60,80,120,0.08);
    display: flex;
    align-items: flex-start;
    min-width: 340px;
    max-width: 98vw;
    width: 100%;
    margin-bottom: 22px;
    overflow: hidden;
}
.review-thumb-big {
    width: 220px; min-width: 120px; max-width: 36vw;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 14px 0 0 14px;
    background: #eaf2ff;
}
.review-big-info {
    padding: 24px 18px 16px 22px;
    flex: 1 1 320px;
}
.review-title-big a {
    font-size: 1.28em;
    font-weight: 800;
    color: #2374e1;
    text-decoration: none;
}
.review-title-big a:hover { color: #153163; }
.review-rating-big { color: #ffa700; font-weight: 700; margin: 7px 0 6px 0; }
.review-short-big { color: #444f67; font-size: 1.05em; margin-bottom: 13px; }
.review-more-btn {
    display: inline-block;
    color: #fff;
    background: #2374e1;
    border-radius: 6px;
    padding: 8px 20px;
    font-weight: 600;
    text-decoration: none;
    font-size: 1em;
    transition: background .18s;
}
.review-more-btn:hover { background: #174da6; }

.review-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(80,110,160,0.04);
    padding: 14px 13px 15px 13px;
    flex: 1 1 265px;
    min-width: 220px;
    max-width: 310px;
    display: flex; flex-direction: column;
    align-items: flex-start;
    position: relative;
    transition: box-shadow .15s;
}
.review-card:hover { box-shadow: 0 5px 20px rgba(80,110,160,0.11); }
.review-thumb {
    width: 100%;
    border-radius: 8px;
    margin-bottom: 10px;
    aspect-ratio: 16/9;
    object-fit: cover;
    background: #eaf2ff;
}
.review-title { font-size: 1.09em; font-weight: 600; margin-bottom: 2px; }
.review-title a { color: #2374e1; text-decoration: none; }
.review-title a:hover { color: #15437a; }
.review-rating { color: #ffa700; font-weight: 600; font-size: 1.02em; }
.review-short { color: #41577a; font-size: 0.97em; margin-bottom: 8px; }
.review-more-link {
    color: #2374e1; font-size: 0.99em; font-weight: 500;
    text-decoration: none;
    margin-top: 2px;
}
.review-more-link:hover { text-decoration: underline; }

.choose-note {
    background: #f2f8ff;
    border-radius: 10px;
    padding: 17px 20px;
    font-size: 1.06em;
    color: #1a2943;
    margin-bottom: 32px;
    max-width: 650px;
    box-shadow: 0 2px 8px rgba(80,110,160,0.03);
}

@media (max-width: 1050px) {
    .review-card-big { flex-direction: column; }
    .review-thumb-big { width: 100%; border-radius: 14px 14px 0 0; }
    .review-big-info { padding: 14px 10px 13px 12px; }
}
@media (max-width: 800px) {
    .reviews-list-main { gap: 18px 8px; }
    .review-card, .review-card-big { min-width: 160px; }
}
@media (max-width: 650px) {
    .review-card-big, .reviews-list-main { flex-direction: column; gap: 13px; }
    .review-card, .review-card-big { max-width: 98vw; min-width: 0; }
    .review-thumb-big { max-width: 100vw; }
}
