/* ElevoraPrep targeted mobile section fix
   Works only on mobile. Desktop is untouched.
   Loaded last with ?v=30 to beat old repeated CSS. */

@media (max-width: 768px){

  html, body{
    overflow-x:hidden !important;
    max-width:100% !important;
  }

  .container{
    width:92% !important;
    max-width:92% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  img, video, iframe{
    max-width:100% !important;
  }

  /* Keep header readable on mobile without using the broken hamburger */
  .mobile,
  .hamburger,
  .menu-toggle,
  .mobile-menu-toggle,
  .nav-toggle,
  .toggle-menu,
  .bars,
  .burger,
  button[aria-label="Menu"],
  button[aria-label="menu"],
  .fa-bars,
  .bi-list,
  .navbar-toggler{
    display:none !important;
  }

  header .nav{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:10px !important;
    padding:10px 0 !important;
  }

  header .logo{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
  }

  header .logo img{
    max-width:210px !important;
    height:auto !important;
  }

  header .menu{
    display:flex !important;
    width:100% !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:center !important;
    gap:7px 12px !important;
    font-size:12.5px !important;
    line-height:1.2 !important;
  }

  header .menu > a,
  header .nav-link{
    display:inline-flex !important;
    font-size:12.5px !important;
    line-height:1.2 !important;
    padding:5px 0 !important;
    white-space:nowrap !important;
  }

  header .dropdown{
    width:min(300px,88vw) !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    z-index:9999 !important;
  }

  /* General section rhythm */
  section{
    padding-top:42px !important;
    padding-bottom:42px !important;
  }

  .section-title{
    margin-bottom:24px !important;
  }

  .section-title h2{
    font-size:27px !important;
    line-height:1.18 !important;
  }

  .section-title p{
    font-size:15px !important;
    line-height:1.58 !important;
  }

  /* ---------- MAIN PROBLEM SECTION CARDS ---------- */
  body .problem{
    padding-top:38px !important;
    padding-bottom:38px !important;
  }

  body .problem .container{
    width:92% !important;
    max-width:92% !important;
  }

  body .problem .impact-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    width:100% !important;
    max-width:100% !important;
  }

  body .problem .proof-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    height:auto !important;
    min-height:0 !important;
    align-content:start !important;
  }

  body .problem .proof-item{
    min-height:0 !important;
    height:auto !important;
    padding:14px 16px !important;
    border-radius:16px !important;
    display:grid !important;
    grid-template-columns:38px 1fr !important;
    column-gap:13px !important;
    align-items:center !important;
    box-shadow:0 8px 18px rgba(13,31,70,.06) !important;
    margin:0 !important;
  }

  body .problem .proof-icon{
    width:34px !important;
    height:34px !important;
    margin:0 !important;
    grid-row:1 / span 2 !important;
  }

  body .problem .proof-item h3{
    font-size:17px !important;
    line-height:1.22 !important;
    margin:0 0 4px !important;
  }

  body .problem .proof-item p{
    font-size:14px !important;
    line-height:1.42 !important;
    margin:0 !important;
  }

  body .problem .impact-visual,
  body .problem .impact-photo{
    height:250px !important;
    min-height:250px !important;
  }

  body .problem .impact-photo{
    object-fit:cover !important;
    border-radius:18px !important;
  }

  /* ---------- FEATURE / TOOL CARDS ---------- */
  body .features-grid,
  body .three,
  body .path-grid,
  body .cert-photo-grid,
  body .cert-showcase-grid,
  body .social-grid,
  body .footer-grid,
  body .logos,
  body .price-grid,
  body .pricing-cards,
  body .sample-row,
  body .stats-grid,
  body .grid3,
  body .grid4{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  body .card,
  body .feature,
  body .path-card,
  body .cert-photo-card,
  body .cert-showcase-card,
  body .social-card,
  body .logo-box,
  body .partner-logo,
  body .trustpilot-card,
  body .sample-card,
  body .stat-card,
  body .plan-card,
  body .pmp-card,
  body .info-card,
  body .tool-card,
  body .content-card,
  body .benefit-card,
  body .step-card,
  body .testimonial{
    max-width:100% !important;
    width:100% !important;
    border-radius:16px !important;
    box-shadow:0 8px 20px rgba(13,31,70,.06) !important;
  }

  body .card,
  body .social-card,
  body .logo-box,
  body .partner-logo,
  body .trustpilot-card,
  body .sample-card,
  body .stat-card,
  body .info-card,
  body .tool-card,
  body .content-card,
  body .benefit-card,
  body .step-card,
  body .testimonial{
    padding:15px 16px !important;
    min-height:0 !important;
    height:auto !important;
  }

  body .feature,
  body .path-card,
  body .cert-photo-card,
  body .cert-showcase-card,
  body .plan-card,
  body .pmp-card{
    padding:0 !important;
    min-height:0 !important;
    height:auto !important;
    overflow:hidden !important;
  }

  body .feature img,
  body .cert-photo-card img,
  body .cert-showcase-card img,
  body .path-card img,
  body .plan-card img,
  body .pmp-card img{
    width:100% !important;
    height:145px !important;
    object-fit:cover !important;
    display:block !important;
  }

  body .card h3,
  body .feature strong,
  body .path-body h3,
  body .cert-photo-content h3,
  body .cert-showcase-body h3,
  body .plan-card h3,
  body .pmp-card h3,
  body .info-card h3,
  body .tool-card h3,
  body .content-card h3,
  body .benefit-card h3,
  body .step-card h3,
  body .sample-card h3,
  body .stat-card h3{
    font-size:18px !important;
    line-height:1.22 !important;
    margin-bottom:6px !important;
  }

  body .card p,
  body .feature span,
  body .path-body li,
  body .cert-photo-content p,
  body .cert-showcase-body p,
  body .plan-card p,
  body .pmp-card p,
  body .info-card p,
  body .tool-card p,
  body .content-card p,
  body .benefit-card p,
  body .step-card p,
  body .sample-card p,
  body .stat-card p{
    font-size:14px !important;
    line-height:1.45 !important;
  }

  body .feature strong{
    display:block !important;
    margin:15px 16px 6px !important;
  }

  body .feature span{
    display:block !important;
    margin:0 16px 16px !important;
  }

  body .path-body,
  body .cert-photo-content,
  body .cert-showcase-body,
  body .plan-card .plan-body,
  body .pmp-card .pmp-card-body{
    padding:15px 16px !important;
  }

  body .btn,
  body .cert-photo-content span,
  body .cert-showcase-btn,
  body .plan-cta,
  body .path-body .btn{
    min-height:34px !important;
    height:auto !important;
    padding:8px 13px !important;
    font-size:13px !important;
    border-radius:10px !important;
  }

  /* ---------- FAQ COMPACT ---------- */
  body #faq{
    padding-top:38px !important;
    padding-bottom:40px !important;
  }

  body #faq .faq-shell{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:92% !important;
    max-width:92% !important;
    gap:18px !important;
  }

  body #faq .faq-intro{
    min-height:0 !important;
    padding:22px 18px !important;
    border-radius:18px !important;
  }

  body #faq .faq-intro h2{
    font-size:26px !important;
    line-height:1.15 !important;
  }

  body #faq .faq-question-art{
    min-height:120px !important;
  }

  body #faq .faq details{
    border-radius:15px !important;
    box-shadow:0 8px 18px rgba(13,31,70,.06) !important;
  }

  body #faq .faq summary{
    min-height:0 !important;
    font-size:15px !important;
    line-height:1.35 !important;
    padding:15px 44px 15px 56px !important;
  }

  body #faq .faq summary:before{
    width:32px !important;
    height:32px !important;
    left:12px !important;
  }

  body #faq .faq summary:after{
    width:28px !important;
    height:28px !important;
    right:10px !important;
  }

  body #faq .faq details p{
    margin:0 10px 10px !important;
    padding:14px !important;
    font-size:14px !important;
    line-height:1.5 !important;
  }

  /* ---------- FOOTER ---------- */
  body .site-footer{
    padding-top:38px !important;
    padding-bottom:24px !important;
  }

  body .footer-bottom{
    display:block !important;
  }

  body .footer-bottom span{
    display:block !important;
    margin-top:8px !important;
  }
}

@media (max-width:430px){
  body .problem .proof-item{
    grid-template-columns:34px 1fr !important;
    padding:13px 14px !important;
  }

  body .problem .proof-icon{
    width:30px !important;
    height:30px !important;
  }

  body .problem .proof-item h3{
    font-size:16px !important;
  }

  body .problem .proof-item p{
    font-size:13.5px !important;
  }
}
