/* ═══════════════════════════════════════════════════════════════════════════
   ТЕНДЕРЫ — страница tendery.html (новое оформление одобрено Александром 15.10.2026; прежнее — tender-crane.css, не подключён).
   Цвета — токены sfera-base.css. Вместо рисунков — «карточка закупки» и линейные иконки.
   ═══════════════════════════════════════════════════════════════════════════ */
.tv-inner{max-width:1280px;margin:0 auto}
.tv-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:2.2px;text-transform:uppercase;color:var(--accent-blue);margin-bottom:14px}
.tv-eyebrow::before{content:'';width:26px;height:2px;background:currentColor}
.tv-eyebrow--dark{color:var(--accent)}
.tv-badge{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;background:rgba(126,200,245,.16);border:1px solid rgba(126,200,245,.4);color:var(--accent-blue);font-size:12px;font-weight:900;letter-spacing:.6px}
.tv-badge--light{background:rgba(46,43,126,.07);border-color:rgba(46,43,126,.18);color:var(--purple)}

/* 1. Первый экран */
.tv-hero{position:relative;overflow:hidden;padding:64px 24px 72px;color:var(--white);
  background:radial-gradient(900px 520px at 78% 40%,rgba(78,75,168,.6),transparent 70%),radial-gradient(600px 400px at 10% 100%,rgba(232,69,10,.14),transparent 70%),var(--purple-dark)}
