/* seo.css — общие стили для контентных/сравнительных страниц layero.ru
   (vercel-alternative.html, layero-vs-*.html). Дизайн-токены — из лендинга. */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:           #ffffff;
  --bg-soft:      #f3f1ea;
  --bg-mute:      #ecebe3;
  --ink:          #141413;
  --onyx:         #1f1e1d;
  --graphite:     #3d3d3a;
  --dusty:        #73726c;
  --stone:        #9c9a92;
  --border:       #dedcd1;
  --border-soft:  #e9e7dd;
  --leaf:         #35aa60;
  --leaf-soft:    #e7f4ec;
  --rose:         #c0492f;
  --rose-soft:    #f7ebe7;
  --sans: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --mono: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --r-sm: 6px; --r-md: 10px; --r-lg: 16px; --r-xl: 24px;
}

html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; scroll-behavior: smooth; }
body {
  font-family: var(--sans);
  background: var(--bg);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: -.02em;
  -webkit-text-size-adjust: 100%;
}
::selection { background: var(--bg-mute); color: var(--ink); }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
code, kbd { font-family: var(--mono); font-size: .88em; background: var(--bg-soft); padding: .12em .38em; border-radius: var(--r-sm); }

.container { max-width: 1000px; margin: 0 auto; padding: 0 1.5rem; }
.container.wide { max-width: 1180px; }

