

/* Start:/local/components/custom/news.detail/templates/.default/style.css?178238955210868*/
/* ==========================================================================
   custom:news.detail — детальная страница акции / новости
   Стиль в духе moscow.vetotvet.com
   ========================================================================== */

:root {
    --nd-orange:        #E67725;
    --nd-orange-dark:   #c9621a;
    --nd-orange-light:  #fff4ec;
    --nd-blue:          #1a6fc4;
    --nd-blue-dark:     #0e4d8f;
    --nd-heading:       #1a1a2e;
    --nd-text:          #333333;
    --nd-muted:         #727272;
    --nd-border:        #e0e0e0;
    --nd-bg:            #f5f7fa;
    --nd-radius:        14px;
    --nd-radius-sm:     8px;
    --nd-transition:    .22s ease;
    --nd-content-width: 1672px;
}

/* ==========================================================================
   ОБЁРТКА СТРАНИЦЫ
   ========================================================================== */
.nd-page {
    padding: 40px 0 80px;
    font-size: 16px;
    color: var(--nd-text);
    line-height: 1.75;
}

.nd-page--not-found {
    padding: 80px 0;
}

.nd-container {
    max-width: var(--nd-content-width);
    margin: 0 auto;
    padding: 0 24px;
}

/* ==========================================================================
   НЕ НАЙДЕНО
   ========================================================================== */
.nd-not-found__title {
    font-size: 28px;
    font-weight: 700;
    color: var(--nd-heading);
    margin: 0 0 12px;
}

.nd-not-found__text {
    color: var(--nd-muted);
    margin: 0 0 28px;
}

/* ==========================================================================
   ХЛЕБНЫЕ КРОШКИ
   ========================================================================== */
.nd-breadcrumbs {
    margin-bottom: 32px;
}

.nd-breadcrumbs__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 13px;
    color: var(--nd-muted);
}

.nd-breadcrumbs__item {
    display: flex;
    align-items: center;
    gap: 4px;
}

.nd-breadcrumbs__link {
    color: var(--nd-orange);
    text-decoration: none;
    transition: color var(--nd-transition);
}

.nd-breadcrumbs__link:hover {
    color: var(--nd-orange-dark);
    text-decoration: underline;
}

.nd-breadcrumbs__sep {
    color: var(--nd-muted);
    user-select: none;
    font-size: 14px;
}

.nd-breadcrumbs__item--current {
    color: var(--nd-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 320px;
}

/* ==========================================================================
   HERO
   ========================================================================== */
.nd-hero {
    margin-bottom: 36px;
}

.nd-hero__meta {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.nd-hero__tag {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    background: var(--nd-orange-light);
    color: var(--nd-orange);
}

.nd-hero__date {
    font-size: 14px;
    color: var(--nd-muted);
}

.nd-hero__title {
    font-size: clamp(22px, 3.5vw, 38px);
    font-weight: 800;
    line-height: 1.2;
    color: var(--nd-heading);
    margin: 0 0 20px;
}

.nd-hero__lead {
    font-size: 18px;
    line-height: 1.65;
    color: #444;
    border-left: 4px solid var(--nd-orange);
    padding-left: 18px;
    margin: 0;
}

.nd-hero__lead p {
    margin: 0;
}

/* ==========================================================================
   ДЕТАЛЬНАЯ КАРТИНКА
   ========================================================================== */
.nd-cover {
    margin: 0 0 40px;
    border-radius: var(--nd-radius);
    overflow: hidden;
    line-height: 0;
}

.nd-cover__img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    max-height: 520px;
}

/* ==========================================================================
   КОНТЕНТ — DETAIL_TEXT
   Поддержка всех стандартных HTML-элементов
   ========================================================================== */
.nd-content {
    margin-bottom: 48px;
}

/* --- Заголовки --- */
.nd-content h2 {
    font-size: clamp(20px, 2.5vw, 28px);
    font-weight: 700;
    color: var(--nd-heading);
    margin: 2em 0 .75em;
    line-height: 1.3;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--nd-orange-light);
}

.nd-content h2:first-child {
    margin-top: 0;
}

.nd-content h3 {
    font-size: clamp(17px, 2vw, 22px);
    font-weight: 700;
    color: var(--nd-heading);
    margin: 1.8em 0 .6em;
    line-height: 1.35;
}

.nd-content h4 {
    font-size: 18px;
    font-weight: 600;
    color: var(--nd-heading);
    margin: 1.5em 0 .5em;
}

/* --- Параграфы --- */
.nd-content p {
    margin: 0 0 1.4em;
}

.nd-content p:last-child {
    margin-bottom: 0;
}

/* --- Ненумерованный список --- */
.nd-content ul {
    margin: 0 0 1.4em 0;
    padding: 0;
    list-style: none;
}

.nd-content ul li {
    position: relative;
    padding: 6px 0 6px 28px;
    line-height: 1.65;
}

.nd-content ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 14px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--nd-orange);
    flex-shrink: 0;
}

/* Вложенный ul */
.nd-content ul ul {
    margin-top: 6px;
    margin-bottom: 0;
}

