/* Tema Kebun Krayon: kertas linen, tulip goresan krayon (warna aksen + jingga), gambar garis tangan, menu hijau tua di bawah layar.
   Semua gambar (krayon/*.svg) digambar sendiri; tekstur krayon dibuat dengan filter SVG.
   Bunga & gambar garis = CSS mask berwarna aksen pilihan pelanggan; daun & tekstur kertas = gambar berwarna tetap. */
:root{--page-bg:#d8d5c4;--bg:#ecebe0;--surface:#f7f6ef;--ink:#4a3a30;--muted:#857866;--accent:#7d2230;--accent-ink:#fff;--line:#d6d2bf;--radius:16px;
--kr-hijau:#3e5641;--kr-2:color-mix(in srgb,var(--accent) 20%,#f08a34);
--kr-ka:url(krayon/karangan-a.svg);--kr-kb:url(krayon/karangan-b.svg);--kr-kd:url(krayon/karangan-daun.svg);
--kr-ba:url(krayon/barisan-a.svg);--kr-bb:url(krayon/barisan-b.svg);--kr-bd:url(krayon/barisan-daun.svg);
--kr-buket:url(krayon/buket.svg);--kr-gapura:url(krayon/gapura.svg);--kr-pendopo:url(krayon/pendopo.svg);--kr-kado:url(krayon/kado.svg);
--kr-coret:url(krayon/coret.svg);--kr-lingkar:url(krayon/lingkaran.svg);--kr-hati:url(krayon/hati.svg);--kr-kelopak:url(krayon/kelopak.svg);
--kr-bingkai:url(krayon/bingkai.svg);--kr-selotip:url(krayon/selotip.svg);--kr-kertas:url(krayon/kertas.svg);
--cover-bg:var(--bg)}

/* Latar kertas linen */
.theme-krayon .nk-main,.theme-krayon .nk-cover{background:var(--kr-kertas) 0 0/260px 260px repeat,var(--bg)}
.theme-krayon .nk-main{position:relative;overflow:hidden;padding-bottom:90px}

/* Hiasan mask: satu aturan bersama, gambar dipilih lewat --kr-img, warna lewat --kr-c */
.theme-krayon .nk-ornament,.theme-krayon .nk-heading::after,.theme-krayon .nk-amp::before,.theme-krayon #acara::before,.theme-krayon .nk-hero .nk-big::after,
.theme-krayon .nk-cal-day::before,.theme-krayon .nk-gifts>.nk-heading::before,.theme-krayon .nk-story .nk-heading::before,.theme-krayon #acara .nk-card::before,
.theme-krayon .nk-hero-photo::after,.theme-krayon .nk-cover-inner::after{
 content:"";display:block;background:var(--kr-c,var(--accent));-webkit-mask:var(--kr-img) center/contain no-repeat;mask:var(--kr-img) center/contain no-repeat}

/* Huruf */
.theme-krayon .nk-script{color:var(--accent);font-weight:400;text-shadow:2px 2px 0 color-mix(in srgb,var(--kr-2) 45%,transparent)}
.theme-krayon .nk-script span{display:block;color:var(--kr-2);opacity:1;font-size:.6em;line-height:1;margin:2px 0;text-shadow:none}
.theme-krayon .nk-eyebrow{font-family:var(--font-display);text-transform:none;letter-spacing:.01em;font-size:1.15rem;color:var(--kr-hijau);margin-bottom:2px}
.theme-krayon .nk-heading{font-family:var(--font-display);font-weight:400;color:var(--accent);font-size:2.35rem;line-height:1.15;margin-bottom:26px;
 text-shadow:2px 2px 0 color-mix(in srgb,var(--kr-2) 45%,transparent)}
.theme-krayon .nk-heading::after{--kr-img:var(--kr-coret);--kr-c:var(--kr-2);width:150px;height:22px;margin:2px auto 0;transition:clip-path 1s .35s;clip-path:inset(0 0 0 0)}
.theme-krayon .nk-reveal:not(.nk-in) .nk-heading::after{clip-path:inset(0 100% 0 0)}
.theme-krayon .nk-text{color:var(--ink);font-size:.95rem;line-height:1.75}
.theme-krayon .nk-muted{color:var(--muted)}
.theme-krayon .nk-btn{background:var(--kr-hijau);color:#f4f1e4;font-family:var(--font-body);font-weight:400;letter-spacing:.04em;border-radius:10px;
 box-shadow:3px 3px 0 color-mix(in srgb,var(--kr-2) 75%,transparent)}