/* ——— buttons ——— */
.btn {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .9rem 1.3rem; border-radius: var(--r-md);
  font-size: 1rem; font-weight: 500; letter-spacing: -.02em;
  transition: all .18s ease; white-space: nowrap; border: 1px solid transparent;
}
.btn-sm { padding: .5rem .85rem; font-size: .875rem; }
.btn-primary { background: var(--ink); color: #fff; border-color: var(--ink); }
.btn-primary:hover { background: #262626; transform: translateY(-1px); }
.btn-ghost { color: var(--ink); border-color: rgba(0,0,0,.15); }
.btn-ghost:hover { border-color: var(--ink); }
.btn-arrow::after { content: "→"; transition: transform .18s; }
.btn-arrow:hover::after { transform: translateX(3px); }

/* ——— nav ——— */
.nav {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.85);
  backdrop-filter: saturate(180%) blur(12px);
  -webkit-backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid var(--border-soft);
}
.nav-inner { display: flex; align-items: center; justify-content: space-between; height: 68px; }
.logo { display: inline-flex; align-items: center; color: var(--ink); }
.logo svg { height: 22px; width: auto; display: block; }
.nav-links { display: flex; align-items: center; gap: .25rem; }
.nav-links a { color: var(--graphite); font-size: .92rem; padding: .5rem .85rem; border-radius: 8px; transition: background .15s; }
.nav-links a:hover { background: var(--bg-soft); }
.nav-cta { display: flex; align-items: center; gap: .5rem; }

/* ——— breadcrumb ——— */
.crumb { font-size: .85rem; color: var(--dusty); padding: 1.5rem 0 0; }
.crumb a:hover { color: var(--ink); text-decoration: underline; }
.crumb span { color: var(--stone); }

/* ——— hero ——— */
.page-hero { padding: 3rem 0 3.5rem; }
.eyebrow {
  display: inline-flex; align-items: center; gap: .4rem;
  font-size: .8rem; font-weight: 500; letter-spacing: .01em;
  color: var(--graphite); background: var(--bg-soft);
  border: 1px solid var(--border); border-radius: 999px;
  padding: .35rem .8rem; margin-bottom: 1.25rem;
}
h1.title {
  font-size: clamp(2.1rem, 5vw, 3.2rem); line-height: 1.08;
  font-weight: 600; letter-spacing: -.04em; max-width: 16ch;
}
.lead { margin-top: 1.1rem; font-size: 1.18rem; color: var(--graphite); max-width: 60ch; }
.hero-cta { margin-top: 1.8rem; display: flex; flex-wrap: wrap; gap: .75rem; }

/* ——— sections / prose ——— */
section.block { padding: 3.25rem 0; border-top: 1px solid var(--border-soft); }
h2 { font-size: clamp(1.6rem, 3.5vw, 2.1rem); font-weight: 600; letter-spacing: -.03em; line-height: 1.15; }
h3 { font-size: 1.2rem; font-weight: 600; letter-spacing: -.02em; margin-bottom: .35rem; }
section.block > .container > p { margin-top: 1rem; color: var(--graphite); max-width: 68ch; }
section.block > .container > h2 + p { margin-top: .9rem; }
.prose p { margin-top: 1rem; color: var(--graphite); max-width: 68ch; }
.prose ul { margin: 1rem 0 1rem 1.2rem; color: var(--graphite); }
.prose ol { margin: 1rem 0 1rem 1.2rem; color: var(--graphite); }
.prose li { margin: .4rem 0; }
.prose li p { margin-top: .4rem; }
.prose strong { color: var(--ink); font-weight: 600; }
.prose a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--border); }
.prose a:hover { text-decoration-color: var(--ink); }
.prose h2 {
  margin-top: 2.4rem; font-size: 1.4rem; font-weight: 600; letter-spacing: -.025em;
  line-height: 1.25; color: var(--ink);
}
.prose h2:first-child { margin-top: 0; }
.prose h3 { margin-top: 1.4rem; font-size: 1.05rem; font-weight: 600; color: var(--ink); }
.legal-meta {
  margin-top: .6rem; font-size: .92rem; color: var(--dusty);
  display: flex; flex-wrap: wrap; gap: 1.25rem;
}
.legal-meta strong { color: var(--graphite); font-weight: 500; }
.legal-note {
  margin-top: 2rem; padding: 1rem 1.25rem;
  background: var(--bg-soft); border: 1px solid var(--border-soft);
  border-radius: var(--r-md); font-size: .92rem; color: var(--graphite);
  max-width: 68ch;
}
.legal-note strong { color: var(--ink); }
.legal-toc {
  margin: 1.5rem 0 0; padding: 1.1rem 1.25rem;
  background: var(--bg-soft); border: 1px solid var(--border-soft);
  border-radius: var(--r-md);
  max-width: 68ch;
}
.legal-toc h4 {
  font-family: var(--mono); font-size: .72rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--dusty); margin-bottom: .65rem;
}
.legal-toc ol { margin: 0 0 0 1.2rem; color: var(--graphite); }
.legal-toc li { margin: .25rem 0; font-size: .95rem; }
.legal-toc a { color: var(--graphite); text-decoration: none; }
.legal-toc a:hover { color: var(--ink); text-decoration: underline; }

/* ——— cards grid ——— */
.grid { display: grid; gap: 1rem; margin-top: 1.75rem; }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.card {
  background: var(--bg); border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: 1.5rem;
}
.card p { margin-top: .35rem; color: var(--dusty); font-size: .95rem; }
.card .ic { font-size: 1.3rem; margin-bottom: .6rem; display: block; }

