/**
 * Homepage v3 - Final Prototype Styles
 * Naked Technologies
 * 
 * Все стили изолированы внутри .nt-homepage
 * @version 3.0.0
 */

/* ===== CSS VARIABLES ===== */
/* Основные переменные определены в global.css */
/* Алиасы для совместимости с существующим кодом */
:root {
    --nt-primary: var(--primary);
    --nt-primary-dark: var(--primary-dark);
    --nt-bg-light: var(--bg-light);
    --nt-bg-white: var(--bg-white);
    --nt-text-dark: var(--text-dark);
    --nt-text-gray: var(--text-gray);
    --nt-text-light: #9CA3AF;
    --nt-border: var(--border);
    --nt-border-light: var(--border-light);
    --nt-shadow-sm: var(--shadow-sm);
    --nt-shadow-md: var(--shadow-md);
    --nt-shadow-lg: var(--shadow-lg);
    --nt-gradient-primary: var(--gradient-primary);
    --nt-green: #10B981;
    
    /* Hero Banner Brand Colors - единый стиль для всех слайдов */
    --hero-title: #F2F5FA;
    --hero-subtitle: #B8C2D8;
    --hero-accent: #DCE6FF;
    --hero-support: #8E9AB3;
    --hero-badge-bg: #2F4AE6;
    --hero-badge-text: #FFFFFF;
    --hero-cta-bg: #2F4AE6;
    --hero-cta-text: #FFFFFF;
    --hero-cta-hover: #3E5BFF;
}

/* ===== RESET для .nt-homepage ===== */
.nt-homepage {
    font-family: var(--font-family-montserrat) !important;
    color: var(--text-dark) !important;
    line-height: 1.6 !important;
    background: var(--bg-page) !important;
    font-size: 16px !important;
}

.nt-homepage *,
.nt-homepage *::before,
.nt-homepage *::after {
    box-sizing: border-box !important;
}

.nt-homepage h1,
.nt-homepage h2,
.nt-homepage h3,
.nt-homepage h4,
.nt-homepage h5,
.nt-homepage h6,
.nt-homepage p {
    margin: 0 !important;
    padding: 0 !important;
}

.nt-homepage a {
    text-decoration: none !important;
}

/* ===== CONTAINER - наследуется из global.css ===== */
/* Переменные: --container-max, --container-padding, --section-gap */

/* ===== SECTION STYLES ===== */
.nt-homepage .nt-section {
    margin-bottom: var(--section-gap) !important;
    padding-top: 16px !important;
}

.nt-homepage .nt-section:last-of-type {
    margin-bottom: var(--section-gap-last) !important;
}

.nt-homepage .nt-section-title {
    font-size: 32px !important;
    font-weight: 800 !important;
    color: var(--text-dark) !important;
    text-align: center !important;
    margin-bottom: 16px !important;
    line-height: 1.2 !important;
}

.nt-homepage .nt-section-subtitle {
    font-size: 15px !important;
    color: #6B7280 !important;
    text-align: center !important;
    margin-top: 0 !important;
    margin-bottom: 36px !important;
    line-height: 1.5 !important;
}

/* Секции без подзаголовка - увеличенный отступ заголовка */
.nt-homepage .nt-section-title:last-child,
.nt-homepage .nt-products-section .nt-section-title,
.nt-homepage .nt-articles-section .nt-section-title,
.nt-homepage .nt-reviews-section .nt-section-title {
    margin-bottom: 36px !important;
}

.nt-homepage .nt-section-link {
    display: block !important;
    text-align: right !important;
    color: var(--primary) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    margin-top: 24px !important;
}

.nt-homepage .nt-section-link:hover {
    opacity: 0.8 !important;
}

/* ===== 1. HERO SLIDER ===== */
.nt-homepage .nt-hero-section {
    padding: 8px 0 0 0 !important;
}

.nt-homepage .nt-hero-slider {
    position: relative !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1) !important;
}

.nt-homepage .nt-hero-slides {
    display: flex !important;
    transition: transform 0.5s ease !important;
}

.nt-homepage .nt-hero-slide {
    min-width: 100% !important;
    min-height: 420px !important;
    background-size: cover !important;
    background-position: center !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
}

/* Базовый стиль слайда - для товаров */
.nt-homepage .nt-hero-slide-1,
.nt-homepage .nt-hero-slide-product {
    background-color: #E8EDF8 !important;
    background-size: cover !important;
    background-position: center right !important;
    background-repeat: no-repeat !important;
}

/* LCP изображение для первого слайда - ускоряет загрузку */
.nt-homepage .nt-hero-lcp-img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: right center !important;
    z-index: 0 !important;
}

/* Стиль для промо-слайдов (fallback цвет если нет картинки) */
.nt-homepage .nt-hero-slide-promo {
    background-color: #1a365d !important;
    background-size: auto 100% !important;
    background-position: right center !important;
    background-repeat: no-repeat !important;
}

/* Промо-слайды используют те же цвета, что и обычные - единый брендинг */

/* Fallback цвета для статичных слайдов (если ACF не настроен или нет картинки) */
.nt-homepage .nt-hero-slide-2,
.nt-homepage .nt-hero-slide-3 {
    background-color: #1a365d !important;
}

.nt-homepage .nt-hero-slide-content {
    padding: 48px 60px !important;
    max-width: 680px !important;
    z-index: 2 !important;
    position: relative !important;
}

.nt-homepage .nt-hero-label {
    display: inline-block !important;
    background: var(--hero-badge-bg) !important;
    color: var(--hero-badge-text) !important;
    padding: 6px 14px !important;
    border-radius: 6px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    margin-bottom: 12px !important;
}

/* Единый стиль бейджа для всех слайдов - без зелёных/жёлтых акцентов */

/* Переносы строк только на мобильном */
.nt-homepage .mobile-br {
    display: none !important;
}

.nt-homepage .nt-hero-slide h1 {
    font-size: 36px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    margin-bottom: 8px !important;
    color: var(--hero-title) !important;
}

