/* ============================================
   YogNow Theme Override for WordPress/Elementor
   "Your Mat. Your Time. Your Teacher."

   This CSS overrides all theme and Elementor
   styles to apply the YogNow design system.
   ============================================ */

/* ---------- CSS Variables ---------- */
:root {
  --yn-primary: #7C3AED;
  --yn-primary-dark: #5B21B6;
  --yn-primary-light: #A78BFA;
  --yn-accent: #F59E0B;
  --yn-accent-light: #FCD34D;
  --yn-success: #10B981;
  --yn-bg-dark: #0F0D1A;
  --yn-bg-card: #1A1726;
  --yn-bg-body: #FAFAF9;
  --yn-text-dark: #1E1B2E;
  --yn-text-light: #F5F3FF;
  --yn-text-muted: #6B7280;
  --yn-border: #E5E7EB;
  --yn-gradient-primary: linear-gradient(135deg, #7C3AED 0%, #EC4899 100%);
  --yn-gradient-warm: linear-gradient(135deg, #F59E0B 0%, #EF4444 100%);
  --yn-gradient-dark: linear-gradient(135deg, #0F0D1A 0%, #1E1B4B 100%);
  --yn-shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
  --yn-shadow-md: 0 4px 12px rgba(0,0,0,0.08);
  --yn-shadow-lg: 0 8px 30px rgba(0,0,0,0.12);
  --yn-shadow-glow: 0 0 40px rgba(124,58,237,0.15);
  --yn-radius-sm: 8px;
  --yn-radius-md: 12px;
  --yn-radius-lg: 20px;
  --yn-radius-xl: 28px;
  --yn-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --yn-font-main: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --yn-font-display: 'Outfit', 'Inter', sans-serif;
}

/* ---------- Global Reset & Base ---------- */
body.yognow-theme {
  font-family: var(--yn-font-main) !important;
  color: var(--yn-text-dark) !important;
  background: var(--yn-bg-body) !important;
  background-color: var(--yn-bg-body) !important;
  line-height: 1.6 !important;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

body.yognow-theme.custom-background {
  background-color: var(--yn-bg-body) !important;
  background-image: none !important;
}

/* ---------- Typography ---------- */
body.yognow-theme h1,
body.yognow-theme h2,
body.yognow-theme h3,
body.yognow-theme h4,
body.yognow-theme h5,
body.yognow-theme h6,
body.yognow-theme .elementor-heading-title {
  font-family: var(--yn-font-display) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: var(--yn-text-dark) !important;
}

body.yognow-theme h1,
body.yognow-theme .elementor-size-xxl {
  font-size: clamp(2.2rem, 5vw, 3.2rem) !important;
}

body.yognow-theme h2,
body.yognow-theme .elementor-size-xl {
  font-size: clamp(1.8rem, 4vw, 2.5rem) !important;
}

body.yognow-theme h3,
body.yognow-theme .elementor-size-lg {
  font-size: clamp(1.3rem, 3vw, 1.75rem) !important;
}

body.yognow-theme p,
body.yognow-theme .elementor-text-editor p,
body.yognow-theme .elementor-widget-text-editor {
  font-family: var(--yn-font-main) !important;
  color: var(--yn-text-muted) !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
}

/* ---------- Links ---------- */
body.yognow-theme a {
  color: var(--yn-primary) !important;
  text-decoration: none !important;
  transition: var(--yn-transition) !important;
}

body.yognow-theme a:hover {
  color: var(--yn-primary-dark) !important;
}

/* ---------- Elementor Sections ---------- */
body.yognow-theme .elementor-section,
body.yognow-theme .e-con {
  transition: var(--yn-transition) !important;
}

/* First section / Hero - dark gradient */
body.yognow-theme .elementor-location-single > .elementor > .elementor-section:first-child,
body.yognow-theme .elementor-location-single > .elementor > .e-con:first-child,
body.yognow-theme .elementor > .elementor-section:first-child,
body.yognow-theme .elementor > .e-con:first-child,
body.yognow-theme .e-parent:first-child {
  background: var(--yn-gradient-dark) !important;
  padding: 100px 0 80px !important;
  position: relative;
  overflow: hidden;
}

body.yognow-theme .e-parent:first-child *,
body.yognow-theme .elementor > .elementor-section:first-child *,
body.yognow-theme .elementor > .e-con:first-child * {
  color: var(--yn-text-light) !important;
}

body.yognow-theme .e-parent:first-child h1,
body.yognow-theme .e-parent:first-child h2,
body.yognow-theme .e-parent:first-child .elementor-heading-title,
body.yognow-theme .elementor > .e-con:first-child h1,
body.yognow-theme .elementor > .e-con:first-child h2 {
  color: #fff !important;
  font-size: clamp(2.2rem, 5vw, 3.2rem) !important;
}

body.yognow-theme .e-parent:first-child p,
body.yognow-theme .elementor > .e-con:first-child p {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* Hero glow effects */
body.yognow-theme .e-parent:first-child::before {
  content: '';
  position: absolute;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: var(--yn-primary);
  filter: blur(150px);
  opacity: 0.15;
  top: -200px;
  right: -100px;
  pointer-events: none;
}

body.yognow-theme .e-parent:first-child::after {
  content: '';
  position: absolute;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: #EC4899;
  filter: blur(150px);
  opacity: 0.1;
  bottom: -150px;
  left: -100px;
  pointer-events: none;
}

/* Alternating section backgrounds */
body.yognow-theme .e-parent:nth-child(odd) {
  background-color: #fff !important;
}

body.yognow-theme .e-parent:nth-child(even) {
  background-color: #F3F4F6 !important;
}

/* Override first child which is always dark */
body.yognow-theme .e-parent:first-child {
  background: var(--yn-gradient-dark) !important;
  background-color: transparent !important;
}

/* ---------- Section Spacing ---------- */
body.yognow-theme .elementor-section,
body.yognow-theme .e-con.e-parent {
  padding: 80px 0 !important;
}

body.yognow-theme .e-con:not(.e-parent) {
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* ---------- Headings with Gradient ---------- */
body.yognow-theme .e-parent:first-child .elementor-heading-title,
body.yognow-theme .e-parent:first-child h1 {
  background: linear-gradient(135deg, #fff 0%, #A78BFA 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* Section headings - purple gradient */
body.yognow-theme .e-parent:not(:first-child) h2.elementor-heading-title,
body.yognow-theme .e-parent:not(:first-child) h2 {
  color: var(--yn-text-dark) !important;
  position: relative;
}

/* ---------- Images ---------- */
body.yognow-theme .elementor-image img,
body.yognow-theme .elementor-widget-image img {
  border-radius: var(--yn-radius-lg) !important;
  box-shadow: var(--yn-shadow-lg) !important;
  transition: var(--yn-transition) !important;
}

body.yognow-theme .elementor-image img:hover,
body.yognow-theme .elementor-widget-image img:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(124, 58, 237, 0.2) !important;
}

/* Hero section images - special treatment */
body.yognow-theme .e-parent:first-child .elementor-image img,
body.yognow-theme .e-parent:first-child .elementor-widget-image img {
  border: 3px solid rgba(124, 58, 237, 0.3) !important;
  box-shadow: 0 8px 40px rgba(124, 58, 237, 0.25) !important;
}

/* ---------- Buttons ---------- */
body.yognow-theme .elementor-button,
body.yognow-theme .wp-element-button,
body.yognow-theme .wp-block-button__link,
body.yognow-theme button[type="submit"],
body.yognow-theme input[type="submit"],
body.yognow-theme .woocommerce a.button,
body.yognow-theme .woocommerce button.button {
  background: var(--yn-gradient-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--yn-radius-xl) !important;
  padding: 14px 32px !important;
  font-family: var(--yn-font-main) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.3px !important;
  box-shadow: 0 4px 20px rgba(124, 58, 237, 0.35) !important;
  transition: var(--yn-transition) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-transform: none !important;
}

body.yognow-theme .elementor-button:hover,
body.yognow-theme .wp-element-button:hover,
body.yognow-theme button[type="submit"]:hover,
body.yognow-theme .woocommerce a.button:hover,
body.yognow-theme .woocommerce button.button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 28px rgba(124, 58, 237, 0.45) !important;
  color: #fff !important;
}

body.yognow-theme .elementor-button .elementor-button-text {
  color: #fff !important;
}

body.yognow-theme .elementor-button .elementor-button-icon {
  color: #fff !important;
}

/* ---------- Elementor Icon/Image Boxes ---------- */
body.yognow-theme .elementor-widget-icon-box,
body.yognow-theme .elementor-widget-image-box {
  background: #fff !important;
  border-radius: var(--yn-radius-lg) !important;
  padding: 32px !important;
  border: 1px solid var(--yn-border) !important;
  transition: var(--yn-transition) !important;
}

body.yognow-theme .elementor-widget-icon-box:hover,
body.yognow-theme .elementor-widget-image-box:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--yn-shadow-lg) !important;
  border-color: var(--yn-primary-light) !important;
}

body.yognow-theme .elementor-icon {
  color: var(--yn-primary) !important;
  fill: var(--yn-primary) !important;
}

body.yognow-theme .elementor-icon i {
  color: var(--yn-primary) !important;
}

/* ---------- Icon Background ---------- */
body.yognow-theme .elementor-icon-wrapper .elementor-icon {
  background: linear-gradient(135deg, rgba(124,58,237,0.1), rgba(236,72,153,0.1)) !important;
  border-radius: 14px !important;
  padding: 12px !important;
}

/* ---------- Elementor Columns as Cards ---------- */
body.yognow-theme .e-parent:not(:first-child) .e-con:not(.e-parent) .e-con {
  background: #fff !important;
  border-radius: var(--yn-radius-lg) !important;
  padding: 28px !important;
  border: 1px solid var(--yn-border) !important;
  transition: var(--yn-transition) !important;
}

body.yognow-theme .e-parent:not(:first-child) .e-con:not(.e-parent) .e-con:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--yn-shadow-lg) !important;
}

/* ---------- Dividers / Separators ---------- */
body.yognow-theme .elementor-divider-separator {
  border-color: var(--yn-primary) !important;
  background: var(--yn-gradient-primary) !important;
  border-radius: 4px !important;
}

/* ---------- Header / Navigation ---------- */
body.yognow-theme header,
body.yognow-theme .site-header,
body.yognow-theme .elementor-location-header,
body.yognow-theme #masthead {
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  box-shadow: var(--yn-shadow-sm) !important;
  border-bottom: 1px solid rgba(124, 58, 237, 0.08) !important;
}

body.yognow-theme .site-header a,
body.yognow-theme header a,
body.yognow-theme .elementor-location-header a,
body.yognow-theme .elementor-nav-menu a {
  color: var(--yn-text-dark) !important;
  font-weight: 500 !important;
  font-size: 0.9rem !important;
  transition: var(--yn-transition) !important;
}

body.yognow-theme .site-header a:hover,
body.yognow-theme header a:hover,
body.yognow-theme .elementor-nav-menu a:hover {
  color: var(--yn-primary) !important;
}

body.yognow-theme .site-title,
body.yognow-theme .site-title a,
body.yognow-theme .custom-logo-link + .site-title a {
  font-family: var(--yn-font-display) !important;
  font-weight: 800 !important;
  font-size: 1.6rem !important;
  background: var(--yn-gradient-primary) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* ---------- Footer ---------- */
body.yognow-theme footer,
body.yognow-theme .site-footer,
body.yognow-theme .elementor-location-footer,
body.yognow-theme #colophon {
  background: var(--yn-bg-dark) !important;
  color: rgba(255, 255, 255, 0.7) !important;
  padding: 60px 0 32px !important;
}

body.yognow-theme footer *,
body.yognow-theme .site-footer *,
body.yognow-theme .elementor-location-footer * {
  color: rgba(255, 255, 255, 0.7) !important;
}

body.yognow-theme footer h1,
body.yognow-theme footer h2,
body.yognow-theme footer h3,
body.yognow-theme footer h4,
body.yognow-theme footer h5,
body.yognow-theme .site-footer h1,
body.yognow-theme .site-footer h2,
body.yognow-theme .site-footer h3,
body.yognow-theme .site-footer h4,
body.yognow-theme .site-footer h5 {
  color: #fff !important;
}

body.yognow-theme footer a:hover,
body.yognow-theme .site-footer a:hover {
  color: var(--yn-primary-light) !important;
}

/* ---------- Forms ---------- */
body.yognow-theme input[type="text"],
body.yognow-theme input[type="email"],
body.yognow-theme input[type="tel"],
body.yognow-theme input[type="url"],
body.yognow-theme input[type="password"],
body.yognow-theme input[type="search"],
body.yognow-theme input[type="number"],
body.yognow-theme select,
body.yognow-theme textarea,
body.yognow-theme .elementor-field,
body.yognow-theme .woocommerce input {
  border: 1px solid var(--yn-border) !important;
  border-radius: var(--yn-radius-md) !important;
  padding: 14px 18px !important;
  font-family: var(--yn-font-main) !important;
  font-size: 0.9rem !important;
  transition: var(--yn-transition) !important;
  background: #fff !important;
  color: var(--yn-text-dark) !important;
}

body.yognow-theme input:focus,
body.yognow-theme select:focus,
body.yognow-theme textarea:focus,
body.yognow-theme .elementor-field:focus {
  outline: none !important;
  border-color: var(--yn-primary) !important;
  box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.1) !important;
}

