/*
Theme Name: Neve Gamayun
Template: neve
Description: Дочерняя тема ложи «Гамаюн» — золото-фиолетовая палитра, типографика и блоки главной.
Version: 1.4.21
Author: Гамаюн №7
Text Domain: neve-gamayun
*/

:root {
  --gamayun-purple-dark: #3d2a4f;
  --gamayun-purple-primary: #6d4079;
  --gamayun-purple-light: #9b6fa8;
  --gamayun-gold: #c9a84c;
  --gamayun-cream: #fdf8f0;
  --gamayun-text-primary: #2d1b36;
  --gamayun-text-secondary: #6b5a78;
  --gamayun-border: #e8dce8;
  --nv-primary-accent: #87428e;
  --nv-secondary-accent: var(--gamayun-purple-primary);
  --gamayun-text: var(--gamayun-text-primary);
  --gamayun-muted: var(--gamayun-text-secondary);
  --gamayun-bg: var(--gamayun-cream);
  --gamayun-surface: #faf6fc;
  --gamayun-font-serif: "Source Serif 4", "Noto Serif", Georgia, serif;
  --gamayun-font-sans: "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;
  --gamayun-measure: 42rem;
  --gamayun-measure-wide: 72rem;
  --gamayun-spacing-xs: 0.5rem;
  --gamayun-spacing-sm: 1rem;
  --gamayun-spacing-md: 2rem;
  --gamayun-spacing-lg: 4rem;
  --gamayun-spacing-xl: 6rem;
  --nv-site-bg: var(--gamayun-cream);
}

body {
  --primarybtnbg: var(--nv-primary-accent);
  --primarybtnhoverbg: var(--gamayun-purple-dark);
  background-color: var(--gamayun-cream);
  font-family: var(--gamayun-font-sans);
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--gamayun-text-primary);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--gamayun-font-serif);
  color: var(--gamayun-purple-primary);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.02em;
}

h1 {
  font-size: clamp(2rem, 2.4vw + 1.25rem, 2.5rem);
}

.nv-content-wrap.entry-content {
  font-size: 1.0625rem;
  line-height: 1.7;
}

.nv-content-wrap.entry-content p {
  margin-top: 0;
  margin-bottom: 1rem;
}

.nv-content-wrap.entry-content a:not(.wp-block-button__link) {
  color: var(--nv-primary-accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
}

.nv-content-wrap.entry-content a:not(.wp-block-button__link):hover {
  color: var(--gamayun-gold);
}

/* Primary block buttons — entry-content link color must not override label */
.nv-content-wrap.entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  color: var(--gamayun-cream) !important;
  background-color: var(--nv-primary-accent) !important;
}

.nv-content-wrap.entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.nv-content-wrap.entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus-visible {
  color: var(--gamayun-cream) !important;
  background-color: var(--gamayun-purple-dark) !important;
}

/* Footer */
footer .footer-bottom,
footer .footer--row.footer-bottom,
footer #cb-row--footer-desktop-bottom,
footer #cb-row--footer-mobile-bottom,
footer .footer-bottom-inner,
footer .footer-bottom .row,
footer .footer-bottom .row--wrapper,
footer .footer-bottom .hfg-grid,
footer .footer-bottom .component-wrap,
footer .footer-bottom .builder-item,
footer .footer-bottom .item--inner,
footer .footer-bottom .builder-item--html,
footer .footer-bottom .builder-item--html *,
footer .footer-bottom .hfg-slot,
footer .footer-bottom .hfg-slot.left,
footer .footer-bottom .builder-item.cr,
footer .footer-bottom .builder-item.cr .item--inner,
footer .footer-bottom .builder-item.cr .component-wrap,
footer .footer-bottom .builder-item.cr .component-wrap div {
  text-align: center !important;
  background-color: var(--gamayun-purple-dark) !important;
  background: var(--gamayun-purple-dark) !important;
  color: #ffffff !important;
  justify-content: center !important;
  align-items: center !important;
}