.theme-krayon .nk-btn-sm{background:var(--accent);color:var(--accent-ink);box-shadow:3px 3px 0 color-mix(in srgb,var(--kr-hijau) 55%,transparent)}
.theme-krayon .nk-btn-sm.nk-btn-ghost{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}

/* ===== Sampul: karangan tulip krayon berbentuk lengkung, kelopak berjatuhan ===== */
.theme-krayon .nk-cover{overflow:hidden}
.theme-krayon .nk-cover-inner{position:static;max-width:300px}
.theme-krayon .nk-cover-inner>*{position:relative;z-index:3}
.theme-krayon .nk-cover::before,.theme-krayon .nk-cover::after,.theme-krayon .nk-cover-inner::before{content:"";position:absolute;left:50%;top:50%;z-index:1;pointer-events:none;
 height:min(94vh,740px);aspect-ratio:400/560;translate:-50% -50%;transform-origin:50% 100%;animation:kr-goyang 7s ease-in-out infinite alternate}
.theme-krayon .nk-cover::before{background:var(--kr-kd) center/contain no-repeat}
.theme-krayon .nk-cover::after{background:var(--accent);-webkit-mask:var(--kr-ka) center/contain no-repeat;mask:var(--kr-ka) center/contain no-repeat}
.theme-krayon .nk-cover-inner::before{background:var(--kr-2);-webkit-mask:var(--kr-kb) center/contain no-repeat;mask:var(--kr-kb) center/contain no-repeat}
@keyframes kr-goyang{from{rotate:-1.2deg}to{rotate:1.2deg}}
/* kelopak jatuh pelan */
.theme-krayon .nk-cover-inner::after{--kr-img:var(--kr-kelopak);position:absolute;z-index:2;width:18px;height:22px;pointer-events:none;
 left:30%;top:-30px;animation:kr-jatuh 9s linear infinite}
@keyframes kr-jatuh{0%{translate:0 0;rotate:0deg;opacity:0}8%{opacity:.9}50%{translate:-40px 50vh;rotate:160deg}92%{opacity:.9}100%{translate:20px 105vh;rotate:320deg;opacity:0}}
.theme-krayon .nk-cover .nk-eyebrow{font-size:1.05rem;margin-bottom:0}
.theme-krayon .nk-cover-inner>p,.theme-krayon .nk-to p{text-shadow:0 0 6px var(--bg),0 0 12px var(--bg)}
@media (max-height:720px){.theme-krayon .nk-cover::before,.theme-krayon .nk-cover::after,.theme-krayon .nk-cover-inner::before{height:max(112vh,560px)}
 .theme-krayon .nk-cover h1{font-size:3.1rem}}
.theme-krayon .nk-cover h1{font-size:3.6rem;line-height:1.02;margin:6px 0 10px}
.theme-krayon .nk-date{font-family:var(--font-body);color:var(--kr-hijau);letter-spacing:.06em;margin-bottom:14px;font-size:.92rem}
.theme-krayon .nk-to{border:0;padding:0;margin:0 0 16px}
.theme-krayon .nk-to p{color:var(--muted);font-size:.8rem}
.theme-krayon .nk-to .nk-guest{font-family:var(--font-display);color:var(--ink);font-size:1.5rem;line-height:1.25;margin-top:2px}
.theme-krayon #openBtn{padding:11px 26px;font-size:.88rem}

