/*
Theme Name: StudyPoint Education
Theme URI: https://studypointedu.in/blog
Author: StudyPoint Education
Author URI: https://studypointedu.in
Description: Custom blog theme for Study Point Education matching the main site design.
Version: 1.0
*/
/*---------------------------------------------------------------------

File Name: style.css

Description: Main stylesheet with organized font hierarchy

---------------------------------------------------------------------*/

/* ============================================================

GLOBAL STYLES

============================================================ */

* {
  box-sizing: border-box !important;

  margin: 0;

  padding: 0;

  transition: all 0.5s ease;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Roboto-Regular";

  font-weight: normal;

  overflow-x: hidden;
}

.c-container {
  width: -webkit-fill-available;

  padding: 0 0;

  margin: auto 2vw;
}

/* ============================================================

FONT IMPORTS

============================================================ */

@font-face {
  font-family: "Roboto-Regular";

  src: url("fonts/Roboto-Regular.ttf");
}

@font-face {
  font-family: "Roboto-Medium";

  src: url("fonts/Roboto-Medium.ttf");
}

@font-face {
  font-family: "Roboto-SemiBold";

  src: url("fonts/Roboto-SemiBold.ttf");
}

@font-face {
  font-family: "Roboto-Bold";

  src: url("fonts/Roboto-Bold.ttf");
}

@font-face {
  font-family: "Roboto-ExtraBold";

  src: url("fonts/Roboto-ExtraBold.ttf");
}

/* ============================================================

COLOR VARIABLES

============================================================ */

:root {
  --primary-color: #f25b01;
  /* Orange */

  --secondary-color: #006697;
  /* Dark Blue */

  --light-blue: #0094b3;
  /* Light Blue */

  --grey-color: #b2b3b7;

  --white-color: #fff;

  --black-color: #000;

  --subtitle-color: #555555;
  /* Light black / dark gray */

  --green-color: #00a65a;
}

/* ============================================================

Other VARIABLES

============================================================ */

:root {
  --card-border-radius: 1.4vw;
  /* Orange */

  --site-primary-gradient: linear-gradient(135deg,
      var(--secondary-color) 0%,
      var(--light-blue) 100%);

  /* --site-secondary-gradient: linear-gradient(135deg, #ff7e5f 0%, #feb47b 100%); */
}

.row {
  --bs-gutter-x: 1vw !important;

  --bs-gutter-y: 0;
}

/* ============================================================

FONT VARIABLES

9999px → effectively no maximum, font can grow infinitely on large screens

============================================================ */

:root {
  --font14: 0.73vw;
  /* 14px */

  --font16: 0.83vw;
  /* 16px */

  --font18: 0.94vw;
  /* 18px */

  --font20: 1.04vw;
  /* 20px */

  --font22: 1.15vw;
  /* 22px */

  --font25: 1.3vw;
  /* 25px */

  --font30: 1.56vw;
  /* 30px */

  --font40: 2.08vw;
  /* 40px */

  --font50: 2.6vw;
  /* 50px */

  --font60: 3.13vw;
  /* 60px */

  --font70: 4vw;
  /* 70px */
}

@media screen and (max-width: 1600px) {
  :root {
    --font14: 0.95vw;

    --font16: 1.1vw;

    --font18: 1.25vw;

    --font20: 1.35vw;

    --font22: 1.5vw;

    --font25: 1.7vw;

    --font30: 2vw;

    --font40: 2.5vw;

    --font50: 2.7vw;

    --font60: 3.5vw;

    --font70: 4.2vw;
  }
}

@media screen and (max-width: 991px) {
  :root {
    --font14: 14px;

    --font16: 16px;

    --font18: 16px;

    --font20: 18px;

    --font22: 20px;

    --font25: 22px;

    --font30: 25px;

    --font40: 28px;

    --font50: 30px;

    --font60: 40px;

    --font70: 45px;

    --card-border-radius: 15px;
  }
}

/* ============================================================

FONT UTILITIES

============================================================ */

.font14 {
  font-size: var(--font14) !important;
}

.font16 {
  font-size: var(--font16) !important;
}

.font18 {
  font-size: var(--font18) !important;
}

.font20 {
  font-size: var(--font20) !important;
}

.font22 {
  font-size: var(--font22) !important;
}

.font25 {
  font-size: var(--font25) !important;
}

.font30 {
  font-size: var(--font30) !important;
}

.font50 {
  font-size: var(--font50) !important;
}

.font40 {
  font-size: var(--font40) !important;
}

.font60 {
  font-size: var(--font60) !important;
}

.font70 {
  font-size: var(--font70) !important;
}

.highlight-text-gold {
  color: #ffd700;

  font-weight: 600;
}

.highlight-text-orange {
  color: var(--primary-color);

  font-weight: 600;
}

.highlight-text-blue {
  color: var(--secondary-color);

  font-weight: 600;
}

/* ============================================================

TYPOGRAPHY HIERARCHY

============================================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;

  line-height: normal;
}

/* --- Main Titles --- */

h1 {
  font-size: var(--font50);

  font-family: "Roboto-Bold";
}

h2 {
  font-size: var(--font50);

  font-family: "Roboto-Bold";
}

h3 {
  font-size: var(--font18);

  font-family: "Roboto-SemiBold";
}

/* --- Body Text --- */

p {
  font-size: var(--font16);

  line-height: 1.5;

  letter-spacing: 0.5px;

  font-weight: 400;

  font-family: "Roboto-Regular";

  color: var(--subtitle-color);

  margin-bottom: 0;
}

/* ============================================================

LINKS & BUTTONS

============================================================ */

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

a {
  color: #222;

  text-decoration: none !important;

  outline: none !important;

  transition: all 0.3s ease-in-out;

  cursor: pointer;
}

a:hover {
  color: var(--primary-color);
}

/* --- Primary Button --- */

.btn-main {
  border-radius: 2.6vw;

  padding: 0.78vw 1.56vw;

  background-color: var(--secondary-color);

  font-size: var(--font18);

  outline: none;

  border: 0.05vw solid var(--secondary-color);

  text-decoration: none;

  transition: all 0.5s ease-out;

  color: var(--white-color);

  font-family: "Roboto-Medium";

  line-height: 1.7;
}

.btn-main:hover {
  color: var(--secondary-color);

  background: var(--white-color);

  border: 0.05vw solid var(--secondary-color);
}

.btn-main.header-call-btn {
  width: auto !important;
  display: inline-flex !important;
}

/* --- Secondary Button --- */

.secondary-btn {
  font-size: var(--font18);

  border-radius: 2.6vw;

  background-color: var(--white-color);

  padding: 0.78vw 1.56vw;

  outline: none;

  border: 0.05vw solid var(--secondary-color);

  text-decoration: none;

  transition: all 0.5s ease-out;

  color: var(--secondary-color);

  font-family: "Roboto-Medium";

  line-height: 1.7;
}

.secondary-btn:hover {
  background-color: var(--secondary-color);

  color: var(--white-color);
}

/* --- Secondary Button --- */

.orange-btn {
  font-size: var(--font18);

  border-radius: 2.6vw;

  background-color: var(--primary-color);

  padding: 0.78vw 1.56vw;

  outline: none;

  /* border: 0.05vw solid var(--primary-color); */

  text-decoration: none;

  transition: all 0.5s ease-out;

  color: var(--white-color);

  font-family: "Roboto-Medium";

  line-height: 1.8;
}

.orange-btn:hover {
  background-color: var(--white-color);

  color: var(--primary-color);
}

/* --- call ring btn Button --- */

.call-ring-btn {
  display: flex;

  column-gap: 0.5vw;

  align-items: center;
}

/* ============================================================

LAYOUT HELPERS

============================================================ */

img {
  max-width: 100%;

  height: auto;
}

ul,
ol,
li {
  margin: 0;

  padding: 0;

  list-style: none;
}

:focus {
  outline: 0;
}

button:focus {
  outline: none !important;
}

.form-control:focus {
  border-color: #ffffff !important;

  box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.25);
}

/* ============================================================

KEYFRAMES ANIMATIONS

============================================================ */

.phone-ring {
  animation: ring 1.5s infinite ease-in-out;
}

@keyframes ring {
  0% {
    transform: rotate(0);
  }

  10% {
    transform: rotate(15deg);
  }

  20% {
    transform: rotate(-10deg);
  }

  30% {
    transform: rotate(15deg);
  }

  40% {
    transform: rotate(-10deg);
  }

  50% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(0);
  }
}

/*---------------------------------------------------------------------

Section Titles

---------------------------------------------------------------------*/

.section {
  position: relative;
}

.section-bg {
  background-color: #0095b306;
}

.section-padding {
  padding: 14vh 0;
}

.section-title {
  color: var(--secondary-color);

  text-align: center;

  padding-bottom: 0.52vw;

  max-width: 60vw;

  margin: auto;
}

.section-para {
  text-align: center;

  font-size: var(--font16);

  max-width: 50vw;

  margin: auto;

  /* font-family: 'Roboto-SemiBold'; */
}

.section-header {
  padding-bottom: 8vh;
}

.section-lbg {
  position: relative;

  background-image:

    /* Top overlay: subtle white gradient for readability */
    linear-gradient(to bottom,
      rgba(255, 255, 255, 0.9),
      rgba(255, 255, 255, 0.9)),
    /* Base brand gradient: diagonal blend */
    linear-gradient(135deg,
      rgba(0, 102, 151, 0.9),
      rgba(0, 148, 179, 0.8),
      rgba(242, 91, 1, 0.9));

  background-size: cover;

  background-repeat: no-repeat;

  background-position: center;
}

/* White overlay */

.section-lbg::before {
  content: "";

  position: absolute;

  inset: 0;

  background: rgba(255,
      255,
      255,
      0.15);
  /* Adjust opacity for desired brightness */

  mix-blend-mode: overlay;
  /* Optional: creates soft light blending effect */

  pointer-events: none;

  z-index: 1;
}

/*---------------------------------------------------------------------

scrollbar styles

---------------------------------------------------------------------*/

/* Custom Scrollbar Styles (Works in Chrome, Safari, and Edge) */

/* 1. Define the size of the scrollbar track */

::-webkit-scrollbar {
  width: 10px;
  /* Adjust the width of the scrollbar */
}

/* 2. Style the scrollbar TRACK (the background groove) */

::-webkit-scrollbar-track {
  background: #f1f1f1;
  /* A light background for the track */

  border-radius: 5px;
}

/* 3. Style the scrollbar THUMB (the draggable part) */

