/* ===========================
   DEFAULT (Desktop ≥1024px)
   =========================== */
.carousel-container {
    height: 100vh;
}

.hero-title {
    font-size: 3rem;
    /* text-5xl */
    line-height: 3.5rem;
}

.hero-subtitle {
    font-size: 1.25rem;
    /* text-xl */
}

.hero-form input,
.hero-form button {
    width: auto;
}

/* ===========================
   TABLET (641px – 1023px)
   =========================== */
@media (max-width: 1023px) {
    .carousel-container {
        height: 90vh;
    }

    .mobile-box {
        margin-top: 9rem;
    }

    .hero-title {
        font-size: 2.5rem;
        /* text-4xl */
        line-height: 3rem;
    }

    .hero-subtitle {
        font-size: 1.125rem;
        /* text-lg */
    }

    .mobile-carousel-slides {
        height: 95.1vh;
    }

}

/* ===========================
   LARGE PHONE / SMALL TABLET (641px – 767px)
   =========================== */
@media (max-width: 767px) {
    .carousel-container {
        height: 85vh;
    }

    .mobile-box {
        margin-top: 10rem;
    }

    .mobile-box2 {
        margin-top: 10rem;
    }

    .hero-title {
        font-size: 2rem;
        /* text-3xl */
        line-height: 2.5rem;
    }

    .hero-subtitle {
        font-size: 1rem;
        /* text-base */
    }

    .mobile-carousel-slides {
        height: 95vh;
    }
}

/* ===========================
   MOBILE UMUM (≤640px)
   =========================== */
@media (max-width: 640px) {
    .carousel-container {
        height: 60vh;
        /* lebih pendek agar form terlihat */
    }

    .mobile-box {
        margin-top: 8rem;
    }

    .mobile-box2 {
        margin-top: 1rem;
    }

    .hero-text-container {
        margin-top: -6rem;
        margin-bottom: 1rem;
    }

    .hero-title {
        margin-top: 2rem;
        font-size: 1.5rem;
        /* text-2xl */
        line-height: 2rem;
    }

    .hero-subtitle {
        font-size: 0.875rem;
        /* text-sm */
    }

    /* Form full width & centered */
    .hero-form {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .hero-form input,
    .hero-form button {
        width: 100%;
        max-width: 400px;
    }

    .mobile-carousel-slides {
        height: 94vh;
    }
}

/* ===========================
   EXTRA SMALL MOBILE (≤375px, iPhone SE dsb)
   =========================== */
@media (max-width: 375px) {
    .carousel-container {
        height: 40vh !important;
    }

    .mobile-box {
        margin-top: 2rem;
    }

    .mobile-box2 {
        margin-top: 1rem;
    }

    .hero-text-container {
        margin-top: -8rem !important;
        /* lebih naik lagi */
    }

    .hero-title {
        margin-top: 2rem;
        font-size: 1.25rem;
        /* text-xl */
        line-height: 1.75rem;
    }

    .hero-subtitle {
        font-size: 0.75rem;
        /* text-xs */
    }

    .mobile-carousel-slides {
        height: 92vh !important;
    }
}