/* ===== Beranda: foto dalam bingkai ukir, buket garis tangan ===== */
.theme-krayon .nk-hero{position:relative;padding-top:44px}
.theme-krayon .nk-hero-photo{position:relative;width:230px;height:292px;margin:0 auto 18px;border:0;border-radius:0;overflow:visible;box-shadow:none}
.theme-krayon .nk-hero-photo img{position:absolute;inset:30px 30px 32px;width:calc(100% - 60px);height:calc(100% - 62px);border-radius:88px 88px 2px 2px}
.theme-krayon .nk-hero-photo::after{--kr-img:var(--kr-bingkai);--kr-c:var(--kr-hijau);position:absolute;inset:0;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.theme-krayon .nk-hero .nk-eyebrow{font-size:1.25rem;color:var(--kr-hijau)}
.theme-krayon .nk-big{font-size:3.1rem;line-height:1.02}
.theme-krayon .nk-hero .nk-big::after{--kr-img:var(--kr-buket);width:170px;height:162px;margin:12px auto 0}
.theme-krayon:not(.nk-locked) .nk-hero .nk-big::after{animation:kr-gambar 1.6s .7s both}
@keyframes kr-gambar{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}

/* Hitung mundur: label kertas yang miring bergantian */
.theme-krayon .nk-countdown{gap:10px;margin-top:22px}
.theme-krayon .nk-countdown div{width:64px;padding:8px 0 6px;background:var(--surface);border:2px solid var(--kr-hijau);border-radius:14px 6px 14px 6px/6px 14px 6px 14px;rotate:-3deg;
 box-shadow:3px 3px 0 color-mix(in srgb,var(--kr-2) 70%,transparent)}
.theme-krayon .nk-countdown div:nth-child(even){rotate:3deg}
.theme-krayon .nk-countdown b{font:400 1.75rem/1.1 var(--font-display);color:var(--accent)}
.theme-krayon .nk-countdown small{font-family:var(--font-body);text-transform:none;letter-spacing:0;font-size:.74rem;color:var(--kr-hijau)}

/* Kartu pemutar lagu (menyalakan / menjeda lagu latar yang sama) */
.theme-krayon .nk-player{display:flex;align-items:center;gap:12px;width:100%;max-width:300px;margin:26px auto 0;padding:8px 16px 8px 8px;cursor:pointer;text-align:left;
 background:var(--kr-hijau);border:0;border-radius:16px;box-shadow:4px 4px 0 color-mix(in srgb,var(--kr-2) 75%,transparent);font:inherit;color:#f4f1e4}
.theme-krayon .nk-player:active{translate:2px 2px;box-shadow:2px 2px 0 color-mix(in srgb,var(--kr-2) 75%,transparent)}
.theme-krayon .nk-player-icon{flex:none;width:44px;height:44px;border-radius:12px;background:var(--accent);position:relative}
.theme-krayon .nk-player-icon::before{content:"";position:absolute;left:17px;top:13px;border-style:solid;border-width:9px 0 9px 14px;border-color:transparent transparent transparent var(--accent-ink)}
.theme-krayon:has(.nk-music.nk-playing) .nk-player-icon::before{left:15px;top:14px;width:5px;height:16px;border:0;background:var(--accent-ink);box-shadow:9px 0 0 var(--accent-ink)}
.theme-krayon .nk-player-text{flex:1;display:flex;flex-direction:column;line-height:1.25}
.theme-krayon .nk-player-text b{font:400 1.2rem/1.2 var(--font-display);color:#fff}
.theme-krayon .nk-player-text small{font-size:.72rem;opacity:.8}
.theme-krayon .nk-player-wave{display:flex;align-items:center;gap:3px;height:26px}
.theme-krayon .nk-player-wave i{width:4px;height:8px;border-radius:4px;background:color-mix(in srgb,#fff 55%,transparent)}
.theme-krayon:has(.nk-music.nk-playing) .nk-player-wave i{background:var(--kr-2);animation:kr-gelombang .9s ease-in-out infinite alternate}
.theme-krayon .nk-player-wave i:nth-child(2){animation-delay:.2s!important;height:14px}
.theme-krayon .nk-player-wave i:nth-child(3){animation-delay:.4s!important;height:20px}
.theme-krayon .nk-player-wave i:nth-child(4){animation-delay:.1s!important;height:12px}
.theme-krayon .nk-player-wave i:nth-child(5){animation-delay:.3s!important}
@keyframes kr-gelombang{from{height:6px}to{height:24px}}

/* ===== Save the Date: kalender kertas, tanggal dilingkari krayon ===== */
.theme-krayon .nk-bunting{display:none}
.theme-krayon .nk-calendar{position:relative;max-width:330px;margin:0 auto;padding:22px 16px 16px;background:var(--surface);border-radius:6px;rotate:-1.5deg;
 box-shadow:0 1px 0 var(--line),4px 5px 0 color-mix(in srgb,var(--kr-hijau) 22%,transparent)}
.theme-krayon .nk-calendar::before{content:"";position:absolute;left:50%;top:-12px;width:110px;height:26px;translate:-50% 0;rotate:3deg;opacity:.75;background:var(--kr-2);
 -webkit-mask:var(--kr-selotip) center/100% 100% no-repeat;mask:var(--kr-selotip) center/100% 100% no-repeat}
.theme-krayon .nk-cal-month{font:400 1.5rem/1.2 var(--font-display);color:var(--kr-hijau);margin:0 0 8px}
.theme-krayon .nk-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px 0;color:var(--ink)}
.theme-krayon .nk-cal-grid b{font-weight:400;font-size:.78rem;color:var(--muted)}
.theme-krayon .nk-cal-grid span{position:relative;line-height:34px;z-index:0}
.theme-krayon .nk-cal-sun{color:var(--accent)!important}
.theme-krayon .nk-cal-day{color:var(--accent)!important;font-weight:700}
.theme-krayon .nk-cal-day::before{--kr-img:var(--kr-lingkar);position:absolute;left:50%;top:50%;width:44px;height:38px;translate:-50% -50%;rotate:-8deg;z-index:-1;
 transition:clip-path 1s .6s;clip-path:inset(0)}
.theme-krayon .nk-savedate:not(.nk-in) .nk-cal-day::before{clip-path:inset(0 100% 0 0)}

/* ===== Mempelai: gapura bunga digambar perlahan ===== */
.theme-krayon .nk-ornament{--kr-img:var(--kr-gapura);width:150px;height:164px;margin:0 auto 18px;transition:clip-path 1.6s .2s;clip-path:inset(0)}
.theme-krayon #mempelai:not(.nk-in) .nk-ornament{clip-path:inset(100% 0 0 0)}
.theme-krayon .nk-couple{gap:6px;margin-top:18px}
.theme-krayon .nk-person h3{font-size:2.15rem;line-height:1.12}
.theme-krayon .nk-person p{color:var(--ink);font-size:.88rem}
.theme-krayon .nk-amp{font-size:0;line-height:0;margin:10px 0}
.theme-krayon .nk-amp::before{--kr-img:var(--kr-hati);--kr-c:var(--kr-2);width:42px;height:40px;margin:0 auto;animation:kr-detak 1.8s ease-in-out infinite}
@keyframes kr-detak{0%,100%{scale:1}15%{scale:1.15}30%{scale:1}45%{scale:1.1}}

/* ===== Acara: pendopo garis tangan, kartu kertas berselotip ===== */
.theme-krayon #acara::before{--kr-img:var(--kr-pendopo);width:170px;height:132px;margin:0 auto 4px;transition:clip-path 1.6s .2s;clip-path:inset(0)}
.theme-krayon #acara:not(.nk-in)::before{clip-path:inset(0 0 100% 0)}
.theme-krayon #acara .nk-card{position:relative;max-width:330px;padding:30px 22px 24px;margin:0 auto 30px;border:0;border-radius:6px;rotate:-1.2deg;
 box-shadow:0 1px 0 var(--line),4px 5px 0 color-mix(in srgb,var(--kr-hijau) 22%,transparent)}
.theme-krayon #acara .nk-card:nth-of-type(even){rotate:1.2deg}
.theme-krayon #acara .nk-card::before{--kr-img:var(--kr-selotip);--kr-c:var(--kr-2);position:absolute;left:50%;top:-12px;width:104px;height:26px;translate:-50% 0;rotate:-3deg;opacity:.75;
 -webkit-mask-size:100% 100%;mask-size:100% 100%}
.theme-krayon .nk-card h3{font-family:var(--font-display);font-size:2rem;color:var(--accent);line-height:1.15}
.theme-krayon .nk-card p{color:var(--ink);font-size:.92rem}
.theme-krayon .nk-card .nk-strong{font-weight:700}

/* ===== Galeri kolase ===== */
.theme-krayon .nk-gallery{grid-template-columns:repeat(6,1fr);gap:8px;grid-auto-flow:dense}
.theme-krayon .nk-photo{grid-column:span 3;aspect-ratio:3/4;border-radius:4px;border:4px solid var(--surface);box-shadow:2px 3px 0 color-mix(in srgb,var(--kr-hijau) 25%,transparent)}
.theme-krayon .nk-photo:nth-child(5n+1){grid-column:span 6;aspect-ratio:16/10}
.theme-krayon .nk-photo:nth-child(5n+4){grid-column:span 4;aspect-ratio:4/3}
.theme-krayon .nk-photo:nth-child(5n+5){grid-column:span 2;aspect-ratio:auto}
.theme-krayon .nk-photo:last-child:nth-child(5n+2),.theme-krayon .nk-photo:last-child:nth-child(5n+4){grid-column:span 6;aspect-ratio:16/10}
.theme-krayon .nk-photo img{transition:scale .5s}
.theme-krayon .nk-photo:hover img{scale:1.05}

/* ===== Kisah ===== */
.theme-krayon .nk-story .nk-heading::before{--kr-img:var(--kr-hati);--kr-c:var(--kr-2);width:34px;height:32px;margin:0 auto 4px;rotate:-10deg}
.theme-krayon .nk-story .nk-text{background:var(--surface);padding:22px 20px;border-radius:6px;rotate:.8deg;
 background-image:repeating-linear-gradient(transparent 0 27px,color-mix(in srgb,var(--kr-hijau) 18%,transparent) 27px 28px);line-height:28px}

/* ===== Amplop digital: kado garis tangan ===== */
.theme-krayon .nk-gifts>.nk-heading::before{--kr-img:var(--kr-kado);width:150px;height:128px;margin:0 auto 6px;transition:clip-path 1.4s .2s;clip-path:inset(0)}
.theme-krayon .nk-gifts:not(.nk-in)>.nk-heading::before{clip-path:inset(0 100% 0 0)}
.theme-krayon .nk-gift{background:var(--surface);border:2px dashed color-mix(in srgb,var(--kr-hijau) 60%,transparent);border-radius:12px;max-width:320px}
.theme-krayon .nk-gift .nk-strong{font:400 1.6rem/1.2 var(--font-display);color:var(--accent)}
.theme-krayon .nk-number{font-family:var(--font-body);color:var(--ink);letter-spacing:.12em}

/* ===== RSVP & ucapan ===== */
.theme-krayon .nk-form{background:var(--surface);padding:22px 18px;border-radius:12px;box-shadow:4px 5px 0 color-mix(in srgb,var(--kr-hijau) 22%,transparent)}
.theme-krayon .nk-form input,.theme-krayon .nk-form select,.theme-krayon .nk-form textarea{background:var(--bg);border:1.5px solid var(--line);border-radius:10px;color:var(--ink)}
.theme-krayon .nk-form input:focus,.theme-krayon .nk-form select:focus,.theme-krayon .nk-form textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.theme-krayon .nk-msg{background:var(--surface);border:0;border-left:4px solid var(--kr-2);border-radius:4px 12px 12px 4px}
.theme-krayon .nk-msg .nk-strong{color:var(--accent)}

/* ===== Lagu (YouTube) ===== */
.theme-krayon .nk-yt{border-radius:12px;border:4px solid var(--surface);box-shadow:4px 5px 0 color-mix(in srgb,var(--kr-hijau) 22%,transparent)}

/* ===== Penutup: barisan tulip krayon bergoyang ===== */
.theme-krayon .nk-closing{position:relative;padding-bottom:200px}
.theme-krayon .nk-closing .nk-big{position:relative;z-index:2}
.theme-krayon .nk-closing::before,.theme-krayon .nk-closing::after,.theme-krayon .nk-closing>.nk-text::after{content:"";position:absolute;left:-10px;right:-10px;bottom:0;height:180px;pointer-events:none;
 transform-origin:50% 100%;animation:kr-angin 5s ease-in-out infinite}
.theme-krayon .nk-closing::before{background:var(--kr-bd) center bottom/auto 100% no-repeat}
.theme-krayon .nk-closing::after{background:var(--accent);-webkit-mask:var(--kr-ba) center bottom/auto 100% no-repeat;mask:var(--kr-ba) center bottom/auto 100% no-repeat}
.theme-krayon .nk-closing>.nk-text::after{background:var(--kr-2);-webkit-mask:var(--kr-bb) center bottom/auto 100% no-repeat;mask:var(--kr-bb) center bottom/auto 100% no-repeat}
@keyframes kr-angin{0%,100%{transform:skewX(0)}50%{transform:skewX(-2.5deg)}}
.theme-krayon .nk-closing .nk-eyebrow{font-size:1.2rem}
.theme-krayon .nk-footer{color:var(--muted)}
.theme-krayon .nk-footer a{color:var(--accent)}

/* ===== Menu bawah hijau tua & tombol musik ===== */
.theme-krayon:not(.nk-locked) .nk-nav{display:flex}
.theme-krayon .nk-nav{background:var(--kr-hijau);border:0;border-radius:16px;box-shadow:0 8px 22px rgba(40,50,35,.28)}
.theme-krayon .nk-nav a{color:#e9e6d6;font-family:var(--font-body);font-weight:400;border-radius:10px}
.theme-krayon .nk-nav a:hover,.theme-krayon .nk-nav a:focus-visible{background:color-mix(in srgb,#fff 14%,transparent);color:#fff}
.theme-krayon .nk-music{bottom:88px;background:var(--accent);box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--kr-hijau)}

@media (prefers-reduced-motion:reduce){
 .theme-krayon .nk-cover::before,.theme-krayon .nk-cover::after,.theme-krayon .nk-cover-inner::before,.theme-krayon .nk-cover-inner::after,
 .theme-krayon .nk-amp::before,.theme-krayon .nk-closing::before,.theme-krayon .nk-closing::after,.theme-krayon .nk-closing>.nk-text::after,.theme-krayon .nk-player-wave i{animation:none!important}
 .theme-krayon .nk-cover-inner::after{display:none}
 .theme-krayon *{transition:none!important}}
