/* ============================================================
   УМНЫЙ ДОМ (Решения «Умного дома» для ЖК) — редизайн v3
   Источник контента: презентация «ВГТ_Умный Дом.pdf».
   Палитра: navy-фиолетовый digital + бренд #0A6CFF,
   акцент платформы #7C6CFF. Никаких интерьеров.
   ============================================================ */

/* ─── HERO: видео-фон (main-smart-hero.mp4 — облёт ЖК) ───
   Холодный серый фасад → фиолетово-синий тонирующий оверлей
   (плотный слева под текстом), фирменная digital-сетка поверх,
   блоки — жидкое стекло. */
.sh-hero {
  position: relative;
  background: #0b1020;
  padding: calc(var(--header-height, 68px) + var(--space-14)) 0 var(--space-16);
  color: var(--color-white);
  overflow: hidden;
}
.sh-hero__video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 40%;
}
.sh-hero__overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(100deg,
      rgba(10, 12, 30, 0.9) 0%,
      rgba(13, 14, 38, 0.72) 42%,
      rgba(19, 16, 62, 0.44) 75%,
      rgba(16, 14, 50, 0.3) 100%),
    linear-gradient(0deg, rgba(10,12,30,0.6) 0%, transparent 32%);
}
.sh-hero__grid-bg {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(124,108,255,0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(124,108,255,0.08) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(ellipse 90% 80% at 50% 20%, #000 0%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse 90% 80% at 50% 20%, #000 0%, transparent 75%);
  pointer-events: none;
}
.sh-hero > .container { position: relative; z-index: 1; }
.sh-hero__eyebrow {
  display: inline-flex; align-items: center; gap: var(--space-2);
  font-size: var(--font-size-xs); font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: #cdc2ff;
  background: rgba(124,108,255,0.14);
  border: 1px solid rgba(170,155,255,0.4);
  border-radius: 999px;
  padding: var(--space-2) var(--space-4); margin-bottom: var(--space-5);
  backdrop-filter: blur(14px) saturate(1.4);
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
}
.sh-hero__title {
  font-size: clamp(2.1rem, 4.4vw, 3.4rem);
  line-height: 1.08; font-weight: 800;
  color: var(--color-white);
  text-shadow: 0 2px 24px rgba(5, 8, 20, 0.5);
  margin-bottom: var(--space-5);
}
.sh-hero__title span {
  background: linear-gradient(90deg, #a99cff 0%, #6fb6ff 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.sh-hero__desc {
  font-size: var(--font-size-lg); color: rgba(255,255,255,0.85);
  max-width: 620px; line-height: 1.6;
  text-shadow: 0 1px 14px rgba(5, 8, 20, 0.55);
  margin-bottom: var(--space-8);
}
.sh-hero__actions { display: flex; gap: var(--space-4); flex-wrap: wrap; margin-bottom: var(--space-10); }
.sh-ghost-btn {
  color: #fff; border-color: rgba(255,255,255,0.38);
  background: rgba(255,255,255,0.07);
  backdrop-filter: blur(14px) saturate(1.4);
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
}
/* Статы — жидкое стекло */
@media (max-width: 420px) { .sh-stat__val { font-size: var(--font-size-xl); } }
@media (max-width: 900px) { .sh-hero__stats { grid-template-columns: repeat(2, 1fr); } }
@supports not (backdrop-filter: blur(1px)) {
  .sh-hero__eyebrow, .sh-ghost-btn { background: rgba(12, 15, 34, 0.72); }
}
@media (prefers-reduced-motion: reduce) {
  .sh-hero__video { display: none; }
  .sh-hero {
    background:
      linear-gradient(100deg, rgba(10,12,30,0.9) 0%, rgba(13,14,38,0.7) 50%, rgba(19,16,62,0.4) 100%),
      url('/assets/img/b2b/main-smart-hero-poster.jpg') center 40% / cover no-repeat;
  }
}

/* ─── СХЕМА «Полный цикл внедрения» ───
   Колонки stretch: заголовки на одной линии, узлы центрируются
   в оставшейся высоте (.sh-diagram__nodes). Стрелки компенсируют
   высоту строки заголовков (top 19px). Цветовое кодирование:
   инфраструктура — синий, элементы — фиолетовый (к ядру), юзеры — зелёный. */
.sh-platform { background: var(--color-white); }
.sh-diagram {
  display: grid;
  grid-template-columns: 1fr 44px 1.08fr 44px 1.05fr 44px 1fr;
  gap: var(--space-2);
  align-items: stretch;
  max-width: 1200px;
  margin: 0 auto;
}
.sh-diagram__col { display: flex; flex-direction: column; min-width: 0; }
.sh-diagram__col-title {
  height: 18px;
  font-size: var(--font-size-xs); font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.07em;
  color: var(--color-gray-400);
  text-align: center;
  margin-bottom: var(--space-5);
  white-space: nowrap;
}
.sh-diagram__nodes {
  flex: 1;
  display: flex; flex-direction: column; justify-content: center;
  gap: var(--space-3);
}
.sh-diagram__node {
  display: flex; align-items: center; gap: var(--space-3);
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-xl);
  padding: var(--space-3) var(--space-4);
  font-size: var(--font-size-sm); font-weight: 600; color: var(--color-gray-700);
  line-height: 1.3;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.sh-diagram__node:hover {
  border-color: rgba(124,108,255,0.5);
  box-shadow: 0 8px 22px rgba(124,108,255,0.14);
  transform: translateY(-2px);
}
.sh-diagram__node-icon {
  flex-shrink: 0;
  width: 40px; height: 40px;
  border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
}
.sh-diagram__node-icon svg { display: block; }
/* Цвета по колонкам */
.sh-diagram__col--infra .sh-diagram__node-icon {
  background: rgba(10,108,255,0.09); color: #2f7fd6;
}
.sh-diagram__col--elements .sh-diagram__node-icon {
  background: rgba(124,108,255,0.11); color: #6a58e6;
}
.sh-diagram__col--elements .sh-diagram__node { border-color: rgba(124,108,255,0.28); }
.sh-diagram__node--user .sh-diagram__node-icon {
  background: rgba(23,233,183,0.13); color: #00a37c;
}

/* Платформа — центральный узел */
.sh-diagram__core {
  position: relative;
  text-align: center;
  background: linear-gradient(155deg, #131048 0%, #1c1670 55%, #262290 100%);
  color: #fff;
  border: 1px solid rgba(124,108,255,0.4);
  border-radius: var(--radius-2xl);
  padding: var(--space-8) var(--space-5);
  box-shadow:
    0 18px 44px rgba(38,28,120,0.35),
    inset 0 1px 0 rgba(255,255,255,0.12);
  overflow: hidden;
}
.sh-diagram__core-glow {
  position: absolute; inset: -30%;
  background: radial-gradient(circle at 50% 40%, rgba(124,108,255,0.4) 0%, transparent 55%);
  animation: shCorePulse 3.6s ease-in-out infinite;
}
@keyframes shCorePulse {
  0%, 100% { opacity: 0.65; transform: scale(1); }
  50%      { opacity: 1;    transform: scale(1.12); }
}
.sh-diagram__core-icon {
  position: relative;
  width: 64px; height: 64px;
  margin: 0 auto;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(179,166,255,0.45);
  border-radius: 50%;
  color: #c3b8ff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.15);
}
 }
.sh-diagram__core-title {
  position: relative;
  font-size: var(--font-size-lg); font-weight: 800;
  margin-top: var(--space-5);
}
.sh-diagram__core-sub {
  position: relative;
  font-size: var(--font-size-xs); color: rgba(255,255,255,0.65);
  margin-top: 4px;
}

/* Потоки-стрелки между колонками (анимированный пунктир).
   top 19px = (заголовок 18px + отступ 20px) / 2 — стрелки указывают
   в визуальный центр узлов, а не всей колонки. */
.sh-diagram__flow {
  position: relative;
  height: 2px;
  align-self: center;
  top: 19px;
}
.sh-diagram__flow span {
  position: absolute; inset: 0 6px 0 0;
  background-image: linear-gradient(90deg, #7C6CFF 0 6px, transparent 6px 12px);
  background-size: 12px 2px;
  animation: shFlow 1.1s linear infinite;
  opacity: 0.75;
}
.sh-diagram__flow span::after {
  content: '';
  position: absolute; right: -6px; top: 50%;
  width: 7px; height: 7px;
  border-top: 2px solid #7C6CFF; border-right: 2px solid #7C6CFF;
  transform: translateY(-50%) rotate(45deg);
  opacity: 0.9;
}
@keyframes shFlow { to { background-position: 12px 0; } }

@media (max-width: 980px) {
  .sh-diagram { grid-template-columns: 1fr; gap: var(--space-4); max-width: 460px; }
  .sh-diagram__col-title { height: auto; margin-bottom: var(--space-3); }
  .sh-diagram__flow { height: 34px; width: 2px; justify-self: center; top: 0; }
  .sh-diagram__flow span {
    inset: 0 0 6px 0;
    background-image: linear-gradient(180deg, #7C6CFF 0 6px, transparent 6px 12px);
    background-size: 2px 12px;
    animation-name: shFlowV;
  }
  .sh-diagram__flow span::after {
    right: auto; top: auto; bottom: -6px; left: 50%;
    transform: translateX(-50%) rotate(135deg);
  }
  @keyframes shFlowV { to { background-position: 0 12px; } }
}
@media (prefers-reduced-motion: reduce) {
  .sh-diagram__flow span { animation: none; }
  .sh-diagram__core-glow { animation: none; }
  }

/* ─── ТЕЛЕКОМ ─── */
.sh-telecom { background: var(--color-gray-50); }
/* Лид-панель: текст + крупная скорость */
.sh-telecom-lead {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: var(--space-8);
  align-items: center;
  background: linear-gradient(140deg, #0c1230 0%, #17134e 60%, #1d1a66 100%);
  color: var(--color-white);
  border-radius: var(--radius-2xl);
  padding: var(--space-8) var(--space-10);
  margin-bottom: var(--space-6);
  position: relative;
  overflow: hidden;
}
.sh-telecom-lead::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 50% 90% at 85% 20%, rgba(124,108,255,0.28) 0%, transparent 60%);
}
.sh-telecom-lead__text { position: relative; }
.sh-telecom-lead__eyebrow {
  display: inline-block;
  font-size: var(--font-size-xs); font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: #a99cff;
  margin-bottom: var(--space-3);
}
.sh-telecom-lead__title {
  font-size: clamp(1.5rem, 2.6vw, 2.1rem); font-weight: 800;
  color: var(--color-white); line-height: 1.15;
  margin: 0 0 var(--space-3);
}
.sh-telecom-lead__desc { font-size: var(--font-size-base); color: rgba(255,255,255,0.7); line-height: 1.6; margin: 0; max-width: 480px; }
.sh-telecom-lead__speed {
  position: relative;
  text-align: center;
  padding: var(--space-5);
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: var(--radius-xl);
}
.sh-telecom-lead__speed-val {
  font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 800;
  background: linear-gradient(90deg, #7C6CFF 0%, #4da6ff 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
  line-height: 1.1;
}
.sh-telecom-lead__speed-lbl { font-size: var(--font-size-sm); color: rgba(255,255,255,0.6); margin-top: 6px; line-height: 1.4; }
@media (max-width: 820px) {
  .sh-telecom-lead { grid-template-columns: 1fr; padding: var(--space-7); }
  .sh-telecom-lead__speed { max-width: 340px; }
}

/* Карточки услуг: 3 в ряд */
.sh-telecom-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-4);
}
.sh-telecom-card {
  background: var(--color-white);
  border: 1px solid var(--color-gray-100);
  border-radius: var(--radius-xl);
  padding: var(--space-6);
  transition: box-shadow 0.2s, transform 0.2s;
}
.sh-telecom-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.sh-telecom-card__head {
  display: flex; align-items: center; gap: var(--space-3);
  margin-bottom: var(--space-4);
}
.sh-telecom-card__icon {
  width: 44px; height: 44px; flex-shrink: 0;
  border-radius: var(--radius-lg);
  background: rgba(10,108,255,0.08); color: #2f7fd6;
  display: flex; align-items: center; justify-content: center;
}
.sh-telecom-card__title { font-size: var(--font-size-base); font-weight: 700; color: var(--color-gray-900); line-height: 1.25; }
.sh-telecom-card__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-2); }
.sh-telecom-card__list li {
  position: relative; padding-left: 22px;
  font-size: var(--font-size-sm); color: var(--color-gray-600); line-height: 1.5;
}
.sh-telecom-card__list li::before {
  content: ''; position: absolute; left: 0; top: 0.4em;
  width: 13px; height: 13px;
  background: #17c9a0;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (max-width: 900px) {
  .sh-telecom-cards { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; }
}

/* ─── Общие элементы: цитаты, чек-листы, 2 колонки ─── */
.sh-two-cols {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: var(--space-5);
  max-width: 1040px; margin: 0 auto;
}
@media (max-width: 820px) { .sh-two-cols { grid-template-columns: 1fr; } }
.sh-check-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-2); }
.sh-check-list li {
  position: relative; padding-left: 24px;
  font-size: var(--font-size-sm); color: var(--color-gray-600); line-height: 1.5;
}
.sh-check-list li::before {
  content: ''; position: absolute; left: 0; top: 0.36em;
  width: 14px; height: 14px;
  background: #17c9a0;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat;
}
.sh-check-list--light li { color: rgba(255,255,255,0.72); }
.sh-check-list--light li::before { background: #35ECC3; }

/* ─── WI-FI: видео-фон (smart-hero.mp4 — семья у ЖК) + стекло ───
   Видео светлое/тёплое → равномерный тёмный оверлей + glassmorphism
   блоки; весь текст белый, читаемость за счёт затемнения и blur. */
.sh-wifi {
  position: relative;
  color: var(--color-white);
  overflow: hidden;
  background: #0b1020;
}
.sh-wifi__video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 35%;
}
.sh-wifi__overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(9,13,30,0.78) 0%, rgba(9,13,30,0.55) 35%, rgba(9,13,30,0.55) 75%, rgba(9,13,30,0.8) 100%),
    radial-gradient(ellipse 90% 70% at 50% 45%, transparent 40%, rgba(9,13,30,0.35) 100%);
}
.sh-wifi > .container { position: relative; z-index: 1; }
.sh-wifi .section-header__title { color: var(--color-white); text-shadow: 0 2px 18px rgba(5,8,20,0.5); }
.sh-wifi .section-header__eyebrow { color: #8fc5ff; }

/* Цитата — стеклянная панель */
.sh-quote {
  max-width: 780px;
  margin: 0 auto var(--space-10);
  text-align: center;
  font-size: clamp(1.05rem, 1.8vw, 1.3rem);
  font-weight: 600; font-style: normal;
  color: #fff; line-height: 1.6;
  padding: var(--space-6) var(--space-8);
  background: rgba(16, 22, 42, 0.42);
  border: 1px solid rgba(255,255,255,0.22);
  border-radius: var(--radius-2xl);
  backdrop-filter: blur(18px) saturate(1.5);
  -webkit-backdrop-filter: blur(18px) saturate(1.5);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.14), 0 12px 32px rgba(5,8,20,0.25);
  text-shadow: 0 1px 10px rgba(5,8,20,0.4);
}

