/*
Theme Name: AstroVikulova Modern 2.6.4
Theme URI: https://www.astrovikulova.com/
Author: AstroVikulova / custom child theme
Description: Современная дочерняя тема для сайта Лилии Викуловой на базе GP Agency. Parent theme остается обновляемым и лицензионным ядром; дизайн, главная и безопасные исправления находятся здесь.
Version: 2.7.5
Template: gp-agency
Text Domain: astrovikulova-modern
*/

:root {
  --av-bg: #f5f0e7;
  --av-surface: #fffdf8;
  --av-surface-soft: #eee5d8;
  --av-ink: #2d2926;
  --av-muted: #756d65;
  --av-primary: #6d4f5f;
  --av-primary-rgb: 109,79,95;
  --av-primary-dark: #4a3440;
  --av-primary-soft: #eadde2;
  --av-gold: #a27e4b;
  --av-border: rgba(74, 52, 64, .14);
  --av-shadow: 0 24px 64px rgba(67, 52, 44, .08);
  --av-shadow-small: 0 10px 28px rgba(67, 52, 44, .07);
  --av-radius: 22px;
  --av-radius-small: 14px;
  --av-max: 1180px;
  --av-serif: "Iowan Old Style", Baskerville, "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --av-sans: Aptos, "Segoe UI Variable", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif;
}

html { scroll-behavior: smooth; }
body.astrovikulova-modern {
  background: var(--av-bg);
  color: var(--av-ink);
  font-family: var(--av-sans);
  font-size: 17px;
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
}
body.astrovikulova-modern * { box-sizing: border-box; }
body.astrovikulova-modern img { max-width: 100%; height: auto; }
body.astrovikulova-modern a { color: var(--av-primary); text-decoration-thickness: 1px; text-underline-offset: .2em; }
body.astrovikulova-modern a:hover { color: var(--av-primary-dark); }
body.astrovikulova-modern .wrap { width: 100%; max-width: none; margin: 0; overflow: visible; }
body.astrovikulova-modern main { overflow: hidden; }

.av-shell { width: min(calc(100% - 40px), var(--av-max)); margin-inline: auto; }
.av-section { padding: 92px 0; }
.av-section--white { background: var(--av-surface); }
.av-section--soft { background: var(--av-surface-soft); }
.av-section__head { max-width: 790px; margin: 0 0 42px; }
.av-eyebrow {
  display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px;
  color: var(--av-primary); font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
}
.av-eyebrow::before { content: ""; width: 28px; height: 1px; background: var(--av-gold); }
.av-title,
body.astrovikulova-modern h1,
body.astrovikulova-modern h2,
body.astrovikulova-modern h3 {
  color: var(--av-ink);
  font-family: var(--av-serif);
  font-weight: 500;
  line-height: 1.14;
  letter-spacing: -.025em;
}
.av-title { margin: 0 0 18px; font-size: clamp(36px, 5vw, 62px); }
.av-section__title { margin: 0 0 15px; font-size: clamp(31px, 4vw, 46px); }
.av-section__intro { margin: 0; color: var(--av-muted); font-size: 19px; max-width: 720px; }

/* Header */
.av-header {
  position: sticky; top: 0; z-index: 1000;
  background: rgba(248, 246, 251, .88);
  border-bottom: 1px solid var(--av-border);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
}
.admin-bar .av-header { top: 32px; }
.av-header__inner { min-height: 80px; display: flex; align-items: center; gap: 30px; }
.av-brand { display: flex; align-items: center; gap: 12px; min-width: max-content; text-decoration: none !important; }
.av-brand__mark {
  width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%;
  color: #fff; background: linear-gradient(145deg, var(--av-primary), var(--av-primary-dark)); box-shadow: 0 8px 24px rgba(var(--av-primary-rgb),.25);
  font-family: var(--av-serif); font-size: 22px;
}
.av-brand__text { display: flex; flex-direction: column; }
.av-brand__name { color: var(--av-ink); font-family: var(--av-serif); font-size: 21px; line-height: 1.05; }
.av-brand__role { color: var(--av-muted); font-size: 11px; margin-top: 4px; text-transform: uppercase; letter-spacing: .08em; }
.av-nav { margin-left: auto; }
.av-nav ul { display: flex; gap: 26px; align-items: center; margin: 0; padding: 0; list-style: none; }
.av-nav li { margin: 0; padding: 0; }
.av-nav a { color: var(--av-ink) !important; font-size: 15px; font-weight: 650; text-decoration: none !important; }
.av-nav a:hover { color: var(--av-primary) !important; }
.av-header__cta { margin-left: 4px; }
.av-menu-toggle { display: none; margin-left: auto; border: 0; background: transparent; width: 44px; height: 44px; cursor: pointer; }
.av-menu-toggle span, .av-menu-toggle::before, .av-menu-toggle::after {
  content: ""; display: block; width: 24px; height: 2px; margin: 5px auto; background: var(--av-ink); transition: .2s ease;
}
.av-menu-toggle.is-open span { opacity: 0; }
.av-menu-toggle.is-open::before { transform: translateY(7px) rotate(45deg); }
.av-menu-toggle.is-open::after { transform: translateY(-7px) rotate(-45deg); }

/* Buttons */
body.astrovikulova-modern .gp-button,
.av-button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 13px 24px;
  border: 1px solid transparent; border-radius: 999px; cursor: pointer;
  background: var(--av-primary); color: #fff !important; box-shadow: 0 10px 28px rgba(var(--av-primary-rgb),.20);
  font-family: var(--av-sans); font-size: 15px; font-weight: 750; line-height: 1.2; text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
body.astrovikulova-modern .gp-button:hover, .av-button:hover { background: var(--av-primary-dark); transform: translateY(-2px); box-shadow: 0 14px 34px rgba(var(--av-primary-rgb),.25); }
.av-button--ghost { background: transparent; color: var(--av-ink) !important; border-color: var(--av-border); box-shadow: none; }
.av-button--ghost:hover { background: var(--av-surface); color: var(--av-primary) !important; }
.av-button--small { min-height: 42px; padding: 10px 18px; font-size: 14px; }

