/* ==================== MOBILE RESPONSIVENESS FIX ==================== */


/* File: responsive.css */


/* Purpose: Mobile-first responsive styles without affecting desktop layout */


/* Tablets and below (768px) */

@media (max-width: 768px) {
    /* 1. CAROUSEL SECTION */
    .marathi {
        font-size: 36px !important;
        line-height: 1.2;
        word-wrap: break-word;
    }
    .teko {
        font-size: 36px !important;
        word-wrap: break-word;
    }
    .carousel-heading {
        font-size: 1.5rem !important;
        margin-bottom: 15px;
    }
    .carousel-description {
        font-size: 0.95rem !important;
        padding-bottom: 30px !important;
    }
    .carousel-slide-layout {
        min-height: auto;
        gap: 20px;
    }
    .text-area {
        padding: 10px 15px;
    }
    .image-area img {
        max-height: 220px;
    }
    /* 2. MILESTONE SECTION */
    .container.my-2 .row>div[class*="col-md-3"] {
        padding: 2rem 1rem !important;
    }
    .container.my-2 .display-6 {
        font-size: 2.5rem !important;
    }
    .container.my-2 .row>div p {
        font-size: 0.95rem;
    }
    /* 3. ABOUT SECTION */
    .col-xl-5 .h-100 img {
        margin: 30px auto 0 auto !important;
        width: 70% !important;
        height: auto !important;
        display: block;
    }
    .col-xl-7 h1 {
        font-size: 1.8rem;
        text-align: center;
    }
    .col-xl-7 .fs-5 {
        font-size: 1rem !important;
        text-align: justify;
    }
    .about-focus-wrapper {
        margin-top: 20px;
    }
    /* 4. SERVICES SECTION */
    .diagonal-box {
        padding: 60px 0;
        overflow-x: hidden;
    }
    .diagonal-box::before {
        clip-path: polygon(0 8%, 100% 0, 100% 92%, 0 100%);
    }
    .service-card {
        padding: 20px 15px;
        margin-bottom: 15px;
    }
    .service-exam {
        font-size: 1.2rem;
    }
    .service-title {
        font-size: 1.1rem;
    }
    .service-desc {
        font-size: 0.9rem;
    }
    .service-img img {
        height: 160px;
    }
    .service-btn {
        padding: 8px 16px;
        font-size: 0.9rem;
    }
    /* 5. FEATURES SECTION (Our Features) */
    .our-features .text-center h1 {
        font-size: 2rem !important;
    }
    .our-features .col-md-6 h2 {
        font-size: 1.5rem;
        margin-bottom: 1.5rem;
    }
    .our-features-card-box {
        padding: 12px 15px;
        margin-bottom: 12px;
    }
    .our-features-card-box h3 {
        font-size: 0.9rem;
        line-height: 1.5;
    }
    /* 6. CENTRIC FOCUS SECTION - WITH ANIMATIONS */
    #centric {
        padding: 3rem 1rem !important;
    }
    #centric h2 {
        font-size: 1.6rem !important;
        margin-bottom: 1rem !important;
    }
    /* Decorative line - make smaller */
    #centric .d-flex>div {
        width: 40px !important;
        height: 2px !important;
    }
    #centric .d-flex>div:nth-child(2) {
        width: 15px !important;
        height: 4px !important;
    }
    /* Row spacing - reduce gap */
    #centric .row {
        gap: 1rem !important;
        row-gap: 2.5rem !important;
        /* Extra space for animation layers */
    }
    /* Column fix - make full width on mobile */
    #centric .col-6 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    /* Focus Wrapper - Keep animation but adjust size */
    .focus-wrapper {
        min-height: 100px !important;
        margin-bottom: 35px !important;
        /* Space for layers */
        animation: fadeUp 0.8s ease forwards !important;
        opacity: 0;
    }
    /* KEEP pseudo-element layers but make them smaller */
    .focus-wrapper::before,
    .focus-wrapper::after {
        display: block !important;
    }
    .focus-layer {
        display: block !important;
    }
    /* Adjust layer sizes for mobile */
    .focus-wrapper::after {
        bottom: -20px !important;
        width: 95% !important;
    }
    .focus-wrapper::before {
        bottom: -12px !important;
        width: 97% !important;
    }
    .focus-layer {
        bottom: -6px !important;
        width: 99% !important;
    }
    /* Adjust hover animation for mobile */
    .focus-wrapper:hover {
        transform: translateY(-8px) scale(1.01) !important;
    }
    .focus-wrapper:hover .focus-layer {
        bottom: -10px !important;
        opacity: 1;
    }
    .focus-wrapper:hover::before {
        bottom: -18px !important;
        opacity: 1;
    }
    .focus-wrapper:hover::after {
        bottom: -26px !important;
        opacity: 1;
    }
    /* Focus card - adjusted for mobile */
    .focus-card {
        padding: 1.2rem 1rem !important;
        min-height: 100px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    }
    .focus-card h3 {
        font-size: 0.95rem !important;
        line-height: 1.4 !important;
        font-weight: 600 !important;
    }
    .focus-wrapper:hover .focus-card {
        box-shadow: 0 10px 24px rgba(13, 110, 253, 0.2) !important;
        transform: scale(1.02) !important;
    }
    /* Premium card (if exists) */
    .premium-card {
        width: 100%;
        min-height: 180px;
        margin-bottom: 35px;
    }
    /* Custom 5-column fix for mobile */
    .col-lg-2-4 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    /* 7. SECTION HEADINGS - General */
    h1.fw-bold,
    h1.section-heading {
        font-size: 2rem !important;
        line-height: 1.3;
        padding: 0 15px;
    }
    h4.mb-0 {
        font-size: 1rem !important;
        padding: 0 20px;
    }
    .section-main-heading {
        font-size: 1.8rem !important;
    }
    h5.text-uppercase {
        font-size: 1rem;
    }
    /* 8. GENERAL CONTAINER FIXES */
    .container-fluid {
        overflow-x: hidden;
        padding-left: 15px;
        padding-right: 15px;
    }
    .container {
        padding-left: 15px;
        padding-right: 15px;
    }
    /* 9. TAB NAVIGATION */
    .nav-pills .nav-link {
        font-size: 0.9rem;
        padding: 8px 12px;
    }
    .tab-content h2 {
        font-size: 1.3rem !important;
    }
    .tab-content p {
        font-size: 0.95rem;
    }
    /* 10. BUTTONS */
    .about-btn-green-gradient {
        font-size: 0.9rem;
        padding: 8px 16px;
    }
}


