/* ============================================================
 * Карточки новогодних направлений (хаб «Новый год» и главная страница).
 * Подключается отдельно от newyear.css, чтобы главная не тянула стили всего лендинга.
 * ============================================================ */
.ny-cgrid { --ny-hw: 500; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ny-cgrid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ny-ccard {
    position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 300px;
    border-radius: var(--r-lg); overflow: hidden; color: #fff; padding: 22px; isolation: isolate; text-decoration: none;
    background: radial-gradient(circle at 70% 20%, var(--dv-sky) 0%, var(--dv-sky-deep) 35%, var(--dv-night) 100%);
    transition: transform var(--d-2) var(--ease), box-shadow var(--d-2);
}
.ny-ccard:hover { transform: translateY(-4px); box-shadow: var(--sh-3); color: #fff; }
.ny-ccard__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform var(--d-3) var(--ease); }
.ny-ccard:hover .ny-ccard__img { transform: scale(1.05); }
.ny-ccard::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(8, 24, 58, 0) 30%, rgba(8, 24, 58, .88) 100%); }
.ny-ccard__nm { display: flex; align-items: center; gap: 9px; font: 600 20px/1.1 var(--font-head); }
.ny-ccard__meta { font-size: 13px; color: rgba(255, 255, 255, .75); margin-top: 8px; }
.ny-ccard__pr { margin-top: 14px; font: 600 13px/1 var(--font-body); color: rgba(255, 255, 255, .75); }
.ny-ccard__pr b { display: block; font: var(--ny-hw) 26px/1 var(--font-head); color: var(--dv-sun); margin-top: 6px; }
.ny-ccard__visa {
    position: absolute; top: 14px; left: 14px; z-index: 1; padding: 6px 10px; border-radius: var(--r-pill);
    background: rgba(255, 255, 255, .92); color: var(--dv-night); font: 600 12px/1.2 var(--font-body);
}
.ny-flag { width: 22px; height: 16px; border-radius: 3px; object-fit: cover; box-shadow: 0 0 0 1px rgba(255, 255, 255, .3); flex: none; }
.ny-flag--txt {
    display: inline-flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .2);
    font: 700 8.5px/1 var(--font-body); letter-spacing: .02em; color: #fff; padding: 0 3px; min-width: 22px; height: 16px;
}

@media (max-width: 1100px) {
    .ny-cgrid--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
    .ny-cgrid, .ny-cgrid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
    /* два в ряд, чтобы не растягивать страницу */
    .ny-cgrid, .ny-cgrid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .ny-ccard { min-height: 210px; padding: 14px; }
    .ny-ccard__nm { font-size: 16px; }
    .ny-ccard__pr b { font-size: 20px; }
    .ny-ccard__meta { font-size: 12px; }
}

/* Главная: карточки УТП и шаги — четыре в ряд, иконки-svg в жёлтом квадрате */
.high-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.high .ico svg { width: 22px; height: 22px; }
@media (max-width: 960px) { .high-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .high-grid--4 { grid-template-columns: minmax(0, 1fr); } }
