*{box-sizing:border-box}
body{margin:0;font-family:system-ui,Arial;background:#f6f8fc}

.container{max-width:1100px;margin:0 auto;padding:16px}
main.container{background:transparent;padding:0;margin-top:0}

.site-footer{border-top:1px solid #eee;margin-top:32px;padding:16px 0;color:#666}

a{color:#ff7a00}
a:hover{color:#ff8f2a}

/* HEADER */
.site-header{
  background: linear-gradient(135deg, #0a1f44, #0d2c6c);
  border-bottom: none;
  box-shadow: 0 4px 12px rgba(0,0,0,.15);
}
.site-header a{color:#fff}

.header-inner{display:flex;align-items:center;justify-content:space-between}
.nav a{margin-left:12px;text-decoration:none;color:#eaf0ff}
.nav a:hover{color:#fff;text-decoration:underline}

.logo{height:25px;width:auto;display:block}

/* Mobile menu */
.nav-toggle{
  display:none;
  background:transparent;
  border:0;
  padding:8px;
  cursor:pointer;
}
.nav-toggle span{
  display:block;
  width:24px;
  height:2px;
  background:#fff;
  margin:5px 0;
}
@media (max-width: 768px){
  .nav-toggle{display:block}
  .header-inner{position:relative}
  .nav{
    display:none;
    position:absolute;
    right:16px;
    top:64px;
    background:rgba(255, 122, 0, 0.92);
    border:1px solid rgba(255, 122, 0, 0.92);
    border-radius:12px;
    padding:10px;
    min-width:160px;
  }
  .nav a{display:block;margin:0;padding:10px 12px}
  .nav.is-open{display:block}
}

/* Sticky header on mobile */
@media (max-width: 768px){
  .site-header{
    position: sticky;
    top: 0;
    z-index: 9999;
  }
}

/* HERO SLIDER */
.hero{margin-top:18px}
.hero-slider{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  min-height:360px;
  background: linear-gradient(135deg, #0a1f44, #0d2c6c);
}

.hero-slide{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  align-items:center;
  gap:20px;
  padding:44px 42px;
  opacity:0;
  transform: translateY(6px);
  transition: opacity .45s ease, transform .55s ease;
}

.hero-slide.is-active{
  opacity:1;
  transform:translateY(0);
  z-index:1;
}

.hero-left{color:#fff;max-width:560px}
.hero-left h1{margin:0 0 10px;font-size:42px;line-height:1.1}
.hero-left p{margin:0 0 18px;color:rgba(255,255,255,.88);font-size:16px}

.hero-right{display:flex;justify-content:flex-end;align-items:center}
.hero-right img{
  width:100%;
  max-width:520px;
  height:300px;
  object-fit:contain;
  filter: drop-shadow(0 18px 28px rgba(0,0,0,.28));
}

/* A11y: perbesar area klik dot slider */
button.dot{
  width:44px;
  height:44px;
  padding:0;
  margin:0 6px;              /* kasih jarak antar dot */
  border:0;
  background:transparent;
  border-radius:999px;
  position:relative;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* bulatan dot-nya */
button.dot::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  background:rgba(255,255,255,.55); /* boleh sesuaikan */
}

/* aktif */
button.dot.is-active::before{
  background:#fff;
}

/* fokus keyboard jelas */
button.dot:focus-visible{
  outline:3px solid #000;
  outline-offset:2px;
}


/* Fix kontras tombol WhatsApp */
a.btn-wa{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;

  padding:12px 16px;
  border-radius:12px;

  background:#0b6b2b;     /* hijau lebih gelap = kontras aman */
  color:#fff;             /* teks putih */
  font-weight:800;
  text-decoration:none;

  border:1px solid rgba(255,255,255,.22);
  text-shadow:0 1px 1px rgba(0,0,0,.35); /* bantu jika layar/kompresi */
}

a.btn-wa:hover{
  background:#085622;
}

a.btn-wa:focus-visible{
  outline:3px solid #000;
  outline-offset:2px;
}

.hero-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  border:0;
  width:44px;
  height:44px;
  border-radius:999px;
  cursor:pointer;
  background: rgba(255,255,255,.18);
  color:#fff;
  font-size:28px;
  z-index:3;
}
.hero-btn:hover{background: rgba(255,255,255,.28)}
.hero-btn.prev{left:14px}
.hero-btn.next{right:14px}

.hero-dots{
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
  z-index:3;
}
.hero-dots .dot{
  width:10px;height:10px;border-radius:999px;
  border:1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.15);
  cursor:pointer;
}
.hero-dots .dot.is-active{
  background: rgba(255, 122, 0, 0.95);
  border-color: rgba(255, 122, 0, 0.95);
}

/* ===== HERO MOBILE LAYOUT FIX ===== */
@media (max-width: 768px){
  .hero{margin-top:12px;padding:0 14px}
  .hero-slider{min-height:560px}
  .hero-slide{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:18px;
    padding:26px 18px 86px;
  }
  .hero-left{width:100%}
  .btn-wa{margin:14px auto 0}
  .hero-right{width:100%;justify-content:center}
  .hero-right img{max-width:360px;height:auto}
  .hero-btn{display:none}
  .hero-dots{bottom:18px}
}

/* ==============================
   WA FLOATING IMAGE - MOBILE ONLY
   ============================== */
.wa-float-img{
  display:none !important; /* default sembunyi */
}

/* hanya tampil di mobile */
@media (max-width: 768px){
  .wa-float-img{
    display:block !important;
    position:fixed !important;
    right:12px !important;
    bottom:12px !important;
    z-index:999999 !important;
  }
  .wa-float-img img{
    width:140px !important;
    height:auto !important;
    display:block !important;
    cursor:pointer;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.25));
  }
}

/* pastikan desktop mati total */
@media (min-width: 769px){
  .wa-float-img[data-mobile-only="1"]{
    display:none !important;
  }
}

/* =========================
   FEATURED / PRODUK TERLARIS
========================= */
.featured{ margin: 28px 0 36px; }
.featured .container{ padding: 0 16px; }

.featured-head h2{
  margin: 0;
  font-size: 28px;
  color: #0a1f44;
}
.featured-head p{
  margin: 6px 0 14px;
  color: #4a5a78;
}

.feat-wrap{
  position: relative;
  background: #fff;
  border-radius: 18px;
  padding: 18px 18px;
  box-shadow: 0 14px 34px rgba(0,0,0,.08);
}

.feat-viewport{
  overflow: hidden;          /* INI yang bikin tidak keluar container */
  border-radius: 14px;
}

.feat-track{
  display: flex;
  gap: 18px;
  will-change: transform;
  transform: translate3d(0,0,0);
  transition: transform .45s ease;
  padding: 10px 6px;
}

/* Desktop: tampil 4 portrait */
.feat-card{
  flex: 0 0 calc((100% - 18px*3) / 4);
  background: #f3f6ff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 18px rgba(0,0,0,.06);
}

.feat-img{
  position: relative;
  background: #eef2ff;
  aspect-ratio: 1 / 1;         /* square, biar rapi (bukan kepotong) */
  overflow: hidden;
}

.feat-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;           /* penuh, tanpa margin */
  display: block;
}

.feat-badge{
  position: absolute;
  top: 10px;
  left: 10px;
  background: rgba(255,122,0,.95);
  color: #fff;
  font-weight: 800;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  z-index: 2;
}

.feat-body{
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
}

.feat-title{
  font-weight: 800;
  color: #0a1f44;
  font-size: 14px;
  line-height: 1.2;
}

.feat-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  background:#0b6b2b;      /* hijau lebih gelap (AMAN KONTRAS) */
  color:#ffffff;
  font-weight:800;
  text-decoration:none;

  padding:12px 16px;       /* sedikit dibesarkan (target sentuh) */
  border-radius:12px;
  white-space:nowrap;

  border:1px solid rgba(255,255,255,.25);
  text-shadow:0 1px 1px rgba(0,0,0,.35);
}

.feat-btn:hover{
  background:#085622;
}

.feat-btn:focus-visible{
  outline:3px solid #000;
  outline-offset:2px;
}


/* Panah */
.feat-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 0;
  cursor: pointer;
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 26px rgba(0,0,0,.12);
  z-index: 5;
}

.feat-nav.prev{ left: -18px; }
.feat-nav.next{ right: -18px; }

/* Tablet: tampil 3 */
@media (max-width: 1024px){
  .feat-card{ flex-basis: calc((100% - 18px*2) / 3); }
}

/* Mobile: tampil 2 + panah tetap ada */
@media (max-width: 768px){
  .feat-wrap{ padding: 14px 12px; }
  .feat-track{ gap: 14px; }
  .feat-card{ flex-basis: calc((100% - 14px) / 2); }
  .feat-nav{ width: 40px; height: 40px; }
  .feat-nav.prev{ left: -10px; }
  .feat-nav.next{ right: -10px; }
}

/* Mobile kecil banget: tampil 1 */
@media (max-width: 360px){
  .feat-card{ flex-basis: 100%; }
}

/* =========================
   PEMISAH SECTION (garis)
   ========================= */
.section-sep { padding: 20px 0 0; }
.sep-line{
  height: 1px;
  background: rgba(0,0,0,.08);
  border-radius: 999px;
}

/* =========================
   PRODUK KAMI
   ========================= */
.home-products{
  background:#fff;           /* putih full biar jelas terpisah dari atas */
  padding: 34px 0 46px;
  margin-top: 22px;
}

.hp-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom: 16px;
}

.hp-head h2{
  margin:0;
  font-size: 34px;
  line-height:1.1;
  color:#061a3a;
}
.hp-head p{
  margin:8px 0 0;
  color:#51607a;
}

.hp-wa{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  background:#0b6b2b;      /* hijau WA lebih gelap = AMAN */
  color:#ffffff;
  text-decoration:none;
  font-weight:800;

  padding:14px 18px;       /* target sentuh lebih aman */
  border-radius:14px;

  box-shadow:0 10px 22px rgba(0,0,0,.18);
  white-space:nowrap;

  border:1px solid rgba(255,255,255,.25);
  text-shadow:0 1px 1px rgba(0,0,0,.35);
}

.hp-wa:hover{
  background:#085622;
}

.hp-wa:focus-visible{
  outline:3px solid #000;
  outline-offset:2px;
}


/* FILTER BOX */
.hp-filter{
  border: 1px solid rgba(0,0,0,.06);
  background: #fff;
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 18px 40px rgba(0,0,0,.06);
  margin-bottom: 18px;
}

.hp-search{
  width:100%;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(10,31,68,.10);
  outline: none;
}

.hp-cats{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  margin-top: 12px;
}

.hp-chip{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(10,31,68,.10);
  background: rgba(10,31,68,.03);
  cursor:pointer;
  user-select:none;
}
.hp-chip input{ margin:0; }

.hp-actions{
  display:flex;
  gap: 12px;
  align-items:center;
  margin-top: 12px;
}

.hp-apply{
  border:0;
  background:#0a1f44;
  color:#fff;
  font-weight:700;
  padding: 10px 14px;
  border-radius: 999px;
  cursor:pointer;
}

.hp-reset{
  text-decoration:none;
  color:#b45300;      /* oranye lebih gelap = kontras aman */
  font-weight:700;
}

.hp-reset:hover{
  color:#8f3f00;
}

.hp-reset:focus-visible{
  outline:3px solid #000;
  outline-offset:2px;
}


/* GRID PRODUK: portrait seperti Terlaris */
.hp-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.hp-card{
  border-radius: 18px;
  background:#fff;
  overflow:hidden;
  box-shadow: 0 16px 34px rgba(0,0,0,.08);
}

.hp-img{
  background: #f0f2f6;
}
.hp-img img{
  width:100%;
  display:block;
  aspect-ratio: 4 / 4;   /* bikin area gambar konsisten & portrait-card feel */
  object-fit: cover;     /* biar terlihat penuh (kalau mau tidak crop: ganti contain) */
}

.hp-body{
  padding: 14px 14px 16px;
}

.hp-title{
  font-weight: 800;
  color:#061a3a;
  font-size: 16px;
  line-height:1.25;
}

.hp-desc{
  margin-top: 6px;
  color:#51607a;
  font-size: 13px;
  line-height:1.35;
  min-height: 34px; /* biar tinggi card rata */
}

.hp-pagination{
  display:flex;
  justify-content:center;
  margin-top: 18px;
}

/* RESPONSIVE */
@media (max-width: 992px){
  .hp-grid{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 768px){
  .home-products{ padding: 26px 0 36px; }

  .hp-head{
    align-items:flex-start;
  }

  .hp-head h2{ font-size: 30px; }

  /* kategori di HP dikecilin */
  .hp-chip{
    padding: 6px 20px;
    gap: 6px;
    font-size: 8px;
  }
  .hp-chip input{ transform: scale(.95); }

  /* grid 2 kolom di HP, seperti terlaris */
  .hp-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .hp-img img{
    aspect-ratio: 1 / 1;  /* di HP biar lebih padat & bagus 2 kolom */
    object-fit: cover;
  }
}


/* =========================
   FIX: KATEGORI 1 BARIS DI HP
   ========================= */
@media (max-width: 768px){

  /* container kategori */
  .hp-cats{
    flex-wrap: nowrap;              /* ❌ jangan turun baris */
    overflow-x: auto;               /* 👉 scroll horizontal */
    -webkit-overflow-scrolling: touch;
    gap: 10px;
    padding-bottom: 6px;
  }

  /* sembunyikan scrollbar (opsional, lebih clean) */
  .hp-cats::-webkit-scrollbar{
    display: none;
  }
  .hp-cats{
    scrollbar-width: none;          /* Firefox */
  }

  /* chip kategori diperkecil & konsisten */
  .hp-chip{
    flex: 0 0 auto;                 /* penting: jangan nge-press */
    padding: 8px 12px;
    font-size: 13px;
    border-radius: 999px;
    white-space: nowrap;            /* teks tidak pecah */
  }

  .hp-chip input{
    transform: scale(.9);
  }
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}


/* =========================
   PRODUK KAMI - ANIMASI + PAGINATION
   ========================= */

.hp-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.hp-card{
  border-radius: 18px;
  background:#fff;
  overflow:hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
  transform: translateY(8px);
  opacity: 0;
  animation: hpIn .45s ease forwards;
  animation-delay: calc(var(--d, 0) * 70ms);
}

@keyframes hpIn{
  to{ transform: translateY(0); opacity: 1; }
}

.hp-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 16px 38px rgba(0,0,0,.12);
}

.hp-img{
  background:#eef2fb;
}

.hp-img img{
  width:100%;
  height: 250px;
  object-fit: cover;
  display:block;
  transition: transform .25s ease;
}

.hp-card:hover .hp-img img{
  transform: scale(1.03);
}

.hp-body{
  padding: 14px 14px 16px;
}

.hp-title{
  font-weight: 800;
  color:#0a1f44;
  margin-bottom: 6px;
}

.hp-desc{
  color:#5b6a86;
  font-size: 13px;
  line-height: 1.35;
}

/* Pagination */
.hp-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  margin: 18px 0 6px;
}

.hp-page{
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: 12px;
  text-decoration:none;
  background:#fff;
  color:#0a1f44;
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
}

.hp-page:hover{
  transform: translateY(-1px);
}

.hp-page.is-active{
  background:#0a1f44;
  color:#fff;
}

.hp-page.is-disabled{
  opacity:.45;
  pointer-events:none;
}

.hp-ellipsis{
  color:#8ea0c2;
}

/* Mobile: 2 kolom */
@media (max-width: 768px){
  .hp-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
  .hp-img img{
    height: 160px;
  }
}

/* =========================
   WHY US SECTION
   ========================= */
.whyus{
  margin-top: 26px;
  padding: 28px 0 10px;
  background: #ffffff;           /* pemisah putih */
  border-top: 1px solid #eef2fb;
}

.whyus-head{
  text-align:center;
  margin-bottom: 18px;
}

.whyus-head h2{
  margin:0 0 8px;
  font-size: 34px;
  color:#0a1f44;
  font-weight: 900;
}

.whyus-head p{
  margin:0;
  color:#60739b;
}

.whyus-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 24px;
  align-items:center;
  padding: 12px 0 28px;
}

