/*
Theme Name: DAT Exam Hero
Theme URI: https://example.com/dat-exam-hero
Author: You
Description: Single-page landing theme for DAT Exam Hero with sections: About, Courses, Features, Free Test, Testimonials, Enrollment/Calendar, FAQs, Contact. Includes Custom Logo support.
Version: 1.0.1
License: GPL-2.0-or-later
Text Domain: dat-exam-hero
Tags: landing page, one page, education, responsive
*/
/* MULISH font active from index.html */
/* Color palette inspired by professional edu/saaS sites */
:root{
  --bg: #f6f8fc;           /* Soft cool white-blue background for a clean, airy layout */
  --text: #0b1220;         /* Deep neutral navy for high readability */
  --muted: #697089;        /* Muted gray-blue for subtitles and secondary text */
  --primary: #3e63ff;      /* Strong, confident blue (main brand color) */
  --primary-2: #7b61ff;    /* Soft violet-blue accent for gradients and hovers */
  --card: #ffffff; 
  --glass:rgba(11,107,255,0.06);
  --radius:14px;
  --container:1200px;
  font-family: 'Mulish', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

/* Reset */
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.5;font-size: 18px;}
@media (max-width:767px){
  body{font-size: 16px;}
}

/* Container */
.container{max-width:var(--container);margin:0 auto;padding:0 20px}

/* Header */
.site-header{position:sticky;top:0;background:rgba(255,255,255,0.85);backdrop-filter:blur(6px);border-bottom:1px solid rgba(15,23,42,0.04);z-index:1000}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 26px;gap:18px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.logo img{max-width:150px;object-fit:cover}
.logo-text{line-height:1}
.logo-text small{display:block;font-size:12px;color:var(--muted)}

