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

/* ===== BRAND TOKENS (rebrand 10/2026) — единый источник цветов =====
   Неон — по умолчанию (data-theme ставит inline-скрипт в <head>); :root = тёмная, она же фолбэк без JS. Светлая — html[data-theme="light"].
   Hero-карточка (.hero-background) остаётся тёмной в обеих темах (фото-hero).
   ДУБЛИРУЕТСЯ в inline critical CSS в index.html — менять синхронно. */
:root,
html[data-theme="light"] .hero-background {
  --wm-bg: #0F1A3A;
  --wm-bg-rgb: 15, 26, 58;
  --wm-bg-alt: #13214A;
  --wm-surface: #16234B;
  --wm-surface-2: #1B2A57;
  --wm-border: rgba(255, 255, 255, .10);
  --wm-primary: #3051A0;
  --wm-primary-bright: #4A6CC4;
  --wm-accent: #3CBDAF;
  --wm-accent-rgb: 60, 189, 175;
  --wm-accent-hover: #34A99C;
  --wm-accent-text: #3CBDAF;
  --wm-on-accent: #0F1A3A;
  --wm-text: #FFFFFF;
  --wm-text-muted: #A9B4D0;
  --wm-text-soft: #DCE2F0;
  --wm-fg-rgb: 255, 255, 255;
  --wm-shadow-card: none;
  /* константы (не зависят от темы) */
  --wm-ink: #0F1A3A;
  --wm-ink-rgb: 15, 26, 58;
  --wm-accent-on-white: #1F7A70;
  --wm-white-rgb: 255, 255, 255; /* константа: белый для тёмных оверлеев (галерея) */
  --wm-hero-photo-fill: #05385A; /* цвет низа фото hero-bg-mob (вода) — заливка под фото на мобильном */
  /* legacy-алиасы (для inline-стилей в HTML) */
  --primary-navy: var(--wm-bg);
  --accent-green: var(--wm-accent);
  --bg-white: #FFFFFF;
  --text-gray: var(--wm-text-muted);
  --bg-light: var(--wm-bg-alt);
  --text-dark: var(--wm-text);
  --text-light: var(--wm-text-soft);
}
html[data-theme="light"],
html[data-theme="light"] .mobile-menu-overlay {
  --wm-bg: #F5F7FB;
  --wm-bg-rgb: 245, 247, 251;
  --wm-bg-alt: #EAEFF7;
  --wm-surface: #FFFFFF;
  --wm-surface-2: #FFFFFF;
  --wm-border: rgba(15, 26, 58, .10);
  --wm-primary: #3051A0;
  --wm-primary-bright: #3051A0;
  --wm-accent: #2FA597;
  --wm-accent-rgb: 47, 165, 151;
  --wm-accent-hover: #3CBDAF; /* светлее при hover: navy-текст 7.4:1 */
  --wm-accent-text: #1F7A70; /* мелкий teal-текст: ≥4.5:1 на #F5F7FB/#fff */
  --wm-on-accent: #0F1A3A;
  --wm-text: #0F1A3A;
  --wm-text-muted: #4A5675;
  --wm-text-soft: #24304F;
  --wm-fg-rgb: 15, 26, 58;
  --wm-shadow-card: 0 1px 2px rgba(15, 26, 58, .06), 0 8px 24px rgba(15, 26, 58, .06);
  --primary-navy: var(--wm-bg);
  --accent-green: var(--wm-accent);
  --text-gray: var(--wm-text-muted);
  --bg-light: var(--wm-bg-alt);
  --text-dark: var(--wm-text);
  --text-light: var(--wm-text-soft);
  color-scheme: light;
}
/* «Graphit · Neon» — ночная световая реклама; графит из wordmark #242627 */
html[data-theme="neon"] {
  --wm-bg: #111315;
  --wm-bg-rgb: 17, 19, 21;
  --wm-bg-alt: #16191C;
  --wm-surface: #1C2024;
  --wm-surface-2: #22272C;
  --wm-border: rgba(255, 255, 255, .08);
  --wm-primary: #3051A0;
  --wm-primary-bright: #6F8EE0;
  --wm-accent: #45D6C4;
  --wm-accent-rgb: 69, 214, 196;
  --wm-accent-hover: #6BE3D4;
  --wm-accent-text: #45D6C4;
  --wm-on-accent: #0B0D0F;
  --wm-text: #F2F4F5;
  --wm-text-muted: #9AA3AB;
  --wm-text-soft: #D5DADF;
  --wm-fg-rgb: 255, 255, 255;
  --wm-shadow-card: none;
  --wm-glow: 0 0 0 1px rgba(69, 214, 196, .5), 0 0 24px rgba(69, 214, 196, .35);
  --primary-navy: var(--wm-bg);
  --accent-green: var(--wm-accent);
  --text-gray: var(--wm-text-muted);
  --bg-light: var(--wm-bg-alt);
  --text-dark: var(--wm-text);
  --text-light: var(--wm-text-soft);
}
:root { color-scheme: dark; }
.privacy-link { color: var(--wm-accent-text) !important; }

/* ── Логотипы: вариант под фон (dark-bg = белый wordmark, light-bg = тёмный) ── */
.wm-logo-light-bg { display: none !important; }
html[data-theme="light"] .wm-logo-light-bg { display: block !important; }
html[data-theme="light"] .wm-logo-dark-bg { display: none !important; }

/* ── Переключатель темы: сегментированный контрол dark / light / neon (role="radiogroup").
   Визуально = пилюля языков (DE|RU|EN): та же высота, рамка, радиус, активный — brand blue.
   Активная опция подсвечивается по html[data-theme] (ставится в <head> до отрисовки → без вспышки),
   aria-checked/tabindex синхронизирует скрипт перед </body>. ДУБЛИРУЕТСЯ в inline critical CSS index.html. ── */