/* Hero */
.av-hero { position: relative; padding: 70px 0 72px; background: radial-gradient(circle at 80% 15%, #ebe1ff 0, transparent 32%), var(--av-bg); }
.av-hero::after { content: ""; position: absolute; right: -160px; bottom: -260px; width: 500px; height: 500px; border: 1px solid rgba(182,148,88,.25); border-radius: 50%; pointer-events:none; }
.av-hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .75fr); gap: 70px; align-items: center; }
.av-hero__lead { margin: 0 0 26px; max-width: 720px; color: var(--av-muted); font-size: 19px; }
.av-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.av-trust { display: flex; flex-wrap: wrap; gap: 12px; margin: 32px 0 0; padding: 0; list-style: none; }
.av-trust li { padding: 9px 13px; border: 1px solid var(--av-border); border-radius: 999px; background: rgba(255,255,255,.65); color: var(--av-muted); font-size: 13px; font-weight: 650; }
.av-hero__portrait { position: relative; }
.av-hero__portrait::before { content:""; position:absolute; inset: 7% -7% -7% 12%; border-radius: 48% 48% 30% 30%; background: linear-gradient(145deg, #e8dcff, #f0e3cb); transform: rotate(4deg); }
.av-hero__portrait img { position: relative; z-index:1; width: 100%; max-height: 610px; object-fit: cover; object-position: center top; border-radius: 46% 46% 30px 30px; box-shadow: var(--av-shadow); }
.av-hero__portrait-note { position:absolute; z-index:2; left:-30px; bottom:34px; max-width:220px; padding:15px 18px; background:rgba(255,255,255,.94); border:1px solid var(--av-border); border-radius:16px; box-shadow:var(--av-shadow-small); color:var(--av-muted); font-size:13px; }
.av-hero__portrait-note strong { display:block; color:var(--av-ink); font-family:var(--av-serif); font-size:17px; margin-bottom:3px; }

/* Decision paths */
.av-paths { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
.av-path { position:relative; padding:34px; border:1px solid var(--av-border); border-radius:var(--av-radius); background:var(--av-surface); box-shadow:var(--av-shadow-small); overflow:hidden; }
.av-path::after { content:""; position:absolute; width:130px; height:130px; right:-45px; top:-45px; border-radius:50%; background:var(--av-primary-soft); opacity:.65; }
.av-path__number { color:var(--av-gold); font-family:var(--av-serif); font-size:17px; }
.av-path h3 { margin:12px 0 12px; font-size:29px; }
.av-path p { color:var(--av-muted); margin:0 0 20px; }

/* Cards */
.av-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.av-card { min-width:0; overflow:hidden; border:1px solid var(--av-border); border-radius:var(--av-radius); background:var(--av-surface); box-shadow:0 6px 24px rgba(45,31,72,.05); transition:transform .2s ease, box-shadow .2s ease; }
.av-card:hover { transform:translateY(-4px); box-shadow:var(--av-shadow-small); }
.av-card__media { display:block; aspect-ratio:16/10; overflow:hidden; background:var(--av-surface-soft); }
.av-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.av-card:hover .av-card__media img { transform:scale(1.025); }
.av-card__body { padding:24px; }
.av-card__tag { display:inline-block; margin-bottom:10px; color:var(--av-primary); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.av-card h3 { margin:0 0 10px; font-size:25px; }
.av-card p { color:var(--av-muted); margin:0 0 18px; }
.av-card__link { font-weight:750; text-decoration:none !important; }

/* Courses */
.av-course-toolbar { display:flex; flex-wrap:wrap; gap:9px; margin:0 0 28px; }
.av-filter { border:1px solid var(--av-border); background:var(--av-surface); color:var(--av-ink); border-radius:999px; padding:9px 15px; font:inherit; font-size:14px; font-weight:700; cursor:pointer; }
.av-filter:hover, .av-filter.is-active { background:var(--av-ink); color:#fff; border-color:var(--av-ink); }
.av-course-card[hidden] { display:none !important; }
.av-course-card .av-card__media { aspect-ratio: 7/4; }
.av-course-card__meta { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.av-pill { display:inline-flex; padding:6px 9px; border-radius:999px; background:var(--av-surface-soft); color:var(--av-muted); font-size:12px; font-weight:700; }
.av-course-card__price { color:var(--av-primary-dark); font-weight:800; }
.av-course-card__footer { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:18px; padding-top:18px; border-top:1px solid var(--av-border); }

/* Video / expert */
.av-media-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:42px; align-items:center; }
.av-video { overflow:hidden; border-radius:var(--av-radius); box-shadow:var(--av-shadow); background:#121018; }
.av-video video, .av-video iframe { display:block; width:100%; aspect-ratio:16/9; height:auto; border:0; }
.av-expert-copy p { color:var(--av-muted); }

/* Articles */
.av-post-card__date { display:block; margin-bottom:8px; color:var(--av-muted); font-size:12px; }

/* CTA */
.av-cta { padding:54px; border-radius:34px; background:linear-gradient(135deg,#251c3e,#5f45a0); color:#fff; box-shadow:var(--av-shadow); }
.av-cta .av-eyebrow { color:#d9c7ff; }
.av-cta .av-eyebrow::before { background:#e0bf7c; }
.av-cta h2 { color:#fff; margin:0 0 15px; font-size:clamp(32px,4vw,48px); }
.av-cta p { max-width:720px; margin:0 0 26px; color:rgba(255,255,255,.78); font-size:18px; }
.av-cta .av-button--ghost { color:#fff !important; border-color:rgba(255,255,255,.25); }
.av-cta .av-button--ghost:hover { background:rgba(255,255,255,.08); }

/* Footer */
.av-footer { padding:60px 0 32px; background:#17131f; color:rgba(255,255,255,.72); }
.av-footer a { color:#fff !important; }
.av-footer__grid { display:grid; grid-template-columns:1.15fr .72fr .78fr 1.15fr; gap:36px; }
.av-footer__brand { color:#fff; font-family:var(--av-serif); font-size:26px; }
.av-footer__note { max-width:420px; }
.av-footer__title { display:block; margin:0 0 14px; color:#fff; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.av-footer ul { margin:0; padding:0; list-style:none; }
.av-footer li { margin:7px 0; }
.av-footer__socials { display:flex; flex-wrap:wrap; gap:10px; }
.av-footer__socials a { padding:7px 10px; border:1px solid rgba(255,255,255,.15); border-radius:999px; text-decoration:none !important; font-size:13px; }
.av-footer__legal a { display:inline-block; font-size:14px; line-height:1.45; text-decoration:none !important; opacity:.86; }
.av-footer__legal a:hover { opacity:1; text-decoration:underline !important; }
.av-footer__bottom { display:flex; justify-content:space-between; gap:20px; margin-top:44px; padding-top:24px; border-top:1px solid rgba(255,255,255,.12); font-size:13px; }

/* Existing inner GP Agency pages – modernization layer */
body.astrovikulova-modern:not(.home) .wrap > main,
body.astrovikulova-modern:not(.home) .gp-inner-page,
body.astrovikulova-modern:not(.home) .content-area { background:var(--av-bg); }
body.astrovikulova-modern .port { width:min(calc(100% - 40px),var(--av-max)); }
body.astrovikulova-modern .gp-inner-page__content,
body.astrovikulova-modern .single-content,
body.astrovikulova-modern .post-content,
body.astrovikulova-modern .page-content { font-size:17px; line-height:1.78; }
body.astrovikulova-modern .gp-inner-page__content h1,
body.astrovikulova-modern .single-content h1 { font-size:clamp(34px,5vw,52px); }
body.astrovikulova-modern .gp-inner-page__content h2,
body.astrovikulova-modern .single-content h2,
body.astrovikulova-modern .post-content h2 { margin-top:1.8em; font-size:clamp(27px,3vw,36px); }
body.astrovikulova-modern .gp-inner-page__content h3,
body.astrovikulova-modern .single-content h3,
body.astrovikulova-modern .post-content h3 { margin-top:1.5em; font-size:24px; }
body.astrovikulova-modern .gp-inner-page__content img,
body.astrovikulova-modern .single-content img,
body.astrovikulova-modern .post-content img { border-radius:var(--av-radius-small); }
body.astrovikulova-modern blockquote { margin:32px 0; padding:24px 28px; border:0; border-left:3px solid var(--av-gold); border-radius:0 var(--av-radius-small) var(--av-radius-small) 0; background:var(--av-surface-soft); color:var(--av-ink); }
body.astrovikulova-modern input:not([type="checkbox"]):not([type="radio"]),
body.astrovikulova-modern textarea,
body.astrovikulova-modern select { width:100%; max-width:100%; padding:13px 15px; border:1px solid var(--av-border); border-radius:12px; background:#fff; color:var(--av-ink); font:inherit; }
body.astrovikulova-modern input:focus, body.astrovikulova-modern textarea:focus, body.astrovikulova-modern select:focus { outline:3px solid rgba(var(--av-primary-rgb),.15); border-color:var(--av-primary); }
body.astrovikulova-modern table { overflow:hidden; border-radius:12px; border:1px solid var(--av-border); background:#fff; }
body.astrovikulova-modern th { background:var(--av-surface-soft); }

/* Accessibility */
body.astrovikulova-modern a:focus-visible,
body.astrovikulova-modern button:focus-visible,
body.astrovikulova-modern input:focus-visible,
body.astrovikulova-modern textarea:focus-visible { outline:3px solid rgba(var(--av-primary-rgb),.35); outline-offset:3px; }
.av-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

@media (max-width: 980px) {
  .av-nav { position:absolute; top:80px; left:0; right:0; display:none; padding:18px 20px 24px; background:rgba(245,240,231,.98); border-bottom:1px solid var(--av-border); }
  .av-nav.is-open { display:block; }
  .av-nav ul { width:min(100%,var(--av-max)); margin:auto; flex-direction:column; align-items:flex-start; gap:14px; }
  .av-header__cta { display:none; }
  .av-menu-toggle { display:block; }
  .av-hero__grid { grid-template-columns:1fr; gap:42px; }
  .av-hero__portrait { max-width:620px; margin:auto; }
  .av-hero__portrait-note { left:10px; }
  .av-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .av-media-grid { grid-template-columns:1fr; }
  .av-footer__grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 782px) { .admin-bar .av-header { top:46px; } }
@media (max-width: 680px) {
  .av-shell { width:min(calc(100% - 28px),var(--av-max)); }
  .av-section { padding:64px 0; }
  .av-header__inner { min-height:70px; }
  .av-nav { top:70px; }
  .av-brand__role { display:none; }
  .av-hero { padding:44px 0 58px; }
  .av-title { font-size:42px; }
  .av-hero__lead { font-size:17px; }
  .av-hero__portrait-note { position:relative; left:auto; bottom:auto; margin:-28px 16px 0; }
  .av-paths, .av-card-grid, .av-footer__grid { grid-template-columns:1fr; }
  .av-path, .av-card__body { padding:22px; }
  .av-cta { padding:34px 24px; border-radius:24px; }
  .av-footer__bottom { flex-direction:column; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
}

/* ==========================================================
   v1.1 front-page isolation from legacy GP Agency globals
   ========================================================== */
body.astrovikulova-modern { margin:0; }
body.astrovikulova-modern p { hyphens:none; -webkit-hyphens:none; }
body.astrovikulova-modern.home .av-header,
body.astrovikulova-modern.front-page .av-header,
body.astrovikulova-modern .av-header {
  float:none !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  line-height:normal !important;
  position:sticky !important;
  top:0;
  text-align:left !important;
  background:rgba(245,240,231,.95) !important;
}
body.admin-bar.astrovikulova-modern .av-header { top:32px; }
body.astrovikulova-modern main#content {
  float:none !important;
  width:100% !important;
  clear:both;
  overflow:clip;
}
body.astrovikulova-modern .av-footer {
  float:none !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:60px 0 32px !important;
  position:relative !important;
  text-align:left !important;
  line-height:1.6 !important;
}
body.astrovikulova-modern .av-footer ul,
body.astrovikulova-modern .av-footer li { text-align:left !important; }

/* Desktop navigation and dropdowns. */
.av-nav > ul > li { position:relative; }
.av-nav .sub-menu {
  display:none;
  position:absolute;
  z-index:1100;
  top:calc(100% + 16px);
  left:-20px;
  min-width:240px;
  padding:10px;
  margin:0;
  list-style:none;
  background:#fff;
  border:1px solid var(--av-border);
  border-radius:16px;
  box-shadow:var(--av-shadow-small);
}
.av-nav li:hover > .sub-menu,
.av-nav li:focus-within > .sub-menu { display:block; }
.av-nav .sub-menu li { display:block; width:100%; }
.av-nav .sub-menu a { display:block; padding:10px 12px; border-radius:10px; line-height:1.35; white-space:normal; }
.av-nav .sub-menu a:hover { background:var(--av-surface-soft); }

/* Keep cards visually consistent even when old content contains long titles. */
.av-card { display:flex; flex-direction:column; }
.av-card__body { display:flex; flex:1; flex-direction:column; }
.av-card__body > .av-card__link { margin-top:auto; }
.av-course-card__footer { margin-top:auto; }
.av-card h3 { overflow-wrap:anywhere; }

/* Clean, self-contained back-to-top control. */
.backtop {
  position:fixed;
  left:22px;
  right:auto;
  bottom:22px;
  z-index:1200;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  padding:0;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  color:#fff;
  background:var(--av-primary-dark);
  box-shadow:var(--av-shadow-small);
  transition:.2s ease;
}
.backtop.is-visible { opacity:1; visibility:visible; transform:none; }

@media (max-width:980px) {
  body.av-menu-open { overflow:hidden; }
  .av-nav { max-height:calc(100vh - 80px); overflow:auto; }
  .av-nav .sub-menu {
    display:block;
    position:static;
    min-width:0;
    padding:6px 0 2px 16px;
    margin:4px 0 0;
    border:0;
    border-left:1px solid var(--av-border);
    border-radius:0;
    box-shadow:none;
    background:transparent;
  }
  .av-nav .sub-menu a { padding:7px 0; font-size:14px; color:var(--av-muted) !important; }
}
@media (max-width:782px) {
  body.admin-bar.astrovikulova-modern .av-header { top:46px; }
}

/* ==========================================================
   v1.2 modern course + consultation templates
   ========================================================== */
.av-inner { background:var(--av-bg); }
.av-inner-hero { padding:68px 0 58px; background:radial-gradient(circle at 84% 10%,#eadde2 0,transparent 30%),linear-gradient(180deg,#faf6ef,#f4ecdf); border-bottom:1px solid var(--av-border); }
.av-inner-hero--consultation { background:radial-gradient(circle at 80% 12%,#eee0cd 0,transparent 32%),linear-gradient(180deg,#faf6ef,#f4ecdf); }
.av-inner-hero__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.66fr); gap:62px; align-items:center; }
.av-inner-hero__copy h1 { margin:0 0 18px; font-size:clamp(40px,5.2vw,68px); }
.av-inner-hero__lead { margin:0 0 24px; max-width:760px; color:var(--av-muted); font-size:19px; }
.av-meta-row { display:flex; flex-wrap:wrap; gap:9px; margin:22px 0 6px; }
.av-meta-chip { display:inline-flex; align-items:center; min-height:34px; padding:6px 11px; border:1px solid var(--av-border); border-radius:999px; background:rgba(255,255,255,.72); color:var(--av-muted); font-size:13px; font-weight:720; }
.av-meta-chip--price { color:var(--av-primary-dark); background:var(--av-primary-soft); border-color:rgba(var(--av-primary-rgb),.18); }
.av-inner-hero__media { overflow:hidden; border-radius:34px; background:var(--av-surface); box-shadow:var(--av-shadow); transform:rotate(1.2deg); }
.av-inner-hero__media img { display:block; width:100%; aspect-ratio:7/5; object-fit:cover; }
.av-inner-hero__media--consult { transform:rotate(-1deg); }

.av-inner-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:56px; align-items:start; }
.av-prose { min-width:0; max-width:800px; }
.av-prose > *:first-child { margin-top:0; }
.av-prose p, .av-prose li { color:#40384d; }
.av-prose p { margin:0 0 1.15em; }
.av-prose ul, .av-prose ol { padding-left:1.3em; }
.av-prose li { margin:.55em 0; }
.av-prose h2 { margin:1.6em 0 .65em; font-size:clamp(28px,3vw,40px); }
.av-prose h3 { margin:1.45em 0 .55em; font-size:25px; }
.av-prose details { margin:20px 0; border:1px solid var(--av-border); border-radius:16px; background:#fff; overflow:hidden; }
.av-prose details > summary { padding:16px 19px; cursor:pointer; font-weight:760; color:var(--av-ink); }
.av-prose details > *:not(summary) { margin-left:19px; margin-right:19px; }
.av-prose .wp-block-cover:first-child { display:none !important; }
.av-prose .course-pricing { display:none !important; }
.av-prose .wp-block-button__link { border-radius:999px; }

.av-sticky-card { position:sticky; top:110px; padding:28px; border:1px solid var(--av-border); border-radius:24px; background:#fff; box-shadow:var(--av-shadow-small); }
.av-sticky-card h2 { margin:5px 0 14px; font-size:29px; }
.av-sticky-card p { color:var(--av-muted); }
.av-sticky-card .av-button { width:100%; margin-top:8px; }
.av-sticky-card__price { margin:18px 0 !important; color:var(--av-primary-dark) !important; font-size:26px; font-weight:850; }
.av-text-link { display:block; margin-top:18px; text-align:center; font-size:14px; font-weight:700; text-decoration:none !important; }

.av-order-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr); gap:52px; align-items:start; }
.av-order-card { padding:28px; border:1px solid var(--av-border); border-radius:24px; background:#fff; box-shadow:var(--av-shadow-small); }
.av-order-card .wpcf7 form { margin:0; }
.av-order-card .flex-port { display:grid !important; grid-template-columns:1fr 1fr; gap:14px; width:100% !important; max-width:none !important; }
.av-order-card .flex-port > :nth-child(2) { grid-column:1 / -1; }
.av-order-card .flex-port .wpcf7-form-control-wrap { display:block; width:100%; }
.av-order-card input[type="text"],
.av-order-card input[type="email"],
.av-order-card input[type="tel"],
.av-order-card textarea { min-height:50px; background:#fbfafc; }
.av-order-card input[type="submit"],
.av-order-card button[type="submit"] { min-height:50px; border:0; border-radius:999px; padding:12px 22px; background:var(--av-primary); color:#fff; font-weight:800; cursor:pointer; }
.av-order-card input[type="submit"]:hover,
.av-order-card button[type="submit"]:hover { background:var(--av-primary-dark); }
.av-order-card .wpcf7-spinner { align-self:center; }

/* Stop old Gutenberg inline typography from dictating the redesigned pages. */
.astrov-course-content [style*="font-size"],
.astrov-consultation-content [style*="font-size"] { font-size:inherit !important; }
.astrov-course-content [style*="font-family"],
.astrov-consultation-content [style*="font-family"] { font-family:inherit !important; }
.astrov-course-content .wp-block-heading,
.astrov-consultation-content .wp-block-heading { color:var(--av-ink); }

@media (max-width:980px) {
  .av-inner-hero__grid, .av-inner-layout, .av-order-grid { grid-template-columns:1fr; }
  .av-inner-hero__media { max-width:620px; }
  .av-sticky-card { position:relative; top:auto; max-width:620px; }
}
@media (max-width:680px) {
  .av-inner-hero { padding:44px 0 46px; }
  .av-inner-hero__copy h1 { font-size:40px; }
  .av-inner-hero__lead { font-size:17px; }
  .av-inner-hero__media { border-radius:24px; transform:none; }
  .av-inner-layout { gap:34px; }
  .av-sticky-card, .av-order-card { padding:22px; border-radius:20px; }
  .av-order-card .flex-port { grid-template-columns:1fr; }
  .av-order-card .flex-port > :nth-child(2) { grid-column:auto; }
}

/* ==========================================================
   v1.3 menu inheritance + redesigned course catalog
   ========================================================== */
.av-nav .av-menu { display:flex; gap:22px; align-items:center; margin:0; padding:0; list-style:none; }
.av-nav .av-menu > li > a { display:flex; align-items:center; min-height:80px; padding:0 2px; }
.av-nav .current-menu-item > a,
.av-nav .current_page_item > a { color:var(--av-primary) !important; }

.av-catalog-hero__grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr); gap:58px; align-items:center; }
.av-catalog-hero__panel { padding:30px; border:1px solid var(--av-border); border-radius:28px; background:rgba(255,255,255,.88); box-shadow:var(--av-shadow-small); }
.av-catalog-hero__panel h2 { margin:0 0 22px; font-size:30px; }
.av-catalog-steps { margin:0; padding:0; list-style:none; counter-reset:steps; }
.av-catalog-steps li { display:grid; grid-template-columns:1fr; gap:3px; padding:16px 0; border-top:1px solid var(--av-border); }
.av-catalog-steps li:first-child { border-top:0; padding-top:0; }
.av-catalog-steps strong { color:var(--av-ink); font-size:15px; }
.av-catalog-steps span { color:var(--av-muted); font-size:14px; }

.av-learning-path { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.av-learning-step { display:flex; gap:14px; min-height:180px; padding:24px; border:1px solid var(--av-border); border-radius:22px; background:var(--av-surface); color:var(--av-ink) !important; text-decoration:none !important; box-shadow:0 6px 22px rgba(45,31,72,.04); transition:.2s ease; }
.av-learning-step:hover { transform:translateY(-3px); border-color:rgba(var(--av-primary-rgb),.28); box-shadow:var(--av-shadow-small); }
.av-learning-step__number { flex:0 0 auto; color:var(--av-gold); font-family:var(--av-serif); font-size:18px; }
.av-learning-step strong { display:block; margin-bottom:8px; font-family:var(--av-serif); font-size:21px; line-height:1.15; }
.av-learning-step small { display:block; color:var(--av-muted); font-size:13px; line-height:1.55; }

.av-course-group { scroll-margin-top:110px; margin-top:56px; }
.av-course-group:first-of-type { margin-top:36px; }
.av-course-group__head { display:grid; grid-template-columns:minmax(260px,.75fr) minmax(0,1fr); gap:34px; align-items:end; margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid var(--av-border); }
.av-course-group__head > div { display:flex; gap:13px; align-items:baseline; }
.av-course-group__number { color:var(--av-gold); font-family:var(--av-serif); font-size:17px; }
.av-course-group__head h3 { margin:0; font-size:30px; }
.av-course-group__head p { margin:0; color:var(--av-muted); font-size:15px; }
.av-catalog-grid { align-items:stretch; }
.av-catalog-extra { max-width:850px; margin:70px auto 0; padding-top:38px; border-top:1px solid var(--av-border); }

@media (max-width:1100px) {
  .av-header__inner { gap:18px; }
  .av-nav .av-menu { gap:14px; }
  .av-nav a { font-size:14px; }
  .av-header__cta { padding-left:15px; padding-right:15px; }
  .av-learning-path { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:980px) {
  .av-nav .av-menu { width:min(100%,var(--av-max)); margin:auto; flex-direction:column; align-items:stretch; gap:0; }
  .av-nav .av-menu > li { width:100%; border-bottom:1px solid var(--av-border); }
  .av-nav .av-menu > li:last-child { border-bottom:0; }
  .av-nav .av-menu > li > a { min-height:0; padding:12px 0; }
  .av-catalog-hero__grid { grid-template-columns:1fr; }
  .av-catalog-hero__panel { max-width:680px; }
}
@media (max-width:760px) {
  .av-learning-path { grid-template-columns:1fr; }
  .av-learning-step { min-height:0; }
  .av-course-group__head { grid-template-columns:1fr; gap:10px; }
}


/* ==========================================================
   v1.4 repairs: projects archive, rectification form,
   progressive course filtering
   ========================================================== */
.av-consultations-hero { background:radial-gradient(circle at 82% 12%,#eadcc9 0,transparent 30%),linear-gradient(180deg,#faf6ef,#f4ecdf); }
.av-consultations-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.av-consult-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--av-border); border-radius:24px; background:#fff; box-shadow:var(--av-shadow-small); }
.av-consult-card__media { display:block; aspect-ratio:7/4; overflow:hidden; background:var(--av-surface-soft); }
.av-consult-card__media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.av-consult-card:hover .av-consult-card__media img { transform:scale(1.025); }
.av-consult-card__body { display:flex; flex:1; flex-direction:column; padding:26px; }
.av-consult-card__body h2 { margin:8px 0 12px; font-size:28px; }
.av-consult-card__body p { color:var(--av-muted); }
.av-consult-card__footer { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:auto; padding-top:20px; }
.av-consult-card__price { color:var(--av-primary-dark); font-weight:850; }
.av-consultations-note { margin-top:42px; padding:26px 28px; border:1px solid var(--av-border); border-radius:22px; background:var(--av-surface-soft); }

.av-rectification-hero { background:radial-gradient(circle at 85% 14%,#eadde2 0,transparent 30%),linear-gradient(180deg,#faf6ef,#f4ecdf); }
.av-form-intro-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:54px; align-items:start; }
.av-form-benefits { margin:24px 0 0; padding:0; list-style:none; }
.av-form-benefits li { position:relative; padding:10px 0 10px 30px; color:#40384d; }
.av-form-benefits li::before { content:'✓'; position:absolute; left:0; top:10px; color:var(--av-primary); font-weight:900; }
.av-rectification-card { padding:32px; border:1px solid var(--av-border); border-radius:26px; background:#fff; box-shadow:var(--av-shadow); }
.av-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.av-field { display:flex; flex-direction:column; gap:7px; }
.av-field--full { grid-column:1 / -1; }
.av-field label { color:var(--av-ink); font-size:14px; font-weight:760; }
.av-field small { color:var(--av-muted); font-size:12px; line-height:1.5; }
.av-field input, .av-field textarea { margin:0; }
.av-field textarea { min-height:180px; resize:vertical; }
.av-form-actions { display:flex; align-items:center; gap:18px; margin-top:22px; }
.av-form-actions .av-button { border:0; cursor:pointer; }
.av-form-privacy { margin:0; color:var(--av-muted); font-size:12px; line-height:1.5; }
.av-form-status { margin-bottom:22px; padding:14px 17px; border-radius:14px; font-weight:700; }
.av-form-status--success { color:#245d42; background:#e8f6ee; border:1px solid #bfe5cf; }
.av-form-status--error { color:#7b3232; background:#fff0f0; border:1px solid #efcaca; }
.av-hp { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }

/* Filters are progressive enhancement: without JS all courses stay visible. */
[data-course-filter-scope] .av-course-card[hidden],
[data-course-filter-scope] .av-course-group[hidden] { display:none !important; }

@media (max-width:980px) {
  .av-consultations-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .av-form-intro-grid { grid-template-columns:1fr; }
}
@media (max-width:680px) {
  .av-consultations-grid, .av-form-grid { grid-template-columns:1fr; }
  .av-field--full { grid-column:auto; }
  .av-rectification-card { padding:22px; border-radius:20px; }
  .av-form-actions { align-items:stretch; flex-direction:column; }
  .av-form-actions .av-button { width:100%; }
}

/* ==========================================================
   v1.5 full data restoration + unified WordPress pages
   ========================================================== */
.av-inner-hero--compact { padding-top:52px; padding-bottom:46px; }
.av-generic-content { max-width:920px; margin:0 auto; }
.av-generic-content > .alignfull,
.av-generic-content > .alignwide { max-width:none; width:100%; }
.av-generic-content img { max-width:100%; height:auto; border-radius:18px; }
.av-generic-content .wp-block-cover:first-child { display:block !important; }
.av-generic-content [style*="font-size"] { font-size:inherit !important; }
.av-generic-content h2 [style*="font-size"],
.av-generic-content h3 [style*="font-size"] { font-size:inherit !important; }
.av-generic-content .wp-block-gpress-block-price { margin:16px 0; }

.av-questionnaire-layout { display:grid; grid-template-columns:300px minmax(0,1fr); gap:48px; align-items:start; }
.av-questionnaire-aside { min-width:0; }
.av-questionnaire-aside .av-sticky-card { top:104px; }
.av-questionnaire-aside .av-sticky-card h2 { font-size:27px; }
.av-form-note { margin-top:18px !important; font-size:13px; }
.av-rectification-card--full { padding:36px clamp(24px,4vw,48px); }
.av-rectification-form--full { max-width:900px; }
.av-questionnaire-section-head { margin:42px 0 22px; padding-top:34px; border-top:1px solid var(--av-border); }
.av-questionnaire-section-head:first-of-type { margin-top:0; padding-top:0; border-top:0; }
.av-questionnaire-section-head .av-eyebrow { display:block; margin-bottom:7px; }
.av-questionnaire-section-head p { margin:0; color:var(--av-muted); font-size:14px; }
.av-rectification-form--full .av-field { margin-bottom:20px; }
.av-rectification-form--full .av-field label { font-size:15px; line-height:1.45; }
.av-rectification-form--full .av-field input[type="text"],
.av-rectification-form--full .av-field input[type="email"],
.av-rectification-form--full .av-field textarea {
  width:100%; min-height:52px; padding:13px 15px; border:1px solid #d8d0e2; border-radius:13px;
  background:#fbfafc; color:var(--av-ink); font:inherit; box-shadow:none;
}
.av-rectification-form--full .av-field textarea { min-height:170px; }
.av-rectification-form--full .av-field input:focus,
.av-rectification-form--full .av-field textarea:focus { outline:3px solid rgba(var(--av-primary-rgb),.12); border-color:var(--av-primary); background:#fff; }
.av-field--large input { min-height:58px !important; }
.av-field--consent { padding:18px; border:1px solid var(--av-border); border-radius:15px; background:var(--av-surface-soft); }
.av-consent { display:grid !important; grid-template-columns:22px minmax(0,1fr); gap:12px; align-items:start; font-weight:500 !important; }
.av-consent input { width:18px; height:18px; margin-top:2px; }

@media (max-width:980px) {
  .av-questionnaire-layout { grid-template-columns:1fr; }
  .av-questionnaire-aside .av-sticky-card { position:relative; top:auto; max-width:none; }
}
@media (max-width:680px) {
  .av-rectification-card--full { padding:22px 18px; }
  .av-questionnaire-section-head { margin-top:34px; }
}

/* ========================================================================
   v1.6 course normalization
   ======================================================================== */
.av-course-page .av-inner-layout {
  grid-template-columns:minmax(0, 1fr) minmax(280px, 340px);
  gap:48px;
  align-items:start;
}
.astrov-course-content {
  font-size:17px;
  line-height:1.78;
}
.astrov-course-content > * { max-width:100%; }
.astrov-course-content p,
.astrov-course-content li {
  font-size:17px !important;
  line-height:1.78 !important;
  letter-spacing:0;
}
.astrov-course-content h2 {
  margin:44px 0 16px !important;
  font-size:clamp(28px,3vw,38px) !important;
  line-height:1.18 !important;
}
.astrov-course-content h3,
.astrov-course-content h4 {
  margin:34px 0 14px !important;
  line-height:1.25 !important;
}
.astrov-course-content ul,
.astrov-course-content ol {
  margin:18px 0 28px;
  padding-left:1.35em;
}
.astrov-course-content br + br { display:none; }
.astrov-course-content figure,
.astrov-course-content .wp-block-image {
  margin:34px auto !important;
  max-width:760px;
  float:none !important;
}
.astrov-course-content img {
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  margin:34px auto;
  border-radius:18px;
  box-shadow:var(--av-shadow-small);
}
.astrov-course-content .alignleft,
.astrov-course-content .alignright,
.astrov-course-content .aligncenter,
.astrov-course-content .alignnone {
  float:none !important;
  display:block !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.astrov-course-content .course-pricing,
.astrov-course-content .wp-block-stackable-price,
.astrov-course-content .wp-block-button:has(a[href="https://astrovikulova.com"]),
.astrov-course-content .wp-block-button:has(a[href="https://www.astrovikulova.com"]) {
  display:none !important;
}
.av-native-accordion {
  margin:26px 0 !important;
  border:1px solid var(--av-border) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 8px 28px rgba(48,38,71,.05);
  overflow:hidden;
}
.av-native-accordion > .stk-block-accordion__heading { display:none !important; }
.av-native-accordion > .av-accordion-summary {
  list-style:none;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:62px;
  padding:18px 54px 18px 20px;
  cursor:pointer;
  color:var(--av-ink);
  font-weight:800;
  line-height:1.35;
  background:#fff;
  user-select:none;
}
.av-native-accordion > .av-accordion-summary::-webkit-details-marker { display:none; }
.av-native-accordion > .av-accordion-summary::after {
  content:'+';
  position:absolute;
  right:20px;
  top:50%;
  width:28px;
  height:28px;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--av-soft);
  color:var(--av-primary-dark);
  font-size:20px;
  font-weight:500;
}
.av-native-accordion[open] > .av-accordion-summary::after { content:'–'; }
.av-native-accordion > .stk-block-accordion__content,
.av-native-accordion > *:not(summary) {
  padding-left:20px !important;
  padding-right:20px !important;
}
.av-native-accordion[open] > .stk-block-accordion__content { padding-bottom:20px !important; }
.av-sticky-card {
  width:100%;
  box-sizing:border-box;
}
.av-sticky-card .av-button,
.av-order-card .wpcf7-submit,
.av-order-card input[type="submit"],
.av-order-card button[type="submit"] {
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box;
  justify-content:center;
  text-align:center;
}
.av-order-price {
  display:inline-flex;
  flex-direction:column;
  gap:4px;
  margin-top:18px;
  padding:15px 18px;
  border:1px solid var(--av-border);
  border-radius:16px;
  background:#fff;
}
.av-order-price span { color:var(--av-muted); font-size:13px; text-transform:uppercase; letter-spacing:.06em; }
.av-order-price strong { color:var(--av-primary-dark); font-size:27px; }

@media (max-width:900px) {
  .av-course-page .av-inner-layout { grid-template-columns:1fr; gap:28px; }
  .av-course-page .av-sticky-card { position:relative; top:auto; order:-1; }
  .astrov-course-content { font-size:16px; }
  .astrov-course-content p, .astrov-course-content li { font-size:16px !important; }
}

/* =========================================================
   v1.7 unified course typography + modern messenger
   ========================================================= */
.astrov-course-content,
.astrov-course-content p,
.astrov-course-content li,
.astrov-course-content span,
.astrov-course-content div,
.astrov-course-content a,
.astrov-course-content strong,
.astrov-course-content em,
.astrov-course-content summary {
  font-family:var(--av-sans) !important;
}
.astrov-course-content h2,
.astrov-course-content h3,
.astrov-course-content h4,
.astrov-course-content h5,
.astrov-course-content h6 {
  font-family:var(--av-serif) !important;
  color:var(--av-ink) !important;
}
.astrov-course-content span:not(.av-pill),
.astrov-course-content div:not(.wp-block-cover):not(.wp-block-cover__inner-container) {
  font-size:inherit;
}
.astrov-course-content a:not(.av-button) {
  color:var(--av-primary-dark);
}
.astrov-course-content .course-container,
.astrov-course-content .course-content,
.astrov-course-content .course-section,
.astrov-course-content .course-info {
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.astrov-course-content .course-title { display:none !important; }
.astrov-course-content .section-heading { text-align:left !important; color:var(--av-ink) !important; }
.astrov-course-content .styled-lessons { list-style:disc; padding-left:1.35em !important; }
.astrov-course-content .styled-lessons li { padding-left:0 !important; }
.astrov-course-content .styled-lessons li::before { display:none !important; }

.av-chat {
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:9990;
  display:flex;
  align-items:center;
  gap:11px;
  min-height:58px;
  max-width:280px;
  padding:8px 15px 8px 8px;
  border:1px solid rgba(var(--av-primary-rgb),.18);
  border-radius:999px;
  background:#fff;
  color:var(--av-ink) !important;
  text-decoration:none !important;
  box-shadow:0 14px 38px rgba(49,34,79,.18);
  transition:transform .18s ease, box-shadow .18s ease;
}
.av-chat:hover { transform:translateY(-2px); box-shadow:0 18px 46px rgba(49,34,79,.23); }
.av-chat img {
  flex:0 0 auto;
  width:44px;
  height:44px;
  border-radius:50%;
  object-fit:cover;
}
.av-chat span { display:flex; flex-direction:column; min-width:0; }
.av-chat small { color:var(--av-muted); font-size:11px; line-height:1.2; }
.av-chat strong { margin-top:2px; font-size:14px; line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media (max-width:680px) {
  .av-chat { right:14px; bottom:14px; max-width:220px; }
  .av-chat small { display:none; }
}

/* =========================================================
   v1.8 editorial system, prices hub and internal navigation
   ========================================================= */
.av-header__actions { display:flex; align-items:center; gap:14px; margin-left:4px; }
.av-header__price { color:var(--av-primary-dark) !important; font-size:14px; font-weight:750; text-decoration:none !important; white-space:nowrap; }
.av-header__price:hover { color:var(--av-primary) !important; }
.av-header__actions .av-header__cta { margin-left:0; }

.av-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding-top:20px; color:var(--av-muted); font-size:13px; }
.av-breadcrumbs a { color:var(--av-primary-dark); text-decoration:none; }
.av-breadcrumbs a:hover { text-decoration:underline; }
.av-section--overview { padding:28px 0 0; background:var(--av-bg); }
.av-course-overview { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:1px; border:1px solid var(--av-border); border-radius:20px; overflow:hidden; background:var(--av-border); box-shadow:var(--av-shadow-small); }
.av-course-overview__item { min-height:94px; padding:18px 20px; background:#fff; display:flex; flex-direction:column; justify-content:center; gap:6px; }
.av-course-overview__item span { color:var(--av-muted); font-size:12px; text-transform:uppercase; letter-spacing:.055em; }
.av-course-overview__item strong { color:var(--av-ink); font-size:15px; line-height:1.35; }

/* A course body has one editorial grid regardless of the original editor. */
.astrov-course-content { color:var(--av-ink); }
.astrov-course-content p,
.astrov-course-content li,
.astrov-course-content span,
.astrov-course-content div:not(.wp-block-cover):not(.wp-block-cover__inner-container) {
  color:var(--av-ink) !important;
  text-align:left !important;
}
.astrov-course-content p { margin:0 0 18px !important; }
.astrov-course-content h2,
.astrov-course-content .av-course-section-title {
  margin:50px 0 18px !important;
  padding-top:2px;
  color:var(--av-ink) !important;
  text-align:left !important;
  font-size:clamp(29px,3vw,38px) !important;
  line-height:1.16 !important;
}
.astrov-course-content > h2:first-child,
.astrov-course-content > .av-course-section-title:first-child { margin-top:0 !important; }
.astrov-course-content h3,
.astrov-course-content .av-lesson-heading {
  margin:28px 0 10px !important;
  color:var(--av-primary-dark) !important;
  text-align:left !important;
  font-family:var(--av-sans) !important;
  font-size:18px !important;
  font-weight:800 !important;
  line-height:1.35 !important;
}
.astrov-course-content ul,
.astrov-course-content ol { padding-left:1.35em !important; }
.astrov-course-content ul ul,
.astrov-course-content ol ol,
.astrov-course-content ul ol,
.astrov-course-content ol ul { margin:8px 0 12px !important; padding-left:1.2em !important; }
.astrov-course-content li { margin:0 0 9px !important; }
.astrov-course-content [class*="has-"][class*="font-size"],
.astrov-course-content [style*="text-align"],
.astrov-course-content .has-text-align-center,
.astrov-course-content .has-text-align-right { text-align:left !important; }
.astrov-course-content .wp-block-cover { min-height:0 !important; margin:0 !important; padding:0 !important; background:none !important; }
.astrov-course-content .wp-block-cover__background { display:none !important; }
.astrov-course-content .wp-block-cover__inner-container { width:100% !important; color:inherit !important; }
.astrov-course-content .av-course-info-box,
.astrov-course-content .course-info {
  margin:34px 0 !important;
  padding:24px 26px !important;
  border:1px solid rgba(var(--av-primary-rgb),.14) !important;
  border-radius:18px !important;
  background:var(--av-surface-soft) !important;
  box-shadow:none !important;
}
.astrov-course-content .av-course-info-box p:last-child,
.astrov-course-content .course-info p:last-child { margin-bottom:0 !important; }
.astrov-course-content .highlight-text { color:var(--av-primary-dark) !important; font-weight:800 !important; text-align:left !important; }
.astrov-course-content figure figcaption { margin-top:10px; color:var(--av-muted); text-align:center; font-size:13px; }
.astrov-course-content img { max-height:720px; object-fit:contain; background:#fff; }

.av-section--related { background:var(--av-bg); }
.av-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.av-related-card { display:flex; flex-direction:column; min-height:230px; padding:22px; border:1px solid var(--av-border); border-radius:20px; background:#fff; box-shadow:var(--av-shadow-small); }
.av-related-card h3 { margin:12px 0 16px; font-family:var(--av-serif); font-size:23px; line-height:1.2; }
.av-related-card h3 a { color:var(--av-ink); text-decoration:none; }
.av-related-card__price { margin-top:auto; margin-bottom:14px; color:var(--av-primary-dark); font-size:19px; }
.av-related-all { margin:24px 0 0; }

.av-price-hero-copy { max-width:880px; }
.av-price-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.av-price-card { display:flex; flex-direction:column; justify-content:space-between; min-height:260px; padding:24px; border:1px solid var(--av-border); border-radius:22px; background:#fff; box-shadow:var(--av-shadow-small); }
.av-price-card h3 { margin:12px 0 12px; font-family:var(--av-serif); font-size:25px; line-height:1.18; }
.av-price-card h3 a { color:var(--av-ink); text-decoration:none; }
.av-price-card p { margin:0; color:var(--av-muted); font-size:14px; line-height:1.65; }
.av-price-card__footer { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-top:24px; padding-top:18px; border-top:1px solid var(--av-border); }
.av-price-card__footer strong { color:var(--av-primary-dark); font-size:22px; white-space:nowrap; }
.av-price-card__footer span { color:var(--av-muted); font-size:13px; }
.av-price-note { margin-top:30px; padding:26px; border:1px solid rgba(var(--av-primary-rgb),.14); border-radius:20px; background:#fff; }
.av-price-note p { max-width:760px; color:var(--av-muted); }

@media (max-width:1040px) {
  .av-related-grid,.av-price-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .av-header__price { display:none; }
}
@media (max-width:900px) {
  .av-header__actions { display:none; }
}
@media (max-width:680px) {
  .av-course-overview { grid-template-columns:1fr 1fr; }
  .av-course-overview__item { min-height:82px; padding:15px; }
  .av-related-grid,.av-price-grid { grid-template-columns:1fr; }
  .av-related-card,.av-price-card { min-height:0; }
  .av-price-card__footer { align-items:center; }
}

.av-course-page .av-inner-hero__media { transform:none; }
.av-course-page .av-inner-hero__media img { aspect-ratio:4/3; object-fit:cover; object-position:center; }

/* v1.8 blog/article shell */
.av-blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.av-blog-card { overflow:hidden; border:1px solid var(--av-border); border-radius:22px; background:#fff; box-shadow:var(--av-shadow-small); }
.av-blog-card__media { display:block; overflow:hidden; aspect-ratio:16/10; background:var(--av-surface-soft); }
.av-blog-card__media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.av-blog-card:hover .av-blog-card__media img { transform:scale(1.025); }
.av-blog-card__body { padding:22px; }
.av-blog-card__body time { display:block; margin-bottom:10px; color:var(--av-muted); font-size:12px; }
.av-blog-card__body h2 { margin:0 0 12px; font-size:25px; line-height:1.2; }
.av-blog-card__body h2 a { color:var(--av-ink); text-decoration:none; }
.av-blog-card__body p { color:var(--av-muted); font-size:14px; line-height:1.65; }
.navigation.pagination { margin-top:34px; }
.nav-links { display:flex; gap:8px; flex-wrap:wrap; }
.page-numbers { display:inline-flex; min-width:40px; min-height:40px; align-items:center; justify-content:center; padding:8px 12px; border:1px solid var(--av-border); border-radius:12px; background:#fff; color:var(--av-ink) !important; text-decoration:none !important; }
.page-numbers.current { background:var(--av-primary); border-color:var(--av-primary); color:#fff !important; }
.av-article-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:52px; align-items:start; }
.av-article-content { max-width:790px; font-size:17px; line-height:1.78; }
.av-article-content img { max-width:100%; height:auto; border-radius:18px; }
.av-empty-state { grid-column:1/-1; padding:32px; border:1px solid var(--av-border); border-radius:22px; background:#fff; }
@media(max-width:980px){ .av-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.av-article-layout{grid-template-columns:1fr}.av-article-layout .av-sticky-card{order:-1;max-width:none} }
@media(max-width:680px){ .av-blog-grid{grid-template-columns:1fr}.av-blog-card__body{padding:19px}.av-article-content{font-size:16px} }
.av-nav-price-link { display:none; }
@media(max-width:900px){
  .av-nav-price-link { display:block; width:min(100%,var(--av-max)); margin:10px auto 0; padding:12px 0 0; border-top:1px solid var(--av-border); color:var(--av-primary-dark) !important; font-weight:800; text-decoration:none !important; }
}


/* ==========================================================
   v1.9 Cream Editorial — 2026 visual system
   ========================================================== */
body.astrovikulova-modern {
  font-size: 17px;
  line-height: 1.72;
  text-rendering: optimizeLegibility;
}
body.astrovikulova-modern h1,
body.astrovikulova-modern h2,
body.astrovikulova-modern h3 {
  text-wrap: balance;
  letter-spacing: -.022em;
}
.av-header { border-bottom-color: rgba(74,52,64,.10) !important; backdrop-filter: blur(18px); }
.av-brand__mark { background:var(--av-primary-dark) !important; color:#fffaf2 !important; box-shadow:none !important; }
.av-button { box-shadow:none !important; }
.av-button:hover { transform:translateY(-1px); }
.av-card,.av-course-card,.av-price-card,.av-related-card,.av-path,.av-sticky-card,.av-order-card {
  box-shadow:none !important;
  border-color:rgba(74,52,64,.13) !important;
}
.av-card:hover,.av-course-card:hover,.av-price-card:hover,.av-related-card:hover {
  border-color:rgba(109,79,95,.28) !important;
  transform:translateY(-2px);
}
.av-inner-hero { border-bottom-color:rgba(74,52,64,.10); }
.av-inner-hero__media { transform:none !important; border-radius:20px !important; box-shadow:0 18px 50px rgba(67,52,44,.08) !important; }
.av-inner-hero__media img { aspect-ratio: 4 / 3; object-position:center; }
.av-course-page .av-inner-hero__copy { max-width:760px; }
.av-course-page .av-inner-hero__lead { max-width:690px; font-size:20px; color:#665e58; }
.av-course-overview { background:transparent !important; border:1px solid var(--av-border); border-radius:18px !important; overflow:hidden; }
.av-course-overview__item { background:rgba(255,253,248,.66); }
.av-course-overview__item + .av-course-overview__item { border-left:1px solid var(--av-border); }
.av-course-editorial { padding:0 0 70px; }
.av-course-editorial__grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); gap:34px; align-items:start; }
.av-course-editorial__intro { padding:34px 0; }
.av-course-editorial__intro h2 { margin:0 0 14px; font-size:clamp(30px,3.3vw,44px); }
.av-course-editorial__intro p { max-width:720px; margin:0; font-size:18px; color:var(--av-muted); }
.av-course-editorial__panel { padding:28px; border:1px solid var(--av-border); border-radius:18px; background:var(--av-surface); }
.av-course-editorial__panel h3 { margin:0 0 15px; font-family:var(--av-sans); font-size:14px; letter-spacing:.08em; text-transform:uppercase; color:var(--av-primary); }
.av-course-editorial__panel ul { margin:0; padding:0; list-style:none; }
.av-course-editorial__panel li { position:relative; padding:9px 0 9px 22px; color:#514a45; }
.av-course-editorial__panel li::before { content:""; position:absolute; left:0; top:18px; width:7px; height:7px; border-radius:50%; background:var(--av-gold); }
.av-course-editorial__panel + .av-course-editorial__panel { margin-top:14px; }
.av-course-page .av-prose { font-size:17px; line-height:1.76; }
.av-course-page .av-prose h2 { padding-top:12px; border-top:1px solid rgba(74,52,64,.10); }
.av-course-page .av-prose h2:first-child { border-top:0; padding-top:0; }
.av-course-page .av-prose h3 { font-family:var(--av-sans); font-size:18px; font-weight:760; letter-spacing:-.01em; }
.av-course-page .av-prose img { display:block !important; float:none !important; width:auto !important; max-width:min(100%,760px) !important; max-height:560px; margin:28px auto !important; object-fit:contain; border-radius:16px; }
.av-course-page .av-prose figure { max-width:760px !important; margin:32px auto !important; }
.av-native-accordion { border-radius:14px !important; background:var(--av-surface) !important; }
.av-native-accordion > summary { padding:18px 20px !important; color:var(--av-primary-dark) !important; }
.av-sticky-card { border-radius:18px; background:#fffdf9; }
.av-sticky-card__price { font-family:var(--av-serif); font-size:30px !important; font-weight:600 !important; letter-spacing:-.02em; }
.av-price-page .av-price-card { background:#fffdf8; }
.av-price-card__footer strong { color:var(--av-primary-dark); }
.av-section--soft { background:#eee5d8 !important; }
.av-section--white { background:#fffdf8 !important; }
.av-footer { background:#2f282b !important; color:#eee7df !important; }
.av-footer a { color:#f8f0e6 !important; }

/* Visual presets selected from AstroVikulova → Визуал */
body.av-preset-warm-neutral {
  --av-bg:#f3f0eb; --av-surface:#fff; --av-surface-soft:#ebe7df; --av-ink:#292827; --av-muted:#706b66;
  --av-primary:#645b53; --av-primary-rgb:100,91,83; --av-primary-dark:#433d38; --av-primary-soft:#e8e2da; --av-gold:#96734e;
}
body.av-preset-violet-classic {
  --av-bg:#f8f6fb; --av-surface:#fff; --av-surface-soft:#f1edf8; --av-ink:#201b2b; --av-muted:#6f687d;
  --av-primary:#694cb3; --av-primary-rgb:105,76,179; --av-primary-dark:#4f378e; --av-primary-soft:#e9e0fb; --av-gold:#b69458;
}
body.av-density-compact .av-section { padding-top:68px; padding-bottom:68px; }
body.av-density-compact .av-prose { line-height:1.62; }

@media (max-width:900px){
  .av-course-editorial__grid{grid-template-columns:1fr}.av-course-editorial__intro{padding-bottom:10px}
  .av-course-overview__item + .av-course-overview__item{border-left:0;border-top:1px solid var(--av-border)}
}

/* ==========================================================
   v2.0 Professional Editorial
   Cream stays, decorative boutique cues go away.
   ========================================================== */
:root {
  --av-bg:#f3efe8;
  --av-surface:#fbfaf7;
  --av-surface-soft:#ebe5dc;
  --av-ink:#252321;
  --av-muted:#6e6963;
  --av-primary:#4f3d43;
  --av-primary-rgb:79,61,67;
  --av-primary-dark:#352a2e;
  --av-primary-soft:#e8e0e2;
  --av-gold:#8f775b;
  --av-border:rgba(37,35,33,.14);
  --av-shadow:none;
  --av-shadow-small:none;
  --av-radius:10px;
  --av-radius-small:8px;
  --av-max:1200px;
}
body.astrovikulova-modern { background:var(--av-bg); color:var(--av-ink); }
body.astrovikulova-modern main { overflow:clip; }
.av-section { padding:88px 0; }
.av-section--white { background:var(--av-surface) !important; }
.av-section--soft { background:#e9e3da !important; }
.av-section__head--pro { max-width:760px; margin-bottom:36px; }
.av-section__head--pro .av-section__title { font-size:clamp(32px,3.7vw,48px); }
.av-section__intro { font-size:18px; line-height:1.65; }
.av-kicker { margin:0 0 18px; color:var(--av-muted); font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.av-eyebrow { letter-spacing:.08em; font-weight:700; }
.av-eyebrow::before { display:none; }

/* Header becomes editorial, not app-like. */
.av-header { background:rgba(247,244,238,.96) !important; border-bottom:1px solid rgba(37,35,33,.10) !important; backdrop-filter:blur(12px); }
.av-header__inner { min-height:74px; }
.av-brand__mark { display:none !important; }
.av-brand { gap:0; }
.av-brand__name { font-size:22px; font-weight:500; }
.av-brand__role { margin-top:5px; letter-spacing:.06em; text-transform:none; font-size:11px; }
.av-nav a { font-weight:600; }
.av-header__cta { border-radius:6px !important; }

/* Buttons and links */
body.astrovikulova-modern .gp-button,.av-button { min-height:48px; padding:12px 20px; border-radius:6px; box-shadow:none !important; font-weight:650; }
body.astrovikulova-modern .gp-button:hover,.av-button:hover { transform:none; box-shadow:none; }
.av-link-arrow { display:inline-flex; align-items:center; gap:7px; color:var(--av-primary-dark) !important; font-weight:650; text-decoration:none !important; }
.av-link-arrow::after { content:'→'; transition:transform .15s ease; }
.av-link-arrow:hover::after { transform:translateX(3px); }
.av-section-link { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:28px 0 0; }

/* Hero: plain editorial composition. */
.av-hero--pro { padding:76px 0 84px; background:var(--av-bg) !important; border-bottom:1px solid rgba(37,35,33,.08); }
.av-hero--pro::after,.av-hero__portrait--pro::before { display:none !important; }
.av-hero--pro .av-hero__grid { grid-template-columns:minmax(0,1fr) minmax(340px,.66fr); gap:86px; }
.av-hero--pro .av-title { max-width:680px; font-size:clamp(44px,5.8vw,72px); }
.av-hero--pro .av-hero__lead { max-width:680px; font-size:19px; line-height:1.7; }
.av-hero__specialties { margin:22px 0 0; color:var(--av-muted); font-size:14px; }
.av-hero--pro .av-hero__actions { align-items:center; gap:22px; }
.av-hero__portrait--pro img { width:100%; max-height:620px; object-fit:cover; object-position:center top; border-radius:8px !important; box-shadow:none !important; }
.av-hero__portrait-note,.av-trust { display:none !important; }

/* Two directions: no cards, no decorative numbering. */
.av-intro-directions { border-bottom:1px solid rgba(37,35,33,.08); }
.av-direction-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--av-border); border-bottom:1px solid var(--av-border); }
.av-direction { padding:34px 44px 36px 0; }
.av-direction + .av-direction { padding-left:44px; border-left:1px solid var(--av-border); }
.av-direction h3 { margin:0 0 12px; font-size:28px; }
.av-direction p { max-width:520px; margin:0 0 22px; color:var(--av-muted); }

/* Consultation listing: typography first, no legacy images or tags. */
.av-consult-list { border-top:1px solid var(--av-border); }
.av-consult-row { display:grid; grid-template-columns:minmax(0,1fr) 170px; gap:36px; align-items:center; padding:28px 0; border-bottom:1px solid var(--av-border); }
.av-consult-row__main h2,.av-consult-row__main h3 { margin:0 0 8px; font-size:clamp(24px,2.4vw,31px); }
.av-consult-row__main h2 a,.av-consult-row__main h3 a { color:var(--av-ink) !important; text-decoration:none !important; }
.av-consult-row__main p { max-width:760px; margin:0; color:var(--av-muted); line-height:1.65; }
.av-consult-row__action { display:flex; flex-direction:column; align-items:flex-end; gap:10px; text-align:right; }
.av-consult-row__price { color:var(--av-ink); font-family:var(--av-serif); font-size:22px; }
.av-help-note { max-width:760px; margin:56px 0 0; padding-top:28px; border-top:1px solid var(--av-border); }
.av-help-note h2 { margin:0 0 8px; font-size:28px; }
.av-help-note p { margin:0; color:var(--av-muted); }
.av-inner-hero--plain { padding:70px 0 60px; background:var(--av-bg) !important; border-bottom:1px solid rgba(37,35,33,.08); }
.av-inner-hero--plain::before,.av-inner-hero--plain::after { display:none !important; }
.av-narrow-head { max-width:900px; margin-inline:auto; }
.av-narrow-head h1 { margin:0 0 18px; font-size:clamp(42px,5vw,64px); }
.av-narrow-head .av-inner-hero__lead { max-width:760px; font-size:20px; line-height:1.65; }
.av-hero-price { display:inline-flex; align-items:center; min-height:48px; color:var(--av-ink); font-family:var(--av-serif); font-size:25px; }

/* Consultation detail */
.av-consult-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:72px; align-items:start; }
.av-content-section { padding:0 0 38px; margin:0 0 38px; border-bottom:1px solid var(--av-border); }
.av-content-section:last-of-type { border-bottom:0; }
.av-content-section h2 { margin:0 0 18px; font-size:31px; }
.av-content-section p { max-width:760px; }
.av-clean-list { margin:0; padding:0; list-style:none; }
.av-clean-list li { position:relative; padding:9px 0 9px 22px; }
.av-clean-list li::before { content:''; position:absolute; left:0; top:20px; width:7px; height:1px; background:var(--av-primary); }
.av-editor-note { max-width:760px; margin:4px 0 30px; padding:18px 20px; border-left:2px solid var(--av-gold); background:transparent; color:var(--av-muted); font-size:15px; }
.av-sticky-card--pro { padding:26px; border:1px solid var(--av-border); border-radius:8px; background:var(--av-surface); box-shadow:none; }
.av-sticky-card--pro h2 { margin-top:0; font-size:26px; }
.av-sticky-card--pro .av-button { width:100%; }
.av-sticky-links { display:flex; gap:16px; flex-wrap:wrap; margin-top:18px; padding-top:16px; border-top:1px solid var(--av-border); }
.av-sticky-links a { font-size:14px; text-decoration:none !important; }

/* Course cards: quieter, less "marketplace". */
.av-card-grid--courses { gap:26px 22px; }
.av-card { border-radius:8px !important; background:var(--av-surface); box-shadow:none !important; }
.av-card:hover { transform:none !important; box-shadow:none !important; border-color:rgba(37,35,33,.24) !important; }
.av-card__media { aspect-ratio:3/2; background:#e7e2da; }
.av-card__media img { transition:none; }
.av-card:hover .av-card__media img { transform:none; }
.av-card__body { padding:22px 2px 4px; }
.av-card { border:0 !important; background:transparent; overflow:visible; }
.av-course-card .av-card__media,.av-post-card .av-card__media { border-radius:8px; border:1px solid rgba(37,35,33,.08); }
.av-course-card__category { margin:0 0 8px !important; color:var(--av-muted) !important; font-size:12px; font-weight:650; letter-spacing:.06em; text-transform:uppercase; }
.av-card h3 { font-size:26px; }
.av-card h3 a { color:var(--av-ink) !important; text-decoration:none !important; }
.av-card p { color:var(--av-muted); }
.av-course-card__footer { border-top:1px solid var(--av-border); padding-top:14px; }
.av-course-card__price { font-family:var(--av-serif); font-size:19px; font-weight:500; }
.av-course-toolbar { gap:6px; margin-bottom:34px; }
.av-filter { border-radius:5px; padding:8px 12px; background:transparent; font-weight:600; }
.av-filter:hover,.av-filter.is-active { background:var(--ink,#252321); background:var(--av-ink); }

/* Course pages: remove duplicate promo feel. */
.av-course-editorial__intro { padding:18px 0; }
.av-course-editorial__intro p { color:var(--av-muted); }
.av-course-editorial__panel { border-radius:8px; background:transparent; }
.av-course-overview { border-radius:8px !important; }
.av-native-accordion { border-radius:7px !important; }
.av-related-card { border-radius:8px !important; }
.av-order-card { border-radius:8px !important; }

/* CTA: calm block, no dark marketing billboard. */
.av-cta--pro { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:50px; align-items:center; padding:40px 0; border-top:1px solid var(--av-border); border-bottom:1px solid var(--av-border); background:transparent !important; color:var(--av-ink) !important; border-radius:0 !important; }
.av-cta--pro h2 { margin:0 0 10px; color:var(--av-ink) !important; font-size:34px; }
.av-cta--pro p { max-width:720px; margin:0; color:var(--av-muted) !important; font-size:17px; }
.av-cta__actions { display:flex; align-items:center; gap:20px; }

.av-footer { background:#2c2926 !important; }
.av-footer__socials a { border-radius:4px; }

@media(max-width:900px){
  .av-hero--pro .av-hero__grid,.av-consult-detail-grid { grid-template-columns:1fr; gap:38px; }
  .av-hero__portrait--pro { max-width:640px; }
  .av-direction-grid { grid-template-columns:1fr; }
  .av-direction,.av-direction + .av-direction { padding:28px 0; border-left:0; }
  .av-direction + .av-direction { border-top:1px solid var(--av-border); }
  .av-consult-row { grid-template-columns:1fr; gap:14px; }
  .av-consult-row__action { align-items:flex-start; text-align:left; flex-direction:row; justify-content:space-between; }
  .av-cta--pro { grid-template-columns:1fr; gap:24px; }
}
@media(max-width:680px){
  .av-section { padding:64px 0; }
  .av-hero--pro { padding:52px 0 60px; }
  .av-hero--pro .av-title { font-size:44px; }
  .av-consult-row { padding:24px 0; }
  .av-narrow-head h1 { font-size:42px; }
  .av-cta__actions { align-items:flex-start; flex-direction:column; }
}

/* ==========================================================
   v2.1 Ivory Professional — visual refinement + course QA
   ========================================================== */
:root {
  --av-bg:#f7f5f1;
  --av-surface:#fffefa;
  --av-surface-soft:#efebe5;
  --av-ink:#232220;
  --av-muted:#6a6661;
  --av-primary:#5a454d;
  --av-primary-rgb:90,69,77;
  --av-primary-dark:#3d3035;
  --av-primary-soft:#eee6e8;
  --av-gold:#958168;
  --av-border:rgba(35,34,32,.12);
  --av-max:1200px;
  --av-serif: ui-serif, "Iowan Old Style", "Sitka Text", Georgia, serif;
}
body.astrovikulova-modern { background:var(--av-bg); }
.av-header { background:rgba(252,251,248,.97) !important; }
.av-section--soft { background:#efede8 !important; }
.av-section--white { background:#fffefa !important; }
.av-footer { background:#272522 !important; }
.av-hero--pro { background:#f8f6f2 !important; }
.av-inner-hero--plain,.av-inner-hero { background:#f8f6f2; }
.av-direction-grid,.av-consult-list,.av-course-overview { border-color:rgba(35,34,32,.11); }
.av-button { background:#554149; }
.av-button:hover { background:#3e3136; }
.av-link-arrow,.av-text-link { color:#4d3b42 !important; }
.av-filter.is-active,.av-filter:hover { background:#262421 !important; border-color:#262421 !important; }
.av-course-card__category,.av-kicker,.av-eyebrow { color:#756c66 !important; }
.av-course-card__price,.av-consult-row__price,.av-sticky-card__price { color:#3f3437 !important; }
.av-inner-hero__media img,.av-hero__portrait--pro img { border:1px solid rgba(35,34,32,.08); }

/* More restrained image treatment. Images should support content, not dominate it. */
.av-card__media { background:#ece8e2; }
.av-course-card .av-card__media { aspect-ratio:7/4; }
.av-course-card .av-card__media img { object-fit:cover; object-position:center; }
.av-inner-hero__media { max-width:520px; margin-left:auto; }
.av-course-page .av-inner-hero__media img { aspect-ratio:7/5; object-fit:cover; }

/* Canonical course logistics. */
.av-course-logistics-section { padding-top:68px; padding-bottom:68px; background:#f7f5f1; border-top:1px solid rgba(35,34,32,.08); }
.av-logistics-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; border-top:1px solid var(--av-border); }
.av-logistics-item { display:grid; grid-template-columns:180px minmax(0,1fr); gap:20px; padding:19px 0; border-bottom:1px solid var(--av-border); }
.av-logistics-item:nth-child(odd) { padding-right:28px; }
.av-logistics-item:nth-child(even) { padding-left:28px; border-left:1px solid var(--av-border); }
.av-logistics-item dt { margin:0; color:var(--av-muted); font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.av-logistics-item dd { margin:0; color:var(--av-ink); }

/* Legacy programme copy must visually read as one editorial document. */
.av-course-page .av-prose { max-width:790px; color:#302e2b; }
.av-course-page .av-prose > *:first-child { margin-top:0; }
.av-course-page .av-prose p,.av-course-page .av-prose li { font-size:17px; line-height:1.72; }
.av-course-page .av-prose h2 { margin-top:48px; padding-top:0; border-top:0; font-size:32px; }
.av-course-page .av-prose h3,.av-course-page .av-prose .av-lesson-heading { margin-top:28px; font-family:var(--av-sans); font-size:18px; font-weight:700; color:#302d2a; }
.av-course-page .av-prose ul,.av-course-page .av-prose ol { padding-left:1.35em; }
.av-course-page .av-prose li::marker { color:#8a7967; }
.av-course-page .av-prose strong { color:#2c2927; }
.av-course-editorial__panel { border-color:rgba(35,34,32,.11); }
.av-course-editorial__panel li::before { width:5px; height:5px; top:19px; background:#8d7b68; }

/* Prevent one course from becoming visually "louder" because of old blocks. */
.av-course-page .wp-block-group,.av-course-page .wp-block-columns,.av-course-page .stk-block,.av-course-page [class*="stackable"] { max-width:100%; }
.av-course-page .av-course-info-box { padding:20px 22px !important; border:1px solid var(--av-border) !important; border-radius:7px !important; background:#fbfaf7 !important; color:var(--av-ink) !important; }

@media(max-width:900px){
  .av-inner-hero__media{max-width:none;margin-left:0}
  .av-logistics-grid{grid-template-columns:1fr}.av-logistics-item,.av-logistics-item:nth-child(odd),.av-logistics-item:nth-child(even){padding:17px 0;border-left:0}.av-logistics-item{grid-template-columns:150px minmax(0,1fr)}
}
@media(max-width:600px){
  .av-logistics-item{grid-template-columns:1fr;gap:5px}.av-course-page .av-prose p,.av-course-page .av-prose li{font-size:16px}
}


/* ==========================================================
   v2.2 — immutable course copy + robust native accordions
   ========================================================== */
.av-native-accordion { display:block !important; height:auto !important; max-height:none !important; overflow:visible !important; }
.av-native-accordion > .av-accordion-summary { display:flex !important; align-items:center; justify-content:space-between; width:100%; }
.av-native-accordion__body { display:block !important; visibility:visible !important; height:auto !important; max-height:none !important; overflow:visible !important; padding:0 20px 20px; }
.av-native-accordion:not([open]) > .av-native-accordion__body { display:none !important; }
.av-native-accordion[open] > .av-native-accordion__body { display:block !important; }
.av-native-accordion__body > :first-child { margin-top:4px; }
.av-native-accordion__body > :last-child { margin-bottom:0; }

@media (max-width:600px) {
  .av-consultations-page .av-narrow-head h1 {
    font-size:clamp(28px,9.2vw,36px) !important;
    line-height:1.08;
    letter-spacing:-.035em;
    max-width:100%;
  }
  .av-consultations-page .av-narrow-head { max-width:100%; min-width:0; }
}


/* ==========================================================
   v2.3 Usability pass
   - explicit high-contrast consultation/course choices
   - predictable mobile typography
   ========================================================== */
.av-choice-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.av-choice-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 20px;
  border-radius:6px;
  border:1px solid transparent;
  font:650 15px/1.2 var(--av-sans);
  text-decoration:none !important;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.av-choice-button--primary,
body.astrovikulova-modern .av-choice-button--primary{
  background:#554149 !important;
  border-color:#554149 !important;
  color:#fff !important;
}
.av-choice-button--primary:hover,
body.astrovikulova-modern .av-choice-button--primary:hover{
  background:#3e3136 !important;
  border-color:#3e3136 !important;
  color:#fff !important;
}
.av-choice-button--secondary,
body.astrovikulova-modern .av-choice-button--secondary{
  background:#fffdf8 !important;
  border-color:rgba(85,65,73,.34) !important;
  color:#49383f !important;
}
.av-choice-button--secondary:hover,
body.astrovikulova-modern .av-choice-button--secondary:hover{
  background:#f3ece4 !important;
  border-color:#6d4f5f !important;
  color:#342a2e !important;
}
.av-direction .av-choice-button{margin-top:2px;}
.av-hero--pro .av-hero__actions{gap:12px;}
@media(max-width:600px){
  .av-choice-actions,.av-hero--pro .av-hero__actions{align-items:stretch;flex-direction:column;}
  .av-choice-button,.av-hero--pro .av-choice-button{width:100%;}
}

/* =========================================================
   v2.4 — "Гороскоп за три шага": responsive video classroom
   ========================================================= */
.av-three-steps-page,
.av-three-steps-page * { box-sizing:border-box; }
.av-three-steps-page { overflow-x:hidden; }
.av-three-steps-hero { padding-bottom:54px; }
.av-three-steps-hero__media img { aspect-ratio:10/7; object-fit:cover; }

.av-three-steps-about { padding-top:54px; }
.av-three-steps-about__grid {
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.55fr);
  gap:clamp(34px,6vw,86px);
  align-items:start;
}
.av-three-steps-about__aside { position:sticky; top:105px; }
.av-three-steps-about__aside h2 { margin:7px 0 14px; font-size:clamp(30px,3.6vw,48px); line-height:1.04; }
.av-three-steps-about__aside p { margin:0; color:var(--av-muted); line-height:1.7; }
.av-three-steps-intro { min-width:0; }
.av-three-steps-intro > p:first-child { margin-top:0; }
.av-three-steps-intro p { font-size:17px; line-height:1.78; }
.av-three-steps-intro span[style] { font:inherit !important; color:inherit !important; }

.av-three-steps-lessons {
  background:linear-gradient(180deg, var(--av-bg-soft, #f4efe7) 0%, #fbf8f3 100%);
  border-top:1px solid var(--av-border);
  border-bottom:1px solid var(--av-border);
}
.av-video-lessons { display:grid; gap:28px; margin-top:34px; }
.av-video-lesson {
  width:100%;
  min-width:0;
  padding:clamp(18px,3vw,32px);
  background:rgba(255,255,255,.74);
  border:1px solid var(--av-border);
  border-radius:22px;
  box-shadow:0 18px 50px rgba(50,38,29,.055);
}
.av-video-lesson__head {
  display:flex;
  align-items:baseline;
  gap:18px;
  margin-bottom:18px;
}
.av-video-lesson__number {
  flex:0 0 auto;
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  color:var(--av-primary-dark);
}
.av-video-lesson__head h3 {
  margin:0;
  color:var(--av-ink);
  font-size:clamp(24px,3vw,36px);
  line-height:1.12;
}
.av-video-frame {
  position:relative;
  width:100%;
  max-width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:16px;
  background:#1d1b1a;
}
.av-video-frame iframe {
  position:absolute;
  inset:0;
  display:block;
  width:100% !important;
  max-width:100% !important;
  height:100% !important;
  min-width:0 !important;
  border:0 !important;
  margin:0 !important;
}
.av-video-lesson__extra { margin-top:18px; }
.av-video-lesson__actions {
  display:flex;
  align-items:center;
  margin-top:18px;
  min-width:0;
}
.av-video-lesson__actions .av-button {
  max-width:100%;
  white-space:normal;
  text-align:center;
  overflow-wrap:anywhere;
}
.av-button--quiet {
  background:transparent;
  color:var(--av-primary-dark);
  border:1px solid rgba(78,54,49,.28);
  box-shadow:none;
}
.av-button--quiet:hover { background:#fff; color:var(--av-ink); }
.av-three-steps-next__grid {
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);
  gap:34px;
  align-items:center;
}
.av-three-steps-next__actions { display:flex; flex-direction:column; align-items:flex-start; gap:13px; }

@media (max-width: 760px) {
  .av-three-steps-hero { padding-bottom:32px; }
  .av-three-steps-about { padding-top:38px; }
  .av-three-steps-about__grid,
  .av-three-steps-next__grid { grid-template-columns:1fr; gap:26px; }
  .av-three-steps-about__aside { position:static; }
  .av-three-steps-intro,
  .av-three-steps-intro p,
  .av-three-steps-intro div,
  .av-three-steps-intro span { max-width:100% !important; min-width:0 !important; }
  .av-video-lessons { gap:20px; margin-top:24px; }
  .av-video-lesson { padding:16px; border-radius:17px; overflow:hidden; }
  .av-video-lesson__head { gap:12px; margin-bottom:14px; }
  .av-video-lesson__head h3 { font-size:24px; }
  .av-video-frame { border-radius:12px; }
  .av-video-lesson__actions { width:100%; }
  .av-video-lesson__actions .av-button { width:100%; justify-content:center; }
}

@media (max-width: 420px) {
  .av-three-steps-page .av-shell { width:min(100% - 28px, var(--av-shell)); }
  .av-video-lesson { padding:13px; }
  .av-video-lesson__head h3 { font-size:22px; }
  .av-three-steps-intro p { font-size:16px; line-height:1.72; }
}


/* ==========================================================
   v2.6 — contrast + typography stability
   ========================================================== */
:root{
  --av-sans: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --av-serif: Georgia,"Times New Roman",serif;
}

/* Header/navigation should read as interface, not decorative display type. */
.av-brand__name{
  font-family:var(--av-sans) !important;
  font-size:19px !important;
  font-weight:650 !important;
  letter-spacing:-.01em !important;
  line-height:1.08 !important;
}
.av-brand__role{
  font-family:var(--av-sans) !important;
  font-size:11px !important;
  font-weight:550 !important;
  letter-spacing:.055em !important;
  text-transform:none !important;
}
.av-nav a,.av-header__price,.av-header__cta{
  font-family:var(--av-sans) !important;
  font-size:14px !important;
  font-weight:600 !important;
  letter-spacing:.005em !important;
}

/* Generic .av-button declared later in older layers used to repaint ghost buttons dark. */
body.astrovikulova-modern .av-button.av-button--ghost,
body.astrovikulova-modern a.av-button.av-button--ghost{
  background:#fffefa !important;
  color:#332d2f !important;
  border-color:rgba(51,45,47,.24) !important;
  box-shadow:none !important;
}
body.astrovikulova-modern .av-button.av-button--ghost:hover,
body.astrovikulova-modern a.av-button.av-button--ghost:hover{
  background:#eee8e2 !important;
  color:#2b2527 !important;
  border-color:rgba(51,45,47,.38) !important;
}
.av-catalog-hero .av-button--ghost{
  background:#fffefa !important;
  color:#332d2f !important;
}

/* CTA blocks with a genuinely dark background keep a light secondary button. */
body.astrovikulova-modern .av-cta .av-button.av-button--ghost{
  background:transparent !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.45) !important;
}
body.astrovikulova-modern .av-cta .av-button.av-button--ghost:hover{
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
}

@media(max-width:980px){
  .av-nav a{font-size:15px !important;}
}


/* ==========================================================
   v2.6.3 — PageSpeed/UI safe fixes
   ========================================================== */

/* WCAG contrast: category labels and secondary copy on the soft course section
   must stay above the 4.5:1 threshold for normal text. */
.av-course-card__category,
.av-kicker,
.av-eyebrow{
  color:#665f5a !important;
}
.av-section--soft .av-section__intro,
.av-section--soft .av-card p{
  color:#5f5954 !important;
}

/* The catalog CTA uses a genuinely dark background. Later generic editorial
   rules used to repaint the eyebrow dark via !important. Keep all CTA copy
   explicitly light, including the uppercase eyebrow. */
body.astrovikulova-modern .av-cta:not(.av-cta--pro) .av-eyebrow{
  color:#f3eaf2 !important;
}
body.astrovikulova-modern .av-cta:not(.av-cta--pro) h2{
  color:#ffffff !important;
}
body.astrovikulova-modern .av-cta:not(.av-cta--pro) p{
  color:#f0e9ed !important;
}

/* Equal CTA baseline in the two homepage direction columns. */
.av-direction{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.av-direction .av-choice-button{
  margin-top:auto !important;
}

@media(max-width:900px){
  .av-direction .av-choice-button{
    margin-top:0 !important;
  }
}


/* ==========================================================
   v2.6.4 — native responsive images + conservative CLS guard
   ========================================================== */

/* Course covers are authored in 16:9. Reserve the exact card geometry before
   the request completes and let srcset choose a smaller derivative on mobile. */
.av-course-card .av-card__media{
  aspect-ratio:16 / 9;
}
.av-course-card .av-card__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

/* Prevent inline-image baseline gaps and keep the hero's intrinsic dimensions
   authoritative for layout calculations before the LCP image has arrived. */
.av-hero__portrait--pro img{
  display:block;
  height:auto;
}


/* v2.6.9 — WayForPay: mandatory UAH payment disclosure beside every displayed price */
.av-price-with-payment-note{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  min-width:0;
}
.av-payment-currency-note{
  display:block;
  max-width:300px;
  color:var(--av-muted);
  font-size:10.5px;
  font-weight:500;
  line-height:1.28;
  letter-spacing:0;
  text-transform:none;
}
.av-course-card__footer .av-price-with-payment-note,
.av-price-card__footer .av-price-with-payment-note,
.av-consult-row__action .av-price-with-payment-note{
  flex:1 1 auto;
}
.av-related-card .av-price-with-payment-note{
  margin-top:auto;
  margin-bottom:14px;
}
.av-related-card .av-related-card__price{
  margin:0;
}
.av-sticky-card .av-price-with-payment-note{
  margin:18px 0;
}
.av-sticky-card .av-sticky-card__price{
  margin:0 !important;
}
.av-hero__actions .av-price-with-payment-note{
  max-width:290px;
}
@media (max-width:760px){
  .av-payment-currency-note{max-width:100%;font-size:10px;}
  .av-price-card__footer{align-items:flex-start;}
}


/* v2.7.0 — compact RU / UA switcher for the homepage.
 * The built-in TranslatePress floating switcher is temporarily hidden while
 * only the homepage has a curated Ukrainian version. Remove this rule when
 * internal pages are translated too. */
#trp-floater-ls { display: none !important; }

.av-lang-switch {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px;
  border: 1px solid var(--av-border);
  border-radius: 999px;
  background: rgba(255,255,255,.58);
  line-height: 1;
  white-space: nowrap;
}
.av-lang-switch a,
.av-lang-switch span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 30px;
  padding: 6px 9px;
  border-radius: 999px;
  color: var(--av-muted) !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-decoration: none !important;
}
.av-lang-switch .is-active {
  background: var(--av-primary);
  color: #fff !important;
}
.av-lang-switch a:hover {
  background: var(--av-primary-soft);
  color: var(--av-primary-dark) !important;
}

@media (max-width: 980px) {
  .av-lang-switch { margin-left: auto; }
  .av-menu-toggle { margin-left: 0; }
}
@media (max-width: 760px) {
  .av-lang-switch a,
  .av-lang-switch span { min-width: 30px; min-height: 28px; padding: 5px 7px; font-size: 11px; }
}


/* ==========================================================
   v2.7.3 — language copy + legal quick access
   ========================================================== */
.av-header__price-menu {
  position: relative;
  display: flex;
  align-items: center;
}
.av-header__legal-flyout {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  z-index: 40;
  min-width: 190px;
  padding: 11px 14px;
  border: 1px solid var(--av-border);
  border-radius: 10px;
  background: #fffefa;
  box-shadow: var(--av-shadow-small);
  color: var(--av-ink) !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.3;
  text-decoration: none !important;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}
.av-header__price-menu:hover .av-header__legal-flyout,
.av-header__price-menu:focus-within .av-header__legal-flyout {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.av-nav-legal-link { display: none; }
#av-legal { scroll-margin-top: 110px; }

@media (max-width: 900px) {
  .av-nav-legal-link {
    display: block;
    width: min(100%, var(--av-max));
    margin: 8px auto 0;
    padding: 12px 0 0;
    border-top: 1px solid var(--av-border);
    color: var(--av-primary-dark) !important;
    font-weight: 800 !important;
    text-decoration: none !important;
  }
}
