/*
Theme Name: Poisk Familii Child
Template: astra
Author: Codex
Version: 1.0.5
Text Domain: poisk-familii-child
*/

:root {
  --pf-ink: #17211b;
  --pf-muted: #5f675e;
  --pf-paper: #fffaf0;
  --pf-paper-deep: #f3ead9;
  --pf-line: #ded2bd;
  --pf-green: #284f3a;
  --pf-green-2: #3d6f54;
  --pf-burgundy: #8a352f;
  --pf-gold: #b48445;
  --pf-shadow: 0 18px 45px rgba(45, 35, 21, 0.12);
}

body {
  background:
    linear-gradient(180deg, rgba(255, 250, 240, 0.95), rgba(247, 240, 226, 0.96)),
    repeating-linear-gradient(90deg, rgba(40, 79, 58, 0.04) 0 1px, transparent 1px 74px);
  color: var(--pf-ink);
}

a {
  text-underline-offset: 0.18em;
}

.site-header {
  box-shadow: 0 1px 0 rgba(23, 33, 27, 0.08);
}

.main-header-bar,
.ast-primary-header-bar {
  background: rgba(255, 250, 240, 0.92);
  backdrop-filter: blur(14px);
}

.site-title a,
.main-header-menu > .menu-item > .menu-link {
  color: var(--pf-ink);
}

.main-header-menu > .menu-item > .menu-link:hover,
.main-header-menu > .menu-item.current-menu-item > .menu-link {
  color: var(--pf-burgundy);
}

.pf-home {
  overflow: hidden;
}

.home .site-content,
.home .site-content .ast-container,
.search .site-content,
.search .site-content .ast-container,
.single .site-content,
.single .site-content .ast-container,
.page .site-content,
.page .site-content .ast-container,
.archive .site-content,
.archive .site-content .ast-container {
  display: block;
  width: 100%;
  max-width: none;
  padding: 0;
  background: var(--pf-paper);
}

.home #primary,
.search #primary,
.single #primary,
.page #primary,
.archive #primary {
  width: 100%;
  margin: 0;
}

.search .ast-container,
.single .ast-container,
.page .ast-container,
.archive .ast-container {
  max-width: none;
}

.single .ast-single-entry-banner {
  display: none;
}

.pf-hero {
  position: relative;
  min-height: clamp(560px, 78vh, 760px);
  display: grid;
  align-items: end;
  background:
    linear-gradient(90deg, rgba(19, 29, 23, 0.9) 0%, rgba(19, 29, 23, 0.74) 38%, rgba(19, 29, 23, 0.24) 78%),
    url("assets/images/genealogy-hero.jpg");
  background-size: cover;
  background-position: center;
  color: #fffaf0;
}

.pf-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 42%;
  background: linear-gradient(180deg, transparent, rgba(255, 250, 240, 0.96));
  pointer-events: none;
}

.pf-wrap {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.pf-hero__content {
  max-width: 760px;
  padding: 92px 0 112px;
}

.pf-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;
  color: #eadfc9;
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pf-eyebrow::before {
  content: "";
  width: 42px;
  height: 1px;
  background: var(--pf-gold);
}

.pf-hero h1 {
  margin: 0;
  color: #fffaf0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.7rem, 6.4vw, 5.2rem);
  line-height: 0.96;
  font-weight: 700;
}

.pf-hero__lead {
  max-width: 650px;
  margin: 24px 0 0;
  color: rgba(255, 250, 240, 0.88);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  line-height: 1.55;
}

.pf-search {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  margin-top: 34px;
  padding: 8px;
  max-width: 650px;
  background: rgba(255, 250, 240, 0.96);
  border: 1px solid rgba(255, 250, 240, 0.7);
  box-shadow: var(--pf-shadow);
}

.pf-search input[type="search"] {
  min-height: 58px;
  border: 0;
  box-shadow: none;
  background: transparent;
  color: var(--pf-ink);
  font-size: 1.06rem;
}

.pf-search button,
.pf-button {
  border: 0;
  border-radius: 4px;
  background: var(--pf-burgundy);
  color: #fff;
  font-weight: 700;
  padding: 16px 24px;
  cursor: pointer;
}

.pf-search button:hover,
.pf-button:hover {
  background: #6f2925;
  color: #fff;
}

.pf-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  max-width: 760px;
  margin-top: 34px;
  background: rgba(255, 250, 240, 0.22);
  border: 1px solid rgba(255, 250, 240, 0.22);
}

.pf-stat {
  padding: 18px;
  background: rgba(23, 33, 27, 0.38);
}

.pf-stat strong {
  display: block;
  color: #fff;
  font-size: 1.25rem;
}

.pf-stat span {
  color: rgba(255, 250, 240, 0.72);
  font-size: 0.92rem;
}

.pf-section {
  padding: clamp(52px, 7vw, 90px) 0;
}

.pf-section--tight {
  padding-top: 24px;
}

.pf-section__head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
  margin-bottom: 28px;
}