/* Акцентная часть заголовка - единый стиль */
.nt-homepage .nt-hero-slide h1 span {
    color: var(--hero-accent) !important;
}

.nt-homepage .nt-hero-subtitle {
    font-size: 15px !important;
    color: var(--hero-subtitle) !important;
    margin-bottom: 20px !important;
    line-height: 1.5 !important;
}

/* Вспомогательный текст под ценой */
.nt-homepage .nt-hero-support {
    font-size: 13px !important;
    color: var(--hero-support) !important;
    margin-top: 8px !important;
}

/* Выделенная строка - цена, проценты, суммы */
.nt-homepage .nt-hero-highlight {
    font-size: 32px !important;
    font-weight: 900 !important;
    color: var(--hero-accent) !important;
    margin: 16px 0 4px !important;
    line-height: 1.2 !important;
}

/* Акцентный блок цены (legacy) */
.nt-homepage .nt-hero-price-block {
    display: inline-block !important;
    margin-bottom: 8px !important;
}

.nt-homepage .nt-hero-price-value {
    font-size: 32px !important;
    font-weight: 900 !important;
    color: var(--hero-accent) !important;
}

.nt-homepage .nt-hero-price-sub {
    font-size: 13px !important;
    color: var(--hero-support) !important;
    margin-top: 4px !important;
}

/* CTA кнопка - единый стиль для всех баннеров */
.nt-homepage .nt-hero-cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 20px !important;
    padding: 14px 28px !important;
    background: var(--hero-cta-bg) !important;
    color: var(--hero-cta-text) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    border-radius: 12px !important;
    transition: all 0.2s !important;
    box-shadow: 0 4px 12px rgba(47, 74, 230, 0.3) !important;
}

.nt-homepage .nt-hero-cta:hover {
    transform: translateY(-2px) !important;
    background: var(--hero-cta-hover) !important;
    box-shadow: 0 6px 16px rgba(47, 74, 230, 0.4) !important;
    color: var(--hero-cta-text) !important;
}

.nt-homepage .nt-hero-cta svg {
    width: 16px !important;
    height: 16px !important;
}

.nt-homepage .nt-hero-nav-zone {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 120px !important;
    z-index: 10 !important;
}

.nt-homepage .nt-hero-nav-zone.left {
    left: 0 !important;
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%232C3DF5' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E") 16 16, pointer !important;
}

.nt-homepage .nt-hero-nav-zone.right {
    right: 0 !important;
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%232C3DF5' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") 16 16, pointer !important;
}

.nt-homepage .nt-hero-nav-zone:hover {
    background: transparent !important;
}

.nt-homepage .nt-slider-dots {
    position: absolute !important;
    bottom: 16px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    gap: 6px !important;
    z-index: 10 !important;
}

.nt-homepage .nt-slider-dot {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: rgba(33, 55, 119, 0.3) !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s !important;
    padding: 0 !important;
}

.nt-homepage .nt-slider-dot.active {
    background: var(--primary) !important;
    width: 24px !important;
    border-radius: 4px !important;
}

/* ===== 2. ADVANTAGES BAR ===== */
.nt-advantages-section {
    margin-top: 24px !important;
    margin-bottom: 48px !important;
}

.nt-advantages-bar {
    background: white !important;
    border-radius: 14px !important;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
    display: flex !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    overflow: hidden !important;
}

.nt-advantage-item {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 24px 12px !important;
    border-right: 1px solid #E6E6FF !important;
    transition: background 0.2s !important;
}

.nt-advantage-item:last-child {
    border-right: none !important;
}

.nt-advantage-item:hover {
    background: #F5F9FF !important;
}

.nt-advantage-number {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--primary) !important;
    line-height: 1.2 !important;
    margin-bottom: 4px !important;
}

.nt-advantage-text {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #6B7280 !important;
    line-height: 1.3 !important;
}

/* ===== 3. PRODUCTS (Хиты продаж) ===== */

.nt-homepage .nt-products-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
}

.nt-homepage .nt-product-card {
    background: white !important;
    border-radius: 16px !important;
    padding: 20px !important;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
    transition: all 0.3s !important;
    text-decoration: none !important;
    display: block !important;
    position: relative !important;
}

.nt-homepage .nt-product-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1) !important;
}

.nt-homepage .nt-product-badge {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    padding: 6px 10px !important;
    border-radius: 6px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    z-index: 2 !important;
}

.nt-homepage .nt-product-badge.hit {
    background: var(--primary) !important;
    color: white !important;
}

.nt-homepage .nt-product-badge.sale {
    background: #ef4444 !important;
    color: white !important;
}

.nt-homepage .nt-product-badge.new {
    background: #10B981 !important;
    color: white !important;
}

.nt-homepage .nt-product-image {
    aspect-ratio: 1 / 1 !important;
    background: #ffffff !important;
    border-radius: 12px !important;
    border: 1px solid #E5E7EB !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 16px !important;
    overflow: hidden !important;
    color: #9CA3AF !important;
    font-size: 13px !important;
}

.nt-homepage .nt-product-image img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
}

.nt-homepage .nt-product-brand {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--primary) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 4px !important;
}

.nt-homepage .nt-product-name {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--text-dark) !important;
    margin-bottom: 8px !important;
    line-height: 1.3 !important;
}

.nt-homepage .nt-product-rating {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-bottom: 12px !important;
}

.nt-homepage .nt-product-stars {
    color: #FBBF24 !important;
    font-size: 12px !important;
}

.nt-homepage .nt-product-rating-value {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--text-dark) !important;
}

.nt-homepage .nt-product-reviews {
    font-size: 12px !important;
    color: #6B7280 !important;
}

.nt-homepage .nt-product-prices {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.nt-homepage .nt-product-price {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: var(--primary) !important;
}

.nt-homepage .nt-product-price-old {
    font-size: 14px !important;
    color: #9CA3AF !important;
    text-decoration: line-through !important;
}

/* ===== 4. COMBO SECTION ===== */
.nt-homepage .nt-combo-section {
    background: white !important;
    border-radius: 24px !important;
    padding: 40px !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important;
}

.nt-homepage .nt-combo-section .nt-section-title {
    margin-bottom: 8px !important;
}

.nt-homepage .nt-combo-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
}