.theme-switch {
  display: inline-flex; align-items: center; flex-shrink: 0; gap: 4px; padding: 4px; margin: 0;
  border-radius: 999px; background: rgba(var(--wm-fg-rgb), .12); border: 1px solid rgba(var(--wm-fg-rgb), .2);
}
.theme-switch__btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; flex-shrink: 0;
  width: 32px; height: 27px; padding: 0; margin: 0; border: 0; border-radius: 999px;
  background: transparent; color: var(--wm-text); cursor: pointer; font: inherit; line-height: 1;
  -webkit-tap-highlight-color: transparent;
}
.theme-switch__btn svg { width: 16px; height: 16px; display: block; flex-shrink: 0; pointer-events: none; }
.theme-switch__btn:hover { background: rgba(var(--wm-fg-rgb), .1); }
.theme-switch__btn:focus-visible { outline: 2px solid var(--wm-primary-bright); outline-offset: 1px; }
html[data-theme="dark"] .theme-switch__btn[data-set-theme="dark"],
html[data-theme="light"] .theme-switch__btn[data-set-theme="light"],
html[data-theme="neon"] .theme-switch__btn[data-set-theme="neon"] {
  background: var(--wm-primary); border-color: var(--wm-primary); color: #fff; cursor: default;
}
/* fixed header на главной — белая плашка во всех темах */
:where(#fixedHeaderMain) .theme-switch { background: rgba(var(--wm-ink-rgb), .06); border-color: rgba(var(--wm-ink-rgb), .15); }
:where(#fixedHeaderMain) .theme-switch__btn { color: var(--wm-ink); }
:where(#fixedHeaderMain) .theme-switch__btn:hover { background: rgba(var(--wm-ink-rgb), .08); }
/* десктоп ≤1699: шапка плотная → сегменты 30px, высота как у пилюли языков */
@media (max-width: 1699px) {
  .desktop-actions .theme-switch { gap: 2px; padding: 4px 3px; }
  .desktop-actions .theme-switch__btn { width: 30px; }
}
/* Логотип в десктоп-шапках: меню + 2 пилюли + CTA оставляют логотипу мало места (особенно RU/EN и нижние края
   ступеней 1220/1460/1700). Слот логотипа сжимается от 249px до 117px; если < 200px — знак WM (как в мобильной шапке).
   Container query → не зависит от языка. object-fit — логотип не сплющивается. */
.hero__header .desktop-logo img, .fixed-header .desktop-logo img { object-fit: contain; object-position: left center; }
@media (min-width: 1220px) {
  html .hero__header[data-astro-cid-bbe6dxrz] .logo[data-astro-cid-bbe6dxrz] { flex: 0 1 249px; min-width: 117px; gap: 0; container-type: inline-size; }
}
@media (min-width: 1301px) {
  html .fixed-header[data-astro-cid-bbe6dxrz] .logo[data-astro-cid-bbe6dxrz] { flex: 0 1 249px; min-width: 117px; gap: 0; container-type: inline-size; }
  html .fixed-header[data-astro-cid-bbe6dxrz] .fixed-header-container[data-astro-cid-bbe6dxrz] { column-gap: 20px; }
}
@container (max-width: 199px) {
  html .hero__header[data-astro-cid-bbe6dxrz] .desktop-logo[data-astro-cid-bbe6dxrz],
  html .fixed-header[data-astro-cid-bbe6dxrz] .desktop-logo[data-astro-cid-bbe6dxrz] { display: none !important; }
  html .hero__header[data-astro-cid-bbe6dxrz] .mobile-logo-header[data-astro-cid-bbe6dxrz],
  html .fixed-header[data-astro-cid-bbe6dxrz] .mobile-logo-header[data-astro-cid-bbe6dxrz] { display: flex !important; }
}
/* мобильная шапка: компактный вариант рядом с гамбургером (высота = гамбургер: 40 в hero, 36 в fixed) */
.theme-switch--mobile { display: none; gap: 2px; padding: 2px; margin: 0 8px 0 auto; }
.theme-switch--mobile .theme-switch__btn { width: 30px; height: 28px; }
.hero__header .theme-switch--mobile .theme-switch__btn { height: 32px; }
@media (max-width: 1219px) { .hero__header .theme-switch--mobile { display: inline-flex; } }
@media (max-width: 1300px) { .fixed-header .theme-switch--mobile { display: inline-flex; } }
/* ≤420: логотип + переключатель + гамбургер в одну строку (без переноса) */
@media (max-width: 420px) {
  html .hero__header[data-astro-cid-bbe6dxrz] { flex-wrap: nowrap !important; column-gap: 8px !important; }
  html .hero__header .logo[data-astro-cid-bbe6dxrz],
  html .fixed-header .logo[data-astro-cid-bbe6dxrz] { gap: 0 !important; }
}
@media (max-width: 374px) {
  html .hero__header .mobile-logo-header img,
  html .fixed-header .mobile-logo-header img { height: 30px !important; }
  .theme-switch--mobile { gap: 0; }
  .theme-switch--mobile .theme-switch__btn { width: 26px; }
}
/* мобильное меню: подписанный вариант под выбором языка */
.mobile-theme-switcher {
  display: flex; flex-direction: column; align-items: flex-start; gap: 12px; width: 100%;
  margin: 0 0 24px; padding: 0 0 20px; border-bottom: 1px solid rgba(var(--wm-fg-rgb), .1);
}
.theme-switch--menu { display: flex; width: 100%; gap: 8px; padding: 0; border: 0; border-radius: 0; background: none; }
.theme-switch--menu .theme-switch__btn {
  flex: 1 1 0; min-width: 0; width: auto; height: auto; padding: 10px 4px;
  border: 1px solid rgba(var(--wm-fg-rgb), .3); border-radius: 12px;
  font-family: var(--font-body); font-size: 14px; font-weight: 700; line-height: 1.3; white-space: nowrap;
  text-transform: uppercase; letter-spacing: .5px;
}
@media (max-width: 374px) {
  .theme-switch--menu .theme-switch__btn { gap: 4px; font-size: 12px; letter-spacing: .2px; }
  .theme-switch--menu .theme-switch__btn svg { width: 14px; height: 14px; }
}
/* fixed header 1301–1599px: место под переключатель темы (иначе меню упирается в логотип) */
@media (min-width: 1301px) and (max-width: 1599px) {
  html .fixed-header .desktop-menu[data-astro-cid-bbe6dxrz] { gap: 14px !important; }
  html .fixed-header .menu[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz] { font-size: 12px !important; letter-spacing: .4px !important; }
  html .fixed-header .desktop-actions[data-astro-cid-bbe6dxrz] { gap: 10px !important; }
  html .fixed-header .lang-btn[data-astro-cid-bbe6dxrz] { padding: 6px 9px !important; }
  html .fixed-header .cta-button[data-astro-cid-bbe6dxrz] { padding: 11px 18px !important; font-size: 13px !important; }
}
@media (min-width: 1301px) and (max-width: 1419px) {
  html .fixed-header .desktop-menu[data-astro-cid-bbe6dxrz] { gap: 10px !important; }
  html .fixed-header .menu[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz] { font-size: 11px !important; letter-spacing: .2px !important; }
  html .fixed-header .desktop-logo img { height: 38px !important; }
}
@media (min-width: 1600px) and (max-width: 1699px) {
  html #fixedHeaderMain .desktop-menu[data-astro-cid-bbe6dxrz] { gap: 22px !important; }
  html #fixedHeaderMain .menu[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz] { font-size: 14px !important; }
}

/* ===================================================================
   REBRAND DESIGN LAYER (10/2026)
   Teal (--wm-accent) — только primary CTA, ключевые цифры/галочки, active.
   Brand blue (--wm-primary) — иконки-чипы, вторичные кнопки, активный язык.
   Никогда белый текст на teal.
   =================================================================== */

/* ── Hero: тёмная фото-карточка во всех темах ── */
.hero-background[data-astro-cid-bbe6dxrz] { border: 1px solid rgba(255, 255, 255, .12) !important; }
html[data-theme="light"] .hero-background[data-astro-cid-bbe6dxrz] {
  border-color: transparent !important;
  box-shadow: 0 2px 4px rgba(15, 26, 58, .08), 0 16px 40px rgba(15, 26, 58, .14);
}
.image-overlay[data-astro-cid-bbe6dxrz] {
  background: linear-gradient(135deg, rgba(var(--wm-bg-rgb), .9) 0%, rgba(var(--wm-bg-rgb), .74) 55%, rgba(48, 81, 160, .42) 100%) !important;
}
html[data-theme="neon"] .image-overlay[data-astro-cid-bbe6dxrz] {
  background: linear-gradient(135deg, rgba(17, 19, 21, .92) 0%, rgba(17, 19, 21, .78) 55%, rgba(69, 214, 196, .14) 100%) !important;
}
/* В hero один primary CTA («Beratung anfordern»): LOSLEGEN в шапке hero — вторичная */
.hero__header .cta-button[data-astro-cid-bbe6dxrz] {
  background: transparent !important; color: var(--wm-text) !important;
  border: 2px solid rgba(255, 255, 255, .35) !important; box-shadow: none !important;
}
.hero__header .cta-button[data-astro-cid-bbe6dxrz]:hover { border-color: var(--wm-accent) !important; color: var(--wm-accent-text) !important; background: transparent !important; }

/* ── Активный язык — brand blue (не конкурирует с CTA) ── */
html .language-switcher .lang-btn.active,
html .lang-btn[data-astro-cid-bbe6dxrz].active,
html #fixedHeaderMain .language-switcher .lang-btn[data-astro-cid-bbe6dxrz].active {
  background: var(--wm-primary) !important; color: #fff !important; box-shadow: none !important;
}
html .mobile-language-switcher .mobile-lang-btn.active,
html .mobile-lang-btn[data-astro-cid-bbe6dxrz].active {
  background: var(--wm-primary) !important; border-color: var(--wm-primary) !important; color: #fff !important;
}

/* ── Teal-кнопки: navy-текст ── */
html .mobile-cta-button,
html .mobile-cta-button .btn-text,
html .faq-item.active .faq-toggle { color: var(--wm-on-accent) !important; }

/* ── Brand-blue: иконки-чипы и стрелки слайдеров ── */
.detail-icon { background: var(--wm-primary) !important; color: #fff !important; }
.process__num,
.card-number {
  border-color: var(--wm-primary-bright) !important;
  background: rgba(48, 81, 160, .18) !important;
  color: var(--wm-text) !important;
}
.mobile-card-number,
.panel-number { background: var(--wm-primary) !important; color: #fff !important; border-color: var(--wm-primary) !important; }
html .pf-btn.pf-active,
html .tsm-btn.tsm-active {
  background: var(--wm-primary) !important; border-color: var(--wm-primary) !important;
  color: #fff !important; box-shadow: none !important;
}

/* ── Мобильное меню: цвет текста по теме (меню вложено в тёмный hero) ── */
.mobile-menu-overlay,
.mobile-menu-content { color: var(--wm-text); }
.mobile-social-links a,
.mobile-contact-links a,
.mobile-social-link,
.mobile-contact-link { color: var(--wm-text) !important; }

/* ── LIGHT: белые карточки с мягкой тенью ── */
html[data-theme="light"] :is(
  .features > .container, .contact > .container,
  .process__step-card, .service-card--mini, .pf-content,
  .testimonial-content, .faq-item, .detail-item, .contact-form-wrapper,
  .features-preview, .mobile-feature-card, .pf-btn:not(.pf-active), .tsm-btn:not(.tsm-active)
) {
  background: #fff !important;
  border-color: var(--wm-border) !important;
  box-shadow: var(--wm-shadow-card) !important;
}
html[data-theme="light"] .faq-item.active { background: #fff !important; border-color: var(--wm-accent) !important; }
html[data-theme="light"] .pf-image { background: var(--wm-bg-alt) !important; }
html[data-theme="light"] :is(.contact-form-wrapper input, .contact-form-wrapper textarea, .contact-form input, .contact-form textarea) {
  background: #fff !important; border-color: rgba(15, 26, 58, .18) !important; color: var(--wm-text) !important;
}
html[data-theme="light"] .cookie-banner { background: #fff !important; box-shadow: 0 2px 4px rgba(15, 26, 58, .06), 0 16px 40px rgba(15, 26, 58, .16) !important; }
html[data-theme="light"] .mobile-menu-content { box-shadow: -5px 0 20px rgba(15, 26, 58, .12) !important; }

html[data-theme="light"] .content-section { background: #fff !important; border-color: var(--wm-border) !important; box-shadow: var(--wm-shadow-card); }
html[data-theme="light"] .content-section:hover { border-color: var(--wm-accent) !important; }
html[data-theme="light"] .back-link { background: #fff !important; }
html[data-theme="light"] .contact-info strong { color: var(--wm-text) !important; }

/* ── Контраст мелких подписей (≥4.5:1 во всех темах): без полупрозрачности ── */
.section-label { opacity: 1 !important; }
.process .section-label,
.pf-label { color: var(--wm-text-muted) !important; opacity: 1 !important; }
/* неактивные табы «Leistungen»: вместо opacity .6 — приглушённый цвет (иначе мелкие номера < 4.5:1) */
.feature-item[data-astro-cid-vnivfuh2]:not(.active) { opacity: 1 !important; }
.feature-item:not(.active) :is(h3, h4, span, div, p) { color: var(--wm-text-muted) !important; }
.feature-item:not(.active):hover :is(h3, h4, span, div, p) { color: var(--wm-text) !important; }

/* ── NEON «Graphit · Neon»: статичное свечение только на акцентах ── */
html[data-theme="neon"] :is(
  .hero__cta-btn--primary, .submit-btn,
  #fixedHeaderMain .cta-button, .mobile-cta-button, .cookie-banner__btn--primary
) { box-shadow: var(--wm-glow) !important; }
html[data-theme="neon"] .highlight,
html[data-theme="neon"] .highlight-text { text-shadow: 0 0 18px rgba(69, 214, 196, .45); }
html[data-theme="neon"] :is(.process__step-card, .service-card--mini, .testimonial-content, .faq-item, .detail-item, .pf-content):hover,
html[data-theme="neon"] :is(.faq-item.active, .feature-item.active) {
  box-shadow: inset 0 1px 0 rgba(69, 214, 196, .55), 0 0 0 1px rgba(69, 214, 196, .16) !important;
}
/* LED-матрица: еле заметная точечная сетка (≈4%) */
html[data-theme="neon"] body,
html[data-theme="neon"] section:not(.hero),
html[data-theme="neon"] .legal-hero,
html[data-theme="neon"] .legal-content {
  background-image: radial-gradient(rgba(255, 255, 255, .045) 1px, transparent 1.3px) !important;
  background-size: 22px 22px !important;
}

/* 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(var(--wm-fg-rgb),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(var(--wm-fg-rgb),0.1) !important;
}

.mobile-social-links[data-astro-cid-bbe6dxrz] a:hover,
.mobile-contact-links[data-astro-cid-bbe6dxrz] a:hover {
  background: rgba(var(--wm-fg-rgb),0.1) !important;
  transform: translateX(4px) !important;
  border-color: rgba(var(--wm-fg-rgb),0.2) !important;
  color: var(--wm-accent-text) !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(--wm-accent-text) !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(--wm-bg) !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(var(--wm-bg-rgb),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(var(--wm-fg-rgb),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(--wm-accent-text);
  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(--wm-accent);
  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: var(--wm-bg) !important;
  border: 1px solid rgba(var(--wm-fg-rgb),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[hidden] { display: none !important; }
.cookie-banner__title {
  font-family: 'Unbounded', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--wm-text) !important;
  letter-spacing: 0.4px !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}
.cookie-banner__text { color: var(--wm-text-muted) !important; font-size: 12px !important; line-height: 1.65 !important; margin: 0 !important; }
.cookie-banner__text a { color: var(--wm-accent-text) !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: var(--wm-accent) !important; color: var(--wm-ink) !important; }
.cookie-banner__btn--secondary { background: transparent !important; color: var(--wm-text-muted) !important; border: 1px solid rgba(var(--wm-fg-rgb),0.25) !important; }
.cookie-banner__btn--secondary:hover { color: var(--wm-text) !important; border-color: rgba(var(--wm-fg-rgb),0.5) !important; opacity: 1 !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(--wm-text) !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(var(--wm-fg-rgb),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: var(--wm-bg) !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(var(--wm-fg-rgb),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(var(--wm-bg-rgb),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(var(--wm-fg-rgb),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(var(--wm-bg-rgb),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(var(--wm-fg-rgb),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(var(--wm-fg-rgb),.82); font-weight: 500; }
    .hero__subtitle .psep { color: var(--wm-accent-text); opacity: .55; margin: 0 .45em; font-size: .75em; vertical-align: .1em; }
    @media (min-width: 768px) { .hero__subtitle .pstep { white-space: nowrap; } }
    /* Между шагами нет пробелов в разметке → строка не переносилась и уезжала за край.
       ZWSP после стрелки даёт точку переноса: стрелка остаётся в конце предыдущего шага. */
    .hero__subtitle .psep::after { content: "\200B"; }

    /* ── Header (hero): без переносов по слогам + адаптивные ступени ──
       ДУБЛИРУЕТСЯ в inline critical CSS в index.html — менять синхронно.
       Ширины рассчитаны по самому длинному языку (EN), запас ≥40px. */
    .menu[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz],
    .cta-button[data-astro-cid-bbe6dxrz],
    .lang-btn[data-astro-cid-bbe6dxrz] { white-space: nowrap; -webkit-hyphens: none; hyphens: none; word-break: normal; overflow-wrap: normal; }
    .hero__header[data-astro-cid-bbe6dxrz] .desktop-menu[data-astro-cid-bbe6dxrz],
    .hero__header[data-astro-cid-bbe6dxrz] .desktop-actions[data-astro-cid-bbe6dxrz] { flex-shrink: 0; }
    @media (min-width: 1220px) {
      .hero__header[data-astro-cid-bbe6dxrz] { column-gap: 24px; }
    }
    @media (max-width: 1699px) {
      .hero__header[data-astro-cid-bbe6dxrz] .desktop-menu[data-astro-cid-bbe6dxrz] { gap: 28px; }
      .hero__header[data-astro-cid-bbe6dxrz] .menu[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz] { font-size: 14px !important; letter-spacing: .8px !important; }
      .hero__header[data-astro-cid-bbe6dxrz] .desktop-actions[data-astro-cid-bbe6dxrz] { gap: 16px; }
      .hero__header[data-astro-cid-bbe6dxrz] .cta-button[data-astro-cid-bbe6dxrz] { padding: 14px 26px !important; font-size: 15px !important; }
    }
    @media (max-width: 1459px) {
      .hero__header[data-astro-cid-bbe6dxrz] .desktop-menu[data-astro-cid-bbe6dxrz] { gap: 20px; }
      .hero__header[data-astro-cid-bbe6dxrz] .menu[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz] { font-size: 13px !important; letter-spacing: .5px !important; }
      .hero__header[data-astro-cid-bbe6dxrz] .desktop-actions[data-astro-cid-bbe6dxrz] { gap: 12px; }
      .hero__header[data-astro-cid-bbe6dxrz] .cta-button[data-astro-cid-bbe6dxrz] { padding: 12px 20px !important; font-size: 13px !important; gap: 10px !important; }
    }
    @media (max-width: 1329px) {
      .hero__header[data-astro-cid-bbe6dxrz] .desktop-menu[data-astro-cid-bbe6dxrz] { gap: 14px; }
      .hero__header[data-astro-cid-bbe6dxrz] .menu[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz] { font-size: 12px !important; letter-spacing: .3px !important; }
      .hero__header[data-astro-cid-bbe6dxrz] .desktop-actions[data-astro-cid-bbe6dxrz] { gap: 10px; }
      .hero__header[data-astro-cid-bbe6dxrz] .cta-button[data-astro-cid-bbe6dxrz] { padding: 10px 16px !important; font-size: 12px !important; gap: 8px !important; }
      .hero__header[data-astro-cid-bbe6dxrz] .icon-circle[data-astro-cid-bbe6dxrz] { width: 22px; height: 22px; font-size: 11px; }
    }
    /* ≤1219px — гамбургер (перебивает @media (min-width:769px) в index.AbZTJk4W.css) */
    @media (max-width: 1219px) {
      .hero__header[data-astro-cid-bbe6dxrz] .desktop-menu[data-astro-cid-bbe6dxrz],
      .hero__header[data-astro-cid-bbe6dxrz] .desktop-actions[data-astro-cid-bbe6dxrz] { display: none !important; }
      .hero__header[data-astro-cid-bbe6dxrz] .mobile-menu-toggle[data-astro-cid-bbe6dxrz] { display: flex !important; }
      .hero__header[data-astro-cid-bbe6dxrz] .desktop-logo[data-astro-cid-bbe6dxrz] { display: none !important; }
      .hero__header[data-astro-cid-bbe6dxrz] .mobile-logo-header[data-astro-cid-bbe6dxrz] { display: flex !important; }
    }

    /* ── H1 hero: на ~33% меньше на всех экранах, без переносов внутри слов ──
       (перебивает h1{font-size:clamp(48px,8vw,120px)!important}); ДУБЛИРУЕТСЯ в inline CSS. */
    .hero__title[data-astro-cid-bbe6dxrz] { font-size: clamp(40px, 5.3vw, 80px) !important; line-height: 1.05 !important; letter-spacing: 1.5px !important; -webkit-hyphens: none; hyphens: none; word-break: normal; overflow-wrap: normal; }
    .hero__sub2[data-astro-cid-bbe6dxrz] { -webkit-hyphens: none; hyphens: none; }
    .hero__title-main[data-astro-cid-bbe6dxrz] { -webkit-hyphens: none; hyphens: none; word-break: normal; overflow-wrap: normal; }
    @media (max-width: 768px) {
      .hero__title[data-astro-cid-bbe6dxrz] { font-size: clamp(18px, 4.8vw, 38px) !important; letter-spacing: 1px !important; }
    }
    @media (max-width: 480px) {
      .hero__title[data-astro-cid-bbe6dxrz] { font-size: clamp(18px, 5.4vw, 23px) !important; letter-spacing: .5px !important; }
    }
    /* ── 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(14px,1.7vw,22px) !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
      }
      .hero__sub2[data-astro-cid-bbe6dxrz] {
        font-size: clamp(13px,1.4vw,16px) !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;
          }
        }

/* ===== Fixed header: белая плашка + крупнее на десктопе ===== */
#fixedHeaderMain .fixed-header-container[data-astro-cid-bbe6dxrz] {
  background: #fff;
  border: 1px solid rgba(var(--wm-ink-rgb),.10);
  box-shadow: 0 10px 30px rgba(var(--wm-ink-rgb),.18);
}
#fixedHeaderMain .menu[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz] {
  color: var(--wm-ink) !important;
  white-space: nowrap;
  hyphens: none;
}
#fixedHeaderMain .menu[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz]:hover {
  color: var(--wm-accent-on-white) !important;
}
#fixedHeaderMain .language-switcher[data-astro-cid-bbe6dxrz] {
  background: rgba(var(--wm-ink-rgb),.06) !important; /* перебивает banners.css (.language-switcher … !important) — как у .theme-switch */
  border-color: rgba(var(--wm-ink-rgb),.15);
}
#fixedHeaderMain .language-switcher .lang-btn[data-astro-cid-bbe6dxrz] {
  color: var(--wm-ink) !important;
}
#fixedHeaderMain .language-switcher .lang-btn[data-astro-cid-bbe6dxrz]:hover {
  color: var(--wm-ink) !important;
  background: rgba(var(--wm-ink-rgb),.08);
}
#fixedHeaderMain .language-switcher .lang-btn[data-astro-cid-bbe6dxrz].active {
  color: var(--wm-on-accent) !important;
  background: var(--wm-accent);
}
#fixedHeaderMain .cta-button[data-astro-cid-bbe6dxrz] {
  white-space: nowrap;
}
#fixedHeaderMain .mobile-menu-toggle[data-astro-cid-bbe6dxrz] {
  background: rgba(var(--wm-ink-rgb),.06);
  border-color: rgba(var(--wm-ink-rgb),.2);
}
#fixedHeaderMain .hamburger-line[data-astro-cid-bbe6dxrz] {
  background: var(--wm-ink);
}

