/* CyberFirst: информация о стоимости */
.price-info { min-height:100vh; overflow:hidden; background:var(--bg); color:var(--text); }

/* Hero */
.price-info__hero {
  position:relative;
  padding:132px 0 64px;
  overflow:hidden;
  border-bottom:1px solid var(--border);
  background:
    radial-gradient(ellipse 62% 80% at 12% 0%, rgba(var(--accent-rgb), .16), transparent 62%),
    radial-gradient(ellipse 50% 70% at 90% 15%, rgba(var(--accent-2-rgb), .1), transparent 60%);
}
.price-info__hero::before {
  content:'';
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(var(--border) 1px, transparent 1px),
    linear-gradient(90deg, var(--border) 1px, transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:radial-gradient(ellipse 75% 100% at 28% 0%, #000, transparent 72%);
  mask-image:radial-gradient(ellipse 75% 100% at 28% 0%, #000, transparent 72%);
  opacity:.55;
  pointer-events:none;
}
.price-info__hero::after {
  content:'';
  position:absolute;
  right:0;
  bottom:-1px;
  left:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(var(--accent-rgb), .55) 30%, rgba(var(--accent-2-rgb), .45) 65%, transparent);
  pointer-events:none;
}
.price-info__hero-inner { position:relative; z-index:1; }
.price-info__breadcrumb-link { color:inherit; text-decoration:none; transition:color .2s ease; }
.price-info__breadcrumb-link:hover { color:var(--accent); }
.price-info__breadcrumb-separator { color:var(--text-muted); opacity:.4; }
.price-info__label {
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:20px;
  padding:7px 15px;
  border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));
  border-radius:100px;
  color:var(--accent);
  background:color-mix(in srgb, var(--accent) 8%, var(--surface));
  font-size:12px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.price-info__label::before {
  content:'';
  flex-shrink:0;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--accent-grad);
  box-shadow:0 0 10px rgba(var(--accent-rgb), .8);
}
.price-info__title { margin:0; font-size:clamp(32px,4.2vw,52px); font-weight:800; line-height:1.08; letter-spacing:-.03em; }
.price-info__lead { max-width:720px; margin:20px 0 0; color:var(--text-muted); font-size:clamp(15px,1.6vw,17px); line-height:1.7; }

/* Body */
.price-info__body { padding:56px 0 100px; }