::-webkit-scrollbar-thumb {
  /* APPLY YOUR REQUESTED LINEAR GRADIENT HERE */

  background: linear-gradient(100deg, #006697 0%, #0094b3 100%);

  /* Make the thumb slightly rounded */

  border-radius: 10px;
}

/* 4. Optional: Change the color on hover for visual feedback */

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(100deg, #00557e 0%, #007c92 100%);
}

/* used in all pages excluding homepage */

.hero-section.global-hero-section {
  padding: 30vh 0 25vh 0;

  height: 100vh;
}

.hero-content.global-hero {
  align-items: center;
}

.hero-content.global-hero .hero-para {
  text-align: center;

  margin: auto;

  max-width: 60%;
}

.global-heading-h1 {
  font-size: var(--font70);

  text-align: center;
}

/* ------------------------------------------------------------

Hero Section

------------------------------------------------------------ */

.gradient-bg {
  /* background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); */

  background: linear-gradient(135deg,
      #004aad 0%,

      /* deep blue */
      #00b4d8 35%,

      /* bright cyan */
      #90e0ef 60%,

      /* soft aqua */
      #ff8c42 100%
      /* warm orange accent */
    );
}

.hero-section {
  padding: 21vh 0 15vh 0;

  display: flex;

  justify-content: center;

  align-items: center;

  position: relative;

  z-index: 1;

  min-height: 100vh;
}

.hero-content {
  height: 100%;

  display: flex;

  flex-direction: column;

  justify-content: center;

  align-items: flex-start;
}

.hero-img-wrapper img {
  width: 100%;

  height: 100%;

  object-fit: cover;
}

.hero-img-wrapper {
  border-radius: var(--card-border-radius);

  overflow: hidden;

  width: 85%;

  height: 100%;

  margin: 0%;
}

.green-round {
  width: 0.7vw;

  height: 0.7vw;

  background-color: #00ff00;

  border-radius: 50%;

  margin-top: -0.1vw;
}

.hero-tag {
  display: flex;

  align-items: center;

  font-family: "Roboto-Medium";

  color: #fff;

  background-color: #ffffff33;

  padding: 0.7vw 1vw;

  border-radius: 1.56vw;

  backdrop-filter: blur(0.52vw);

  column-gap: 0.52vw;
}

.hero-heading h1 {
  color: var(--white-color);

  padding: 0;
}

.hero-tag p {
  color: var(--white-color);
}

.content-wrapper {
  display: flex;

  flex-direction: column;

  align-items: start;

  row-gap: 0.78vw;
}

.hero-btns {
  display: flex;

  column-gap: 1.04vw;
}

.hero-highlights {
  display: flex;

  flex-direction: column;

  row-gap: 1vw;

  padding: 1.5vw 0 2vw 0;

  font-size: var(--font18);
}

.hero-highlights li {
  position: relative;

  padding-left: 1.77vw;

  color: var(--white-color);

  list-style: none;

  line-height: 1.2;
}

.hero-highlights li::before {
  content: "";

  position: absolute;

  left: 0;

  top: 0;

  width: 1.04vw;

  height: 1.04vw;

  background: url(../images/check.svg) no-repeat center;

  background-size: contain;

  margin-top: 0.04vw;

  filter: brightness(2);
}

.hero-para {
  max-width: 31.25vw;

  padding-top: 0.6vw;

  font-size: var(--font22);

  color: var(--white-color);
}

.hero-head {
  max-width: 45vw;

  font-size: var(--font50);
}

/* ------------------------------------------------------------

why us section css

------------------------------------------------------------ */

.why-title {
  max-width: 67vw;

  margin: auto;
}

.why-para {
  max-width: 42vw;

  margin: auto;
}

.why-us-card {
  display: flex;

  flex-direction: column;

  justify-content: space-between;

  transition:
    background-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;

  padding: 2vw 2vw;

  border-radius: var(--card-border-radius);

  box-shadow: 0 0 2vw 0.1vw rgb(0 0 0 / 7%);

  height: 100%;
}

.why-us-card:hover {
  box-shadow: 0 0 2vw 0.1vw rgb(0 0 0 / 15%);

  transform: translateY(-0.5rem);
}

.why-us-card .card-para,
.why-us-card .card-title {
  transition: color 0.3s;
}

.icon-wrapper {
  width: 3vw;
  /* adjust size as needed */

  height: 3vw;

  display: flex;

  justify-content: center;

  align-items: center;

  border-radius: 1vw;

  background: var(--site-primary-gradient);

  color: #fff;
  /* icon color */
}

.icon-wrapper img {
  filter: invert(1);

  width: 1.5vw;
}

/* .why-row{

width:100%;

margin: auto;

} */

.card-title {
  padding: 1.4vw 0 0.5vw 0;
}

.card-separator hr {
  margin: 1vw 0;

  color: var(--grey-color);
}

.card-extra-info p {
  color: var(--light-blue);

  font-weight: 600;
}

/* ------------------------------------------------------------

Detailed Course Section Css

------------------------------------------------------------ */

.course-card {
  box-shadow: 0 0 2vw 0.1vw rgb(0 0 0 / 7%);

  border-radius: var(--card-border-radius);

  overflow: hidden;

  transition:
    background-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;

  background-color: var(--white-color);

  padding: 2vw 2vw;

  /* width: calc(100% - 1vw); */
}

.course-feature {
  display: flex;

  flex-direction: column;

  row-gap: 1vw;
}

.courser-tags {
  display: flex;

  flex-wrap: wrap;

  column-gap: 0.52vw;

  row-gap: 0.52vw;
}

.course-tag {
  font-family: "Roboto-Medium";

  color: var(--white-color);

  background-color: var(--light-blue);

  padding: 0.52vw 1vw;

  border-radius: 1.56vw;

  backdrop-filter: blur(0.52vw);

  column-gap: 0.52vw;

  width: fit-content;
}

.detailed-course-title {
  max-width: 80vw;

  margin: auto;
}

.detailed-course-para {
  max-width: 45vw;

  margin: auto;
}

.d-card-title {
  color: var(--secondary-color);
}

.d-card-content-top {
  display: flex;

  flex-direction: column;

  row-gap: 5vh;

  padding-bottom: 5vh;
}

/* .course-row{

width: 100%;

margin: auto;

} */

.course-card {
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.94)),
    /* White with 70% opacity */
    url(../images/home/foundation-doodle-bg.avif);
  /* The original image */

  background-size: cover;

  background-position: 50% 2%;

  background-repeat: no-repeat;

  height: 100%;
}

.d-card-content {
  height: -webkit-fill-available;

  display: flex;

  flex-direction: column;

  justify-content: space-between;
}

.student-img-bg1 {
  width: 100%;

  height: 25vh;

  border-radius: var(--card-border-radius);

  overflow: hidden;

  background-image:
    linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)),
    url(../images/home/science-student.avif);

  background-size: cover;

  background-position: 50% 4%;

  background-repeat: no-repeat;
}

.student-img-bg1.student-img-bg2 {
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),
    url(../images/home/kids.avif);

  background-position: 50% 42%;
}

.student-img-bg1.student-img-early {
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.1)),
    url(../images/home/kidsbg.avif);

  background-position: 50% 15%;
}

/* .student-img-wrapper img{

width: 100%;

height: 100%;

object-fit: cover;

} */

.d-card-para strong {
  color: var(--secondary-color);
}

.d-check-icon {
  width: 1.1vw;

  height: 1.1vw;

  flex-shrink: 0;
}

.d-list {
  display: flex;

  column-gap: 0.5vw;
}

.foundation-title-wrapper {
  display: flex;

  flex-direction: column;

  row-gap: 0.5vw;
}

.fe-tag-wrapper {
  display: flex;

  flex-direction: column;

  row-gap: 1.56vw;
}

.foundation-icon-wrapper {
  /* Set the gradient background using the Tailwind colors */

  background-image: linear-gradient(to bottom,

      #ffedd5,
      /* from-orange-100 */
      #fed7aa
      /* to-orange-200 */
    );

  /* Define the size and shape of the wrapper */

  display: inline-flex;
  /* Use flex for easy centering of the image */

  justify-content: center;

  align-items: center;

  width: 3vw;
  /* Example size */

  height: 3svw;
  /* Example size */

  border-radius: 1vw;
  /* Example: make it a circle */
}

/* Ensure the SVG image fits nicely inside the wrapper */

.foundation-icon-wrapper img {
  width: 60%;
  /* Make the icon smaller than the wrapper */

  height: 60%;
}

.foundation-icon-wrapper.primary-icon-wrapper {
  background-image: linear-gradient(to bottom,
      #dbf1e2,
      /* Very Light Green-Yellow */
      #bef2649e
      /* Soft Lime Green */
    );
}

.foundation-icon-wrapper.advanced-icon {
  background-image: linear-gradient(to bottom,

      #bfdbfe,
      /* from-orange-100 */
      #dbeafe
      /* to-orange-200 */
    );
}

.foundation-content {
  display: flex;

  column-gap: 1vw;
}

/* ------------------------------------------------------------

*Detailed Course Section Part 2 Css

------------------------------------------------------------ */

.integrated-features {
  background: linear-gradient(135deg,
      var(--secondary-color) 0%,
      var(--light-blue) 100%);

  border-radius: var(--card-border-radius);

  color: white;

  margin-top: 4vh;

  margin-bottom: 6vh;
}

.feature-icon {
  display: inline-flex;

  justify-content: center;

  align-items: center;

  width: 6vw;

  height: 6vw;

  flex-shrink: 0;

  background-color: var(--white-color);

  border-radius: 1.5vw;
}

.feature-icon img {
  width: 40%;

  height: 40%;
}

.feature-box {
  display: flex;

  flex-direction: column;

  align-items: center;

  text-align: center;

  padding: 2vw 2vw;

  row-gap: 1vw;
}

.feature-para {
  color: var(--white-color);

  opacity: 0.8;

  padding-top: 0.5vh;
}

/*

<!----------------------------------------------------------------------

Testimonial Section CSS

-----------------------------------------------------------------------> */

.testimonial-section {
  overflow: hidden;

  padding-bottom: 18vh;
}

.section-title.testimonial-title {
  max-width: 45vw;
}

.section-title.testimonial-title,
.testimonial-para {
  text-align: left;
}

.swiper.testimonial-slider {
  width: 100%;

  height: 100%;

  overflow: visible;
}

.swiper-slide.testimonial-slide {
  box-shadow: 0 0 2vw 0.1vw rgb(0 0 0 / 8%);

  border-radius: var(--card-border-radius);

  padding: 2vw 2vw;

  display: flex;

  flex-direction: column;

  justify-content: space-between;

  user-select: none;

  /* bg css */

  background-image:
    linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)),
    /* White with 70% opacity */
    url(../images/home/white-bg-doodle.webp);
  /* The original image */

  background-size: cover;

  background-position: 50% 50%;

  background-repeat: no-repeat;

  height: auto;
}

.testimonial-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.swiper-slide img {
  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;
}

.slide-top {
  display: flex;

  column-gap: 1.56vw;

  align-items: end;

  width: 100%;

  justify-content: space-between;
}

.slide-top .abstract-icon {
  width: 2.5vw;

  height: 2.5vw;

  opacity: 0.7;
}

.rating-wrapper .star {
  font-size: var(--font30);
}

.rating-wrapper {
  display: flex;

  gap: 0.2vw;
  /* Space between stars */
}