/* Nav */
.main-nav ul{display:flex;gap:5px;list-style:none;margin:0;padding:0}
.main-nav a{text-decoration:none;color:var(--muted);font-weight:600;padding:8px 10px;border-radius:8px;font-size: 16px;}
.main-nav a:hover{color:var(--primary);background:rgba(91,108,255,0.06)}
.cta-inline{background:linear-gradient(90deg,var(--primary),var(--primary-2));color:#fff;padding:8px 12px;border-radius:10px}

/* Hamburger */
.hamburger{display:none;border:0;background:transparent;width:44px;height:44px;cursor:pointer}
.hamburger span{display:block;height:3px;width:30px;background:#111;margin:6px 0;border-radius:3px;transition:all .25s}
.hamburger.is-active span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.hamburger.is-active span:nth-child(2){opacity:0}
.hamburger.is-active span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none}
.btn-primary{background:linear-gradient(90deg,var(--primary),var(--primary-2));color:#fff;border:0;box-shadow:0 12px 30px rgba(91,108,255,0.12)}
.btn-outline{background:transparent;border:1px solid rgba(15,23,42,0.06);color:var(--primary);padding:9px 14px}

/* Hero */
.section{padding:80px 0}
.section--pt-lg{padding-top:80px;padding-bottom:80px;}
.hero-wrap{display:grid;grid-template-columns:1fr 520px;gap:36px;align-items:center}
.kicker{font-weight:700;color:var(--primary);letter-spacing:0.03em}
.hero-title{font-size:44px;line-height:1.05;margin:8px 0 12px}
.gradient-text{background:linear-gradient(90deg,var(--primary-2),var(--primary));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{color:var(--muted);max-width:46ch}
.hero-ctas{margin:18px 0;display:flex;gap:12px;flex-wrap:wrap}
.hero-features{display:flex;gap:12px;list-style:none;padding:0;margin:20px 0 0;color:var(--muted)}
.hero-features li{display:flex;align-items:center;gap:8px}
.text-highlight{color: red;}

/* hero mockup */
.hero-right .hero-mockup{border-radius:20px;overflow:hidden;box-shadow:0 30px 60px rgba(16,24,40,0.12)}
.hero-right img{display:block;width:100%;height:100%;object-fit:cover}

/* Layout helpers */
.section-header{text-align:center;max-width:900px;margin:0 auto 26px}
.section-header h2{margin:0 0 8px;font-size: 42px;font-weight: 900;color: var(--primary-2);}
.muted{color:var(--muted)}
.signup-form.section-header h2{line-height: normal;}
@media (max-width:767px){
  .section-header h2{font-size: 28px;}
}

/* Grid styles */
.grid-4{display:grid;grid-template-columns:repeat(1,1fr);gap:18px;padding-top: 20px;text-align: center;}
.card{background:var(--card);border-radius:12px;padding:30px;box-shadow:0 8px 30px rgba(16,24,40,0.06)}
.feature h3{margin: 0;}
.feature i{font-size:35px;color:var(--primary);margin-bottom:15px}
@media (min-width:768px){
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-4 article:last-child{grid-column: 1 / -1;}
}

/* Courses */
.section--bg-soft{background:linear-gradient(180deg,rgba(139,107,255,0.2),transparent)}
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top: 40px;}
.course-card{position:relative;overflow:hidden; display: flex; flex-direction: column;}
.course-card h3{margin: 0px;}
.course-card .btn{display: inline-block; margin-top: auto;width: auto;  text-align: center;}
.course-label{/*position:absolute;*/ position:initial; right:16px;top:31px;background:rgba(11,107,255,0.08);padding:6px 10px;border-radius:8px;font-weight:700;font-size:13px}
.course-label.accent{background:linear-gradient(90deg,var(--primary),var(--primary-2));color:#fff}
.section ul, .site-footer ul {
  list-style: none;
  margin: 20px 0;
  padding: 0;
}

.section ul li, .site-footer ul li,.hero-left ul li {
  position: relative;
  padding-left: 25px;
  margin-bottom: 10px;
  color: var(--text);
  font-weight: 500;
  line-height: 1.6;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}
.section ul ul{margin-bottom: 0;}

.section ul li::before, .site-footer ul li::before, .hero-left ul li::before{
  content: "\f058"; /* Font Awesome check-circle icon */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 0px;
  color: var(--primary);
  font-size: 1.2rem;
  transition: transform 0.3s ease, color 0.3s ease;
}

.section ul li:hover::before, .site-footer ul li:hover::before, .hero-left ul li:hover::before {
  transform: scale(1.15);
  color: var(--primary-2);
}


/* features grid */
.grid-features{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.pf{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:12px}

/* free-test */
.section--cta .free-test-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px}
.free-test-left{max-width:520px}
.free-test-left h2{margin-bottom: 0px;}
.free-test-left p{margin-top: 10px;margin-bottom: 10px;}
.free-test-media img{width:500px;border-radius:12px;object-fit:cover}

/* testimonials */
/* Swiper container */
.testimonialSwiper {
  padding-bottom: 60px;
}

/* Testimonial cards */
.testimonial-card {
  background: #fff;
  border-radius: 18px;
  padding: 32px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
  text-align: left;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease;
}

.testimonial-card:hover {
  transform: translateY(-5px);
}

.quote-icon {
  color: var(--primary);
  font-size: 30px;
  opacity: 0.15;
  position: absolute;
  top: 15px;
  left: 25px;
}

.testimonial-text {
  font-size: 1.3rem;
  line-height: 1.6;
  color: #333;
  margin-bottom:20px;
  position: relative;
  z-index: 2;
}

.tmeta {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tmeta img {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
}

.tmeta h4 {
  margin: 0;
  font-weight: 700;
}

.tmeta span {
  font-size: 0.9rem;
  color: var(--muted);
}

.stars i {
  color: #ffb400;
  margin-right: 2px;
  font-size: 14px;
}

/* Swiper buttons */
.swiper-button-prev,
.swiper-button-next {
  color: var(--primary);
  transition: 0.3s;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
  color: var(--primary-2);
}

/* Swiper pagination */
.swiper-pagination-bullet {
  background: var(--muted);
  opacity: 0.4;
}
.swiper-pagination-bullet-active {
  background: var(--primary);
  opacity: 1;
}

/* Responsive */
@media (max-width: 768px) {
  .testimonial-card {
    padding: 26px;
  }
  .testimonial-text {
    font-size: 0.95rem;
  }
  .tmeta img {
    width: 56px;
    height: 56px;
  }
}

/* signup layout */
.signup-wrap{display:grid;grid-template-columns:520px 1fr;gap:20px;align-items:stretch}
.signup-form input, .signup-form select{width:100%;padding:12px;border-radius:10px;border:1px solid rgba(15,23,42,0.06);margin-bottom:12px}
.fineprint{font-size:13px}
.signup-form.card {margin-bottom: 0px;}

/* two-col layout */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}

/* Footer */
.site-footer{background:#0f1724;color:#fff;padding:60px 0 30px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));/*gap:30px;*/gap:150px; margin-bottom:30px}
.footer-grid a{color:#ccc;text-decoration:none}
.footer-grid a:hover{color:var(--primary)}
.socials a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.1);margin-right:6px;color:#fff;transition:.3s}
.socials a:hover{background:var(--primary);color: var(--card);}
.footer-bottom{text-align:center;border-top:1px solid rgba(255,255,255,0.1);padding-top:20px;opacity:0.8}

.pt-0{padding-top: 0px !important;}
.hero-left ul li{display: block;}
/* Responsive */
@media (max-width:1200px){
  .hero-wrap{grid-template-columns:1fr 420px}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .course-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:900px){
  .container{padding:0 18px}
  .hero-wrap{grid-template-columns:1fr}
  .hero-right{order:2}
  .hero-left{order:1}
  .grid-4{grid-template-columns:1fr}
  .course-grid{grid-template-columns:1fr}
  .grid-features{grid-template-columns:1fr}
  .signup-wrap{grid-template-columns:1fr}
  .two-col{grid-template-columns:1fr}
  .header-inner{padding:15px 18px;}
  .section--cta .free-test-wrap{flex-direction: column; gap:30px;       margin: 0 20px;}
  #free-test{padding-top: 0px;}
  .section-header{max-width: 100%;width: 100%;}
  .footer-bottom{padding-top: 20px;}
  .footer-grid{gap: 0px;}
  .site-footer{padding-top: 30px;}
}

@media (max-width:720px){
  .main-nav{position:fixed;left:0;top:0;height:100vh;width:280px;background:var(--bg);transform:translateX(-120%);transition:transform .28s;box-shadow:8px 0 40px rgba(2,6,23,0.08);padding-top:0px}
  .main-nav.open{transform:translateX(0)}
  .main-nav ul{flex-direction:column;padding:20px;gap:14px}
  .hamburger{display:block}
  .cta-inline{display:none}
  .hero-title{font-size:32px}
  .free-test-media img{width:100%}
  .section--pt-lg{padding-top: 50px;}
  .section{padding: 50px 0px;}
  .grid-4{padding-top: 0px;}

}

/* small */
@media (max-width:420px){
  .hero-title{font-size:28px}
  .logo img{max-width:120px}
}
/* FAQ */
.section--gradient{background:linear-gradient(180deg,rgba(91,108,255,0.04),rgba(139,107,255,0.04))}
.faq-list{max-width:800px;margin:0 auto}
.faq-item{background:#fff;border-radius:12px;box-shadow:0 5px 20px rgba(0,0,0,0.04);margin-bottom:12px;overflow:hidden}
.faq-q{width:100%;background:none;border:0;display:flex;justify-content:space-between;align-items:center;padding:18px 22px;font-weight:700;cursor:pointer;font-size:20px;color:var(--text);text-align: left;}
.faq-q i{transition:.3s}
.faq-item.active .faq-q i{transform:rotate(45deg);color:var(--primary)}
.faq-a{display:none;padding:0 22px 18px;color:var(--muted)}
*{    font-family: 'Mulish', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;}
a.cta-inline {color: #fff;}
.autoplay-video {
  pointer-events: none; /* video can't be clicked/hovered */
}
/*Reviews*/
.section-reviews-grid {
  padding: 4rem 0;
  background: #ffffff;
}

.section-reviews-grid .section-title,
.section-reviews-grid .section-subtitle {
  text-align: center;
}

.section-reviews-grid .section-title {
  margin-bottom: 0.4rem;
}

.section-reviews-grid .section-subtitle {
  margin-bottom: 2.5rem;
}

/* Grid */
.reviews-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem 2rem;
}

@media (min-width: 768px) {
  .reviews-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .reviews-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Card */
.review-card {
  background: #ffffff;
  border-radius: 14px;
  padding: 1.75rem 1.75rem 1.5rem;
  box-shadow: 0 12px 25px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  height: 100%;
}

.review-quote {
  font-style: italic;
  color: #444;
  line-height: 1.6;
  margin: 0 0 1.5rem;
}

/* Bottom meta row */
.review-meta {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.review-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}

.review-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.review-meta-text {
  display: flex;
  flex-direction: column;
}

.review-name {
  font-weight: 700;
  margin: 0 0 0.1rem;
}

.review-score {
  margin: 0;
  font-size: 0.9rem;
  color: #d35400; /* tweak to your brand accent */
}

/* Stars */
.review-stars {
  margin-top: 0.25rem;
  font-size: 0.85rem;
  color: #f5a623; /* gold-ish */
  letter-spacing: 1px;
}

.review-stars span {
  display: inline-block;
}


/* =========================
   MEET THE EXPERTS (GRID)
   ========================= */

#experts .section-header {
  text-align: center;
  margin-bottom: 24px;
}

#experts .grid-3{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 24px;
}

/* Card layout (works with your markup: img + h3 + p as siblings) */
#experts .grid-3 .card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);

  display: grid;
  grid-template-columns: 72px 1fr;
  column-gap: 16px;
  row-gap: 6px;
  align-items: start;
}

/* Image */
#experts .grid-3 .card img{
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  grid-row: 1 / span 2;  /* keeps image aligned next to h3 + p */
}

/* Text */
#experts .grid-3 .card h3{
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
}

#experts .grid-3 .card p{
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  opacity: .85;
}

/* Responsive */
@media (max-width: 992px){
  #experts .grid-3{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px){
  #experts .grid-3{
    grid-template-columns: 1fr;
    gap: 16px;
  }

  #experts .grid-3 .card{
    padding: 16px;
    grid-template-columns: 64px 1fr;
  }

  #experts .grid-3 .card img{
    width: 64px;
    height: 64px;
  }
}


/* =========================
   COURSE CURRICULUM (ACCORDION)
   ========================= */

#curriculum .section-header{
  text-align: center;
  margin-bottom: 24px;
}

#curriculum .accordion,
#curriculum .curriculum-accordion{
  max-width: 980px;
  margin: 0 auto;
  display: grid;
  gap: 14px;
}

/* Accordion item */
#curriculum details{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}

/* Clickable header */
#curriculum summary{
  list-style: none;              /* removes default triangle */
  cursor: pointer;
  padding: 18px 18px;
  font-weight: 700;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

#curriculum summary::-webkit-details-marker{ display: none; }

/* + / − icon */
#curriculum summary::after{
  content: "+";
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  font-size: 18px;
  line-height: 1;
  opacity: .9;
}

#curriculum details[open] summary::after{
  content: "–";
}

/* Content area */
#curriculum details > .cc-content{
  padding: 0 18px 18px;
  border-top: 1px solid rgba(0,0,0,.06);
}