/* Small phones (576px) */

@media (max-width: 576px) {
    /* Extra small adjustments */
    .marathi,
    .teko {
        font-size: 28px !important;
    }
    .carousel-heading {
        font-size: 1.3rem !important;
    }
    .carousel-description {
        font-size: 0.85rem !important;
        padding-bottom: 20px !important;
    }
    .image-area img {
        max-height: 180px;
    }
    /* Milestone adjustments */
    .container.my-2 .display-6 {
        font-size: 2rem !important;
    }
    .container.my-2 h1 {
        font-size: 1.8rem !important;
    }
    /* About section */
    .col-xl-5 .h-100 img {
        width: 80% !important;
        margin: 20px auto !important;
    }
    /* Headings */
    h1.fw-bold {
        font-size: 1.6rem !important;
    }
    h2.section-heading {
        font-size: 1.5rem !important;
    }
    /* Services */
    .service-exam {
        font-size: 1.1rem;
    }
    .service-title {
        font-size: 1rem;
    }
    .service-img img {
        height: 140px;
    }
    /* Features */
    .our-features-card-box h3 {
        font-size: 0.85rem;
    }
    .our-features .col-md-6 h2 {
        font-size: 1.3rem;
    }
    /* CENTRIC FOCUS - Small phones */
    #centric {
        padding: 2rem 0.5rem !important;
    }
    #centric h2 {
        font-size: 1.4rem !important;
    }
    /* Cards - full width with proper spacing */
    #centric .col-6 {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }
    /* Focus wrapper - smaller on tiny screens */
    .focus-wrapper {
        min-height: 90px !important;
        margin-bottom: 30px !important;
    }
    /* Smaller layer offsets */
    .focus-wrapper::after {
        bottom: -16px !important;
        width: 96% !important;
    }
    .focus-wrapper::before {
        bottom: -10px !important;
        width: 98% !important;
    }
    .focus-layer {
        bottom: -5px !important;
    }
    /* Hover adjustments */
    .focus-wrapper:hover {
        transform: translateY(-6px) scale(1.01) !important;
    }
    .focus-wrapper:hover .focus-layer {
        bottom: -8px !important;
    }
    .focus-wrapper:hover::before {
        bottom: -14px !important;
    }
    .focus-wrapper:hover::after {
        bottom: -20px !important;
    }
    /* Focus card sizing */
    .focus-card {
        padding: 1rem 0.8rem !important;
        min-height: 90px;
    }
    .focus-card h3 {
        font-size: 0.85rem !important;
    }
    /* Reduce row gap */
    #centric .row {
        gap: 0.8rem !important;
        row-gap: 2rem !important;
    }
    /* Premium card */
    .premium-card {
        min-height: 160px;
        margin-bottom: 30px;
    }
    /* Prevent overflow on specific elements */
    .carousel-heading,
    .carousel-description,
    .service-card,
    .our-features-card-box,
    .focus-card,
    .premium-card {
        max-width: 100%;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    /* Pattern section */
    .our-features-pattern-section {
        transform: scale(0.8);
    }
}


/* Very small devices (400px) */