.star {
  color: transparent;
  /* Make star transparent to show gradient */

  background: linear-gradient(90deg,
      #ffd700,
      #ffa500);
  /* Golden gradient from gold to orange */

  -webkit-background-clip: text;
  /* Clip gradient to text for WebKit browsers */

  background-clip: text;
  /* Standard property for gradient text */
}

.t-card-para {
  padding: 1.5vw 0 1vw 0;

  color: var(--black-color);
}

.testimonial-nav-wrapper {
  display: flex;

  justify-content: flex-end;

  column-gap: 1vw;

  padding-top: 4vh;

  padding-right: 4vw;
}

.testimonial-nav-btn {
  width: 3vw;

  height: 3vw;

  display: inline-flex;

  justify-content: center;

  align-items: center;

  background-color: var(--white-color);

  box-shadow: 0 0 1vw 0.1vw rgb(0 0 0 / 10%);

  border-radius: 50%;

  cursor: pointer;

  transition:
    background-color 0.3s,
    box-shadow 0.3s;

  column-gap: 1vw;

  /* border: .2px solid var(--secondary-color); */
}

.testimonial-nav-btn img {
  width: 40%;

  height: 40%;
}

.testimonial-nav-btn:hover {
  background-color: var(--secondary-color);

  box-shadow: 0 0 1vw 0.1vw rgb(0 0 0 / 30%);

  /* transform: translateY(-0.1vw); */
}

.testimonial-nav-btn:hover img {
  filter: invert(100%) brightness(300%);
}

.testimonial-head-content {
  display: flex;

  column-gap: 1.56vw;

  align-items: center;

  justify-content: space-between;

  padding-bottom: 4vh;
}

.section-header.testimonial-section-header {
  padding-bottom: 0vh;
}

.testimonial-pagination {
  bottom: -6vh !important;
}

.testimonial-pagination .swiper-pagination-bullet {
  width: 0.6vw;

  height: 0.6vw;
}

.testimonial-pagination .swiper-pagination-bullet-active {
  background-color: var(--light-blue);
}

/*

<!----------------------------------------------------------------------

Key Metrics Section Start 

-----------------------------------------------------------------------> */

.key-metrics-section {
  background:
    linear-gradient(to bottom,
      rgba(255, 255, 255, 0.9),
      rgba(255, 255, 255, 0.9)),
    linear-gradient(135deg,
      rgba(0, 102, 151, 0.9),
      rgba(0, 148, 179, 0.8),
      rgba(242, 91, 1, 0.9));

  /* background-attachment: fixed; */

  background-size: cover;

  background-position: 55% 20%;

  display: flex;

  height: 100%;

  padding: 10vh 0 10vh 0;
}

.metric-card {
  text-align: center;
}

.metric-number {
  color: var(--secondary-color);
}

.metric-label {
  color: var(--secondary-color);

  opacity: 0.9;
}

.section-para.key-metrics-para {
  max-width: 40vw;

  margin: auto;
}

/*

<!----------------------------------------------------------------------

The Final Call-to-Action Section Start

-----------------------------------------------------------------------> */

.final-cta-row {
  justify-content: center;
}

.final-cta-col {
  background-image: url(../images/home/ctabg.webp);

  background-size: cover;

  border-radius: var(--card-border-radius);

  padding: 20vh 4vw;

  text-align: center;

  color: var(--white-color);

  box-shadow: 0 0 2vw 0.1vw rgb(0 0 0 / 10%);

  height: 100%;
}

.final-cta-para {
  padding: 1vh 0 4vh 0;

  color: var(--white-color);

  opacity: 0.9;

  max-width: 30vw;

  margin: auto;
}

.main-cta-wrapper {
  display: flex;

  justify-content: center;

  column-gap: 1.56vw;
}

.final-cta-title {
  max-width: 50vw;

  margin: auto;
}

/* ======================================================================

* FOOTER SECTION START CSS

* Applied to: .main-footer

* ====================================================================== */

.main-footer {
  /* Background Gradient and Colors */

  background: linear-gradient(135deg,
      var(--secondary-color) 0%,
      var(--light-blue) 100%);

  color: var(--white-color);

  /* Layout and Spacing */

  padding-top: 10vh;

  font-size: 0.95rem;

  /* Design Elements */

  border-top-left-radius: var(--card-border-radius);

  border-top-right-radius: var(--card-border-radius);

  overflow: hidden;
  /* Corrected typo 'ovetflow' to 'overflow' */
}

.main-footer h1,
.main-footer h2,
.main-footer h3,
.main-footer h4,
.main-footer h5,
.main-footer h6 {
  margin: 0 !important;
  line-height: normal !important;
}

/* Base text color for better readability on the dark background */

.about-col p,
.footer-links-quick a,
.contact-item p,
.address,
.footer-bottom-content p,
.footer-para {
  color: #f4f7f9;
  /* Light white color */
}

/* Footer Grid Layout */

.footer-grid {
  display: grid;

  /* Grid structure: About (1.5fr), Links (1fr), Location/Map (1fr) */

  grid-template-columns: 1.5fr 1fr 1fr;

  gap: 0.5vw;

  padding-bottom: 5vh;
}

/* Headings */

.footer-heading {
  color: var(--white-color);

  margin-bottom: 1.5vw;

  font-size: var(--font20);

  font-weight: 600;
}

/* ======================================================================

* COLUMN 1: BRAND, ABOUT, & SOCIALS (.about-col)

* ====================================================================== */

.about-col {
  display: flex;

  flex-direction: column;

  row-gap: 2vw;

  padding-right: 1vw;
  /* Add some padding to separate from the next column */
}

/* Logo and Text Wrapper */

.footer-logo-wrapper {
  display: flex;

  align-items: center;

  column-gap: 1vw;
}

.footer-logo {
  width: 4vw;
}

.logo-data-wrapper {
  max-width: 25vw;
}

/* About Paragraph */

.footer-para {
  max-width: 30vw;

  padding: 2vh 0 0 0;
}

/* Social Links */

.social-links {
  display: flex;

  column-gap: 0.5vw;
}

.social-links a {
  color: #fff;
  /* Base icon color */

  margin-right: 0.8vw;

  transition: color 0.3s;
}

.s-icon-wrapper {
  border: 1px solid var(--white-color);

  padding: 0.55vw 0.77vw;

  border-radius: 50%;

  height: 2.5vw;

  width: 2.5vw;

  display: flex;

  justify-content: center;

  align-items: center;

  position: relative;
}

.s-icon-wrapper i {
  font-size: 1.05vw;

  display: flex;

  justify-content: center;

  align-items: center;

  position: absolute;

  right: 0;

  left: 0;

  top: 0;

  bottom: 0;

  line-height: initial;
}

.social-links a:hover .s-icon-wrapper {
  color: var(--white-color);

  background-color: var(--primary-color);
  /* Orange accent on hover */

  border: 1px solid var(--primary-color);
}

/* Contact Information (Nested under the first grid column) */

.contact-col {
  display: flex;

  flex-direction: column;

  row-gap: 3vh;
}

.contact-item {
  display: flex;

  flex-direction: column;

  align-items: flex-start;

  justify-content: center;

  row-gap: 0.4vw;
}

.cn-wrapper {
  display: flex;

  align-items: flex-start;

  column-gap: 0.5vw;

  color: var(--white-color);
  /* Ensures anchor text color is white by default */
}

.contact-item i {
  color: var(--white-color);
  /* Base icon color, will be overridden by hover */

  font-size: 0.9vw;

  margin-top: 0.2vw;
}

.contact-item p {
  line-height: 1.3;
}

/* Hover effects for contact details */

.contact-item a:hover i,
.contact-item a:hover p {
  color: var(--primary-color);
}

/* ======================================================================

* COLUMN 2: QUICK LINKS (.quick-col)

* ====================================================================== */

.footer-links-quick {
  list-style: none;

  padding-left: 0;
  /* Important reset */

  margin-top: 1vw;

  display: flex;

  flex-direction: column;

  justify-content: space-between;

  row-gap: 1vw;
}

.footer-links-quick li {
  margin-bottom: 1vh;
}

.footer-links-quick a {
  color: #f4f7f9;
  /* Ensures link text is visible */

  transition: color 0.3s;
}

.footer-links-quick a:hover {
  color: var(--primary-color);
  /* Orange accent on hover */
}

/* ======================================================================

* COLUMN 3: LOCATION & MAP (.location-col)

* ====================================================================== */

.map-embed-box {
  background-color: #4a5c71;

  height: 40vh;

  width: 100%;

  margin-bottom: 1vw;

  display: flex;

  justify-content: center;

  align-items: center;

  color: #ccc;

  font-style: italic;

  overflow: hidden;

  border-radius: var(--card-border-radius);
}

.address {
  font-size: 0.9rem;
}

.location-wrapper {
  display: flex;

  column-gap: 0.5vw;

  background-color: #ffffff21;
  /* Semi-transparent white background for the address block */

  overflow: hidden;

  border-radius: 1vw;

  padding: 1vw;
}

.location-wrapper i:first-child {
  margin-top: 0.4vw;

  font-size: 1.1vw;

  color: var(--white-color);
  /* Base icon color */
}

.location-inner-wrapper {
  display: flex;

  align-items: center;

  column-gap: 0.2vw;

  margin-top: 1vh;

  color: var(--white-color);

  width: fit-content;

  padding: 0.5vh 0;
}

.location-inner-wrapper p {
  color: var(--white-color);

  font-weight: 500;
}

.location-inner-wrapper i {
  font-size: 0.8vw;

  color: var(--white-color);
  /* Base icon color */
}

/* Hover effects for location link */

.location-add-wrapper a:hover i,
.location-add-wrapper a:hover p {
  color: var(--primary-color);
}

/* ======================================================================

* FOOTER BOTTOM BAR

* ====================================================================== */

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);

  margin-top: 0;

  padding: 1vw 0 1.5vw 0;
}

.footer-bottom-content {
  display: flex;

  justify-content: space-between;

  align-items: center;

  font-size: 0.85rem;
}

.contact-btn {
  width: 2.5vw;
  height: 2.5vw;
}

.whatsapp-btn {
  background-color: white;
}

.whatsapp-logo {
  width: 100%;
}

.legal-wrapper {
  display: flex;

  column-gap: 1.5vw;

  padding-right: 4vw;
}

.footer-bottom-content a {
  color: #f4f7f9;

  transition: color 0.3s;
}

.footer-bottom-content a:hover {
  color: var(--primary-color);
}

/* ======================================================================

* RESPONSIVE ADJUSTMENTS

* ====================================================================== */

/* Tablet (max-width: 992px) */

@media (max-width: 992px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    /* 2 columns on tablet */
  }

  .location-col {
    grid-column: span 2;
    /* Map takes full width on tablet */
  }

  /* Reset font sizes using static units */

  .footer-logo {
    width: 60px;
  }

  .footer-para {
    max-width: 100%;
  }

  .s-icon-wrapper {
    height: 40px;
    width: 40px;
  }

  .s-icon-wrapper i {
    font-size: 1.2rem;
  }

  .contact-item i {
    font-size: 1rem;
  }
}

/* Mobile (max-width: 576px) */

@media (max-width: 576px) {
  .footer-grid {
    grid-template-columns: 1fr;
    /* 1 column on mobile */

    gap: 30px;
  }

  .location-col {
    grid-column: span 1;
  }

  .footer-bottom-content {
    flex-direction: column;

    text-align: center;
  }

  .legal-wrapper {
    margin-top: 10px;
  }

  .footer-logo {
    width: 50px;
  }
}

/*

<!----------------------------------------------------------------------

          **FOOTER CSS END

-----------------------------------------------------------------------> */

/* ========================================================================================================================

About us Page Css start

======================================================================================================================== */