/* Inside text styles */
#curriculum .cc-content p{
  margin: 14px 0 10px;
  opacity: .9;
  line-height: 1.6;
}

#curriculum .cc-content ul{
  margin: 10px 0 0;
  padding-left: 18px;
  line-height: 1.7;
}

#curriculum .cc-content li{
  margin: 6px 0;
}

/* Mobile */
@media (max-width: 600px){
  #curriculum summary{
    padding: 16px;
    font-size: 15px;
  }
  #curriculum details > .cc-content{
    padding: 0 16px 16px;
  }
}

/*Refund Policy*/

/* =========================
   SCORE GUARANTEE SECTION
   ========================= */

#guarantee .section-header{
  text-align: center;
  margin-bottom: 24px;
}

#guarantee .grid-2{
  max-width: 980px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

/* Card */
#guarantee .grid-2 .card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 22px;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  position: relative;
  overflow: hidden;
}

/* Top accent bar */
#guarantee .grid-2 .card::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 5px;
  width: 100%;
  background: #22c55e; /* green accent */
  opacity: .95;
}

/* Title */
#guarantee .grid-2 .card h3{
  margin: 0 0 10px;
  font-size: 18px;
  line-height: 1.25;
}

/* Text */
#guarantee .grid-2 .card p{
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  opacity: .9;
}

/* Optional: bullet list styling if you convert text to UL later */
#guarantee .grid-2 .card ul{
  margin: 10px 0 0;
  padding-left: 18px;
  line-height: 1.7;
}

#guarantee .grid-2 .card li{
  margin: 6px 0;
}

/* Hover (subtle) */
#guarantee .grid-2 .card:hover{
  transform: translateY(-2px);
  transition: transform .18s ease, box-shadow .18s ease;
  box-shadow: 0 14px 34px rgba(0,0,0,.10);
}

/* Responsive */
@media (max-width: 800px){
  #guarantee .grid-2{
    grid-template-columns: 1fr;
    gap: 16px;
  }

  #guarantee .grid-2 .card{
    padding: 18px;
  }
}

/*New Section*/

/* =========================================
   GLOBAL TWEAKS (safe + scoped)
   ========================================= */
#experts .section-header, #curriculum .section-header, #comparison .section-header,
#difference .section-header, #guarantee .section-header{
  text-align: center;
}
#comparison .section-header p, #difference .section-header p, #curriculum .section-header p{
  opacity: .85;
}

/* =========================================
   WHY CHOOSE US (COMPARISON TABLE)
   ========================================= */
#comparison .comparison-wrap{
  max-width: 1080px;
  margin: 0 auto;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}
#comparison table{
  width: 100%;
  border-collapse: collapse;
  min-width: 860px; /* enables horizontal scroll on small screens */
}
#comparison thead th{
  text-align: left;
  font-size: 14px;
  letter-spacing: .2px;
  padding: 16px 18px;
  background: rgba(0,0,0,.03);
}
#comparison tbody td{
  padding: 14px 18px;
  border-top: 1px solid rgba(0,0,0,.06);
  vertical-align: top;
  font-size: 14px;
  line-height: 1.55;
}
#comparison tbody tr:nth-child(even) td{ background: rgba(0,0,0,.015); }

.pte-tick{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  font-weight: 600;
}
.pte-tick::before{
  content: "✓";
  color: #16a34a;
  font-weight: 900;
  width: 18px;
  height: 18px;
  display:inline-grid;
  place-items:center;
  border-radius: 999px;
  background: rgba(34,197,94,.12);
}

/* =========================================
   BEFORE vs AFTER + OUTCOMES BLOCKS
   ========================================= */
#difference .ba-grid{
  max-width: 1080px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 24px;
}
#difference .ba-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 22px;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}
#difference .ba-card h3{ margin: 0 0 10px; font-size: 18px; }
#difference .ba-card ul{ margin: 0; padding-left: 18px; line-height: 1.7; }
#difference .ba-card li{ margin: 6px 0; }

#difference .outcomes-grid{
  max-width: 1080px;
  margin: 24px auto 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
#difference .outcome-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 22px;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}
#difference .outcome-card h3{ margin: 0 0 10px; font-size: 18px; line-height:1.25; }
#difference .outcome-card p{ margin: 0; opacity: .9; line-height: 1.6; }
#difference .outcome-card ul{ margin: 10px 0 0; padding-left: 18px; line-height: 1.7; }
#difference .outcome-card li{ margin: 6px 0; }
#difference .outcome-card.cta{
  border-color: rgba(34,197,94,.25);
}
#difference .outcome-card.cta .btn{
  margin-top: 14px;
  display: inline-flex;
}

@media (max-width: 992px){
  #difference .outcomes-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 800px){
  #difference .ba-grid{ grid-template-columns: 1fr; gap: 16px; }
  #difference .ba-card, #difference .outcome-card{ padding: 18px; }
}

/* =========================================
   MOBILE POLISH (safe)
   ========================================= */
@media (max-width: 600px){
  .section{ padding-top: 48px; padding-bottom: 48px; }
  .section-header h2{ font-size: 26px; }
}

/* =========================
   Footer CF7 - compact + rows
   ========================= */

/* remove CF7 extra spacing */
.footer-grid .footer-contact__form .wpcf7-form p{
  margin:0 !important;
  padding:0 !important;
}
.footer-grid .footer-contact__form .wpcf7-form br{
  display:none !important;
}

/* 2 column grid */
.footer-grid .footer-contact__form .cf7-footer-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px 16px; /* smaller gaps */
}

/* IMPORTANT: grid items are <p>, so force phone + message <p> to full width */
.footer-grid .footer-contact__form .cf7-footer-grid > p:nth-child(3),
.footer-grid .footer-contact__form .cf7-footer-grid > p:nth-child(4){
  grid-column:1 / -1;   /* new line full width */
}

/* compact input style for dark footer */
.footer-grid .footer-contact__form .wpcf7 input[type="text"],
.footer-grid .footer-contact__form .wpcf7 input[type="email"],
.footer-grid .footer-contact__form .wpcf7 input[type="tel"],
.footer-grid .footer-contact__form .wpcf7 textarea{
  width:100%;
  box-sizing:border-box;
  padding:10px 12px;     /* smaller padding */
  font-size:14px;        /* smaller font */
  line-height:1.2;
  color:#fff;
  background:transparent;
  border:1px solid rgba(255,255,255,.45);
  outline:none;
}

/* placeholder color */
.footer-grid .footer-contact__form .wpcf7 input::placeholder,
.footer-grid .footer-contact__form .wpcf7 textarea::placeholder{
  color:rgba(255,255,255,.55);
}

/* focus */
.footer-grid .footer-contact__form .wpcf7 input:focus,
.footer-grid .footer-contact__form .wpcf7 textarea:focus{
  border-color:rgba(255,255,255,.9);
}

/* your message is input type=text — make it taller like a message box */
.footer-grid .footer-contact__form input.your-message{
  height:50px;           /* makes it look like message area */
  padding-top:10px;
}

