/* Theme: proba-2-copy | Auto-generated: 2026-08-19 00:31:47 */

/* === 00-variables.css === */
/* ============================================================
00-variables.css
Сгенерировано автоматически из app/assets-src/tokens.json
классом AssetsBuilder. Не редактировать вручную —
изменения вносятся через редактор токенов модуля Assets.
============================================================ */
:root {
  color-scheme: light dark;
  --color-primary: #4d3843;
  --color-primary-hover: #1f5bd6;
  --color-accent: #e8590c;
  --color-accent-hover: #dc5d18;
  --color-success: #2f9e44;
  --color-warning: #f08c00;
  --color-danger: #e03131;
  --color-info: #1c7ed6;
  --color-text: #ff0059;
  --color-text-muted: #ff2e5f;
  --color-text-inverse: #ffffff;
  --color-bg: #ffffff;
  --color-bg-alt: #f7f8fa;
  --color-bg-dark: #111318;
  --color-border: rgba(28, 31, 38, 0.1);
  --color-border-strong: rgba(28, 31, 38, 0.2);
  --font-display: 'Unbounded', 'Segoe UI', system-ui, sans-serif;
  --font-body: 'Manrope', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
  --font-size-base: 16px;
  --font-size-sm: 14px;
  --font-size-xs: 12px;
  --font-size-lg: 18px;
  --font-size-xl: 22px;
  --font-size-caption: 13px;
  --font-line-height: 1.6;
  --font-line-height-tight: 1.5;
  --font-weight-regular: 400;
  --font-weight-medium: 600;
  --font-weight-bold: 800;
  --space-xs: 4px;
  --space-s: 8px;
  --space-m: 16px;
  --space-l: 32px;
  --space-xl: 64px;
  --space-xxl: 96px;
  --radius-s: 6px;
  --radius-m: 12px;
  --radius-l: 18px;
  --radius-pill: 999px;
  --radius-circle: 50%;
  --shadow-card: 0 2px 12px rgba(28, 31, 38, 0.08);
  --shadow-card-hover: 0 8px 28px rgba(28, 31, 38, 0.14);
  --shadow-modal: 0 18px 45px rgba(0, 0, 0, 0.18);
  --shadow-header: 0 1px 0 rgba(28, 31, 38, 0.06);
  --container-max-width: 1400px;
  --container-padding: 16px;
  --container-padding-desktop: 24px;
  --breakpoint-mobile: 480px;
  --breakpoint-tablet: 768px;
  --breakpoint-desktop: 1024px;
  --breakpoint-wide: 1440px;
  --transition-fast: 0.15s ease;
  --transition-base: 0.25s ease;
  --transition-slow: 0.4s ease;
  --z-index-dropdown: 100;
  --z-index-sticky: 200;
  --z-index-header: 300;
  --z-index-modal: 500;
  --z-index-toast: 600;
}

@media (prefers-color-scheme: dark) {
  :root {
    --color-text: #f3f4f6;
    --color-text-muted: #9ca3af;
    --color-bg: #111318;
    --color-bg-alt: #1a1d24;
    --color-border: rgba(255, 255, 255, 0.12);
    --color-border-strong: rgba(255, 255, 255, 0.22);
  }
}


/* === 01-base.css === */
/* ============================================================
   01-base.css
   Базовый слой публичного сайта: сброс, типографика,
   ссылки, медиа, формы, утилита .container.
   Подключается после 00-variables.css.
   ============================================================ */

/* --- Сброс и box-sizing --- */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    min-height: 100vh;
    background-color: var(--color-bg);
    color: var(--color-text);
    font-family: var(--font-body);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
    margin: 0;
}

ul,
ol {
    margin: 0;
    padding: 0;
}

ul[class],
ol[class] {
    list-style: none;
}

img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%;
    height: auto;
}

input,
button,
textarea,
select {
    font: inherit;
    color: inherit;
}

button {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}

a {
    color: var(--color-primary);
    text-decoration: none;
    transition: color var(--transition-fast);
}

a:hover,
a:focus-visible {
    color: var(--color-primary-hover);
}

/* Видимый фокус для клавиатурной навигации */
:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
    border-radius: var(--radius-s);
}

/* Уважение к reduced motion */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* --- Типографика --- */
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: var(--font-display);
font-weight: var(--font-weight-bold);
line-height: 1.2;
color: var(--color-text);
overflow-wrap: break-word;
}
h1 {
font-size: clamp(28px, 4vw, 40px);
margin-bottom: var(--space-m);
}
/* Заголовки h2–h6: ступенчатый размер и наружный верхний отступ */
h2 {
font-size: clamp(24px, 3vw, 32px);
margin-top: var(--space-l);
margin-bottom: var(--space-m);
}
h3 {
font-size: clamp(20px, 2.5vw, 24px);
margin-top: var(--space-l);
margin-bottom: var(--space-s);
}
h4 {
font-size: var(--font-size-xl);
margin-top: var(--space-m);
margin-bottom: var(--space-s);
}
h5 {
font-size: var(--font-size-lg);
margin-top: var(--space-m);
margin-bottom: var(--space-s);
}
h6 {
	font-size: var(--font-size-base);
	margin-top: var(--space-m);
	margin-bottom: var(--space-s);
}

/* Первому заголовку в контенте верхний отступ не нужен */
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
margin-top: 0;
}

p {
    margin-bottom: var(--space-m);
    overflow-wrap: break-word;
}

p:last-child {
    margin-bottom: 0;
}

small {
    font-size: var(--font-size-sm);
}

code,
kbd,
samp,
pre {
    font-family: var(--font-mono);
    font-size: 0.9em;
}

code {
    padding: 2px 6px;
    border-radius: var(--radius-s);
    background-color: var(--color-bg-alt);
    border: 1px solid var(--color-border);
}

pre {
    padding: var(--space-m);
    border-radius: var(--radius-m);
    background-color: var(--color-bg-alt);
    border: 1px solid var(--color-border);
    overflow-x: auto;
}

pre code {
    padding: 0;
    border: none;
    background: none;
}

blockquote {
    padding: var(--space-s) var(--space-m);
    border-left: 3px solid var(--color-primary);
    background-color: var(--color-bg-alt);
    border-radius: 0 var(--radius-s) var(--radius-s) 0;
    margin-bottom: var(--space-m);
}

hr {
    border: none;
    border-top: 1px solid var(--color-border);
    margin: var(--space-l) 0;
}

/* --- Таблицы --- */
table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: var(--space-m);
}

th,
td {
    padding: var(--space-s) var(--space-m);
    text-align: left;
    border-bottom: 1px solid var(--color-border);
}

th {
    font-weight: var(--font-weight-medium);
    background-color: var(--color-bg-alt);
}

/* --- Формы --- */
label {
    display: inline-block;
    margin-bottom: var(--space-xs);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-sm);
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
textarea,
select {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-s);
    background-color: var(--color-bg);
    color: var(--color-text);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

input::placeholder,
textarea::placeholder {
    color: var(--color-text-muted);
    opacity: 1;
}

input:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 18%, transparent);
}

textarea {
    min-height: 120px;
    resize: vertical;
}

/* --- Кнопки (базовые) --- */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-s);
    min-height: 44px;
    padding: 10px 20px;
    border-radius: var(--radius-s);
    border: 1px solid transparent;
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-base);
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    user-select: none;
    transition: background-color var(--transition-fast),
                border-color var(--transition-fast),
                color var(--transition-fast),
                box-shadow var(--transition-fast);
}

.btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.btn--primary {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-text-inverse);
}

.btn--primary:hover:not(:disabled),
.btn--primary:focus-visible {
    background-color: var(--color-primary-hover);
    border-color: var(--color-primary-hover);
    color: var(--color-text-inverse);
}

.btn--secondary {
    background-color: transparent;
    border-color: var(--color-border-strong);
    color: var(--color-text);
}

.btn--secondary:hover:not(:disabled),
.btn--secondary:focus-visible {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.btn--danger {
    background-color: var(--color-danger);
    border-color: var(--color-danger);
    color: var(--color-text-inverse);
}

.btn--danger:hover:not(:disabled),
.btn--danger:focus-visible {
    opacity: 0.92;
    color: var(--color-text-inverse);
}

/* --- Утилита контейнера --- */
.container {
width: 100%;
max-width: var(--container-max-width);
margin-left: auto;
margin-right: auto;
padding-left: var(--container-padding);
padding-right: var(--container-padding);
}

@media (min-width: 768px) {
    .container {
        padding-left: var(--container-padding-desktop);
        padding-right: var(--container-padding-desktop);
    }
}

/* --- Служебные утилиты --- */
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.text-muted {
    color: var(--color-text-muted);
}

/* === 02-layout.css === */
/* ============================================================
   02-layout.css
   Структурный слой публичного сайта: шапка, подвал,
   навигация, мобильное меню, hero, каркас страницы.
   Подключается после 01-base.css.

   Примечание: CSS-переменные из 00-variables.css нельзя
   использовать внутри @media (min-width: var(...)) — это
   ограничение спецификации. Поэтому брейкпоинты пишутся
   явно (768px / 1024px), значения синхронизированы с
   tokens.json (breakpoint.tablet / breakpoint.desktop).
   ============================================================ */

/* --- Основной каркас страницы --- */
.site-main {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}

/* Позволяет прижимать футер к низу при коротком контенте */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* ============================================================
   ШАПКА (site-header)
   ============================================================ */
.site-header {
  position: sticky;
  top: 0;
  z-index: var(--z-header);
  background-color: var(--color-bg);
  border-bottom: 1px solid var(--color-border);
  box-shadow: var(--shadow-header);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-m);
  min-height: 64px;
  padding-top: var(--space-s);
  padding-bottom: var(--space-s);
}

.site-header__logo {
  display: inline-flex;
  align-items: center;
  gap: var(--space-s);
  color: var(--color-text);
  font-family: var(--font-display);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
  flex-shrink: 0;
}

.site-header__logo:hover,
.site-header__logo:focus-visible {
  color: var(--color-primary);
}

.site-header__logo-text {
  font-size: var(--font-size-lg);
  letter-spacing: -0.02em;
  line-height: 1.2;
}

/* ============================================================
   НАВИГАЦИЯ (site-nav)
   ============================================================ */
.site-nav {
  display: none;
}

.site-nav__list {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-nav__item {
  list-style: none;
}

.site-nav__link {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: var(--space-xs) var(--space-m);
  border-radius: var(--radius-s);
  color: var(--color-text);
  font-weight: var(--font-weight-medium);
  font-size: var(--font-size-base);
  text-decoration: none;
  transition: background-color var(--transition-fast),
              color var(--transition-fast);
}

.site-nav__link:hover,
.site-nav__link:focus-visible {
  background-color: var(--color-bg-alt);
  color: var(--color-primary);
}

.site-nav__link.is-active,
.site-nav__item--active .site-nav__link {
  color: var(--color-primary);
  background-color: color-mix(in srgb, var(--color-primary) 10%, transparent);
}

/* ============================================================
   БУРГЕР (мобильное меню)
   ============================================================ */
.site-header__burger {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-s);
  border: 1px solid var(--color-border);
  background-color: var(--color-bg);
  cursor: pointer;
  transition: border-color var(--transition-fast),
              background-color var(--transition-fast);
}

.site-header__burger:hover,
.site-header__burger:focus-visible {
  border-color: var(--color-primary);
  background-color: var(--color-bg-alt);
}

.site-header__burger-line {
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 2px;
  background-color: var(--color-text);
  transition: transform var(--transition-base),
              opacity var(--transition-base);
}

/* Состояние открытого меню (управляется JS через aria-expanded) */
.site-header__burger[aria-expanded="true"] .site-header__burger-line:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.site-header__burger[aria-expanded="true"] .site-header__burger-line:nth-child(2) {
  opacity: 0;
}

.site-header__burger[aria-expanded="true"] .site-header__burger-line:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* ============================================================
   МОБИЛЬНОЕ МЕНЮ (раскрывающаяся панель)
   На мобильных .site-nav становится выпадающим блоком.
   ============================================================ */
@media (max-width: 767px) {
  .site-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: block;
    max-height: 0;
    overflow: hidden;
    background-color: var(--color-bg);
    border-bottom: 1px solid var(--color-border);
    box-shadow: var(--shadow-card);
    transition: max-height var(--transition-base);
  }

  /* Открытое состояние: JS добавляет класс или меняет aria-expanded */
  .site-nav.is-open,
  .site-header__burger[aria-expanded="true"] ~ .site-nav {
    max-height: 70vh;
    overflow-y: auto;
  }

  .site-nav__list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: var(--space-s) var(--container-padding);
  }

  .site-nav__link {
    width: 100%;
    min-height: 48px;
    justify-content: flex-start;
    border-radius: var(--radius-s);
  }
}

/* Планшет и десктоп: навигация в строку, бургер скрыт */
@media (min-width: 768px) {
  .site-nav {
    display: block;
  }

  .site-header__burger {
    display: none;
  }
}

/* ============================================================
   HERO (главная страница)
   ============================================================ */
.hero {
  background-color: var(--color-bg-alt);
  border-bottom: 1px solid var(--color-border);
  padding-top: var(--space-xl);
  padding-bottom: var(--space-xl);
}

.hero__inner {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.hero__title {
  margin-bottom: var(--space-m);
  font-size: clamp(30px, 5vw, 48px);
}

.hero__lead {
  margin: 0 auto;
  max-width: 640px;
  color: var(--color-text-muted);
  font-size: var(--font-size-lg);
  line-height: var(--line-height);
}

@media (min-width: 768px) {
  .hero {
    padding-top: var(--space-xxl);
    padding-bottom: var(--space-xxl);
  }
}

/* ============================================================
   КАРКАС СТРАНИЦЫ (page)
   ============================================================ */
.page {
  padding-top: var(--space-l);
  padding-bottom: var(--space-xl);
}

.page__header {
margin-bottom: var(--space-l);
}

.page__title {
  margin-bottom: var(--space-s);
}

.page__lead {
color: var(--color-info);
font-size: var(--font-size-lg);
margin: 0;
}

.page__content {
font-size: var(--font-size-base);
}

/* Контент из WYSIWYG-редактора: нормализация вложенных элементов */
.page__content > * + * {
  margin-top: var(--space-m);
}

.page__content img {
border-radius: var(--radius-m);
}
/* Маркированные списки из WYSIWYG: квадраты в стиле сайта */
.page__content ul:not([class]) {
list-style-type: square;
padding-left: var(--space-m);
}
.page__content ul:not([class]) li::marker {
color: var(--color-primary);
}
.page__content a {
text-decoration: underline;
text-underline-offset: 3px;
}

.page__content a:hover,
.page__content a:focus-visible {
  text-decoration: none;
}

.page__footer {
margin-top: var(--space-xl);
padding-top: var(--space-m);
  border-top: 1px solid var(--color-border);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-m);
}

.page__date {
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

.page__updated {
  margin-top: var(--space-l);
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

/* ============================================================
   БЛОКИ СТРАНИЦЫ (page blocks)
============================================================ */
.page__blocks {
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
}

.page-block {
  width: 100%;
}

.page-block__content {
  width: 100%;
}

.page-block--full {
  max-width: none;
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.page-block--full .page-block__content {
  max-width: none;
}

.page__content--full {
  max-width: none;
}

/* Full-bleed для контента товара: выход за центрированный контейнер */
.pv-content--full {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.page-block--limited .page-block__inner {
max-width: var(--container-max-width);
width: 100%;
margin-left: auto;
margin-right: auto;
}
.page__content--limited {
max-width: var(--container-max-width);
}

@media (max-width: 767px) {
  .page-block--full .page-block__content {
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
  }
}

/* ============================================================
   ПОДВАЛ (site-footer)
============================================================ */
.site-footer {
  flex-shrink: 0;
  margin-top: auto;
  background-color: var(--color-bg-dark);
  color: var(--color-text-inverse);
  padding-top: var(--space-xl);
  padding-bottom: var(--space-m);
}

/* Переопределение цветов текста внутри тёмного подвала */
.site-footer {
  --footer-text: #f3f4f6;
  --footer-muted: #9ca3af;
  --footer-border: rgba(255, 255, 255, 0.12);
  --footer-link-hover: #6d9bff;
}

.site-footer__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
}

.site-footer__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-l);
}

@media (min-width: 768px) {
  .site-footer__grid {
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: var(--space-xl);
  }
}

.site-footer__logo {
  display: inline-flex;
  align-items: center;
  color: var(--footer-text);
  font-family: var(--font-display);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
  margin-bottom: var(--space-s);
}

.site-footer__logo:hover,
.site-footer__logo:focus-visible {
  color: var(--footer-link-hover);
}

.site-footer__logo-text {
  font-size: var(--font-size-lg);
  letter-spacing: -0.02em;
}

.site-footer__tagline {
  color: var(--footer-muted);
  font-size: var(--font-size-sm);
  margin: 0;
  max-width: 320px;
}

.site-footer__heading {
  color: var(--footer-text);
  font-family: var(--font-body);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--space-m);
}

.site-footer__nav-list,
.site-footer__contacts-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}

.site-footer__nav-link,
.site-footer__contact-link {
  color: var(--footer-muted);
  text-decoration: none;
  font-size: var(--font-size-sm);
  transition: color var(--transition-fast);
}

.site-footer__nav-link:hover,
.site-footer__nav-link:focus-visible,
.site-footer__contact-link:hover,
.site-footer__contact-link:focus-visible {
  color: var(--footer-link-hover);
}

.site-footer__contact-item {
  color: var(--footer-muted);
  font-size: var(--font-size-sm);
}

.site-footer__contact-item--address {
  line-height: var(--line-height);
}

.site-footer__contact-item--empty {
  font-style: italic;
  opacity: 0.8;
}

.site-footer__bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-s);
  padding-top: var(--space-m);
  border-top: 1px solid var(--footer-border);
}

@media (min-width: 768px) {
  .site-footer__bottom {
    flex-direction: row;
  }
}

.site-footer__copyright {
  margin: 0;
  color: var(--footer-muted);
  font-size: var(--font-size-sm);
  text-align: center;
}

.site-footer__to-top {
  color: var(--footer-muted);
  font-size: var(--font-size-sm);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.site-footer__to-top:hover,
.site-footer__to-top:focus-visible {
  color: var(--footer-link-hover);
}

/* ============================================================
   СЛУЖЕБНОЕ: якорь прокрутки
   ============================================================ */
#main-content {
  scroll-margin-top: 80px;
}

/* === 03-components.css === */
/* ============================================================
   03-components.css
   Компонентный слой публичного сайта: карточки, бейджи,
   хлебные крошки, пагинация, алерты, теги.
   Подключается после 02-layout.css.
   Все стили построены на переменных из 00-variables.css.
   ============================================================ */

/* ============================================================
   КАРТОЧКА (card)
   Универсальный контейнер для товаров, новостей, постов.
   ============================================================ */
.card {
  display: flex;
  flex-direction: column;
  background-color: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-m);
  box-shadow: var(--shadow-card);
  overflow: hidden;
  transition: box-shadow var(--transition-base),
              transform var(--transition-base),
              border-color var(--transition-base);
}

.card:hover {
  box-shadow: var(--shadow-card-hover);
  transform: translateY(-2px);
  border-color: var(--color-border-strong);
}

.card__media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background-color: var(--color-bg-alt);
}

.card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

.card:hover .card__media img {
  transform: scale(1.03);
}

.card__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  padding: var(--space-m);
  flex: 1 1 auto;
}

.card__title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  line-height: 1.3;
}

.card__title a {
  color: inherit;
  text-decoration: none;
}

.card__title a:hover,
.card__title a:focus-visible {
  color: var(--color-primary);
}

.card__text {
  margin: 0;
  color: var(--color-info);
  font-size: var(--font-size-sm);
  line-height: var(--line-height);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-s);
  margin-top: auto;
  padding-top: var(--space-s);
  border-top: 1px solid var(--color-border);
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
}

.card__price {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-text);
}

.card__price--old {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-regular);
  color: var(--color-text-muted);
  text-decoration: line-through;
  margin-left: var(--space-s);
}

/* Сетка карточек */
.card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-m);
}

@media (min-width: 480px) {
  .card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 768px) {
  .card-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-l);
  }
}

@media (min-width: 1024px) {
  .card-grid--4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* ============================================================
   БЕЙДЖ (badge)
   Статусы, метки, счётчики.
   ============================================================ */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: var(--radius-pill);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  line-height: 1.4;
  white-space: nowrap;
  background-color: var(--color-bg-alt);
  color: var(--color-text);
  border: 1px solid var(--color-border);
}

.badge--primary {
  background-color: color-mix(in srgb, var(--color-primary) 12%, transparent);
  color: var(--color-primary);
  border-color: color-mix(in srgb, var(--color-primary) 30%, transparent);
}

.badge--success {
  background-color: color-mix(in srgb, var(--color-success) 12%, transparent);
  color: var(--color-success);
  border-color: color-mix(in srgb, var(--color-success) 30%, transparent);
}

.badge--warning {
  background-color: color-mix(in srgb, var(--color-warning) 14%, transparent);
  color: var(--color-warning);
  border-color: color-mix(in srgb, var(--color-warning) 32%, transparent);
}

.badge--danger {
  background-color: color-mix(in srgb, var(--color-danger) 12%, transparent);
  color: var(--color-danger);
  border-color: color-mix(in srgb, var(--color-danger) 30%, transparent);
}

.badge--accent {
  background-color: var(--color-accent);
  color: var(--color-text-inverse);
  border-color: var(--color-accent);
}

/* ============================================================
ХЛЕБНЫЕ КРОШКИ (breadcrumbs)
Кнопочный стиль: каждый элемент — компактная пилюля.
============================================================ */
.breadcrumbs {
padding: var(--space-m) 0;
}
.breadcrumbs__list {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--space-xs);
list-style: none;
margin: 0;
padding: 0;
font-size: var(--font-size-xs);
}
.breadcrumbs__item {
display: inline-flex;
align-items: center;
}
.breadcrumbs__item:not(:last-child)::after {
content: '›';
color: var(--color-text-muted);
opacity: 0.5;
margin-left: var(--space-xs);
}
.breadcrumbs__link {
display: inline-flex;
align-items: center;
padding: var(--space-xs) var(--space-s);
background-color: var(--color-bg-alt);
border: 1px solid var(--color-border);
border-radius: var(--radius-pill);
color: var(--color-text-muted);
font-size: var(--font-size-xs);
font-weight: var(--font-weight-medium);
text-decoration: none;
line-height: 1.4;
transition: border-color var(--transition-fast),
color var(--transition-fast),
background-color var(--transition-fast),
box-shadow var(--transition-fast);
}
.breadcrumbs__link:hover,
.breadcrumbs__link:focus-visible {
border-color: var(--color-primary);
color: var(--color-primary);
background-color: color-mix(in srgb, var(--color-primary) 8%, transparent);
}
.breadcrumbs__item[aria-current="page"] {
display: inline-flex;
align-items: center;
padding: var(--space-xs) var(--space-s);
background-color: color-mix(in srgb, var(--color-primary) 12%, transparent);
border: 1px solid color-mix(in srgb, var(--color-primary) 30%, transparent);
border-radius: var(--radius-pill);
color: var(--color-primary);
font-size: var(--font-size-xs);
font-weight: var(--font-weight-medium);
line-height: 1.4;
}

/* ============================================================
   ПАГИНАЦИЯ (pagination)
   ============================================================ */
.pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  margin: var(--space-xl) 0;
}

.pagination__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  padding: 0 var(--space-s);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-s);
  color: var(--color-text);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  text-decoration: none;
  transition: border-color var(--transition-fast),
              background-color var(--transition-fast),
              color var(--transition-fast);
}

.pagination__item:hover,
.pagination__item:focus-visible {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background-color: color-mix(in srgb, var(--color-primary) 8%, transparent);
}

.pagination__item.is-active {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-text-inverse);
}

.pagination__item.is-disabled {
  opacity: 0.45;
  pointer-events: none;
}

.pagination__ellipsis {
  min-width: 40px;
  text-align: center;
  color: var(--color-text-muted);
}

/* ============================================================
   АЛЕРТЫ (alert)
   Информационные сообщения.
   ============================================================ */
.alert {
  display: flex;
  gap: var(--space-s);
  padding: var(--space-m);
  border: 1px solid var(--color-border);
  border-left-width: 4px;
  border-radius: var(--radius-s);
  background-color: var(--color-bg-alt);
  color: var(--color-text);
  font-size: var(--font-size-sm);
  line-height: var(--line-height);
  margin-bottom: var(--space-m);
}

.alert__title {
  margin: 0 0 var(--space-xs);
  font-weight: var(--font-weight-bold);
}

.alert__text {
  margin: 0;
}

.alert--info {
  border-left-color: var(--color-info);
  background-color: color-mix(in srgb, var(--color-info) 8%, var(--color-bg));
}

.alert--success {
  border-left-color: var(--color-success);
  background-color: color-mix(in srgb, var(--color-success) 8%, var(--color-bg));
}

.alert--warning {
  border-left-color: var(--color-warning);
  background-color: color-mix(in srgb, var(--color-warning) 10%, var(--color-bg));
}

.alert--danger {
  border-left-color: var(--color-danger);
  background-color: color-mix(in srgb, var(--color-danger) 8%, var(--color-bg));
}

/* ============================================================
   ТЕГИ (tag)
   Кликабельные метки категорий, рубрик.
   ============================================================ */
.tag {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: var(--radius-pill);
  background-color: var(--color-bg-alt);
  border: 1px solid var(--color-border);
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  text-decoration: none;
  transition: border-color var(--transition-fast),
              color var(--transition-fast),
              background-color var(--transition-fast);
}

.tag:hover,
.tag:focus-visible {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background-color: color-mix(in srgb, var(--color-primary) 8%, transparent);
}

.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  list-style: none;
  margin: 0;
  padding: 0;
}

/* ============================================================
   ЗАГОЛОВОК СЕКЦИИ (section-head)
   ============================================================ */
.section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-s);
  margin-bottom: var(--space-l);
}

.section-head__title {
  margin: 0;
  font-size: clamp(22px, 3vw, 30px);
}

.section-head__link {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  white-space: nowrap;
}

/* ============================================================
   ПУСТОЕ СОСТОЯНИЕ (empty-state)
   ============================================================ */
.empty-state {
  padding: var(--space-xl) var(--space-m);
  text-align: center;
  color: var(--color-text-muted);
  border: 1px dashed var(--color-border-strong);
  border-radius: var(--radius-m);
  background-color: var(--color-bg-alt);
}

.empty-state__title {
  margin-bottom: var(--space-s);
  color: var(--color-text);
}

.empty-state__text {
  margin: 0 auto;
  max-width: 480px;
  font-size: var(--font-size-sm);
}

/* ============================================================
   СПИННЕР ЗАГРУЗКИ (spinner)
   ============================================================ */
.spinner {
  display: inline-block;
  width: 24px;
  height: 24px;
  border: 3px solid var(--color-border);
  border-top-color: var(--color-primary);
  border-radius: var(--radius-circle);
  animation: spinner-rotate 0.7s linear infinite;
}

@keyframes spinner-rotate {
to {
transform: rotate(360deg);
}
}
@media (prefers-reduced-motion: reduce) {
.spinner {
animation-duration: 1.5s;
}
}

/* ============================================================
КОЛИЧЕСТВО (qty)
Общий компонент выбора количества товара. Используется
в корзине и в карточке товара. SVG-кнопки «−» / «+»,
поле ввода без нативных стрелок.
============================================================ */
.qty {
display: inline-flex;
align-items: center;
border: 1px solid var(--color-border);
border-radius: var(--radius-m);
overflow: hidden;
background: var(--color-bg);
}
.qty__btn {
width: 40px;
height: 40px;
border: none;
background: transparent;
color: var(--color-text);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: background var(--transition-fast), color var(--transition-fast);
}
.qty__btn:hover:not(:disabled) {
background: color-mix(in srgb, var(--color-primary) 8%, transparent);
color: var(--color-primary);
}
.qty__btn:active:not(:disabled) {
background: color-mix(in srgb, var(--color-primary) 14%, transparent);
}
.qty__btn:disabled {
opacity: .35;
cursor: not-allowed;
color: var(--color-text-muted);
}
.qty__val {
width: 48px;
height: 40px;
text-align: center;
border: none;
border-left: 1px solid var(--color-border);
border-right: 1px solid var(--color-border);
font-size: var(--font-size-sm);
font-weight: var(--font-weight-medium);
color: var(--color-text);
background: var(--color-bg);
padding: 0;
border-radius: 0;
-moz-appearance: textfield;
appearance: textfield;
}
.qty__val::-webkit-outer-spin-button,
.qty__val::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
.qty__val:focus {
outline: none;
background: color-mix(in srgb, var(--color-primary) 4%, var(--color-bg));
box-shadow: inset 0 0 0 1px var(--color-primary);
}
/* ============================================================
МОДАЛЬНЫЕ ОКНА (modal)
Универсальный компонент. Триггер data-modal-open="name",
разметка: div.modal[data-modal="name"] > .modal__dialog.
Размеры диалога: sm / md / lg / xl / full.
Подложка — эффект мутного стекла (backdrop-filter: blur).
============================================================ */
.modal{position:fixed;inset:0;z-index:var(--z-index-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-m);background:color-mix(in srgb,var(--color-bg-dark) 55%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base)}
.modal[hidden]{display:none}
.modal.is-open{opacity:1;visibility:visible}
.modal__dialog{width:100%;max-width:480px;max-height:calc(100vh - 64px);display:flex;flex-direction:column;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-m);box-shadow:var(--shadow-modal);transform:translateY(12px);transition:transform var(--transition-base);overflow:hidden}
.modal.is-open .modal__dialog{transform:translateY(0)}
.modal__dialog--sm{max-width:360px}
.modal__dialog--md{max-width:480px}
.modal__dialog--lg{max-width:720px}
.modal__dialog--xl{max-width:960px}
.modal__dialog--full{max-width:calc(100vw - 64px);max-height:calc(100vh - 64px)}
.modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-s);padding:var(--space-m);border-bottom:1px solid var(--color-border);flex-shrink:0}
.modal__title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1.3}
.modal__close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--color-text-muted);font-size:22px;line-height:1;cursor:pointer;border-radius:var(--radius-s);transition:background var(--transition-fast),color var(--transition-fast);flex-shrink:0}
.modal__close:hover{background:color-mix(in srgb,var(--color-danger) 10%,transparent);color:var(--color-danger)}
.modal__close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.modal__close-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.modal__body{padding:var(--space-m);overflow-y:auto;flex:1 1 auto}
body.modal-open{overflow:hidden}
@media(max-width:480px){.modal{padding:var(--space-s)}.modal__dialog{max-height:calc(100vh - 32px)}}
@media(prefers-reduced-motion:reduce){.modal,.modal__dialog{transition:none}}
.modal .public-form-block{border:none;box-shadow:none;margin-top:0}

/* === 04-utilities.css === */
/* ============================================================
   04-utilities.css
   Служебный слой публичного сайта: отступы, flex/grid,
   выравнивание, размеры, видимость по брейкпоинтам, цвета.
   Подключается последним в бандл site.css.
   Все значения построены на переменных из 00-variables.css.

   Примечание: брейкпоинты пишутся явно (480/768/1024px),
   так как CSS-переменные недоступны внутри @media-условий.
   ============================================================ */

/* ============================================================
   DISPLAY (отображение элемента)
   ============================================================ */
.d-none          { display: none !important; }
.d-block         { display: block !important; }
.d-inline        { display: inline !important; }
.d-inline-block  { display: inline-block !important; }
.d-flex          { display: flex !important; }
.d-inline-flex   { display: inline-flex !important; }
.d-grid          { display: grid !important; }

/* ============================================================
   ОТСТУПЫ ВНЕШНИЕ (margin)
   Значения: xs=4px s=8px m=16px l=32px xl=64px xxl=96px
   ============================================================ */
.m-0   { margin: 0 !important; }
.m-xs  { margin: var(--space-xs) !important; }
.m-s   { margin: var(--space-s) !important; }
.m-m   { margin: var(--space-m) !important; }
.m-l   { margin: var(--space-l) !important; }
.m-xl  { margin: var(--space-xl) !important; }
.m-auto { margin: auto !important; }

.mt-0   { margin-top: 0 !important; }
.mt-xs  { margin-top: var(--space-xs) !important; }
.mt-s   { margin-top: var(--space-s) !important; }
.mt-m   { margin-top: var(--space-m) !important; }
.mt-l   { margin-top: var(--space-l) !important; }
.mt-xl  { margin-top: var(--space-xl) !important; }
.mt-xxl { margin-top: var(--space-xxl) !important; }
.mt-auto { margin-top: auto !important; }

.mb-0   { margin-bottom: 0 !important; }
.mb-xs  { margin-bottom: var(--space-xs) !important; }
.mb-s   { margin-bottom: var(--space-s) !important; }
.mb-m   { margin-bottom: var(--space-m) !important; }
.mb-l   { margin-bottom: var(--space-l) !important; }
.mb-xl  { margin-bottom: var(--space-xl) !important; }
.mb-xxl { margin-bottom: var(--space-xxl) !important; }
.mb-auto { margin-bottom: auto !important; }

.ms-0   { margin-left: 0 !important; }
.ms-xs  { margin-left: var(--space-xs) !important; }
.ms-s   { margin-left: var(--space-s) !important; }
.ms-m   { margin-left: var(--space-m) !important; }
.ms-l   { margin-left: var(--space-l) !important; }
.ms-auto { margin-left: auto !important; }

.me-0   { margin-right: 0 !important; }
.me-xs  { margin-right: var(--space-xs) !important; }
.me-s   { margin-right: var(--space-s) !important; }
.me-m   { margin-right: var(--space-m) !important; }
.me-l   { margin-right: var(--space-l) !important; }
.me-auto { margin-right: auto !important; }

.my-0   { margin-top: 0 !important; margin-bottom: 0 !important; }
.my-xs  { margin-top: var(--space-xs) !important; margin-bottom: var(--space-xs) !important; }
.my-s   { margin-top: var(--space-s) !important; margin-bottom: var(--space-s) !important; }
.my-m   { margin-top: var(--space-m) !important; margin-bottom: var(--space-m) !important; }
.my-l   { margin-top: var(--space-l) !important; margin-bottom: var(--space-l) !important; }
.my-xl  { margin-top: var(--space-xl) !important; margin-bottom: var(--space-xl) !important; }

.mx-0   { margin-left: 0 !important; margin-right: 0 !important; }
.mx-xs  { margin-left: var(--space-xs) !important; margin-right: var(--space-xs) !important; }
.mx-s   { margin-left: var(--space-s) !important; margin-right: var(--space-s) !important; }
.mx-m   { margin-left: var(--space-m) !important; margin-right: var(--space-m) !important; }
.mx-l   { margin-left: var(--space-l) !important; margin-right: var(--space-l) !important; }
.mx-auto { margin-left: auto !important; margin-right: auto !important; }

/* ============================================================
   ОТСТУПЫ ВНУТРЕННИЕ (padding)
   ============================================================ */
.p-0   { padding: 0 !important; }
.p-xs  { padding: var(--space-xs) !important; }
.p-s   { padding: var(--space-s) !important; }
.p-m   { padding: var(--space-m) !important; }
.p-l   { padding: var(--space-l) !important; }
.p-xl  { padding: var(--space-xl) !important; }

.pt-0   { padding-top: 0 !important; }
.pt-xs  { padding-top: var(--space-xs) !important; }
.pt-s   { padding-top: var(--space-s) !important; }
.pt-m   { padding-top: var(--space-m) !important; }
.pt-l   { padding-top: var(--space-l) !important; }
.pt-xl  { padding-top: var(--space-xl) !important; }
.pt-xxl { padding-top: var(--space-xxl) !important; }

.pb-0   { padding-bottom: 0 !important; }
.pb-xs  { padding-bottom: var(--space-xs) !important; }
.pb-s   { padding-bottom: var(--space-s) !important; }
.pb-m   { padding-bottom: var(--space-m) !important; }
.pb-l   { padding-bottom: var(--space-l) !important; }
.pb-xl  { padding-bottom: var(--space-xl) !important; }
.pb-xxl { padding-bottom: var(--space-xxl) !important; }

.ps-0   { padding-left: 0 !important; }
.ps-xs  { padding-left: var(--space-xs) !important; }
.ps-s   { padding-left: var(--space-s) !important; }
.ps-m   { padding-left: var(--space-m) !important; }
.ps-l   { padding-left: var(--space-l) !important; }

.pe-0   { padding-right: 0 !important; }
.pe-xs  { padding-right: var(--space-xs) !important; }
.pe-s   { padding-right: var(--space-s) !important; }
.pe-m   { padding-right: var(--space-m) !important; }
.pe-l   { padding-right: var(--space-l) !important; }

.py-0   { padding-top: 0 !important; padding-bottom: 0 !important; }
.py-xs  { padding-top: var(--space-xs) !important; padding-bottom: var(--space-xs) !important; }
.py-s   { padding-top: var(--space-s) !important; padding-bottom: var(--space-s) !important; }
.py-m   { padding-top: var(--space-m) !important; padding-bottom: var(--space-m) !important; }
.py-l   { padding-top: var(--space-l) !important; padding-bottom: var(--space-l) !important; }
.py-xl  { padding-top: var(--space-xl) !important; padding-bottom: var(--space-xl) !important; }

.px-0   { padding-left: 0 !important; padding-right: 0 !important; }
.px-xs  { padding-left: var(--space-xs) !important; padding-right: var(--space-xs) !important; }
.px-s   { padding-left: var(--space-s) !important; padding-right: var(--space-s) !important; }
.px-m   { padding-left: var(--space-m) !important; padding-right: var(--space-m) !important; }
.px-l   { padding-left: var(--space-l) !important; padding-right: var(--space-l) !important; }

/* ============================================================
   FLEXBOX
   ============================================================ */
.flex-row      { flex-direction: row !important; }
.flex-col      { flex-direction: column !important; }
.flex-wrap     { flex-wrap: wrap !important; }
.flex-nowrap   { flex-wrap: nowrap !important; }
.flex-1        { flex: 1 1 0% !important; }
.flex-auto     { flex: 1 1 auto !important; }
.flex-none     { flex: none !important; }
.flex-grow     { flex-grow: 1 !important; }
.flex-shrink-0 { flex-shrink: 0 !important; }

.items-start    { align-items: flex-start !important; }
.items-center   { align-items: center !important; }
.items-end      { align-items: flex-end !important; }
.items-stretch  { align-items: stretch !important; }
.items-baseline { align-items: baseline !important; }

.justify-start   { justify-content: flex-start !important; }
.justify-center  { justify-content: center !important; }
.justify-end     { justify-content: flex-end !important; }
.justify-between { justify-content: space-between !important; }
.justify-around  { justify-content: space-around !important; }
.justify-evenly  { justify-content: space-evenly !important; }

.self-start  { align-self: flex-start !important; }
.self-center { align-self: center !important; }
.self-end    { align-self: flex-end !important; }
.self-stretch { align-self: stretch !important; }

/* Промежутки (gap) для flex и grid */
.gap-0   { gap: 0 !important; }
.gap-xs  { gap: var(--space-xs) !important; }
.gap-s   { gap: var(--space-s) !important; }
.gap-m   { gap: var(--space-m) !important; }
.gap-l   { gap: var(--space-l) !important; }
.gap-xl  { gap: var(--space-xl) !important; }

/* ============================================================
   GRID
   ============================================================ */
.grid      { display: grid !important; }
.grid-1    { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }
.grid-2    { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.grid-3    { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.grid-4    { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

/* Адаптивные сетки: одна колонка на мобильных,
   целевое число колонок — от планшета/десктопа. */
.grid-auto-fit {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
}

@media (max-width: 767px) {
  .grid-2,
  .grid-3,
  .grid-4 {
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .grid-3,
  .grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ============================================================
   ТЕКСТ И ВЫРАВНИВАНИЕ
   ============================================================ */
.text-left    { text-align: left !important; }
.text-center  { text-align: center !important; }
.text-right   { text-align: right !important; }
.text-justify { text-align: justify !important; }

.text-lowercase  { text-transform: lowercase !important; }
.text-uppercase  { text-transform: uppercase !important; }
.text-capitalize { text-transform: capitalize !important; }

.fw-regular { font-weight: var(--font-weight-regular) !important; }
.fw-medium  { font-weight: var(--font-weight-medium) !important; }
.fw-bold    { font-weight: var(--font-weight-bold) !important; }

.fs-xs { font-size: var(--font-size-xs) !important; }
.fs-sm { font-size: var(--font-size-sm) !important; }
.fs-base { font-size: var(--font-size-base) !important; }
.fs-lg { font-size: var(--font-size-lg) !important; }
.fs-xl { font-size: var(--font-size-xl) !important; }

.text-nowrap   { white-space: nowrap !important; }
.text-break    { overflow-wrap: break-word !important; }
.text-truncate {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* ============================================================
   ЦВЕТОВЫЕ УТИЛИТЫ
   (.text-muted определён в 01-base.css — здесь не дублируется)
   ============================================================ */
.text-primary { color: var(--color-primary) !important; }
.text-accent  { color: var(--color-accent) !important; }
.text-success { color: var(--color-success) !important; }
.text-warning { color: var(--color-warning) !important; }
.text-danger  { color: var(--color-danger) !important; }
.text-info    { color: var(--color-info) !important; }
.text-inverse { color: var(--color-text-inverse) !important; }

.bg-body    { background-color: var(--color-bg) !important; }
.bg-alt     { background-color: var(--color-bg-alt) !important; }
.bg-dark    { background-color: var(--color-bg-dark) !important; }
.bg-primary { background-color: var(--color-primary) !important; }
.bg-accent  { background-color: var(--color-accent) !important; }
.bg-transparent { background-color: transparent !important; }

/* ============================================================
   ГРАНИЦЫ, СКРУГЛЕНИЯ, ТЕНИ
   ============================================================ */
.border   { border: 1px solid var(--color-border) !important; }
.border-0 { border: 0 !important; }
.border-top    { border-top: 1px solid var(--color-border) !important; }
.border-bottom { border-bottom: 1px solid var(--color-border) !important; }

.rounded-0      { border-radius: 0 !important; }
.rounded-s      { border-radius: var(--radius-s) !important; }
.rounded-m      { border-radius: var(--radius-m) !important; }
.rounded-l      { border-radius: var(--radius-l) !important; }
.rounded-pill   { border-radius: var(--radius-pill) !important; }
.rounded-circle { border-radius: var(--radius-circle) !important; }

.shadow-none  { box-shadow: none !important; }
.shadow-card  { box-shadow: var(--shadow-card) !important; }
.shadow-hover { box-shadow: var(--shadow-card-hover) !important; }

/* ============================================================
   РАЗМЕРЫ И ПЕРЕПОЛНЕНИЕ
   ============================================================ */
.w-full  { width: 100% !important; }
.w-auto  { width: auto !important; }
.h-full  { height: 100% !important; }
.h-auto  { height: auto !important; }
.mw-full { max-width: 100% !important; }

.overflow-hidden { overflow: hidden !important; }
.overflow-auto   { overflow: auto !important; }
.overflow-x-auto { overflow-x: auto !important; }
.overflow-y-auto { overflow-y: auto !important; }

/* ============================================================
   ПОЗИЦИОНИРОВАНИЕ
   ============================================================ */
.relative { position: relative !important; }
.absolute { position: absolute !important; }
.fixed    { position: fixed !important; }
.sticky   { position: sticky !important; top: 0; }

/* ============================================================
   ВИДИМОСТЬ ПО БРЕЙКПОИНТАМ
   mobile  < 768px
   desktop >= 768px
   ============================================================ */

/* Скрыть на мобильных (показать от планшета) */
.hidden-mobile {
  /* по умолчанию видно */
}
@media (max-width: 767px) {
  .hidden-mobile { display: none !important; }
}

/* Скрыть на десктопе (показать только на мобильных) */
.hidden-desktop {
  /* по умолчанию видно */
}
@media (min-width: 768px) {
  .hidden-desktop { display: none !important; }
}

/* Показать только на мобильных (скрыто от планшета) */
.visible-mobile {
  display: none !important;
}
@media (max-width: 767px) {
  .visible-mobile { display: block !important; }
}

/* Показать только на десктопе (скрыто на мобильных) */
.visible-desktop {
  display: none !important;
}
@media (min-width: 768px) {
  .visible-desktop { display: block !important; }
}

/* Полное скрытие (для всех) и принудительная невидимость */
.invisible { visibility: hidden !important; }
.visible   { visibility: visible !important; }

/* ============================================================
ДОСТУПНОСТЬ (a11y)
============================================================ */
/* Визуально скрытый текст: элемент невидим, но читается
скринридером. Единое правило для всех скрытых заголовков
(.p2-home-h1, .pv-attrs__caption) вместо локальных дублей
в theme-файлах. Значения 1px/-1px выведены из токена. */
.visually-hidden,
.p2-home-h1,
.pv-attrs__caption {
position: absolute;
width: calc(var(--space-xs) / 4);
height: calc(var(--space-xs) / 4);
padding: 0;
margin: calc(var(--space-xs) / -4);
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}

/* ============================================================
РАЗМЕРЫ ИКОНОК (icon sizes)
Типоразмеры SVG-иконок. Единое правило для иконок одного
размера вместо локальных дублей в компонентах и теме.
md = 16px = var(--space-m): кнопки количества, переключатель темы.
============================================================ */
.icon-md,
.qty__btn svg,
.p2-theme-toggle__sun,
.p2-theme-toggle__moon {
width: var(--space-m);
height: var(--space-m);
flex-shrink: 0;
}

/* ============================================================
ПРОЧЕЕ
============================================================ */
.pointer    { cursor: pointer !important; }
.select-none { user-select: none !important; }
.no-decoration { text-decoration: none !important; }
.list-none  { list-style: none !important; }

/* Плавный скролл к якорю (учитывает reduced-motion из base) */
.scroll-smooth { scroll-behavior: smooth !important; }

/* === modules/comments.css === */
/* ============================================================
comments.css
Стили публичного модуля комментариев.
Дизайн: тёмный блок со свечением в стиле контентных блоков.
Цвета: #1a1d22 (графит), #f65908 (оранжевый).
Подключается в бандл site.css через паттерн modules-файлов.
v2-compact: уменьшенные отступы и размеры элементов при
сохранении исходного дизайна и свечения.
============================================================ */

/* ============================================================
ОБЩИЙ БЛОК КОММЕНТАРИЕВ — ОБЁРТКА ПОСЛЕ MAIN
============================================================ */
.p2-after-main {
padding: var(--space-m, 16px) 0 var(--space-l, 32px);
position: relative;
border-top: 1px solid rgba(255, 255, 255, 0.06);
background: transparent;
}

/* width-sync: карточка комментариев вровень с контентными блоками — 1400px,
боковые отступы 16px как у .p2-content-wrap, 12px на мобильных */
.p2-comments-block {
max-width: 1400px;
margin: 0 auto;
padding: 0 16px;
}

@media (max-width: 768px) {
.p2-comments-block {
padding: 0 12px;
}
}

.p2-comments-block .comments-section {
position: relative;
max-width: none;
padding: 18px 20px;
background-color: #1a1d22;
border: 1px solid rgba(230, 96, 43, 0.25);
border-radius: 14px;
box-shadow: 0 0 20px rgba(230, 96, 43, 0.35),
0 0 50px rgba(230, 96, 43, 0.15),
inset 0 0 25px rgba(230, 96, 43, 0.04);
overflow: hidden;
transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.p2-comments-block .comments-section:hover {
border-color: rgba(246, 89, 8, 0.5);
box-shadow: 0 0 30px rgba(230, 96, 43, 0.5),
0 0 80px rgba(230, 96, 43, 0.22),
inset 0 0 30px rgba(230, 96, 43, 0.07);
}

/* Акцентная полоса в верхней части карточки */
.p2-comments-block .comments-section::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, #f65908, #ffb347);
box-shadow: 0 0 10px rgba(246, 89, 8, 0.4);
}

@media (max-width: 767px) {
.p2-comments-block .comments-section {
padding: 14px;
}
}

/* ============================================================
СЕКЦИЯ КОММЕНТАРИЕВ НА СТРАНИЦЕ
============================================================ */
.page-comments {
margin-top: var(--space-l, 32px);
padding: var(--space-m, 16px) 0 var(--space-l, 32px);
border-top: 1px solid rgba(255, 255, 255, 0.06);
background-color: transparent;
}

.page-comments__title {
margin: 0 0 18px;
font-family: var(--font-display, 'Inter', 'Segoe UI', system-ui, sans-serif);
font-size: 20px;
font-weight: var(--font-weight-bold, 800);
line-height: 1.2;
color: #fff;
position: relative;
padding-bottom: var(--space-s, 8px);
}

.page-comments__title::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 48px;
height: 3px;
border-radius: 999px;
background: linear-gradient(90deg, #f65908, #ffb347);
box-shadow: 0 0 8px rgba(246, 89, 8, 0.4);
}

/* ============================================================
ШАПКА БЛОКА КОММЕНТАРИЕВ (comments-head)
============================================================ */
.comments-head {
display: flex;
align-items: center;
gap: 12px;
padding: 12px 16px;
margin-bottom: 12px;
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 12px;
}

.comments-head__icon {
display: flex;
align-items: center;
justify-content: center;
width: 38px;
height: 38px;
border-radius: 10px;
background: rgba(246, 89, 8, 0.15);
color: #f65908;
box-shadow: 0 0 10px rgba(246, 89, 8, 0.3);
flex: none;
}

.comments-head__icon .c-icon {
width: 20px;
height: 20px;
}

.comments-head__body {
flex: 1;
min-width: 0;
}

.comments-head__body .page-comments__title {
margin: 0;
padding-bottom: 0;
font-size: 19px;
font-weight: 700;
letter-spacing: -0.01em;
line-height: 1.2;
color: #fff;
}

.comments-head__body .page-comments__title::after {
display: none;
}

.comments-head__subtitle {
margin: 2px 0 0;
font-size: 13px;
color: rgba(255, 255, 255, 0.55);
}

.comments-head__count {
display: flex;
align-items: center;
justify-content: center;
min-width: 36px;
height: 36px;
padding: 0 12px;
border-radius: 999px;
background: linear-gradient(135deg, #f65908, #ff7a2f);
color: #fff;
font-size: 15px;
font-weight: 700;
flex: none;
box-shadow: 0 2px 10px rgba(246, 89, 8, 0.4);
}

[data-comments] {
max-width: 1400px;
}

/* ============================================================
SVG-ИКОНКИ (базовый класс)
============================================================ */
.c-icon {
display: inline-block;
vertical-align: middle;
flex: none;
pointer-events: none;
}

/* ============================================================
СТАТУС ЗАГРУЗКИ / ОШИБКА
============================================================ */
.comments-status {
margin: 0 16px;
min-height: 1.2em;
font-size: 14px;
line-height: 1.55;
}

.comments-status.text-muted {
color: rgba(255, 255, 255, 0.55);
}

.comments-status.text-danger {
color: #ff6b6b;
}

.comments-status.text-success {
color: #69db7c;
}

/* ============================================================
СПИСОК КОММЕНТАРИЕВ
============================================================ */
.comments-list {
display: flex;
flex-direction: column;
gap: 10px;
}

/* ============================================================
КАРТОЧКА КОММЕНТАРИЯ
============================================================ */
[data-comments-list] > .comment {
margin-bottom: 0;
}

.comment {
padding: 13px 16px;
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 12px;
transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.comment:hover {
border-color: rgba(246, 89, 8, 0.35);
box-shadow: 0 0 16px rgba(246, 89, 8, 0.15);
transform: translateY(-1px);
}

/* Подсветка комментария, на который пишется ответ */
.comment--replying {
border-color: #f65908;
box-shadow: 0 0 0 3px rgba(246, 89, 8, 0.2),
0 0 20px rgba(246, 89, 8, 0.2);
background: rgba(246, 89, 8, 0.06);
}

/* ============================================================
ДРЕВОВИДНЫЕ ОТВЕТЫ: КОНТЕЙНЕР ВЛОЖЕННОСТИ
============================================================ */
.comment__children {
display: flex;
flex-direction: column;
gap: 10px;
margin-top: 10px;
padding-left: 14px;
border-left: 2px solid rgba(246, 89, 8, 0.4);
}

.comment__children .comment {
background: rgba(246, 89, 8, 0.04);
border-color: rgba(255, 255, 255, 0.06);
}

.comment__children .comment:hover {
transform: none;
border-color: rgba(246, 89, 8, 0.3);
box-shadow: 0 0 10px rgba(246, 89, 8, 0.1);
}

/* Максимальная глубина */
.comment__children[data-depth-max] {
padding-left: 10px;
}

/* ============================================================
ШАПКА КОММЕНТАРИЯ
============================================================ */
.comment__header {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 10px;
margin-bottom: 7px;
}

/* Аватар */
.comment__avatar {
display: flex;
align-items: center;
justify-content: center;
width: 34px;
height: 34px;
border-radius: 50%;
background: rgba(246, 89, 8, 0.12);
border: 1px solid rgba(246, 89, 8, 0.3);
color: #f65908;
font-size: 14px;
font-weight: 700;
text-transform: uppercase;
flex: none;
position: relative;
}

.comment__avatar::after {
content: attr(data-initial);
position: absolute;
bottom: -2px;
right: -2px;
width: 13px;
height: 13px;
border-radius: 50%;
background-color: #f65908;
color: #fff;
font-size: 8px;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
line-height: 1;
text-transform: uppercase;
}

/* Аватар официального представителя */
.comment__avatar--official,
.comment__avatar[data-role="admin"],
.comment__avatar[data-role="master"] {
background: rgba(246, 89, 8, 0.25);
border-color: #f65908;
color: #fff;
}

/* Мета-информация */
.comment__meta {
display: flex;
flex-direction: column;
gap: 1px;
min-width: 0;
}

.comment__author-line {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 8px;
}

.comment__author {
font-size: 14px;
font-weight: 600;
color: #fff;
}

/* Чип «Ответ для {автор}» */
.comment__reply-to {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 1px 8px;
border-radius: 999px;
background: rgba(246, 89, 8, 0.1);
border: 1px solid rgba(246, 89, 8, 0.3);
color: #f65908;
font-size: 11.5px;
font-weight: 500;
white-space: nowrap;
}

.comment__date {
display: inline-flex;
align-items: center;
gap: 4px;
font-size: 12px;
color: rgba(255, 255, 255, 0.5);
}

.comment__date .c-icon {
opacity: 0.7;
}

/* ============================================================
ЗВЁЗДНЫЙ РЕЙТИНГ (read-only в карточке)
============================================================ */
.comment__rating {
display: inline-flex;
align-items: center;
gap: 1px;
margin-left: auto;
line-height: 1;
}

.comment-star {
display: inline-flex;
color: rgba(255, 255, 255, 0.2);
}

.comment-star.is-filled {
color: #f65908;
}

.comment-star .c-icon {
width: 15px;
height: 15px;
}

/* ============================================================
ТЕЛО КОММЕНТАРИЯ
============================================================ */
.comment__body {
font-size: 14px;
color: rgba(255, 255, 255, 0.75);
white-space: pre-wrap;
overflow-wrap: break-word;
word-break: break-word;
}

/* ============================================================
ФУТЕР КОММЕНТАРИЯ
============================================================ */
.comment__footer {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 10px;
margin-top: 10px;
padding-top: 8px;
border-top: 1px dashed rgba(255, 255, 255, 0.1);
}

/* ============================================================
КНОПКА «ОТВЕТИТЬ»
============================================================ */
.comment__reply {
display: inline-flex;
align-items: center;
gap: 5px;
height: 30px;
padding: 0 12px;
border-radius: 999px;
border: 1px solid rgba(255, 255, 255, 0.15);
background: transparent;
color: rgba(255, 255, 255, 0.6);
font-family: inherit;
font-size: 13px;
font-weight: 500;
cursor: pointer;
transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}

.comment__reply:hover,
.comment__reply:focus-visible {
border-color: #f65908;
color: #f65908;
background: rgba(246, 89, 8, 0.08);
}

.comment__reply:focus-visible {
outline: none;
box-shadow: 0 0 0 3px rgba(246, 89, 8, 0.25);
}

/* ============================================================
БЕЙДЖ «ОТВЕТОВ: N»
============================================================ */
.comment__replies-badge {
display: inline-flex;
align-items: center;
gap: 5px;
padding: 3px 10px;
border-radius: 999px;
background: rgba(246, 89, 8, 0.1);
border: 1px solid rgba(246, 89, 8, 0.3);
color: #f65908;
font-size: 12px;
font-weight: 500;
}

.comment__replies-badge .c-icon {
opacity: 0.8;
}

/* ============================================================
ПОДСКАЗКА «ОТВЕТ ДЛЯ…»
============================================================ */
.comments-reply-hint,
[data-reply-hint] {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 4px;
margin: 6px 0 4px;
padding: 4px 12px;
border-radius: 6px;
background: rgba(246, 89, 8, 0.08);
border: 1px solid rgba(246, 89, 8, 0.3);
font-size: 13px;
color: #f65908;
}

.comments-reply-hint[hidden],
[data-reply-hint][hidden] {
display: none;
}

.reply-cancel,
[data-reply-cancel] {
display: inline-flex;
align-items: center;
gap: 3px;
padding: 2px 8px;
border: none;
border-radius: 6px;
background: transparent;
color: rgba(255, 255, 255, 0.55);
font-size: 12px;
font-weight: 500;
text-decoration: underline;
text-underline-offset: 2px;
cursor: pointer;
transition: color 0.2s ease, background-color 0.2s ease;
}

.reply-cancel:hover,
.reply-cancel:focus-visible,
[data-reply-cancel]:hover,
[data-reply-cancel]:focus-visible {
color: #ff6b6b;
background-color: rgba(255, 107, 107, 0.08);
}

/* ============================================================
ПАГИНАЦИЯ
============================================================ */
[data-comments-pagination] {
margin-top: 16px;
}

[data-comments-pagination][hidden] {
display: none;
}

.comments-pagination {
display: flex;
justify-content: center;
}

.comments-pagination__list {
display: flex;
align-items: center;
gap: 3px;
margin: 0;
padding: 5px;
list-style: none;
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 10px;
}

.comments-pagination__item {
display: flex;
}

.comments-pagination__btn {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 32px;
height: 32px;
padding: 3px 9px;
border: 1px solid transparent;
border-radius: 8px;
background: transparent;
color: rgba(255, 255, 255, 0.7);
font-family: inherit;
font-size: 13px;
font-weight: 500;
cursor: pointer;
transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.comments-pagination__btn:hover:not(:disabled):not(.is-active) {
background: rgba(246, 89, 8, 0.1);
border-color: rgba(246, 89, 8, 0.3);
color: #f65908;
}

.comments-pagination__btn.is-active {
background: linear-gradient(135deg, #f65908, #ff7a2f);
color: #fff;
cursor: default;
box-shadow: 0 2px 8px rgba(246, 89, 8, 0.35);
}

.comments-pagination__btn:disabled {
opacity: 0.35;
cursor: not-allowed;
}

.comments-pagination__btn--nav {
color: rgba(255, 255, 255, 0.5);
}

.comments-pagination__btn:focus-visible {
outline: none;
box-shadow: 0 0 0 3px rgba(246, 89, 8, 0.25);
}

.comments-pagination__ellipsis {
display: flex;
align-items: center;
justify-content: center;
min-width: 24px;
color: rgba(255, 255, 255, 0.4);
user-select: none;
}

/* ============================================================
ФОРМА ДОБАВЛЕНИЯ КОММЕНТАРИЯ
============================================================ */
.comments-form,
[data-comments-form] {
margin-top: 18px;
padding: 18px;
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 14px;
}

[data-comments-form] {
border: none;
background: transparent;
}

[data-comments-form] .form-title {
margin: 0 0 12px;
font-family: var(--font-display, 'Inter', 'Segoe UI', system-ui, sans-serif);
font-size: 17px;
font-weight: 700;
color: #fff;
}

.comments-form__row,
[data-comments-form] .form-group {
display: flex;
flex-direction: column;
gap: 12px;
margin-bottom: 10px;
}

.comments-form__row:last-of-type,
[data-comments-form] .form-group:last-of-type {
margin-bottom: 10px;
}

.comments-form__row:first-of-type {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}

[data-comments-form] label:not(.consent-label) {
display: block;
margin-bottom: 5px;
font-size: 13px;
font-weight: 600;
color: rgba(255, 255, 255, 0.85);
}

[data-comments-form] .consent-label {
display: flex;
align-items: center;
margin-bottom: 0;
}

[data-comments-form] input[type="text"],
[data-comments-form] input[type="email"],
[data-comments-form] textarea,
.comments-form .input {
width: 100%;
padding: 9px 12px;
border: 1px solid rgba(255, 255, 255, 0.15);
border-radius: 10px;
background: rgba(255, 255, 255, 0.05);
color: #fff;
font-family: inherit;
font-size: 14px;
transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

[data-comments-form] input::placeholder,
[data-comments-form] textarea::placeholder,
.comments-form .input::placeholder {
color: rgba(255, 255, 255, 0.4);
opacity: 0.8;
}

[data-comments-form] input:focus,
[data-comments-form] textarea:focus,
.comments-form .input:focus {
outline: none;
border-color: #f65908;
box-shadow: 0 0 0 3px rgba(246, 89, 8, 0.2);
}

[data-comments-form] textarea {
min-height: 88px;
resize: vertical;
}

/* ============================================================
ИНТЕРАКТИВНЫЙ РЕЙТИНГ В ФОРМЕ
============================================================ */
.comments-form__rating {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 10px;
margin-bottom: 14px;
padding: 10px 14px;
border: 1px dashed rgba(255, 255, 255, 0.15);
border-radius: 12px;
background: rgba(246, 89, 8, 0.04);
}

.comments-form__rating-label {
font-size: 13px;
font-weight: 600;
color: rgba(255, 255, 255, 0.85);
}

.rating-stars {
display: inline-flex;
gap: 3px;
}

.rating-star {
display: inline-flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
padding: 0;
border: none;
background: transparent;
color: rgba(255, 255, 255, 0.2);
cursor: pointer;
transition: color 0.2s ease, transform 0.2s ease;
}

.rating-star .c-icon {
width: 20px;
height: 20px;
}

.rating-star:hover,
.rating-star.is-active {
color: #f65908;
transform: scale(1.1);
}

.rating-star:focus-visible {
outline: none;
border-radius: 8px;
box-shadow: 0 0 0 3px rgba(246, 89, 8, 0.3);
}

/* ============================================================
СОГЛАСИЕ НА ОБРАБОТКУ ПДн
============================================================ */
.consent-group {
margin-bottom: 12px;
}

.consent-label {
display: flex;
align-items: flex-start;
gap: 10px;
margin: 4px 0 12px;
font-size: 12.5px;
color: rgba(255, 255, 255, 0.5);
cursor: pointer;
}

.consent-label input[type="checkbox"] {
width: 16px;
height: 16px;
margin-top: 1px;
accent-color: #f65908;
flex: none;
cursor: pointer;
}

.consent-label a {
color: #f65908;
text-underline-offset: 2px;
}

.consent-label a:hover {
color: #ffb347;
}

/* ============================================================
КНОПКА ОТПРАВКИ
============================================================ */
.comments-form__actions {
display: flex;
align-items: center;
gap: 12px;
}

.comments-form__actions .btn,
[data-comments-form] button[type="submit"] {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
height: 40px;
padding: 0 22px;
border: none;
border-radius: 10px;
background: linear-gradient(135deg, #f65908, #ff7a2f);
color: #fff;
font-family: inherit;
font-size: 14px;
font-weight: 600;
cursor: pointer;
transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.comments-form__actions .btn:hover:not(:disabled),
.comments-form__actions .btn:focus-visible,
[data-comments-form] button[type="submit"]:hover:not(:disabled),
[data-comments-form] button[type="submit"]:focus-visible {
box-shadow: 0 8px 24px rgba(246, 89, 8, 0.4);
}

.comments-form__actions .btn:focus-visible,
[data-comments-form] button[type="submit"]:focus-visible {
outline: none;
box-shadow: 0 0 0 3px rgba(246, 89, 8, 0.3);
}

.comments-form__actions .btn:disabled,
[data-comments-form] button[type="submit"]:disabled {
opacity: 0.55;
cursor: not-allowed;
}

/* ============================================================
ПУСТОЕ СОСТОЯНИЕ
============================================================ */
.comments-list .empty-state,
[data-comments-list] .empty-state {
padding: 40px 24px;
margin-bottom: 12px;
text-align: center;
border: 1px dashed rgba(255, 255, 255, 0.15);
border-radius: 14px;
background: rgba(255, 255, 255, 0.02);
}

.empty-state__icon {
display: flex;
align-items: center;
justify-content: center;
width: 56px;
height: 56px;
margin: 0 auto 12px;
border-radius: 50%;
background: rgba(246, 89, 8, 0.1);
color: #f65908;
opacity: 0.7;
}

.comments-list .empty-state__title,
[data-comments-list] .empty-state__title {
margin: 0 0 4px;
font-family: var(--font-display, 'Inter', 'Segoe UI', system-ui, sans-serif);
font-size: 17px;
font-weight: 600;
color: #fff;
}

.comments-list .empty-state__text,
[data-comments-list] .empty-state__text {
margin: 0 auto;
max-width: none;
text-align: center;
font-size: 13.5px;
color: rgba(255, 255, 255, 0.5);
}

/* ============================================================
АДАПТИВНОСТЬ
============================================================ */
@media (max-width: 767px) {
.comments-form,
[data-comments-form] {
padding: 14px 12px;
}

.comments-form__row:first-of-type {
grid-template-columns: 1fr;
}

.comment__rating {
margin-left: 0;
width: 100%;
}

.comment__children {
padding-left: 10px;
}

.comments-pagination__list {
flex-wrap: wrap;
justify-content: center;
}

.comments-head {
padding: 12px 14px;
}

.comments-head__count {
min-width: 34px;
height: 34px;
font-size: 14px;
}

.comment {
padding: 12px 14px;
}
}

@media (max-width: 479px) {
.page-comments {
padding: 12px 0 24px;
}

.comment {
padding: 10px 12px;
}

.comment__footer {
gap: 4px;
}

.rating-star {
width: 30px;
height: 30px;
}

.rating-star .c-icon {
width: 18px;
height: 18px;
}

.comments-form__actions {
flex-direction: column;
align-items: stretch;
}

.comments-form__actions .btn,
[data-comments-form] button[type="submit"] {
width: 100%;
}

.comment__avatar {
width: 28px;
height: 28px;
}

.comment__avatar::after {
width: 12px;
height: 12px;
font-size: 7px;
}

.comments-pagination__btn {
min-width: 30px;
height: 30px;
}
}

/* ============================================================
PREFERS-REDUCED-MOTION
============================================================ */
@media (prefers-reduced-motion: reduce) {
.comment,
.comment__reply,
.rating-star,
.comments-pagination__btn,
.comments-form__actions .btn,
[data-comments-form] button[type="submit"],
.p2-comments-block .comments-section {
transition: none;
}

.comment:hover {
transform: none;
}

.rating-star:hover {
transform: none;
}
}

/* === modules/forms.css === */
/* ============================================================
forms.css
Стили публичного модуля форм.
Подключается в бандл site.css через паттерн modules/*.css.
Классы привязаны к разметке из app/assets-src/js/modules/forms.js.
Все значения построены на переменных из 00-variables.css.
============================================================ */

/* ============================================================
КОНТЕЙНЕР БЛОКА ФОРМЫ
============================================================ */
[data-form] {
margin-top: var(--space-xl);
padding: var(--space-l);
border: 1px solid var(--color-border);
border-radius: var(--radius-l);
background-color: var(--color-bg);
box-shadow: var(--shadow-card);
}

/* ============================================================
СТАТУС ЗАГРУЗКИ / ОШИБКИ / УСПЕХА
============================================================ */
.form-status {
margin-bottom: var(--space-m);
font-size: var(--font-size-sm);
line-height: var(--line-height);
min-height: 1.2em;
}

.form-status:empty {
display: none;
}

.form-status.text-muted {
color: var(--color-text-muted);
}

.form-status.text-danger {
color: var(--color-danger);
}

.form-status.text-success {
color: var(--color-success);
}

/* ============================================================
ГРУППА ПОЛЯ (label + input + ошибка)
============================================================ */
[data-form-fields] .form-group {
margin-bottom: var(--space-m);
}

[data-form-fields] .form-group:last-child {
margin-bottom: var(--space-l);
}

[data-form-fields] .form-group > label {
display: block;
margin-bottom: var(--space-xs);
font-size: var(--font-size-sm);
font-weight: var(--font-weight-medium);
color: var(--color-text);
}

/* Ссылки внутри меток полей (безопасный HTML из админки) */
[data-form-fields] .form-group > label a,
[data-form-fields] .form-checkbox label a {
color: var(--color-primary);
text-decoration: underline;
text-underline-offset: 2px;
transition: color var(--transition-fast);
}

[data-form-fields] .form-group > label a:hover,
[data-form-fields] .form-group > label a:focus-visible,
[data-form-fields] .form-checkbox label a:hover,
[data-form-fields] .form-checkbox label a:focus-visible {
color: var(--color-primary-hover);
}

/* ============================================================
ПОЛЯ ВВОДА (общие стили для input / textarea / select)
Переиспользуют базовые стили из 01-base.css,
здесь — контекстные уточнения для формы.
============================================================ */
[data-form-fields] input[type="text"],
[data-form-fields] input[type="email"],
[data-form-fields] input[type="tel"],
[data-form-fields] input[type="url"],
[data-form-fields] input[type="number"],
[data-form-fields] input[type="date"],
[data-form-fields] textarea,
[data-form-fields] select {
width: 100%;
padding: 10px 14px;
border: 1px solid var(--color-border-strong);
border-radius: var(--radius-s);
background-color: var(--color-bg);
color: var(--color-text);
font-size: var(--font-size-base);
transition: border-color var(--transition-fast),
box-shadow var(--transition-fast);
}
[data-form-fields] select {
appearance: none;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 14px center;
padding-right: 40px;
}

/* ============================================================
ЧЕКБОКС
============================================================ */
[data-form-fields] .form-checkbox {
display: flex;
align-items: flex-start;
gap: var(--space-s);
padding: var(--space-s) 0;
}

[data-form-fields] .form-checkbox input[type="checkbox"] {
width: 20px;
height: 20px;
margin: 0;
flex-shrink: 0;
accent-color: var(--color-primary);
cursor: pointer;
}

[data-form-fields] .form-checkbox label {
margin: 0;
font-size: var(--font-size-base);
font-weight: var(--font-weight-regular);
color: var(--color-text);
cursor: pointer;
line-height: 1.4;
}

/* ============================================================
СОСТОЯНИЕ ОШИБКИ ПОЛЯ
============================================================ */
[data-form-fields] .form-group--error input,
[data-form-fields] .form-group--error textarea,
[data-form-fields] .form-group--error select {
border-color: var(--color-danger);
box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger) 12%, transparent);
}

[data-form-fields] .form-group--error > label {
color: var(--color-danger);
}

/* Текст ошибки под полем */
[data-form-fields] .form-field__error {
margin-top: var(--space-xs);
font-size: var(--font-size-xs);
line-height: var(--line-height);
color: var(--color-danger);
}

[data-form-fields] .form-field__error[hidden] {
display: none;
}

/* ============================================================
HONEYPOT (скрытое поле-ловушка для ботов)
Стили дублируют inline-стили из JS на случай,
если JS не успеет их применить до рендера.
============================================================ */
.form-honeypot {
position: absolute !important;
left: -9999px !important;
top: -9999px !important;
width: 1px !important;
height: 1px !important;
overflow: hidden !important;
opacity: 0 !important;
pointer-events: none !important;
}

/* ============================================================
КНОПКА ОТПРАВКИ
============================================================ */
[data-form-element] [data-form-submit] {
display: inline-flex;
align-items: center;
justify-content: center;
gap: var(--space-s);
min-height: 44px;
padding: 10px 24px;
border-radius: var(--radius-s);
border: none;
background-color: var(--color-primary);
color: var(--color-text-inverse);
font-size: var(--font-size-base);
font-weight: var(--font-weight-medium);
cursor: pointer;
user-select: none;
transition: background-color var(--transition-fast),
opacity var(--transition-fast),
transform var(--transition-fast);
}

[data-form-element] [data-form-submit]:hover:not(:disabled),
[data-form-element] [data-form-submit]:focus-visible {
background-color: var(--color-primary-hover);
}

[data-form-element] [data-form-submit]:active:not(:disabled) {
transform: translateY(1px);
}

[data-form-element] [data-form-submit]:disabled {
opacity: 0.55;
cursor: not-allowed;
}

/* ============================================================
АДАПТИВНОСТЬ
============================================================ */
@media (max-width: 479px) {
[data-form] {
padding: var(--space-m);
}

[data-form-element] [data-form-submit] {
width: 100%;
}
}

/* === modules/price-slider.css === */
/* ============================================================
   price-slider.css
   Виджет фильтра цены: двойной ползунок (dual range slider)
   + стилизованные поля ввода «От» / «До» без нативных стрелок.
   Все значения — только CSS-переменные из /admin/assets/variables.
   ============================================================ */

/* ===== Убираем нативные стрелки-спиннеры у number-инпутов ===== */
.pf-price-widget__input[type="number"]::-webkit-inner-spin-button,
.pf-price-widget__input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.pf-price-widget__input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}

/* ===== Контейнер виджета ===== */
.pf-price-widget {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}

/* ===== Область слайдера ===== */
.pf-price-widget__slider {
  position: relative;
  height: calc(var(--space-m) + var(--space-xs));
  display: flex;
  align-items: center;
}

/* Дорожка */
.pf-price-widget__rail {
  position: absolute;
  left: 0;
  right: 0;
  height: var(--space-xs);
  background: var(--color-border);
  border-radius: var(--radius-pill);
  pointer-events: none;
}

/* Заполняющая полоса между ручками */
.pf-price-widget__fill {
  position: absolute;
  height: 100%;
  background: var(--color-primary);
  border-radius: var(--radius-pill);
  transition: background var(--transition-fast);
}

/* Нативные range-инпуты: прозрачный трек, видимые ручки */
.pf-price-widget__range {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
-webkit-appearance: none;
appearance: none;
pointer-events: none;
cursor: pointer;
outline: none !important;
}

/* Принудительное удаление обводки во всех состояниях фокуса и активности */
.pf-price-widget__range:focus,
.pf-price-widget__range:active,
.pf-price-widget__range:focus-visible {
outline: none !important;
box-shadow: none !important;
border-color: transparent !important;
}
.pf-price-widget__slider:focus-within {
outline: none !important;
box-shadow: none !important;
}

/* Убираем дефолтный трек range */
.pf-price-widget__range::-webkit-slider-runnable-track {
  background: transparent;
  border: none;
  height: var(--space-xs);
}

.pf-price-widget__range::-moz-range-track {
  background: transparent;
  border: none;
  height: var(--space-xs);
}

/* Ручка ползунка — WebKit */
.pf-price-widget__range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: calc(var(--space-m) + var(--space-xs));
  height: calc(var(--space-m) + var(--space-xs));
  background: var(--color-bg);
  border: calc(var(--space-xs) / 2) solid var(--color-primary);
  border-radius: var(--radius-circle);
  box-shadow: var(--shadow-card);
  cursor: grab;
  pointer-events: auto;
  transition: box-shadow var(--transition-fast), transform var(--transition-fast);
  margin-top: calc(var(--space-s) * -1);
}

/* Ручка ползунка — Firefox */
.pf-price-widget__range::-moz-range-thumb {
  width: calc(var(--space-m) + var(--space-xs));
  height: calc(var(--space-m) + var(--space-xs));
  background: var(--color-bg);
  border: calc(var(--space-xs) / 2) solid var(--color-primary);
  border-radius: var(--radius-circle);
  box-shadow: var(--shadow-card);
  cursor: grab;
  pointer-events: auto;
  transition: box-shadow var(--transition-fast), transform var(--transition-fast);
}

/* Ховер на ручках */
.pf-price-widget__range:hover::-webkit-slider-thumb {
  box-shadow: var(--shadow-card-hover);
  transform: scale(1.1);
}

.pf-price-widget__range:hover::-moz-range-thumb {
  box-shadow: var(--shadow-card-hover);
  transform: scale(1.1);
}

/* Фокус с клавиатуры */
.pf-price-widget__range:focus-visible::-webkit-slider-thumb {
  outline: none;
  box-shadow: 0 0 0 calc(var(--space-xs) / 2) color-mix(in srgb, var(--color-primary) 25%, transparent);
}

.pf-price-widget__range:focus-visible::-moz-range-thumb {
  outline: none;
  box-shadow: 0 0 0 calc(var(--space-xs) / 2) color-mix(in srgb, var(--color-primary) 25%, transparent);
}

/* Активное состояние (перетаскивание) */
.pf-price-widget__range:active::-webkit-slider-thumb {
  cursor: grabbing;
  transform: scale(1.15);
}

.pf-price-widget__range:active::-moz-range-thumb {
  cursor: grabbing;
  transform: scale(1.15);
}

/* ===== Поля ввода «От» / «До» ===== */
.pf-price-widget__inputs {
  display: flex;
  align-items: center;
  gap: var(--space-s);
}

.pf-price-widget__field {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: calc(var(--space-xs) / 2);
}

.pf-price-widget__caption {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-muted);
  line-height: 1;
}

.pf-price-widget__input {
  width: 100%;
  padding: var(--space-s) var(--space-m);
  font-size: var(--font-size-sm);
  font-family: var(--font-body);
  font-weight: var(--font-weight-regular);
  color: var(--color-text);
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-s);
  outline: none;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.pf-price-widget__input::placeholder {
  color: var(--color-text-muted);
  opacity: 0.6;
}

.pf-price-widget__input:hover {
  border-color: var(--color-border-strong);
}

.pf-price-widget__input:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 calc(var(--space-xs) / 2) color-mix(in srgb, var(--color-primary) 15%, transparent);
}

/* Разделитель между полями */
.pf-price-widget__sep {
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
  flex-shrink: 0;
}

/* ===== Состояние: слайдер отключён (min = max) ===== */
.pf-price-widget[data-slider-disabled="1"] .pf-price-widget__slider {
  display: none;
}

/* === modules/product-card.css === */
/* ============================================================
   product-card.css
   Общие стили карточки товара .p2-card и экранных кнопок
   .p2-gact (избранное / сравнить / в корзину) для списков
   товаров: каталог (products/index) и категория
   (products/category).

   Вынесено из inline-стилей обоих view-файлов темы proba-2
   для устранения дублирования. Подключается в site.css
   автоматически через паттерн modules/*.css.

   Все значения — только CSS-переменные из /admin/assets/variables.
   ============================================================ */

/* ===== Сетка карточек ===== */
.p2-cat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-l);
    margin-top: var(--space-l);
}

/* ===== Карточка ===== */
.p2-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-m);
    overflow: hidden;
    transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.p2-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-card-hover);
}

/* Медиа-область */
.p2-card__media-wrap {
    position: relative;
}

.p2-card__media {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--color-bg-alt);
}

.p2-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-slow);
}

.p2-card:hover .p2-card__media img {
    transform: scale(1.05);
}

/* Бейдж в углу медиа */
.p2-card__badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
}

/* Группа круглых кнопок поверх медиа */
.p2-card__gact {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 2;
    display: flex;
    gap: var(--space-s);
}

/* ===== Кнопка .p2-gact ===== */
.p2-gact {
    position: relative;
    width: 42px;
    height: 42px;
    border: none;
    border-radius: var(--radius-circle);
    background: color-mix(in srgb, var(--color-text-inverse) 55%, transparent);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: var(--shadow-card);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--color-text-muted);
    overflow: hidden;
    transition: color var(--transition-fast), background var(--transition-fast);
}

.p2-gact svg {
    width: 20px;
    height: 20px;
}

.p2-gact:hover {
    color: var(--color-bg);
    background: var(--color-primary);
}

.p2-gact.is-active {
    background: var(--color-primary);
    color: var(--color-bg);
}

/* Эффект «блик» при наведении */
.p2-gact::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(105deg,
        color-mix(in srgb, var(--color-text-inverse) 0%, transparent) 20%,
        color-mix(in srgb, var(--color-text-inverse) 32%, transparent) 50%,
        color-mix(in srgb, var(--color-text-inverse) 0%, transparent) 80%);
    transform: translateX(-110%) skewX(-15deg);
    pointer-events: none;
}

.p2-gact:hover::after {
    animation: p2GactShine var(--transition-slow) ease forwards;
}

@keyframes p2GactShine {
    from { transform: translateX(-110%) skewX(-15deg); }
    to   { transform: translateX(110%) skewX(-15deg); }
}

/* Модификаторы */
.p2-gact--link {
    text-decoration: none;
}

.p2-gact--cart {
    padding: 0;
}

.p2-gact--cart svg {
    width: calc(var(--space-m) + var(--space-xs));
    height: calc(var(--space-m) + var(--space-xs));
    flex-shrink: 0;
}

.p2-gact--cart.is-loading {
    opacity: .6;
    pointer-events: none;
    cursor: wait;
}

/* ===== Тело карточки ===== */
.p2-card__body {
    display: flex;
    flex-direction: column;
    gap: var(--space-s);
    flex: 1;
    padding: var(--space-m);
}

.p2-card__title {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  line-height: 1.35;
  margin: 0;
}
.p2-card__title a {
  color: var(--color-text);
  text-decoration: none !important;
}
.p2-card__title a:hover,
.p2-card__title a:focus-visible {
  color: var(--color-primary);
  text-decoration: none !important;
}

.p2-card__desc {
font-size: var(--font-size-sm);
color: var(--color-info);
line-height: var(--font-line-height-tight);
margin: calc(var(--space-xs) * 1.5) 0 calc(var(--space-xs) * 2.5);
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
.p2-card__desc p {
margin: 0 0 4px;
}
.p2-card__desc p:last-child {
margin-bottom: 0;
}
.p2-card__price {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-text);
    margin: 6px 0 0;
}

.p2-card__old {
    text-decoration: line-through;
    color: var(--color-text-muted);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-regular);
    margin-right: var(--space-s);
}

.p2-card__var {
    display: inline-block;
    width: fit-content;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    background: color-mix(in srgb, var(--color-primary) 8%, transparent);
    padding: 3px 10px;
    border-radius: var(--radius-s);
}

/* ===== Адаптивность сетки ===== */
@media (max-width: 1000px) {
    .p2-cat-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .p2-cat-grid {
        grid-template-columns: 1fr;
    }
}

/* ===== Тулбар: сортировка + вид отображения ===== */
.p2-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-m);
    margin-top: var(--space-m);
    flex-wrap: wrap;
}

.p2-toolbar__sort {
    display: flex;
    align-items: center;
    gap: var(--space-s);
}

.p2-toolbar__label {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    white-space: nowrap;
}

.p2-toolbar__select {
    padding: var(--space-xs) var(--space-s);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-s);
    font-size: var(--font-size-sm);
    font-family: var(--font-body);
    color: var(--color-text);
    background: var(--color-bg);
    cursor: pointer;
    transition: border-color var(--transition-fast);
}

.p2-toolbar__select:hover,
.p2-toolbar__select:focus {
    border-color: var(--color-primary);
    outline: none;
}

.p2-toolbar__submit {
    padding: var(--space-xs) var(--space-s);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-s);
    font-size: var(--font-size-sm);
    background: var(--color-bg-alt);
    color: var(--color-text);
    cursor: pointer;
}

/* Группа кнопок вида */
.p2-toolbar__view {
    display: flex;
    gap: var(--space-xs);
}

.p2-toolbar__view-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--space-l);
    height: var(--space-l);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-s);
    background: var(--color-bg);
    color: var(--color-text-muted);
    cursor: pointer;
    text-decoration: none;
    transition: color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);
}

.p2-toolbar__view-btn svg {
    width: var(--space-m);
    height: var(--space-m);
}

.p2-toolbar__view-btn:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.p2-toolbar__view-btn.is-active {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-text-inverse);
}

/* ===== Режим «список» ===== */
.p2-cat-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-m);
    margin-top: var(--space-l);
}

.p2-cat-list .p2-card {
flex-direction: row;
align-items: flex-start;
gap: var(--space-m);
}
.p2-cat-list .p2-card__media-wrap {
flex-shrink: 0;
width: 240px;
}
.p2-cat-list .p2-card__media {
width: 100%;
aspect-ratio: 4 / 3;
height: auto;
}
.p2-cat-list .p2-card__body {
flex: 1;
min-width: 0;
}

@media (max-width: 600px) {
.p2-cat-list .p2-card {
flex-direction: column;
}
.p2-cat-list .p2-card__media-wrap {
width: 100%;
}
}

/* ===== Бейдж скидки (страница товара) ===== */
.pv-discount-badge {
display: inline-flex;
align-items: center;
gap: var(--space-xs);
padding: var(--space-xs) var(--space-s);
background: var(--color-danger);
border: 1px solid var(--color-danger);
border-radius: var(--radius-s);
margin-bottom: var(--space-s);
}
.pv-discount-badge[style*="display:none"] {
margin-bottom: 0;
}
.pv-discount-badge__icon {
display: inline-flex;
align-items: center;
justify-content: center;
color: var(--color-text-inverse);
flex-shrink: 0;
}
.pv-discount-badge__icon svg {
width: var(--space-m);
height: var(--space-m);
}
.pv-discount-badge__percent {
font-size: var(--font-size-sm);
font-weight: var(--font-weight-bold);
color: var(--color-text-inverse);
white-space: nowrap;
}
.pv-discount-badge__savings {
font-size: var(--font-size-xs);
color: color-mix(in srgb, var(--color-text-inverse) 90%, transparent);
white-space: nowrap;
}

/* ===== Бейдж скидки на изображении (модификатор) ===== */
.pv-discount-badge--on-image {
position: absolute;
top: var(--space-m);
right: var(--space-m);
z-index: 3;
margin-bottom: 0;
background: var(--color-danger);
-webkit-backdrop-filter: blur(8px);
backdrop-filter: blur(8px);
box-shadow: var(--shadow-card);
border-color: color-mix(in srgb, var(--color-text-inverse) 30%, transparent);
}

/* ===== Бейдж скидки (карточка в списке) ===== */
.p2-card__discount-badge {
display: inline-flex;
align-items: center;
gap: var(--space-xs);
font-size: var(--font-size-xs);
font-weight: var(--font-weight-medium);
color: var(--color-text-inverse);
background: var(--color-danger);
padding: 3px 10px;
border-radius: var(--radius-s);
margin-top: var(--space-xs);
}
.p2-card__discount-badge svg {
width: var(--space-s);
height: var(--space-s);
flex-shrink: 0;
}
.p2-card__discount-percent {
font-weight: var(--font-weight-bold);
}
.p2-card__discount-savings {
color: color-mix(in srgb, var(--color-text-inverse) 90%, transparent);
}

/* === modules/product-gallery-lightbox.css === */
/* ============================================================
   product-gallery-lightbox.css
   Стили лайтбокса галереи карточки товара: полноэкранное
   увеличение по клику на главное фото (и по кнопке-иконке
   в левом верхнем углу), стрелки навигации, перетаскивание
   и свайп для перелистывания.

   Подложка затемнения идентична модальным окнам сайта
   (.modal из 03-components.css): color-mix 55% + blur(8px).

   История:
   - v2: подложка приведена к стилю модалки «Обратный звонок»,
     z-index выровнен с модальными окнами, добавлена SVG-кнопка
     увеличения .pv-gallery__zoom-btn в левом верхнем углу фото.

   Подключается в site.css автоматически через паттерн modules/*.css.
Все значения — только CSS-переменные из /admin/assets/variables.
============================================================ */
/* Лайтбокс открывается только по SVG-кнопке увеличения .pv-gallery__zoom-btn. */
/* ===== Кнопка увеличения (левый верхний угол главного фото) =====
   Стилистика стеклянных кнопок галереи (.pv-gact): полупрозрачный
   фон + blur, при наведении — фирменный цвет. */
.pv-gallery__zoom-btn {
    position: absolute;
    top: var(--space-m);
    left: var(--space-m);
    z-index: var(--z-index-dropdown);
    width: calc(var(--space-l) + var(--space-s) + var(--space-xs));
    height: calc(var(--space-l) + var(--space-s) + var(--space-xs));
    border: none;
    border-radius: var(--radius-circle);
    background: color-mix(in srgb, var(--color-text-inverse) 55%, transparent);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: var(--shadow-card);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--color-text-muted);
    transition: background var(--transition-fast), color var(--transition-fast);
}

.pv-gallery__zoom-btn svg {
    width: calc(var(--space-m) + var(--space-xs));
    height: calc(var(--space-m) + var(--space-xs));
    stroke: currentColor;
    fill: none;
    flex-shrink: 0;
}

.pv-gallery__zoom-btn:hover,
.pv-gallery__zoom-btn:focus-visible {
    background: var(--color-primary);
    color: var(--color-text-inverse);
}

.pv-gallery__zoom-btn:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

/* ===== Оверлей лайтбокса ===== */
.pv-lightbox {
    position: fixed;
    inset: 0;
    z-index: var(--z-index-modal);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity var(--transition-base);
}

.pv-lightbox--visible {
    opacity: 1;
}

/* Подложка: та же, что у модальных окон (.modal); клик закрывает лайтбокс */
.pv-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: color-mix(in srgb, var(--color-bg-dark) 55%, transparent);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    cursor: zoom-out;
}

/* ===== Контейнер изображения ===== */
.pv-lightbox__container {
    position: relative;
    z-index: 1;
    width: calc(100% - var(--space-xl) * 2);
    height: calc(100% - var(--space-xxl));
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: grab;
    touch-action: pan-y;
    transform: scale(0.96);
    transition: transform var(--transition-base);
}

.pv-lightbox--visible .pv-lightbox__container {
    transform: scale(1);
}

.pv-lightbox__container--dragging {
    cursor: grabbing;
}

/* ===== Изображение ===== */
.pv-lightbox__img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: var(--radius-m);
    box-shadow: var(--shadow-modal);
    user-select: none;
    -webkit-user-select: none;
    transition: transform var(--transition-base), opacity var(--transition-fast);
}

/* Во время перетаскивания transform следует за курсором без задержки */
.pv-lightbox__container--dragging .pv-lightbox__img {
    transition: none;
}

/* ===== Стрелки навигации ===== */
.pv-lightbox__btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: calc(var(--space-l) + var(--space-m));
    height: calc(var(--space-l) + var(--space-m));
    border: none;
    border-radius: var(--radius-circle);
    background: color-mix(in srgb, var(--color-text-inverse) 15%, transparent);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--color-text-inverse);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background var(--transition-fast);
}

.pv-lightbox__btn:hover {
    background: color-mix(in srgb, var(--color-text-inverse) 28%, transparent);
}

.pv-lightbox__btn:focus-visible {
    outline: 3px solid var(--color-text-inverse);
    outline-offset: 2px;
}

.pv-lightbox__btn--prev {
    left: var(--space-m);
}

.pv-lightbox__btn--next {
    right: var(--space-m);
}

.pv-lightbox__btn svg {
    width: calc(var(--space-m) + var(--space-s));
    height: calc(var(--space-m) + var(--space-s));
    stroke: currentColor;
    fill: none;
}

/* ===== Кнопка закрытия ===== */
.pv-lightbox__close {
    position: absolute;
    top: var(--space-m);
    right: var(--space-m);
    z-index: 2;
    width: calc(var(--space-l) + var(--space-s));
    height: calc(var(--space-l) + var(--space-s));
    border: none;
    border-radius: var(--radius-circle);
    background: color-mix(in srgb, var(--color-text-inverse) 15%, transparent);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--color-text-inverse);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background var(--transition-fast);
}

.pv-lightbox__close:hover {
    background: var(--color-danger);
}

.pv-lightbox__close:focus-visible {
    outline: 3px solid var(--color-text-inverse);
    outline-offset: 2px;
}

.pv-lightbox__close svg {
    width: var(--space-m);
    height: var(--space-m);
    stroke: currentColor;
    fill: none;
}

/* ===== Счётчик изображений ===== */
.pv-lightbox__counter {
    position: absolute;
    bottom: var(--space-m);
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    font-family: var(--font-body);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    line-height: var(--font-line-height);
    color: var(--color-text-inverse);
    background: color-mix(in srgb, var(--color-bg-dark) 60%, transparent);
    padding: var(--space-xs) var(--space-m);
    border-radius: var(--radius-pill);
    pointer-events: none;
}

/* ===== Адаптивность ===== */
@media (max-width: 768px) {
    .pv-lightbox__container {
        width: calc(100% - var(--space-l));
        height: calc(100% - var(--space-xl));
    }

    .pv-lightbox__btn {
        width: calc(var(--space-l) + var(--space-s));
        height: calc(var(--space-l) + var(--space-s));
    }

    .pv-lightbox__btn--prev {
        left: var(--space-s);
    }

    .pv-lightbox__btn--next {
        right: var(--space-s);
    }

    .pv-lightbox__btn svg {
        width: var(--space-m);
        height: var(--space-m);
    }

    .pv-lightbox__close {
        top: var(--space-s);
        right: var(--space-s);
    }

    .pv-lightbox__counter {
        bottom: var(--space-s);
    }
}

/* ===== Уважение к prefers-reduced-motion ===== */
@media (prefers-reduced-motion: reduce) {
    .pv-lightbox,
    .pv-lightbox__container,
    .pv-lightbox__img,
    .pv-lightbox__btn,
    .pv-lightbox__close,
    .pv-gallery__zoom-btn {
        transition: none;
    }
}

/* === modules/quiz.css === */
/* ============================================================
Quiz — лид-квиз (стиль по образцу istrasm.ru, без тёмного фона)
============================================================ */
/* quiz-width-limited: ширина квиза выровнена по page-block--limited: max-width = --container-max-width, центрирование */
.quiz-block{position:relative;padding:64px 0;overflow:hidden;width:100%;max-width:var(--container-max-width,1400px);margin-left:auto;margin-right:auto}
/* quiz-bg-remove: фон, обводка и тени удалены полностью */
.quiz{position:relative;z-index:1;max-width:var(--container-max-width,1400px);width:100%;margin:0 auto;border-radius:24px;padding:48px 40px}

/* Шапка */
.quiz__head{text-align:center;margin-bottom:32px}
.quiz__title{margin:0 0 12px;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;color:var(--text-primary,#363f53);line-height:1.2}
.quiz__subtitle{margin:0;font-size:1.05rem;color:var(--text-muted,#6b7280);max-width:600px;margin-inline:auto}

/* Прогресс */
.quiz__progress{display:flex;align-items:center;gap:12px;margin-bottom:32px}
.quiz__progress-track{flex:1;height:6px;border-radius:99px;background:var(--bg-alt,#f7f8fa);overflow:hidden}
.quiz__progress-fill{height:100%;width:0%;border-radius:99px;background:linear-gradient(90deg,#f65f0c,#e8590c);transition:width .5s cubic-bezier(.4,0,.2,1);box-shadow:0 0 10px rgba(242,220,207,.3)}
.quiz__progress-label{min-width:48px;text-align:right;font-size:.85rem;font-weight:700;color:var(--color-primary,#f2dccf);font-variant-numeric:tabular-nums}

/* Шаги */
.quiz__step{display:none;animation:quizFadeIn .5s ease forwards}
.quiz__step.is-active{display:block}
@keyframes quizFadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.quiz__step-title{margin:0 0 24px;text-align:center;font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:700;color:var(--text-primary,#363f53)}
.quiz__step-hint{text-align:center;margin:-12px 0 20px;font-size:.92rem;color:var(--text-muted,#6b7280)}

/* Карточки выбора */
.quiz__options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}
.quiz__option{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:130px;padding:24px 16px;border:2px solid var(--border-color,rgba(28,31,38,.1));border-radius:16px;background:var(--bg-surface,#fff);color:var(--text-primary,#363f53);font-size:1rem;font-weight:600;line-height:1.3;cursor:pointer;text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden}
.quiz__option::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(242,220,207,.06),transparent);opacity:0;transition:opacity .4s ease;pointer-events:none}
.quiz__option:hover{border-color:var(--color-primary,#f2dccf);transform:translateY(-5px);box-shadow:0 10px 28px rgba(28,31,38,.12)}
.quiz__option:hover::before{opacity:1}
.quiz__option.is-selected{border-color:var(--color-primary,#f2dccf);background:rgba(242,220,207,.06);box-shadow:0 10px 30px rgba(242,220,207,.18)}
.quiz__option.is-selected::after{content:"";position:absolute;top:12px;right:12px;width:20px;height:20px;border-radius:50%;background:var(--color-primary,#f2dccf);box-shadow:0 0 10px rgba(242,220,207,.5);z-index:2}

.quiz__option-icon{font-size:1.8rem;line-height:1}
.quiz__option-label{pointer-events:none}
.quiz__option-desc{pointer-events:none;font-size:.82rem;font-weight:400;color:var(--text-muted,#6b7280);margin:0}

/* Варианты с фото */
.quiz__option--photo{justify-content:flex-start;gap:12px;min-height:260px;padding:14px}
.quiz__option-img{width:100%;height:180px;object-fit:cover;border-radius:12px;pointer-events:none;transition:transform .35s ease,box-shadow .35s ease}
.quiz__option--photo:hover .quiz__option-img{transform:scale(1.04)}
.quiz__option--photo.is-selected .quiz__option-img{box-shadow:0 0 20px rgba(242,220,207,.3)}
.quiz__option--photo .quiz__option-label{font-size:.95rem}

/* Поля контактов */
.quiz__fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}
.quiz__field{display:flex;flex-direction:column;gap:6px}
.quiz__field-label{font-size:.85rem;color:var(--text-muted,#6b7280);font-weight:500}
.quiz__input{width:100%;padding:14px 16px;border:2px solid var(--border-color,rgba(28,31,38,.1));border-radius:12px;background:var(--bg-surface,#fff);color:var(--text-primary,#363f53);font-size:1rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.quiz__input::placeholder{color:var(--text-muted,#9ca3af)}
.quiz__input:focus{border-color:var(--color-primary,#f2dccf);box-shadow:0 0 0 3px rgba(242,220,207,.15)}
.quiz__field--full{grid-column:1 / -1}
.quiz__consent{display:flex;align-items:flex-start;gap:10px;margin-bottom:22px;font-size:.85rem;color:var(--text-muted,#6b7280)}
.quiz__consent input{margin-top:3px;accent-color:var(--color-primary,#f2dccf)}

/* Навигация */
.quiz__nav{display:flex;justify-content:space-between;align-items:center;gap:14px}
.quiz__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:12px;border:2px solid transparent;font-size:1rem;font-weight:700;cursor:pointer;transition:all .25s ease}
.quiz__btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.quiz__btn--primary{background:linear-gradient(90deg,#f65f0c,#e8590c);color:#fff;box-shadow:0 8px 22px rgba(242,220,207,.25)}
.quiz__btn--primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px rgba(242,220,207,.35)}
.quiz__btn--ghost{background:transparent;border-color:var(--border-color,rgba(28,31,38,.15));color:var(--text-primary,#363f53)}
.quiz__btn--ghost:hover:not(:disabled){border-color:var(--color-primary,#f2dccf);background:rgba(242,220,207,.04)}
.quiz__btn--hidden{visibility:hidden}

/* Статус */
.quiz__status{min-height:24px;margin:14px 0 0;text-align:center;font-size:.92rem}
.quiz__status.is-error{color:var(--color-danger,#e03131)}
.quiz__status.is-success{color:var(--color-success,#2f9e44)}
.quiz__status.is-loading{color:var(--text-muted,#6b7280)}

/* Экран благодарности */
.quiz__thanks{display:none;text-align:center;padding:40px 20px}
.quiz__thanks.is-visible{display:block;animation:quizFadeIn .45s ease both}
.quiz__thanks-icon{width:72px;height:72px;margin:0 auto 20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f65f0c,#e8590c);box-shadow:0 12px 34px rgba(242,220,207,.3);font-size:2rem;color:#fff}
.quiz__thanks-title{margin:0 0 10px;font-size:1.5rem;font-weight:800;color:var(--text-primary,#363f53)}
.quiz__thanks-text{margin:0;font-size:1.02rem;color:var(--text-muted,#6b7280)}

/* Анимации */
@media (prefers-reduced-motion:reduce){
.quiz-block::before,.quiz-block::after{animation:none}
.quiz__step.is-active,.quiz__thanks.is-visible{animation:none}
.quiz__progress-fill{transition:none}
.quiz__option,.quiz__btn,.quiz__option-img{transition:none}
}

/* Адаптив */
@media (max-width:768px){
.quiz-block{padding:44px 12px}
.quiz{padding:28px 18px;border-radius:18px}
.quiz__options{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.quiz__option{min-height:110px;padding:18px 12px;font-size:.95rem}
.quiz__option--photo{min-height:220px;padding:10px}
.quiz__option-img{height:140px;border-radius:10px}
.quiz__fields{grid-template-columns:1fr}
.quiz__nav{flex-direction:column-reverse}
.quiz__btn{width:100%}
.quiz__btn--hidden{display:none}
}
/* quiz-white-bg-fix: фон карточки прозрачный; рамка и свечение убраны */
.quiz-block{background:transparent;position:relative}
.quiz{position:relative;z-index:2;border-radius:24px}
.quiz__title{color:#ffffff}
.quiz__subtitle,.quiz__option-desc,.quiz__consent,.quiz__field-label{color:#9aa3b2}
.quiz__step-title{color:#ffffff}
.quiz__option{background:#fff;color:#1c1f26;border-color:rgba(28,31,38,.12)}
.quiz__input{background:#fff;color:#1c1f26;border-color:rgba(28,31,38,.12)}
/* quiz-selected-text-fix: выбранный вариант — белый фон, тёмный текст, контрастная рамка */
.quiz__option.is-selected{background:#fff;color:#1c1f26;border-color:#f65f0c}
.quiz__option.is-selected .quiz__option-label{color:#1c1f26}
.quiz__option.is-selected .quiz__option-desc{color:#6b7280}
.quiz__option.is-selected::after{background:#f65f0c;box-shadow:0 0 10px rgba(246,95,12,.35)}
/* === СВЕТЛАЯ ТЕМА: читаемые заголовки квиза === */
html[data-theme="light"] .quiz__title{color:#1a1d22}
html[data-theme="light"] .quiz__step-title{color:#1a1d22}
html[data-theme="light"] .quiz__subtitle{color:rgba(26,29,34,.65)}
html[data-theme="light"] .quiz__option-desc{color:rgba(26,29,34,.6)}
html[data-theme="light"] .quiz__field-label{color:rgba(26,29,34,.7)}
html[data-theme="light"] .quiz__consent{color:rgba(26,29,34,.6)}
html[data-theme="light"] .quiz__progress-label{color:#c94a00}
html[data-theme="light"] .quiz__btn--ghost{border-color:rgba(26,29,34,.2);color:#1a1d22}
html[data-theme="light"] .quiz__btn--ghost:hover:not(:disabled){border-color:#f65908;color:#c94a00}
/* Кнопка primary остаётся с белым текстом — фон оранжевый градиент */


/* === modules/scroll-reveal.css === */
/* === SCROLL REVEAL EFFECTS: premium animations on scroll === */
/* Colors: #1a1d22 (dark), #f65908 (accent) */

[data-scroll-reveal]{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}
[data-scroll-reveal="left"]{transform:translateX(-40px)}
[data-scroll-reveal="right"]{transform:translateX(40px)}
[data-scroll-reveal="scale"]{transform:scale(.92)}
[data-scroll-reveal="fade"]{transform:none}
[data-scroll-reveal].is-revealed{opacity:1;transform:none}

/* Stagger children */
[data-scroll-stagger]>*{opacity:0;transform:translateY(24px);transition:opacity .55s cubic-bezier(.4,0,.2,1),transform .55s cubic-bezier(.4,0,.2,1)}
[data-scroll-stagger].is-revealed>*{opacity:1;transform:none}
[data-scroll-stagger].is-revealed>*:nth-child(1){transition-delay:.05s}
[data-scroll-stagger].is-revealed>*:nth-child(2){transition-delay:.12s}
[data-scroll-stagger].is-revealed>*:nth-child(3){transition-delay:.19s}
[data-scroll-stagger].is-revealed>*:nth-child(4){transition-delay:.26s}
[data-scroll-stagger].is-revealed>*:nth-child(5){transition-delay:.33s}
[data-scroll-stagger].is-revealed>*:nth-child(6){transition-delay:.4s}
[data-scroll-stagger].is-revealed>*:nth-child(7){transition-delay:.47s}
[data-scroll-stagger].is-revealed>*:nth-child(8){transition-delay:.54s}

/* Section titles with accent underline */
.section-title-reveal{position:relative;padding-bottom:16px;text-align:center}
.section-title-reveal::after{content:"";position:absolute;left:50%;bottom:0;width:64px;height:3px;border-radius:2px;background:linear-gradient(90deg,#f65908,#ffb347);box-shadow:0 0 12px rgba(246,89,8,.5);transform:translateX(-50%) scaleX(0);transform-origin:center;transition:transform .6s cubic-bezier(.4,0,.2,1) .3s}
.section-title-reveal.is-revealed::after,.is-revealed .section-title-reveal::after{transform:translateX(-50%) scaleX(1)}

/* Glow border on cards */
.card-glow-reveal{border:1px solid rgba(255,255,255,.06);transition:border-color .4s ease,box-shadow .4s ease}
.card-glow-reveal.is-revealed,.is-revealed .card-glow-reveal{border-color:rgba(246,89,8,.25);box-shadow:0 4px 24px rgba(0,0,0,.2),0 0 20px rgba(246,89,8,.08)}

/* Counter animation */
[data-counter]{display:inline-block}

/* Parallax subtle */
[data-parallax-slow]{transition:transform .1s linear;will-change:transform}

/* Page content sections */
.page-block{position:relative}
.page-block::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(80%,600px);height:1px;background:linear-gradient(90deg,transparent,rgba(246,89,8,.3),transparent);pointer-events:none}
.page-block:first-child::before{display:none}
/* Premium limited blocks: blur+scale reveal, accent divider */
.page-block--limited[data-scroll-reveal]{transform:translateY(44px) scale(.985);filter:blur(8px);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1),filter .85s cubic-bezier(.22,1,.36,1)}
.page-block--limited.is-revealed{transform:none;filter:blur(0)}
.page-block--limited::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:min(72%,520px);height:1px;background:linear-gradient(90deg,transparent,rgba(246,89,8,.22),transparent);pointer-events:none}
@media(prefers-reduced-motion:reduce){.page-block--limited[data-scroll-reveal]{transform:none;filter:none;transition:none}}
/* reveal-glow-v1: свечение limited-блока в состоянии is-revealed (!important перекрывает сброс box-shadow из block-bg-remove-v2) */
.page-block--limited.is-revealed .page-block__inner{border-color:rgba(230,96,43,.25);box-shadow:0 0 20px rgba(230,96,43,.35),0 0 60px rgba(230,96,43,.12)!important;transition:border-color .3s ease,box-shadow .3s ease}
.page-block--limited.is-revealed .page-block__inner:hover{border-color:rgba(246,89,8,.5);box-shadow:0 0 30px rgba(230,96,43,.5),0 0 80px rgba(230,96,43,.22)!important}
/* Hero section premium */
.hero-premium{position:relative;overflow:hidden;background:linear-gradient(160deg,#1a1d22 0%,#141619 50%,#1a1d22 100%)}
.hero-premium::before{content:"";position:absolute;top:-50%;right:-20%;width:60%;height:200%;background:radial-gradient(ellipse,rgba(246,89,8,.06) 0%,transparent 70%);pointer-events:none;animation:heroGlow 8s ease-in-out infinite alternate}
.hero-premium::after{content:"";position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(to top,var(--color-bg,#111318),transparent);pointer-events:none}
@keyframes heroGlow{0%{opacity:.6;transform:translateX(0) scale(1)}100%{opacity:1;transform:translateX(-5%) scale(1.1)}}

/* Grid texture overlay for dark sections */
.dark-section-texture{position:relative}
.dark-section-texture::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(246,89,8,.04) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
[data-scroll-reveal],[data-scroll-stagger]>*{opacity:1!important;transform:none!important;transition:none!important}
.section-title-reveal::after{transform:scaleX(1)!important;transition:none!important}
.hero-premium::before{animation:none!important}
}

/* === modules/services-carousel.css === */
/* Карусель услуг. Рендерится из app/helpers/services-carousel.php */
.svc-carousel{position:relative;padding:0 48px}
.svc-carousel__vp{overflow:hidden}
.svc-carousel__track{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.svc-carousel__slide{flex:0 0 100%;min-width:100%;padding:4px}
.svc-card{background:#fff;border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.08);overflow:hidden;height:100%}
.svc-card__img{width:100%;height:180px;object-fit:cover;display:block}
.svc-card__title{margin:0;padding:16px 16px 8px;font-size:1.15rem;line-height:1.3}
.svc-card__desc{margin:0;padding:0 16px 16px;font-size:.9rem;line-height:1.5;opacity:.8}
.svc-card--link{display:block;text-decoration:none;color:inherit}
.svc-card--link:hover{box-shadow:0 8px 24px rgba(0,0,0,.12)}
.svc-card--link:hover .svc-card__title{color:var(--color-primary,#4f46e5)}
.svc-carousel__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:40px;height:40px;border:none;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;cursor:pointer;font-size:18px;line-height:1}
.svc-carousel__nav--prev{left:0}
.svc-carousel__nav--next{right:0}
.svc-carousel__nav:hover{background:rgba(0,0,0,.65)}
.svc-carousel__nav:focus-visible{outline:3px solid var(--color-primary,#4f46e5);outline-offset:2px}
.svc-carousel__dots{display:flex;justify-content:center;gap:8px;padding:12px 0 0}
.svc-carousel__dot{width:10px;height:10px;border:none;border-radius:50%;background:rgba(0,0,0,.25);cursor:pointer;padding:0}
.svc-carousel__dot--active{background:var(--color-primary,#4f46e5)}
@media(min-width:768px){.svc-carousel__slide{flex:0 0 50%;min-width:50%}}
@media(min-width:1024px){.svc-carousel__slide{flex:0 0 33.333%;min-width:33.333%}}
@media(max-width:600px){.svc-carousel{padding:0 40px}.svc-card__img{height:150px}}
@media(prefers-reduced-motion:reduce){.svc-carousel__track{transition:none}}

/* === Тёмная тема: карусель внутри .offers-section на главной === */
/* Убираем стрелки и отступ под них, карточки в стиле тёмной темы #1a1d22/#f65908 */
.page-block--limited .offers-section .svc-carousel{padding:0}
.page-block--limited .offers-section .svc-carousel__nav{display:none}
.page-block--limited .offers-section .svc-card{background:linear-gradient(165deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.08);border-radius:18px;box-shadow:0 4px 18px rgba(0,0,0,.35);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.page-block--limited .offers-section .svc-card--link:hover{transform:translateY(-6px);border-color:rgba(246,89,8,.45);box-shadow:0 14px 38px rgba(0,0,0,.4),0 0 22px rgba(246,89,8,.12)}
.page-block--limited .offers-section .svc-card__img{height:200px}
.page-block--limited .offers-section .svc-card__title{margin:0;padding:16px 18px 8px;font-size:1.05rem;line-height:1.35;font-weight:700;color:#fff}
.page-block--limited .offers-section .svc-card__title::before{content:none;display:none}
.page-block--limited .offers-section .svc-card--link:hover .svc-card__title{color:#ffb347}
.page-block--limited .offers-section .svc-card__desc{margin:0;padding:0 18px 18px;font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.6);opacity:1}
.page-block--limited .offers-section .svc-carousel__dots{padding:22px 0 0}
.page-block--limited .offers-section .svc-carousel__dot{background:rgba(255,255,255,.25)}
.page-block--limited .offers-section .svc-carousel__dot--active{background:#f65908;box-shadow:0 0 8px rgba(246,89,8,.5)}
@media(max-width:600px){.page-block--limited .offers-section .svc-card__img{height:160px}}
/* === СВЕТЛАЯ ТЕМА: читаемые карточки карусели в offers-section === */
html[data-theme="light"] .page-block--limited .offers-section .svc-card{background:#fff;border-color:rgba(26,29,34,.1);box-shadow:0 4px 16px rgba(26,29,34,.06)}
html[data-theme="light"] .page-block--limited .offers-section .svc-card--link:hover{border-color:rgba(246,89,8,.4);box-shadow:0 14px 38px rgba(26,29,34,.12),0 0 22px rgba(246,89,8,.08)}
html[data-theme="light"] .page-block--limited .offers-section .svc-card__title{color:#1a1d22}
html[data-theme="light"] .page-block--limited .offers-section .svc-card--link:hover .svc-card__title{color:#c94a00}
html[data-theme="light"] .page-block--limited .offers-section .svc-card__desc{color:rgba(26,29,34,.65)}
html[data-theme="light"] .page-block--limited .offers-section .svc-carousel__dot{background:rgba(26,29,34,.25)}
html[data-theme="light"] .page-block--limited .offers-section .svc-carousel__dot--active{background:#f65908}

/* === modules/slider.css === */
/**
 * slider.css
 * Hero-слайдер для главной страницы.
 * Стили для секции .hero-slider, рендерится из app/helpers/sliders.php
 */

/* === Контейнер слайдера === */
.hero-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: var(--color-bg-dark, #1a1a2e);
}

/* === Viewport (область видимости) === */
.hero-slider__viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* === Трек со слайдами === */
.hero-slider__track {
  display: flex;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}

/* === Отдельный слайд === */
.hero-slider__slide {
  position: relative;
  flex: 0 0 100%;
  min-width: 100%;
  min-height: 480px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* === Фоновое изображение слайда === */
.hero-slider__image {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.hero-slider__image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.25) 0%,
    rgba(0, 0, 0, 0.45) 100%
  );
}

/* === Контент слайда === */
.hero-slider__content {
  position: relative;
  z-index: 2;
  max-width: 720px;
  padding: 40px 24px;
  text-align: center;
  color: #ffffff;
}

/* === Заголовок слайда === */
.hero-slider__title {
  margin: 0 0 16px;
  font-size: clamp(1.75rem, 4vw, 3rem);
  font-weight: 700;
  line-height: 1.2;
  color: inherit;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* === Подзаголовок === */
.hero-slider__subtitle {
  margin: 0 0 24px;
  font-size: clamp(1rem, 2vw, 1.25rem);
  font-weight: 400;
  line-height: 1.5;
  opacity: 0.9;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

/* === Кнопка CTA === */
.hero-slider__button {
  display: inline-block;
  padding: 14px 32px;
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
  background-color: var(--color-primary, #4f46e5);
  border: none;
  border-radius: 8px;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
}

.hero-slider__button:hover,
.hero-slider__button:focus-visible {
color: #ffffff;
background-color: var(--color-primary-hover, #4338ca);
background-color: color-mix(in srgb, var(--color-primary, #4f46e5) 80%, #000000);
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
}

.hero-slider__button:focus-visible {
outline: 3px solid var(--color-text-inverse);
outline-offset: 3px;
}
.hero-slider__button:active {
  transform: translateY(0);
}

/* === Навигация (стрелки) === */
.hero-slider__nav {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
  padding: 0 12px;
}

.hero-slider__btn {
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(4px);
  color: #ffffff;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.hero-slider__btn:hover {
  background-color: rgba(255, 255, 255, 0.3);
  transform: scale(1.1);
}

.hero-slider__btn:focus-visible {
outline: 3px solid var(--color-text-inverse);
outline-offset: 2px;
}
.hero-slider__btn svg {
  width: 24px;
  height: 24px;
  stroke: currentColor;
  fill: none;
}

/* === Точки (dots) === */
.hero-slider__dots {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  gap: 10px;
}

.hero-slider__dot {
  width: 12px;
  height: 12px;
  border: 2px solid rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  background-color: transparent;
  cursor: pointer;
  padding: 0;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.hero-slider__dot:hover {
  border-color: #ffffff;
  transform: scale(1.2);
}

.hero-slider__dot:focus-visible {
outline: 3px solid var(--color-text-inverse);
outline-offset: 2px;
}
.hero-slider__dot--active {
  background-color: #ffffff;
  border-color: #ffffff;
}

/* === Анимация появления контента === */
.hero-slider__slide--active .hero-slider__content {
  animation: heroSlideFadeIn 0.6s ease forwards;
}

@keyframes heroSlideFadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* === Адаптивность === */
@media (max-width: 768px) {
  .hero-slider__slide {
    min-height: 380px;
  }

  .hero-slider__content {
    padding: 32px 16px;
  }

  .hero-slider__btn {
    width: 40px;
    height: 40px;
  }

  .hero-slider__btn svg {
    width: 20px;
    height: 20px;
  }

  .hero-slider__dots {
    bottom: 14px;
    gap: 8px;
  }

  .hero-slider__dot {
    width: 10px;
    height: 10px;
  }
}

@media (max-width: 480px) {
  .hero-slider__slide {
    min-height: 320px;
  }

  .hero-slider__button {
    padding: 12px 24px;
    font-size: 0.9rem;
  }

  .hero-slider__nav {
    padding: 0 8px;
  }
}

/* === Уважение к prefers-reduced-motion === */
@media (prefers-reduced-motion: reduce) {
  .hero-slider__track {
    transition: none;
  }

  .hero-slider__slide--active .hero-slider__content {
    animation: none;
  }

  .hero-slider__button,
  .hero-slider__btn,
  .hero-slider__dot {
    transition: none;
  }
}

/* === modules/theme-proba2-blog-media.css === */
/* Тема proba-2: галерея «Видео и фото» (blog-media) на странице статей */

.blog-media {
  margin: 48px 0;
}

.blog-media__header {
  max-width: 720px;
  margin-bottom: 32px;
}

.blog-media__header h2 {
  font-family: var(--font-display, 'Unbounded', 'Segoe UI', system-ui, sans-serif);
  font-size: clamp(24px, 3vw, 34px);
  font-weight: var(--font-weight-bold, 800);
  line-height: 1.2;
  margin: 0 0 12px;
  color: var(--color-text, #1a1a1a);
}

.blog-media__header p {
  margin: 0;
  color: var(--color-text-muted, #6b7280);
  font-size: var(--font-size-lg, 18px);
  line-height: var(--font-line-height, 1.6);
}

.blog-media__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.blog-media__card {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-l, 18px);
  border: 1px solid var(--color-border, rgba(28, 31, 38, 0.1));
  background: var(--color-bg-alt, #f7f8fa);
  box-shadow: var(--shadow-card, 0 2px 12px rgba(28, 31, 38, 0.08));
  transition: transform var(--transition-base, 0.25s ease),
              box-shadow var(--transition-base, 0.25s ease);
}

.blog-media__card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover, 0 8px 28px rgba(28, 31, 38, 0.14));
}

.blog-media__img,
.blog-media__video {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: var(--color-bg-dark, #111318);
}

.blog-media__video {
  aspect-ratio: 16 / 9;
  object-fit: contain;
}

.blog-media__caption {
  padding: 10px 14px;
  font-size: var(--font-size-sm, 14px);
  font-weight: var(--font-weight-medium, 600);
  color: var(--color-text-muted, #6b7280);
  border-top: 1px solid var(--color-border, rgba(28, 31, 38, 0.1));
}

/* Планшеты */
@media (max-width: 1024px) {
  .blog-media__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Мобильные */
@media (max-width: 640px) {
  .blog-media {
    margin: 32px 0;
  }
  .blog-media__header {
    margin-bottom: 20px;
  }
  .blog-media__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .blog-media__card:hover {
    transform: none;
  }
}

/* Тёмная схема */
@media (prefers-color-scheme: dark) {
  .blog-media__header h2 {
    color: #f3f4f6;
  }
  .blog-media__header p {
    color: #9ca3af;
  }
  .blog-media__card {
    background: #1a1d24;
    border-color: rgba(255, 255, 255, 0.12);
  }
  .blog-media__caption {
    color: #9ca3af;
    border-top-color: rgba(255, 255, 255, 0.12);
  }
}

/* Поддержка prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .blog-media__card {
    transition: none;
  }
  .blog-media__card:hover {
    transform: none;
  }
}

/* === modules/theme-proba2-cart-success.css === */
/*! source: templates/themes/proba-2/modules/cart/success.php */
/* Стили экрана успешного заказа (proba-2). Вынесено из инлайн-<style> в success.php. */
.cs-wrap{max-width:720px;margin:0 auto;padding:24px 0 60px}
.cs-hero{text-align:center;padding:40px 20px 32px}
.cs-hero__icon{width:96px;height:96px;border-radius:var(--radius-circle);background:linear-gradient(135deg,var(--color-success),color-mix(in srgb,var(--color-success) 80%,black));display:flex;align-items:center;justify-content:center;margin:0 auto 24px;box-shadow:0 16px 40px color-mix(in srgb,var(--color-success) 30%,transparent);animation:cs-pop .5s cubic-bezier(.18,.89,.32,1.28)}
@keyframes cs-pop{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}
.cs-hero__icon svg{width:48px;height:48px;stroke:var(--color-text-inverse);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cs-hero__title{font-size:clamp(26px,4vw,36px);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 12px}
.cs-hero__text{font-size:17px;color:var(--color-text-muted);line-height:var(--font-line-height);margin:0 auto;max-width:480px}
.cs-hero__number{display:inline-block;margin-top:20px;background:color-mix(in srgb,var(--color-primary) 10%,var(--color-bg));color:var(--color-primary);border:1px solid color-mix(in srgb,var(--color-primary) 30%,var(--color-bg));padding:10px 22px;border-radius:var(--radius-pill);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);letter-spacing:.5px}
.cs-details{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-l);padding:28px;margin-top:var(--space-l)}
.cs-details__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 20px;padding-bottom:var(--space-m);border-bottom:1px solid var(--color-bg-alt)}
.cs-details__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}
.cs-detail{display:flex;flex-direction:column;gap:var(--space-xs)}
.cs-detail__label{font-size:13px;color:var(--color-text-muted);font-weight:var(--font-weight-medium)}
.cs-detail__value{font-size:15px;color:var(--color-text);font-weight:var(--font-weight-medium)}
.cs-detail__value a{color:var(--color-primary);text-decoration:none}
.cs-detail__value a:hover{text-decoration:underline}
.cs-status{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-pill);font-size:13px;font-weight:var(--font-weight-bold);width:fit-content}
.cs-status::before{content:"";width:8px;height:8px;border-radius:var(--radius-circle);background:currentColor}
.cs-status--pending{background:color-mix(in srgb,var(--color-warning) 15%,var(--color-bg));color:color-mix(in srgb,var(--color-warning) 80%,black)}
.cs-status--confirmed{background:color-mix(in srgb,var(--color-info) 15%,var(--color-bg));color:color-mix(in srgb,var(--color-info) 80%,black)}
.cs-status--processing{background:color-mix(in srgb,var(--color-primary) 15%,var(--color-bg));color:var(--color-primary)}
.cs-status--shipped{background:color-mix(in srgb,var(--color-info) 12%,var(--color-bg));color:color-mix(in srgb,var(--color-info) 70%,black)}
.cs-status--delivered{background:color-mix(in srgb,var(--color-success) 15%,var(--color-bg));color:color-mix(in srgb,var(--color-success) 70%,black)}
.cs-status--cancelled{background:color-mix(in srgb,var(--color-danger) 12%,var(--color-bg));color:color-mix(in srgb,var(--color-danger) 70%,black)}
.cs-totals{margin-top:24px;padding-top:20px;border-top:1px solid var(--color-bg-alt);display:flex;flex-direction:column;gap:10px}
.cs-totals__row{display:flex;justify-content:space-between;align-items:center;font-size:15px;color:var(--color-text)}
.cs-totals__row span:last-child{font-weight:var(--font-weight-bold);color:var(--color-text)}
.cs-totals__row--grand{border-top:2px solid var(--color-border);margin-top:6px;padding-top:var(--space-m);font-size:20px;font-weight:var(--font-weight-bold);color:var(--color-text)}
.cs-totals__row--grand span:last-child{color:var(--color-primary)}
.cs-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:36px}
.cs-btn{display:inline-flex;align-items:center;gap:var(--space-s);padding:15px 32px;border-radius:var(--radius-m);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);text-decoration:none;transition:transform var(--transition-base),box-shadow var(--transition-base),background var(--transition-base)}
.cs-btn--primary{background:var(--color-primary);color:var(--color-text-inverse)}
.cs-btn--primary:hover,.cs-btn--primary:focus-visible{background:var(--color-primary-hover);color:var(--color-text-inverse);transform:translateY(-2px);box-shadow:0 10px 24px color-mix(in srgb,var(--color-primary) 30%,transparent)}
.cs-btn--ghost{background:var(--color-bg-alt);color:var(--color-text)}
.cs-btn--ghost:hover,.cs-btn--ghost:focus-visible{background:var(--color-border);color:var(--color-text);transform:translateY(-2px)}
/* padding: 60px 20px через токены (xl - xs / m + xs) */
.cs-notfound{text-align:center;padding:calc(var(--space-xl) - var(--space-xs)) calc(var(--space-m) + var(--space-xs))}
.cs-notfound__icon{font-size:64px;margin-bottom:var(--space-m)}
.cs-notfound__title{font-size:24px;font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 10px}
.cs-notfound__text{font-size:var(--font-size-base);color:var(--color-text-muted);margin:0 0 28px;line-height:var(--font-line-height)}
.cs-note{text-align:center;margin-top:24px;font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--font-line-height)}
@media(max-width:560px){
.cs-details__grid{grid-template-columns:1fr}
.cs-actions{flex-direction:column}
.cs-btn{width:100%;justify-content:center}
}

/* === modules/theme-proba2-cart.css === */
/*! source: templates/themes/proba-2/modules/cart/cart.php */
/* Стили корзины и чекаута (proba-2). Вынесено из инлайн-<style> в cart.php. */
.ct-layout{display:grid;grid-template-columns:1fr 380px;gap:32px;align-items:start;margin-top:var(--space-l,24px)}
.ct-items{display:flex;flex-direction:column;gap:16px}
.ct-item{display:grid;grid-template-columns:88px 1fr auto;gap:16px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:16px;padding:16px;transition:box-shadow .2s}
.ct-item:hover{box-shadow:var(--shadow-card-hover)}
.ct-item__img{width:88px;height:88px;border-radius:12px;object-fit:cover;background:var(--color-bg-alt)}
.ct-item__img--placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 8%,var(--color-bg)),color-mix(in srgb,var(--color-primary) 15%,var(--color-bg)));color:var(--color-text-muted);font-size:28px}
.ct-item__info{display:flex;flex-direction:column;gap:6px;min-width:0}
.ct-item__title{font-size:16px;font-weight:600;color:var(--color-text);margin:0;line-height:1.4}
.ct-item__title a{color:inherit;text-decoration:none}
.ct-item__title a:hover{color:var(--color-primary)}
.ct-item__sku{font-size:var(--font-size-caption);color:var(--color-text-muted)}
.ct-item__price{font-size:15px;font-weight:700;color:var(--color-text)}
.ct-item__controls{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:12px}
.ct-item__line-total{font-size:17px;font-weight:800;color:var(--color-text);white-space:nowrap}
.ct-item__remove{display:inline-flex;align-items:center;gap:var(--space-2xs,4px);background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-caption);cursor:pointer;padding:4px 8px;border-radius:6px;line-height:1;white-space:nowrap;transition:color .15s,background .15s}
.ct-item__remove:hover{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 12%,var(--color-bg))}
.ct-item__remove svg{flex-shrink:0}
.ct-item__stock-warn{font-size:12px;color:var(--color-danger);font-weight:600}
.ct-clear{display:flex;justify-content:flex-end;margin-top:var(--space-xs,8px)}
.ct-clear__btn{display:inline-flex;align-items:center;gap:var(--space-xs,8px);background:var(--color-bg,#fff);border:1px solid var(--color-border,#e5e7eb);color:var(--color-text-muted,#6b7280);font-size:var(--font-size-sm,14px);font-weight:var(--font-weight-medium,600);padding:var(--space-s,10px) var(--space-m,18px);border-radius:var(--radius-m,10px);cursor:pointer;transition:var(--transition-fast,.2s)}
.ct-clear__btn:hover:not(:disabled){color:var(--color-danger,#dc2626);border-color:var(--color-danger,#dc2626);background:color-mix(in srgb,var(--color-danger,#dc2626) 8%,transparent)}
.ct-clear__btn:disabled{opacity:.5;cursor:not-allowed}
.ct-clear__btn svg{width:1em;height:1em;flex-shrink:0}
.ct-clear__btn.is-confirm{color:var(--color-text-inverse,#fff);border-color:var(--color-danger,#dc2626);background:var(--color-danger,#dc2626)}
.ct-clear__btn.is-confirm:hover:not(:disabled){opacity:.92}
.ct-sidebar{position:sticky;top:calc(var(--p2-header-height, 0px) + 24px);display:flex;flex-direction:column;gap:20px}
.ct-summary,.ct-checkout{background:var(--color-bg);border:1px solid var(--color-border);border-radius:calc(var(--radius-m) + var(--space-xs));padding:calc(var(--space-m) * 1.5)}
.ct-summary__title,.ct-checkout__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0 0 var(--space-m)}
.ct-summary__row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:15px;color:var(--color-text)}
.ct-summary__row--total{border-top:2px solid var(--color-border);margin-top:8px;padding-top:16px;font-size:20px;font-weight:800;color:var(--color-text)}
.ct-summary__row span:last-child{font-weight:700}
.ct-field{margin-bottom:14px}
.ct-field > label{display:block;font-size:14px;font-weight:600;color:var(--color-text);margin-bottom:6px}
.ct-field > label .req{color:var(--color-danger)}
.ct-field input,.ct-field select,.ct-field textarea{width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:10px;font-size:15px;color:var(--color-text);background:var(--color-bg);transition:border-color .2s,box-shadow .2s;box-sizing:border-box}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 12%,transparent)}
.ct-field textarea{resize:vertical;min-height:72px}
.ct-field .ct-field__error{font-size:var(--font-size-caption);color:var(--color-danger);margin-top:4px;display:none}
.ct-field.is-invalid input,.ct-field.is-invalid select{border-color:var(--color-danger)}
.ct-field.is-invalid .ct-field__error{display:block}
.ct-field__desc{font-size:var(--font-size-caption);color:var(--color-text-muted);margin-bottom:6px;line-height:1.4}
.ct-radio-group{display:flex;flex-direction:column;gap:8px}
.ct-radio{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--color-border);border-radius:10px;cursor:pointer;transition:border-color .2s,background .2s;line-height:1.2}
.ct-radio:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-bg))}
.ct-radio.is-selected{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,var(--color-bg))}
.ct-radio input{width:18px;height:18px;margin:0;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}
.ct-radio__label{font-size:14px;font-weight:600;color:var(--color-text);flex-grow:1;line-height:1.2}
.ct-radio__price{font-size:14px;font-weight:700;color:var(--color-text-muted);white-space:nowrap}
.ct-submit{width:100%;padding:16px;border:none;border-radius:12px;background:var(--color-primary);color:var(--color-text-inverse);font-size:17px;font-weight:700;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s;margin-top:8px}
.ct-submit:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 10px 24px color-mix(in srgb,var(--color-primary) 30%,transparent)}
.ct-submit:disabled{background:color-mix(in srgb,var(--color-primary) 25%,var(--color-bg));cursor:not-allowed}
.ct-submit__spinner{display:none;width:20px;height:20px;border:3px solid color-mix(in srgb,var(--color-text-inverse) 30%,transparent);border-top-color:var(--color-text-inverse);border-radius:50%;animation:ct-spin .6s linear infinite;margin:0 auto}
@keyframes ct-spin{to{transform:rotate(360deg)}}
.ct-submit.is-loading .ct-submit__text{display:none}
.ct-submit.is-loading .ct-submit__spinner{display:block}
.ct-error{background:color-mix(in srgb,var(--color-danger) 10%,var(--color-bg));border:1px solid color-mix(in srgb,var(--color-danger) 25%,var(--color-bg));color:var(--color-danger);padding:12px 16px;border-radius:10px;font-size:14px;margin-top:12px;display:none}
.ct-error.is-visible{display:block}
/* padding: 60px 20px через токены (xl - xs / m + xs) */
.ct-empty{text-align:center;padding:calc(var(--space-xl) - var(--space-xs)) calc(var(--space-m) + var(--space-xs))}
.ct-empty__icon{font-size:64px;margin-bottom:16px;display:flex;justify-content:center}
.ct-empty__title{font-size:24px;font-weight:700;color:var(--color-text);margin:0 0 8px}
.ct-empty__text{font-size:16px;color:var(--color-text-muted);margin:0 0 24px}
@media(max-width:900px){
.ct-layout{grid-template-columns:1fr}
.ct-sidebar{position:static}
}
@media(max-width:560px){
.ct-item{grid-template-columns:64px 1fr;gap:12px}
.ct-item__img{width:64px;height:64px}
.ct-item__controls{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}
}

/* === modules/theme-proba2-contacts.css === */
/*! source: templates/themes/proba-2/layout.php */
/* ============================================================
   theme-proba2-contacts.css
   Выдвижная панель контактов (drawer) темы proba-2.
   Открывается кликом по телефону в шапке сайта:
   триггер data-modal-open="contacts", разметка data-modal="contacts"
   в templates/themes/proba-2/layout.php.
   Надстройка над базовым модальным компонентом 03-components.css.
   Все значения — только переменные из 00-variables.css.
============================================================ */

/* ============================================================
   DRAWER: панель во всю высоту у правого края
============================================================ */
.modal--drawer {
    padding: 0;
    align-items: stretch;
    justify-content: flex-end;
}

.modal__dialog--drawer {
    width: 100%;
    max-width: calc(var(--space-xxl) * 4.5);
    height: 100%;
    max-height: none;
    border-radius: 0;
    border: none;
    border-left: 1px solid var(--color-border);
    transform: translateX(100%);
}

.modal--drawer.is-open .modal__dialog--drawer {
    transform: translateX(0);
}

/* ============================================================
   КОНТАКТЫ: тело панели
============================================================ */
.p2-contacts {
    display: flex;
    flex-direction: column;
    gap: var(--space-l);
    overscroll-behavior: contain;
}

.p2-contacts__section {
    display: flex;
    flex-direction: column;
    gap: var(--space-s);
}

.p2-contacts__heading {
	margin: 0;
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-bold);
	text-transform: uppercase;
	color: var(--color-text);
}

/* ============================================================
   СПИСОК КОНТАКТОВ (телефон, email, адрес, часы работы)
============================================================ */
.p2-contacts__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-s);
}

.p2-contacts__item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-s);
    font-size: var(--font-size-sm);
    line-height: var(--font-line-height);
    color: var(--color-text);
}

.p2-contacts__icon {
    width: var(--space-m);
    height: var(--space-m);
    margin-top: var(--space-xs);
    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    color: var(--color-primary);
}

.p2-contacts__link {
    color: var(--color-text);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.p2-contacts__link:hover,
.p2-contacts__link:focus-visible {
    color: var(--color-primary);
}

.p2-contacts__link:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
    border-radius: var(--radius-s);
}

/* ============================================================
МЕССЕНДЖЕРЫ (Telegram, WhatsApp, VK) — иконки
Чистые иконки без обводки и фона, лёгкий подъём при наведении.
============================================================ */

.p2-contacts__messengers {
display: flex;
align-items: center;
gap: var(--space-m);
}

.p2-contacts__msgr {
display: inline-flex;
align-items: center;
justify-content: center;
padding: var(--space-xs);
border: none;
background-color: transparent;
text-decoration: none;
transition: transform var(--transition-fast);
}

.p2-contacts__msgr:hover,
.p2-contacts__msgr:focus-visible {
transform: translateY(calc(var(--space-xs) * -0.5));
}

.p2-contacts__msgr:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
}

.p2-contacts__msgr-svg {
width: calc(var(--space-l) * 0.75);
height: calc(var(--space-l) * 0.75);
fill: currentColor;
flex-shrink: 0;
}

@media (prefers-reduced-motion: reduce) {
.p2-contacts__msgr {
transition: none;
}
}

/* ============================================================
   КАК ДОБРАТЬСЯ: текст
============================================================ */
.p2-contacts__text {
	margin: 0;
	color: var(--color-text);
	font-size: var(--font-size-sm);
	line-height: var(--font-line-height);
}

/* ============================================================
   ЯНДЕКС-КАРТА
============================================================ */
.p2-contacts__map {
    position: relative;
    aspect-ratio: 4 / 3;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-m);
    overflow: hidden;
    background-color: var(--color-bg-alt);
}

.p2-contacts__map iframe {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    border: none;
}

/* ============================================================
   МОБИЛЬНАЯ ВЕРСИЯ: панель на всю ширину
============================================================ */
@media (max-width: var(--breakpoint-mobile)) {
    .modal__dialog--drawer {
        max-width: none;
    }
}

/* ============================================================
   ДОСТУПНОСТЬ: отключение анимации
============================================================ */
@media (prefers-reduced-motion: reduce) {
    .modal__dialog--drawer {
        transition: none;
    }
}

/* === modules/theme-proba2-faq.css === */
/*! source: секция FAQ на главной */
/* FAQ вариант 3 «Минимальные линии»: #1a1d22 / #f65908, нативный details/summary без JS */
.faq{position:relative;max-width:820px;margin:0 auto;padding:0 16px}
.faq__header{margin-bottom:44px;text-align:center}
.faq__eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#f65908;margin-bottom:14px}
.faq__header .faq__subtitle{margin-left:auto;margin-right:auto}
.faq__eyebrow::before{content:"";width:28px;height:2px;border-radius:2px;background:linear-gradient(90deg,#f65908,#ffb347)}
.faq__title{font-family:var(--font-display,'Inter','Segoe UI',system-ui,sans-serif);font-size:clamp(1.7rem,4vw,2.5rem);font-weight:800;line-height:1.15;margin-bottom:14px;color:#fff}
.faq__title span{background:linear-gradient(90deg,#f65908,#ffb347);-webkit-background-clip:text;background-clip:text;color:transparent}
.faq__subtitle{color:rgba(255,255,255,.62);font-size:15px;line-height:1.6;max-width:540px}
.faq__list{border-top:1px solid rgba(255,255,255,.09)}
.faq__item{position:relative;border-bottom:1px solid rgba(255,255,255,.09)}
.faq__item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#f65908,#ffb347);opacity:0;transform:scaleY(.4);transform-origin:top;transition:opacity .3s ease,transform .3s ease}
.faq__item:hover::before{opacity:.5;transform:scaleY(1)}
.faq__item[open]::before{opacity:1;transform:scaleY(1)}
.faq__q{display:flex;align-items:center;gap:20px;width:100%;padding:22px 8px 22px 22px;cursor:pointer;list-style:none;user-select:none}
.faq__q::-webkit-details-marker{display:none}
.faq__q::marker{content:""}
.faq__num{font-family:'Unbounded',monospace;font-size:12px;font-weight:700;color:rgba(255,255,255,.25);width:30px;flex-shrink:0;transition:color .3s ease}
.faq__qtext{flex:1 1 auto;font-weight:700;font-size:16px;line-height:1.4;color:#fff;transition:color .25s ease}
.faq__q:hover .faq__qtext{color:#ffb347}
.faq__toggle{position:relative;width:26px;height:26px;flex-shrink:0}
.faq__toggle::before,.faq__toggle::after{content:"";position:absolute;top:50%;left:50%;width:16px;height:2px;border-radius:2px;background:#f65908;transition:transform .3s ease,background .3s ease}
.faq__toggle::before{transform:translate(-50%,-50%)}
.faq__toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq__item[open] .faq__num{color:#f65908}
.faq__item[open] .faq__qtext{color:#ffb347}
.faq__item[open] .faq__toggle::after{transform:translate(-50%,-50%) rotate(0deg)}
.faq__item[open] .faq__toggle::before,.faq__item[open] .faq__toggle::after{background:#ffb347}
.faq__a{padding:0 8px 24px 72px;color:rgba(255,255,255,.62);font-size:14px;line-height:1.7}
.faq__a p{margin:0 0 8px}
.faq__a p:last-child{margin-bottom:0}
.faq__a a{color:#f65908;text-decoration:none;font-weight:600;transition:color .2s ease}
.faq__a a:hover{color:#ffb347}
.faq__item[open] .faq__a{animation:faqFade .35s ease both}
@keyframes faqFade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.faq__footer{margin-top:44px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:24px 26px;background:linear-gradient(165deg,rgba(246,89,8,.1),rgba(255,179,71,.03))}
.faq__footer-text{font-weight:700;font-size:16px;color:#fff}
.faq__footer-text small{display:block;font-weight:400;font-size:13px;color:rgba(255,255,255,.62);margin-top:4px}
.faq__footer-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;background:linear-gradient(90deg,#f65908,#ffb347);color:#fff;font-weight:700;font-size:14px;text-decoration:none;box-shadow:0 4px 16px rgba(246,89,8,.35);transition:transform .2s ease,box-shadow .2s ease}
.faq__footer-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(246,89,8,.5)}
.faq__footer-btn svg{width:16px;height:16px;fill:currentColor}
@media(max-width:560px){
.faq__q{padding:18px 4px 18px 16px;gap:14px}
.faq__qtext{font-size:15px}
.faq__a{padding:0 4px 20px 60px}
.faq__footer{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){
.faq__item::before,.faq__toggle::before,.faq__toggle::after,.faq__footer-btn{transition:none}
.faq__item[open] .faq__a{animation:none}
}
/* === СВЕТЛАЯ ТЕМА: читаемый FAQ на светлом фоне === */
html[data-theme="light"] .faq__title{color:#1a1d22}
html[data-theme="light"] .faq__subtitle{color:rgba(26,29,34,.65)}
html[data-theme="light"] .faq__list{border-top-color:rgba(26,29,34,.14)}
html[data-theme="light"] .faq__item{border-bottom-color:rgba(26,29,34,.14)}
html[data-theme="light"] .faq__num{color:rgba(26,29,34,.45)}
html[data-theme="light"] .faq__qtext{color:#1a1d22}
html[data-theme="light"] .faq__q:hover .faq__qtext{color:#c94a00}
html[data-theme="light"] .faq__item[open] .faq__qtext{color:#c94a00}
html[data-theme="light"] .faq__a{color:rgba(26,29,34,.75)}
html[data-theme="light"] .faq__a a{color:#c94a00}
html[data-theme="light"] .faq__a a:hover{color:#e8590c}
html[data-theme="light"] .faq__footer{border-color:rgba(26,29,34,.14);background:linear-gradient(165deg,rgba(246,89,8,.08),rgba(255,179,71,.04))}
html[data-theme="light"] .faq__footer-text{color:#1a1d22}
html[data-theme="light"] .faq__footer-text small{color:rgba(26,29,34,.6)}
/* Кнопка footer остаётся с белым текстом — фон оранжевый градиент */

/* === modules/theme-proba2-footer.css === */
/*! source: templates/themes/proba-2/footer.php */
/* Premium Footer: bg #1a1d22, accent #f65908. Единый стиль с шапкой. */
.p2-ftr{position:relative;background:linear-gradient(180deg,#1a1d22,#16181d);color:rgba(255,255,255,.6);padding:56px 0 0;overflow:hidden}
.p2-ftr::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#1a1d22,#f65908 25%,#ffb347 50%,#f65908 75%,#1a1d22);background-size:300% 100%;animation:p2FtrLine 8s linear infinite;box-shadow:0 0 14px rgba(246,89,8,.5);z-index:2;pointer-events:none}
@keyframes p2FtrLine{0%{background-position:0% 0}100%{background-position:-300% 0}}
.p2-ftr::after{content:"";position:absolute;top:-60%;right:-25%;width:50%;height:160%;background:radial-gradient(ellipse,rgba(246,89,8,.05) 0%,transparent 70%);pointer-events:none}
.p2-ftr__in{position:relative;z-index:1;max-width:1400px;margin:0 auto;padding:0 16px}
.p2-ftr__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:32px;padding:32px 0}
.p2-ftr__col h3{position:relative;color:#f65908;font-size:12px;font-weight:800;margin:0 0 18px;text-transform:uppercase;letter-spacing:.14em;padding-bottom:10px}
.p2-ftr__col h3::after{content:"";position:absolute;left:0;bottom:0;width:42px;height:2px;border-radius:2px;background:linear-gradient(90deg,#f65908,transparent);box-shadow:0 0 8px rgba(246,89,8,.5)}
.p2-ftr__logo{font-size:20px;font-weight:800;color:#fff;text-decoration:none;display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;transition:filter .3s ease,transform .3s ease}
.p2-ftr__logo:hover{filter:drop-shadow(0 2px 14px rgba(246,89,8,.5));transform:translateY(-2px)}
.p2-ftr__logo span{color:#f65908}
.p2-ftr__logo-img{height:34px;width:auto;max-width:220px;display:block}
.p2-ftr__logo .site-logo--light{display:block!important}
.p2-ftr__logo .site-logo--dark{display:none!important}
@media (prefers-color-scheme: dark){
.p2-ftr__logo .site-logo--light{display:none!important}
.p2-ftr__logo .site-logo--dark{display:block!important}
}
.p2-ftr__slogan{display:block;font-size:var(--font-size-xs);color:rgba(255,255,255,.45);line-height:1.3;max-width:280px}
.p2-ftr__tagline{font-size:13px;margin:12px 0 0;color:rgba(255,255,255,.45)}
ul.p2-ftr__nav-list{list-style:none;margin:0;padding:0}
.p2-ftr__nav-item{margin:0 0 2px}
.p2-ftr__nav-link{position:relative;display:inline-block;padding:5px 0 5px 16px;color:rgba(255,255,255,.6);text-decoration:none;font-size:14px;transition:color .25s ease,transform .25s ease,text-shadow .25s ease}
.p2-ftr__nav-link::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:#f65908;opacity:.4;transition:opacity .25s ease,box-shadow .25s ease}
.p2-ftr__nav-link:hover{color:#fff;transform:translateX(4px);text-shadow:0 0 12px rgba(246,89,8,.4)}
.p2-ftr__nav-link:hover::before{opacity:1;box-shadow:0 0 10px rgba(246,89,8,.9)}
.p2-ftr__contacts{list-style:none;margin:0;padding:0}
.p2-ftr__contact{margin:0 0 12px;font-size:14px;display:flex;align-items:center;gap:10px}
.p2-ftr__contact-icon{width:16px;height:16px;flex-shrink:0;color:#f65908;filter:drop-shadow(0 0 4px rgba(246,89,8,.4))}
.p2-ftr__contact a{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.6);text-decoration:none;transition:color .25s ease,text-shadow .25s ease,transform .25s ease}
.p2-ftr__contact a:hover{color:#fff;transform:translateX(3px);text-shadow:0 0 12px rgba(246,89,8,.4)}
.p2-ftr__contact a:hover .p2-ftr__contact-icon{filter:drop-shadow(0 0 8px rgba(246,89,8,.8))}
.p2-ftr__bottom{position:relative;border-top:1px solid rgba(255,255,255,.06);padding:20px 0;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:rgba(255,255,255,.4)}
.p2-ftr__bottom::before{content:"";position:absolute;top:-1px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(246,89,8,.35),transparent)}
.p2-ftr__top{color:#f65908;text-decoration:none;font-size:13px;transition:color .25s ease,text-shadow .25s ease}
.p2-ftr__top:hover{color:#ffb347;text-shadow:0 0 12px rgba(246,89,8,.6)}
/* Плавающая кнопка «Наверх» */
.p2-ftr__top[data-scroll-float]{position:fixed;right:var(--space-l);bottom:var(--space-l);z-index:var(--z-index-sticky);display:inline-flex;align-items:center;justify-content:center;padding:var(--space-s);border-radius:var(--radius-md);background:#f65908;color:#1a1d22;line-height:1;box-shadow:0 4px 20px rgba(246,89,8,.35);opacity:0;visibility:hidden;transform:translateY(var(--space-m));pointer-events:none;transition:opacity var(--transition-base),visibility var(--transition-base),transform var(--transition-base),background-color var(--transition-fast),box-shadow .25s ease}
.p2-ftr__top[data-scroll-float].is-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.p2-ftr__top[data-scroll-float]:hover{background:#ff7a2f;box-shadow:0 6px 28px rgba(246,89,8,.55)}
.p2-ftr__top[data-scroll-float]:focus-visible{background:#ff7a2f;box-shadow:0 6px 28px rgba(246,89,8,.55),0 0 0 var(--space-xs) rgba(246,89,8,.3)}
@media(prefers-reduced-motion:reduce){
.p2-ftr::before{animation:none}
.p2-ftr__nav-link,.p2-ftr__contact a,.p2-ftr__logo{transition:none}
}
@media(max-width:767px){.p2-ftr__grid{grid-template-columns:1fr;gap:24px}.p2-ftr__bottom{flex-direction:column;gap:8px;text-align:center}.p2-ftr__top[data-scroll-float]{right:var(--space-m);bottom:var(--space-m)}}

/* === modules/theme-proba2-fullcycle.css === */
/*! source: секции «Производство полного цикла» и «Этапы работы» на главной */
/* Full Cycle + Work Steps: #1a1d22 / #f65908 */

/* === ПРОИЗВОДСТВО ПОЛНОГО ЦИКЛА === */
.fullcycle-section{position:relative;max-width:1400px;margin:0 auto 56px;padding:48px 32px;border-radius:24px;background:radial-gradient(ellipse at top,rgba(246,89,8,.07),transparent 60%),linear-gradient(180deg,#1a1d22 0%,#22262d 100%);box-shadow:0 8px 40px rgba(0,0,0,.35)}
.fullcycle-section__header{text-align:center;margin-bottom:36px}
.fullcycle-section__header h2{position:relative;display:inline-block;margin:0 0 12px;font-size:clamp(1.5rem,3.5vw,2.2rem);font-weight:800;color:#fff;padding-bottom:14px}
.fullcycle-section__header h2::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:72px;height:3px;border-radius:2px;background:linear-gradient(90deg,#f65908,#ffb347);box-shadow:0 0 12px rgba(246,89,8,.5)}
.fullcycle-section__header p{margin:0;font-size:15px;line-height:1.6;color:rgba(255,255,255,.85);max-width:640px;margin-left:auto;margin-right:auto}
.fullcycle-section__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fullcycle-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:28px 20px 24px;border-radius:18px;background:linear-gradient(165deg,rgba(255,255,255,.1),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.16);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.fullcycle-card:hover{transform:translateY(-5px);border-color:rgba(246,89,8,.4);box-shadow:0 12px 34px rgba(0,0,0,.4),0 0 20px rgba(246,89,8,.1)}
.fullcycle-card__icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:rgba(246,89,8,.12);border:1px solid rgba(246,89,8,.3);color:#f65908;transition:background .3s ease,box-shadow .3s ease,transform .3s ease}
.fullcycle-card:hover .fullcycle-card__icon{background:rgba(246,89,8,.22);box-shadow:0 0 16px rgba(246,89,8,.45);transform:scale(1.08)}
.fullcycle-card__icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fullcycle-card__title{font-size:15px;font-weight:700;color:#fff}
.fullcycle-card__desc{font-size:13px;line-height:1.5;color:rgba(255,255,255,.8)}

/* === ЭТАПЫ РАБОТЫ (TIMELINE) === */
.steps-section{position:relative;max-width:1100px;margin:0 auto;padding:36px 28px;border-radius:24px;background:transparent;box-shadow:none}
.steps-section__header{text-align:center;margin-bottom:28px}
.steps-section__header h2{position:relative;display:inline-block;margin:0 0 12px;font-size:clamp(1.5rem,3.5vw,2.2rem);font-weight:800;color:#fff;padding-bottom:14px}
.steps-section__header h2::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:72px;height:3px;border-radius:2px;background:linear-gradient(90deg,#f65908,#ffb347);box-shadow:0 0 12px rgba(246,89,8,.5)}
.page-block--limited .page__content .steps-section__header h2::after,.page__content--limited .steps-section__header h2::after{left:50%;transform:translateX(-50%)}
.steps-section__header p{margin:0;font-size:15px;line-height:1.6;color:rgba(255,255,255,.85);max-width:560px;margin-left:auto;margin-right:auto}
.steps-section__timeline{position:relative;display:flex;flex-direction:column;gap:0}
/* Вертикальная линия */
.steps-section__timeline::before{content:"";position:absolute;left:28px;top:28px;bottom:28px;width:2px;background:linear-gradient(180deg,#f65908,rgba(246,89,8,.2),#f65908);border-radius:2px;box-shadow: 0 8px rgba(246,89,8,.3)}
.step-item{position:relative;display:flex;align-items:flex-start;gap:20px;padding:12px 0}
.step-item__number{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:56px;height:56px;flex-shrink:0;border-radius:50%;background:linear-gradient(135deg,#f65908,#ff7a2f);color:#1a1d22;font-size:20px;font-weight:800;box-shadow:0 4px 16px rgba(246,89,8,.4);transition:transform .3s ease,box-shadow .3s ease}
.step-item:hover .step-item__number{transform:scale(1.12);box-shadow:0 6px 24px rgba(246,89,8,.6)}
.step-item__content{flex:1;padding-top:10px}
.step-item__title{font-size:16px;font-weight:700;color:#fff;margin-bottom:6px}
.step-item__desc{font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.82)}

/* Адаптив */
@media(max-width:900px){.fullcycle-section__grid{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:560px){
.fullcycle-section__grid{grid-template-columns:1fr;gap:12px}
.fullcycle-card{padding:22px 16px 20px}
.steps-section__timeline::before{left:24px}
.step-item__number{width:48px;height:48px;font-size:17px}
.step-item{gap:16px}
}
@media(prefers-reduced-motion:reduce){.fullcycle-card,.step-item__number{transition:none}.fullcycle-card:hover,.step-item:hover .step-item__number{transform:none}}
/* === PRODUCTION BLOCK === */
.production-section .fullcycle-section__header{text-align:left;margin-bottom:28px}
.production-badge{display:inline-block;margin-bottom:14px;padding:6px 14px;border-radius:999px;background:rgba(246,89,8,.12);border:1px solid rgba(246,89,8,.3);color:#ffb347;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.production-cta{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:12px 24px;border-radius:12px;background:linear-gradient(135deg,#f65908,#ff7a2f);color:#1a1d22;font-weight:800;font-size:14px;text-decoration:none;box-shadow:0 8px 24px rgba(246,89,8,.3);transition:transform .25s ease,box-shadow .25s ease}
.production-cta:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(246,89,8,.4)}
.production-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.production-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.production-grid{grid-template-columns:1fr}}

/* === PRODUCTION FX LAYER === */
.production-section--fx{overflow:hidden;margin-top:72px}
.production-fx{position:absolute;inset:0;pointer-events:none;z-index:0}
.production-fx__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:38px 38px;opacity:.3}
.production-fx__beam{position:absolute;top:-40%;right:10%;width:2px;height:180%;background:linear-gradient(180deg,transparent,rgba(246,89,8,.35),transparent);transform:rotate(18deg);animation:prodBeam 5s ease-in-out infinite alternate}
@keyframes prodBeam{0%{opacity:.3;transform:rotate(18deg) translateY(0)}100%{opacity:.7;transform:rotate(18deg) translateY(-12px)}}

/* === PRODUCTION FX P3: усиленные эффекты === */
.production-section--fx{isolation:isolate}
.production-section--fx .fullcycle-section__header,.production-section--fx .fullcycle-section__grid,.production-section--fx .production-facts{position:relative;z-index:2}
/* Разделительная линия сверху — как у остальных блоков (.page-block--limited::before) */
.production-section--fx::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(70%,500px);height:1px;z-index:1;background:linear-gradient(90deg,transparent,rgba(246,89,8,.35),transparent);box-shadow:0 0 8px rgba(246,89,8,.2);pointer-events:none}
/* Медленный дрейф сетки */
.production-fx__grid{animation:prodGridDrift 16s linear infinite}
@keyframes prodGridDrift{0%{background-position:0 0,0 0}100%{background-position:38px 38px,38px 38px}}
/* Свечение заголовка и мерцающее подчёркивание */
.production-section--fx .fullcycle-section__header h2{text-shadow:0 0 26px rgba(246,89,8,.28)}
.production-section--fx .fullcycle-section__header h2::after{width:96px;background:linear-gradient(90deg,#f65908,#ffb347,#f65908);background-size:200% 100%;animation:prodUnderline 3.2s linear infinite}
@keyframes prodUnderline{0%{background-position:0 0}100%{background-position:200% 0}}
/* Карточки: появление по очереди, hover-свечение и блик */
.production-section--fx .fullcycle-card{overflow:hidden;animation:prodCardIn .7s cubic-bezier(.22,1,.36,1) backwards}
.production-section--fx .fullcycle-card:nth-child(1){animation-delay:.06s}
.production-section--fx .fullcycle-card:nth-child(2){animation-delay:.15s}
.production-section--fx .fullcycle-card:nth-child(3){animation-delay:.24s}
.production-section--fx .fullcycle-card:nth-child(4){animation-delay:.33s}
@keyframes prodCardIn{0%{opacity:0;transform:translateY(18px) scale(.97)}100%{opacity:1;transform:translateY(0) scale(1)}}
.production-section--fx .fullcycle-card::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(130px 130px at 50% 0,rgba(246,89,8,.16),transparent 72%);opacity:0;transition:opacity .4s ease;pointer-events:none}
.production-section--fx .fullcycle-card:hover::before{opacity:1}
.production-section--fx .fullcycle-card::after{content:"";position:absolute;top:-20%;bottom:-20%;left:-70%;width:44%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.09),transparent);transform:skewX(-18deg);transition:left .65s ease;pointer-events:none}
.production-section--fx .fullcycle-card:hover::after{left:135%}
.production-section--fx .fullcycle-card:hover{transform:translateY(-6px) scale(1.015);border-color:rgba(246,89,8,.55);box-shadow:0 16px 42px rgba(0,0,0,.45),0 0 28px rgba(246,89,8,.16)}
.production-section--fx .fullcycle-card:hover .fullcycle-card__icon{box-shadow:0 0 22px rgba(246,89,8,.55),inset 0 0 12px rgba(246,89,8,.16)}
/* Блик на badge */
.production-badge{overflow:hidden}
.production-badge::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:38%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-20deg);animation:prodBadgeSweep 4.2s ease-in-out 1s infinite;pointer-events:none}
@keyframes prodBadgeSweep{0%,55%{left:-60%}85%,100%{left:135%}}
/* Пульсирующий блик на CTA */
.production-cta{position:relative;overflow:hidden}
.production-cta::after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:42%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);animation:prodCtaSweep 3.4s ease-in-out infinite;pointer-events:none}
@keyframes prodCtaSweep{0%,42%{left:-70%}78%,100%{left:140%}}
.production-section--fx .production-cta:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 14px 36px rgba(246,89,8,.5)}
/* Шиммер цифр в фактах */
@supports ((background-clip:text) or (-webkit-background-clip:text)){
.production-section--fx .production-fact b{background:linear-gradient(90deg,#ffb347,#ff7a2f,#ffd28f,#ffb347);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:prodFactShine 5s linear infinite}
}
@keyframes prodFactShine{0%{background-position:0 0}100%{background-position:220% 0}}
/* Отключение анимаций при reduce */
@media(prefers-reduced-motion:reduce){
.production-section--fx::before,.production-fx__grid,.production-badge::after,.production-cta::after,.production-section--fx .fullcycle-card,.production-section--fx .fullcycle-section__header h2::after,.production-section--fx .production-fact b{animation:none}
.production-section--fx .fullcycle-card::before,.production-section--fx .fullcycle-card::after{display:none}
.production-section--fx .fullcycle-card:hover,.production-section--fx .production-cta:hover{transform:none}
}

/* === PRODUCTION FX P2: badge dot, facts, card nums, shine === */
.production-badge{display:inline-flex;align-items:center;gap:8px;position:relative;z-index:1}
.production-badge__dot{width:8px;height:8px;border-radius:50%;background:#f65908;box-shadow:0 0 10px rgba(246,89,8,.9);animation:prodPulse 1.8s ease-in-out infinite}
@keyframes prodPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.6}}
.production-facts{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.production-fact{min-width:108px;padding:12px 18px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);transition:border-color .3s ease,transform .3s ease}
.production-fact:hover{border-color:rgba(246,89,8,.4);transform:translateY(-2px)}
.production-fact b{display:block;font-size:20px;font-weight:800;color:#ffb347}
.production-fact span{font-size:12px;color:rgba(255,255,255,.65)}
.production-section .fullcycle-section__grid{position:relative;z-index:1}
.fullcycle-card{overflow:hidden}
.fullcycle-card__num{position:absolute;top:14px;right:16px;font-size:28px;font-weight:800;color:rgba(255,255,255,.08);transition:color .3s ease}
.fullcycle-card:hover .fullcycle-card__num{color:rgba(246,89,8,.35)}
.fullcycle-card::before{content:"";position:absolute;top:0;left:-75%;width:50%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.12),transparent);transform:skewX(-20deg);transition:left .6s ease;pointer-events:none}
.fullcycle-card:hover::before{left:125%}

/* === PRODUCTION FX P3 === */
.page-block--limited.is-revealed .production-section .fullcycle-section__header{animation:prodFadeUp .7s ease backwards}
.page-block--limited.is-revealed .production-grid .fullcycle-card{animation:prodStagger .6s cubic-bezier(.4,0,.2,1) backwards}
.page-block--limited.is-revealed .production-grid .fullcycle-card:nth-child(1){animation-delay:.12s}
.page-block--limited.is-revealed .production-grid .fullcycle-card:nth-child(2){animation-delay:.22s}
.page-block--limited.is-revealed .production-grid .fullcycle-card:nth-child(3){animation-delay:.32s}
.page-block--limited.is-revealed .production-grid .fullcycle-card:nth-child(4){animation-delay:.42s}
@keyframes prodFadeUp{0%{opacity:0;transform:translateY(18px)}100%{opacity:1;transform:none}}
@keyframes prodStagger{0%{opacity:0;transform:translateY(26px)}100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.production-fx__beam,.production-badge__dot{animation:none}.page-block--limited.is-revealed .production-section .fullcycle-section__header,.page-block--limited.is-revealed .production-grid .fullcycle-card{animation:none}.production-fact,.production-cta{transition:none}}

/* === PRODUCTION CENTER+GLOW v1 === */
/* production-badge--center-fix */
.production-section .fullcycle-section__header.production-header{text-align:center;margin-bottom:32px}
.production-section .production-badge{margin-left:auto;margin-right:auto}
.production-section .fullcycle-section__header h2::after{left:50%;transform:translateX(-50%)}
.production-section .fullcycle-section__header p{margin-left:auto;margin-right:auto}
/* Свечение как у limited-блоков (card-glow-reveal) */
/* glow-edge-fx-v1: свечение края production-section__fx 1-в-1 как у .page-block--limited .page-block__inner (b61v7-bg): border rgba(230,96,43,.25) + box-shadow 0 0 20px rgba(230,96,43,.35); hover: 0 0 30px + 0 0 80px */
.production-section{background:radial-gradient(ellipse at top,rgba(246,89,8,.07),transparent 60%),linear-gradient(180deg,#1a1d22 0%,#22262d 100%);box-shadow:0 0 20px rgba(230,96,43,.35);border:1px solid rgba(230,96,43,.25);border-radius:16px;transition:border-color .3s ease,box-shadow .3s ease}
.production-section:hover{border-color:rgba(246,89,8,.5);box-shadow:0 0 30px rgba(230,96,43,.5),0 0 80px rgba(230,96,43,.22)}
/* production-badge-above-fix */
.production-section .production-badge{display:flex;width:fit-content;margin:0 auto 16px}

/* production-grid-3col-fix */
.production-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.production-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.production-grid{grid-template-columns:1fr}}

/* === PRODUCTION PHOTO v1 === */
.production-photo{position:relative;z-index:1;margin:0 0 26px;border-radius:18px;overflow:hidden;border:1px solid rgba(230,96,43,.28);box-shadow:0 12px 34px rgba(0,0,0,.4),0 0 22px rgba(246,89,8,.14)}
.production-photo img{display:block;width:100%;height:auto;max-height:440px;object-fit:cover;transition:transform .5s ease}
.production-photo:hover img{transform:scale(1.03)}
.production-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(26,29,34,.55));pointer-events:none}
@media(max-width:560px){.production-photo{margin-bottom:20px}.production-photo img{max-height:260px}}
@media(prefers-reduced-motion:reduce){.production-photo img{transition:none}.production-photo:hover img{transform:none}}
/* === СВЕТЛАЯ ТЕМА: читаемые этапы работы на светлом фоне ===
.steps-section имеет transparent background — в светлой теме
белый текст ложится на белый фон страницы.
.fullcycle-section и .production-section имеют собственные
тёмные градиентные фоны — их не трогаем. */
html[data-theme="light"] .steps-section__header h2{color:#1a1d22}
html[data-theme="light"] .steps-section__header p{color:rgba(26,29,34,.7)}
html[data-theme="light"] .step-item__title{color:#1a1d22}
html[data-theme="light"] .step-item__desc{color:rgba(26,29,34,.7)}
html[data-theme="light"] .steps-section__timeline::before{background:linear-gradient(180deg,#f65908,rgba(246,89,8,.2),#f65908)}


/* === modules/theme-proba2-header.css === */
/*! source: templates/themes/proba-2/header.php */
/* Стили шапки сайта (proba-2). Вынесено из инлайн-<style> в header.php. */
.p2-hdr{background:var(--color-bg-dark);color:var(--color-text-inverse);position:sticky;top:0;z-index:var(--z-index-header);box-shadow:var(--shadow-modal)}
.p2-topbar{background:#1a1d22;font-size:13px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,0.08);border-bottom:1px solid color-mix(in srgb, var(--color-text-inverse) 8%, transparent)}
.p2-topbar__in{max-width:1400px;margin:0 auto;padding:0 16px;display:flex;justify-content:space-between;align-items:center}
.p2-topbar a{color:rgba(255,255,255,0.6);color:color-mix(in srgb, var(--color-text-inverse) 60%, transparent);text-decoration:none;transition:color .2s}
.p2-topbar a:hover{color:var(--color-primary)}
.p2-topbar__link{display:inline-flex;align-items:center;gap:6px}
.p2-topbar__icon,.p2-topbar-callback__icon{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.p2-topbar__group{display:inline-flex;align-items:center;gap:16px}
.p2-topbar-callback{display:inline-flex;align-items:center;gap:6px;margin:0;padding:0;background:none;border:none;font:inherit;font-size:13px;line-height:1.4;color:rgba(255,255,255,0.6);color:color-mix(in srgb, var(--color-text-inverse) 60%, transparent);cursor:pointer;transition:color .2s}
.p2-topbar-callback:hover,.p2-topbar-callback:focus-visible{color:var(--color-primary)}
.p2-topbar-callback:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}
.p2-main{max-width:1400px;margin:0 auto;padding:14px 16px;display:flex;align-items:center;gap:28px;position:relative;background:rgba(255,255,255,.045);background:color-mix(in srgb,var(--color-text-inverse) 4.5%,transparent);border-radius:18px;backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 28px rgba(0,0,0,.32);transition:background .3s ease,box-shadow .3s ease}
.p2-main:hover{background:rgba(255,255,255,.06);background:color-mix(in srgb,var(--color-text-inverse) 6%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 34px rgba(0,0,0,.4),0 0 24px rgba(230,96,43,.12)}
.p2-main::after{content:"";position:absolute;left:6%;right:6%;bottom:-1px;height:2px;border-radius:var(--radius-pill);background:linear-gradient(90deg,transparent,var(--color-primary),var(--color-accent),var(--color-info),transparent);opacity:.75;box-shadow:0 0 14px var(--color-glow);transition:opacity .35s ease,box-shadow .35s ease;pointer-events:none}
.p2-hdr:hover .p2-main::after{opacity:1;box-shadow:0 0 20px var(--color-glow-strong),0 0 56px var(--color-glow)}
.p2-main .p2-logo{filter:drop-shadow(0 2px 12px var(--color-glow));transition:filter .25s ease,transform .25s ease}
.p2-main .p2-logo:hover{filter:drop-shadow(0 4px 20px var(--color-glow-strong));transform:translateY(-1px)}
.p2-main .p2-nav__link{transition:background .25s ease,color .25s ease,transform .22s ease,box-shadow .25s ease,filter .25s ease}
.p2-main .p2-nav__link:hover{transform:translateY(-2px);box-shadow:0 6px 18px var(--color-glow),0 0 0 1px rgba(230,96,43,.22),0 0 16px rgba(230,96,43,.28)}
.p2-main .p2-nav__link.is-active{box-shadow:0 6px 20px rgba(230,96,43,.45),0 0 0 1px rgba(255,255,255,.18) inset}
.p2-logo{font-size:26px;font-weight:800;color:var(--color-text-inverse);text-decoration:none;letter-spacing:-.5px;display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px}
.p2-logo span{color:var(--color-primary)}
.p2-logo img{height:52px;width:auto;max-width:320px;display:block}
.p2-logo .site-logo--light{display:block!important}
.p2-logo .site-logo--dark{display:none!important}
@media (prefers-color-scheme: dark){
.p2-logo .site-logo--light{display:none!important}
.p2-logo .site-logo--dark{display:block!important}
}
.p2-slogan{display:block;font-size:12px;color:rgba(255,255,255,0.6);color:color-mix(in srgb, var(--color-text-inverse) 60%, transparent);line-height:1.3;max-width:340px}
.p2-nav-fade{position:relative;flex:1;display:flex;min-width:0;--p2-nav-fade-x:44px}
.p2-nav-fade.is-scrollable::before,.p2-nav-fade.is-scrollable::after{content:"";position:absolute;top:0;bottom:0;width:var(--p2-nav-fade-x);pointer-events:none;z-index:2}
.p2-nav-fade.is-scrollable::before{left:0;background:linear-gradient(to right,var(--color-bg-dark),transparent)}
.p2-nav-fade.is-scrollable::after{right:0;background:linear-gradient(to left,var(--color-bg-dark),transparent)}
.p2-nav-scroll{flex:1;display:flex;min-width:0;overflow-x:auto;scrollbar-width:none}
.p2-nav-scroll::-webkit-scrollbar{display:none}
.p2-nav{display:flex;flex:1;background:#1a1d22;border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:4px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 26px rgba(0,0,0,.38)}
.p2-nav__list{display:flex;gap:4px;list-style:none;margin:0;padding:0 6px;align-items:center;flex:1;justify-content:space-evenly;width:100%}
.p2-nav__item{position:relative}
.p2-nav__item--has-children::after{content:"";position:absolute;top:10%;left:0;right:0;height:6px}
.p2-nav__link{display:block;padding:8px 14px;border-radius:999px;color:rgba(255,255,255,0.75);color:color-mix(in srgb, var(--color-text-inverse) 75%, transparent);font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,color .2s;white-space:nowrap}
.p2-nav__link:hover{background:color-mix(in srgb, var(--color-primary) 15%, transparent);color:var(--color-primary)}
.p2-nav__link.is-active{background:var(--color-primary);color:var(--color-bg-dark)}
.p2-nav__item--has-children>.p2-nav__link::after{content:"";display:inline-block;width:5px;height:5px;margin-left:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);opacity:.6}
.p2-nav__submenu{position:absolute;top:100%;left:0;min-width:200px;margin:4px 0 0;padding:6px;list-style:none;background:#1a1d24;background:color-mix(in srgb, var(--color-bg-dark) 80%, var(--color-text-inverse) 10%);border:1px solid rgba(255,255,255,0.1);border:1px solid color-mix(in srgb, var(--color-text-inverse) 10%, transparent);border-radius:10px;box-shadow:var(--shadow-modal);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;transition-delay:.12s;z-index:var(--z-index-dropdown)}
.p2-nav__item--has-children:hover>.p2-nav__submenu,.p2-nav__item--has-children:focus-within>.p2-nav__submenu{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s;transition:opacity .18s ease,transform .18s ease}
.p2-nav__submenu--fixed{position:fixed;top:auto;left:auto;margin:0}
.p2-nav__submenu .p2-nav__link{padding:8px 12px;border-radius:6px;font-size:13px}
/* Вложенное подменю 3-го уровня (Навесы внутри Услуги): открывается вправо.
   !important перекрывает inline top/left от p2-navjs: родительское подменю имеет transform,
   из-за чего position:fixed у вложенного ul позиционировался некорректно и уезжал за экран. */
.p2-nav__submenu .p2-nav__submenu{position:absolute!important;top:0!important;left:100%!important;margin:0;z-index:10}
.p2-nav__submenu .p2-nav__item--has-children>.p2-nav__link::after{transform:rotate(-45deg)}
.p2-actions{display:flex;align-items:center;gap:4px;margin-left:auto}
.p2-ic{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:rgba(255,255,255,0.75);color:color-mix(in srgb, var(--color-text-inverse) 75%, transparent);text-decoration:none;transition:background .2s,color .2s}
.p2-ic:hover{background:color-mix(in srgb, var(--color-primary) 15%, transparent);color:var(--color-primary)}
.p2-ic svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.p2-badge{position:absolute;top:0;right:0;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--color-primary);color:var(--color-bg-dark);font-size:10px;font-weight:700;line-height:16px;text-align:center}
.p2-badge[hidden]{display:none}
.p2-badge--fav{background:var(--color-warning)}
.p2-badge--cmp{background:var(--color-accent)}
.p2-burger{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:8px}
.p2-burger span{display:block;width:22px;height:2px;background:rgba(255,255,255,0.75);background:color-mix(in srgb, var(--color-text-inverse) 75%, transparent);border-radius:2px;transition:transform .2s,opacity .2s}
@media(max-width:767px){
.p2-main{position:relative}
.p2-nav-scroll{overflow:visible}
.p2-nav{display:none}
.p2-nav.is-open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#1a1d22;background:color-mix(in srgb,#1a1d22 96%,black);padding:16px;box-shadow:var(--shadow-modal);z-index:var(--z-index-header)}
.p2-nav.is-open .p2-nav__list{flex-direction:column;align-items:stretch;justify-content:flex-start;width:auto}
.p2-nav.is-open .p2-nav__link{border-radius:8px;white-space:normal}
.p2-nav.is-open{overflow:visible;max-height:calc(10vh - var(--p2-header-height,64px));overflow-y:auto}
.p2-nav.is-open .p2-nav__list{width:auto;padding:0}
.p2-nav.is-open .p2-nav__submenu{position:static!important;top:auto!important;left:auto!important;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;background:transparent;padding:4px 0 4px 16px;min-width:0;transition:none}
.p2-burger{display:flex}
.p2-burger[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.p2-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.p2-burger[aria-expanded="true"] span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}
}
/* Поиск в шапке */
.p2-search-wrap{max-width:1400px;margin:0 auto;padding:0 var(--space-m,16px) var(--space-s,8px);width:100%}
.p2-search-wrap[hidden]{display:none}
.p2-search-field{position:relative;display:flex;align-items:center}
.p2-search-input{flex:1;height:38px;padding:0 34px 0 12px;background:rgba(255,255,255,0.08);background:color-mix(in srgb,var(--color-text-inverse) 8%,transparent);border:1px solid rgba(255,255,255,0.12);border:1px solid color-mix(in srgb,var(--color-text-inverse) 12%,transparent);border-radius:var(--radius-s,8px);color:var(--color-text-inverse);font-size:var(--font-size-sm,14px);outline:none}
.p2-search-input::placeholder{color:rgba(255,255,255,0.55);color:color-mix(in srgb, var(--color-text-inverse) 55%, transparent)}
.p2-search-input:focus{border-color:var(--color-primary)}
.p2-search-spinner{position:absolute;right:10px;width:16px;height:16px;border:2px solid rgba(255,255,255,0.2);border:2px solid color-mix(in srgb,var(--color-text-inverse) 20%,transparent);border-top-color:var(--color-primary);border-radius:50%;animation:p2spin .7s linear infinite}
.p2-search-spinner[hidden]{display:none}
@keyframes p2spin{to{transform:rotate(1turn)}}
.p2-search-results{max-height:320px;overflow-y:auto;margin-top:var(--space-s,8px);scrollbar-width:thin;scrollbar-color:var(--color-primary) transparent}
.p2-search-results::-webkit-scrollbar{width:6px}
.p2-search-results::-webkit-scrollbar-track{background:transparent;border-radius:var(--radius-pill,999px)}
.p2-search-results::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:var(--radius-pill,999px)}
.p2-search-results::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--color-primary) 75%,var(--color-text-inverse))}
.p2-search-item{display:flex;gap:var(--space-s,8px);padding:var(--space-s,8px);border-radius:var(--radius-s,8px);color:var(--color-text-inverse);text-decoration:none}
.p2-search-item:hover{background:color-mix(in srgb,var(--color-primary) 12%,transparent)}
.p2-search-item img{width:40px;height:40px;object-fit:cover;border-radius:var(--radius-s,8px)}
.p2-search-item__t{font-size:var(--font-size-sm,14px);font-weight:var(--font-weight-medium,500)}
.p2-search-item__p{font-size:var(--font-size-xs,12px);color:rgba(255,255,255,0.55);color:color-mix(in srgb, var(--color-text-inverse) 55%, transparent)}
.p2-search-empty{padding:var(--space-m,16px);text-align:center;color:rgba(255,255,255,0.55);color:color-mix(in srgb, var(--color-text-inverse) 55%, transparent);font-size:var(--font-size-sm,14px)}
@media(prefers-reduced-motion:reduce){
.p2-burger span{transition:none}
.p2-nav__link{transition:none}
.p2-ic{transition:none}
.p2-topbar a{transition:none}
}
/* === MEGA MENU proba-2-copy: bg #1a1d22, accent #f65908 === */
.p2-nav__item--mega{position:static}
.p2-nav__item--mega>.p2-nav__link::after{content:"";display:inline-block;width:5px;height:5px;margin-left:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-1px);opacity:.6;transition:transform .22s ease}
.p2-nav__item--mega:hover>.p2-nav__link::after,.p2-nav__item--mega:focus-within>.p2-nav__link::after,.p2-nav__item--mega.is-open>.p2-nav__link::after{transform:rotate(225deg)}
.p2-mega{position:absolute;top:100%;left:0;right:0;z-index:60;background:#1a1d22;border-top:1px solid rgba(246,89,8,.45);box-shadow:0 26px 48px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .18s ease .06s,transform .18s ease .06s,visibility 0s linear .3s}
.p2-mega::after{content:"";position:absolute;left:0;right:0;bottom:100%;height:26px}
.p2-mega::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#f65908 30%,#ffb347 50%,#f65908 70%,transparent);box-shadow:0 0 18px rgba(246,89,8,.75);pointer-events:none}
.p2-nav__item--mega:hover .p2-mega,.p2-nav__item--mega:focus-within .p2-mega,.p2-nav__item--mega.is-open .p2-mega{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;transition:opacity .22s ease,transform .22s ease}
.p2-mega__in{max-width:1400px;margin:0 auto;padding:26px 20px 30px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr) minmax(0,.85fr);gap:30px;align-items:start}
.p2-mega__label{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#f65908}
.p2-mega__label::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(246,89,8,.5),transparent)}
.p2-mega__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.p2-mega__card{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);text-decoration:none;transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.p2-mega__card:hover{background:rgba(246,89,8,.12);border-color:rgba(246,89,8,.5);transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.35)}
.p2-mega__card-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:10px;background:rgba(246,89,8,.14);border:1px solid rgba(246,89,8,.35);color:#f65908;transition:background .2s ease,box-shadow .2s ease}
.p2-mega__card:hover .p2-mega__card-icon{background:rgba(246,89,8,.25);box-shadow:0 0 14px rgba(246,89,8,.5)}
.p2-mega__icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.p2-mega__card-body{display:block;min-width:0}
.p2-mega__card-title{display:block;font-size:14px;font-weight:700;line-height:1.3;color:#fff}
.p2-mega__card-desc{display:block;margin-top:3px;font-size:12px;line-height:1.35;color:rgba(255,255,255,.55)}
.p2-mega__links{display:flex;flex-direction:column;gap:2px}
.p2-mega__link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;color:rgba(255,255,255,.78);text-decoration:none;font-size:13.5px;font-weight:600;transition:background .2s ease,color .2s ease}
.p2-mega__link::before{content:"";width:5px;height:5px;flex-shrink:0;border-radius:50%;background:#f65908;opacity:.5;transition:opacity .2s ease,box-shadow .2s ease}
.p2-mega__link:hover{color:#fff;background:rgba(246,89,8,.12)}
.p2-mega__link:hover::before{opacity:1;box-shadow:0 0 10px rgba(246,89,8,.9)}
.p2-mega__cta{position:relative;overflow:hidden;padding:20px;border-radius:16px;background:linear-gradient(160deg,rgba(246,89,8,.18),rgba(246,89,8,.05));border:1px solid rgba(246,89,8,.4)}
.p2-mega__cta::after{content:"";position:absolute;right:-34px;top:-34px;width:130px;height:130px;background:radial-gradient(circle,rgba(246,89,8,.4),transparent 70%);pointer-events:none}
.p2-mega__cta-title{font-size:16px;font-weight:800;color:#fff;margin-bottom:6px}
.p2-mega__cta-text{font-size:12.5px;line-height:1.45;color:rgba(255,255,255,.62);margin-bottom:14px}
.p2-mega__cta-phone{display:inline-flex;align-items:center;background:#f65908;color:#1a1d22;font-size:15px;font-weight:800;padding:10px 18px;border-radius:999px;text-decoration:none;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.p2-mega__cta-phone:hover{background:#ff7a2f;transform:translateY(-2px);box-shadow:0 10px 26px rgba(246,89,8,.45)}
.p2-mega__cta-hours{margin-top:10px;font-size:11.5px;color:rgba(255,255,255,.5)}
@media(max-width:1023px){
.p2-mega__in{grid-template-columns:1fr 1fr}
.p2-mega__col--cta{grid-column:1/-1}
}
@media(max-width:767px){
.p2-mega{position:static;display:none;opacity:1;visibility:visible;transform:none;pointer-events:auto;background:rgba(255,255,255,.03);border-top:none;box-shadow:none;transition:none}
.p2-mega::before{display:none}
.p2-nav__item--mega.is-open .p2-mega{display:block}
.p2-mega__in{display:flex;flex-direction:column;gap:18px;padding:12px 8px 18px}
.p2-mega__cards{grid-template-columns:1fr}
}
/* === PREMIUM HEADER EFFECTS proba-2-copy: bg #1a1d22, accent #f65908 === */
.p2-hdr{background:linear-gradient(180deg,#1a1d22,#16181d)}
.p2-hdr::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#1a1d22,#f65908 25%,#ffb347 50%,#f65908 75%,#1a1d22);background-size:300% 100%;animation:p2TopLine 7s linear infinite;box-shadow:0 0 14px rgba(246,89,8,.5);z-index:5;pointer-events:none}
@keyframes p2TopLine{0%{background-position:0% 0}100%{background-position:-300% 0}}
.p2-topbar{position:relative;overflow:hidden}
.p2-topbar::after{content:"";position:absolute;top:0;bottom:0;left:-45%;width:35%;background:linear-gradient(100deg,transparent,rgba(246,89,8,.09),transparent);transform:skewX(-18deg);animation:p2TopbarShine 6.5s ease-in-out infinite;pointer-events:none}
@keyframes p2TopbarShine{0%,12%{left:-45%}60%{left:115%}100%{left:115%}}
.p2-topbar__link{transition:color .2s ease,text-shadow .25s ease}
.p2-topbar__link:hover,.p2-topbar a:hover{color:#f65908;text-shadow:0 0 14px rgba(246,89,8,.55)}
.p2-topbar-phone{animation:p2PhoneGlow 3.2s ease-in-out infinite}
@keyframes p2PhoneGlow{0%,100%{text-shadow:0 0 0 rgba(246,89,8,0)}50%{text-shadow:0 0 16px rgba(246,89,8,.6)}}
.p2-main::after{background-size:200% 100%;animation:p2LineFlow 5.5s linear infinite}
@keyframes p2LineFlow{0%{background-position:0% 0}100%{background-position:200% 0}}
.p2-main .p2-logo{animation:p2LogoPulse 3.8s ease-in-out infinite}
.p2-main .p2-logo:hover{animation-play-state:paused;filter:drop-shadow(0 4px 22px rgba(246,89,8,.7))}
@keyframes p2LogoPulse{0%,100%{filter:drop-shadow(0 2px 10px rgba(246,89,8,.22))}50%{filter:drop-shadow(0 3px 18px rgba(246,89,8,.5))}}
.p2-nav__link{position:relative}
.p2-nav__link::before{content:"";position:absolute;left:16px;right:16px;bottom:3px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,#f65908,transparent);transform:scaleX(0);transform-origin:center;opacity:0;transition:transform .3s ease,opacity .3s ease;pointer-events:none}
.p2-nav__link:hover::before{transform:scaleX(1);opacity:1}
.p2-nav__link.is-active::before{transform:scaleX(1);opacity:.95;animation:p2UnderGlow 2.6s ease-in-out infinite}
@keyframes p2UnderGlow{0%,100%{box-shadow:0 0 6px rgba(246,89,8,.45)}50%{box-shadow:0 0 14px rgba(246,89,8,.85)}}
.p2-nav__item{animation:p2NavIn .55s ease both}
.p2-nav__item:nth-child(1){animation-delay:.04s}
.p2-nav__item:nth-child(2){animation-delay:.1s}
.p2-nav__item:nth-child(3){animation-delay:.16s}
.p2-nav__item:nth-child(4){animation-delay:.22s}
.p2-nav__item:nth-child(5){animation-delay:.28s}
.p2-nav__item:nth-child(6){animation-delay:.34s}
.p2-nav__item:nth-child(7){animation-delay:.4s}
.p2-nav__item:nth-child(8){animation-delay:.46s}
.p2-nav__item:nth-child(9){animation-delay:.52s}
.p2-nav__item--mega{animation:none}
@keyframes p2NavIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.p2-burger{transition:transform .25s ease,filter .25s ease}
.p2-burger:hover{transform:scale(1.08);filter:drop-shadow(0 0 8px rgba(246,89,8,.6))}
.p2-burger span{background:linear-gradient(90deg,rgba(255,255,255,.75),#f65908 130%)}
.p2-theme-toggle{transition:transform .3s ease,color .2s ease}
.p2-theme-toggle:hover{transform:rotate(15deg) scale(1.12);color:#f65908}
@media(prefers-reduced-motion:reduce){
.p2-hdr::before,.p2-topbar::after,.p2-main::after,.p2-main .p2-logo,.p2-topbar-phone,.p2-nav__item,.p2-nav__link.is-active::before{animation:none!important}
}
@media(max-width:767px){
.p2-nav__item{animation:none}
.p2-logo img{height:40px;max-width:230px}
.p2-logo{font-size:21px}
.p2-slogan{max-width:240px}
}
/* === Убраны цветные блики и анимированные свечения === */
.p2-hdr::before{display:none!important}
.p2-topbar::after{display:none!important}
.p2-topbar-phone{animation:none!important;text-shadow:none!important}
.p2-topbar__link:hover,.p2-topbar a:hover{text-shadow:none!important}
.p2-main::after{animation:none!important;box-shadow:none!important;opacity:.75}
.p2-main .p2-logo{animation:none!important}
.p2-main .p2-logo:hover{filter:drop-shadow(0 2px 12px var(--color-glow))}
.p2-nav__link.is-active::before{animation:none!important;box-shadow:none!important}
.p2-nav__link:hover::before{opacity:.7}

/* === Меню .p2-main: акцент #e6602b === */
.p2-main .p2-nav__link:hover{background:rgba(230,96,43,.15);background:color-mix(in srgb,#e6602b 15%,transparent);color:#e6602b;box-shadow:0 6px 18px rgba(230,96,43,.35)}
.p2-main .p2-nav__link.is-active{background:#e6602b;color:var(--color-bg-dark)}
.p2-main .p2-nav__link::before{background:linear-gradient(90deg,transparent,#e6602b,transparent)}
.p2-main .p2-nav__link:hover::before{opacity:1}
.p2-main .p2-nav__link.is-active::before{opacity:.95}
.p2-main::after{background:linear-gradient(90deg,transparent,#e6602b 30%,#ff9a66 50%,#e6602b 70%,transparent)}
/* === Premium p2-nav__list: белый текст и стеклянная подложка === */
.p2-nav__list{gap:6px;padding:6px 8px}
.p2-nav__list .p2-nav__link{color:#fff;letter-spacing:.2px;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.p2-nav__list .p2-nav__link:hover{color:#e6602b;text-shadow:none}
.p2-nav__list .p2-nav__link.is-active{color:var(--color-bg-dark);text-shadow:none}
@media(max-width:767px){
.p2-nav.is-open .p2-nav__list{background:transparent;border-color:transparent;box-shadow:none;border-radius:0;padding:0;gap:4px}
}
/* Active link same as regular */
.p2-nav__link.is-active{background:transparent;box-shadow:none;color:rgba(255,255,255,0.75);color:color-mix(in srgb,var(--color-text-inverse) 75%,transparent)}
.p2-main .p2-nav__link.is-active{background:transparent;box-shadow:none;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.p2-nav__item--active{box-shadow:none}
.p2-main .p2-nav__item--active{box-shadow:none}
.p2-nav__link.is-active::before{opacity:0;transform:scaleX(0)}
.p2-main .p2-nav__link.is-active::before{opacity:0}

/* === modules/theme-proba2-home-hero.css === */
/* Нейро-блок «ВАУ»: палитра #1a1d22 + #f65908 (proba-2-copy) — контент по центру */
.p2-hero--neuro{min-height:82vh;background:#1a1d22;overflow:hidden;display:flex;align-items:center;justify-content:center}
.p2-hero--neuro .p2-hero__bg{position:absolute;inset:0;z-index:0}
.p2-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.p2-hero__shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(26,29,34,0) 45%,rgba(26,29,34,.45) 78%,rgba(26,29,34,.6) 100%),linear-gradient(180deg,rgba(26,29,34,.85),rgba(26,29,34,.45) 48%,rgba(26,29,34,.92))}
/* Искры (16) */
.p2-hero__sparks{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none}
.p2-hero__sparks i{position:absolute;width:3px;height:3px;border-radius:50%;background:radial-gradient(circle,#ffffff,#ffb347 45%,#f65908);box-shadow:0 0 7px 2px rgba(246,89,8,.55);opacity:0;animation:p2spark 3.5s ease-in-out infinite}
.p2-hero__sparks i:nth-child(1){left:6%;top:24%}
.p2-hero__sparks i:nth-child(2){left:18%;top:64%;animation-delay:.35s}
.p2-hero__sparks i:nth-child(3){left:28%;top:14%;animation-delay:.8s}
.p2-hero__sparks i:nth-child(4){left:38%;top:72%;animation-delay:1.2s}
.p2-hero__sparks i:nth-child(5){left:47%;top:28%;animation-delay:1.6s}
.p2-hero__sparks i:nth-child(6){left:56%;top:58%;animation-delay:2s}
.p2-hero__sparks i:nth-child(7){left:66%;top:18%;animation-delay:2.4s}
.p2-hero__sparks i:nth-child(8){left:76%;top:68%;animation-delay:2.8s}
.p2-hero__sparks i:nth-child(9){left:86%;top:30%;animation-delay:.55s}
.p2-hero__sparks i:nth-child(10){left:93%;top:52%;animation-delay:1s}
.p2-hero__sparks i:nth-child(11){left:12%;top:84%;animation-delay:1.45s}
.p2-hero__sparks i:nth-child(12){left:33%;top:44%;animation-delay:1.9s}
.p2-hero__sparks i:nth-child(13){left:52%;top:10%;animation-delay:2.25s}
.p2-hero__sparks i:nth-child(14){left:70%;top:44%;animation-delay:2.6s}
.p2-hero__sparks i:nth-child(15){left:82%;top:82%;animation-delay:2.95s}
.p2-hero__sparks i:nth-child(16){left:24%;top:36%;animation-delay:3.2s}
@keyframes p2spark{0%{opacity:0;transform:translateY(0) scale(.4)}25%{opacity:1}100%{opacity:0;transform:translateY(-90px) scale(1.35)}}
/* Контент поверх слоёв: центрирование по горизонтали и вертикали */
.p2-hero--neuro .p2-hero__content{position:relative;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:900px;width:100%;margin-left:auto;margin-right:auto;text-align:center;padding-left:1rem;padding-right:1rem;box-sizing:border-box}
/* Поэтапное появление */
.p2-hero--neuro .p2-hero__badge,.p2-hero--neuro .p2-hero__category,.p2-hero--neuro .p2-home-h1,.p2-hero--neuro .p2-hero__desc,.p2-hero--neuro .p2-hero__actions,.p2-hero--neuro .p2-hero__stats{animation:p2fadeUp .8s cubic-bezier(.22,.61,.36,1) both}
.p2-hero--neuro .p2-hero__badge{animation-delay:.1s}
.p2-hero--neuro .p2-hero__category{animation-delay:.22s}
.p2-hero--neuro .p2-home-h1{animation-delay:.36s}
.p2-hero--neuro .p2-hero__desc{animation-delay:.5s}
.p2-hero--neuro .p2-hero__actions{animation-delay:.66s}
.p2-hero--neuro .p2-hero__stats{animation-delay:.82s}
.p2-hero--neuro .p2-hero__trust{animation:p2fadeUp .8s cubic-bezier(.22,.61,.36,1) both;animation-delay:.95s}
@keyframes p2fadeUp{0%{opacity:0;transform:translateY(26px)}100%{opacity:1;transform:translateY(0)}}
/* Стеклянный бейдж с пульсирующей точкой */
.p2-hero__badge{display:inline-flex;align-items:center;gap:.55rem;margin-top:var(--space-l,1.5rem);margin-bottom:var(--space-m,1rem);padding:.5rem 1.15rem;border-radius:var(--radius-pill,999px);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:.78rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.p2-hero__badge-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#f65908;box-shadow:0 0 0 2px rgba(255,255,255,.15);animation:p2pulse 2s ease-out infinite}
@keyframes p2pulse{0%{box-shadow:0 0 0 0 rgba(246,89,8,.6),0 0 0 2px rgba(255,255,255,.15)}70%{box-shadow:0 0 0 9px rgba(246,89,8,0),0 0 0 2px rgba(255,255,255,.15)}100%{box-shadow:0 0 0 0 rgba(246,89,8,0),0 0 0 2px rgba(255,255,255,.15)}}
/* Категория */
.p2-hero__category{margin:0 0 var(--space-s,.75rem);font-size:.85rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#ffffff;text-shadow:0 0 14px rgba(246,89,8,.5)}
/* Заголовок: сброс visually-hidden + белый текст в нейро-блоке */
.p2-hero--neuro .p2-home-h1{position:static;width:auto;height:auto;margin:0 0 var(--space-m,1rem);padding:0;overflow:visible;clip:auto;white-space:normal;font-size:clamp(2.4rem,6vw,4.4rem);line-height:1.05;font-weight:800;letter-spacing:-0.01em;color:#ffffff;text-shadow:0 2px 24px rgba(255,255,255,.28),0 0 60px rgba(246,89,8,.16);text-wrap:balance}
/* === .p2-home-h1: белый текст в нейро-блоке === */
.p2-home-h1{color:#e6602b}
.p2-hero--neuro .p2-home-h1 span{background:none;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:#ffffff;color:#ffffff;filter:drop-shadow(0 0 16px rgba(255,255,255,.25));transition:filter .35s ease}
.p2-hero--neuro .p2-home-h1:hover span{filter:drop-shadow(0 0 24px rgba(255,255,255,.45))}
@keyframes p2shine{to{background-position:220% center}}
/* Описание */
.p2-hero__desc{margin:0 auto var(--space-l,1.5rem);max-width:660px;font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.65;color:rgba(255,255,255,.72)}
/* Ротатор слов в описании: усиленные эффекты */
.p2-hero__desc--rotator{display:flex;flex-direction:column;align-items:center;gap:.55rem;position:relative}
.p2-hero__desc--rotator::before{content:'';position:absolute;top:-14px;left:50%;transform:translateX(-50%);width:140px;height:1px;background:linear-gradient(90deg,transparent,rgba(230,96,43,.75),transparent)}
.p2-hero__desc-label{font-size:.85rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.p2-hero__rotator{position:relative;display:inline-flex;flex-direction:column;align-items:center;font-size:clamp(2.2rem,4.5vw,3.2rem);height:1.3em;min-width:min(92vw,360px);overflow:visible;padding:0 .4rem}
.p2-hero__rotator::after{content:'';position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);width:64%;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,#e6602b,transparent);opacity:.85;filter:drop-shadow(0 0 8px rgba(230,96,43,.6))}
.p2-hero__rotator-word{position:absolute;left:50%;top:0;transform:translateX(-50%);white-space:nowrap;font-weight:800;font-size:clamp(2.2rem,4.5vw,3.2rem);line-height:1.1;letter-spacing:.02em;color:#e6602b;filter:drop-shadow(0 0 12px rgba(230,96,43,.45));opacity:0;animation:p2wordCycle 14s linear infinite}
.p2-hero__rotator-word:nth-child(1){animation-delay:0s}
.p2-hero__rotator-word:nth-child(2){animation-delay:2s}
.p2-hero__rotator-word:nth-child(3){animation-delay:4s}
.p2-hero__rotator-word:nth-child(4){animation-delay:6s}
.p2-hero__rotator-word:nth-child(5){animation-delay:8s}
.p2-hero__rotator-word:nth-child(6){animation-delay:10s}
.p2-hero__rotator-word:nth-child(7){animation-delay:12s}
@keyframes p2wordCycle{0%{opacity:0;transform:translateX(-50%) translateY(14px)}5%{opacity:1;transform:translateX(-50%) translateY(0)}12%{opacity:1;transform:translateX(-50%) translateY(0)}17%{opacity:0;transform:translateX(-50%) translateY(-14px)}100%{opacity:0;transform:translateX(-50%) translateY(-14px)}}
/* Кнопки */
.p2-hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-s,.75rem)}
.p2-btn{display:inline-flex;align-items:center;justify-content:center;padding:.95rem 2.1rem;font-size:1rem;font-weight:700;border-radius:var(--radius-m,12px);border:1px solid transparent;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,border-color .25s ease,color .25s ease}
.p2-btn--primary{position:relative;overflow:hidden;background:linear-gradient(135deg,#f65908,#ff7a2f);color:#ffffff;box-shadow:0 6px 24px rgba(246,89,8,.45)}
.p2-btn--primary::after{content:'';position:absolute;top:0;left:-150%;width:60%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);animation:p2shimmer 3s ease-in-out infinite}
@keyframes p2shimmer{0%{left:-150%}60%{left:160%}100%{left:160%}}
.p2-btn--primary:hover{background:linear-gradient(135deg,#ff7a2f,#ff9340);transform:translateY(-2px);box-shadow:0 10px 32px rgba(246,89,8,.6)}
.p2-btn--ghost{background:rgba(255,255,255,.04);color:#ffffff;border-color:rgba(255,255,255,.28);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.p2-btn--ghost:hover{border-color:#f65908;background:rgba(246,89,8,.14);color:#ffffff;transform:translateY(-2px)}
/* Стеклянная статистика */
.p2-hero__stats{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-m,1rem) var(--space-l,1.5rem);margin-top:var(--space-xl,2.75rem)}
.p2-hero__stat{display:flex;flex-direction:column;align-items:center;min-width:150px;padding:.9rem 1.25rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-m,12px);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease}
.p2-hero__stat:hover{border-color:#f65908;transform:translateY(-3px);box-shadow:0 8px 24px rgba(246,89,8,.25)}
.p2-hero__stat b{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;line-height:1.1;color:#ffffff}
.p2-hero__stat span{margin-top:.3rem;font-size:.85rem;color:rgba(255,255,255,.6)}
/* Доверие: рейтинг + соцсети */
.p2-hero__trust{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-m,1rem) var(--space-xl,2.5rem);margin-top:var(--space-l,1.5rem)}
.p2-hero__yandex{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .8rem;background:transparent;border:1px solid transparent;border-radius:var(--radius-m,12px)}
.p2-hero__yandex iframe{display:block;border:0;background:transparent}
.p2-hero__social{display:flex;align-items:center;gap:.6rem}
.p2-hero__social-label{font-size:.82rem;color:rgba(255,255,255,.6)}
.p2-hero__social-link{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);color:#ffffff;transition:background-color .25s ease,border-color .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}
.p2-hero__social-link svg{width:18px;height:18px;fill:currentColor}
.p2-hero__social-link:hover{background:#f65908;border-color:#f65908;color:#ffffff;transform:translateY(-2px);box-shadow:0 6px 18px rgba(246,89,8,.45)}
/* Фирменные цвета соцсетей в нейро-блоке */
.p2-hero__social-link[href*="wa.me"]{color:#25D366}
.p2-hero__social-link[href*="t.me"]{color:#2AABEE}
.p2-hero__social-link[href*="max.ru"]{color:#5D5FEF}
.p2-hero__social-link[href*="wa.me"]:hover{background:#25D366;border-color:#25D366;color:#ffffff;box-shadow:0 6px 18px rgba(37,211,102,.45)}
.p2-hero__social-link[href*="t.me"]:hover{background:#2AABEE;border-color:#2AABEE;color:#ffffff;box-shadow:0 6px 18px rgba(42,171,238,.45)}
.p2-hero__social-link[href*="max.ru"]:hover{background:#5D5FEF;border-color:#5D5FEF;color:#ffffff;box-shadow:0 6px 18px rgba(93,95,239,.45)}
/* Рейтинг Яндекса: цвет текста как у .p2-hero__social-label */
.p2-hero__rating{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .8rem}
.p2-hero__rating-link{display:inline-flex;flex-direction:column;align-items:center;gap:.3rem;text-decoration:none;color:rgba(255,255,255,.6);transition:color .25s ease,transform .25s ease}
.p2-hero__rating-link:hover{color:rgba(255,255,255,.85);transform:translateY(-2px)}
.p2-hero__rating-stars{font-size:1.1rem;line-height:1.2}
.p2-hero__rating-note{font-size:.82rem;color:rgba(255,255,255,.6)}
.p2-hero__rating-desc{font-size:.82rem;color:rgba(255,255,255,.6);text-align:center}
/* Доступность */
@media(prefers-reduced-motion:reduce){.p2-hero__sparks i,.p2-hero__badge-dot,.p2-btn--primary::after,.p2-hero--neuro .p2-home-h1 span,.p2-hero__rotator-word,.p2-home-h1{animation:none}.p2-hero--neuro .p2-hero__badge,.p2-hero--neuro .p2-hero__category,.p2-hero--neuro .p2-home-h1,.p2-hero--neuro .p2-hero__desc,.p2-hero--neuro .p2-hero__actions,.p2-hero--neuro .p2-hero__stats{animation:none;opacity:1}.p2-hero__rotator-word:first-child{opacity:1}.p2-hero__sparks i{opacity:.4}}
/* Мобильные */
@media(max-width:640px){.p2-hero__stat{min-width:42%}.p2-hero__badge{font-size:.7rem}}

/* === modules/theme-proba2-izdeliya.css === */
/*! source: страница /izdeliya/ — карточки каталога, шаги заказа, FAQ */

/* ============================================
КАТАЛОГ ИЗДЕЛИЙ: карточная сетка
============================================ */
/* Заголовок «Каталог изделий» — по центру */
.page-block--limited .page__content:has(.izdeliya-catalog-grid) > h2{
text-align:center;
}
.izdeliya-catalog-grid{
display:grid;
grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
gap:20px;
margin-top:32px;
max-width:1060px;
margin-left:auto;
margin-right:auto;
}
.izdeliya-card{
display:flex;
align-items:flex-start;
gap:16px;
padding:24px 20px;
border-radius:14px;
border:1px solid rgba(246,89,8,.18);
background:rgba(26,29,36,.6);
backdrop-filter:blur(8px);
text-decoration:none;
color:inherit;
transition:transform .3s cubic-bezier(.4,0,.2,1),border-color .3s ease,box-shadow .3s ease,background .3s ease;
position:relative;
overflow:hidden;
}
.izdeliya-card::before{
content:"";
position:absolute;
inset:0;
border-radius:14px;
background:radial-gradient(ellipse at 30% 20%,rgba(246,89,8,.08),transparent 60%);
opacity:0;
transition:opacity .35s ease;
pointer-events:none;
}
.izdeliya-card:hover{
transform:translateY(-6px);
border-color:rgba(246,89,8,.5);
box-shadow:0 12px 36px rgba(0,0,0,.4),0 0 24px rgba(246,89,8,.25);
background:rgba(26,29,36,.85);
}
.izdeliya-card:hover::before{opacity:1}
.izdeliya-card__icon{
flex-shrink:0;
display:flex;
align-items:center;
justify-content:center;
width:52px;
height:52px;
border-radius:12px;
background:linear-gradient(135deg,rgba(246,89,8,.15),rgba(255,179,71,.08));
border:1px solid rgba(246,89,8,.25);
color:#f65908;
transition:background .3s ease,box-shadow .3s ease,transform .3s ease;
position:relative;
z-index:2;
}
.izdeliya-card:hover .izdeliya-card__icon{
background:linear-gradient(135deg,#f65908,#ff7a2f);
color:#fff;
box-shadow:0 4px 16px rgba(246,89,8,.4);
transform:scale(1.08);
}
.izdeliya-card__body{
display:flex;
flex-direction:column;
gap:6px;
position:relative;
z-index:2;
}
.izdeliya-card__title{
font-size:15px;
font-weight:700;
line-height:1.3;
color:#fff;
transition:color .25s ease;
}
.izdeliya-card:hover .izdeliya-card__title{color:#ffb347}
.izdeliya-card__desc{
font-size:13px;
line-height:1.5;
color:rgba(255,255,255,.55);
transition:color .25s ease;
}
.izdeliya-card:hover .izdeliya-card__desc{color:rgba(255,255,255,.75)}
/* Шиммер: световая волна при наведении */
.izdeliya-card__shimmer{
position:absolute;
top:0;
left:-80%;
width:60%;
height:100%;
background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.07) 45%,rgba(246,89,8,.14) 50%,rgba(255,255,255,.07) 55%,transparent 80%);
transform:skewX(-18deg);
pointer-events:none;
z-index:1;
}
.izdeliya-card:hover .izdeliya-card__shimmer{
animation:izdeliya-shimmer .9s ease forwards;
}
/* Стрелка перехода, появляется при наведении */
.izdeliya-card__arrow{
position:absolute;
right:16px;
bottom:14px;
display:flex;
align-items:center;
justify-content:center;
width:30px;
height:30px;
border-radius:50%;
background:rgba(246,89,8,.12);
color:#f65908;
opacity:0;
transform:translateX(-10px);
transition:opacity .3s ease,transform .3s ease,background .3s ease;
pointer-events:none;
z-index:2;
}
.izdeliya-card:hover .izdeliya-card__arrow{
opacity:1;
transform:translateX(0);
background:rgba(246,89,8,.24);
}

/* ============================================
КАК ЗАКАЗАТЬ: шаги
============================================ */
/* Заголовок «Как заказать» — по центру */
.page-block--limited .page__content:has(.izdeliya-steps) > h2{
text-align:center;
}
.izdeliya-steps{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:20px;
margin-top:32px;
margin-bottom:8px;
max-width:1060px;
margin-left:auto;
margin-right:auto;
position:relative;
}
/* Сквозная светящаяся линия позади карточек шагов */
.izdeliya-steps__line{
position:absolute;
top:50%;
left:1%;
right:1%;
height:2px;
background:linear-gradient(90deg,transparent,rgba(246,89,8,.4) 18%,rgba(246,89,8,.4) 82%,transparent);
box-shadow:0 0 10px rgba(246,89,8,.35);
pointer-events:none;
z-index:0;
animation:izdeliya-line-flow 3.5s ease-in-out infinite;
}
.izdeliya-step{
position:relative;
z-index:1;
display:flex;
flex-direction:column;
align-items:flex-start;
gap:12px;
padding:28px 20px 22px;
border-radius:14px;
border:1px solid rgba(255,255,255,.08);
background:rgba(26,29,36,.5);
transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease;
}
.izdeliya-step:hover{
border-color:rgba(246,89,8,.4);
box-shadow:0 8px 28px rgba(0,0,0,.3),0 0 16px rgba(246,89,8,.15);
transform:translateY(-4px);
}
/* Свечение карточки шага при наведении */
.izdeliya-step__glow{
position:absolute;
inset:-1px;
border-radius:inherit;
pointer-events:none;
opacity:0;
transition:opacity .35s ease;
box-shadow:0 0 20px rgba(246,89,8,.3),inset 0 0 14px rgba(246,89,8,.08);
}
.izdeliya-step:hover .izdeliya-step__glow{opacity:1}
.izdeliya-step__num{
display:flex;
align-items:center;
justify-content:center;
width:40px;
height:40px;
border-radius:50%;
background:linear-gradient(135deg,#f65908,#ff7a2f);
color:#1a1d22;
font-size:17px;
font-weight:800;
box-shadow:0 4px 14px rgba(246,89,8,.35);
transition:transform .3s ease,box-shadow .3s ease;
animation:izdeliya-num-pulse 3s ease-in-out infinite;
}
.izdeliya-step:hover .izdeliya-step__num{
transform:scale(1.15);
box-shadow:0 6px 20px rgba(246,89,8,.5);
animation-play-state:paused;
}
.izdeliya-step__text{
font-size:14px;
line-height:1.6;
color:rgba(255,255,255,.72);
}
/* Соединительная линия между шагами (desktop) */
@media(min-width:960px){
.izdeliya-step:not(:last-child)::after{
content:"";
position:absolute;
top:50%;
right:-18px;
width:18px;
height:2px;
background:linear-gradient(90deg,rgba(246,89,8,.5),transparent);
}
}

/* ============================================
FAQ: аккордеон-карточки
============================================ */
/* Заголовок «Ответы на частые вопросы» — по центру */
.page-block--limited .page__content:has(.izdeliya-faq) > h2{
text-align:center;
}
.izdeliya-faq{
display:flex;
flex-direction:column;
gap:14px;
margin-top:32px;
margin-bottom:8px;
max-width:1060px;
margin-left:auto;
margin-right:auto;
}
.izdeliya-faq__item{
border-radius:12px;
border:1px solid rgba(255,255,255,.08);
background:rgba(26,29,36,.5);
padding:20px 22px;
transition:border-color .3s ease,box-shadow .3s ease,background .3s ease;
}
.izdeliya-faq__item:hover{
border-color:rgba(246,89,8,.35);
box-shadow:0 4px 20px rgba(0,0,0,.25),0 0 12px rgba(246,89,8,.12);
background:rgba(26,29,36,.7);
}
.izdeliya-faq__q{
margin:0 0 10px;
padding-left:16px;
font-size:15px;
font-weight:700;
line-height:1.4;
color:#fff;
position:relative;
transition:color .3s ease;
}
.izdeliya-faq__q::before{
content:"";
position:absolute;
left:0;
top:2px;
bottom:2px;
width:3px;
border-radius:2px;
background:linear-gradient(180deg,#f65908,#ffb347);
box-shadow:0 0 6px rgba(246,89,8,.3);
}
/* Вращающийся ромб-маркер перед текстом вопроса */
.izdeliya-faq__marker{
display:inline-block;
width:8px;
height:8px;
margin-right:10px;
border-radius:2px;
background:linear-gradient(135deg,#f65908,#ffb347);
transform:rotate(45deg);
box-shadow:0 0 6px rgba(246,89,8,.4);
transition:transform .4s ease,box-shadow .4s ease;
}
.izdeliya-faq__item:hover .izdeliya-faq__marker{
transform:rotate(225deg);
box-shadow:0 0 12px rgba(246,89,8,.7);
}
.izdeliya-faq__item:hover .izdeliya-faq__q{color:#ffb347}
.izdeliya-faq__a{
margin:0;
padding-left:16px;
font-size:14px;
line-height:1.7;
color:rgba(255,255,255,.65);
}
.izdeliya-faq__item:hover .izdeliya-faq__a{color:rgba(255,255,255,.8)}

/* ============================================
АДАПТИВ
============================================ */
@media(max-width:767px){
.izdeliya-catalog-grid{
grid-template-columns:1fr;
gap:14px;
}
.izdeliya-card{
padding:18px 16px;
gap:12px;
}
.izdeliya-card__icon{
width:44px;
height:44px;
border-radius:10px;
}
.izdeliya-card__arrow{
right:12px;
bottom:10px;
width:26px;
height:26px;
}
.izdeliya-steps{
grid-template-columns:1fr;
gap:14px;
}
.izdeliya-steps__line{display:none}
.izdeliya-step{
flex-direction:row;
align-items:center;
padding:18px 16px;
}
.izdeliya-step__num{
width:36px;
height:36px;
font-size:15px;
flex-shrink:0;
}
.izdeliya-faq__item{
padding:16px 18px;
}
}
@media(min-width:768px) and (max-width:1023px){
.izdeliya-catalog-grid{
grid-template-columns:repeat(2,1fr);
}
.izdeliya-steps{
grid-template-columns:repeat(2,1fr);
}
.izdeliya-steps__line{display:none}
}

/* ============================================
СВЕТЛАЯ ТЕМА
============================================ */
html[data-theme="light"] .izdeliya-card{
background:rgba(255,255,255,.85);
border-color:rgba(246,89,8,.15);
}
html[data-theme="light"] .izdeliya-card:hover{
background:#fff;
border-color:rgba(246,89,8,.45);
box-shadow:0 12px 36px rgba(0,0,0,.1),0 0 20px rgba(246,89,8,.15);
}
html[data-theme="light"] .izdeliya-card__title{color:#1a1d22}
html[data-theme="light"] .izdeliya-card:hover .izdeliya-card__title{color:#f65908}
html[data-theme="light"] .izdeliya-card__desc{color:rgba(26,29,34,.6)}
html[data-theme="light"] .izdeliya-card__shimmer{
background:linear-gradient(105deg,transparent 20%,rgba(246,89,8,.06) 45%,rgba(246,89,8,.12) 50%,rgba(246,89,8,.06) 55%,transparent 80%);
}
html[data-theme="light"] .izdeliya-card__arrow{background:rgba(246,89,8,.1)}
html[data-theme="light"] .izdeliya-card:hover .izdeliya-card__arrow{background:rgba(246,89,8,.18)}
html[data-theme="light"] .izdeliya-step{
background:rgba(255,255,255,.85);
border-color:rgba(26,29,34,.08);
}
html[data-theme="light"] .izdeliya-step:hover{
border-color:rgba(246,89,8,.35);
box-shadow:0 8px 28px rgba(0,0,0,.08),0 0 14px rgba(246,89,8,.1);
}
html[data-theme="light"] .izdeliya-step:hover .izdeliya-step__glow{
box-shadow:0 0 18px rgba(246,89,8,.2),inset 0 0 12px rgba(246,89,8,.06);
}
html[data-theme="light"] .izdeliya-step__text{color:rgba(26,29,34,.75)}
html[data-theme="light"] .izdeliya-steps__line{
background:linear-gradient(90deg,transparent,rgba(246,89,8,.3) 18%,rgba(246,89,8,.3) 82%,transparent);
box-shadow:0 0 8px rgba(246,89,8,.25);
}
html[data-theme="light"] .izdeliya-faq__item{
background:rgba(255,255,255,.85);
border-color:rgba(26,29,34,.08);
}
html[data-theme="light"] .izdeliya-faq__item:hover{
border-color:rgba(246,89,8,.3);
box-shadow:0 4px 20px rgba(0,0,0,.06),0 0 10px rgba(246,89,8,.08);
}
html[data-theme="light"] .izdeliya-faq__q{color:#1a1d22}
html[data-theme="light"] .izdeliya-faq__item:hover .izdeliya-faq__q{color:#f65908}
html[data-theme="light"] .izdeliya-faq__a{color:rgba(26,29,34,.65)}
html[data-theme="light"] .izdeliya-faq__item:hover .izdeliya-faq__a{color:rgba(26,29,34,.85)}

/* ============================================
REDUCED MOTION
============================================ */
@media(prefers-reduced-motion:reduce){
.izdeliya-card,
.izdeliya-card__icon,
.izdeliya-step,
.izdeliya-step__num,
.izdeliya-faq__item{
transition:none;
}
.izdeliya-card:hover,
.izdeliya-step:hover{
transform:none;
}
}

/* ============================================
ИНТРО: пайплайн производства
============================================ */
.izdeliya-intro{
display:flex;
flex-direction:column;
gap:28px;
position:relative;
}
/* Контейнер с искрами-частицами */
.izdeliya-intro__fx{
position:absolute;
inset:0;
pointer-events:none;
overflow:hidden;
z-index:0;
}
.izdeliya-intro__spark{
position:absolute;
bottom:16%;
left:calc(4% + var(--i) * 14%);
width:4px;
height:4px;
border-radius:50%;
background:#ffb347;
box-shadow:0 0 8px 2px rgba(246,89,8,.55);
opacity:0;
animation:izdeliya-spark-float 4.2s ease-in-out infinite;
animation-delay:calc(var(--i) * .65s);
}
.izdeliya-intro__lead{
max-width:860px;
margin:0 auto;
text-align:center;
font-size:clamp(15px,1.8vw,18px);
line-height:1.75;
color:rgba(255,255,255,.8);
position:relative;
z-index:1;
animation:izdeliya-fade-up .7s ease backwards;
}
.izdeliya-intro__pipeline{
display:flex;
align-items:stretch;
justify-content:center;
flex-wrap:wrap;
gap:10px 12px;
position:relative;
z-index:1;
}
/* Каскадное появление элементов пайплайна */
.izdeliya-intro__pipeline > *{
animation:izdeliya-rise .55s cubic-bezier(.4,0,.2,1) backwards;
}
.izdeliya-intro__pipeline > *:nth-child(1){animation-delay:.05s}
.izdeliya-intro__pipeline > *:nth-child(2){animation-delay:.12s}
.izdeliya-intro__pipeline > *:nth-child(3){animation-delay:.19s}
.izdeliya-intro__pipeline > *:nth-child(4){animation-delay:.26s}
.izdeliya-intro__pipeline > *:nth-child(5){animation-delay:.33s}
.izdeliya-intro__pipeline > *:nth-child(6){animation-delay:.4s}
.izdeliya-intro__pipeline > *:nth-child(7){animation-delay:.47s}
.izdeliya-intro__pipeline > *:nth-child(8){animation-delay:.54s}
.izdeliya-intro__pipeline > *:nth-child(9){animation-delay:.61s}
.izdeliya-pipeline-item{
display:flex;
flex-direction:column;
align-items:center;
gap:8px;
min-width:106px;
padding:18px 16px 15px;
border-radius:12px;
border:1px solid rgba(255,255,255,.08);
background:rgba(26,29,36,.5);
transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease;
position:relative;
}
.izdeliya-pipeline-item:hover{
border-color:rgba(246,89,8,.45);
box-shadow:0 8px 24px rgba(0,0,0,.3),0 0 14px rgba(246,89,8,.18);
transform:translateY(-4px);
}
/* Свечение элемента пайплайна при наведении */
.izdeliya-pipeline-item__glow{
position:absolute;
inset:-1px;
border-radius:inherit;
pointer-events:none;
opacity:0;
transition:opacity .35s ease;
box-shadow:0 0 18px rgba(246,89,8,.4),inset 0 0 12px rgba(246,89,8,.1);
}
.izdeliya-pipeline-item:hover .izdeliya-pipeline-item__glow{opacity:1}
.izdeliya-pipeline-item__num{
font-family:'JetBrains Mono','Fira Code',monospace;
font-size:15px;
font-weight:700;
letter-spacing:.05em;
color:#f65908;
text-shadow:0 0 10px rgba(246,89,8,.35);
}
.izdeliya-pipeline-item__label{
font-size:13px;
font-weight:600;
letter-spacing:.02em;
color:rgba(255,255,255,.72);
}
.izdeliya-pipeline-arrow{
position:relative;
align-self:center;
flex-shrink:0;
width:22px;
height:2px;
background:linear-gradient(90deg,rgba(246,89,8,.55),rgba(246,89,8,.15));
}
.izdeliya-pipeline-arrow::after{
content:"";
position:absolute;
right:-1px;
top:50%;
transform:translateY(-50%);
border-left:6px solid rgba(246,89,8,.55);
border-top:4px solid transparent;
border-bottom:4px solid transparent;
}
/* Бегущая искра вдоль стрелки */
.izdeliya-pipeline-arrow__pulse{
position:absolute;
top:50%;
left:-2px;
width:6px;
height:6px;
margin-top:-3px;
border-radius:50%;
background:#ff7a2f;
box-shadow:0 0 8px 2px rgba(246,89,8,.7);
opacity:0;
animation:izdeliya-arrow-flow 2.4s linear infinite;
}

/* ============================================
ИНДИВИДУАЛЬНЫЙ ПРОЕКТ: карточка с CTA-кнопкой
============================================ */
.izdeliya-custom{
display:grid;
grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
gap:36px;
align-items:center;
position:relative;
max-width:1060px;
margin-left:auto;
margin-right:auto;
padding-top:16px;
}
.izdeliya-custom__content{
text-align:center;
align-items:center;
}
.page-block--limited .page__content .izdeliya-custom__content h2{
text-align:center;
}
.page-block--limited .page__content .izdeliya-custom__content h2::after{
left:50%;
transform:translateX(-50%);
}
.page-block--limited .page__content a.izdeliya-custom__link{
align-self:center;
}
/* Контейнер плавающих частиц */
.izdeliya-custom__fx{
position:absolute;
inset:0;
pointer-events:none;
overflow:hidden;
border-radius:16px;
z-index:0;
}
.izdeliya-custom__float{
position:absolute;
top:calc(16% + var(--fi) * 20%);
left:calc(8% + var(--fi) * 26%);
width:8px;
height:8px;
border-radius:50%;
border:1px solid rgba(246,89,8,.5);
background:rgba(246,89,8,.16);
box-shadow:0 0 8px rgba(246,89,8,.3);
opacity:.5;
animation:izdeliya-float-drift 6s ease-in-out infinite;
animation-delay:calc(var(--fi) * 1.3s);
}
.izdeliya-custom__content{
display:flex;
flex-direction:column;
gap:14px;
position:relative;
z-index:1;
}
.page-block--limited .page__content .izdeliya-custom__content h2{
margin:0;
text-align:center;
}
.page-block--limited .page__content .izdeliya-custom__content h2::after{
left:50%;
transform:translateX(-50%);
}
.page-block--limited .page__content .izdeliya-custom__content p{
margin-bottom:0;
}
.page-block--limited .page__content a.izdeliya-custom__link{
display:inline-flex;
align-items:center;
align-self:center;
margin-top:8px;
padding:13px 24px;
border-radius:10px;
border-bottom:none;
background:linear-gradient(135deg,#f65908,#ff7a2f);
color:#1a1d22;
font-size:14px;
font-weight:700;
text-decoration:none;
box-shadow:0 4px 16px rgba(246,89,8,.35);
transition:transform .3s ease,box-shadow .3s ease,color .3s ease;
}
.page-block--limited .page__content a.izdeliya-custom__link:hover{
color:#1a1d22;
border-bottom:none;
text-shadow:none;
transform:translateY(-3px);
box-shadow:0 8px 26px rgba(246,89,8,.5);
}
.izdeliya-custom__visual{
position:relative;
min-height:220px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:14px;
padding:26px 18px 22px;
overflow:hidden;
border-radius:16px;
border:1px dashed rgba(246,89,8,.4);
background:radial-gradient(ellipse at 70% 25%,rgba(246,89,8,.14),transparent 60%),rgba(26,29,36,.4);
}
/* ============================================
BLUEPRINT: SVG-чертёж с анимацией рисования
в зоне «Ваш проект» (вместо пустого бейджа)
============================================ */
.izdeliya-custom__blueprint{
width:min(300px,86%);
height:auto;
position:relative;
z-index:1;
filter:drop-shadow(0 0 10px rgba(246,89,8,.15));
}
.izdeliya-custom__blueprint .bp-main{stroke:#f65908;stroke-width:2}
.izdeliya-custom__blueprint .bp-thin{stroke:rgba(255,179,71,.75);stroke-width:1.2}
.izdeliya-custom__blueprint .bp-dim{stroke:rgba(255,255,255,.4);stroke-width:1}
.izdeliya-custom__blueprint path,
.izdeliya-custom__blueprint line,
.izdeliya-custom__blueprint circle{
fill:none;
stroke-linecap:round;
stroke-linejoin:round;
stroke-dasharray:1;
stroke-dashoffset:1;
animation:izdeliya-blueprint-draw 9s ease-in-out infinite;
animation-delay:calc(var(--bd,0)*.45s);
}
.izdeliya-custom__blueprint text{
font-family:'JetBrains Mono','Fira Code',monospace;
font-size:9px;
letter-spacing:.08em;
fill:#ffb347;
opacity:0;
animation:izdeliya-blueprint-label 9s ease-in-out infinite;
animation-delay:2.8s;
}
html[data-theme="light"] .izdeliya-custom__blueprint .bp-dim{stroke:rgba(26,29,34,.4)}
html[data-theme="light"] .izdeliya-custom__blueprint text{fill:#c94a00}
@media(prefers-reduced-motion:reduce){
.izdeliya-custom__blueprint path,
.izdeliya-custom__blueprint line,
.izdeliya-custom__blueprint circle{
animation:none;
stroke-dashoffset:0;
}
.izdeliya-custom__blueprint text{animation:none;opacity:1}
}
/* Вращающиеся пунктирные кольца вокруг бейджа */
.izdeliya-custom__rings{
position:absolute;
inset:0;
display:flex;
align-items:center;
justify-content:center;
pointer-events:none;
}
.izdeliya-custom__rings span{
position:absolute;
border-radius:50%;
border:1px dashed rgba(246,89,8,.28);
animation:izdeliya-ring-spin 16s linear infinite;
}
.izdeliya-custom__rings span:nth-child(1){width:110px;height:110px}
.izdeliya-custom__rings span:nth-child(2){
width:160px;
height:160px;
animation-duration:22s;
animation-direction:reverse;
border-color:rgba(255,179,71,.24);
}
.izdeliya-custom__rings span:nth-child(3){
width:214px;
height:214px;
animation-duration:28s;
border-color:rgba(246,89,8,.16);
}
/* Бейдж — компактная подпись под чертежом */
.izdeliya-custom__badge{
padding:9px 22px;
border-radius:999px;
border:1px solid rgba(246,89,8,.35);
background:rgba(17,15,15,.55);
backdrop-filter:blur(6px);
color:#ffb347;
font-size:12px;
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
box-shadow:0 0 22px rgba(246,89,8,.2);
position:relative;
z-index:1;
animation:izdeliya-badge-float 5s ease-in-out infinite;
}

/* ============================================
CTA: консультация и расчёт стоимости
============================================ */
.izdeliya-cta{
display:flex;
align-items:center;
justify-content:space-between;
flex-wrap:wrap;
gap:28px;
padding:6px 4px;
position:relative;
}
/* Контейнер расходящихся колец */
.izdeliya-cta__fx{
position:absolute;
inset:0;
pointer-events:none;
}
.izdeliya-cta__pulse{
position:absolute;
right:90px;
top:50%;
width:140px;
height:140px;
border-radius:50%;
border:1px solid rgba(246,89,8,.4);
opacity:0;
transform:translateY(-50%) scale(.5);
animation:izdeliya-cta-pulse 3.2s ease-out infinite;
}
.izdeliya-cta__pulse--2{animation-delay:1.6s}
.izdeliya-cta__text{
display:flex;
flex-direction:column;
gap:10px;
max-width:680px;
position:relative;
z-index:1;
}
.page-block--limited .page__content .izdeliya-cta__text h2{
margin:0;
text-align:left;
}
.page-block--limited .page__content .izdeliya-cta__text h2::after{
left:0;
transform:none;
}
.page-block--limited .page__content .izdeliya-cta__text p{
margin-bottom:0;
}
.izdeliya-cta__action{
display:flex;
flex-direction:column;
align-items:flex-start;
flex-shrink:0;
gap:8px;
position:relative;
z-index:1;
}
.page-block--limited .page__content a.izdeliya-cta__phone{
display:inline-block;
padding:16px 30px;
border-radius:12px;
border-bottom:none;
background:linear-gradient(135deg,#f65908,#ff7a2f);
color:#1a1d22;
font-size:19px;
font-weight:800;
letter-spacing:.02em;
line-height:1.2;
text-decoration:none;
white-space:nowrap;
box-shadow:0 6px 20px rgba(246,89,8,.4);
transition:transform .3s ease,box-shadow .3s ease,color .3s ease;
animation:izdeliya-phone-glow 3.2s ease-in-out infinite;
}
.page-block--limited .page__content a.izdeliya-cta__phone:hover{
color:#1a1d22;
border-bottom:none;
text-shadow:none;
transform:translateY(-3px) scale(1.02);
box-shadow:0 10px 30px rgba(246,89,8,.55);
animation-play-state:paused;
}
.izdeliya-cta__hours{
font-size:13px;
color:rgba(255,255,255,.55);
}

/* ============================================
АДАПТИВ: новые секции (пайплайн, custom, CTA)
============================================ */
@media(max-width:767px){
.izdeliya-intro{gap:20px}
.izdeliya-intro__lead{font-size:14px;text-align:left}
.izdeliya-intro__pipeline{gap:8px}
.izdeliya-pipeline-item{min-width:80px;padding:12px 10px 10px}
.izdeliya-pipeline-item__num{font-size:13px}
.izdeliya-pipeline-item__label{font-size:11px}
.izdeliya-pipeline-arrow{width:14px}
.izdeliya-custom{grid-template-columns:1fr;gap:20px}
.izdeliya-custom__visual{min-height:160px}
.izdeliya-custom__rings span:nth-child(3){width:168px;height:168px}
.izdeliya-cta{flex-direction:column;align-items:flex-start;gap:20px}
.izdeliya-cta__action{width:100%}
.izdeliya-cta__pulse{display:none}
.page-block--limited .page__content a.izdeliya-cta__phone{width:100%;text-align:center;font-size:17px;padding:14px 20px}
}
@media(min-width:768px) and (max-width:1023px){
.izdeliya-custom{grid-template-columns:1fr}
.izdeliya-custom__visual{min-height:180px}
.izdeliya-cta{gap:24px}
.izdeliya-cta__pulse{right:40px}
}

/* ============================================
СВЕТЛАЯ ТЕМА: новые секции
============================================ */
html[data-theme="light"] .izdeliya-intro__lead{color:rgba(26,29,34,.8)}
html[data-theme="light"] .izdeliya-pipeline-item{
background:rgba(255,255,255,.85);
border-color:rgba(26,29,34,.08);
}
html[data-theme="light"] .izdeliya-pipeline-item:hover{
border-color:rgba(246,89,8,.35);
box-shadow:0 8px 24px rgba(0,0,0,.08),0 0 14px rgba(246,89,8,.1);
}
html[data-theme="light"] .izdeliya-pipeline-item__glow{
box-shadow:0 0 16px rgba(246,89,8,.25),inset 0 0 10px rgba(246,89,8,.08);
}
html[data-theme="light"] .izdeliya-pipeline-item__label{color:rgba(26,29,34,.75)}
html[data-theme="light"] .izdeliya-pipeline-arrow{background:linear-gradient(90deg,rgba(246,89,8,.45),rgba(246,89,8,.1))}
html[data-theme="light"] .izdeliya-pipeline-arrow::after{border-left-color:rgba(246,89,8,.45)}
html[data-theme="light"] .izdeliya-custom__visual{
border-color:rgba(246,89,8,.3);
background:radial-gradient(ellipse at 70% 25%,rgba(246,89,8,.08),transparent 60%),rgba(247,248,250,.6);
}
html[data-theme="light"] .izdeliya-custom__float{
border-color:rgba(246,89,8,.4);
background:rgba(246,89,8,.1);
box-shadow:0 0 6px rgba(246,89,8,.2);
}
html[data-theme="light"] .izdeliya-custom__badge{
background:rgba(255,255,255,.8);
border-color:rgba(246,89,8,.25);
color:#f65908;
box-shadow:0 0 16px rgba(246,89,8,.12);
}
html[data-theme="light"] .izdeliya-cta__hours{color:rgba(26,29,34,.55)}
html[data-theme="light"] .izdeliya-cta__pulse{border-color:rgba(246,89,8,.3)}

/* ============================================
REDUCED MOTION: новые секции
============================================ */
@media(prefers-reduced-motion:reduce){
.izdeliya-pipeline-item,
.izdeliya-custom__visual,
.izdeliya-custom__badge{
transition:none;
}
.izdeliya-pipeline-item:hover{transform:none}
.izdeliya-intro__lead,
.izdeliya-intro__pipeline > *,
.izdeliya-intro__spark,
.izdeliya-pipeline-arrow__pulse,
.izdeliya-custom__float,
.izdeliya-custom__rings span,
.izdeliya-custom__badge,
.izdeliya-steps__line,
.izdeliya-step__num,
.izdeliya-cta__pulse,
.page-block--limited .page__content a.izdeliya-cta__phone{
animation:none;
}
.izdeliya-card__shimmer{display:none}
.izdeliya-card:hover .izdeliya-card__arrow{
transition:none;
}
}
/* ============================================
ЧИТАЕМОСТЬ КОНТЕНТ-ЗОНЫ: упрощение блока
ambient-фон и линия-разделитель удалены
============================================ */
.page-block--limited .page__content{
position:relative;
}
.page-block--limited .page__content::before{
content:none;
}
.page-block--limited .page__content > *{
position:relative;
z-index:1;
}
/* Линия-разделитель между секциями удалена по запросу пользователя */
.page-block--limited .page__content > h2:not(:first-child){
position:relative;
padding-top:24px;
}
.page-block--limited .page__content > h2:not(:first-child)::before{
content:none;
}
/* Подчёркивание h2: статичное, без расширения при наведении */
.page-block--limited .page__content.page__content--limited h2::after,
.page-block--limited .page-block__inner.page__content--limited h2::after{
transition:none;
}
.page-block--limited .page__content.page__content--limited h2:hover::after,
.page-block--limited .page-block__inner.page__content--limited h2:hover::after{
width:64px;
box-shadow:0 0 10px rgba(246,89,8,.4);
}
/* Читаемость: крупнее и контрастнее текст */
.page-block--limited .page__content.page__content--limited p,
.page-block--limited .page-block__inner.page__content--limited p{
font-size:16px;
line-height:1.8;
color:rgba(255,255,255,.85);
}
.page-block--limited .page__content.page__content--limited ul li,
.page-block--limited .page-block__inner.page__content--limited ul li,
.page-block--limited .page__content.page__content--limited ol li,
.page-block--limited .page-block__inner.page__content--limited ol li{
font-size:15.5px;
line-height:1.7;
color:rgba(255,255,255,.82);
}
/* Спокойный hover без сдвига текста */
.page-block--limited .page__content.page__content--limited ul li:hover,
.page-block--limited .page-block__inner.page__content--limited ul li:hover,
.page-block--limited .page__content.page__content--limited ol li:hover,
.page-block--limited .page-block__inner.page__content--limited ol li:hover{
transform:none;
}
/* ============================================
УСИЛЕНИЕ ИЗДЕЛИЯ-CUSTOM__FX: новые эффекты
============================================ */
.izdeliya-custom__fx{
position:absolute;
inset:0;
pointer-events:none;
overflow:hidden;
border-radius:16px;
z-index:0;
}
/* Сетка-сканер на фоне */
.izdeliya-custom__fx::before{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(rgba(246,89,8,.03) 1px,transparent 1px),
linear-gradient(90deg,rgba(246,89,8,.03) 1px,transparent 1px);
background-size:32px 32px;
animation:izdeliya-grid-pulse 4s ease-in-out infinite;
mask-image:radial-gradient(ellipse at 50% 50%,black 30%,transparent 75%);
-webkit-mask-image:radial-gradient(ellipse at 50% 50%,black 30%,transparent 75%);
}
/* Бегущая горизонтальная линия сканирования — удалена по запросу пользователя */
.izdeliya-custom__fx::after{
content:none;
}
/* Дополнительные искры-частицы */
.izdeliya-custom__spark{
position:absolute;
width:3px;
height:3px;
border-radius:50%;
background:#ffb347;
box-shadow:0 0 6px 2px rgba(246,89,8,.5);
opacity:0;
animation:izdeliya-custom-spark 3.5s ease-in-out infinite;
animation-delay:calc(var(--si) * .7s);
}
.izdeliya-custom__spark:nth-child(odd){
width:2px;
height:2px;
background:#ff7a2f;
}
/* Энергетические дуги */
.izdeliya-custom__arc{
position:absolute;
border-radius:50%;
border:1px solid transparent;
border-top-color:rgba(246,89,8,.35);
border-right-color:rgba(255,179,71,.2);
animation:izdeliya-arc-rotate 8s linear infinite;
animation-delay:calc(var(--ai) * 2.5s);
}
.izdeliya-custom__arc:nth-child(1){
width:80px;height:80px;top:10%;left:60%;
}
.izdeliya-custom__arc:nth-child(2){
width:120px;height:120px;top:40%;left:15%;
animation-direction:reverse;
animation-duration:11s;
}
/* ============================================
ЗОНА ЗАГРУЗКИ «СВОЙ ПРОЕКТ»
============================================ */
.izdeliya-upload{
margin-top:28px;
position:relative;
}
.izdeliya-upload__title{
font-size:16px;
font-weight:700;
color:#fff;
margin-bottom:14px;
display:flex;
align-items:center;
gap:10px;
}
.izdeliya-upload__title-icon{
width:22px;
height:22px;
color:#f65908;
}
.izdeliya-upload__dropzone{
position:relative;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:12px;
min-height:180px;
padding:32px 24px;
border-radius:16px;
border:2px dashed rgba(246,89,8,.35);
background:rgba(26,29,36,.4);
backdrop-filter:blur(6px);
cursor:pointer;
transition:border-color .3s ease,background .3s ease,box-shadow .3s ease,transform .3s ease;
overflow:hidden;
}
.izdeliya-upload__dropzone::before{
content:"";
position:absolute;
inset:0;
background:radial-gradient(circle at 50% 50%,rgba(246,89,8,.06),transparent 70%);
opacity:0;
transition:opacity .4s ease;
pointer-events:none;
}
.izdeliya-upload__dropzone:hover,
.izdeliya-upload__dropzone.is-dragover{
border-color:rgba(246,89,8,.7);
background:rgba(26,29,36,.6);
box-shadow:0 0 30px rgba(246,89,8,.15),inset 0 0 20px rgba(246,89,8,.05);
transform:translateY(-2px);
}
.izdeliya-upload__dropzone:hover::before,
.izdeliya-upload__dropzone.is-dragover::before{
opacity:1;
}
.izdeliya-upload__dropzone.is-dragover{
border-style:solid;
animation:izdeliya-upload-pulse 1.2s ease-in-out infinite;
}
.izdeliya-upload__icon{
width:48px;
height:48px;
color:rgba(246,89,8,.7);
transition:color .3s ease,transform .3s ease;
}
.izdeliya-upload__dropzone:hover .izdeliya-upload__icon{
color:#f65908;
transform:translateY(-4px) scale(1.1);
}
.izdeliya-upload__label{
font-size:14px;
font-weight:600;
color:rgba(255,255,255,.8);
text-align:center;
}
.izdeliya-upload__hint{
font-size:12px;
color:rgba(255,255,255,.45);
text-align:center;
}
.izdeliya-upload__input{
position:absolute;
inset:0;
opacity:0;
cursor:pointer;
}
/* Превью загруженного файла */
.izdeliya-upload__preview{
display:none;
margin-top:16px;
padding:16px;
border-radius:12px;
border:1px solid rgba(246,89,8,.25);
background:rgba(26,29,36,.5);
}
.izdeliya-upload__preview.is-visible{
display:flex;
align-items:center;
gap:14px;
animation:izdeliya-fade-up .4s ease;
}
.izdeliya-upload__preview-img{
width:64px;
height:64px;
border-radius:8px;
object-fit:cover;
border:1px solid rgba(246,89,8,.3);
}
.izdeliya-upload__preview-name{
font-size:13px;
color:rgba(255,255,255,.7);
word-break:break-all;
}
.izdeliya-upload__preview-remove{
margin-left:auto;
width:28px;
height:28px;
border-radius:50%;
border:1px solid rgba(255,80,8,.3);
background:rgba(255,80,80,.1);
color:#ff5050;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
transition:background .2s ease,border-color .2s ease;
}
.izdeliya-upload__preview-remove:hover{
background:rgba(255,80,80,.2);
border-color:rgba(255,80,80,.5);
}
/* ============================================
СВЕТЛАЯ ТЕМА: дополнения
============================================ */
html[data-theme="light"] .page-block--limited .page__content::before{
content:none;
}
html[data-theme="light"] .page-block--limited .page__content > h2:not(:first-child)::before{
content:none;
}
html[data-theme="light"] .page-block--limited .page__content.page__content--limited p,
html[data-theme="light"] .page-block--limited .page-block__inner.page__content--limited p{
color:rgba(26,29,34,.85);
}
html[data-theme="light"] .page-block--limited .page__content.page__content--limited ul li,
html[data-theme="light"] .page-block--limited .page-block__inner.page__content--limited ul li,
html[data-theme="light"] .page-block--limited .page__content.page__content--limited ol li,
html[data-theme="light"] .page-block--limited .page-block__inner.page__content--limited ol li{
color:rgba(26,29,34,.82);
}
html[data-theme="light"] .izdeliya-upload__title{color:#1a1d22}
html[data-theme="light"] .izdeliya-upload__dropzone{
border-color:rgba(246,89,8,.25);
background:rgba(255,255,255,.6);
}
html[data-theme="light"] .izdeliya-upload__dropzone:hover,
html[data-theme="light"] .izdeliya-upload__dropzone.is-dragover{
border-color:rgba(246,89,8,.6);
background:rgba(255,255,255,.85);
box-shadow:0 0 24px rgba(246,89,8,.1);
}
html[data-theme="light"] .izdeliya-upload__label{color:rgba(26,29,34,.8)}
html[data-theme="light"] .izdeliya-upload__hint{color:rgba(26,29,34,.5)}
html[data-theme="light"] .izdeliya-upload__preview{
border-color:rgba(246,89,8,.15);
background:rgba(255,255,255,.7);
}
html[data-theme="light"] .izdeliya-upload__preview-name{color:rgba(26,29,34,.7)}
/* ============================================
АДАПТИВ: зона загрузки
============================================ */
@media(max-width:767px){
.izdeliya-upload__dropzone{
min-height:140px;
padding:24px 16px;
}
.izdeliya-upload__icon{
width:36px;
height:36px;
}
}
/* ============================================
REDUCED MOTION: дополнения
============================================ */
@media(prefers-reduced-motion:reduce){
.page-block--limited .page__content::before,
.izdeliya-custom__fx::before,
.izdeliya-custom__fx::after,
.izdeliya-custom__spark,
.izdeliya-custom__arc,
.izdeliya-upload__dropzone.is-dragover{
animation:none;
}
}
/* ============================================
ОТСТУПЫ МЕЖДУ БЛОКАМИ: увеличенный зазор
между соседними page-block--limited секциями
============================================ */
.page-block.page-block--limited + .page-block.page-block--limited{
padding-top:64px;
}
.page-block.page-block--limited{
padding-bottom:56px;
}
@media(max-width:767px){
.page-block.page-block--limited + .page-block.page-block--limited{
padding-top:40px;
}
.page-block.page-block--limited{
padding-bottom:36px;
}
}
/* ============================================
KEYFRAMES: все анимации страницы /izdeliya/
============================================ */
@keyframes izdeliya-shimmer{
from{left:-80%}
to{left:130%}
}
@keyframes izdeliya-num-pulse{
0%,100%{box-shadow:0 4px 14px rgba(246,89,8,.35)}
50%{box-shadow:0 4px 22px rgba(246,89,8,.6)}
}
@keyframes izdeliya-line-flow{
0%,100%{opacity:.45}
50%{opacity:1}
}
@keyframes izdeliya-spark-float{
0%{transform:translateY(0) scale(.6);opacity:0}
15%{opacity:.9}
60%{opacity:.5}
100%{transform:translateY(-72px) scale(1.15);opacity:0}
}
@keyframes izdeliya-arrow-flow{
0%{transform:translateX(0);opacity:0}
18%{opacity:1}
82%{opacity:1}
100%{transform:translateX(26px);opacity:0}
}
@keyframes izdeliya-rise{
from{opacity:0;transform:translateY(14px)}
to{opacity:1;transform:translateY(0)}
}
@keyframes izdeliya-fade-up{
from{opacity:0;transform:translateY(12px)}
to{opacity:1;transform:translateY(0)}
}
@keyframes izdeliya-float-drift{
0%,100%{transform:translateY(0);opacity:.5}
50%{transform:translateY(-24px);opacity:1}
}
@keyframes izdeliya-ring-spin{
from{transform:rotate(0deg)}
to{transform:rotate(360deg)}
}
@keyframes izdeliya-badge-float{
0%,100%{transform:translateY(0)}
50%{transform:translateY(-8px)}
}
@keyframes izdeliya-cta-pulse{
0%{transform:translateY(-50%) scale(.5);opacity:.8}
100%{transform:translateY(-50%) scale(1.7);opacity:0}
}
@keyframes izdeliya-phone-glow{
0%,100%{box-shadow:0 6px 20px rgba(246,89,8,.4)}
50%{box-shadow:0 6px 30px rgba(246,89,8,.65)}
}
/* Новые keyframes: усиленные эффекты контент-зоны, custom__fx и зона загрузки */
@keyframes izdeliya-ambient-shift{
0%{opacity:.7;transform:translate3d(0,0,0)}
100%{opacity:1;transform:translate3d(0,-8px,0)}
}
@keyframes izdeliya-grid-pulse{
0%,100%{opacity:.45}
50%{opacity:.95}
}
@keyframes izdeliya-scan-line{
0%{top:-4px;opacity:0}
6%{opacity:1}
94%{opacity:1}
100%{top:calc(100% + 4px);opacity:0}
}
@keyframes izdeliya-custom-spark{
0%{opacity:0;transform:translateY(0) scale(.5)}
25%{opacity:1;transform:translateY(-8px) scale(1.15)}
60%{opacity:.55;transform:translateY(-18px) scale(.85)}
100%{opacity:0;transform:translateY(-30px) scale(.4)}
}
@keyframes izdeliya-arc-rotate{
from{transform:rotate(0deg)}
to{transform:rotate(360deg)}
}
@keyframes izdeliya-upload-pulse{
0%,100%{box-shadow:0 0 30px rgba(246,89,8,.15),inset 0 0 20px rgba(246,89,8,.05)}
50%{box-shadow:0 0 44px rgba(246,89,8,.3),inset 0 0 28px rgba(246,89,8,.12)}
}
/* Blueprint: каскадное рисование линий, удержание, затухание и новый цикл */
@keyframes izdeliya-blueprint-draw{
0%{stroke-dashoffset:1;opacity:0}
4%{opacity:1}
38%{stroke-dashoffset:0;opacity:1}
78%{stroke-dashoffset:0;opacity:1}
92%{stroke-dashoffset:0;opacity:0}
100%{stroke-dashoffset:1;opacity:0}
}
@keyframes izdeliya-blueprint-label{
0%,30%{opacity:0}
40%,82%{opacity:1}
94%,100%{opacity:0}
}

/* === modules/theme-proba2-layout.css === */
/*! source: templates/themes/proba-2/layout.php */
/* Базовые стили лейаута (proba-2). Вынесено из инлайн-<style id="p2-layout-css">. */
.p2-body{margin:0;padding:0;background:var(--color-bg-alt);overflow-x:clip}
.p2-skip-link{position:absolute;left:-9999px;top:auto;background:var(--color-primary);color:var(--color-text-inverse);padding:10px 20px;z-index:1000;border-radius:0 0 8px 0;text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap}
.p2-skip-link:focus{left:0;top:0}
.p2-page{min-height:100vh;display:flex;flex-direction:column}
.p2-main-content{flex:1;width:100%}
.p2-content-wrap{max-width:1400px;margin:0 auto;padding:24px 16px;background:transparent}
.p2-content-wrap--home{padding-top:0}
.p2-content-wrap--home .page--home{padding-top:0}
/* Секция .p2-after-main: ширина, отступы и фон описаны в modules/comments.css (единый источник оформления) */
.page-block--full{width:100vw;margin-left:calc(50% - 50vw);padding-top:0;padding-bottom:0;background:transparent}
.page-block__content.page__content--full{background:transparent}
/* Убираем зазор от .page__content > * + * внутри full-блоков: контент шорткода
обёрнут в <p>, браузер разрывает его перед блочным элементом, и слайдер как
второй дочерний элемент получает margin-top: var(--space-m). */
.page-block--full .page__content > * + *{margin-top:0}
.page--home-blocks{padding-top:0;padding-bottom:0}
.page--home-blocks .page__blocks{gap:0}
.page-block--limited{padding-top:var(--space-l);padding-bottom:var(--space-l)}
/* Визуально скрытый H1 (.p2-home-h1): единое правило .visually-hidden — в 04-utilities.css */

/* === modules/theme-proba2-lazernaya-chistka-metalla.css === */
/*
* Стили страницы «Лазерная чистка металла» (lazernaya-chistka-metalla).
* Палитра: тёмный графит + оранжевый неон (тема proba-2-copy).
* Все селекторы ограничены областью .lch-scope.
*/
.lch-scope{--lch-primary:#f58220;--lch-primary-hover:#ff9340;--lch-primary-light:rgba(245,130,32,.10);--lch-primary-glow:rgba(245,130,32,.40);--lch-primary-glow-lg:rgba(245,130,32,.12);--lch-info:#5b8cff;--lch-success:#2f9e44;--lch-danger:#e5484d;--lch-bg:#110f0f;--lch-bg-alt:#16181d;--lch-card:rgba(26,29,36,.72);--lch-card-solid:#1a1d24;--lch-text:#f3f4f6;--lch-text-muted:#9ca3af;--lch-text-dim:#7c8290;--lch-border:rgba(255,255,255,.08);--lch-border-strong:rgba(255,255,255,.16);--lch-radius-sm:12px;--lch-radius:16px;--lch-radius-lg:24px;--lch-shadow:0 4px 24px rgba(0,0,0,.30);--lch-shadow-hover:0 12px 40px rgba(0,0,0,.50),0 0 30px rgba(245,130,32,.25);--lch-transition:.35s cubic-bezier(.4,0,.2,1);background-color:transparent;background-image:none;color:var(--lch-text);font-family:'Inter','Segoe UI',system-ui,-apple-system,sans-serif;line-height:1.6}
.lch-scope img,.lch-scope svg,.lch-scope video{max-width:100%}
.lch-scope a{color:var(--lch-primary-hover)}
.lch-scope .lch-container{max-width:1200px;margin:0 auto;padding:0 16px}
.lch-scope .lch-actions{display:flex;flex-wrap:wrap;gap:16px}
.lch-scope .lch-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;border-radius:var(--lch-radius-sm);border:1px solid transparent;font-size:16px;font-weight:600;line-height:1.3;text-decoration:none;cursor:pointer;white-space:nowrap;transition:all var(--lch-transition)}
.lch-scope .lch-btn--primary{color:#fff;background:linear-gradient(135deg,var(--lch-primary) 0%,var(--lch-primary-hover) 100%);box-shadow:0 10px 25px rgba(245,130,32,.35)}
.lch-scope .lch-btn--primary:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(245,130,32,.50)}
.lch-scope .lch-btn--ghost{color:var(--lch-text);background:transparent;border-color:var(--lch-border-strong)}
.lch-scope .lch-btn--ghost:hover{border-color:var(--lch-primary);color:var(--lch-primary-hover);background:var(--lch-primary-light);transform:translateY(-3px)}
/* lch-bg-remove-v1: фон hero убран по запросу пользователя */
.lch-scope .lch-hero{position:relative;padding:clamp(64px,8vw,110px) 0 clamp(48px,6vw,80px);background:none;overflow:hidden;isolation:isolate}
.lch-scope .lch-hero::before{display:none}
.lch-scope .lch-hero__badge{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;margin-bottom:22px;background:var(--lch-primary-light);border:1px solid rgba(245,130,32,.30);border-radius:999px;color:var(--lch-primary-hover);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.lch-scope .lch-hero__badge-dot{width:8px;height:8px;border-radius:50%;background:var(--lch-primary);box-shadow:0 0 10px var(--lch-primary-glow);animation:lch-pulse-dot 2s infinite}
.lch-scope .lch-hero__title{margin:0 0 18px;font-family:'Oswald','Arial Narrow',system-ui,sans-serif;font-size:clamp(34px,5vw,58px);font-weight:800;line-height:1.1;text-transform:uppercase;letter-spacing:-.01em}
.lch-scope .lch-gradient-text{background:linear-gradient(135deg,var(--lch-primary) 0%,var(--lch-primary-hover) 55%,#ffc37a 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.lch-scope .lch-hero__desc{max-width:720px;margin:0 0 30px;font-size:clamp(16px,2vw,18px);color:var(--lch-text-muted)}
.lch-scope .lch-hero__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:42px}
.lch-scope .lch-hero__stat{padding:18px 22px;background:var(--lch-card);border:1px solid var(--lch-border);border-radius:var(--lch-radius);backdrop-filter:blur(8px);transition:all var(--lch-transition)}
.lch-scope .lch-hero__stat:hover{border-color:rgba(245,130,32,.35);box-shadow:0 0 24px rgba(245,130,32,.15);transform:translateY(-4px)}
.lch-scope .lch-hero__stat-num{font-family:'Oswald','Arial Narrow',system-ui,sans-serif;font-size:30px;font-weight:700;line-height:1.15;color:var(--lch-primary-hover)}
.lch-scope .lch-hero__stat-label{margin-top:4px;font-size:13px;color:var(--lch-text-muted);text-transform:uppercase;letter-spacing:.06em}
.lch-scope .lch-section{padding:clamp(56px,7vw,96px) 0;position:relative}
/* Стиль navesy: фон убран, добавлены оранжевые разделители */
.lch-scope .lch-section--alt{background:none;border-top:1px solid rgba(245,130,32,.28);border-bottom:1px solid rgba(245,130,32,.28)}
.lch-scope .lch-section--alt .lch-container{background-image:none;border-radius:var(--lch-radius)}
/* Разделитель между соседними секциями (стиль navesy) */
.lch-scope .lch-section + .lch-section::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(85%,680px);height:2px;background:linear-gradient(90deg,transparent,rgba(245,130,32,.7),transparent);box-shadow:0 0 18px rgba(245,130,32,.4);pointer-events:none;z-index:1}
/* lch-section-dividers-v3: блоки страницы переведены на обёртку page-block--limited
(как на /raskroy-metalla/), поэтому спец-селекторы article.page:has(...) для plain-секций
удалены — паддинги и разделители между блоками теперь дают глобальные стили page-block. */
.lch-scope .lch-section__header{max-width:760px;margin:0 auto 48px;text-align:center}
.lch-scope .lch-badge{display:inline-block;padding:7px 16px;margin-bottom:16px;background:var(--lch-primary-light);border:1px solid rgba(245,130,32,.25);border-radius:999px;color:var(--lch-primary-hover);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
.lch-scope .lch-section__title{margin:0 0 14px;font-family:'Oswald','Arial Narrow',system-ui,sans-serif;font-size:clamp(26px,3.6vw,40px);font-weight:700;line-height:1.15;text-transform:uppercase}
.lch-scope .lch-section__subtitle{margin:0;font-size:17px;color:var(--lch-text-muted)}
.lch-scope .lch-features__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.lch-scope .lch-feature-card{position:relative;padding:30px 26px;background:var(--lch-card);border:1px solid var(--lch-border);border-radius:var(--lch-radius);overflow:hidden;transition:all var(--lch-transition)}
.lch-scope .lch-feature-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--lch-primary),var(--lch-primary-hover));transform:scaleX(0);transform-origin:left;transition:transform var(--lch-transition)}
.lch-scope .lch-feature-card:hover{transform:translateY(-8px);border-color:rgba(245,130,32,.30);box-shadow:var(--lch-shadow-hover)}
.lch-scope .lch-feature-card:hover::before{transform:scaleX(1)}
.lch-scope .lch-feature-card__icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;margin-bottom:18px;background:var(--lch-primary-light);border:1px solid rgba(245,130,32,.25);border-radius:14px;color:var(--lch-primary-hover);transition:all var(--lch-transition)}
.lch-scope .lch-feature-card:hover .lch-feature-card__icon{background:linear-gradient(135deg,var(--lch-primary),var(--lch-primary-hover));color:#fff;box-shadow:0 8px 20px rgba(245,130,32,.30);transform:scale(1.05) rotate(-4deg)}
.lch-scope .lch-feature-card__icon svg{width:26px;height:26px}
.lch-scope .lch-feature-card__title{margin:0 0 10px;font-size:18px;font-weight:700}
.lch-scope .lch-feature-card__text{margin:0;font-size:15px;color:var(--lch-text-muted)}
.lch-scope .lch-apps__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.lch-scope .lch-app-card{display:flex;flex-direction:column;padding:26px 24px;background:var(--lch-card);border:1px solid var(--lch-border);border-radius:var(--lch-radius);transition:all var(--lch-transition)}
.lch-scope .lch-app-card:hover{transform:translateY(-6px);border-color:rgba(245,130,32,.30);box-shadow:var(--lch-shadow-hover)}
.lch-scope .lch-app-card__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:14px;background:var(--lch-primary-light);border:1px solid rgba(245,130,32,.25);border-radius:12px;color:var(--lch-primary-hover)}
.lch-scope .lch-app-card__icon svg{width:24px;height:24px}
.lch-scope .lch-app-card__title{margin:0 0 8px;font-size:16px;font-weight:700}
.lch-scope .lch-app-card__text{margin:0;font-size:14px;color:var(--lch-text-muted)}
.lch-scope .lch-steps{display:flex;flex-direction:column;gap:0;max-width:800px;margin:0 auto;position:relative}
.lch-scope .lch-step{display:flex;gap:24px;padding:28px 20px;position:relative;border-radius:var(--lch-radius);transition:all var(--lch-transition);animation:lch-step-appear .6s cubic-bezier(.4,0,.2,1) both}
.lch-scope .lch-step:nth-child(1){animation-delay:.05s}
.lch-scope .lch-step:nth-child(2){animation-delay:.2s}
.lch-scope .lch-step:nth-child(3){animation-delay:.35s}
.lch-scope .lch-step:nth-child(4){animation-delay:.5s}
.lch-scope .lch-step:hover{background:rgba(245,130,32,.05);box-shadow:0 8px 32px rgba(245,130,32,.10);transform:translateX(6px)}
.lch-scope .lch-step:not(:last-child)::after{content:'';position:absolute;left:47px;top:100px;bottom:-8px;width:2px;background:linear-gradient(180deg,var(--lch-primary) 0%,rgba(245,130,32,.35) 60%,transparent 100%);transition:all var(--lch-transition)}
.lch-scope .lch-step:hover:not(:last-child)::after{width:3px;box-shadow:0 0 14px var(--lch-primary-glow);left:46px}
.lch-scope .lch-step__num{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--lch-primary-light);border:2px solid rgba(245,130,32,.35);border-radius:50%;font-family:'Oswald',system-ui,sans-serif;font-size:22px;font-weight:700;color:var(--lch-primary-hover);position:relative;transition:all var(--lch-transition);z-index:1}
.lch-scope .lch-step__num::before{content:'';position:absolute;inset:-7px;border-radius:50%;border:2px solid rgba(245,130,32,.12);animation:lch-step-ring 2.5s ease-in-out infinite}
.lch-scope .lch-step:hover .lch-step__num{background:linear-gradient(135deg,var(--lch-primary),var(--lch-primary-hover));color:#fff;border-color:var(--lch-primary);box-shadow:0 0 28px rgba(245,130,32,.50);transform:scale(1.12) rotate(5deg)}
.lch-scope .lch-step:hover .lch-step__num::before{border-color:rgba(245,130,32,.40);animation-duration:1.2s}
.lch-scope .lch-step__content{flex:1;transition:all var(--lch-transition)}
.lch-scope .lch-step:hover .lch-step__content{transform:translateX(6px)}
.lch-scope .lch-step__title{margin:0 0 8px;font-size:18px;font-weight:700;transition:color var(--lch-transition)}
.lch-scope .lch-step:hover .lch-step__title{color:var(--lch-primary-hover)}
.lch-scope .lch-step__text{margin:0;font-size:15px;color:var(--lch-text-muted);transition:color var(--lch-transition)}
.lch-scope .lch-step:hover .lch-step__text{color:var(--lch-text)}
@media(prefers-reduced-motion:reduce){.lch-scope .lch-step{animation:none}.lch-scope .lch-step__num::before{animation:none}}
.lch-scope .lch-compare{overflow-x:auto}
.lch-scope .lch-compare__table{width:100%;border-collapse:collapse;font-size:15px}
.lch-scope .lch-compare__table th{padding:16px 20px;background:var(--lch-primary-light);border:1px solid var(--lch-border);font-weight:700;text-align:left;white-space:nowrap}
.lch-scope .lch-compare__table th:first-child{border-radius:var(--lch-radius-sm) 0 0 0}
.lch-scope .lch-compare__table th:last-child{border-radius:0 var(--lch-radius-sm) 0 0}
.lch-scope .lch-compare__table td{padding:14px 20px;border:1px solid var(--lch-border);vertical-align:top}
.lch-scope .lch-compare__table tr:nth-child(even) td{background:rgba(255,255,255,.02)}
.lch-scope .lch-compare__table .lch-yes{color:var(--lch-success);font-weight:600}
.lch-scope .lch-compare__table .lch-no{color:var(--lch-danger);font-weight:600}
.lch-scope .lch-compare__table .lch-partial{color:#fbbf24;font-weight:600}
.lch-scope .lch-reviews__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.lch-scope .lch-review-card{position:relative;padding:28px;background:var(--lch-card);border:1px solid var(--lch-border);border-radius:var(--lch-radius);transition:all var(--lch-transition)}
.lch-scope .lch-review-card:hover{transform:translateY(-6px);border-color:rgba(245,130,32,.30);box-shadow:var(--lch-shadow-hover)}
.lch-scope .lch-review-card__stars{margin-bottom:14px;color:#fbbf24;font-size:16px;letter-spacing:3px}
.lch-scope .lch-review-card__text{margin:0;font-size:15px;color:var(--lch-text-muted)}
.lch-scope .lch-review-card__author{display:flex;align-items:center;gap:12px;margin-top:20px}
.lch-scope .lch-review-card__avatar{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--lch-primary),var(--lch-primary-hover));color:#fff;font-weight:700;font-size:16px;flex-shrink:0}
.lch-scope .lch-review-card__name{font-size:15px;font-weight:600;line-height:1.3}
.lch-scope .lch-review-card__meta{font-size:13px;color:var(--lch-text-dim)}
.lch-scope .lch-faq__list{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.lch-scope .lch-faq__item{background:var(--lch-card);border:1px solid var(--lch-border);border-radius:var(--lch-radius);overflow:hidden;transition:border-color var(--lch-transition)}
.lch-scope .lch-faq__item[open]{border-color:rgba(245,130,32,.35)}
.lch-scope .lch-faq__question{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;font-size:17px;font-weight:600;cursor:pointer;list-style:none;user-select:none}
.lch-scope .lch-faq__question::-webkit-details-marker{display:none}
.lch-scope .lch-faq__question::after{content:'+';display:flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;border:1px solid var(--lch-border-strong);color:var(--lch-primary-hover);font-size:20px;line-height:1;transition:all var(--lch-transition)}
.lch-scope .lch-faq__item[open] .lch-faq__question::after{content:'–';background:var(--lch-primary);border-color:var(--lch-primary);color:#fff}
.lch-scope .lch-faq__answer{padding:0 24px 22px;font-size:15px;color:var(--lch-text-muted)}
.lch-scope .lch-faq__answer p{margin:0 0 10px}
.lch-scope .lch-faq__answer p:last-child{margin-bottom:0}
/* lch-bg-remove-v1: фон CTA убран по запросу пользователя */
.lch-scope .lch-cta{position:relative;padding:clamp(56px,7vw,90px) 0;background:none;overflow:hidden;isolation:isolate}
.lch-scope .lch-cta__card{position:relative;max-width:860px;margin:0 auto;padding:clamp(32px,5vw,56px);background:var(--lch-card);border:1px solid var(--lch-border-strong);border-radius:var(--lch-radius-lg);text-align:center;overflow:hidden}
.lch-scope .lch-cta__card::before{content:'';position:absolute;top:-80px;right:-80px;width:240px;height:240px;border-radius:50%;background:var(--lch-primary);filter:blur(110px);opacity:.18;pointer-events:none}
.lch-scope .lch-cta__title{margin:0 0 14px;font-family:'Oswald','Arial Narrow',system-ui,sans-serif;font-size:clamp(24px,3.4vw,36px);font-weight:700;line-height:1.2;text-transform:uppercase}
.lch-scope .lch-cta__text{max-width:560px;margin:0 auto 26px;font-size:16px;color:var(--lch-text-muted)}
.lch-scope .lch-cta__phone{display:inline-block;margin-bottom:22px;font-family:'Oswald','Arial Narrow',system-ui,sans-serif;font-size:clamp(26px,4vw,38px);font-weight:700;color:var(--lch-primary-hover);text-decoration:none;transition:color var(--lch-transition)}
.lch-scope .lch-cta__phone:hover{color:#fff}
.lch-scope .lch-cta__note{margin-top:18px;font-size:13px;color:var(--lch-text-dim)}
@keyframes lch-pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.25)}}
@keyframes lch-step-appear{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes lch-step-ring{0%,100%{opacity:.25;transform:scale(1)}50%{opacity:.7;transform:scale(1.15)}}
@media(max-width:1023px){.lch-scope .lch-features__grid,.lch-scope .lch-apps__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lch-scope .lch-gallery__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.lch-scope .lch-gallery-item{position:relative;border-radius:var(--lch-radius);overflow:hidden;background:var(--lch-card-solid);border:1px solid var(--lch-border);transition:all var(--lch-transition)}
.lch-scope .lch-gallery-item:hover{transform:translateY(-6px);border-color:rgba(245,130,32,.30);box-shadow:var(--lch-shadow-hover)}
.lch-scope .lch-gallery-item video,.lch-scope .lch-gallery-item img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#000}
.lch-scope .lch-gallery-item__label{padding:12px 16px;font-size:13px;color:var(--lch-text-muted);text-align:center;border-top:1px solid var(--lch-border)}
.lch-scope .lch-gallery-item--wide{grid-column:span 2}
.lch-scope .lch-gallery-item--wide video,.lch-scope .lch-gallery-item--wide img{aspect-ratio:21/9}
.lch-scope .lch-photo-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.lch-scope .lch-photo-item{position:relative;border-radius:var(--lch-radius);overflow:hidden;background:var(--lch-card-solid);border:1px solid var(--lch-border);transition:all var(--lch-transition);cursor:pointer}
.lch-scope .lch-photo-item:hover{transform:translateY(-6px) scale(1.02);border-color:rgba(245,130,32,.40);box-shadow:var(--lch-shadow-hover)}
.lch-scope .lch-photo-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.lch-scope .lch-photo-item:hover img{transform:scale(1.08)}
.lch-scope .lch-photo-item__overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.7) 100%);opacity:0;transition:opacity var(--lch-transition);display:flex;align-items:flex-end;padding:16px}
.lch-scope .lch-photo-item:hover .lch-photo-item__overlay{opacity:1}
.lch-scope .lch-photo-item__caption{color:#fff;font-size:13px;font-weight:500;line-height:1.4;transform:translateY(10px);transition:transform var(--lch-transition)}
.lch-scope .lch-photo-item:hover .lch-photo-item__caption{transform:translateY(0)}
@media(max-width:1023px){.lch-scope .lch-gallery__grid{grid-template-columns:1fr}.lch-scope .lch-gallery-item--wide{grid-column:span 1}.lch-scope .lch-photo-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.lch-scope .lch-photo-gallery__grid{grid-template-columns:1fr}}
@media(max-width:767px){.lch-scope .lch-hero__stats{grid-template-columns:1fr}.lch-scope .lch-features__grid,.lch-scope .lch-apps__grid{grid-template-columns:1fr}.lch-scope .lch-reviews__grid{grid-template-columns:1fr}.lch-scope .lch-actions{flex-direction:column;align-items:stretch}.lch-scope .lch-btn{width:100%}.lch-scope .lch-step{flex-direction:column;gap:16px}.lch-scope .lch-step:not(:last-child)::after{display:none}}
.container[data-reveal]:has(.lch-scope),.page__content[data-reveal]:has(.lch-scope){opacity:1!important;transform:none!important}
.lch-scope{opacity:1!important;visibility:visible!important}
/* === Стили блоков в стиле navesy: прозрачные фоны, паттерн «Искры» убран === */
.lch-scope .lch-feature-card,
.lch-scope .lch-app-card,
.lch-scope .lch-review-card,
.lch-scope .lch-faq__item,
.lch-scope .lch-cta__card,
.lch-scope .lch-gallery-item,
.lch-scope .lch-photo-item {
background-color: transparent;
background-image: none;
}
/* Фон limited-блоков страницы lazernaya-chistka-metalla убран */
.page-block__inner.page__content--limited:has(.lch-scope) {
background-image: none;
background: none;
}
/* lch-full-block-bg-remove-v1: тёмный фон внешнего блока убран по запросу пользователя */
.page-block:has(.lch-scope) {
background-color: transparent;
background-image: none;
}

/* === modules/theme-proba2-lestnitsy.css === */
/*
* Стили страницы «Лестницы» (lestnitsy).
* Палитра: тёмный графит + фирменный оранжевый (#f58220) — тема proba-2.
* Шрифты: заголовки Oswald, текст Inter (фактически подключены на странице).
* Все селекторы ограничены областью .lestnitsy-scope.
*/

.lestnitsy-scope {
font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
color: var(--ls-text);
line-height: 1.6;

--ls-primary: #f58220;
--ls-primary-hover: #ff9340;
--ls-primary-light: rgba(245, 130, 32, 0.10);
--ls-primary-glow: rgba(245, 130, 32, 0.40);
--ls-primary-glow-lg: rgba(245, 130, 32, 0.12);
--ls-accent: #ff9340;
--ls-info: #5b8cff;
--ls-success: #2f9e44;

--ls-bg-body: #110f0f;
--ls-bg-surface: #16181d;
--ls-bg-elevated: rgba(26, 29, 36, 0.72);
--ls-bg-card-solid: #1a1d24;
--ls-bg-dark: #0e0c0c;

--ls-text: #f3f4f6;
--ls-text-secondary: #9ca3af;
--ls-text-muted: #9ca3af;
--ls-text-dim: #7c8290;
--ls-text-inverse: #ffffff;

--ls-border: rgba(255, 255, 255, 0.08);
--ls-border-strong: rgba(255, 255, 255, 0.16);

--ls-radius-s: 8px;
--ls-radius-m: 12px;
--ls-radius-l: 16px;
--ls-radius-xl: 24px;

--ls-shadow-card: 0 2px 12px rgba(0, 0, 0, 0.25);
--ls-shadow-card-hover: 0 8px 28px rgba(0, 0, 0, 0.35);

--ls-transition: 0.25s ease;
--ls-container-max: 1200px;
--ls-container-pad: 24px;
}

/* ===== Container ===== */
.lestnitsy-scope .ls-container {
max-width: var(--ls-container-max);
margin: 0 auto;
padding: 0 var(--ls-container-pad);
}

/* ===== Hero Section ===== */
/* hero-bg-conic-v1: конусный градиент на базе #1a1d22 (вариант 6 из preview) */
.lestnitsy-scope .ls-hero {
position: relative;
padding: 80px 0 64px;
background-color: #1a1d22;
background-image: conic-gradient(from 210deg at 82% 8%,
#1a1d22 0deg, #1e1c1a 80deg, #251e14 135deg, #1c1a16 200deg, #1a1d22 360deg);
overflow: hidden;
}
/* Декоративные radial-свечения фона убраны вместе с градиентом */
.lestnitsy-scope .ls-hero::before,
.lestnitsy-scope .ls-hero::after {
content: none;
}

.lestnitsy-scope .ls-hero__badge {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 6px 14px;
background: var(--ls-primary-light);
border: 1px solid rgba(245, 130, 32, 0.25);
border-radius: 9999px;
font-size: 13px;
font-weight: 600;
color: var(--ls-primary-hover);
letter-spacing: 0.02em;
margin-bottom: 20px;
}

.lestnitsy-scope .ls-hero__badge-dot {
width: 6px;
height: 6px;
background: var(--ls-primary);
border-radius: 50%;
animation: lsPulse 2s infinite;
}

@keyframes lsPulse {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.5; transform: scale(0.8); }
}

.lestnitsy-scope .ls-hero__title {
font-family: 'Oswald', 'Inter', sans-serif;
font-size: clamp(28px, 5vw, 48px);
font-weight: 700;
line-height: 1.15;
color: var(--ls-text);
margin: 0 0 20px;
text-transform: uppercase;
letter-spacing: -0.01em;
}

.lestnitsy-scope .ls-gradient-text {
background: linear-gradient(135deg, var(--ls-primary) 0%, var(--ls-primary-hover) 55%, #ffc37a 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}

.lestnitsy-scope .ls-hero__desc {
font-size: 16px;
line-height: 1.7;
color: var(--ls-text-secondary);
max-width: 640px;
margin: 0 0 28px;
}

.lestnitsy-scope .ls-actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-bottom: 36px;
}

.lestnitsy-scope .ls-btn {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 12px 28px;
border-radius: var(--ls-radius-m);
font-size: 15px;
font-weight: 600;
text-decoration: none;
transition: all var(--ls-transition);
cursor: pointer;
border: none;
}

.lestnitsy-scope .ls-btn--primary {
background: linear-gradient(135deg, var(--ls-primary) 0%, var(--ls-primary-hover) 100%);
color: var(--ls-text-inverse);
box-shadow: 0 4px 16px var(--ls-primary-glow);
}

.lestnitsy-scope .ls-btn--primary:hover {
transform: translateY(-2px);
box-shadow: 0 8px 24px var(--ls-primary-glow);
}

.lestnitsy-scope .ls-btn--ghost {
background: transparent;
color: var(--ls-text);
border: 1px solid var(--ls-border-strong);
}

.lestnitsy-scope .ls-btn--ghost:hover {
border-color: var(--ls-primary);
color: var(--ls-primary-hover);
background: var(--ls-primary-light);
}

.lestnitsy-scope .ls-hero__stats {
display: flex;
gap: 32px;
flex-wrap: wrap;
}

.lestnitsy-scope .ls-hero__stat {
display: flex;
flex-direction: column;
gap: 2px;
}

.lestnitsy-scope .ls-hero__stat-num {
font-family: 'Oswald', 'Inter', sans-serif;
font-size: 28px;
font-weight: 700;
color: var(--ls-primary-hover);
}
.lestnitsy-scope .ls-hero__stat-label {
font-size: 13px;
color: var(--ls-text-muted);
}
/* ===== Hero Grid (image on side) ===== */
.lestnitsy-scope .ls-hero__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: center;
}
.lestnitsy-scope .ls-hero__image {
position: relative;
border-radius: var(--ls-radius-l);
overflow: hidden;
border: 1px solid var(--ls-border);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}
.lestnitsy-scope .ls-hero__image img {
display: block;
width: 100%;
height: auto;
object-fit: cover;
}
@media (max-width: 768px) {
  .lestnitsy-scope .ls-hero__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* ===== Hero Full-Width Background (full-bleed) ===== */
/* Снимаем overflow:hidden с limited-обёртки, чтобы hero-фон вышел на полную ширину */
.page-block--limited:has(.lestnitsy-scope) .page-block__inner.page__content--limited,
.page-block__inner.page__content--limited:has(.lestnitsy-scope) {
  overflow: visible !important;
}

/* Растягиваем .ls-hero на всю ширину viewport */
.lestnitsy-scope .ls-hero {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

/* ===== Sections ===== */
.lestnitsy-scope .ls-section {
padding: 64px 0;
background: var(--ls-bg-body);
}

.lestnitsy-scope .ls-section--alt {
background: var(--ls-bg-surface);
}

.lestnitsy-scope .ls-section__header {
text-align: center;
margin-bottom: 48px;
}

.lestnitsy-scope .ls-badge {
display: inline-block;
padding: 4px 12px;
background: var(--ls-primary-light);
border: 1px solid rgba(245, 130, 32, 0.25);
border-radius: 9999px;
font-size: 12px;
font-weight: 600;
color: var(--ls-primary-hover);
text-transform: uppercase;
letter-spacing: 0.06em;
margin-bottom: 12px;
}

.lestnitsy-scope .ls-section__title {
font-family: 'Oswald', 'Inter', sans-serif;
font-size: clamp(24px, 4vw, 36px);
font-weight: 700;
color: var(--ls-text);
margin: 0 0 12px;
text-transform: uppercase;
}

.lestnitsy-scope .ls-section__subtitle {
font-size: 15px;
color: var(--ls-text-muted);
max-width: 560px;
margin: 0 auto;
}

/* ===== Feature Cards Grid ===== */
.lestnitsy-scope .ls-features__grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
gap: 20px;
}

.lestnitsy-scope .ls-feature-card {
background: var(--ls-bg-elevated);
border: 1px solid var(--ls-border);
border-radius: var(--ls-radius-l);
padding: 28px 24px;
transition: all var(--ls-transition);
backdrop-filter: blur(8px);
}

.lestnitsy-scope .ls-feature-card:hover {
border-color: rgba(245, 130, 32, 0.30);
box-shadow: var(--ls-shadow-card-hover);
transform: translateY(-3px);
}

.lestnitsy-scope .ls-feature-card__icon {
width: 44px;
height: 44px;
display: flex;
align-items: center;
justify-content: center;
background: var(--ls-primary-light);
border-radius: var(--ls-radius-s);
margin-bottom: 16px;
color: var(--ls-primary-hover);
}

.lestnitsy-scope .ls-feature-card__icon svg {
width: 22px;
height: 22px;
}

.lestnitsy-scope .ls-feature-card__title {
font-size: 17px;
font-weight: 600;
color: var(--ls-text);
margin: 0 0 8px;
}

.lestnitsy-scope .ls-feature-card__text {
font-size: 14px;
line-height: 1.6;
color: var(--ls-text-secondary);
margin: 0;
}

/* ===== Steps Grid ===== */
.lestnitsy-scope .ls-steps__grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
gap: 16px;
}

.lestnitsy-scope .ls-step-card {
background: var(--ls-bg-elevated);
border: 1px solid var(--ls-border);
border-radius: var(--ls-radius-l);
padding: 24px 20px;
text-align: center;
transition: all var(--ls-transition);
}

.lestnitsy-scope .ls-step-card:hover {
border-color: rgba(245, 130, 32, 0.30);
transform: translateY(-2px);
}

.lestnitsy-scope .ls-step-card__num {
width: 36px;
height: 36px;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, var(--ls-primary) 0%, var(--ls-primary-hover) 100%);
color: var(--ls-text-inverse);
font-weight: 700;
font-size: 15px;
border-radius: 50%;
margin: 0 auto 12px;
}

.lestnitsy-scope .ls-step-card__title {
font-size: 15px;
font-weight: 600;
color: var(--ls-text);
margin: 0 0 4px;
}

.lestnitsy-scope .ls-step-card__text {
font-size: 13px;
color: var(--ls-text-muted);
margin: 0;
}

/* ===== Services Grid ===== */
.lestnitsy-scope .ls-services__grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
gap: 20px;
}

.lestnitsy-scope .ls-service-card {
background: var(--ls-bg-elevated);
border: 1px solid var(--ls-border);
border-radius: var(--ls-radius-l);
padding: 24px 20px;
transition: all var(--ls-transition);
}

.lestnitsy-scope .ls-service-card:hover {
border-color: rgba(245, 130, 32, 0.30);
box-shadow: var(--ls-shadow-card-hover);
transform: translateY(-2px);
}

.lestnitsy-scope .ls-service-card__icon {
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
background: var(--ls-primary-light);
border-radius: var(--ls-radius-s);
margin-bottom: 14px;
color: var(--ls-primary-hover);
}

.lestnitsy-scope .ls-service-card__icon svg {
width: 20px;
height: 20px;
}

.lestnitsy-scope .ls-service-card__title {
font-size: 16px;
font-weight: 600;
color: var(--ls-text);
margin: 0 0 6px;
}

.lestnitsy-scope .ls-service-card__text {
font-size: 14px;
line-height: 1.5;
color: var(--ls-text-secondary);
margin: 0;
}

/* ===== Reviews Grid ===== */
.lestnitsy-scope .ls-reviews__grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 20px;
}

.lestnitsy-scope .ls-review-card {
background: var(--ls-bg-elevated);
border: 1px solid var(--ls-border);
border-radius: var(--ls-radius-l);
padding: 24px;
transition: all var(--ls-transition);
}

.lestnitsy-scope .ls-review-card:hover {
border-color: rgba(245, 130, 32, 0.30);
}

.lestnitsy-scope .ls-review-card__text {
font-size: 14px;
line-height: 1.7;
color: var(--ls-text-secondary);
margin: 0 0 16px;
font-style: italic;
}

.lestnitsy-scope .ls-review-card__author {
font-size: 13px;
font-weight: 600;
color: var(--ls-primary-hover);
}

/* ===== FAQ ===== */
.lestnitsy-scope .ls-faq__list {
max-width: 800px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 12px;
}

.lestnitsy-scope .ls-faq__item {
background: var(--ls-bg-elevated);
border: 1px solid var(--ls-border);
border-radius: var(--ls-radius-m);
overflow: hidden;
transition: border-color var(--ls-transition);
}

.lestnitsy-scope .ls-faq__item[open] {
border-color: rgba(245, 130, 32, 0.35);
}

.lestnitsy-scope .ls-faq__question {
padding: 18px 24px;
font-size: 15px;
font-weight: 600;
color: var(--ls-text);
cursor: pointer;
list-style: none;
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
transition: color var(--ls-transition);
}

.lestnitsy-scope .ls-faq__question::-webkit-details-marker {
display: none;
}

.lestnitsy-scope .ls-faq__question::after {
content: '+';
font-size: 20px;
font-weight: 300;
color: var(--ls-primary-hover);
transition: transform var(--ls-transition);
flex-shrink: 0;
}

.lestnitsy-scope .ls-faq__item[open] .ls-faq__question::after {
transform: rotate(45deg);
}

.lestnitsy-scope .ls-faq__question:hover {
color: var(--ls-primary-hover);
}

.lestnitsy-scope .ls-faq__answer {
padding: 0 24px 18px;
font-size: 14px;
line-height: 1.7;
color: var(--ls-text-secondary);
}

/* ===== CTA Section ===== */
.lestnitsy-scope .ls-cta {
padding: 64px 0;
background: var(--ls-bg-body);
}

.lestnitsy-scope .ls-cta__card {
background: linear-gradient(135deg, rgba(245, 130, 32, 0.08) 0%, rgba(91, 140, 255, 0.05) 100%);
border: 1px solid rgba(245, 130, 32, 0.20);
border-radius: var(--ls-radius-xl);
padding: 48px 40px;
text-align: center;
position: relative;
overflow: hidden;
}

.lestnitsy-scope .ls-cta__card::before {
content: '';
position: absolute;
top: -60px;
right: -40px;
width: 200px;
height: 200px;
background: radial-gradient(circle, var(--ls-primary-glow-lg) 0%, transparent 70%);
border-radius: 50%;
pointer-events: none;
}

.lestnitsy-scope .ls-cta__title {
font-family: 'Oswald', 'Inter', sans-serif;
font-size: clamp(22px, 3.5vw, 32px);
font-weight: 700;
color: var(--ls-text);
margin: 0 0 12px;
text-transform: uppercase;
}

.lestnitsy-scope .ls-cta__text {
font-size: 15px;
color: var(--ls-text-secondary);
max-width: 520px;
margin: 0 auto 28px;
}

/* ===== Works Gallery ===== */
.lestnitsy-scope .ls-works {
padding: 64px 0;
background: var(--ls-bg-body);
}

.lestnitsy-scope .ls-works--alt {
background: var(--ls-bg-surface);
}

.lestnitsy-scope .ls-works__header {
text-align: center;
margin-bottom: 40px;
}

.lestnitsy-scope .ls-works__grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
gap: 16px;
}

.lestnitsy-scope .ls-works__item {
position: relative;
margin: 0;
border-radius: var(--ls-radius-m);
overflow: hidden;
border: 1px solid var(--ls-border);
background: var(--ls-bg-elevated);
transition: all var(--ls-transition);
}

.lestnitsy-scope .ls-works__item:hover {
border-color: rgba(245, 130, 32, 0.35);
box-shadow: var(--ls-shadow-card-hover);
transform: translateY(-3px);
}

.lestnitsy-scope .ls-works__img {
display: block;
width: 100%;
height: 220px;
object-fit: cover;
background: var(--ls-bg-dark);
}

.lestnitsy-scope .ls-works__caption {
position: absolute;
left: 0;
right: 0;
bottom: 0;
padding: 10px 12px;
font-size: 12px;
line-height: 1.4;
color: var(--ls-text-inverse);
background: linear-gradient(0deg, rgba(10, 10, 14, 0.78) 0%, rgba(10, 10, 14, 0) 100%);
opacity: 0;
transform: translateY(8px);
transition: all var(--ls-transition);
pointer-events: none;
}

.lestnitsy-scope .ls-works__item:hover .ls-works__caption,
.lestnitsy-scope .ls-works__item:focus-within .ls-works__caption {
opacity: 1;
transform: translateY(0);
}

.lestnitsy-scope .ls-works__note {
margin-top: 18px;
text-align: center;
font-size: 13px;
color: var(--ls-text-muted);
}

@media (max-width: 768px) {
.lestnitsy-scope .ls-works {
padding: 40px 0;
}
.lestnitsy-scope .ls-works__grid {
grid-template-columns: repeat(2, 1fr);
}
.lestnitsy-scope .ls-works__img {
height: 180px;
}
}

@media (max-width: 480px) {
.lestnitsy-scope .ls-works__grid {
grid-template-columns: 1fr;
}
.lestnitsy-scope .ls-works__img {
height: 240px;
}
}

/* ===== Responsive ===== */
@media (max-width: 768px) {
.lestnitsy-scope .ls-hero {
padding: 48px 0 40px;
}
.lestnitsy-scope .ls-hero__stats {
gap: 20px;
}
.lestnitsy-scope .ls-section {
padding: 40px 0;
}
.lestnitsy-scope .ls-features__grid,
.lestnitsy-scope .ls-services__grid,
.lestnitsy-scope .ls-reviews__grid {
grid-template-columns: 1fr;
}
.lestnitsy-scope .ls-steps__grid {
grid-template-columns: repeat(2, 1fr);
}
.lestnitsy-scope .ls-cta__card {
padding: 32px 20px;
}
.lestnitsy-scope .ls-actions {
flex-direction: column;
}
.lestnitsy-scope .ls-btn {
width: 100%;
}
}

@media (max-width: 480px) {
.lestnitsy-scope .ls-steps__grid {
grid-template-columns: 1fr;
}
.lestnitsy-scope .ls-container {
padding: 0 16px;
}
}

/* === Убраны фоны по запросу пользователя === */
.lestnitsy-scope {
background: transparent !important;
background-color: transparent !important;
background-image: none !important;
}

.lestnitsy-scope .ls-section,
.lestnitsy-scope .ls-section--alt,
.lestnitsy-scope .ls-works,
.lestnitsy-scope .ls-works--alt {
background: transparent !important;
background-color: transparent !important;
background-image: none !important;
}
/* Убираем SVG-паттерны внутри секций (position:relative;overflow:hidden) */
.lestnitsy-scope .ls-section > svg[aria-hidden="true"],
.lestnitsy-scope .ls-section > svg[style*="position:absolute"] {
display: none !important;
}

/* Защита от скрытия блоков scroll-reveal */
.lestnitsy-scope {
opacity: 1 !important;
visibility: visible !important;
}

/* Убран фон внешних limited-обёрток по запросу пользователя */
.page-block--limited:has(.lestnitsy-scope),
.page-block__inner.page__content--limited:has(.lestnitsy-scope) {
background: none !important;
background-color: transparent !important;
background-image: none !important;
}
/* glow-limited-v1: свечение limited-обёрток страницы «Лестницы» как у full-блоков */
.page-block--limited:has(.lestnitsy-scope) .page-block__inner.page__content--limited,
.page-block__inner.page__content--limited:has(.lestnitsy-scope) {
border: 1px solid rgba(245, 130, 32, 0.25) !important;
box-shadow: 0 0 20px rgba(245, 130, 32, 0.35), 0 0 50px rgba(245, 130, 32, 0.15) !important;
transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}
.page-block--limited:has(.lestnitsy-scope) .page-block__inner.page__content--limited:hover,
.page-block__inner.page__content--limited:has(.lestnitsy-scope):hover {
border-color: rgba(245, 130, 32, 0.5) !important;
box-shadow: 0 0 30px rgba(245, 130, 32, 0.5), 0 0 80px rgba(245, 130, 32, 0.22) !important;
}


/* === modules/theme-proba2-navesy.css === */
/*
 * Стили страницы «Навесы» (navesy).
 * Палитра: тёмный графит + оранжевый неон (#f58220) — активная тема proba-2-copy.
 * Шрифты: заголовки Oswald, текст Inter (фактически подключены на странице).
 * Все селекторы ограничены областью .navesy-scope.
 */
.navesy-scope {
    font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
    color: var(--nv-text);
    line-height: 1.6;
    --nv-primary: #f58220;
    --nv-primary-hover: #ff9340;
    --nv-primary-light: rgba(245, 130, 32, 0.10);
    --nv-primary-glow: rgba(245, 130, 32, 0.40);
    --nv-primary-glow-lg: rgba(245, 130, 32, 0.12);
    --nv-accent: #ff9340;
    --nv-info: #5b8cff;
    --nv-success: #2f9e44;
    --nv-bg-body: #110f0f;
    --nv-bg-surface: #16181d;
    --nv-bg-elevated: rgba(26, 29, 36, 0.72);
    --nv-bg-card-solid: #1a1d24;
    --nv-bg-dark: #0e0c0c;
    --nv-text: #f3f4f6;
    --nv-text-secondary: #9ca3af;
    --nv-text-muted: #9ca3af;
    --nv-text-dim: #7c8290;
    --nv-text-inverse: #ffffff;
    --nv-border: rgba(255, 255, 255, 0.08);
    --nv-border-strong: rgba(255, 255, 255, 0.16);
    --nv-radius-lg: 16px;
    --nv-radius-xl: 24px;
    --nv-radius-2xl: 24px;
    --nv-shadow-sm: 0 4px 24px rgba(0, 0, 0, 0.30);
    --nv-shadow-md: 0 8px 28px rgba(0, 0, 0, 0.45);
    --nv-shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.50), 0 0 30px rgba(245, 130, 32, 0.25);
    --nv-shadow-xl: 0 12px 40px rgba(0, 0, 0, 0.50), 0 0 30px rgba(245, 130, 32, 0.40);
    --nv-section-py: clamp(2.5rem, 8vw, 4rem);
--nv-transition: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.navesy-scope img,
.navesy-scope video { max-width: 100%; height: auto; }

.navesy-scope a { color: var(--nv-primary-hover); }

.navesy-scope .nv-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
    box-sizing: border-box;
}

.navesy-scope .nv-gradient-text {
    background: linear-gradient(135deg, var(--nv-primary) 0%, var(--nv-primary-hover) 55%, #ffc37a 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* === HERO === */
.navesy-scope .nv-hero {
padding: var(--nv-section-py) 0;
background: none;
position: relative;
overflow: hidden;
}

.navesy-scope .nv-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 16px;
    border-radius: 999px;
    background: var(--nv-primary-light);
    border: 1px solid rgba(245, 130, 32, 0.30);
    color: var(--nv-primary-hover);
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 22px;
}

.navesy-scope .nv-hero__badge-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--nv-primary);
    box-shadow: 0 0 10px var(--nv-primary-glow);
    animation: nv-pulse 2s infinite;
}

@keyframes nv-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(0.8); }
}

.navesy-scope .nv-hero__title {
    font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
    font-size: clamp(34px, 5vw, 58px);
    font-weight: 800;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    margin-bottom: 18px;
    color: var(--nv-text);
}

.navesy-scope .nv-hero__desc {
    font-size: clamp(16px, 2vw, 18px);
    color: var(--nv-text-secondary);
    max-width: 720px;
    line-height: 1.75;
    margin-bottom: 30px;
}

.navesy-scope .nv-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 1.5rem;
}

.navesy-scope .nv-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 28px;
    border-radius: 12px;
    border: 1px solid transparent;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    transition: all var(--nv-transition);
}

.navesy-scope .nv-btn--primary {
    color: #ffffff;
    background: linear-gradient(135deg, var(--nv-primary) 0%, var(--nv-primary-hover) 100%);
    box-shadow: 0 10px 25px rgba(245, 130, 32, 0.35);
}

.navesy-scope .nv-btn--primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 35px rgba(245, 130, 32, 0.50);
}

.navesy-scope .nv-btn--ghost {
    background: transparent;
    color: var(--nv-text);
    border-color: var(--nv-border-strong);
}

.navesy-scope .nv-btn--ghost:hover {
    border-color: var(--nv-primary);
    color: var(--nv-primary-hover);
    background: var(--nv-primary-light);
    transform: translateY(-3px);
}

.navesy-scope .nv-hero__media {
    margin-top: 2rem;
    border-radius: var(--nv-radius-xl);
    overflow: hidden;
    box-shadow: var(--nv-shadow-lg);
}

.navesy-scope .nv-hero__image {
    width: 100%;
    display: block;
    object-fit: cover;
}

.navesy-scope .nv-hero__video {
    width: 100%;
    display: block;
    border-radius: var(--nv-radius-xl);
}

.navesy-scope .nv-hero__caption {
font-size: 0.85rem;
color: var(--nv-text-dim);
margin-top: 0.75rem;
}
/* Hero split: text left, media right */
.navesy-scope .nv-hero--split .nv-container {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: center;
}
.navesy-scope .nv-hero--split .nv-hero__text {
display: flex;
flex-direction: column;
gap: 0;
}
.navesy-scope .nv-hero--split .nv-hero__media {
margin-top: 0;
align-self: center;
}
.navesy-scope .nv-hero--split .nv-hero__stats {
grid-column: 1 / -1;
}
@media (max-width: 900px) {
.navesy-scope .nv-hero--split .nv-container {
grid-template-columns: 1fr;
}
}

.navesy-scope .nv-hero__stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 16px;
    margin-top: 42px;
    padding-top: 2rem;
    border-top: 1px solid var(--nv-border);
}

.navesy-scope .nv-hero__stat-num {
    font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.15;
    color: var(--nv-primary-hover);
}

.navesy-scope .nv-hero__stat-label {
    font-size: 13px;
    color: var(--nv-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-top: 4px;
}

/* === SECTIONS === */
.navesy-scope .nv-section {
padding: var(--nv-section-py) 0;
position: relative;
}
/* Вариант 6 Искры: фон блока преимуществ убран, полупрозрачные искры перенесены на .nv-container */
.navesy-scope .nv-section--alt {
background: none;
border-top: 1px solid rgba(245, 130, 32, 0.28);
border-bottom: 1px solid rgba(245, 130, 32, 0.28);
}
.navesy-scope .nv-section--alt .nv-container {
background-image: none;
border-radius: var(--nv-radius-xl);
}
/* Визуальная разбивка по блокам: акцентный разделитель между соседними секциями */
.navesy-scope .nv-section + .nv-section::before {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: min(85%, 680px);
height: 2px;
background: linear-gradient(90deg, transparent, rgba(245, 130, 32, 0.7), transparent);
box-shadow: 0 0 18px rgba(245, 130, 32, 0.4);
pointer-events: none;
z-index: 1;
}

.navesy-scope .nv-section__header {
    max-width: 760px;
    margin: 0 auto 48px;
    text-align: center;
}

.navesy-scope .nv-badge {
    display: inline-block;
    padding: 7px 16px;
    border-radius: 999px;
    background: var(--nv-primary-light);
    border: 1px solid rgba(245, 130, 32, 0.25);
    color: var(--nv-primary-hover);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 16px;
}

.navesy-scope .nv-section__title {
    font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
    font-size: clamp(26px, 3.6vw, 40px);
    font-weight: 700;
    line-height: 1.15;
    text-transform: uppercase;
    color: var(--nv-text);
    margin-bottom: 14px;
}

.navesy-scope .nv-section__subtitle {
    font-size: 17px;
    color: var(--nv-text-secondary);
    max-width: 600px;
    margin: 0 auto;
}

/* === FEATURE CARDS === */
.navesy-scope .nv-features__grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
}

.navesy-scope .nv-feature-card {
position: relative;
background: transparent;
    border: 1px solid var(--nv-border);
    border-radius: var(--nv-radius-lg);
    padding: 30px 26px;
    overflow: hidden;
    transition: all var(--nv-transition);
}

.navesy-scope .nv-feature-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, var(--nv-primary), var(--nv-primary-hover));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--nv-transition);
}

.navesy-scope .nv-feature-card:hover {
    transform: translateY(-8px);
    border-color: rgba(245, 130, 32, 0.30);
    box-shadow: var(--nv-shadow-lg);
}

.navesy-scope .nv-feature-card:hover::before {
    transform: scaleX(1);
}

.navesy-scope .nv-feature-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px; height: 54px;
    border-radius: 14px;
    background: var(--nv-primary-light);
    border: 1px solid rgba(245, 130, 32, 0.25);
    color: var(--nv-primary-hover);
    margin-bottom: 18px;
    transition: all var(--nv-transition);
}

.navesy-scope .nv-feature-card:hover .nv-feature-card__icon {
    background: linear-gradient(135deg, var(--nv-primary), var(--nv-primary-hover));
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(245, 130, 32, 0.30);
    transform: scale(1.05) rotate(-4deg);
}

.navesy-scope .nv-feature-card__icon svg {
    width: 26px; height: 26px;
    stroke: currentColor;
}

.navesy-scope .nv-feature-card__title {
    font-size: 18px;
    font-weight: 700;
    color: var(--nv-text);
    margin-bottom: 10px;
}

.navesy-scope .nv-feature-card__text {
    font-size: 15px;
    color: var(--nv-text-secondary);
    line-height: 1.6;
}

/* === STEPS / TIMELINE === */
.navesy-scope .nv-steps__grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
}

.navesy-scope .nv-step-card {
position: relative;
background: transparent;
    border: 1px solid var(--nv-border);
    border-radius: var(--nv-radius-lg);
    padding: 1.5rem;
    text-align: center;
    transition: all var(--nv-transition);
}

.navesy-scope .nv-step-card:hover {
    border-color: rgba(245, 130, 32, 0.30);
    transform: translateY(-3px);
}

.navesy-scope .nv-step-card__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px; height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--nv-primary), var(--nv-primary-hover));
    color: #fff;
    font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
    font-weight: 700;
    font-size: 1rem;
    margin-bottom: 0.75rem;
}

.navesy-scope .nv-step-card__title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--nv-text);
    margin-bottom: 0.35rem;
}

.navesy-scope .nv-step-card__text {
    font-size: 0.85rem;
    color: var(--nv-text-muted);
}

/* === GALLERY === */
.navesy-scope .nv-gallery__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 16px;
}

.navesy-scope .nv-gallery__item {
position: relative;
border-radius: var(--nv-radius-lg);
overflow: hidden;
background: transparent;
    border: 1px solid var(--nv-border);
    transition: all var(--nv-transition);
}

.navesy-scope .nv-gallery__item:hover {
    transform: translateY(-6px) scale(1.02);
    box-shadow: var(--nv-shadow-lg);
    border-color: rgba(245, 130, 32, 0.40);
}

.navesy-scope .nv-gallery__img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    display: block;
    transition: transform 0.5s cubic-bezier(.4, 0, 0.2, 1);
}

.navesy-scope .nv-gallery__item:hover .nv-gallery__img {
    transform: scale(1.08);
}

.navesy-scope .nv-gallery__caption {
    padding: 12px 16px;
    font-size: 13px;
    color: var(--nv-text-muted);
    border-top: 1px solid var(--nv-border);
}

.navesy-scope .nv-gallery__video {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    display: block;
    border-radius: var(--nv-radius-lg);
}

/* === SERVICES / OFFERS === */
.navesy-scope .nv-services__grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
}

.navesy-scope .nv-service-card {
display: flex;
flex-direction: column;
background: transparent;
    border: 1px solid var(--nv-border);
    border-radius: var(--nv-radius-lg);
    padding: 30px 26px;
    transition: all var(--nv-transition);
}

.navesy-scope .nv-service-card:hover {
    border-color: rgba(245, 130, 32, 0.30);
    transform: translateY(-8px);
    box-shadow: var(--nv-shadow-lg);
}

.navesy-scope .nv-service-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px; height: 54px;
    border-radius: 14px;
    background: var(--nv-primary-light);
    border: 1px solid rgba(245, 130, 32, 0.25);
    color: var(--nv-primary-hover);
    margin-bottom: 18px;
    transition: all var(--nv-transition);
}

.navesy-scope .nv-service-card:hover .nv-service-card__icon {
    background: linear-gradient(135deg, var(--nv-primary), var(--nv-primary-hover));
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(245, 130, 32, 0.30);
    transform: scale(1.05) rotate(-4deg);
}

.navesy-scope .nv-service-card__icon svg {
    width: 26px; height: 26px;
    stroke: currentColor;
}

.navesy-scope .nv-service-card__title {
    font-size: 18px;
    font-weight: 700;
    color: var(--nv-text);
    margin-bottom: 10px;
}

.navesy-scope .nv-service-card__text {
    flex: 1;
    font-size: 15px;
    color: var(--nv-text-secondary);
    line-height: 1.6;
}

/* === REVIEWS === */
.navesy-scope .nv-reviews__grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 24px;
}
/* Промежуточный брейкпоинт для фиксированных сеток */
@media (max-width: 1024px) {
.navesy-scope .nv-features__grid,
.navesy-scope .nv-services__grid,
.navesy-scope .nv-steps__grid {
grid-template-columns: repeat(2, 1fr);
}
}

.navesy-scope .nv-review-card {
position: relative;
background: transparent;
    border: 1px solid var(--nv-border);
    border-radius: var(--nv-radius-lg);
    padding: 28px;
    transition: all var(--nv-transition);
}

.navesy-scope .nv-review-card:hover {
    transform: translateY(-6px);
    border-color: rgba(245, 130, 32, 0.30);
    box-shadow: var(--nv-shadow-lg);
}

.navesy-scope .nv-review-card::before {
    content: '\201C';
    position: absolute;
    top: 12px; left: 16px;
    font-size: 3rem;
    color: var(--nv-primary);
    opacity: 0.3;
    font-family: Georgia, serif;
    line-height: 1;
}

.navesy-scope .nv-review-card__text {
    font-size: 15px;
    color: var(--nv-text-secondary);
    line-height: 1.7;
    margin-bottom: 1rem;
    padding-top: 0.5rem;
}

.navesy-scope .nv-review-card__author {
    font-size: 15px;
    font-weight: 600;
    color: var(--nv-primary-hover);
}

/* === FAQ === */
.navesy-scope .nv-faq__list {
    max-width: 860px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.navesy-scope .nv-faq__item {
background: transparent;
border: 1px solid var(--nv-border);
    border-radius: var(--nv-radius-lg);
    overflow: hidden;
    transition: border-color var(--nv-transition);
}

.navesy-scope .nv-faq__item[open] {
    border-color: rgba(245, 130, 32, 0.35);
}

.navesy-scope .nv-faq__question {
    padding: 20px 24px;
    font-size: 17px;
    font-weight: 600;
    color: var(--nv-text);
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    user-select: none;
}

.navesy-scope .nv-faq__question::-webkit-details-marker { display: none; }

.navesy-scope .nv-faq__question::after {
    content: '+';
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid var(--nv-border-strong);
    color: var(--nv-primary-hover);
    font-size: 20px;
    line-height: 1;
    transition: all var(--nv-transition);
}

.navesy-scope .nv-faq__item[open] .nv-faq__question::after {
    content: '–';
    background: var(--nv-primary);
    border-color: var(--nv-primary);
    color: #ffffff;
    transform: none;
}

.navesy-scope .nv-faq__answer {
    padding: 0 24px 22px;
    font-size: 15px;
    color: var(--nv-text-secondary);
    line-height: 1.7;
}

/* === CTA === */
.navesy-scope .nv-cta {
position: relative;
padding: var(--nv-section-py) 0;
background: none;
overflow: hidden;
}

.navesy-scope .nv-cta__card {
position: relative;
max-width: 860px;
margin: 0 auto;
background: transparent;
    border: 1px solid var(--nv-border-strong);
    border-radius: var(--nv-radius-2xl);
    padding: clamp(32px, 5vw, 56px);
    text-align: center;
    overflow: hidden;
}

.navesy-scope .nv-cta__card::before {
    content: '';
    position: absolute;
    top: -80px;
    right: -80px;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: var(--nv-primary);
    filter: blur(110px);
    opacity: 0.18;
    pointer-events: none;
}

.navesy-scope .nv-cta__title {
    font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
    font-size: clamp(24px, 3.4vw, 36px);
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--nv-text);
    margin-bottom: 14px;
}

.navesy-scope .nv-cta__text {
    font-size: 16px;
    color: var(--nv-text-secondary);
    max-width: 560px;
    margin: 0 auto 26px;
}

.navesy-scope .nv-cta__phone {
    display: inline-block;
    margin-top: 1rem;
    margin-bottom: 22px;
    font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
    font-size: clamp(26px, 4vw, 38px);
    font-weight: 700;
    color: var(--nv-primary-hover);
    text-decoration: none;
    transition: color var(--nv-transition);
}

.navesy-scope .nv-cta__phone:hover {
    color: #ffffff;
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
    .navesy-scope .nv-features__grid,
    .navesy-scope .nv-services__grid,
    .navesy-scope .nv-reviews__grid {
        grid-template-columns: 1fr;
    }
    .navesy-scope .nv-steps__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .navesy-scope .nv-gallery__grid {
        grid-template-columns: 1fr;
    }
    .navesy-scope .nv-actions {
        flex-direction: column;
    }
    .navesy-scope .nv-btn {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .navesy-scope .nv-steps__grid {
        grid-template-columns: 1fr;
    }
    .navesy-scope .nv-hero__stats {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* === Защита от скрытия блоков scroll-reveal === */
.container[data-reveal]:has(.navesy-scope),
.page__content[data-reveal]:has(.navesy-scope) {
    opacity: 1 !important;
    transform: none !important;
}
.navesy-scope {
    opacity: 1 !important;
    visibility: visible !important;
}
/* page-hero: защита от скрытия scroll-reveal (без :has для совместимости) */
.page-hero[data-reveal],
.page-hero[data-reveal].reveal-init,
.page-hero[data-reveal].reveal-init:not(.is-revealed),
.page-hero--video[data-reveal] {
opacity: 1 !important;
transform: none !important;
}

/* Вариант 6 — Искры: паттерн убран по запросу пользователя (фон limited-блоков) */
.page-block__inner.page__content--limited:has(.navesy-scope) {
background-image: none;
}
/* Искры v2: паттерн убран по запросу пользователя (фон карточек) */
.navesy-scope .nv-feature-card,
.navesy-scope .nv-step-card,
.navesy-scope .nv-gallery__item,
.navesy-scope .nv-service-card,
.navesy-scope .nv-review-card,
.navesy-scope .nv-faq__item,
.navesy-scope .nv-cta__card {
background-image: none;
}
/* Убран фон limited-блоков по запросу пользователя */
.page-block--limited:has(.navesy-scope) {
background: none;
background-image: none;
}
/* Убран фон .navesy-scope по запросу пользователя */
.navesy-scope {
background: transparent !important;
background-color: transparent !important;
background-image: none !important;
}

/* === modules/theme-proba2-obekty.css === */
/*! source: app/assets-src/css/modules/theme-proba2-obekty.css */
/* Сетка карточек реализованных объектов на странице /obekty/ */

.obekty-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 28px;
    margin: 32px 0 48px;
}

.obekty-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.obekty-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
}

.obekty-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

.obekty-card__img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
    background: #e8e8e8;
}

.obekty-card__title {
    margin: 16px 20px 8px;
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.35;
    color: #1a1a1a;
}

.obekty-card__text {
    margin: 0 20px 16px;
    font-size: 0.92rem;
    line-height: 1.5;
    color: #555;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.obekty-card__more {
    display: inline-block;
    margin: 0 20px 20px;
    font-size: 0.9rem;
    font-weight: 600;
    color: #0066cc;
    text-decoration: none;
    transition: color 0.2s ease;
}

.obekty-card__link:hover .obekty-card__more {
    color: #004a99;
    text-decoration: underline;
}

/* Адаптив для узких экранов */
@media (max-width: 720px) {
    .obekty-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .obekty-card__img {
        height: 190px;
    }
}

/* === modules/theme-proba2-offers.css === */
/*! source: секция «Что мы предлагаем» на главной */
/* Offers: карточки услуг и изделий в цветах #1a1d22 / #f65908 */
.offers-section{position:relative;max-width:1400px;margin:0 auto;padding:0 16px}
.offers-section__header{text-align:center;margin-bottom:36px}
.offers-section__header h2{position:relative;display:inline-block;margin:0 0 12px;font-size:clamp(1.5rem,3.5vw,2.2rem);font-weight:800;color:#fff;padding-bottom:14px}
.offers-section__header h2::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:72px;height:3px;border-radius:2px;background:linear-gradient(90deg,#f65908,#ffb347);box-shadow:0 0 12px rgba(246,89,8,.5)}
.offers-section__header p{margin:0;font-size:15px;line-height:1.6;color:rgba(255,255,255,.6);max-width:600px;margin-left:auto;margin-right:auto}
.offers-section__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
/* Карточка */
.offer-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:26px 22px;border-radius:18px;background:linear-gradient(165deg,rgba(255,255,255,.04),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.08);text-decoration:none;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.offer-card:hover{transform:translateY(-6px);border-color:rgba(246,89,8,.45);box-shadow:0 14px 38px rgba(0,0,0,.4),0 0 22px rgba(246,89,8,.12)}
/* Иконка */
.offer-card__icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:rgba(246,89,8,.12);border:1px solid rgba(246,89,8,.3);color:#f65908;transition:background .3s ease,box-shadow .3s ease,transform .3s ease}
.offer-card:hover .offer-card__icon{background:rgba(246,89,8,.22);box-shadow:0 0 16px rgba(246,89,8,.45);transform:scale(1.08)}
.offer-card__icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* Текст */
.offer-card__title{font-size:16px;font-weight:700;color:#fff;transition:color .25s ease}
.offer-card:hover .offer-card__title{color:#ffb347}
.offer-card__desc{font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.6);flex:1}
/* Стрелка-ссылка */
.offer-card__link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#f65908;transition:gap .25s ease,color .25s ease}
.offer-card:hover .offer-card__link{gap:10px;color:#ffb347}
.offer-card__link svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* Адаптив */
@media(max-width:900px){.offers-section__grid{grid-template-columns:repeat(2,1fr);gap:16px}}
@media(max-width:560px){.offers-section__grid{grid-template-columns:1fr;gap:14px}.offer-card{padding:22px 18px}}
@media(prefers-reduced-motion:reduce){.offer-card{transition:none}.offer-card:hover{transform:none}}
/* === СВЕТЛАЯ ТЕМА: читаемые карточки предложений === */
html[data-theme="light"] .offers-section__header h2{color:#1a1d22}
html[data-theme="light"] .offers-section__header p{color:rgba(26,29,34,.6)}
html[data-theme="light"] .offer-card{background:#fff;border-color:rgba(26,29,34,.1);box-shadow:0 4px 16px rgba(26,29,34,.06)}
html[data-theme="light"] .offer-card:hover{border-color:rgba(246,89,8,.4);box-shadow:0 14px 38px rgba(26,29,34,.12),0 0 22px rgba(246,89,8,.08)}
html[data-theme="light"] .offer-card__title{color:#1a1d22}
html[data-theme="light"] .offer-card:hover .offer-card__title{color:#c94a00}
html[data-theme="light"] .offer-card__desc{color:rgba(26,29,34,.65)}
html[data-theme="light"] .offer-card__link{color:#c94a00}
html[data-theme="light"] .offer-card:hover .offer-card__link{color:#e8590c}
/* Иконка остаётся оранжевой на оранжевом фоне — читаема в обеих темах */

/* === modules/theme-proba2-page-content.css === */
/*! source: стилизация контента .page-block--limited на внутренних страницах */
/* Page Content Premium: #1a1d22 / #f65908 */

/* Убираем белый фон контейнера на страницах с контентом */
.container{background:transparent}

/* === ОБЩАЯ ОБЁРТКА БЛОКА === */
/* quiz-width-sync: геометрия как у квиза — full-bleed, боковые отступы 20px, карточка max-width 1400px по центру */
.page-block--limited{width:100vw;margin-left:calc(50% - 50vw);padding:48px 20px}
.page-block--limited .page-block__inner{position:relative;max-width:1400px;width:100%;margin-left:auto;margin-right:auto;border-radius:16px;overflow:hidden;background:transparent;border:1px solid rgba(230,96,43,.25);box-shadow:none}

/* === ЗАГОЛОВКИ H2 === */
.page-block--limited .page__content h2,
.page-block--limited .page-block__inner h2{
  position:relative;
  margin:0 0 18px;
  padding-bottom:14px;
  font-size:clamp(1.35rem,3vw,1.9rem);
  font-weight:800;
  line-height:1.25;
  color:#fff;
}
.page-block--limited .page__content h2::after,
.page-block--limited .page-block__inner h2::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:0;
  width:64px;
  height:3px;
  border-radius:2px;
  background:linear-gradient(90deg,#f65908,#ffb347);
  box-shadow:0 0 10px rgba(246,89,8,.4);
  transition:width .4s cubic-bezier(.4,0,.2,1),box-shadow .4s ease;
}
.page-block--limited .page__content h2:hover::after,
.page-block--limited .page-block__inner h2:hover::after{
  width:110px;
  box-shadow:0 0 18px rgba(246,89,8,.6);
}

/* === ЗАГОЛОВКИ H3 === */
.page-block--limited .page__content h3,
.page-block--limited .page-block__inner h3{
  position:relative;
  margin:28px 0 12px;
  padding-left:18px;
  font-size:clamp(1.05rem,2.2vw,1.35rem);
  font-weight:700;
  line-height:1.35;
  color:#fff;
}
.page-block--limited .page__content h3::before,
.page-block--limited .page-block__inner h3::before{
  content:"";
  position:absolute;
  left:0;
  top:3px;
  bottom:3px;
  width:3px;
  border-radius:2px;
  background:linear-gradient(180deg,#f65908,#ffb347);
  box-shadow:0 0 8px rgba(246,89,8,.35);
}

/* === ПАРАГРАФЫ === */
.page-block--limited .page__content p,
.page-block--limited .page-block__inner p{
  font-size:15px;
  line-height:1.7;
  color:rgba(255,255,255,.72);
  margin-bottom:14px;
}
.page-block--limited .page__content p:last-child,
.page-block--limited .page-block__inner p:last-child{margin-bottom:0}

/* === СПИСКИ UL === */
.page-block--limited .page__content ul,
.page-block--limited .page-block__inner ul{
  list-style:none;
  padding:0;
  margin:16px 0;
}
.page-block--limited .page__content ul li,
.page-block--limited .page-block__inner ul li{
  position:relative;
  padding:8px  8px 24px;
  font-size:14.5px;
  line-height:1.6;
  color:rgba(255,255,255,.72);
  border-radius:8px;
  transition:background .25s ease,transform .25s ease,color .25s ease;
}
.page-block--limited .page__content ul li::before,
.page-block--limited .page-block__inner ul li::before{
  content:"";
  position:absolute;
  left:6px;
  top:16px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#f65908;
  box-shadow:0 0 6px rgba(246,89,8,.4);
  transition:box-shadow .25s ease,transform .25s ease;
}
.page-block--limited .page__content ul li:hover,
.page-block--limited .page-block__inner ul li:hover{
  background:rgba(246,89,8,.06);
  transform:translateX(4px);
  color:#fff;
}
.page-block--limited .page__content ul li:hover::before,
.page-block--limited .page-block__inner ul li:hover::before{
  box-shadow:0 0 12px rgba(246,89,8,.7);
  transform:scale(1.3);
}

/* === СПИСКИ OL === */
.page-block--limited .page__content ol,
.page-block--limited .page-block__inner ol{
  list-style:none;
  padding:0;
  margin:16px 0;
  counter-reset:page-ol-counter;
}
.page-block--limited .page__content ol li,
.page-block--limited .page-block__inner ol li{
  position:relative;
  padding:10px 0 10px 44px;
  font-size:14.5px;
  line-height:1.6;
  color:rgba(255,255,255,.72);
  border-radius:8px;
  counter-increment:page-ol-counter;
  transition:background .25s ease,transform .25s ease;
}
.page-block--limited .page__content ol li::before,
.page-block--limited .page-block__inner ol li::before{
  content:counter(page-ol-counter);
  position:absolute;
  left:6px;
  top:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:50%;
  background:linear-gradient(135deg,#f65908,#ff7a2f);
  color:#1a1d22;
  font-size:13px;
  font-weight:800;
  box-shadow:0 3px 10px rgba(246,89,8,.35);
  transition:transform .25s ease,box-shadow .25s ease;
}
.page-block--limited .page__content ol li:hover,
.page-block--limited .page-block__inner ol li:hover{
  background:rgba(246,89,8,.06);
  transform:translateX(4px);
}
.page-block--limited .page__content ol li:hover::before,
.page-block--limited .page-block__inner ol li:hover::before{
  transform:scale(1.15);
  box-shadow:0 5px 16px rgba(246,89,8,.5);
}

/* === ССЫЛКИ === */
.page-block--limited .page__content a,
.page-block--limited .page-block__inner a{
  color:#f65908;
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid rgba(246,89,8,.3);
  transition:color .2s ease,border-color .2s ease,text-shadow .25s ease;
}
.page-block--limited .page__content a:hover,
.page-block--limited .page-block__inner a:hover{
  color:#ffb347;
  border-color:#ffb347;
  text-shadow:0 0 10px rgba(246,89,8,.4);
}

/* === ИЗОБРАЖЕНИЯ === */
.page-block--limited .page__content img,
.page-block--limited .page-block__inner img{
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 8px 28px rgba(0,0,0,.35);
  transition:transform .3s ease,box-shadow .3s ease;
}
.page-block--limited .page__content img:hover,
.page-block--limited .page-block__inner img:hover{
  transform:scale(1.02);
  box-shadow:0 12px 36px rgba(0,0,0,.45),0 0 20px rgba(246,89,8,.1);
}

/* === РАЗДЕЛИТЕЛЬ МЕЖДУ СЕКЦИЯМИ === */
.page-block--limited::before{
  width:min(70%,500px);
  background:linear-gradient(90deg,transparent,rgba(246,89,8,.35),transparent);
  box-shadow:0 0 8px rgba(246,89,8,.2);
}

/* === АНИМАЦИЯ ПОЯВЛЕНИЯ === */
.page-block--limited[data-scroll-reveal]{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1);
}
.page-block--limited[data-scroll-reveal].is-revealed{
  opacity:1;
  transform:translateY(0);
}

/* === ПРЯМАЯ ОБЁРТКА .page__content--limited (внутренние страницы без page_blocks) === */
/* quiz-width-sync: ширина карточки как у квиза — min(100vw - 40px, 1400px), центрирование breakout-смещением */
.page__content--limited{position:relative;width:min(100vw - 40px,1400px);margin-left:calc(50% - min(50vw - 20px,700px));padding-top:40px;padding-bottom:40px;border-radius:16px;overflow:hidden;background:transparent;border:1px solid rgba(230,96,43,.25);box-shadow:none}
.page__content--limited h1{position:relative;margin:0 0 22px;padding-bottom:16px;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;line-height:1.15;color:#fff}
.page__content--limited h1::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:80px;height:4px;border-radius:2px;background:linear-gradient(90deg,#f65908,#ffb347);box-shadow:0 0 12px rgba(246,89,8,.5)}
.page__content--limited h2{position:relative;margin:32px 0 18px;padding-bottom:14px;font-size:clamp(1.35rem,3vw,1.9rem);font-weight:800;line-height:1.25;color:#fff}
.page__content--limited h2::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:64px;height:3px;border-radius:2px;background:linear-gradient(90deg,#f65908,#ffb347);box-shadow:0 0 10px rgba(246,89,8,.4);transition:width .4s cubic-bezier(.4,0,.2,1),box-shadow .4s ease}
.page__content--limited h2:hover::after{width:110px;box-shadow:0 0 18px rgba(246,89,8,.6)}
.page__content--limited h3{position:relative;margin:28px 0 12px;padding-left:18px;font-size:clamp(1.05rem,2.2vw,1.35rem);font-weight:700;line-height:1.35;color:#fff}
.page__content--limited h3::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:3px;border-radius:2px;background:linear-gradient(180deg,#f65908,#ffb347);box-shadow:0 0 8px rgba(246,89,8,.35)}
.page__content--limited p{font-size:15px;line-height:1.7;color:rgba(255,255,255,.72);margin-bottom:14px}
.page__content--limited p:last-child{margin-bottom:0}
.page__content--limited ul{list-style:none;padding:0;margin:16px 0}
.page__content--limited ul li{position:relative;padding:8px 8px 8px 24px;font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.72);border-radius:8px;transition:background .25s ease,transform .25s ease,color .25s ease}
.page__content--limited ul li::before{content:"";position:absolute;left:6px;top:16px;width:7px;height:7px;border-radius:50%;background:#f65908;box-shadow:0 0 6px rgba(246,89,8,.4);transition:box-shadow .25s ease,transform .25s ease}
.page__content--limited ul li:hover{background:rgba(246,89,8,.06);transform:translateX(4px);color:#fff}
.page__content--limited ul li:hover::before{box-shadow:0 0 12px rgba(246,89,8,.7);transform:scale(1.3)}
.page__content--limited ol{list-style:none;padding:0;margin:16px 0;counter-reset:page-ol-counter}
.page__content--limited ol li{position:relative;padding:10px 0 10px 44px;font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.72);border-radius:8px;counter-increment:page-ol-counter;transition:background .25s ease,transform .25s ease}
.page__content--limited ol li::before{content:counter(page-ol-counter);position:absolute;left:6px;top:8px;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#f65908,#ff7a2f);color:#1a1d22;font-size:13px;font-weight:800;box-shadow:0 3px 10px rgba(246,89,8,.35);transition:transform .25s ease,box-shadow .25s ease}
.page__content--limited ol li:hover{background:rgba(246,89,8,.06);transform:translateX(4px)}
.page__content--limited ol li:hover::before{transform:scale(1.15);box-shadow:0 5px 16px rgba(246,89,8,.5)}
.page__content--limited a{color:#f65908;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(246,89,8,.3);transition:color .2s ease,border-color .2s ease,text-shadow .25s ease}
.page__content--limited a:hover{color:#ffb347;border-color:#ffb347;text-shadow:0 0 10px rgba(246,89,8,.4)}
.page__content--limited img{border-radius:14px;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 28px rgba(0,0,0,.35);transition:transform .3s ease,box-shadow .3s ease}
.page__content--limited img:hover{transform:scale(1.02);box-shadow:0 12px 36px rgba(0,0,0,.45),0 0 20px rgba(246,89,8,.1)}

/* Анимация появления для прямых обёрток — прогрессивное улучшение:
   скрытие только после инициализации JS (класс reveal-init добавляет JS).
   Без JS контент остаётся видимым. */
.page__content--limited[data-reveal].reveal-init:not(.is-revealed),
.page__content--limited[data-scroll-reveal].reveal-init:not(.is-revealed){opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}
.page__content--limited[data-reveal].is-revealed,
.page__content--limited[data-scroll-reveal].is-revealed{opacity:1;transform:translateY(0)}

/* Анимация появления для контейнера data-reveal (show.php) */
.container[data-reveal].reveal-init:not(.is-revealed){opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}
.container[data-reveal].is-revealed{opacity:1;transform:translateY(0)}

@media(max-width:767px){
  .page__content--limited{width:calc(100vw - 24px);margin-left:calc(50% - 50vw + 12px);padding-top:28px;padding-bottom:28px}
  .page__content--limited h1{font-size:clamp(1.5rem,5vw,2rem)}
  .page__content--limited h2{font-size:clamp(1.2rem,4vw,1.6rem)}
  .page__content--limited ul li{padding-left:20px}
  .page__content--limited ol li{padding-left:38px}
}
@media(prefers-reduced-motion:reduce){
  .page__content--limited[data-reveal],
  .page__content--limited[data-scroll-reveal],
  .container[data-reveal]{opacity:1;transform:none;transition:none}
  .page__content--limited ul li,
  .page__content--limited ol li,
  .page__content--limited img{transition:none}
}

/* === АДАПТИВ === */
@media(max-width:767px){
  .page-block--limited{padding:32px 12px}
  .page-block--limited .page__content h2,
  .page-block--limited .page-block__inner h2{font-size:clamp(1.2rem,4vw,1.6rem)}
  .page-block--limited .page__content ul li,
  .page-block--limited .page-block__inner ul li{padding-left:20px}
  .page-block--limited .page__content ol li,
  .page-block--limited .page-block__inner ol li{padding-left:38px}
}
@media(prefers-reduced-motion:reduce){
  .page-block--limited[data-scroll-reveal]{opacity:1;transform:none;transition:none}
  .page-block--limited .page__content ul li,
  .page-block--limited .page__content ol li,
  .page-block--limited .page__content img{transition:none}
}

/* glow-decor-v1: gradients removed */
/* bg-image-1333: фоновое изображение удалено по запросу пользователя; тёмная подложка #1a1d22 и hover-эффекты сохранены */
/* b61v7-bg: прозрачный фон + полупрозрачная сетка 44px (по запросу пользователя) */
.page-block--limited .page-block__inner,.page__content--limited{background:transparent;box-shadow:0 0 20px rgba(230,96,43,.35);transition:border-color .3s ease,box-shadow .3s ease}
.page-block--limited .page-block__inner:hover,.page__content--limited:hover{border-color:rgba(246,89,8,.5);box-shadow:0 0 30px rgba(230,96,43,.5),0 0 80px rgba(230,96,43,.22)}
/* block-bg-remove-v1: фон блоков убран по запросу пользователя — сетка 44px удалена, background остаётся transparent */
.page-block--limited .page-block__inner::before,.page__content--limited::before{content:none}
/* block-bg-remove-v2: полное удаление фона limited-блоков — декоративный radial-gradient оверлей и свечение карточки убраны */
.page-block--limited .page__content::before,
.page-block--limited .page-block__inner::before,
.page__content--limited::before{content:none!important;background:none!important}
.page-block--limited .page-block__inner,
.page-block--limited .page__content,
.page__content--limited{background:transparent!important;background-image:none!important;box-shadow:none!important}
.page-block--limited .page-block__inner:hover,
.page-block--limited .page__content:hover,
.page__content--limited:hover{box-shadow:none!important}
/* контент поверх псевдоэлементов */
.page-block--limited .page-block__inner>*,.page__content--limited>*{position:relative;z-index:1}

/* quiz-width-sync-fix: снимаем max-width и боковые паддинги .container внутри limited-блоков,
   чтобы карточка .page-block__inner центрировалась и упиралась в 1400px — как .quiz внутри .quiz-block */
.page-block--limited > .container{max-width:none;width:100%;margin-left:0;margin-right:0;padding-left:0;padding-right:0}

/* === FULL-БЛОК: закругление краёв и свечение в стиле limited-блоков === */
.page-block--full{padding:48px 20px}

/* full-block-direct-v1: прямой селектор под классы из разметки (page-block__content page__content page__content--full) — работает и без родителя .page-block--full */
/* full-block-width-1400-v1: ограничение ширины 1400px и центрирование — как у limited-блоков */
/* full-block-bg-restore: обводка, свечение и hover-эффекты восстановлены по запросу пользователя */
/* full-block-padding-reset-v1: сброс наследуемых padding-left/right от .page-block--full .page-block__content (02-layout.css), чтобы ширина контента full-блока совпадала с limited-блоком */
/* full-width-align-v1: ширина и центрирование как у limited-карточки (.page-block__inner внутри .page-block--limited): min(100vw-40px,1400px), breakout-смещение как у .page__content--limited */
/* full-block-bg-remove-v2: фон, обводка и свечение убраны по запросу пользователя */
/* full-block-radius-restore-v1: закругление краёв full-блока восстановлено по запросу пользователя */
.page-block--full .page-block__content.page__content--full,
.page-block__content.page__content.page__content--full{position:relative;width:min(100vw - 40px,1400px);margin-left:calc(50% - min(50vw - 20px,700px));padding:40px 36px;border-radius:16px;overflow:hidden;background:transparent;border:none;box-shadow:none;transition:none}
@media(max-width:767px){
.page-block--full .page-block__content.page__content--full,
.page-block__content.page__content.page__content--full{width:calc(100vw - 24px);margin-left:calc(50% - 50vw + 12px);padding:28px 16px}
}
.page-block--full .page-block__content.page__content--full:hover,
.page-block__content.page__content.page__content--full:hover{border-color:transparent;box-shadow:none}
/* === FULL-БЛОК: типографика контента (аналог limited) === */
.page-block__content.page__content--full h2{position:relative;margin:0 0 18px;padding-bottom:14px;font-size:clamp(1.35rem,3vw,1.9rem);font-weight:800;line-height:1.25;color:#fff}
.page-block__content.page__content--full h2::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:64px;height:3px;border-radius:2px;background:linear-gradient(90deg,#f65908,#ffb347);box-shadow:0 0 10px rgba(246,89,8,.4);transition:width .4s cubic-bezier(.4,0,.2,1),box-shadow .4s ease}
.page-block__content.page__content--full h2:hover::after{width:110px;box-shadow:0 0 18px rgba(246,89,8,.6)}
.page-block__content.page__content--full h3{position:relative;margin:28px 0 12px;padding-left:18px;font-size:clamp(1.05rem,2.2vw,1.35rem);font-weight:700;line-height:1.35;color:#fff}
.page-block__content.page__content--full h3::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:3px;border-radius:2px;background:linear-gradient(180deg,#f65908,#ffb347);box-shadow:0 0 8px rgba(246,89,8,.35)}
.page-block__content.page__content--full p{font-size:15px;line-height:1.7;color:rgba(255,255,255,.72);margin-bottom:14px}
.page-block__content.page__content--full p:last-child{margin-bottom:0}
.page-block__content.page__content--full ul{list-style:none;padding:0;margin:16px 0}
.page-block__content.page__content--full ul li{position:relative;padding:8px 8px 8px 24px;font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.72);border-radius:8px;transition:background .25s ease,transform .25s ease,color .25s ease}
.page-block__content.page__content--full ul li::before{content:"";position:absolute;left:6px;top:16px;width:7px;height:7px;border-radius:50%;background:#f65908;box-shadow:0 0 6px rgba(246,89,8,.4);transition:box-shadow .25s ease,transform .25s ease}
.page-block__content.page__content--full ul li:hover{background:rgba(246,89,8,.06);transform:translateX(4px);color:#fff}
.page-block__content.page__content--full ul li:hover::before{box-shadow:0 0 12px rgba(246,89,8,.7);transform:scale(1.3)}
.page-block__content.page__content--full ol{list-style:none;padding:0;margin:16px 0;counter-reset:page-ol-counter}
.page-block__content.page__content--full ol li{position:relative;padding:10px 0 10px 44px;font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.72);border-radius:8px;counter-increment:page-ol-counter;transition:background .25s ease,transform .25s ease}
.page-block__content.page__content--full ol li::before{content:counter(page-ol-counter);position:absolute;left:6px;top:8px;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#f65908,#ff7a2f);color:#1a1d22;font-size:13px;font-weight:800;box-shadow:0 3px 10px rgba(246,89,8,.35);transition:transform .25s ease,box-shadow .25s ease}
.page-block__content.page__content--full ol li:hover{background:rgba(246,89,8,.06);transform:translateX(4px)}
.page-block__content.page__content--full ol li:hover::before{transform:scale(1.15);box-shadow:0 5px 16px rgba(246,89,8,.5)}
.page-block__content.page__content--full a{color:#f65908;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(246,89,8,.3);transition:color .2s ease,border-color .2s ease,text-shadow .25s ease}
.page-block__content.page__content--full a:hover{color:#ffb347;border-color:#ffb347;text-shadow:0 0 10px rgba(246,89,8,.4)}
.page-block__content.page__content--full img{border-radius:14px;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 28px rgba(0,0,0,.35);transition:transform .3s ease,box-shadow .3s ease}
.page-block__content.page__content--full img:hover{transform:scale(1.02);box-shadow:0 12px 36px rgba(0,0,0,.45),0 0 20px rgba(246,89,8,.1)}
/* FULL-блок: контент поверх псевдоэлементов */
.page-block__content.page__content--full>*{position:relative;z-index:1}

/* === СВЕТЛАЯ ТЕМА: читаемый контент на светлом фоне ===
Контентные блоки имеют прозрачный фон и ложатся на светлый фон
страницы — тёмный текст вместо белого, чтобы контент был видимым. */
html[data-theme="light"] .page-block--limited .page__content h1,
html[data-theme="light"] .page-block--limited .page-block__inner h1,
html[data-theme="light"] .page__content--limited h1,
html[data-theme="light"] .page-block--limited .page__content h2,
html[data-theme="light"] .page-block--limited .page-block__inner h2,
html[data-theme="light"] .page__content--limited h2,
html[data-theme="light"] .page-block--limited .page__content h3,
html[data-theme="light"] .page-block--limited .page-block__inner h3,
html[data-theme="light"] .page__content--limited h3{
color:#1a1d22;
}
html[data-theme="light"] .page-block--limited .page__content p,
html[data-theme="light"] .page-block--limited .page-block__inner p,
html[data-theme="light"] .page__content--limited p,
html[data-theme="light"] .page-block--limited .page__content ul li,
html[data-theme="light"] .page-block--limited .page-block__inner ul li,
html[data-theme="light"] .page__content--limited ul li,
html[data-theme="light"] .page-block--limited .page__content ol li,
html[data-theme="light"] .page-block--limited .page-block__inner ol li,
html[data-theme="light"] .page__content--limited ol li{
color:rgba(26,29,34,.8);
}
html[data-theme="light"] .page-block--limited .page__content ul li:hover,
html[data-theme="light"] .page-block--limited .page-block__inner ul li:hover,
html[data-theme="light"] .page__content--limited ul li:hover{
color:#1a1d22;
}
html[data-theme="light"] .page-block--limited .page__content a,
html[data-theme="light"] .page-block--limited .page-block__inner a,
html[data-theme="light"] .page__content--limited a{
color:#c94a00;
}
html[data-theme="light"] .page-block--limited .page__content a:hover,
html[data-theme="light"] .page-block--limited .page-block__inner a:hover,
html[data-theme="light"] .page__content--limited a:hover{
color:#f65908;
}
html[data-theme="light"] .page-block--limited .page__content img,
html[data-theme="light"] .page-block--limited .page-block__inner img,
html[data-theme="light"] .page__content--limited img{
border-color:rgba(26,29,34,.12);
box-shadow:0 8px 28px rgba(26,29,34,.15);
}

/* === modules/theme-proba2-page-hero.css === */
/* theme-proba2-page-hero.css
 * Мини-шапка страницы (H1 + хлебные крошки).
 * Вариант с изображением: фон + оверлей с эффектом мутного стекла,
 * светлый полупрозрачный оверлей на светлой теме, тёмный на тёмной.
 * Вариант без изображения: сплошной фон.
 * Все цвета и размеры — только через CSS-переменные из /admin/assets/variables.
 * Тёмная тема поддерживается автоматически через переопределение --color-bg
 * в 00-variables.css и theme-switcher.css (html[data-theme]).
 */

.page-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--color-bg-alt);
  color: var(--color-text);
}

/* Вариант с фоновым изображением */
.page-hero--image {
  background: var(--color-bg-alt);
}

/* Вариант без изображения: сплошной фон */
.page-hero--solid {
  background: var(--color-bg-alt);
  border-bottom: 1px solid var(--color-border);
}

/* Фоновое изображение (inline background-image из шаблона).
 * Расширен за пределы шапки для параллакс-сдвига без пустых краёв. */
.page-hero__bg {
position: absolute;
top: calc(var(--space-xl) * -2);
bottom: calc(var(--space-xl) * -2);
left: 0;
right: 0;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
transform: scale(1.05);
will-change: transform;
pointer-events: none;
}

/* Оверлей: полупрозрачный цвет темы + эффект мутного стекла.
 * --color-bg автоматически меняется на тёмный в тёмной теме,
 * поэтому оверлей адаптируется без дополнительных переопределений. */
.page-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    color-mix(in srgb, var(--color-bg) 55%, transparent),
    color-mix(in srgb, var(--color-bg) 85%, transparent)
  );
  -webkit-backdrop-filter: blur(var(--space-m));
  backdrop-filter: blur(var(--space-m));
}

/* Fallback для браузеров без backdrop-filter: более плотный оверлей */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .page-hero__overlay {
    background: linear-gradient(
      to bottom,
      color-mix(in srgb, var(--color-bg) 88%, transparent),
      color-mix(in srgb, var(--color-bg) 95%, transparent)
    );
  }
}

/* Контент шапки */
.page-hero__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-s);
  padding-top: var(--space-l);
  padding-bottom: var(--space-l);
}

/* Заголовок H1 */
.page-hero__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(var(--font-size-xl), 4vw, calc(var(--font-size-xl) * 1.5));
  font-weight: var(--font-weight-bold);
  line-height: calc(var(--font-line-height) * 0.75);
  color: var(--color-text);
  overflow-wrap: break-word;
}

/* Лид (meta_description) */
.page-hero__lead {
  margin: 0;
  max-width: 65ch;
  font-size: var(--font-size-lg);
  line-height: var(--font-line-height);
  color: var(--color-text-muted);
}

/* Планшет и выше: увеличенные вертикальные отступы.
 * Примечание: var() не поддерживается внутри условий @media,
 * поэтому breakpoint указан значением из tokens.json. */
@media (min-width: 768px) {
  .page-hero__inner {
    padding-top: var(--space-xl);
    padding-bottom: var(--space-xl);
  }
}

/* Видеофон для варианта без изображения (3.mp4 из медиабиблиотеки) */
.page-hero__video {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
z-index: -1;
pointer-events: none;
}
/* Оверлей поверх видео: без blur, умеренное затемнение для читаемости текста */
.page-hero--video .page-hero__overlay {
-webkit-backdrop-filter: none;
backdrop-filter: none;
background: linear-gradient(
to bottom,
color-mix(in srgb, var(--color-bg) 30%, transparent),
color-mix(in srgb, var(--color-bg) 60%, transparent)
);
}
/* Инклюзивность: отключаем transition и параллакс при reduced motion */
@media (prefers-reduced-motion: reduce) {
    .page-hero__bg {
        transform: scale(1.05) !important;
        will-change: auto;
    }
    /* Скрываем только видеофоны: изображения-фоны (webp на /mangaly/)
       должны оставаться видимыми, иначе шапка потеряет фон. */
    video.page-hero__video {
        display: none;
    }
}

/* Прозрачный фон шапки в варианте с видео (запрошено для /svarka-metalla/):
 * секция и контейнер становятся прозрачными, .page-hero__inner без фона,
 * видео просвечивает без белой подложки. */
.page-hero--video {
background: transparent;
}
.page-hero--video .container,
.page-hero--video .page-hero__inner {
background-color: transparent;
background-image: none;
}

/* === modules/theme-proba2-poroshkovaya-pokraska.css === */
/*
* Стили страницы «Порошковая покраска» (poroshkovaya-pokraska).
* Палитра приведена к эталону «Раскрой металла»: тёмный графит + оранжевый неон.
* Все селекторы ограничены областью .pokraska-scope.
*/
.pokraska-scope {
font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
color: var(--pk-text);
line-height: 1.6;
--pk-primary: #f58220;
--pk-primary-hover: #ff9340;
--pk-primary-light: rgba(245, 130, 32, 0.10);
--pk-primary-glow: rgba(245, 130, 32, 0.40);
--pk-primary-glow-lg: rgba(245, 130, 32, 0.12);
--pk-accent: #ff9340;
--pk-accent-light: rgba(255, 147, 64, 0.10);
--pk-info: #5b8cff;
--pk-success: #2f9e44;
--pk-bg-body: #110f0f;
--pk-bg-surface: #16181d;
--pk-bg-elevated: rgba(26, 29, 36, 0.72);
--pk-bg-card-solid: #1a1d24;
--pk-bg-dark: #0e0c0c;
--pk-text: #f3f4f6;
--pk-text-secondary: #9ca3af;
--pk-text-muted: #9ca3af;
--pk-text-dim: #7c8290;
--pk-text-inverse: #ffffff;
--pk-border: rgba(255, 255, 255, 0.08);
--pk-border-strong: rgba(255, 255, 255, 0.16);
--pk-radius-lg: 16px;
--pk-radius-xl: 20px;
--pk-radius-2xl: 24px;
--pk-shadow-sm: 0 4px 14px rgba(0, 0, 0, 0.30);
--pk-shadow-md: 0 8px 24px rgba(0, 0, 0, 0.40);
--pk-shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.50), 0 0 30px rgba(245, 130, 32, 0.15);
--pk-shadow-xl: 0 12px 40px rgba(0, 0, 0, 0.50), 0 0 30px rgba(245, 130, 32, 0.25);
--pk-section-py: clamp(2.5rem, 8vw, 4rem);
--pk-transition: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
/* full-block-bg-remove-v1: фон full-блоков удалён по запросу пользователя — блоки сливаются с фоном страницы */
background-color: transparent;
background-image: none;
}
.pokraska-scope img,
.pokraska-scope video { max-width: 100%; }
.pokraska-scope a { color: var(--pk-primary-hover); }
.pokraska-scope .pk-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 16px;
box-sizing: border-box;
}
/* === INTRO SECTION === */
.pokraska-scope .pk-intro {
padding-block: var(--pk-section-py);
background: none;
position: relative;
overflow: hidden;
isolation: isolate;
}
.pokraska-scope .pk-intro__decor { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.pokraska-scope .pk-intro__orb {
position: absolute;
border-radius: 50%;
filter: blur(120px);
opacity: 0.30;
animation: pkFloatOrb 20s infinite alternate ease-in-out;
}
.pokraska-scope .pk-intro__orb--1 { width: 500px; height: 500px; background: var(--pk-primary-glow-lg); top: -10%; left: -10%; }
.pokraska-scope .pk-intro__orb--2 { width: 600px; height: 600px; background: var(--pk-primary-glow-lg); bottom: -20%; right: -15%; animation-delay: -10s; }
.pokraska-scope .pk-intro__grid-bg {
position: absolute; inset: 0;
background-image: linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
background-size: 64px 64px;
mask-image: radial-gradient(circle at center, black 25%, transparent 85%);
-webkit-mask-image: radial-gradient(circle at center, black 25%, transparent 85%);
}
.pokraska-scope .pk-intro .pk-container { position: relative; z-index: 1; }
.pokraska-scope .pk-intro__grid {
display: grid;
grid-template-columns: 1fr;
gap: 3rem;
align-items: center;
}
.pokraska-scope .pk-intro__visual { position: relative; display: flex; flex-direction: column; gap: 1.5rem; }
.pokraska-scope .pk-intro__image-wrapper {
position: relative;
border-radius: var(--pk-radius-2xl);
overflow: hidden;
box-shadow: var(--pk-shadow-xl);
aspect-ratio: 4 / 3;
max-height: 500px;
width: 100%;
border: 1px solid var(--pk-border-strong);
}
.pokraska-scope .pk-intro__image {
width: 100%; height: 100%;
object-fit: cover; display: block;
transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.pokraska-scope .pk-intro__image-wrapper:hover .pk-intro__image { transform: scale(1.05); }
.pokraska-scope .pk-intro__stats {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1rem;
margin-top: 1rem;
}
.pokraska-scope .pk-intro__stat {
background: transparent;
padding: 1.25rem;
border-radius: var(--pk-radius-lg);
border: 1px solid var(--pk-border);
box-shadow: var(--pk-shadow-sm);
text-align: center;
backdrop-filter: blur(8px);
transition: all var(--pk-transition);
}
.pokraska-scope .pk-intro__stat:hover {
transform: translateY(-4px);
border-color: rgba(245, 130, 32, 0.35);
box-shadow: 0 0 24px rgba(245, 130, 32, 0.15);
}
.pokraska-scope .pk-intro__stat-number {
display: block;
font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
font-size: 1.875rem;
font-weight: 700;
color: var(--pk-primary-hover);
line-height: 1;
margin-bottom: 0.25rem;
}
.pokraska-scope .pk-intro__stat-label {
font-size: 0.75rem;
color: var(--pk-text-muted);
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.06em;
}
.pokraska-scope .pk-intro__content { display: flex; flex-direction: column; gap: 1.5rem; }
.pokraska-scope .pk-intro__badge {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 7px 16px;
background: var(--pk-primary-light);
border: 1px solid rgba(245, 130, 32, 0.30);
color: var(--pk-primary-hover);
border-radius: 9999px;
font-size: 13px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
width: fit-content;
}
.pokraska-scope .pk-intro__title {
font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
font-size: clamp(1.875rem, 4vw, 3rem);
font-weight: 800;
color: var(--pk-text);
line-height: 1.15;
margin: 0;
text-transform: uppercase;
letter-spacing: -0.01em;
}
.pokraska-scope .pk-intro__title .text-gradient {
background: linear-gradient(135deg, var(--pk-primary) 0%, var(--pk-primary-hover) 55%, #ffc37a 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.pokraska-scope .pk-intro__text {
font-size: 1.125rem;
color: var(--pk-text-secondary);
line-height: 1.75;
margin: 0;
}
.pokraska-scope .pk-intro__features {
list-style: none; padding: 0; margin: 0;
display: flex; flex-direction: column; gap: 1rem;
}
.pokraska-scope .pk-intro__feature {
display: flex; align-items: flex-start; gap: 1rem;
padding: 1rem;
background: transparent;
border: 1px solid var(--pk-border);
border-radius: var(--pk-radius-lg);
backdrop-filter: blur(8px);
transition: all var(--pk-transition);
}
.pokraska-scope .pk-intro__feature:hover {
border-color: rgba(245, 130, 32, 0.30);
box-shadow: var(--pk-shadow-md);
transform: translateX(8px);
}
.pokraska-scope .pk-intro__feature-icon {
flex-shrink: 0;
width: 48px; height: 48px;
display: flex; align-items: center; justify-content: center;
background: linear-gradient(135deg, var(--pk-primary), var(--pk-primary-hover));
color: #fff;
border-radius: 12px;
box-shadow: 0 4px 12px rgba(245, 130, 32, 0.30);
transition: transform 0.3s ease;
}
.pokraska-scope .pk-intro__feature:hover .pk-intro__feature-icon { transform: scale(1.1) rotate(-5deg); }
.pokraska-scope .pk-intro__feature-icon svg { width: 24px; height: 24px; }
.pokraska-scope .pk-intro__feature-content { display: flex; flex-direction: column; gap: 4px; }
.pokraska-scope .pk-intro__feature-content strong { font-size: 1rem; font-weight: 700; color: var(--pk-text); }
.pokraska-scope .pk-intro__feature-content span { font-size: 0.875rem; color: var(--pk-text-secondary); line-height: 1.5; }
/* === SERVICES / CARDS SECTION === */
.pokraska-scope .pk-services {
padding-block: var(--pk-section-py);
background: none;
position: relative;
overflow: hidden;
}
.pokraska-scope .pk-services__title {
font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
font-size: clamp(26px, 3.6vw, 40px);
font-weight: 700;
color: var(--pk-text);
text-transform: uppercase;
margin-bottom: 2.5rem;
}
.pokraska-scope .pk-services__grid {
display: grid;
grid-template-columns: 1fr;
gap: 1.5rem;
}
.pokraska-scope .pk-service-card {
position: relative;
background: transparent;
border: 1px solid var(--pk-border);
border-radius: var(--pk-radius-xl);
padding: 2rem 1.5rem;
transition: all var(--pk-transition);
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
backdrop-filter: blur(8px);
}
.pokraska-scope .pk-service-card::before {
content: '';
position: absolute;
top: 0; left: 0;
width: 100%; height: 3px;
background: linear-gradient(90deg, var(--pk-primary), var(--pk-primary-hover));
transform: scaleX(0);
transform-origin: left;
transition: transform var(--pk-transition);
}
.pokraska-scope .pk-service-card:hover {
transform: translateY(-8px);
border-color: rgba(245, 130, 32, 0.30);
box-shadow: var(--pk-shadow-xl);
}
.pokraska-scope .pk-service-card:hover::before { transform: scaleX(1); }
.pokraska-scope .pk-service-card__icon {
width: 54px; height: 54px;
background: var(--pk-primary-light);
border: 1px solid rgba(245, 130, 32, 0.25);
color: var(--pk-primary-hover);
border-radius: 14px;
display: flex; align-items: center; justify-content: center;
margin-bottom: 1.25rem;
transition: all var(--pk-transition);
flex-shrink: 0;
}
.pokraska-scope .pk-service-card__icon svg { width: 26px; height: 26px; transition: transform var(--pk-transition); }
.pokraska-scope .pk-service-card:hover .pk-service-card__icon {
background: linear-gradient(135deg, var(--pk-primary), var(--pk-primary-hover));
color: #ffffff;
box-shadow: 0 8px 20px rgba(245, 130, 32, 0.30);
transform: scale(1.05) rotate(-5deg);
}
.pokraska-scope .pk-service-card:hover .pk-service-card__icon svg { transform: scale(1.1); }
.pokraska-scope .pk-service-card__title {
font-size: 1.25rem;
font-weight: 700;
color: var(--pk-text);
margin-bottom: 0.75rem;
line-height: 1.2;
}
.pokraska-scope .pk-service-card__text {
font-size: 1rem;
color: var(--pk-text-secondary);
line-height: 1.75;
margin: 0;
flex-grow: 1;
}
/* === ADVANTAGES === */
/* Вариант 6 Искры: фон убран с блока преимуществ, искры перенесены на .pk-container */
.pokraska-scope .pk-advantages {
position: relative;
padding-block: var(--pk-section-py);
background: none;
overflow: hidden;
isolation: isolate;
}
.pokraska-scope .pk-advantages .pk-container {
background-image: none;
border-radius: var(--pk-radius-xl);
}
.pokraska-scope .pk-advantages::before,
.pokraska-scope .pk-advantages::after {
content: '';
position: absolute;
border-radius: 50%;
filter: blur(120px);
opacity: 0.25;
pointer-events: none;
z-index: 0;
}
.pokraska-scope .pk-advantages::before { width: 500px; height: 500px; background: var(--pk-primary-glow-lg); top: -150px; left: -100px; }
.pokraska-scope .pk-advantages::after { width: 600px; height: 600px; background: var(--pk-primary-glow-lg); bottom: -200px; right: -150px; }
.pokraska-scope .pk-advantages .pk-container { position: relative; z-index: 1; }
.pokraska-scope .pk-advantages__grid {
display: grid;
grid-template-columns: 1fr;
gap: 1.5rem;
}
.pokraska-scope .pk-advantage-card {
position: relative;
background: transparent;
border: 1px solid var(--pk-border);
border-radius: var(--pk-radius-xl);
padding: 2rem 1.5rem;
transition: all var(--pk-transition);
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
backdrop-filter: blur(8px);
}
.pokraska-scope .pk-advantage-card::before {
content: '';
position: absolute;
top: 0; left: 0;
width: 100%; height: 3px;
background: linear-gradient(90deg, var(--pk-primary), var(--pk-primary-hover));
transform: scaleX(0);
transform-origin: left;
transition: transform var(--pk-transition);
}
.pokraska-scope .pk-advantage-card:hover {
transform: translateY(-8px);
border-color: rgba(245, 130, 32, 0.30);
box-shadow: var(--pk-shadow-xl);
}
.pokraska-scope .pk-advantage-card:hover::before { transform: scaleX(1); }
.pokraska-scope .pk-advantage-card__icon {
width: 54px; height: 54px;
background: var(--pk-primary-light);
border: 1px solid rgba(245, 130, 32, 0.25);
color: var(--pk-primary-hover);
border-radius: 14px;
display: flex; align-items: center; justify-content: center;
margin-bottom: 1.25rem;
transition: all var(--pk-transition);
flex-shrink: 0;
}
.pokraska-scope .pk-advantage-card__icon svg { width: 26px; height: 26px; transition: transform var(--pk-transition); }
.pokraska-scope .pk-advantage-card:hover .pk-advantage-card__icon {
background: linear-gradient(135deg, var(--pk-primary), var(--pk-primary-hover));
color: #ffffff;
box-shadow: 0 8px 20px rgba(245, 130, 32, 0.30);
transform: scale(1.05) rotate(-5deg);
}
.pokraska-scope .pk-advantage-card:hover .pk-advantage-card__icon svg { transform: scale(1.1); }
.pokraska-scope .pk-advantage-card__title {
font-size: 1.25rem;
font-weight: 700;
color: var(--pk-text);
margin-bottom: 0.75rem;
}
.pokraska-scope .pk-advantage-card__text {
font-size: 1rem;
color: var(--pk-text-secondary);
line-height: 1.75;
margin: 0;
flex-grow: 1;
}
/* === GALLERY === */
.pokraska-scope .pk-gallery {
padding-block: var(--pk-section-py);
background: none;
position: relative;
overflow: hidden;
}
.pokraska-scope .pk-gallery__title {
font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
font-size: clamp(26px, 3.6vw, 40px);
font-weight: 700;
color: var(--pk-text);
text-align: center;
text-transform: uppercase;
margin-bottom: 2.5rem;
}
.pokraska-scope .pk-gallery__grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 1rem;
}
.pokraska-scope .pk-gallery__item {
position: relative;
display: block;
overflow: hidden;
border-radius: var(--pk-radius-lg);
aspect-ratio: 1 / 1;
background: transparent;
border: 1px solid var(--pk-border);
}
.pokraska-scope .pk-gallery__img {
width: 100%; height: 100%;
object-fit: cover;
transition: transform 0.4s ease;
}
.pokraska-scope .pk-gallery__item:hover .pk-gallery__img { transform: scale(1.05); }
.pokraska-scope .pk-gallery__overlay {
position: absolute; inset: 0;
background: rgba(0,0,0,0.55);
display: flex; align-items: center; justify-content: center;
opacity: 0;
transition: opacity var(--pk-transition);
}
.pokraska-scope .pk-gallery__item:hover .pk-gallery__overlay { opacity: 1; }
.pokraska-scope .pk-gallery__icon {
color: var(--pk-text-inverse);
background: var(--pk-primary);
width: 48px; height: 48px;
border-radius: 9999px;
display: flex; align-items: center; justify-content: center;
transform: scale(0.8);
transition: transform var(--pk-transition);
}
.pokraska-scope .pk-gallery__item:hover .pk-gallery__icon { transform: scale(1); }
/* === FAQ === */
.pokraska-scope .pk-faq {
padding-block: var(--pk-section-py);
background: none;
position: relative;
overflow: hidden;
}
.pokraska-scope .pk-faq .pk-container { max-width: 1200px; }
.pokraska-scope .pk-faq__title {
font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
font-size: clamp(26px, 3.6vw, 40px);
font-weight: 700;
color: var(--pk-text);
text-align: center;
text-transform: uppercase;
margin-bottom: 3rem;
}
.pokraska-scope .pk-faq__list {
max-width: 860px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 14px;
}
.pokraska-scope .pk-faq__item {
background: transparent;
border: 1px solid var(--pk-border);
border-radius: var(--pk-radius-lg);
overflow: hidden;
backdrop-filter: blur(8px);
transition: all var(--pk-transition);
}
.pokraska-scope .pk-faq__item:hover {
border-color: rgba(245, 130, 32, 0.30);
box-shadow: var(--pk-shadow-md);
}
.pokraska-scope .pk-faq__question {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
width: 100%;
padding: 20px 24px;
background: transparent;
border: none;
cursor: pointer;
font-family: inherit;
font-size: 1.125rem;
font-weight: 600;
color: var(--pk-text);
text-align: left;
transition: color 0.15s ease;
}
.pokraska-scope .pk-faq__question:hover { color: var(--pk-primary-hover); }
.pokraska-scope .pk-faq__arrow {
width: 20px; height: 20px;
flex-shrink: 0;
color: var(--pk-primary-hover);
transition: transform var(--pk-transition);
}
.pokraska-scope .pk-faq__item.active .pk-faq__arrow { transform: rotate(180deg); }
.pokraska-scope .pk-faq__item.active {
border-color: rgba(245, 130, 32, 0.35);
box-shadow: var(--pk-shadow-md);
}
.pokraska-scope .pk-faq__answer {
max-height: 0;
overflow: hidden;
transition: max-height 0.4s ease, padding 0.4s ease;
padding: 0 24px;
}
.pokraska-scope .pk-faq__item.active .pk-faq__answer {
max-height: 600px;
padding: 0 24px 24px;
}
.pokraska-scope .pk-faq__answer p {
font-size: 15px;
line-height: 1.6;
color: var(--pk-text-secondary);
margin: 0;
}
/* === CTA / REQUEST === */
.pokraska-scope .pk-cta {
position: relative;
padding-block: var(--pk-section-py);
background: none;
color: #f8fafc;
overflow: hidden;
isolation: isolate;
}
.pokraska-scope .pk-cta__decor { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.pokraska-scope .pk-cta__orb {
position: absolute;
border-radius: 50%;
filter: blur(120px);
opacity: 0.18;
}
.pokraska-scope .pk-cta__orb--1 { width: 600px; height: 600px; background: var(--pk-primary); top: -200px; right: -100px; animation: pkFloatOrb 18s infinite alternate ease-in-out; }
.pokraska-scope .pk-cta__orb--2 { width: 500px; height: 500px; background: var(--pk-primary); bottom: -150px; left: -100px; animation: pkFloatOrb 20s infinite alternate-reverse ease-in-out; }
.pokraska-scope .pk-cta__grid-bg {
position: absolute; inset: 0;
background-image: linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
background-size: 60px 6px;
mask-image: radial-gradient(circle at center, black 20%, transparent 80%);
-webkit-mask-image: radial-gradient(circle at center, black 20%, transparent 80%);
}
.pokraska-scope .pk-cta .pk-container { position: relative; z-index: 1; }
.pokraska-scope .pk-cta__header { text-align: center; max-width: 800px; margin: 0 auto 3rem; }
.pokraska-scope .pk-cta__badge {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
background: var(--pk-primary-light);
border: 1px solid rgba(245, 130, 32, 0.30);
border-radius: 100px;
font-size: 14px;
font-weight: 600;
color: var(--pk-primary-hover);
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 24px;
}
.pokraska-scope .pk-cta__badge-dot {
width: 8px; height: 8px;
background: var(--pk-primary);
border-radius: 50%;
box-shadow: 0 0 10px var(--pk-primary-glow);
animation: pkPulseDot 2s infinite;
}
.pokraska-scope .pk-cta__title {
font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
font-size: clamp(1.875rem, 4vw, 3rem);
font-weight: 800;
line-height: 1.2;
margin-bottom: 1.25rem;
color: #ffffff;
text-transform: uppercase;
}
.pokraska-scope .pk-cta__title .text-gradient {
background: linear-gradient(135deg, var(--pk-primary) 0%, var(--pk-primary-hover) 55%, #ffc37a 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.pokraska-scope .pk-cta__desc {
font-size: 1.125rem;
line-height: 1.75;
color: var(--pk-text-muted);
}
.pokraska-scope .pk-cta__grid {
display: grid;
grid-template-columns: 1fr;
gap: 40px;
align-items: stretch;
}
.pokraska-scope .pk-cta__info-card {
background: transparent;
border: 1px solid var(--pk-border-strong);
border-radius: 24px;
padding: 40px;
backdrop-filter: blur(12px);
height: 100%;
display: flex;
flex-direction: column;
transition: all 0.4s ease;
}
.pokraska-scope .pk-cta__info-card:hover {
border-color: rgba(245, 130, 32, 0.30);
background: transparent;
transform: translateY(-5px);
}
.pokraska-scope .pk-cta__info-icon {
width: 64px; height: 64px;
display: flex; align-items: center; justify-content: center;
background: linear-gradient(135deg, var(--pk-primary), var(--pk-primary-hover));
border-radius: 16px;
color: #ffffff;
box-shadow: 0 10px 25px rgba(245, 130, 32, 0.30);
margin-bottom: 24px;
}
.pokraska-scope .pk-cta__info-icon svg { width: 32px; height: 32px; }
.pokraska-scope .pk-cta__info-title { font-size: 24px; font-weight: 700; color: #ffffff; margin-bottom: 16px; }
.pokraska-scope .pk-cta__info-text { font-size: 16px; line-height: 1.7; color: #cbd5e1; margin-bottom: 32px; }
.pokraska-scope .pk-cta__features {
list-style: none; padding: 0; margin: 0;
display: flex; flex-direction: column; gap: 18px;
}
.pokraska-scope .pk-cta__feature-item {
display: flex; align-items: center; gap: 16px;
font-size: 18px; font-weight: 500;
color: #f8fafc;
line-height: 1.4;
}
.pokraska-scope .pk-cta__feature-item svg { width: 26px; height: 26px; color: var(--pk-success); flex-shrink: 0; }
/* === ANIMATIONS === */
@keyframes pkFloatOrb {
0% { transform: translate(0, 0) scale(1); }
100% { transform: translate(50px, -50px) scale(1.1); }
}
@keyframes pkPulseDot {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.5; transform: scale(1.2); }
}
/* === RESPONSIVE === */
@media (max-width: 767px) {
.pokraska-scope .pk-intro__stats { grid-template-columns: repeat(3, 1fr); gap: 0.5rem; }
.pokraska-scope .pk-intro__stat { padding: 0.75rem 0.5rem; }
.pokraska-scope .pk-intro__stat-number { font-size: 1.5rem; }
.pokraska-scope .pk-intro__stat-label { font-size: 0.625rem; }
.pokraska-scope .pk-intro__feature:hover { transform: translateX(0); }
.pokraska-scope .pk-gallery__grid { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
.pokraska-scope .pk-cta__info-card { padding: 24px; }
.pokraska-scope .pk-cta__feature-item { font-size: 16px; gap: 12px; }
.pokraska-scope .pk-cta__feature-item svg { width: 22px; height: 22px; }
}
@media (min-width: 768px) {
.pokraska-scope .pk-services__grid { grid-template-columns: repeat(2, 1fr); gap: 2rem; }
.pokraska-scope .pk-advantages__grid { grid-template-columns: repeat(2, 1fr); gap: 2rem; }
}
@media (min-width: 992px) {
.pokraska-scope .pk-intro__grid { grid-template-columns: 1fr 1fr; gap: 4rem; }
}
@media (min-width: 1024px) {
.pokraska-scope .pk-services__grid { grid-template-columns: repeat(3, 1fr); }
.pokraska-scope .pk-advantages__grid { grid-template-columns: repeat(4, 1fr); }
.pokraska-scope .pk-cta__grid { grid-template-columns: 1fr 1fr; gap: 60px; }
}
@media (max-width: 1024px) {
.pokraska-scope .pk-gallery__grid { grid-template-columns: repeat(3, 1fr); }
}
/* === КАРТОЧНЫЕ БЛОКИ В СТИЛЕ /navesy/ (page-block--limited) === */
/* Воспроизводим стиль .page-block--limited из theme-proba2-page-content.css:
full-bleed обёртка + карточка 140px с оранжевой рамкой, свечением, hover */
.page-block:has(.pokraska-scope) {
width: 100vw;
margin-left: calc(50% - 50vw);
padding: 48px 20px;
}
/* Карточка: внутренний контент блока */
.page-block:has(.pokraska-scope) .page__content,
.page-block:has(.pokraska-scope) .page-block__inner {
position: relative;
max-width: 1400px;
width: 100%;
margin-left: auto;
margin-right: auto;
border-radius: 16px;
overflow: hidden;
background: transparent;
border: 1px solid rgba(230, 96, 43, .25);
box-shadow: 0 0 20px rgba(230, 96, 43, .35);
transition: border-color .3s ease, box-shadow .3s ease;
}
.page-block:has(.pokraska-scope) .page__content:hover,
.page-block:has(.pokraska-scope) .page-block__inner:hover {
border-color: rgba(246, 89, 8, .5);
box-shadow: 0 0 30px rgba(230, 96, 43, .5), 0 0 80px rgba(230, 96, 43, .22);
}
/* Контент поверх псевдоэлементов */
.page-block:has(.pokraska-scope) .page__content > *,
.page-block:has(.pokraska-scope) .page-block__inner > * {
position: relative;
z-index: 1;
}
/* Если внутри .page-block нет .page__content/.page-block__inner,
применяем карточку к прямому потомку с .pokraska-scope */
.page-block:has(> .pokraska-scope) > .pokraska-scope {
position: relative;
max-width: 1400px;
width: 100%;
margin-left: auto;
margin-right: auto;
border-radius: 16px;
overflow: hidden;
border: 1px solid rgba(230, 96, 43, .25);
box-shadow: 0 0 20px rgba(230, 96, 43, .35);
transition: border-color .3s ease, box-shadow .3s ease;
}
.page-block:has(> .pokraska-scope) > .pokraska-scope:hover {
border-color: rgba(246, 89, 8, .5);
box-shadow: 0 0 30px rgba(230, 96, 43, .5), 0 0 80px rgba(230, 96, 43, .22);
}
/* Разделитель между соседними блоками */
.page-block:has(.pokraska-scope) + .page-block:has(.pokraska-scope)::before {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: min(70%, 500px);
height: 2px;
background: linear-gradient(90deg, transparent, rgba(246, 89, 8, .35), transparent);
box-shadow: 0 0 8px rgba(246, 89, 8, .2);
pointer-events: none;
z-index: 1;
}
/* pokraska-section-dividers-v2: на /poroshkovaya-pokraska/ блоки — plain <section> без класса
.page-block внутри .page__blocks. В отличие от /raskroy-metalla/, у этих секций нет
паддинга .page-block--limited, поэтому черточка top:0 ложилась прямо на верхнюю рамку
карточки и была не видна. Теперь всем секциям кроме первой добавлен padding-top, и
черточка рисуется в свободном пространстве МЕЖДУ карточками (top:24px — по центру
отступа), как на /raskroy-metalla/. */
article.page:has(.pokraska-scope) .page__blocks > section:has(.pokraska-scope) {
position: relative;
}
article.page:has(.pokraska-scope) .page__blocks > section:has(.pokraska-scope) + section:has(.pokraska-scope) {
padding-top: 48px;
}
article.page:has(.pokraska-scope) .page__blocks > section:has(.pokraska-scope) + section:has(.pokraska-scope)::before {
content: '';
position: absolute;
top: 24px;
left: 50%;
transform: translateX(-50%);
width: min(85%, 680px);
height: 2px;
background: linear-gradient(90deg, transparent, rgba(245, 130, 32, .7), transparent);
box-shadow: 0 0 18px rgba(245, 130, 32, .4);
pointer-events: none;
z-index: 3;
}

/* Мобильная адаптация */
@media (max-width: 767px) {
.page-block:has(.pokraska-scope) {
padding: 32px 12px;
}
}

/* Разделитель между соседними секциями (стиль raskroy/navesy) — ОТКЛЮЧЕНО pokraska-section-dividers-v1:
внутрикарточные линии на pk-*::before дублировали бы межузловые разделители
section + section::before. Активный разделитель задан выше (article.page .page__blocks). */
.pokraska-scope .pk-services::before,
.pokraska-scope .pk-advantages::before,
.pokraska-scope .pk-gallery::before,
.pokraska-scope .pk-faq::before,
.pokraska-scope .pk-cta::before {
content: none;
}
/* === Защита от скрытия блоков scroll-reveal === */
.container[data-reveal]:has(.pokraska-scope),
.page__content[data-reveal]:has(.pokraska-scope) {
opacity: 1 !important;
transform: none !important;
}
.pokraska-scope {
opacity: 1 !important;
visibility: visible !important;
}
.pokraska-scope,
.pokraska-scope * {
opacity: 1;
visibility: visible;
}

/* === Стили блоков в стиле navesy: прозрачные фоны, паттерн «Искры» удалён === */
.pokraska-scope .pk-service-card,
.pokraska-scope .pk-advantage-card,
.pokraska-scope .pk-gallery__item,
.pokraska-scope .pk-faq__item,
.pokraska-scope .pk-cta__info-card {
background-color: transparent;
background-image: none;
}
/* Фон limited-блоков страницы poroshkovaya-pokraska удалён */
.page-block__inner.page__content--limited:has(.pokraska-scope) {
background-image: none;
background: none;
}

/* === modules/theme-proba2-products-category.css === */
/*! source: templates/themes/proba-2/modules/products/category.php */
/* Стили категории товаров с фильтрами (proba-2). Вынесено из инлайн-<style> в category.php. */
.pf-layout{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:start;margin-top:var(--space-l,24px)}
.pf-sidebar{position:sticky;top:calc(var(--p2-header-height, 0px) + 24px);background:var(--color-bg);border:1px solid var(--color-border);border-radius:16px;padding:24px}
.pf-sidebar__title{font-size:18px;font-weight:700;margin:0 0 16px;display:flex;align-items:center;gap:8px}
.pf-group{border:none;border-top:1px solid var(--color-border);padding:16px 0;margin:0;min-width:0}
.pf-group:first-of-type{border-top:none;padding-top:0}
.pf-group__name{font-size:14px;font-weight:600;color:var(--color-text);margin:0 0 12px;padding:0}
.pf-check{display:flex;align-items:center;gap:10px;padding:6px 0;cursor:pointer;font-size:14px;color:var(--color-text)}
.pf-check input{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}
.pf-check:hover{color:var(--color-primary)}
.pf-actions{display:flex;gap:10px;margin-top:20px}
.pf-btn{flex:1;padding:12px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;border:none;text-align:center;text-decoration:none;transition:background .2s}
.pf-btn--primary{background:var(--color-primary);color:var(--color-text-inverse)}
.pf-btn--primary:hover{background:var(--color-primary-hover)}
.pf-btn--ghost{background:var(--color-bg-alt);color:var(--color-text)}
.pf-btn--ghost:hover{background:var(--color-border)}
.pf-empty{font-size:13px;color:var(--color-text-muted);padding:8px 0}
.pf-check .pv-color-swatch{width:var(--space-m);height:var(--space-m);border-radius:var(--radius-s);border:1px solid var(--color-border);vertical-align:middle;flex-shrink:0}
.pf-color-swatches{display:flex;flex-wrap:wrap;gap:8px}
.pf-color-swatch{position:relative;display:inline-flex;cursor:pointer;flex-shrink:0}
.pf-color-swatch__input{position:absolute;width:1px;height:1px;margin:0;padding:0;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.pf-color-swatch__box{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:2px solid var(--color-border);overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .15s}
.pf-color-swatch__box svg{position:absolute;top:0;left:0;width:100%;height:100%;display:block}
.pf-color-swatch:hover .pf-color-swatch__box{border-color:color-mix(in srgb, var(--color-danger) 40%, var(--color-bg));transform:scale(1.12)}
.pf-color-swatch__input:checked~.pf-color-swatch__box{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 25%, transparent)}
.pf-color-swatch__input:focus-visible~.pf-color-swatch__box{outline:2px solid var(--color-primary);outline-offset:2px}
.pf-color-swatch__tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);background:var(--color-bg-dark);color:var(--color-text-inverse);font-size:12px;font-weight:500;line-height:1.3;padding:5px 10px;border-radius:6px;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;z-index:10}
.pf-color-swatch__tooltip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--color-bg-dark)}
.pf-color-swatch:hover .pf-color-swatch__tooltip,.pf-color-swatch__input:focus-visible~.pf-color-swatch__tooltip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.pf-chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}
.pf-chip{display:inline-flex;align-items:center;gap:8px;background:color-mix(in srgb, var(--color-primary) 10%, var(--color-bg));color:var(--color-primary);border:1px solid color-mix(in srgb, var(--color-primary) 25%, var(--color-bg));padding:6px 12px;border-radius:999px;font-size:13px;text-decoration:none;transition:background .2s}
.pf-chip:hover{background:color-mix(in srgb, var(--color-primary) 18%, var(--color-bg))}
.pf-chip__x{font-weight:700;line-height:1}
.pf-chip--reset{background:color-mix(in srgb, var(--color-danger) 10%, var(--color-bg));color:var(--color-danger);border-color:color-mix(in srgb, var(--color-danger) 25%, var(--color-bg))}
.pf-chip--reset:hover{background:color-mix(in srgb, var(--color-danger) 20%, var(--color-bg))}
.pf-count{font-size:14px;color:var(--color-text-muted);margin:16px 0 0}
.pi-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.pi-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:1px solid var(--color-border);background:var(--color-bg);border-radius:10px;font-size:13px;font-weight:600;color:var(--color-text);cursor:pointer;transition:background .2s,color .2s,border-color .2s,box-shadow .2s}
.pi-action:hover{border-color:color-mix(in srgb, var(--color-primary) 25%, var(--color-bg));color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, var(--color-bg))}
.pi-action.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}
.pi-action.is-active:hover{background:var(--color-primary-hover)}
.pi-action:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:900px){.pf-layout{grid-template-columns:1fr}.pf-sidebar{position:static}}

/* === modules/theme-proba2-products-index.css === */
/*! source: templates/themes/proba-2/modules/products/index.php */
/* Стили витрины категорий и карточек каталога (proba-2). Вынесено из инлайн-<style> в index.php. */
.pc-showcase{margin:var(--space-s) 0 var(--space-l)}
.pc-showcase__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 var(--space-m);letter-spacing:-.01em}
.pc-showcase__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-m)}
.pc-card{position:relative;display:flex;flex-direction:column;border-radius:var(--radius-m);overflow:hidden;text-decoration:none;background:var(--color-bg);border:1px solid var(--color-border);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base);min-height:200px}
.pc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover);border-color:transparent}
.pc-card__banner{height:88px;display:flex;align-items:center;justify-content:center;font-size:40px;position:relative;overflow:hidden}
.pc-card__banner::after{content:"";position:absolute;right:-24px;top:-24px;width:90px;height:90px;background:color-mix(in srgb,var(--color-text-inverse) 16%,transparent);border-radius:var(--radius-circle)}
.pc-card__banner::before{content:"";position:absolute;left:-16px;bottom:-30px;width:70px;height:70px;background:color-mix(in srgb,var(--color-text-inverse) 12%,transparent);border-radius:var(--radius-circle)}
.pc-card__img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}
.pc-card__emoji{position:relative;z-index:1;filter:drop-shadow(0 4px 8px color-mix(in srgb,var(--color-bg-dark) 18%,transparent))}
.pc-card__body{padding:var(--space-m) var(--space-m) var(--space-m);display:flex;flex-direction:column;flex-grow:1}
.pc-card__name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 var(--space-s);line-height:1.3}
.pc-card__desc{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.5;margin:0 0 var(--space-s);flex-grow:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc-card__footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
.pc-card__count{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary-hover);background:color-mix(in srgb,var(--color-primary) 10%,var(--color-bg));padding:var(--space-xs) 10px;border-radius:var(--radius-pill);white-space:nowrap}
.pc-card__price{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap}
.pc-card__price strong{color:var(--color-text);font-weight:var(--font-weight-bold)}
.pc-card__arrow{position:absolute;right:var(--space-m);top:var(--space-m);z-index:1;width:30px;height:30px;border-radius:var(--radius-circle);background:color-mix(in srgb,var(--color-text-inverse) 90%,transparent);display:flex;align-items:center;justify-content:center;color:var(--color-primary);font-weight:var(--font-weight-bold);opacity:0;transform:translateX(-6px);transition:opacity var(--transition-base),transform var(--transition-base)}
.pc-card:hover .pc-card__arrow{opacity:1;transform:translateX(0)}
@media(max-width:1000px){.pc-showcase__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.pc-showcase__grid{grid-template-columns:1fr}.pc-card{min-height:0;flex-direction:row}.pc-card__banner{height:auto;width:88px;flex-shrink:0}.pc-card__arrow{display:none}}

/* === modules/theme-proba2-products-show.css === */
/*! source: templates/themes/proba-2/modules/products/show.php */
/* Стили карточки товара (proba-2). Вынесено из инлайн-<style> в show.php. */
.pv-info .page__title{padding-bottom:var(--space-s);margin-bottom:var(--space-m);border-bottom:1px solid var(--color-border)}
.pv-top{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-top:var(--space-l,24px)}
.pv-gallery{position:sticky;top:calc(var(--p2-header-height, 0px) + 24px)}
.pv-gallery__img{width:100%;border-radius:16px;box-shadow:var(--shadow-card-hover);display:block;transition:opacity .25s}
.pv-gallery__img.is-loading{opacity:.4}
.pv-gallery__thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:12px}
.pv-gallery__thumb{width:100%;min-width:0;aspect-ratio:4/3;height:auto;object-fit:cover;border-radius:8px;cursor:pointer;border:2px solid transparent;opacity:.7;transition:all .2s}
.pv-gallery__thumb:hover{opacity:1}
.pv-gallery__thumb.is-active{border-color:var(--color-primary);opacity:1}
.pv-gallery__main{position:relative}
.pv-gallery__actions{position:absolute;bottom:16px;left:16px;display:flex;gap:8px;z-index:10}
.pv-gact{width:44px;height:44px;border-radius:50%;border:none;background:color-mix(in srgb, var(--color-text-inverse) 55%, transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-card);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.pv-gact svg{width:20px;height:20px;stroke:var(--color-text-muted);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pv-gact:hover{background:var(--color-primary)}
.pv-gact:hover svg{stroke:var(--color-text-inverse)}
.pv-gact.is-active{background:var(--color-primary)}
.pv-gact.is-active svg{stroke:var(--color-text-inverse);fill:var(--color-text-inverse)}
.pv-info__price{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:8px 0 16px}
.pv-price-current{font-size:clamp(28px,4vw,40px);font-weight:800;color:var(--color-primary-hover);line-height:1}
.pv-price-old{font-size:20px;color:var(--color-text-muted);text-decoration:line-through}
.pv-stock{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;font-size:14px;font-weight:600;margin-bottom:20px}
.pv-stock--in{background:color-mix(in srgb, var(--color-success) 15%, var(--color-bg));color:var(--color-success)}
.pv-stock--out{background:color-mix(in srgb, var(--color-danger) 12%, var(--color-bg));color:var(--color-danger)}
.pv-short{font-size:16px;color:var(--color-text);line-height:1.6;margin:0 0 24px}
.pv-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.pv-btn{padding:16px 32px;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;border:none;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s,color .2s;display:inline-flex;align-items:center;gap:10px}
.pv-btn--primary{background:var(--color-primary);color:var(--color-text-inverse)}
.pv-btn--primary:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 10px 24px color-mix(in srgb, var(--color-primary) 30%, transparent)}
.pv-btn--primary:disabled{background:color-mix(in srgb, var(--color-primary) 25%, var(--color-bg));cursor:not-allowed}
.pv-btn--ghost{background:var(--color-bg-alt);color:var(--color-text)}
.pv-btn--ghost:hover{background:var(--color-border)}
.pv-btn--ghost.is-active{background:var(--color-primary);color:var(--color-text-inverse)}
.pv-btn--ghost.is-active:hover{background:var(--color-primary-hover)}
.pv-btn:disabled{opacity:.6;cursor:not-allowed}
.pv-btn--primary{position:relative;overflow:hidden}
.pv-btn--primary .pv-cart-svg{width:var(--space-l);height:var(--space-l);flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pv-btn--primary::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(105deg,color-mix(in srgb,var(--color-text-inverse) 0%,transparent) 20%,color-mix(in srgb,var(--color-text-inverse) 32%,transparent) 50%,color-mix(in srgb,var(--color-text-inverse) 0%,transparent) 80%);transform:translateX(-110%) skewX(-15deg);pointer-events:none}
.pv-btn--primary:hover:not(:disabled)::after{animation:prShine var(--transition-slow) ease forwards}
.pv-variants{background:var(--color-bg);border:1px solid var(--color-border);border-radius:16px;padding:24px;margin-bottom:24px}
.pv-variants__title{font-size:16px;font-weight:700;margin:0 0 16px}
.pv-attr{margin-bottom:18px}
.pv-attr:last-child{margin-bottom:0}
.pv-attr__name{font-size:var(--font-size-caption);font-weight:600;color:var(--color-text-muted);margin:0 0 10px;text-transform:uppercase;letter-spacing:.5px}
.pv-attr__values{display:flex;flex-wrap:wrap;gap:10px}
.pv-opt{padding:10px 18px;border:2px solid var(--color-border);border-radius:10px;background:var(--color-bg);font-size:14px;font-weight:600;color:var(--color-text);cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.pv-opt:hover{border-color:color-mix(in srgb, var(--color-primary) 25%, var(--color-bg))}
.pv-opt.is-selected{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, var(--color-bg));color:var(--color-primary-hover)}
.pv-variant-note{margin-top:16px;padding:12px 16px;border-radius:10px;font-size:14px;background:var(--color-bg-alt);color:var(--color-text);border:1px solid var(--color-border);min-height:20px}
.pv-variant-note__sku{color:var(--color-text-muted);font-size:var(--font-size-caption)}
.pv-attrs{margin-top:32px}
.pv-attrs__title{font-size:20px;font-weight:700;margin:0 0 16px}
/* Визуально скрытая подпись (.pv-attrs__caption): единое правило .visually-hidden — в 04-utilities.css */
.pv-attrs__table{width:100%;border-collapse:separate;border-spacing:0;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-m)}
.pv-attrs__table tr:nth-child(even){background:var(--color-bg-alt)}
.pv-attrs__table td{padding:12px 18px;font-size:15px;border-bottom:1px solid var(--color-border);vertical-align:top}
.pv-attrs__table tr:last-child td{border-bottom:none}
.pv-attrs__table td:first-child{color:var(--color-text-muted);width:40%;font-weight:500}
.pv-attrs__table td:last-child{color:var(--color-text);font-weight:600}
.pv-attrs__table tr:first-child td:first-child{border-top-left-radius:calc(var(--radius-m) - 1px)}
.pv-attrs__table tr:first-child td:last-child{border-top-right-radius:calc(var(--radius-m) - 1px)}
.pv-attrs__table tr:last-child td:first-child{border-bottom-left-radius:calc(var(--radius-m) - 1px)}
.pv-attrs__table tr:last-child td:last-child{border-bottom-right-radius:calc(var(--radius-m) - 1px)}
.pv-color-swatch{width:var(--space-m);height:var(--space-m);border-radius:var(--radius-s);border:1px solid var(--color-border);vertical-align:middle;margin-right:var(--space-s)}
.pv-cubes{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs)}
.pv-cube{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:default;border-radius:var(--radius-s)}
.pv-cube:focus-visible{outline:1px solid var(--color-border-strong);outline-offset:1px}
.pv-cube .pv-color-swatch{width:calc(var(--space-m) + var(--space-xs));height:calc(var(--space-m) + var(--space-xs));margin-right:0;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}
.pv-cube--text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}
.pv-cube:hover .pv-color-swatch,.pv-cube:focus-visible .pv-color-swatch{transform:scale(1.12);box-shadow:var(--shadow-card)}
.pv-cube::after,.pv-opt--color::after{content:attr(data-tip);position:absolute;bottom:calc(100% + var(--space-xs));left:50%;transform:translateX(-50%) translateY(var(--space-xs));background:var(--color-bg-dark);color:var(--color-text-inverse);font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--font-line-height);padding:var(--space-xs) var(--space-s);border-radius:var(--radius-s);box-shadow:var(--shadow-modal);white-space:nowrap;opacity:0;visibility:hidden;transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast);pointer-events:none;z-index:var(--z-index-dropdown)}
.pv-cube::before,.pv-opt--color::before{content:"";position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(var(--space-xs));border-top:calc(var(--space-xs) + 1px) solid var(--color-bg-dark);border-left:calc(var(--space-xs) + 1px) solid transparent;border-right:calc(var(--space-xs) + 1px) solid transparent;opacity:0;visibility:hidden;transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast);pointer-events:none;z-index:var(--z-index-dropdown)}
.pv-cube:hover::after,.pv-cube:focus-visible::after,.pv-cube:hover::before,.pv-cube:focus-visible::before,.pv-opt--color:hover::after,.pv-opt--color:focus-visible::after,.pv-opt--color:hover::before,.pv-opt--color:focus-visible::before{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.pv-cube--text::after,.pv-cube--text::before{display:none}
.pv-attrs__sep{opacity:.4}
@media(prefers-reduced-motion:reduce){.pv-cube::after,.pv-cube::before,.pv-cube .pv-color-swatch,.pv-opt--color::after,.pv-opt--color::before{transition:none}}
.pv-opt--color{padding:4px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;position:relative}
.pv-opt--color .pv-color-swatch{width:32px;height:32px;margin-right:0;border-radius:6px}
.pv-opt--color:hover{border-color:var(--color-primary)}
.pv-opt--color.is-selected{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 30%, transparent)}
.pv-content{margin-top:40px}
.pv-content--limited{max-width:none}
.pv-content--full{max-width:none}
.comments-section[data-comments]{max-width:none}
.pv-content__inner{background:var(--color-bg);border:1px solid var(--color-border);border-radius:16px;padding:32px}
.pv-content__inner h2{font-size:24px;margin:24px 0 12px}
.pv-content__inner h2:first-child{margin-top:0}
.pv-content__inner ul{padding-left:22px;line-height:1.8}
.pv-content__inner p{line-height:1.7;color:var(--color-text)}
@media(max-width:900px){.pv-top{grid-template-columns:1fr}.pv-gallery{position:static}}
.pr-related{margin-top:var(--space-xl)}
.pr-related__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-m);margin-bottom:var(--space-m)}
.pr-related__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0}
.pr-nav{display:flex;gap:var(--space-s)}
.pr-nav button{width:calc(var(--space-l) + var(--space-s));height:calc(var(--space-l) + var(--space-s));border-radius:var(--radius-circle);border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}
.pr-nav svg{width:var(--space-m);height:var(--space-m);stroke:var(--color-text);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pr-nav button:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary)}
.pr-nav button:hover:not(:disabled) svg{stroke:var(--color-text-inverse)}
.pr-nav button:disabled{opacity:.4;cursor:not-allowed}
.pr-wrap{overflow:hidden}
.pr-track{display:flex;gap:var(--space-m);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-s);cursor:grab;scrollbar-width:none}
.pr-track::-webkit-scrollbar{display:none}
.pr-track.is-drag{cursor:grabbing;scroll-snap-type:none}
.pr-card{position:relative;flex:0 0 240px;scroll-snap-align:start;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-m);overflow:hidden;color:var(--color-text);transition:border-color var(--transition-fast);display:flex;flex-direction:column}
.pr-card:hover{border-color:var(--color-border-strong)}
.pr-card::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(105deg,color-mix(in srgb,var(--color-text-inverse) 0%,transparent) 20%,color-mix(in srgb,var(--color-text-inverse) 28%,transparent) 50%,color-mix(in srgb,var(--color-text-inverse) 0%,transparent) 80%);transform:translateX(-110%) skewX(-15deg);pointer-events:none;z-index:var(--z-index-dropdown)}
.pr-card:hover::after{animation:prShine var(--transition-slow) ease forwards}
@keyframes prShine{from{transform:translateX(-110%) skewX(-15deg)}to{transform:translateX(110%) skewX(-15deg)}}
.pr-card__link{display:flex;flex-direction:column;flex:1;text-decoration:none;color:inherit;min-height:0}
.pr-card__actions{display:flex;gap:var(--space-xs);padding:0 var(--space-m) var(--space-m)}
.pr-act{width:calc(var(--space-l) + var(--space-xs));height:calc(var(--space-l) + var(--space-xs));border-radius:var(--radius-circle);border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}
.pr-act svg{width:var(--space-m);height:var(--space-m);stroke:var(--color-text-muted);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pr-act:hover{background:var(--color-primary);border-color:var(--color-primary)}
.pr-act:hover svg{stroke:var(--color-text-inverse)}
.pr-act.is-active{background:var(--color-primary);border-color:var(--color-primary)}
.pr-act.is-active svg{stroke:var(--color-text-inverse)}
.pr-act--fav.is-active svg{fill:var(--color-text-inverse)}
.pr-act--cart.is-added{background:var(--color-success);border-color:var(--color-success)}
.pr-act--link{text-decoration:none}
.pr-card__media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--color-bg-alt)}
.pr-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.pr-card__body{padding:var(--space-s) var(--space-m) var(--space-m);display:flex;flex-direction:column;gap:var(--space-xs);flex:1}
.pr-card__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0;line-height:var(--font-line-height);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pr-card__price{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);margin:0;color:var(--color-primary-hover)}
.pr-card__old{font-size:var(--font-size-xs);color:var(--color-text-muted);text-decoration:line-through;font-weight:var(--font-weight-regular)}
@media(max-width:768px){.pr-card{flex-basis:200px}}

/* === modules/theme-proba2-raskroy-metalla.css === */
/*
* Стили страницы «Раскрой металла» (raskroy-metalla).
* Палитра: тёмный графит + оранжевый неон (активная тема proba-2-copy).
* Все селекторы ограничены областью .raskroy-scope, чтобы не влиять на остальные страницы.
*/

.raskroy-scope {
  --rk-primary: #f58220;
  --rk-primary-hover: #ff9340;
  --rk-primary-light: rgba(245, 130, 32, 0.10);
  --rk-primary-glow: rgba(245, 130, 32, 0.40);
  --rk-primary-glow-lg: rgba(245, 130, 32, 0.12);
  --rk-info: #5b8cff;
  --rk-success: #2f9e44;
  --rk-bg: #110f0f;
  --rk-bg-alt: #16181d;
  --rk-card: rgba(26, 29, 36, 0.72);
  --rk-card-solid: #1a1d24;
  --rk-text: #f3f4f6;
  --rk-text-muted: #9ca3af;
  --rk-text-dim: #7c8290;
  --rk-border: rgba(255, 255, 255, 0.08);
  --rk-border-strong: rgba(255, 255, 255, 0.16);
  --rk-radius-sm: 12px;
  --rk-radius: 16px;
  --rk-radius-lg: 24px;
  --rk-shadow: 0 4px 24px rgba(0, 0, 0, 0.30);
  --rk-shadow-hover: 0 12px 40px rgba(0, 0, 0, 0.50), 0 0 30px rgba(245, 130, 32, 0.25);
  --rk-transition: 0.35s cubic-bezier(0.4, 0, 0.2, 1);

  background-color: var(--rk-bg);
  color: var(--rk-text);
  font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
  line-height: 1.6;
}

.raskroy-scope img,
.raskroy-scope svg,
.raskroy-scope video {
  max-width: 100%;
}

.raskroy-scope a {
  color: var(--rk-primary-hover);
}

.raskroy-scope .rk-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}

/* ============================================================
   Кнопки
   ============================================================ */

.raskroy-scope .rk-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.raskroy-scope .rk-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 28px;
  border-radius: var(--rk-radius-sm);
  border: 1px solid transparent;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition: all var(--rk-transition);
}

.raskroy-scope .rk-btn--primary {
  color: #ffffff;
  background: linear-gradient(135deg, var(--rk-primary) 0%, var(--rk-primary-hover) 100%);
  box-shadow: 0 10px 25px rgba(245, 130, 32, 0.35);
}

.raskroy-scope .rk-btn--primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 35px rgba(245, 130, 32, 0.50);
}

.raskroy-scope .rk-btn--ghost {
  color: var(--rk-text);
  background: transparent;
  border-color: var(--rk-border-strong);
}

.raskroy-scope .rk-btn--ghost:hover {
  border-color: var(--rk-primary);
  color: var(--rk-primary-hover);
  background: var(--rk-primary-light);
  transform: translateY(-3px);
}

/* ============================================================
   Hero
   ============================================================ */

.raskroy-scope .rk-hero {
  position: relative;
  padding: clamp(64px, 8vw, 110px) 0 clamp(48px, 6vw, 80px);
  background:
    radial-gradient(1100px 520px at 85% -10%, var(--rk-primary-glow-lg), transparent 60%),
    linear-gradient(160deg, #17191f 0%, var(--rk-bg) 65%);
  overflow: hidden;
  isolation: isolate;
}

.raskroy-scope .rk-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(circle at center, black 25%, transparent 85%);
  -webkit-mask-image: radial-gradient(circle at center, black 25%, transparent 85%);
  z-index: -1;
  pointer-events: none;
}

.raskroy-scope .rk-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 16px;
  margin-bottom: 22px;
  background: var(--rk-primary-light);
  border: 1px solid rgba(245, 130, 32, 0.30);
  border-radius: 999px;
  color: var(--rk-primary-hover);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.raskroy-scope .rk-hero__badge-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--rk-primary);
  box-shadow: 0 0 10px var(--rk-primary-glow);
  animation: rk-pulse-dot 2s infinite;
}

.raskroy-scope .rk-hero__title {
  margin: 0 0 18px;
  font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
  font-size: clamp(34px, 5vw, 58px);
  font-weight: 800;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: -0.01em;
}

.raskroy-scope .rk-gradient-text {
  background: linear-gradient(135deg, var(--rk-primary) 0%, var(--rk-primary-hover) 55%, #ffc37a 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.raskroy-scope .rk-hero__desc {
  max-width: 720px;
  margin: 0 0 30px;
  font-size: clamp(16px, 2vw, 18px);
  color: var(--rk-text-muted);
}

.raskroy-scope .rk-hero__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 42px;
}

.raskroy-scope .rk-hero__stat {
  padding: 18px 22px;
  background: var(--rk-card);
  border: 1px solid var(--rk-border);
  border-radius: var(--rk-radius);
  backdrop-filter: blur(8px);
  transition: all var(--rk-transition);
}

.raskroy-scope .rk-hero__stat:hover {
  border-color: rgba(245, 130, 32, 0.35);
  box-shadow: 0 0 24px rgba(245, 130, 32, 0.15);
  transform: translateY(-4px);
}

.raskroy-scope .rk-hero__stat-num {
  font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--rk-primary-hover);
}

.raskroy-scope .rk-hero__stat-label {
margin-top: 4px;
font-size: 13px;
color: var(--rk-text-muted);
text-transform: uppercase;
letter-spacing: 0.06em;
}
/* Hero: двухколоночная сетка (текст | видео) */
.raskroy-scope .rk-hero__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center;
}
.raskroy-scope .rk-hero__col--text {
display: flex;
flex-direction: column;
align-items: flex-start;
}
.raskroy-scope .rk-hero__col--media {
display: flex;
flex-direction: column;
gap: 0;
}
.raskroy-scope .rk-hero__col--media .rk-video-feature__frame {
margin-top: 0;
}
.raskroy-scope .rk-hero__col--media .rk-video-feature__caption {
text-align: center;
}
@media (max-width: 1023px) {
.raskroy-scope .rk-hero__grid {
grid-template-columns: 1fr;
gap: 32px;
}
.raskroy-scope .rk-hero__col--media {
order: -1;
}
}
/* ============================================================
Секции: общее
============================================================ */

.raskroy-scope .rk-section {
padding: clamp(56px, 7vw, 96px) 0;
position: relative;
}
/* Стиль navesy: фон убран с .rk-container, добавлены оранжевые разделители */
.raskroy-scope .rk-section--alt {
background: none;
border-top: 1px solid rgba(245, 130, 32, 0.28);
border-bottom: 1px solid rgba(245, 130, 32, 0.28);
}
.raskroy-scope .rk-section--alt .rk-container {
background-image: none;
border-radius: var(--rk-radius);
}
/* Разделитель между соседними секциями (стиль navesy) */
.raskroy-scope .rk-section + .rk-section::before {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: min(85%, 680px);
height: 2px;
background: linear-gradient(90deg, transparent, rgba(245, 130, 32, 0.7), transparent);
box-shadow: 0 0 18px rgba(245, 130, 32, 0.4);
pointer-events: none;
z-index: 1;
}
.raskroy-scope .rk-section__header {
  max-width: 760px;
  margin: 0 auto 48px;
  text-align: center;
}

.raskroy-scope .rk-badge {
  display: inline-block;
  padding: 7px 16px;
  margin-bottom: 16px;
  background: var(--rk-primary-light);
  border: 1px solid rgba(245, 130, 32, 0.25);
  border-radius: 999px;
  color: var(--rk-primary-hover);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.raskroy-scope .rk-section__title {
  margin: 0 0 14px;
  font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
  font-size: clamp(26px, 3.6vw, 40px);
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
}

.raskroy-scope .rk-section__subtitle {
  margin: 0;
  font-size: 17px;
  color: var(--rk-text-muted);
}

/* ============================================================
   Преимущества плазменной резки
   ============================================================ */

.raskroy-scope .rk-features__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.raskroy-scope .rk-feature-card {
  position: relative;
  padding: 30px 26px;
  background: var(--rk-card);
  border: 1px solid var(--rk-border);
  border-radius: var(--rk-radius);
  overflow: hidden;
  transition: all var(--rk-transition);
}

.raskroy-scope .rk-feature-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--rk-primary), var(--rk-primary-hover));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--rk-transition);
}

.raskroy-scope .rk-feature-card:hover {
  transform: translateY(-8px);
  border-color: rgba(245, 130, 32, 0.30);
  box-shadow: var(--rk-shadow-hover);
}

.raskroy-scope .rk-feature-card:hover::before {
  transform: scaleX(1);
}

.raskroy-scope .rk-feature-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  margin-bottom: 18px;
  background: var(--rk-primary-light);
  border: 1px solid rgba(245, 130, 32, 0.25);
  border-radius: 14px;
  color: var(--rk-primary-hover);
  transition: all var(--rk-transition);
}

.raskroy-scope .rk-feature-card:hover .rk-feature-card__icon {
  background: linear-gradient(135deg, var(--rk-primary), var(--rk-primary-hover));
  color: #ffffff;
  box-shadow: 0 8px 20px rgba(245, 130, 32, 0.30);
  transform: scale(1.05) rotate(-4deg);
}

.raskroy-scope .rk-feature-card__icon svg {
  width: 26px;
  height: 26px;
}

.raskroy-scope .rk-feature-card__title {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 700;
}

.raskroy-scope .rk-feature-card__text {
  margin: 0;
  font-size: 15px;
  color: var(--rk-text-muted);
}

/* ============================================================
   Услуги (что мы предлагаем)
   ============================================================ */

.raskroy-scope .rk-services__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.raskroy-scope .rk-service-card {
  display: flex;
  flex-direction: column;
  padding: 30px 26px;
  background: var(--rk-card);
  border: 1px solid var(--rk-border);
  border-radius: var(--rk-radius);
  transition: all var(--rk-transition);
}

.raskroy-scope .rk-service-card:hover {
  transform: translateY(-8px);
  border-color: rgba(245, 130, 32, 0.30);
  box-shadow: var(--rk-shadow-hover);
}

.raskroy-scope .rk-service-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  margin-bottom: 18px;
  background: var(--rk-primary-light);
  border: 1px solid rgba(245, 130, 32, 0.25);
  border-radius: 14px;
  color: var(--rk-primary-hover);
  transition: all var(--rk-transition);
}

.raskroy-scope .rk-service-card:hover .rk-service-card__icon {
  background: linear-gradient(135deg, var(--rk-primary), var(--rk-primary-hover));
  color: #ffffff;
  box-shadow: 0 8px 20px rgba(245, 130, 32, 0.30);
  transform: scale(1.05) rotate(-4deg);
}

.raskroy-scope .rk-service-card__icon svg {
  width: 26px;
  height: 26px;
}

.raskroy-scope .rk-service-card__title {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 700;
}

.raskroy-scope .rk-service-card__text {
  margin: 0;
  flex: 1;
  font-size: 15px;
  color: var(--rk-text-muted);
}

.raskroy-scope .rk-service-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  font-size: 15px;
  font-weight: 600;
  color: var(--rk-primary-hover);
  text-decoration: none;
  transition: all var(--rk-transition);
}

.raskroy-scope .rk-service-card__link svg {
  width: 18px;
  height: 18px;
  transition: transform var(--rk-transition);
}

.raskroy-scope .rk-service-card__link:hover svg {
  transform: translateX(5px);
}

/* ============================================================
   Отзывы
   ============================================================ */

.raskroy-scope .rk-reviews__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.raskroy-scope .rk-review-card {
  position: relative;
  padding: 28px;
  background: var(--rk-card);
  border: 1px solid var(--rk-border);
  border-radius: var(--rk-radius);
  transition: all var(--rk-transition);
}

.raskroy-scope .rk-review-card:hover {
  transform: translateY(-6px);
  border-color: rgba(245, 130, 32, 0.30);
  box-shadow: var(--rk-shadow-hover);
}

.raskroy-scope .rk-review-card__stars {
  margin-bottom: 14px;
  color: #fbbf24;
  font-size: 16px;
  letter-spacing: 3px;
}

.raskroy-scope .rk-review-card__text {
  margin: 0;
  font-size: 15px;
  color: var(--rk-text-muted);
}

.raskroy-scope .rk-review-card__author {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
}

.raskroy-scope .rk-review-card__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--rk-primary), var(--rk-primary-hover));
  color: #ffffff;
  font-weight: 700;
  font-size: 16px;
  flex-shrink: 0;
}

.raskroy-scope .rk-review-card__name {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}

.raskroy-scope .rk-review-card__meta {
  font-size: 13px;
  color: var(--rk-text-dim);
}

/* ============================================================
   FAQ (нативный details/summary — работает без JS)
   ============================================================ */

.raskroy-scope .rk-faq__list {
  max-width: 860px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.raskroy-scope .rk-faq__item {
  background: var(--rk-card);
  border: 1px solid var(--rk-border);
  border-radius: var(--rk-radius);
  overflow: hidden;
  transition: border-color var(--rk-transition);
}

.raskroy-scope .rk-faq__item[open] {
  border-color: rgba(245, 130, 32, 0.35);
}

.raskroy-scope .rk-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  font-size: 17px;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.raskroy-scope .rk-faq__question::-webkit-details-marker {
  display: none;
}

.raskroy-scope .rk-faq__question::after {
  content: '+';
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid var(--rk-border-strong);
  color: var(--rk-primary-hover);
  font-size: 20px;
  line-height: 1;
  transition: all var(--rk-transition);
}

.raskroy-scope .rk-faq__item[open] .rk-faq__question::after {
  content: '–';
  background: var(--rk-primary);
  border-color: var(--rk-primary);
  color: #ffffff;
}

.raskroy-scope .rk-faq__answer {
  padding: 0 24px 22px;
  font-size: 15px;
  color: var(--rk-text-muted);
}

.raskroy-scope .rk-faq__answer p {
  margin: 0 0 10px;
}

.raskroy-scope .rk-faq__answer p:last-child {
  margin-bottom: 0;
}

/* ============================================================
   CTA / заявка
   ============================================================ */

.raskroy-scope .rk-cta {
  position: relative;
  padding: clamp(56px, 7vw, 90px) 0;
  background:
    radial-gradient(700px 360px at 15% 0%, var(--rk-primary-glow-lg), transparent 60%),
    #0e0c0c;
  overflow: hidden;
  isolation: isolate;
}

.raskroy-scope .rk-cta__card {
  position: relative;
  max-width: 860px;
  margin: 0 auto;
  padding: clamp(32px, 5vw, 56px);
  background: var(--rk-card);
  border: 1px solid var(--rk-border-strong);
  border-radius: var(--rk-radius-lg);
  text-align: center;
  overflow: hidden;
}

.raskroy-scope .rk-cta__card::before {
  content: '';
  position: absolute;
  top: -80px;
  right: -80px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: var(--rk-primary);
  filter: blur(110px);
  opacity: 0.18;
  pointer-events: none;
}

.raskroy-scope .rk-cta__title {
  margin: 0 0 14px;
  font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
  font-size: clamp(24px, 3.4vw, 36px);
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}

.raskroy-scope .rk-cta__text {
  max-width: 560px;
  margin: 0 auto 26px;
  font-size: 16px;
  color: var(--rk-text-muted);
}

.raskroy-scope .rk-cta__phone {
  display: inline-block;
  margin-bottom: 22px;
  font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
  font-size: clamp(26px, 4vw, 38px);
  font-weight: 700;
  color: var(--rk-primary-hover);
  text-decoration: none;
  transition: color var(--rk-transition);
}

.raskroy-scope .rk-cta__phone:hover {
  color: #ffffff;
}

.raskroy-scope .rk-cta__note {
  margin-top: 18px;
  font-size: 13px;
  color: var(--rk-text-dim);
}

/* ============================================================
Фото-галерея работ
============================================================ */
.raskroy-scope .rk-photo-gallery__grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 16px;
}
.raskroy-scope .rk-photo-item {
position: relative;
border-radius: var(--rk-radius);
overflow: hidden;
background: var(--rk-card-solid);
border: 1px solid var(--rk-border);
transition: all var(--rk-transition);
cursor: pointer;
}
.raskroy-scope .rk-photo-item:hover {
transform: translateY(-6px) scale(1.02);
border-color: rgba(245, 130, 32, 0.40);
box-shadow: var(--rk-shadow-hover);
}
.raskroy-scope .rk-photo-item img {
display: block;
width: 100%;
aspect-ratio: 4 / 3;
object-fit: cover;
transition: transform 0.5s cubic-bezier(.4, 0, 0.2, 1);
}
.raskroy-scope .rk-photo-item:hover img {
transform: scale(1.08);
}
.raskroy-scope .rk-photo-item__overlay {
position: absolute;
inset: 0;
background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.7) 100%);
opacity: 0;
transition: opacity var(--rk-transition);
display: flex;
align-items: flex-end;
padding: 16px;
}
.raskroy-scope .rk-photo-item:hover .rk-photo-item__overlay {
opacity: 1;
}
.raskroy-scope .rk-photo-item__caption {
color: #ffffff;
font-size: 13px;
font-weight: 500;
line-height: 1.4;
transform: translateY(10px);
transition: transform var(--rk-transition);
}
.raskroy-scope .rk-photo-item:hover .rk-photo-item__caption {
transform: translateY(0);
}
@media (max-width: 1023px) {
.raskroy-scope .rk-photo-gallery__grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 600px) {
.raskroy-scope .rk-photo-gallery__grid {
grid-template-columns: 1fr;
}
}
/* ============================================================
Featured video — крупный показ одного видео (видео 3)
============================================================ */
.raskroy-scope .rk-video-feature {
position: relative;
padding: clamp(56px, 7vw, 96px) 0;
background:
radial-gradient(900px 480px at 50% 0%, var(--rk-primary-glow-lg), transparent 60%),
var(--rk-bg);
overflow: hidden;
isolation: isolate;
}
.raskroy-scope .rk-video-feature__inner {
max-width: 960px;
margin: 0 auto;
}
.raskroy-scope .rk-video-feature__frame {
position: relative;
border-radius: var(--rk-radius-lg);
overflow: hidden;
border: 1px solid var(--rk-border-strong);
box-shadow: var(--rk-shadow-hover);
background: #000;
}
.raskroy-scope .rk-video-feature__frame::before {
content: '';
position: absolute;
inset: 0;
border-radius: inherit;
box-shadow: 0 0 60px rgba(245, 130, 32, 0.18);
pointer-events: none;
z-index: 1;
}
.raskroy-scope .rk-video-feature__frame video {
display: block;
width: 100%;
aspect-ratio: 16 / 9;
object-fit: cover;
background: #000;
}
.raskroy-scope .rk-video-feature__caption {
margin-top: 18px;
text-align: center;
font-size: 15px;
color: var(--rk-text-muted);
}
@media (max-width: 767px) {
.raskroy-scope .rk-video-feature__caption {
font-size: 14px;
}
}
/* ============================================================
Видео-галерея работ
============================================================ */
.raskroy-scope .rk-gallery__grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 20px;
}
.raskroy-scope .rk-gallery-item {
position: relative;
border-radius: var(--rk-radius);
overflow: hidden;
background: var(--rk-card-solid);
border: 1px solid var(--rk-border);
transition: all var(--rk-transition);
}
.raskroy-scope .rk-gallery-item:hover {
transform: translateY(-6px);
border-color: rgba(245, 130, 32, 0.30);
box-shadow: var(--rk-shadow-hover);
}
.raskroy-scope .rk-gallery-item video {
display: block;
width: 100%;
aspect-ratio: 16 / 9;
object-fit: cover;
background: #000;
}
.raskroy-scope .rk-gallery-item__label {
padding: 12px 16px;
font-size: 13px;
color: var(--rk-text-muted);
text-align: center;
border-top: 1px solid var(--rk-border);
}
@media (max-width: 1023px) {
.raskroy-scope .rk-gallery__grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 767px) {
.raskroy-scope .rk-gallery__grid {
grid-template-columns: 1fr;
}
}

/* ============================================================
Анимации
============================================================ */
@keyframes rk-pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.25); }
}

/* ============================================================
   Адаптивность
   ============================================================ */

@media (max-width: 1023px) {
  .raskroy-scope .rk-services__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .raskroy-scope .rk-features__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .raskroy-scope .rk-hero__stats {
    grid-template-columns: 1fr;
  }
  .raskroy-scope .rk-services__grid {
    grid-template-columns: 1fr;
  }
  .raskroy-scope .rk-reviews__grid {
    grid-template-columns: 1fr;
  }
  .raskroy-scope .rk-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .raskroy-scope .rk-btn {
    width: 100%;
  }
}

/* ============================================================
   Защита от скрытия блоков scroll-reveal (аналог svarka-scope)
   ============================================================ */

.container[data-reveal]:has(.raskroy-scope),
.page__content[data-reveal]:has(.raskroy-scope) {
opacity: 1 !important;
transform: none !important;
}
.raskroy-scope {
opacity: 1 !important;
visibility: visible !important;
}
/* === Стили блоков в стиле navesy: прозрачные фоны, паттерн «Искры» убран === */
.raskroy-scope .rk-feature-card,
.raskroy-scope .rk-service-card,
.raskroy-scope .rk-review-card,
.raskroy-scope .rk-faq__item,
.raskroy-scope .rk-cta__card,
.raskroy-scope .rk-gallery-item,
.raskroy-scope .rk-photo-item {
background-color: transparent;
background-image: none;
}
/* Фон limited-блоков страницы raskroy-metalla убран */
.page-block__inner.page__content--limited:has(.raskroy-scope) {
background-image: none;
background: none;
}
/* === raskroy-bg-remove-v1: убираем фоны всех блоков страницы /raskroy-metalla/ === */
/* Hero: градиентный фон и декоративная сетка */
.raskroy-scope .rk-hero {
background: none;
}
.raskroy-scope .rk-hero::before {
display: none;
}
/* Стат-блоки внутри hero */
.raskroy-scope .rk-hero__stat {
background: transparent;
}
/* CTA-секция: градиентный фон */
.raskroy-scope .rk-cta {
background: none;
}
/* Video-feature секция: градиентный фон */
.raskroy-scope .rk-video-feature {
background: none;
}
/* Все карточки: прозрачный фон без паттернов */
.raskroy-scope .rk-feature-card,
.raskroy-scope .rk-service-card,
.raskroy-scope .rk-review-card,
.raskroy-scope .rk-faq__item,
.raskroy-scope .rk-cta__card,
.raskroy-scope .rk-gallery-item,
.raskroy-scope .rk-photo-item {
background: transparent;
background-image: none;
}
/* === raskroy-scope-bg-remove-v1: убираем фоны scope и секций по запросу пользователя === */
.raskroy-scope {
background-color: transparent;
background-image: none;
}
.raskroy-scope .rk-section {
background: none;
background-color: transparent;
background-image: none;
}
.raskroy-scope .rk-section--alt {
background: none;
background-color: transparent;
background-image: none;
}

/* === modules/theme-proba2-reviews.css === */
/*! source: секция «Что говорят о нас» на главной */
/* Reviews: карточки отзывов в цветах #1a1d22 / #f65908 */
.reviews-section{position:relative;max-width:1400px;margin:0 auto;padding:0 16px}
.reviews-section__header{text-align:center;margin-bottom:36px}
.reviews-section__header h2{position:relative;display:inline-block;margin:0 0 12px;font-size:clamp(1.5rem,3.5vw,2.2rem);font-weight:800;color:#fff;padding-bottom:14px}
.reviews-section__header h2::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:72px;height:3px;border-radius:2px;background:linear-gradient(90deg,#f65908,#ffb347);box-shadow:0 0 12px rgba(246,89,8,.5)}
.page-block--limited .page__content .reviews-section__header h2::after,.page__content--limited .reviews-section__header h2::after{left:50%;transform:translateX(-50%)}
.reviews-section__header p{margin:0;font-size:15px;line-height:1.6;color:rgba(255,255,255,.6);max-width:560px;margin-left:auto;margin-right:auto}
.reviews-section__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
/* Карточка отзыва */
.review-card{position:relative;display:flex;flex-direction:column;padding:28px 24px 24px;border-radius:18px;background:linear-gradient(165deg,rgba(255,255,255,.04),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.08);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.review-card:hover{transform:translateY(-5px);border-color:rgba(246,89,8,.4);box-shadow:0 14px 36px rgba(0,0,0,.4),0 0 20px rgba(246,89,8,.1)}
/* Кавычка-акцент */
.review-card::before{content:"\21C";position:absolute;top:14px;right:20px;font-size:52px;font-weight:800;line-height:1;color:rgba(246,89,8,.18);pointer-events:none;transition:color .3s ease}
.review-card:hover::before{color:rgba(246,89,8,.35)}
/* Звёзды */
.review-card__stars{display:flex;gap:3px;margin-bottom:14px;color:#f65908}
.review-card__stars svg{width:15px;height:15px;fill:currentColor;filter:drop-shadow(0 0 3px rgba(246,89,8,.4))}
/* Текст отзыва */
.review-card__text{margin:0 0 20px;font-size:14px;line-height:1.65;color:rgba(255,255,255,.72);flex:1}
/* Автор */
.review-card__author{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid rgba(255,255,255,.07)}
.review-card__avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:50%;background:linear-gradient(135deg,#f65908,#ff7a2f);color:#1a1d22;font-size:15px;font-weight:800;box-shadow:0 4px 12px rgba(246,89,8,.3)}
.review-card__name{font-size:14px;font-weight:700;color:#fff}
.review-card__location{font-size:12px;color:rgba(255,255,255,.5);margin-top:2px}
/* Адаптив */
@media(max-width:900px){.reviews-section__grid{grid-template-columns:repeat(2,1fr);gap:16px}}
@media(max-width:560px){.reviews-section__grid{grid-template-columns:1fr;gap:14px}.review-card{padding:22px 18px 20px}}
@media(prefers-reduced-motion:reduce){.review-card{transition:none}.review-card:hover{transform:none}}
/* === СВЕТЛАЯ ТЕМА: читаемые отзывы на светлом фоне === */
html[data-theme="light"] .reviews-section__header h2{color:#1a1d22}
html[data-theme="light"] .reviews-section__header p{color:rgba(26,29,34,.6)}
html[data-theme="light"] .review-card{background:#fff;border-color:rgba(26,29,34,.12);box-shadow:0 4px 16px rgba(26,29,34,.06)}
html[data-theme="light"] .review-card:hover{border-color:rgba(246,89,8,.4);box-shadow:0 14px 36px rgba(26,29,34,.12),0 0 18px rgba(246,89,8,.08)}
html[data-theme="light"] .review-card__text{color:rgba(26,29,34,.75)}
html[data-theme="light"] .review-card__name{color:#1a1d22}
html[data-theme="light"] .review-card__location{color:rgba(26,29,34,.5)}
html[data-theme="light"] .review-card__author{border-top-color:rgba(26,29,34,.1)}
/* Звёзды и аватар остаются оранжевыми/тёмными — читаемы в обеих темах */

/* === modules/theme-proba2-service-pages.css === */
/*
 * Стили страниц услуг: Лазерная резка, Гибка металла, Токарная обработка, Фрезерная обработка.
 * Все селекторы ограничены областью .svc-scope, чтобы не влиять на остальные страницы.
 * Цвета приведены к теме proba-2: primary #ea5132, accent #ec4899.
 */
.svc-scope {
  --svc-primary: #ea5132;
  --svc-primary-hover: #c94227;
  --svc-primary-light: rgba(234, 81, 50, 0.08);
  --svc-accent: #ec4899;
  --svc-text-primary: #1a1a1a;
  --svc-text-secondary: #9ca3af;
  --svc-bg-body: #ffffff;
  --svc-bg-card: #ffffff;
  --svc-border: #e5e7eb;
  --svc-shadow-md: 0 4px 12px rgba(0,0,0,0.1);
  --svc-shadow-lg: 0 12px 32px rgba(0,0,0,0.12);
  --svc-radius: 16px;
  --svc-radius-sm: 12px;
}
.svc-hero {
  padding: clamp(60px, 8vw, 100px) 0 clamp(40px, 6vw, 70px);
  background: linear-gradient(135deg, #0f0f14 0%, #1a1a23 100%);
  position: relative;
  overflow: hidden;
}
.svc-hero::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 60%;
  height: 200%;
  background: radial-gradient(ellipse, rgba(234,81,50,0.15) 0%, transparent 70%);
  pointer-events: none;
}
.svc-hero__container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
  z-index: 1;
}
.svc-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 100px;
  color: #f9a89a;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 20px;
  backdrop-filter: blur(8px);
}
.svc-hero__title {
  font-size: clamp(32px, 5vw, 52px);
  font-weight: 800;
  color: #ffffff;
  line-height: 1.15;
  margin: 0 0 16px;
  letter-spacing: -0.02em;
}
.svc-hero__desc {
  font-size: clamp(16px, 2vw, 19px);
  color: #9ca3af;
  line-height: 1.7;
  max-width: 700px;
  margin: 0 0 32px;
}
.svc-hero__stats {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
}
.svc-hero__stat {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 16px 24px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--svc-radius-sm);
  backdrop-filter: blur(4px);
}
.svc-hero__stat-num {
  font-size: 28px;
  font-weight: 800;
  color: #f97356;
  line-height: 1.2;
}
.svc-hero__stat-label {
  font-size: 13px;
  color: #9ca3af;
  font-weight: 500;
  margin-top: 4px;
}
.svc-features {
  padding: clamp(50px, 7vw, 90px) 0;
  background: var(--svc-bg-body);
}
.svc-features__container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
}
.svc-section-title {
  font-size: clamp(24px, 3.5vw, 36px);
  font-weight: 800;
  color: var(--svc-text-primary);
  text-align: center;
  margin: 0 0 48px;
  letter-spacing: -0.02em;
}
.svc-features__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}
.svc-feature-card {
  background: var(--svc-bg-card);
  border: 1px solid var(--svc-border);
  border-radius: var(--svc-radius);
  padding: 32px 28px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}
.svc-feature-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #ea5132, #ec4899);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.svc-feature-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--svc-shadow-lg);
  border-color: rgba(234, 81, 50, 0.2);
}
.svc-feature-card:hover::before {
  transform: scaleX(1);
}
.svc-feature-card__icon {
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--svc-primary-light);
  border-radius: 14px;
  margin-bottom: 20px;
  color: #ea5132;
}
.svc-feature-card__icon svg {
  width: 26px;
  height: 26px;
}
.svc-feature-card__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--svc-text-primary);
  margin: 0 0 10px;
}
.svc-feature-card__text {
  font-size: 15px;
  color: var(--svc-text-secondary);
  line-height: 1.6;
  margin: 0;
}
@media (max-width: 768px) {
  .svc-hero__stats {
    flex-direction: column;
    gap: 16px;
  }
  .svc-hero__stat {
    padding: 14px 20px;
  }
  .svc-features__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .svc-feature-card {
    padding: 24px 20px;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .svc-features__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* === modules/theme-proba2-statya-cards.css === */
/* Тема proba-2: карточки статей (statya-card) на странице /statyi/ */
.statyi-section {
margin: 48px 0 0;
}
.statyi-section__header {
max-width: 720px;
margin-bottom: 32px;
}
.statyi-section__header h2 {
font-family: var(--font-display, 'Unbounded', 'Segoe UI', system-ui, sans-serif);
font-size: clamp(24px, 3vw, 34px);
font-weight: var(--font-weight-bold, 800);
line-height: 1.2;
margin: 0 0 12px;
color: var(--color-text, #1a1a1a);
}
.statyi-section__header p {
margin: 0;
color: var(--color-text-muted, #6b7280);
font-size: var(--font-size-lg, 18px);
line-height: var(--font-line-height, 1.6);
}
.statyi-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 24px;
}
.statya-card {
display: flex;
flex-direction: column;
border-radius: var(--radius-l, 18px);
border: 1px solid var(--color-border, rgba(28, 31, 38, 0.1));
background: var(--color-bg, #ffffff);
box-shadow: var(--shadow-card, 0 2px 12px rgba(28, 31, 38, 0.08));
overflow: hidden;
transition: transform var(--transition-base, 0.25s ease),
box-shadow var(--transition-base, 0.25s ease);
}
.statya-card:hover {
transform: translateY(-4px);
box-shadow: var(--shadow-card-hover, 0 8px 28px rgba(28, 31, 38, 0.14));
}
.statya-card__image-link {
position: relative;
display: block;
overflow: hidden;
}
.statya-card__image {
display: block;
width: 100%;
aspect-ratio: 16 / 10;
object-fit: cover;
transition: transform var(--transition-slow, 0.4s ease);
}
.statya-card:hover .statya-card__image {
transform: scale(1.04);
}
.statya-card__badge {
position: absolute;
top: 12px;
left: 12px;
padding: 4px 12px;
border-radius: var(--radius-pill, 999px);
background: var(--color-primary, #2f6fed);
color: var(--color-text-inverse, #ffffff);
font-size: var(--font-size-xs, 12px);
font-weight: var(--font-weight-medium, 600);
line-height: 1.4;
}
.statya-card__content {
display: flex;
flex-direction: column;
flex: 1;
padding: 16px 20px 20px;
}
.statya-card__meta {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 8px;
font-size: var(--font-size-xs, 12px);
color: var(--color-text-muted, #6b7280);
}
.statya-card__category {
font-weight: var(--font-weight-medium, 600);
color: var(--color-primary, #2f6fed);
}
.statya-card__title {
margin: 0 0 10px;
font-size: var(--font-size-lg, 18px);
font-weight: var(--font-weight-bold, 800);
line-height: 1.35;
color: var(--color-text, #1a1a1a);
}
.statya-card__title a {
color: inherit;
text-decoration: none;
transition: color var(--transition-fast, 0.15s ease);
}
.statya-card__title a:hover {
color: var(--color-primary, #2f6fed);
}
.statya-card__excerpt {
margin: 0 0 14px;
flex: 1;
font-size: var(--font-size-sm, 14px);
line-height: var(--font-line-height, 1.6);
color: var(--color-text-muted, #6b7280);
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
.statya-card__more {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: var(--font-size-sm, 14px);
font-weight: var(--font-weight-medium, 600);
color: var(--color-primary, #2f6fed);
text-decoration: none;
transition: gap var(--transition-fast, 0.15s ease),
color var(--transition-fast, 0.15s ease);
}
.statya-card__more:hover {
color: var(--color-primary-hover, #1f5bd6);
gap: 10px;
}
.statya-card__more svg {
width: 16px;
height: 16px;
stroke: currentColor;
}
/* Планшеты */
@media (max-width: 1024px) {
.statyi-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 18px;
}
}
/* Мобильные */
@media (max-width: 640px) {
.statyi-section {
margin-top: 32px;
}
.statyi-section__header {
margin-bottom: 20px;
}
.statyi-grid {
grid-template-columns: 1fr;
gap: 16px;
}
.statya-card:hover {
transform: none;
}
.statya-card:hover .statya-card__image {
transform: none;
}
}
/* Тёмная схема */
@media (prefers-color-scheme: dark) {
.statyi-section__header h2 {
color: #f3f4f6;
}
.statyi-section__header p {
color: #9ca3af;
}
.statya-card {
background: #1a1d24;
border-color: rgba(255, 255, 255, 0.12);
}
.statya-card__title {
color: #f3f4f6;
}
.statya-card__excerpt {
color: #9ca3af;
}
.statya-card__meta {
color: #9ca3af;
}
}
/* Поддержка prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
.statya-card,
.statya-card__image,
.statya-card__more {
transition: none;
}
.statya-card:hover {
transform: none;
}
.statya-card:hover .statya-card__image {
transform: none;
}
}

/* === modules/theme-proba2-svarka-metalla.css === */
/*
 * Стили страницы «Сварка металла» (svarka-metalla) и «Мангалы» (mangaly).
 * Палитра приведена к эталону «Раскрой металла»: тёмный графит + оранжевый неон.
 * Все селекторы ограничены областью .svarka-scope.
 */
.svarka-scope {
  font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
  color: var(--sw-text);
  line-height: 1.6;
  --sw-primary: #f58220;
  --sw-primary-hover: #ff9340;
  --sw-primary-light: rgba(245, 130, 32, 0.10);
  --sw-primary-glow: rgba(245, 130, 32, 0.40);
  --sw-primary-glow-lg: rgba(245, 130, 32, 0.12);
  --sw-accent: #ff9340;
  --sw-info: #5b8cff;
  --sw-success: #2f9e44;
  --sw-bg-body: #110f0f;
  --sw-bg-surface: #16181d;
  --sw-bg-elevated: rgba(26, 29, 36, 0.72);
  --sw-bg-card-solid: #1a1d24;
  --sw-bg-dark: #0e0c0c;
  --sw-text: #f3f4f6;
  --sw-text-secondary: #9ca3af;
  --sw-text-muted: #9ca3af;
  --sw-text-dim: #7c8290;
  --sw-text-inverse: #ffffff;
  --sw-border: rgba(255, 255, 255, 0.08);
  --sw-border-strong: rgba(255, 255, 255, 0.16);
  --sw-radius-lg: 16px;
  --sw-radius-xl: 20px;
  --sw-radius-2xl: 24px;
  --sw-shadow-sm: 0 4px 14px rgba(0, 0, 0, 0.30);
  --sw-shadow-md: 0 8px 24px rgba(0, 0, 0, 0.40);
  --sw-shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.50), 0 0 30px rgba(245, 130, 32, 0.15);
  --sw-shadow-xl: 0 12px 40px rgba(0, 0, 0, 0.50), 0 0 30px rgba(245, 130, 32, 0.25);
  --sw-section-py: clamp(2.5rem, 8vw, 4rem);
  --sw-transition: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  background-color: var(--sw-bg-body);
}
.svarka-scope img,
.svarka-scope video { max-width: 100%; }
.svarka-scope a { color: var(--sw-primary-hover); }
.svarka-scope .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  box-sizing: border-box;
}
.svarka-scope .text-gradient {
  background: linear-gradient(135deg, var(--sw-primary) 0%, var(--sw-primary-hover) 55%, #ffc37a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
/* === Заголовки страниц / описания === */
.svarka-scope .page-header { text-align: center; margin-bottom: 3rem; }
.svarka-scope .page-title {
  font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
  font-size: clamp(30px, 5vw, 48px);
  font-weight: 800;
  color: var(--sw-text);
  line-height: 1.15;
  margin-bottom: 1rem;
  text-transform: uppercase;
}
.svarka-scope .page-description {
  font-size: 1.125rem;
  color: var(--sw-text-secondary);
  line-height: 1.75;
  max-width: 700px;
  margin: 0 auto;
}
/* === Кнопки (общие btn внутри scope) === */
.svarka-scope .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 28px;
  border-radius: 12px;
  border: 1px solid transparent;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition: all var(--sw-transition);
}
.svarka-scope .btn--primary,
.svarka-scope .btn:not(.btn--outline):not(.btn--ghost) {
  color: #ffffff;
  background: linear-gradient(135deg, var(--sw-primary) 0%, var(--sw-primary-hover) 100%);
  box-shadow: 0 10px 25px rgba(245, 130, 32, 0.35);
}
.svarka-scope .btn--primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 35px rgba(245, 130, 32, 0.50);
}
.svarka-scope .btn--outline {
  background: transparent;
  color: var(--sw-text);
  border-color: var(--sw-border-strong);
}
.svarka-scope .btn--outline:hover {
  border-color: var(--sw-primary);
  color: var(--sw-primary-hover);
  background: var(--sw-primary-light);
  transform: translateY(-3px);
}
.svarka-scope .btn--lg { padding: 16px 32px; font-size: 18px; }
/* === INTRO SECTION === */
.svarka-scope .weld-intro {
  padding-block: var(--sw-section-py);
  background:
    radial-gradient(1100px 520px at 85% -10%, var(--sw-primary-glow-lg), transparent 60%),
    linear-gradient(160deg, #17191f 0%, var(--sw-bg-body) 65%);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  width: 100%;
}
.svarka-scope .weld-intro__decor { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.svarka-scope .weld-intro__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(120px);
  opacity: 0.30;
  animation: swFloatOrb 20s infinite alternate ease-in-out;
}
.svarka-scope .weld-intro__orb--1 { width: 500px; height: 500px; background: var(--sw-primary-glow-lg); top: -10%; left: -10%; }
.svarka-scope .weld-intro__orb--2 { width: 600px; height: 600px; background: var(--sw-primary-glow-lg); bottom: -20%; right: -15%; animation-delay: -10s; }
.svarka-scope .weld-intro__grid-bg {
  position: absolute; inset: 0;
  background-image: linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(circle at center, black 25%, transparent 85%);
  -webkit-mask-image: radial-gradient(circle at center, black 25%, transparent 85%);
}
.svarka-scope .weld-intro .container { position: relative; z-index: 1; }
.svarka-scope .weld-intro__grid {
display: grid;
grid-template-columns: 1fr;
gap: 3rem;
align-items: center;
}
.svarka-scope .weld-intro__visual { animation: swIntroVisualIn .8s cubic-bezier(.25,.46,.45,.94) both; }
.svarka-scope .weld-intro__content { animation: swIntroContentIn .8s .12s cubic-bezier(.25,.46,.45,.94) both; }
.svarka-scope .weld-intro__media-card { animation: swIntroCardGlow 4.5s ease-in-out infinite alternate; }
.svarka-scope .weld-intro__experience-badge { animation: swIntroBadgeFloat 5s ease-in-out infinite; }
@keyframes swIntroVisualIn { from { opacity: 0; transform: translateY(28px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes swIntroContentIn { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: translateY(0); } }
@keyframes swIntroCardGlow {
from { box-shadow: 0 12px 40px rgba(0,0,0,.5), 0 0 24px rgba(245,130,32,.10); }
to { box-shadow: 0 12px 40px rgba(0,0,0,.5), 0 0 46px rgba(245,130,32,.28); }
}
@keyframes swIntroBadgeFloat {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-8px); }
}
@media (prefers-reduced-motion: reduce) {
.svarka-scope .weld-intro__visual,
.svarka-scope .weld-intro__content,
.svarka-scope .weld-intro__media-card,
.svarka-scope .weld-intro__experience-badge { animation: none; }
}
.svarka-scope .weld-intro__visual { position: relative; display: flex; flex-direction: column; gap: 1.5rem; }
.svarka-scope .weld-intro__media-card { position: relative; border-radius: var(--sw-radius-2xl); }
.svarka-scope .weld-intro__image-wrapper {
  position: relative;
  border-radius: var(--sw-radius-2xl);
  overflow: hidden;
  box-shadow: var(--sw-shadow-xl);
  aspect-ratio: 4 / 3;
  max-height: 500px;
  width: 100%;
  border: 1px solid var(--sw-border-strong);
  background: var(--sw-bg-card-solid);
}
.svarka-scope .weld-intro__image {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.svarka-scope .weld-intro__image-wrapper:hover .weld-intro__image { transform: scale(1.05); }
.svarka-scope .weld-intro__play-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 50%);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity 0.4s ease; pointer-events: none;
}
.svarka-scope .weld-intro__image-wrapper:hover .weld-intro__play-overlay { opacity: 1; }
.svarka-scope .weld-intro__play-overlay svg {
  width: 80px; height: 80px; color: #fff;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.5));
}
.svarka-scope .weld-intro__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: 1rem;
}
.svarka-scope .weld-intro__experience-badge {
  background: var(--sw-bg-elevated);
  border: 1px solid var(--sw-border);
  border-radius: var(--sw-radius-xl);
  padding: 1.25rem 1.5rem;
  box-shadow: var(--sw-shadow-md);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.svarka-scope .weld-intro__exp-number {
  font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
  font-size: 2.25rem;
  font-weight: 700;
  background: linear-gradient(135deg, var(--sw-primary), var(--sw-primary-hover));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
}
.svarka-scope .weld-intro__exp-text,
.svarka-scope .weld-intro__exp-label {
  font-size: 0.8125rem;
  color: var(--sw-text-secondary);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 4px;
  text-align: center;
}
.svarka-scope .weld-intro__stat {
  background: var(--sw-bg-elevated);
  padding: 1.25rem;
  border-radius: var(--sw-radius-lg);
  border: 1px solid var(--sw-border);
  box-shadow: var(--sw-shadow-sm);
  text-align: center;
  backdrop-filter: blur(8px);
  transition: all var(--sw-transition);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.svarka-scope .weld-intro__stat:hover {
  transform: translateY(-4px);
  border-color: rgba(245, 130, 32, 0.35);
  box-shadow: 0 0 24px rgba(245, 130, 32, 0.15);
}
.svarka-scope .weld-intro__stat-number {
  display: block;
  font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
  font-size: 1.875rem;
  font-weight: 700;
  color: var(--sw-primary-hover);
  line-height: 1;
  margin-bottom: 0.25rem;
}
.svarka-scope .weld-intro__stat-label {
  font-size: 0.75rem;
  color: var(--sw-text-muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.svarka-scope .weld-intro__content { display: flex; flex-direction: column; gap: 1.5rem; }
.svarka-scope .weld-intro__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 16px;
  background: var(--sw-primary-light);
  border: 1px solid rgba(245, 130, 32, 0.30);
  color: var(--sw-primary-hover);
  border-radius: 9999px;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  width: fit-content;
}
.svarka-scope .weld-intro__title {
  font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
  font-size: clamp(1.875rem, 4vw, 3rem);
  font-weight: 800;
  color: var(--sw-text);
  line-height: 1.15;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: -0.01em;
}
.svarka-scope .weld-intro__text {
  font-size: 1.125rem;
  color: var(--sw-text-secondary);
  line-height: 1.75;
  margin: 0;
}
.svarka-scope .weld-intro__features {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 1rem;
}
.svarka-scope .weld-intro__feature {
  display: flex; align-items: flex-start; gap: 1rem;
  padding: 1rem;
  background: var(--sw-bg-elevated);
  border: 1px solid var(--sw-border);
  border-radius: var(--sw-radius-lg);
  backdrop-filter: blur(8px);
  transition: all var(--sw-transition);
}
.svarka-scope .weld-intro__feature:hover {
  border-color: rgba(245, 130, 32, 0.30);
  box-shadow: var(--sw-shadow-md);
  transform: translateX(8px);
}
.svarka-scope .weld-intro__feature-icon {
  flex-shrink: 0;
  width: 48px; height: 48px; min-width: 48px;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--sw-primary), var(--sw-primary-hover));
  color: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(245, 130, 32, 0.30);
  transition: transform 0.3s ease;
}
.svarka-scope .weld-intro__feature:hover .weld-intro__feature-icon { transform: scale(1.1) rotate(-5deg); }
.svarka-scope .weld-intro__feature-icon svg { width: 24px; height: 24px; }
.svarka-scope .weld-intro__feature-content { display: flex; flex-direction: column; gap: 4px; }
.svarka-scope .weld-intro__feature-content strong { font-size: 1rem; font-weight: 700; color: var(--sw-text); }
.svarka-scope .weld-intro__feature-content span { font-size: 0.875rem; color: var(--sw-text-secondary); line-height: 1.5; }
.svarka-scope .weld-intro__actions {
  display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1rem;
}
/* === SERVICES === */
.svarka-scope .weld-services {
padding-block: var(--sw-section-py);
background: transparent;
position: relative;
overflow: hidden;
}
.svarka-scope .weld-services .container { position: relative; z-index: 1; }
.svarka-scope .weld-services__subtitle {
  font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
  font-size: clamp(26px, 3.6vw, 40px);
  font-weight: 700;
  color: var(--sw-text);
  text-transform: uppercase;
  margin-bottom: 2.5rem;
}
.svarka-scope .weld-services__grid {
display: grid;
grid-template-columns: 1fr;
gap: 1.5rem;
grid-auto-rows: 1fr;
}
.svarka-scope .weld-services__grid .weld-service-card { animation: swServiceCardIn .55s cubic-bezier(.25,.46,.45,.94) both; }
.svarka-scope .weld-services__grid .weld-service-card:nth-child(2) { animation-delay: .07s; }
.svarka-scope .weld-services__grid .weld-service-card:nth-child(3) { animation-delay: .14s; }
.svarka-scope .weld-services__grid .weld-service-card:nth-child(4) { animation-delay: .21s; }
.svarka-scope .weld-services__grid .weld-service-card:nth-child(5) { animation-delay: .28s; }
.svarka-scope .weld-services__grid .weld-service-card:nth-child(n+6) { animation-delay: .35s; }
@keyframes swServiceCardIn { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
.svarka-scope .weld-services__grid .weld-service-card { animation: none; }
}
.svarka-scope .weld-service-card {
  position: relative;
  background: var(--sw-bg-elevated);
  border: 1px solid var(--sw-border);
  border-radius: var(--sw-radius-xl);
  padding: 2rem 1.5rem;
  transition: all var(--sw-transition);
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  backdrop-filter: blur(8px);
}
.svarka-scope .weld-service-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 3px;
  background: linear-gradient(90deg, var(--sw-primary), var(--sw-primary-hover));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--sw-transition);
}
.svarka-scope .weld-service-card:hover {
  transform: translateY(-8px);
  border-color: rgba(245, 130, 32, 0.30);
  box-shadow: var(--sw-shadow-xl);
}
.svarka-scope .weld-service-card:hover::before { transform: scaleX(1); }
.svarka-scope .weld-service-card__icon {
  width: 54px; height: 54px;
  background: var(--sw-primary-light);
  border: 1px solid rgba(245, 130, 32, 0.25);
  color: var(--sw-primary-hover);
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 1.25rem;
  transition: all var(--sw-transition);
  flex-shrink: 0;
}
.svarka-scope .weld-service-card__icon svg { width: 26px; height: 26px; transition: transform var(--sw-transition); }
.svarka-scope .weld-service-card:hover .weld-service-card__icon {
  background: linear-gradient(135deg, var(--sw-primary), var(--sw-primary-hover));
  color: #ffffff;
  box-shadow: 0 8px 20px rgba(245, 130, 32, 0.30);
  transform: scale(1.05) rotate(-5deg);
}
.svarka-scope .weld-service-card:hover .weld-service-card__icon svg { transform: scale(1.1); }
.svarka-scope .weld-service-card__title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--sw-text);
  margin-bottom: 0.75rem;
  line-height: 1.2;
}
.svarka-scope .weld-service-card__text {
  font-size: 1rem;
  color: var(--sw-text-secondary);
  line-height: 1.75;
  margin: 0 0 1.5rem;
  flex-grow: 1;
}
.svarka-scope .weld-service-card__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  align-self: flex-start;
  width: 100%;
  padding: 12px 20px;
  font-size: 15px;
  font-weight: 600;
  color: #ffffff;
  background: linear-gradient(135deg, var(--sw-primary), var(--sw-primary-hover));
  border: none;
  border-radius: 12px;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(245, 130, 32, 0.25);
  transition: all var(--sw-transition);
}
.svarka-scope .weld-service-card__btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(245, 130, 32, 0.40);
}
/* === ADVANTAGES === */
/* Фон с .container убран по запросу пользователя */
.svarka-scope .weld-advantages {
position: relative;
padding-block: var(--sw-section-py);
background: none;
overflow: hidden;
isolation: isolate;
}
.svarka-scope .weld-advantages .container {
background-image: none;
border-radius: var(--sw-radius-lg);
}
.svarka-scope .weld-advantages::before,
.svarka-scope .weld-advantages::after {
display: none;
}
.svarka-scope .weld-advantages::before { width: 500px; height: 500px; background: var(--sw-primary-glow-lg); top: -150px; left: -100px; }
.svarka-scope .weld-advantages::after { width: 600px; height: 600px; background: var(--sw-primary-glow-lg); bottom: -200px; right: -150px; }
.svarka-scope .weld-advantages .container { position: relative; z-index: 1; }
.svarka-scope .weld-advantages__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
.svarka-scope .weld-advantage-card {
  position: relative;
  background: var(--sw-bg-elevated);
  border: 1px solid var(--sw-border);
  border-radius: var(--sw-radius-xl);
  padding: 2rem 1.5rem;
  transition: all var(--sw-transition);
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  backdrop-filter: blur(8px);
}
.svarka-scope .weld-advantage-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 3px;
  background: linear-gradient(90deg, var(--sw-primary), var(--sw-primary-hover));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--sw-transition);
}
.svarka-scope .weld-advantage-card:hover {
  transform: translateY(-8px);
  border-color: rgba(245, 130, 32, 0.30);
  box-shadow: var(--sw-shadow-xl);
}
.svarka-scope .weld-advantage-card:hover::before { transform: scaleX(1); }
.svarka-scope .weld-advantage-card__icon {
  width: 54px; height: 54px;
  background: var(--sw-primary-light);
  border: 1px solid rgba(245, 130, 32, 0.25);
  color: var(--sw-primary-hover);
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 1.25rem;
  transition: all var(--sw-transition);
  flex-shrink: 0;
}
.svarka-scope .weld-advantage-card__icon svg { width: 26px; height: 26px; transition: transform var(--sw-transition); }
.svarka-scope .weld-advantage-card:hover .weld-advantage-card__icon {
  background: linear-gradient(135deg, var(--sw-primary), var(--sw-primary-hover));
  color: #ffffff;
  box-shadow: 0 8px 20px rgba(245, 130, 32, 0.30);
  transform: scale(1.05) rotate(-5deg);
}
.svarka-scope .weld-advantage-card:hover .weld-advantage-card__icon svg { transform: scale(1.1); }
.svarka-scope .weld-advantage-card__title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--sw-text);
  margin-bottom: 0.75rem;
}
.svarka-scope .weld-advantage-card__text {
  font-size: 1rem;
  color: var(--sw-text-secondary);
  line-height: 1.75;
  margin: 0;
  flex-grow: 1;
}
/* === GALLERY / PORTFOLIO === */
.svarka-scope .weld-gallery {
  padding-block: var(--sw-section-py);
  background: var(--sw-bg-body);
  position: relative;
  overflow: hidden;
}
.svarka-scope .weld-gallery::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    radial-gradient(circle at 20% 30%, var(--sw-primary-glow-lg) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(91, 140, 255, 0.06) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}
.svarka-scope .weld-gallery .container { position: relative; z-index: 1; }
.svarka-scope .portfolio-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.svarka-scope .portfolio-item {
position: relative;
display: block;
overflow: hidden;
border-radius: 0;
aspect-ratio: 1 / 1;
background: var(--sw-bg-card-solid);
border: 1px solid var(--sw-border);
}
.svarka-scope .portfolio-item__img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.svarka-scope .portfolio-item:hover .portfolio-item__img { transform: scale(1.05); }
.svarka-scope .portfolio-item__overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0,0.55);
  display: flex; align-items: center; justify-content: center;
  opacity: 0;
  transition: opacity var(--sw-transition);
}
.svarka-scope .portfolio-item:hover .portfolio-item__overlay { opacity: 1; }
.svarka-scope .portfolio-item__icon { display: none; }
.svarka-scope .portfolio-item:hover .portfolio-item__icon { display: none; }
/* === FAQ === */
.svarka-scope .weld-faq {
padding-block: var(--sw-section-py);
background: transparent;
position: relative;
overflow: hidden;
}
.svarka-scope .weld-faq .container { position: relative; z-index: 1; }
.svarka-scope .weld-faq .weld-services__subtitle { text-align: center; margin-bottom: 3rem; }
.svarka-scope .faq-section__title {
  font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
  font-size: clamp(26px, 3.6vw, 40px);
  font-weight: 700;
  text-align: center;
  margin-bottom: 3rem;
  color: var(--sw-text);
  text-transform: uppercase;
}
.svarka-scope .faq-list {
  max-width: 860px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.svarka-scope .faq-item {
  background: var(--sw-bg-elevated);
  border: 1px solid var(--sw-border);
  border-radius: var(--sw-radius-lg);
  overflow: hidden;
  backdrop-filter: blur(8px);
  transition: all var(--sw-transition);
}
.svarka-scope .faq-item:hover {
  border-color: rgba(245, 130, 32, 0.30);
  box-shadow: var(--sw-shadow-md);
}
.svarka-scope .faq-item__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: 20px 24px;
  background: transparent;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--sw-text);
  text-align: left;
  transition: color 0.15s ease;
}
.svarka-scope .faq-item__question:hover { color: var(--sw-primary-hover); }
.svarka-scope .faq-item__arrow {
  width: 20px; height: 20px;
  flex-shrink: 0;
  color: var(--sw-primary-hover);
  transition: transform var(--sw-transition);
}
.svarka-scope .faq-item.active .faq-item__arrow { transform: rotate(180deg); }
.svarka-scope .faq-item.active {
  border-color: rgba(245, 130, 32, 0.35);
  box-shadow: var(--sw-shadow-md);
}
.svarka-scope .faq-item__content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.4s ease;
  padding: 0 24px;
}
.svarka-scope .faq-item.active .faq-item__content {
  max-height: 600px;
  padding: 0 24px 24px;
}
.svarka-scope .faq-item__content p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--sw-text-secondary);
  margin: 0;
}
/* === PARTNERS REQUEST / CTA FORM === */
/* mangaly-cta-v2: палитра #1a1d22 / #18191b / #f85d0b */
.svarka-scope .partners-request {
position: relative;
padding-block: var(--sw-section-py);
background:
radial-gradient(800px 400px at 20% 0%, rgba(248, 93, 11, 0.12), transparent 60%),
radial-gradient(600px 300px at 80% 100%, rgba(248, 93, 11, 0.06), transparent 50%),
linear-gradient(170deg, #1a1d22 0%, #18191b 100%);
color: #f8fafc;
overflow: hidden;
isolation: isolate;
border-top: 1px solid rgba(248, 93, 11, 0.15);
}
.svarka-scope .partners-request__bg-decor { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.svarka-scope .partners-request__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(120px);
  opacity: 0.18;
}
.svarka-scope .partners-request__orb--1 { width: 600px; height: 600px; background: #f85d0b; top: -200px; right: -100px; animation: swFloatOrb 18s infinite alternate ease-in-out; }
.svarka-scope .partners-request__orb--2 { width: 500px; height: 500px; background: #f85d0b; bottom: -150px; left: -100px; animation: swFloatOrb 20s infinite alternate-reverse ease-in-out; }
.svarka-scope .partners-request__grid-bg {
  position: absolute; inset: 0;
  background-image: linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(circle at center, black 20%, transparent 80%);
  -webkit-mask-image: radial-gradient(circle at center, black 20%, transparent 80%);
}
.svarka-scope .partners-request__container { position: relative; z-index: 1; }
.svarka-scope .partners-request__header { text-align: center; max-width: 800px; margin: 0 auto 3rem; }
.svarka-scope .partners-request__badge {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
background: rgba(248, 93, 11, 0.12);
border: 1px solid rgba(248, 93, 11, 0.35);
border-radius: 100px;
font-size: 14px;
font-weight: 600;
color: #f85d0b;
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 24px;
}
.svarka-scope .partners-request__badge-dot {
width: 8px; height: 8px;
background: #f85d0b;
border-radius: 50%;
box-shadow: 0 0 12px rgba(248, 93, 11, 0.6);
animation: swPulseDot 2s infinite;
}
.svarka-scope .partners-request__main-title {
  font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
  font-size: clamp(1.875rem, 4vw, 3rem);
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 1.25rem;
  color: #ffffff;
  text-transform: uppercase;
}
.svarka-scope .partners-request__main-desc {
  font-size: 1.125rem;
  line-height: 1.75;
  color: var(--sw-text-muted);
}
.svarka-scope .partners-request__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  align-items: stretch;
}
.svarka-scope .partners-request__info-card {
background: rgba(26, 29, 34, 0.85);
border: 1px solid rgba(248, 93, 11, 0.20);
border-radius: 24px;
padding: 40px;
backdrop-filter: blur(12px);
height: 100%;
display: flex;
flex-direction: column;
transition: all 0.4s ease;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}
.svarka-scope .partners-request__info-card:hover {
border-color: rgba(248, 93, 11, 0.45);
background: rgba(26, 29, 34, 0.95);
transform: translateY(-5px);
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4), 0 0 30px rgba(248, 93, 11, 0.1);
}
.svarka-scope .partners-request__info-icon {
width: 64px; height: 64px;
display: flex; align-items: center; justify-content: center;
background: linear-gradient(135deg, #f85d0b, #ff7a2f);
border-radius: 16px;
color: #ffffff;
box-shadow: 0 10px 25px rgba(248, 93, 11, 0.35);
margin-bottom: 24px;
}
.svarka-scope .partners-request__info-icon svg { width: 32px; height: 32px; }
.svarka-scope .partners-request__info-title { font-size: 24px; font-weight: 700; color: #ffffff; margin-bottom: 16px; }
.svarka-scope .partners-request__info-text { font-size: 16px; line-height: 1.7; color: #cbd5e1; margin-bottom: 32px; }
.svarka-scope .partners-request__features {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 18px;
}
.svarka-scope .partners-request__feature-item {
  display: flex; align-items: center; gap: 16px;
  font-size: 18px; font-weight: 500;
  color: #f8fafc;
  line-height: 1.4;
}
.svarka-scope .partners-request__feature-item svg { width: 26px; height: 26px; color: var(--sw-success); flex-shrink: 0; }
.svarka-scope .partners-request__form-card {
position: relative;
background: rgba(24, 25, 27, 0.9);
border: 1px solid rgba(248, 93, 11, 0.25);
border-radius: 24px;
padding: 40px;
backdrop-filter: blur(16px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4), 0 0 40px rgba(248, 93, 11, 0.06);
overflow: hidden;
z-index: 1;
}
.svarka-scope .partners-request__form-glow {
position: absolute;
top: -50px; right: -50px;
width: 220px; height: 220px;
background: #f85d0b;
border-radius: 50%;
filter: blur(90px);
opacity: 0.18;
pointer-events: none;
z-index: -1;
transition: opacity 0.4s ease;
}
.svarka-scope .partners-request__form-card:hover .partners-request__form-glow { opacity: 0.3; }
.svarka-scope .partners-request__form-title { font-size: 24px; font-weight: 700; color: #ffffff; margin-bottom: 12px; }
.svarka-scope .partners-request__form-subtitle { font-size: 15px; line-height: 1.6; color: #94a3b8; margin-bottom: 32px; }
.svarka-scope .partners-request__form { display: flex; flex-direction: column; gap: 24px; }
.svarka-scope .partners-request__form-group { display: flex; flex-direction: column; gap: 8px; }
.svarka-scope .partners-request__form-label {
  font-size: 14px; font-weight: 600; color: #e2e8f0; letter-spacing: 0.02em;
}
.svarka-scope .partners-request__input-wrap { position: relative; display: flex; align-items: center; }
.svarka-scope .partners-request__input-wrap input,
.svarka-scope .partners-request__input-wrap textarea {
  width: 100%;
  padding: 14px 16px 14px 48px;
  background: rgba(17, 15, 15, 0.6);
  border: 1px solid var(--sw-border);
  border-radius: 12px;
  color: #ffffff;
  font-size: 16px;
  font-family: inherit;
  transition: all 0.3s ease;
  outline: none;
  box-sizing: border-box;
}
.svarka-scope .partners-request__input-wrap textarea {
  resize: vertical;
  min-height: 100px;
  padding-top: 14px;
  padding-bottom: 14px;
}
.svarka-scope .partners-request__input-wrap input::placeholder,
.svarka-scope .partners-request__input-wrap textarea::placeholder { color: #64748b; }
.svarka-scope .partners-request__input-wrap input:focus,
.svarka-scope .partners-request__input-wrap textarea:focus {
border-color: #f85d0b;
background: rgba(24, 25, 27, 0.9);
box-shadow: 0 0 0 4px rgba(248, 93, 11, 0.15);
}
.svarka-scope .partners-request__input-icon {
  position: absolute;
  left: 16px;
  width: 20px; height: 20px;
  color: #64748b;
  pointer-events: none;
  transition: color 0.3s ease;
}
.svarka-scope .partners-request__input-wrap:focus-within .partners-request__input-icon { color: #f85d0b; }
.svarka-scope .partners-request__btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 12px;
padding: 16px 32px;
font-size: 16px;
font-weight: 600;
color: #ffffff;
background: linear-gradient(135deg, #f85d0b, #ff7a2f);
border: none;
border-radius: 12px;
cursor: pointer;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 10px 25px rgba(248, 93, 11, 0.35);
position: relative;
overflow: hidden;
margin-top: 8px;
width: 100%;
}
.svarka-scope .partners-request__btn::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: 0.5s;
}
.svarka-scope .partners-request__btn:hover::before { left: 100%; }
.svarka-scope .partners-request__btn:hover {
transform: translateY(-3px);
box-shadow: 0 15px 35px rgba(248, 93, 11, 0.5);
}
.svarka-scope .partners-request__btn svg { width: 20px; height: 20px; transition: transform 0.3s ease; }
.svarka-scope .partners-request__btn:hover svg { transform: translateX(5px); }
/* === Формы: согласие, капча, сообщения === */
.svarka-scope .form-consent { margin-top: 1rem; margin-bottom: 1rem; }
.svarka-scope .form-consent__label {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 0.875rem;
  color: var(--sw-text-secondary);
  cursor: pointer;
  line-height: 1.5;
}
.svarka-scope .form-consent__label input[type="checkbox"] {
  margin-top: 0.25em;
  flex-shrink: 0;
  width: 18px; height: 18px;
  accent-color: var(--sw-primary);
  cursor: pointer;
}
.svarka-scope .form-consent__label a { color: var(--sw-primary-hover); text-decoration: underline; }
.svarka-scope .form-consent__label a:hover { color: #ffc37a; }
.svarka-scope .form-captcha-container {
  margin-top: 1rem; margin-bottom: 1rem; min-height: 60px; position: relative;
}
.svarka-scope .captcha-spinner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1rem;
  background: var(--sw-bg-elevated);
  border: 1px solid var(--sw-info);
  border-radius: var(--sw-radius-lg);
}
.svarka-scope .captcha-spinner__text { font-size: 0.875rem; font-weight: 500; color: var(--sw-text-secondary); }
.svarka-scope .form-captcha {
  padding: 1rem;
  background: var(--sw-bg-elevated);
  border: 1px solid var(--sw-info);
  border-radius: var(--sw-radius-lg);
}
.svarka-scope .form-captcha__label {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--sw-text);
  cursor: pointer;
}
.svarka-scope .form-captcha__input {
  width: 80px;
  padding: 0.5rem 0.75rem;
  border: 2px solid var(--sw-border-strong);
  border-radius: 8px;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  color: var(--sw-text);
  background: var(--sw-bg-body);
  transition: all 0.15s ease;
}
.svarka-scope .form-captcha__input:focus {
  outline: none;
  border-color: var(--sw-info);
  box-shadow: 0 0 0 4px rgba(91, 140, 255, 0.15);
}
.svarka-scope .form-captcha--error .form-captcha__input {
  border-color: #e03131;
  box-shadow: 0 0 0 4px rgba(224, 49, 49, 0.15);
}
.svarka-scope .form-message {
  display: none;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  padding: 14px 20px;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
  background: var(--sw-bg-elevated);
  border: 1px solid var(--sw-border-strong);
  color: var(--sw-text);
}
/* === SERVICES С ФОТО (service-card) === */
.svarka-scope .services-section {
  padding-block: var(--sw-section-py);
  background: var(--sw-bg-body);
  position: relative;
  overflow: hidden;
}
.svarka-scope .services-section__container { position: relative; z-index: 1; }
.svarka-scope .services-section__header { text-align: center; margin-bottom: 3rem; }
.svarka-scope .services-section__badge {
  display: inline-block;
  background: var(--sw-primary-light);
  border: 1px solid rgba(245, 130, 32, 0.25);
  color: var(--sw-primary-hover);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 8px 16px;
  border-radius: 50px;
  margin-bottom: 16px;
}
.svarka-scope .services-section__title {
  font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
  font-size: clamp(26px, 3.6vw, 40px);
  font-weight: 700;
  color: var(--sw-text);
  margin-bottom: 1rem;
  text-transform: uppercase;
}
.svarka-scope .services-section__subtitle {
  font-size: 1.125rem;
  color: var(--sw-text-secondary);
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.75;
}
.svarka-scope .services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.svarka-scope .service-card {
  background: var(--sw-bg-card-solid);
  border-radius: var(--sw-radius-lg);
  overflow: hidden;
  box-shadow: var(--sw-shadow-sm);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  border: 1px solid var(--sw-border);
}
.svarka-scope .service-card:hover {
  transform: translateY(-10px);
  box-shadow: var(--sw-shadow-xl);
  border-color: rgba(245, 130, 32, 0.30);
}
.svarka-scope .service-card__image-wrapper {
  position: relative;
  height: 220px;
  overflow: hidden;
  background: var(--sw-bg-elevated);
}
.svarka-scope .service-card__image {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.svarka-scope .service-card:hover .service-card__image { transform: scale(1.1); }
.svarka-scope .service-card__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.4) 100%);
  transition: background 0.4s ease;
}
.svarka-scope .service-card:hover .service-card__overlay {
  background: linear-gradient(180deg, rgba(245, 130, 32, 0.2) 0%, rgba(0,0,0,0.6) 100%);
}
.svarka-scope .service-card__icon {
  position: absolute;
  top: 20px; right: 20px;
  width: 56px; height: 56px;
  background: var(--sw-bg-card-solid);
  border: 1px solid var(--sw-border);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--sw-primary-hover);
  box-shadow: var(--sw-shadow-sm);
  transition: all 0.4s ease;
}
.svarka-scope .service-card:hover .service-card__icon {
  background: var(--sw-primary);
  color: #ffffff;
  transform: rotate(90deg);
}
.svarka-scope .service-card__content {
  padding: 30px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.svarka-scope .service-card__title {
  font-size: 22px;
  font-weight: 700;
  color: var(--sw-text);
  margin-bottom: 12px;
  line-height: 1.3;
}
.svarka-scope .service-card__text {
  font-size: 15px;
  color: var(--sw-text-secondary);
  line-height: 1.6;
  margin-bottom: 24px;
  flex: 1;
}
.svarka-scope .service-card__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  color: var(--sw-primary-hover);
  text-decoration: none;
  transition: all 0.3s ease;
}
.svarka-scope .service-card__btn svg { transition: transform 0.3s ease; }
.svarka-scope .service-card__btn:hover { color: #ffc37a; }
.svarka-scope .service-card__btn:hover svg { transform: translateX(5px); }
/* === ОТЗЫВЫ (базовые карточки) === */
.svarka-scope .reviews-section__badge {
  display: inline-block;
  padding: 0.5rem 1rem;
  background: var(--sw-primary-light);
  border: 1px solid rgba(245, 130, 32, 0.25);
  color: var(--sw-primary-hover);
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: 9999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
}
.svarka-scope .reviews-section__title {
  font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
  font-size: clamp(26px, 3.6vw, 40px);
  font-weight: 700;
  color: var(--sw-text);
  margin-bottom: 1rem;
  text-transform: uppercase;
}
.svarka-scope .reviews-section__subtitle {
  font-size: 1.125rem;
  color: var(--sw-text-secondary);
  line-height: 1.75;
}
.svarka-scope .review-card__rating { display: flex; gap: 4px; margin-bottom: 1.5rem; }
.svarka-scope .review-card__rating .star {
  width: 20px; height: 20px;
  color: #fbbf24;
  filter: drop-shadow(0 2px 4px rgba(251, 191, 36, 0.3));
}
.svarka-scope .review-card__quote-icon {
  position: absolute;
  top: 20px; right: 20px;
  width: 48px; height: 48px;
  color: var(--sw-primary);
  opacity: 0.15;
  transition: all 0.3s ease;
}
.svarka-scope .review-card:hover .review-card__quote-icon { opacity: 0.3; transform: scale(1.1) rotate(-5deg); }
.svarka-scope .review-card__avatar--accent {
  background: linear-gradient(135deg, var(--sw-primary), var(--sw-primary-hover));
}
.svarka-scope .review-card__avatar--secondary {
  background: linear-gradient(135deg, var(--sw-info), #7ba3ff);
}
.svarka-scope .review-card__author-info { display: flex; flex-direction: column; }
.svarka-scope .review-card__role { font-size: 0.875rem; color: var(--sw-text-muted); line-height: 1.4; }
/* === Утилиты === */
.svarka-scope .u-mt-16 { margin-top: 4rem !important; }
.svarka-scope .u-mb-8 { margin-bottom: 2rem !important; }
.svarka-scope .u-mb-12 { margin-bottom: 3rem !important; }
.svarka-scope .u-text-center { text-align: center !important; }
/* === Анимации === */
@keyframes swFloatOrb {
  0% { transform: translate(0, 0) scale(1); }
  100% { transform: translate(50px, -50px) scale(1.1); }
}
@keyframes swPulseDot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.2); }
}
/* === Адаптивность === */
@media (max-width: 767px) {
  .svarka-scope .btn--lg { width: 100%; padding: 12px 24px; }
  .svarka-scope .faq-section__title { margin-bottom: 2rem; }
  .svarka-scope .faq-item.active .faq-item__content { padding: 0 20px 20px; }
  .svarka-scope .faq-item__content p { font-size: 15px; }
  .svarka-scope .partners-request__info-card,
  .svarka-scope .partners-request__form-card { padding: 24px; }
  .svarka-scope .partners-request__main-desc { font-size: 16px; }
  .svarka-scope .partners-request__feature-item { font-size: 16px; gap: 12px; }
  .svarka-scope .partners-request__feature-item svg { width: 22px; height: 22px; }
  .svarka-scope .portfolio-grid { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
  .svarka-scope .services-grid { grid-template-columns: 1fr; gap: 20px; }
  .svarka-scope .services-section__header { margin-bottom: 2rem; }
  .svarka-scope .service-card__image-wrapper { height: 200px; }
  .svarka-scope .weld-intro__image-wrapper { aspect-ratio: 16 / 10; max-height: 400px; }
  .svarka-scope .weld-intro__stats { grid-template-columns: repeat(3, 1fr); gap: 0.5rem; }
  .svarka-scope .weld-intro__experience-badge { padding: 0.75rem 0.5rem; }
  .svarka-scope .weld-intro__exp-number { font-size: 1.5rem; }
  .svarka-scope .weld-intro__exp-text,
  .svarka-scope .weld-intro__exp-label { font-size: 0.625rem; }
  .svarka-scope .weld-intro__stat { padding: 0.75rem 0.5rem; }
  .svarka-scope .weld-intro__stat-number { font-size: 1.5rem; }
  .svarka-scope .weld-intro__stat-label { font-size: 0.625rem; }
  .svarka-scope .weld-intro__feature:hover { transform: translateX(0); }
  .svarka-scope .weld-intro__actions { flex-direction: column; }
  .svarka-scope .weld-intro__actions .btn { width: 100%; justify-content: center; }
}
@media (min-width: 768px) {
  .svarka-scope .weld-advantages__grid { grid-template-columns: repeat(2, 1fr); gap: 2rem; }
  .svarka-scope .weld-services__grid { grid-template-columns: repeat(2, 1fr); gap: 2rem; }
}
@media (min-width: 992px) {
  .svarka-scope .weld-intro__grid { grid-template-columns: 1fr 1fr; gap: 4rem; }
}
@media (min-width: 1024px) {
.svarka-scope .partners-request__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 60px; }
.svarka-scope .weld-advantages__grid { grid-template-columns: repeat(4, 1fr); }
.svarka-scope .weld-services__grid { grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.svarka-scope .weld-services__grid:has(> .weld-service-card:nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 820px; margin-inline: auto; }
}
@media (max-width: 1024px) {
  .svarka-scope .portfolio-grid { grid-template-columns: repeat(3, 1fr); }
  .svarka-scope .services-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}
/* === Защита от скрытия блоков scroll-reveal === */
.container[data-reveal]:has(.svarka-scope),
.page__content[data-reveal]:has(.svarka-scope),
.page__content--limited[data-reveal]:has(.svarka-scope) {
  opacity: 1 !important;
  transform: none !important;
}
.page-hero:has(~ main .svarka-scope) {
  opacity: 1 !important;
  visibility: visible !important;
}
.svarka-scope {
  opacity: 1 !important;
  visibility: visible !important;
}
.svarka-scope,
.svarka-scope * {
  opacity: 1;
  visibility: visible;
}

/* SV-V2: Svarka metalla — bazovye + hero */
.svarka-scope .sv-container{max-width:1200px;margin:0 auto;padding:0 20px;box-sizing:border-box}
.svarka-scope .sv-gradient-text{background:linear-gradient(135deg,#f58220,#ff9340);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.svarka-scope .sv-badge{display:inline-block;padding:5px 14px;border-radius:999px;background:rgba(245,130,32,.12);border:1px solid rgba(245,130,32,.35);color:#f58220;font-size:12px;font-weight:600;letter-spacing:.6px;text-transform:uppercase}
.svarka-scope .sv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 32px;border-radius:12px;font-weight:600;font-size:15px;text-decoration:none;transition:all .3s ease;cursor:pointer;border:none}
.svarka-scope .sv-btn--primary{background:linear-gradient(135deg,#f58220,#ff9340);color:#fff;box-shadow:0 4px 20px rgba(245,130,32,.35)}
.svarka-scope .sv-btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(245,130,32,.5)}
.svarka-scope .sv-btn--ghost{background:transparent;color:#f3f4f6;border:1px solid rgba(255,255,255,.2)}
.svarka-scope .sv-btn--ghost:hover{border-color:#f58220;color:#f58220}
.svarka-scope .sv-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}

/* SV-V2: hero */
.svarka-scope .sv-hero{position:relative;padding:80px 0 60px;background:transparent;overflow:hidden}
.svarka-scope .sv-hero__badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:999px;background:rgba(245,130,32,.1);border:1px solid rgba(245,130,32,.3);color:#f58220;font-size:13px;font-weight:600;margin-bottom:20px}
.svarka-scope .sv-hero__badge-dot{width:6px;height:6px;border-radius:50%;background:#f58220;animation:pulse 2s infinite}
.svarka-scope .sv-hero__title{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:800;line-height:1.15;margin:0 0 16px;color:#f3f4f6}
.svarka-scope .sv-hero__desc{font-size:clamp(1rem,2vw,1.2rem);color:#9ca3af;line-height:1.7;max-width:600px;margin:0 0 24px}
.svarka-scope .sv-hero__media{position:relative;margin-top:40px;border-radius:16px;overflow:hidden}
.svarka-scope .sv-hero__image{width:100%;height:auto;display:block;border-radius:16px}
.svarka-scope .sv-hero__caption{position:absolute;bottom:12px;left:12px;background:rgba(0,0,0,.7);color:#fff;padding:6px 14px;border-radius:8px;font-size:13px}
.svarka-scope .sv-hero__stats{display:flex;gap:32px;margin-top:32px;flex-wrap:wrap}
.svarka-scope .sv-hero__stat{text-align:center}
.svarka-scope .sv-hero__stat-num{font-size:2rem;font-weight:800;color:#f58220}
.svarka-scope .sv-hero__stat-label{font-size:13px;color:#9ca3af;margin-top:4px}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* SV-V2: sections + features */
.svarka-scope .sv-section{padding:70px 0;position:relative}
/* Разделитель между соседними секциями (стиль raskroy/navesy) */
.svarka-scope .sv-section + .sv-section::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(85%,680px);height:2px;background:linear-gradient(90deg,transparent,rgba(245,130,32,.7),transparent);box-shadow:0 0 18px rgba(245,130,32,.4);pointer-events:none;z-index:1}
/* rings-bg-v1: фон «Кольца» убран по запросу пользователя */
.svarka-scope .sv-section--alt{background-color:transparent;background-image:none;background-repeat:no-repeat}
.svarka-scope .sv-section__header{max-width:640px;margin:0 auto 48px;text-align:center}
.svarka-scope .sv-section__title{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;color:#f3f4f6;margin:16px 0 12px;line-height:1.2}
.svarka-scope .sv-section__desc{color:#9ca3af;font-size:1.05rem;line-height:1.7;margin:0}
.svarka-scope .sv-features__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.svarka-scope .sv-feature-card{background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:28px;transition:all .3s ease}
.svarka-scope .sv-feature-card:hover{transform:translateY(-4px);border-color:rgba(245,130,32,.4)}
.svarka-scope .sv-feature-card__title{font-size:1.1rem;font-weight:600;color:#f3f4f6;margin:0 0 8px}

/* SV-V2: feature icons + services */
.svarka-scope .sv-feature-card__icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:rgba(245,130,32,.12);margin-bottom:16px;color:#f58220}
.svarka-scope .sv-feature-card__icon svg{width:26px;height:26px}
.svarka-scope .sv-feature-card__text{color:#9ca3af;font-size:.95rem;line-height:1.6;margin:0}
/* SV-V2: services grid — premium cards v3 */
.svarka-scope .sv-services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:sv-service;align-items:stretch}
.svarka-scope .sv-service-card{position:relative;isolation:isolate;background:transparent;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:30px 26px 26px;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;display:flex;flex-direction:column;gap:14px;overflow:hidden;backdrop-filter:blur(8px);height:100%}
.svarka-scope .sv-service-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#f58220,#ff9340 60%,transparent);transform:scaleX(0);transform-origin:left;transition:transform .45s ease;z-index:1}
.svarka-scope .sv-service-card::after{content:counter(sv-service,decimal-leading-zero);counter-increment:sv-service;position:absolute;top:16px;right:20px;font-family:'Oswald','Arial Narrow',system-ui,sans-serif;font-size:2.8rem;font-weight:800;line-height:1;color:rgba(245,130,32,.10);transition:color .35s ease,text-shadow .35s ease;pointer-events:none;z-index:0}
.svarka-scope .sv-service-card:hover{transform:translateY(-8px);border-color:rgba(245,130,32,.40);box-shadow:0 16px 38px rgba(0,0,0,.45),0 0 30px rgba(245,130,32,.14);background:transparent}
.svarka-scope .sv-service-card:hover::before{transform:scaleX(1)}
.svarka-scope .sv-service-card:hover::after{color:rgba(245,130,32,.26);text-shadow:0 0 24px rgba(245,130,32,.25)}
.svarka-scope .sv-service-card > *{position:relative;z-index:1}
.svarka-scope .sv-service-card__title{font-size:1.2rem;font-weight:700;color:#f3f4f6;margin:0;transition:color .3s ease;padding-right:56px}
.svarka-scope .sv-service-card:hover .sv-service-card__title{color:#ff9340}
.svarka-scope .sv-service-card__text{color:#9ca3af;font-size:.97rem;line-height:1.65;margin:0;flex:1}
/* Заполнение последнего ряда, чтобы сетка не обрывалась пустой ячейкой */
.svarka-scope .sv-services__grid .sv-service-card:last-child:nth-child(3n+2){grid-column:span 2}
/* Плавное появление карточек */
@keyframes svServiceCardIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.svarka-scope .sv-services__grid .sv-service-card{animation:svServiceCardIn .55s cubic-bezier(.25,.46,.45,.94) both}
.svarka-scope .sv-services__grid .sv-service-card:nth-child(2){animation-delay:.08s}
.svarka-scope .sv-services__grid .sv-service-card:nth-child(3){animation-delay:.16s}
.svarka-scope .sv-services__grid .sv-service-card:nth-child(4){animation-delay:.24s}
.svarka-scope .sv-services__grid .sv-service-card:nth-child(5){animation-delay:.32s}
.svarka-scope .sv-services__grid .sv-service-card:nth-child(n+6){animation-delay:.4s}
@media (prefers-reduced-motion:reduce){
.svarka-scope .sv-services__grid .sv-service-card{animation:none}
}
@media (max-width:991px){
.svarka-scope .sv-services__grid{grid-template-columns:repeat(2,1fr);gap:18px}
.svarka-scope .sv-services__grid .sv-service-card:last-child:nth-child(2n+1){grid-column:span 2}
}
@media (max-width:575px){
.svarka-scope .sv-services__grid{grid-template-columns:1fr;gap:16px}
.svarka-scope .sv-services__grid .sv-service-card:last-child:nth-child(2n+1),
.svarka-scope .sv-services__grid .sv-service-card:last-child:nth-child(3n+2){grid-column:auto}
}

/* SV-V2: photo gallery */
.svarka-scope .sv-photo-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svarka-scope .sv-photo-item{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:transparent;border:1px solid rgba(255,255,255,.06);box-shadow:0 4px 14px rgba(0,0,0,.25);transition:border-color .3s ease,box-shadow .3s ease}
.svarka-scope .sv-photo-item:hover{border-color:rgba(245,130,32,.35);box-shadow:0 10px 26px rgba(0,0,0,.40)}
.svarka-scope .sv-photo-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.svarka-scope .sv-photo-item:hover img{transform:scale(1.04)}
/* Подписи и затемняющий оверлей на фото скрыты по требованию */
.svarka-scope .sv-photo-item__overlay,
.svarka-scope .sv-photo-item:hover .sv-photo-item__overlay,
.svarka-scope .sv-photo-item__caption{display:none !important}
@media (max-width:991px){
.svarka-scope .sv-photo-gallery__grid{grid-template-columns:repeat(2,1fr);gap:16px}
}
@media (max-width:575px){
.svarka-scope .sv-photo-gallery__grid{grid-template-columns:1fr;gap:14px}
}

/* SV-V2: reviews — premium cards v2 */
/* sv-reviews-grid-nobg-v1: фон сетки отзывов убран по запросу пользователя */
.svarka-scope .sv-reviews__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;background:none !important;background-color:transparent !important;background-image:none !important}
.svarka-scope .sv-review-card{position:relative;isolation:isolate;background:transparent;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:28px 26px 24px;display:flex;flex-direction:column;gap:16px;overflow:hidden;backdrop-filter:blur(8px);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;animation:svReviewCardIn .55s cubic-bezier(.25,.46,.45,.94) backwards}
.svarka-scope .sv-review-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#f58220,#ff9340 60%,transparent);transform:scaleX(0);transform-origin:left;transition:transform .45s ease;z-index:1}
.svarka-scope .sv-review-card::after{content:'\201C';position:absolute;top:4px;right:18px;font-family:Georgia,'Times New Roman',serif;font-size:5.5rem;line-height:1;color:rgba(245,130,32,.08);transition:color .35s ease,text-shadow .35s ease;pointer-events:none;z-index:0}
.svarka-scope .sv-review-card:hover{transform:translateY(-8px);border-color:rgba(245,130,32,.40);box-shadow:0 16px 38px rgba(0,0,0,.45),0 0 30px rgba(245,130,32,.14);background:transparent}
.svarka-scope .sv-review-card:hover::before{transform:scaleX(1)}
.svarka-scope .sv-review-card:hover::after{color:rgba(245,130,32,.24);text-shadow:0 0 24px rgba(245,130,32,.25)}
.svarka-scope .sv-review-card > *{position:relative;z-index:1}
.svarka-scope .sv-review-card__stars{color:#f58220;font-size:1.1rem;letter-spacing:3px;filter:drop-shadow(0 2px 6px rgba(245,130,32,.35));transition:transform .35s ease,filter .35s ease}
.svarka-scope .sv-review-card:hover .sv-review-card__stars{transform:scale(1.06);filter:drop-shadow(0 3px 10px rgba(245,130,32,.55))}
.svarka-scope .sv-review-card__text{color:#d1d5db;font-size:.98rem;line-height:1.7;margin:0;flex:1}
.svarka-scope .sv-review-card__meta{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.06);transition:border-color .3s ease}
.svarka-scope .sv-review-card:hover .sv-review-card__meta{border-color:rgba(245,130,32,.22)}
.svarka-scope .sv-review-card__avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#f58220,#ff9340);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.05rem;flex-shrink:0;box-shadow:0 4px 14px rgba(245,130,32,.30);transition:transform .35s ease,box-shadow .35s ease}
.svarka-scope .sv-review-card:hover .sv-review-card__avatar{transform:scale(1.08);box-shadow:0 6px 20px rgba(245,130,32,.45)}
.svarka-scope .sv-review-card__name{font-weight:700;color:#f3f4f6;font-size:.97rem;margin:0;transition:color .3s ease}
.svarka-scope .sv-review-card:hover .sv-review-card__name{color:#ff9340}
.svarka-scope .sv-review-card__author{color:#9ca3af;font-size:.85rem;margin:2px 0 0}
@keyframes svReviewCardIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.svarka-scope .sv-reviews__grid .sv-review-card:nth-child(2){animation-delay:.08s}
.svarka-scope .sv-reviews__grid .sv-review-card:nth-child(3){animation-delay:.16s}
.svarka-scope .sv-reviews__grid .sv-review-card:nth-child(n+4){animation-delay:.24s}
@media (prefers-reduced-motion:reduce){
.svarka-scope .sv-review-card{animation:none}
}
/* Заполнение последнего ряда на планшете, чтобы сетка не обрывалась пустой ячейкой */
@media (max-width:991px){
.svarka-scope .sv-reviews__grid{grid-template-columns:repeat(2,1fr);gap:18px}
.svarka-scope .sv-reviews__grid .sv-review-card:last-child:nth-child(2n+1){grid-column:span 2}
}
@media (max-width:575px){
.svarka-scope .sv-reviews__grid{grid-template-columns:1fr;gap:16px}
.svarka-scope .sv-reviews__grid .sv-review-card:last-child:nth-child(2n+1){grid-column:auto}
}

/* SV-V2: faq + service links */
.svarka-scope .sv-faq__list{display:flex;flex-direction:column;gap:12px;max-width:820px;margin:0 auto}
.svarka-scope .sv-faq__item{background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;transition:border-color .3s ease}
.svarka-scope .sv-faq__item:hover{border-color:rgba(245,130,32,.35)}
.svarka-scope .sv-faq__question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;background:none;border:none;color:#f3f4f6;font-size:1.05rem;font-weight:600;text-align:left;cursor:pointer}
.svarka-scope .sv-faq__answer{padding:0 24px 20px;color:#9ca3af;font-size:.95rem;line-height:1.7}
.svarka-scope .sv-section__subtitle{color:#9ca3af;font-size:1rem;line-height:1.6;margin:8px 0 0}
.svarka-scope .sv-service-card__icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:rgba(245,130,32,.10);border:1px solid rgba(245,130,32,.22);color:#f58220;transition:all .35s ease;flex-shrink:0}
.svarka-scope .sv-service-card__icon svg{width:27px;height:27px;transition:transform .35s ease}
.svarka-scope .sv-service-card:hover .sv-service-card__icon{background:linear-gradient(135deg,#f58220,#ff9340);color:#fff;border-color:transparent;box-shadow:0 8px 22px rgba(245,130,32,.40);transform:scale(1.08) rotate(-4deg)}
.svarka-scope .sv-service-card:hover .sv-service-card__icon svg{transform:scale(1.12)}
.svarka-scope .sv-service-card__link{display:inline-flex;align-items:center;gap:8px;color:#f58220;font-weight:600;font-size:.95rem;text-decoration:none;margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.06);transition:color .3s ease,gap .3s ease,border-color .3s ease}
.svarka-scope .sv-service-card:hover .sv-service-card__link{border-color:rgba(245,130,32,.22)}
.svarka-scope .sv-service-card__link:hover{color:#ff9340;gap:12px}
.svarka-scope .sv-service-card__link svg{width:16px;height:16px;flex-shrink:0;transition:transform .3s ease}
.svarka-scope .sv-service-card__link:hover svg{transform:translateX(3px)}
.svarka-scope .sv-service-card__link:focus-visible{outline:2px solid rgba(245,130,32,.55);outline-offset:4px;border-radius:8px}

/* SV-V2: cta */
.svarka-scope .sv-cta{padding:80px 0;position:relative;overflow:hidden}
.svarka-scope .sv-cta__card{background:transparent;border:1px solid rgba(245,130,32,.3);border-radius:24px;padding:56px 40px;text-align:center;max-width:860px;margin:0 auto;box-shadow:0 0 60px rgba(245,130,32,.15)}
.svarka-scope .sv-cta__title{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800;color:#f3f4f6;margin:0 0 14px;line-height:1.25}
.svarka-scope .sv-cta__text{color:#9ca3af;font-size:1.05rem;line-height:1.7;max-width:560px;margin:0 auto 28px}
.svarka-scope .sv-cta__phone{display:inline-flex;align-items:center;gap:10px;font-size:clamp(1.4rem,3vw,2rem);font-weight:800;color:#f58220;text-decoration:none;margin-bottom:8px;transition:color .3s ease}
.svarka-scope .sv-cta__phone:hover{color:#ff9340}
.svarka-scope .sv-cta__note{color:#6b7280;font-size:.9rem;margin:14px 0 0}
/* SV-V2: services layout с фото сбоку */
.svarka-scope .sv-services-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:36px;align-items:start}
.svarka-scope .sv-services-layout__content{min-width:0}
.svarka-scope .sv-services-layout__aside{position:sticky;top:96px;min-width:0}
.svarka-scope .sv-services-layout__photo{position:relative;margin:0;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:transparent;box-shadow:0 14px 36px rgba(0,0,0,.45);aspect-ratio:3/4;transition:border-color .35s ease,box-shadow .35s ease}
.svarka-scope .sv-services-layout__photo:hover{border-color:rgba(245,130,32,.4);box-shadow:0 18px 44px rgba(0,0,0,.5),0 0 28px rgba(245,130,32,.14)}
.svarka-scope .sv-services-layout__photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.svarka-scope .sv-services-layout__photo:hover img{transform:scale(1.04)}
.svarka-scope .sv-services-layout .sv-section__header{max-width:none;margin:0 0 28px;text-align:left}
.svarka-scope .sv-services-layout .sv-services__grid{grid-template-columns:repeat(2,1fr);gap:16px}
@media (max-width:1080px){
.svarka-scope .sv-services-layout{grid-template-columns:minmax(0,1fr) 280px;gap:24px}
}
@media (max-width:991px){
.svarka-scope .sv-services-layout{grid-template-columns:1fr;gap:24px}
.svarka-scope .sv-services-layout__aside{position:static;max-width:480px}
.svarka-scope .sv-services-layout__photo{aspect-ratio:16/10}
}
@media (max-width:575px){
.svarka-scope .sv-services-layout .sv-services__grid{grid-template-columns:1fr}
}
/* SV-V2: hero layout с фото сбоку */
.svarka-scope .sv-hero__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:48px;align-items:center}
.svarka-scope .sv-hero__content{min-width:0}
.svarka-scope .sv-hero__aside{position:relative;min-width:0;display:flex;flex-direction:column;gap:16px}
.svarka-scope .sv-hero__layout .sv-hero__media{margin-top:0;border-radius:18px;border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 44px rgba(0,0,0,.50);aspect-ratio:4/3;overflow:hidden;background:transparent;transition:border-color .35s ease,box-shadow .35s ease}
.svarka-scope .sv-hero__layout .sv-hero__media:hover{border-color:rgba(245,130,32,.40);box-shadow:0 22px 52px rgba(0,0,0,.55),0 0 30px rgba(245,130,32,.15)}
.svarka-scope .sv-hero__layout .sv-hero__image{width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .6s ease}
.svarka-scope .sv-hero__layout .sv-hero__media:hover .sv-hero__image{transform:scale(1.04)}
.svarka-scope .sv-hero__layout .sv-hero__caption{position:static;align-self:flex-start;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.08);color:#d1d5db;padding:7px 14px;border-radius:10px;font-size:13px;line-height:1.5;margin:0}
.svarka-scope .sv-hero__layout .sv-hero__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:4px}
.svarka-scope .sv-hero__layout .sv-hero__stat{background:transparent;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px 10px;text-align:center;transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease}
.svarka-scope .sv-hero__layout .sv-hero__stat:hover{border-color:rgba(245,130,32,.35);transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.35)}
.svarka-scope .sv-hero__layout .sv-hero__stat-num{font-size:1.6rem}
.svarka-scope .sv-hero__layout .sv-hero__stat-label{font-size:12px}
@media (max-width:1080px){
.svarka-scope .sv-hero__layout{grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:32px}
}
@media (max-width:991px){
.svarka-scope .sv-hero__layout{grid-template-columns:1fr;gap:32px}
.svarka-scope .sv-hero__aside{max-width:560px}
}
@media (max-width:575px){
.svarka-scope .sv-hero__layout{gap:24px}
.svarka-scope .sv-hero__layout .sv-hero__stats{gap:8px}
.svarka-scope .sv-hero__layout .sv-hero__stat{padding:12px 8px}
.svarka-scope .sv-hero__layout .sv-hero__stat-num{font-size:1.35rem}
}

/* === Стили блоков в стиле navesy: прозрачные фоны + паттерн «Искры» === */
/* prochie-izdelie-bg-remove: sv-* селекторы убраны из паттерна «Искры» */
.svarka-scope .weld-service-card,
.svarka-scope .weld-advantage-card,
.svarka-scope .service-card,
.svarka-scope .faq-item,
.svarka-scope .partners-request__info-card,
.svarka-scope .partners-request__form-card {
background-color: transparent;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46'%3E%3Cpath d='M8 6l4 4M34 16l5-5M20 32l4 4' stroke='%23ff9340' stroke-opacity='0.3' fill='none'/%3E%3Ccircle cx='30' cy='6' r='1.3' fill='%23ff9340' fill-opacity='0.32'/%3E%3Ccircle cx='10' cy='38' r='1' fill='%23ff9340' fill-opacity='0.26'/%3E%3C/svg%3E");
background-repeat: repeat;
}

/* Искры: фон limited-блоков убран по запросу пользователя */
.page-block__inner.page__content--limited:has(.svarka-scope) {
background-image: none;
background-repeat: no-repeat;
}
/* === КАРТОЧНЫЕ БЛОКИ В СТИЛЕ /navesy/ (page-block--limited) === */
/* Воспроизводим стиль .page-block--limited из theme-proba2-page-content.css:
full-bleed обёртка + карточка 1400px с оранжевой рамкой, свечением, hover */
.page-block:has(.svarka-scope) {
width: 100vw;
margin-left: calc(50% - 50vw);
padding: 48px 20px;
}
/* Карточка: внутренний контент блока */
.page-block:has(.svarka-scope) .page-block__content,
.page-block:has(.svarka-scope) .page__content {
position: relative;
max-width: 1400px;
width: 100%;
margin-left: auto;
margin-right: auto;
border-radius: 16px;
overflow: hidden;
background: transparent;
border: 1px solid rgba(230, 96, 43, .25);
box-shadow: 0 0 20px rgba(230, 96, 43, .35);
transition: border-color .3s ease, box-shadow .3s ease;
}
.page-block:has(.svarka-scope) .page-block__content:hover,
.page-block:has(.svarka-scope) .page__content:hover {
border-color: rgba(246, 89, 8, .5);
box-shadow: 0 0 30px rgba(230, 96, 43, .5), 0 0 80px rgba(230, 96, 43, .22);
}
/* Контент поверх псевдоэлементов */
.page-block:has(.svarka-scope) .page-block__content > *,
.page-block:has(.svarka-scope) .page__content > * {
position: relative;
z-index: 1;
}

/* Разделитель между соседними блоками */
.page-block:has(.svarka-scope) + .page-block:has(.svarka-scope)::before {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: min(70%, 500px);
height: 2px;
background: linear-gradient(90deg, transparent, rgba(246, 89, 8, .35), transparent);
box-shadow: 0 0 8px rgba(246, 89, 8, .2);
pointer-events: none;
z-index: 1;
}

/* svarka-section-dividers-v2: на /svarka-metalla/ блоки — plain <section> без класса
.page-block внутри .page__blocks. В отличие от /raskroy-metalla/, у этих секций нет
 паддинга .page-block--limited, поэтому черточка top:0 ложилась прямо на верхнюю рамку
 карточки и была не видна. Теперь всем секциям кроме первой добавлен padding-top, и
 черточка рисуется в свободном пространстве МЕЖДУ карточками (top:24px — по центру
 отступа), как на /raskroy-metalla/.
 Защита :has(.sv-section) — на /mangaly/ sv-* классов нет. */
article.page:has(.svarka-scope .sv-section) .page__blocks > section:has(.svarka-scope) {
position: relative;
}
article.page:has(.svarka-scope .sv-section) .page__blocks > section:has(.svarka-scope) + section:has(.svarka-scope) {
padding-top: 48px;
}
article.page:has(.svarka-scope .sv-section) .page__blocks > section:has(.svarka-scope) + section:has(.svarka-scope)::before {
content: '';
position: absolute;
top: 24px;
left: 50%;
transform: translateX(-50%);
width: min(85%, 680px);
height: 2px;
background: linear-gradient(90deg, transparent, rgba(245, 130, 32, .7), transparent);
box-shadow: 0 0 18px rgba(245, 130, 32, .4);
pointer-events: none;
z-index: 3;
}

/* Мобильная адаптация */
@media (max-width: 767px) {
.page-block:has(.svarka-scope) {
padding: 32px 12px;
}
}

/* === mangaly-bg-remove-v1: убираем фоны блоков на странице /mangaly/ ===
   Классы weld-*, partners-request и faq-item присутствуют только на /mangaly/
   (подтверждено картой классов), поэтому переопределения не затрагивают
   /svarka-metalla/ (там используются sv-* классы). */

/* 1. Тёмный фон области svarka-scope — только для блоков manbaly */
.svarka-scope:has(.weld-intro),
.svarka-scope:has(.weld-advantages),
.svarka-scope:has(.weld-services),
.svarka-scope:has(.weld-gallery),
.svarka-scope:has(.weld-faq),
.svarka-scope:has(.partners-request) {
background-color: transparent;
}

/* 2. Intro-секция: градиентный фон, декоративные орбы и сетка */
.svarka-scope .weld-intro { background: none; }
.svarka-scope .weld-intro__orb,
.svarka-scope .weld-intro__orb--1,
.svarka-scope .weld-intro__orb--2,
.svarka-scope .weld-intro__grid-bg { display: none; }

/* 3. Преимущества: паттерн «искры» на контейнере */
.svarka-scope .weld-advantages .container { background-image: none; }

/* 4. Галерея: тёмный фон и градиентная подложка */
.svarka-scope .weld-gallery { background: none; }
.svarka-scope .weld-gallery::before { display: none; }

/* 5. Partners request (CTA): градиентный фон, орбы, сетка и свечение */
.svarka-scope .partners-request { background: none; }
.svarka-scope .partners-request__orb,
.svarka-scope .partners-request__orb--1,
.svarka-scope .partners-request__orb--2,
.svarka-scope .partners-request__grid-bg,
.svarka-scope .partners-request__form-glow { display: none; }

/* 6. Карточки: паттерн «искры» (переопределяем правило «в стиле navesy») */
.svarka-scope .weld-service-card,
.svarka-scope .weld-advantage-card,
.svarka-scope .faq-item,
.svarka-scope .partners-request__info-card,
.svarka-scope .partners-request__form-card {
background-image: none;
background-color: transparent;
}


/* === modules/theme-proba2-svarka-navesov.css === */
/*
 * Стили страницы «Сварка навесов» (svarka-navesov).
 * Палитра: тёмный графит + оранжевый неон (#f58220).
 * Все селекторы ограничены областью .svarka-scope.
 * Префикс компонентов: sv-
 */

.svarka-scope {
    font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
    color: var(--sw-text);
    line-height: 1.6;
    --sw-primary: #f58220;
    --sw-primary-hover: #ff9340;
    --sw-primary-light: rgba(245, 130, 32, 0.10);
    --sw-primary-glow: rgba(245, 130, 32, 0.40);
    --sw-primary-glow-lg: rgba(245, 130, 32, 0.12);
    --sw-accent: #ff9340;
    --sw-info: #5b8cff;
    --sw-success: #2f9e44;
    --sw-bg-body: #110f0f;
    --sw-bg-surface: #16181d;
    --sw-bg-elevated: rgba(26, 29, 36, 0.72);
    --sw-bg-card-solid: #1a1d24;
    --sw-bg-dark: #0e0c0c;
    --sw-text: #f3f4f6;
    --sw-text-secondary: #9ca3af;
    --sw-text-muted: #9ca3af;
    --sw-text-dim: #7c8290;
    --sw-text-inverse: #ffffff;
    --sw-border: rgba(255, 255, 255, 0.08);
    --sw-border-strong: rgba(255, 255, 255, 0.16);
    --sw-radius-lg: 16px;
    --sw-radius-xl: 20px;
    --sw-radius-2xl: 24px;
    --sw-shadow-sm: 0 4px 14px rgba(0, 0, 0, 0.30);
    --sw-shadow-md: 0 8px 24px rgba(0, 0, 0, 0.40);
    --sw-shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.50), 0 0 30px rgba(245, 130, 32, 0.15);
    --sw-shadow-xl: 0 12px 40px rgba(0, 0, 0, 0.50), 0 0 30px rgba(245, 130, 32, 0.25);
--sw-section-py: clamp(2.5rem, 8vw, 4rem);
--sw-transition: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
background-color: transparent;
}

.svarka-scope img,
.svarka-scope video { max-width: 100%; }
.svarka-scope a { color: var(--sw-primary-hover); }

/* === Контейнер === */
.svarka-scope .sv-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
    box-sizing: border-box;
}

/* === Градиентный текст === */
.svarka-scope .sv-gradient-text {
    background: linear-gradient(135deg, var(--sw-primary) 0%, var(--sw-primary-hover) 55%, #ffc37a 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* === Кнопки === */
.svarka-scope .sv-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 28px;
    border-radius: 12px;
    border: 1px solid transparent;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    transition: all var(--sw-transition);
}

.svarka-scope .sv-btn--primary {
    color: #ffffff;
    background: linear-gradient(135deg, var(--sw-primary) 0%, var(--sw-primary-hover) 100%);
    box-shadow: 0 10px 25px rgba(245, 130, 32, 0.35);
}

.svarka-scope .sv-btn--primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 35px rgba(245, 130, 32, 0.50);
}

.svarka-scope .sv-btn--ghost {
    background: transparent;
    color: var(--sw-text);
    border-color: var(--sw-border-strong);
}

.svarka-scope .sv-btn--ghost:hover {
    border-color: var(--sw-primary);
    color: var(--sw-primary-hover);
    background: var(--sw-primary-light);
    transform: translateY(-3px);
}

/* === HERO === */
.svarka-scope .sv-hero {
padding-block: clamp(3rem, 10vw, 5rem);
background: transparent;
position: relative;
overflow: hidden;
isolation: isolate;
}

.svarka-scope .sv-hero .sv-container {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
}

.svarka-scope .sv-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 16px;
    background: var(--sw-primary-light);
    border: 1px solid rgba(245, 130, 32, 0.30);
    color: var(--sw-primary-hover);
    border-radius: 9999px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.svarka-scope .sv-hero__badge-dot {
    width: 8px;
    height: 8px;
    background: var(--sw-primary);
    border-radius: 50%;
    box-shadow: 0 0 10px var(--sw-primary-glow);
    animation: svPulseDot 2s infinite;
}

.svarka-scope .sv-hero__title {
    font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 800;
    color: var(--sw-text);
    line-height: 1.15;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: -0.01em;
}

.svarka-scope .sv-hero__desc {
    font-size: 1.125rem;
    color: var(--sw-text-secondary);
    line-height: 1.75;
    max-width: 720px;
    margin: 0;
}

.svarka-scope .sv-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 0.5rem;
}

.svarka-scope .sv-hero__stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-top: 1.5rem;
    width: 100%;
    max-width: 600px;
}

.svarka-scope .sv-hero__stat {
background: transparent;
padding: 1.25rem;
border-radius: var(--sw-radius-lg);
border: 1px solid var(--sw-border);
box-shadow: var(--sw-shadow-sm);
text-align: center;
backdrop-filter: blur(8px);
transition: all var(--sw-transition);
}

.svarka-scope .sv-hero__stat:hover {
    transform: translateY(-4px);
    border-color: rgba(245, 130, 32, 0.35);
    box-shadow: 0 0 24px rgba(245, 130, 32, 0.15);
}

.svarka-scope .sv-hero__stat-num {
    display: block;
    font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
    font-size: 1.875rem;
    font-weight: 700;
    color: var(--sw-primary-hover);
    line-height: 1;
    margin-bottom: 0.25rem;
}

.svarka-scope .sv-hero__stat-label {
    font-size: 0.75rem;
    color: var(--sw-text-muted);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* === Секции === */
.svarka-scope .sv-section {
padding-block: var(--sw-section-py);
background: transparent;
position: relative;
overflow: hidden;
}

.svarka-scope .sv-section--alt {
background: transparent;
}

.svarka-scope .sv-section .sv-container {
    position: relative;
    z-index: 1;
}

.svarka-scope .sv-section__header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 3rem;
}

.svarka-scope .sv-badge {
    display: inline-block;
    background: var(--sw-primary-light);
    border: 1px solid rgba(245, 130, 32, 0.25);
    color: var(--sw-primary-hover);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding: 8px 16px;
    border-radius: 50px;
    margin-bottom: 16px;
}

.svarka-scope .sv-section__title {
    font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
    font-size: clamp(26px, 3.6vw, 40px);
    font-weight: 700;
    color: var(--sw-text);
    margin-bottom: 1rem;
    text-transform: uppercase;
}

.svarka-scope .sv-section__subtitle {
    font-size: 1.125rem;
    color: var(--sw-text-secondary);
    max-width: 640px;
    margin: 0 auto;
    line-height: 1.75;
}

/* === Карточки-фичи === */
.svarka-scope .sv-features__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

.svarka-scope .sv-feature-card {
position: relative;
background: transparent;
border: 1px solid var(--sw-border);
border-radius: var(--sw-radius-xl);
padding: 2rem 1.5rem;
transition: all var(--sw-transition);
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
backdrop-filter: blur(8px);
}

.svarka-scope .sv-feature-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 3px;
    background: linear-gradient(90deg, var(--sw-primary), var(--sw-primary-hover));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--sw-transition);
}

.svarka-scope .sv-feature-card:hover {
    transform: translateY(-8px);
    border-color: rgba(245, 130, 32, 0.30);
    box-shadow: var(--sw-shadow-xl);
}

.svarka-scope .sv-feature-card:hover::before { transform: scaleX(1); }

.svarka-scope .sv-feature-card__icon {
    width: 54px; height: 54px;
    background: var(--sw-primary-light);
    border: 1px solid rgba(245, 130, 32, 0.25);
    color: var(--sw-primary-hover);
    border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 1.25rem;
    transition: all var(--sw-transition);
    flex-shrink: 0;
}

.svarka-scope .sv-feature-card__icon svg {
    width: 26px; height: 26px;
    transition: transform var(--sw-transition);
}

.svarka-scope .sv-feature-card:hover .sv-feature-card__icon {
    background: linear-gradient(135deg, var(--sw-primary), var(--sw-primary-hover));
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(245, 130, 32, 0.30);
    transform: scale(1.05) rotate(-5deg);
}

.svarka-scope .sv-feature-card:hover .sv-feature-card__icon svg { transform: scale(1.1); }

.svarka-scope .sv-feature-card__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--sw-text);
    margin-bottom: 0.75rem;
    line-height: 1.2;
}

.svarka-scope .sv-feature-card__text {
    font-size: 1rem;
    color: var(--sw-text-secondary);
    line-height: 1.75;
    margin: 0;
    flex-grow: 1;
}

/* === Solution Box === */
.svarka-scope .sv-solution-box {
margin-top: 2.5rem;
background: transparent;
border: 1px solid rgba(245, 130, 32, 0.25);
border-radius: var(--sw-radius-xl);
padding: 2rem 2.5rem;
position: relative;
overflow: hidden;
}

.svarka-scope .sv-solution-box::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 4px; height: 100%;
    background: linear-gradient(180deg, var(--sw-primary), var(--sw-primary-hover));
}

.svarka-scope .sv-solution-box h3 {
    font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--sw-primary-hover);
    margin-bottom: 0.75rem;
    text-transform: uppercase;
}

.svarka-scope .sv-solution-box p {
    font-size: 1rem;
    color: var(--sw-text-secondary);
    line-height: 1.75;
    margin: 0;
}

/* === Карточки услуг === */
.svarka-scope .sv-services__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

.svarka-scope .sv-service-card {
position: relative;
background: transparent;
border: 1px solid var(--sw-border);
border-radius: var(--sw-radius-xl);
padding: 2rem 1.5rem;
transition: all var(--sw-transition);
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
backdrop-filter: blur(8px);
}

.svarka-scope .sv-service-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 3px;
    background: linear-gradient(90deg, var(--sw-primary), var(--sw-primary-hover));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--sw-transition);
}

.svarka-scope .sv-service-card:hover {
    transform: translateY(-8px);
    border-color: rgba(245, 130, 32, 0.30);
    box-shadow: var(--sw-shadow-xl);
}

.svarka-scope .sv-service-card:hover::before { transform: scaleX(1); }

.svarka-scope .sv-service-card__icon {
    width: 54px; height: 54px;
    background: var(--sw-primary-light);
    border: 1px solid rgba(245, 130, 32, 0.25);
    color: var(--sw-primary-hover);
    border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 1.25rem;
    transition: all var(--sw-transition);
    flex-shrink: 0;
}

.svarka-scope .sv-service-card__icon svg {
    width: 26px; height: 26px;
    transition: transform var(--sw-transition);
}

.svarka-scope .sv-service-card:hover .sv-service-card__icon {
    background: linear-gradient(135deg, var(--sw-primary), var(--sw-primary-hover));
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(245, 130, 32, 0.30);
    transform: scale(1.05) rotate(-5deg);
}

.svarka-scope .sv-service-card:hover .sv-service-card__icon svg { transform: scale(1.1); }

.svarka-scope .sv-service-card__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--sw-text);
    margin-bottom: 0.75rem;
    line-height: 1.2;
}

.svarka-scope .sv-service-card__text {
    font-size: 1rem;
    color: var(--sw-text-secondary);
    line-height: 1.75;
    margin: 0;
    flex-grow: 1;
}

/* === Этапы работы === */
.svarka-scope .sv-steps__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

.svarka-scope .sv-step-card {
position: relative;
background: transparent;
border: 1px solid var(--sw-border);
border-radius: var(--sw-radius-xl);
padding: 2rem 1.5rem;
transition: all var(--sw-transition);
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
backdrop-filter: blur(8px);
}

.svarka-scope .sv-step-card:hover {
    transform: translateY(-6px);
    border-color: rgba(245, 130, 32, 0.30);
    box-shadow: var(--sw-shadow-lg);
}

.svarka-scope .sv-step-card__num {
    font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
    font-size: 2.5rem;
    font-weight: 800;
    background: linear-gradient(135deg, var(--sw-primary), var(--sw-primary-hover));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
    margin-bottom: 1rem;
    opacity: 0.85;
}

.svarka-scope .sv-step-card__title {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--sw-text);
    margin-bottom: 0.5rem;
    line-height: 1.3;
}

.svarka-scope .sv-step-card__text {
    font-size: 0.9375rem;
    color: var(--sw-text-secondary);
    line-height: 1.7;
    margin: 0;
    flex-grow: 1;
}

/* === FAQ === */
.svarka-scope .sv-faq__list {
    max-width: 860px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.svarka-scope .sv-faq__item {
background: transparent;
border: 1px solid var(--sw-border);
border-radius: var(--sw-radius-lg);
overflow: hidden;
backdrop-filter: blur(8px);
transition: all var(--sw-transition);
}

.svarka-scope .sv-faq__item:hover {
    border-color: rgba(245, 130, 32, 0.30);
    box-shadow: var(--sw-shadow-md);
}

.svarka-scope .sv-faq__item[open] {
    border-color: rgba(245, 130, 32, 0.35);
    box-shadow: var(--sw-shadow-md);
}

.svarka-scope .sv-faq__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    padding: 20px 24px;
    cursor: pointer;
    font-family: inherit;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--sw-text);
    text-align: left;
    transition: color 0.15s ease;
    list-style: none;
}

.svarka-scope .sv-faq__question::-webkit-details-marker { display: none; }

.svarka-scope .sv-faq__question::after {
    content: '';
    width: 20px; height: 20px;
    flex-shrink: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff9340' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    transition: transform var(--sw-transition);
}

.svarka-scope .sv-faq__item[open] .sv-faq__question::after {
    transform: rotate(180deg);
}

.svarka-scope .sv-faq__question:hover { color: var(--sw-primary-hover); }

.svarka-scope .sv-faq__answer {
    padding: 0 24px 24px;
}

.svarka-scope .sv-faq__answer p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--sw-text-secondary);
    margin: 0;
}

/* === CTA === */
.svarka-scope .sv-cta {
padding-block: var(--sw-section-py);
background: transparent;
position: relative;
overflow: hidden;
isolation: isolate;
}

.svarka-scope .sv-cta .sv-container {
    position: relative;
    z-index: 1;
}

.svarka-scope .sv-cta__card {
background: transparent;
border: 1px solid var(--sw-border-strong);
border-radius: var(--sw-radius-2xl);
padding: 3rem 2.5rem;
text-align: center;
backdrop-filter: blur(16px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
max-width: 720px;
margin: 0 auto;
}

.svarka-scope .sv-cta__title {
    font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
    font-size: clamp(1.5rem, 3.5vw, 2.25rem);
    font-weight: 800;
    color: var(--sw-text);
    margin-bottom: 1rem;
    text-transform: uppercase;
}

.svarka-scope .sv-cta__text {
    font-size: 1.0625rem;
    color: var(--sw-text-secondary);
    line-height: 1.75;
    margin-bottom: 1.5rem;
}

.svarka-scope .sv-cta__phone {
    display: inline-block;
    font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    color: var(--sw-primary-hover);
    text-decoration: none;
    margin-bottom: 1.5rem;
    transition: all 0.3s ease;
}

.svarka-scope .sv-cta__phone:hover {
    color: #ffc37a;
    text-shadow: 0 0 20px rgba(245, 130, 32, 0.4);
}

.svarka-scope .sv-cta__note {
    font-size: 0.875rem;
    color: var(--sw-text-dim);
    margin-top: 1.5rem;
}

/* === Анимации === */
@keyframes svPulseDot {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.2); }
}

/* === Адаптивность === */
@media (min-width: 576px) {
    .svarka-scope .sv-features__grid { grid-template-columns: repeat(2, 1fr); }
    .svarka-scope .sv-services__grid { grid-template-columns: repeat(2, 1fr); }
    .svarka-scope .sv-steps__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 768px) {
    .svarka-scope .sv-steps__grid { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 992px) {
    .svarka-scope .sv-features__grid { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 1024px) {
    .svarka-scope .sv-services__grid { grid-template-columns: repeat(3, 1fr); }
    .svarka-scope .sv-features__grid { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 767px) {
    .svarka-scope .sv-hero__stats { grid-template-columns: repeat(3, 1fr); gap: 0.5rem; }
    .svarka-scope .sv-hero__stat { padding: 0.75rem 0.5rem; }
    .svarka-scope .sv-hero__stat-num { font-size: 1.5rem; }
    .svarka-scope .sv-hero__stat-label { font-size: 0.625rem; }
    .svarka-scope .sv-actions { flex-direction: column; width: 100%; }
    .svarka-scope .sv-actions .sv-btn { width: 100%; justify-content: center; }
    .svarka-scope .sv-solution-box { padding: 1.5rem; }
    .svarka-scope .sv-cta__card { padding: 2rem 1.5rem; }
    .svarka-scope .sv-section__header { margin-bottom: 2rem; }
    .svarka-scope .sv-faq__question { padding: 16px 18px; font-size: 1rem; }
    .svarka-scope .sv-faq__answer { padding: 0 18px 18px; }
}

/* === Защита от скрытия блоков scroll-reveal === */
.container[data-reveal]:has(.svarka-scope),
.page__content[data-reveal]:has(.svarka-scope),
.page__content--limited[data-reveal]:has(.svarka-scope) {
    opacity: 1 !important;
    transform: none !important;
}

.page-hero:has(~ main .svarka-scope) {
    opacity: 1 !important;
    visibility: visible !important;
}

.svarka-scope {
    opacity: 1 !important;
    visibility: visible !important;
}

.svarka-scope,
.svarka-scope * {
    opacity: 1;
    visibility: visible;
}

/* === modules/theme-proba2-tablichki.css === */
/*
 * Стили страницы «Таблички» (tablichki).
 * Палитра: тёмный графит + оранжевый неон (в стиле raskroy-metalla / svarka-metalla).
 * Все селекторы ограничены областью .tablichki-scope, чтобы не влиять на остальные страницы.
 */

.tablichki-scope {
  --tb-primary: #f58220;
  --tb-primary-hover: #ff9340;
  --tb-primary-light: rgba(245, 130, 32, 0.10);
  --tb-primary-glow: rgba(245, 130, 32, 0.40);
  --tb-primary-glow-lg: rgba(245, 130, 32, 0.12);
  --tb-info: #5b8cff;
  --tb-success: #2f9e44;
  --tb-bg: #110f0f;
  --tb-bg-alt: #16181d;
  --tb-card: rgba(26, 29, 36, 0.72);
  --tb-card-solid: #1a1d24;
  --tb-text: #f3f4f6;
  --tb-text-muted: #9ca3af;
  --tb-text-dim: #7c8290;
  --tb-border: rgba(255, 255, 255, 0.08);
  --tb-border-strong: rgba(255, 255, 255, 0.16);
  --tb-radius-sm: 12px;
  --tb-radius: 16px;
  --tb-radius-lg: 24px;
  --tb-shadow: 0 4px 24px rgba(0, 0, 0, 0.30);
  --tb-shadow-hover: 0 12px 40px rgba(0, 0, 0, 0.50), 0 0 30px rgba(245, 130, 32, 0.25);
  --tb-transition: 0.35s cubic-bezier(0.4, 0, 0.2, 1);

	background: transparent;
	color: var(--tb-text);
  font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
  line-height: 1.6;
}

.tablichki-scope img,
.tablichki-scope svg,
.tablichki-scope video {
  max-width: 100%;
}

.tablichki-scope a {
  color: var(--tb-primary-hover);
}

.tablichki-scope .tb-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}

/* Свечение контейнерных блоков — отключено (фон .tb-container убран) */
.tablichki-scope .tb-container {
	position: relative;
	border-radius: var(--tb-radius);
	box-shadow: none;
	animation: none;
}

.tablichki-scope .tb-container::after {
	content: none;
}

.tablichki-scope .tb-container > * {
  position: relative;
  z-index: 1;
}

@keyframes tb-container-glow {
	0% {
		box-shadow:
			0 0 20px rgba(245, 130, 32, 0.18),
			0 0 45px rgba(245, 130, 32, 0.08),
			inset 0 0 28px rgba(245, 130, 32, 0.04);
	}
	100% {
		box-shadow:
			0 0 28px rgba(245, 130, 32, 0.32),
			0 0 65px rgba(245, 130, 32, 0.14),
			inset 0 0 36px rgba(245, 130, 32, 0.06);
	}
}

/* ============================================================
   Кнопки
============================================================ */

.tablichki-scope .tb-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.tablichki-scope .tb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 28px;
  border-radius: var(--tb-radius-sm);
  border: 1px solid transparent;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition: all var(--tb-transition);
}

.tablichki-scope .tb-btn--primary {
  color: #ffffff;
  background: linear-gradient(135deg, var(--tb-primary) 0%, var(--tb-primary-hover) 100%);
  box-shadow: 0 10px 25px rgba(245, 130, 32, 0.35);
}

.tablichki-scope .tb-btn--primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 35px rgba(245, 130, 32, 0.50);
}

.tablichki-scope .tb-btn--ghost {
  color: var(--tb-text);
  background: transparent;
  border-color: var(--tb-border-strong);
}

.tablichki-scope .tb-btn--ghost:hover {
  border-color: var(--tb-primary);
  color: var(--tb-primary-hover);
  background: var(--tb-primary-light);
  transform: translateY(-3px);
}

/* ============================================================
   Hero
   ============================================================ */

.tablichki-scope .tb-hero {
	position: relative;
	margin: -40px -36px;
	padding: clamp(64px, 8vw, 110px) 36px clamp(48px, 6vw, 80px);
	background: none;
	overflow: hidden;
	isolation: isolate;
	border: 1px solid rgba(245, 130, 32, 0.20);
	box-shadow: 0 0 24px rgba(245, 130, 32, 0.28), 0 0 60px rgba(245, 130, 32, 0.10), inset 0 0 40px rgba(245, 130, 32, 0.04);
	transition: border-color var(--tb-transition), box-shadow var(--tb-transition);
}

.tablichki-scope .tb-hero:hover {
	border-color: rgba(245, 130, 32, 0.45);
	box-shadow: 0 0 30px rgba(245, 130, 32, 0.45), 0 0 80px rgba(245, 130, 32, 0.18), inset 0 0 50px rgba(245, 130, 32, 0.06);
}

.tablichki-scope .tb-hero::before {
	content: none;
}

.tablichki-scope .tb-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 16px;
  margin-bottom: 22px;
  background: var(--tb-primary-light);
  border: 1px solid rgba(245, 130, 32, 0.30);
  border-radius: 999px;
  color: var(--tb-primary-hover);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.tablichki-scope .tb-hero__badge-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--tb-primary);
  box-shadow: 0 0 10px var(--tb-primary-glow);
  animation: tb-pulse-dot 2s infinite;
}

.tablichki-scope .tb-hero__title {
  margin: 0 0 18px;
  font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
  font-size: clamp(34px, 5vw, 58px);
  font-weight: 800;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: -0.01em;
}

.tablichki-scope .tb-gradient-text {
  background: linear-gradient(135deg, var(--tb-primary) 0%, var(--tb-primary-hover) 55%, #ffc37a 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.tablichki-scope .tb-hero__desc {
  max-width: 720px;
  margin: 0 0 30px;
  font-size: clamp(16px, 2vw, 18px);
  color: var(--tb-text-muted);
}

.tablichki-scope .tb-hero__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 42px;
}

.tablichki-scope .tb-hero__stat {
  padding: 18px 22px;
  background: var(--tb-card);
  border: 1px solid var(--tb-border);
  border-radius: var(--tb-radius);
  backdrop-filter: blur(8px);
  transition: all var(--tb-transition);
}

.tablichki-scope .tb-hero__stat:hover {
  border-color: rgba(245, 130, 32, 0.35);
  box-shadow: 0 0 24px rgba(245, 130, 32, 0.15);
  transform: translateY(-4px);
}

.tablichki-scope .tb-hero__stat-num {
  font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--tb-primary-hover);
}

.tablichki-scope .tb-hero__stat-label {
  margin-top: 4px;
  font-size: 13px;
  color: var(--tb-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

@keyframes tb-pulse-dot {
  0%, 100% {
    box-shadow: 0 0 0 0 var(--tb-primary-glow);
  }
  50% {
    box-shadow: 0 0 0 7px rgba(245, 130, 32, 0);
  }
}

/* ============================================================
   Секции: общее
   ============================================================ */

.tablichki-scope .tb-section {
padding: clamp(56px, 7vw, 96px) 0;
}

/* Вариант 6 Искры: фон убран с блока преимуществ, полупрозрачные искры перенесены на .tb-container */
.tablichki-scope .tb-section--alt {
background: none;
}

.tablichki-scope .tb-section--alt .tb-container {
	background: none;
	border-radius: var(--tb-radius);
}

.tablichki-scope .tb-section__header {
  max-width: 760px;
  margin: 0 auto 48px;
  text-align: center;
}

.tablichki-scope .tb-badge {
  display: inline-block;
  padding: 7px 16px;
  margin-bottom: 16px;
  background: var(--tb-primary-light);
  border: 1px solid rgba(245, 130, 32, 0.25);
  border-radius: 999px;
  color: var(--tb-primary-hover);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.tablichki-scope .tb-section__title {
  margin: 0 0 14px;
  font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
  font-size: clamp(26px, 3.6vw, 40px);
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
}

.tablichki-scope .tb-section__subtitle {
  margin: 0;
  font-size: 17px;
  color: var(--tb-text-muted);
}

/* ============================================================
   Преимущества
   ============================================================ */

.tablichki-scope .tb-features__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.tablichki-scope .tb-feature-card {
  position: relative;
  padding: 30px 26px;
  background: var(--tb-card);
  border: 1px solid var(--tb-border);
  border-radius: var(--tb-radius);
  overflow: hidden;
  transition: all var(--tb-transition);
}

.tablichki-scope .tb-feature-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--tb-primary), var(--tb-primary-hover));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--tb-transition);
}

.tablichki-scope .tb-feature-card:hover {
  transform: translateY(-8px);
  border-color: rgba(245, 130, 32, 0.30);
  box-shadow: var(--tb-shadow-hover);
}

.tablichki-scope .tb-feature-card:hover::before {
  transform: scaleX(1);
}

.tablichki-scope .tb-feature-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin-bottom: 18px;
  background: var(--tb-primary-light);
  border: 1px solid rgba(245, 130, 32, 0.25);
  border-radius: var(--tb-radius-sm);
  color: var(--tb-primary-hover);
}

.tablichki-scope .tb-feature-card__icon svg {
  width: 26px;
  height: 26px;
}

.tablichki-scope .tb-feature-card__title {
  margin: 0 0 10px;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.3;
}

.tablichki-scope .tb-feature-card__text {
  margin: 0;
  font-size: 15px;
  color: var(--tb-text-muted);
}

/* ============================================================
   Что мы изготавливаем / услуги
   ============================================================ */

.tablichki-scope .tb-services__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.tablichki-scope .tb-service-card {
  display: flex;
  flex-direction: column;
  padding: 28px 24px;
  background: var(--tb-card);
  border: 1px solid var(--tb-border);
  border-radius: var(--tb-radius);
  transition: all var(--tb-transition);
}

.tablichki-scope .tb-service-card:hover {
  transform: translateY(-8px);
  border-color: rgba(245, 130, 32, 0.35);
  box-shadow: var(--tb-shadow-hover);
}

.tablichki-scope .tb-service-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  margin-bottom: 18px;
  background: var(--tb-primary-light);
  border: 1px solid rgba(245, 130, 32, 0.25);
  border-radius: var(--tb-radius-sm);
  color: var(--tb-primary-hover);
}

.tablichki-scope .tb-service-card__icon svg {
  width: 28px;
  height: 28px;
}

.tablichki-scope .tb-service-card__title {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
}

.tablichki-scope .tb-service-card__text {
  margin: 0 0 16px;
  flex-grow: 1;
  font-size: 14.5px;
  color: var(--tb-text-muted);
}

.tablichki-scope .tb-service-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  color: var(--tb-primary-hover);
  text-decoration: none;
  transition: gap var(--tb-transition);
}

.tablichki-scope .tb-service-card__link:hover {
  gap: 12px;
}

.tablichki-scope .tb-service-card__link svg {
  width: 18px;
  height: 18px;
}

/* ============================================================
   Этапы работы
   ============================================================ */

.tablichki-scope .tb-steps__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.tablichki-scope .tb-step-card {
  position: relative;
  padding: 34px 24px 28px;
  background: var(--tb-card);
  border: 1px solid var(--tb-border);
  border-radius: var(--tb-radius);
  overflow: hidden;
  transition: all var(--tb-transition);
}

.tablichki-scope .tb-step-card:hover {
  transform: translateY(-6px);
  border-color: rgba(245, 130, 32, 0.30);
  box-shadow: var(--tb-shadow-hover);
}

.tablichki-scope .tb-step-card__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 46px;
  margin-bottom: 16px;
  padding: 0 10px;
  background: linear-gradient(135deg, var(--tb-primary) 0%, var(--tb-primary-hover) 100%);
  border-radius: var(--tb-radius-sm);
  font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #ffffff;
  box-shadow: 0 8px 20px rgba(245, 130, 32, 0.30);
}

.tablichki-scope .tb-step-card__title {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
}

.tablichki-scope .tb-step-card__text {
  margin: 0;
  font-size: 14.5px;
  color: var(--tb-text-muted);
}

/* ============================================================
   Фотогалерея
   ============================================================ */

.tablichki-scope .tb-photo-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.tablichki-scope .tb-photo-item {
  position: relative;
  border-radius: var(--tb-radius);
  overflow: hidden;
  border: 1px solid var(--tb-border);
  aspect-ratio: 4 / 3;
  background: var(--tb-card-solid);
  transition: all var(--tb-transition);
}

.tablichki-scope .tb-photo-item:hover {
  transform: translateY(-6px);
  box-shadow: var(--tb-shadow-hover);
  border-color: rgba(245, 130, 32, 0.35);
}

.tablichki-scope .tb-photo-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--tb-transition);
}

.tablichki-scope .tb-photo-item:hover img {
  transform: scale(1.05);
}

.tablichki-scope .tb-photo-item__overlay {
  position: absolute;
  inset: auto 0 0 0;
  padding: 36px 18px 14px;
  background: linear-gradient(180deg, rgba(10, 10, 14, 0) 0%, rgba(10, 10, 14, 0.85) 100%);
  pointer-events: none;
}

.tablichki-scope .tb-photo-item__caption {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--tb-text);
}

/* ============================================================
   Отзывы
   ============================================================ */

.tablichki-scope .tb-reviews__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.tablichki-scope .tb-review-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 28px 26px;
  background: var(--tb-card);
  border: 1px solid var(--tb-border);
  border-radius: var(--tb-radius);
  transition: all var(--tb-transition);
}

.tablichki-scope .tb-review-card:hover {
  transform: translateY(-6px);
  border-color: rgba(245, 130, 32, 0.30);
  box-shadow: var(--tb-shadow-hover);
}

.tablichki-scope .tb-review-card__stars {
  display: flex;
  gap: 4px;
  color: var(--tb-primary-hover);
  font-size: 16px;
  letter-spacing: 2px;
}

.tablichki-scope .tb-review-card__text {
  margin: 0;
  flex-grow: 1;
  font-size: 15px;
  color: var(--tb-text-muted);
}

.tablichki-scope .tb-review-card__author {
  display: flex;
  align-items: center;
  gap: 12px;
}

.tablichki-scope .tb-review-card__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--tb-primary) 0%, var(--tb-primary-hover) 100%);
  font-weight: 700;
  color: #ffffff;
}

.tablichki-scope .tb-review-card__name {
  font-size: 15px;
  font-weight: 700;
}

.tablichki-scope .tb-review-card__meta {
  margin-top: 2px;
  font-size: 13px;
  color: var(--tb-text-dim);
}

/* ============================================================
   FAQ
   ============================================================ */

.tablichki-scope .tb-faq__list {
  max-width: 860px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.tablichki-scope .tb-faq__item {
  background: var(--tb-card);
  border: 1px solid var(--tb-border);
  border-radius: var(--tb-radius);
  overflow: hidden;
  transition: border-color var(--tb-transition);
}

.tablichki-scope .tb-faq__item:hover {
  border-color: rgba(245, 130, 32, 0.30);
}

.tablichki-scope .tb-faq__question {
  margin: 0;
  padding: 20px 24px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
}

.tablichki-scope .tb-faq__question::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 12px;
  border-radius: 50%;
  background: var(--tb-primary);
  box-shadow: 0 0 8px var(--tb-primary-glow);
}

.tablichki-scope .tb-faq__answer {
  padding: 0 24px 22px;
  margin: 0;
  font-size: 15px;
  color: var(--tb-text-muted);
}

/* ============================================================
   CTA
   ============================================================ */

.tablichki-scope .tb-cta {
	padding: clamp(56px, 7vw, 96px) 0;
	background: none;
}

.tablichki-scope .tb-cta__card {
	max-width: 860px;
	margin: 0 auto;
	padding: clamp(32px, 5vw, 56px);
	text-align: center;
	background: var(--tb-card);
	border: 1px solid rgba(245, 130, 32, 0.25);
	border-radius: var(--tb-radius-lg);
	box-shadow: 0 0 24px rgba(245, 130, 32, 0.25), 0 0 60px rgba(245, 130, 32, 0.10);
	transition: border-color var(--tb-transition), box-shadow var(--tb-transition);
}

.tablichki-scope .tb-cta__card:hover {
	border-color: rgba(245, 130, 32, 0.50);
	box-shadow: 0 0 30px rgba(245, 130, 32, 0.45), 0 0 80px rgba(245, 130, 32, 0.20);
}

.tablichki-scope .tb-cta__title {
  margin: 0 0 14px;
  font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
  font-size: clamp(24px, 3.4vw, 36px);
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}

.tablichki-scope .tb-cta__text {
  max-width: 640px;
  margin: 0 auto 22px;
  font-size: 16px;
  color: var(--tb-text-muted);
}

.tablichki-scope .tb-cta__phone {
  display: inline-block;
  margin-bottom: 22px;
  font-family: 'Oswald', 'Arial Narrow', system-ui, sans-serif;
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 700;
  color: var(--tb-primary-hover);
  text-decoration: none;
  transition: color var(--tb-transition);
}

.tablichki-scope .tb-cta__phone:hover {
  color: var(--tb-primary);
}

.tablichki-scope .tb-cta .tb-actions {
  justify-content: center;
}

.tablichki-scope .tb-cta__note {
  margin: 18px 0 0;
  font-size: 13px;
  color: var(--tb-text-dim);
}

/* ============================================================
   Адаптивность
   ============================================================ */

@media (max-width: 1023px) {
  .tablichki-scope .tb-features__grid,
  .tablichki-scope .tb-services__grid,
  .tablichki-scope .tb-steps__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tablichki-scope .tb-photo-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tablichki-scope .tb-reviews__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
.tablichki-scope .tb-hero {
margin: -28px -16px;
padding-left: 16px;
padding-right: 16px;
}
}
@media (max-width: 640px) {
.tablichki-scope .tb-hero__stats {
grid-template-columns: 1fr;
}

  .tablichki-scope .tb-features__grid,
  .tablichki-scope .tb-services__grid,
  .tablichki-scope .tb-steps__grid,
  .tablichki-scope .tb-photo-gallery__grid {
    grid-template-columns: 1fr;
  }

  .tablichki-scope .tb-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .tablichki-scope .tb-btn {
    width: 100%;
  }
}

/* === modules/theme-proba2-vorota-iz-metalla.css === */
/* theme-proba2-vorota-iz-metalla.css: vorota-iz-metalla page scope — redesigned with effects */
.vorota-scope{--vt-bg:#0f1216;--vt-card:#181d24;--vt-card2:#1e242d;--vt-line:#2a323c;--vt-accent:#e6602b;--vt-accent2:#ff9a3c;--vt-accent3:#ffd166;--vt-text:#eceff3;--vt-muted:#9aa5b1;--vt-r:20px;--vt-r-sm:14px;position:relative;background-color:transparent;background-image:none;color:var(--vt-text);line-height:1.65}
.vorota-scope .vt-container{max-width:1200px;margin:0 auto;padding:0 16px}
.vorota-scope *,.vorota-scope *:before,.vorota-scope *:after{box-sizing:border-box}
.vorota-scope img{max-width:100%;height:auto;display:block}
/* === Decorative glow layers === */
.vt-glow{position:absolute;top:-180px;left:50%;width:720px;height:400px;margin-left:-360px;background:radial-gradient(closest-side,rgba(230,96,43,.22),transparent 70%);pointer-events:none;animation:vt-pulse 6s ease-in-out infinite alternate}
.vorota-scope:after{content:"";position:absolute;bottom:-120px;right:-100px;width:500px;height:400px;background:radial-gradient(closest-side,rgba(255,154,60,.1),transparent 70%);pointer-events:none}
@keyframes vt-pulse{0%{opacity:.6;transform:scale(1)}100%{opacity:1;transform:scale(1.08)}}
/* === Badge & Hero === */
.vt-badge{display:inline-block;padding:8px 18px;border:1px solid rgba(230,96,43,.55);border-radius:999px;color:var(--vt-accent2);font-size:12px;letter-spacing:.14em;text-transform:uppercase;background:linear-gradient(135deg,rgba(230,96,43,.12),rgba(255,154,60,.06));backdrop-filter:blur(4px);box-shadow:0 0 20px rgba(230,96,43,.15)}
.vt-hero{position:relative;padding:clamp(48px,6vw,80px) 0 16px}
.vorota-scope .vt-hero .vt-container{display:flex;align-items:center;gap:40px}
.vt-hero-text{flex:1 1 55%;min-width:0;text-align:left}
.vt-lead{max-width:560px;margin:18px 0 0;font-size:19px;color:var(--vt-muted);line-height:1.7}
.vt-hero-img{flex:0 0 45%;max-width:45%;margin:0;border-radius:var(--vt-r);box-shadow:0 30px 70px rgba(0,0,0,.5),0 0 40px rgba(230,96,43,.08);border:1px solid rgba(255,255,255,.06);transition:transform .5s cubic-bezier(.25,.46,.45,.94),box-shadow .5s}
.vt-hero-img:hover{transform:translateY(-4px) scale(1.005);box-shadow:0 40px 80px rgba(0,0,0,.55),0 0 60px rgba(230,96,43,.12)}
.vorota-scope .vt-block{padding:clamp(56px,7vw,96px) 0;position:relative}
@media(max-width:820px){.vorota-scope .vt-hero .vt-container{flex-direction:column;align-items:stretch;gap:24px}.vt-hero-text{text-align:center}.vt-lead{margin:18px auto 0}.vt-hero-img{flex:none;width:100%;max-width:680px;margin:0 auto}}
/* === Headings === */
.vt-h2{position:relative;margin:64px 0 10px;font-size:clamp(26px,3.6vw,36px);line-height:1.2;color:#fff;font-weight:800;letter-spacing:-.02em}
.vt-h2:after{content:"";display:block;width:80px;height:4px;margin-top:14px;border-radius:4px;background:linear-gradient(90deg,var(--vt-accent),var(--vt-accent2));box-shadow:0 2px 12px rgba(230,96,43,.4)}
.vt-sub{margin:0 0 26px;color:var(--vt-muted);font-size:15px}
/* === Advantages grid === */
/* Вариант 6 Искры: фон убран с карточек блока преимуществ, полупрозрачные искры перенесены на обёртку .vt-adv (аналог .container) */
.vt-adv{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46'%3E%3Cpath d='M8 6l4 4M34 16l5-5M20 32l4 4' stroke='%23ff9340' stroke-opacity='0.15' fill='none'/%3E%3Ccircle cx='30' cy='6' r='1.3' fill='%23ff9340' fill-opacity='0.16'/%3E%3Ccircle cx='10' cy='38' r='1' fill='%23ff9340' fill-opacity='0.13'/%3E%3C/svg%3E");background-repeat:repeat;border-radius:var(--vt-r)}
.vt-adv-item{background:none;border:1px solid var(--vt-line);border-radius:var(--vt-r-sm);padding:24px 22px 22px 26px;position:relative;overflow:hidden;transition:transform .35s,box-shadow .35s,border-color .35s}
.vt-adv-item:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--vt-accent),var(--vt-accent2));border-radius:2px;transition:width .3s}
.vt-adv-item:after{content:"";position:absolute;top:-40px;right:-40px;width:100px;height:100px;background:radial-gradient(closest-side,rgba(230,96,43,.12),transparent 70%);opacity:0;transition:opacity .4s}
.vt-adv-item:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(230,96,43,.12);border-color:rgba(230,96,43,.35)}
.vt-adv-item:hover:before{width:6px}
.vt-adv-item:hover:after{opacity:1}
.vt-adv-item strong{display:block;margin-bottom:8px;color:#fff;font-size:16px}
.vt-adv-item span{color:var(--vt-muted);font-size:14px;line-height:1.55}
/* === Types cards === */
.vt-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:28px}
.vt-type{position:relative;background:var(--vt-card);border:1px solid var(--vt-line);border-radius:var(--vt-r);overflow:hidden;transition:transform .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s,border-color .4s}
.vt-type:hover{transform:translateY(-8px) scale(1.01);box-shadow:0 24px 60px rgba(0,0,0,.45),0 0 30px rgba(230,96,43,.1);border-color:rgba(230,96,43,.4)}
.vt-type img{width:100%;height:210px;object-fit:cover;transition:transform .5s cubic-bezier(.25,.46,.45,.94),filter .5s}
.vt-type:hover img{transform:scale(1.07);filter:brightness(1.05)}
.vt-type:before{content:"";position:absolute;top:0;left:0;right:0;height:210px;background:linear-gradient(180deg,transparent 50%,rgba(15,18,22,.6) 100%);pointer-events:none;z-index:1;opacity:0;transition:opacity .4s}
.vt-type:hover:before{opacity:1}
.vt-type-body{padding:22px 20px}
.vt-type-body h3{margin:0 0 10px;color:#fff;font-size:18px;font-weight:700;transition:color .3s}
.vt-type:hover .vt-type-body h3{color:var(--vt-accent2)}
.vt-type-body p{margin:0;color:var(--vt-muted);font-size:14px;line-height:1.6}
/* === Steps === */
.vt-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:28px;counter-reset:vt-step}
.vt-step{position:relative;background:var(--vt-card);border:1px solid var(--vt-line);border-radius:var(--vt-r-sm);padding:24px 20px 22px 58px;transition:border-color .35s,transform .35s,box-shadow .35s}
.vt-step:hover{border-color:rgba(230,96,43,.45);transform:translateY(-4px);box-shadow:0 12px 32px rgba(230,96,43,.1)}
.vt-step:before{content:attr(data-num);position:absolute;top:20px;left:18px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,var(--vt-accent),var(--vt-accent2));color:#fff;font-size:13px;font-weight:800;box-shadow:0 4px 14px rgba(230,96,43,.35);transition:transform .3s,box-shadow .3s}
.vt-step:hover:before{transform:scale(1.15);box-shadow:0 6px 20px rgba(230,96,43,.5)}
.vt-step h3{margin:0 0 8px;font-size:16px;color:#fff;font-weight:700}
.vt-step p{margin:0;color:var(--vt-muted);font-size:14px;line-height:1.55}
/* === Works gallery === */
.vt-works{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:28px}
.vt-works img{width:100%;height:200px;object-fit:cover;border-radius:var(--vt-r-sm);border:1px solid rgba(255,255,255,.05);transition:transform .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s,border-color .4s;cursor:pointer}
.vt-works img:hover{transform:scale(1.04) translateY(-3px);box-shadow:0 20px 50px rgba(0,0,0,.5),0 0 24px rgba(230,96,43,.12);border-color:rgba(230,96,43,.35)}
/* === Services === */
.vt-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:28px}
.vt-service{background:linear-gradient(160deg,var(--vt-card),var(--vt-card2));border:1px solid var(--vt-line);border-radius:var(--vt-r-sm);padding:24px;transition:transform .35s,border-color .35s,box-shadow .35s;position:relative;overflow:hidden}
.vt-service:after{content:"";position:absolute;bottom:-30px;right:-30px;width:90px;height:90px;background:radial-gradient(closest-side,rgba(255,154,60,.1),transparent 70%);opacity:0;transition:opacity .4s}
.vt-service:hover{transform:translateY(-5px);border-color:rgba(230,96,43,.4);box-shadow:0 14px 36px rgba(230,96,43,.1)}
.vt-service:hover:after{opacity:1}
.vt-service h3{margin:0 0 10px;font-size:17px;color:#fff;font-weight:700}
.vt-service p{margin:0;color:var(--vt-muted);font-size:14px;line-height:1.6}
/* === Reviews === */
.vt-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:28px}
.vt-reviews blockquote{position:relative;background:var(--vt-card);border:1px solid var(--vt-line);border-left:4px solid var(--vt-accent);border-radius:var(--vt-r-sm);padding:24px 22px;margin:0;font-style:italic;color:var(--vt-muted);font-size:15px;line-height:1.65;transition:transform .35s,box-shadow .35s,border-color .35s}
.vt-reviews blockquote:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.3);border-color:rgba(230,96,43,.3)}
.vt-reviews blockquote:before{content:"\201C";position:absolute;top:12px;right:18px;font-size:48px;color:rgba(230,96,43,.2);font-style:normal;line-height:1}
/* === FAQ === */
.vt-faq{margin-top:28px;display:flex;flex-direction:column;gap:14px}
.vt-faq-item{background:var(--vt-card);border:1px solid var(--vt-line);border-radius:var(--vt-r-sm);padding:22px 24px;transition:border-color .35s,background .35s,transform .3s}
.vt-faq-item:hover{border-color:rgba(230,96,43,.45);background:var(--vt-card2);transform:translateX(4px)}
.vt-faq-item h3{margin:0 0 10px;font-size:16px;color:#fff;position:relative;padding-right:30px;font-weight:700}
.vt-faq-item h3:after{content:"+";position:absolute;top:0;right:0;color:var(--vt-accent2);font-size:22px;line-height:1;transition:transform .3s}
.vt-faq-item:hover h3:after{transform:rotate(90deg)}
.vt-faq-item p{margin:0;color:var(--vt-muted);font-size:14px;line-height:1.7}
/* === CTA === */
.vt-cta{margin-top:64px;text-align:center;background:linear-gradient(145deg,rgba(230,96,43,.14),rgba(255,154,60,.06));border:1px solid rgba(230,96,43,.35);border-radius:24px;padding:48px 30px;position:relative;overflow:hidden}
.vt-cta:before{content:"";position:absolute;top:-90px;right:-90px;width:280px;height:280px;background:radial-gradient(closest-side,rgba(255,154,60,.2),transparent 70%);pointer-events:none;animation:vt-pulse 5s ease-in-out infinite alternate}
.vt-cta:after{content:"";position:absolute;bottom:-60px;left:-60px;width:200px;height:200px;background:radial-gradient(closest-side,rgba(230,96,43,.15),transparent 70%);pointer-events:none}
.vt-cta h2{margin:0 0 12px;font-size:clamp(24px,3.2vw,32px);color:#fff;font-weight:800}
.vt-cta p{margin:0 0 26px;color:var(--vt-muted);font-size:16px}
.vt-btn{display:inline-block;padding:16px 38px;border-radius:14px;background:linear-gradient(135deg,var(--vt-accent),var(--vt-accent2));color:#fff;font-weight:800;font-size:16px;text-decoration:none;letter-spacing:.02em;transition:transform .3s,box-shadow .3s;box-shadow:0 12px 30px rgba(230,96,43,.35);position:relative;overflow:hidden}
.vt-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}
.vt-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 18px 44px rgba(230,96,43,.5);color:#fff}
.vt-btn:hover:before{left:100%}
/* === Scroll reveal animations === */
.vorota-scope .vt-hero,.vorota-scope .vt-adv-item,.vorota-scope .vt-type,.vorota-scope .vt-step,.vorota-scope .vt-works img,.vorota-scope .vt-service,.vorota-scope .vt-reviews blockquote,.vorota-scope .vt-faq-item,.vorota-scope .vt-cta{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94)}
.vorota-scope .vt-hero.is-revealed,.vorota-scope .is-revealed .vt-adv-item,.vorota-scope .is-revealed .vt-type,.vorota-scope .is-revealed .vt-step,.vorota-scope .is-revealed .vt-works img,.vorota-scope .is-revealed .vt-service,.vorota-scope .is-revealed .vt-reviews blockquote,.vorota-scope .is-revealed .vt-faq-item,.vorota-scope .is-revealed .vt-cta{opacity:1;transform:none}
/* Stagger delays for grid children */
.vorota-scope .vt-adv-item:nth-child(2),.vorota-scope .vt-type:nth-child(2),.vorota-scope .vt-step:nth-child(2),.vorota-scope .vt-service:nth-child(2){transition-delay:.08s}
.vorota-scope .vt-adv-item:nth-child(3),.vorota-scope .vt-type:nth-child(3),.vorota-scope .vt-step:nth-child(3),.vorota-scope .vt-service:nth-child(3){transition-delay:.16s}
.vorota-scope .vt-adv-item:nth-child(4),.vorota-scope .vt-type:nth-child(4),.vorota-scope .vt-step:nth-child(4),.vorota-scope .vt-service:nth-child(4){transition-delay:.24s}
.vorota-scope .vt-step:nth-child(5){transition-delay:.32s}
.vorota-scope .vt-works img:nth-child(2){transition-delay:.06s}
.vorota-scope .vt-works img:nth-child(3){transition-delay:.12s}
.vorota-scope .vt-works img:nth-child(4){transition-delay:.18s}
.vorota-scope .vt-works img:nth-child(5){transition-delay:.24s}
.vorota-scope .vt-works img:nth-child(6){transition-delay:.3s}
/* === Responsive === */
@media(max-width:720px){.vorota-scope{padding:28px 16px 36px;border-radius:18px}.vt-hero{padding:20px 0 10px}.vt-h2{margin-top:44px}.vt-cta{padding:32px 18px}.vt-types{grid-template-columns:1fr}.vt-works{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.vt-works img{height:150px}}
@media(prefers-reduced-motion:reduce){.vorota-scope *,.vorota-scope *:before,.vorota-scope *:after{transition:none!important;animation:none!important}.vorota-scope .vt-hero,.vorota-scope .vt-adv-item,.vorota-scope .vt-type,.vorota-scope .vt-step,.vorota-scope .vt-works img,.vorota-scope .vt-service,.vorota-scope .vt-reviews blockquote,.vorota-scope .vt-faq-item,.vorota-scope .vt-cta{opacity:1;transform:none}}

/* === modules/theme-proba2-works-gallery.css === */
/*! source: секция «Наши работы» на главной */
/* Works Gallery: карточки проектов в цветах #1a1d22 / #f65908 */

/* === СЕКЦИЯ: мягкое свечение фона === */
.works-gallery{position:relative;max-width:1400px;margin:0 auto;padding:0 16px}
.works-gallery::before{content:"";position:absolute;top:-70px;left:50%;transform:translateX(-50%);width:min(760px,92%);height:360px;background:radial-gradient(ellipse at center,rgba(246,89,8,.10),transparent 66%);pointer-events:none;z-index:0}
.works-gallery>*{position:relative;z-index:1}

/* === ЗАГОЛОВОК СЕКЦИИ === */
.works-gallery__header{text-align:center;margin-bottom:42px}
.works-gallery__header h2{position:relative;display:inline-block;margin:0 0 14px;font-size:clamp(1.6rem,3.6vw,2.35rem);font-weight:800;color:#fff;padding-bottom:16px;letter-spacing:-.01em;text-shadow:0 2px 20px rgba(246,89,8,.16)}
.works-gallery__header h2::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:86px;height:3px;border-radius:2px;background:linear-gradient(90deg,#f65908,#ffb347,#f65908);background-size:200% 100%;box-shadow:0 0 14px rgba(246,89,8,.6);animation:wgLineFlow 4.5s linear infinite}
.page-block--limited .page__content .works-gallery__header h2::after,.page__content--limited .works-gallery__header h2::after{left:50%;transform:translateX(-50%)}
@keyframes wgLineFlow{0%{background-position:0% 0}100%{background-position:200% 0}}
.works-gallery__header p{margin:0;font-size:15px;line-height:1.65;color:rgba(255,255,255,.64);max-width:620px;margin-left:auto;margin-right:auto}

/* === СЕТКА === */
.works-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:250px;grid-auto-flow:dense;gap:22px}
.works-gallery__card{height:100%}
/* Акцентная первая карточка: 2×2 для визуального ритма */
.works-gallery__grid>.works-gallery__card:first-child:not(.works-gallery__card--video){grid-column:span 2;grid-row:span 2}
/* Единая высота медиа: ровные плитки без «дыр» */
.works-gallery__grid .works-gallery__img-wrap{aspect-ratio:auto;height:100%}
/* Надписи на фото скрыты — подписи остаются только на видео */
.works-gallery__grid>.works-gallery__card:not(.works-gallery__card--video) .works-gallery__label,
.works-gallery__grid>.works-gallery__card:not(.works-gallery__card--video) .works-gallery__title{display:none}

/* === КАРТОЧКА === */
.works-gallery__card{position:relative;display:block;overflow:hidden;border-radius:18px;background:#1a1d22;border:1px solid rgba(255,255,255,.08);text-decoration:none;box-shadow:0 4px 18px rgba(0,0,0,.28);transition:transform .4s cubic-bezier(.22,.61,.36,1),box-shadow .4s ease,border-color .4s ease}
.works-gallery__card:hover{transform:translateY(-8px);border-color:rgba(246,89,8,.55);box-shadow:0 22px 48px rgba(0,0,0,.5),0 0 34px rgba(246,89,8,.2)}

/* Блик, пробегающий по карточке при наведении */
.works-gallery__card::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.13),transparent);transform:skewX(-20deg);transition:left .7s ease;pointer-events:none;z-index:3}
.works-gallery__card:hover::after{left:135%}

/* === МЕДИА-ОБЁРТКА === */
.works-gallery__img-wrap{position:relative;overflow:hidden;aspect-ratio:4/3;background:#16181d}
.works-gallery__img-wrap img{width:100%;height:100%;object-fit:cover;filter:saturate(.96);transition:transform .6s cubic-bezier(.22,.61,.36,1),filter .6s ease}
.works-gallery__card:hover .works-gallery__img-wrap img{transform:scale(1.08);filter:saturate(1.12) brightness(1.07)}

/* Градиентный оверлей */
.works-gallery__overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 36%,rgba(26,29,34,.95) 100%);opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:1}
.works-gallery__card:hover .works-gallery__overlay{opacity:1}

/* === ПОДПИСЬ (label): стеклянная плашка === */
.works-gallery__label{position:absolute;left:14px;right:14px;bottom:14px;display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:12px;background:rgba(26,29,34,.55);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:14px;font-weight:700;color:#fff;opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s cubic-bezier(.22,.61,.36,1);z-index:2}
.works-gallery__card:hover .works-gallery__label{opacity:1;transform:translateY(0)}
.works-gallery__label-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:8px;background:rgba(246,89,8,.22);border:1px solid rgba(246,89,8,.45);color:#f65908;transition:background .3s ease,box-shadow .3s ease}
.works-gallery__card:hover .works-gallery__label-icon{background:rgba(246,89,8,.3);box-shadow:0 0 12px rgba(246,89,8,.5)}
.works-gallery__label-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Категория (title) над подписью */
.works-gallery__title{position:absolute;left:16px;right:16px;bottom:66px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#ffb347;text-shadow:0 1px 8px rgba(0,0,0,.5);opacity:0;transform:translateY(8px);transition:opacity .35s ease .06s,transform .35s ease .06s;z-index:2}
.works-gallery__card:hover .works-gallery__title{opacity:1;transform:translateY(0)}

/* === ВИДЕО-КАРТОЧКИ (крупные) === */
.works-gallery__card--video{grid-column:span 2;grid-row:span 2;border-radius:20px;border:1px solid rgba(246,89,8,.2);box-shadow:0 6px 24px rgba(0,0,0,.34)}
.works-gallery__card--video:hover{transform:translateY(-8px);border-color:rgba(246,89,8,.6);box-shadow:0 24px 54px rgba(0,0,0,.52),0 0 36px rgba(246,89,8,.24)}
.works-gallery__img-wrap--video{aspect-ratio:16/9}
.works-gallery__img-wrap--video video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.4,0,.2,1),filter .5s ease}
.works-gallery__card--video:hover .works-gallery__img-wrap--video video{transform:scale(1.04);filter:brightness(1.12)}
.works-gallery__card--video .works-gallery__overlay{background:linear-gradient(180deg,transparent 30%,rgba(26,29,34,.95) 100%)}
.works-gallery__card--video .works-gallery__label{bottom:18px;font-size:15px}
.works-gallery__card--video .works-gallery__title{bottom:70px}

/* === КНОПКА «Все объекты» === */
.works-gallery__more{display:flex;justify-content:center;margin-top:36px}
.works-gallery__more-btn{position:relative;display:inline-flex;align-items:center;gap:10px;padding:14px 34px;border-radius:999px;background:rgba(246,89,8,.08);border:1px solid rgba(246,89,8,.45);color:#f65908;font-size:15px;font-weight:700;text-decoration:none;overflow:hidden;transition:background .3s ease,border-color .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease}
.works-gallery__more-btn:hover{background:rgba(246,89,8,.16);border-color:#f65908;color:#ffb347;transform:translateY(-3px);box-shadow:0 10px 28px rgba(246,89,8,.3)}
.works-gallery__more-btn::before{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.25),transparent);transform:skewX(-20deg);transition:left .6s ease}
.works-gallery__more-btn:hover::before{left:150%}
.works-gallery__more-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s ease}
.works-gallery__more-btn:hover svg{transform:translateX(5px)}

/* === ПОЯВЛЕНИЕ ПРИ СКРОЛЛЕ (каскад) === */
@keyframes wgFadeUp{0%{opacity:0;transform:translateY(26px)}100%{opacity:1;transform:none}}
.page-block--limited.is-revealed .works-gallery__header{animation:wgFadeUp .7s ease backwards}
.page-block--limited.is-revealed .works-gallery__card{animation:wgFadeUp .6s cubic-bezier(.22,.61,.36,1) backwards}
.page-block--limited.is-revealed .works-gallery__grid .works-gallery__card:nth-child(1){animation-delay:.1s}
.page-block--limited.is-revealed .works-gallery__grid .works-gallery__card:nth-child(2){animation-delay:.18s}
.page-block--limited.is-revealed .works-gallery__grid .works-gallery__card:nth-child(3){animation-delay:.26s}
.page-block--limited.is-revealed .works-gallery__grid .works-gallery__card:nth-child(4){animation-delay:.34s}
.page-block--limited.is-revealed .works-gallery__grid .works-gallery__card:nth-child(5){animation-delay:.42s}
.page-block--limited.is-revealed .works-gallery__grid .works-gallery__card:nth-child(6){animation-delay:.5s}
.page-block--limited.is-revealed .works-gallery__grid .works-gallery__card:nth-child(7){animation-delay:.58s}
.page-block--limited.is-revealed .works-gallery__grid .works-gallery__card:nth-child(8){animation-delay:.66s}

/* === АДАПТИВ === */
@media(max-width:900px){
.works-gallery__grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:240px;gap:18px}
.works-gallery__card--video{grid-column:span 2}
}
@media(max-width:560px){
.works-gallery__grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:16px}
.works-gallery__card:hover{transform:translateY(-5px)}
.works-gallery__card--video{grid-column:span 1;grid-row:span 1}
.works-gallery__grid>.works-gallery__card:first-child:not(.works-gallery__card--video){grid-column:span 1;grid-row:span 1}
.works-gallery__grid .works-gallery__img-wrap{aspect-ratio:4/3;height:auto}
.works-gallery__grid .works-gallery__img-wrap--video{aspect-ratio:16/10}
.works-gallery__title{bottom:62px}
.works-gallery__card--video .works-gallery__title{bottom:66px}
}

/* === ДОСТУПНОСТЬ === */
@media(prefers-reduced-motion:reduce){
.works-gallery__card,.works-gallery__img-wrap img,.works-gallery__overlay,.works-gallery__label,.works-gallery__title,.works-gallery__more-btn,.works-gallery__label-icon{transition:none}
.works-gallery__card:hover .works-gallery__img-wrap img,.works-gallery__card--video:hover .works-gallery__img-wrap--video video{transform:none}
.works-gallery__header h2::after,.works-gallery__card::after,.works-gallery__more-btn::before{animation:none;transition:none}
.page-block--limited.is-revealed .works-gallery__header,.page-block--limited.is-revealed .works-gallery__card{animation:none}
}

/* === modules/theme-proba2-zayavka.css === */
/*! source: секция заявки на главной (#zayavka) — Вариант 2: Glassmorphism-панель поверх фото */
/* Фон: tpl25_frezernyj_stanok1_1.webp → /uploads/media/2026/08/media_6a7ec7bbb1c061.44240395.webp */
/* Тёмный графит #111318 / #1a1d22, оранжевый акцент #f58220 (стилистика proba-2) */

/* ============================================================
   Секция: полноширинный фон-фото с полупрозрачным оверлеем
   ============================================================ */
#zayavka {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.zayavka-section {
  position: relative;
  max-width: none;
  margin: 0;
  padding: clamp(48px, 7vw, 84px) 20px;
  font-family: var(--font-body, 'Inter', system-ui, -apple-system, sans-serif);
  color: #ffffff;
  overflow: hidden;
  box-sizing: border-box;
  background-color: #111318;
}

/* Фон с оверлеем (55% сверху → 70% снизу); повышенная специфика против внешних id-правил */
#zayavka.zayavka-section {
  background-image:
    linear-gradient(180deg, rgba(17, 19, 24, 0.55), rgba(17, 19, 24, 0.7)),
    url("/uploads/media/2026/08/media_6a7ec7bbb1c061.44240395.webp");
  background-size: cover;
  background-position: center;
}

/* Разметка без glass-панели (резерв): секция сама становится сеткой баннера */
.zayavka-section.zayavka-banner {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(320px, 1.1fr);
  gap: 28px;
  align-items: center;
  max-width: 1160px;
  margin: 0 auto;
}

/* Разметка с glass-панелью: секция работает только как фон-обёртка */
.zayavka-section.zayavka-banner:has(.zayavka-glass-panel) {
  display: block;
  max-width: none;
  margin: 0;
}

/* ============================================================
   Glassmorphism-панель поверх фото
   ============================================================ */
.zayavka-glass-panel {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 28px;
  align-items: center;
  padding: 36px;
  background: rgba(26, 29, 36, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 22px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

/* Левая часть: оффер */
.zayavka-banner-text { min-width: 0; text-align: left; }
.zayavka-banner-text h2 {
  margin: 0 0 10px;
  font-size: clamp(24px, 2.6vw, 32px);
  font-weight: 800;
  line-height: 1.2;
  color: #ffffff;
}
.zayavka-banner-text p {
  margin: 0;
  max-width: 480px;
  font-size: 15.5px;
  line-height: 1.6;
  color: #cbd5e1;
}

/* Правая часть: контейнер формы — тёмная glass-карточка */
.zayavka-banner-form {
  min-width: 0;
  background: rgba(10, 12, 15, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 22px 24px;
}

/* ============================================================
   Сетка полей формы «Обратный звонок» (callback).
   Поля строятся динамически через forms.js внутри [data-form-fields].
   ============================================================ */
.zayavka-section .zayavka-callback-form [data-form-fields] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 12px;
  margin-bottom: 10px;
}
.zayavka-section .zayavka-callback-form .form-group {
  margin: 0;
  min-width: 0;
}

/* Select и чекбокс согласия — на всю ширину сетки */
.zayavka-section .zayavka-callback-form .form-group[data-field-name="call_time"],
.zayavka-section .zayavka-callback-form .form-group[data-field-name="consent"] {
  grid-column: 1 / -1;
}

/* Компактные подписи полей */
.zayavka-section .zayavka-callback-form label {
  display: block;
  margin-bottom: 4px;
  font-size: 13px;
  line-height: 1.3;
  color: #aeb8c4;
}

/* Поля ввода */
.zayavka-section .zayavka-callback-form input[type="text"],
.zayavka-section .zayavka-callback-form input[type="tel"],
.zayavka-section .zayavka-callback-form input[type="email"],
.zayavka-section .zayavka-callback-form select {
  width: 100%;
  padding: 10px 13px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 10px;
  font-size: 14.5px;
  font-family: inherit;
  background: rgba(10, 12, 15, 0.55);
  color: #ffffff;
  transition: border-color 0.2s, box-shadow 0.2s;
  outline: none;
  box-sizing: border-box;
}
.zayavka-section .zayavka-callback-form input:focus,
.zayavka-section .zayavka-callback-form select:focus {
  border-color: #f58220;
  box-shadow: 0 0 0 3px rgba(245, 130, 32, 0.2);
}
.zayavka-section .zayavka-callback-form input::placeholder { color: #7f8894; }

/* Select со стрелкой */
.zayavka-section .zayavka-callback-form select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 38px;
}
.zayavka-section .zayavka-callback-form select option { background: #1a1d22; color: #ffffff; }

/* Чекбокс согласия */
.zayavka-section .zayavka-callback-form .form-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.zayavka-section .zayavka-callback-form .form-checkbox input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  accent-color: #f58220;
  flex: 0 0 auto;
  cursor: pointer;
}
.zayavka-section .zayavka-callback-form .form-checkbox label {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: #9ca3af;
  cursor: pointer;
}
.zayavka-section .zayavka-callback-form .form-checkbox label a {
  color: #f58220;
  text-decoration: none;
}
.zayavka-section .zayavka-callback-form .form-checkbox label a:hover { text-decoration: underline; }

/* Ошибки полей */
.zayavka-section .zayavka-callback-form .form-field__error {
  font-size: 12px;
  color: #f87171;
  margin-top: 4px;
  line-height: 1.3;
}
.zayavka-section .zayavka-callback-form .form-group--error input,
.zayavka-section .zayavka-callback-form .form-group--error select {
  border-color: rgba(248, 113, 113, 0.65);
}

/* Кнопка отправки */
.zayavka-section .zayavka-callback-form [data-form-submit],
.zayavka-section .zayavka-callback-form .btn--primary {
  width: 100%;
  padding: 12px 18px;
  background: #f58220;
  color: #ffffff;
  border: none;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
}
.zayavka-section .zayavka-callback-form [data-form-submit]:hover,
.zayavka-section .zayavka-callback-form .btn--primary:hover {
  background: #ff9340;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(245, 130, 32, 0.3);
}
.zayavka-section .zayavka-callback-form [data-form-submit]:disabled,
.zayavka-section .zayavka-callback-form .btn--primary:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* Статус формы (загрузка / успех / ошибка) */
.zayavka-section .zayavka-callback-form .form-status {
  font-size: 13.5px;
  line-height: 1.4;
  min-height: 12px;
  margin-bottom: 4px;
}
.zayavka-section .zayavka-callback-form .form-status.text-success { color: #4ade80; }
.zayavka-section .zayavka-callback-form .form-status.text-danger { color: #f87171; }
.zayavka-section .zayavka-callback-form .form-status.text-muted { color: #9ca3af; }

/* ============================================================
   Адаптив
   ============================================================ */
@media (max-width: 900px) {
  .zayavka-section { padding: 40px 16px; }
  .zayavka-section.zayavka-banner { grid-template-columns: 1fr; gap: 18px; }
  .zayavka-glass-panel { grid-template-columns: 1fr; gap: 18px; padding: 24px; }
  .zayavka-banner-text { text-align: center; }
  .zayavka-banner-text p { margin: 0 auto; }
}
@media (max-width: 480px) {
  .zayavka-section .zayavka-callback-form [data-form-fields] { grid-template-columns: 1fr; }
  .zayavka-banner-form { padding: 18px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .zayavka-section button,
  .zayavka-section input,
  .zayavka-section select,
  .zayavka-section a { transition: none; }
}

/* === modules/theme-switcher.css === */
/* theme-switcher.css
   Переключатель светлой/тёмной темы.
   Принудительные токены задаются на html[data-theme] — специфичность
   выше, чем у :root и @media (prefers-color-scheme), поэтому выбор
   пользователя перекрывает и дефолт, и системную схему.
   Тёмная тема — дефолт: если data-theme ещё не установлен
   (инлайн-скрипт в head не сработал), тёмные токены применяются
   через html:not([data-theme]). */

/* ---------- Принудительная светлая тема ----------
Тёплый айвори: молочно-бежевый холст, кремовые
поверхности, терракотовый акцент и тёплые тени. */
html[data-theme="light"] {
color-scheme: light;
/* Текст — тёплый тёмно-коричневый */
--color-text: #2c2420;
--color-text-muted: #8a7b6e;
--color-text-inverse: #ffffff;
/* Акцент — терракота */
--color-accent: #dc5d18;
--color-accent-hover: #c4500f;
/* Фоны: молочно-бежевый холст + кремовые поверхности */
--color-bg: #faf7f2;
--color-bg-alt: #fffdf9;
--color-bg-dark: #f0ebe3;
/* Границы — тёплые деликатные */
--color-border: rgba(120, 90, 60, 0.12);
--color-border-strong: rgba(120, 90, 60, 0.22);
/* Тени под тёплый холст — мягкие, с коричневатым подтоном */
--shadow-card: 0 1px 3px rgba(150, 110, 70, 0.06), 0 6px 20px rgba(150, 110, 70, 0.07);
--shadow-card-hover: 0 3px 12px rgba(150, 110, 70, 0.1), 0 14px 36px rgba(150, 110, 70, 0.09);
--shadow-modal: 0 18px 48px rgba(150, 110, 70, 0.16);
--shadow-header: 0 1px 0 rgba(150, 110, 70, 0.06);
}
/* Лёгкая тёплая глубина на холсте в светлой теме */
html[data-theme="light"] body {
background-color: var(--color-bg);
background-image:
radial-gradient(1100px 480px at 82% -8%, rgba(220, 93, 24, 0.05), transparent 60%),
radial-gradient(900px 420px at 8% -8%, rgba(180, 140, 100, 0.04), transparent 55%);
background-repeat: no-repeat;
}

/* ---------- v7-анимации: тёмная подложка в светлой теме ----------
Канвас-анимации v7 рисуют светлыми цветами через
globalCompositeOperation lighter. На светлом фоне
они невидимы, поэтому секциям с v7-эффектами
задаётся тёмная подложка. */
/* b60v1-bg-remove-v2: фон .b60v1 убран по запросу пользователя */
html[data-theme="light"] .offers-section,
html[data-theme="light"] .works-gallery,
html[data-theme="light"] .reviews-section,
html[data-theme="light"] .b61v5,
html[data-theme="light"] .faq {
	background-color: #1a1d22;
	background-image: radial-gradient(ellipse at top, rgba(246, 89, 8, 0.05), transparent 60%);
	border-radius: 16px;
}

/* ---------- Принудительная тёмная тема ---------- */
html[data-theme="dark"] {
  color-scheme: dark;
  --color-text: #f3f4f6;
  --color-text-muted: #9ca3af;
  --color-bg: #111318;
  --color-bg-alt: #1a1d24;
  --color-border: rgba(255, 255, 255, 0.12);
  --color-border-strong: rgba(255, 255, 255, 0.22);
}

/* ---------- Дефолт без data-theme (тёмная тема) ----------
   Страховка на случай, если инлайн-скрипт в head не сработал:
   до установки html[data-theme] страница остаётся тёмной. */
html:not([data-theme]) {
  color-scheme: dark;
  --color-text: #f3f4f6;
  --color-text-muted: #9ca3af;
  --color-bg: #111318;
  --color-bg-alt: #1a1d24;
  --color-border: rgba(255, 255, 255, 0.12);
  --color-border-strong: rgba(255, 255, 255, 0.22);
}

/* ---------- Кнопка переключателя ---------- */
.p2-theme-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 4px;
	background: none;
	border: none;
	font: inherit;
	line-height: 1;
	color: rgba(255, 255, 255, 0.6);
	color: color-mix(in srgb, var(--color-text-inverse) 60%, transparent);
	cursor: pointer;
	border-radius: 4px;
	transition: color .2s;
}
.p2-theme-toggle:hover,
.p2-theme-toggle:focus-visible {
	color: var(--color-primary);
}
.p2-theme-toggle:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

/* По умолчанию (если data-theme ещё не задан) показываем солнце */
.p2-theme-toggle__moon { display: none; }

/* Активна светлая тема -> показываем луну (переключение на тёмную) */
html[data-theme="light"] .p2-theme-toggle__sun { display: none; }
html[data-theme="light"] .p2-theme-toggle__moon { display: block; }

/* Активна тёмная тема -> показываем солнце (переключение на светлую) */
html[data-theme="dark"] .p2-theme-toggle__sun { display: block; }
html[data-theme="dark"] .p2-theme-toggle__moon { display: none; }

/* ---------- Красивое оформление иконки солнца ---------- */
.p2-theme-toggle__sun {
    width: 24px;
    height: 24px;
    color: #fbbf24;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 0 3px rgba(251, 191, 36, 0.5))
            drop-shadow(0 0 8px rgba(251, 191, 36, 0.15));
    transition: scale 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
                filter 0.4s ease,
                color 0.4s ease;
    animation: p2-sun-idle-spin 24s linear infinite;
}
/* Центр солнца — залитый, лучи — штрихи */
.p2-theme-toggle__sun circle {
    fill: currentColor;
    stroke: none;
}
.p2-theme-toggle__sun line {
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
}
/* Медленное вращение в покое — солнце «живое» */
@keyframes p2-sun-idle-spin {
    from { rotate: 0deg; }
    to   { rotate: 360deg; }
}
/* Ховер / фокус: увеличение + усиление свечения */
.p2-theme-toggle:hover .p2-theme-toggle__sun,
.p2-theme-toggle:focus-visible .p2-theme-toggle__sun {
    color: #f59e0b;
    scale: 1.15;
    filter: drop-shadow(0 0 5px rgba(245, 158, 11, 0.65))
            drop-shadow(0 0 12px rgba(245, 158, 11, 0.3))
            drop-shadow(0 0 20px rgba(245, 158, 11, 0.1));
}
.p2-theme-toggle:active .p2-theme-toggle__sun {
    scale: 0.9;
    transition-duration: 0.1s;
}
@media (prefers-reduced-motion: reduce) {
    .p2-theme-toggle__sun {
        animation: none;
        transition: none;
    }
    .p2-theme-toggle:hover .p2-theme-toggle__sun,
    .p2-theme-toggle:focus-visible .p2-theme-toggle__sun {
        scale: 1;
    }
}

/* ---------- Плавная смена темы ----------
Класс theme-anim добавляет JS только на момент переключения,
поэтому при первой загрузке страницы анимация не срабатывает. */
html.theme-anim,
html.theme-anim *,
html.theme-anim *::before,
html.theme-anim *::after {
	transition: background-color .25s ease, color .25s ease, border-color .25s ease, fill .25s ease, stroke .25s ease;
}
@media (prefers-reduced-motion: reduce) {
	html.theme-anim,
	html.theme-anim *,
	html.theme-anim *::before,
	html.theme-anim *::after {
		transition: none;
	}
	.p2-theme-toggle { transition: none; }
}

/* === modules/widget-overrides.css === */
/* Переопределение стилей сторонних виджетов, подгружаемых через JS */
.RatingBadgeWidget {
  background: transparent !important;
  background-color: transparent !important;
}