.nt-homepage .nt-combo-card {
    background: #F5F9FF !important;
    border-radius: 16px !important;
    padding: 24px !important;
    text-decoration: none !important;
    display: block !important;
    transition: all 0.3s !important;
}

.nt-homepage .nt-combo-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important;
}

.nt-homepage .nt-combo-images {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    gap: 8px !important;
    height: 140px !important;
    margin-bottom: 20px !important;
}

.nt-homepage .nt-combo-img {
    background: white !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
    overflow: hidden !important;
    color: #9CA3AF !important;
    font-size: 10px !important;
}

.nt-homepage .nt-combo-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.nt-homepage .nt-combo-img.small {
    width: 70px !important;
    height: 90px !important;
}

.nt-homepage .nt-combo-img.large {
    width: 90px !important;
    height: 120px !important;
}

.nt-homepage .nt-combo-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--primary) !important;
    margin-bottom: 4px !important;
    text-align: center !important;
}

.nt-homepage .nt-combo-subtitle {
    font-size: 13px !important;
    color: #6B7280 !important;
    margin-bottom: 12px !important;
    text-align: center !important;
}

.nt-homepage .nt-combo-feature {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 12px !important;
    color: var(--text-dark) !important;
    justify-content: center !important;
    margin-bottom: 16px !important;
}

.nt-homepage .nt-combo-feature svg {
    width: 18px !important;
    height: 18px !important;
    fill: #10B981 !important;
}

.nt-homepage .nt-combo-price {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: var(--primary) !important;
    text-align: center !important;
}

/* ===== 5. BRANDS ===== */
.nt-homepage .nt-brands-section {
    background: white !important;
    border-radius: 24px !important;
    padding: 40px !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important;
}

.nt-homepage .nt-brands-section .nt-section-title {
    margin-bottom: 32px !important;
}

.nt-homepage .nt-brands-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
}

.nt-homepage .nt-brand-card {
    background: #F5F9FF !important;
    border-radius: 12px !important;
    padding: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
    border: 2px solid transparent !important;
    min-height: 80px !important;
}

.nt-homepage .nt-brand-card:hover {
    border-color: var(--primary) !important;
    background: white !important;
}

.nt-homepage .nt-brand-name {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--text-dark) !important;
}

.nt-homepage .nt-brand-logo {
    max-width: 120px !important;
    max-height: 40px !important;
    object-fit: contain !important;
    filter: grayscale(100%) !important;
    opacity: 0.7 !important;
    transition: all 0.2s !important;
}

.nt-homepage .nt-brand-card:hover .nt-brand-logo {
    filter: grayscale(0%) !important;
    opacity: 1 !important;
}

.nt-homepage .nt-brand-card.more {
    background: transparent !important;
    border: 2px dashed #E6E6FF !important;
}

.nt-homepage .nt-brand-card.more:hover {
    border-color: var(--primary) !important;
    background: #F5F9FF !important;
}

.nt-homepage .nt-brand-card.more .nt-brand-name {
    color: var(--primary) !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}

/* ===== 6. REVIEWS ===== */
.nt-homepage .nt-reviews-section .nt-section-title {
    margin-bottom: 24px !important;
}

/* Wrapper отзывов - position relative для absolute кнопок */
.nt-homepage .nt-reviews-section .nt-reviews-wrapper {
    position: relative !important;
}

/* Grid отзывов */
.nt-homepage .nt-reviews-section .nt-reviews-grid {
    display: flex !important;
    gap: 24px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    padding: 16px 4px !important;
    margin: -16px -4px !important;
}

.nt-homepage .nt-reviews-grid::-webkit-scrollbar {
    display: none !important;
}

/* Кнопки навигации - position absolute */
.nt-homepage .nt-reviews-wrapper .nt-scroll-nav,
.nt-homepage .nt-articles-wrapper .nt-scroll-nav {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 44px !important;
    height: 44px !important;
    background: white !important;
    border: 1px solid #E6E6FF !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important;
    z-index: 10 !important;
    transition: all 0.2s !important;
}

.nt-homepage .nt-reviews-wrapper .nt-scroll-nav:hover,
.nt-homepage .nt-articles-wrapper .nt-scroll-nav:hover {
    background: #F5F9FF !important;
}

.nt-homepage .nt-reviews-wrapper .nt-scroll-nav.prev,
.nt-homepage .nt-articles-wrapper .nt-scroll-nav.prev {
    left: -22px !important;
}

.nt-homepage .nt-reviews-wrapper .nt-scroll-nav.next,
.nt-homepage .nt-articles-wrapper .nt-scroll-nav.next {
    right: -22px !important;
}

.nt-homepage .nt-reviews-wrapper .nt-scroll-nav svg,
.nt-homepage .nt-articles-wrapper .nt-scroll-nav svg {
    width: 20px !important;
    height: 20px !important;
    stroke: var(--text-dark) !important;
}

.nt-homepage .nt-reviews-grid::-webkit-scrollbar {
    display: none !important;
}

.nt-homepage .nt-reviews-section .nt-review-card {
    min-width: calc((100% - 48px) / 3) !important;
    max-width: calc((100% - 48px) / 3) !important;
    flex: 0 0 calc((100% - 48px) / 3) !important;
    background: white !important;
    border-radius: 16px !important;
    padding: 28px !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important;
    scroll-snap-align: start !important;
}

.nt-homepage .nt-review-header {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin-bottom: 16px !important;
}

.nt-homepage .nt-review-avatar {
    width: 52px !important;
    height: 52px !important;
    border-radius: 50% !important;
    background: #F5F9FF !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--primary) !important;
    font-weight: 700 !important;
    font-size: 18px !important;
}

.nt-homepage .nt-review-author {
    flex: 1 !important;
}

.nt-homepage .nt-review-name {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--text-dark) !important;
}

.nt-homepage .nt-review-date {
    font-size: 12px !important;
    color: #6B7280 !important;
}

