/* ================================================================
   responsive.css — Media Query Styles
   All base styles are in custom.css
   ================================================================ */
 
/* ── Breakpoints used:
   @media (max-width: 1024px)  — Large tablet
   @media (max-width: 960px)   — Tablet
   @media (max-width: 900px)   — Tablet/small
   @media (max-width: 800px)   — Small tablet
   @media (max-width: 640px)   — Large mobile
   @media (max-width: 600px)   — Mobile
   @media (max-width: 520px)   — Small mobile
   @media (max-width: 480px)   — Small mobile
   @media (max-width: 400px)   — Extra small
   @media (max-width: 380px)   — Extra small
── */

/* ── Large tablet / small desktop (≤1100px) ── */
@media (max-width: 1100px) {
  .classes-grid {
    grid-template-columns: repeat(3, 1fr);
  }
 
  /* Row 1: all three take 1 column each */
  .classes-grid .class-card:nth-child(1) { grid-column: span 1; }
  .classes-grid .class-card:nth-child(2) { grid-column: span 1; }
  .classes-grid .class-card:nth-child(3) { grid-column: span 1; }
    .subjects-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
@media (max-width: 1024px) {
   .why-row { gap: 40px; }
  .collage { height: 440px; }
  .features-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}


 
@media (max-width: 960px) {
  .hero-container {
    grid-template-columns: 1fr;
    gap: 48px;
    padding: 0 32px;
    text-align: center;
  }
 
  .hero-content {
            align-items: flex-start;
  }
 
  .hero-desc {
    max-width: 560px;
  }
 
  .deco-book {
    left: 32px;
    bottom: 32px;
  }
 
  .hero-visual {
    max-width: 520px;
    margin: 0 auto;
    width: 100%;
  }
  .classes-section {
    padding: 48px 0 60px;
  }
 
  .classes-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
 
  /* All cards: 1 column span */
  .classes-grid .class-card:nth-child(n) {
    grid-column: span 1;
  }
 
  .card-title {
    font-size: 18px;
  }
   .premium-wrapper{
        flex-direction:column;
        padding:30px;
        gap:40px;
    }

    .course-card{
        width:100%;
        max-width:500px;
    }

    .premium-content{
        text-align:center;
    }

    .premium-content p{
        margin-left:auto;
        margin-right:auto;
    }
    .premium-btn a{
  display: block;
  text-align: center;
}

}

@media (max-width: 900px) {
.mission-row {
    grid-template-columns: 1fr;
  }
  .vision-card { min-height: 260px; }
 
  .values-grid {
    grid-template-columns: repeat(2, 1fr);
  }
 
  .why-row {
    grid-template-columns: 1fr;
    gap: 56px;
  }
 
  .collage {
    height: 400px;
    max-width: 500px;
    margin: 0 auto;
  }
 
  .why-content {
    transform: translateY(28px);
  }
  .hero-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 48px;
  }
 
  .hero-content {
    max-width: 100%;
  }
 
  .hero-image-wrap {
    width: 260px;
    height: 260px;
    align-self: center;
    display: none;
  }
 
  .image-card {
    width: 240px;
    height: 240px;
  }
 
  .yellow-blob {
    width: 220px;
    height: 220px;
  }
  .cards-grid {
    grid-template-columns: 1fr;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    gap: 24px;
  }
 
  .card--center {
    box-shadow: none;
  }
   .cards-wrapper {
    grid-template-columns: 1fr;
    max-width: 480px;
    margin: 0 auto;
    gap: 20px;
  }
 
  .card--center {
    padding: 32px 28px;
  }

  .cards-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
 
  .card {
    padding: 24px 22px 28px 22px;
  }
 
  .card-title {
    font-size: 16px;
  }
 
  .card-desc {
    font-size: 13px;
  }
  .lp-page-title {
    font-size: 26px;
  }
 
  .lp-video-thumb {
    height: 380px;
  }
 
  .lp-about-box {
    padding: 28px 28px 24px;
  }
 
  .lp-meta-row {
    gap: 0;
    padding: 16px 20px;
  }
 
  .lp-meta-value {
    font-size: 14px;
  }
  .main-layout {
    grid-template-columns: 1fr;
  }

  .sidebar {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
 
  /* Move donut above the text on tablet */
  .hero-right {
    order: -1;
    justify-content: flex-start;
  }
 
  .donut-wrapper {
    width: 200px;
    height: 200px;
  }
 
  .donut-percent { font-size: 2.1rem; }
 
  .title { font-size: 2.2rem; }
 
  .stats-row { gap: 10px; }
 
  .stat-card {
    padding: 14px 20px;
    min-width: 90px;
  }
 
  .stat-value { font-size: 1.4rem; }
 
  .breakdown-card {
    padding: 24px 24px;
  }
 
  .breakdown-image { height: 130px; }
}


}

