/* ===== shared.css — общие стили для всех страниц werbemeister.at ===== */

/* h2 reset для section-title-line — span заменён на h2 для SEO */
h2.section-title-line {
  margin: 0;
  padding: 0;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  display: inline;
}

/* ОДИНАКОВЫЙ HOVER ДЛЯ СОЦИАЛЬНЫХ И КОНТАКТНЫХ ССЫЛОК */
.mobile-social-links[data-astro-cid-bbe6dxrz] a,
.mobile-contact-links[data-astro-cid-bbe6dxrz] a {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px 16px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  color: var(--text-white) !important;
  transition: all 0.3s ease !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.mobile-social-links[data-astro-cid-bbe6dxrz] a:hover,
.mobile-contact-links[data-astro-cid-bbe6dxrz] a:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  transform: translateX(4px) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  color: var(--accent-green) !important;
}

.mobile-social-links[data-astro-cid-bbe6dxrz] a svg,
.mobile-contact-links[data-astro-cid-bbe6dxrz] a svg {
  width: 20px !important;
  height: 20px !important;
  flex-shrink: 0 !important;
  transition: all 0.3s ease !important;
}

.mobile-social-links[data-astro-cid-bbe6dxrz] a:hover svg,
.mobile-contact-links[data-astro-cid-bbe6dxrz] a:hover svg {
  transform: scale(1.1) !important;
}

.mobile-social-links[data-astro-cid-bbe6dxrz] a span,
.mobile-contact-links[data-astro-cid-bbe6dxrz] a span {
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.3s ease !important;
}

/* СТИЛИ ДЛЯ MOBILE-CONTACT-LINKS */
.mobile-contact-links[data-astro-cid-bbe6dxrz] {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  width: 100% !important;
}

/* ЧИСТЫЙ СТИЛЬ ДЛЯ ЗАГОЛОВКА "МЫ В СОЦСЕТЯХ" */
.mobile-social-section .mobile-section-title[data-astro-cid-bbe6dxrz] {
  margin-bottom: 16px !important;
}

/* УБИРАЕМ ПОДЧЕРКИВАНИЕ ПРИ НАВЕДЕНИИ В МОБИЛЬНОМ МЕНЮ */
.mobile-nav-link[data-astro-cid-bbe6dxrz]:hover {
  color: var(--accent-green) !important;
  transform: translate(8px) !important;
  text-decoration: none !important;
}

.mobile-nav-link[data-astro-cid-bbe6dxrz]:hover:after {
  display: none !important;
}

.mobile-nav-link[data-astro-cid-bbe6dxrz]:after {
  display: none !important;
}

/* СПЛОШНОЙ СИНИЙ ФОН ДЛЯ LIGHTBOX-INFO */
.lightbox-info[data-astro-cid-3bzmtiea] {
  padding: 60px 40px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 24px !important;
  background: var(--primary-navy) !important;
}