.nt-homepage .nt-review-stars {
    color: #FBBF24 !important;
    font-size: 14px !important;
}

.nt-homepage .nt-review-text {
    font-size: 14px !important;
    color: #6B7280 !important;
    line-height: 1.6 !important;
}

/* Scroll navigation */
/* ===== 7. ARTICLES ===== */

/* Wrapper статей */
.nt-homepage .nt-articles-section .nt-articles-wrapper {
    position: relative !important;
}

/* Grid статей */
.nt-homepage .nt-articles-section .nt-articles-grid {
    display: flex !important;
    gap: 24px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    padding: 16px 4px !important;
    margin: -16px -4px !important;
}

.nt-homepage .nt-articles-grid::-webkit-scrollbar {
    display: none !important;
}

.nt-homepage .nt-articles-section .nt-article-card {
    min-width: calc((100% - 48px) / 3) !important;
    max-width: calc((100% - 48px) / 3) !important;
    flex: 0 0 calc((100% - 48px) / 3) !important;
    background: white !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important;
    scroll-snap-align: start !important;
    text-decoration: none !important;
    display: block !important;
    transition: all 0.3s !important;
}

.nt-homepage .nt-articles-section .nt-article-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1) !important;
}

.nt-homepage .nt-article-banner {
    height: 180px !important;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    position: relative !important;
    padding: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    overflow: hidden !important;
}

.nt-homepage .nt-article-banner img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    z-index: 1 !important;
}

/* Лейбл и заголовок только когда нет картинки */
.nt-homepage .nt-article-label {
    position: relative !important;
    display: inline-block !important;
    width: fit-content !important;
    background: rgba(255,255,255,0.25) !important;
    backdrop-filter: blur(4px) !important;
    color: white !important;
    padding: 6px 12px !important;
    border-radius: 6px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    z-index: 3 !important;
    margin-bottom: 8px !important;
}

.nt-homepage .nt-article-banner-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: white !important;
    line-height: 1.3 !important;
    position: relative !important;
    z-index: 3 !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3) !important;
}

.nt-homepage .nt-article-content {
    padding: 20px !important;
}

.nt-homepage .nt-article-excerpt {
    font-size: 14px !important;
    color: #6B7280 !important;
    line-height: 1.5 !important;
    margin-bottom: 16px !important;
}

.nt-homepage .nt-article-meta {
    display: flex !important;
    gap: 16px !important;
    font-size: 12px !important;
    color: #9CA3AF !important;
}

.nt-homepage .nt-article-meta span {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}

/* ===== 8. FAQ ===== */
/* FAQ стили теперь централизованы в global.css с !important для изоляции от родительских стилей */

/* ===== 9. CTA FORM ===== */
.nt-homepage .nt-cta-section {
    background: white !important;
    border-radius: 24px !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1) !important;
    overflow: hidden !important;
    display: grid !important;
    grid-template-columns: 380px 1fr !important;
}

.nt-homepage .nt-cta-manager {
    background: linear-gradient(180deg, var(--primary) 0%, #1E28B8 100%) !important;
    padding: 48px 36px !important;
    color: white !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}

.nt-homepage .nt-manager-photo {
    width: 120px !important;
    height: 120px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.2) !important;
    margin-bottom: 20px !important;
    overflow: hidden !important;
    border: 4px solid rgba(255,255,255,0.3) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 40px !important;
    color: rgba(255,255,255,0.5) !important;
}

.nt-homepage .nt-manager-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.nt-homepage .nt-manager-name {
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-bottom: 4px !important;
    color: white !important;
}

.nt-homepage .nt-manager-role {
    font-size: 13px !important;
    opacity: 0.8 !important;
    margin-bottom: 20px !important;
    color: white !important;
}

.nt-homepage .nt-manager-stats {
    display: flex !important;
    gap: 28px !important;
    margin-bottom: 24px !important;
}

.nt-homepage .nt-stat {
    text-align: center !important;
}

.nt-homepage .nt-stat-value {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: white !important;
}

.nt-homepage .nt-stat-label {
    font-size: 10px !important;
    opacity: 0.8 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: white !important;
}

.nt-homepage .nt-manager-quote {
    font-size: 13px !important;
    line-height: 1.6 !important;
    opacity: 0.9 !important;
    font-style: italic !important;
    padding: 16px !important;
    background: rgba(255,255,255,0.1) !important;
    border-radius: 12px !important;
    color: white !important;
}

.nt-homepage .nt-manager-contacts {
    margin-top: 20px !important;
    display: flex !important;
    gap: 10px !important;
}

.nt-homepage .nt-manager-contact {
    width: 40px !important;
    height: 40px !important;
    background: rgba(255,255,255,0.15) !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

.nt-homepage .nt-manager-contact:hover {
    background: rgba(255,255,255,0.25) !important;
}

.nt-homepage .nt-manager-contact svg {
    width: 18px !important;
    height: 18px !important;
    color: white !important;
    fill: white !important;
}

.nt-homepage .nt-cta-form-wrapper {
    padding: 48px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.nt-homepage .nt-cta-form-header {
    margin-bottom: 28px !important;
}

.nt-homepage .nt-cta-form-header h2 {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: var(--text-dark) !important;
    margin-bottom: 8px !important;
}

.nt-homepage .nt-cta-form-header p {
    font-size: 15px !important;
    color: #6B7280 !important;
}

.nt-homepage .nt-cta-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: #E8FFF3 !important;
    color: #059669 !important;
    padding: 8px 14px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    margin-bottom: 14px !important;
}

.nt-homepage .nt-cta-badge svg {
    width: 16px !important;
    height: 16px !important;
}

.nt-homepage .nt-form-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
}

.nt-homepage .nt-form-group {
    margin-bottom: 14px !important;
}

.nt-homepage .nt-form-group label {
    display: block !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--text-dark) !important;
    margin-bottom: 6px !important;
}

.nt-homepage .nt-form-group input,
.nt-homepage .nt-form-group select {
    width: 100% !important;
    padding: 13px 16px !important;
    border: 1px solid #E6E6FF !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-family: inherit !important;
    color: var(--text-dark) !important;
    background: white !important;
    transition: all 0.2s !important;
}

