/*
Theme Name: NewMedia TASS Style
Theme URI: http://newmedia.su
Description: Кастомная новостная тема в стиле ТАСС с интеграцией ИИ-парсера.
Author: AI Developer
Version: 2.4
text-domain: newmedia-tass
*/

/* ==========================================================================
   1. БАЗА
   ========================================================================== */
* { box-sizing: border-box; margin: 0; padding: 0; }
body { background-color: #ffffff !important; color: #000000 !important; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; line-height: 1.4; -webkit-font-smoothing: antialiased; }
a { text-decoration: none; color: inherit; transition: color 0.2s ease; }
a:hover { color: #0066cc; }

.container { max-width: 1260px; margin: 0 auto; padding: 0 20px; width: 100%; }
.qz-container { max-width: 1220px; margin: 0 auto; padding: 0 20px; width: 100%; }

/* ==========================================================================
   2. ШАПКА (header.php)
   ========================================================================== */
.qz-navbar { background: #ffffff !important; border-bottom: 1px solid #000000 !important; padding: 15px 0 !important; position: relative !important; z-index: 9990 !important; clear: both !important; }
.qz-nav-flex { display: flex !important; justify-content: space-between !important; align-items: center !important; flex-wrap: wrap !important; gap: 20px !important; }
.qz-brand-wrapper { display: flex !important; align-items: center !important; gap: 14px !important; position: relative !important; z-index: 9995 !important; }
.qz-brand-wrapper img, .custom-logo { max-height: 48px !important; width: auto !important; height: auto !important; display: block !important; }
.qz-text-logo { font-size: 25px !important; font-weight: 900 !important; letter-spacing: -0.5px !important; color: #000000 !important; text-transform: uppercase !important; line-height: 1 !important; text-decoration: none !important; }
.qz-menu-container { position: relative !important; z-index: 9999 !important; }
.qz-menu-container ul { display: flex !important; list-style: none !important; gap: 25px !important; margin: 0 !important; padding: 0 !important; flex-wrap: wrap !important; }
.qz-menu-container ul li { margin: 0 !important; padding: 0 !important; }
.qz-menu-container ul li a { font-size: 13px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; color: #000000 !important; text-decoration: none !important; display: inline-block !important; padding: 6px 2px !important; cursor: pointer !important; pointer-events: auto !important; position: relative !important; z-index: 9999 !important; }
.qz-menu-container ul li a:hover, .qz-menu-container ul li.current-cat a, .qz-menu-container ul li.current-menu-item a { color: #0066cc !important; }

/* ==========================================================================
   3. СЕТКА СТРАНИЦ: главная, поиск, рубрики (index.php, search.php, archive.php)
   ========================================================================== */
.qz-layout { display: grid !important; grid-template-columns: 610px 1fr !important; gap: 30px !important; margin-top: 40px !important; align-items: start !important; }
.qz-main-col { min-width: 0; max-width: 100%; }

/* Левая колонка (sidebar-left.php) */
.qz-left-top-split { display: grid !important; grid-template-columns: 300px 280px !important; gap: 30px !important; align-items: stretch !important; }
.qz-banner-sidebar { display: flex !important; flex-direction: column !important; width: 300px !important; }
.qz-partners-sidebar { display: flex !important; flex-direction: column !important; width: 280px !important; border-right: 1px solid #e5e5e5 !important; padding-right: 25px !important; gap: 20px !important; }
.qz-sidebar-block-title { font-size: 13px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; color: #000000 !important; border-bottom: 2px solid #000000 !important; padding-bottom: 5px !important; margin-bottom: 15px !important; }

/* Заголовки разделов */
.qz-section-title { margin-top: 0px !important; margin-bottom: 25px !important; border-bottom: 2px solid #000000 !important; padding-bottom: 10px !important; }
.qz-section-title h2 { font-size: 15px !important; font-weight: 900 !important; text-transform: uppercase !important; letter-spacing: 1px !important; color: #000000 !important; margin: 0 !important; }
.qz-section-title h1 { font-size: 18px !important; font-weight: 900 !important; text-transform: uppercase !important; letter-spacing: 1px !important; color: #000000 !important; margin: 0 !important; }
.qz-section-title--spaced { margin-top: 35px !important; }
.qz-archive-desc { font-size: 15px; line-height: 1.5; color: #555555; margin: -10px 0 25px; }

/* ==========================================================================
   4. ГЛАВНЫЕ НОВОСТИ (template-hero.php) И МОБИЛЬНАЯ КАРУСЕЛЬ (template-carousel.php)
   ========================================================================== */
.qz-main-grid { display: grid !important; grid-template-columns: 1.4fr 1fr !important; gap: 35px !important; align-items: start !important; border-bottom: 1px solid #e5e5e5 !important; padding-bottom: 25px !important; }
.qz-hero-story { display: block !important; text-decoration: none !important; color: #000 !important; }
.qz-hero-img-wrapper { position: relative !important; width: 100% !important; padding-top: 56.25% !important; overflow: hidden !important; background-color: #e4e7eb !important; border-radius: 4px !important; margin-bottom: 16px !important; }
.qz-hero-img-wrapper img { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
.qz-hero-cat, .qz-side-cat { font-size: 11px !important; font-weight: 800 !important; text-transform: uppercase !important; color: #0066cc !important; margin-bottom: 6px !important; letter-spacing: 0.5px !important; display: inline-block !important; }
.qz-hero-title { font-size: 24px !important; font-weight: 800 !important; line-height: 1.22 !important; color: #000000 !important; letter-spacing: -0.4px !important; }
.qz-hero-story:hover .qz-hero-title { color: #0066cc !important; }
.qz-side-column { display: flex !important; flex-direction: column !important; }
.qz-side-item { display: block !important; border-bottom: 1px solid #e5e5e5 !important; padding: 14px 0 !important; text-decoration: none !important; color: #000 !important; }
.qz-side-item:first-child { padding-top: 0 !important; }
.qz-side-item:last-child { border-bottom: none !important; padding-bottom: 0 !important; }
.qz-side-title { font-size: 15px !important; font-weight: 700 !important; line-height: 1.38 !important; color: #000000 !important; }
.qz-side-item:hover .qz-side-title { color: #0066cc !important; }

.qz-mobile-carousel-container { display: none !important; }

/* ==========================================================================
   5. ЛЕНТА НОВОСТЕЙ (template-feed.php, template-feed-item.php)
   ========================================================================== */
.qz-feed-list { display: flex; flex-direction: column; margin-bottom: 50px; }
.qz-feed-item { display: flex !important; justify-content: space-between !important; align-items: flex-start !important; padding: 16px 0 !important; border-bottom: 1px solid #e5e5e5 !important; text-decoration: none !important; color: #000 !important; }
.qz-feed-left { flex-grow: 1 !important; padding-right: 20px !important; }
.qz-feed-time { font-size: 12px !important; font-weight: 700; color: #666666 !important; margin-bottom: 4px !important; display: inline-block !important; margin-right: 10px; }
.qz-feed-title { font-size: 16px !important; font-weight: 700 !important; line-height: 1.4 !important; color: #000000 !important; display: inline !important; overflow-wrap: anywhere !important; }
.qz-feed-thumb { width: 90px !important; height: 60px !important; object-fit: cover !important; flex-shrink: 0 !important; border-radius: 4px !important; }
.qz-empty { font-size: 15px; color: #555555; padding: 15px 0; }

/* Постраничная навигация */
.qz-pagination { margin-top: 35px; display: flex; gap: 10px; flex-wrap: wrap; font-size: 14px; font-weight: 700; }
.qz-pagination .page-numbers { padding: 6px 12px; border: 1px solid #e5e5e5; border-radius: 4px; color: #000000; }
.qz-pagination .page-numbers.current { background: #000000; color: #ffffff; border-color: #000000; }
.qz-pagination .page-numbers.dots { border-color: transparent; }

/* ==========================================================================
   6. ПОИСК (search.php)
   ========================================================================== */
.qz-search-form { display: flex; gap: 10px; margin-bottom: 25px; }
.qz-search-input { flex-grow: 1; padding: 10px 14px; border: 1px solid #000000; border-radius: 4px; font-size: 15px; }
.qz-search-btn { padding: 10px 20px; background: #000000; color: #ffffff; border: none; border-radius: 4px; font-size: 13px; font-weight: 700; text-transform: uppercase; cursor: pointer; }

/* ==========================================================================
   7. СТРАНИЦА НОВОСТИ И СТАТИЧНАЯ СТРАНИЦА (single.php, page.php)
   ========================================================================== */
.qz-article-container { max-width: 740px !important; margin: 60px auto !important; padding: 0 20px !important; width: 100% !important; }
.qz-article-meta-cat { font-size: 11px !important; font-weight: 800 !important; text-transform: uppercase !important; color: #0066cc !important; margin-bottom: 15px !important; letter-spacing: 0.5px !important; display: inline-block !important; }
.qz-article-meta-cat a { color: #0066cc !important; text-decoration: none !important; }
.qz-article-main-title { font-size: 38px !important; font-weight: 800 !important; line-height: 1.15 !important; color: #000000 !important; letter-spacing: -0.5px !important; margin-bottom: 20px !important; }
.qz-article-pub-date { font-size: 13px !important; font-weight: 500 !important; color: #666666 !important; margin-bottom: 40px !important; border-bottom: 1px solid #e5e5e5 !important; padding-bottom: 15px !important; }
.qz-article-featured-img { width: 100% !important; height: auto !important; aspect-ratio: 16/9 !important; object-fit: cover !important; margin-bottom: 40px !important; border-radius: 6px !important; }

.qz-article-body-text { font-size: 18px !important; line-height: 1.65 !important; color: #111111 !important; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; }
.qz-article-body-text p { margin-bottom: 25px !important; }
.qz-article-body-text h2, .qz-article-body-text h3 { font-size: 22px !important; font-weight: 800 !important; line-height: 1.3 !important; color: #000000 !important; margin-top: 40px !important; margin-bottom: 20px !important; }
.qz-article-body-text img { max-width: 100% !important; height: auto !important; margin: 30px 0 !important; border-radius: 4px !important; }
.qz-article-body-text ul, .qz-article-body-text ol { margin: 0 0 25px 1.4em; }
.qz-article-body-text li { margin-bottom: 8px; }
.qz-article-body-text a { color: #0066cc; text-decoration: underline; }
.qz-article-body-text blockquote { margin: 30px 0; padding-left: 20px; border-left: 3px solid #000000; }
.qz-article-body-text iframe, .qz-article-body-text video, .qz-article-body-text figure { max-width: 100%; }

.qz-article-navigation { display: flex !important; justify-content: space-between !important; margin-top: 60px !important; border-top: 1px solid #e5e5e5 !important; padding-top: 30px !important; font-size: 14px !important; font-weight: 700 !important; }
.qz-article-navigation a { color: #000000 !important; text-decoration: none !important; }
.qz-article-navigation a:hover { color: #0066cc !important; }

/* ==========================================================================
   8. МОБИЛЬНАЯ ВЕРСИЯ
   ========================================================================== */
@media (max-width: 1024px) {
    /* шапка */
    .qz-navbar { padding: 12px 0 !important; }
    .qz-nav-flex { flex-direction: column !important; align-items: stretch !important; gap: 0 !important; }
    .qz-brand-wrapper { padding-bottom: 12px !important; border-bottom: 1px solid #000000 !important; }
    .qz-brand-wrapper img, .custom-logo { max-height: 38px !important; }
    .qz-text-logo { font-size: 21px !important; }
    .qz-menu-container { padding-top: 10px !important; }
    .qz-menu-container ul { gap: 10px 16px !important; }
    .qz-menu-container ul li a { font-size: 12px !important; padding: 4px 2px !important; }

    /* сетка и левая колонка */
    .qz-layout { grid-template-columns: minmax(0, 1fr) !important; gap: 20px !important; margin-top: 15px !important; }
    .qz-layout > * { min-width: 0 !important; max-width: 100% !important; }
    .qz-main-grid { display: none !important; }
    .qz-left-combined-area { order: 3 !important; display: flex !important; flex-direction: column !important; width: 100% !important; margin-top: 35px !important; padding-top: 25px !important; border-top: 2px solid #000000 !important; }
    .qz-left-top-split { display: flex !important; flex-direction: column !important; gap: 25px !important; width: 100% !important; }
    .qz-partners-sidebar { order: 1 !important; width: 100% !important; height: auto !important; border-right: none !important; padding-right: 0 !important; }
    .qz-banner-sidebar { order: 2 !important; display: block !important; width: 100% !important; margin-top: 10px !important; }
    .qz-desktop-extra-player { display: none !important; }

    /* карусель «Главные новости» */
    .qz-mobile-carousel-container { display: block !important; margin-bottom: 30px !important; width: 100% !important; overflow: hidden !important; contain: inline-size !important; min-width: 0 !important; max-width: 100% !important; }
    .qz-mobile-carousel { display: flex !important; overflow-x: auto !important; scroll-snap-type: x mandatory !important; scroll-behavior: smooth !important; gap: 15px !important; padding-bottom: 10px !important; width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
    .qz-mobile-carousel::-webkit-scrollbar { display: none !important; }
    .qz-carousel-slide { flex: 0 0 100% !important; width: 100% !important; scroll-snap-align: start !important; display: block !important; text-decoration: none !important; color: #000 !important; min-width: 0 !important; max-width: 100% !important; }
    .qz-carousel-img-win { position: relative !important; width: 100% !important; padding-top: 56.25% !important; border-radius: 6px !important; overflow: hidden !important; background-color: #000000 !important; margin-bottom: 12px !important; }
    .qz-carousel-img-win img { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center !important; }
    .qz-carousel-title { font-size: 18px !important; font-weight: 800 !important; line-height: 1.3 !important; color: #000000 !important; overflow-wrap: anywhere !important; }
    .qz-carousel-dots { display: flex !important; justify-content: center !important; gap: 8px !important; margin-top: 15px !important; }
    .qz-dot { width: 7px !important; height: 7px !important; background: #cccccc !important; border-radius: 5px !important; }
    .qz-dot.active { background: #000000 !important; width: 20px !important; }

    /* лента */
    .qz-feed-thumb { display: none !important; }
    .qz-feed-item { padding: 12px 0 !important; }
    .qz-feed-left { padding-right: 0 !important; display: block !important; }
    .qz-feed-time { font-size: 13px !important; font-weight: 800 !important; color: #0066cc !important; display: block !important; margin-bottom: 2px !important; }
}

@media (max-width: 768px) {
    .qz-article-main-title { font-size: 28px !important; }
    .qz-article-body-text { font-size: 16px !important; line-height: 1.6 !important; }
}
