/*
Theme Name: Kapsul Kutuk Prime - Landing
Theme URI: https://kapsulkutukprime.id/
Author: Kapsul Kutuk Prime
Author URI: https://kapsulkutukprime.id/
Description: Landing page sales 1 halaman (one-page scroll) untuk Kapsul Kutuk Prime - suplemen albumin ikan kutuk (gabus) untuk membantu penyembuhan luka pasca operasi. Semua CTA mengarah ke WhatsApp. Ubah nomor WA, nama brand, teks hero, harga paket, dan pesan WA lewat Appearance > Customize.
Version: 1.0.0
Requires at least: 5.5
Tested up to: 6.5
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kapsul-kutuk-prime
*/

/* ============================================================
   TOKENS
   ============================================================ */
:root{
  --ink:#14231C;
  --ink-soft:#3C4E45;
  --pine:#1C5B41;
  --pine-deep:#123E2C;
  --leaf:#2E8B60;
  --gold:#CFA13A;
  --gold-deep:#A87E22;
  --cream:#F6F1E7;
  --cream-2:#EFE8D9;
  --paper:#FFFFFF;
  --blush:#E39B82;
  --mist:#E4ECE4;
  --line:#DCD6C7;
  --shadow:0 18px 40px -22px rgba(18,62,44,.45);
  --shadow-sm:0 8px 22px -14px rgba(18,62,44,.4);
  --radius:22px;
  --radius-sm:14px;
  --maxw:1140px;
  --font-display:"Fraunces",Georgia,serif;
  --font-body:"Plus Jakarta Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--cream);
  line-height:1.6;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.kk-wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}

h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.12;letter-spacing:-.01em;margin:0}
p{margin:0 0 1rem}

.kk-eyebrow{
  font-family:var(--font-body);
  font-weight:700;
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--pine);
  display:inline-flex;
  align-items:center;
  gap:.5em;
}
.kk-eyebrow::before{content:"";width:26px;height:2px;background:var(--gold);display:inline-block}
.kk-eyebrow.is-light{color:#CFEBDA}
.kk-eyebrow.is-light::before{background:var(--gold)}
.kk-center{text-align:center}
.kk-center .kk-eyebrow{justify-content:center}

/* ============================================================
   BUTTONS
   ============================================================ */
.kk-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  font-family:var(--font-body);font-weight:700;font-size:1rem;
  padding:15px 26px;border-radius:100px;border:0;cursor:pointer;
  line-height:1;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
  text-align:center;
}
.kk-btn svg{width:20px;height:20px;flex:0 0 auto}
.kk-btn--wa{background:#1FA855;color:#fff;box-shadow:0 14px 26px -12px rgba(31,168,85,.7)}
.kk-btn--wa:hover{transform:translateY(-2px);box-shadow:0 20px 34px -12px rgba(31,168,85,.8)}
.kk-btn--gold{background:var(--gold);color:#2A2005;box-shadow:0 14px 26px -14px rgba(207,161,58,.8)}
.kk-btn--gold:hover{transform:translateY(-2px)}
.kk-btn--ghost{background:transparent;color:var(--pine);border:1.5px solid var(--pine)}
.kk-btn--ghost:hover{background:var(--pine);color:#fff}
.kk-btn--ghost-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55)}
.kk-btn--ghost-light:hover{background:#fff;color:var(--pine-deep)}
.kk-btn--block{width:100%}

/* ============================================================
   HEADER / NAV
   ============================================================ */
.kk-nav{
  position:sticky;top:0;z-index:60;
  background:rgba(246,241,231,.82);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid transparent;
  transition:box-shadow .25s ease,border-color .25s ease,background .25s ease;
}
.kk-nav.is-stuck{box-shadow:0 8px 24px -18px rgba(18,62,44,.6);border-color:var(--line)}
.kk-nav__inner{display:flex;align-items:center;justify-content:space-between;height:70px;gap:16px}
.kk-brand{display:flex;align-items:center;gap:11px;font-family:var(--font-display);font-weight:600;font-size:1.15rem;color:var(--ink)}
.kk-brand__mark{
  width:38px;height:38px;border-radius:11px;flex:0 0 auto;
  background:linear-gradient(150deg,var(--pine),var(--leaf));
  display:grid;place-items:center;color:#fff;box-shadow:var(--shadow-sm);
}
.kk-brand__mark svg{width:22px;height:22px}
.kk-nav__links{display:flex;align-items:center;gap:26px}
.kk-nav__links a{font-size:.95rem;font-weight:600;color:var(--ink-soft)}
.kk-nav__links a:hover{color:var(--pine)}
.kk-nav__cta{display:flex;align-items:center;gap:10px}
.kk-nav .kk-btn{padding:11px 20px;font-size:.9rem}
.kk-burger{display:none;background:none;border:0;cursor:pointer;padding:8px}
.kk-burger span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;transition:.25s}
.kk-mobile{display:none}

/* ============================================================
   HERO
   ============================================================ */
.kk-hero{position:relative;padding:56px 0 70px;overflow:hidden}
.kk-hero::after{
  content:"";position:absolute;right:-140px;top:-120px;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle at 40% 40%,rgba(46,139,96,.16),transparent 62%);z-index:0;
}
.kk-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.kk-hero h1{font-size:clamp(2.15rem,4.6vw,3.5rem);margin:18px 0 18px}
.kk-hero h1 em{font-style:italic;color:var(--pine);font-weight:600}
.kk-hero__lead{font-size:1.12rem;color:var(--ink-soft);max-width:44ch;margin-bottom:26px}
.kk-hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:26px}
.kk-hero__chips{display:flex;flex-wrap:wrap;gap:10px}
.kk-chip{
  display:inline-flex;align-items:center;gap:7px;background:var(--paper);border:1px solid var(--line);
  padding:8px 14px;border-radius:100px;font-size:.82rem;font-weight:600;color:var(--ink-soft);box-shadow:var(--shadow-sm);
}
.kk-chip svg{width:15px;height:15px;color:var(--leaf)}

