/* ClientFlow — единая тема для блога и кейсов (default-theme страницы),
   переиспользует токены v2.css (главная/услуги/GEO) для визуальной согласованности.
   Тёплый акцент (--warm) — только в блоге, точечно, по решению «вариант B». */

:root {
  --bg: #F1F4F1;
  --paper: #FFFFFF;
  --paper-tint: #EDF4EF;
  --ink: #12201A;
  --ink-soft: #435046;
  --rule: #DDE5DE;
  --gain: #1B6E52;
  --gain-dark: #145842;
  --gain-soft: #DCEFE6;
  --loss: #D63A2B;
  --warm: #C1622E;
  --warm-soft: #F4E3D8;
  --radius: 10px;
  --radius-sm: 6px;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0E1512; --paper: #16201B; --paper-tint: #182821; --ink: #E7EFE9;
    --ink-soft: #9DAEA3; --rule: #29352E; --gain: #3FCB9A; --gain-dark: #2FA47C;
    --gain-soft: #17332A; --loss: #F17263; --warm: #E08A54; --warm-soft: #2E241C;
  }
}

/* base */
body {
  background: var(--bg) !important;
  color: var(--ink);
  font-family: var(--sans) !important;
}
body a { color: var(--gain-dark); }
body a:hover { color: var(--gain); }

/* header */
.wp-site-blocks > .wp-block-group:first-child,
header.wp-block-template-part {
  background: var(--paper);
  border-bottom: 1px solid var(--rule);
}
.wp-block-site-title, .wp-block-site-title a {
  font-family: var(--sans) !important;
  font-weight: 800 !important;
  font-size: 18px !important;
  color: var(--ink) !important;
  letter-spacing: -0.01em;
}
.wp-block-navigation {
  font-family: var(--mono) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
}
.wp-block-navigation a {
  color: var(--ink-soft) !important;
  text-decoration: none !important;
}
.wp-block-navigation a:hover { color: var(--gain-dark) !important; }

/* footer — matches the minimal centered footer already used on главная/услуги */
footer.wp-block-template-part {
  color: var(--ink-soft);
  font-size: 12.5px;
  background: transparent;
  border-top: 1px solid var(--rule);
  margin-top: 40px;
}
.site-footer { text-align: center; }
.site-footer-tagline {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: var(--ink-soft) !important;
  margin: 0 0 14px !important;
}
.site-footer-nav {
  justify-content: center !important;
  font-family: var(--mono) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
}
.site-footer-nav a {
  color: var(--ink-soft) !important;
  text-decoration: none !important;
}
.site-footer-nav a:hover { color: var(--gain-dark) !important; }

/* content typography (posts, pages, cases) */
.entry-content, .wp-block-post-content {
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--ink);
}
.entry-content h1, .entry-content h2, .entry-content h3,
.wp-block-post-content h1, .wp-block-post-content h2, .wp-block-post-content h3,
.wp-block-post-title {
  font-family: var(--sans) !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em;
  text-wrap: balance;
  color: var(--ink) !important;
}
.entry-content p, .wp-block-post-content p { color: var(--ink); }
.entry-content a, .wp-block-post-content a { color: var(--gain-dark); font-weight: 600; }

/* buttons everywhere on default-theme pages */
.wp-block-button__link {
  background: var(--gain) !important;
  color: #fff !important;
  border-radius: var(--radius-sm) !important;
  font-weight: 700 !important;
  font-family: var(--sans) !important;
  transition: filter .15s;
}
.wp-block-button__link:hover { filter: brightness(1.08); }
.blog-sidebar .wp-block-button__link {
  font-size: 13.5px !important;
  padding: 10px 16px !important;
}

/* content card wrapper — added to single.html / page-keysy.html templates */
.content-card {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: var(--radius);
  padding: clamp(24px, 5vw, 44px);
  overflow: hidden;
}
.content-card .wp-block-post-featured-image {
  margin: -1px -1px 28px -1px !important;
  border-radius: 0;
}
.content-card .wp-block-post-featured-image img { border-radius: 0; display: block; }

