/* ==========================================================
   TEMA NATURAL BOTANICAL - sage, krem, terakota, bentuk organik
   ========================================================== */
body.theme-natural {
  --bg: #f6f1e6;
  --bg-alt: #ebe8d8;
  --surface: #fffdf7;
  --text: #3a3d2e;
  --muted: #7a7d68;
  --primary: #5f7350;
  --primary-contrast: #fbf7ea;
  --accent: #b9835a;
  --border: rgba(95, 115, 80, .28);
  --font-display: 'Lora', Georgia, serif;
  --font-body: 'Quicksand', system-ui, sans-serif;
  --font-script: 'Parisienne', cursive;
  --radius: 26px;
  --radius-sm: 16px;
  --shadow: 0 16px 36px rgba(95, 115, 80, .14);
  --cover-shade: linear-gradient(180deg, rgba(36, 50, 28, .58) 0%, rgba(30, 42, 24, .84) 100%);
  --hero-shade: linear-gradient(180deg, rgba(36, 50, 28, .55) 0%, rgba(30, 42, 24, .84) 100%);
  --paper: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .4 0 0 0 0 .35 0 0 0 0 .2 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");
}

body.theme-natural { font-weight: 500; }
.theme-natural .eyebrow { font-weight: 700; letter-spacing: .3em; color: #f0d2a8; }
.theme-natural .sec-head .eyebrow { color: var(--accent); }
.theme-natural .sec-title { font-weight: 600; font-style: italic; }
.theme-natural .btn { font-weight: 700; }
.theme-natural .btn-open { background: #f5e7cf; color: #3d4a31; }

/* Sprig sudut */
.theme-natural .orn { width: clamp(120px, 38vw, 250px); color: #cfe0b8; opacity: .92; }
.theme-natural .orn-tl { top: -6px; left: -6px; transform: rotate(90deg); transform-origin: center; }
.theme-natural .orn-br { bottom: -6px; right: -6px; transform: rotate(-90deg); transform-origin: center; }
.theme-natural .cover .orn, .theme-natural .hero .orn { filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .25)); }

/* Cover & hero */
.theme-natural .cover-names, .theme-natural .hero-names { color: #fbf3de; text-shadow: 0 4px 22px rgba(0, 0, 0, .35); }
.theme-natural .cover-names .amp, .theme-natural .hero-names .amp { color: #e9c9a0; font-family: var(--font-display); font-style: italic; }
.theme-natural .cover-guest { border-radius: 28px; background: rgba(251, 243, 222, .13); }
.theme-natural .countdown > div { border-radius: 999px; padding: 1rem .2rem; background: rgba(251, 243, 222, .14); }
.theme-natural .hero-date { font-family: var(--font-display); font-style: italic; letter-spacing: .12em; text-transform: none; font-size: 1.15rem; }
.theme-natural .scroll-cue { border-color: rgba(251, 243, 222, .6); }

/* Section: tekstur kertas lembut */
.theme-natural .section { background-image: var(--paper); }
.theme-natural .sec-events { background-color: #e9ecd9; }
.theme-natural .sec-gift { background-color: #efe6d3; }
.theme-natural .sec-couple::before, .theme-natural .sec-rsvp::before {
  content: ''; position: absolute; inset: auto 0 100% 0; height: 28px; background: inherit;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M0 10 Q12.5 0 25 6 T50 6 T75 6 T100 4 V10z'/%3E%3C/svg%3E") bottom/100% 100% no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M0 10 Q12.5 0 25 6 T50 6 T75 6 T100 4 V10z'/%3E%3C/svg%3E") bottom/100% 100% no-repeat;
}

/* Mempelai: bentuk organik */
.theme-natural .person .photo { width: min(260px, 76%); aspect-ratio: 1 / 1.12; border-radius: 58% 42% 55% 45% / 46% 56% 44% 54%; box-shadow: 0 0 0 7px var(--bg), 0 0 0 8px rgba(95, 115, 80, .45), var(--shadow); }
.theme-natural .person.bride .photo { border-radius: 44% 56% 42% 58% / 56% 44% 56% 44%; }
.theme-natural .person-name { font-style: italic; font-weight: 600; }
.theme-natural .couple-amp { font-size: 4rem; }

/* Kutipan */
.theme-natural .sec-quote { background-color: var(--primary); background-image: var(--paper); }
.theme-natural .quote-text { font-size: clamp(1.15rem, 4vw, 1.45rem); }

/* Acara */
.theme-natural .event { border-radius: 40px 40px 26px 26px; border-color: rgba(95, 115, 80, .3); }
.theme-natural .event-date .dd { font-style: italic; }
.theme-natural .btn-ghost { border-color: var(--primary); }

/* Galeri */
.theme-natural .g-item { border-radius: 26px; }
.theme-natural .g-item:nth-child(4n+2) { border-radius: 90px 26px 26px 26px; }
.theme-natural .g-item:nth-child(4n+3) { border-radius: 26px 90px 26px 26px; }

/* Hadiah */
.theme-natural .gift-card { border-radius: 30px; border: 1.5px dashed rgba(95, 115, 80, .55); }

/* RSVP */
.theme-natural .rsvp-form { border-radius: 32px; }
.theme-natural .field input[type=text], .theme-natural .field select, .theme-natural .field textarea { border-radius: 18px; }
.theme-natural .wish { border-radius: 20px; }
.theme-natural .rsvp-stats > div { border-radius: 22px; }

/* Footer */
.theme-natural .footer { background-color: #526645; background-image: var(--paper); }
.theme-natural .footer-names { color: #f1d9b5; }
.theme-natural .footer .orn-divider { color: #cfe0b8; }

/* Dock & musik */
.theme-natural .dock { background: rgba(255, 253, 247, .92); }
.theme-natural .music-btn { background: var(--accent); color: #fff; }
.theme-natural .dock a.active { background: var(--primary); }

/* Partikel: daun jatuh */
.theme-natural .particles i {
  background: linear-gradient(135deg, #a9c28a, #6f8a58);
  border-radius: 0 100% 0 100%;
  opacity: .0;
  filter: drop-shadow(0 2px 3px rgba(60, 80, 40, .25));
}
.theme-natural .particles i:nth-child(3n) { background: linear-gradient(135deg, #d8b08a, #b9835a); }
.theme-natural .particles i:nth-child(4n) { background: linear-gradient(135deg, #e6d9a8, #c9b36a); }