footer .footer-bottom *,
footer .footer-bottom p,
footer .footer-bottom div,
footer .footer-bottom span,
footer .footer-bottom a {
  text-align: center !important;
  color: #ffffff !important;
}

footer .footer-bottom {
  --bgcolor: var(--gamayun-purple-dark) !important;
  --color: #ffffff !important;
  --rowbcolor: var(--gamayun-purple-dark) !important;
}

@media (min-width: 961px) {
  footer #cb-row--footer-mobile-bottom,
  footer .footer-bottom[data-show-on="mobile"],
  footer .footer-bottom.hide-on-desktop {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
  }
}

@media (max-width: 960px) {
  footer #cb-row--footer-desktop-bottom,
  footer .footer-bottom[data-show-on="desktop"],
  footer .footer-bottom.hide-on-mobile,
  footer .footer-bottom.hide-on-tablet {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
  }
}

.header-main {
  background-color: var(--gamayun-purple-primary) !important;
}

.header-top,
.header-top-inner,
.header-bottom,
.header-bottom-inner,
.wrapper,
.neve-main,
.nv-page-title-wrap,
.global-styled {
  background-color: var(--gamayun-cream) !important;
}

.header-top,
.header-bottom {
  --bgcolor: var(--gamayun-cream) !important;
  --rowbcolor: var(--gamayun-border) !important;
}

.header-menu-sidebar-bg {
  background-color: var(--gamayun-purple-primary) !important;
}

/* Mobile menu z-index */
.menu-mobile-toggle,
.builder-item--nav-icon,
.close-sidebar-panel,
.menu-mobile-toggle .navbar-toggle,
.builder-item--nav-icon .navbar-toggle,
.close-sidebar-panel .navbar-toggle {
  position: relative;
  z-index: 99999;
  pointer-events: auto;
  cursor: pointer;
}

.header-menu-sidebar-overlay,
.hfg-ov {
  z-index: 9998;
  pointer-events: auto;
}

/* Hero */
.nv-content-wrap .gamayun-hero.alignfull,
.nv-content-wrap.entry-content > .gamayun-hero.alignfull {
  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}

.gamayun-hero {
  background: linear-gradient(135deg, var(--gamayun-purple-dark) 0%, var(--gamayun-purple-primary) 55%, var(--nv-primary-accent) 100%);
  color: var(--gamayun-cream);
  padding: clamp(2.75rem, 5vw, 4.25rem) 1.5rem clamp(2.5rem, 4vw, 3.5rem);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.gamayun-hero > .wp-block-group__inner-container {
  max-width: var(--gamayun-measure) !important;
  width: min(100%, var(--gamayun-measure)) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
  flex: 0 1 auto;
}

.gamayun-hero h1,
.gamayun-hero h2,
.gamayun-hero h3,
.gamayun-hero p {
  color: inherit;
  text-align: center !important;
  margin-left: auto;
  margin-right: auto;
}

.gamayun-hero h1 {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 700;
  line-height: 1.12;
  margin: 0 0 0.9rem;
  max-width: 16ch;
}

.gamayun-hero p:not(.gamayun-hero-tagline):not(.gamayun-hero-badge) {
  font-family: var(--gamayun-font-serif);
  font-size: clamp(1.05rem, 0.6vw + 0.95rem, 1.25rem);
  line-height: 1.45;
  margin: 0 0 0.55rem;
  max-width: 34ch;
}

.gamayun-hero-tagline {
  font-family: var(--gamayun-font-sans);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.8125rem;
  font-weight: 500;
  opacity: 0.9;
  margin: 0.35rem 0 0;
}

/* Sections */
.gamayun-section {
  padding: clamp(var(--gamayun-spacing-md), 3vw, var(--gamayun-spacing-lg)) 0;
}

.gamayun-section > .wp-block-group__inner-container > .wp-block-heading,
.gamayun-section > .wp-block-group__inner-container > h2 {
  text-align: center;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  margin: 0 0 1.35rem;
}

.gamayun-section .wp-block-columns {
  gap: 2rem !important;
}

.gamayun-section .wp-block-column h3 {
  font-size: 1.3rem;
  margin: 0 0 0.75rem;
}

.gamayun-section .wp-block-column p {
  font-size: 1.02rem;
  line-height: 1.68;
  color: var(--gamayun-text-primary);
}

/* Cards base */
.gamayun-cards {
  display: grid;
  gap: 1.15rem;
}

.gamayun-card {
  border: 1px solid var(--gamayun-border);
  padding: 1.35rem 1.25rem 1.25rem;
  background: #fff;
  height: 100%;
}

.gamayun-card h3 {
  margin-top: 0;
  margin-bottom: 0.55rem;
  font-size: 1.125rem;
  line-height: 1.3;
}

.gamayun-card h3 a {
  color: var(--gamayun-purple-primary);
  text-decoration: none;
}

.gamayun-card p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.6;
  color: var(--gamayun-text-secondary);
}

