:root{
  --primary:#663399;
  --accent:#ff5722;
  --white:#fff;
  --black:#222;
  --bg:#f7f7fb;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Poppins', sans-serif;background:var(--bg);color:var(--black);line-height:1.7;padding-top:76px}

/* NAVBAR */
.navbar{position:fixed;top:0;left:0;right:0;height:76px;background:var(--white);box-shadow:0 2px 10px rgba(0,0,0,.08);z-index:1000}
.nav-container{max-width:1200px;margin:auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 18px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{height:46px}
.brand span{font-weight:700;color:var(--primary)}
.nav-links{display:flex;gap:22px}
.nav-links a{color:var(--primary);font-weight:600;padding:8px 12px;border-radius:8px;transition:.25s}
.nav-links a:hover{background:rgba(102,51,153,.08)}
.hamburger{display:none;flex-direction:column;cursor:pointer;border:none;background:none}
.hamburger span{position:relative;width:22px;height:3px;background:#333;border-radius:2px;transition:.3s}
.hamburger span::before,
.hamburger span::after{content:'';position:absolute;width:22px;height:3px;background:#333;border-radius:2px;transition:.3s}
.hamburger span::before{top:-8px}
.hamburger span::after{top:8px}

/* HERO */
.hero{background:url('hero-kaaba.jpg') center/cover no-repeat;min-height:480px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;position:relative}
.hero::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.45)}
.hero-content{position:relative;z-index:2;padding:24px}
.hero h1{font-size:2.6rem;margin-bottom:8px;text-shadow:0 2px 6px rgba(0,0,0,.6)}
.hero .subtitle{margin-bottom:20px;font-size:1.1rem}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:14px 28px;border-radius:50px;font-weight:700;text-decoration:none;transition:transform .25s}
.btn:hover{transform:translateY(-2px)}

/* LAYOUT */
.container{max-width:1100px;margin:auto;padding:60px 18px}
.section-title{text-align:center;margin-bottom:40px;color:var(--primary);font-size:2rem}

/* PAKET */
.paket{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px}
.card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.08);transition:transform .3s}
.card:hover{transform:translateY(-4px)}
.card img{width:100%;height:auto}
.card-body{padding:24px;text-align:center}
.price{color:var(--primary);font-weight:800;margin:8px 0 16px;font-size:1.1rem}

/* NEWS SLIDER */
.news-slider{max-width:900px;margin:40px auto;background:#fff;border-radius:16px;box-shadow:0 8px 20px rgba(0,0,0,.08);overflow:hidden;position:relative}
.news-slide{display:none;flex-direction:column;gap:20px;padding:24px}
.news-slide.active{display:flex}
.news-slide img{width:100%;max-height:240px;object-fit:cover;border-radius:12px}
.news-info{display:flex;flex-direction:column;gap:8px}
.news-info h3{font-size:1.6rem;font-weight:700;color:var(--primary);line-height:1.3}
.news-info h3 a{text-decoration:none;color:inherit}
.news-info h3 a:hover{color:var(--accent)}
.news-info .date{font-size:1rem;color:#555}
.news-info p{font-size:1.1rem;line-height:1.6;color:#333}
.read-more{align-self:flex-start;background:var(--accent);color:#fff;padding:10px 20px;border-radius:25px;font-size:.95rem;font-weight:600;text-decoration:none}
.read-more:hover{background:#e64a19}
.nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:var(--primary);color:#fff;border:none;padding:12px 16px;border-radius:50%;cursor:pointer;font-size:1.2rem}
.prev{left:15px}
.next{right:15px}

@media(max-width:600px){
  .news-slide{padding:16px}
  .news-info h3{font-size:1.4rem}
  .news-slide img{height:180px}
}

/* GALERI */
.galeri-track{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.galeri-track img{border-radius:12px;width:100%;height:180px;object-fit:cover;box-shadow:0 4px 10px rgba(0,0,0,.1)}

/* LEGALITAS */
.legalitas-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin-top:20px}
.legalitas-logos img{height:44px;border-radius:6px}

/* SOCIAL BAR */
.social-bar{display:flex;justify-content:center;gap:20px;margin:30px 0}
.social-bar img{width:32px;height:32px;border-radius:50%;transition:transform .25s}
.social-bar img:hover{transform:scale(1.1)}

/* FOOTER */
footer{background:#333;color:#ccc;text-align:center;padding:28px 12px}

/* WHATSAPP FLOAT */
.wa-float{position:fixed;bottom:20px;right:20px;z-index:999;width:60px;height:60px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.wa-float img{width:32px;height:32px}

/* RESPONSIVE */
@media(max-width:900px){
  .nav-links{position:fixed;top:76px;right:0;height:calc(100vh - 76px);width:min(300px,80vw);background:#fff;flex-direction:column;align-items:flex-start;padding:24px;gap:8px;transform:translateX(100%);transition:.28s;box-shadow:-2px 0 12px rgba(0,0,0,.12)}
  .nav-links.open{transform:translateX(0)}
  .hamburger{display:flex}
}
/* FAQ */
.faq-list {
  max-width: 800px;
  margin: auto;
}
details {
  background: #fff;
  border-radius: 12px;
  margin-bottom: 12px;
  padding: 16px 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,.05);
  cursor: pointer;
}
summary {
  font-weight: 700;
  color: var(--primary);
}
.form-daftar {
  max-width: 600px;
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.form-daftar label {
  font-weight: 600;
}

.form-daftar input,
.form-daftar select {
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 8px;
  width: 100%;
}
.form-daftar {
  max-width: 600px;
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.form-row {
  display: flex;
  flex-direction: column;
}

.form-row label {
  font-weight: 600;
  margin-bottom: 6px;
  color: var(--primary);
}

.form-row input,
.form-row select {
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 1rem;
}

.form-daftar .btn {
  margin-top: 10px;
  align-self: flex-start;
}