/* ---------- Lists ---------- */
body.yognow-theme .elementor-icon-list-item {
  transition: var(--yn-transition) !important;
}

body.yognow-theme .elementor-icon-list-item:hover {
  transform: translateX(4px) !important;
}

body.yognow-theme .elementor-icon-list-icon i,
body.yognow-theme .elementor-icon-list-icon svg {
  color: var(--yn-primary) !important;
  fill: var(--yn-primary) !important;
}

/* ---------- Testimonials / Blockquotes ---------- */
body.yognow-theme blockquote,
body.yognow-theme .elementor-blockquote,
body.yognow-theme .wp-block-quote {
  border-left: 4px solid var(--yn-primary) !important;
  background: rgba(124, 58, 237, 0.04) !important;
  padding: 24px 28px !important;
  border-radius: 0 var(--yn-radius-md) var(--yn-radius-md) 0 !important;
  font-style: italic !important;
}

/* ---------- WooCommerce ---------- */
body.yognow-theme .woocommerce .products li.product {
  border-radius: var(--yn-radius-lg) !important;
  border: 1px solid var(--yn-border) !important;
  overflow: hidden !important;
  transition: var(--yn-transition) !important;
}

body.yognow-theme .woocommerce .products li.product:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--yn-shadow-lg) !important;
}