.nt-homepage .nt-form-group input:focus,
.nt-homepage .nt-form-group select:focus {
    outline: none !important;
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 4px rgba(44, 61, 245, 0.1) !important;
}

.nt-homepage .nt-form-group input::placeholder {
    color: #9CA3AF !important;
}

.nt-homepage .nt-form-group.select-wrapper {
    position: relative !important;
}

.nt-homepage .nt-form-group.select-wrapper::after {
    content: '' !important;
    position: absolute !important;
    right: 16px !important;
    bottom: 17px !important;
    width: 10px !important;
    height: 10px !important;
    border-right: 2px solid #6B7280 !important;
    border-bottom: 2px solid #6B7280 !important;
    transform: rotate(45deg) !important;
    pointer-events: none !important;
}

.nt-homepage .nt-form-group select {
    -webkit-appearance: none !important;
    appearance: none !important;
    padding-right: 44px !important;
    cursor: pointer !important;
}

.nt-homepage .nt-form-submit {
    width: 100% !important;
    padding: 16px 32px !important;
    background: linear-gradient(135deg, var(--primary) 0%, #5B6BFF 100%) !important;
    color: white !important;
    border: none !important;
    border-radius: 12px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    font-family: inherit !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    box-shadow: 0 4px 16px rgba(44, 61, 245, 0.3) !important;
}

.nt-homepage .nt-form-submit:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(44, 61, 245, 0.4) !important;
}

.nt-homepage .nt-form-note {
    font-size: 12px !important;
    color: #6B7280 !important;
    text-align: center !important;
    margin-top: 14px !important;
}

.nt-homepage .nt-form-note a {
    color: var(--primary) !important;
}

.nt-homepage .nt-form-benefits {
    display: flex !important;
    gap: 20px !important;
    margin-top: 20px !important;
    padding-top: 20px !important;
    border-top: 1px solid #F0F0FF !important;
}

.nt-homepage .nt-form-benefit {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 13px !important;
    color: #6B7280 !important;
}

