/* Переключение компоновки Sqwezzy ViPNet */
.view-mode-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid rgba(113,234,215,.38);
  border-radius: 13px;
  color: #dffcf7;
  background: rgba(20,38,58,.92);
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}
.view-mode-toggle:hover {
  border-color: #71ead7;
  background: rgba(35,65,86,.98);
}
.view-mode-toggle:focus-visible {
  outline: 2px solid #71ead7;
  outline-offset: 3px;
}

/* Мобильный режим — одинаковая аккуратная сетка на любом экране */
body.view-mobile .wrap {
  width: min(100% - 32px, 620px) !important;
  max-width: 620px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.view-mobile .site-header {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 14px !important;
}
body.view-mobile .site-header nav {
  display: none !important;
}
body.view-mobile .hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 22px !important;
  padding-top: 42px !important;
  padding-bottom: 38px !important;
}
body.view-mobile .hero-copy,
body.view-mobile .hero-art,
body.view-mobile .section-heading,
body.view-mobile .status-copy,
body.view-mobile .contact-intro,
body.view-mobile .contact-list {
  width: 100% !important;
  min-width: 0 !important;
}
body.view-mobile .hero h1 {
  font-size: clamp(38px, 8vw, 54px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
  overflow-wrap: anywhere;
}
body.view-mobile .hero-text,
body.view-mobile .section-heading p,
body.view-mobile .benefit p,
body.view-mobile .news-card p,
body.view-mobile .contact-intro p {
  line-height: 1.7 !important;
  overflow-wrap: anywhere;
}
body.view-mobile .hero-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
}
body.view-mobile .hero-actions .button,
body.view-mobile .renew-button {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  justify-content: center;
}
body.view-mobile .hero-art {
  height: 260px !important;
  transform: none !important;
}
body.view-mobile .news-grid,
body.view-mobile .benefit-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px !important;
}
body.view-mobile .news-card,
body.view-mobile .benefit,
body.view-mobile .contact-item {
  min-width: 0 !important;
  box-sizing: border-box;
}
body.view-mobile .status-card,
body.view-mobile .contact-panel,
body.view-mobile .final-cta {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 20px !important;
}
body.view-mobile .contact-item {
  display: flex;
  gap: 10px;
}
body.view-mobile .contact-label {
  flex: 1;
  min-width: 0;
}
body.view-mobile .contact-label strong,
body.view-mobile .contact-label small {
  overflow-wrap: anywhere;
}
body.view-mobile #sqw-review-rail {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  width: min(100% - 32px, 560px) !important;
  max-width: 560px !important;
  height: auto !important;
  max-height: none !important;
  margin: 28px auto !important;
  box-sizing: border-box !important;
  z-index: 1 !important;
}
body.view-mobile .footer-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

/* Компьютерный режим принудительно сохраняет широкую компоновку */
body.view-desktop {
  min-width: 1024px !important;
}
body.view-desktop .wrap {
  width: min(1180px, calc(100% - 64px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.view-desktop .site-header {
  flex-wrap: nowrap;
}
body.view-desktop .site-header nav {
  display: flex !important;
}
body.view-desktop .hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr) !important;
  gap: 36px !important;
}
body.view-desktop .hero h1 {
  font-size: clamp(52px, 5.5vw, 78px) !important;
}
body.view-desktop .hero-actions {
  display: flex !important;
  flex-wrap: wrap;
}
body.view-desktop .news-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
body.view-desktop .benefit-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
body.view-desktop .status-card,
body.view-desktop .contact-panel,
body.view-desktop .final-cta {
  flex-direction: row !important;
}
body.view-desktop #sqw-review-rail {
  position: fixed !important;
  top: 50% !important;
  right: 18px !important;
  bottom: auto !important;
  left: auto !important;
  transform: translateY(-50%) !important;
  z-index: 1000 !important;
}
body.view-desktop .site-header {
  padding-right: 18px !important;
}

@media (max-width: 800px) {
  body.view-mobile .site-header .brand small {
    display: none;
  }
  body.view-mobile .site-header .header-cta {
    margin-left: auto;
  }
}

/* Исправление положения отзывов только в режиме ПК */
body.view-desktop #sqw-review-rail {
position: fixed !important;
top: 50% !important;
right: 20px !important;
bottom: auto !important;
left: auto !important;
inset: 50% 20px auto auto !important;
transform: translateY(-50%) !important;
width: 268px !important;
height: 450px !important;
max-height: calc(100vh - 40px) !important;
margin: 0 !important;
z-index: 99999 !important;
}

@media (min-width: 651px) {
body.view-desktop #sqw-review-rail {
position: fixed !important;
top: 50% !important;
right: 20px !important;
bottom: auto !important;
left: auto !important;
inset: 50% 20px auto auto !important;
transform: translateY(-50%) !important;
}
}

/* Отзывы под блоком «Продлим без лишних хлопот» — только режим ПК */
body.view-desktop #sqw-review-rail {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    display: block !important;
    width: min(560px, calc(100% - 32px)) !important;
    max-width: 560px !important;
    height: auto !important;
    max-height: none !important;
    margin: 28px auto 48px !important;
    box-sizing: border-box !important;
    z-index: 1 !important;
}

/* Отзывы под блоком продления в режиме ПК */
body.view-desktop #sqw-review-rail {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    display: block !important;
    width: min(560px, calc(100% - 32px)) !important;
    max-width: 560px !important;
    height: auto !important;
    max-height: none !important;
    margin: 28px auto 48px !important;
    box-sizing: border-box !important;
    z-index: 1 !important;
}