.whyus-list{
  display:flex;
  flex-direction:column;
  gap: 12px;
}

.whyus-item{
  display:grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  align-items:center;
  background:#ffffff;
  border-radius: 12px;
  padding: 14px 16px;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
  border: 1px solid #eef2fb;
}

.whyus-no{
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  color:#0a1f44;
  background: #f3f6ff;
  border: 1px solid #e7eeff;
}

.whyus-title{
  font-weight: 900;
  color:#0a1f44;
  line-height:1.2;
}

.whyus-sub{
  margin-top: 4px;
  font-size: 13px;
  color:#60739b;
  line-height: 1.35;
}

/* VISUAL bubble */
.whyus-visual{
  position:relative;
  min-height: 360px;
}

.whyus-bubble{
  position:absolute;
  border-radius: 999px;
  overflow:hidden;
  background: radial-gradient(circle at 30% 30%, #ffffff, #f3f6ff);
  box-shadow: 0 18px 44px rgba(0,0,0,.12);
  border: 6px solid #ffffff;
}

.whyus-bubble lottie-player{
  width:100%;
  height:100%;
}

.whyus-bubble.b1{
  width: 260px;
  height: 260px;
  left: 0;
  top: 55px;
}

.whyus-bubble.b2{
  width: 210px;
  height: 210px;
  right: 6px;
  top: 10px;
  opacity: .95;
}

.whyus-bubble.b3{
  width: 200px;
  height: 200px;
  right: 0;
  bottom: 10px;
  opacity: .95;
}

/* Responsive */
@media (max-width: 900px){
  .whyus-grid{
    grid-template-columns: 1fr;
  }
  .whyus-visual{
    min-height: 320px;
    margin-top: 10px;
  }
  .whyus-bubble.b1{ left: 10px; top: 50px; }
  .whyus-bubble.b2{ right: 10px; top: 0; }
  .whyus-bubble.b3{ right: 20px; bottom: 0; }
}

@media (max-width: 480px){
  .whyus-head h2{ font-size: 28px; }
  .whyus-item{ padding: 12px 12px; }
  .whyus-visual{ min-height: 280px; }
  .whyus-bubble.b1{ width: 220px; height: 220px; }
  .whyus-bubble.b2{ width: 180px; height: 180px; }
  .whyus-bubble.b3{ width: 170px; height: 170px; }
}

/* =========================
   SCROLL ANIMATION (reveal)
   ========================= */
.reveal{
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .7s ease, transform .7s ease;
  will-change: opacity, transform;
}

.reveal.is-show{
  opacity: 1;
  transform: translateY(0);
}

/* variasi arah (opsional) */
.reveal-left{ transform: translateX(-18px); }
.reveal-right{ transform: translateX(18px); }

.reveal-left.is-show,
.reveal-right.is-show{
  transform: translateX(0);
}

/* delay helper (opsional) */
.reveal.d1{ transition-delay: .08s; }
.reveal.d2{ transition-delay: .16s; }
.reveal.d3{ transition-delay: .24s; }
.reveal.d4{ transition-delay: .32s; }
.reveal.d5{ transition-delay: .40s; }

/* =========================
   WHY US - HOVER ANIMATION
   ========================= */

.whyus-visual{
  position: relative;
}

/* base bubble */
.whyus-bubble{
  transition:
    transform .35s ease,
    box-shadow .35s ease,
    opacity .35s ease;
  will-change: transform;
}

/* hover per bubble */
.whyus-bubble:hover{
  transform: translateY(-8px) scale(1.06);
  box-shadow: 0 20px 40px rgba(0,0,0,.15);
  z-index: 5;
}

/* saat hover satu bubble, yang lain sedikit redup */
.whyus-visual:hover .whyus-bubble{
  opacity: .55;
}

.whyus-visual:hover .whyus-bubble:hover{
  opacity: 1;
}

/* =========================
   MOBILE SAFE
   ========================= */
@media (max-width: 768px){
  .whyus-bubble,
  .whyus-bubble:hover{
    transform: none;
    box-shadow: none;
    opacity: 1;
  }
}

/* =========================
   WHY US - HOVER ANIMATION
   ========================= */

.whyus-visual{
  position: relative;
}

/* base bubble */
.whyus-bubble{
  transition:
    transform .35s ease,
    box-shadow .35s ease,
    opacity .35s ease;
  will-change: transform;
}

/* hover per bubble */
.whyus-bubble:hover{
  transform: translateY(-8px) scale(1.06);
  box-shadow: 0 20px 40px rgba(0,0,0,.15);
  z-index: 5;
}

/* saat hover satu bubble, yang lain sedikit redup */
.whyus-visual:hover .whyus-bubble{
  opacity: .55;
}

.whyus-visual:hover .whyus-bubble:hover{
  opacity: 1;
}

/* =========================
   MOBILE SAFE
   ========================= */
@media (max-width: 768px){
  .whyus-bubble,
  .whyus-bubble:hover{
    transform: none;
    box-shadow: none;
    opacity: 1;
  }
}

/* =========================
   WHY US - REVEAL LIST
   ========================= */
.reveal{
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .6s ease, transform .6s ease;
}

.reveal.is-show{
  opacity: 1;
  transform: translateY(0);
}

/* delay bertahap biar munculnya satu-satu */
.whyus-list .reveal:nth-child(1){ transition-delay: .00s; }
.whyus-list .reveal:nth-child(2){ transition-delay: .08s; }
.whyus-list .reveal:nth-child(3){ transition-delay: .16s; }
.whyus-list .reveal:nth-child(4){ transition-delay: .24s; }
.whyus-list .reveal:nth-child(5){ transition-delay: .32s; }
.whyus-list .reveal:nth-child(6){ transition-delay: .40s; }

/* =========================
   WHY US - BASE
   ========================= */
.whyus-item{
  position: relative;
  display: flex;
  gap: 16px;
  padding: 16px 18px;
  border-radius: 14px;
  background: #fff;
  transition: transform .25s ease, box-shadow .25s ease;
}

/* garis kiri */
.whyus-item::before{
  content:'';
  position:absolute;
  left:0;
  top:14px;
  bottom:14px;
  width:4px;
  background:#e5e7eb;
  border-radius:4px;
  transition: background .25s ease;
}

/* =========================
   REVEAL ANIMATION
   ========================= */
.reveal{
  opacity:0;
  transform: translateY(22px);
  transition:
    opacity .6s ease,
    transform .6s cubic-bezier(.22,.61,.36,1);
}

.reveal.is-show{
  opacity:1;
  transform: translateY(0);
}

/* delay bertahap */
.whyus-list .reveal:nth-child(1){transition-delay:.00s}
.whyus-list .reveal:nth-child(2){transition-delay:.08s}
.whyus-list .reveal:nth-child(3){transition-delay:.16s}
.whyus-list .reveal:nth-child(4){transition-delay:.24s}
.whyus-list .reveal:nth-child(5){transition-delay:.32s}
.whyus-list .reveal:nth-child(6){transition-delay:.40s}

/* =========================
   NOMOR (POP EFFECT)
   ========================= */
.whyus-no{
  min-width:42px;
  height:42px;
  border-radius:12px;
  background:#f1f5f9;
  color:#0f172a;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  transform: scale(.6);
  opacity:0;
  transition:
    transform .45s cubic-bezier(.22,.61,.36,1),
    opacity .35s ease,
    background .25s ease,
    color .25s ease;
}

.reveal.is-show .whyus-no{
  transform: scale(1);
  opacity:1;
}

/* =========================
   HOVER EFFECT
   ========================= */
.whyus-item:hover{
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(15,23,42,.08);
}

.whyus-item:hover::before{
  background:#CD7F32; /* hijau brand */
}

.whyus-item:hover .whyus-no{
  background:#151B54;
  color:#fff;
}

/* =========================
   STATS / CAPAIAN KAMI
   ========================= */
.stats {
  position: relative;
  padding: 90px 0;
  min-height: 420px; /* 🔑 KUNCI agar tidak memanjang */
  display: flex;
  align-items: center;

  color: #fff;
  overflow: hidden;

  background:
    linear-gradient(
      rgba(7, 33, 74, 0.92),
      rgba(7, 33, 74, 0.92)
    ),
    url("../images/bg-printing.jpg");

  background-repeat: no-repeat;
  background-size: cover;
  background-position: right center;
}

/* =========================
   STATS / CAPAIAN KAMI
   ========================= */
.stats {
  position: relative;
  padding: 60px 0;
  min-height: 360px; /* 🔑 KUNCI agar tidak memanjang */
  display: flex;
  align-items: center;

  color: #fff;
  overflow: hidden;

  background:
    linear-gradient(
      rgba(7, 33, 74, 0.92),
      rgba(7, 33, 74, 0.92)
    ),
    url('/assets/images/bgwhyus.webp');


  background-repeat: no-repeat;
  background-size: cover;
  background-position: right center;
}

.stats .container {
  max-width: 1140px;
}

.stats-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 50px;
  align-items: center;
}