.pf-section h2 {
  margin: 0;
  color: var(--pf-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 4vw, 3.1rem);
  line-height: 1.08;
}

.pf-section__head p {
  max-width: 520px;
  margin: 0;
  color: var(--pf-muted);
}

.pf-category-grid,
.pf-post-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.pf-category-card,
.pf-post-card {
  border: 1px solid var(--pf-line);
  background: rgba(255, 250, 240, 0.82);
  box-shadow: 0 10px 26px rgba(45, 35, 21, 0.07);
}

.pf-category-card {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 20px;
  color: var(--pf-ink);
  text-decoration: none;
}

.pf-category-card:hover {
  border-color: var(--pf-gold);
  transform: translateY(-2px);
}

.pf-category-card strong {
  display: block;
  font-size: 1.05rem;
}

.pf-category-card span {
  color: var(--pf-muted);
  font-size: 0.92rem;
}

.pf-card-mark {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  background: #e9ddc6;
  color: var(--pf-burgundy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.45rem;
  font-weight: 700;
}

.pf-post-card {
  display: flex;
  flex-direction: column;
  min-height: 245px;
  padding: 24px;
  color: var(--pf-ink);
  text-decoration: none;
}

.pf-post-card:hover {
  border-color: var(--pf-green-2);
  transform: translateY(-2px);
}

.pf-post-card__meta {
  color: var(--pf-burgundy);
  font-size: 0.83rem;
  font-weight: 700;
  text-transform: uppercase;
}

.pf-post-card h3 {
  margin: 14px 0 12px;
  color: var(--pf-ink);
  font-size: 1.22rem;
  line-height: 1.25;
}

.pf-post-card p {
  margin: 0 0 20px;
  color: var(--pf-muted);
  line-height: 1.55;
}

.pf-post-card__more {
  margin-top: auto;
  color: var(--pf-green);
  font-weight: 700;
}

.pf-alpha {
  background: var(--pf-green);
  color: #fffaf0;
}

.pf-alpha .pf-section__head p,
.pf-alpha h2 {
  color: inherit;
}

.pf-alpha__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(44px, 1fr));
  gap: 8px;
}

.pf-alpha__grid a {
  display: grid;
  place-items: center;
  min-height: 46px;
  background: rgba(255, 250, 240, 0.1);
  border: 1px solid rgba(255, 250, 240, 0.18);
  color: #fffaf0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.2rem;
  text-decoration: none;
}

.pf-alpha__grid a:hover {
  background: #fffaf0;
  color: var(--pf-green);
}

.pf-page {
  background:
    linear-gradient(180deg, rgba(255, 250, 240, 0.98), rgba(246, 239, 225, 0.98)),
    repeating-linear-gradient(90deg, rgba(40, 79, 58, 0.035) 0 1px, transparent 1px 72px);
}

.pf-subhero,
.pf-article-hero {
  padding: clamp(42px, 6vw, 82px) 0;
  background:
    linear-gradient(90deg, rgba(23, 33, 27, 0.94), rgba(40, 79, 58, 0.78)),
    url("assets/images/genealogy-hero.jpg");
  background-size: cover;
  background-position: center;
  color: #fffaf0;
}

.pf-subhero__body {
  max-width: 860px;
}

.pf-subhero h1,
.pf-article-hero h1 {
  max-width: 1120px;
  margin: 0;
  color: #fffaf0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.15rem, 5vw, 4.2rem);
  line-height: 1.05;
}

.pf-subhero p:not(.pf-eyebrow) {
  max-width: 660px;
  margin: 18px 0 0;
  color: rgba(255, 250, 240, 0.82);
  font-size: 1.12rem;
}

.pf-mini-crumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 22px;
  color: rgba(255, 250, 240, 0.72);
  font-size: 0.95rem;
}

.pf-mini-crumbs a {
  color: #fffaf0;
  text-decoration: none;
}

.pf-mini-crumbs a::after {
  content: "/";
  margin-left: 8px;
  color: rgba(255, 250, 240, 0.46);
}

.pf-search--light {
  margin-top: 26px;
}

.pf-results-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.pf-result-card {
  display: flex;
  flex-direction: column;
  min-height: 285px;
  padding: 26px;
  border: 1px solid var(--pf-line);
  background: rgba(255, 250, 240, 0.9);
  box-shadow: 0 12px 30px rgba(45, 35, 21, 0.08);
  color: var(--pf-ink);
  text-decoration: none;
}

.pf-result-card:hover {
  border-color: var(--pf-gold);
  transform: translateY(-2px);
}

.pf-result-card h2 {
  margin: 12px 0;
  color: var(--pf-ink);
  font-size: 1.28rem;
  line-height: 1.25;
}

.pf-result-card p {
  margin: 0 0 22px;
  color: var(--pf-muted);
  line-height: 1.58;
}

.pf-empty {
  max-width: 760px;
  padding: 44px;
  border: 1px solid var(--pf-line);
  background: rgba(255, 250, 240, 0.9);
}

.pf-empty h2 {
  margin-top: 0;
  color: var(--pf-ink);
}