@media (max-width: 1300px) {
  #fixedHeaderMain .fixed-header-container[data-astro-cid-bbe6dxrz] {
    height: 66px;
    padding: 12px 28px;
  }
}
@media (max-width: 768px) {
  #fixedHeaderMain .fixed-header-container[data-astro-cid-bbe6dxrz] {
    height: 64px;
    padding: 11px 12px;
  }
}
@media (min-width: 1301px) {
  #fixedHeaderMain .fixed-header-container[data-astro-cid-bbe6dxrz] {
    height: 88px;
    padding: 14px 28px;
  }
  #fixedHeaderMain .desktop-menu[data-astro-cid-bbe6dxrz] {
    gap: 22px;
  }
  #fixedHeaderMain .menu[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz] {
    font-size: 14px !important;
  }
  #fixedHeaderMain .lang-btn[data-astro-cid-bbe6dxrz] {
    font-size: 13px;
    padding: 7px 13px;
  }
  #fixedHeaderMain .cta-button[data-astro-cid-bbe6dxrz] {
    padding: 14px 28px !important;
    font-size: 15px !important;
  }
}
@media (min-width: 1600px) {
  #fixedHeaderMain .fixed-header-container[data-astro-cid-bbe6dxrz] {
    height: 92px;
    padding: 16px 44px;
  }
  #fixedHeaderMain .desktop-menu[data-astro-cid-bbe6dxrz] {
    gap: 32px;
  }
  #fixedHeaderMain .menu[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz] {
    font-size: 15px !important;
  }
}

