/* ============================================
   RESPONSIVE CSS — ULTRA PREMIUM DARK THEME
   Abhishree Foundation
   ============================================ */

img { max-width: 100%; height: auto; }
html, body { overflow-x: hidden; }

/* ---- Custom Cursor — hide on touch ---- */
@media (max-width: 991px) {
  .cursor-dot, .cursor-ring { display: none !important; }
  body { cursor: auto !important; }
  .btn-premium, .learn-more-btn, .back-to-top, .floating-donate a,
  .video-play-btn, .form-contact .btn-primary { cursor: pointer !important; }
}

/* ---- Page Transition Overlay ---- */
@media (max-width: 767.98px) {
  .page-transition-overlay .loader-logo { width: 48px; height: 48px; }
}

/* ---- Navbar ---- */
@media (max-width: 991.98px) {
  .ftco-navbar-light {
    background: var(--dark, #0a0a18) !important;
    padding: 8px 0;
  }
  .ftco-navbar-light.scrolled { backdrop-filter: none; }
  .navbar-brand img { width: 38px !important; height: 38px !important; }
  .navbar-brand span { font-size: 1rem !important; }
  .navbar-brand { max-width: 70%; font-size: 18px !important; }
  .navbar-nav .nav-item {
    margin-left: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.05);
  }
  .navbar-nav .nav-item:last-child { border-bottom: none; }
  .navbar-nav .nav-link {
    padding: 0.7rem 0 !important;
    font-size: 0.95rem !important;
  }
  .navbar-nav .nav-link::after { display: none !important; }
  .navbar-nav .nav-item.donate { border-bottom: none; margin-top: 8px; }
  .navbar-nav .nav-item.donate .nav-link {
    display: inline-block !important;
    margin: 10px 0 !important;
    padding: 0.5rem 1.5rem !important;
  }
}

@media (max-width: 575.98px) {
  .navbar-brand img { width: 36px !important; height: 36px !important; }
  .navbar-brand span { font-size: 0.85rem !important; }
}

/* ---- Hero ---- */
@media (max-width: 767.98px) {
  .video-hero-section { min-height: 85vh !important; }
  .hero-title { font-size: 2.2rem !important; }
  .hero-subtitle { font-size: 0.95rem !important; padding: 0 10px; }
  .hero-badge { font-size: 0.7rem; padding: 6px 16px; }
  .hero-cta { flex-direction: column; gap: 12px; }
  .btn-premium { width: 100%; justify-content: center; padding: 14px 24px; }
  .video-play-btn { width: 100%; justify-content: center; padding: 14px 24px !important; }
  .play-icon-wrapper { width: 32px !important; height: 32px !important; }
  .play-icon { font-size: 12px !important; }
  .scroll-indicator { display: none; }
  .hero-particles { display: none; }
  .hero-grid { display: none; }
  .hero-orb { display: none; }
}

@media (max-width: 575.98px) {
  .video-hero-section { min-height: 80vh !important; }
  .hero-title { font-size: 2rem !important; }
  .video-hero-content { padding: 20px 16px; }
}

/* ---- Sections ---- */
@media (max-width: 991.98px) {
  .section-premium { padding: 80px 0 !important; }
}

@media (max-width: 767.98px) {
  .section-premium { padding: 60px 0 !important; }
  .section-title { font-size: 1.8rem !important; }
  .section-desc { font-size: 1rem !important; }
  .section-glow { display: none; }
  .site-section { padding: 60px 0 !important; }
  .display-4 { font-size: 1.8rem !important; }
}

/* ---- Stats ---- */
@media (max-width: 767.98px) {
  .stats-section { padding: 50px 0 !important; }
  .stat-card { padding: 28px 16px; }
  .stat-number { font-size: 2rem !important; }
  .stat-label { font-size: 0.7rem !important; }
  .stat-icon { width: 44px; height: 44px; font-size: 1.3rem; border-radius: 12px; }
  .stat-card::before { display: none; }
}

/* ---- Banner ---- */
@media (max-width: 767.98px) {
  .block-30 { min-height: 35vh !important; }
  .block-30 h2.heading { font-size: 1.8rem !important; }
  .block-30 p { font-size: 0.9rem !important; padding: 0 10px; }
  .page-hero { min-height: 40vh; }
  .page-hero-content { padding: 70px 15px 50px; }
}
@media (max-width: 480px) {
  .block-30 { min-height: 30vh !important; }
  .block-30 h2.heading { font-size: 1.5rem !important; }
  .page-hero { min-height: 35vh; }
  .page-hero-content { padding: 60px 15px 40px; }
}

/* ---- Gallery ---- */
@media (max-width: 767.98px) {
  .section-premium .row .col-md-4 {
    flex: 0 0 50%;
    max-width: 50%;
    padding: 6px;
    margin-bottom: 0 !important;
  }
  .img-hover { border-radius: 10px; aspect-ratio: 4/3; }
  .img-hover img { object-position: center; }
}
@media (max-width: 480px) {
  .section-premium .row .col-md-4 {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 6px;
  }
  .img-hover { aspect-ratio: 16/10; }
}

