/* ==========================================================================
   Vyapar Growth – Base
   Reset, typography, layout primitives, utilities, WordPress core classes.
   ========================================================================== */

/* ---- Reset ---- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--vg-header-h) + 1rem); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0;
  font-family: var(--vg-font-body);
  font-size: var(--vg-text-base);
  line-height: var(--vg-leading-base);
  color: var(--vg-text);
  background: var(--vg-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
img, svg, video { display: block; max-width: 100%; height: auto; }
img { font-style: italic; } /* alt text styling when image fails */
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }
a { color: inherit; text-decoration-color: var(--vg-green); text-underline-offset: 0.18em; text-decoration-thickness: 1.5px; }
a:hover { color: var(--vg-accent-text); }
hr { border: 0; border-top: var(--vg-border); margin: var(--vg-space-6) 0; }
ul, ol { padding-left: 1.25em; }
figure { margin: 0; }
address { font-style: normal; }
:focus { outline: none; }
:focus-visible { outline: 3px solid var(--vg-focus); outline-offset: 3px; border-radius: var(--vg-radius-xs); }
.vg-dark :focus-visible, .vg-section--dark :focus-visible { outline-color: var(--vg-yellow); }
::selection { background: var(--vg-yellow); color: var(--vg-black); }

/* ---- Typography ---- */
h1, h2, h3, h4, h5, h6 { margin: 0 0 0.5em; font-family: var(--vg-font-display); font-weight: 700; letter-spacing: var(--vg-tracking-tight); line-height: var(--vg-leading-snug); text-wrap: balance; }
h1, .vg-h1 { font-size: var(--vg-text-3xl); line-height: var(--vg-leading-tight); }
h2, .vg-h2 { font-size: var(--vg-text-2xl); }
h3, .vg-h3 { font-size: var(--vg-text-xl); }
h4, .vg-h4 { font-size: var(--vg-text-lg); }
h5, .vg-h5 { font-size: var(--vg-text-md); font-family: var(--vg-font-body); font-weight: 600; letter-spacing: 0; }
h6, .vg-h6 { font-size: var(--vg-text-sm); font-family: var(--vg-font-body); font-weight: 600; letter-spacing: var(--vg-tracking-caps); text-transform: uppercase; }
p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }
.vg-lead { font-size: var(--vg-text-md); color: var(--vg-text-muted); max-width: 60ch; text-wrap: pretty; }
.vg-lead--dark { color: var(--vg-text-on-dark-muted); }
.vg-eyebrow {
  display: inline-flex; align-items: center; gap: .6em;
  font-family: var(--vg-font-body); font-size: var(--vg-text-xs); font-weight: 600;
  letter-spacing: var(--vg-tracking-caps); text-transform: uppercase; color: var(--vg-text-muted);
  margin-bottom: var(--vg-space-4);
}
.vg-eyebrow::before { content: ""; width: 1.5rem; height: 2px; background: var(--vg-green); }
.vg-eyebrow--plain::before { display: none; }
.vg-num { font-family: var(--vg-font-display); font-variant-numeric: tabular-nums; letter-spacing: var(--vg-tracking-tight); }
.vg-mark { background: linear-gradient(transparent 62%, var(--vg-yellow) 62%, var(--vg-yellow) 92%, transparent 92%); color: inherit; padding: 0 .04em; }
.vg-dark .vg-mark, .vg-section--dark .vg-mark { background: linear-gradient(transparent 62%, var(--vg-green) 62%, var(--vg-green) 92%, transparent 92%); }
.vg-muted { color: var(--vg-text-muted); }
.vg-accent { color: var(--vg-accent-text); }
.vg-mono { font-family: var(--vg-font-mono); font-size: .85em; }
.vg-index { font-family: var(--vg-font-display); font-size: var(--vg-text-sm); font-weight: 500; color: var(--vg-text-muted); font-variant-numeric: tabular-nums; }