@media (max-width: 768px) {
  .stats {
    padding: 70px 0;
    min-height: auto;
    background-position: center;
  }

  .stats-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }
}

.stats-box {
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(6px);
  border-radius: 12px;
  padding: 15px;
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 24px;
}

@media (max-width: 768px) {
  .stats-box {
    grid-template-columns: repeat(2,1fr);
  }
}

.stat-item {
  text-align: center;
}

.stat-icon {
  font-size: 36px;
  margin-bottom: 10px;
  animation: floatIcon 3s ease-in-out infinite;
}

.stat-number {
  font-size: 26px;
  font-weight: 700;
}

.stat-label {
  font-size: 14px;
  opacity: .85;
}

@keyframes floatIcon {
  0% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
  100% { transform: translateY(0); }
}

.stats .container {
  max-width: 1140px;
  padding-left: 32px;
  padding-right: 32px;
}

@media (max-width: 768px) {
  .stats .container {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* =========================
   REVIEWS (1 baris slider)
   ========================= */
.reviews{
  padding: 34px 0 10px;
}

.reviews-head h2{ margin:0; font-size:34px; }
.reviews-head p{ margin:6px 0 0; color:#5b6780; }

.rev-wrap{
  position: relative;
  margin-top: 18px;
}

.rev-viewport{
  overflow: hidden;
}

.rev-track{
  display:flex;
  gap: 18px;
  transform: translateX(0);
  transition: transform .45s ease;
  will-change: transform;
}

.rev-card{
  width: 280px;
  flex: 0 0 auto;
}

.rev-bubble{
  background:#fff;
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
  position: relative;
}

.rev-bubble:after{
  content:"";
  position:absolute;
  left: 34px;
  bottom: -10px;
  width: 0; height: 0;
  border-left: 10px solid transparent;
  border-right:10px solid transparent;
  border-top: 10px solid #fff;
  filter: drop-shadow(0 6px 10px rgba(0,0,0,.06));
}

.rev-stars{
  color: #ffb100;
  letter-spacing: 1px;
  font-size: 14px;
  margin-bottom: 10px;
}

.rev-text{
  color:#2d3a55;
  font-size: 14px;
  line-height: 1.5;
  min-height: 86px;
}

.rev-person{
  display:flex;
  align-items:center;
  gap: 12px;
  margin-top: 16px;
}

.rev-avatar{
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: #e9eefb;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  font-weight:800;
  color:#0a1f44;
}

.rev-avatar img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}

.rev-name{
  font-weight: 800;
  color:#0a1f44;
}

.rev-nav{
  position:absolute;
  top: 45%;
  transform: translateY(-50%);
  border:0;
  width:44px;
  height:44px;
  border-radius:999px;
  cursor:pointer;
  background: rgba(255,255,255,.95);
  box-shadow: 0 14px 30px rgba(0,0,0,.14);
  z-index: 3;
}

.rev-nav.prev{ left: -10px; }
.rev-nav.next{ right: -10px; }

@media (max-width: 768px){
  .rev-nav{ display:none; } /* biar clean di hp */
  .rev-card{ width: 250px; }
}

/* =========================
   REVIEWS - FIX TEXT NOT VISIBLE
========================= */
.reviews .rev-card,
.reviews .rev-bubble{
  color: #0a1f44; /* warna teks default */
}

.reviews .rev-text{
  color: #0a1f44 !important;
  font-size: 14px;
  line-height: 1.5;
  margin-top: 8px;
  white-space: normal;
}

.reviews .rev-bubble{
  background: #ffffff;
}

/* bintang */
.reviews .rev-stars span{
  color: #d7dbe6;
}
.reviews .rev-stars span.on{
  color: #ffb300;
}

/* =========================
   REVIEWS - TEXT COLOR FIX
========================= */

.reviews{
  color: #111; /* default text gelap */
}

.reviews .rev-bubble{
  background: #fff;
  color: #111;
}

.reviews .rev-text{
  color: #333;
  font-size: 14px;
  line-height: 1.6;
}

.reviews .rev-name{
  color: #0f172a;
  font-weight: 600;
}

.reviews .rev-stars span{
  color: #fbbf24; /* kuning bintang */
}

.reviews .rev-avatar span{
  color: #fff; /* inisial di avatar */
}

.reviews .rev-bubble{
  box-shadow: 0 10px 25px rgba(0,0,0,.08);
  border-radius: 14px;
}

/* =========================
   REVIEWS - MOBILE: 2 ITEMS + SWIPE
========================= */
@media (max-width: 768px){

  .reviews .rev-wrap{
    position: relative;
  }

  /* viewport jadi scrollable */
  .reviews .rev-viewport{
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding-bottom: 6px;
  }

  /* hide scrollbar (opsional, biar clean) */
  .reviews .rev-viewport::-webkit-scrollbar{ height: 0; }
  .reviews .rev-viewport{ scrollbar-width: none; }

  /* track jangan pakai transform slider */
  .reviews .rev-track{
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    transform: none !important;
    will-change: auto;
  }

  /* 2 item terlihat */
  .reviews .rev-card{
    flex: 0 0 calc(50% - 6px) !important;
    max-width: calc(50% - 6px) !important;
    scroll-snap-align: start;
  }

  /* panah sembunyikan di HP */
  .reviews .rev-nav{
    display: none !important;
  }
}


/* =========================
   CLIENT LOGOS SLIDER
========================= */
.clients{
  background:#fff;
  padding: 26px 0 10px;
  margin-top: 15px;
}

.clients-viewport{
  overflow:hidden;
  margin-top: 14px;
}

.clients-track{
  display:flex;
  align-items:center;
  gap: 10px;
  will-change: transform;
}

.client-logo{
  flex: 0 0 auto;
  width: 150px;
  height: 70px;
  background: #fff;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 10px 20px;
}

.client-logo img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display:block;
  filter: grayscale(1);
  opacity: .85;
  transition: all .2s ease;
}

.client-logo:hover img{
  filter: grayscale(0);
  opacity: 1;
  transform: scale(1.03);
}

@media (max-width: 768px){
  .client-logo{ width: 120px; height: 60px; }
  .clients-track{ gap: 16px; }
}

/* =========================
   FOOTER
========================= */
.site-footer{
  background:#fff;
  margin-top: 26px;
  border-top: 1px solid #eef1f6;
  font-size: 13px;
  font-weight: 400;
  color:#334155;
}

.footer-grid{
  display:grid;
  grid-template-columns: .9fr .8fr 1.2fr 1.2fr;
  gap: 0;                       /* garis pembatas rapi */
  padding: 22px 16px;
  align-items: start;
}

/* garis tipis pembatas antar kolom */
.footer-col{
  padding: 0 18px;
  border-right: 1px solid #eef1f6;
}
.footer-col:last-child{ border-right: 0; }

.footer-logo{
  height: 38px;
  width: auto;
  display:block;
}

.footer-title{
  font-weight: 700;
  color: #0a1f44;
  margin-bottom: 10px;
  font-size: 13px;
}

.footer-desc{
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.6;
  color: #475569; /* abu lembut, bukan oranye */
  font-weight: 400;
  max-width: 320px;
}


.footer-links a{
  display:block;
  text-decoration:none;
  color:#334155;
  padding: 6px 0;
  font-weight: 400;
}
.footer-links a:hover{
  color:#0a1f44;
  text-decoration: underline;
}

/* kontak pakai ikon */
.footer-contact{
  display:flex;
  flex-direction:column;
  gap: 10px;
}

.fc-item{
  display:flex;
  align-items:flex-start;
  gap: 10px;
}

.fc-ico{
  width: 18px;
  line-height: 1.2;
  margin-top: 2px;
  opacity: .9;
}

.fc-link{
  color:#334155;
  text-decoration:none;
  font-weight: 400;
}
.fc-link:hover{
  color:#0a1f44;
  text-decoration: underline;
}

.fc-text{
  color:#334155;
  line-height: 1.55;
  font-size: 13px;
}

/* maps */
.footer-map{
  border-radius: 12px;
  overflow:hidden;
  border: 1px solid #eef1f6;
  background:#fff;
}
.footer-map iframe{
  width:100%;
  height: 190px;
  border:0;
  display:block;
}

.footer-map-link{
  display:inline-block;
  margin-top: 10px;
  color:#0a1f44;
  text-decoration:none;
  font-weight: 600;
  font-size: 13px;
}
.footer-map-link:hover{ text-decoration: underline; }

.footer-bottom{
  border-top: 1px solid #eef1f6;
  background: #fff;
}
.footer-bottom-inner{
  padding: 12px 16px;
  color:#64748b;
  font-size: 12px;
  font-weight: 400;
}

/* Responsive */
@media (max-width: 900px){
  .footer-grid{
    grid-template-columns: 1fr 1fr;
  }
  .footer-col{
    border-right: 0;
    border-bottom: 1px solid #eef1f6; /* pembatas tetap ada */
    padding: 16px 12px;
  }
  .footer-col:last-child{ border-bottom: 0; }
}

/* HP: menu cepat disembunyikan */
@media (max-width: 600px){
  .footer-grid{
    grid-template-columns: 1fr;
  }
  .footer-col{ padding: 16px 12px; }
  .footer-col--menu{ display:none; }
  .footer-map iframe{ height: 190px; }
}
/* =========================
   maps embed baru
========================= */
/* click-to-load maps (biar Best Practices naik) */
.footer-map{
  position:relative;
}

.map-consent{
  width:100%;
  height:190px;              /* samakan dengan iframe lama */
  border:0;
  background:#f8fafc;
  cursor:pointer;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;

  font-weight:800;
  color:#0a1f44;
  padding:14px;
  text-align:center;
}

.map-consent small{
  font-weight:500;
  color:#475569;
  line-height:1.4;
}

.map-consent:hover{
  background:#eef2f7;
}

.map-consent:focus-visible{
  outline:3px solid #000;
  outline-offset:2px;
}



/* =========================
   artikel hp
========================= */
<style>
  /* Wrapper halaman artikel */
  .article-page{
    padding: 0 6px; /* default desktop kecil */
  }

  /* Mobile: kasih spasi kiri-kanan */
  @media (max-width: 768px){
    .article-page{
      padding-left: 20px;
      padding-right: 20px;
    }
  }

  /* HP kecil */
  @media (max-width: 420px){
    .article-page{
      padding-left: 16px;
      padding-right: 16px;
    }
  }
</style>

<style>
  .article-title{
    margin:18px 0 16px;
    text-align:center;
    font-size:26px;
    font-weight:800;
  }
</style>

<style>
  .article-card{
    border-radius:16px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 6px 18px rgba(0,0,0,.08);
    transition:transform .25s ease, box-shadow .25s ease;
  }

  .article-card:hover{
    transform:translateY(-6px);
    box-shadow:0 14px 28px rgba(0,0,0,.14);
  }
</style>

<style>
  .article-excerpt{
    color:#6b7280;
    font-size:14px;
    line-height:1.4;
    min-height:58px;
  }

  /* HP: sembunyikan deskripsi (paksa) */
  @media (max-width: 768px){
    .article-excerpt{
      display:none !important;
      height:0 !important;
      overflow:hidden !important;
      margin:0 !important;
      padding:0 !important;
    }
  }
</style>

.article-card{
  background:#fff;
  border-radius:18px;
  overflow:hidden;

  /* Apple-like base */
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 1px 2px rgba(0,0,0,.04);

  transition:
    box-shadow .35s cubic-bezier(.4,0,.2,1),
    border-color .35s cubic-bezier(.4,0,.2,1),
    transform .35s cubic-bezier(.4,0,.2,1);
}

.article-thumb{
  height:180px;
  overflow:hidden;
}

.article-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;

  transition:transform .6s cubic-bezier(.4,0,.2,1);
}