/* ---- Timeline ---- */
@media (max-width: 767.98px) {
  .timeline-line { padding-left: 28px; }
  .timeline-dot { left: -37px; width: 16px; height: 16px; }
  .timeline-item h5 { font-size: 0.95rem; }
  .timeline-item p { font-size: 0.88rem; }
  .timeline-item { margin-bottom: 36px; }
}

/* ---- Team ---- */
@media (max-width: 991.98px) {
  .block-38-img img,
  .block-38 .block-38-header img { width: 130px !important; height: 130px !important; object-position: top; }
}
@media (max-width: 767.98px) {
  .block-38 { margin-bottom: 20px; }
  .block-38-img img,
  .block-38 .block-38-header img { width: 110px !important; height: 110px !important; object-position: top; }
  .block-38-heading { font-size: 0.95rem !important; }
  .block-36-subheading, .block-38-subheading { font-size: 0.7rem !important; }
  #team-section .block-38 { padding: 20px 12px; }
}
@media (max-width: 480px) {
  .block-38-img img,
  .block-38 .block-38-header img { width: 100px !important; height: 100px !important; }
}

/* ---- Project Cards ---- */
@media (max-width: 767.98px) {
  .project-card .card-body { padding: 1.2rem !important; }
  .project-card .card-title { font-size: 1.05rem !important; gap: 10px !important; }
  .project-card .card-title i { width: 34px; height: 34px; font-size: 0.85rem; }
  .project-card .card-text { font-size: 0.88rem !important; }
  .project-card::before { display: none; }
}

/* ---- Contact ---- */
@media (max-width: 767.98px) {
  .form-contact { padding: 1.5rem !important; border-radius: 16px !important; }
  .form-contact h2 { font-size: 1.5rem !important; }
  .form-contact .form-control { padding: 14px 16px; font-size: 0.9rem; }
  .map-container { margin-top: 20px; }
  .map-container iframe { height: 300px !important; min-height: 300px !important; }
  .contact-card { margin-bottom: 15px; padding: 24px 16px; }
  .contact-card .icon { font-size: 1.5rem; width: 48px; height: 48px; }
  .contact-card h4 { font-size: 1.1rem !important; }
  .contact-card p { font-size: 0.88rem !important; }
}

/* ---- Donate ---- */
@media (max-width: 767.98px) {
  .donate-impact-card { padding: 20px 16px; }
  .highlight-amount { font-size: 1.2em !important; }
  .donate-qr-img { width: 240px !important; }
  .donate-qr-inner { padding: 30px 20px; }
  .donate-qr-apps { gap: 6px; }
  .app-tag { font-size: 0.7rem; padding: 4px 10px; }
  .donate-qr-trust { gap: 14px; }
  .donate-qr-trust span { font-size: 0.75rem; }
}
@media (max-width: 480px) {
  .donate-qr-img { width: 200px !important; }
  .donate-qr-frame { padding: 14px; }
  .donate-qr-corner { width: 22px; height: 22px; }
}

/* ---- Footer ---- */
@media (max-width: 767.98px) {
  .footer { padding: 50px 0 30px !important; }
  .footer .heading-section { font-size: 0.85rem !important; margin-bottom: 16px !important; }
  .footer p, .footer .text, .footer a { font-size: 0.88rem !important; }
  .footer .col-md-6, .footer .col-lg-4 { margin-bottom: 30px; }
  .footer .social-icons a { width: 38px; height: 38px; }
  .footer .social-icons img { width: 16px; height: 16px; }
}

/* ---- Floating Donate ---- */
@media (max-width: 767.98px) {
  .floating-donate { right: 12px; bottom: 12px; }
  .floating-donate a { padding: 10px 18px; font-size: 0.78rem; }
}

/* ---- Modal ---- */
@media (max-width: 767.98px) {
  .modal-dialog { margin: 10px !important; }
  .modal-content { border-radius: 16px !important; }
  .modal-title { font-size: 1.2rem !important; }
  .modal-body { font-size: 0.88rem !important; padding: 20px !important; }
}

/* ---- Back to Top ---- */
@media (max-width: 767.98px) {
  .back-to-top { width: 42px; height: 42px; bottom: 16px; right: 16px; font-size: 0.9rem; border-radius: 12px; }
}

/* ---- Legacy Loader ---- */
#ftco-loader { display: none !important; }
#ftco-loader.hide { display: none !important; }

/* ---- Touch targets ---- */
@media (max-width: 767.98px) {
  a, button, .btn, .nav-link { min-height: 44px; }
}

/* ---- Smooth scroll ---- */
@media (max-width: 991.98px) {
  html { scroll-behavior: smooth; -webkit-overflow-scrolling: touch; }
}

/* ---- Legal Docs section ---- */
@media (max-width: 767.98px) {
  #legal-docs { padding: 60px 0 !important; }
}