/*
Theme Name: DashaMail 2026
Description: Блог DashaMail в дизайне сайта 2026: общая шапка и футер, шрифты и токены из main.css.
Version: 1.0.0
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: dashamailru-2026
*/

/*
 * Поверх main.css сайта. Оттуда приходят: шрифты Inter и Geologica, токены --color-*,
 * сброс * { margin: 0; padding: 0 }, h1 55px и h2/h3 25px с !important, p 18px.
 * Поэтому размеры заголовков темы тоже с !important — выигрываем специфичностью класса.
 */

:root {
    --dmb-surface: #FFFFFF;
    --dmb-pale: #F1EDF7;
    --dmb-pale-2: #E2DCEF;
    --dmb-border: #E6E1EE;
    --dmb-muted: #6E6A7C;
    --dmb-red: #E05263;
    --dmb-radius-lg: 30px;
    --dmb-radius: 24px;
    --dmb-radius-sm: 16px;
    --dmb-shadow-hover: 0 10px 30px rgba(111, 78, 175, 0.14);
    --dmb-width: 1102px;
    --dmb-text-width: 760px;
    --dmb-gutter: 48px;
}

.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
}

/* ===== Каркас ===== */

.dmb {
    max-width: calc(var(--dmb-width) + 2 * var(--dmb-gutter));
    margin: 0 auto;
    padding: 40px var(--dmb-gutter) 96px;
    color: var(--color-text);
}

.dmb-section {
    margin-top: 72px;
}

.dmb-section__head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    margin-bottom: 24px;
}

.dmb-section__title {
    color: var(--color-primary-dark) !important;
    font-size: 32px !important;
    line-height: 40px !important;
    font-weight: 600 !important;
}

.dmb-section > .dmb-section__title {
    margin-bottom: 24px;
}

.dmb-more {
    flex-shrink: 0;
    color: var(--color-primary);
    font-size: 16px;
    font-weight: 500;
    white-space: nowrap;
}

.dmb-more:hover {
    color: var(--color-primary-dark);
}

/* ===== Шапка списка: заголовок и поиск ===== */

.dmb-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 40px;
    align-items: end;
}

.dmb-eyebrow {
    margin-bottom: 4px;
    color: var(--light-purple);
    font-family: Bad_Script, cursive;
    font-size: 24px;
    line-height: 32px;
}

.dmb-hero__title {
    word-break: break-word;
}

.dmb-hero__lead,
.dmb-hero__lead p {
    max-width: 680px;
    margin-top: 16px;
    color: var(--dmb-muted);
    font-size: 18px;
    line-height: 28px !important;
}

.dmb-hero__lead p {
    margin-top: 0;
}

/* Поиск */

.dmb-search {
    position: relative;
    display: flex;
    align-items: center;
}

.dmb-search__input {
    width: 100%;
    height: 56px;
    padding: 0 64px 0 20px;
    border: 1px solid var(--dmb-pale-2);
    border-radius: var(--dmb-radius-sm);
    background: var(--dmb-surface);
    color: var(--color-text);
    font-size: 16px;
    outline: none;
    transition: border-color 150ms ease-in-out, box-shadow 150ms ease-in-out;
    -webkit-appearance: none;
    appearance: none;
}

.dmb-search__input::placeholder {
    color: #9A95A8;
}

.dmb-search__input:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 4px rgba(111, 78, 175, 0.12);
}

.dmb-search__btn {
    position: absolute;
    right: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 12px;
    background: var(--color-primary);
    color: #fff;
    cursor: pointer;
    transition: background 150ms ease-in-out;
}

.dmb-search__btn:hover {
    background: var(--color-primary-dark);
}

/* ===== Рубрики плашками ===== */

.dmb-cats,
.dmb-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.dmb-cats {
    margin-top: 32px;
}

.dmb-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border: 1px solid var(--dmb-pale-2);
    border-radius: 999px;
    background: var(--dmb-surface);
    color: var(--color-text);
    font-size: 15px;
    font-weight: 500;
    line-height: 20px;
    white-space: nowrap;
    transition: border-color 150ms ease-in-out, background 150ms ease-in-out, color 150ms ease-in-out;
}