@media (max-width: 800px) {

   .login-card {
    grid-template-columns: 1fr;
    border-radius: 20px;
    min-height: unset;
  }
 
  .left-panel {
    padding: 36px 28px 36px;
    border-radius: 0;
  }
 
  .left-image-wrap {
    max-width: 200px;
    margin-bottom: 20px;
  }
 
  .left-title {
    font-size: 20px;
  }
 
  .right-panel {
    padding: 36px 28px 32px;
  }
  }




/* ── Tablet (≤768px) ── */
@media (max-width: 768px) {
  .container {
    padding: 0 24px;
  }
 
  .subjects-section {
    padding: 48px 0 60px;
  }
 
  .subjects-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
 
  .card-title {
    font-size: 19px;
  }
 
  .card-desc {
    font-size: 13px;
  }
 
  .subject-card {
    padding: 22px 18px 20px;
    gap: 12px;
  }
 
  .card-icon-wrap {
    width: 52px;
    height: 52px;
  }
 
  .card-icon-wrap svg {
    width: 24px;
    height: 24px;
  }
  .quiz-question{
        font-size: 19px;
  }
  .options-grid{
        grid-template-columns: 1fr;
        gap: 10px;
  }
  .option-box{
        font-size: 15px;
  }
  .quiz-card{
        padding:40px 20px;
        border-radius:20px;
    }

    .icon-box img{
        width:50px;
        height:50px;
    }

    .quiz-card h2{
        font-size:28px;
        line-height:1.4;
    }

    .quiz-card p{
        font-size:15px;
        line-height:1.7;
        margin-bottom:25px;
    }

    .quiz-card button{
        width:100%;
        max-width:250px;
        padding:15px 25px;
        font-size:16px;
    }
     .premium-wrapper{
        border-radius:25px;
        padding:25px;
    }

    .course-image{
        height:220px;
    }

    .course-content h3{
        font-size:20px;
    }

    .course-content li{
        font-size:16px;
    }

    .premium-content h2{
        font-size:26px;
    }

    .premium-content p{
        font-size:16px;
        line-height:1.7;
    }

    .price{
        font-size:35px;
    }

    .year{
        font-size:16px;
    }
    .premium-btn{
      margin-top: 10px;
    }
      .question-card {
    padding: 28px 24px;
    gap: 18px;
    border-radius: 16px;
  }
 
  .question-text {
    font-size: 0.98rem;
  }
 
  .answer-option {
    padding: 14px 18px;
  }
 
  .answer-text {
    font-size: 0.9rem;
  }
 
  .answer-tag {
    font-size: 0.78rem;
  }
 
  .why-text {
    font-size: 0.84rem;
  }
  .question-card-row{

  gap:25px;
}
.lesson-card-row{
  gap:25px;
}
 .lesson-card{
        flex-direction:column;
        align-items:flex-start;
        padding:20px;
        gap:20px;
    }

    .lesson-image img{
        width:100px;
        height:100px;
    }

    .lesson-top{
        flex-direction:column;
        align-items:flex-start;
        gap:10px;
    }

    .lesson-content h2{
        font-size:24px;
    }

    .lesson-content p{
        font-size:14px;
    }
}



@media (max-width: 700px) {

 
  .lp-page-title {
    font-size: 22px;
    margin-bottom: 20px;
  }
 
  /* Tabs scroll horizontally */
  .lp-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 0;
  }
 
  .lp-tabs::-webkit-scrollbar {
    display: none;
  }
 
  .lp-tab {
    font-size: 13px;
    padding: 10px 16px 12px;
    white-space: nowrap;
  }
 
  .lp-tab-divider {
    margin-bottom: 20px;
  }
 
  /* Video */
  .lp-video-wrap {
    border-radius: 14px;
  }
 
  .lp-video-thumb {
    height: 260px;
  }
 
  .lp-play-btn {
    width: 58px;
    height: 58px;
  }
 
  .lp-play-btn svg {
    width: 22px;
    height: 22px;
  }
 
  /* About box */
  .lp-about-box {
    padding: 22px 20px 20px;
    border-radius: 16px;
    margin-bottom: 28px;
  }
 
  .lp-about-title {
    font-size: 19px;
  }
 
  .lp-about-text {
    font-size: 13.5px;
    margin-bottom: 20px;
  }
 
  /* Meta row — stack into single column */
  .lp-meta-row {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    display: flex;
    flex-direction: column;
  }
 
  .lp-meta-item {
    padding: 14px 0;
    border-bottom: 1.5px solid #e8edf7;
  }
 
  .lp-meta-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
 
  .lp-meta-divider {
    display: none;
  }
 
  /* Resources */
  .lp-resources-title {
    font-size: 19px;
    margin-bottom: 14px;
  }
 
  .lp-resources-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
 
  .lp-resource-card {
    padding: 16px 18px;
    border-radius: 14px;
  }
}