.nt-homepage .nt-form-benefit svg {
    width: 18px !important;
    height: 18px !important;
    color: var(--primary) !important;
    stroke: var(--primary) !important;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1200px) {
    .nt-homepage .nt-container {
        padding: 0 24px !important;
    }
    
    .nt-homepage .nt-products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    .nt-homepage .nt-combo-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    .nt-homepage .nt-brands-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 900px) {
    .nt-homepage .nt-hero-slide-content {
        padding: 32px !important;
    }
    
    .nt-homepage .nt-hero-slide h1 {
        font-size: 28px !important;
    }
    
    .nt-advantages-bar {
        flex-wrap: wrap !important;
    }
    
    .nt-advantage-item {
        flex: 1 1 50% !important;
        border-bottom: 1px solid #E6E6FF !important;
        padding: 16px 8px !important;
    }
    
    .nt-advantage-item:nth-child(odd) {
        border-right: 1px solid #E6E6FF !important;
    }
    
    .nt-advantage-item:nth-child(n+5) {
        border-bottom: none !important;
    }
    
    .nt-advantage-number {
        font-size: 20px !important;
    }
    
    .nt-advantage-item {
        padding: 18px 8px !important;
    }
    
    .nt-homepage .nt-cta-section {
        grid-template-columns: 1fr !important;
    }
    
    .nt-homepage .nt-cta-manager {
        padding: 32px 24px !important;
    }
    
    .nt-homepage .nt-cta-form-wrapper {
        padding: 32px 24px !important;
    }
    
    .nt-homepage .nt-form-row {
        grid-template-columns: 1fr !important;
    }
    
    .nt-homepage .nt-form-benefits {
        flex-wrap: wrap !important;
    }
    
    .nt-homepage .nt-scroll-nav {
        display: none !important;
    }
    
    .nt-homepage .nt-combo-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 600px) {
    .nt-homepage .nt-container {
        padding: 0 16px !important;
    }
    
    .nt-homepage .nt-section-title {
        font-size: 24px !important;
        margin-bottom: 24px !important;
    }
    
    .nt-homepage .nt-products-grid {
        grid-template-columns: 1fr !important;
    }
    
    .nt-homepage .nt-brands-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    /* === ОТЗЫВЫ - мобильная версия === */
    /* === ОТЗЫВЫ - мобильная версия === */
    .nt-homepage .nt-reviews-section .nt-reviews-wrapper {
        overflow: visible !important;
        padding: 0 !important;
        margin: 0 -16px !important; /* Выходим за пределы контейнера */
    }
    
    .nt-homepage .nt-reviews-section .nt-reviews-grid {
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        overflow-x: auto !important;
        padding: 8px 16px !important; /* Отступы для теней */
        gap: 16px !important;
        margin: 0 !important;
    }
    
    .nt-homepage .nt-reviews-section .nt-review-card {
        min-width: calc(100vw - 64px) !important; /* Учитываем padding grid */
        max-width: calc(100vw - 64px) !important;
        flex: 0 0 calc(100vw - 64px) !important;
        padding: 20px !important;
        margin: 0 !important;
        scroll-snap-align: center !important;
        border-radius: 16px !important;
        background: white !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    }
    
    .nt-homepage .nt-review-card .nt-review-text {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }
    
    /* Скрываем стрелки на мобильном */
    .nt-homepage .nt-reviews-wrapper .nt-scroll-nav,
    .nt-homepage .nt-articles-wrapper .nt-scroll-nav {
        display: none !important;
    }
    
    /* === СТАТЬИ - мобильная версия === */
    .nt-homepage .nt-articles-section .nt-articles-wrapper {
        overflow: visible !important;
        padding: 0 !important;
        margin: 0 -16px !important; /* Выходим за пределы контейнера */
    }
    
    .nt-homepage .nt-articles-section .nt-articles-grid {
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        overflow-x: auto !important;
        padding: 8px 16px !important; /* Отступы для теней */
        gap: 16px !important;
        margin: 0 !important;
    }
    
    .nt-homepage .nt-articles-section .nt-article-card {
        min-width: calc(100vw - 64px) !important;
        max-width: calc(100vw - 64px) !important;
        flex: 0 0 calc(100vw - 64px) !important;
        margin: 0 !important;
        scroll-snap-align: center !important;
        border-radius: 16px !important;
        background: white !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
        overflow: hidden !important;
    }
    
    .nt-homepage .nt-article-card .nt-article-image {
        height: 180px !important;
    }
    
    .nt-homepage .nt-article-card .nt-article-title {
        font-size: 15px !important;
    }
    
    .nt-homepage .nt-article-card .nt-article-excerpt {
        font-size: 13px !important;
        -webkit-line-clamp: 3 !important;
    }
    
    /* === HERO - мобильная версия === */
    .nt-homepage .nt-hero-slide {
        min-height: 360px !important;
        flex-direction: column !important;
        position: relative !important;
        overflow: hidden !important;
    }
    
    /* Переопределяем для product слайдов - показываем левую чистую часть */
    .nt-homepage .nt-hero-slide-product,
    .nt-homepage .nt-hero-slide-1 {
        background-size: auto 100% !important; /* Высота 100%, ширина пропорционально */
        background-position: left center !important; /* Прижимаем к левому краю */
        background-repeat: no-repeat !important;
        background-color: #E8EDF8 !important; /* Фон если картинка не покрывает */
    }
    
    /* Переопределяем для promo слайдов - показываем весь баннер */
    .nt-homepage .nt-hero-slide-promo {
        background-size: cover !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
    }
    
    /* Сдвигаем фоновое изображение влево, где чистая область (для случая с <img>) */
    .nt-homepage .nt-hero-slide-image {
        position: absolute !important;
        left: 0 !important;
        right: auto !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: 100% !important;
        transform: none !important;
        z-index: 0 !important;
    }
    
    .nt-homepage .nt-hero-slide-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: left center !important;
    }
    
    /* LCP изображение на мобильном - позиция слева */
    .nt-homepage .nt-hero-lcp-img {
        object-position: left center !important;
    }
    
    .nt-homepage .nt-hero-slide-content {
        position: relative !important;
        z-index: 2 !important;
        padding: 24px 16px !important;
        background: transparent !important;
        width: 90% !important;
        max-width: 90% !important;
    }
    
    /* Показываем переносы на мобильном */
    .nt-homepage .mobile-br {
        display: inline !important;
    }
    
    .nt-homepage .nt-hero-slide h1 {
        font-size: 24px !important;
        margin-bottom: 6px !important;
        line-height: 1.2 !important;
    }
    
    .nt-homepage .nt-hero-subtitle {
        font-size: 14px !important;
        margin-bottom: 14px !important;
        line-height: 1.4 !important;
    }
    
    .nt-homepage .nt-hero-highlight {
        font-size: 24px !important;
        margin: 12px 0 4px !important;
    }
    
    .nt-homepage .nt-hero-price-value {
        font-size: 22px !important;
    }
    
    .nt-homepage .nt-hero-price-sub {
        font-size: 11px !important;
    }
    
    .nt-homepage .nt-hero-slide:not(.neo-hero) .nt-hero-cta {
        padding: 12px 20px !important;
        font-size: 14px !important;
        max-width: 80% !important;
        text-align: center !important;
        justify-content: center !important;
    }
    
    .nt-homepage .nt-hero-label {
        font-size: 10px !important;
        padding: 5px 10px !important;
    }
    
    /* FAQ мобильные стили теперь в global.css */
    
    /* === ПРОИЗВОДИТЕЛИ - мобильная версия === */
    .nt-homepage .nt-brands-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }
    
    .nt-homepage .nt-brand-item {
        padding: 16px 12px !important;
        font-size: 13px !important;
    }
    
    .nt-homepage .nt-brand-all {
        white-space: nowrap !important;
    }
    
    .nt-homepage .nt-brand-all span {
        display: inline !important;
    }
    
    /* === CTA СЕКЦИЯ - мобильная версия === */
    .nt-homepage .nt-manager-photo {
        width: 80px !important;
        height: 80px !important;
    }
    
    .nt-homepage .nt-manager-name {
        font-size: 18px !important;
    }
    
    .nt-homepage .nt-manager-stats {
        gap: 16px !important;
    }
    
    .nt-homepage .nt-stat-value {
        font-size: 18px !important;
    }
    
    .nt-homepage .nt-stat-label {
        font-size: 11px !important;
    }
    
    .nt-homepage .nt-manager-quote {
        font-size: 13px !important;
    }
    
    .nt-homepage .nt-manager-contacts {
        gap: 8px !important;
    }
    
    .nt-homepage .nt-contact-btn {
        width: 40px !important;
        height: 40px !important;
    }
}

/* ==========================================
   NEO-BRUTALISM HERO BANNERS
   ========================================== */

/* === Цветовые схемы баннеров === */
:root {
    /* ANGIE - розовая схема */
    --neo-angie-bg: #FFF5F9;
    --neo-angie-accent: #E88AAF;
    --neo-angie-btn: #F5A3C7;
    --neo-angie-btn-text: #000000;
    
    /* Запчасти - синяя схема */
    --neo-parts-bg: #E8F4FD;
    --neo-parts-accent: #4285F4;
    --neo-parts-btn: #4285F4;
    --neo-parts-btn-text: #FFFFFF;
    
    /* Соцконтракт - кремово-жёлтая схема */
    --neo-soccontract-bg: #FFFEF9;
    --neo-soccontract-accent: #FCD34D;
    --neo-soccontract-btn: #FCD34D;
    --neo-soccontract-btn-text: #000000;
}

/* === Базовые Neo-Brutalism эффекты === */
.neo-shadow {
    box-shadow: 6px 6px 0px 0px rgba(0,0,0,1) !important;
}

.neo-shadow-sm {
    box-shadow: 4px 4px 0px 0px rgba(0,0,0,1) !important;
}

.neo-btn {
    transition: all 0.15s ease !important;
}