.article-title{
  font-weight:700;
  line-height:1.35;
  transition:color .3s ease;
}

.article-btn{
  background:#0b2a5f;
  color:#fff;
  padding:10px 14px;
  border-radius:12px;
  font-weight:600;
  text-decoration:none;

  transition:
    background .3s ease,
    box-shadow .3s ease;
}

@media (hover:hover){
  .article-card:hover{
    border-color:rgba(11,42,95,.35);
    box-shadow:
      0 6px 14px rgba(0,0,0,.08),
      0 1px 3px rgba(0,0,0,.06);
  }

  .article-card:hover .article-thumb img{
    transform:scale(1.04);
  }

  .article-card:hover .article-title{
    color:#0b2a5f;
  }

  .article-card:hover .article-btn{
    background:#163f8f;
    box-shadow:0 2px 6px rgba(11,42,95,.25);
  }
}

/* =========================
   Detail Produk
========================= */

.product-detail__wrap {
  max-width: 980px;
  margin: 24px auto;
  padding: 0 16px;
}

.product-detail__breadcrumb {
  font-size: 14px;
  margin-bottom: 16px;
  opacity: 0.85;
}

.product-detail__breadcrumb a {
  text-decoration: none;
}

.product-detail__grid {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 24px;
  align-items: start;
}