.about-heading {
  color: var(--white-color);
}

.about-btn {
  padding-top: 2vw;
}

.about-para {
  padding-top: 2vh;
}

/*

<!----------------------------------------------------------------------

our-approch css

-----------------------------------------------------------------------> */

.why-us-card.our-approch-card:hover {
  background: #ffc1071c;
}

.foundation-icon-wrapper.our-approch {
  width: 4vw;

  height: 4vw;
}

/*

<!----------------------------------------------------------------------

our-commitment css

-----------------------------------------------------------------------> */

.our-journey-img-wrapper {
  position: relative;

  border-radius: var(--card-border-radius);

  overflow: hidden;

  height: 100%;

  background-image: url(../images/about/our-commitment.avif);

  background-size: cover;

  background-position: 50% 15%;

  background-repeat: no-repeat;
}

.our-journey-img-wrapper img {
  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;
}

/* The magic for the overlay */

.our-journey-img-wrapper::before {
  content: "";

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  background-color: rgba(0, 0, 0, 0.4);

  z-index: 1;
}

.row.our-journey-row .margin-left {
  padding-left: 2vw;

  display: flex;

  flex-direction: column;

  row-gap: 5vh;
}

.row.our-journey-row .margin-right {
  padding-right: 2vw;
}

.our-journey-content {
  display: flex;

  column-gap: 1vw;
}

.our-journey-data-icon {
  width: 3vw;

  height: 3vw;

  border-radius: 50%;

  display: flex;

  justify-content: center;

  align-items: center;

  background: var(--site-primary-gradient);

  color: #fff;

  flex-shrink: 0;
}

.our-journey-data-icon img {
  width: 1.5vw;

  height: 1.5vw;
}

.our-journey-content-para {
  max-width: 30vw;

  padding: 1vh 0 0 0;
}

/*

<!----------------------------------------------------------------------

meet our Leaders css

-----------------------------------------------------------------------> */

/* --- Main Card Styling & Spacing (All colors, BG, and shadows removed) --- */

.directors-row {
  /* Large bottom margin using vw */

  margin-bottom: 3vw;

  max-width: 70vw;

  margin: auto;
}

.director-card .card-content {
  justify-content: space-between;

  padding: 2vw;

  background-color: var(--white-color);
}

.director-card {
  /* Card structure remains for content organization */

  border: 1px solid black;
  /* Adding a border to visually define the card */

  border: 1px solid var(--light-blue);

  border-radius: 0.5vw;

  height: 100%;

  /* Vertical gap for mobile/wrapped columns using vh */

  margin-bottom: 2vh;

  overflow: hidden;
}

@media (min-width: 992px) {
  .director-card {
    margin-bottom: 0;
  }
}

/* --- Card Inner Content and Spacing (Equivalent to p-8, now in vw/vh) --- */

.card-content {
  padding: 0 0;

  display: flex;

  flex-direction: column;

  /* justify-content: space-between; */

  height: 100%;
}

/* --- Header Section --- */

.card-header-flex {
  display: flex;

  align-items: top;

  margin-bottom: 1.5vh;
}

.profile-badge-container {
  position: relative;

  margin-right: 1.5vw;

  height: fit-content;
}

.profile-img {
  /* Size based on viewport width */

  width: 5vw;

  height: 5vw;

  min-width: 80px;
  /* Safety min size */

  min-height: 80px;

  border-radius: 50%;

  object-fit: cover;
}

.profile-canvas {
  /* Same as profile-img */

  width: 5vw;

  height: 5vw;

  min-width: 80px;

  min-height: 80px;

  border-radius: 50%;

  object-fit: cover;
}

/* --- Badge Icons (No color/BG) --- */

.badge-icon {
  position: absolute;

  bottom: 0;

  right: 0;

  width: 1.8vw;

  height: 1.8vw;

  min-width: 0.5vw;

  min-height: 0.5vw;

  border-radius: 50%;

  display: flex;

  align-items: center;

  justify-content: center;

  transform: translate(10%, 10%);

  background: #0094b3;

  /* border: 1px solid black; */
}

.badge-icon img {
  width: 60%;

  height: 60%;
}

/* --- Text Styles (No font size, relying on browser defaults and vh/vw spacing) --- */

.director-name {
  margin-bottom: 0.5vh;
}

.director-title {
  margin-bottom: 0.5vh;

  font-weight: 600;

  color: var(--light-blue);
}

.director-quali {
  margin-bottom: 0;
}

.director-desc {
  /* Line height remains default, bottom margin in vh */

  padding: 2vh 0 4vh 0;
}

/* --- Stats Boxes (No color/BG) --- */

.stat-box {
  text-align: center;

  padding: 2vh 0.5vw;

  border-radius: 0.3vw;
}

/* Manual adjustment for the small gap between col-6 elements */

.stat-row>div:first-child .stat-box {
  margin-right: 0.5vw;

  background-image: linear-gradient(to bottom,
      #bfdbfe69,
      /* from-orange-100 */
      #dbeafe52
      /* to-orange-200 */
    );

  color: var(--secondary-color);
}

.stat-row>div:last-child .stat-box {
  margin-left: 0.5vw;

  background-image: linear-gradient(to bottom,
      #dbf1e293,
      /* Very Light Green-Yellow */
      #bef2641b
      /* Soft Lime Green */
    );

  color: var(--green-color);
}

.stat-number {
  /* Font size relative to viewport width */

  font-weight: bold;
}

.stat-label {
  color: var(--subtitle-color);

  font-weight: 300;
}

/* --- Social Icons (No color/size on icons) --- */

.social-icons {
  display: flex;

  align-items: center;
}

.social-icons a {
  text-decoration: none;

  margin-right: 1vw;
}

.row.directors-row .margin-left,
.row.directors-row .margin-right {
  padding-left: 1vw;
}

.section-para.meet-instructor-para {
  max-width: 40vw;

  margin: auto;
}

/*

<!----------------------------------------------------------------------

Final Section: Our Nikole Center css

-----------------------------------------------------------------------> */

.facility-list {
  display: flex;

  flex-direction: column;

  row-gap: 1vw;

  padding-bottom: 4vh;
}

.facility-list li {
  display: flex;

  column-gap: 0.5vw;

  align-items: flex-start;
}

.facility-icon {
  flex-shrink: 0;
}

.facility-icon img {
  width: 1vw;

  height: 1vw;
}

.center-facilities-box .box-title {
  margin-bottom: 1vw;
}

.address-details {
  max-width: 30vw;
}

.address-details p:first-child {
  color: var(--secondary-color);
}

.location-inner-wrapper.get-direction-link {
  border-bottom: 1px solid var(--secondary-color);

  padding-bottom: 0.1vh;
}

.location-inner-wrapper.get-direction-link p {
  font-weight: 600;
}

.location-inner-wrapper.get-direction-link i {
  color: var(--secondary-color);
}

.location-inner-wrapper.get-direction-link:hover i,
.location-inner-wrapper.get-direction-link:hover p {
  color: var(--primary-color);
}

.location-inner-wrapper.get-direction-link:hover {
  border-bottom: 1px solid var(--primary-color);
}

.row.our-nikole-center-row {
  row-gap: 6vh;
}

.row.our-nikole-center-row .margin-left {
  padding-left: 1vw;
}

.row.our-nikole-center-row .margin-right {
  padding-right: 1vw;
}

.map-and-address-block.margin-right {
  height: -webkit-fill-available;
}

.map-and-address-block.margin-right .map-embed-box {
  height: 100%;
}

/* ========================================================================================================================

Srevice page std 12 Css start

======================================================================================================================== */

.our-methodology-card {
  display: flex;

  flex-direction: column;

  justify-content: space-between;

  transition:
    background-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;

  padding: 2vw 2vw;

  border-radius: var(--card-border-radius);

  box-shadow: 0 0 2vw 0.1vw rgb(0 0 0 / 7%);

  height: 100%;

  background-color: var(--white-color);
}

.our-methodology-card:hover {
  box-shadow: 0 0 2vw 0.1vw rgb(0 0 0 / 15%);

  transform: translateY(-0.5rem);
}

.methodology-icon-wrapper {
  width: 3vw;

  height: 3vw;

  display: flex;

  justify-content: center;

  align-items: center;

  border-radius: 1vw;

  background: var(--site-primary-gradient);

  color: #fff;
}

.methodology-icon-wrapper img {
  width: 1.8vw;
}

.row.our-methodology-row {
  row-gap: 2vh;
}

.our-methodology-card.more-feature-btn {
  display: flex;

  justify-content: center;

  align-items: center;

  box-shadow: none;

  background-color: transparent;
}

.more-feature-btn {
  display: flex;

  justify-content: center;

  align-items: center;
}

.more-feature-btn img {
  text-align: center;

  width: 40%;

  height: 40%;
}

.more-feature-btn .r-arrow-btn {
  border-radius: 50%;

  background-color: var(--secondary-color);

  transition: 0.4s all ease;

  width: 3.5vw;

  height: 3.5vw;

  margin: auto;

  display: flex;

  justify-content: center;

  align-items: center;
}

.more-btn {
  padding-top: 15px;

  font-weight: 600;

  color: var(--secondary-color);
}

.our-methodology-card:hover.more-feature-btn {
  transform: translateY(0);
}

.more-btn-link:hover .r-arrow-btn {
  background-color: var(--primary-color);
}

.more-btn-link:hover .more-btn {
  color: var(--primary-color);
}

/* ********************** Srevice page std 10 page ********************** */

.primary-img-wrapper {
  background-image: url(../images/service/keymtericbg.webp);

  background-size: cover;

  background-position: 50% 50%;

  background-repeat: no-repeat;

  height: 40vh;

  border-radius: var(--card-border-radius);

  overflow: hidden;
}

.primary-img-wrapper.board-img {
  background-image: url(../images/service/board.avif);
}

.row.structured-learning-row {
  width: 80%;

  margin: auto;

  align-items: center;
}

.row.structured-learning-row .padding-left {
  padding-left: 1vw;
}

.row.structured-learning-row .padding-right {
  padding-right: 1vw;
}

.row.structured-learning-row .margin-left {
  margin-left: 1vw;
}

.row.structured-learning-row .margin-right {
  margin-right: 1vw;
}

.row.structured-learning-row.board-row {
  padding-top: 15vh;
}

.remove-bg .key-metrics-section {
  background-image: none;
}

.advantage-row-wrapper {
  display: flex;

  flex-direction: column;

  row-gap: 15vh;
}

/* ========================================================================================================================

Contact Us page Css start

======================================================================================================================== */

.contact-details-main {
  display: grid;

  grid-template-columns: 1fr 1fr;

  text-align: center;

  padding: 10vh 0px 0px 0px;

  width: 60%;

  /*width changed*/
}

.contact-details-main h3 {
  margin: 0;

  padding: 2vh 0;
}

#phone-no {
  /* border-left: 1px solid rgba(0, 0, 0, .1); */

  border-right: 1px solid rgba(39, 41, 56, 0.1);
}

.contact-sub-div {
  padding: 20px 20px;

  display: flex;

  flex-direction: column;

  justify-content: center;

  align-items: center;

  row-gap: 1vh;

  color: var(--primary-color);
}

.contact-sub-div p {
  color: var(--secondary-color);

  font-weight: bold;
}

