/* ===========================
   AGROS — App CSS (v14)
   Исправлено: мобильный «пропуск» из-за sticky/100vh sidebar
   =========================== */

:root{
  --brand:#FD9900; --ink:#1d1d1f; --muted:#62656d;
  --bg:#f6f7f9; --paper:#ffffff; --line:#e5e7eb;

  --radius:14px; --radius-lg:22px;
  --shadow:0 7px 25px rgba(0,0,0,.06);

  --sidebar-w:200px;
  --gutter-l:10px;
  --content-max:1188px;
  --frame-max: calc(var(--sidebar-w) + var(--gutter-l) + var(--content-max));

  /* PAGE TITLE */
  --menu-stripe-w:10px;
  --menu-gap-l:6px;
  --title-pad-x:28px;
  --title-pad-y:10px;
}

/* базовые */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font:14px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}

/* ===== FRAME ===== */
.frame{max-width:var(--frame-max);margin:0 auto;padding:0}

/* ===== GRID ===== */
.shell{
  display:grid;
  grid-template-columns: var(--sidebar-w) minmax(0, var(--content-max));
  grid-template-rows: auto 1fr auto;
  column-gap: 0;
  min-height:100vh;
  position:relative;
}

/* ===== SIDEBAR WRAP ===== */
.sidebar-wrap{
  grid-row: 1 / 3;
  display:flex;
  padding-left:var(--gutter-l);
  padding-top:18px;
  z-index:2;
}

/* ===== SIDEBAR (mobile-first) ===== */
.sidebar{
  display:flex; flex-direction:column; gap:16px; align-items:stretch;
  width:100%;
  padding:14px;
  position:static; top:auto; height:auto; min-height:auto;
  background:#fbfcfd;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:none;
}