.tv-hero::before{content:'';position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(126,200,245,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(126,200,245,.07) 1px,transparent 1px);background-size:48px 48px;
  -webkit-mask-image:radial-gradient(ellipse 80% 80% at 60% 50%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 80% 80% at 60% 50%,#000 30%,transparent 80%)}
.tv-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.tv-hero h1{font-family:var(--fh);font-size:clamp(30px,3.6vw,48px);font-weight:900;line-height:1.12;letter-spacing:-.4px;margin:0 0 16px}
.tv-lead{font-size:18px;line-height:1.6;color:rgba(255,255,255,.78);max-width:600px;margin:0 0 30px}
.tv-check{max-width:600px;padding:18px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.tv-check-label{display:block;font-size:14px;font-weight:700;color:rgba(255,255,255,.9);margin-bottom:10px}
.tv-check-row{display:flex;gap:8px}
.tv-check-row input{flex:1;min-width:0;height:50px;padding:0 16px;border-radius:12px;border:1.5px solid transparent;background:var(--white);color:var(--text);font:600 15px var(--fb)}
.tv-check-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(232,69,10,.25)}
.tv-check-row button{height:50px;padding:0 22px;border:0;border-radius:12px;background:var(--accent);color:var(--white);font:800 15px var(--fb);cursor:pointer;white-space:nowrap;transition:background .2s,box-shadow .2s}
.tv-check-row button:hover{background:var(--accent-hover);box-shadow:0 8px 22px rgba(232,69,10,.4)}
.tv-check-note{display:block;margin-top:10px;font-size:13px;color:rgba(255,255,255,.6)}
.tv-check-note a{color:var(--white);font-weight:800}

/* «Карточка закупки» */
.tv-card{position:relative;padding:26px;border-radius:22px;background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.18);
  box-shadow:0 30px 70px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:rotate(-1.5deg)}
.tv-card::after{content:'';position:absolute;inset:auto 24px -14px 24px;height:14px;border-radius:0 0 18px 18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-top:0}
.tv-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.tv-card-status{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#8EE3B0}
.tv-card-status i{width:8px;height:8px;border-radius:50%;background:#3FCB7E;box-shadow:0 0 0 4px rgba(63,203,126,.2)}
.tv-card-title{font-size:15px;font-weight:700;color:rgba(255,255,255,.75)}
.tv-card-sum{font-family:var(--fh);font-size:54px;font-weight:900;line-height:1.05;margin:4px 0 14px;letter-spacing:-1px}
.tv-card-sum small{font-size:22px;font-weight:800;color:rgba(255,255,255,.7);letter-spacing:0}
.tv-card-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13.5px;color:rgba(255,255,255,.75);margin-bottom:22px}
.tv-card-meta span{display:inline-flex;align-items:center;gap:6px}
.tv-card-meta svg,.tv-case-geo svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tv-pipe{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(6,1fr);position:relative}
.tv-pipe::before,.tv-pipe::after{content:'';position:absolute;left:8%;right:8%;top:11px;height:2px;background:rgba(255,255,255,.18)}
.tv-pipe::after{right:auto;width:0;background:var(--accent);transition:width 1.8s cubic-bezier(.4,0,.2,1)}
.tv-pipe.is-run::after{width:84%}
.tv-pipe li{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11.5px;font-weight:700;color:rgba(255,255,255,.7);text-align:center}
.tv-pipe b{width:24px;height:24px;border-radius:50%;background:var(--purple-dark);border:2px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;transition:background .3s,border-color .3s}
.tv-pipe.is-run b{background:var(--accent);border-color:var(--accent)}
.tv-pipe.is-run b::after{content:'';width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.tv-pipe.is-run li:nth-child(1) b{transition-delay:.1s}.tv-pipe.is-run li:nth-child(2) b{transition-delay:.4s}.tv-pipe.is-run li:nth-child(3) b{transition-delay:.7s}
.tv-pipe.is-run li:nth-child(4) b{transition-delay:1s}.tv-pipe.is-run li:nth-child(5) b{transition-delay:1.3s}.tv-pipe.is-run li:nth-child(6) b{transition-delay:1.6s}
.tv-card-foot{padding-top:14px;border-top:1px solid rgba(255,255,255,.12);font-size:12.5px;color:rgba(255,255,255,.55)}

/* Общие секции */
.tv-sec{padding:64px 24px}
.tv-sec--white{background:var(--white)}
.tv-head{margin-bottom:30px}
.tv-head h2{font-family:var(--fh);font-size:clamp(24px,2.6vw,34px);font-weight:900;color:var(--purple);margin:0;letter-spacing:-.3px}

/* 2. Виды закупок */
.tv-sec:first-of-type{padding-top:56px}
.tv-laws{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:-104px;position:relative;z-index:2}
.tv-law{padding:26px 26px 24px;border-radius:18px;background:var(--white);border:2px solid var(--purple-light);box-shadow:0 14px 40px rgba(46,43,126,.12);transition:transform .25s,box-shadow .25s,border-color .25s}
.tv-law:hover{transform:translateY(-4px);border-color:var(--purple);box-shadow:0 0 0 3px var(--purple),0 22px 50px rgba(46,43,126,.2)}
.tv-law-num{font-family:var(--fh);font-size:46px;font-weight:900;line-height:1;color:var(--purple);margin-bottom:14px;letter-spacing:-1px}
.tv-law-num span{font-size:24px;color:var(--accent);letter-spacing:0}
.tv-law-num--text{font-size:30px;padding:8px 0 6px}
.tv-law p{margin:0;font-size:15px;line-height:1.6;color:var(--text-muted)}

/* 3. Процесс — линия этапов */
.tv-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:20px;position:relative;counter-reset:st}
.tv-steps::before{content:'';position:absolute;left:32px;right:32px;top:31px;height:2px;background:repeating-linear-gradient(90deg,var(--purple-light) 0 8px,transparent 8px 14px)}
.tv-steps li{position:relative;counter-increment:st}
.tv-step-ico{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:18px;background:var(--purple);color:var(--white);box-shadow:0 10px 24px rgba(46,43,126,.28);margin-bottom:18px;transition:transform .25s,background .25s}
.tv-step-ico::after{content:counter(st);position:absolute;right:-8px;top:-8px;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--white);font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center;border:2px solid var(--white)}
.tv-step-ico svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tv-steps li:hover .tv-step-ico{transform:translateY(-3px);background:var(--purple-light)}
.tv-steps h3{font-size:17px;font-weight:900;color:var(--text);margin:0 0 6px}
.tv-steps p{margin:0;font-size:14px;line-height:1.55;color:var(--text-muted)}

/* 4. Контракты */
.tv-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tv-case{display:flex;flex-direction:column;padding:24px;border-radius:18px;background:var(--white);border:2px solid var(--purple-light);transition:transform .25s,box-shadow .25s,border-color .25s}
.tv-case:hover{transform:translateY(-4px);border-color:var(--purple);box-shadow:0 0 0 3px var(--purple),0 22px 50px rgba(46,43,126,.18)}
.tv-case-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.tv-case-year{font-size:13px;font-weight:800;color:var(--gray-400)}
.tv-case-sum{font-family:var(--fh);font-size:42px;font-weight:900;line-height:1;color:var(--purple);letter-spacing:-1px;margin-bottom:12px}
.tv-case-sum small{font-size:18px;color:var(--gray-600);letter-spacing:0}
.tv-case h3{font-size:18px;font-weight:900;color:var(--text);margin:0 0 8px}
.tv-case p{flex:1;margin:0 0 18px;font-size:14.5px;line-height:1.6;color:var(--text-muted)}
.tv-case-geo{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--purple)}