.pf-pagination {
  margin-top: 34px;
}

.pf-pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pf-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--pf-line);
  background: #fffaf0;
  color: var(--pf-green);
  text-decoration: none;
}

.pf-pagination .page-numbers.current,
.pf-pagination .page-numbers:hover {
  background: var(--pf-green);
  color: #fffaf0;
}

.pf-article-hero {
  padding-bottom: clamp(58px, 8vw, 110px);
}

.pf-article-hero .pf-eyebrow {
  color: #eadfc9;
}

.pf-article-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 32px;
  align-items: start;
  padding-top: clamp(42px, 6vw, 72px);
  padding-bottom: clamp(56px, 8vw, 92px);
}

.pf-page-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 32px;
  align-items: start;
}

.pf-info-article {
  padding: clamp(30px, 5vw, 58px);
}

.pf-info-article ul,
.pf-info-article ol {
  padding-left: 1.3em;
}

.pf-info-article li + li {
  margin-top: 0.55em;
}

.pf-article,
.pf-sidebox {
  border: 1px solid var(--pf-line);
  background: rgba(255, 250, 240, 0.94);
  box-shadow: 0 12px 30px rgba(45, 35, 21, 0.08);
}

.pf-article {
  padding: clamp(28px, 5vw, 58px);
}

.pf-article__content {
  max-width: 820px;
}

.pf-article__content h2,
.pf-article__content h3 {
  margin-top: 1.55em;
  color: var(--pf-green);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.18;
}

.pf-article__content h2 {
  font-size: clamp(1.65rem, 3vw, 2.2rem);
}

.pf-article__content p,
.pf-article__content li {
  color: #26332b;
  font-size: 1.08rem;
  line-height: 1.78;
}

.pf-article__content a {
  color: var(--pf-burgundy);
}

.pf-sidebar {
  position: sticky;
  top: 24px;
  display: grid;
  gap: 18px;
}

.pf-sidebox {
  padding: 24px;
}

.pf-sidebox h2 {
  margin: 0 0 18px;
  color: var(--pf-ink);
  font-size: 1.28rem;
}

.pf-compact-search {
  display: grid;
  gap: 10px;
}

.pf-compact-search input[type="search"] {
  min-height: 48px;
  border: 1px solid var(--pf-line);
  box-shadow: none;
  background: #fffef9;
}

.pf-compact-search button {
  border: 0;
  border-radius: 4px;
  background: var(--pf-burgundy);
  color: #fff;
  font-weight: 700;
  padding: 13px 16px;
}

.pf-side-links {
  display: grid;
  gap: 14px;
}

.pf-side-links a {
  color: var(--pf-green);
  font-weight: 650;
  line-height: 1.36;
  text-decoration: none;
}

.pf-side-links a:hover {
  color: var(--pf-burgundy);
}

.pf-developer-credit {
  margin-top: 6px;
  font-size: 0.94rem;
  color: var(--pf-muted);
}

.pf-developer-credit a {
  color: var(--pf-green);
  font-weight: 700;
  text-decoration: none;
}

.pf-developer-credit a:hover {
  color: var(--pf-burgundy);
}

.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-archive-description {
  border: 1px solid var(--pf-line);
  box-shadow: 0 12px 30px rgba(45, 35, 21, 0.08);
}

.single .entry-title,
.page .entry-title,
.archive .page-title {
  font-family: Georgia, "Times New Roman", serif;
  color: var(--pf-ink);
}

.single .entry-content h2,
.single .entry-content h3 {
  color: var(--pf-green);
}

.single .entry-content p {
  font-size: 1.06rem;
}

.pf-breadcrumbs {
  width: min(1180px, calc(100% - 40px));
  margin: 24px auto 0;
  color: var(--pf-muted);
  font-size: 0.92rem;
}

.pf-breadcrumbs a {
  color: var(--pf-green);
  text-decoration: none;
}

@media (max-width: 921px) {
  .pf-hero {
    min-height: auto;
    background-position: 62% center;
  }

  .pf-hero__content {
    padding: 78px 0 96px;
  }

  .pf-category-grid,
  .pf-post-grid,
  .pf-results-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pf-article-layout {
    grid-template-columns: 1fr;
  }

  .pf-page-grid {
    grid-template-columns: 1fr;
  }

  .pf-sidebar {
    position: static;
  }
}

@media (max-width: 640px) {
  .pf-wrap,
  .pf-breadcrumbs {
    width: min(100% - 28px, 1180px);
  }

  .pf-search,
  .pf-stats,
  .pf-section__head {
    grid-template-columns: 1fr;
  }

  .pf-search button {
    width: 100%;
  }

  .pf-stats,
  .pf-section__head {
    display: grid;
  }

  .pf-category-grid,
  .pf-post-grid,
  .pf-results-grid {
    grid-template-columns: 1fr;
  }

  .pf-subhero,
  .pf-article-hero {
    padding: 34px 0 48px;
  }

  .pf-result-card,
  .pf-article,
  .pf-sidebox,
  .pf-empty {
    padding: 22px;
  }
}
