/*
Theme Name: ZAVRYN Child Theme
Theme URI: https://zavryn.in
Description: Bespoke premium agency child theme for ZAVRYN — Digital Growth Agency. Engineered for 100% full-width Elementor layouts, Astra optimization, design tokens, and high-performance typography.
Author: ZAVRYN Creative Engineering
Author URI: https://zavryn.in
Template: astra
Version: 1.0.0
Text Domain: zavryn
*/

:root {
  /* Brand Color Tokens */
  --zv-color-primary: #326FA8;
  --zv-color-primary-hover: #265988;
  --zv-color-accent: #D11F66;
  --zv-color-accent-hover: #B01753;
  --zv-color-dark: #17191D;
  --zv-color-dark-secondary: #242830;
  --zv-color-body: #555B65;
  --zv-color-light: #F7F8FA;
  --zv-color-white: #FFFFFF;
  --zv-color-border: #E4E7EC;
  --zv-color-border-dark: #2F3540;
  --zv-color-muted: #EEF2F6;

  /* Typography System */
  --zv-font-heading: 'Space Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --zv-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* Spacing Scale */
  --zv-space-2: 8px;
  --zv-space-4: 16px;
  --zv-space-6: 24px;
  --zv-space-8: 32px;
  --zv-space-12: 48px;
  --zv-space-16: 64px;
  --zv-space-24: 96px;
  --zv-space-30: 120px;

  /* Content Containers */
  --zv-container-max: 1320px;
  --zv-container-pad: clamp(16px, 4vw, 32px);

  /* Transitions */
  --zv-transition-fast: 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  --zv-transition-smooth: 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Ensure 100% Full-Width Layouts */
html, body {
  overflow-x: hidden;
  width: 100%;
  margin: 0;
  padding: 0;
  background-color: var(--zv-color-light);
  color: var(--zv-color-body);
  font-family: var(--zv-font-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Eliminate Astra theme wrapper sidebars and boxed margins on Elementor pages */
.page-template-elementor_header_footer .site-content,
.page-template-elementor_canvas .site-content,
.elementor-template-full-width .site-content {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}

.ast-container {
  max-width: 100% !important;
  padding: 0 !important;
}

.site-content .ast-container {
  display: block;
}

#primary.content-area {
  margin: 0 !important;
}

/* Global Typography Defaults */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--zv-font-heading);
  color: var(--zv-color-dark);
  letter-spacing: -0.02em;
  font-weight: 700;
  margin-top: 0;
}

p {
  line-height: 1.65;
  margin-top: 0;
}

a {
  color: var(--zv-color-primary);
  text-decoration: none;
  transition: color var(--zv-transition-fast);
}

a:hover {
  color: var(--zv-color-accent);
}

/* Selection */
::selection {
  background: var(--zv-color-primary);
  color: var(--zv-color-white);
}
