  .js .reveal { opacity: 1; transform: none; }
}

/* ======================================================================
   TEMA: GOLDEN BLOOM
   ====================================================================== */

:root {
  --bg: #fffaf3; --surface: #fff; --text: #4b3b2f; --heading: #3a2c22; --muted: #8a7a6b;
  --accent: #b8925a; --accent-2: #e8c9c1; --blush: #f6e1dc; --line: rgba(184, 146, 90, .3);
  --font-head: 'Cormorant Garamond', serif; --font-script: 'Pinyon Script', cursive; --font-body: 'Jost', sans-serif;
  --btn-bg: linear-gradient(135deg, #d9b98a, #b8925a); --btn-color: #fff; --btn-shadow: 0 10px 24px -12px rgba(184, 146, 90, .8);
  --input-bg: #fffdf9; --radius: 6px; --radius-sm: 4px; --photo-radius: 999px 999px 6px 6px; --toast-bg: #b8925a;
}
body { font-weight: 300; background: linear-gradient(180deg, #fffaf3, #fdf3ec); }
h1, h2, h3 { font-weight: 500; }
.sec-title, .cover-names, .hero-names, .closing-title, .closing-names, .person-name, .couple-amp {
  font-family: 'Pinyon Script', cursive; font-weight: 400; color: var(--accent);
}
.sec-title { font-size: clamp(2.8rem, 11vw, 3.8rem); }
.sec-eyebrow, .hero-eyebrow, .cover-label { color: var(--muted); letter-spacing: .4em; font-weight: 400; }
.event-card h3 { font-size: 1.9rem; font-style: italic; }
.cd-num, .stats strong { color: var(--accent); }
.btn-ghost { color: var(--accent); }

/* Mawar emas line-art */
.rose { position: absolute; width: 110px; color: var(--accent); pointer-events: none; opacity: .75; }
.rose-tl { top: 1.5rem; left: 1rem; transform: rotate(-25deg); }
.rose-br { bottom: 1.5rem; right: 1rem; transform: rotate(155deg); }
.rose-top { position: relative; display: block; width: 70px; margin: 0 auto 1rem; opacity: 1; }

/* Bingkai ganda emas */
.cover-inner, .hero-inner, .closing-inner, .card-x {
  border: 1px solid var(--line); outline: 1px solid var(--line); outline-offset: -8px;
}
.cover-photo { opacity: .35; filter: sepia(.3); }
.cover-overlay { background: linear-gradient(180deg, rgba(255, 250, 243, .6), rgba(255, 250, 243, .92) 55%, #fffaf3); }
.cover-inner { padding: 2.5rem 1.75rem; background: rgba(255, 255, 255, .78); backdrop-filter: blur(4px); }
.cover-figure { width: min(150px, 42vw); aspect-ratio: 3 / 4; border-radius: 999px 999px 6px 6px; border: 1px solid var(--accent); padding: 5px; }
.cover-figure img { border-radius: inherit; }
.cover-guest { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cover-date, .hero-date { font-family: var(--font-head); font-size: 1.15rem; color: var(--heading); }
.hero-overlay { background: linear-gradient(180deg, rgba(255, 250, 243, .55), rgba(255, 250, 243, .9) 65%, #fffaf3); }
.hero-inner { padding: 3rem 1.75rem; width: min(100%, 480px); background: rgba(255, 255, 255, .55); }
.card-x { box-shadow: 0 20px 40px -30px rgba(120, 90, 50, .5); }
.person-photo { border: 1px solid var(--accent); padding: 6px; }
.person-photo img { border-radius: inherit; }
.arabic { color: var(--accent); }
.quote-box { padding: 2rem 1.25rem; background: var(--blush); border-radius: 999px 999px 8px 8px; padding-top: 3.5rem; }
.g-item { border-radius: 4px; }
.g-item:nth-child(1) { border-radius: 999px 999px 4px 4px; }
.sec-event, .sec-rsvp { background: rgba(246, 225, 220, .4); }
.gift-bca { --gift-bg: linear-gradient(135deg, #f3e3c3, #d9b98a 50%, #b8925a); --gift-color: #3a2c22; }
.gift-mandiri { --gift-bg: linear-gradient(135deg, #fbeee9, #f0d0c8 55%, #d9a89c); --gift-color: #3a2c22; }
.gift-card { border-radius: 10px; }
.gift-bank { font-family: var(--font-head); }
.closing { background: linear-gradient(180deg, transparent, var(--blush)); }
.closing-inner { position: relative; padding: 2.5rem 1.5rem; max-width: 640px; margin-inline: auto; background: #fff; }
.closing-names { font-size: 3rem; }
.music-btn { box-shadow: 0 0 0 4px #fff, 0 0 0 5px var(--accent); }