body.yognow-theme .woocommerce .price,
body.yognow-theme .woocommerce .amount {
  color: var(--yn-primary) !important;
  font-weight: 700 !important;
  font-family: var(--yn-font-display) !important;
}

/* ---------- Widgets / Sidebar ---------- */
body.yognow-theme .widget,
body.yognow-theme .wp-block-group {
  background: #fff !important;
  border-radius: var(--yn-radius-lg) !important;
  padding: 28px !important;
  border: 1px solid var(--yn-border) !important;
  margin-bottom: 24px !important;
}

body.yognow-theme .widget-title,
body.yognow-theme .wp-block-heading {
  font-family: var(--yn-font-display) !important;
  color: var(--yn-text-dark) !important;
  font-size: 1.1rem !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid var(--yn-primary) !important;
  margin-bottom: 16px !important;
}

/* ---------- Scrollbar ---------- */
body.yognow-theme ::-webkit-scrollbar {
  width: 8px;
}

body.yognow-theme ::-webkit-scrollbar-track {
  background: var(--yn-bg-body);
}

body.yognow-theme ::-webkit-scrollbar-thumb {
  background: var(--yn-primary-light);
  border-radius: 4px;
}

body.yognow-theme ::-webkit-scrollbar-thumb:hover {
  background: var(--yn-primary);
}