.dmb-chip:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.dmb-chip__count {
    color: #9A95A8;
    font-size: 13px;
    font-weight: 400;
}

.dmb-chip.is-active {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: #fff;
}

.dmb-chip.is-active .dmb-chip__count {
    color: rgba(255, 255, 255, 0.75);
}

/* Рубрика внутри карточки */

.dmb-pill {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-self: flex-start;
    padding: 4px 10px;
    border-radius: 999px;
    background: var(--color-secondary-bg);
    color: var(--color-primary);
    font-size: 13px;
    font-weight: 500;
    line-height: 18px;
    transition: background 150ms ease-in-out;
}

.dmb-pill:hover {
    background: rgba(124, 58, 237, 0.2);
    color: var(--color-primary);
}

/* ===== Карточка статьи ===== */

.dmb-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.dmb-archive .dmb-grid {
    margin-top: 40px;
}

.dmb-card {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: var(--dmb-radius);
    background: var(--dmb-surface);
    transition: box-shadow 200ms ease-in-out, transform 200ms ease-in-out;
}

.dmb-card:hover {
    box-shadow: var(--dmb-shadow-hover);
    transform: translateY(-2px);
}

.dmb-card__media {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--dmb-pale);
}

.dmb-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Заглушка без миниатюры: фирменный градиент с конвертом */
.dmb-img--empty {
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='56' fill='none' stroke='%23fff' stroke-width='3' stroke-linejoin='round' opacity='.85'%3E%3Crect x='2' y='2' width='68' height='52' rx='8'/%3E%3Cpath d='M4 6l32 26L68 6'/%3E%3C/svg%3E") center / 56px no-repeat,
        linear-gradient(135deg, var(--purple-purple-60, #8C72C0) 0%, var(--color-primary) 60%, var(--dmb-red) 140%);
}

.dmb-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 12px;
    padding: 20px 24px 24px;
}

.dmb-card__title {
    color: var(--color-text);
    font-size: 20px !important;
    line-height: 28px !important;
    font-weight: 500 !important;
}

.dmb-card__link {
    color: inherit;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.dmb-card__link:hover,
.dmb-card:hover .dmb-card__link {
    color: var(--color-primary);
}

/* Ссылка заголовка растянута на всю карточку */
.dmb-card__link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}

.dmb-card__excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--dmb-muted);
    font-size: 16px;
    line-height: 26px !important;
}

.dmb-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 14px;
    color: var(--dmb-muted);
    font-size: 14px;
    line-height: 20px;
}

.dmb-card .dmb-meta {
    margin-top: auto;
}

.dmb-meta > * + *::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 4px;
    margin: 0 10px 2px -8px;
    border-radius: 50%;
    background: var(--light-purple);
    vertical-align: middle;
}

/* Крупная карточка: на главной слева, в рубрике — первая на всю ширину */

.dmb-card--feature .dmb-card__body {
    padding: 28px 32px 32px;
    gap: 14px;
}

.dmb-card--feature .dmb-card__title {
    font-size: 30px !important;
    line-height: 38px !important;
    font-weight: 600 !important;
}

.dmb-grid .dmb-card--feature {
    grid-column: 1 / -1;
    flex-direction: row;
}

.dmb-grid .dmb-card--feature .dmb-card__media {
    flex: 0 0 58%;
    aspect-ratio: auto;
    min-height: 340px;
}

.dmb-grid .dmb-card--feature .dmb-card__body {
    justify-content: center;
}

/* Строка: миниатюра слева, текст справа */

.dmb-card--row {
    flex-direction: row;
    align-items: stretch;
    border-radius: 20px;
}

.dmb-card--row .dmb-card__media {
    flex: 0 0 132px;
    aspect-ratio: auto;
    min-height: 112px;
}

.dmb-card--row .dmb-card__body {
    gap: 8px;
    padding: 14px 18px;
}