@media (max-width: 640px) {


 .container {
    padding: 0 20px;
  }
 
  .why-section,
  .classes-section {
    padding: 56px 0 64px;
  }
 
  .features-grid {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 32px;
  }
 
  .feature-card {
    padding: 28px 16px 24px;
    gap: 12px;
  }
 
  .icon-wrap {
    width: 52px;
    height: 52px;
  }
 
  .icon-wrap svg {
    width: 22px;
    height: 22px;
  }
 
  .feature-title {
    font-size: 14px;
  }
 
  .feature-desc {
    font-size: 12px;
  }
 
  .section-sub br {
    display: none;
  }
 
  .card-body {
    padding: 22px 20px;
  }

.audio-lessons, .page-bg-all-ans{
  padding: 40px 0;
}

}


 
@media (max-width: 600px) {
  .hero {
    padding: 60px 0 80px;
  }
 
  .hero-container {
    padding: 0 20px;
    gap: 36px;
  }
 
  .hero-title {
    font-size: 2rem;
  }
 
  .hero-actions {
    justify-content: center;
  }
 
  .btn {
    padding: 12px 24px;
    font-size: 0.875rem;
  }
 
  .deco-cap svg {
    width: 52px;
    height: 52px;
  }
 
  .badge-students {
    bottom: -8px;
    left: 0px;
    padding: 14px 18px;
  }
 
  .badge-students .stat-number {
    font-size: 1.4rem;
  }
 
  .deco-book {
    display: none;
  }
  .classes-section {
    padding: 36px 0 48px;
  }
 
  .classes-grid {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }
 
  .class-card {
    padding: 18px 16px 0;
    border-radius: 14px;
    gap: 8px;
  }
 
  .card-icon-wrap {
    width: 42px;
    height: 42px;
    border-radius: 10px;
  }
 
  .card-icon-wrap svg {
    width: 20px;
    height: 20px;
  }
 
  .card-bg-icon {
    width: 56px;
    height: 56px;
  }
 
  .card-label {
    font-size: 10px;
  }
 
  .card-title {
    font-size: 15px;
  }
 
  .card-subjects {
    font-size: 11px;
    gap: 5px;
  }
 
  .card-btn {
    font-size: 12px;
    padding: 10px 14px;
  }
 
  .card-footer-bar {
    margin: 8px -16px 0;
  }
  .page-wrap-login{
  padding: 40px 0;
}
 .container { padding: 0 20px; }
 
  .mission-section,
  .why-section { padding: 56px 0 64px; }
 
  .mission-card { padding: 28px 22px; }
  .mission-title { font-size: 22px; }
 
  .values-grid {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }
 
  .value-card { padding: 22px 16px; }
  .value-title { font-size: 14px; }
 
  .collage { height: 320px; display: none; }
  .float-card { display: none; }
 
  .why-title { font-size: 24px; }
  .why-intro { font-size: 14px; }
   .container {
    padding: 0 20px;
  }
 
  .hero-inner {
    padding: 40px 0 48px;
  }
 
  .hero-title {
    font-size: 28px;
  }
 
  .hero-sub {
    font-size: 14px;
  }
 
  .hero-image-wrap {
    width: 220px;
    height: 220px;
  }
 
  .image-card {
    width: 200px;
    height: 200px;
    border-radius: 18px;
  }
 
  .yellow-blob {
    width: 185px;
    height: 185px;
  }
  .cta-banner {
    padding: 44px 24px;
    gap: 16px;
    border-radius: 16px;
  }
 
  .cta-title {
    font-size: 26px;
  }
 
  .cta-subtitle {
    font-size: 13px;
  }
 
  .cta-subtitle br {
    display: none;
  }
 
  .cta-btn {
    padding: 14px 40px;
    font-size: 15px;
  }
   .chapter-header {
    padding: 20px;
  }

  .chapter-price {
    text-align: left;
  }

  .options-grid {
    grid-template-columns: 1fr;
  }

  .sidebar {
    grid-template-columns: 1fr;
  }

  .quiz-panel {
    padding: 20px;
  }

  .congrats-card {
    padding: 36px 24px 32px;
  }

  .chapter-price {
    text-align: left;
  }

  .review-options {
    grid-template-columns: 1fr;
  }

  .sidebar {
    grid-template-columns: 1fr;
  }

  .review-card {
    padding: 20px;
  }
  /* Breadcrumb */
  .breadcrumb {
    padding: 12px 0 0;
  }
 
  .breadcrumb a,
  .breadcrumb .sep,
  .breadcrumb .current {
    font-size: 0.75rem;
  }
 
  /* Main */
  .main {
    padding: 24px 0 40px;
  }
 
  /* Hero grid */
  .hero-grid {
    gap: 24px;
    margin-bottom: 32px;
  }
 
  /* Donut */
  .hero-right {
    justify-content: center;
  }
 
  .donut-wrapper {
    width: 175px;
    height: 175px;
  }
 
  .donut-percent { font-size: 1.9rem; }
  .donut-label   { font-size: 0.68rem; }
 
  /* Badge */
  .badge {
    padding: 7px 14px;
  }
 
  .badge-text { font-size: 0.65rem; }
 
  /* Title */
  .title { font-size: 1.75rem; }
 
  /* Subtitle */
  .subtitle { font-size: 0.88rem; }
 
  /* Stats */
  .stats-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
 
  .stat-card {
    padding: 14px 12px;
    min-width: unset;
    width: 100%;
  }
 
  .stat-label { font-size: 0.62rem; }
  .stat-value { font-size: 1.3rem; }
 
  /* Breakdown card */
  .breakdown-card {
    padding: 20px 16px;
    border-radius: 20px;
  }
 
  .breakdown-title { font-size: 1.1rem; }
 
  .breakdown-image { height: 110px; margin-bottom: 18px; }
 
  .breakdown-img-overlay { font-size: 0.82rem; }
}