.contact-sub-div h2 {
  color: var(--primary-color);
}

#address-detail a {
  color: var(--secondary-color);

  text-decoration: none;

  font-weight: 600;
}

#address-detail a:hover {
  color: var(--primary-color);
}

.cn-wrapper.cnt-us,
.cn-wrapper.cnt-us p {
  color: var(--secondary-color);

  font-weight: bold;

  align-items: center;
}

.cn-wrapper.cnt-us:hover,
.cn-wrapper.cnt-us:hover p {
  color: var(--primary-color);
}

.cnt-number-wrapper {
  display: flex;

  flex-direction: column;

  row-gap: 1vh;
}

.nikol-center-address-title {
  padding-bottom: 2vh;

  padding-left: 0.5vw;
}

/* contact form css start */

.form-wrapper {
  background: #fff;

  border-radius: 1.2vw;

  border: 0.1vw solid #dcdcdc;

  /* box-shadow: 0 0.6vw 2vw rgba(90, 90, 140, 0.09); */

  /* max-width: 26vw; */

  padding: 1vw;

  width: 100%;

  display: flex;

  flex-direction: column;

  align-items: stretch;

  height: 100%;

  justify-content: space-between;
}

.form-title {
  text-align: center;

  font-weight: 600;

  font-size: 1.7rem;

  color: #222;

  letter-spacing: 0.01em;

  margin-bottom: 1.5vw;
}

.form-row {
  display: flex;

  gap: 1.5vw;

  margin-bottom: 1vw;
}

.half-width {
  width: 50%;

  box-sizing: border-box;
}

.form-group {
  display: flex;

  flex-direction: column;

  position: relative;
}

.form-label {
  font-size: 1rem;

  font-weight: bold;

  color: #222;

  margin-bottom: 0.6vw;

  display: none;
}

.form-field,
.form-select,
textarea.form-field {
  /* font-family: inherit; */

  font-size: 1.06rem;

  padding: 0.8vw 2.6vw 0.8vw 0.9vw;

  border: 0.12vw solid #dcdcdc;

  border-radius: 0.6vw;

  background: #fff;

  transition: border-color 0.18s;

  color: #222;

  box-sizing: border-box;

  outline: none;

  width: 100%;

  appearance: none;

  resize: none;
}

.form-field:focus,
.form-select:focus {
  border-color: var(--light-blue);

  box-shadow: none;
}

.form-select-wrapper {
  position: relative;
}

/* Chevron-style dropdown arrow (clean rotations) */

.dropdown-arrow {
  position: absolute;

  right: 1.2vw;
  /* keep spacing consistent with your layout */

  top: 50%;

  width: 0.6vw;

  height: 0.6vw;

  border: 0.14vw solid #333;

  border-top: none;

  border-left: none;

  transform: translateY(-50%) rotate(45deg);
  /* closed = pointing down */

  transform-origin: 50% 50%;

  transition: transform 0.24s ease;

  pointer-events: none;
}

/* When select has "open" class, rotate chevron to point up */

.form-select.open+.dropdown-arrow {
  transform: translateY(-50%) rotate(-135deg);
  /* open = pointing up */
}

.form-message {
  color: #ba0606;

  font-size: 0.9rem;

  margin-top: 0.5vw;

  display: none;
}

.form-button {
  background: #f4c900;

  color: #222;

  font-weight: bold;

  font-size: 1.15rem;

  width: 100%;

  margin: 2vw auto 0 auto;

  border: none;

  border-radius: 100vw;

  padding: 1.2vw 0;

  cursor: pointer;

  box-shadow: 0 0.15vw 0.7vw rgba(244, 201, 0, 0.12);

  letter-spacing: 0.03em;

  transition:
    background 0.2s,
    color 0.14s;

  display: block;
}

.form-button:hover {
  background: #ffe174;

  color: #444;
}

.row.contact-us-row .map-embed-box {
  height: 100%;
}

.row.contact-us-row .margin-left {
  padding-left: 1vw;
}

.row.contact-us-row .margin-right {
  padding-right: 1vw;
}

.address-details.map-address {
  padding-top: 1vh;
}

.cnt-btn-wrapper {
  display: flex;

  align-items: center;

  /* justify-content: center; */

  padding-top: 2vh;
}

@media (max-width: 768px) {
  .form-wrapper {
    max-width: 100%;

    padding: 15px;

    border-radius: 10px;
  }

  .form-title {
    font-size: 5vw;

    margin-bottom: 3vw;
  }

  .form-label {
    font-size: 3.5vw;
  }

  .form-field,
  .form-select,
  textarea.form-field {
    font-size: 16px;

    padding: 15px 10px;

    border-radius: 10px;

    border: 1px solid #00000085;
  }

  .form-button {
    font-size: 4vw;

    padding: 3.2vw 0;

    border-radius: 10vw;
  }

  .dropdown-arrow {
    right: 3vw;

    border-left: 2vw solid transparent;

    border-right: 2vw solid transparent;

    border-top: 2.4vw solid #333;
  }

  .form-row {
    flex-direction: column;

    gap: 10px;

    margin-bottom: 10px;
  }

  .half-width {
    width: 100%;
  }

  .cnt-btn-wrapper #submitBtn {
    width: 100%;
  }

  .dropdown-arrow {
    position: absolute;

    right: 20px;

    top: 50%;

    width: 15px;

    height: 15px;

    border: 1px solid #333;

    border-top: none;

    border-left: none;
  }
}

/* contact form css end */
/* ============================================================
   RESPONSIVE.CSS — imported from main site
============================================================ */
/* ============================================================

   (max-width: 1600px)

============================================================ */



@media screen and (max-width: 1600px) {



	.why-para {

		max-width: 50vw;

	}



	.section-para.key-metrics-para {

		max-width: 50vw;

	}



	.final-cta-title {

		max-width: 60vw;

		margin: auto;

	}



	.final-cta-para {

		max-width: 40vw;

	}



	.hero-content.global-hero .hero-para {

		max-width: 80%;

	}



	.contact-item i {

		font-size: 1vw;

		margin-top: 0.3vw;

	}



    .directors-row {

    max-width: 100%;

}

.director-desc {

    padding: 2vh 0 2vh 0;

}







.map-embed-box {

    margin-bottom: 20px;

}

.row.our-nikole-center-row {

    row-gap: 40px;

}

.director-card{

    border-radius: 15px;

}



.row.structured-learning-row {

    width:100%;

}

.row.structured-learning-row.board-row {

    padding-top: 8vh;

}

.advantage-row-wrapper{

  row-gap: 8vh;

}



.contact-btn {

    width: 3vw !important;

    height: 3vw !important;

}



}



/* ============================================================

   (min-width: 1280px) ** Large desktop and above ** 

============================================================ */



@media screen and (min-width: 1280px) {

	/* Large desktop and above */

	    .contact-item i {

        font-size: 1.2vw;

	}

}





/* ============================================================

   (max-width: 991px) 

   (max-width: 991px)  

============================================================ */



@media screen and (max-width: 991px) {



	.c-container {

		width: -webkit-fill-available;

		padding: 0 15px;

		margin: auto;

	}



	.section-title {

		padding-bottom: 10px;

        max-width:100%;

	}





	.section-para {

		max-width:80% !important;

	}



	.section-header {

		padding-bottom: 40px;

	}



	.final-cta-col {

		padding: 10vh 4vw;

	}



	.section-padding {

		padding: 8vh 0;

	}





	.row {

		row-gap: 20px;

	}



	/* Tablet and below */

	.hero-head {

		max-width: 100%;

	}



	.green-round {

		width: 10px;

		height: 10px;

		margin-top: 0;

	}



	.hero-tag {

		column-gap: 10px;

		border-radius: 50px;

		padding: 10px 15px;

	}



	.hero-para {

		max-width: 100%;

	}



	.hero-highlights li {

		padding-left: 20px;

	}



	.hero-highlights li::before {

		width: 15px;

		height: 16px;

		top: 2px;

	}



	.content-wrapper {

		row-gap: 18px;

	}



	.hero-highlights {

		font-size: 18px;

		padding: 20px 0 20px 0;

		row-gap: 12px;

	}



	/* .hero-img-wrapper{

    margin: auto;

} */



    .row.hero-row {

        row-gap: 40px;

    }





	.call-ring-btn {

		column-gap: 10px;

	}



	.btn-main,

	.secondary-btn,

	.orange-btn {

		border-radius: 50px;

		padding: 12px 18px;

	}



	.why-title,

	.why-para {

		max-width: 100%;

	}



	.icon-wrapper {

		width: 50px;

		height: 50px;

	}



	.icon-wrapper img {

		width: 25px;

	}



	.row.why-row {

		row-gap: 10px;

	}





	.detailed-course-title {

		max-width: 100%;

	}



	.detailed-course-para {

		max-width: 100%;

	}



	.foundation-content {

		flex-direction: column;

	}



	.foundation-icon-wrapper {

		width: 50px;

		height: 50px;

	}



	.foundation-content {

		row-gap: 10px;

	}



	.d-check-icon {

		width: 15px;

		height: 15px;

		margin-top: -2px;

	}



	.fe-tag-wrapper,

	.d-card-content-top {

		row-gap: 20px;

	}



	.d-card-content-top {

		padding-bottom: 30px;

	}



	.courser-tags {

		column-gap: 15px;

		row-gap: 15px;

	}



	.course-tag {

		border-radius: 50px;

		padding: 12px 15px;

	}



	.course-feature {

		row-gap: 10px;

	}



	.course-btn-container {

		height: 50px;

	}



	.d-card-content-top {

		row-gap: 20px;

	}





	.integrated-features {

		padding: 30px 10px 30px 10px;

		margin: 20px 15px 0 15px;

	}



	.integrated-features .row {

		row-gap: 40px;

	}



	.feature-icon {

		width: 80px;

		height: 80px;

	}



	.section-para.key-metrics-para {

		max-width: 100%;

	}



	.row.metrics-row {

		row-gap: 40px;

	}



	.final-cta-col {

		width: 100%;

	}



	.final-cta-title {

		max-width: 100%;

		padding-bottom: 10px;

	}



	.final-cta-para {

		max-width: 90%;

	}



	.quick-col {

		padding-left: 100px;

	}



	.footer-logo-wrapper {

		align-items: flex-start;

		column-gap: 10px;

	}



	.logo-data-wrapper {

		max-width: 100%;

	}



	.about-col {

		row-gap: 25px;

	}



	.contact-item i {

		font-size: 18px;

		margin-top: 0.3vw;

	}



	.cn-wrapper {

		column-gap: 10px;

	}



	.contact-item {

		row-gap: 10px;

	}



	.footer-grid {

		row-gap: 40px;

	}



	.location-wrapper i:first-child {

		font-size: 16px;

	}



	.location-wrapper {

		column-gap: 10px;

	}



	.location-inner-wrapper i {

		margin-top: 4px;

		font-size: 14px;

	}



	.location-inner-wrapper {

		column-gap: 5px;

	}



	.footer-bottom-content {

		flex-direction: column-reverse;

		row-gap: 10px;

		max-width: 330px;

		margin: auto;

	}

	.footer-links-quick {

		row-gap: 10px;

	}



	.location-wrapper {

		padding: 15px;

		margin-top: 15px;

        border-radius: 15px;

	}





	.footer-heading {

		font-size: var(--font22);

	}



	.contact-btn.call-btn {

		/* background-color: var(--secondary-color); */

		background-color: #006697db;

		font-size: 18px;

		width: 50px !important;

		height: 50px !important;

	}



	.contact-btn {

		margin-top: 15px !important;

		width: 45px !important;

		height: 45px !important;

	}

    .profile-canvas {
        width: 80px !important;
        height: 80px !important;
    }





	.why-us-card {

		padding: 30px 20px 30px 20px;

	}



	.feature-box {

		row-gap: 15px;



	}



	.course-btn-container {

		height: 50px;

		padding-top: 15px;

	}



	.section-title.testimonial-title {

		max-width: 100%;

	}



	.footer-bottom {

		margin-top: 25px;

	}



	.fixed-contact-btns {

		right: 20px !important;

		bottom: 30px !important;

	}



	.social-links {

		column-gap: 15px;

	}



	.footer-bottom {

		padding: 1vw 0 20px 0;

	}



	.testimonial-nav-wrapper {

		align-items: center;

		justify-content: center;

		column-gap: 20px;

	}



	.testimonial-nav-btn {

		width: 40px;

		height: 40px;

		border: 1px solid var(--secondary-color);

	}



	.testimonial-nav-wrapper {

		padding-top: 30px;

	}



	.why-us-card {

		box-shadow: 0 0 2vw 0.1vw rgb(0 0 0 / 15%);

	}



    .hero-btns {

    column-gap: 15px;

}

.legal-wrapper {

    column-gap: 20px;

}





/* ************** About us page responsive css ***************/

/* ************** About us page responsive css ***************/



.hero-section.global-hero-section {

    padding: 20vh 0 10vh 0;

    height:auto;

    min-height: auto;

}

.about-btn {

    padding-top: 30px;

}

.about-para {

    padding-top: 20px;

}

.hero-content.global-hero .hero-para {

        max-width: 100%;

}

.foundation-icon-wrapper.our-approch {

    width: 50px;

    height: 50px;

}

.why-us-card:hover {

    transform: translateY(0);

}

.our-journey-img-wrapper {

    height: 30vh;

}

    .row.our-journey-row .col-md-12.margin-left {

        display: flex;

        flex-direction: row;

        flex-wrap: wrap;

        padding-top: 30px;

    }

.row.our-journey-row .our-journey-content-wrapper{

    width: 50%;

}

.row.our-journey-row div:nth-child(3){

        width: 100%;

    }

    .our-journey-content-para {

    max-width: 100%;

}



.our-journey-data-icon {

    width: 50px;

    height: 50px;

}

.our-journey-data-icon img {

    width: 55%;

    height: 55%;

}



.card-title {

    padding: 20px 0 20px 0;

}



.directors-row{

    max-width: 100%;

}

.director-desc {

    padding: 0 0 20px 0;

}



.facility-icon img {

    width: 15px;

    height: 15px;

}

.facility-list li{

    column-gap: 8px;

}

.facility-list {

    row-gap: 10px;

    padding-bottom: 0vh;

}



.center-facilities-box .box-title {

    margin-bottom: 15px;

}

.stat-box{

    border-radius: 10px;

}

.map-and-address-block.margin-right .map-embed-box {

    height: 30vh;

}

 .address-details {

        max-width: 100%;

    }



    .address-details.map-address {

    padding-top: 15px;

    padding-left: 10px;

}

.methodology-icon-wrapper {

    width: 50px;

    height: 50px;

}

.methodology-icon-wrapper img {

    width: 60%;

}

.our-methodology-card .card-title{

    padding: 25px 0 10px 0;

}

.our-methodology-card:hover {

    transform: translateY(0);

}

.more-feature-btn .r-arrow-btn {

    width: 50px;

    height: 50px;

}









}