.dmb-card--row .dmb-card__title {
    font-size: 16px !important;
    line-height: 22px !important;
}

.dmb-card--row .dmb-pill {
    display: none;
}

/* Главная: крупная статья + колонка строк */

.dmb-lead {
    display: grid;
    grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr);
    gap: 24px;
    margin-top: 40px;
}

.dmb-lead > .dmb-card--feature .dmb-card__media {
    aspect-ratio: 16 / 9;
}

.dmb-lead__side {
    display: grid;
    grid-auto-rows: 1fr;
    gap: 16px;
}

/* ===== Подписка ===== */

.dmb-subscribe {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    gap: 40px;
    align-items: center;
    margin-top: 72px;
    padding: 48px 56px;
    overflow: hidden;
    border-radius: var(--dmb-radius-lg);
    background: linear-gradient(115deg, var(--color-primary) 0%, var(--purple-purple-60, #8C72C0) 70%, #B07ABD 100%);
    color: #fff;
}

/* Мягкие круги на фоне, как в блоках главной */
.dmb-subscribe::before,
.dmb-subscribe::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    pointer-events: none;
}

.dmb-subscribe::before {
    width: 320px;
    height: 320px;
    top: -160px;
    right: -60px;
}

.dmb-subscribe::after {
    width: 200px;
    height: 200px;
    bottom: -120px;
    left: 30%;
}

.dmb-subscribe > * {
    position: relative;
    z-index: 1;
}

.dmb-subscribe__title {
    color: #fff !important;
    font-size: 32px !important;
    line-height: 40px !important;
    font-weight: 600 !important;
}

.dmb-subscribe__lead {
    margin-top: 12px;
    color: rgba(255, 255, 255, 0.85);
}

.dmb-subscribe__row {
    display: flex;
    gap: 8px;
}

.dmb-subscribe__email {
    flex: 1;
    min-width: 0;
    height: 56px;
    padding: 0 20px;
    border: 0;
    border-radius: var(--dmb-radius-sm);
    background: #fff;
    color: var(--color-text);
    font-size: 16px;
    outline: none;
}

.dmb-subscribe__email:focus {
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.35);
}

.dmb-subscribe__btn {
    height: 56px;
    padding: 0 24px;
    border: 0;
    border-radius: var(--dmb-radius-sm);
    background: var(--color-primary-dark);
    color: #fff;
    font-family: Geologica, sans-serif;
    font-size: 17px;
    font-weight: 500;
    cursor: pointer;
    transition: background 150ms ease-in-out;
}

.dmb-subscribe__btn:hover {
    background: #432F6A;
}

.dmb-subscribe__consent {
    margin-top: 12px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    line-height: 17px !important;
}

.dmb-subscribe__consent a {
    color: inherit;
    text-decoration: underline;
}

.dmb-subscribe__consent a:hover {
    color: #fff;
}

/* ===== Пусто и пагинация ===== */

.dmb-empty {
    margin-top: 40px;
    padding: 48px 32px;
    border-radius: var(--dmb-radius);
    background: var(--dmb-surface);
    text-align: center;
}

.dmb-empty__title {
    color: var(--color-primary-dark) !important;
}

.dmb-empty__text {
    margin-top: 8px;
    color: var(--dmb-muted);
}

.dmb-empty__text a {
    color: var(--color-primary);
    text-decoration: underline;
}

.dmb-pages {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 48px;
}

.dmb-pages .page-numbers {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 44px;
    height: 44px;
    padding: 0 12px;
    border: 1px solid var(--dmb-pale-2);
    border-radius: 12px;
    background: var(--dmb-surface);
    color: var(--color-text);
    font-size: 16px;
    font-weight: 500;
}

.dmb-pages a.page-numbers:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.dmb-pages .page-numbers.current {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: #fff;
}

.dmb-pages .page-numbers.dots {
    border-color: transparent;
    background: none;
}

/* ===== Статья ===== */

.dmb-article__head,
.dmb-article__foot {
    max-width: 860px;
    margin: 0 auto;
}