/* ---------- Selection ---------- */
body.yognow-theme ::selection {
  background: rgba(124, 58, 237, 0.2);
  color: var(--yn-primary-dark);
}

/* ---------- Animations ---------- */
@keyframes yognow-fade-up {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

body.yognow-theme .elementor-widget {
  animation: yognow-fade-up 0.5s ease both;
}

/* Stagger animations for child widgets */
body.yognow-theme .e-con .elementor-widget:nth-child(1) { animation-delay: 0.1s; }
body.yognow-theme .e-con .elementor-widget:nth-child(2) { animation-delay: 0.2s; }
body.yognow-theme .e-con .elementor-widget:nth-child(3) { animation-delay: 0.3s; }
body.yognow-theme .e-con .elementor-widget:nth-child(4) { animation-delay: 0.4s; }

/* ---------- Top Accent Bar ---------- */
body.yognow-theme::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: var(--yn-gradient-primary);
  z-index: 99999;
}

/* ---------- Responsive Adjustments ---------- */
@media (max-width: 768px) {
  body.yognow-theme .e-parent:first-child {
    padding: 60px 0 50px !important;
  }

  body.yognow-theme .elementor-section,
  body.yognow-theme .e-con.e-parent {
    padding: 50px 0 !important;
  }

  body.yognow-theme .elementor-button,
  body.yognow-theme .wp-element-button {
    padding: 12px 24px !important;
    font-size: 0.88rem !important;
  }
}

/* ---------- Print Styles ---------- */
@media print {
  body.yognow-theme {
    background: #fff !important;
  }
  body.yognow-theme::before {
    display: none;
  }
}
