/* ============================================
   GRANDHAVAKAH - GLOBAL STYLES
   Font Family: Poppins
   Text Sizes & Weights Only
============================================ */

/* ============================================
   GOOGLE FONTS - POPPINS
============================================ */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap');

/* ============================================
   BASE FONT - Applied to ALL elements
============================================ */
* {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

body {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ============================================
   HEADINGS - Font sizes & weights
============================================ */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-weight: 700;
    line-height: 1.2;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }

/* ============================================
   PARAGRAPHS & TEXT
============================================ */
p {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-weight: 400;
    line-height: 1.7;
}

/* ============================================
   LINKS
============================================ */
a {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ============================================
   BUTTONS & FORM ELEMENTS
============================================ */
button,
.btn,
input,
select,
textarea {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

input::placeholder,
textarea::placeholder {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ============================================
   LISTS
============================================ */
ul, ol {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ============================================
   TABLES
============================================ */
table, th, td {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ============================================
   BLOCKQUOTE
============================================ */
blockquote {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-style: italic;
}

/* ============================================
   FONT WEIGHT UTILITIES
============================================ */
.fw-thin       { font-weight: 100; }
.fw-extralight { font-weight: 200; }
.fw-light      { font-weight: 300; }
.fw-regular    { font-weight: 400; }
.fw-medium     { font-weight: 500; }
.fw-semibold   { font-weight: 600; }
.fw-bold       { font-weight: 700; }
.fw-extrabold  { font-weight: 800; }
.fw-black      { font-weight: 900; }

/* ============================================
   FONT SIZE UTILITIES
============================================ */
.fs-small  { font-size: 0.875rem; }  /* 14px */
.fs-normal { font-size: 1rem; }      /* 16px */
.fs-medium { font-size: 1.125rem; }  /* 18px */
.fs-large  { font-size: 1.25rem; }   /* 20px */
.fs-xl     { font-size: 1.5rem; }    /* 24px */
.fs-2xl    { font-size: 2rem; }      /* 32px */
.fs-3xl    { font-size: 2.5rem; }    /* 40px */
.fs-4xl    { font-size: 3rem; }      /* 48px */

/* ============================================
   TEXT ALIGN UTILITIES
============================================ */
.text-center  { text-align: center; }
.text-left    { text-align: left; }
.text-right   { text-align: right; }
.text-justify { text-align: justify; }

.text-uppercase   { text-transform: uppercase; }
.text-lowercase   { text-transform: lowercase; }
.text-capitalize  { text-transform: capitalize; }

/* ============================================
   RESPONSIVE - MOBILE FIRST
============================================ */
@media (max-width: 768px) {
    h1 { font-size: 2rem; }
    h2 { font-size: 1.75rem; }
    h3 { font-size: 1.5rem; }
    h4 { font-size: 1.25rem; }
    h5 { font-size: 1.1rem; }
}

@media (max-width: 480px) {
    h1 { font-size: 1.75rem; }
    h2 { font-size: 1.5rem; }
    h3 { font-size: 1.25rem; }
    h4 { font-size: 1.1rem; }
}