/* === hero/cookie/sticky (audit) === */
/* Hero: CTA слева под текстом (F-паттерн) + Google-бейдж + теги доверия.
   Hero-правила ДУБЛИРУЮТСЯ в inline critical CSS index.html (менять синхронно);
   здесь — чтобы перебить index.*.css (justify-content:flex-end, margin-top:0). */
.hero__cta[data-astro-cid-bbe6dxrz] { margin-top: 36px; justify-content: flex-start; }
.hero__google[data-astro-cid-bbe6dxrz] {
  display: inline-flex; align-items: center; gap: 10px; margin-left: 8px; padding: 8px 2px;
  font-family: var(--font-body); font-size: 14px; font-weight: 500; line-height: 1.2;
  color: var(--wm-text-soft) !important; text-decoration: none !important; white-space: nowrap;
}
/* звёзды: hero-карточка тёмная во всех темах → золото #F5B301 читается везде */
.hero__google-stars { color: #F5B301; font-size: 16px; letter-spacing: 2px; line-height: 1; font-family: Arial, "Segoe UI Symbol", sans-serif; }
.hero__google-label[data-astro-cid-bbe6dxrz] { text-decoration: underline; text-decoration-color: rgba(var(--wm-fg-rgb), .35); text-underline-offset: 4px; }
.hero__google[data-astro-cid-bbe6dxrz]:hover .hero__google-label[data-astro-cid-bbe6dxrz] { color: var(--wm-text) !important; text-decoration-color: currentColor; }
.hero__google[data-astro-cid-bbe6dxrz]:focus-visible { outline: 2px solid var(--wm-accent); outline-offset: 2px; border-radius: 6px; }
.hero__center[data-astro-cid-bbe6dxrz] .hero__trust[data-astro-cid-bbe6dxrz] { flex-direction: row; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.hero__trust[data-astro-cid-bbe6dxrz] .tags-row[data-astro-cid-bbe6dxrz] { display: contents; }
@media (max-width: 768px) {
  .hero__cta[data-astro-cid-bbe6dxrz] { margin-top: 24px; }
  .hero__google[data-astro-cid-bbe6dxrz] { align-self: center; margin: 0; padding: 6px 2px; font-size: 13px; }
  .hero__center[data-astro-cid-bbe6dxrz] .hero__trust[data-astro-cid-bbe6dxrz] { margin-top: 16px; gap: 8px; width: 100%; }
}

/* Cookie-баннер: компактная полоса вместо большой карточки (логика/ID не менялись) */
.cookie-banner {
  top: auto !important;
  right: auto !important;
  bottom: 24px !important;
  left: 24px !important;
  width: auto !important;
  max-width: min(780px, calc(100% - 128px)) !important; /* справа место под WhatsApp */
  flex-direction: row !important;
  align-items: center !important;
  gap: 20px !important;
  padding: 14px 16px 14px 20px !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 32px rgba(0, 0, 0, .45) !important;
}
.cookie-banner__title { display: none !important; }
.cookie-banner__text { flex: 1 1 auto !important; font-size: 13px !important; line-height: 1.5 !important; color: var(--wm-text-soft) !important; }
.cookie-banner__actions { flex: 0 0 auto !important; flex-direction: row !important; gap: 8px !important; margin: 0 !important; }
.cookie-banner__btn { width: auto !important; padding: 10px 18px !important; white-space: nowrap !important; }
.cookie-banner__btn:focus-visible { outline: 2px solid var(--wm-accent) !important; outline-offset: 2px !important; }
html[data-theme="light"] .cookie-banner { box-shadow: 0 -1px 0 rgba(15, 26, 58, .04), 0 10px 32px rgba(15, 26, 58, .18) !important; }
@media (max-width: 768px) {
  .cookie-banner {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    border-radius: 16px 16px 0 0 !important;
    border-bottom: 0 !important;
    box-shadow: 0 -8px 28px rgba(0, 0, 0, .4) !important;
  }
  html[data-theme="light"] .cookie-banner { box-shadow: 0 -6px 24px rgba(15, 26, 58, .14) !important; }
  .cookie-banner__text { font-size: 12px !important; }
  .cookie-banner__btn { flex: 1 1 0 !important; padding: 11px 12px !important; }
  /* WhatsApp над cookie-полосой, пока она видна (высоту пишет JS в --wm-cookie-h) */
  body:has(.cookie-banner:not([hidden])) .whatsapp-float { bottom: calc(var(--wm-cookie-h, 120px) + 12px); }
}

/* Мобильная sticky-панель CTA (≤768px). Без анимаций — только display. */
@media (max-width: 768px) {
  .wm-sticky-cta {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000; /* над WhatsApp (999), под меню (1500) и cookie (9999) */
    gap: 10px;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
    background: var(--wm-bg);
    border-top: 1px solid var(--wm-border);
    box-shadow: 0 -6px 20px rgba(0, 0, 0, .28);
  }
  html[data-theme="light"] .wm-sticky-cta { background: var(--wm-surface); box-shadow: 0 -4px 16px rgba(15, 26, 58, .10); }
  .wm-sticky-cta.is-off,
  body.mobile-menu-active .wm-sticky-cta,
  .cookie-banner:not([hidden]) ~ .wm-sticky-cta { display: none; }
  .wm-sticky-cta__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 16px;
    border-radius: 999px;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.1;
    text-decoration: none !important; /* index.*.css: a{color:inherit!important} → цвета ниже с !important */
    min-width: 0;
    padding-top: 4px;
    padding-bottom: 4px;
    overflow: hidden;
    text-align: center;
  }
  /* длинный текст (RU, автоперевод браузера) → до 2 строк внутри кнопки, без вылезания */
  .wm-sticky-cta__btn > span {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .wm-sticky-cta__btn--call { flex: 0 1 auto; max-width: 42%; background: transparent; color: var(--wm-text) !important; border: 1.5px solid rgba(var(--wm-fg-rgb), .35); }
  .wm-sticky-cta__btn--call svg { flex-shrink: 0; color: var(--wm-accent-text); }
  .wm-sticky-cta__btn--quote { flex: 1 1 auto; min-width: 0; background: var(--wm-accent); color: var(--wm-on-accent) !important; border: 1.5px solid var(--wm-accent); }
  .wm-sticky-cta__btn:focus-visible { outline: 2px solid var(--wm-accent); outline-offset: 2px; }
  .wm-sticky-cta.is-menu { display: none; }
  /* место под панель: футер не перекрывается (body padding перебит index.*.css html,body{padding:0!important;height:100%!important} → спейсер) */
  body.main-page::after { content: ""; display: block; height: calc(68px + env(safe-area-inset-bottom, 0px)); }
  /* WhatsApp поднят над панелью */
  body.main-page .whatsapp-float { bottom: calc(80px + env(safe-area-inset-bottom, 0px)); right: 16px; }
}
@media (max-width: 380px) {
  .wm-sticky-cta { gap: 8px; padding-left: 12px; padding-right: 12px; }
  .wm-sticky-cta__btn { font-size: 14px; padding-left: 12px; padding-right: 12px; }
}

/* === contact/footer (audit) === */
/* Ошибка формы: глобальное p{color:...!important} из banners перебивало красный */
#formError .form-error-text {
  margin: 16px 0 0 !important;
  padding: 10px 14px;
  border-left: 3px solid currentColor;
  border-radius: 8px;
  background: rgba(255, 107, 107, .10);
  color: #FF8A80 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}
html[data-theme="light"] #formError .form-error-text {
  color: #B42318 !important;
  background: rgba(180, 35, 24, .07);
}
/* Футер: читабельный копирайт (глобальное p задавало 16px) и легальные ссылки */
.contact-footer .footer-copyright p[data-astro-cid-xmivup5a] {
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: var(--wm-text-muted) !important;
}
.contact-footer .legal-link[data-astro-cid-xmivup5a] { color: var(--wm-text-muted); font-size: 13px; }
.contact-footer .legal-link[data-astro-cid-xmivup5a]:hover,
.contact-footer .legal-link[data-astro-cid-xmivup5a]:focus-visible { color: var(--wm-accent-text); }
.contact-footer .social-link[data-astro-cid-xmivup5a] svg {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
}
/* Мобильный футер: всё выровнено по левому краю, иконки соцсетей в боксе 24px */
@media (max-width: 768px) {
  .contact-footer .footer-top[data-astro-cid-xmivup5a] { text-align: left; gap: 32px; }
  .contact-footer .footer-brand[data-astro-cid-xmivup5a] { align-items: flex-start; }
  .contact-footer .footer-right[data-astro-cid-xmivup5a] { gap: 32px; text-align: left; }
  .contact-footer .footer-nav[data-astro-cid-xmivup5a],
  .contact-footer .footer-social[data-astro-cid-xmivup5a],
  .contact-footer .nav-links[data-astro-cid-xmivup5a],
  .contact-footer .social-links[data-astro-cid-xmivup5a] {
    align-items: flex-start !important;
    text-align: left !important;
  }
  .contact-footer .nav-links[data-astro-cid-xmivup5a] { gap: 4px; }
  .contact-footer .social-links[data-astro-cid-xmivup5a] { gap: 4px; }
  .contact-footer .nav-links[data-astro-cid-xmivup5a] a[data-astro-cid-xmivup5a],
  .contact-footer .social-link[data-astro-cid-xmivup5a] {
    font-size: 14px;
    min-height: 40px;
    padding: 0;
    display: flex;
    align-items: center;
  }
  .contact-footer .nav-links[data-astro-cid-xmivup5a] a[data-astro-cid-xmivup5a]:hover,
  .contact-footer .social-link[data-astro-cid-xmivup5a]:hover { transform: none; }
  .contact-footer .footer-bottom[data-astro-cid-xmivup5a] {
    align-items: flex-start;
    text-align: left;
    gap: 16px;
  }
  .contact-footer .footer-legal[data-astro-cid-xmivup5a] {
    justify-content: flex-start;
    gap: 8px 20px;
  }
  .contact-footer .legal-link[data-astro-cid-xmivup5a] { font-size: 13px; line-height: 1.5; padding: 4px 0; }
  .contact-footer .footer-copyright p[data-astro-cid-xmivup5a] { font-size: 12px !important; }
  /* логотип 317×56 шире колонки на 390px — уменьшаем, чтобы не обрезался */
  .contact-footer .footer-brand .logo img { height: 44px !important; width: auto !important; max-width: 100%; }
  /* запас снизу, чтобы плавающая кнопка WhatsApp не перекрывала копирайт в конце страницы */
  .contact-footer .footer-bottom[data-astro-cid-xmivup5a] { padding-bottom: 64px; }
}

/* === middle sections (audit) === */
/* --- «Unsere Leistungen» mobile: аккордеон (≤768px). Без анимаций: display-toggle через [hidden] --- */
.mfc-heading { margin: 0; padding: 0; font: inherit; }
.mfc-toggle {
  display: flex; align-items: center; gap: 12px; width: 100%; min-height: 64px;
  margin: 0; padding: 14px 16px; border: 0; background: none; cursor: pointer;
  color: var(--wm-text); font: inherit; text-align: left; -webkit-tap-highlight-color: transparent;
}
.mfc-toggle:focus-visible { outline: 2px solid var(--wm-accent); outline-offset: -4px; border-radius: 16px; }
.mfc-num {
  flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-body); font-size: 14px; font-weight: 700; line-height: 1;
  border: 2px solid var(--wm-primary-bright); background: rgba(48, 81, 160, .18); color: var(--wm-text);
}
.mobile-feature-card.is-open .mfc-num { background: var(--wm-primary); border-color: var(--wm-primary); color: #fff; }
.mfc-title {
  flex: 1 1 auto; min-width: 0;
  font-family: var(--font-heading); font-size: 14px; font-weight: 700; line-height: 1.35;
  letter-spacing: .4px; text-transform: uppercase;
  overflow-wrap: break-word; -webkit-hyphens: manual; hyphens: manual; /* только &shy; из i18n — без «рваных» авто-переносов */
}
.mfc-chevron { flex: 0 0 20px; color: var(--wm-accent-text); }
.mobile-feature-card.is-open .mfc-chevron { transform: rotate(180deg); }
.mfc-panel[hidden] { display: none !important; }
.mobile-features-cards[data-astro-cid-vnivfuh2] { gap: 12px; }
.mobile-features-cards .mobile-feature-card[data-astro-cid-vnivfuh2],
.mobile-features-cards .mobile-feature-card[data-astro-cid-vnivfuh2] * { transition: none !important; }
/* hover на тач-устройствах «залипает» — без сдвигов/зума/поворотов */
.mobile-features-cards .mobile-feature-card[data-astro-cid-vnivfuh2]:hover {
  transform: none; box-shadow: none; border-color: rgba(var(--wm-fg-rgb), .1); background: rgba(var(--wm-fg-rgb), .05);
}
.mobile-features-cards .mobile-feature-card[data-astro-cid-vnivfuh2]:hover :is(img, .mobile-card-content p) { transform: none !important; }
html .mobile-features-cards .mobile-feature-card.is-open[data-astro-cid-vnivfuh2] { border-color: rgba(var(--wm-accent-rgb), .55) !important; }
.mobile-features-cards .mobile-card-image[data-astro-cid-vnivfuh2] { height: 180px; }
.mobile-features-cards .mobile-card-content[data-astro-cid-vnivfuh2] { padding: 18px 16px 20px; }
.mobile-features-cards .mobile-card-content[data-astro-cid-vnivfuh2] p[data-astro-cid-vnivfuh2] { font-size: 14px; line-height: 1.6; }

/* --- «Warum man uns vertraut»: текст карточек — обычный регистр; заголовки не обрезаются --- */
.services .service-card--mini[data-astro-cid-g5jplrhu] { min-height: 0; gap: 18px; }
.services .service-card--mini .card-header[data-astro-cid-g5jplrhu] { margin-bottom: 0; }
.services .service-card--mini .card-content[data-astro-cid-g5jplrhu] { padding: 0; gap: 10px; }
.services .service-card--mini .card-content h4[data-astro-cid-g5jplrhu] {
  overflow: visible; line-height: 1.3; word-break: normal;
  overflow-wrap: anywhere; -webkit-hyphens: manual; hyphens: manual; /* переносы — через &shy; в i18n */
}
.services .service-card--mini .card-title-text[data-astro-cid-g5jplrhu] { display: inline; }
.services .service-card--mini .card-content p.card-description[data-astro-cid-g5jplrhu] {
  text-transform: none; font-weight: 400; letter-spacing: normal;
  font-size: 15px; line-height: 1.55; color: var(--wm-text-muted) !important;
  overflow-wrap: break-word;
}
/* 1024–1279: две колонки карточек слишком узкие (~200px текста) — меньше зазор колонок и паддинг */
@media (min-width: 1024px) and (max-width: 1279px) {
  .services-content[data-astro-cid-g5jplrhu] { gap: 48px; }
  .services .services-cards[data-astro-cid-g5jplrhu] { gap: 16px; }
  .services .service-card--mini[data-astro-cid-g5jplrhu] { padding: 22px 20px; }
}
/* заголовки карточек/шагов/вопросов и крупные слоганы: перенос длинных слов вместо обрезки (320–1600px) */
.process__step-title,
.feature-item[data-astro-cid-vnivfuh2] h3,
.preview-title[data-astro-cid-vnivfuh2],
.faq-question[data-astro-cid-al2ca2vr] h3,
.about-title[data-astro-cid-v2cbyr3p],
.services-description[data-astro-cid-g5jplrhu] .description-text[data-astro-cid-g5jplrhu] {
  overflow-wrap: break-word; min-width: 0;
}
/* мобильные одноколоночные сетки: 1fr = minmax(auto,1fr) раздувал трек по самому длинному слову
   (FAQ на 320px уезжал вправо на ~100px) — ограничиваем шириной контейнера */
@media (max-width: 768px) {
  .container[data-astro-cid-al2ca2vr],
  .about-content[data-astro-cid-v2cbyr3p],
  .features-content[data-astro-cid-vnivfuh2],
  .services-content[data-astro-cid-g5jplrhu],
  .process .process__content { grid-template-columns: minmax(0, 1fr); }
  .faq-question[data-astro-cid-al2ca2vr] h3 { overflow-wrap: anywhere; }
}

/* --- Десктоп: левая колонка (лейбл + заголовок + CTA) — одним блоком и sticky под fixed-хедером --- */
@media (min-width: 1024px) {
  :root { --wm-mid-sticky-top: 112px; }  /* fixed-хедер ≤1300px: top 20 + 66 = 86px */
  /* overflow:hidden у предков ломает sticky; clip режет так же, но не создаёт scroll-контейнер */
  #about > .container, #features > .container, #services > .container, #faq { overflow: clip; }
  .about-text[data-astro-cid-v2cbyr3p],
  .features-text[data-astro-cid-vnivfuh2],
  .services-text[data-astro-cid-g5jplrhu],
  .faq-left[data-astro-cid-al2ca2vr],
  .process .process__left {
    position: sticky; top: var(--wm-mid-sticky-top); align-self: start;
    height: auto; min-height: 0; justify-content: flex-start;
  }
  .about-description[data-astro-cid-v2cbyr3p] { margin-top: 32px; }
  .features-list[data-astro-cid-vnivfuh2] { margin-top: 40px; }
  .services-description[data-astro-cid-g5jplrhu] { margin-top: 48px; }
  .faq-text[data-astro-cid-al2ca2vr] { margin-top: 48px; }
  .process .process__left-area { flex: none; padding-bottom: 12px; }
  /* слоган «Warum man uns vertraut»: 36px × lh 1.5 в верхнем регистре давал колонку выше карточек (1024: ~1000px) */
  #servicesSloganContainer p.description-text[data-astro-cid-g5jplrhu] {
    font-size: clamp(26px, 2.4vw, 36px) !important; line-height: 1.22 !important;
  }
  .process .process__left-area > div { position: static; }
}
@media (min-width: 1301px) {
  :root { --wm-mid-sticky-top: 140px; } /* fixed-хедер >1300px: top 20 + 88/92 = 108–112px */
}
/* низкие окна (ноутбуки 1366×768 и т.п.): высокие левые колонки (табы услуг, слоган, FAQ ~550–700px)
   не помещаются под хедером — там sticky отключаем, остаётся только группировка у верха */
