/* =========================
   HOME (Landing Page)
   Catatan:
   - Global style (navbar/footer/btn/wrap) ada di base.css
   - File ini khusus untuk section landing page
   ========================= */

/* ---------- HERO ---------- */
.hero{
  position:relative;
  min-height: clamp(520px, 75vh, 820px);
  background: var(--dark);
  display:flex;
  align-items:center;
  overflow:hidden;
}

.hero-bg-wrap{
  position:absolute;
  inset:0;
}

.hero-bg{
  position:absolute;
  inset:-12px;
  background-size:cover;
  background-position:center;
  opacity:0;
  transform: scale(1.02);
  transition: opacity .6s ease;
}

.hero-bg.is-active{ opacity:1; }

.hero-overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.72));
}

.hero-inner{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.hero-content{
  flex:1;
  text-align:center;
  padding: 0 clamp(12px, 4vw, 80px);
}

.hero-title{
  margin:0;
  font-size: clamp(28px, 5.5vw, 82px);
  font-weight:900;
  letter-spacing:1px;
  line-height:1.12;
  color:#fff;
  text-transform: none !important;
  white-space: pre-line;
}

.hero-arrow{
  width: clamp(42px, 6vw, 56px);
  height: clamp(42px, 6vw, 56px);
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.28);
  background:transparent;
  color:#fff;
  font-size: clamp(28px, 5vw, 40px);
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0.85;
  transition:opacity .12s ease, transform .12s ease;
}

.hero-arrow:hover{ opacity:1; }
.hero-arrow:active{ transform:translateY(1px); }


/* ---------- SECTIONS ---------- */
.section{
  padding: clamp(56px, 7vw, 96px) 0;
}

.section > .wrap{ width:100%; }

.layanan{
  align-items:flex-start;
}

.cards-3{
  margin-top:44px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap: clamp(22px, 4vw, 90px);
  justify-items:center;
}

.service-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}

.card-title{
  font-size:var(--fs-card);
  font-weight:600;
  margin-top:4px;
  text-align:center;
  color:#2a2a2a;
}

.section.dark .card-title{ color:#fff; }

/* split layout (Tentang/Portofolio/Galeri landing) */
.split{
  width:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap: clamp(24px, 4vw, 90px);
  align-items:center;
}

.split-left, .split-right{ width:100%; }

/* Landing image sizes: responsif, tidak pakai height fixed */
.split .img-real.img-450,
.split .img-ph.img-450{
  width: min(450px, 100%);
  height: auto;
  aspect-ratio: 1 / 1;
}

.split .img-real.img-450{ object-fit:cover; }

/* CTA */
.cta{
  background:#fff;
}

.cta-inner{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-align:center;
}

.cta-title{
  margin:0;
  font-size: clamp(18px, 3vw, var(--fs-cta));
  font-weight:800;
  letter-spacing:0.8px;
  text-transform:uppercase;
}

/* Galeri thumbnails on landing */
.gallery-grid{
  width:100%;
  max-width: 640px;
  margin-left:auto;
  margin-right:auto;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 3vw, 26px);
}

.gallery-grid .img-real.img-280,
.gallery-grid .img-ph.img-280{
  width:100%;
  height:auto;
  aspect-ratio: 1 / 1;
}

.gallery-grid .img-real.img-280{ object-fit:cover; }

/* Pembatas hijau di atas section Layanan */
.section-services,
.home-services,
#layanan,
.layanan{
  border-top: 20px solid #A3CB38;
}



/* ---------- RESPONSIVE ---------- */
@media (max-width: 900px){
  .cards-3{ grid-template-columns:1fr; margin-top:28px; }
  .split{ grid-template-columns:1fr; }
  .hero-content{ padding: 0 12px; }
}

@media (max-width: 420px){
  .hero-arrow{ width:40px; height:40px; }
}
/* MOBILE: Judul GALERI di atas grid foto */
@media (max-width: 900px){
  #galeri .wrap.split{
    display: flex;              /* paksa jadi flex di mobile */
    flex-direction: column;     /* jadi 1 kolom */
  }

  #galeri .split-right{ order: 1; }
  #galeri .split-left{ order: 2; }
}
  /* PAKSA: rapetin jarak teks ↔ gambar di section split (Home) */
