/**
 * Theme Name: TT2026
 * Template: twentynineteen
 *
 * Description: Дочерняя тема для темы twentynineteen
 * Version: 1.0
 */
 
 /* импортируем стили родительской темы */
/*@import url("../twentynineteen/style.css");*/


    :root {
      --font-heading: 'Plus Jakarta Sans', system-ui, sans-serif;
      --font-body: 'Manrope', system-ui, sans-serif;
      
      /* Базовая палитра 2026 */
      --bg-dark: #0B0813;
      --text-white: #FFFFFF;
      --text-muted: #E2DFE9;
      
      /* Градиенты и карточки */
      --grad-cold: linear-gradient(135deg, #7F77DD 0%, #FF2A85 100%);
      --grad-warm: linear-gradient(90deg, #FAC775 0%, #FF7B47 100%);
      --grad-dark-card: linear-gradient(145deg, #181330 0%, #0F0B1E 100%);
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }

    body {
      font-family: var(--font-body);
      background: var(--bg-dark);
      color: var(--text-white);
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }

    /* Блокирование скролла страницы, когда меню открыто */
    body.menu-prevent-scroll {
      overflow: hidden;
    }

    /* --- СТИЛЬ ПЛАВНОГО ПРОЯВЛЕНИЯ ПРИ СКРОЛЛЕ НА МЕСТЕ --- */
    .reveal {
      opacity: 0;
      transition: opacity 0.9s cubic-bezier(0.25, 1, 0.5, 1);
    }

    .reveal.active {
      opacity: 1;
    }

    .wrap {
      width: 100%;
      max-width: 100%;
      margin: 0 auto;
    }

    /* --- МОНУМЕНТАЛЬНЫЕ ЗАГЛОВКИ --- */
    .sec-title {
      font-family: var(--font-heading);
      font-size: 34px;
      font-weight: 800;
      color: var(--text-white);
      margin-bottom: 36px;
      line-height: 1.15;
      letter-spacing: -0.04em;
    }

    .sec-title span {
      background: var(--grad-warm);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    p, .qa-card-text, .gw-sub, .faq-a, .lead-sub, .news-card-text, .table-text {
      font-size: 16px;
      line-height: 1.65;
    }

    /* --- ДИНАМИЧЕСКАЯ ВЕРХНЯЯ ПЛАШКА --- */
	header.wp-block-template-part,
    .topbar {
      background: rgba(11, 8, 19, 0.85);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      padding: 16px 20px;
      position: sticky;
      top: 0;
      z-index: 100;
      border-bottom: 1px solid rgba(255, 255, 255, 0.05);
      transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      width: 100%;
    }

	header.wp-block-template-part.hidden,
    .topbar.hidden {
      transform: translateY(-100%);
    }

    .topbar-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
    }

    .tb-logo { 
      display: flex; 
      align-items: center; 
      gap: 12px; 
    }

    .tb-logo-img {
      height: 40px;
      width: auto;
      object-fit: contain;
    }

    .tb-name {
      font-family: var(--font-heading); font-size: 16px; font-weight: 700; color: #fff;
      letter-spacing: -0.02em;
    }

    /* Стиль кнопки вызова (Гамбургер) */
    .menu-toggle {
      background: transparent; border: none; color: #fff; font-size: 28px;
      cursor: pointer; display: flex; align-items: center;
      width: 40px;
      height: 40px;
      justify-content: center;
      transition: opacity 0.2s ease;
    }

    /* --- ПОЛНОЭКРАННОЕ ЗАТЕМНЕНИЕ ФОНА (OVERLAY) --- */
    .menu-backdrop {
      position: fixed;
      top: 0; left: 0; width: 100%; height: 100vh;
      background: rgba(4, 2, 8, 0.75);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      z-index: 101;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.4s ease;
    }
    .menu-backdrop.open {
      opacity: 1;
      pointer-events: auto;
    }

    /* --- ВЫПАДАЮЩЕЕ МЕНЮ СВЕРХУ (ВЫСОТА 100% ЭКРАНА) --- */
    .tb-nav-container {
      position: fixed;
      top: 0; left: 0;
      width: 100%;
      height: 100vh;
      background: #110d22;
      z-index: 102;
      transform: translateY(-100%);
      opacity: 0;
      transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
      box-shadow: 0 30px 60px rgba(0, 0, 0, 0.6);
      overflow-y: auto;
    }

    .tb-nav-container.open {
      transform: translateY(0);
      opacity: 1;
    }

    /* Хедер внутри открытого меню для размещения логотипа и КРЕСТИКА на той же линии */
    .menu-internal-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 16px 20px;
      width: 100%;
      border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }

    .close-toggle {
      background: transparent;
      border: none;
      color: #fff;
      font-size: 30px;
      cursor: pointer;
      display: flex;
      align-items: center;
      width: 40px;
      height: 40px;
      justify-content: center;
    }

    .tb-nav {
      display: flex;
      flex-direction: column;
      gap: 10px;
      max-width: 600px;
      margin: 0 auto;
      padding: 40px 20px;
    }

    .tb-nav a {
      font-size: 20px; font-weight: 600; color: rgba(255, 255, 255, 0.7); text-decoration: none;
      padding: 14px 16px; border-radius: 12px; transition: all 0.25s ease;
      display: block;
      text-align: center;
    }
    .tb-nav a:hover, .tb-nav a.active, .tb-nav .current-menu-item a { background: rgba(127, 119, 221, 0.15); color: #FAC775; }

    .tb-actions { display: flex; width: 100%; max-width: 400px; margin: 24px auto 0; }
    .tb-btn-solid {
      width: 100%; border: none; border-radius: 12px; padding: 16px;
      font-size: 16px; font-weight: 600; color: #fff; background: var(--grad-cold); cursor: pointer;
      box-shadow: 0 4px 25px rgba(127, 119, 221, 0.3);
    }


.sec-innerpage a{ color: #FAC775; }
.sec-innerpage a:hover, .sec-innerpage a.active { color: rgba(255, 255, 255, 0.7); }
.sec-innerpage svg{fill:#fff;}
    /* --- HERO БЛОК С ЖИВЫМ ВИДЕОФОНОМ ВНУТРИ --- */
    .hero {
      position: relative;
      display: flex; 
      flex-direction: column;
      overflow: hidden;
      background: #0B0813;
    }

    .hero-video-bg {
      position: absolute;
      top: 50%; left: 50%;
      min-width: 100%; min-height: 100%;
      width: auto; height: auto;
      z-index: 1;
      transform: translate(-50%, -50%);
      object-fit: cover;
    }

    .hero-overlay {
      position: absolute;
      top: 0; left: 0; width: 100%; height: 100%;
      background: radial-gradient(circle at 50% -20%, rgba(127, 119, 221, 0.25) 0%, rgba(11, 8, 19, 0.85) 75%), 
                  linear-gradient(to bottom, rgba(11, 8, 19, 0.4) 0%, rgba(11, 8, 19, 0.9) 100%);
      z-index: 2;
    }

    .hero-left { 
      position: relative;
      z-index: 3;
      padding: 90px 20px; 
      text-align: center; 
    }

    .hero-badge {
      display: inline-flex; align-items: center; gap: 8px; background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 100px; padding: 8px 18px;
      font-size: 13px; font-weight: 600; color: #FAC775; margin-bottom: 28px;
    }

    .hero-h1 {
      font-family: var(--font-heading); font-size: 44px; font-weight: 800; color: #fff;
      line-height: 1.1; margin-bottom: 24px; letter-spacing: -0.04em;
    }
    .hero-h1 span { background: var(--grad-warm); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }

    h1.entry-title {
      font-family: var(--font-heading); font-size: 44px; font-weight: 800; color: #fff;
      line-height: 1.1; margin-bottom: 24px; letter-spacing: -0.04em;
    }

    .hero-sub { font-size: 18px; color: var(--text-white); line-height: 1.6; margin-bottom: 40px; max-width: 630px; margin-left: auto; margin-right: auto; text-shadow: 0 2px 10px rgba(0,0,0,0.5); }
    .hero-ctas { display: flex; flex-direction: column; gap: 16px; max-width: 400px; margin: 0 auto; width: 100%; }
    .hero-btn-main, .hero-btn-sec { width: 100%; padding: 18px; border-radius: 14px; font-size: 16px; font-weight: 600; cursor: pointer; transition: all 0.3s ease; }
    .hero-btn-main { background: var(--grad-warm); border: none; color: #000; box-shadow: 0 6px 30px rgba(250, 199, 117, 0.3); }
    .hero-btn-sec { background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.2); color: #fff; backdrop-filter: blur(5px); }

    /* --- КОНТЕНТНЫЕ СЕКЦИИ С РАДИАЛЬНЫМИ ГРАДИЕНТАМИ --- */
    .content-area { padding: 0; }
    .sec { padding: 90px 20px; width: 100%; }
    .sec-inner { max-width: 1200px; margin: 0 auto; width: 100%; }


.sec-innerpage {
      background: radial-gradient(circle at 50% -20%, rgba(164, 120, 100, 0.22) 0%, rgba(11, 8, 19, 0) 70%), #16110E;
      color: var(--text-white);
    }
.sec-innerpage .qa-card-text, .sec-innerpage p { color: #E7DFDA; }


    /* Секция Блока Mocha Mousse Gradient */
    .sec-mocha {
      background: radial-gradient(circle at 50% -20%, rgba(164, 120, 100, 0.22) 0%, rgba(11, 8, 19, 0) 70%), #16110E;
      color: var(--text-white);
    }
    .sec-mocha .qa-card-text, .sec-mocha p { color: #E7DFDA; }

    /* Секция Блока Digital Lavender Gradient */
    .sec-lavender {
      background: radial-gradient(circle at 50% -20%, rgba(167, 139, 250, 0.18) 0%, rgba(11, 8, 19, 0) 70%), #110D20;
      color: var(--text-white);
    }
    .sec-lavender .sec-title span { background: none; -webkit-text-fill-color: initial; color: #FAC775; }
    .sec-lavender .qa-card, .sec-lavender .ctr, .sec-lavender .gw, .sec-lavender .news-card, .sec-lavender .table-responsive { background: #18132D; border-color: rgba(167, 139, 250, 0.08); }

    /* СЕТКИ КОНТЕНТА */
    .quick-grid { display: flex; flex-direction: column; gap: 0px; }
    .gateways-3, .bottom-2col, .news-grid { display: flex; flex-direction: column; gap: 24px; }

    /* ВИЗУАЛЬНОЕ СТРУКТУРИРОВАНИЕ ТЕКСТА */
    .info-cluster { display: grid; grid-template-columns: 1fr; gap: 20px; margin-top: 16px; }
    .info-node {
      background: rgba(255, 255, 255, 0.02); border: 1px solid rgba(255, 255, 255, 0.05); border-radius: 16px;
      padding: 20px; display: flex; gap: 16px; align-items: flex-start;
    }
    .info-node i { font-size: 24px; color: #FAC775; margin-top: 2px; flex-shrink: 0; }
    .info-node-content h4 { font-family: var(--font-heading); font-size: 16px; font-weight: 700; color: #fff; margin-bottom: 6px; }
    .info-node-content p { font-size: 14px; line-height: 1.5; color: var(--text-muted); }

    /* СЕТКА ДОСТИЖЕНИЙ (3 СВЕРХУ + 1 СНИЗУ НА ВСЮ ШИРИНУ) */
    .counters-container { display: flex; flex-direction: column; gap: 20px; width: 100%; }
    .counters-top-row { display: flex; flex-direction: column; gap: 20px; width: 100%; }
    .ctr { 
      background: var(--grad-dark-card); 
      border-radius: 24px; padding: 32px; 
      border: 1px solid rgba(255, 255, 255, 0.04);
      flex: 1;
    }
    .ctr-num { font-family: var(--font-heading); font-size: 48px; font-weight: 800; color: #7F77DD; line-height: 1; margin-bottom: 12px; letter-spacing: -0.03em; }
    .ctr-lbl { font-size: 15px; color: var(--text-muted); font-weight: 500; }
    
    .ctr-wide { width: 100%; background: var(--grad-dark-card); border: 1px solid rgba(255, 255, 255, 0.04); border-radius: 24px; padding: 32px; }
    .ctr-wide .ctr-num { background: var(--grad-cold); -webkit-background-clip: text; -webkit-text-fill-color: transparent; font-size: 26px; font-weight: 800; }

    /* КАРТОЧКИ БЕНТО */
    .qa-card { background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.05); border-radius: 24px; padding: 36px 32px; }

    .gw { background: var(--grad-dark-card); border: 1px solid rgba(255, 255, 255, 0.03); border-radius: 24px; padding: 40px 32px; }
    .gw-icon { width: 64px; height: 64px; border-radius: 16px; display: flex; align-items: center; justify-content: center; font-size: 32px; margin-bottom: 24px; }
    .gw-icon.pur { background: rgba(127, 119, 221, 0.1); color: #7F77DD; }
    .gw-icon.pnk { background: rgba(255, 42, 133, 0.1); color: #FF2A85; }
    .gw-icon.tel { background: rgba(29, 158, 117, 0.1); color: #1D9E75; }
    .gw-title { font-family: var(--font-heading); font-size: 24px; font-weight: 800; color: #fff; margin-bottom: 12px; }
    .gw-sub { margin-bottom: 28px; }
    .gw-link { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; color: #FAC775; font-weight: 600; text-decoration: none; }

    /* --- НОВОСТИ КЛУБА --- */
    .news-card { background: rgba(255, 255, 255, 0.02); border: 1px solid rgba(255, 255, 255, 0.05); border-radius: 24px; overflow: hidden; display: flex; flex-direction: column; }
    .news-img-box { width: 100%; aspect-ratio: 4/3; overflow: hidden; position: relative; }
    .news-img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
    .news-card:hover .news-img { transform: scale(1.05); }
    .news-content { padding: 28px; display: flex; flex-direction: column; gap: 12px; }
    .news-date { font-size: 13px; font-weight: 700; color: #FAC775; text-transform: uppercase; letter-spacing: 0.05em; }
    .news-card-text { color: var(--text-muted); font-weight: 500; }

    /* --- ПОЧАСОВАЯ АРЕНДА (АДАПТИВНАЯ ТАБЛИЦА) --- */
    .table-responsive { width: 100%; overflow-x: auto; background: rgba(255, 255, 255, 0.02); border: 1px solid rgba(255, 255, 255, 0.05); border-radius: 20px; -webkit-overflow-scrolling: touch; }
    .rent-table { width: 100%; border-collapse: collapse; text-align: left; min-width: 600px; }
    .rent-table th, .rent-table td { padding: 18px 24px; border-bottom: 1px solid rgba(255, 255, 255, 0.05); }
    .rent-table th { font-family: var(--font-heading); font-weight: 700; color: #FAC775; background: rgba(0, 0, 0, 0.2); font-size: 15px; }
    .rent-table tr:last-child td { border-bottom: none; }
    .table-accent { color: #fff; font-weight: 600; }
    .table-note { font-size: 13px; color: var(--text-muted); margin-top: 14px; padding-left: 4px; }

    /* --- НАША КОМАНДА (ПРОМО-КАРУСЕЛЬ) --- */
    .team-slider-container { position: relative; width: 100%; overflow: hidden; padding-bottom: 20px; }
    .team-track { display: flex; gap: 24px; transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); width: 100%; }
    .team-slide { min-width: calc(100% - 40px); max-width: calc(100% - 40px); background: var(--grad-dark-card); border-radius: 24px; border: 1px solid rgba(255,255,255,0.04); overflow: hidden; }
    .team-photo-box { width: 100%; aspect-ratio: 4/5; background: #1b1633; overflow: hidden; }
    .team-photo { width: 100%; height: 100%; object-fit: cover; }
    .team-info { padding: 24px; }
    .team-name { font-family: var(--font-heading); font-size: 22px; font-weight: 800; color: #fff; margin-bottom: 6px; }
    .team-rank { font-size: 14px; font-weight: 700; color: #7F77DD; text-transform: uppercase; margin-bottom: 12px; }
    .team-descr { font-size: 14px; color: var(--text-muted); line-height: 1.5; }
    
    .slider-controls { display: flex; gap: 12px; margin-top: 32px; justify-content: center; }
    .slider-btn { width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.1); background: rgba(255,255,255,0.03); color: #fff; font-size: 20px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s ease; }
    .slider-btn:hover { background: #7F77DD; border-color: #7F77DD; }

    /* FAQ АККОРДЕОН */
    .faq-list { display: flex; flex-direction: column; gap: 14px; }
    .faq-item { background: rgba(11, 8, 19, 0.4); border: 1px solid rgba(255,255,255,0.05); border-radius: 16px; padding: 20px 24px; overflow: hidden; }
    .faq-q { font-size: 17px; font-weight: 600; color: #fff; display: flex; align-items: center; justify-content: space-between; cursor: pointer; user-select: none; }
    .faq-q .ti-chevron-down { transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); color: var(--text-muted); }
    .faq-a-wrapper { max-height: 0; overflow: hidden; transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1); }
    .faq-a { font-size: 15px; margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.08); color: var(--text-muted); }
    .faq-item.active .faq-q .ti-chevron-down { transform: rotate(180deg); color: #FAC775; }

    /* ЛИД ФОРМА */
    .lead-box { background: linear-gradient(135deg, rgba(24, 19, 48, 0.8) 0%, rgba(15, 11, 30, 0.8) 100%); border: 1px solid rgba(127, 119, 221, 0.2); border-radius: 28px; padding: 40px 28px; }
    .lead-title { font-family: var(--font-heading); font-size: 24px; font-weight: 800; color: #fff; margin-bottom: 12px; }
    .lead-sub { margin-bottom: 28px; }
    .lead-input { width: 100%; background: rgba(11, 8, 19, 0.6); border: 1px solid rgba(255,255,255,0.1); border-radius: 12px; padding: 16px; font-size: 16px; color: #fff; margin-bottom: 16px; outline: none; }
    .lead-btn { width: 100%; background: var(--grad-cold); border: none; border-radius: 12px; color: #fff; font-size: 16px; font-weight: 600; padding: 18px; cursor: pointer; box-shadow: 0 6px 20px rgba(255, 42, 133, 0.25); }

    /* ФУТЕР */
    .footer-bar { background: #06040a; padding: 60px 20px; display: flex; flex-direction: column; gap: 40px; align-items: center; text-align: center; border-top: 1px solid rgba(255,255,255,0.03); }
    .footer-links { display: flex; flex-direction: column; gap: 20px; }
    .footer-links a { font-size: 14px; color: var(--text-muted); text-decoration: none; font-weight: 500; }
    .footer-cta { width: 100%; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.1); border-radius: 12px; color: #fff; font-size: 16px; font-weight: 600; padding: 16px; cursor: pointer; }












    /* --- ДЕСКТОР-АДАПТАЦИЯ (МЕДИА-ЗАПРОСЫ) --- */
    @media (min-width: 1024px) {
      .topbar { padding: 24px 48px; }
		header.wp-block-template-part{ padding: 24px 48px; }
      
      /* НА ПК ШТОРКА МЕНЮ ЗАНИМАЕТ 50% ШИРИНЫ */
      .tb-nav-container {
        width: 50%;
        height: 100vh;
        left: auto; right: 0;
        border-left: 1px solid rgba(127, 119, 221, 0.2);
      }
      
      .menu-internal-header {
        padding: 24px 48px;
      }
      
      .hero-left { padding: 160px 56px; max-width: 900px; margin: 0 auto; }
      .hero-h1 { font-size: 64px; }
      h1.entry-title { font-size: 64px; }		
      .hero-ctas { flex-direction: row; max-width: 600px; }
      
      .sec { padding: 120px 48px; }
      .sec-title { font-size: 46px; margin-bottom: 52px; text-align: center; }

      .counters-top-row { flex-direction: row; }
      .news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
      .info-cluster { grid-template-columns: repeat(3, 1fr); gap: 24px; }
      
      .team-slide { min-width: calc(33.333% - 16px); max-width: calc(33.333% - 16px); }
      .slider-controls { display: flex; }

      .gateways-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
      .bottom-2col { display: grid; grid-template-columns: 1fr 440px; gap: 64px; }
      .footer-bar { padding: 60px 48px; flex-direction: row; justify-content: space-between; text-align: left; }
      .footer-links { flex-direction: row; gap: 32px; }
      .footer-cta { width: auto; padding: 14px 28px; font-size: 15px; }
    }
    .quick-grid.second { margin-top: 40px; }


ul#menu-tt{list-style:none;margin:0;padding:0;}