.neo-btn:hover {
    transform: translate(3px, 3px) !important;
    box-shadow: none !important;
}

/* === Neo-Brutalism: Рамка и тень на КОНТЕЙНЕРЕ === */
.nt-homepage .nt-hero-slider:has(.neo-hero) {
    background: transparent !important;
    border: 3px solid #000000 !important;
    border-radius: 20px !important;
    box-shadow: 6px 6px 0px 0px rgba(0,0,0,1) !important;
    margin-right: 10px !important;
    margin-bottom: 10px !important;
    overflow: hidden !important;
}

/* === Neo-Brutalism Hero Slide (общий) === */
.nt-homepage .nt-hero-slide.neo-hero {
    height: 420px !important;
    min-height: 420px !important;
    display: flex !important;
    align-items: center !important;
    border: none !important;
    border-radius: 17px !important;
    box-shadow: none !important;
    background-size: cover !important;
    background-position: center right !important;
    background-repeat: no-repeat !important;
    overflow: hidden !important;
    position: relative !important;
}

/* Контент внутри Neo баннера */
.nt-homepage .nt-hero-slide.neo-hero .nt-hero-slide-content {
    padding: 0 64px !important;
    max-width: 60% !important;
    background: transparent !important;
}

/* H1 заголовок Neo */
.nt-homepage .nt-hero-slide.neo-hero h1 {
    font-size: 4.5rem !important;
    font-weight: 900 !important;
    color: #000000 !important;
    line-height: 1.05 !important;
    margin-bottom: 8px !important;
}

/* Акцентный текст (Android, БЕЗ ПРОСТОЕВ, ДО 350 000 ₽) */
.nt-homepage .nt-hero-slide.neo-hero .neo-accent-text {
    font-size: 2.25rem !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    margin-bottom: 16px !important;
}

/* Подзаголовок Neo */
.nt-homepage .nt-hero-slide.neo-hero .nt-hero-subtitle {
    font-size: 1.25rem !important;
    color: rgba(0,0,0,0.6) !important;
    line-height: 1.5 !important;
    margin-bottom: 20px !important;
    max-width: 500px !important;
}

/* Цена Neo */
.nt-homepage .nt-hero-slide.neo-hero .neo-price {
    font-size: 3.5rem !important;
    font-weight: 900 !important;
    color: #000000 !important;
    margin-bottom: 20px !important;
    line-height: 1.2 !important;
}

/* CTA кнопка Neo */
.nt-homepage .nt-hero-slide.neo-hero .nt-hero-cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 16px 24px !important;
    border: 2px solid #000000 !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
    box-shadow: 4px 4px 0px 0px rgba(0,0,0,1) !important;
    margin-top: 0 !important;
}

.nt-homepage .nt-hero-slide.neo-hero .nt-hero-cta:hover {
    transform: translate(3px, 3px) !important;
    box-shadow: none !important;
}

.nt-homepage .nt-hero-slide.neo-hero .nt-hero-cta svg {
    width: 16px !important;
    height: 16px !important;
    transition: transform 0.2s ease !important;
}

.nt-homepage .nt-hero-slide.neo-hero .nt-hero-cta:hover svg {
    transform: translateX(3px) !important;
}

/* Бейдж скрыт для Neo баннеров (используем в тексте) */
.nt-homepage .nt-hero-slide.neo-hero .nt-hero-label {
    display: none !important;
}

/* === ANGIE стиль === */
.nt-homepage .nt-hero-slide.neo-hero.neo-angie {
    background-color: var(--neo-angie-bg) !important;
    background-position: 85% center !important;
}

.nt-homepage .nt-hero-slide.neo-angie .neo-accent-text {
    color: var(--neo-angie-accent) !important;
}

.nt-homepage .nt-hero-slide.neo-angie .nt-hero-cta {
    background: var(--neo-angie-btn) !important;
    color: var(--neo-angie-btn-text) !important;
}

/* === Запчасти стиль === */
.nt-homepage .nt-hero-slide.neo-hero.neo-parts {
    background-color: var(--neo-parts-bg) !important;
    background-position: 80% center !important;
}

.nt-homepage .nt-hero-slide.neo-parts .neo-accent-text {
    color: var(--neo-parts-accent) !important;
}

.nt-homepage .nt-hero-slide.neo-parts .nt-hero-cta {
    background: var(--neo-parts-btn) !important;
    color: var(--neo-parts-btn-text) !important;
}

/* === Соцконтракт стиль === */
.nt-homepage .nt-hero-slide.neo-hero.neo-soccontract {
    background-color: var(--neo-soccontract-bg) !important;
    background-position: 75% center !important;
}

.nt-homepage .nt-hero-slide.neo-soccontract .neo-accent-text {
    color: var(--neo-soccontract-accent) !important;
    font-size: 4.5rem !important;
    margin-bottom: 16px !important;
}

.nt-homepage .nt-hero-slide.neo-soccontract .nt-hero-cta {
    background: var(--neo-soccontract-btn) !important;
    color: var(--neo-soccontract-btn-text) !important;
}