#portofolio .wrap.split,
#galeri .wrap.split,
#tentang .wrap.split{
  display: grid !important;
  grid-template-columns: 420px minmax(0, 560px) !important; /* lebih rapet */
  gap: 22px !important;
  justify-content: center !important;  /* hilangkan space-between */
  align-items: center !important;
}

/* Pastikan kolom gambar bener2 ngisi */
#portofolio .split-left,
#galeri .split-left,
#tentang .split-left{
  justify-self: start !important; /* jangan “nempel kanan” */
}

#portofolio .split-left img,
#galeri .split-left img,
#tentang .split-left img,
#portofolio .gallery-grid img,
#galeri .gallery-grid img{
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* Mobile tetap 1 kolom */
@media (max-width: 900px){
  #portofolio .wrap.split,
  #galeri .wrap.split,
  #tentang .wrap.split{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}
/* === Panah slider nempel ujung hero (full width) === */
.hero{
  position: relative; /* jadi acuan absolute */
}

/* pastikan hero-inner TIDAK jadi acuan posisi */
.hero-inner{
  position: static !important; /* override kalau sebelumnya relative */
}

/* panah absolute ke .hero (bukan ke wrap) */
.hero .hero-arrow{
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 10;
}

/* nempel ujung kiri/kanan layar hero */
.hero .hero-arrow-left{
  left: clamp(12px, 2vw, 28px) !important;
}

.hero .hero-arrow-right{
  right: clamp(12px, 2vw, 28px) !important;
}

/* kasih ruang aman supaya teks gak ketabrak panah */
.hero .hero-content{
  padding-left: clamp(70px, 8vw, 110px) !important;
  padding-right: clamp(70px, 8vw, 110px) !important;
}
/* =========================
   MOBILE ORDERING BUTTON
   - Portofolio & Galeri: title+desc (atas) -> image -> button (center bawah)
   - Tentang: button center bawah teks
   ========================= */

@media (max-width: 900px){

  /* ----- PORTOFOLIO (mobile) ----- */
  #portofolio .wrap.split{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  /* bikin child .split-left "pecah" jadi item grid */
  #portofolio .split-left{ display: contents !important; }

  /* urutan: title -> desc -> image -> button */
  #portofolio .split-left .section-title{ grid-row: 1; grid-column: 1; }
  #portofolio .split-left .body-text{ grid-row: 2; grid-column: 1; }
  #portofolio .split-right{ grid-row: 3; grid-column: 1; }
  #portofolio .split-left .btn{
    grid-row: 4; grid-column: 1;
    justify-self: center;
    display: flex;              /* biar bisa center + margin auto */
    width: fit-content;
    margin: 0 auto;
  }

  /* ----- GALERI (mobile) ----- */
  #galeri .wrap.split{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  /* bikin child .split-right "pecah" jadi item grid */
  #galeri .split-right{ display: contents !important; }

  /* urutan: title -> desc -> images -> button */
  #galeri .split-right .section-title{ grid-row: 1; grid-column: 1; }
  #galeri .split-right .body-text{ grid-row: 2; grid-column: 1; }
  #galeri .split-left{ grid-row: 3; grid-column: 1; }
  #galeri .split-right .btn{
    grid-row: 4; grid-column: 1;
    justify-self: center;
    display: flex;
    width: fit-content;
    margin: 0 auto;
  }

  /* ----- TENTANG (mobile): tombol center bawah teks ----- */
  #tentang .split-right .btn{
    display: flex;              /* jadi block-level */
    width: fit-content;
    margin: 0 auto;             /* center */
  }
}
/* Drop shadow untuk teks slider (Hero) */
.hero-title,
.hero-subtitle,
.hero-content p,
.hero-content .btn{
  text-shadow: 0 3px 10px rgba(0,0,0,.55);
}

/* Judul biasanya perlu lebih tegas */
.hero-title{
  text-shadow: 0 4px 18px rgba(0,0,0,.65);
}
.hero-title{
  /* glow */
  text-shadow:
    0 0 6px rgba(163,203,56,.55),
    0 0 14px rgba(163,203,56,.35),
    0 8px 20px rgba(0,0,0,.55);
}