/* button smaller and cleaner */
.footer-grid .footer-contact__form .cf7-footer-actions{
  display:flex;
  justify-content:flex-start; /* or flex-end if you want right aligned */
  margin-top:14px;
}
.footer-grid .footer-contact__form .wpcf7 input[type="submit"]{
  padding:12px 28px;
  font-size:14px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#fff;
  border:none;
  cursor:pointer;
  background:linear-gradient(90deg,#07003f,#14006f);
  min-width:220px;
}

/* validation text smaller so it doesn't look messy */
.footer-grid .footer-contact__form .wpcf7-not-valid-tip{
  font-size:12px;
  margin-top:4px;
}

/* mobile: 1 column */
@media (max-width: 700px){
  .footer-grid .footer-contact__form .cf7-footer-grid{
    grid-template-columns:1fr;
  }
  .footer-grid .footer-contact__form .cf7-footer-grid > p:nth-child(3),
  .footer-grid .footer-contact__form .cf7-footer-grid > p:nth-child(4){
    grid-column:auto;
  }
}

/* Courses */

/* ===========================
   PTE Pricing Comparison Table
   =========================== */

.pte-pricing { padding: 30px 0; }
.pte-pricing__wrap { max-width: 1100px; margin: 0 auto; padding: 0 16px; }

/* table shell */
.pte-pricing-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(0,0,0,.06);
}

/* override common theme defaults */
.pte-pricing-table th,
.pte-pricing-table td{
  text-align: left !important;
  vertical-align: middle;
}

