:root{
  --primary:#eab308;
  --accent:#a16207;
  --muted:#6b7280;
  --bg:#fffaf0;
}

*{margin:0;padding:0;box-sizing:border-box}

body{
  font-family:'Poppins',sans-serif;
  background:
    radial-gradient(circle at top,#fff7d6,transparent 60%),
    linear-gradient(180deg,var(--bg),#fef3c7);
  color:#2d2d2d;
}

img{width:100%;display:block;object-fit:cover}

/* ===== ANIMASI ===== */
.reveal{
  opacity:0;
  transform:translateY(50px) scale(.98);
  transition:1s cubic-bezier(.22,.61,.36,1);
}
.reveal.show{
  opacity:1;
  transform:none;
}

@keyframes float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-14px)}
}

@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(234,179,8,.55)}
  70%{box-shadow:0 0 0 22px rgba(234,179,8,0)}
  100%{box-shadow:0 0 0 0 rgba(234,179,8,0)}
}

/* HEADER */
header{
  position:sticky;
  top:0;
  z-index:10;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(10px);
  padding:18px 32px;
  box-shadow:0 8px 30px rgba(0,0,0,.06);
}
.logo{
  font-size:22px;
  font-weight:700;
  letter-spacing:.5px;
  color:var(--accent);
}

/* HERO */
.hero{
  padding:80px 32px;
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:50px;
  align-items:center;
}
.hero img{
  border-radius:50%;
  box-shadow:
    0 25px 80px rgba(0,0,0,.25),
    inset 0 0 0 8px rgba(255,255,255,.35);
  animation:float 4.5s ease-in-out infinite;
}
.badge{
  background:linear-gradient(135deg,var(--primary),#facc15);
  color:#fff;
  padding:10px 20px;
  border-radius:999px;
  font-weight:600;
  display:inline-block;
  margin-bottom:18px;
  animation:pulse 2.8s infinite;
}
.hero h1{
  font-size:52px;
  line-height:1.15;
}
.hero h1 span{color:var(--accent)}
.desc{
  color:var(--muted);
  max-width:440px;
  font-size:15px;
}

/* VIDEO */
.video-section{
  text-align:center;
  padding:60px 32px;
}
.video-section h2{
  margin-bottom:22px;
}
.video-wrapper{
  max-width:560px;
  margin:auto;
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 20px 45px rgba(0,0,0,.22);
}

/* PROMO */
.promo-box{
  text-align:center;
  padding:50px 20px;
}
.promo-box del{
  color:#aaa;
  font-size:15px;
}
.promo-box strong{
  color:var(--accent);
  font-size:26px;
}

/* PRODUK */
.menu{
  background:#fff;
  border-radius:70px 70px 0 0;
  padding:80px 32px;
  box-shadow:0 -20px 40px rgba(0,0,0,.05);
}
.cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:30px;
}
.card{
  background:linear-gradient(160deg,#F0E68C,#fff7ed);
  border-radius:28px;
  padding:20px;
  box-shadow:0 14px 35px rgba(0,0,0,.14);
  text-align:center;
  transition:.35s;
}
.card:hover{
  transform:translateY(-10px) scale(1.01);
  box-shadow:0 30px 70px rgba(47, 79, 79);
}
.product-img{
  height:220px;
  border-radius:20px;
  margin-bottom:10px;
}
.price{
  font-weight:700;
  color:var(--accent);
  margin-bottom:6px;
}

/* BUTTON */
.btn{
  width:100%;
  padding:13px;
  border-radius:999px;
  border:none;
  background:linear-gradient(135deg,var(--primary),#facc15);
  color:#fff;
  font-weight:600;
  cursor:pointer;
  margin-top:10px;
  transition:.3s;
}
.btn:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 25px rgba(22, 1, 1, 0.767);
}
.btn.shopee{
  background:linear-gradient(135deg,rgb(0, 0, 4),#0c9600);
}

/* PAKET */
.paket-wrapper{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
  margin:70px auto;
  max-width:1100px;
}
.paket{
  background:linear-gradient(180deg,#fff7ed,#fffbeb);
  border-radius:28px;
  padding:30px;
  box-shadow:0 16px 40px rgba(0,0,0,.14);
  text-align:center;
  transition:.35s;
}
.paket:hover{
  transform:translateY(-10px);
}
.harga{
  font-size:28px;
  font-weight:700;
  color:var(--accent);
}

/* ORDER */
.order-box{
  margin:70px auto;
  max-width:420px;
  background:#fff;
  padding:30px;
  border-radius:30px;
  box-shadow:0 18px 45px rgba(0,0,0,.18);
}
select,input{
  width:100%;
  padding:11px 14px;
  border-radius:16px;
  border:1px solid #e5e7eb;
  margin-bottom:14px;
}
.total{
  text-align:center;
  font-weight:700;
  margin:16px 0;
}

footer{
  text-align:center;
  padding:30px;
  color:#777;
  background:#fff;
}

/* RESPONSIVE */
@media(max-width:900px){
  .hero{
    grid-template-columns:1fr;
    text-align:center;
  }
  .hero img{
    max-width:280px;
    margin:auto;
  }
  .paket-wrapper{
    grid-template-columns:1fr;
  }
}
/* ===== STICKY CTA ===== */
.sticky-cta{
  position:fixed;
  bottom:18px;
  left:50%;
  transform:translateX(-50%);
  z-index:999;
}
.sticky-cta button{
  padding:14px 26px;
  border-radius:999px;
  border:none;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff;
  font-weight:700;
  font-size:15px;
  box-shadow:0 15px 35px rgba(34,197,94,.55);
  animation:pulse 2.5s infinite;
}

/* ===== COUNTDOWN ===== */
.countdown{
  text-align:center;
  margin:40px auto;
}
.countdown span{
  display:block;
  color:#92400e;
  font-weight:600;
}
#timer{
  margin-top:8px;
  font-size:28px;
  font-weight:700;
  letter-spacing:2px;
  color:#a16207;
}

/* ===== TRUST BADGE ===== */
.trust{
  display:flex;
  justify-content:center;
  gap:24px;
  flex-wrap:wrap;
  margin:40px auto;
}
.trust div{
  background:#fff;
  padding:14px 22px;
  border-radius:18px;
  font-size:14px;
  box-shadow:0 8px 20px rgba(0,0,0,.1);
}
@keyframes shake{
  0%,100%{transform:translateX(0)}
  25%{transform:translateX(-4px)}
  50%{transform:translateX(4px)}
  75%{transform:translateX(-4px)}
}

.hero h1{
  font-size:clamp(38px,6vw,56px);
  letter-spacing:-1px;
}

.desc{
  font-size:16px;
  line-height:1.7;
}
.product-img{
  height:240px;
  background:#fff;
  padding:12px;
  object-fit:contain;
  box-shadow:0 12px 25px rgba(0,0,0,.12);
}
.card{
  position:relative;
  overflow:hidden;
}

.card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    to top,
    rgba(234,179,8,.12),
    transparent 60%
  );
  opacity:0;
  transition:.4s;
}

