/**
 * Konsorts Design System — ONE STYLE FOR THE ENTIRE SITE
 * New pages, new WPBakery elements, new content = same look automatically.
 * Uses style.css variables. No section-specific selectors here.
 */

/* ============================================================
   GLOBAL WPBakery — apply to ALL vc_* elements, everywhere
   ============================================================ */

/* Headings from vc_custom_heading — use theme typography */
.vc_custom_heading,
.wpb_text_column h1,
.wpb_text_column h2,
.wpb_text_column h3,
.wpb_text_column h4,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
}
.vc_custom_heading h1, .wpb_text_column h1, .entry-content h1 { font-size: var(--font-size-h1) !important; }
.vc_custom_heading h2, .wpb_text_column h2, .entry-content h2 { font-size: var(--font-size-h2) !important; }
.vc_custom_heading h3, .wpb_text_column h3, .entry-content h3 { font-size: var(--font-size-h3) !important; }
.vc_custom_heading h4, .wpb_text_column h4, .entry-content h4 { font-size: var(--font-size-h4) !important; }

/* Body text — all WPBakery text blocks and entry content */
.wpb_text_column,
.wpb_text_column p,
.vc_column_text p,
.entry-content p,
.wpb_wrapper p {
  font-size: var(--font-size-body) !important;
  line-height: var(--line-height-body) !important;
  color: var(--color-text) !important;
  margin-bottom: 1rem !important;
}
.wpb_wrapper > p:last-child,
.entry-content > p:last-child { margin-bottom: 0 !important; }

/* Lists — unified bullets/numbers */
.wpb_text_column ul,
.wpb_text_column ol,
.vc_column_text ul,
.vc_column_text ol,
.entry-content ul,
.entry-content ol {
  font-size: var(--font-size-body) !important;
  line-height: var(--line-height-body) !important;
  color: var(--color-text) !important;
  margin-bottom: 1rem !important;
  padding-left: 1.5em !important;
}
.wpb_text_column li,
.vc_column_text li,
.entry-content li { margin-bottom: 0.5rem !important; }
.wpb_text_column ul,
.vc_column_text ul,
.entry-content ul { list-style-type: disc !important; }

/* Bullets — dzeltena krāsa (standards visā vietnē) */
.wpb_text_column ul li::marker,
.vc_column_text ul li::marker,
.entry-content ul li::marker,
ul li::marker {
  color: var(--color-bullet) !important;
}

/* Links — theme colors */
.wpb_text_column a,
.vc_column_text a,
.entry-content a {
  color: var(--color-primary) !important;
  text-decoration: none !important;
  transition: color var(--transition) !important;
}
.wpb_text_column a:hover,
.vc_column_text a:hover,
.entry-content a:hover { color: var(--color-accent) !important; }

/* Buttons — vc_btn3, vc_btn inherit theme button style */
.vc_btn3,
.vc_btn,
a.vc_general.vc_btn3,
.wpb_content_element.vc_btn3-container a {
  font-family: var(--font-heading) !important;
  font-size: var(--btn-font-size) !important;
  font-weight: 600 !important;
  padding: var(--btn-padding) !important;
  border-radius: var(--btn-radius) !important;
  transition: var(--transition) !important;
}
.vc_btn3-style-flat.vc_btn3-color-primary,
a.vc_general.vc_btn3.vc_btn3-color-primary {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
}
.vc_btn3-style-flat.vc_btn3-color-primary:hover,
a.vc_general.vc_btn3.vc_btn3-color-primary:hover {
  background: var(--color-accent) !important;
  border-color: var(--color-accent) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
}

/* ============================================================
   REUSABLE CARD — use class "konsorts-card" anywhere
   ============================================================ */
.konsorts-card {
  background: #fff !important;
  border-radius: var(--card-radius) !important;
  border: var(--card-border) !important;
  box-shadow: var(--card-shadow) !important;
  padding: var(--card-padding) !important;
  transition: var(--transition) !important;
}
.konsorts-card:hover {
  transform: translateY(var(--card-hover-lift)) !important;
  box-shadow: var(--card-shadow-hover) !important;
}

/* Card header variant */
.konsorts-card-header {
  background: var(--color-primary) !important;
  color: #fff !important;
  margin: 0 !important;
  padding: 20px var(--card-padding) !important;
  font-size: var(--font-size-h4) !important;
  font-weight: 600 !important;
  border-radius: var(--card-radius) var(--card-radius) 0 0 !important;
}

/* ============================================================
   REUSABLE SECTION — use class "konsorts-section" on any row
   ============================================================ */
.konsorts-section {
  padding: var(--section-padding) 0 !important;
}
.konsorts-section-content {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

/* Родители stretch row не должны обрезать фон (KB: overflow:hidden ломает stretch) */
.site-main .vc_section:not(.konsorts-hero),
.site-main .vc_row-wrap {
  overflow: visible !important;
}

/* ============================================================
   ROW WIDTH — Default и Stretch row (без stretch content)
   • Default: ряд max-width 1200px, центрирован
   • Stretch row: фон на всю ширину, контент центрирован (как wpbakery.com)
   • Stretch row and content: контент на всю ширину (не трогаем)
   ============================================================ */
.site-main .vc_row:not([data-vc-full-width="true"]),
.entry-content .vc_row:not([data-vc-full-width="true"]) {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

/* Stretch row: фон на всю ширину, контент внутри — max 1200px по центру
   KB: "Stretch row - Stretches row, but leave content in the previous width" */
/* Stretch row: izlaušanās no konteinerra (100vw), saturs centrēts */
.site-main .vc_row[data-vc-full-width="true"]:not([data-vc-stretch-content="true"]),
.entry-content .vc_row[data-vc-full-width="true"]:not([data-vc-stretch-content="true"]) {
  position: relative !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: max(24px, calc(50vw - 600px)) !important;
  padding-right: max(24px, calc(50vw - 600px)) !important;
  left: auto !important;
  right: auto !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* То же для vc_section (Stretch section) */
.site-main .vc_section[data-vc-full-width="true"]:not([data-vc-stretch-content="true"]),
.entry-content .vc_section[data-vc-full-width="true"]:not([data-vc-stretch-content="true"]) {
  position: relative !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: max(24px, calc(50vw - 600px)) !important;
  padding-right: max(24px, calc(50vw - 600px)) !important;
  left: auto !important;
  right: auto !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* ============================================================
   IMAGES in content
   ============================================================ */
.wpb_single_image img,
.vc_single_image-wrapper img,
.entry-content img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: var(--radius-md) !important;
}

/* ============================================================
   SPACING utilities — add to any element
   ============================================================ */
.konsorts-mt-0 { margin-top: 0 !important; }
.konsorts-mb-1 { margin-bottom: 1rem !important; }
.konsorts-mb-2 { margin-bottom: 2rem !important; }
.konsorts-text-center { text-align: center !important; }
.konsorts-text-left { text-align: left !important; }