/* Карточки аудиторий — стекло */
.sh-wifi .sh-aud-card {
  background: rgba(16, 22, 42, 0.42);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: var(--radius-xl);
  padding: var(--space-6);
  backdrop-filter: blur(18px) saturate(1.5);
  -webkit-backdrop-filter: blur(18px) saturate(1.5);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 8px 24px rgba(5,8,20,0.2);
}
.sh-wifi .sh-aud-card__head { color: #fff; }
.sh-wifi .sh-aud-card__icon { background: rgba(143,197,255,0.16); color: #8fc5ff; }
.sh-wifi .sh-check-list li { color: rgba(255,255,255,0.82); }
.sh-wifi .sh-check-list li::before { background: #35ECC3; }

/* Legal-сноска — стеклянная */
.sh-wifi .sh-legal {
  background: rgba(16, 22, 42, 0.42);
  border: 1px dashed rgba(255,255,255,0.25);
  color: rgba(255,255,255,0.75);
  backdrop-filter: blur(14px) saturate(1.4);
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
}
.sh-wifi .sh-legal svg { color: rgba(255,255,255,0.55); }
.sh-wifi .sh-legal strong { color: #fff; }

/* Фолбэки */
@supports not (backdrop-filter: blur(1px)) {
  .sh-quote, .sh-wifi .sh-aud-card, .sh-wifi .sh-legal { background: rgba(11, 16, 34, 0.88); }
}
@media (prefers-reduced-motion: reduce) {
  .sh-wifi__video { display: none; }
  .sh-wifi {
    background:
      linear-gradient(180deg, rgba(9,13,30,0.8) 0%, rgba(9,13,30,0.6) 50%, rgba(9,13,30,0.8) 100%),
      url('/assets/img/b2b/smart-hero-poster.jpg') center 35% / cover no-repeat;
  }
}

/* Базовые карточки аудиторий (структура) */
.sh-aud-card__head {
  display: flex; align-items: center; gap: var(--space-3);
  font-size: var(--font-size-base); font-weight: 700; color: var(--color-gray-900);
  margin-bottom: var(--space-4);
}
.sh-aud-card__icon {
  width: 40px; height: 40px; flex-shrink: 0;
  border-radius: var(--radius-lg);
  background: rgba(10,108,255,0.1); color: #2f7fd6;
  display: flex; align-items: center; justify-content: center;
}
.sh-legal {
  display: flex; gap: var(--space-3); align-items: flex-start;
  max-width: 1040px; margin: var(--space-6) auto 0;
  font-size: var(--font-size-xs); color: var(--color-gray-500); line-height: 1.55;
  border-radius: var(--radius-lg);
  padding: var(--space-4) var(--space-5);
}
.sh-legal svg { flex-shrink: 0; margin-top: 1px; }

/* ─── БЕЗОПАСНОСТЬ (тёмная) ─── */
.sh-security {
  background: linear-gradient(140deg, #070b1c 0%, #0c1230 55%, #10123c 100%);
  color: var(--color-white);
}
.sh-security .section-header__title { color: var(--color-white); }
.sh-security .section-header__desc { color: rgba(255,255,255,0.6); }
.sh-security .section-header__eyebrow { color: #a99cff; }
.sh-sec-stats {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: var(--space-4);
  max-width: 900px; margin: 0 auto var(--space-10);
}
.sh-sec-stat {
  text-align: center;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: var(--radius-xl);
  padding: var(--space-5) var(--space-3);
}
.sh-sec-stat__val { font-size: var(--font-size-2xl); font-weight: 800; color: #7ec8f7; line-height: 1.1; }
.sh-sec-stat__lbl { font-size: var(--font-size-xs); color: rgba(255,255,255,0.55); margin-top: 5px; line-height: 1.35; }
@media (max-width: 720px) { .sh-sec-stats { grid-template-columns: repeat(2, 1fr); } }
.sh-dark-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: var(--radius-xl);
  padding: var(--space-6);
}
.sh-dark-card__role {
  font-size: var(--font-size-base); font-weight: 700; color: #fff;
  margin-bottom: var(--space-4);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

/* ─── ДОМОФОНИЯ: фичи ─── */
.sh-intercom { background: var(--color-white); }
.sh-feat-row {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: var(--space-4);
  max-width: 1040px; margin: 0 auto;
}
.sh-feat {
  display: flex; align-items: center; gap: var(--space-3);
  background: var(--color-gray-50);
  border: 1px solid var(--color-gray-100);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  font-size: var(--font-size-sm); font-weight: 600; color: var(--color-gray-700);
  line-height: 1.35;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.sh-feat:hover { border-color: rgba(10,108,255,0.35); box-shadow: var(--shadow-sm); }
.sh-feat__icon {
  flex-shrink: 0;
  width: 44px; height: 44px;
  border-radius: var(--radius-lg);
  background: rgba(10,108,255,0.08); color: #2f7fd6;
  display: flex; align-items: center; justify-content: center;
}
@media (max-width: 900px) { .sh-feat-row { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .sh-feat-row { grid-template-columns: 1fr; } }

/* ─── ПРИЛОЖЕНИЕ ─── */
.sh-app { background: var(--color-gray-50); }
.sh-app-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: var(--space-4);
}
.sh-app-card {
  background: var(--color-white);
  border: 1px solid var(--color-gray-100);
  border-radius: var(--radius-xl);
  padding: var(--space-6);
  transition: box-shadow 0.2s, transform 0.2s;
}
.sh-app-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.sh-app-card__icon {
  width: 44px; height: 44px;
  border-radius: var(--radius-lg);
  background: rgba(124,108,255,0.1); color: #6a5be0;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: var(--space-4);
}
.sh-app-card__title { font-size: var(--font-size-base); font-weight: 700; color: var(--color-gray-900); margin-bottom: var(--space-3); }
@media (max-width: 900px) { .sh-app-grid { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; } }

/* Лента статусов заявки */
.sh-status-flow {
  display: flex; align-items: center; gap: var(--space-2);
  margin-top: var(--space-4);
  padding-top: var(--space-4);
  border-top: 1px dashed var(--color-gray-200);
  flex-wrap: wrap;
}
.sh-status {
  font-size: var(--font-size-xs); font-weight: 700;
  border-radius: 999px; padding: 4px 12px;
}
.sh-status--new  { background: rgba(10,108,255,0.1);  color: #2f7fd6; }
.sh-status--work { background: rgba(245,158,11,0.12); color: #b45309; }
.sh-status--done { background: rgba(23,201,160,0.12); color: #0a8a6b; }
.sh-status-arrow { color: var(--color-gray-300); font-weight: 700; }

/* ─── ПАРКОВКА ─── */
.sh-parking { background: var(--color-white); }
.sh-park-card {
  position: relative;
  background: var(--color-gray-50);
  border: 1px solid var(--color-gray-100);
  border-radius: var(--radius-2xl);
  padding: var(--space-7);
  transition: box-shadow 0.2s, transform 0.2s;
}
.sh-park-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.sh-park-card__badge {
  display: inline-block;
  font-size: var(--font-size-xs); font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.06em;
  color: #2f7fd6; background: rgba(10,108,255,0.1);
  border-radius: 999px; padding: 4px 12px;
  margin-bottom: var(--space-4);
}
.sh-park-card__badge--guest { color: #0a8a6b; background: rgba(23,201,160,0.12); }
.sh-park-card__title { font-size: var(--font-size-xl); font-weight: 800; color: var(--color-gray-900); margin: 0 0 var(--space-3); }
.sh-park-card__quote {
  font-size: var(--font-size-sm); color: var(--color-gray-500);
  font-style: normal; line-height: 1.6;
  border-left: 3px solid rgba(10,108,255,0.35);
  padding-left: var(--space-4);
  margin: 0 0 var(--space-4);
}