/* Resources */
.gamayun-resources {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 36rem;
  column-count: 1;
}

.gamayun-resources li {
  margin: 0.5rem 0;
  font-size: 1.02rem;
  line-height: 1.5;
}

@media (min-width: 768px) {
  .gamayun-resources {
    column-count: 2;
    column-gap: 2rem;
  }
}

.gamayun-resources a {
  color: var(--nv-primary-accent);
  text-decoration: none;
  font-weight: 500;
}

.gamayun-resources a:hover {
  color: var(--gamayun-gold);
  text-decoration: underline;
}

/* CTA */
.gamayun-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  margin-top: 1.25rem;
}

.gamayun-cta-row .wp-block-button__link {
  font-family: var(--gamayun-font-sans);
  font-size: 0.98rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  padding: 0.85rem 2rem;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Primary CTA — depth on light surfaces */
.gamayun-next-step .gamayun-cta-row .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.gamayun-cta-row .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  box-shadow: 0 4px 12px rgba(109, 64, 121, 0.25);
}

.gamayun-next-step .gamayun-cta-row .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.gamayun-cta-row .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  box-shadow: 0 6px 16px rgba(61, 42, 79, 0.3);
}

.gamayun-next-step {
  background: var(--gamayun-surface);
  border: 1px solid var(--gamayun-border);
  padding: clamp(1.75rem, 3vw, 2.25rem) 1.5rem;
  text-align: center;
  margin-bottom: 0.5rem;
}

.gamayun-next-step h2 {
  font-size: 1.5rem;
  margin: 0 0 0.75rem;
}

.gamayun-next-step > .wp-block-group__inner-container > p {
  max-width: 40rem;
  margin: 0 auto 0.25rem;
  color: var(--gamayun-text-secondary);
  font-size: 1.02rem;
  line-height: 1.65;
}

.gamayun-next-step > .wp-block-group__inner-container > p a {
  color: var(--nv-primary-accent);
  font-weight: 600;
  text-decoration: none;
}

.gamayun-next-step > .wp-block-group__inner-container > p a:hover {
  color: var(--gamayun-gold);
  text-decoration: underline;
}

.gamayun-next-step .gamayun-cta-row {
  margin-top: 1.35rem;
}

/* Inner pages */
.nv-content-wrap.entry-content > .wp-block-group,
.nv-content-wrap.entry-content > .wp-block-columns,
.nv-content-wrap.entry-content > .wp-block-heading,
.nv-content-wrap.entry-content > .wp-block-paragraph,
.nv-content-wrap.entry-content > .wp-block-list {
  max-width: var(--gamayun-measure-wide);
}

.nv-content-wrap.entry-content > .wp-block-heading {
  margin-top: 1.75rem;
  margin-bottom: 0.85rem;
}

.nv-content-wrap.entry-content > h2.wp-block-heading {
  font-size: clamp(1.45rem, 2vw, 1.85rem);
}

.nv-content-wrap.entry-content > h3.wp-block-heading {
  font-size: 1.3rem;
}