.product-detail__media {
  background: #fff;
  border-radius: 14px;
  padding: 14px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}

.product-detail__img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}

.product-detail__img--placeholder {
  height: 320px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #f3f4f6;
  color: #6b7280;
}

.product-detail__badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 10px;
  border-radius: 999px;
  background: #0b2a63;
  color: #fff;
  margin-bottom: 10px;
}

.product-detail__title {
  margin: 0 0 10px 0;
  font-size: 34px;
  line-height: 1.15;
}

.product-detail__meta {
  margin: 0 0 14px 0;
  opacity: 0.9;
}

.product-detail__desc {
  background: #fff;
  border-radius: 14px;
  padding: 14px 16px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
  line-height: 1.65;
}

.product-detail__actions {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.product-detail__btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 12px 16px;
  border-radius: 12px;
  font-weight: 700;
  text-decoration: none;
}

.btn-wa {
  background: #22c55e;
  color: #fff;
}

.product-detail__back {
  text-decoration: none;
  opacity: 0.85;
}

.product-detail__share {
  margin-top: 16px;
  display: flex;
  gap: 10px;
  align-items: center;
  opacity: 0.9;
}

.product-detail__share-btn {
  border: 1px solid rgba(0,0,0,0.15);
  background: #fff;
  border-radius: 10px;
  padding: 8px 10px;
  cursor: pointer;
}