/* LIGHTBOX OVERLAY */
.lightbox-overlay[data-astro-cid-3bzmtiea] {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(6, 31, 201, 0.4) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  z-index: 2000 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.3s ease !important;
  pointer-events: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.lightbox-overlay.active[data-astro-cid-3bzmtiea] {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.lightbox-container[data-astro-cid-3bzmtiea] {
  position: relative !important;
  width: 90% !important;
  max-width: 1200px !important;
  height: 80% !important;
  background: none !important;
  border-radius: 24px !important;
  border: 2px solid rgba(255, 255, 255, 0.1) !important;
  overflow: hidden !important;
  transform: scale(0.9) !important;
  transition: transform 0.4s ease !important;
}

.lightbox-overlay.active[data-astro-cid-3bzmtiea] .lightbox-container[data-astro-cid-3bzmtiea] {
  transform: scale(1) !important;
}

/* PORTFOLIO + TESTIMONIALS — нативный scroll-snap (замена Owl Carousel) */
.portfolio-slider,
.testimonials-slider {
  display: flex !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
  gap: 30px !important;
  padding-bottom: 16px !important;
  scrollbar-width: thin !important;
}

.portfolio-slider > *,
.testimonials-slider > * {
  scroll-snap-align: start !important;
  flex-shrink: 0 !important;
}

/* TESTIMONIALS — ссылка "Смотреть все отзывы на Google" под заголовком */
.testimonials-google-link {
  display: inline-block;
  margin-top: 32px;
  font-size: 15px;
  font-weight: 500;
  color: var(--accent-green);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease, opacity 0.2s ease;
}

.testimonials-google-link:hover {
  border-bottom-color: var(--accent-green);
  opacity: 0.85;
}

.whatsapp-float {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 56px;
  height: 56px;
  background: #25d366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .3);
  z-index: 999;
  text-decoration: none;
}

/* ===== Cookie Banner — werbemeister.at ===== */
.cookie-banner {
  position: fixed !important;
  bottom: 28px !important;
  left: 28px !important;
  max-width: 320px !important;
  width: calc(100% - 56px) !important;
  background: #061fc9 !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 20px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.55) !important;
  padding: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  z-index: 9999 !important;
  font-family: 'Inter', system-ui, sans-serif !important;
}
.cookie-banner__title {
  font-family: 'Unbounded', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #fff !important;
  letter-spacing: 0.4px !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}
.cookie-banner__text { color: #b8c5ff !important; font-size: 12px !important; line-height: 1.65 !important; margin: 0 !important; }
.cookie-banner__text a { color: #08d189 !important; text-decoration: underline !important; text-underline-offset: 3px !important; }
.cookie-banner__text a:hover { opacity: 0.8 !important; }
.cookie-banner__actions { display: flex !important; flex-direction: column !important; gap: 8px !important; margin-top: 2px !important; }
.cookie-banner__btn { font-family: 'Inter', system-ui, sans-serif !important; font-size: 12px !important; font-weight: 700 !important; padding: 11px 16px !important; border-radius: 10px !important; border: none !important; cursor: pointer !important; letter-spacing: 0.3px !important; text-transform: uppercase !important; transition: opacity 0.2s !important; width: 100% !important; text-align: center !important; }
.cookie-banner__btn:hover { opacity: 0.80 !important; }
.cookie-banner__btn--primary { background: #08d189 !important; color: #061fc9 !important; }
@media (max-width: 600px) {
  .cookie-banner { bottom: 16px; left: 16px; right: 16px; max-width: none; width: auto; }
}


/* ===== Mobile menu overrides (moved from app/index.html) ===== */
/* ИСПРАВЛЕННЫЕ СТИЛИ МОБИЛЬНОГО МЕНЮ */
    .mobile-nav-link[data-astro-cid-bbe6dxrz] {
      font-family: var(--font-body) !important;
      font-size: 16px !important;
      font-weight: 700 !important;
      color: var(--bg-white) !important;
      text-decoration: none !important;
      text-transform: uppercase !important;
      letter-spacing: 1.5px !important;
      transition: all 0.3s ease !important;
      position: relative !important;
      padding: 8px 0 !important;
      width: 100% !important;
    }

    .mobile-menu-content[data-astro-cid-bbe6dxrz] {
      position: relative !important;
      width: 320px !important;
      height: 100vh !important;
      background: none !important;
      box-shadow: -5px 0 20px rgba(0, 0, 0, 0.3) !important;
      overflow-y: auto !important;
      transform: translateX(100%) !important;
      transition: transform 0.3s ease !important;
      border-left: 1px solid rgba(255, 255, 255, 0.4) !important;
    }

    .mobile-menu-overlay.active[data-astro-cid-bbe6dxrz] .mobile-menu-content[data-astro-cid-bbe6dxrz] {
      transform: translateX(0) !important;
    }

    /* ИСПРАВЛЕННЫЙ ФОН ДЛЯ MOBILE-MENU-CONTENT */
    .mobile-menu-content[data-astro-cid-bbe6dxrz] {
      position: relative !important;
      width: 320px !important;
      height: 100vh !important;
      background: #061FC9 !important;
      box-shadow: -5px 0 20px rgba(0, 0, 0, 0.3) !important;
      overflow-y: auto !important;
      transform: translateX(100%) !important;
      transition: transform 0.3s ease !important;
      border-left: 1px solid rgba(255, 255, 255, 0.4) !important;
    }

    .mobile-menu-overlay.active[data-astro-cid-bbe6dxrz] .mobile-menu-content[data-astro-cid-bbe6dxrz] {
      transform: translateX(0) !important;
    }

    /* НОВАЯ СТРУКТУРА МОБИЛЬНОГО МЕНЮ */
    .mobile-menu-overlay[data-astro-cid-bbe6dxrz] {
      position: fixed !important;
      top: 0 !important;
      left: 0 !important;
      width: 100vw !important;
      height: 100vh !important;
      background: rgba(6, 31, 201, 0.4) !important;
      backdrop-filter: blur(10px) !important;
      -webkit-backdrop-filter: blur(10px) !important;
      z-index: 9999 !important;
      opacity: 0 !important;
      visibility: hidden !important;
      transition: all 0.3s ease !important;
      pointer-events: none !important;
      display: flex !important;
      justify-content: flex-end !important;
    }

    .mobile-menu-overlay.active[data-astro-cid-bbe6dxrz] {
      opacity: 1 !important;
      visibility: visible !important;
      pointer-events: auto !important;
    }

    .mobile-menu-content[data-astro-cid-bbe6dxrz] {
      position: relative !important;
      width: 320px !important;
      height: 100vh !important;

      box-shadow: -5px 0 20px rgba(0, 0, 0, 0.3) !important;
      overflow-y: auto !important;
      transform: translateX(100%) !important;
      transition: transform 0.3s ease !important;
      border-left: 1px solid rgba(255, 255, 255, 0.4) !important;
    }

    .mobile-menu-overlay.active[data-astro-cid-bbe6dxrz] .mobile-menu-content[data-astro-cid-bbe6dxrz] {
      transform: translateX(0) !important;
    }

    /* Убираем старый оверлей */
    .mobile-menu-body-overlay {
      display: none !important;
    }

    /* ПРИНУДИТЕЛЬНЫЕ СТИЛИ ДЛЯ ОВЕРЛЕЯ МОБИЛЬНОГО МЕНЮ */
    .mobile-menu-body-overlay {
      position: fixed !important;
      top: 0 !important;
      left: 0 !important;
      width: 100vw !important;
      height: 100vh !important;
      background: rgba(6, 31, 201, 0.5) !important;
      backdrop-filter: blur(10px) !important;
      -webkit-backdrop-filter: blur(10px) !important;
      z-index: 9998 !important;
      opacity: 0 !important;
      visibility: hidden !important;
      transition: all 0.3s ease !important;
      pointer-events: none !important;
      display: block !important;
    }

    .mobile-menu-body-overlay.active {
      opacity: 1 !important;
      visibility: visible !important;
      pointer-events: auto !important;
      display: block !important;
    }

    /* Принудительные стили для мобильного меню */
    .mobile-menu-overlay[data-astro-cid-bbe6dxrz] {
      position: fixed !important;
      top: 0 !important;
      right: -100% !important;
      width: 320px !important;
      height: 100vh !important;

      z-index: 9999 !important;
      transition: right 0.3s ease !important;
      overflow-y: auto !important;
      box-shadow: -5px 0 20px rgba(0, 0, 0, 0.3) !important;
    }

    .mobile-menu-overlay.active[data-astro-cid-bbe6dxrz] {
      right: 0 !important;
      border-left: 1px solid rgba(255, 255, 255, 0.4) !important;
    }
    /* ── Убрать все scroll-reveal / entrance анимации ── */
    .section-title-line, .title-line, .bottom-line, .description-line,
    .slogan-line, .panel-line, .contact-line, .form-line, .faq-line,
    .faq-question-text, .card-title-text {
      transform: translateY(0) !important;
      opacity: 1 !important;
      transition: none !important;
    }
    .card-image-reveal, .mobile-card-image-reveal, .image-reveal-overlay {
      transform: translateY(100%) !important;
      transition: none !important;
    }
    .tag, .hero__bottom[data-astro-cid-bbe6dxrz] { opacity: 1 !important; transform: none !important; animation: none !important; }
    .desktop-menu, .desktop-actions { opacity: 1 !important; transform: none !important; animation: none !important; }
    .hero-subtitle-container[data-astro-cid-bbe6dxrz] { overflow: visible !important; }
    .hero__subtitle[data-astro-cid-bbe6dxrz] { transform: none !important; opacity: 1 !important; transition: none !important; }
    /* ── Шаги процесса ── */
    .hero__subtitle .pstep { color: rgba(255,255,255,.82); font-weight: 500; }
    .hero__subtitle .psep { color: #08d189; opacity: .55; margin: 0 .45em; font-size: .75em; vertical-align: .1em; }
    @media (min-width: 768px) { .hero__subtitle .pstep { white-space: nowrap; } }
    /* ── bottom-title: шрифт как у section-title-line ── */
    .bottom-title.flat-title[data-astro-cid-v2cbyr3p] {
      font-family: var(--font-heading) !important;
      font-weight: 700 !important;
      text-transform: uppercase !important;
      letter-spacing: 1.5px !important;
      line-height: 1.2 !important;
      font-size: 24px !important;
    }
    @media (max-width: 767px) {
      .bottom-title.flat-title[data-astro-cid-v2cbyr3p] { font-size: 18px !important; }
    }
    @media (max-width: 767px) {
      .hero__subtitle[data-astro-cid-bbe6dxrz] {
        font-size: clamp(13px,1.4vw,16px) !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
      }
      .hero__sub2[data-astro-cid-bbe6dxrz] {
        font-size: clamp(14px,1.7vw,22px) !important;
      }
    }
.mobile-menu-content[data-astro-cid-bbe6dxrz] {
          width: 400px !important;
        }

        @media (max-width: 768px) {
          .mobile-menu-content[data-astro-cid-bbe6dxrz] {
            width: 100% !important;
            border-left: none !important;
          }
        }
