/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Astra
Author URI: https://wpastra.com/
Description: Astra Child Theme
Version: 1.0.0
Text Domain: astra-child
*/

/* --- СБРОС ТЕМЫ --- */
  .page-id-2870 .site-content { margin: 0 !important; padding: 0 !important; }
  .page-id-2870 .entry-header, .page-id-2870 .site-footer { display: none !important; }
  body.bb-tour-loading { overflow: hidden !important; height: 100vh !important; }

  /* --- ОБЩАЯ РАСКЛАДКА (LAYOUT) --- */
  /* Применяется и к SEO-слою, и к Визуальному слою */
  .bb-splash-layout {
    position: fixed !important;
    top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    width: 100vw !important; height: 100vh !important;
    
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important; /* Строго влево */
    text-align: left !important;
    
    /* ДЕСКТОП: Умный отступ */
    padding-left: clamp(40px, 15vw, 200px) !important;
    padding-right: 20px !important;
  }

  /* МОБИЛЬНАЯ АДАПТАЦИЯ */
  @media (max-width: 768px) {
    .bb-splash-layout {
        /* На мобиле фиксированный, аккуратный отступ слева */
        padding-left: 25px !important; 
        padding-right: 20px !important;
    }
    .mobile-break { display: block; content: ""; margin-top: 4px; }
  }

  /* --- ТИПОГРАФИКА --- */
  .bb-text-wrapper {
      max-width: 700px !important;
      width: 100% !important;
      margin: 0 !important;
  }

  .bb-local-title {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-weight: 400 !important; text-transform: uppercase !important;
    letter-spacing: 0.12em !important; 
    font-size: clamp(24px, 5vw, 52px) !important; line-height: 1.1 !important;
    margin: 0 0 15px 0 !important; 
    text-align: left !important;
  }
  
  .bb-local-sub {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-weight: 300 !important; 
    font-size: clamp(12px, 3.5vw, 16px) !important; line-height: 1.5 !important;
    margin: 0 0 30px 0 !important; 
    text-align: left !important;
  }

  .bb-local-line {
    width: 80px; height: 2px; background-color: rgba(255,255,255,0.4);
    transform-origin: left;
  }

  /* --- СЛОИ --- */

  /* 1. SEO СЛОЙ (Нижний, Черный-на-Черном) */
  #bb-layer-seo {
    z-index: 1 !important; 
    background: #000;
    color: #000 !important;
  }
  #bb-layer-seo .bb-local-title,
  #bb-layer-seo .bb-local-sub { color: #000 !important; }

  /* 2. IFRAME (Средний) */
  #bb-tour-iframe {
    position: fixed; top: 0; left: 0; width: 100vw !important; height: 100vh !important;
    border: none; z-index: 50 !important; background: #000;
  }

  /* 3. ВИЗУАЛ (Верхний, Красивый) */
  #bb-layer-visual {
    z-index: 100 !important;
    background: radial-gradient(circle at 20% 50%, rgba(20, 30, 60, 0.4), transparent 60%),
                linear-gradient(160deg, #0a1525 0%, #050a14 100%);
    opacity: 1;
    transition: opacity 1.5s ease-in-out, visibility 1.5s;
  }
  #bb-layer-visual .bb-local-title { color: #ffffff !important; }
  #bb-layer-visual .bb-local-sub { color: rgba(255, 255, 255, 0.8) !important; }

  /* Исчезновение */
  #bb-layer-visual.is-hidden {
    opacity: 0; visibility: hidden; pointer-events: none;
  }

  /* Блик (Shine) */
  #bb-layer-visual::after {
    content: ""; position: absolute; inset: -50%; pointer-events: none;
    background: linear-gradient(120deg, transparent 30%, rgba(255, 255, 255, 0.03) 40%, rgba(255, 255, 255, 0.25) 50%, rgba(255, 255, 255, 0.03) 60%, transparent 70%);
    transform: translate(-100%, -100%);
    animation: localSweep 3.5s ease-in-out forwards;
  }
  @keyframes localSweep { 
    0% { transform: translate(-60%, -60%); } 
    100% { transform: translate(40%, 40%); } 
  }

  /* Анимация линии */
  #bb-layer-visual .bb-local-line {
    animation: localLineGrow 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.5s forwards;
  }
  @keyframes localLineGrow { from { transform: scaleX(0); } to { transform: scaleX(1); } }