* { margin: 0; padding: 0; box-sizing: border-box; }
@font-face { font-family: 'stenga'; src: url('https://aodruk.ru/fonts/stenga.ttf'); }
:root { --primary-color:#0479AF; --gradient-start:#009BA5; --gradient-end:#1D76B8; --text-color:#333; --light-color:#fff; --dark-color:#222; --gray-color:#f5f5f5; --border-color:#ddd;
  /* Единая дизайн-система (премиальный тон): радиусы, тени, переход */
  --navy-1:#0c2c43; --primary-700:#036a95;
  --r-sm:8px; --r:12px; --r-lg:16px; --r-pill:999px;
  --sh-1:0 1px 2px rgba(12,44,67,.06), 0 1px 3px rgba(12,44,67,.08);
  --sh-2:0 6px 18px rgba(12,44,67,.10);
  --sh-3:0 16px 36px rgba(12,44,67,.16);
  --t:.25s cubic-bezier(.4,0,.2,1);
}
html { overflow-x:hidden; }
body { font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif; font-size:16px; line-height:1.6; color:var(--text-color); overflow-x:hidden; max-width:100%; }
.container { width:100%; max-width:1440px; margin:0 auto; padding:0 20px; }
img { max-width:100%; height:auto; }
.section { padding:80px 0; }
.section-title { font-size:38px; text-align:center; margin-bottom:14px; color:var(--dark-color); font-family:stenga; font-weight:normal; letter-spacing:.01em; }
/* Надзаголовок-eyebrow и акцентная линия под заголовком секции */
.section-eyebrow { display:block; text-align:center; text-transform:uppercase; letter-spacing:.14em; font-size:13px; font-weight:700; color:var(--primary-color); margin-bottom:10px; }
.section-head { margin-bottom:46px; }
.section-head .section-title { margin-bottom:0; }
.section-head:after, .section-title.with-rule:after { content:""; display:block; width:64px; height:4px; border-radius:4px; margin:18px auto 0; background:linear-gradient(90deg,var(--gradient-start),var(--gradient-end)); }
.stats .section-eyebrow { color:#bfe9ec; }
.stats .section-head:after { background:rgba(255,255,255,.55); }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; background-color:var(--primary-color); color:var(--light-color); padding:13px 30px; border-radius:var(--r); text-decoration:none; font-weight:600; border:none; cursor:pointer; box-shadow:var(--sh-1); transition:transform var(--t), box-shadow var(--t), background-color var(--t); }
.btn:hover { background-color:var(--primary-700); transform:translateY(-2px); box-shadow:var(--sh-2); }
.btn:focus-visible { outline:3px solid rgba(4,121,175,.45); outline-offset:2px; }
.btn-lg { padding:16px 38px; font-size:17px; }
/* Призрачная кнопка — для тёмных фонов (hero) */
.btn-ghost { background:rgba(255,255,255,.10); color:#fff; border:1.5px solid rgba(255,255,255,.6); backdrop-filter:blur(4px); box-shadow:none; }
.btn-ghost:hover { background:rgba(255,255,255,.20); border-color:#fff; }
/* Вторичная кнопка на светлом фоне (обводка) */
.btn-outline { background:transparent; color:var(--primary-color); border:1.5px solid var(--primary-color); box-shadow:none; }
.btn-outline:hover { background:var(--primary-color); color:#fff; }
/* Вход/регистрация на странице запроса КП */
.rfp-auth { display:flex; gap:12px; justify-content:center; align-items:center; flex-wrap:wrap; margin-top:22px; }
.rfp-auth-who { color:var(--muted2,#6b7b88); font-size:15px; }

/* ===== Hero-баннер внутренних страниц ===== */
.page-hero { position:relative; min-height:210px; overflow:hidden; display:flex; align-items:center; padding:44px 0; background:linear-gradient(120deg,var(--navy-1),#103a59); }
.page-hero-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.page-hero-overlay { position:absolute; inset:0; z-index:1; background:linear-gradient(105deg, rgba(12,44,67,.86) 0%, rgba(12,44,67,.58) 55%, rgba(12,44,67,.28) 100%); }
.page-hero-content { position:relative; z-index:2; width:100%; text-align:center; }
.page-hero-title { color:#fff; font-family:stenga; font-weight:normal; font-size:42px; line-height:1.15; text-shadow:0 2px 20px rgba(0,0,0,.3); }
.page-hero-sub { color:rgba(255,255,255,.92); font-size:17px; max-width:640px; margin-top:12px; line-height:1.6; }
@media(max-width:600px){ .page-hero { min-height:150px; padding:34px 0; } .page-hero-title { font-size:27px; } }

/* ===== Сетка лотов (карточки фикс. ширины, по центру при малом числе) ===== */
.lots-grid { display:flex; flex-wrap:wrap; gap:22px; justify-content:center; align-items:stretch; }
.lots-grid .lot-card { width:360px; max-width:100%; }
/* Карточки лота одинаковой высоты: содержимое тянется, кнопка «Открыть» внизу. */
.lots-grid .lot-card { display:flex; flex-direction:column; }
.lots-grid .lot-card .pad { display:flex; flex-direction:column; flex:1 1 auto; }
.lots-grid .lot-card .lot-card-body { flex:1 1 auto; }
.lots-grid .lot-card .pad .btn { margin-top:16px; }

/* ===== Auth/статусные страницы (вход, регистрация, заявка, подтверждение) ===== */
.auth-wrap { max-width:460px; margin:48px auto; padding:0 16px; }
.auth-wrap.wide { max-width:640px; }
.auth-card { background:#fff; border:1px solid var(--line2,#e3e8ee); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-2); }
.auth-head { background:linear-gradient(120deg,var(--navy-1),#103a59); color:#fff; padding:22px 26px; }
.auth-head h2 { margin:0; font-size:22px; font-weight:700; }
.auth-head p { margin:6px 0 0; font-size:13px; color:#bcd4e6; }
.auth-text { padding:24px 26px 28px; color:var(--text-color); }
.auth-text p { margin-bottom:14px; line-height:1.7; }
.auth-text .btn { margin-top:6px; }
.auth-note { background:#fff7e6; border:1px solid #ffe1a8; color:#8a6300; padding:12px 14px; border-radius:var(--r-sm); font-size:13px; margin-bottom:16px; }

/* ===== Личный кабинет ===== */
.cab-grid { display:grid; grid-template-columns:1fr; gap:24px; max-width:920px; margin:0 auto; }
.cab-card { background:#fff; border:1px solid var(--line2,#e3e8ee); border-radius:var(--r-lg); padding:26px 28px; box-shadow:var(--sh-1); }
.cab-card h3 { font-size:18px; font-weight:700; margin-bottom:18px; display:flex; align-items:center; gap:10px; color:var(--dark-color); }
.cab-card h3 i { color:var(--primary-color); }
.cab-rows { display:grid; grid-template-columns:auto 1fr; gap:11px 28px; font-size:15px; margin:0; }
.cab-rows dt { color:var(--muted2,#6b7b88); }
.cab-rows dd { margin:0; color:var(--dark-color); font-weight:500; }
.cab-status { display:inline-block; padding:4px 12px; border-radius:var(--r-pill); font-size:13px; font-weight:700; }
.cab-status.ok { background:#e8f7ef; color:#1c7c44; }
.cab-status.wait { background:#fff7e6; color:#8a6300; }
.cab-table-wrap { overflow-x:auto; }
.cab-lot-link { font-weight:600; color:var(--primary-color); text-decoration:none; }
.cab-lot-link:hover { text-decoration:underline; }
.cab-lot-no { display:block; font-size:12px; color:var(--muted2,#6b7b88); margin-top:2px; }
.cab-lead { color:#1c7c44; font-weight:700; }
.cab-out { color:#b00020; font-weight:700; }
.cab-empty { color:var(--muted2,#6b7b88); }
.cab-form .field { margin-bottom:16px; }
.cab-form label { display:block; font-size:13px; color:#3a6ea5; margin-bottom:6px; font-weight:600; }
.cab-form .help { font-size:12px; color:var(--muted2,#6b7b88); margin-top:4px; }
.cab-form .btn { margin-top:6px; }
.auth-err { background:#fdecef; border:1px solid #f5c2cb; color:#b00020; padding:10px 14px; border-radius:var(--r-sm); font-size:14px; margin-bottom:14px; }
.cab-ok { background:#e8f7ef; border:1px solid #b6e3c8; color:#1c7c44; padding:10px 14px; border-radius:var(--r-sm); font-size:14px; margin-bottom:14px; display:flex; align-items:center; gap:8px; }
@media(max-width:560px){ .cab-rows { grid-template-columns:1fr; gap:3px 0; } .cab-rows dd { margin-bottom:10px; } }
.row { display:flex; flex-wrap:wrap; margin:0 -15px; }
.col { padding:0 15px; flex:1 0 100%; }
.col-2 { flex:0 0 50%; max-width:50%; }
.col-3 { flex:0 0 33.33333%; max-width:33.33333%; }
.col-4 { flex:0 0 25%; max-width:25%; }
.header-top { padding:15px 0; border-bottom:1px solid var(--border-color); background-color:var(--light-color); box-shadow:0 2px 10px rgba(0,0,0,.1); }
.header-bottom { background-color:var(--primary-color); position:sticky; top:0; z-index:1000; box-shadow:0 2px 10px rgba(0,0,0,.1); }
.header-container { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; }
.logo { font-size:24px; font-weight:700; color:var(--primary-color); text-decoration:none; display:flex; align-items:center; }
.logo img { height:50px; margin-right:10px; }
.header-contacts { display:flex; flex-wrap:wrap; }
.contact-item { display:flex; align-items:center; margin-right:30px; }
.contact-item:last-child { margin-right:0; }
.contact-item i { margin-right:10px; color:var(--primary-color); }
.contact-item span { font-size:14px; }
.header-nav { display:flex; width:100%; }
.nav-menu { display:flex; list-style:none; margin:0 auto; padding:0; }
.nav-menu li { margin:0 15px; }
.nav-menu a { color:var(--light-color); text-decoration:none; font-weight:600; padding:20px 0; display:block; transition:color .3s; position:relative; }
.nav-menu a:hover { color:rgba(255,255,255,.8); }
.hero { height:78vh; min-height:600px; position:relative; overflow:hidden; display:flex; align-items:flex-end; }
.hero-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.hero-overlay { position:absolute; inset:0; z-index:1; background:linear-gradient(105deg, rgba(12,44,67,.82) 0%, rgba(12,44,67,.50) 46%, rgba(12,44,67,.12) 100%); }
.hero-content { position:relative; z-index:2; width:100%; padding-bottom:60px; }
.hero-eyebrow { color:#bfe9ec; text-transform:uppercase; letter-spacing:.16em; font-weight:700; font-size:14px; margin-bottom:14px; }
.hero-title { color:var(--light-color); font-size:54px; max-width:860px; text-align:left; line-height:1.22; font-family:stenga; font-weight:normal; text-shadow:0 2px 24px rgba(0,0,0,.3); }
.hero-sub { color:rgba(255,255,255,.92); font-size:19px; max-width:640px; margin-top:18px; line-height:1.6; }
.hero-cta { display:flex; gap:14px; margin-top:30px; flex-wrap:wrap; }
.about-text { margin-bottom:40px; }
.about-text p { margin-bottom:20px; }
.tasks { background:linear-gradient(50deg,var(--gradient-start),var(--gradient-end)); color:var(--light-color); }
.stats { background:linear-gradient(50deg,var(--gradient-start),var(--gradient-end)); color:var(--light-color); padding:80px 0; }
.stats .section-title { color:var(--light-color); }
.stats-row { display:flex; flex-wrap:wrap; justify-content:center; }
.stats-row:first-child { margin-bottom:40px; }
.stat-item { flex:0 0 calc(33.33333% - 20px); max-width:calc(33.33333% - 20px); margin:0 10px 28px; display:flex; align-items:center; }
.stat-icon-wrapper { width:76px; height:76px; background-color:rgba(255,255,255,.16); border-radius:50%; display:flex; align-items:center; justify-content:center; margin-right:20px; flex-shrink:0; }
.stat-icon { font-size:32px; color:var(--light-color); }
.stat-number { font-size:40px; font-weight:700; margin-bottom:2px; color:var(--light-color); font-variant-numeric:tabular-nums; line-height:1; }
.stat-text { font-size:17px; color:rgba(255,255,255,.9); }
.quota-cards { display:flex; flex-wrap:wrap; justify-content:center; margin-bottom:40px; }
.quota-card { flex:0 0 20%; max-width:20%; padding:0 10px; margin-bottom:20px; }
.quota-card-inner { background-color:var(--gray-color); border-radius:var(--r-lg); overflow:hidden; height:100%; box-shadow:var(--sh-2); transition:transform var(--t), box-shadow var(--t); position:relative; min-height:280px; }
.quota-card:hover .quota-card-inner { transform:translateY(-4px); box-shadow:var(--sh-3); }
.quota-img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; z-index:1; transition:transform .5s var(--t); }
.quota-card:hover .quota-img { transform:scale(1.06); }
.quota-overlay { position:absolute; bottom:0; left:0; width:100%; padding:20px; background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.4) 60%,transparent 100%); color:var(--light-color); z-index:2; }
.quota-title { font-size:24px; font-weight:700; margin-bottom:5px; }
.quota-desc { font-size:16px; opacity:.9; }
.cards-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:20px; }
.lot-card { background:#fff; border:1px solid var(--border-color); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-1); transition:transform var(--t), box-shadow var(--t), border-color var(--t); }
.lot-card:hover { transform:translateY(-4px); box-shadow:var(--sh-3); border-color:#cfe0f3; }
.lot-card .pad { padding:22px; }
.pill { display:inline-block; font-size:12px; font-weight:700; padding:3px 10px; border-radius:20px; }
.pill.live { background:#e8f7ef; color:#1c7c44; } .pill.announced { background:#e6f1fb; color:#185fa5; } .pill.finished { background:#f1f1f3; color:#6a6a72; }
.price { font-size:22px; font-weight:700; color:var(--dark-color); }
.footer { background-color:var(--dark-color); color:var(--light-color); padding:60px 0 20px; }
.footer-title { font-size:20px; margin-bottom:20px; font-weight:700; }
.footer-info { font-size:14px; line-height:1.8; color:rgba(255,255,255,.7); }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1.4fr; gap:40px; }
.footer-logo { display:inline-flex; align-items:center; margin-bottom:18px; text-decoration:none; }
.footer-logo img { height:46px; }
.footer-links { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:13px; }
.footer-links a { color:rgba(255,255,255,.7); text-decoration:none; transition:color var(--t); }
.footer-links a:hover { color:#fff; }
.footer-contacts { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:15px; }
.footer-contacts li { display:flex; align-items:flex-start; gap:12px; color:rgba(255,255,255,.7); font-size:14px; line-height:1.5; }
.footer-contacts i { color:var(--primary-color); margin-top:3px; flex:none; width:16px; text-align:center; }
@media(max-width:768px){ .footer-grid { grid-template-columns:1fr; gap:30px; } }
.copyright { text-align:center; padding-top:30px; margin-top:30px; border-top:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.5); font-size:14px; }
.form-group { margin-bottom:20px; }
.form-control { width:100%; padding:12px 15px; border:1px solid var(--border-color); border-radius:4px; font-size:16px; }
.form-control:focus { border-color:var(--primary-color); outline:none; }
.muted { color:#777; font-size:14px; }
@media(max-width:1200px){ .quota-card{flex:0 0 33.33333%;max-width:33.33333%;} .stat-item{flex:0 0 calc(50% - 20px);max-width:calc(50% - 20px);} }
@media(max-width:992px){ .header-top{display:none;} .stat-item{flex:0 0 calc(100% - 20px);max-width:calc(100% - 20px);} .quota-card{flex:0 0 50%;max-width:50%;} }
@media(max-width:768px){ .quota-card{flex:0 0 100%;max-width:100%;} .section{padding:50px 0;} }
/* --- Шапка на мобильном: меню не должно выпирать за экран --- */
@media(max-width:768px){
  .header-container{ row-gap:0; }
  .header-nav.subnav{ flex-wrap:wrap; row-gap:4px; padding:6px 0; }
  .nav-menu{ margin:0; flex-wrap:wrap; gap:0 14px; }
  .nav-menu li{ margin:0; }
  .nav-menu a{ padding:8px 0; font-size:14px; }
  .auth-links{ gap:14px; padding:4px 0 8px; flex-wrap:wrap; }
  .auth-links a{ font-size:14px; }
}

/* ===== Страница лота / зал торгов (запрос КП) — всё скоупом .lot-page ===== */
:root{ --navy:#0c2c43; --line2:#e3e8ee; --muted2:#6b7b88; --lblue:#e8f1fb; --lblue-bd:#cfe0f3; }
.lot-page{ max-width:1180px; margin:0 auto; padding:0 20px 50px; }
.lot-page .crumb{ padding:16px 0 4px; color:var(--muted2); font-size:14px; }
.lot-page .crumb a{ color:var(--muted2); } .lot-page .crumb a:hover{ color:var(--primary-color); }
.lot-page .crumb i{ margin-right:6px; }
.lot-page .ticker{ background:linear-gradient(120deg,var(--navy),#103a59); color:#fff; border-radius:14px; padding:22px 26px; margin-top:10px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; }
.lot-page .lot-no{ font-size:12px; color:#bcd4e6; letter-spacing:.04em; text-transform:uppercase; }
.lot-page .lot-h{ font-size:21px; font-weight:700; line-height:1.3; max-width:640px; margin-top:3px; }
.lot-page .lot-sub{ font-size:13px; color:#bcd4e6; margin-top:6px; } .lot-page .lot-sub i{ margin-right:6px; }
.lot-page .pricebox{ text-align:right; }
.lot-page .plabel{ font-size:12px; color:#bcd4e6; text-transform:uppercase; letter-spacing:.04em; }
.lot-page .pval{ font-size:36px; font-weight:800; line-height:1.05; }
.lot-page .pkg{ font-size:14px; color:#9fe1cb; margin-top:2px; font-weight:600; }
.lot-page .badge-live{ display:inline-flex; align-items:center; gap:7px; background:rgba(46,204,113,.18); color:#7ef0a8; font-size:12px; font-weight:600; padding:5px 12px; border-radius:999px; margin-top:10px; }
.lot-page .badge-live.fin{ background:rgba(255,255,255,.14); color:#cfe0ec; }
.lot-page .dot{ width:8px; height:8px; border-radius:50%; background:#2ecc71; animation:pulse 1.6s infinite; }
@keyframes pulse{ 0%{box-shadow:0 0 0 0 rgba(46,204,113,.5)} 70%{box-shadow:0 0 0 9px rgba(46,204,113,0)} 100%{box-shadow:0 0 0 0 rgba(46,204,113,0)} }
.lot-page .metrics{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:16px; }
.lot-page .metrics-3{ grid-template-columns:repeat(3,1fr); }
.lot-page .metric{ background:var(--lblue); border:1px solid var(--lblue-bd); border-radius:12px; padding:16px 18px; text-align:center; }
/* Ценовой блок над «Моё предложение» (правая колонка, во всю её ширину).
   Селектор .lcard.pricecard — специфичнее общего .lcard{background:#fff}, иначе
   белый фон .lcard перекрыл бы градиент, и белый текст цены стал бы невидимым. */
.lot-page .lcard.pricecard{ background:linear-gradient(120deg,var(--navy),#103a59); border:none; text-align:center; padding:16px 20px; }
.lot-page .lcard.pricecard .pc-label{ font-size:12px; color:#bcd4e6; text-transform:uppercase; letter-spacing:.04em; }
.lot-page .lcard.pricecard .pc-label i{ margin-right:6px; }
.lot-page .lcard.pricecard .pc-val{ font-size:32px; font-weight:800; color:#fff; line-height:1.1; margin-top:4px; }
.lot-page .m-l{ font-size:13px; color:#3a6ea5; display:flex; align-items:center; justify-content:center; gap:7px; }
.lot-page .m-v{ font-size:22px; font-weight:700; margin-top:6px; color:var(--navy); }
.lot-page .mono{ font-variant-numeric:tabular-nums; }
.lot-page .lot-grid{ display:grid; grid-template-columns:1.6fr 1fr; gap:18px; margin:18px 0 0; }
.lot-page .lcol{ display:flex; flex-direction:column; gap:18px; }
.lot-page .rcol{ display:flex; flex-direction:column; gap:18px; position:sticky; top:80px; align-self:start; }
/* Блок на всю ширину под сеткой: спецификация, размерный ряд, таблица-спецификация. */
.lot-page .lot-full{ display:flex; flex-direction:column; gap:18px; margin-top:18px; }
/* Таблица-спецификация лота (из редактора-сетки в админке). */
.lot-page .spec-table-wrap{ overflow-x:auto; }
.lot-page table.spec-table{ border-collapse:collapse; width:100%; font-size:13px; }
.lot-page table.spec-table th, .lot-page table.spec-table td{ border:1px solid var(--line2); padding:7px 10px; text-align:left; vertical-align:middle; }
.lot-page table.spec-table th{ background:#eef3fb; font-weight:700; color:var(--navy); }
.lot-page table.spec-table tr.total{ font-weight:700; background:#f6f8fb; }
.lot-page table.spec-table tr.total td, .lot-page table.spec-table tr.total th{ border-top:2px solid #c9d4e2; }
.lot-page .hist-wrap{ overflow-x:auto; }
.lot-page table.hist th, .lot-page table.hist td{ white-space:nowrap; }
.lot-page .lcard{ background:#fff; border:1px solid var(--line2); border-radius:12px; padding:18px 20px; }
.lot-page .lcard h3{ font-size:16px; margin-bottom:12px; display:flex; align-items:center; gap:8px; font-weight:700; }
.lot-page .lcard h3 i{ color:var(--primary-color); }
.lot-page .lcard p{ margin-bottom:12px; }
.lot-page .params div{ display:flex; justify-content:space-between; gap:14px; padding:10px 0; border-bottom:1px solid var(--line2); font-size:14px; }
.lot-page .params div:last-child{ border-bottom:none; }
.lot-page .params span:first-child{ color:var(--muted2); }
.lot-page table.spec, .lot-page table.hist, .lot-page table.vtable{ width:100%; border-collapse:collapse; font-size:14px; }
.lot-page table.spec th, .lot-page table.hist th{ text-align:left; color:var(--muted2); font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:.03em; padding:9px 0; border-bottom:1px solid var(--line2); }
.lot-page table.spec td, .lot-page table.hist td{ padding:10px 0; border-bottom:1px solid var(--line2); }
.lot-page table.spec tr:last-child td{ border-bottom:none; font-weight:700; }
.lot-page table.hist tr:last-child td{ border-bottom:none; }
.lot-page .right-num{ text-align:right; }
.lot-page .you{ color:var(--primary-color); font-weight:700; }
.lot-page .main-imgwrap{ position:relative; width:100%; height:460px; border-radius:10px; overflow:hidden; border:1px solid var(--line2); background:#eef2f6; }
.lot-page .main-imgwrap .bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:blur(22px) brightness(.7); transform:scale(1.12); }
.lot-page .main-img{ position:relative; z-index:1; width:100%; height:100%; object-fit:contain; display:block; cursor:zoom-in; }
@media(max-width:768px){ .lot-page .main-imgwrap{ height:340px; } }
/* Лайтбокс: фото во весь экран по клику. */
.lightbox{ position:fixed; inset:0; z-index:10000; display:none; align-items:center; justify-content:center; padding:32px; background:rgba(8,20,33,.92); cursor:zoom-out; }
.lightbox.open{ display:flex; }
.lightbox img{ max-width:96vw; max-height:92vh; object-fit:contain; border-radius:8px; box-shadow:0 12px 48px rgba(0,0,0,.55); }
.lightbox .lb-close{ position:fixed; top:14px; right:22px; width:44px; height:44px; border:none; background:rgba(255,255,255,.12); color:#fff; font-size:30px; line-height:1; border-radius:50%; cursor:pointer; }
.lightbox .lb-close:hover{ background:rgba(255,255,255,.24); }
.lot-page .thumbs{ display:flex; gap:10px; margin-top:10px; flex-wrap:wrap; }
.lot-page .thumbs img{ width:88px; height:66px; object-fit:cover; border-radius:8px; border:2px solid var(--line2); cursor:pointer; }
.lot-page .thumbs img.active, .lot-page .thumbs img:hover{ border-color:var(--primary-color); }
.lot-page .more{ margin-top:14px; border-top:1px solid var(--line2); padding-top:12px; }
.lot-page .more summary{ cursor:pointer; color:var(--primary-color); font-weight:600; font-size:14px; list-style:none; display:flex; align-items:center; gap:8px; }
.lot-page .more summary::-webkit-details-marker{ display:none; }
.lot-page .more summary:before{ content:"\f078"; font-family:"Font Awesome 6 Free"; font-weight:900; font-size:12px; transition:.2s; }
.lot-page .more[open] summary:before{ transform:rotate(180deg); }
.lot-page table.vtable th{ text-align:right; color:var(--muted2); font-weight:600; font-size:11px; padding:8px 6px; border-bottom:1px solid var(--line2); }
.lot-page table.vtable th:first-child{ text-align:left; }
.lot-page table.vtable td{ text-align:right; padding:9px 6px; border-bottom:1px solid var(--line2); font-variant-numeric:tabular-nums; }
.lot-page table.vtable td:first-child{ text-align:left; }
.lot-page table.vtable tr:last-child td{ border-bottom:none; font-weight:700; }
.lot-page .cert{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 0; border-bottom:1px solid var(--line2); }
.lot-page .cert:last-child{ border-bottom:none; }
.lot-page .cert .ci{ display:flex; align-items:center; gap:12px; }
.lot-page .cert .fi{ flex:none; width:42px; height:42px; border-radius:9px; background:#fdecea; color:#c0392b; display:flex; align-items:center; justify-content:center; font-size:18px; }
.lot-page .cert .nm{ font-weight:600; font-size:14px; } .lot-page .cert .meta{ font-size:12px; color:var(--muted2); }
.lot-page .dl{ flex:none; display:inline-flex; align-items:center; gap:7px; border:1px solid var(--primary-color); color:var(--primary-color); background:#fff; border-radius:8px; padding:8px 14px; font-size:13px; font-weight:600; text-decoration:none; }
.lot-page .dl:hover{ background:var(--primary-color); color:#fff; }
/* предложение и история липнут вместе — sticky на .rcol */
.lot-page .offer-label{ font-size:13px; color:var(--muted2); margin-bottom:6px; }
.lot-page .inp-wrap{ display:flex; align-items:stretch; border:1.5px solid var(--line2); border-radius:10px; overflow:hidden; }
.lot-page .inp-wrap:focus-within{ border-color:var(--primary-color); }
.lot-page .offer-inp{ flex:1; height:52px; font-size:24px; font-weight:700; text-align:center; border:none; outline:none; color:var(--dark-color); font-variant-numeric:tabular-nums; min-width:0; }
.lot-page .cur{ display:flex; align-items:center; padding:0 16px; background:var(--gray-color); color:var(--muted2); font-weight:600; border-left:1px solid var(--line2); }
.lot-page .total-row{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-top:12px; padding:12px 14px; background:var(--gray-color); border-radius:10px; }
.lot-page .total-row .tl{ font-size:13px; color:var(--muted2); } .lot-page .total-row .tv{ font-size:20px; font-weight:700; color:var(--primary-color); }
.lot-page .offer-btn{ width:100%; height:50px; margin-top:12px; border:none; border-radius:10px; background:var(--primary-color); color:#fff; font-size:16px; font-weight:700; cursor:pointer; }
.lot-page .offer-btn:hover{ background:#036a95; }
.lot-page .hint{ font-size:12px; color:var(--muted2); text-align:center; margin-top:10px; }

/* --- Адаптив страницы лота --- */
@media(max-width:900px){
  .lot-page .lot-grid{ grid-template-columns:1fr; }
  .lot-page .rcol{ position:static; top:auto; }
  .lot-page .metrics{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:600px){
  .lot-page{ padding:0 14px 40px; }
  .lot-page .ticker{ padding:18px; gap:12px; }
  .lot-page .pricebox{ text-align:left; }
  .lot-page .pval{ font-size:30px; }
  .lot-page .lot-h{ font-size:18px; }
  .lot-page .m-v{ font-size:18px; }
  .lot-page .lcard{ padding:16px; }
  .lot-page table.hist{ font-size:13px; }
  .lot-page .offer-inp{ font-size:20px; }
}
@media(max-width:380px){
  .lot-page .metrics{ grid-template-columns:1fr; }
}
.lot-page .msg-ok{ color:#1c7c44; } .lot-page .msg-err{ color:#b00020; }
.lot-page .locked{ background:#fff8e6; border:1px solid #f0e2a8; color:#7a5b00; border-radius:10px; padding:14px 16px; font-size:14px; }
@media(max-width:992px){ .lot-page .metrics{grid-template-columns:repeat(2,1fr)} .lot-page .lot-grid{grid-template-columns:1fr} .lot-page .rcol{position:static} .lot-page .pval{font-size:28px} }

/* ===== CTA-секция «Готовы участвовать» ===== */
.cta-block { background:linear-gradient(120deg,var(--navy-1),#103a59); color:#fff; border-radius:var(--r-lg); padding:50px 40px; text-align:center; box-shadow:var(--sh-2); }
.cta-block h2 { font-family:stenga; font-weight:normal; font-size:32px; margin-bottom:12px; color:#fff; }
.cta-block p { color:rgba(255,255,255,.85); max-width:620px; margin:0 auto 26px; font-size:17px; }
.cta-block .btn { background:#fff; color:var(--navy-1); }
.cta-block .btn:hover { background:#eaf3fb; }
/* ===== Адаптив hero (лесенка от большего к меньшему — порядок важен для каскада) ===== */
.hero-title{ overflow-wrap:break-word; }
@media(max-width:992px){ .hero{ height:auto; min-height:520px; } .hero-title{ font-size:40px; } .hero-content{ padding-bottom:44px; padding-top:120px; } }
@media(max-width:600px){ .cta-block{ padding:36px 22px; } .cta-block h2{ font-size:26px; } .hero-title{ font-size:29px; } .hero-sub{ font-size:16px; } }
@media(max-width:400px){ .hero-title{ font-size:25px; } }

/* ===== Навигация: акцентный пункт «Запрос КП» ===== */
.nav-menu .nav-cta{ background:#fff; color:var(--primary-color); padding:9px 18px; border-radius:var(--r-pill); font-weight:700; transition:transform var(--t), box-shadow var(--t), color var(--t); }
.nav-menu .nav-cta:hover{ color:var(--primary-700); transform:translateY(-1px); box-shadow:0 6px 16px rgba(0,0,0,.18); }

/* ===== О компании ===== */
.about-lead{ max-width:880px; margin:0 auto; text-align:center; font-size:19px; line-height:1.7; color:#3a4750; }
.about-cols{ display:grid; grid-template-columns:1fr 1fr; gap:48px; max-width:1100px; margin:0 auto; }
.about-cols p{ font-size:17px; line-height:1.8; color:#3a4750; margin:0; }
.about-cols b{ color:var(--dark-color); }
@media(max-width:768px){ .about-cols{ grid-template-columns:1fr; gap:24px; } }
.mission-card{ max-width:880px; margin:34px auto 0; display:flex; gap:20px; align-items:center; background:linear-gradient(120deg,var(--navy-1),#103a59); color:#fff; border-radius:var(--r-lg); padding:26px 30px; box-shadow:var(--sh-2); }
.mission-icon{ flex:none; width:58px; height:58px; border-radius:50%; background:rgba(255,255,255,.14); display:flex; align-items:center; justify-content:center; font-size:24px; color:#bfe9ec; }
.mission-label{ text-transform:uppercase; letter-spacing:.14em; font-size:12px; font-weight:700; color:#bfe9ec; margin-bottom:6px; }
.mission-text{ font-size:18px; line-height:1.6; margin:0; }

/* ===== Производственные мощности ===== */
.cap-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.cap-card{ background:#fff; border:1px solid var(--border-color); border-radius:var(--r-lg); padding:28px 24px; box-shadow:var(--sh-1); transition:transform var(--t), box-shadow var(--t); }
.cap-card:hover{ transform:translateY(-4px); box-shadow:var(--sh-3); }
.cap-icon{ width:60px; height:60px; border-radius:14px; background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:26px; margin-bottom:16px; }
.cap-num{ font-size:24px; font-weight:800; color:var(--primary-color); font-variant-numeric:tabular-nums; }
.cap-title{ font-size:17px; font-weight:700; margin:4px 0 8px; color:var(--dark-color); }
.cap-desc{ font-size:14px; line-height:1.6; color:#5b6b76; margin:0; }
@media(max-width:992px){ .cap-cards{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .cap-cards{ grid-template-columns:1fr; } .mission-card{ flex-direction:column; text-align:center; } }
.quota-note{ max-width:780px; margin:42px auto 0; text-align:center; font-style:italic; font-size:17px; line-height:1.75; color:#5b6b76; padding-top:30px; border-top:1px solid var(--border-color); }
/* Адаптив заголовков секций и отступов на узких экранах */
@media(max-width:600px){ .section-title{ font-size:27px; } .stats{ padding:54px 0; } .about-cols{ gap:24px; } .quota-note{ font-size:15px; } }
@media(max-width:380px){ .section-title{ font-size:23px; } }

/* ===== Производственные мощности — детальные блоки (фото + контент) ===== */
.cap-details{ display:flex; flex-direction:column; gap:54px; }
.cap-detail{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:44px; align-items:center; }
.cap-detail .cap-photo{ border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-2); aspect-ratio:4/3; }
.cap-detail .cap-photo img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s var(--t); }
.cap-detail:hover .cap-photo img{ transform:scale(1.05); }
.cap-detail.rev .cap-photo{ order:2; }
.cap-h{ font-size:21px; font-weight:700; color:var(--primary-color); margin-bottom:12px; }
.cap-lead{ color:#3a4750; line-height:1.7; margin-bottom:20px; font-size:16px; }
.cap-table{ width:100%; border-collapse:collapse; background:#fff; border-radius:var(--r); overflow:hidden; box-shadow:var(--sh-1); }
.cap-table th{ text-align:left; font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--muted2,#6b7b88); padding:12px 16px; background:#eef3f7; font-weight:700; }
.cap-table th.num, .cap-table td.num{ text-align:right; font-variant-numeric:tabular-nums; }
.cap-table td{ padding:11px 16px; border-top:1px solid var(--line2,#e3e8ee); font-size:14px; }
.cap-table tr.total td{ font-weight:700; color:var(--navy-1); background:#f4f8fb; }
.cap-regions{ display:flex; flex-direction:column; gap:16px; }
.cap-region-name{ font-weight:700; color:var(--navy-1); font-size:14px; margin-bottom:7px; }
.cap-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:7px; }
.cap-list li{ font-size:14px; color:#3a4750; padding-left:18px; position:relative; line-height:1.5; }
.cap-list li:before{ content:""; position:absolute; left:0; top:7px; width:7px; height:7px; border-radius:50%; background:var(--gradient-start); }
.cap-list li b{ color:var(--dark-color); }
.cap-list li span{ display:block; color:var(--muted2,#6b7b88); font-size:13px; }
.cap-total{ margin-top:20px; display:inline-block; background:linear-gradient(120deg,var(--navy-1),#103a59); color:#fff; padding:9px 18px; border-radius:var(--r-pill); font-size:14px; box-shadow:var(--sh-1); }
.cap-total b{ font-size:16px; }
@media(max-width:840px){ .cap-detail{ grid-template-columns:1fr; gap:22px; } .cap-detail.rev .cap-photo{ order:0; } .cap-details{ gap:42px; } }

/* ===== Доступность: уважать prefers-reduced-motion ===== */
@media (prefers-reduced-motion: reduce){
  *,*:before,*:after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .lot-card:hover, .stat-item:hover, .btn:hover, .quota-card:hover .quota-card-inner, .quota-card:hover .quota-img { transform:none; }
}