/* ---- Layout primitives ---- */
.vg-container { width: 100%; max-width: var(--vg-container); margin-inline: auto; padding-inline: var(--vg-gutter); }
.vg-container--wide { max-width: var(--vg-container-wide); }
.vg-container--text { max-width: calc(var(--vg-container-text) + var(--vg-gutter) * 2); }
.vg-section { padding-block: var(--vg-section); position: relative; }
.vg-section--sm { padding-block: var(--vg-section-sm); }
.vg-section--flush-top { padding-top: 0; }
.vg-section--flush-bottom { padding-bottom: 0; }
.vg-section--alt { background: var(--vg-bg-alt); }
.vg-section--muted { background: var(--vg-bg-muted); }
.vg-section--line { border-top: var(--vg-border); }
.vg-grid { display: grid; gap: var(--vg-gap); grid-template-columns: repeat(12, minmax(0, 1fr)); }
.vg-grid--2 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.vg-grid--3 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.vg-grid--4 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); }
.vg-split { display: grid; gap: var(--vg-gap); grid-template-columns: 1fr; align-items: start; }
@media (min-width: 900px) {
  .vg-split { grid-template-columns: 5fr 7fr; column-gap: clamp(2rem, 6vw, 6rem); }
  .vg-split--even { grid-template-columns: 1fr 1fr; }
  .vg-split--rev { grid-template-columns: 7fr 5fr; }
  .vg-split--sticky > :first-child { position: sticky; top: calc(var(--vg-header-h) + 2rem); }
}
.vg-stack > * + * { margin-top: var(--vg-space-4); }
.vg-stack--lg > * + * { margin-top: var(--vg-space-6); }
.vg-cluster { display: flex; flex-wrap: wrap; gap: var(--vg-space-3); align-items: center; }
.vg-flow > * + * { margin-top: 1em; }
.vg-measure { max-width: 62ch; }
.vg-center { text-align: center; margin-inline: auto; }
.vg-visually-hidden, .screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus { clip: auto; width: auto; height: auto; margin: 0; padding: .75rem 1rem; background: var(--vg-black); color: var(--vg-white); z-index: 1000; top: .5rem; left: .5rem; }
.vg-skip-link { position: absolute; top: -100px; left: 1rem; z-index: 1000; background: var(--vg-black); color: var(--vg-white); padding: .75rem 1rem; text-decoration: none; }
.vg-skip-link:focus { top: 1rem; }

/* ---- Motion hooks: [data-reveal] / [data-reveal-stagger] are read by assets/js/motion.js (GSAP). Nothing is hidden by CSS. ---- */

/* ---- Long-form content (posts, legal pages, editor content) ---- */
.vg-prose { max-width: var(--vg-container-text); font-size: var(--vg-text-md); }
.vg-prose > * + * { margin-top: 1.2em; }
.vg-prose h2 { margin-top: 2em; font-size: var(--vg-text-xl); }
.vg-prose h3 { margin-top: 1.6em; font-size: var(--vg-text-lg); }
.vg-prose h4 { margin-top: 1.4em; }
.vg-prose ul, .vg-prose ol { padding-left: 1.4em; }
.vg-prose li + li { margin-top: .4em; }
.vg-prose blockquote { margin: 1.6em 0; padding: 0 0 0 1.25em; border-left: 3px solid var(--vg-green); font-family: var(--vg-font-display); font-size: var(--vg-text-lg); font-weight: 500; }
.vg-prose img { border-radius: var(--vg-radius-sm); }
.vg-prose figcaption { font-size: var(--vg-text-sm); color: var(--vg-text-muted); margin-top: .5em; }
.vg-prose pre { overflow-x: auto; background: var(--vg-grey-900); color: var(--vg-offwhite); padding: 1rem 1.25rem; border-radius: var(--vg-radius-sm); font-size: var(--vg-text-sm); }
.vg-prose code { font-family: var(--vg-font-mono); font-size: .9em; background: var(--vg-grey-100); padding: .1em .35em; border-radius: var(--vg-radius-xs); }
.vg-prose pre code { background: none; padding: 0; }
.vg-prose table { width: 100%; border-collapse: collapse; font-size: var(--vg-text-sm); display: block; overflow-x: auto; }
.vg-prose th, .vg-prose td { text-align: left; padding: .6em .8em; border-bottom: var(--vg-border); }
.vg-prose th { font-weight: 600; }
.vg-prose a { color: var(--vg-accent-text); }
.vg-prose .wp-block-image, .vg-prose .alignwide { max-width: none; }

/* WordPress core alignment classes */
.alignleft { float: left; margin: .5em 1.5em 1em 0; }
.alignright { float: right; margin: .5em 0 1em 1.5em; }
.aligncenter { margin-inline: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: var(--vg-text-sm); color: var(--vg-text-muted); }
.sticky, .bypostauthor, .gallery-caption { /* required by theme check */ }

/* ---- Editor / Elementor content slot ---- */
.vg-editor-slot:empty { display: none; }
.vg-elementor-page .vg-page-chrome { display: none; }
.elementor-section.elementor-section-boxed > .elementor-container { max-width: var(--vg-container); }

/* ---- Print ---- */
@media print {
  .vg-header, .vg-footer, .vg-cta-band, .vg-mobile-nav { display: none !important; }
  body { background: #fff; color: #000; }
}