/* ── Large mobile (≤580px): single column ── */
@media (max-width: 580px) {
  .container {
    padding: 0 16px;
  }
 
  .subjects-section {
    padding: 36px 0 48px;
  }
 
  .subjects-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
 
  .subject-card {
    padding: 24px 20px 20px;
    border-radius: 16px;
  }
 
  .card-title {
    font-size: 20px;
  }
 
  .card-desc {
    font-size: 14px;
  }
 
  .card-btn {
    font-size: 13px;
    padding: 10px 20px;
  }
 
  .card-tag {
    font-size: 12px;
    padding: 8px 16px;
  }
   .cta-section{
    padding: 48px 20px;
  }
    .testimonials-section{
      padding: 48px 0 60px;
      
    }
      .cards-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
 
  .card {
    padding: 22px 20px 26px 20px;
    border-radius: 16px;
  }
 
  .card-icon {
    width: 60px;
    height: 60px;
    margin-bottom: 18px;
  }
 
  .icon-badge {
    width: 60px;
    height: 60px;
    font-size: 20px;
  }
 
  .card-title {
    font-size: 15.5px;
    margin-bottom: 10px;
  }
 
  .card-desc {
    font-size: 13px;
    margin-bottom: 22px;
  }
 
  .card-btn {
    padding: 13px 18px;
    font-size: 13.5px;
  }
  #chapter{
  padding: 40px 0 0;
}

  .lp-breadcrumb {
    font-size: 12px;
  }
 
  .lp-page-title {
    font-size: 20px;
    letter-spacing: 0;
  }
 
  .lp-video-thumb {
    height: 210px;
  }
 
  .lp-play-btn {
    width: 52px;
    height: 52px;
  }
 
  .lp-play-btn svg {
    width: 18px;
    height: 18px;
  }
 
  .lp-module-tag {
    font-size: 10px;
    padding: 4px 12px;
  }
 
  .lp-about-title {
    font-size: 17px;
  }
 
  .lp-about-text {
    font-size: 13px;
    line-height: 1.75;
  }
 
  .lp-meta-label {
    font-size: 10px;
  }
 
  .lp-meta-value {
    font-size: 14px;
  }
 
  .lp-resource-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
  }
 
  .lp-resource-name {
    font-size: 13.5px;
  }
 
  .lp-resource-meta {
    font-size: 12px;
  }
  #chapter-details{
    padding: 48px 0px;
  }
    .question-card {
    padding: 22px 18px;
    gap: 16px;
    border-radius: 14px;
    box-shadow: 0 2px 16px rgba(0,0,0,0.07);
  }
 
  /* Top row stacks if needed */
  .card-top-row {
    gap: 8px;
    flex-wrap: wrap;
  }
 
  .question-badge {
    font-size: 0.7rem;
    padding: 4px 12px;
  }
 
  .time-spent {
    font-size: 0.75rem;
  }
 
  .question-text {
    font-size: 0.92rem;
    line-height: 1.6;
  }
 
  /* Answer pill: stack label below on very small */
  .answer-option {
    padding: 13px 16px;
    border-radius: 50px;
    flex-wrap: wrap;
    gap: 8px;
  }
 
  .answer-left {
    gap: 10px;
    flex: 1;
    min-width: 0;
  }
 
  .answer-icon {
    width: 26px;
    height: 26px;
  }
 
  .answer-icon svg {
    width: 13px;
    height: 13px;
  }
 
  .answer-text {
    font-size: 0.85rem;
  }
 
  .answer-tag {
    font-size: 0.74rem;
    margin-left: auto;
  }
 
  /* Why box */
  .why-box {
    padding: 14px 16px;
    border-radius: 10px;
    gap: 6px;
  }
 
  .why-label {
    font-size: 0.65rem;
  }
 
  .why-text {
    font-size: 0.8rem;
    line-height: 1.7;
  }
   .question-card-row, .lesson-card-row{

  gap:20px;
}


}