/* ============================================================

   (max-width: 767px) 

============================================================ */





@media screen and (max-width: 767px) {



	/* Mobile Landscape and below */



        .section-para {

        max-width: 100% !important;

    }

    .section-padding {

    padding: 60px 0;

    }

    .key-metrics-section {

    padding: 60px 0;

    }

    .final-cta-col {

    padding: 70px 15px;

    }



	.hero-tag p {

		font-size: 14px;

		column-gap: 5px;

	}



	.hero-tag {

		column-gap: 5px;

	}



	.hero-section {

		padding: 120px 0 50px 0;

	}



	.hero-highlights {

		font-size: 16px;

	}



	.green-round {

		width: 8px;

		height: 8px;

		margin-top: 0;

	}



	.hero-para {

		font-size: var(--font18);

		padding-top: 10px;

	}



	.hero-img-wrapper {

		width: 100%;

	}



	.why-us-card {

		row-gap: 15px;

	}



	.card-extra-info p {

		padding-top: 5px;

	}



	.why-us-card .card-title {

		padding: 15px 0 10px 0;

	}



	.icon-wrapper {

		border-radius: 15px;

	}



	.feature-icon {

		width: 50px;

		height: 50px;

	}



	.feature-title {

		font-size: var(--font20) !important;

	}



	.feature-box {

		padding: 0;

	}



	.row.why-row {

		row-gap: 20px;

	}



	.why-us-card:hover {

		transform: translateY(0);

	}



	.course-card {

		padding: 20px 15px;

	}



	.d-list {

		column-gap: 5px;

	}



	.section-padding.detailed-course-section {

		padding-bottom: 70px;

	}



	.slide-top .abstract-icon {

		width: 25px;

		height: 25px;

	}



	.t-card-para {

		padding: 15px 0;

	}



	.swiper-slide.testimonial-slide {

		padding: 15px;

	}







	.quick-col {

		padding-left: 0px;

	}



	.location-wrapper i:first-child {

		font-size: 16px;

		margin-top: 5px;

	}



	.final-cta-para {

		max-width: 100%;

	}



	.location-wrapper {

		margin-top: 15px;

	}



	.footer-heading {

		margin-bottom: 15px;

	}



	.main-footer {

		padding-top: 50px;

		border-radius: 0;

	}



	.section-padding.final-cta-section-wrapper,

	.section-padding.final-cta-section-wrapper .c-container {

		padding: 0 0 0px 0;

        width: calc(100% - 3px);

	}



	.final-cta-col {

		border-radius: 0;

	}



	.final-cta-title {

		font-size: var(--font30) !important;

	}

    

    .foundation-icon-wrapper{

    border-radius: 15px;

}



    .row.our-journey-row .our-journey-content-wrapper {

        width: 100%;

    }

    .our-journey-content{

        column-gap: 15px;

        row-gap: 15px;

        flex-direction: column;

    }

.director-desc {

        padding: 0 0 15px 0;

    }

    .profile-img {

    width: 40px;

    height: 40px;

}

.badge-icon {

    width: 25px;

    height: 25px;

}



.profile-badge-container {

    margin-right: 15px;

}



.director-card .card-content{

    padding: 20px 15px;

}



/* *************** contact us page css *************** */

/* *************** contact us page css *************** */





.contact-details-main {

    grid-template-columns: 1fr;

    width: fit-content;

}

#phone-no {

    border-bottom: 1px solid rgba(0, 0, 0, .1);

    border-right: 0px solid rgba(0, 0, 0, .1);

}

    /* .row.our-nikole-center-row {

        flex-direction: column-reverse;

    } */





    .contact-details-main{

        padding-top: 30px;

    }

        .dropdown-arrow {

        width: 10px;

        height: 10px;

    }

    .form-wrapper {

    padding: 0;

    border: none;

    }

.main-cta-wrapper {

    column-gap: 15px;

}



.mid-column{

	flex-direction: column-reverse;

}



.row.structured-learning-row .card-title{

	padding: 0 0 10px 0;

}

    .advantage-row-wrapper {

        row-gap: 60px;

    }



.our-methodology-card{

	padding: 20px 15px;

}

}



/* ============================================================

   (max-width: 479px)

============================================================ */



@media screen and (max-width: 479px) {



    	.section-padding.final-cta-section-wrapper,

	.section-padding.final-cta-section-wrapper .c-container {

		padding: 0 0 0px 0;

        width: calc(100% - 2px);

	}



	/* Mobile Portrait and below */

	:root {

		--font14: 12px;

		--font16: 14px;

		--font18: 15px;

		--font20: 16px;

		--font22: 18px;

		--font25: 20px;

		--font30: 22px;

		--font40: 24px;

		--font50: 24px;

		--font60: 30px;

		--font70: 30px;

	}



}

@media screen and (max-width: 782px) {
  html { margin-top: 0 !important; }
}

/* Hide mobile call button on desktop */
.sp-mobile-call-item {
  display: none !important;
}

/* Show mobile call button only inside open mobile menu */
@media (max-width: 992px) {
  .sp-mobile-call-item {
    display: block !important;
  }
}

.fixed-contact-btns {
  position: fixed !important;
  right: 1vw !important;
  bottom: 1.5vw !important;
  left: auto !important;
  z-index: 1000 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.3s ease, visibility 0.3s ease !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.fixed-contact-btns.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
}

.contact-btn {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 2.5vw !important;
  height: 2.5vw !important;
  border-radius: 50% !important;
  margin-top: 1vw !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2) !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
}

.whatsapp-logo {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}

.whatsapp-btn {
  background-color: white !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.whatsapp-btn:hover {
  transform: scale(0.9) !important;
}

.call-btn {
  background-color: var(--secondary-color) !important;
  border: 1px solid var(--secondary-color) !important;
  color: white !important;
  font-size: 1vw !important;
}

.call-btn:hover {
  color: var(--secondary-color) !important;
  background: var(--white-color) !important;
}

@media screen and (max-width: 991px) {
  .fixed-contact-btns {
    right: 20px !important;
    bottom: 30px !important;
    left: auto !important;
  }
  .contact-btn {
    width: 45px !important;
    height: 45px !important;
    margin-top: 12px !important;
    font-size: 18px !important;
  }
  .call-btn {
    font-size: 18px !important;
  }
}

/* ============================================================
   BLOG-SPECIFIC STYLES
   These are ADDED on top of the main site CSS above
============================================================ */

/* ── Blog page padding (clears fixed header) ── */
.blog-page,
.single-post-page {
  padding-top: 120px;
  min-height: 100vh;
}

@media (max-width: 992px) {
  .blog-page,
  .single-post-page { padding-top: 80px; }
}

/* ── Blog Hero Banner ── */
.blog-hero {
  background: var(--site-primary-gradient);
  padding: 4vw 0 3vw;
  text-align: center;
  color: var(--white-color);
}
.blog-hero h1 {
  font-family: "Roboto-Bold";
  font-size: var(--font50);
  margin-bottom: 0.5em;
  color: var(--white-color);
}
.blog-hero p {
  font-size: var(--font20);
  opacity: 0.9;
  color: var(--white-color);
}
@media (max-width: 992px) {
  .blog-hero { padding: 60px 20px 40px; }
}

/* ── Breadcrumb ── */
.blog-breadcrumb {
  background: #f0f4f8;
  padding: 1vw 0;
  font-size: var(--font16);
}
.blog-breadcrumb a { color: var(--secondary-color); text-decoration: none; }
.blog-breadcrumb a:hover { color: var(--primary-color); }
.blog-breadcrumb span { color: var(--grey-color); margin: 0 6px; }
.blog-breadcrumb .current { color: var(--subtitle-color); }
@media (max-width: 992px) {
  .blog-breadcrumb { padding: 12px 0; }
}

/* ── Blog Post Grid ── */
.blog-grid-section {
  padding: 4vw 0;
  background: #f8f9fa;
}
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2vw;
}
@media (max-width: 1024px) {
  .blog-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 640px) {
  .blog-grid { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 992px) {
  .blog-grid-section { padding: 30px 0; }
}

/* ── Post Card ── */
.post-card {
  background: #fff;
  border-radius: var(--card-border-radius);
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(0,0,0,0.07);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
}
.post-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 32px rgba(0,102,151,0.15);
}
.post-card-thumb {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
}
.post-card-thumb-placeholder {
  width: 100%;
  aspect-ratio: 16/9;
  background: var(--site-primary-gradient);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 3vw;
  opacity: 0.7;
}
.post-card-body {
  padding: 1.5vw;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.8vw;
}
@media (max-width: 992px) {
  .post-card-body { padding: 18px; gap: 10px; }
}