@media (max-width: 900px) {
  .product-detail__grid {
    grid-template-columns: 1fr;
  }
}


.related {
  margin-top: 28px;
}

.related__title {
  margin: 0 0 14px;
  font-size: 20px;
  font-weight: 700;
}

.related__grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr)); /* HP: 2 kolom */
}


.related__card {
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  overflow: hidden;
}

.related__imgWrap {
  display: block;
  background: #f6f7f9;
  aspect-ratio: 4 / 4;
  overflow: hidden;
}

.related__imgWrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.related__body {
  padding: 12px;
}

.related__name {
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 700;
}

.related__link {
  font-size: 13px;
  text-decoration: none;
}

/* ==== Produk Terkait ==== */
.related {
  margin-top: 32px;
}

.related__title {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 14px;
}

/* Desktop: 4 kolom */
.related__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.related__card {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.06);
}

.related__thumb {
  display: block;
  background: #f6f6f6;
}

/* Biar semua gambar seragam & tidak “kepanjangan” */
.related__thumb img {
  display: block;
  width: 100%;
  height: 260px;        /* tinggi gambar seragam */
  object-fit: cover;    /* crop cantik */
}

/* Body */
.related__body {
  padding: 12px 12px 14px;
}

.related__name {
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
}

.related__link {
  font-size: 13px;
  text-decoration: none;
}