@media (min-width: 1024px) and (max-height: 819px) {
  .features-text[data-astro-cid-vnivfuh2],
  .services-text[data-astro-cid-g5jplrhu],
  .faq-left[data-astro-cid-al2ca2vr] { position: static; }
}
/* лейбл «(03)» был в Unbounded 14px — как у остальных секций: Inter 16px */
.process .section-label { font-family: var(--font-body); font-size: 16px; }
@media (max-width: 768px) { .process .section-label { font-size: 14px; } }

/* === text wrapping (audit) === */
/* Длинные слова (DE-композиты, URL, названия) переносятся, а не вылезают за карточку на узких экранах */
h1, h2, h3, h4, h5, p, li, dd, dt { overflow-wrap: break-word; }

/* ===== Hero-фото: углы и мобильная обрезка =====
   - border-radius: inherit — скругление фото совпадает с карточкой (.hero-background 32px / 20px на мобиле),
     иначе в углах просвечивает фон.
   - ≤960px: вертикальное фото всегда на 100% ширины (надпись WERBEMEISTER.AT не режется по бокам);
     лишнее снизу обрезается, если hero длиннее фото — снизу заливка цветом воды.
   ДУБЛИРУЕТСЯ в inline critical CSS index.html. */
.hero-image[data-astro-cid-bbe6dxrz] {
  border-radius: inherit;
  background: var(--wm-hero-photo-fill);
}
@media (max-width: 960px) {
  .hero .hero-image[data-astro-cid-bbe6dxrz] picture { height: auto; }
  .hero .hero-image[data-astro-cid-bbe6dxrz] picture img[data-astro-cid-bbe6dxrz] {
    height: auto;
    object-fit: cover;
    object-position: 50% 0;
  }
}