.nd-content ul ul li::before {
    background: transparent;
    border: 2px solid var(--nd-orange);
}

/* --- Нумерованный список --- */
.nd-content ol {
    margin: 0 0 1.4em 0;
    padding: 0;
    list-style: none;
    counter-reset: nd-ol-counter;
}

.nd-content ol li {
    position: relative;
    padding: 6px 0 6px 38px;
    line-height: 1.65;
    counter-increment: nd-ol-counter;
}

.nd-content ol li::before {
    content: counter(nd-ol-counter);
    position: absolute;
    left: 0;
    top: 6px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--nd-orange);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* --- Ссылки --- */
.nd-content a {
    color: var(--nd-orange);
    text-decoration: underline;
    text-decoration-color: transparent;
    transition: color var(--nd-transition), text-decoration-color var(--nd-transition);
}

.nd-content a:hover {
    color: var(--nd-orange-dark);
    text-decoration-color: var(--nd-orange-dark);
}

/* --- Выделение --- */
.nd-content strong,
.nd-content b {
    font-weight: 700;
    color: var(--nd-heading);
}

.nd-content em,
.nd-content i {
    font-style: italic;
}

/* --- Цитата --- */
.nd-content blockquote {
    margin: 2em 0;
    padding: 20px 24px;
    border-left: 4px solid var(--nd-orange);
    background: var(--nd-orange-light);
    border-radius: 0 var(--nd-radius-sm) var(--nd-radius-sm) 0;
    font-size: 17px;
    color: #444;
}

.nd-content blockquote p {
    margin: 0;
}

/* --- Таблица --- */
.nd-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 1.8em;
    font-size: 15px;
    border-radius: var(--nd-radius-sm);
    overflow: hidden;
}

.nd-content table th {
    background: var(--nd-orange);
    color: #fff;
    font-weight: 700;
    padding: 12px 16px;
    text-align: left;
}

.nd-content table td {
    padding: 10px 16px;
    border-bottom: 1px solid var(--nd-border);
}

.nd-content table tr:last-child td {
    border-bottom: none;
}

.nd-content table tr:nth-child(even) td {
    background: var(--nd-bg);
}

/* --- Картинки внутри текста --- */
.nd-content img {
    max-width: 100%;
    height: auto;
    border-radius: var(--nd-radius-sm);
    display: block;
    margin: 1.5em auto;
}

/* --- Горизонтальная линия --- */
.nd-content hr {
    border: none;
    border-top: 2px solid var(--nd-border);
    margin: 2.5em 0;
}

/* --- Код --- */
.nd-content pre {
    background: #1a1a2e;
    color: #e8e8e8;
    padding: 20px;
    border-radius: var(--nd-radius-sm);
    overflow-x: auto;
    font-size: 14px;
    margin: 0 0 1.4em;
}

.nd-content code {
    background: #f0f4f8;
    color: var(--nd-orange-dark);
    padding: 2px 6px;
    border-radius: 3px;
    font-size: .9em;
}

/* ==========================================================================
   КНОПКИ
   ========================================================================== */
.nd-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: var(--nd-radius-sm);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: background var(--nd-transition), color var(--nd-transition), border-color var(--nd-transition);
    border: 2px solid transparent;
    line-height: 1;
}

.nd-btn--primary {
    background: var(--nd-orange);
    color: #fff;
    border-color: var(--nd-orange);
}

.nd-btn--primary:hover {
    background: var(--nd-orange-dark);
    border-color: var(--nd-orange-dark);
    color: #fff;
}

.nd-btn--outline {
    background: transparent;
    color: var(--nd-orange);
    border-color: var(--nd-orange);
}

.nd-btn--outline:hover {
    background: var(--nd-orange);
    color: #fff;
}

/* ==========================================================================
   КНОПКА НАЗАД
   ========================================================================== */
.nd-back {
    padding-top: 8px;
    border-top: 1px solid var(--nd-border);
}

/* ==========================================================================
   АДАПТИВ
   ========================================================================== */
@media (max-width: 768px) {
    .nd-page {
        padding: 28px 0 56px;
    }

    .nd-container {
        padding: 0 16px;
    }

    .nd-hero__lead {
        font-size: 16px;
    }

    .nd-hero__title {
        font-size: 24px;
    }

    .nd-content h2 {
        font-size: 20px;
    }

    .nd-content h3 {
        font-size: 17px;
    }

    .nd-cover {
        margin-left: -16px;
        margin-right: -16px;
        border-radius: 0;
    }

    .nd-cover__img {
        max-height: 300px;
    }

    .nd-content ul li::before {
        top: 13px;
    }

    .nd-breadcrumbs__item--current {
        max-width: 200px;
    }
}

@media (max-width: 480px) {
    .nd-hero__meta {
        gap: 8px;
    }

    .nd-content table {
        font-size: 13px;
    }

    .nd-content table th,
    .nd-content table td {
        padding: 8px 10px;
    }
}

/* End */
/* /local/components/custom/news.detail/templates/.default/style.css?178238955210868 */