/* 5. Площадки */
.tv-platforms{padding:40px 0 44px;background:var(--gray-50);border-top:1px solid var(--gray-100);border-bottom:1px solid var(--gray-100)}
.tv-platforms .tv-inner{padding:0 24px}
.tv-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.tv-marquee-track{display:flex;gap:14px;width:max-content;animation:tvMarquee 40s linear infinite}
.tv-marquee:hover .tv-marquee-track{animation-play-state:paused}
.tv-marquee-track span{flex:0 0 auto;padding:14px 26px;border-radius:14px;background:var(--white);border:1.5px solid var(--gray-100);font-size:17px;font-weight:900;color:var(--purple-dark);letter-spacing:.2px}
@keyframes tvMarquee{to{transform:translateX(calc(-50% - 7px))}}

/* 6. Вопросы и призыв */
.tv-faq-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:start}
.tv-faq details{border:1.5px solid var(--gray-100);border-radius:14px;background:var(--white);margin-bottom:10px;transition:border-color .2s,box-shadow .2s}
.tv-faq details[open],.tv-faq details:hover{border-color:var(--purple-light)}
.tv-faq details[open]{box-shadow:var(--sh)}
.tv-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;font-size:16px;font-weight:800;color:var(--text);cursor:pointer}
.tv-faq summary::-webkit-details-marker{display:none}
.tv-faq summary::after{content:'+';flex:0 0 30px;height:30px;border-radius:50%;background:var(--gray-50);color:var(--purple);font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:transform .25s,background .25s,color .25s}
.tv-faq details[open] summary::after{transform:rotate(45deg);background:var(--purple);color:var(--white)}
.tv-faq details p{margin:0;padding:0 20px 18px;font-size:15px;line-height:1.65;color:var(--text-muted)}
.tv-cta{position:sticky;top:110px;padding:30px;border-radius:22px;color:var(--white);background:radial-gradient(400px 260px at 100% 0,rgba(232,69,10,.25),transparent 70%),var(--purple)}
.tv-cta h2{font-family:var(--fh);font-size:26px;font-weight:900;line-height:1.2;margin:0 0 12px}
.tv-cta p{margin:0 0 22px;font-size:15px;line-height:1.6;color:rgba(255,255,255,.8)}
.tv-btn{display:flex;justify-content:center;padding:15px 20px;border-radius:12px;background:var(--accent);color:var(--white);font-weight:900;font-size:16px;transition:background .2s,box-shadow .2s}
.tv-btn:hover{background:var(--accent-hover);box-shadow:0 10px 26px rgba(232,69,10,.45)}
.tv-phone{display:block;margin-top:14px;text-align:center;font-size:20px;font-weight:900;color:var(--white)}

@media(max-width:1024px){
  .tv-hero-grid{grid-template-columns:1fr;gap:36px}
  .tv-card{max-width:520px;transform:none}
  .tv-steps{grid-template-columns:repeat(2,1fr);gap:26px}
  .tv-steps::before{display:none}
  .tv-faq-grid{grid-template-columns:1fr}
  .tv-cta{position:static}
}
@media(max-width:760px){
  .tv-hero{padding:40px 16px 96px}
  .tv-sec{padding:44px 16px}
  .tv-check-row{flex-direction:column}
  .tv-check-row input,.tv-check-row button{flex:none;width:100%}
  .tv-hero h1 br{display:none}
  .tv-laws,.tv-cases{grid-template-columns:1fr}
  .tv-laws{margin-top:-72px}
  .tv-card-sum{font-size:44px}
  .tv-pipe li{font-size:10px}
  .tv-steps{grid-template-columns:1fr}
  .tv-platforms .tv-inner{padding:0 16px}
}
@media(prefers-reduced-motion:reduce){
  .tv-marquee-track{animation:none;flex-wrap:wrap;width:auto}
  .tv-pipe::after,.tv-pipe b{transition:none}
  .tv-law,.tv-case,.tv-step-ico{transition:none}
}