/* ── Small mobile (≤480px) ── */
@media (max-width: 480px) {
  .classes-grid {
    grid-template-columns: 1fr;
  }
 
  .classes-grid .class-card:nth-child(n) {
    grid-column: span 1;
  }
 
  .class-card {
    padding: 20px 20px 0;
  }
 
  .card-footer-bar {
    margin: 10px -20px 0;
  }
  body {
    padding: 24px 12px;
  }
 
  .right-panel {
    padding: 28px 20px 28px;
  }
 
  .form-title {
    font-size: 22px;
  }
 
  .login-card {
    border-radius: 16px;
  }
 
  .bg-icon { display: none; }
  .card-title {
    font-size: 14.5px;
  }
 
  .card-btn {
    font-size: 13px;
    padding: 12px 16px;
  }
  .values-grid { grid-template-columns: 1fr; }
  .features-grid {
    grid-template-columns: 1fr;
  }
  .container {
    padding: 0 16px;
  }
 
  .section-title {
    font-size: 24px;
    margin-bottom: 32px;
  }
 
  .card {
    padding: 24px 20px;
    border-radius: 16px;
  }
 
  .stars {
    font-size: 20px;
  }
 
  .review {
    font-size: 13px;
  }
 
  .avatar {
    width: 44px;
    height: 44px;
  }
   .lp-page-title {
    font-size: 18px;
  }
 
  .lp-video-thumb {
    height: 185px;
  }
 
  .lp-about-title {
    font-size: 16px;
  }
 
  .lp-about-text {
    font-size: 12.5px;
  }
 
  .lp-resources-title {
    font-size: 17px;
  }
 
  .lp-tab {
    font-size: 12px;
    padding: 9px 13px 11px;
  }
  .quiz-question{
            font-size: 17px;
            line-height: 1.3;
  }
  .option-box{
    padding: 12px 24px;
  }
  .progress-counter, .progress-counter .current{
    font-size: 20px;
  }
  .quiz-card h2{
        font-size:24px;
    }

    .quiz-card p{
        font-size:14px;
    }

    .quiz-card button{
        font-size:15px;
    }
     .premium-content h2{
        font-size:26px;
    }

    .pricing-box{
        width:100%;
    }

    .price-row{
        justify-content:center;
    }

    .course-content{
        padding:20px;
    }
     .btn { width: 100%; }


    .icon-box{
        width:70px;
        height:70px;
        font-size:28px;
    }

    .lesson-content h2{
        font-size:22px;
    }
}
 
@media (max-width: 380px) {
  .hero-title { font-size: 1.75rem; }
  .hero-actions { flex-direction: column; width: 100%; }
 
  .card-icon-wrap {
    width: 46px;
    height: 46px;
  }
 
  .card-title {
    font-size: 18px;
  }
 
  .card-footer--tags {
    gap: 8px;
  }
    .cta-title {
    font-size: 22px;
  }
 
  .cta-banner {
    padding: 36px 18px;
  }
  .card-title {
    font-size: 14.5px;
  }
 
  .card-btn {
    font-size: 13px;
    padding: 12px 16px;
  }
   .title { font-size: 1.5rem; }
 
  .donut-wrapper {
    width: 155px;
    height: 155px;
  }
 
  .donut-percent { font-size: 1.65rem; }
  .question-card {
    padding: 18px 14px;
  }
 
  .question-text {
    font-size: 0.88rem;
  }
 
  .answer-option {
    padding: 11px 14px;
  }
 
  .answer-text {
    font-size: 0.8rem;
  }
}















 

 

 



 