/* hero visual */
.kk-hero__visual{position:relative;display:grid;place-items:center;min-height:380px}
.kk-orb{
  position:absolute;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#2E8B60,#1C5B41 70%);
  box-shadow:0 40px 80px -30px rgba(18,62,44,.7);
}
.kk-orb::before{content:"";position:absolute;inset:24px;border-radius:50%;border:1px dashed rgba(255,255,255,.28)}
.kk-capsule{
  position:relative;z-index:2;width:120px;height:250px;border-radius:100px;overflow:hidden;
  box-shadow:0 30px 60px -22px rgba(0,0,0,.55);transform:rotate(-22deg);
  animation:kkfloat 5.5s ease-in-out infinite;
}
.kk-capsule__top{height:50%;background:linear-gradient(160deg,#F3D98A,var(--gold))}
.kk-capsule__bot{height:50%;background:linear-gradient(160deg,#F7F4EC,#E7E0CF)}
.kk-capsule::after{content:"";position:absolute;left:14px;top:16px;bottom:16px;width:16px;border-radius:20px;background:rgba(255,255,255,.4)}
.kk-float-tag{
  position:absolute;z-index:3;background:var(--paper);border-radius:14px;padding:10px 14px;box-shadow:var(--shadow);
  font-size:.8rem;font-weight:700;display:flex;align-items:center;gap:9px;
}
.kk-float-tag small{display:block;font-weight:500;color:var(--ink-soft);font-size:.72rem}
.kk-float-tag .dot{width:9px;height:9px;border-radius:50%;background:var(--leaf)}
.kk-float-tag--a{top:26px;left:0;animation:kkfloat 6s ease-in-out infinite}
.kk-float-tag--b{bottom:40px;right:4px;animation:kkfloat 6.6s ease-in-out infinite .6s}
.kk-float-tag--b .dot{background:var(--gold)}

@keyframes kkfloat{0%,100%{transform:translateY(0) rotate(-22deg)}50%{transform:translateY(-14px) rotate(-22deg)}}
.kk-float-tag--a,.kk-float-tag--b{animation-name:kkfloatY}
@keyframes kkfloatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* logos / social proof strip */
.kk-strip{background:var(--pine-deep);color:#DCEDE3}
.kk-strip__inner{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 42px;padding:20px 22px;text-align:center}
.kk-strip__item{display:flex;align-items:center;gap:11px}
.kk-strip__item b{font-family:var(--font-display);font-size:1.5rem;color:#fff;line-height:1}
.kk-strip__item span{font-size:.82rem;max-width:16ch;text-align:left;color:#B9D6C6}

/* ============================================================
   SECTION BASE
   ============================================================ */
.kk-section{padding:78px 0}
section[id],main[id]{scroll-margin-top:84px}
.kk-section--tint{background:var(--paper)}
.kk-section--pine{background:linear-gradient(160deg,var(--pine),var(--pine-deep));color:#EAF4EE}
.kk-section--pine h2,.kk-section--pine h3{color:#fff}
.kk-head{max-width:640px;margin:0 auto 46px}
.kk-head h2{font-size:clamp(1.7rem,3.4vw,2.5rem);margin:14px 0 12px}
.kk-head p{color:var(--ink-soft);font-size:1.06rem}
.kk-section--pine .kk-head p{color:#C3DED0}

/* PROBLEM */
.kk-prob{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.kk-prob__card{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px}
.kk-prob__ic{width:46px;height:46px;border-radius:12px;background:#FBE7DE;color:#C25A38;display:grid;place-items:center;margin-bottom:16px}
.kk-prob__ic svg{width:24px;height:24px}
.kk-prob__card h3{font-size:1.18rem;margin-bottom:8px}
.kk-prob__card p{margin:0;color:var(--ink-soft);font-size:.96rem}

/* MECHANISM (albumin) */
.kk-mech{display:grid;grid-template-columns:.95fr 1.05fr;gap:52px;align-items:center}
.kk-mech__visual{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow-sm)}
.kk-albumin{display:flex;flex-direction:column;gap:14px}
.kk-bar{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 16px}
.kk-bar__top{display:flex;justify-content:space-between;font-weight:700;font-size:.9rem;margin-bottom:8px}
.kk-bar__track{height:9px;border-radius:100px;background:var(--cream-2);overflow:hidden}
.kk-bar__fill{height:100%;border-radius:100px;background:linear-gradient(90deg,var(--leaf),var(--pine));width:0;transition:width 1.2s cubic-bezier(.2,.7,.2,1)}
.kk-bar--gold .kk-bar__fill{background:linear-gradient(90deg,#EAC96A,var(--gold-deep))}
.kk-mech ul{list-style:none;padding:0;margin:20px 0 26px;display:flex;flex-direction:column;gap:13px}
.kk-mech ul li{display:flex;gap:12px;align-items:flex-start;font-size:1rem}
.kk-mech ul li svg{width:22px;height:22px;flex:0 0 auto;color:var(--leaf);margin-top:2px}
.kk-mech ul li b{color:var(--ink)}

/* BENEFITS */
.kk-ben{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.kk-ben__card{background:var(--paper);border-radius:var(--radius);padding:26px 24px;border:1px solid var(--line);transition:transform .2s ease,box-shadow .2s ease}
.kk-ben__card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.kk-ben__n{font-family:var(--font-display);font-size:1.15rem;color:var(--gold-deep);font-weight:600;display:block;margin-bottom:12px}
.kk-ben__ic{width:48px;height:48px;border-radius:13px;background:linear-gradient(150deg,#E7F1EA,#D3E6DA);color:var(--pine);display:grid;place-items:center;margin-bottom:15px}
.kk-ben__ic svg{width:25px;height:25px}
.kk-ben__card h3{font-size:1.14rem;margin-bottom:8px}
.kk-ben__card p{margin:0;color:var(--ink-soft);font-size:.95rem}

/* TIMELINE (signature) */
.kk-time{position:relative;max-width:820px;margin:0 auto}
.kk-time::before{content:"";position:absolute;left:26px;top:10px;bottom:10px;width:2px;background:rgba(255,255,255,.28)}
.kk-tstep{position:relative;padding:0 0 34px 76px}
.kk-tstep:last-child{padding-bottom:0}
.kk-tstep__node{
  position:absolute;left:0;top:0;width:54px;height:54px;border-radius:50%;
  background:var(--gold);color:#2A2005;display:grid;place-items:center;font-family:var(--font-display);
  font-weight:600;font-size:.86rem;line-height:1;text-align:center;box-shadow:0 0 0 6px rgba(207,161,58,.18);
}
.kk-tstep__card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-sm);padding:18px 22px;backdrop-filter:blur(4px)}
.kk-tstep__card h3{font-size:1.16rem;margin-bottom:6px}
.kk-tstep__card p{margin:0;color:#CDE3D6;font-size:.97rem}
.kk-time__note{text-align:center;margin-top:30px;font-size:.86rem;color:#A9C9B8}

/* DOSAGE */
.kk-dose{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:900px;margin:0 auto}
.kk-dose__card{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:26px;text-align:center}
.kk-dose__num{font-family:var(--font-display);font-size:2.3rem;color:var(--pine);font-weight:600;line-height:1}
.kk-dose__card h3{font-size:1.05rem;margin:10px 0 6px}
.kk-dose__card p{margin:0;font-size:.92rem;color:var(--ink-soft)}

/* TESTIMONIALS */
.kk-testi{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.kk-testi__card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-sm)}
.kk-stars{color:var(--gold);letter-spacing:2px;font-size:.95rem}
.kk-testi__card p{margin:0;font-size:.98rem;color:var(--ink-soft);flex:1}
.kk-testi__who{display:flex;align-items:center;gap:12px}
.kk-testi__av{width:42px;height:42px;border-radius:50%;background:linear-gradient(150deg,var(--leaf),var(--pine));color:#fff;display:grid;place-items:center;font-weight:700;font-family:var(--font-display)}
.kk-testi__who b{display:block;font-size:.95rem}
.kk-testi__who span{font-size:.8rem;color:var(--ink-soft)}

/* PACKAGES */
.kk-pack{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.kk-pack__card{position:relative;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--radius);padding:30px 26px;display:flex;flex-direction:column}
.kk-pack__card.is-featured{border-color:var(--gold);box-shadow:var(--shadow);transform:scale(1.03)}
.kk-pack__badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--gold);color:#2A2005;font-size:.72rem;font-weight:800;letter-spacing:.05em;padding:6px 15px;border-radius:100px;text-transform:uppercase}
.kk-pack__name{font-family:var(--font-display);font-size:1.3rem;font-weight:600;margin-bottom:4px}
.kk-pack__sub{font-size:.86rem;color:var(--ink-soft);margin-bottom:16px}
.kk-pack__price{font-family:var(--font-display);font-size:2.1rem;color:var(--pine);font-weight:600;line-height:1}
.kk-pack__price small{display:block;font-family:var(--font-body);font-size:.8rem;color:#B0483A;font-weight:600;text-decoration:line-through;margin-top:4px}
.kk-pack ul{list-style:none;padding:0;margin:18px 0 22px;display:flex;flex-direction:column;gap:10px}
.kk-pack ul li{display:flex;gap:9px;font-size:.92rem;color:var(--ink-soft)}
.kk-pack ul li svg{width:18px;height:18px;color:var(--leaf);flex:0 0 auto}
.kk-pack .kk-btn{margin-top:auto}

/* FAQ */
.kk-faq{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.kk-faq__item{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}
.kk-faq__q{width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:20px 22px;font-family:var(--font-body);font-weight:700;font-size:1.02rem;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px}
.kk-faq__q span{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--cream-2);display:grid;place-items:center;transition:.25s;color:var(--pine);font-size:1.2rem;line-height:1}
.kk-faq__item.is-open .kk-faq__q span{transform:rotate(45deg);background:var(--pine);color:#fff}
.kk-faq__a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.kk-faq__a p{margin:0;padding:0 22px 20px;color:var(--ink-soft);font-size:.97rem}

/* FINAL CTA */
.kk-final{position:relative;overflow:hidden}
.kk-final::after{content:"";position:absolute;left:-120px;bottom:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(207,161,58,.22),transparent 65%)}
.kk-final__inner{position:relative;z-index:1;text-align:center;max-width:680px;margin:0 auto}
.kk-final h2{font-size:clamp(1.9rem,4vw,2.8rem);margin-bottom:16px}
.kk-final p{color:#C6E0D3;font-size:1.1rem;margin-bottom:28px}
.kk-final .kk-btn{font-size:1.08rem;padding:18px 34px}

/* FOOTER */
.kk-footer{background:var(--ink);color:#AFC3B8;padding:52px 0 30px;font-size:.92rem}
.kk-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;margin-bottom:34px}
.kk-footer .kk-brand{color:#fff;margin-bottom:14px}
.kk-footer h4{color:#fff;font-family:var(--font-body);font-size:.95rem;margin:0 0 14px;font-weight:700}
.kk-footer a{display:block;margin-bottom:9px;color:#AFC3B8}
.kk-footer a:hover{color:#fff}
.kk-footer__dis{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;font-size:.8rem;color:#89A093;line-height:1.6}

/* FLOATING WA */
.kk-fab{position:fixed;right:20px;bottom:22px;z-index:80;display:flex;align-items:center;gap:0;background:#1FA855;color:#fff;border-radius:100px;padding:14px;box-shadow:0 16px 34px -12px rgba(31,168,85,.8);font-weight:700;overflow:hidden;transition:gap .3s ease,padding .3s ease}
.kk-fab svg{width:26px;height:26px;flex:0 0 auto}
.kk-fab span{max-width:0;white-space:nowrap;overflow:hidden;transition:max-width .3s ease}
.kk-fab:hover{gap:9px;padding:14px 20px 14px 14px}
.kk-fab:hover span{max-width:180px}
.kk-fab::before{content:"";position:absolute;inset:0;border-radius:100px;box-shadow:0 0 0 0 rgba(31,168,85,.5);animation:kkpulse 2.4s infinite}
@keyframes kkpulse{0%{box-shadow:0 0 0 0 rgba(31,168,85,.45)}70%{box-shadow:0 0 0 16px rgba(31,168,85,0)}100%{box-shadow:0 0 0 0 rgba(31,168,85,0)}}

/* REVEAL */
.kk-reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.kk-reveal.is-in{opacity:1;transform:none}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:960px){
  .kk-hero__grid,.kk-mech{grid-template-columns:1fr;gap:36px}
  .kk-hero__visual{min-height:320px;order:-1}
  .kk-prob,.kk-ben,.kk-testi,.kk-pack,.kk-dose{grid-template-columns:1fr 1fr}
  .kk-footer__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  body{font-size:16px}
  .kk-nav__links{display:none}
  .kk-nav__cta .kk-btn--ghost{display:none}
  .kk-burger{display:block}
  .kk-mobile.is-open{display:block;position:fixed;inset:70px 0 0;background:var(--cream);z-index:55;padding:26px 22px}
  .kk-mobile a{display:block;padding:15px 4px;font-weight:700;font-size:1.1rem;border-bottom:1px solid var(--line)}
  .kk-section{padding:56px 0}
  .kk-prob,.kk-ben,.kk-testi,.kk-pack,.kk-dose,.kk-footer__grid{grid-template-columns:1fr}
  .kk-pack__card.is-featured{transform:none}
  .kk-strip__item span{text-align:center}
}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .kk-reveal{opacity:1;transform:none}
}
