/* =========================================================
   Our Memory — Situs V59
   Lapisan perapian di atas site-v57.css. Fokus:
   - lebar konten konsisten (hero sejajar dengan section lain)
   - dekorasi hati dikurangi supaya isi lebih mudah dibaca
   - jarak antarbagian lebih rapat & seragam
   - kartu, tombol, form, fokus keyboard lebih jelas
   - footer lebih ringan
   ========================================================= */
:root{
  --v59-ink:#33242a;
  --v59-text:#6a555d;
  --v59-muted:#957c86;
  --v59-line:rgba(169,79,108,.13);
  --v59-ring:0 0 0 3px rgba(201,101,132,.28);
  --v59-card-shadow:0 1px 2px rgba(105,55,72,.04),0 10px 30px rgba(105,55,72,.07);
  --v59-card-shadow-hover:0 2px 4px rgba(105,55,72,.05),0 18px 44px rgba(105,55,72,.12);
}

/* ---------- Dasar ---------- */
body{color:var(--v59-text)}
/* Pola hati latar dibuat jauh lebih halus & jarang supaya isi lebih menonjol. */
body{
  background-color:#fff8fa;
  background-image:
    radial-gradient(circle at 8% 10%,rgba(239,172,191,.16),transparent 30%),
    radial-gradient(circle at 92% 14%,rgba(255,209,223,.2),transparent 30%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cpath d='M24 34C8 22 7 7 17 3c7-3 13 2 16 8 4-6 10-11 17-8 10 4 9 19-7 31L33 43 24 34Z' fill='%23df839f' fill-opacity='.045' transform='translate(20 20) scale(.6)'/%3E%3Cpath d='M24 34C8 22 7 7 17 3c7-3 13 2 16 8 4-6 10-11 17-8 10 4 9 19-7 31L33 43 24 34Z' fill='%23c96584' fill-opacity='.035' transform='translate(130 128) scale(.42)'/%3E%3C/svg%3E"),
    linear-gradient(180deg,#fffafc 0%,#fff7fa 50%,#fff5f8 100%);
  background-repeat:no-repeat,no-repeat,repeat,no-repeat;
  background-size:auto,auto,220px 220px,auto;
}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:0;box-shadow:var(--v59-ring)!important}
::selection{background:#f8ccd9;color:#3c2a31}

/* ---------- Navigasi ---------- */
.navlinks a:hover,.nav-more summary:hover{background:#fff4f7}
.navlinks a.active,.nav-more.active summary{background:#fde9ef;color:#8d3d58}
.navlinks a.active::after,.nav-more.active summary::after{display:none}
.nav-more-menu{padding:8px;border-radius:16px;box-shadow:0 20px 50px rgba(88,45,60,.16)}
.nav-more-menu a{border-radius:10px}

/* ---------- Hero beranda ---------- */
@media(min-width:861px){
  .hero.container{width:min(var(--container),calc(100% - 48px))!important}
  .hero{padding-top:clamp(128px,11vw,156px);padding-bottom:clamp(48px,5vw,72px)}
  .hero-media-wrap{margin-top:24px!important}
}
.hero::before{display:none}
.hero-copy h1{font-size:clamp(3rem,5.2vw,5.1rem);line-height:1.03;letter-spacing:-.035em}
.hero-copy>p{color:#755f68;max-width:34em}
.hero-note::before{display:none}
.hero-controls{margin-top:-8px}
.hero-note::after{display:none}
.counter span::before,.counter span::after{display:none!important}
.counter span{min-width:78px;padding:10px 12px;border-radius:14px}
.counter b{font-variant-numeric:tabular-nums}

/* ---------- Statistik ---------- */
.stat::before,.stat::after{display:none!important}
.stat{min-height:108px;border-radius:20px;box-shadow:var(--v59-card-shadow);transition:transform .18s,box-shadow .18s}
.stat:hover{transform:translateY(-2px);box-shadow:var(--v59-card-shadow-hover)}
.stat b{font-variant-numeric:tabular-nums}
.memory-love-decor{opacity:.5}

/* ---------- Jarak antarbagian ---------- */
.section{padding:clamp(56px,6.5vw,92px) 0}
.section-tight{padding:clamp(32px,4vw,52px) 0}
.section-head{margin-bottom:clamp(20px,2.4vw,30px)}
.section-head p{color:var(--v59-muted)}
.section-link{font-weight:800;white-space:nowrap}
.section-link:hover{text-decoration:underline;text-underline-offset:3px}

/* ---------- Header halaman dalam ---------- */
.page-hero{padding:clamp(124px,11vw,150px) 0 26px}
.page-hero h1{font-size:clamp(2.6rem,4.6vw,4.1rem)}
.page-hero p{color:var(--v59-muted);font-size:1.02rem}
.page-hero-heart{opacity:.55;font-size:5.5rem}
.page-section{padding-bottom:clamp(56px,6vw,88px)}

/* ---------- Kartu ---------- */
.card{border-radius:22px;box-shadow:var(--v59-card-shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
a.card:hover,.card:has(> a.cover):hover,.card:hover{box-shadow:var(--v59-card-shadow-hover)}
a.card:hover{transform:translateY(-3px)}
.card .cover{overflow:hidden}
.card .cover img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.card:hover .cover img{transform:scale(1.035)}
.card h3{line-height:1.2}

/* ---------- Tombol & form ---------- */
.btn{border-radius:14px}
.btn:active{transform:translateY(0) scale(.99)}
.filters{gap:10px}
.input,input:not([type=checkbox]):not([type=radio]),select,textarea{border-color:rgba(169,79,108,.18)}
.input:hover,input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover{border-color:rgba(169,79,108,.3)}

/* ---------- Status kosong ---------- */
.empty{padding:clamp(40px,6vw,64px) 24px;border:1.5px dashed rgba(201,101,132,.25);border-radius:24px;background:rgba(255,255,255,.75)}
.empty h1,.empty h2,.empty h3{font-size:clamp(1.4rem,2.4vw,1.9rem)}
.empty p{max-width:42ch;margin-inline:auto;color:var(--v59-muted)}

/* ---------- Footer lebih ringan ---------- */
.site-footer{background:transparent;color:var(--v59-muted);border-top:1px solid var(--v59-line);padding:26px 0 30px}
.site-footer .footer-center{color:var(--v59-muted);font-weight:600}
.site-footer .footer-love{color:var(--pink-400)}
.back-to-top{border-radius:14px}

/* ---------- Responsif ---------- */
@media(max-width:860px){
  .hero-copy h1{font-size:clamp(2.6rem,10vw,3.8rem)}
  .page-hero h1{font-size:clamp(2.3rem,9vw,3.2rem)}
}
@media(max-width:620px){
  .section{padding:48px 0}
  .stat{min-height:88px}
  .page-hero{padding-top:104px}
}
@media(hover:none){
  .stat:hover,a.card:hover{transform:none}
  .card:hover .cover img{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .card,.card .cover img,.stat{transition:none!important}
}