.post-card-category {
  display: inline-block !important;
  background: var(--primary-color) !important;
  color: #fff !important;
  font-size: var(--font14) !important;
  font-family: "Roboto-Medium" !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
  text-decoration: none !important;
  width: fit-content !important;
  list-style: none !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

.post-card-category::before,
.post-card-category::after {
  display: none !important;
  content: none !important;
}
.post-card-title {
  font-family: "Roboto-Bold";
  font-size: var(--font22);
  color: var(--black-color);
  line-height: 1.4;
  text-decoration: none;
  display: block;
}
.post-card-title:hover { color: var(--secondary-color); }
.post-card-excerpt {
  font-size: var(--font16);
  color: var(--subtitle-color);
  line-height: 1.6;
  flex: 1;
}
.post-card-meta {
  display: flex;
  align-items: center;
  gap: 1vw;
  font-size: var(--font14);
  color: var(--grey-color);
  border-top: 1px solid #f0f0f0;
  padding-top: 0.8vw;
  margin-top: auto;
}
@media (max-width: 992px) {
  .post-card-meta { gap: 12px; padding-top: 10px; }
}
.post-card-meta i { color: var(--secondary-color); }
.post-card-read-more {
  font-size: var(--font16);
  color: var(--secondary-color);
  font-family: "Roboto-Medium";
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
}
.post-card-read-more:hover { color: var(--primary-color); }

/* ── No Posts State ── */
.no-posts {
  text-align: center;
  padding: 6vw 0;
  color: var(--subtitle-color);
}
.no-posts i {
  font-size: 4vw;
  color: var(--grey-color);
  display: block;
  margin-bottom: 1vw;
}

/* ── Pagination ── */
.blog-pagination {
  display: flex;
  justify-content: center;
  gap: 0.5vw;
  padding: 3vw 0 2vw;
  flex-wrap: wrap;
  list-style: none;
}
.blog-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5vw;
  height: 2.5vw;
  border-radius: 50%;
  font-size: var(--font16);
  text-decoration: none;
  color: var(--secondary-color);
  border: 1px solid #dde3ea;
  font-family: "Roboto-Medium";
  transition: all 0.3s ease;
}
.blog-pagination .page-numbers.current,
.blog-pagination .page-numbers:hover {
  background: var(--secondary-color);
  color: #fff;
  border-color: var(--secondary-color);
}
@media (max-width: 992px) {
  .blog-pagination .page-numbers { width: 38px; height: 38px; }
}

/* ── Single Post Hero ── */
.post-hero {
  background: var(--site-primary-gradient);
  padding: 4vw 0 3vw;
  color: var(--white-color);
}
.post-hero-category {
  display: inline-block;
  background: var(--primary-color);
  color: #fff;
  font-size: var(--font14);
  font-family: "Roboto-Medium";
  padding: 4px 14px;
  border-radius: 20px;
  margin-bottom: 1vw;
  text-decoration: none;
}
.post-hero h1 {
  font-family: "Roboto-Bold";
  font-size: var(--font40);
  line-height: 1.3;
  margin-bottom: 1vw;
  color: var(--white-color);
}
.post-hero-meta {
  display: flex;
  gap: 1.5vw;
  font-size: var(--font16);
  opacity: 0.85;
  flex-wrap: wrap;
  align-items: center;
  color: var(--white-color);
}
.post-hero-meta i { margin-right: 5px; }
@media (max-width: 992px) {
  .post-hero { padding: 50px 20px 30px; }
  .post-hero h1 { font-size: 24px; }
  .post-hero-meta { gap: 14px; }
}

/* ── Content + Sidebar ── */
.post-content-wrapper {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 3vw;
  padding: 4vw 0;
  align-items: start;
}
@media (max-width: 1024px) {
  .post-content-wrapper { grid-template-columns: 1fr; }
}
@media (max-width: 992px) {
  .post-content-wrapper { padding: 30px 0; gap: 20px; }
}

/* ── Featured Image ── */
.post-featured-image {
  width: 100%;
  border-radius: var(--card-border-radius);
  margin-bottom: 2vw;
  display: block;
}

