/* ========================================
   Large Devices
======================================== */
@media (max-width: 1199.98px) {
  .section-padding {
    padding: 96px 0;
  }

  .hero-slide,
  .hero-slide-image {
    min-height: 78vh;
    height: 78vh;
  }

  .message-card,
  .glass-panel,
  .info-card,
  .feature-card,
  .scheme-card,
  .loan-card,
  .service-card,
  .testimonial-card,
  .download-card,
  .contact-card,
  .map-card {
    padding: 28px;
  }
}

/* ========================================
   Medium Devices
======================================== */
@media (max-width: 991.98px) {
  .topbar-inner {
    justify-content: center;
  }

  .site-navbar {
    padding: 14px 0;
  }

  .brand-copy strong {
    font-size: 0.88rem;
  }

  .brand-copy small {
    font-size: 0.74rem;
  }

  .navbar-nav {
    padding-top: 18px;
  }

  .hero-slide,
  .hero-slide-image {
    min-height: 72vh;
    height: 72vh;
  }

  .hero-slider-controls .swiper-button-next,
  .hero-slider-controls .swiper-button-prev {
    display: none;
  }

  .notice-card {
    flex-direction: column;
    align-items: flex-start;
  }

  .floating-stat {
    position: static;
    margin-top: 18px;
    max-width: 100%;
  }

  .page-banner {
    padding: 90px 0;
  }
}

/* ========================================
   Small Devices
======================================== */
@media (max-width: 767.98px) {
  .section-padding {
    padding: 78px 0;
  }

  .hero-swiper {
    border-radius: 0 0 24px 24px;
  }

  .hero-slide,
  .hero-slide-image {
    min-height: 68vh;
    height: 68vh;
  }

  .hero-content-wrap {
    text-align: center;
    margin: 0 auto;
  }

  .hero-actions,
  .meta-list {
    justify-content: center;
  }

  .hero-copy {
    margin-left: auto;
    margin-right: auto;
  }

  .title-stack {
    text-align: center;
  }

  .section-header {
    margin-bottom: 40px;
  }

  .glass-panel,
  .message-card,
  .info-card,
  .feature-card,
  .scheme-card,
  .loan-card,
  .service-card,
  .testimonial-card,
  .download-card,
  .contact-card,
  .map-card,
  .newsletter-panel {
    padding: 24px;
  }

  .image-card img {
    min-height: 300px;
  }

  .gallery-card img {
    height: 250px;
  }

  .page-banner {
    padding: 70px 0;
  }

  .floating-action,
  .back-to-top {
    width: 50px;
    height: 50px;
    right: 16px;
  }

  .whatsapp-float {
    bottom: 96px;
  }

  .call-float {
    bottom: 156px;
  }

  .back-to-top {
    bottom: 30px;
  }

  [data-aos="fade-left"],
  [data-aos="fade-right"] {
    transform: translate3d(0, 42px, 0) !important;
  }

  [data-aos="fade-left"].aos-animate,
  [data-aos="fade-right"].aos-animate {
    transform: translate3d(0, 0, 0) !important;
  }
}

/* ========================================
   Extra Small Devices
======================================== */
@media (max-width: 575.98px) {
  .topbar-item {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .site-brand {
    gap: 10px;
    max-width: 280px;
  }

  .brand-mark {
    width: 48px;
    height: 48px;
    border-radius: 14px;
  }

  .hero-slide,
  .hero-slide-image {
    min-height: 74vh;
    height: 74vh;
  }

  .hero-kicker,
  .meta-chip,
  .notice-badge {
    font-size: 0.76rem;
  }

  .notice-card {
    padding: 16px;
  }

  .hero-actions {
    gap: 12px;
  }

  .theme-btn,
  .theme-btn-outline {
    width: 100%;
  }

  .license-table td,
  .license-table th {
    padding: 14px 12px;
    font-size: 0.92rem;
  }

  .custom-lightbox {
    padding: 16px;
  }
}

/* ========================================
   Short Viewports
======================================== */
@media (max-height: 420px) {
  .topbar-wrap {
    display: none;
  }

  .site-navbar {
    padding: 10px 0;
  }

  .hero-slide,
  .hero-slide-image {
    min-height: 100vh;
    height: 100vh;
  }

  .hero-content {
    align-items: flex-start;
    padding-top: 34px;
  }

  .hero-kicker {
    padding: 6px 12px;
    font-size: 0.74rem;
  }

  .hero-title {
    margin: 14px 0 10px;
    font-size: clamp(1.85rem, 4vw, 2.7rem);
  }

  .hero-copy {
    margin-bottom: 12px;
    font-size: 0.92rem;
  }

  .title-stack .subtitle-bn {
    font-size: 1rem;
  }

  .hero-actions {
    margin-top: 18px;
  }

  .theme-btn,
  .theme-btn-outline {
    padding: 12px 22px;
  }
}