.card:hover::after{
  opacity:1;
}
.paket .badge{
  margin-bottom:12px;
}

.paket del{
  color:#9ca3af;
  font-size:14px;
}

.paket .harga{
  margin:12px 0 16px;
}
.btn{
  letter-spacing:.3px;
}

.btn:active{
  transform:scale(.97);
}
#notif-beli{
  animation:fadeSlide .4s ease;
}

@keyframes fadeSlide{
  from{
    opacity:0;
    transform:translateY(20px);
  }
  to{
    opacity:1;
    transform:none;
  }
}
/* ===== FOOTER ===== */
.footer{
  background:linear-gradient(180deg,#fff7ed,#fffbeb);
  padding:60px 24px 20px;
  color:#78350f;
}

.footer-wrap{
  max-width:1100px;
  margin:auto;
  display:grid;
  grid-template-columns:2fr 1.2fr 1.2fr;
  gap:40px;
}

.footer-brand h3{
  font-size:20px;
  margin-bottom:10px;
  color:#a16207;
}
.footer-brand p{
  font-size:14px;
  line-height:1.6;
  color:#92400e;
}

.footer-social h4,
.footer-cta h4{
  margin-bottom:12px;
  font-size:15px;
}

.social-links{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.social-links a{
  text-decoration:none;
  background:#fff;
  padding:10px 14px;
  border-radius:14px;
  font-size:14px;
  color:#78350f;
  box-shadow:0 6px 16px rgba(0,0,0,.08);
  transition:.3s;
}

.social-links a:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 30px rgba(234,179,8,.35);
}

.social-links .shopee{
  background:linear-gradient(135deg,#f97316,#fb923c);
  color:#fff;
  font-weight:600;
}

.footer-cta button{
  width:100%;
  padding:13px;
  border-radius:999px;
  border:none;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 12px 30px rgba(34,197,94,.45);
  transition:.3s;
}

.footer-cta button:hover{
  transform:translateY(-3px);
}

.footer-bottom{
  text-align:center;
  margin-top:40px;
  padding-top:20px;
  font-size:13px;
  color:#9a3412;
  border-top:1px solid rgba(0,0,0,.08);
}
.footer{
  background:linear-gradient(180deg,#fff7ed,#fffbeb);
  padding:60px 24px 30px;
  margin-top:80px;
}

.footer-wrap{
  max-width:1100px;
  margin:auto;
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:40px;
}

.footer h3,
.footer h4{
  color:#92400e;
  margin-bottom:10px;
}

.footer p{
  font-size:14px;
  color:#6b7280;
  line-height:1.7;
}

.social-links a{
  display:block;
  margin-bottom:10px;
  text-decoration:none;
  font-weight:600;
  color:#111;
}

.social-links a.shopee{
  background:#f97316;
  color:#fff;
  padding:10px 16px;
  border-radius:999px;
  display:inline-block;
  box-shadow:0 10px 25px rgba(249,115,22,.45);
}

.footer-cta button{
  background:linear-gradient(135deg,#22c55e,#16a34a);
  border:none;
  padding:14px 22px;
  border-radius:999px;
  font-weight:700;
  color:#fff;
  cursor:pointer;
  box-shadow:0 15px 35px rgba(34,197,94,.55);
}

.footer-bottom{
  text-align:center;
  font-size:13px;
  color:#777;
  margin-top:40px;
}

/* RESPONSIVE FOOTER */
@media(max-width:900px){
  .footer-wrap{
    grid-template-columns:1fr;
    text-align:center;
  }
}

/* ===== MOBILE ===== */
@media(max-width:900px){
  .footer-wrap{
    grid-template-columns:1fr;
    text-align:center;
  }
  .social-links a{
    justify-content:center;
  }
}

.btn{
  position: relative;
  z-index: 10;
  pointer-events: auto;
  touch-action: manipulation;
}

.card{
  position: relative;
  z-index: 1;
}
.btn{
  position:relative;
  overflow:hidden;
}

.btn::after{
  content:"";
  position:absolute;
  top:0;
  left:-100%;
  width:100%;
  height:100%;
  background:linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,.45),
    transparent
  );
  transition:.6s;
}

.btn:hover::after{
  left:100%;
}

/* ===== PAKET SECTION ===== */
.paket-section{
  padding:90px 22px;
  background:
    radial-gradient(circle at top,#fff7d6,transparent 55%),
    linear-gradient(180deg,#fffbeb,#ffffff);
  text-align:center;
}

.paket-title{
  font-size:30px;
  font-weight:700;
  margin-bottom:8px;
  color:#92400e;
}

.paket-sub{
  font-size:14px;
  color:#6b7280;
  margin-bottom:48px;
}

/* GRID */
.paket-wrapper{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:30px;
  max-width:1100px;
  margin:auto;
}

/* CARD */
.paket{
  background:linear-gradient(180deg,#fff7ed,#fffbeb);
  border-radius:30px;
  padding:32px 22px;
  box-shadow:0 18px 45px rgba(0,0,0,.15);
  transition:.35s ease;
  position:relative;
}

.paket:hover{
  transform:translateY(-12px);
  box-shadow:0 35px 80px rgba(234,179,8,.45);
}

/* BEST SELLER (tengah) */
.paket.best{
  border:3px solid #f59e0b;
  background:linear-gradient(180deg,#fffbeb,#fff);
  transform:scale(1.07);
}

/* BADGE */
.badge.small{
  font-size:11px;
  padding:6px 16px;
}

.badge.big{
  font-size:12px;
  padding:8px 20px;
  background:linear-gradient(135deg,#f97316,#fb923c);
  box-shadow:0 30px 70px rgba(47, 79, 79);
}

/* TEXT */
.paket h4{
  margin:14px 0 6px;
  font-size:18px;
  font-weight:600;
}

.paket del{
  font-size:14px;
  color:#9ca3af;
}

.paket .harga{
  font-size:30px;
  font-weight:700;
  color:#92400e;
  margin:6px 0;
}

.hemat{
  display:block;
  font-size:13px;
  font-weight:600;
  color:#16a34a;
  margin-bottom:14px;
}

/* BUTTON */
.paket .btn{
  font-size:14px;
  padding:14px;
}

/* MOBILE */
@media(max-width:768px){
  .paket.best{
    transform:none;
  }
}
/* ===== MOBILE AUTO SLIDER ===== */
@media (max-width: 768px) {
  .paket-wrapper {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 16px;
    padding-bottom: 10px;
    -webkit-overflow-scrolling: touch;
  }

  .paket-wrapper::-webkit-scrollbar {
    display: none;
  }

  .paket {
    min-width: 85%;
    flex-shrink: 0;
    scroll-snap-align: center;
  }

  .paket.best {
    transform: none;
  }
}
/* === PAKET SLIDER MOBILE === */
@media (max-width: 768px) {
  .paket-wrapper {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding: 20px 10px;
  }

  .paket-wrapper::-webkit-scrollbar {
    display: none;
  }

  .paket {
    flex: 0 0 80%;
    scroll-snap-align: center;
    background: #fff;
    border-radius: 22px;
    padding: 22px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    transition: transform .4s ease, box-shadow .4s ease;
  }

  /* === PAKET THR AUTO LEBIH BESAR === */
  .paket.best {
    transform: scale(1.08);
    border: 2px solid #ff7a00;
    box-shadow: 0 18px 45px rgba(255,122,0,.35);
    position: relative;
    z-index: 2;
  }

  /* BADGE PAKET THR */
  .paket.best .badge {
    background: linear-gradient(135deg,#ff7a00,#ffb347);
    color: #fff;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 999px;
    display: inline-block;
    margin-bottom: 10px;
  }
}

/* ===== VIDEO SECTION ===== */
.video-section{
  padding:60px 20px;
  text-align:center;
}

.video-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
  max-width:900px;
  margin:30px auto 0;
}

.video-wrapper{
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 15px 40px rgba(0,0,0,.18);
  transform:scale(.95); /* sedikit lebih kecil */
  transition:.4s;
}

.video-wrapper:hover{
  transform:scale(1);
}

.video-wrapper video{
  width:100%;
  height:340px;   /* lebih kecil */
  object-fit:cover;
}
.order-title{
  text-align:center;
  margin-bottom:18px;
}

.order-buttons{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:10px;
}

/* WA */
.btn.wa{
  background:linear-gradient(135deg,#22c55e,#16a34a);
}

/* Shopee */
.btn.shopee{
  background:linear-gradient(135deg,#f97316,#fb923c);
}

/* TikTok */
.btn.tiktok{
  background:linear-gradient(135deg,#000000,#1f1f1f);
}

/* Hover effect */
.btn.wa:hover{
  box-shadow:0 10px 25px rgba(34,197,94,.4);
}
.btn.shopee:hover{
  box-shadow:0 10px 25px rgba(249,115,22,.4);
}
.btn.tiktok:hover{
  box-shadow:0 10px 25px rgba(0,0,0,.4);
}

.footer {
  background: linear-gradient(135deg, #111, #1c1c1c);
  color: #fff;
  padding: 60px 20px 30px;
  font-family: 'Poppins', sans-serif;
}

.footer-wrap {
  max-width: 1100px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}

.footer h3 {
  font-size: 22px;
  margin-bottom: 10px;
}

.footer h4 {
  margin-bottom: 15px;
  font-size: 16px;
  color: #ffb400;
}

.footer p {
  font-size: 14px;
  line-height: 1.6;
  opacity: .8;
}

.social-links {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.social-btn {
  padding: 10px 16px;
  border-radius: 30px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  transition: .3s ease;
  text-align: center;
}

.social-btn.tiktok {
  background: #000;
  border: 1px solid #ff0050;
  color: #fff;
}

.social-btn.tiktok:hover {
  background: #ff0050;
  box-shadow: 0 0 15px rgba(255,0,80,.6);
}

.social-btn.shopee {
  background: #ee4d2d;
  color: #fff;
}

.social-btn.shopee:hover {
  background: #ff6a00;
  box-shadow: 0 0 15px rgba(255,100,0,.6);
}

.wa-footer {
  background: #25D366;
  border: none;
  padding: 12px 18px;
  border-radius: 30px;
  font-weight: 600;
  cursor: pointer;
  transition: .3s;
}

.wa-footer:hover {
  box-shadow: 0 0 15px rgba(37,211,102,.7);
  transform: translateY(-2px);
}

.footer-bottom {
  text-align: center;
  margin-top: 40px;
  font-size: 13px;
  opacity: .6;
  border-top: 1px solid rgba(255,255,255,.1);
  padding-top: 20px;
}

/* ===== MOBILE MODE ===== */
@media (max-width: 768px) {
  .footer-wrap {
    flex-direction: column;
    text-align: center;
    gap: 30px;
  }

  .social-links {
    align-items: center;
  }

  .wa-footer {
    width: 100%;
  }
}

/* =========================
   NOTIF MINI SHOPEE STYLE
========================= */

.custom-notif{
  position:fixed;
  bottom:20px;
  left:15px;

  width:260px;
  background:#fff;
  border-radius:12px;
  padding:8px 10px;

  box-shadow:0 6px 20px rgba(0,0,0,.15);

  display:flex;
  align-items:center;
  gap:8px;

  font-size:12px;
  opacity:0;
  transform:translateY(20px);
  transition:all .3s ease;
  z-index:9999;
}

.custom-notif.show{
  opacity:1;
  transform:translateY(0);
}

/* Avatar kecil */
.custom-notif .notif-avatar{
  width:26px;
  height:26px;
  border-radius:50%;
  background:linear-gradient(135deg,#ec4899,#f472b6);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:13px;
  flex-shrink:0;
}

/* Text */
.custom-notif .notif-text{
  line-height:1.3;
}

.custom-notif .notif-text b{
  font-weight:600;
  color:#111;
}

.custom-notif .notif-text span{
  font-size:11px;
  color:#666;
}

/* Close button kecil */
.custom-notif .close-notif{
  margin-left:auto;
  font-size:12px;
  cursor:pointer;
  color:#aaa;
}

.custom-notif .close-notif:hover{
  color:#111;
}

.video-section {
  text-align: center;
  padding: 60px 20px;
}

.video-grid {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin-top: 30px;
  flex-wrap: wrap;
}

.video-wrapper {
  position: relative;
  width: 320px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.15);
  background: #000;
}

.product-video {
  width: 100%;
  display: block;
}

.video-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.3);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .3s;
}

.play-btn {
  background: #fff;
  border: none;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  font-size: 22px;
  cursor: pointer;
  transition: .3s;
}

.play-btn:hover {
  transform: scale(1.1);
}

.video-label {
  position: absolute;
  bottom: 10px;
  left: 10px;
  background: #fff;
  padding: 5px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
}

.video-note {
  margin-top: 20px;
  font-size: 12px;
  opacity: .7;
}

/* MOBILE SLIDE */
@media(max-width:768px){
  .video-grid {
    overflow-x: auto;
    flex-wrap: nowrap;
    scroll-snap-type: x mandatory;
  }

  .video-wrapper {
    min-width: 80%;
    scroll-snap-align: center;
  }
}

/* =========================
   VIDEO MOBILE FIX
   ========================= */
@media(max-width:768px){

  .video-section {
    padding: 40px 0;
  }

  .video-grid {
    display: flex;
    gap: 15px;
    overflow-x: auto;
    padding: 0 20px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .video-grid::-webkit-scrollbar {
    display: none;
  }

  .video-wrapper {
    flex: 0 0 85%;
    max-width: 85%;
    scroll-snap-align: center;
    border-radius: 18px;
  }

  .product-video {
    width: 100%;
    height: auto;
    display: block;
  }

}


.video-section{
  padding:60px 20px;
  text-align:center;
  overflow:hidden;
}

.video-slider{
  width:100%;
  overflow:hidden;
  position:relative;
}

.video-track{
  display:flex;
  transition:transform 0.5s ease;
}

.video-item{
  min-width:100%;
  box-sizing:border-box;
  padding:0 10px;
}

.product-video{
  width:100%;
  height:auto;
  border-radius:18px;
  display:block;
}

/* DESKTOP MODE */
@media(min-width:769px){

  .video-slider{
    max-width:700px;   /* batas lebar supaya tidak besar */
    margin:0 auto;
  }

  .video-track{
    gap:20px;
    justify-content:center;
    transform:none !important;
  }

  .video-item{
    min-width:48%;
  }

  .product-video{
    max-height:420px;   /* batasi tinggi video */
    object-fit:cover;
  }

}
