/* Halaman publik: hero slider, kartu kursus, galeri */
.carousel-item.active{font-weight:normal}
/* navbar fixed-top: ruang untuk beranda tanpa slider */
.hero-spacer{height:64px}
.hero-slider{margin-top:64px;background:#0b1f4d} /* sama dengan .page-section */

.hero-slide{position:relative}
.hero-img{display:block;width:100%;height:auto}

/* mobile: teks di bawah gambar */
.hero-caption{/*background:#0b1f4d;*/color:#fff;padding:1rem 1rem 2.5rem}
.hero-title{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}
.hero-desc{font-size:.95rem;opacity:.92;margin-bottom:.75rem}
.hero-desc+a.btn-hero,.hero-desc+a.btn-hero:visited{color:#fff;text-decoration:none}
.btn-hero{font-weight:600}

/* tablet/desktop: teks di kiri, di atas gambar */
@media (min-width:768px){
	.hero-caption{
		position:absolute;top:0;right:0;bottom:0;left:4rem;display:flex;align-items:center;padding:0 0 0 0;
		/*background:linear-gradient(90deg,rgba(8,20,60,.85) 0%,rgba(8,20,60,.6) 38%,rgba(8,20,60,0) 68%);*/;color:#000
	}
	.hero-caption .container{width:100%}
	.hero-text{max-width:40%;background:rgba(255,255,255,0.7);padding:1rem;border-radius:0.5rem}
	.hero-title{font-size:1.25rem}
	.hero-desc{font-size:1rem}
}

/* indikator tidak menimpa teks di mobile */
.hero-slider .carousel-indicators{margin-bottom:.5rem}
@media (max-width:767.98px){
	.hero-slider .carousel-control-prev,.hero-slider .carousel-control-next{top:0;bottom:auto;height:calc(100vw * .44)}
}

/* blok section di beranda */
.section-block{margin-top:2rem;margin-bottom:1rem}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1rem}
.section-head h3{margin:0}

/* kartu kursus */
.course-card{overflow:hidden;border:0}
.course-banner{aspect-ratio:16/9;background:#e9eef7;overflow:hidden}
.course-banner img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.course-card:hover .course-banner img{transform:scale(1.05)}
.course-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.course-filter .btn{margin:0 .25rem .5rem 0}

/* kartu album */
.album-card{display:block;color:var(--bs-body)}
.album-thumb{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:.5rem;background:#e9eef7}
.album-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.album-card:hover .album-thumb img{transform:scale(1.06)}
.album-name{display:block;margin-top:.4rem;text-align:center}

.gallery img{transition:transform .5s ease}
.gallery a:hover img{transform:scale(1.5)}

/* detail kursus */
.course-banner-lg{aspect-ratio:16/9}
.course-detail-desc{line-height:1.7}
.daftar-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Medium: >= 768px */
@media (max-width: 768px) {
    .w-md-100 { width: 100% !important; }
    .w-md-75  { width: 75% !important; }
    .w-md-50  { width: 50% !important; }
    .w-md-25  { width: 25% !important; }
}

/* Large: >= 992px */
@media (max-width: 992px) {
    .w-lg-100 { width: 100% !important; }
    .w-lg-75  { width: 75% !important; }
    .w-lg-50  { width: 50% !important; }
    .w-lg-25  { width: 25% !important; }
}

/* Extra large: >= 1200px */
@media (max-width: 1200px) {
    .w-xl-100 { width: 100% !important; }
    .w-xl-75  { width: 75% !important; }
    .w-xl-50  { width: 50% !important; }
    .w-xl-25  { width: 25% !important; }
}



.floating-wa-wrapper {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1050;
    display: flex;
    align-items: center;
    gap: .4rem;
}

/* Ikon WhatsApp */
.floating-whatsapp {
    display: block;
    line-height: 0;
    transition: opacity .3s ease, transform .3s ease;
    animation: wa-float 3s ease-in-out infinite;
}

.floating-whatsapp img {
    display: block;
    width: 4rem;
    height: auto;
}

/* Tombol show/hide */
.floating-wa-toggle {
    width: 1.6rem;
    height: 2rem;
    padding: 0;
    border: 0;
    border-radius: 1rem;
    background: #fff;
    color: #198754;
    box-shadow: 0 2px 8px #0002;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
}

/* Indikator tetap terlihat */
.wa-toggle-indicator {
    width: 6px;
    height: 6px;
    background: #25d366;
    border-radius: 50%;
    box-shadow: 0 0 0 3px #25d36630;
}

.wa-toggle-arrow {
    font-size: 1.1rem;
    line-height: 1;
    transition: transform .3s ease;
}

/* Gerakan menyembul dengan halus */
@keyframes wa-float {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-5px);
    }
}

/* Ketika disembunyikan */
.floating-wa-wrapper.is-hidden .floating-whatsapp {
    opacity: 0;
    transform: translateX(1rem) scale(.7);
    pointer-events: none;
    visibility: hidden;
    position: absolute;
    right: 0;
}

.floating-wa-wrapper.is-hidden .wa-toggle-arrow {
    transform: rotate(180deg);
}

/* Hormati pengaturan reduced motion pengguna */
@media (prefers-reduced-motion: reduce) {
    .floating-whatsapp,
    .wa-toggle-arrow {
        animation: none;
        transition: none;
    }
}