/* HP: 2 kolom */
@media (max-width: 768px) {
  .related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .related__thumb img {
    height: 200px;
    
}

@media (max-width: 768px) {
  .container {
    padding-left: 12px;
    padding-right: 12px;
  }
  

  /* ===== spasi kiri-kanan halaman (biar ga mepet) ===== */
  .prod-page{ padding: 0 8px; }
  @media (max-width: 768px){ .prod-page{ padding-left: 12px; padding-right: 12px; } }
  @media (max-width: 420px){ .prod-page{ padding-left: 10px; padding-right: 10px; } }

  /* ===== Hero ===== */
  .catalog-hero{
    background:#0b2a5f;color:#fff;border-radius:14px;
    padding:18px 18px;margin:18px 0 18px;
    display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  }
  .catalog-hero h1{margin:0;font-size:22px;font-weight:800}
  .catalog-hero .sub{opacity:.9;font-size:13px;margin-top:4px}
  .wa-btn{
    display:inline-flex;align-items:center;gap:8px;
    background:#22c55e;color:#fff;text-decoration:none;
    padding:10px 14px;border-radius:12px;font-weight:700;
  }

  /* ===== Kartu Kategori ===== */
  .category-section{margin:18px 0 22px;}
  .category-card{
    background:#fff;
    border-radius:16px;
    box-shadow:0 6px 18px rgba(0,0,0,.06);
    padding:16px;
  }
  .category-title{
    font-weight:800;margin:0 0 12px;
    border-left:4px solid #0b2a5f;padding-left:10px;
  }

  /* ===== Grid ===== */
  .product-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
  }
  @media (max-width: 1100px){
    .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  }
  @media (max-width: 800px){
    .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  }

  /* ===== Card Produk ===== */
  .p-card{
    background:#fff;border-radius:18px;overflow:hidden;
    border:1px solid rgba(0,0,0,.06);
    box-shadow:0 1px 2px rgba(0,0,0,.04);
    transition:box-shadow .35s cubic-bezier(.4,0,.2,1), border-color .35s cubic-bezier(.4,0,.2,1), transform .35s cubic-bezier(.4,0,.2,1);
  }
  .p-thumb{
    height:240px;background:#f3f4f6;overflow:hidden;
    display:flex;align-items:center;justify-content:center;
  }
  /* biar di HP ga kepanjangan */
  @media (max-width: 520px){
    .p-thumb{ height: 190px; }
  }

  .p-thumb img{
    width:100%;height:100%;
    object-fit:cover;
    transition:transform .6s cubic-bezier(.4,0,.2,1);
  }
  .p-body{padding:14px;}
  .p-name{margin:0 0 6px;font-weight:800;line-height:1.25;font-size:15px;}
  .p-desc{color:#6b7280;font-size:13px;line-height:1.4;min-height:36px;}
  .p-btn{
    display:inline-block;margin-top:10px;
    background:#0b2a5f;color:#fff;
    border:0;
    padding:10px 14px;border-radius:12px;font-weight:700;
    cursor:pointer;
  }

  /* hover desktop only */
  @media (hover:hover){
    .p-card:hover{
      transform: translateY(-2px);
      border-color:rgba(11,42,95,.25);
      box-shadow:0 10px 24px rgba(0,0,0,.10), 0 1px 3px rgba(0,0,0,.06);
    }
    .p-card:hover .p-thumb img{transform:scale(1.04);}
  }

  /* ===== Pagination per kategori ===== */
  .pagination{display:flex;gap:10px;justify-content:center;align-items:center;margin:16px 0 0;}
  .page-link{
    padding:8px 12px;border-radius:10px;border:1px solid rgba(0,0,0,.10);
    text-decoration:none;color:#0b2a5f;font-weight:700;background:#fff;
  }
  .page-link.active{background:#0b2a5f;color:#fff;border-color:#0b2a5f;}
  .page-link.disabled{opacity:.45;pointer-events:none;}

  /* ===== MODAL ===== */
  .pmo{
    position:fixed; inset:0;
    background:rgba(0,0,0,.48);
    z-index:9998;
  }
  .pmo-modal{
    position:fixed; inset:0;
    display:flex; align-items:center; justify-content:center;
    padding:16px;
    z-index:9999;
  }
  .pmo-card{
    width:min(980px, 100%);
    background:#fff;
    border-radius:22px;
    box-shadow:0 24px 70px rgba(0,0,0,.30);
    position:relative;
    overflow:hidden;
    transform:translateY(10px);
    animation:pmoIn .18s ease forwards;
  }
  @keyframes pmoIn{ to{ transform:translateY(0); } }

  .pmo-close{
    position:absolute; top:12px; right:12px;
    width:42px; height:42px;
    border:0; border-radius:14px;
    background:#f3f4f6;
    cursor:pointer;
    font-weight:900;
    line-height:1;
    z-index:2;
  }

  .pmo-grid{
    display:grid;
    grid-template-columns: 360px 1fr;
    gap:0;
  }
  @media (max-width: 860px){
    .pmo-grid{ grid-template-columns: 1fr; }
  }

  .pmo-left{
    background:#f8fafc;
    padding:16px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .pmo-left img{
    width:100%;
    height:320px;
    object-fit:cover;
    border-radius:18px;
    background:#e5e7eb;
  }
  @media (max-width: 520px){
    .pmo-left img{ height:220px; }
  }

  .pmo-right{ padding:18px 18px 16px; }

  .pmo-cat{
    color:#0b2a5f;
    font-weight:900;
    font-size:13px;
    margin-bottom:6px;
  }
  .pmo-title{
    margin:0;
    font-size:24px;
    line-height:1.2;
    font-weight:900;
    color:#0f172a;
  }
  @media (max-width:520px){
    .pmo-title{ font-size:18px; }
  }

  .pmo-desc{
    margin:12px 0 14px;
    color:#475569;
    line-height:1.65;
    white-space:pre-line;
  }

  .pmo-actions{
    display:flex;
    gap:10px;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
  }

  .pmo-btn{
    border:0;
    border-radius:14px;
    padding:10px 14px;
    font-weight:900;
    cursor:pointer;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
  }
  .pmo-btn.primary{ background:#0b2a5f; color:#fff; }
  .pmo-btn.ghost{ background:#eef2ff; color:#0b2a5f; }

  .pmo-share{
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
  }
  .pmo-share-label{ font-weight:900; color:#0f172a; margin-right:2px; }

  .pmo-iconbtn{
    width:38px;height:38px;
    border-radius:12px;
    border:1px solid rgba(0,0,0,.08);
    background:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  @media (hover:hover){
    .pmo-iconbtn:hover{
      transform:translateY(-1px);
      box-shadow:0 8px 18px rgba(0,0,0,.10);
    }
  }
  .pmo-iconbtn svg{ width:18px;height:18px; }

  .pmo-hint{
    margin-top:12px;
    font-size:13px;
    color:#16a34a;
    font-weight:800;
    display:none;
  }

.local-seo{
  margin:40px 0;
  padding-top:20px;
  border-top:1px solid #eef1f6;
}
.local-seo h2{
  font-size:20px;
  color:#0a1f44;
  margin-bottom:8px;
}
.local-seo p{
  color:#475569;
  line-height:1.6;
  max-width:720px;
}