.dmb-crumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: #9A95A8;
    font-size: 14px;
    line-height: 20px;
}

.dmb-crumbs a {
    color: var(--dmb-muted);
}

.dmb-crumbs a:hover {
    color: var(--color-primary);
}

.dmb-article__title {
    margin: 20px 0 28px;
    font-size: 44px !important;
    line-height: 54px !important;
    word-break: break-word;
}

.dmb-byline {
    display: flex;
    align-items: center;
    gap: 12px;
}

.dmb-byline__avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
}

.dmb-byline__text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.dmb-byline__name {
    font-size: 15px;
    font-weight: 600;
    line-height: 20px;
}

.dmb-article__cover {
    max-width: var(--dmb-width);
    margin: 40px auto 0;
    overflow: hidden;
    border-radius: var(--dmb-radius-lg);
    background: var(--dmb-pale);
}

.dmb-article__cover .dmb-img {
    height: auto;
}

.dmb-article__foot {
    max-width: var(--dmb-text-width);
    margin-top: 48px;
}

.dmb-tags {
    margin-bottom: 24px;
}

.dmb-tags .dmb-chip {
    font-size: 14px;
    padding: 6px 12px;
}

.dmb-article__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 20px 32px;
    padding: 24px 0;
    border-top: 1px solid var(--dmb-pale-2);
    border-bottom: 1px solid var(--dmb-pale-2);
}

.dmb-share,
.dmb-rating {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.dmb-share__label,
.dmb-rating__label {
    margin-right: 4px;
    font-size: 15px;
    font-weight: 600;
}

.dmb-share__btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--dmb-pale-2);
    border-radius: 50%;
    background: var(--dmb-surface);
    color: var(--color-primary);
    cursor: pointer;
    transition: background 150ms ease-in-out, color 150ms ease-in-out, border-color 150ms ease-in-out;
}

.dmb-share__btn:hover {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: #fff;
}

.dmb-share__done {
    color: var(--dmb-muted);
    font-size: 14px;
}

/* Виджет wp-postratings 2.x: звёзды — CSS-маски, цвет задаём переменными плагина */
.dmb-rating .wp-postratings {
    --wp-postratings-size: 24px;
    --wp-postratings-color-on: var(--color-primary);
    --wp-postratings-color-hover: var(--color-primary-dark);
    --wp-postratings-color-off: var(--dmb-pale-2);
    color: var(--dmb-muted);
    font-size: 13px;
    line-height: 18px;
}

/* wp-postratings 1.x: звёзды картинками плагина и строка «голосов, среднее» */
.dmb-rating .post-ratings {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 8px;
    color: var(--dmb-muted);
    font-size: 13px;
    line-height: 18px;
}

.dmb-rating .post-ratings img {
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
}

.dmb-rating .post-ratings-loading {
    display: none;
}

/* ===== Текст статьи =====
 * Блоки Gutenberg: абзацы, списки, заголовки, картинки, цитаты, таблицы — 99 % контента.
 * main.css обнуляет отступы у всего (* { margin: 0 }), поэтому ритм задаём явно.
 */

.dmb-content {
    max-width: var(--dmb-text-width);
    margin: 48px auto 0;
    color: var(--color-text);
    font-size: 18px;
    line-height: 30px;
    overflow-wrap: break-word;
}

.dmb-content > :first-child {
    margin-top: 0 !important;
}

.dmb-content p {
    margin: 0 0 22px;
    font-size: 18px;
    line-height: 30px !important;
}

.dmb-content h2,
.dmb-content h3,
.dmb-content h4,
.dmb-content h5 {
    color: var(--color-text);
    font-family: Geologica, sans-serif;
    font-weight: 600 !important;
    scroll-margin-top: 104px;
}

.dmb-content h2 {
    margin: 56px 0 18px;
    font-size: 30px !important;
    line-height: 38px !important;
    color: var(--color-primary-dark);
}

.dmb-content h3 {
    margin: 40px 0 14px;
    font-size: 23px !important;
    line-height: 32px !important;
}

