/* ============================================================
   Welvura — надстройка над шаблоном: новые блоки и компоновка.
   Подключать последним, после style.css
   ============================================================ */

/* ---- Лента цифр: одна плашка с разделителями ---- */
.wv-bar{ max-width: 900px; margin: 0 auto; padding: 0 24px 44px; }
.wv-bar-wrap{
  list-style: none; margin: 0; padding: 18px 10px;
  display: grid; grid-template-columns: repeat(4, 1fr);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(159,143,248,.10), rgba(255,255,255,.015));
  border: 1px solid rgba(159,143,248,.26);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 14px 34px rgba(0,0,0,.34);
}
.wv-bar-wrap li{ text-align: center; position: relative; padding: 0 8px; }
.wv-bar-wrap li + li::before{
  content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 1px; height: 30px; background: rgba(159,143,248,.28);
}
.wv-bar-wrap b{
  display: block; font-family: var(--lb-font-display, inherit);
  font-size: clamp(18px, 2.1vw, 25px); line-height: 1;
  color: var(--wv-accent); margin-bottom: 5px;
}
.wv-bar-wrap span{ font-size: 12px; line-height: 1.35; color: var(--wv-text-muted); }
@media (max-width: 760px){
  .wv-bar-wrap{ grid-template-columns: repeat(2, 1fr); border-radius: 22px; gap: 16px 0; }
  .wv-bar-wrap li:nth-child(3)::before{ display: none; }
}

/* ---- Сетка режимов ---- */
.wv-modes{ max-width: 1060px; margin: 0 auto; padding: 0 24px; }
.wv-modes__title{
  text-align: center; font-family: var(--lb-font-display, inherit);
  font-size: clamp(22px, 3vw, 34px); color: var(--wv-text); margin: 0 0 8px;
}
.wv-modes__title span{ color: var(--wv-accent); }
.wv-modes__sub{ text-align: center; color: var(--wv-text-muted); font-size: 15px; margin: 0 0 30px; }
.wv-modes__grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.wv-mode{
  display: block; padding: 24px 22px; border-radius: 18px; text-decoration: none;
  background: linear-gradient(165deg, rgba(159,143,248,.09), rgba(255,255,255,.014));
  border: 1px solid rgba(255,255,255,.07);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 12px 32px rgba(0,0,0,.3);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.wv-mode:hover{
  transform: translateY(-4px); border-color: rgba(163,78,244,.5);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 18px 42px rgba(0,0,0,.4);
}
.wv-mode__ico{
  width: 54px; height: 54px; border-radius: 15px; margin-bottom: 15px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(159,143,248,.14); border: 1px solid rgba(159,143,248,.3);
}
.wv-mode__ico img{ width: 30px; height: 30px; display: block; }
.wv-mode h3{
  font-family: var(--lb-font-display, inherit); font-size: 18px;
  color: var(--wv-text); margin: 0 0 8px;
}
.wv-mode p{ margin: 0; font-size: 14px; line-height: 1.6; color: var(--wv-text-soft); }
@media (max-width: 900px){ .wv-modes__grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px){ .wv-modes__grid{ grid-template-columns: 1fr; } }

/* ---- FAQ (в шаблоне его не было) ---- */
.wv-faq{ max-width: 860px; margin: 34px auto 0; }
.wv-q{
  border-radius: 13px; margin-bottom: 10px; overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012));
  border: 1px solid rgba(255,255,255,.07);
}
.wv-q[open]{ border-color: rgba(159,143,248,.45); box-shadow: 0 12px 30px rgba(0,0,0,.32); }
.wv-q > summary{
  list-style: none; cursor: pointer; position: relative;
  padding: 17px 48px 17px 20px;
  font-family: var(--lb-font-display, inherit); font-size: 16px; color: var(--wv-text);
}
.wv-q > summary::-webkit-details-marker{ display: none; }
.wv-q > summary::after{
  content: ""; position: absolute; right: 20px; top: 50%;
  width: 8px; height: 8px;
  border-right: 2px solid var(--wv-text-muted); border-bottom: 2px solid var(--wv-text-muted);
  transform: translateY(-70%) rotate(45deg); transition: transform .2s, border-color .2s;
}
.wv-q[open] > summary::after{ transform: translateY(-30%) rotate(-135deg); border-color: var(--wv-accent); }
.wv-q p{ padding: 0 20px 17px; margin: 0; font-size: 14.5px; line-height: 1.7; color: var(--wv-text-soft); }

@media (min-width: 1500px){ body{ zoom: 1.15; } }
@media (min-width: 1700px){ body{ zoom: 1.28; } }
@media (min-width: 1900px){ body{ zoom: 1.42; } }

/* ---- Симметрия блока преимуществ: 2x2 вместо 3+1 ---- */
.lb-adv-dark__grid{
  grid-template-columns: repeat(2, 1fr) !important;
  max-width: 900px; margin-left: auto; margin-right: auto;
}
@media (max-width: 760px){
  .lb-adv-dark__grid{ grid-template-columns: 1fr !important; }
}
/* карточка — ссылка целиком, убираем подчёркивание текста */
.lb-adv-dark__card,
.lb-adv-dark__card *,
.wv-mode, .wv-mode *,
.wv-slider__item, .wv-slider__item *{ text-decoration: none !important; }
/* выравниваем высоту карточек */
.lb-adv-dark__card{ display: flex; flex-direction: column; }
.lb-adv-dark__card-text{ margin-top: auto; }

/* ---- Симметрия блока акций: 2x2 вместо 3+1 ---- */
.wv-promo__grid{
  grid-template-columns: repeat(2, 1fr) !important;
  max-width: 920px; margin-left: auto; margin-right: auto;
}
.wv-promo__card{ display: flex; flex-direction: column; }
.wv-promo__card-sub{ flex: 1 1 auto; }
@media (max-width: 760px){
  .wv-promo__grid{ grid-template-columns: 1fr !important; }
}
