/* =================================================
   RESET & GLOBAL
================================================= */
*,
*::before,
*::after{
  box-sizing:border-box;
}

html,body{
  margin:0;
  padding:0;
  width:100%;
}

body{
  padding-top:0;
  padding-bottom:env(safe-area-inset-bottom);
  background:#f8f9fa;
  font-family:"Segoe UI",Arial,sans-serif;
  color:#333;
  transition:background .3s,color .3s;
}

section{
  padding:80px 0;
}

a{text-decoration:none;}
img{max-width:100%;height:auto;}


/* =================================================
   NAVBAR
================================================= */
.navbar-teal{
  background:#009688;
  box-shadow:0 4px 20px rgba(0,0,0,.12);
}

.navbar-teal .navbar-brand,
.navbar-teal .nav-link{
  color:#fff !important;
}

@media(min-width:992px){
  .navbar-nav .nav-link{
    padding-left:18px;
    padding-right:18px;
    font-weight:500;
  }
}


/* =================================================
   HERO SECTION
================================================= */
.hero-section{
  position:relative;
  min-height:70vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.7)),
    url('/uploads/gallery/jumbotron1.jpg') center/cover no-repeat;
  color:#fff;
  text-align:center;
}

.hero-section .container{
  z-index:2;
}

.hero-dark-toggle{
  position:absolute;
  top:20px;
  right:20px;
  z-index:10;
}

@media(max-width:768px){
  .hero-section{
    min-height:60vh;
    padding:60px 15px;
  }

  .hero-section h1{
    font-size:26px;
  }
}


/* =================================================
   BUTTON WHATSAPP
================================================= */
.btn-whatsapp{
  background:#25D366;
  border:none;
  padding:14px 28px;
  font-size:18px;
  border-radius:50px;
  transition:.3s;
  box-shadow:0 8px 20px rgba(0,0,0,.25);
  color:#fff;
}

.btn-whatsapp:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 25px rgba(0,0,0,.35);
}


/* =================================================
   STATUS CARD
================================================= */
#status .card{
  border:none;
  border-radius:15px;
  box-shadow:0 6px 20px rgba(0,0,0,.08);
  transition:.3s;
  height:100%;
}

#status .card:hover{
  transform:translateY(-6px);
  box-shadow:0 12px 30px rgba(0,0,0,.15);
}

.status-img{
  width:100%;
  height:220px;
  object-fit:cover;
}

.card-body{
  min-height:180px;
}


/* =================================================
   LAYANAN
================================================= */
.layanan-section{
  background:#f8f9fa;
}

.layanan-box{
  background:#ffffff;
  padding:30px 20px;
  border-radius:18px;
  box-shadow:0 8px 25px rgba(0,0,0,.08);
  height:100%;
  transition:.3s ease;
}

.layanan-box:hover{
  transform:translateY(-8px);
  box-shadow:0 15px 35px rgba(0,0,0,.15);
}

.layanan-icon{
  font-size:32px;
  color:#009688;
  margin-bottom:12px;
  display:block;
}


/* =================================================
   CARA KERJA
================================================= */
.cara-card{
  background:#ffffff;
  padding:35px 25px;
  border-radius:18px;
  box-shadow:0 8px 25px rgba(0,0,0,.08);
  text-align:center;
  transition:.3s ease;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:220px;
}

.cara-card:hover{
  transform:translateY(-8px);
  box-shadow:0 15px 35px rgba(0,0,0,.15);
}

.cara-card h5{
  font-weight:700;
  margin-bottom:12px;
}

.cara-card p{
  font-size:15px;
  line-height:1.6;
  margin-bottom:0;
}


/* =================================================
   KEUNGGULAN
================================================= */
.keunggulan-section{
  background:#f8f9fa;
}

.keunggulan-card{
  background:#ffffff;
  border-radius:18px;
  padding:30px 20px;
  box-shadow:0 8px 25px rgba(0,0,0,.08);
  text-align:center;
  height:100%;
  transition:.3s ease;
}