.dmb-content h4,
.dmb-content h5 {
    margin: 32px 0 12px;
    font-size: 19px !important;
    line-height: 28px !important;
}

.dmb-content a {
    color: var(--color-primary);
    text-decoration: underline;
    text-decoration-color: rgba(111, 78, 175, 0.35);
    text-underline-offset: 3px;
    transition: text-decoration-color 150ms ease-in-out;
}

.dmb-content a:hover {
    color: var(--color-primary-dark);
    text-decoration-color: currentColor;
}

.dmb-content strong,
.dmb-content b {
    font-weight: 600;
}

/* tailwind.css сбрасывает списки (list-style: none) — возвращаем маркеры */
.dmb-content ul,
.dmb-content ol {
    margin: 0 0 22px;
    padding-left: 28px;
    list-style: disc;
}

.dmb-content ol {
    list-style: decimal;
}

.dmb-content li {
    margin: 8px 0;
    padding-left: 4px;
}

.dmb-content li > ul,
.dmb-content li > ol {
    margin: 8px 0 0;
}

.dmb-content ul > li::marker {
    color: var(--color-primary);
}

.dmb-content ol > li::marker {
    color: var(--color-primary);
    font-weight: 600;
}

.dmb-content img {
    max-width: 100%;
    height: auto;
}

.dmb-content figure,
.dmb-content .wp-block-image {
    margin: 36px 0;
}

.dmb-content .wp-block-image img {
    border-radius: var(--dmb-radius-sm);
}

.dmb-content figcaption,
.dmb-content .wp-element-caption {
    margin-top: 10px;
    color: var(--dmb-muted);
    font-size: 14px;
    line-height: 20px;
    text-align: center;
}

.dmb-content blockquote,
.dmb-content .wp-block-quote {
    margin: 36px 0;
    padding: 24px 28px;
    border-left: 4px solid var(--color-primary);
    border-radius: 0 var(--dmb-radius) var(--dmb-radius) 0;
    background: var(--dmb-surface);
}

.dmb-content blockquote p:last-child,
.dmb-content blockquote ul:last-child {
    margin-bottom: 0;
}

.dmb-content blockquote cite {
    display: block;
    margin-top: 12px;
    color: var(--dmb-muted);
    font-size: 15px;
    font-style: normal;
}

.dmb-content .wp-block-pullquote {
    margin: 40px 0;
    padding: 32px;
    border: 0;
    border-radius: var(--dmb-radius);
    background: var(--dmb-pale);
    text-align: center;
}

.dmb-content .wp-block-pullquote blockquote {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
}

.dmb-content .wp-block-pullquote p {
    font-family: Geologica, sans-serif;
    font-size: 24px;
    line-height: 34px !important;
}

.dmb-content table {
    width: 100%;
    border-collapse: collapse;
    font-size: 16px;
    line-height: 24px;
}

.dmb-content .wp-block-table {
    margin: 32px 0;
    overflow-x: auto;
    border-radius: var(--dmb-radius-sm);
    background: var(--dmb-surface);
}

.dmb-content th,
.dmb-content td {
    padding: 12px 16px;
    border: 0;
    border-bottom: 1px solid var(--dmb-border);
    text-align: left;
    vertical-align: top;
}

.dmb-content th,
.dmb-content thead td {
    background: var(--dmb-pale);
    font-weight: 600;
}

.dmb-content code {
    padding: 2px 6px;
    border-radius: 6px;
    background: #EFEBF6;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 0.88em;
}

.dmb-content pre {
    margin: 32px 0;
    padding: 20px 24px;
    overflow-x: auto;
    border-radius: var(--dmb-radius-sm);
    background: #2E2E38;
    color: #F1EDF7;
    font-size: 15px;
    line-height: 24px;
}

.dmb-content pre code {
    padding: 0;
    background: none;
    color: inherit;
}

.dmb-content hr,
.dmb-content .wp-block-separator {
    height: 1px;
    margin: 48px 0;
    border: 0;
    background: var(--dmb-pale-2);
    opacity: 1;
}