/* ===== Unsere Leistungen: каталог 9 услуг (10/2026) =====
   Обложки — панорамы 33:8 из каталога; превью на десктопе без обрезки,
   на мобиле карточка 2:1 (по центру). Кнопка «Arbeiten ansehen» открывает галерею (.wm-lb). */
.features-preview[data-astro-cid-vnivfuh2] .preview-image[data-astro-cid-vnivfuh2] {
  height: auto;
  aspect-ratio: 33 / 8;
  cursor: zoom-in;
}
.features-preview[data-astro-cid-vnivfuh2] .preview-description[data-astro-cid-vnivfuh2] {
  min-height: 0;
}
.features-list[data-astro-cid-vnivfuh2] .feature-item[data-astro-cid-vnivfuh2] {
  padding-top: 16px;
  padding-bottom: 16px;
}
.mobile-features-cards .mobile-card-image[data-astro-cid-vnivfuh2] {
  height: auto;
  aspect-ratio: 2 / 1;
  cursor: zoom-in;
}
.svc-gallery-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  align-self: flex-start;
  padding: 14px 22px;
  border: 0;
  border-radius: 40px;
  background: var(--wm-accent);
  color: var(--wm-on-accent);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
}
.svc-gallery-btn:hover { background: var(--wm-accent-hover); }
.svc-gallery-btn:focus-visible { outline: 2px solid var(--wm-text); outline-offset: 3px; }
.svc-gallery-btn__count {
  min-width: 28px;
  padding: 3px 8px;
  border-radius: 20px;
  background: rgba(var(--wm-ink-rgb), .14);
  font-size: 12px;
  text-align: center;
}
.mobile-card-content .svc-gallery-btn { margin-top: 16px; }
/* длинные немецкие слова переносятся только по мягким переносам (&shy; в названиях), не посреди слова */
.mobile-features-cards .mfc-title,
.features-list .feature-details h3 {
  -webkit-hyphens: manual;
  hyphens: manual;
  word-break: normal;
  overflow-wrap: normal;
}