/* ——— two-column pro/con ——— */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.75rem; }
.panel { border: 1px solid var(--border); border-radius: var(--r-lg); padding: 1.5rem; }
.panel.good { background: var(--leaf-soft); border-color: #cfe8d8; }
.panel.bad  { background: var(--rose-soft); border-color: #ecd6cf; }
.panel h3 { display: flex; align-items: center; gap: .5rem; margin-bottom: .75rem; }
.panel ul { list-style: none; }
.panel li { position: relative; padding-left: 1.5rem; margin: .55rem 0; font-size: .96rem; color: var(--graphite); }
.panel.good li::before { content: "✓"; position: absolute; left: 0; color: var(--leaf); font-weight: 700; }
.panel.bad  li::before { content: "✕"; position: absolute; left: 0; color: var(--rose); font-weight: 700; }

/* ——— comparison table ——— */
.table-wrap { margin-top: 1.75rem; overflow-x: auto; border: 1px solid var(--border); border-radius: var(--r-lg); }
table.cmp { width: 100%; border-collapse: collapse; font-size: .95rem; min-width: 540px; }
table.cmp th, table.cmp td { padding: .85rem 1.1rem; text-align: left; border-bottom: 1px solid var(--border-soft); vertical-align: top; }
table.cmp thead th { background: var(--bg-soft); font-weight: 600; font-size: .9rem; }
table.cmp thead th.us { background: var(--ink); color: #fff; }
table.cmp tbody tr:last-child td { border-bottom: none; }
table.cmp td:first-child { color: var(--dusty); font-weight: 500; width: 30%; }
table.cmp td.us { background: #fafaf7; font-weight: 500; }
.yes { color: var(--leaf); font-weight: 600; }
.no  { color: var(--rose); font-weight: 600; }

/* ——— steps (HowTo) ——— */
.steps { margin-top: 1.75rem; display: grid; gap: .85rem; counter-reset: step; }
.step { display: flex; gap: 1rem; align-items: flex-start; border: 1px solid var(--border); border-radius: var(--r-lg); padding: 1.25rem 1.5rem; }
.step::before {
  counter-increment: step; content: counter(step);
  flex: 0 0 32px; height: 32px; border-radius: 999px;
  background: var(--ink); color: #fff; font-weight: 600; font-size: .95rem;
  display: flex; align-items: center; justify-content: center;
}
.step h3 { margin-bottom: .25rem; }
.step p { color: var(--dusty); font-size: .95rem; margin: 0; }
.step code { font-size: .85em; }

/* ——— FAQ ——— */
.faq { margin-top: 1.5rem; border-top: 1px solid var(--border-soft); }
.faq details { border-bottom: 1px solid var(--border-soft); }
.faq summary {
  list-style: none; cursor: pointer; padding: 1.1rem 0;
  font-weight: 500; font-size: 1.05rem; display: flex;
  justify-content: space-between; gap: 1rem; align-items: center;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--stone); font-size: 1.3rem; transition: transform .2s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq .ans { padding: 0 0 1.1rem; color: var(--graphite); max-width: 70ch; }
.faq .ans a { color: var(--leaf); text-decoration: underline; }

/* ——— CTA ——— */
.cta {
  margin: 3.25rem auto; max-width: 1000px;
  background: var(--ink); color: #fff;
  border-radius: var(--r-xl); padding: 3rem 2rem; text-align: center;
}
.cta h2 { color: #fff; }
.cta p { margin: .9rem auto 0; color: #c9c7c0; max-width: 52ch; }
.cta .hero-cta { justify-content: center; margin-top: 1.6rem; }
.cta .btn-primary { background: #fff; color: var(--ink); border-color: #fff; }
.cta .btn-primary:hover { background: #ececec; }
.cta .btn-ghost { color: #fff; border-color: rgba(255,255,255,.3); }
.cta .btn-ghost:hover { border-color: #fff; }

/* ——— related links ——— */
.related { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; }
.related a {
  border: 1px solid var(--border); border-radius: 999px;
  padding: .5rem .95rem; font-size: .9rem; color: var(--graphite);
  transition: all .15s;
}
.related a:hover { border-color: var(--ink); color: var(--ink); }

/* ——— footer ——— */
footer { border-top: 1px solid var(--border-soft); padding: 2.5rem 0; margin-top: 1rem; }
.foot-inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; }
.foot-links { display: flex; flex-wrap: wrap; gap: 1.25rem; font-size: .9rem; }
.foot-links a { color: var(--dusty); }
.foot-links a:hover { color: var(--ink); }
.foot-copy { color: var(--stone); font-size: .85rem; }

/* ——— mobile ——— */
@media (max-width: 760px) {
  .nav-links { display: none; }
  .grid-2, .grid-3, .split { grid-template-columns: 1fr; }
  section.block { padding: 2.5rem 0; }
  .cta { padding: 2.25rem 1.25rem; border-radius: var(--r-lg); }
}