.dmb-content .wp-block-button__link {
    padding: 14px 24px;
    border-radius: var(--dmb-radius-sm);
    background: var(--color-primary);
    color: #fff;
    font-weight: 500;
    text-decoration: none;
}

.dmb-content .wp-block-button__link:hover {
    background: var(--color-primary-dark);
    color: #fff;
}

.dmb-content .wp-block-columns {
    margin: 32px 0;
}

.dmb-content iframe,
.dmb-content video {
    max-width: 100%;
}

.dmb-offer {
    margin: 36px 0;
    overflow: hidden;
    border-radius: 20px;
}

/* ===== Адаптив ===== */

@media (max-width: 1176px) {
    .dmb-lead {
        grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    }

    .dmb-card--feature .dmb-card__title {
        font-size: 26px !important;
        line-height: 34px !important;
    }
}

@media (max-width: 985px) {
    .dmb-hero {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    .dmb-hero__search {
        max-width: 480px;
    }

    .dmb-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dmb-lead {
        grid-template-columns: minmax(0, 1fr);
    }

    .dmb-lead__side {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: auto;
    }

    .dmb-subscribe {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
        padding: 40px;
    }

    .dmb-article__title {
        font-size: 36px !important;
        line-height: 44px !important;
    }
}

@media (max-width: 768px) {
    .dmb-grid .dmb-card--feature {
        flex-direction: column;
    }

    .dmb-grid .dmb-card--feature .dmb-card__media {
        flex: none;
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    .dmb-lead__side {
        grid-template-columns: minmax(0, 1fr);
    }

    .dmb-section {
        margin-top: 56px;
    }

    .dmb-section__title,
    .dmb-subscribe__title {
        font-size: 26px !important;
        line-height: 34px !important;
    }

    .dmb-content h2 {
        font-size: 26px !important;
        line-height: 34px !important;
    }

    .dmb-content h3 {
        font-size: 21px !important;
        line-height: 30px !important;
    }
}

@media (max-width: 600px) {
    :root {
        --dmb-gutter: 16px;
    }

    .dmb {
        padding-top: 24px;
        padding-bottom: 64px;
    }

    .dmb-eyebrow {
        font-size: 20px;
        line-height: 26px;
    }

    .dmb-hero__lead,
    .dmb-hero__lead p {
        font-size: 16px;
        line-height: 26px !important;
    }

    /* Плашки рубрик — одной строкой с прокруткой до края экрана */
    .dmb-cats {
        flex-wrap: nowrap;
        margin-left: calc(-1 * var(--dmb-gutter));
        margin-right: calc(-1 * var(--dmb-gutter));
        padding: 0 var(--dmb-gutter) 4px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .dmb-cats::-webkit-scrollbar {
        display: none;
    }

    .dmb-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .dmb-card--feature .dmb-card__body {
        padding: 20px 20px 24px;
    }

    .dmb-card--feature .dmb-card__title {
        font-size: 22px !important;
        line-height: 30px !important;
    }

    .dmb-card--row .dmb-card__media {
        flex-basis: 104px;
        min-height: 96px;
    }

    .dmb-section__head {
        flex-direction: column;
        gap: 4px;
    }

    .dmb-subscribe {
        padding: 32px 20px;
        border-radius: var(--dmb-radius);
    }

    .dmb-subscribe__row {
        flex-direction: column;
    }

    .dmb-article__title {
        margin: 16px 0 20px;
        font-size: 28px !important;
        line-height: 36px !important;
    }

    .dmb-article__cover {
        margin-top: 28px;
        border-radius: var(--dmb-radius-sm);
    }

    .dmb-content {
        margin-top: 32px;
        font-size: 17px;
        line-height: 28px;
    }

    .dmb-content p {
        font-size: 17px;
        line-height: 28px !important;
    }

    .dmb-content blockquote,
    .dmb-content .wp-block-quote {
        padding: 18px 20px;
    }

    .dmb-article__actions {
        flex-direction: column;
        align-items: flex-start;
    }
}