/* ===== Lightbox-галерея ===== */
.wm-lb {
  position: fixed;
  inset: 0;
  z-index: 10000; /* над cookie-баннером (9999) */
  display: flex;
  flex-direction: column;
  background: var(--wm-ink);
  color: var(--bg-white);
  font-family: var(--font-body);
  /* фон всегда тёмный: глобальное p { color: var(--wm-text-soft) !important } в светлой теме давало тёмный текст */
  --wm-text: rgb(var(--wm-white-rgb));
  --wm-text-soft: rgb(var(--wm-white-rgb));
  --wm-text-muted: rgba(var(--wm-white-rgb), .7);
}
.wm-lb[hidden] { display: none; }
.wm-lb__top {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 20px;
}
.wm-lb__title {
  flex: 1;
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(14px, 1.6vw, 18px);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wm-lb__count {
  margin: 0;
  font-size: 14px;
  opacity: .75;
  font-variant-numeric: tabular-nums;
}
.wm-lb__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(var(--wm-white-rgb), .2);
  border-radius: 50%;
  background: rgba(var(--wm-white-rgb), .08);
  color: var(--bg-white);
  cursor: pointer;
}
.wm-lb__btn:hover { background: rgba(var(--wm-white-rgb), .18); }
.wm-lb__btn:focus-visible { outline: 2px solid var(--wm-accent); outline-offset: 2px; }
.wm-lb__btn svg { width: 22px; height: 22px; }
.wm-lb__stage {
  position: relative;
  flex: 1;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 72px;
  touch-action: pan-y;
  user-select: none;
}
.wm-lb__media {
  margin: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wm-lb__media img,
.wm-lb__media video {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
  background: rgba(var(--wm-white-rgb), .04);
}
.wm-lb__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
}
.wm-lb__nav--prev { left: 12px; }
.wm-lb__nav--next { right: 12px; }
.wm-lb__thumbs {
  display: flex;
  gap: 8px;
  padding: 12px 20px 18px;
  overflow-x: auto;
  scrollbar-width: thin;
}
.wm-lb__thumb {
  position: relative;
  flex: 0 0 auto;
  width: 84px;
  height: 64px;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 8px;
  overflow: hidden;
  background: rgba(var(--wm-white-rgb), .06);
  cursor: pointer;
  opacity: .6;
}
.wm-lb__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wm-lb__thumb:hover { opacity: 1; }
.wm-lb__thumb[aria-current="true"] { opacity: 1; border-color: var(--wm-accent); }
.wm-lb__thumb:focus-visible { outline: 2px solid var(--wm-accent); outline-offset: 2px; }
.wm-lb__thumb--vid::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-40%, -50%);
  border-style: solid;
  border-width: 9px 0 9px 15px;
  border-color: transparent transparent transparent var(--bg-white);
  filter: drop-shadow(0 1px 3px rgba(var(--wm-ink-rgb), .6));
}
html.wm-lb-open { overflow: hidden; }