/* Вступление — единый блок */
.price-info__intro {
  margin-bottom:56px;
  padding:clamp(24px,3.4vw,40px);
  border:1px solid var(--border);
  border-radius:20px;
  background:var(--surface);
}
.price-info__intro-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px 16px; margin-bottom:16px; }
.price-info__eyebrow { margin:0; color:var(--accent); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.price-info__updated {
  display:inline-flex;
  align-items:center;
  padding:6px 12px;
  border:1px solid var(--border);
  border-radius:100px;
  color:var(--text-muted);
  background:color-mix(in srgb, var(--surface) 82%, var(--bg));
  font-size:12px;
}
.price-info__heading { margin:0 0 18px; font-size:clamp(24px,2.6vw,32px); line-height:1.2; letter-spacing:-.025em; }
.price-info__text { max-width:900px; margin:0 0 14px; color:var(--text-muted); font-size:15px; line-height:1.72; }
.price-info__text:last-of-type { margin-bottom:0; }
.price-info__summary {
  margin-top:22px;
  padding:18px 20px;
  border:1px solid color-mix(in srgb, var(--accent) 22%, var(--border));
  border-radius:14px;
  background:color-mix(in srgb, var(--accent) 6%, var(--surface));
}
.price-info__summary strong { display:block; margin-bottom:8px; font-size:15px; }
.price-info__summary p { max-width:900px; margin:0; color:var(--text-muted); font-size:13.5px; line-height:1.65; }

/* Заголовок секции цен */
.price-info__section-head { margin-bottom:26px; }
.price-info__section-title { margin:0; font-size:clamp(24px,3vw,34px); letter-spacing:-.025em; }
.price-info__section-note { margin:8px 0 0; color:var(--text-muted); font-size:13.5px; line-height:1.55; }

/* Карточки цен */
.price-info__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.price-card { position:relative; display:flex; flex-direction:column; min-height:320px; padding:24px; overflow:hidden; border:1px solid var(--border); border-radius:20px; background:var(--surface); cursor:pointer; transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.price-card::after { content:''; position:absolute; right:-70px; top:-70px; width:170px; height:170px; border-radius:50%; background:var(--price-card-glow,rgba(var(--accent-rgb), .1)); filter:blur(18px); pointer-events:none; }
@media (hover:hover) { .price-card:hover { transform:translateY(-5px); border-color:color-mix(in srgb,var(--price-card-accent,var(--accent)) 52%,var(--border)); box-shadow:0 22px 50px rgba(2,8,23,.18); } }
.price-card:focus-visible { outline:2px solid var(--price-card-accent,var(--accent)); outline-offset:3px; }
.price-card__top { position:relative; z-index:1; display:flex; justify-content:space-between; gap:16px; align-items:start; margin-bottom:24px; }
.price-card__icon { display:grid; place-items:center; width:46px; height:46px; border:1px solid color-mix(in srgb,var(--price-card-accent,var(--accent)) 36%,transparent); border-radius:14px; color:var(--price-card-accent,var(--accent)); background:color-mix(in srgb,var(--price-card-accent,var(--accent)) 10%,transparent); }
.price-card__icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.price-card__code { color:var(--text-muted); font-size:10px; font-weight:700; letter-spacing:.1em; }
.price-card__title { position:relative; z-index:1; min-height:calc(2 * 1.3em); margin:0 0 16px; font-size:19px; line-height:1.3; letter-spacing:-.015em; }
.price-card__price { position:relative; z-index:1; display:flex; flex-wrap:wrap; align-items:baseline; gap:7px; min-height:31px; margin-bottom:16px; color:var(--price-card-accent,var(--accent)); }
.price-card__price-prefix,.price-card__period { color:var(--text-muted); font-size:12px; }
.price-card__price strong { font-size:25px; letter-spacing:-.025em; }
.price-card__description { position:relative; z-index:1; margin:auto 0 0; color:var(--text-muted); font-size:13px; line-height:1.65; }
.price-card__cta {
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--border);
  color:var(--price-card-accent,var(--accent));
  font-size:13px;
  font-weight:700;
}
.price-card__cta svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s ease; }
@media (hover:hover) { .price-card:hover .price-card__cta svg { transform:translateX(3px); } }
.price-card--cyan { --price-card-accent:var(--accent-2); --price-card-glow:rgba(var(--accent-2-rgb), .12); }
.price-card--blue { --price-card-accent:var(--accent); --price-card-glow:rgba(var(--accent-rgb), .12); }
.price-card--orange { --price-card-accent:#f97316; --price-card-glow:rgba(249,115,22,.11); }

/* Детали — единый блок */
.price-info__details { margin-top:56px; }
.price-info__detail {
  padding:clamp(24px,3.4vw,40px);
  border:1px solid var(--border);
  border-radius:20px;
  background:var(--surface);
}
.price-info__detail h2 { margin:0 0 16px; font-size:22px; letter-spacing:-.02em; }
.price-info__detail h2:not(:first-child) { margin-top:34px; }
.price-info__detail p { max-width:900px; margin:0 0 14px; color:var(--text-muted); font-size:14px; line-height:1.7; }
.price-info__detail p:last-child { margin-bottom:0; }
.price-info__vat {
  margin-top:22px!important;
  padding:14px 16px;
  border-left:3px solid var(--accent);
  border-radius:0 10px 10px 0;
  color:var(--text)!important;
  background:color-mix(in srgb, var(--accent) 7%, var(--surface));
  font-weight:600;
}

@media (max-width:980px) {
  .price-info__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .price-info__hero { padding:100px 0 44px; }
  .price-info__hero::before { background-size:36px 36px; }
  .price-info__title { font-size:29px; }
  .price-info__lead { font-size:14px; }
  .price-info__body { padding:36px 0 64px; }
  .price-info__intro { margin-bottom:42px; padding:22px 18px; }
  .price-info__grid { grid-template-columns:1fr; }
  .price-card { min-height:0; padding:21px; }
  .price-card__title { min-height:0; }
  .price-card__price { min-height:0; }
  .price-info__details { margin-top:40px; }
  .price-info__detail { padding:22px 18px; }
}

/* Модальное окно заявки */
body.lead-modal-lock { overflow:hidden; }

.lead-modal {
  position:fixed;
  inset:0;
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  visibility:hidden;
  opacity:0;
  transition:opacity .25s ease, visibility 0s linear .25s;
}
.lead-modal--open { visibility:visible; opacity:1; transition:opacity .25s ease; }

.lead-modal__backdrop {
  position:absolute;
  inset:0;
  background:rgba(2,8,23,.72);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.lead-modal__dialog {
  position:relative;
  z-index:1;
  width:100%;
  max-width:880px;
  max-height:calc(100vh - 48px);
  overflow-y:auto;
  padding:clamp(24px,3.4vw,40px);
  border:1px solid var(--border);
  border-radius:24px;
  background:
    radial-gradient(ellipse 60% 60% at 100% 0%, rgba(var(--accent-rgb), .16), transparent 60%),
    var(--surface);
  box-shadow:var(--shadow);
  transform:translateY(16px) scale(.97);
  opacity:0;
  transition:transform .3s cubic-bezier(.2,.7,.2,1), opacity .25s ease;
}
.lead-modal--open .lead-modal__dialog { transform:translateY(0) scale(1); opacity:1; }

.lead-modal__grid { display:grid; grid-template-columns:minmax(220px,.85fr) minmax(300px,1.15fr); gap:40px; align-items:start; }

.lead-modal__info { position:sticky; top:0; }
.lead-modal__title { margin:0 0 12px; font-size:clamp(21px,2.4vw,27px); font-weight:800; line-height:1.25; letter-spacing:-.02em; }
.lead-modal__text { margin:0 0 26px; color:var(--text-muted); font-size:14.5px; line-height:1.65; }

/* Модалка тарифов: левый блок 1:1 как обычная форма на главной — вертикальное
   центрирование (не прижимаем вверх) и та же типографика (section__title/desc). */
#leadModal .lead-modal__grid { align-items:center; }
#leadModal .lead-modal__info { position:static; }
#leadModal .lead-modal__info .section__title { margin-bottom:16px; }
#leadModal .lead-modal__info .section__desc { margin-bottom:32px; }

.lead-modal #modalService {
  border-color:color-mix(in srgb, var(--accent) 26%, var(--border));
  background:color-mix(in srgb, var(--surface) 70%, var(--bg));
  color:var(--text-muted);
  cursor:default;
}

.form__actions { display:flex; gap:12px; }
.form__actions .btn--ghost { flex:0 0 auto; }
.form__actions .form__submit { flex:1; width:auto; }

@media (max-width:820px) {
  .lead-modal__grid { grid-template-columns:1fr; gap:24px; }
  .lead-modal__info { position:static; }
  .lead-modal__text { margin-bottom:20px; }
}

@media (max-width:640px) {
  .lead-modal { padding:16px; align-items:flex-end; }
  .lead-modal__dialog { max-height:calc(100vh - 32px); border-radius:20px 20px 0 0; }
  .form__actions { flex-wrap:wrap; }
  .form__actions .btn--ghost, .form__actions .form__submit { flex:1 1 140px; }
}

/* ===== Полноэкранный hero страницы «Стоимость» (десктоп).
   Таргет через .price-info, чтобы не задеть общий .page-hero на других страницах.
   Тело прайса (таблицы) — естественной высоты. ===== */
@media (min-width: 1024px) and (min-height: 640px) {
  .price-info .page-hero {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .price-info .page-hero > .container { width: 100%; }
}
