/* ------------------------------------------------------------
   TVS NEXT CORE STYLES
   Lightweight, responsive, modern design system
------------------------------------------------------------- */

:root{
  --font-family-base: "Poppins";
  
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;

  --lh-heading: 1.2;
  --lh-body: 1.65;
}

/* ------------------------------------------------------------
   Base
------------------------------------------------------------- */

html{
  text-size-adjust: 100%;
}

body{
  font-family: var(--font-family-base);
  font-size: 1rem;
  line-height: var(--lh-body);
  font-weight: var(--fw-regular);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
}

/* ------------------------------------------------------------
   Headings
------------------------------------------------------------- */

h1, h2, h3, h4, h5, h6{
  font-family: var(--font-family-base);
  margin: 0 0 1rem 0;
}

h1{
  font-size: 3.25rem;   /* 52px */
  line-height: 1.15;
  font-weight: var(--fw-bold);
  letter-spacing: -0.015em;
  text-wrap: balance;
}

h2{
  font-size: 2.75rem;   /* 44px */
  line-height: 1.18;
  font-weight: var(--fw-bold);
  letter-spacing: -0.015em;
  text-wrap: balance;
}

h3{
  font-size: 2.125rem;  /* 34px */
  line-height: 1.25;
  font-weight: var(--fw-semibold);
  letter-spacing: -0.01em;
}

h4{
  font-size: 1.625rem;  /* 26px */
  line-height: 1.35;
  font-weight: var(--fw-semibold);
}

h5{
  font-size: 1.25rem;   /* 20px */
  line-height: 1.45;
  font-weight: var(--fw-medium);
}

h6{
  font-size: 1.125rem;  /* 18px */
  line-height: 1.5;
  font-weight: var(--fw-medium);
}

/* ------------------------------------------------------------
   Paragraphs
------------------------------------------------------------- */

p{
  font-size: 1.125rem;  /* 18px */
  line-height: 1.75;
  font-weight: var(--fw-regular);
  margin-bottom: 1.25rem;
}

/* ------------------------------------------------------------
   Links
------------------------------------------------------------- */

a{
  text-decoration: none;
  transition: all 0.3s ease;
}

a:hover{
  text-decoration: underline;
}

/* ------------------------------------------------------------
   Strong Text
------------------------------------------------------------- */

strong, b{
  font-weight: var(--fw-semibold);
}

/* ------------------------------------------------------------
   Form Elements
------------------------------------------------------------- */

button,
input,
textarea{
  font-family: var(--font-family-base);
}

/* ------------------------------------------------------------
   Responsive Typography
------------------------------------------------------------- */

@media (max-width: 1023px){
  h1{ font-size: 2.75rem; }   /* 44px */
  h2{ font-size: 2.25rem; }   /* 36px */
  h3{ font-size: 1.85rem; }   /* ~30px */
  h4{ font-size: 1.5rem; }    /* 24px */
  h5{ font-size: 1.25rem; }   /* 20px */
  p { font-size: 1.05rem; }   /* ~17px */
}

@media (max-width: 767px){

  h1{
    font-size: 2.35rem;  /* ~38px */
    line-height: 1.2;
  }

  h2{
    font-size: 2rem;     /* 32px */
    line-height: 1.25;
  }

  h3{
    font-size: 1.6rem;   /* ~26px */
  }

  h4{
    font-size: 1.35rem;  /* ~22px */
  }

  h5{
    font-size: 1.2rem;   /* ~19px */
  }

  h6{
    font-size: 1.05rem;  /* ~17px */
  }

  p{
    font-size: 1.05rem;     /* 17px */
    line-height: 1.65;
  }
}

/* ------------------------------------------------------------
   Elementor Typography Override (Use Theme Values)
   Ensures Elementor uses your line-height unless you set it per-widget
------------------------------------------------------------- */

/* Force Elementor global typography variables to match your system */
:root{
  --e-global-typography-text-line-height: var(--lh-body);
  --e-global-typography-primary-line-height: var(--lh-heading);
  --e-global-typography-secondary-line-height: var(--lh-heading);
  --e-global-typography-accent-line-height: var(--lh-body);
}

/* Ensure Elementor sections inherit your base line-height */
.elementor{
  font-family: var(--font-family-base);
  line-height: var(--lh-body);
}

/* Text widgets + post content + generic containers */
.elementor .elementor-widget-text-editor,
.elementor .elementor-text-editor,
.elementor .elementor-widget-theme-post-content,
.elementor .elementor-widget-container,
.elementor p,
.elementor li{
  line-height: var(--lh-body) ;
}

/* Headings inside Elementor */
.elementor .elementor-widget-heading .elementor-heading-title,
.elementor .elementor-heading-title,
.elementor h1, .elementor h2, .elementor h3,
.elementor h4, .elementor h5, .elementor h6{
  line-height: var(--lh-heading) ;
}