/* Desktop sticky */
@media (min-width:821px){
  .sidebar{
    position:sticky; top:18px; height:calc(100vh - 18px);
    width:var(--sidebar-w);
    background:linear-gradient(180deg,#fcfcfd,#f0f2f5);
    box-shadow:8px 0 24px rgba(0,0,0,.04);
  }
}

/* ---- Brand (глобальная карточка по умолчанию вне сайдбара) ---- */
.brand{
  display:flex;align-items:center;justify-content:center;
  width:92%;margin:0 auto;padding:9px;
  background:#fff;border:1px solid #eee;border-radius:13px;
  box-shadow:0 4px 12px rgba(0,0,0,.08)
}
.brand img{max-width:99%;max-height:83px;object-fit:contain;border-radius:5px}

/* === ВАЖНО: внутри .sidebar логотип и верхняя строка НЕ карточки === */
.sidebar .brand,
.sidebar .brand--mobile,
.sidebar .sb-toprow{
  background:none !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
}

/* Меню (общие) */
.side-links{display:flex;flex-direction:column;width:100%;margin:0;margin-left:-14px;margin-right:-14px}
.side-links a{
  display:flex;align-items:center;gap:9px;
  width:100%;padding:13px 20px;
  background:#fff;color:var(--ink);font-weight:600;
  border-bottom:1px solid var(--line);box-sizing:border-box;border-radius:0;transition:background .15s ease
}
.side-links a:first-child{border-top:1px solid var(--line);border-top-left-radius:11px;border-top-right-radius:11px}
.side-links a:last-child{border-bottom-left-radius:11px;border-bottom-right-radius:11px}
.side-links a:hover{background:#f9f9f9}
.side-links a:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}

/* ===== Контент ===== */
.page{display:block}
.page-inner{width:100%;max-width:var(--content-max);margin:0;display:flex;flex-direction:column}

/* Контейнер и секции */
.container{max-width:100%;width:100%;margin:0;padding:0 10px}
.section{padding:0px 0}

/* Card */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.card.pad{padding:18px}

/* ================= PAGE TITLE ================= */
.page-title{padding:15px 0 5px 0}
.title-card{
  position:relative;
  background:#fbfcfd;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:var(--shadow);
  padding-block: var(--title-pad-y);
  padding-inline: var(--title-pad-x);
  padding-left: calc(var(--title-pad-x) + var(--menu-stripe-w) + var(--menu-gap-l));
  display:grid;
  grid-template-columns: 1fr auto;
  align-items:center;
  gap:12px;
  text-align:left;
  overflow:hidden;
}
.title-card::before{
  content:"";
  position:absolute; left:0; top:0; bottom:0;
  width:var(--menu-stripe-w);
  background:var(--brand);
  border-top-left-radius:14px; border-bottom-left-radius:14px;
}
.page-title h1{
  grid-column:1; margin:0;
  font-size: clamp(18px, 3.4vw, 24px);
  line-height:1.15; color:#373f4a; font-weight:600; text-align:left;
}
.page-title .actions{
  grid-column:2; justify-self:end; align-self:center;
  display:flex; gap:8px; flex-shrink:0;
}
.accent{color:var(--brand)}

/* Кнопки */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:9px 16px; border-radius:11px;
  font-weight:700; border:1px solid var(--brand);background:var(--brand);color:#fff;
  cursor:pointer;transition:all .2s;text-decoration:none;
}
.btn:hover{background:#ffad33;border-color:#ffad33;color:#fff;box-shadow:0 4px 12px rgba(253,153,0,.28)}
.btn--gray{background:#e3e6eb;border-color:#cfd5df;color:#111827}
.btn--gray:hover{background:#d7dce4;border-color:#cfd5df;color:#111827;box-shadow:none}
.btn--gray:focus{outline:none;border-color:#cfd5df;color:#111827}
.btn--circle{width:36px;height:36px;border-radius:999px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.btn.btn--circle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* HERO */
.hero{padding:25px 0 16px}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:25px;align-items:center}
.hero h2{font-size:clamp(18px,2.7vw,25px);line-height:1.2;margin:5px 0 7px}
.lead{font-size:clamp(14px,1.8vw,16px);color:#3b3f46;margin:0 0 13px}
.hero-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:5px}
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:13px}
.kpi{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:13px 11px;box-shadow:var(--shadow)}
.kpi b{display:block;font-size:clamp(18px,2.16vw,23px)}
.kpi span{color:var(--muted);font-size:.9rem}

/* VIDEO */
.video-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:#000}
.video-thumb{aspect-ratio:16/9;background:#000 url('/assets/img/home/hero-thumb.png') center/cover no-repeat}
.video-actions{position:absolute;right:14px;bottom:14px;display:flex;gap:7px}
.video-card video{width:100%;height:auto;display:none;background:#000}
.video-card.is-playing .video-thumb{display:none}
.video-card.is-playing video{display:block}
.video-card.is-expanded{position:fixed;inset:0;width:100vw;height:100vh;z-index:1000;border-radius:0}
.video-card.is-expanded .video-actions{right:18px;bottom:18px}

/* FEATURES */
.muted{color:#6c7078}
.features{display:grid;gap:14px}
.features--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.features--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.feature{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:14px;box-shadow:var(--shadow)}
.feature b{display:flex;align-items:center;gap:5px;margin:0 0 5px}
.feature svg{width:24px;height:24px}

/* DIRECTIONS */
.directions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.direction-card{display:flex;flex-direction:column;overflow:hidden;height:100%}
.direction-card img{border-radius:14px 14px 0 0;width:100%}
.direction-card .body{padding:14px;display:flex;flex-direction:column;gap:11px;flex:1}
.direction-card .actions{margin-top:auto;display:flex;justify-content:flex-end}

/* CASES */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}

/* CTA */
.cta{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.cta .cta-box{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.h3{font-size:clamp(18px,2.16vw,22px);margin:0 0 5px}

/* FORM */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;align-items:start}
.form>*{min-width:0}
.field{position:relative;display:flex;flex-direction:column;gap:5px;width:100%}
.field input,.field textarea{display:block;width:100%;box-sizing:border-box;padding:11px;border:1px solid #e5e7eb;border-radius:11px;background:#fff;outline:none;transition:border .2s, box-shadow .2s}
.field textarea{min-height:108px;resize:vertical}
.field input:focus,.field textarea:focus{border-color:#cfcfd3;box-shadow:0 0 0 4px rgba(253,153,0,.12)}
.field--full{grid-column:1/-1}
.agree{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:.9rem}

/* ================= FOOTER START ================= */
.agpoc-footer{
  --footer-pad-x:20px;
  --footer-pad-y:20px;

  grid-column: 1 / -1;
  margin: 18px var(--gutter-l) 22px;
  padding: var(--footer-pad-y) var(--footer-pad-x);
  background: linear-gradient(180deg,#fcfcfd 0%,#f0f2f5 100%);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  overflow: hidden;
  color: #111;
}
.agpoc-footer__wrap{
  display:grid;
  grid-template-columns: auto 1fr;
  column-gap:24px;
  align-items:stretch;
  width:100%;
  margin:0;
  padding:0;
}
.agpoc-footer__mapbox{ align-self:stretch; }
.agpoc-footer__map{
  height:100%; width:auto; object-fit:contain; object-position:left center; display:block; user-select:none;
}
.agpoc-footer__cols{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap:24px;
  align-items:start;
}
:root{
  --agpoc-text:#111; --agpoc-muted:#6b7280;
  --agpoc-accent:#FD9900; --agpoc-link:#111; --agpoc-border:#e5e7eb;
}
.agpoc-footer__brand{ display:inline-flex; align-items:center; gap:12px; text-decoration:none; color:var(--agpoc-text); font-weight:600; line-height:1.2; }
.agpoc-footer__favicon{ border-radius:8px; display:block; }
.agpoc-fine{ color:var(--agpoc-muted); font-size:14px; }
.agpoc-footer__requisites{ margin-top:10px; }
.agpoc-list{ list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.agpoc-list li{ display:flex; align-items:center; gap:10px; }
.agpoc-list__icon{ width:12px; height:12px; display:inline-flex; }
.agpoc-list a{ color:var(--agpoc-link); text-decoration:none; border-bottom:1px dotted transparent; transition:border-color .2s ease; }
.agpoc-list a:hover{ border-bottom-color: currentColor; }
.agpoc-subscribe{ display:flex; gap:10px; max-width:500px; margin-top:10px; }
.agpoc-subscribe input{ flex:1; padding:12px 15px; border:1px solid var(--agpoc-border); border-radius:4px; font-size:16px; outline:none; background:#fff; }
.agpoc-subscribe button{ display:flex; align-items:center; justify-content:center; width:38px; border:none; border-radius:4px; cursor:pointer; background: var(--agpoc-accent); transition:.2s ease; }
.agpoc-subscribe button:hover{ filter:brightness(.95); }
.agpoc-subscribe input::placeholder{ color:#999; }
/* ================= FOOTER END ================= */

/* ========================= MEDIA ========================= */
@media (max-width:1120px){
  .features--4{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr}
  .form{grid-template-columns:1fr}
  .cards{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1024px){
  .agpoc-footer__cols{ grid-template-columns: 1fr 1fr; }
}

/* ===== MOBILE (≤820px) ===== */
@media (max-width:820px){
  .frame{max-width:none}
  .shell{grid-template-columns:1fr}
  .sidebar-wrap{grid-row:auto;padding-left:0;padding-top:0}

  /* ключ: на мобайле сайдбар НЕ липкий и НЕ 100vh */
  .sidebar{
    position:static !important; top:auto !important;
    height:auto !important; min-height:auto !important;
    width: calc(100vw - 24px);
    margin:0 auto;
    background:#fbfcfd;
    box-shadow:none;
  }

  /* Меню можно в две строки (если требуется) */
  .side-links{flex-direction:row;flex-wrap:wrap;margin-left:0;margin-right:0}

  .btn--full{width:auto;margin-left:auto}
  .hero-grid{grid-template-columns:1fr}
  .directions{grid-template-columns:repeat(2,minmax(0,1fr))}

  /* PAGE TITLE мобильный */
  .title-card{
    grid-template-columns:1fr;
    gap:10px;
    padding-block:10px;
  }

  /* Контейнер: фиксированная ширина с полями 12px */
  .container{
    padding-left:0;
    padding-right:0;
    width: calc(100vw - 24px);
    margin-left:auto;
    margin-right:auto;
  }

  .section{padding:0 0}
  .sidebar-wrap + .page .page-inner > .section:first-of-type{ padding-top:10px }

  .page-title .actions{ display:none; }

  .hero-actions{ flex-wrap: nowrap; }
  .hero-actions .btn{ min-width:0; }

  #expand{ display:none; }

  /* Критично: открытое мобильное меню не обрезается */
  .sidebar.is-menu-open{ overflow:visible; }

  /* Ещё раз прицельно: в админке верхняя строка не карточка */
  .sidebar .sb-toprow{
    background:none !important; border:none !important; box-shadow:none !important; padding:8px 0 !important; margin:0 0 6px 0 !important;
  }
  .sidebar .sb-toprow > .card,
  .sidebar .sb-toprow > .title-card{
    background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important;
  }
}

/* уже очень узкие */
@media (max-width:560px){
  .features--3{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .directions{grid-template-columns:1fr}
  .container{ padding-left:0; padding-right:0; width: calc(100vw - 24px); margin-left:auto; margin-right:auto; }
  .page-title .actions{ display:none; }
  .hero-actions{ flex-wrap: nowrap; }
  .hero-actions .btn{ min-width:0; }
  #expand{ display:none; }
}

/* === Register card align left === */
.card--half { width: 50%; margin-left: 0; margin-right: auto; }

/* Вертикальный зазор между строками */
.form--stack.form--aligned { display:flex; flex-direction:column; gap:18px; }

/* Две колонки формы */
.field.field--row { display:grid; grid-template-columns: var(--label-col, 220px) 1fr; align-items:center; column-gap:16px; }
.field__label { justify-self:start; text-align:left; white-space:nowrap; color: var(--muted, #6b7280); padding:4px 0; }
.field__control { position:relative; }
.field__control input[type="password"],
.field__control input[type="text"],
.field__control input[type="email"],
.field__control input[type="tel"] { width:100%; padding-right:40px; }

/* Глаз внутри поля */
.eye { position:absolute; right:10px; top:50%; transform:translateY(-50%); width:24px; height:24px; border:none; background:transparent; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.eye:focus { outline:none; }
.eye:focus-visible { outline:2px solid #94a3b8; outline-offset:2px; }

/* Современный селект */
.select--modern { -webkit-appearance:none; appearance:none; width:100%;
  padding:10px 44px 10px 12px; border:1px solid #e5e7eb; border-radius:10px; background:#fff;
  background-repeat:no-repeat; background-position:right 12px center;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23737a84' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  font:inherit; color:inherit;
}
.select--modern:focus { outline:none; border-color:#94a3b8; box-shadow:0 0 0 4px rgba(148,163,184,.2); }

/* Адаптив для форм */
@media (max-width: 860px) {
  .card--half { width: 100%; }
  .field.field--row { grid-template-columns: 1fr; }
  .field__label { white-space: normal; }
}
