/* ==========================================================
   TEMA KLASIK ROYAL - burgundy, emas antik, bingkai ornamen
   ========================================================== */
body.theme-klasik {
  --bg: #f8f1e3;
  --bg-alt: #f0e5cc;
  --surface: #fffaf0;
  --text: #3b2a29;
  --muted: #7d6a66;
  --primary: #5a1a24;
  --primary-contrast: #f6e7c1;
  --accent: #b8914a;
  --border: rgba(184, 145, 74, .55);
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body: 'EB Garamond', Georgia, serif;
  --font-script: 'Pinyon Script', cursive;
  --font-caps: 'Cinzel', Georgia, serif;
  --radius: 4px;
  --radius-sm: 3px;
  --shadow: 0 12px 30px rgba(90, 26, 36, .12);
  --cover-shade: radial-gradient(ellipse at center, rgba(70, 14, 26, .55) 0%, rgba(48, 8, 18, .9) 100%);
  --hero-shade: radial-gradient(ellipse at center, rgba(70, 14, 26, .55) 0%, rgba(48, 8, 18, .9) 100%);
  --gold-text: linear-gradient(135deg, #f0d894 0%, #c9a24b 45%, #f5e3aa 70%, #b8914a 100%);
  --damask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23b8914a' stroke-opacity='.22' stroke-width='1'%3E%3Cpath d='M40 6c10 10 10 22 0 34-10-12-10-24 0-34zM40 74c-10-10-10-22 0-34 10 12 10 24 0 34zM6 40c10-10 22-10 34 0-12 10-24 10-34 0zM74 40c-10 10-22 10-34 0 12-10 24-10 34 0z'/%3E%3Ccircle cx='40' cy='40' r='3'/%3E%3C/g%3E%3C/svg%3E");
}

body.theme-klasik { font-size: 18px; }
.theme-klasik .eyebrow { font-family: var(--font-caps); font-weight: 600; letter-spacing: .34em; font-size: .72rem; }
.theme-klasik .sec-title { font-family: var(--font-caps); font-weight: 600; letter-spacing: .1em; font-size: clamp(1.6rem, 6vw, 2.3rem); text-transform: uppercase; }
.theme-klasik .btn { border-radius: 2px; font-family: var(--font-caps); letter-spacing: .14em; text-transform: uppercase; font-size: .78rem; font-weight: 600; border-color: var(--accent); }
.theme-klasik .btn-ghost { color: var(--primary); }
.theme-klasik .btn-open { background: linear-gradient(135deg, #e8cf90, #b8914a); color: #3a0d15; }

/* Sudut & bingkai */
.theme-klasik .orn { color: #d6b265; width: clamp(86px, 24vw, 150px); }
.theme-klasik .orn-tr { transform: scaleX(-1); }
.theme-klasik .orn-bl { transform: scaleY(-1); }
.theme-klasik .orn-br { transform: scale(-1, -1); }
.theme-klasik .orn-frame { position: absolute; inset: 14px; border: 1px solid rgba(214, 178, 101, .75); pointer-events: none; z-index: 1; }
.theme-klasik .orn-frame::after { content: ''; position: absolute; inset: 5px; border: 1px solid rgba(214, 178, 101, .38); }

/* Cover & hero */
.theme-klasik .cover::before, .theme-klasik .hero::before {
  content: ''; position: absolute; inset: 0; background-image: var(--damask); opacity: .8; z-index: 1; pointer-events: none;
}
.theme-klasik .cover-names, .theme-klasik .hero-names {
  font-family: var(--font-script);
  background: var(--gold-text); -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
  filter: drop-shadow(0 3px 14px rgba(0, 0, 0, .45));
}
.theme-klasik .names .amp { font-family: var(--font-display); font-style: italic; -webkit-text-fill-color: #d6b265; color: #d6b265; }
.theme-klasik .cover-names { font-size: clamp(3.4rem, 15vw, 5.8rem); }
.theme-klasik .cover-date, .theme-klasik .hero-date { font-family: var(--font-caps); font-size: .85rem; letter-spacing: .3em; color: #f1dca4; }
.theme-klasik .cover-guest { border-radius: 2px; border: 1px solid rgba(214, 178, 101, .7); background: rgba(40, 6, 14, .35); }
.theme-klasik .cover-guest .guest-name { font-family: var(--font-display); font-style: italic; font-size: 1.4rem; }
.theme-klasik .countdown > div { border-radius: 2px; border-color: rgba(214, 178, 101, .65); background: rgba(40, 6, 14, .4); }
.theme-klasik .countdown b { font-family: var(--font-caps); font-weight: 600; }
.theme-klasik .scroll-cue { border-radius: 50%; border-color: #d6b265; color: #d6b265; box-shadow: 0 0 0 4px rgba(40, 6, 14, .35), 0 0 0 5px rgba(214, 178, 101, .45); }

/* Section */
.theme-klasik .section { background-image: var(--damask); }
.theme-klasik .sec-events { background-color: var(--bg-alt); }
.theme-klasik .sec-gift { background-color: var(--bg-alt); }
.theme-klasik .opening { font-style: italic; font-size: 1.12em; }

/* Mempelai: foto oval berbingkai emas */
.theme-klasik .person .photo {
  width: min(250px, 72%); aspect-ratio: 3 / 4; border-radius: 50%;
  box-shadow: 0 0 0 6px var(--bg), 0 0 0 7.5px var(--accent), 0 0 0 13px var(--bg), 0 0 0 14px rgba(184, 145, 74, .5), var(--shadow);
  margin-bottom: 1.8rem;
}
.theme-klasik .person-name { font-family: var(--font-display); font-weight: 600; font-size: 1.55rem; }
.theme-klasik .couple-amp { font-size: 4.4rem; }

/* Kutipan */
.theme-klasik .sec-quote { background-color: var(--primary); background-image: var(--damask); }
.theme-klasik .quote-text { font-family: var(--font-display); font-size: clamp(1.1rem, 4vw, 1.4rem); }

/* Acara: kartu bingkai ganda */
.theme-klasik .event { border: 1px solid var(--accent); border-radius: 2px; position: relative; box-shadow: var(--shadow); }
.theme-klasik .event::before { content: ''; position: absolute; inset: 6px; border: 1px solid rgba(184, 145, 74, .4); pointer-events: none; }
.theme-klasik .event-title { font-family: var(--font-script); font-size: 2.3rem; font-weight: 400; color: var(--primary); line-height: 1.1; }
.theme-klasik .event-date .dow { font-family: var(--font-caps); }
.theme-klasik .event-date .dd { font-family: var(--font-caps); font-weight: 600; }
.theme-klasik .event-time { font-family: var(--font-caps); font-size: .9rem; letter-spacing: .08em; }
.theme-klasik .hashtag { font-family: var(--font-script); font-size: 1.8rem; }

/* Galeri */
.theme-klasik .g-item { border-radius: 0; box-shadow: 0 0 0 4px var(--bg), 0 0 0 5px var(--accent); margin: 5px; }
.theme-klasik .gallery { gap: .8rem; }

/* Hadiah */
.theme-klasik .gift-card { border: 1px solid var(--accent); border-radius: 2px; position: relative; }
.theme-klasik .gift-card::before { content: ''; position: absolute; inset: 5px; border: 1px solid rgba(184, 145, 74, .4); pointer-events: none; }
.theme-klasik .gift-bank { font-family: var(--font-caps); }
.theme-klasik .gift-no { font-family: var(--font-caps); font-size: 1.45rem; font-weight: 600; }

/* RSVP */
.theme-klasik .rsvp-form { border: 1px solid var(--accent); border-radius: 2px; position: relative; }
.theme-klasik .rsvp-form::before { content: ''; position: absolute; inset: 5px; border: 1px solid rgba(184, 145, 74, .35); pointer-events: none; }
.theme-klasik .field > span, .theme-klasik .field > legend { font-family: var(--font-caps); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.theme-klasik .pills span { border-radius: 2px; }
.theme-klasik .wish { border-radius: 2px; }
.theme-klasik .wish-head { font-family: var(--font-caps); letter-spacing: .1em; font-size: 1.1rem; }
.theme-klasik .rsvp-stats b { font-family: var(--font-caps); }

/* Footer */
.theme-klasik .footer { background-color: var(--primary); background-image: var(--damask); }
.theme-klasik .footer-names { background: var(--gold-text); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.theme-klasik .footer .orn-divider { color: #d6b265; }

/* Dock & musik */
.theme-klasik .dock { border-radius: 4px; background: rgba(255, 250, 240, .94); border-color: var(--accent); }
.theme-klasik .dock a { border-radius: 2px; font-family: var(--font-caps); }
.theme-klasik .music-btn { border-radius: 50%; background: var(--primary); border: 1px solid #d6b265; color: #f1dca4; }

/* Partikel: kilau emas */
.theme-klasik .particles i {
  background: radial-gradient(circle, #f5e3aa 0%, rgba(214, 178, 101, .0) 70%);
  border-radius: 50%;
}