.keunggulan-card:hover{
  transform:translateY(-8px);
  box-shadow:0 15px 35px rgba(0,0,0,.15);
}

.keunggulan-card h5{
  font-weight:700;
  margin-bottom:10px;
  color:#009688;
}

.keunggulan-card p{
  font-size:14px;
  margin-bottom:0;
}


/* =================================================
   SOSIAL MEDIA
================================================= */
.social-section{
  background:#f8f9fa;
}


/* =================================================
   FOOTER
================================================= */
footer{
  background:#009688;
  color:#ffffff;
  padding:25px 0;
  font-size:14px;
}

footer a{
  color:#ffffff;
}

footer a:hover{
  color:#e0f2f1;
}


/* =================================================
   GALLERY
================================================= */
.gallery-img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:15px;
  transition:.3s;
}

.gallery-img:hover{
  transform:scale(1.05);
}


/* =================================================
   DARK MODE GLOBAL
================================================= */
html.dark-mode body{
  background:#121212;
  color:#f1f1f1;
}

html.dark-mode .card,
html.dark-mode .layanan-box,
html.dark-mode .keunggulan-card,
html.dark-mode .cara-card{
  background:#1c1c1c;
  color:#f1f1f1;
  border:1px solid #2a2a2a;
}

html.dark-mode .layanan-section,
html.dark-mode .keunggulan-section,
html.dark-mode .social-section{
  background:#121212;
}

html.dark-mode footer{
  background:#1a1a1a;
}


/* =================================================
   DARK MODE FORM
================================================= */
html.dark-mode input,
html.dark-mode textarea,
html.dark-mode select,
html.dark-mode .form-control{
  background:#1e1e1e !important;
  color:#f1f1f1 !important;
  border:1px solid #333 !important;
}

html.dark-mode input:focus,
html.dark-mode textarea:focus,
html.dark-mode .form-control:focus{
  border-color:#009688 !important;
  box-shadow:0 0 0 .2rem rgba(0,150,136,.25);
}


/* =================================================
   DARK MODE MAPS
================================================= */
html.dark-mode iframe{
  filter:invert(90%) hue-rotate(180deg);
}


/* =================================================
   SWITCH
================================================= */
.switch{
  position:relative;
  display:inline-block;
  width:42px;
  height:22px;
}

.switch input{
  appearance:none;
  width:0;
  height:0;
  opacity:0;
}

.slider{
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.5);
  border-radius:22px;
  transition:.3s;
  cursor:pointer;
}

.slider:before{
  content:"";
  position:absolute;
  height:16px;
  width:16px;
  left:3px;
  bottom:3px;
  background:#fff;
  border-radius:50%;
  transition:.3s;
}

.switch input:checked + .slider{
  background:#212529;
}

.switch input:checked + .slider:before{
  transform:translateX(20px);
}


/* =================================================
   LANGUAGE TOGGLE
================================================= */
.lang-toggle{
  display:inline-block;
  padding:5px 12px;
  font-size:13px;
  font-weight:600;
  border:1px solid rgba(255,255,255,.7);
  border-radius:20px;
  color:#fff;
  transition:.3s;
}

.lang-toggle:hover{
  background:#fff;
  color:#009688;
}

.faq-section p {
  font-size: 16px;
  line-height: 1.6;
}

/* ===============================
   NAVBAR
================================= */
.navbar-teal{
  background: linear-gradient(135deg,#008080,#006666);
  box-shadow:0 2px 10px rgba(0,0,0,0.15);
}

.logo-navbar{
  height:40px;
  width:auto;
  transition:0.3s ease;
}

.logo-navbar:hover{
  transform:scale(1.05);
}

/* language button */
.lang-toggle{
  background:#ffffff;
  color:#006666;
  padding:6px 14px;
  border-radius:30px;
  font-weight:600;
  text-decoration:none;
  font-size:14px;
  transition:0.3s;
}

.lang-toggle:hover{
  background:#f1f1f1;
  color:#004c4c;
}

/* mobile adjustment */
@media (max-width:576px){
  .logo-navbar{
    height:32px;
  }
}