/* ── Post Body ── */
.post-body {
  background: #fff;
  border-radius: var(--card-border-radius);
  padding: 2.5vw;
  box-shadow: 0 2px 16px rgba(0,0,0,0.06);
  line-height: 1.8;
  font-size: var(--font18);
  color: #333;
}
@media (max-width: 992px) {
  .post-body { padding: 20px; }
}
.post-body h2 {
  font-family: "Roboto-Bold";
  font-size: var(--font30);
  color: var(--secondary-color);
  margin: 1.5em 0 0.5em;
}
.post-body h3 {
  font-family: "Roboto-SemiBold";
  font-size: var(--font25);
  color: var(--black-color);
  margin: 1.2em 0 0.4em;
}
.post-body p { margin-bottom: 1.2em; color: #333; }
.post-body ul, .post-body ol { padding-left: 1.5em; margin-bottom: 1.2em; }
.post-body li { margin-bottom: 0.5em; list-style: disc; }
.post-body a { color: var(--secondary-color); }
.post-body a:hover { color: var(--primary-color); }
.post-body img { max-width: 100%; border-radius: 10px; margin: 1em 0; }
.post-body blockquote {
  border-left: 4px solid var(--primary-color);
  padding: 1em 1.5em;
  background: #fff8f5;
  border-radius: 0 8px 8px 0;
  margin: 1.5em 0;
  font-style: italic;
  color: var(--subtitle-color);
}

/* ── Tags ── */
.post-tags {
  margin-top: 2vw;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.post-tags span { font-family: "Roboto-Medium"; font-size: var(--font16); color: var(--subtitle-color); }
.post-tag {
  display: inline-block;
  background: #f0f4f8;
  color: var(--secondary-color);
  font-size: var(--font14);
  padding: 4px 12px;
  border-radius: 20px;
  text-decoration: none;
  font-family: "Roboto-Medium";
}
.post-tag:hover { background: var(--secondary-color); color: #fff; }

/* ── Post CTA Box ── */
.post-cta-box {
  background: var(--site-primary-gradient);
  border-radius: var(--card-border-radius);
  padding: 2.5vw;
  color: #fff;
  text-align: center;
  margin-top: 2.5vw;
}
.post-cta-box h3 {
  font-family: "Roboto-Bold";
  font-size: var(--font25);
  margin-bottom: 0.8em;
  color: #fff;
}
.post-cta-box p { font-size: var(--font18); opacity: 0.9; margin-bottom: 1.5em; color: #fff; }
.post-cta-box .cta-buttons {
  display: flex;
  gap: 1vw;
  justify-content: center;
  flex-wrap: wrap;
}
.cta-btn-white {
  background: #fff;
  color: var(--secondary-color);
  font-family: "Roboto-Medium";
  font-size: var(--font18);
  padding: 0.78vw 1.56vw;
  border-radius: 2.6vw;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.cta-btn-white:hover { background: var(--primary-color); color: #fff; }
.cta-btn-whatsapp {
  background: #25D366;
  color: #fff;
  font-family: "Roboto-Medium";
  font-size: var(--font18);
  padding: 0.78vw 1.56vw;
  border-radius: 2.6vw;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.cta-btn-whatsapp:hover { background: #1ebe57; }
@media (max-width: 992px) {
  .post-cta-box { padding: 24px; }
  .post-cta-box .cta-buttons { gap: 12px; }
  .cta-btn-white, .cta-btn-whatsapp { padding: 12px 22px; border-radius: 50px; }
}

/* ── Back to Blog ── */
.back-to-blog {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--secondary-color);
  font-family: "Roboto-Medium";
  font-size: var(--font16);
  text-decoration: none;
  margin-bottom: 1.5vw;
}
.back-to-blog:hover { color: var(--primary-color); }

/* ── Post Navigation ── */
.post-navigation {
  display: flex;
  justify-content: space-between;
  gap: 1vw;
  margin-top: 2vw;
  flex-wrap: wrap;
}

/* ── Sidebar ── */
.blog-sidebar {
  display: flex;
  flex-direction: column;
  gap: 2vw;
}
@media (max-width: 992px) {
  .blog-sidebar { gap: 20px; }
}
.sidebar-widget {
  background: #fff;
  border-radius: var(--card-border-radius);
  padding: 1.5vw;
  box-shadow: 0 2px 16px rgba(0,0,0,0.06);
}
@media (max-width: 992px) {
  .sidebar-widget { padding: 18px; }
}
.sidebar-widget-title {
  font-family: "Roboto-Bold";
  font-size: var(--font20);
  color: var(--secondary-color);
  border-bottom: 2px solid var(--primary-color);
  padding-bottom: 0.6vw;
  margin-bottom: 1.2vw;
}
@media (max-width: 992px) {
  .sidebar-widget-title { padding-bottom: 8px; margin-bottom: 14px; }
}

/* Contact sidebar widget */
.sidebar-contact-widget { background: var(--site-primary-gradient); color: #fff; }
.sidebar-contact-widget .sidebar-widget-title { color: #fff; border-color: rgba(255,255,255,0.4); }
.sidebar-contact-item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 1vw;
  font-size: var(--font16);
  color: #fff;
}
.sidebar-contact-item a { color: #fff; text-decoration: none; }
.sidebar-contact-item a:hover { opacity: 0.8; }
.sidebar-contact-item i { width: 20px; text-align: center; color: #fff; }
.sidebar-cta-btn {
  display: block;
  text-align: center;
  background: #fff;
  color: var(--secondary-color);
  font-family: "Roboto-Medium";
  font-size: var(--font18);
  padding: 0.7vw 1.2vw;
  border-radius: 2.6vw;
  text-decoration: none;
  margin-top: 1vw;
}
.sidebar-cta-btn:hover { background: var(--primary-color); color: #fff; }
@media (max-width: 992px) {
  .sidebar-cta-btn { padding: 10px 18px; margin-top: 12px; border-radius: 50px; }
  .sidebar-contact-item { margin-bottom: 12px; }
}

/* Recent posts widget */
.recent-post-item {
  display: flex;
  gap: 12px;
  margin-bottom: 1.2vw;
  padding-bottom: 1.2vw;
  border-bottom: 1px solid #f0f0f0;
}
.recent-post-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.recent-post-thumb { width: 70px; height: 70px; object-fit: cover; border-radius: 8px; flex-shrink: 0; }
.recent-post-thumb-placeholder {
  width: 70px; height: 70px; background: var(--site-primary-gradient);
  border-radius: 8px; flex-shrink: 0; display: flex;
  align-items: center; justify-content: center; color: #fff; opacity: 0.6;
}
.recent-post-info { flex: 1; }
.recent-post-title {
  font-size: var(--font16); font-family: "Roboto-Medium"; color: var(--black-color);
  text-decoration: none; line-height: 1.4; display: block;
}
.recent-post-title:hover { color: var(--secondary-color); }
.recent-post-date { font-size: var(--font14); color: var(--grey-color); margin-top: 4px; }

/* Category list widget */
.category-list { list-style: none; }
.category-list li {
  display: flex; justify-content: space-between; align-items: center;
  padding: 0.6vw 0; border-bottom: 1px solid #f5f5f5;
}
.category-list li:last-child { border-bottom: none; }
.category-list a { font-size: var(--font16); color: var(--subtitle-color); text-decoration: none; }
.category-list a:hover { color: var(--secondary-color); }
.cat-count {
  background: #f0f4f8; color: var(--secondary-color);
  font-size: var(--font14); padding: 2px 8px; border-radius: 12px; font-family: "Roboto-Medium";
}
@media (max-width: 992px) {
  .category-list li { padding: 8px 0; }
}

/* ============================================================
   TABLE OF CONTENTS (auto-generated in single.php)
============================================================ */

.sp-toc {
  background: #f0f6fb;
  border-left: 4px solid var(--secondary-color);
  border-radius: 0 var(--card-border-radius) var(--card-border-radius) 0;
  padding: 1.2vw 1.5vw;
  margin-bottom: 2vw;
  max-width: 100%;
}

.sp-toc-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: "Roboto-Bold";
  font-size: var(--font18);
  color: var(--secondary-color);
  margin-bottom: 0.8vw;
  gap: 8px;
}

.sp-toc-header i:first-child {
  color: var(--primary-color);
}

.sp-toc-toggle {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--secondary-color);
  font-size: var(--font16);
  padding: 0;
  margin-left: auto;
  transition: transform 0.3s ease;
}

.sp-toc-toggle.collapsed i {
  transform: rotate(180deg);
}

.sp-toc-list {
  list-style: decimal;
  padding-left: 1.5em;
  margin: 0;
}

.sp-toc-list li {
  margin-bottom: 0.5vw;
  font-size: var(--font16);
  list-style: decimal !important;
}

.sp-toc-list li a {
  color: var(--subtitle-color);
  text-decoration: none;
  transition: color 0.2s;
  line-height: 1.5;
}

.sp-toc-list li a:hover {
  color: var(--secondary-color);
}

@media (max-width: 992px) {
  .sp-toc {
    padding: 16px 18px;
    margin-bottom: 20px;
  }
  .sp-toc-header {
    font-size: 16px;
    margin-bottom: 12px;
  }
  .sp-toc-list li {
    margin-bottom: 8px;
    font-size: 15px;
  }
}

/* ============================================================
   STICKY SIDEBAR — single post page
============================================================ */

.post-content-wrapper {
  align-items: start !important;
}

.blog-sidebar {
  position: sticky;
  top: 100px;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--secondary-color) #f0f0f0;
  align-self: start;
}

.blog-sidebar::-webkit-scrollbar {
  width: 4px;
}

.blog-sidebar::-webkit-scrollbar-track {
  background: #f0f0f0;
}

.blog-sidebar::-webkit-scrollbar-thumb {
  background: var(--secondary-color);
  border-radius: 4px;
}

@media (max-width: 1024px) {
  .blog-sidebar {
    position: static;
    max-height: none;
    overflow-y: visible;
  }
}

/* ============================================================
   CATEGORY FILTER TABS
============================================================ */

.sp-filter-wrapper {
  padding: 2vw 0 0 0;
  background: #f8f9fa;
}

.sp-filter-tabs {
  display: flex;
  align-items: center;
  gap: 0.8vw;
  overflow-x: auto;
  padding: 0 0 1.5vw 0;
  scrollbar-width: none;
  -ms-overflow-style: none;
  flex-wrap: nowrap;
}

.sp-filter-tabs::-webkit-scrollbar {
  display: none;
}

.sp-filter-btn {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding: 0.5vw 1.2vw;
  border-radius: 2.6vw;
  border: 1.5px solid var(--secondary-color);
  background: transparent;
  color: var(--secondary-color);
  font-family: "Roboto-Medium";
  font-size: var(--font16);
  cursor: pointer;
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.sp-filter-btn:hover,
.sp-filter-btn.active {
  background: var(--secondary-color);
  color: #fff;
  border-color: var(--secondary-color);
}

.sp-filter-btn.active {
  box-shadow: 0 4px 12px rgba(0, 102, 151, 0.3);
}

/* No posts message */
.sp-no-posts-filter {
  text-align: center;
  padding: 4vw 0;
  color: var(--subtitle-color);
  width: 100%;
}

.sp-no-posts-filter i {
  font-size: 3vw;
  color: var(--grey-color);
  display: block;
  margin-bottom: 1vw;
}

/* ============================================================
   LOAD MORE BUTTON
============================================================ */

.sp-load-more-wrapper {
  text-align: center;
  padding: 2.5vw 0 3vw;
}

.sp-posts-count {
  font-size: var(--font16);
  color: var(--grey-color);
  margin-bottom: 1.2vw;
  font-family: "Roboto-Regular";
}

.sp-posts-count span {
  font-family: "Roboto-Bold";
  color: var(--secondary-color);
}

.sp-load-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  border: none;
}

.sp-load-more-btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

/* ============================================================
   RESPONSIVE — FILTER TABS + LOAD MORE
============================================================ */

@media (max-width: 992px) {
  .sp-filter-wrapper {
    padding: 20px 0 0 0;
  }

  .sp-filter-tabs {
    gap: 8px;
    padding: 0 0 16px 0;
  }

  .sp-filter-btn {
    padding: 8px 16px;
    border-radius: 50px;
    font-size: 14px;
  }

  .sp-load-more-wrapper {
    padding: 24px 0 30px;
  }

  .sp-posts-count {
    font-size: 14px;
    margin-bottom: 12px;
  }

  .sp-no-posts-filter i {
    font-size: 40px;
    margin-bottom: 12px;
  }
}

@media (max-width: 480px) {
  .sp-filter-btn {
    padding: 7px 14px;
    font-size: 13px;
  }
}

/* ============================================================
   GLOBAL BLOG TABLE STYLES
   Usage: just write plain <table> HTML inside post content
   No extra classes needed for basic styled table
   Optional modifier classes listed below
============================================================ */

/* ── Wrapper for horizontal scroll on mobile ── */
.post-body table {
  border-collapse: collapse;
  width: 100%;
  font-size: var(--font16);
  font-family: "Roboto-Regular";
  margin: 1.5em 0 2em 0;
  background: #fff;
  border-radius: var(--card-border-radius);
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
  display: block; /* needed for overflow scroll */
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Restore table layout after display:block */
.post-body table thead,
.post-body table tbody,
.post-body table tfoot,
.post-body table tr {
  display: table;
  width: 100%;
  table-layout: fixed;
}

/* ── Table Header ── */
.post-body table thead tr {
  background: var(--site-primary-gradient);
  color: #fff;
}

.post-body table th {
  padding: 0.8vw 1.2vw;
  text-align: left;
  font-family: "Roboto-Bold";
  font-size: var(--font16);
  color: #fff;
  font-weight: normal;
  border: none;
  white-space: nowrap;
}

/* ── Table Body Rows ── */
.post-body table td {
  padding: 0.7vw 1.2vw;
  color: var(--subtitle-color);
  font-size: var(--font16);
  border-bottom: 1px solid #f0f0f0;
  vertical-align: top;
  line-height: 1.6;
}

/* Alternating row colors (zebra striping) */
.post-body table tbody tr:nth-child(even) {
  background: #f8fafc;
}

.post-body table tbody tr:nth-child(odd) {
  background: #ffffff;
}

/* Row hover */
.post-body table tbody tr:hover {
  background: #e8f4fb;
  transition: background 0.2s ease;
}

/* Last row — no bottom border */
.post-body table tbody tr:last-child td {
  border-bottom: none;
}

/* ── First column bold (optional — good for comparison tables) ── */
.post-body table td:first-child {
  font-family: "Roboto-Medium";
  color: var(--black-color);
}

/* ── Scroll indicator shadow on right when table overflows ── */
.post-body table::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 30px;
  height: 100%;
  background: linear-gradient(to right, transparent, rgba(0,0,0,0.05));
  pointer-events: none;
}

/* ============================================================
   OPTIONAL TABLE MODIFIER CLASSES
   Add these classes to <table> tag for different styles
============================================================ */

/* .sp-table-compact — tighter padding, smaller font */
.post-body table.sp-table-compact th,
.post-body table.sp-table-compact td {
  padding: 0.4vw 0.8vw;
  font-size: var(--font14);
}

/* .sp-table-bordered — adds borders to all cells */
.post-body table.sp-table-bordered th,
.post-body table.sp-table-bordered td {
  border: 1px solid #e0e0e0 !important;
}

/* .sp-table-center — centers all cell content */
.post-body table.sp-table-center th,
.post-body table.sp-table-center td {
  text-align: center;
}

/* .sp-table-orange — orange header instead of blue gradient */
.post-body table.sp-table-orange thead tr {
  background: var(--primary-color);
}

/* .sp-table-no-stripe — removes zebra striping */
.post-body table.sp-table-no-stripe tbody tr:nth-child(even),
.post-body table.sp-table-no-stripe tbody tr:nth-child(odd) {
  background: #fff;
}

/* .sp-table-highlight-first — highlights first column with blue bg */
.post-body table.sp-table-highlight-first td:first-child,
.post-body table.sp-table-highlight-first th:first-child {
  background: #e8f4fb;
  color: var(--secondary-color);
  font-family: "Roboto-Bold";
}

/* ============================================================
   RESPONSIVE TABLE ADJUSTMENTS
============================================================ */

@media (max-width: 992px) {
  .post-body table th,
  .post-body table td {
    padding: 10px 14px;
    font-size: 14px;
    white-space: normal;
  }

  .post-body table.sp-table-compact th,
  .post-body table.sp-table-compact td {
    padding: 6px 10px;
    font-size: 13px;
  }
}

@media (max-width: 576px) {
  .post-body table {
    font-size: 13px;
    border-radius: 10px;
  }

  .post-body table th {
    font-size: 13px;
    padding: 10px 12px;
  }

  .post-body table td {
    padding: 8px 12px;
    font-size: 13px;
  }

  /* Show scroll hint on very small screens */
  .post-body table::before {
    content: 'Scroll to see more →';
    display: block;
    text-align: right;
    font-size: 11px;
    color: var(--grey-color);
    padding: 4px 8px;
    font-style: italic;
  }
}