/* two-column layout: content-card + blog-sidebar side by side, sidebar sticks
   while scrolling instead of the old position:absolute hack (which pinned it
   to a fixed spot and made it overlap the content card). */
.content-layout {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start;
  gap: 28px;
}
.content-layout > .content-card { flex: 1 1 auto; min-width: 0; }
.content-layout > .blog-sidebar {
  flex: 0 0 300px;
  position: sticky;
  top: 24px;
  margin-top: 0 !important;
}
@media (max-width: 900px) {
  .content-layout { flex-direction: column !important; }
  .content-layout > .blog-sidebar {
    flex-basis: auto;
    width: 100%;
    position: static;
    margin-top: 28px !important;
  }
}

/* sidebar card (blog-sidebar group, reused on single posts + cases) */
.blog-sidebar {
  background: var(--paper-tint) !important;
  border: 1px solid var(--rule) !important;
  border-radius: var(--radius) !important;
  margin-top: 28px;
}
.blog-sidebar h3.wp-block-heading {
  font-size: 15px !important;
  font-weight: 800 !important;
  color: var(--ink) !important;
}
.blog-sidebar ul.wp-block-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.blog-sidebar ul.wp-block-list li { padding-left: 16px; position: relative; font-size: 13.5px; }
.blog-sidebar ul.wp-block-list li::before { content: "→"; position: absolute; left: 0; color: var(--gain); }
.blog-sidebar .wp-block-latest-posts { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.blog-sidebar .wp-block-latest-posts a { font-size: 13.5px; }

/* /keysy/ index — existing hand-authored wp:columns cards, add border+radius to the whole card */
.page-id-42 .wp-block-column,
.page-template-page-keysy .wp-block-columns:not(.blog-sidebar) > .wp-block-column {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: var(--radius);
  padding: 14px 14px 18px;
}
.page-id-42 .wp-block-column figure,
.page-template-page-keysy .wp-block-column figure {
  margin: -14px -14px 14px -14px !important;
}
.page-id-42 .wp-block-column figure img,
.page-template-page-keysy .wp-block-column figure img {
  border-radius: 0 !important;
  aspect-ratio: 16/10;
  object-fit: cover;
}
.page-id-42 .wp-block-column h3, .page-template-page-keysy .wp-block-column h3 { margin-top: 0; }

/* blog listing (/blog/, page_for_posts) — grid of cards, warm accent per "вариант B" */
.blog-grid .wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}
.blog-grid li.wp-block-post {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: var(--radius);
  overflow: hidden;
  padding-bottom: 20px;
}
.blog-grid li.wp-block-post > .wp-block-group { padding: 0 20px 0 !important; }
.blog-grid .wp-block-post-featured-image { margin: 0 0 16px !important; border-radius: 0; }
.blog-grid .wp-block-post-featured-image img { border-radius: 0; display: block; aspect-ratio: 16/10; object-fit: cover; }
.blog-grid .wp-block-post-title { font-size: 18px !important; margin-bottom: 8px !important; }
.blog-grid .wp-block-post-title a { color: var(--ink) !important; }
.blog-grid .wp-block-post-excerpt { font-size: 13.5px; color: var(--ink-soft); }
.blog-grid .wp-block-post-excerpt a { color: var(--warm) !important; font-weight: 700; white-space: nowrap; }
.blog-grid .wp-block-post-date { font-family: var(--mono) !important; font-size: 11px !important; text-transform: uppercase; letter-spacing: .06em; color: var(--warm) !important; }
.blog-grid .wp-block-post-date a { color: var(--warm) !important; }

.blog-hero-title {
  font-size: clamp(28px, 4.4vw, 40px);
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0 0 8px;
}
.blog-hero-lede { color: var(--ink-soft); font-size: 16px; margin: 0 0 32px; }

@media (max-width: 720px) {
  .blog-grid .wp-block-post-template { grid-template-columns: 1fr; }
}