@media (max-width: 768px) {
  .wm-lb__top { padding: 10px 12px; gap: 10px; }
  .wm-lb__stage { padding: 0 8px; }
  .wm-lb__nav { width: 40px; height: 40px; background: rgba(var(--wm-ink-rgb), .55); }
  .wm-lb__nav--prev { left: 6px; }
  .wm-lb__nav--next { right: 6px; }
  .wm-lb__thumbs { padding: 10px 12px 14px; }
  .wm-lb__thumb { width: 64px; height: 50px; }
}

/* ===== Секции той же ширины, что hero (10/2026) =====
   Каждая секция — карточка: 12px от краёв экрана (8px на мобиле), скругление как у hero,
   внутренний отступ 28px (12px) → текст на одной линии с hero: 40px (20px).
   Hero, «Leistungen» и «Kontakt» уже карточки — у них свои правила. */
html .about[data-astro-cid-v2cbyr3p],
html .process,
html .services[data-astro-cid-g5jplrhu],
html .portfolio-section,
html .testimonials[data-astro-cid-aadlzisc],
html .faq[data-astro-cid-al2ca2vr],
html .legal-hero {
  margin-left: 12px;
  margin-right: 12px;
  padding-left: 28px;
  padding-right: 28px;
  border-radius: 32px;
}
@media (max-width: 768px) {
  html .about[data-astro-cid-v2cbyr3p],
  html .process,
  html .services[data-astro-cid-g5jplrhu],
  html .portfolio-section,
  html .testimonials[data-astro-cid-aadlzisc],
  html .faq[data-astro-cid-al2ca2vr],
  html .legal-hero {
    margin-left: 8px;
    margin-right: 8px;
    padding-left: 12px;
    padding-right: 12px;
    border-radius: 20px;
  }
}
/* в .logo две ссылки (десктоп/мобильный знак), видна одна; gap от пустой сдвигал лого с линии текста */
html .hero__header[data-astro-cid-bbe6dxrz] .logo[data-astro-cid-bbe6dxrz],
html .fixed-header[data-astro-cid-bbe6dxrz] .logo[data-astro-cid-bbe6dxrz] { gap: 0; }

/* ===== (06) «Galerie» — все фото работ (10/2026) =====
   Карточка секции как у остальных (12px от краёв, 8px на мобиле). Фоны после вставки:
   solutions (alt) → gallery (bg) → testimonials (alt) → faq (bg) → contact.
   Лента: нативный горизонтальный скролл со snap (свайп на тач), стрелки листают на ширину ленты. */
html .gallery-section {
  background: var(--wm-bg);
  margin-left: 12px;
  margin-right: 12px;
  padding: 120px 28px;
  border-radius: 32px;
  position: relative;
  overflow: hidden;
}
html .testimonials[data-astro-cid-aadlzisc] { background: var(--wm-bg-alt) !important; }
html .faq[data-astro-cid-al2ca2vr] { background: var(--wm-bg); }
.gallery-section .container { position: relative; z-index: 1; }
#galleryHeader { margin-bottom: 0; }
.gl-viewport { margin-top: 80px; padding-top: 10px; }
.gl-track {
  --gl-gap: 20px;
  --gl-per: 4;
  display: flex;
  gap: var(--gl-gap);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  outline: none;
}
.gl-track::-webkit-scrollbar { display: none; }
.gl-item {
  flex: 0 0 calc((100% - var(--gl-gap) * (var(--gl-per) - 1)) / var(--gl-per));
  aspect-ratio: 4 / 5;
  scroll-snap-align: start;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(var(--wm-fg-rgb), .14);
  background: rgba(var(--wm-fg-rgb), .05);
  cursor: zoom-in;
  transition: border-color .3s ease;
}
.gl-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.gl-item:hover { border-color: var(--wm-accent); }
.gl-item:hover img { transform: scale(1.05); }
.gl-item:focus-visible { outline: 2px solid var(--wm-accent); outline-offset: 2px; }
.gl-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 32px; }
.gl-count { font-family: var(--font-body); font-size: 14px; color: var(--wm-text-muted); font-variant-numeric: tabular-nums; }
.gl-all {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 24px; border-radius: 50px;
  border: 2px solid rgba(var(--wm-fg-rgb), .2); background: transparent; color: var(--wm-text);
  font-family: var(--font-body); font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px;
  cursor: pointer; transition: background .3s, border-color .3s, color .3s;
}
.gl-all:hover, .gl-all:focus-visible { background: var(--wm-accent); border-color: var(--wm-accent); color: var(--wm-on-accent); }
.gl-all__n { opacity: .7; font-variant-numeric: tabular-nums; }
html[data-theme="light"] .gl-item { border-color: var(--wm-border); background: var(--wm-bg-alt); box-shadow: var(--wm-shadow-card); }
html[data-theme="light"] .gl-item:hover { border-color: var(--wm-accent); }
html[data-theme="neon"] .gl-item:hover { box-shadow: inset 0 1px 0 rgba(69, 214, 196, .55), 0 0 0 1px rgba(69, 214, 196, .16); }
@media (max-width: 1200px) { .gl-track { --gl-per: 3; } }
@media (max-width: 992px) { .gl-track { --gl-per: 2; } }
@media (max-width: 768px) {
  html .gallery-section { margin-left: 8px; margin-right: 8px; padding: 80px 12px; border-radius: 20px; }
  .gl-viewport { margin-top: 40px; }
  .gl-track { --gl-gap: 12px; }
  .gl-item { border-radius: 20px; }
}
@media (max-width: 640px) {
  /* видно край следующего фото — понятно, что лента листается */
  .gl-track { --gl-per: 1.25; }
  .gl-foot { flex-direction: column; align-items: stretch; text-align: center; margin-top: 24px; }
  .gl-all { justify-content: center; }
}
@media (max-width: 480px) { html .gallery-section { padding: 60px 12px; } }