/* === Мобильная адаптация Neo баннеров (как в прототипе 430×420px) === */
@media (max-width: 768px) {
    /* Контейнер слайдера на мобильных — как в прототипе */
    .nt-homepage .nt-hero-slider:has(.neo-hero) {
        background: transparent !important;
        border: 2px solid #000000 !important;
        border-radius: 16px !important;
        box-shadow: 4px 4px 0px 0px rgba(0,0,0,1) !important;
        margin-right: 6px !important;
        margin-bottom: 6px !important;
    }
    
    /* Слайд — высота 420px как в прототипе */
    .nt-homepage .nt-hero-slide.neo-hero {
        height: 420px !important;
        min-height: 420px !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 14px !important;
        background-size: cover !important;
        display: flex !important;
        align-items: stretch !important;
    }
    
    /* Убираем оверлеи — в прототипе их нет */
    .nt-homepage .nt-hero-slide.neo-hero.neo-angie::before,
    .nt-homepage .nt-hero-slide.neo-hero.neo-parts::before,
    .nt-homepage .nt-hero-slide.neo-hero.neo-soccontract::before {
        display: none !important;
    }
    
    /* Контент — на всю высоту, кнопка прижата к низу */
    .nt-homepage .nt-hero-slide.neo-hero .nt-hero-slide-content {
        padding: 24px !important;
        max-width: 55% !important;
        height: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 4px !important;
        position: relative !important;
        z-index: 2 !important;
    }
    
    /* H1 — крупный заголовок как в прототипе */
    .nt-homepage .nt-hero-slide.neo-hero h1 {
        font-size: 2.5rem !important;
        font-weight: 900 !important;
        line-height: 1.05 !important;
        margin-bottom: 6px !important;
    }
    /* ANGIE BM18 — в одну строку */
    .nt-homepage .nt-hero-slide.neo-angie h1 {
        white-space: nowrap !important;
    }
    
    /* Акцент — крупный */
    .nt-homepage .nt-hero-slide.neo-hero .neo-accent-text {
        font-size: 1.5rem !important;
        font-weight: 900 !important;
        line-height: 1.1 !important;
        margin-bottom: 12px !important;
    }
    
    /* Подзаголовок */
    .nt-homepage .nt-hero-slide.neo-hero .nt-hero-subtitle {
        font-size: 1.05rem !important;
        color: rgba(0,0,0,0.6) !important;
        line-height: 1.5 !important;
        margin-bottom: 12px !important;
    }
    
    /* Цена — крупная, в одну строку */
    .nt-homepage .nt-hero-slide.neo-hero .neo-price {
        font-size: 2.25rem !important;
        font-weight: 900 !important;
        line-height: 1.2 !important;
        margin-bottom: 12px !important;
        white-space: nowrap !important;
    }
    
    /* CTA кнопка — прижата к низу, компактный размер */
    .nt-homepage .nt-hero-slide.neo-hero .nt-hero-slide-content .nt-hero-cta,
    .nt-homepage .nt-hero-slide.neo-hero a.nt-hero-cta {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 12px 18px !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        border: 2px solid #000000 !important;
        border-radius: 10px !important;
        box-shadow: 3px 3px 0px 0px rgba(0,0,0,1) !important;
        white-space: nowrap !important;
        margin-top: auto !important;
        max-width: none !important;
        width: auto !important;
        flex-grow: 0 !important;
        flex-shrink: 0 !important;
        align-self: flex-start !important;
    }
    .nt-homepage .nt-hero-slide.neo-hero .nt-hero-cta svg {
        width: 12px !important;
        height: 12px !important;
    }
    
    /* === ANGIE — розовый фон, объекты внизу по центру === */
    .nt-homepage .nt-hero-slide.neo-hero.neo-angie {
        background-color: #FDF5F7 !important;
        background-position: bottom center !important;
    }
    .nt-homepage .nt-hero-slide.neo-angie .nt-hero-slide-content {
        padding-bottom: 100px !important;
        max-width: 52% !important;
    }
    .nt-homepage .nt-hero-slide.neo-angie .neo-accent-text {
        color: #E88AAF !important;
    }
    .nt-homepage .nt-hero-slide.neo-angie .nt-hero-cta {
        background: #F5A3C7 !important;
        color: #000000 !important;
        padding: 10px 16px !important;
        font-size: 12px !important;
    }
    
    /* === PARTS — голубой фон, объект справа внизу === */
    .nt-homepage .nt-hero-slide.neo-hero.neo-parts {
        background-color: #EBF6FB !important;
        background-position: bottom right !important;
    }
    .nt-homepage .nt-hero-slide.neo-parts .nt-hero-slide-content {
        padding-bottom: 60px !important;
        max-width: 60% !important;
    }
    .nt-homepage .nt-hero-slide.neo-parts h1 {
        font-size: 2.5rem !important;
    }
    .nt-homepage .nt-hero-slide.neo-parts .neo-accent-text {
        color: #4285F4 !important;
        font-size: 2.5rem !important;
        white-space: nowrap !important;
    }
    .nt-homepage .nt-hero-slide.neo-parts .nt-hero-subtitle {
        font-size: 1.1rem !important;
    }
    .nt-homepage .nt-hero-slide.neo-parts .nt-hero-cta {
        background: #4285F4 !important;
        color: #FFFFFF !important;
    }
    
    /* === SOCCONTRACT — кремовый фон, объект справа === */
    .nt-homepage .nt-hero-slide.neo-hero.neo-soccontract {
        background-color: #FDFDF6 !important;
        background-position: bottom right !important;
    }
    .nt-homepage .nt-hero-slide.neo-soccontract .nt-hero-slide-content {
        padding-bottom: 80px !important;
        max-width: 50% !important;
    }
    .nt-homepage .nt-hero-slide.neo-soccontract h1 {
        font-size: 2.5rem !important;
    }
    .nt-homepage .nt-hero-slide.neo-soccontract .neo-accent-text {
        color: #D4A017 !important;
        font-size: 2.5rem !important;
        white-space: nowrap !important;
    }
    .nt-homepage .nt-hero-slide.neo-soccontract .nt-hero-subtitle {
        font-size: 1.1rem !important;
    }
    .nt-homepage .nt-hero-slide.neo-soccontract .nt-hero-cta {
        background: #FCD34D !important;
        color: #000000 !important;
    }
}

/* Меньшие экраны — только корректировка padding */
@media (max-width: 480px) {
    .nt-homepage .nt-hero-slide.neo-hero .nt-hero-slide-content {
        padding: 20px !important;
        max-width: 58% !important;
    }
    
    .nt-homepage .nt-hero-slide.neo-angie .nt-hero-slide-content {
        padding-bottom: 90px !important;
    }
    
    .nt-homepage .nt-hero-slide.neo-parts .nt-hero-slide-content {
        padding-bottom: 50px !important;
    }
    
    .nt-homepage .nt-hero-slide.neo-soccontract .nt-hero-slide-content {
        padding-bottom: 70px !important;
    }
}

/* ==========================================
   КОНЕЦ ФАЙЛА
   ========================================== */