@media (max-width: 400px) {
    .marathi,
    .teko {
        font-size: 24px !important;
        word-wrap: break-word;
    }
    .carousel-heading {
        font-size: 1.2rem !important;
    }
    .carousel-description {
        font-size: 0.8rem !important;
    }
    .container.my-2 .col-md-3 {
        padding: 1.5rem 0.8rem !important;
    }
    .container.my-2 .display-6 {
        font-size: 1.8rem !important;
    }
    h1.fw-bold {
        font-size: 1.4rem !important;
    }
    .service-card {
        padding: 15px 10px;
    }
    .our-features-card-box h3 {
        font-size: 0.8rem;
    }
    /* CENTRIC FOCUS - Very small devices */
    #centric h2 {
        font-size: 1.2rem !important;
    }
    /* Focus wrapper - very small screens */
    .focus-wrapper {
        min-height: 80px !important;
        margin-bottom: 25px !important;
    }
    /* Even smaller layers */
    .focus-wrapper::after {
        bottom: -14px !important;
    }
    .focus-wrapper::before {
        bottom: -8px !important;
    }
    .focus-layer {
        bottom: -4px !important;
    }
    /* Minimal hover movement */
    .focus-wrapper:hover {
        transform: translateY(-5px) scale(1.01) !important;
    }
    .focus-wrapper:hover .focus-layer {
        bottom: -6px !important;
    }
    .focus-wrapper:hover::before {
        bottom: -12px !important;
    }
    .focus-wrapper:hover::after {
        bottom: -18px !important;
    }
    /* Focus card */
    .focus-card {
        padding: 0.9rem 0.7rem !important;
        min-height: 80px;
    }
    .focus-card h3 {
        font-size: 0.8rem !important;
    }
    /* Premium card */
    .premium-card {
        min-height: 140px;
        margin-bottom: 25px;
    }
    /* Ensure no horizontal scroll */
    body {
        overflow-x: hidden;
    }
}


/* Landscape orientation fixes */

@media (max-width: 768px) and (orientation: landscape) {
    .carousel-slide-layout {
        min-height: 250px;
    }
    .image-area img {
        max-height: 200px;
    }
    .marathi,
    .teko {
        font-size: 32px !important;
    }
}


/* Print media - keep desktop layout */

@media print {
    .marathi,
    .teko {
        font-size: 70px !important;
    }
}

/* ==================== COACHING SECTION (Responsive Fix) ==================== */

@media (max-width: 768px) {
  .coaching-section {
    padding: 30px 20px !important;
    text-align: center !important;
  }

  .coaching-section .row {
    flex-direction: column-reverse !important;
  }

  .coaching-section img {
    width: 80% !important;
    margin: 0 auto 20px auto !important;
    display: block;
  }

  .coaching-content h2 {
    font-size: 1.6rem !important;
    margin-bottom: 15px !important;
  }

  .coaching-content p {
    font-size: 1rem !important;
    line-height: 1.6 !important;
  }

  .btn-custom {
    width: 100% !important;
    display: block !important;
    margin-bottom: 10px !important;
  }
}

/* For smaller phones (576px and below) */
@media (max-width: 576px) {
  .coaching-content h2 {
    font-size: 1.4rem !important;
  }

  .coaching-content p {
    font-size: 0.9rem !important;
  }

  .coaching-section img {
    width: 90% !important;
  }
}

/* ==================== DIAGONAL BACKGROUND SECTION (Responsive Fix) ==================== */

.diagonal-bg {
  position: relative;
  background: linear-gradient(135deg, #0dcaf0 0%, #000000 100%);
  overflow: hidden;
  padding: 100px 0;
}

.diagonal-bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  clip-path: polygon(0 0, 100% 10%, 100% 90%, 0 100%);
  z-index: 0;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .diagonal-bg {
    padding: 60px 0;
  }

  .diagonal-bg::before {
    clip-path: polygon(0 0, 100% 5%, 100% 95%, 0 100%);
  }
}

/* For very small phones */
@media (max-width: 576px) {
  .diagonal-bg {
    padding: 50px 0;
  }

  .diagonal-bg::before {
    clip-path: polygon(0 0, 100% 3%, 100% 97%, 0 100%);
  }
}

/* Debug helper (remove later) */
@media (max-width: 768px) {
  body::after {
    content: "✅ Responsive active";
    position: fixed;
    bottom: 10px;
    right: 10px;
    background: red;
    color: white;
    font-size: 12px;
    padding: 5px;
    z-index: 9999;
  }
}

  .btn-custom {
    width: 100% !important;
    display: block !important;
    margin-bottom: 10px !important;
  }
}

/* For smaller phones (576px and below) */
@media (max-width: 576px) {
  .coaching-content h2 {
    font-size: 1.4rem !important;
  }

  .coaching-content p {
    font-size: 0.9rem !important;
  }

  .coaching-section img {
    width: 90% !important;
  }
}
@media (max-width: 768px) {
  body::after {
    content: "✅ Responsive active";
    position: fixed;
    bottom: 10px;
    right: 10px;
    background: red;
    color: white;
    font-size: 12px;
    padding: 5px;
    z-index: 9999;
  }
}