/* header cells */
.pte-pricing-table thead th{
  padding: 30px 14px;
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

.pte-pricing-table__feature-head{
  width: 34%;
  background: #fff;
}

/* plan header styling */
.pte-plan{
  position: relative;
  width: 16.5%;
  border-left: 1px solid rgba(0,0,0,.06);
  cursor: pointer;
  outline: none;
}

.pte-plan__name{
  font-weight: 800;
  font-size: 18px;
  margin-bottom: 6px;
}

.pte-plan__price{
  font-weight: 900;
  font-size: 22px;
  line-height: 1.1;
  margin-bottom: 12px;
}

.pte-plan__price span{
  font-weight: 700;
  font-size: 12px;
  opacity: .75;
  margin-left: 4px;
}

/* buttons */
.pte-plan__btn{
  display: inline-block;
  padding: 10px 14px;
  border-radius: 12px;
  color: #fff !important;
  font-weight: 800;
  text-decoration: none !important;
  line-height: 1;
  position: relative;
  z-index: 2; /* keep link above header click area */
}

/* plan colors (edit if needed) */
.pte-plan--quick .pte-plan__name,
.pte-plan--quick .pte-plan__price{ color:#e85a4f; }
.pte-plan--quick .pte-plan__btn{ background:#e85a4f; }

.pte-plan--efficient .pte-plan__name,
.pte-plan--efficient .pte-plan__price{ color:#2aa9a1; }
.pte-plan--efficient .pte-plan__btn{ background:#2aa9a1; }

.pte-plan--premium .pte-plan__name,
.pte-plan--premium .pte-plan__price{ color:#6b63ff; }
.pte-plan--premium .pte-plan__btn{ background:#6b63ff; }

.pte-plan--complete .pte-plan__name,
.pte-plan--complete .pte-plan__price{ color:#f59e0b; }
.pte-plan--complete .pte-plan__btn{ background:#f59e0b; }


/* body rows */
.pte-pricing-table tbody td{
  padding: 14px;
  border-top: 1px solid rgba(0,0,0,.06);
}

.pte-pricing-table tbody tr:nth-child(odd) td{
  background: rgba(0,0,0,.02);
}

.pte-feature{
  font-weight: 700;
  color: rgba(0,0,0,.78);
}

/* ===========================
   Click-to-select highlight
   =========================== */

.pte-plan.is-selected{
  background: rgba(107, 99, 255, .06);
  box-shadow: inset 0 0 0 0px rgba(107, 99, 255, .40);
}

.pte-pricing-table td.is-selected{
  background: rgba(107, 99, 255, .05) !important;
}

/* Optional: stronger vertical separators for selected column */
.pte-plan.is-selected,
.pte-pricing-table td.is-selected{
  border-left: 1px solid rgba(107, 99, 255, .25);
  border-right: 1px solid rgba(107, 99, 255, .25);
}

/* tick / cross icons (pure CSS) */
.pte-icon{
  display: inline-block;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  position: relative;
  vertical-align: middle;
}

.pte-icon--tick{ background: rgba(34,197,94,.14); }
.pte-icon--tick::before{
  content:"";
  position:absolute;
  left: 7px; top: 5px;
  width: 6px; height: 10px;
  border-right: 3px solid #22c55e;
  border-bottom: 3px solid #22c55e;
  transform: rotate(40deg);
}

.pte-icon--cross{ background: rgba(239,68,68,.14); }
.pte-icon--cross::before,
.pte-icon--cross::after{
  content:"";
  position:absolute;
  left: 6px; top: 10px;
  width: 10px; height: 3px;
  background: #ef4444;
  border-radius: 2px;
}
.pte-icon--cross::before{ transform: rotate(45deg); }
.pte-icon--cross::after{ transform: rotate(-45deg); }

/* mobile: horizontal scroll */
@media (max-width: 980px){
  .pte-pricing__wrap{ overflow-x:auto; }
  .pte-pricing-table{ min-width: 900px; }
}

/* ===== Client landing page changes patch ===== */
.hero-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center}
.hero-left .kicker{font-size:13px;font-weight:800;letter-spacing:.3px;color:#6b63ff;margin-bottom:10px}
.hero-title{margin:0 0 10px;font-size:38px;line-height:1.1}
.hero-sub{margin:0 0 12px;color:#5d6470}
.gradient-text{background:linear-gradient(90deg,#6b63ff,#4f46e5);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-bullets{margin:0 0 14px;padding-left:18px}.hero-bullets li{margin:7px 0}
.hero-ctas{display:flex;gap:10px;flex-wrap:wrap}
.hero-right .hero-stats{padding:14px}.hero-stat{font-size:14px;margin:4px 0}.hero-stat .muted{display:block;font-size:12px;margin-top:2px}
.hero-mockup{margin-top:14px}.hero-mockup video,.split-media video{width:100%;height:auto;border-radius:14px;box-shadow:0 8px 18px rgba(0,0,0,.08)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.feature{padding:16px;text-align:center}.feature i{font-size:20px;color:#6b63ff;margin-bottom:8px}.feature h3{font-size:14px;line-height:1.35;margin:0}
.split-card{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:center;padding:18px}
.check-list{padding-left:18px;margin:0 0 14px}.check-list li{margin:8px 0}
.pte-reddit-card{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px}.pte-reddit-card h3{margin:0 0 4px}.pte-reddit-card p{margin:0}
.pte-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pte-blog-card{padding:16px}.pte-blog-card h3{font-size:18px;margin:0 0 8px}.pte-blog-card p{margin:0 0 12px}
.faq-a{display:none}

/* Pricing table */
.pte-pricing{padding:8px 0}.pte-pricing__wrap{max-width:1100px;margin:0 auto}
.pte-pricing-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.06)}
.pte-pricing-table th,.pte-pricing-table td{text-align:left !important;vertical-align:middle}
.pte-pricing-table__feature-head{width:34%}
.pte-plan{position:relative;width:16.5%;border-left:1px solid rgba(0,0,0,.06);cursor:pointer;outline:none}
.pte-plan__name{font-weight:800;font-size:18px;margin-bottom:6px}
.pte-plan__price{font-weight:900;font-size:22px;line-height:1.1;margin-bottom:12px}
.pte-plan__price span{font-weight:700;font-size:12px;opacity:.75;margin-left:4px}
.pte-plan__btn{display:inline-block;padding:10px 14px;border-radius:12px;color:#fff !important;font-weight:800;text-decoration:none !important;line-height:1;position:relative;z-index:2}
.pte-plan--quick .pte-plan__name,.pte-plan--quick .pte-plan__price{color:#e85a4f}.pte-plan--quick .pte-plan__btn{background:#e85a4f}
.pte-plan--efficient .pte-plan__name,.pte-plan--efficient .pte-plan__price{color:#2aa9a1}.pte-plan--efficient .pte-plan__btn{background:#2aa9a1}
.pte-plan--premium .pte-plan__name,.pte-plan--premium .pte-plan__price{color:#6b63ff}.pte-plan--premium .pte-plan__btn{background:#6b63ff}
.pte-plan--complete .pte-plan__name,.pte-plan--complete .pte-plan__price{color:#f59e0b}.pte-plan--complete .pte-plan__btn{background:#f59e0b}
.pte-plan__badge{position:absolute;top:3px;left:50%;transform:translateX(-50%);background:#6b63ff;color:#fff;font-weight:800;font-size:12px;padding:6px 10px;border-radius:999px;white-space:nowrap}
.pte-pricing-table tbody td{padding:14px;border-top:1px solid rgba(0,0,0,.06)}
.pte-pricing-table tbody tr:nth-child(odd) td{background:rgba(0,0,0,.02)}
.pte-feature{font-weight:700;color:rgba(0,0,0,.78)}
.pte-plan.is-selected{background:rgba(107,99,255,.06);box-shadow:inset 0 0 0 2px rgba(107,99,255,.4)}
.pte-pricing-table td.is-selected{background:rgba(107,99,255,.05) !important}
.pte-plan.is-selected,.pte-pricing-table td.is-selected{border-left:2px solid rgba(107,99,255,.25);border-right:2px solid rgba(107,99,255,.25)}
.pte-icon{display:inline-block;width:22px;height:22px;border-radius:999px;position:relative;vertical-align:middle}
.pte-icon--tick{background:rgba(34,197,94,.14)}
.pte-icon--tick:before{content:"";position:absolute;left:7px;top:5px;width:6px;height:10px;border-right:3px solid #22c55e;border-bottom:3px solid #22c55e;transform:rotate(40deg)}
.pte-icon--cross{background:rgba(239,68,68,.14)}
.pte-icon--cross:before,.pte-icon--cross:after{content:"";position:absolute;left:6px;top:10px;width:10px;height:3px;background:#ef4444;border-radius:2px}
.pte-icon--cross:before{transform:rotate(45deg)}.pte-icon--cross:after{transform:rotate(-45deg)}
.pricing-bottom-cta{text-align:center;margin-top:16px}

@media (max-width:1024px){.hero-wrap,.split-card{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:980px){.pte-pricing__wrap{overflow-x:auto}.pte-pricing-table{min-width:900px}}
@media (max-width:767px){.pte-blog-grid{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr}.hero-title{font-size:30px}}


/* =========================================
   FAQ PREVIEW + WHAT IS PTE ACADEMIC (Landing)
   ========================================= */

   /* FAQ preview custom accordion */
.faq-preview-list {
  display: grid;
  gap: 10px;
}

.faq-preview-item {
  border-radius: 12px;
  overflow: hidden;
  background: #f7f8fb;
  box-shadow: 0 2px 8px rgba(0,0,0,.03);
}

.faq-preview-q {
  width: 100%;
  border: 0;
  background: #f7f8fb;
  color: #2b2b45;
  font-weight: 700;
  font-size: 1rem;
  text-align: left;
  padding: 15px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}

.faq-preview-q i {
  font-size: 14px;
  transition: transform .2s ease;
  color: #3c3e63;
}

.faq-preview-a {
  display: none;
  padding: 0 18px 14px;
  background: #f7f8fb;
}

.faq-preview-a p {
  margin: 0;
  color: #666a78;
  line-height: 1.5;
  font-size: .93rem;
}

.faq-preview-item.active .faq-preview-a {
  display: block;
}

.faq-preview-item.active .faq-preview-q i {
  transform: rotate(45deg);
}

.faq-preview-section {
  background: #efeffa; /* soft lavender bg */
}

.faq-preview-card {
  display: grid;
  grid-template-columns: 1.45fr .95fr;
  gap: 28px;
  align-items: center;
  padding: 34px 36px;
  border-radius: 26px;
  box-shadow: 0 12px 32px rgba(42, 26, 120, .08);
  background: #fff;
}

.faq-preview-left h2 {
  margin: 0 0 8px;
  font-size: 2rem;
  line-height: 1.15;
  color: #5d59b6;
  font-weight: 800;
}

.faq-preview-left > p {
  margin: 0 0 16px;
  font-size: .98rem;
}

.faq-preview-list {
  display: grid;
  gap: 10px;
}

.faq-preview-list .faq-item {
  border: 0;
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  background: #f7f8fb;
  box-shadow: 0 2px 8px rgba(0,0,0,.03);
}

.faq-preview-list .faq-q {
  width: 100%;
  border: 0;
  background: #f7f8fb;
  color: #2b2b45;
  font-weight: 700;
  font-size: 1rem;
  text-align: left;
  padding: 15px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}

.faq-preview-list .faq-q i {
  font-size: 14px;
  transition: transform .2s ease;
  color: #3c3e63;
}

.faq-preview-list .faq-item.active .faq-q i {
  transform: rotate(45deg);
}

.faq-preview-list .faq-a {
  padding: 0 18px 14px;
  background: #f7f8fb;
}

.faq-preview-list .faq-a p {
  margin: 0;
  color: #666a78;
  line-height: 1.5;
  font-size: .93rem;
}

.faq-preview-cta {
  margin-top: 18px;
  text-align: center;
}

.faq-preview-cta .btn {
  min-width: 170px;
  border-radius: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.faq-preview-right {
  text-align: center;
}

.faq-preview-right img {
  max-width: 100%;
  height: auto;
  display: inline-block;
}

/* ===========================
   What is PTE Academic section
   =========================== */

.pte-academic-summary {
  background: #f6f6fb;
  padding-top: 34px;
}

.pte-academic-summary__header {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 24px;
}

.pte-academic-summary__header h2 {
  margin: 0 0 10px;
  font-size: 2.25rem;
  line-height: 1.15;
  color: #1f2548;
  font-weight: 800;
}

.pte-academic-summary__header p {
  margin: 0 auto;
  color: #757b8a;
  font-size: 1rem;
  line-height: 1.8;
  max-width: 760px;
}

.pte-academic-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px;
  margin-top: 24px;
}

.pte-academic-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 18px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(35, 35, 70, .05);
}

.pte-academic-card__icon {
  width: 52px;
  height: 52px;
  min-width: 52px;
  border-radius: 50%;
  background: rgba(119, 105, 230, .10);
  color: #7769e6;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}

.pte-academic-card__content h3 {
  margin: 2px 0 4px;
  font-size: 1.45rem;
  line-height: 1.2;
  color: #252a4a;
  font-weight: 800;
}

.pte-academic-card__content p {
  margin: 0;
  color: #6f7483;
  line-height: 1.5;
  font-size: .95rem;
}

.pte-academic-summary__cta {
  text-align: center;
  margin-top: 20px;
}

.pte-academic-summary__cta .btn {
  min-width: 160px;
  border-radius: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

/* Button outline polish (if not already styled) */
.btn.btn-outline {
  border: 2px solid rgba(93, 89, 182, .45);
  color: #3e4166 !important;
  background: #fff;
}
.btn.btn-outline:hover {
  border-color: #5d59b6;
  color: #5d59b6 !important;
}

/* Responsive */
@media (max-width: 991px) {
  .faq-preview-card {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .faq-preview-right {
    order: -1;
  }


  .pte-academic-cards {
    grid-template-columns: 1fr;
  }

  .pte-academic-summary__header h2 {
    font-size: 1.8rem;
  }

  .pte-academic-card__content h3 {
    font-size: 1.15rem;
  }
}


/* =========================================
   Course Features Accordion Grid
   ========================================= */
.course-features-section {
  background: #f1f4f5;
}

.course-features-wrap {
  background: #123a84; /* deep blue */
  border-radius: 18px;
  padding: 34px 28px 30px;
  box-shadow: 0 16px 36px rgba(10, 32, 77, .16);
  position: relative;
  overflow: hidden;
}



.course-features-head {
  position: relative;
  z-index: 1;
  margin-bottom: 22px;
}

.course-features-head h2 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 2.1rem;
  line-height: 1.15;
  font-weight: 800;
}

.course-features-head p {
  margin: 0;
  color: rgba(255,255,255,.9);
  font-size: 1rem;
}

.course-features-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
}

.cf-card {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(8, 35, 88, .18);
  overflow: hidden;
  transition: background .2s ease, border-color .2s ease;
}

.cf-card:hover {
  border-color: rgba(255,255,255,.24);
}

.cf-card__toggle {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 14px 18px;
  color: #fff;
  display: grid;
  grid-template-columns: 90px 1fr 26px;
  align-items: center;
  gap: 14px;
  text-align: left;
  cursor: pointer;
}

.cf-card__icon {
  width: 90px;
  height: 90px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 36px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
}

.cf-card__title {
  display: block;
  color: #fff;
  font-weight: 800;
  font-size: 1.15rem;
  line-height: 1.25;
}

.cf-card__plus {
  font-size: 34px;
  line-height: 1;
  font-weight: 300;
  color: rgba(255,255,255,.95);
  transition: transform .2s ease;
  justify-self: end;
}

/* Expanded state */
.cf-card.is-open {
  background: rgba(7, 31, 77, .35);
  border-color: rgba(255,255,255,.25);
}

.cf-card.is-open .cf-card__plus {
  transform: rotate(45deg);
}

.cf-card__body {
  display: none;
  border-top: 1px solid rgba(255,255,255,.10);
  background: rgba(5, 22, 56, .22);
}

.cf-card.is-open .cf-card__body {
  display: block;
}

.cf-card__body-inner {
  padding: 16px 18px 18px 18px;
  color: rgba(255,255,255,.95);
}

.cf-card__body-inner h3 {
  margin: 0 0 8px;
  font-size: 1.02rem;
  line-height: 1.35;
  color: #fff;
  font-weight: 800;
}

.cf-card__body-inner p {
  margin: 0 0 10px;
  color: rgba(255,255,255,.88);
  line-height: 1.55;
  font-size: .94rem;
}

.cf-card__body-inner ul {
  margin: 0 0 12px 0;
  padding: 0;
  list-style: none;
}

.cf-card__body-inner ul li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 8px;
  color: rgba(255,255,255,.92);
  line-height: 1.45;
  font-size: .93rem;
}

.cf-card__body-inner ul li::before {
  content: "•";
  position: absolute;
  left: 4px;
  top: 0;
  color: #93b7ff;
  font-size: 18px;
  line-height: 1;
}

.cf-card__note {
  font-style: italic;
  color: #d7e5ff !important;
}

.cf-card__body .btn {
  margin-top: 4px;
  font-size: .92rem;
  border-radius: 10px;
  padding: 10px 14px;
}

/* Icon tile colors */
.cf-blue   { background:#4f79ff; }
.cf-orange { background:#f8a047; }
.cf-teal   { background:#64c0cf; }
.cf-purple { background:#9a72ef; }
.cf-red    { background:#f06b5f; }
.cf-green  { background:#44bf85; }
.cf-cyan   { background:#61b7c7; }
.cf-violet { background:#8c6cf0; }

/* Mobile */
@media (max-width: 991px) {
  .course-features-wrap {
    padding: 22px 16px 18px;
    border-radius: 14px;
  }

  .course-features-wrap::before {
    width: 240px;
    height: 90px;
    top: -36px;
    right: -70px;
  }

  .course-features-head h2 {
    font-size: 1.5rem;
  }

  .course-features-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .cf-card__toggle {
    grid-template-columns: 64px 1fr 22px;
    gap: 12px;
    padding: 12px 14px;
  }

  .cf-card__icon {
    width: 64px;
    height: 64px;
    font-size: 26px;
    border-radius: 10px;
  }

  .cf-card__title {
    font-size: 1rem;
  }

  .cf-card__plus {
    font-size: 28px;
  }
}

/* Keep the body visible inside the same card area */
.cf-card__body {
  display: none;
  border-top: 1px solid rgba(255,255,255,.10);
  background: transparent; /* was darker bg */
}

.cf-card.is-open .cf-card__body {
  display: block;
}

.cf-card__body-inner {
  padding: 8px 18px 18px 18px; /* slightly tighter top padding */
}

/* Minus icon instead of rotated plus for cleaner match */
.cf-card__plus {
  font-size: 34px;
  line-height: 1;
  font-weight: 300;
  color: rgba(255,255,255,.95);
  min-width: 22px;
  text-align: center;
}

.cf-card.is-open .cf-card__plus {
  transform: none;
}

.cf-card.is-open .cf-card__plus::before {
  content: "−";
}

.cf-card.is-open .cf-card__plus {
  color: #fff;
  font-size: 34px;
}

.cf-card.is-open .cf-card__plus {
  position: relative;
}

.cf-card.is-open .cf-card__plus {
  /* hide original + visually by making text transparent */
  color: transparent;
}

.cf-card.is-open .cf-card__plus::before {
  color: #fff;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Button style inside expanded area like screenshot */
.cf-card__body .btn {
  margin-top: 8px;
  background: #f2f4f7;
  color: #0f2f73 !important;
  border: 0;
  border-radius: 10px;
  font-weight: 800;
  padding: 10px 16px;
}

.cf-card__body .btn:hover {
  background: #ffffff;
}
/* 2) Keep cards aligned to top (don't stretch to row height) */
.course-features-grid {
  align-items: start !important;
}

.cf-card {
  align-self: start !important;
}

/* Make closed cards only header height (no big empty box) */
.cf-card:not(.is-open) .cf-card__body {
  display: none !important;
}

.cf-card:not(.is-open) {
  height: auto !important;
}

/* Optional: cleaner open look */
.cf-card.is-open {
  background: rgba(7, 31, 77, .35);
  border-color: rgba(255,255,255,.25);
}

/* =========================
   Blog Post Design (Single)
   ========================= */

.single-post main {
  background: #f6f6fb;
}

/* container */
.pte-container{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 16px;
}

/* hero */
.pte-post-hero{
  padding: 52px 0 22px;
  background: radial-gradient(1000px 260px at 25% 0%, rgba(120,105,230,.22), rgba(246,246,251,0));
}

.pte-post-hero__inner{
  padding: 0 4px;
}

.pte-backlink{
  display: inline-block;
  margin-bottom: 12px;
  color: #5d59b6;
  font-weight: 700;
  text-decoration: none;
}
.pte-backlink:hover{ text-decoration: underline; }

.pte-post-title{
  font-family: "Mulish", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 40px;
  line-height: 1.2;
  font-weight: 800;
  color: #1f2548;
  margin: 0 0 10px;
}

.pte-post-meta{
  color: rgba(31,37,72,.72);
  font-size: 14px;
  font-weight: 600;
}
.pte-post-meta .dot{ margin: 0 8px; }

/* layout */
.pte-post-body{
  padding: 18px 0 70px;
}

.pte-post-layout{
  display: grid;
  grid-template-columns: 1.6fr .7fr;
  gap: 18px;
  align-items: start;
}

@media (max-width: 980px){
  .pte-post-layout{ grid-template-columns: 1fr; }
}

/* cards */
.pte-card{
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(20, 20, 60, .06);
  border: 1px solid rgba(0,0,0,.06);
}

.pte-post-content{
  padding: 26px 26px 22px;
}

.pte-post-featured img{
  width: 100%;
  height: auto;
  border-radius: 14px;
  margin-bottom: 18px;
}

/* typography inside content */
.pte-entry{
  color: #2b2f45;
  font-size: 17px;
  line-height: 1.85;
}

.pte-entry p{
  margin: 0 0 14px 0;
}

.pte-entry h2{
  margin: 26px 0 10px;
  font-size: 26px;
  line-height: 1.25;
  font-weight: 800;
  color: #5d59b6;
  font-family: "Mulish", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.pte-entry h3{
  margin: 18px 0 8px;
  font-size: 20px;
  font-weight: 800;
  color: #1f2548;
  font-family: "Mulish", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* Fix bullets (your CSS globally removes list-style) */
.pte-entry ul,
.pte-entry ol{
  margin: 10px 0 16px;
  padding-left: 20px;
}

.pte-entry ul li{
  list-style: disc;
  margin: 8px 0;
}

.pte-entry ol li{
  list-style: decimal;
  margin: 8px 0;
}

.pte-entry a{
  color: #5d59b6;
  font-weight: 700;
  text-decoration: underline;
}

/* tables in posts */
.pte-entry table th,
.pte-entry table td{
  text-align: left !important;
}

/* footer CTA */
.pte-post-footer{
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(0,0,0,.07);
}

/* buttons */
.pte-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 12px;
  font-weight: 800;
  text-decoration: none !important;
}

.pte-btn-primary{
  background: #5d59b6;
  color: #fff !important;
}

.pte-btn-outline{
  background: #fff;
  color: #3e4166 !important;
  border: 2px solid rgba(93, 89, 182, .45);
}
.pte-btn-outline:hover{
  border-color: #5d59b6;
  color: #5d59b6 !important;
}

/* sidebar */
.pte-post-sidebar .pte-sidebar-card{
  padding: 18px;
  margin-bottom: 14px;
}

.pte-post-sidebar h3{
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 800;
  color: #1f2548;
}

.pte-post-sidebar .muted{
  color: rgba(31,37,72,.7);
  margin: 0 0 12px;
}

.pte-recent{
  margin: 0;
  padding: 0;
}

.pte-recent li{
  list-style: none;
  padding: 10px 0;
  border-top: 1px solid rgba(0,0,0,.06);
}

.pte-recent li:first-child{ border-top: 0; }

.pte-recent a{
  color: #2b2f45;
  font-weight: 700;
  text-decoration: none;
}
.pte-recent a:hover{ color: #5d59b6; text-decoration: underline; }

/*Blogs*/

/* =========================
   Blog Listing Page
   ========================= */
.pte-container{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 16px;
}

.pte-blog-hero{
  padding: 56px 0 24px;
  background: radial-gradient(1000px 260px at 25% 0%, rgba(120,105,230,.22), rgba(246,246,251,0));
}

.pte-blog-title{
  margin: 0 0 10px;
  font-size: 40px;
  line-height: 1.2;
  font-weight: 800;
  color: #1f2548;
  font-family: "Mulish", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.pte-blog-sub{
  margin: 0;
  color: rgba(31,37,72,.72);
  font-size: 16px;
  font-weight: 600;
  max-width: 760px;
}

.pte-blog-archive{
  padding: 20px 0 70px;
  background: #f6f6fb;
}

.pte-card{
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(20, 20, 60, .06);
  border: 1px solid rgba(0,0,0,.06);
}

.pte-blog-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
}

@media (max-width: 980px){
  .pte-blog-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .pte-blog-grid{ grid-template-columns: 1fr; }
}

.pte-blog-card{
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.pte-blog-thumb{
  display: block;
  height: 180px;
  overflow: hidden;
  background: #eef0ff;
}
.pte-blog-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pte-blog-thumb--placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#5d59b6;
  font-weight:800;
  text-decoration:none;
}

.pte-blog-card__body{
  padding: 16px 16px 18px;
}

.pte-blog-meta{
  font-size: 13px;
  font-weight: 700;
  color: rgba(31,37,72,.65);
  margin-bottom: 8px;
}
.pte-blog-meta .dot{ margin: 0 8px; }

.pte-blog-card__title{
  margin: 0 0 10px;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 900;
}
.pte-blog-card__title a{
  color: #1f2548;
  text-decoration: none;
}
.pte-blog-card__title a:hover{
  color:#5d59b6;
  text-decoration: underline;
}

.pte-blog-excerpt{
  margin: 0 0 14px;
  color: rgba(31,37,72,.78);
  line-height: 1.6;
  font-size: 14px;
}

/* buttons */
.pte-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 12px;
  font-weight: 800;
  text-decoration: none !important;
}
.pte-btn-outline{
  background: #fff;
  color: #3e4166 !important;
  border: 2px solid rgba(93, 89, 182, .45);
}
.pte-btn-outline:hover{
  border-color: #5d59b6;
  color: #5d59b6 !important;
}

/* pagination */
.pte-pagination{
  margin-top: 22px;
}
.pte-pagination .page-numbers{
  display: inline-block;
  margin: 0 4px 8px 0;
  padding: 8px 12px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  text-decoration: none;
  font-weight: 800;
  color: #2b2f45;
}
.pte-pagination .page-numbers.current{
  background: #5d59b6;
  color: #fff;
  border-color: #5d59b6;
}

/* =========================
   Featured Blogs (Improved)
   ========================= */

.featured-blogs{
  padding-top: 70px;
  padding-bottom: 70px;
}

.fb-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}

@media (max-width: 980px){
  .fb-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .fb-grid{ grid-template-columns: 1fr; }
}

.fb-card{
  background:#fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  overflow:hidden;
  box-shadow: 0 12px 30px rgba(16,24,40,0.06);
  display:flex;
  flex-direction:column;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.fb-card:hover{
  transform: translateY(-3px);
  border-color: rgba(91,108,255,0.22);
  box-shadow: 0 18px 42px rgba(16,24,40,0.10);
}

.fb-thumb{
  display:block;
  height: 180px;
  background: rgba(91,108,255,0.08);
  overflow:hidden;
  position: relative;
}

.fb-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform: scale(1.02);
  transition: transform .25s ease;
}

.fb-card:hover .fb-thumb img{
  transform: scale(1.06);
}

.fb-thumb__placeholder{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  color: rgba(62, 99, 255, .95);
  letter-spacing:.2px;
}

.fb-body{
  padding: 16px 16px 18px;
  display:flex;
  flex-direction:column;
  flex: 1;
}

.fb-meta{
  display:flex;
  gap:10px;
  align-items:center;
  margin-bottom: 10px;
  flex-wrap:wrap;
}

.fb-pill{
  display:inline-flex;
  align-items:center;
  padding: 5px 10px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 12px;
  color: #3e4166;
  background: rgba(91,108,255,0.10);
  border: 1px solid rgba(91,108,255,0.18);
}

.fb-date{
  font-size: 12px;
  font-weight: 700;
  color: rgba(31,37,72,.62);
}

.fb-title{
  margin: 0 0 10px;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 900;
}

.fb-title a{
  color: #1f2548;
  text-decoration:none;
}

.fb-title a:hover{
  color: var(--primary);
  text-decoration: underline;
}

/* Clamp title + excerpt so card heights match */
.fb-title{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow:hidden;
  min-height: 48px;
}

.fb-excerpt{
  margin: 0 0 14px;
  color: rgba(31,37,72,.78);
  line-height: 1.65;
  font-size: 14px;

  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow:hidden;
  min-height: 70px;
}

/* Keep button aligned to bottom */
.fb-actions{
  margin-top: auto;
}

.fb-actions .btn{
  width: 100%;
  justify-content: center;
  border-radius: 12px;
  font-weight: 800;
}

/* CTA under grid */
.fb-cta{
  text-align:center;
  margin-top: 22px;
}

/* =========================
   Sample Lessons: Thumbnail + Popup
   ========================= */
.sample-lessons { padding: 70px 0; background: #f6f6fb; }

.sl-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 26px;
}
@media (max-width: 980px){ .sl-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px){ .sl-grid{ grid-template-columns: 1fr; } }

.sl-card{
  background:#fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  overflow:hidden;
  box-shadow: 0 12px 30px rgba(16,24,40,0.06);
  display:flex;
  flex-direction:column;
}

.sl-thumb{
  position: relative;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  display:block;
  width: 100%;
}

.sl-thumb::before{
  content:"";
  display:block;
  padding-top: 56.25%; /* 16:9 */
}
.sl-thumb img{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  object-fit: cover;
  display:block;
}

.sl-play{
  position:absolute;
  left: 14px;
  bottom: 14px;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  /*background: rgba(93,89,182,.92);*/
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 18px;
  box-shadow: 0 10px 20px rgba(0,0,0,.18);
}

.sl-body{
  padding: 14px 16px 16px;
  display:flex;
  flex-direction:column;
  gap: 10px;
}
.sl-title{
  margin:0;
  font-size:16px;
  font-weight:900;
  color:#1f2548;
  line-height:1.35;
  min-height: 44px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.sl-open{
  width:100%;
  justify-content:center;
  border-radius:12px;
  font-weight:800;
}

/* Modal */
.sl-modal{
  position: fixed;
  inset: 0;
  display:none;
  z-index: 9999;
}
.sl-modal.is-open{ display:block; }

.sl-modal__overlay{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.55);
}

.sl-modal__dialog{
  position: relative;
  width: min(920px, calc(100% - 28px));
  margin: 8vh auto 0;
  background:#fff;
  border-radius: 18px;
  overflow:hidden;
  box-shadow: 0 20px 70px rgba(0,0,0,.35);
}

.sl-modal__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 12px 14px;
  background: #f6f6fb;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.sl-modal__title{
  font-weight: 900;
  color:#1f2548;
  font-size: 14px;
}

.sl-modal__close{
  border:0;
  background: #fff;
  border-radius: 10px;
  width: 38px;
  height: 38px;
  cursor:pointer;
  font-size: 18px;
  line-height: 1;
}

.sl-modal__player{
  position: relative;
  background: #0b1020;
}
.sl-modal__player::before{
  content:"";
  display:block;
  padding-top: 56.25%;
}
.sl-modal__player video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

/* HERO video thumbnail */
.hero-video-thumb{
  position: relative;
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(16,24,40,.10);
}

.hero-video-thumb::before{
  content:"";
  display:block;
  padding-top: 56.25%; /* 16:9 */
}

.hero-video-thumb img{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  object-fit: cover;
  display:block;
}

.hero-video-play{
  position:absolute;
  left: 16px;
  bottom: 16px;
  width: 54px;
  height: 54px;
  border-radius: 999px;
  /*background: rgba(93,89,182,.95);*/
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 20px;
  box-shadow: 0 12px 22px rgba(0,0,0,.22);
}

/* Modal (shared) */
.video-modal{
  position: fixed;
  inset: 0;
  display:none;
  z-index: 9999;
}
.video-modal.is-open{ display:block; }

.video-modal__overlay{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.55);
}

.video-modal__dialog{
  position: relative;
  width: min(920px, calc(100% - 28px));
  margin: 8vh auto 0;
  background:#fff;
  border-radius: 18px;
  overflow:hidden;
  box-shadow: 0 20px 70px rgba(0,0,0,.35);
}

.video-modal__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 12px 14px;
  background: #f6f6fb;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.video-modal__title{
  font-weight: 900;
  color:#1f2548;
  font-size: 14px;
}

.video-modal__close{
  border:0;
  background: #fff;
  border-radius: 10px;
  width: 38px;
  height: 38px;
  cursor:pointer;
  font-size: 18px;
  line-height: 1;
}

.video-modal__player{
  position: relative;
  background: #0b1020;
}
.video-modal__player::before{
  content:"";
  display:block;
  padding-top: 56.25%;
}
.video-modal__player video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

/* =========================
   Score Guarantee Banner
   ========================= */
.pte-guarantee{
  padding: 26px 0 38px;
  background: transparent; /* keeps your page bg */
}

.pte-guarantee__box{
  border-radius: 18px;
  padding: 26px 26px;
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 18px;
  align-items: center;

  /* looks like your theme (soft blue card) */
  background: linear-gradient(180deg, rgba(93,89,182,.10), rgba(93,89,182,.06));
  border: 1px solid rgba(93,89,182,.22);
  box-shadow: 0 12px 30px rgba(16,24,40,0.06);
}

.pte-guarantee__icon{
  width: 84px;
  height: 84px;
  border-radius: 18px;
  display:flex;
  align-items:center;
  justify-content:center;

  background: rgba(93,89,182,.14);
  color: #5d59b6;
}

.pte-guarantee__content h2{
  margin: 0 0 6px;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 900;
  color: #1f2548;
}

.pte-guarantee__content p{
  margin: 0 0 14px;
  color: rgba(31,37,72,.72);
  font-size: 16px;
  font-weight: 600;
}

@media (max-width: 768px){
  .pte-guarantee__box{
    grid-template-columns: 1fr;
    text-align: center;
  }
  .pte-guarantee__icon{
    margin: 0 auto;
  }
}

/*Contact US Page*/
/* =========================
   Contact Us (CF7) Styling
   ========================= */

.cf7-contact-wrap{
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 12px 30px rgba(16,24,40,.06);
  max-width: 900px;
  margin: 0 auto;
}

.cf7-contact-grid{
  display: grid;
  /*grid-template-columns: repeat(2, minmax(0, 1fr));*/
  gap: 12px;
}

.cf7-contact-field{ display:block; line-height:0.2px; }
.cf7-contact-field--full{ grid-column: 1 / -1; }

.cf7-contact-wrap input[type="text"],
.cf7-contact-wrap input[type="email"],
.cf7-contact-wrap input[type="tel"],
.cf7-contact-wrap textarea{
  width: 100%;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 15px;
  outline: none;
  background: #fff;
}

.cf7-contact-wrap textarea{
  min-height: 130px;
  resize: vertical;
}

.cf7-contact-wrap input:focus,
.cf7-contact-wrap textarea:focus{
  border-color: rgba(93, 89, 182, .55);
  box-shadow: 0 0 0 4px rgba(93, 89, 182, .12);
}

.cf7-contact-actions{
  margin-top: 14px;
}

.cf7-contact-actions input[type="submit"]{
  width: 100%;
  border: 0;
  border-radius: 12px;
  padding: 12px 16px;
  font-weight: 900;
  cursor: pointer;
  background: #5d59b6;
  color: #fff;
  box-shadow: 0 10px 22px rgba(93,89,182,.18);
}

.cf7-contact-actions input[type="submit"]:hover{
  filter: brightness(1.05);
}

/* CF7 validation */
.cf7-contact-wrap .wpcf7-not-valid-tip{
  font-size: 13px;
  margin-top: 6px;
}

.cf7-contact-wrap .wpcf7-response-output{
  margin: 14px 0 0;
  border-radius: 12px;
}

/* Mobile */
@media (max-width: 640px){
  .cf7-contact-grid{ grid-template-columns: 1fr; }
}

.wpcf7 form .wpcf7-response-output{
	max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}