/* ==========================================================================
   Motion 07 Wedding Invitation - Stylesheet
   Based on Elementor Template 14313 (House of Invitations)
   ========================================================================== */

/* --------------------------------------------------------------------------
   LOCAL CUSTOM FONTS (@font-face)
   -------------------------------------------------------------------------- */
@font-face {
  font-family: 'romauntgaolines';
  src: url('assets/fonts/romauntgaolines.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'aston-script';
  src: url('assets/fonts/aston-script.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'analogue';
  src: url('assets/fonts/analogue.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Parisienne';
  src: url('assets/fonts/parisienne.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --primary-font: 'Vidaloka', serif;
  --secondary-font: 'aston-script', cursive, serif;
  --text-font: 'Caudex', serif;
  --accent-font: 'Cormorant Garamond', serif;
  --number-font: 'analogue', sans-serif;
  --bank-font: 'Jura', sans-serif;
  --form-font: 'Quicksand', sans-serif;

  --color-maroon: #7C2527;
  --color-maroon-dark: #611A1C;
  --color-maroon-light: #B44C4F;
  --color-cream: #FFF0E5;
  --color-cream-card: rgba(253, 239, 229, 0.9);
  --color-gold: #c5a059;
  --color-gold-dark: #b38a3e;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html, body {
  width: 100%;
  height: 100%;
  font-family: var(--text-font), serif;
  background-color: #2b0809;
  color: var(--color-maroon);
  overflow-x: hidden;
}

/* Embedded Base64 Monogram Font (RomauntGaolines) */
@font-face {
  font-family: 'romauntgaolines';
  src: url('data:font/woff2;charset=utf-8;base64,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') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}


:root {
  --primary-font: 'Vidaloka', serif;
  --secondary-font: 'aston-script', cursive, serif;
  --text-font: 'Caudex', serif;
  --accent-font: 'Cormorant Garamond', serif;
  --number-font: 'analogue', sans-serif;
  --bank-font: 'Jura', sans-serif;
  --form-font: 'Quicksand', sans-serif;

  --color-primary: #7C2527;
  --color-primary-dark: #611A1C;
  --color-maroon: #7C2527;
  --color-maroon-dark: #611A1C;
  --color-maroon-light: #B44C4F;
  --color-cream: #FFF0E5;
  --color-cream-card: rgba(253, 239, 229, 0.9);
  --color-gold: #c5a059;
  --color-gold-dark: #b38a3e;
  --color-gold-light: #f3e5c8;
  --color-bg-light: #FFF0E5;
  --color-bg-card: #ffffff;
  --color-dark: #333333;
  --color-muted: #666666;
  --color-border: #e6dac8;
}

/* ==========================================================================
   BULLETPROOF REVEAL ANIMATIONS (IntersectionObserver + AOS compatibility)
   Matched to Elementor Premium 2.0s Slow Smooth Motion
   ========================================================================== */
[data-aos] {
  opacity: 0;
  transition: opacity 1.6s cubic-bezier(0.25, 1, 0.5, 1), transform 1.6s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

[data-aos].aos-animate {
  opacity: 1 !important;
  transform: translate(0, 0) scale(1) !important;
}

[data-aos="fade-up"]:not(.aos-animate) {
  transform: translateY(40px) !important;
}

[data-aos="fade-down"]:not(.aos-animate) {
  transform: translateY(-40px) !important;
}

[data-aos="zoom-in"]:not(.aos-animate) {
  transform: scale(0.82) !important;
}

[data-aos="fade-right"]:not(.aos-animate) {
  transform: translateX(-40px) !important;
}

/* Staggered Delay Helpers (Calibrated for Relaxed, Royal Cadence) */
[data-aos-delay="50"] { transition-delay: 80ms !important; }
[data-aos-delay="100"] { transition-delay: 150ms !important; }
[data-aos-delay="150"] { transition-delay: 220ms !important; }
[data-aos-delay="200"] { transition-delay: 300ms !important; }
[data-aos-delay="250"] { transition-delay: 380ms !important; }
[data-aos-delay="300"] { transition-delay: 450ms !important; }
[data-aos-delay="350"] { transition-delay: 520ms !important; }
[data-aos-delay="400"] { transition-delay: 600ms !important; }
[data-aos-delay="450"] { transition-delay: 680ms !important; }
[data-aos-delay="500"] { transition-delay: 750ms !important; }
[data-aos-delay="550"] { transition-delay: 820ms !important; }
[data-aos-delay="600"] { transition-delay: 900ms !important; }
[data-aos-delay="650"] { transition-delay: 980ms !important; }
[data-aos-delay="700"] { transition-delay: 1050ms !important; }
[data-aos-delay="800"] { transition-delay: 1200ms !important; }
[data-aos-delay="1000"] { transition-delay: 1400ms !important; }

/* Reset & Base Styles */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  width: 100%;
  min-height: 100%;
  background-color: #faf6f0;
  font-family: var(--font-sans);
  color: var(--color-dark);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

body.cover-locked {
  overflow: hidden;
  height: 100vh;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* DESKTOP LEFT SIDEBAR COVER WALLPAPER (#desk_cov) */
#desk_cov {
  position: fixed;
  top: 0;
  left: 0;
  width: calc(100vw - 500px);
  height: 100vh;
  background: linear-gradient(135deg, #1C1917 0%, #291B1A 50%, #151313 100%) center center / cover no-repeat;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
}

.desk-cov-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.45) 100%);
}

.desk-cov-content {
  position: relative;
  z-index: 2;
  color: #ffffff;
  padding: 40px;
  text-align: center;
}

@keyframes deskFadeDown {
  from {
    opacity: 0;
    transform: translateY(-25px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes deskZoomIn {
  from {
    opacity: 0;
    transform: scale(0.85);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes deskFadeUp {
  from {
    opacity: 0;
    transform: translateY(25px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.desk-tagline {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.3rem;
  letter-spacing: 5px;
  text-transform: uppercase;
  margin-bottom: 15px;
  color: #f3e5d8;
  opacity: 0;
  transform: translateY(-25px);
}

.desk-names {
  font-family: 'Vidaloka', serif;
  font-size: 3.8rem;
  color: #ffffff;
  margin-bottom: 15px;
  letter-spacing: 3px;
  line-height: 1.15;
  opacity: 0;
  transform: scale(0.85);
}

.desk-date {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  letter-spacing: 5px;
  color: #f3e5d8;
  opacity: 0;
  transform: translateY(25px);
}

/* Staggered Per-Item Animations Activated on Open */
#desk_cov.desk-active .desk-tagline {
  animation: deskFadeDown 1.4s cubic-bezier(0.25, 1, 0.5, 1) 0.3s forwards;
}

#desk_cov.desk-active .desk-names {
  animation: deskZoomIn 1.4s cubic-bezier(0.25, 1, 0.5, 1) 0.7s forwards;
}

#desk_cov.desk-active .desk-date {
  animation: deskFadeUp 1.4s cubic-bezier(0.25, 1, 0.5, 1) 1.1s forwards;
}

@media (max-width: 900px) {
  #desk_cov {
    display: none !important;
  }
}

/* APP CONTAINER - DOCKED ON RIGHT SIDE FOR DESKTOP, CENTERED FOR MOBILE */
.app-container {
  min-height: 100vh;
  background-color: var(--color-bg-light);
  position: relative;
  box-shadow: 0 0 50px rgba(124, 37, 39, 0.2);
  overflow-x: hidden;
}

@media (min-width: 901px) {
  .app-container {
    margin-left: calc(100vw - 500px);
    width: 500px;
    max-width: 500px;
  }
}

@media (max-width: 900px) {
  .app-container {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
}

/* ==========================================================================
   COVER OVERLAY SECTION (#sec / #kolom) - FULLSCREEN INITIAL SCREEN
   ========================================================================== */
.cover-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;
  min-height: 100dvh;
  min-height: -webkit-fill-available;
  background: url('https://inv.rumahundangan.id/wp-content/uploads/2026/07/SUJA-CVR-DSKTP-PII-scaled-1-1.webp') center center / cover no-repeat;
  z-index: 999999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: transform 1.2s cubic-bezier(0.77, 0, 0.175, 1), opacity 1.2s ease;
}

@media (max-width: 900px) {
  .cover-overlay {
    background-image: url('https://inv.rumahundangan.id/wp-content/uploads/2026/07/SUJA-CVR-MOBILE-PII.webp');
  }
}

.cover-overlay.unlocked,
.cover-overlay.cover-hidden {
  transform: translateY(-100%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.cover-kolom, .cover-inner {
  padding: 30px 20px;
  max-width: 440px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  z-index: 10;
}

/* PURE CSS STAGGERED COVER ANIMATIONS (Immediate, Reliable, Non-blocking) */
@keyframes coverZoomIn {
  0% { opacity: 0; transform: scale(0.6); }
  100% { opacity: 1; transform: scale(1); }
}

@keyframes coverFadeDown {
  0% { opacity: 0; transform: translateY(-25px); }
  100% { opacity: 1; transform: translateY(0); }
}

@keyframes coverFadeUp {
  0% { opacity: 0; transform: translateY(25px); }
  100% { opacity: 1; transform: translateY(0); }
}

.cover-anim-1 {
  animation: coverZoomIn 1.8s cubic-bezier(0.25, 1, 0.5, 1) 0.2s both;
}
.cover-anim-2 {
  animation: coverZoomIn 1.8s cubic-bezier(0.25, 1, 0.5, 1) 0.5s both;
}
.cover-anim-3 {
  animation: coverFadeDown 1.6s cubic-bezier(0.25, 1, 0.5, 1) 0.8s both;
}
.cover-anim-4 {
  animation: coverFadeDown 1.6s cubic-bezier(0.25, 1, 0.5, 1) 1.1s both;
}
.cover-anim-5 {
  animation: coverFadeUp 1.6s cubic-bezier(0.25, 1, 0.5, 1) 1.4s both;
}
.cover-anim-6 {
  animation: coverFadeUp 1.6s cubic-bezier(0.25, 1, 0.5, 1) 1.7s both;
}
.cover-anim-7 {
  animation: coverZoomIn 1.6s cubic-bezier(0.25, 1, 0.5, 1) 2.0s both;
}

/* MONOGRAM EMBLEM (EXACT CUSTOM DESIGN) */
.monogram-img-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px !important;
  width: 100%;
}

.monogram-emblem-img {
  width: 160px;
  max-width: 160px;
  height: auto;
  display: block;
  filter: drop-shadow(0 4px 10px rgba(120, 31, 32, 0.2));
  transition: transform 0.3s ease;
}

.monogram-emblem-img:hover {
  transform: scale(1.04);
}

.hero-monogram-img {
  width: 140px;
  max-width: 140px;
  margin-bottom: 8px;
}

.cover-subtitle {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 17px !important;
  letter-spacing: 3px !important;
  color: #781F20 !important;
  text-transform: uppercase !important;
  margin-top: 5px !important;
  margin-bottom: 8px !important;
  font-weight: 700 !important;
}

.cover-title, .cover-names {
  font-family: 'Vidaloka', serif !important;
  font-size: 38px !important;
  font-weight: 400 !important;
  color: #781F20 !important;
  margin-bottom: 22px !important;
  letter-spacing: 1.5px !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.to-text, .guest-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #781F20 !important;
  margin-bottom: 6px !important;
}

.guest-name {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  font-style: italic !important;
  color: #781F20 !important;
  margin-bottom: 24px !important;
}

.btn-open, .btn-open-invitation {
  background-color: transparent !important;
  background-image: radial-gradient(at center center, #B44C4F 0%, #611A1C 100%) !important;
  color: #ffffff !important;
  border: none !important;
  padding: 10px 28px !important;
  border-radius: 25px !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: 0 6px 18px rgba(97, 26, 28, 0.45) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

.btn-open:hover, .btn-open-invitation:hover {
  transform: scale(1.06) !important;
  box-shadow: 0 8px 24px rgba(97, 26, 28, 0.65) !important;
}

/* ==========================================================================
   SECTION 1: WAYANG GUNUNGAN BACKGROUND VIDEO (#slideAwal)
   ========================================================================== */
.slide-awal-section {
  width: 100%;
  height: 100dvh;
  min-height: 100dvh;
  min-height: -webkit-fill-available;
  position: relative;
  overflow: hidden;
  background-color: #7C2527;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
}

.video-bg-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  z-index: 1;
}

.intro-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hero-text-overlay {
  position: relative;
  z-index: 10;
  width: 100%;
  max-width: 360px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  pointer-events: none;
}

/* Individual child items initial state (hidden) */
.hero-text-overlay .hero-monogram,
.hero-text-overlay .hero-hashtag,
.hero-text-overlay .hero-subtitle,
.hero-text-overlay .hero-title,
.hero-text-overlay .hero-date-str,
.hero-text-overlay .scroll-icon-wrap {
  opacity: 0;
  transform: translateY(25px);
  transition: opacity 1.4s cubic-bezier(0.25, 1, 0.5, 1), transform 1.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.hero-text-overlay .hero-monogram {
  transform: scale(0.8);
}

.hero-text-overlay .hero-hashtag {
  transform: translateY(-10px);
}

.hero-text-overlay .hero-subtitle {
  transform: translateY(-20px);
}

/* Staggered per-item reveal when video finishes / active */
.hero-text-overlay.active,
.hero-text-overlay.show-text {
  pointer-events: auto;
}

.hero-text-overlay.active .hero-monogram,
.hero-text-overlay.show-text .hero-monogram {
  opacity: 1;
  transform: scale(1);
  transition-delay: 0.2s;
}

.hero-text-overlay.active .hero-hashtag,
.hero-text-overlay.show-text .hero-hashtag {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.45s;
}

.hero-text-overlay.active .hero-subtitle,
.hero-text-overlay.show-text .hero-subtitle {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.75s;
}

.hero-text-overlay.active .hero-title,
.hero-text-overlay.show-text .hero-title {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 1.1s;
}

.hero-text-overlay.active .hero-date-str,
.hero-text-overlay.show-text .hero-date-str {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 1.5s;
}

.hero-text-overlay.active .scroll-icon-wrap,
.hero-text-overlay.show-text .scroll-icon-wrap {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 1.9s;
}

.hero-monogram {
  margin-bottom: 6px;
}

.hero-hashtag {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  font-style: italic !important;
  letter-spacing: 2px !important;
  color: #781F20 !important;
  margin-top: 4px !important;
  margin-bottom: 6px !important;
  opacity: 0.95;
}

.cover-hashtag {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  font-style: italic !important;
  letter-spacing: 2px !important;
  color: #781F20 !important;
  margin-top: 6px !important;
  margin-bottom: 8px !important;
  opacity: 0.95;
}

.desk-hashtag {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.1rem;
  font-style: italic;
  letter-spacing: 3px;
  color: #f3e5d8;
  margin-bottom: 12px;
  opacity: 0.9;
}

.footer-hashtag {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem;
  font-weight: 700;
  font-style: italic;
  letter-spacing: 2px;
  color: var(--color-gold);
  margin-bottom: 6px;
}

.hero-subtitle {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #781F20 !important;
  margin-top: 10px !important;
  margin-bottom: 6px !important;
}

.hero-title {
  font-family: 'Vidaloka', serif !important;
  font-size: 38px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  color: #781F20 !important;
  margin-bottom: 10px !important;
  line-height: 1.1 !important;
}

.hero-date-str {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: 4px !important;
  color: #781F20 !important;
  margin-bottom: 20px !important;
}

/* MOUSE SCROLL PILL */
.scroll-icon-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 10px;
}

.mouse-pill {
  width: 24px;
  height: 38px;
  border: 2px solid #781F20;
  border-radius: 12px;
  position: relative;
}

.scroll-dot {
  width: 4px;
  height: 8px;
  background-color: #781F20;
  border-radius: 2px;
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  animation: scrollAnim 1.8s infinite ease-in-out;
}

@keyframes scrollAnim {
  0% { opacity: 1; transform: translate(-50%, 0); }
  100% { opacity: 0; transform: translate(-50%, 14px); }
}

/* ==========================================================================
   SECTION 2: QUOTE SECTION (WITH LOVE)
   ========================================================================== */
.quote-section {
  background-color: #FFF0E5;
  position: relative;
  overflow: hidden;
  padding: 60px 20px 50px;
}

.quote-inner-wrap {
  position: relative;
  z-index: 5;
  max-width: 420px;
  margin: 0 auto;
}

.quote-flower-wrapper {
  position: absolute;
  pointer-events: none;
  z-index: 8 !important;
}

.quote-flower-top-right {
  top: -25px;
  right: -95px;
  width: 270px;
  max-width: 58%;
}

.quote-flower-bottom-left {
  top: 180px;
  left: -105px;
  width: 270px;
  max-width: 58%;
}

.quote-flower-decor {
  width: 100%;
  height: auto;
  display: block;
  pointer-events: none;
  opacity: 0.98;
}

@keyframes swayTopRight {
  0% {
    transform: rotate(0deg) scale(1);
  }
  50% {
    transform: rotate(5deg) scale(1.02);
  }
  100% {
    transform: rotate(-3deg) scale(1);
  }
}

@keyframes swayBottomLeft {
  0% {
    transform: scaleX(-1) rotate(0deg) scale(1);
  }
  50% {
    transform: scaleX(-1) rotate(-5deg) scale(1.02);
  }
  100% {
    transform: scaleX(-1) rotate(3deg) scale(1);
  }
}

.sway-tr {
  animation: swayTopRight 4.5s ease-in-out infinite alternate;
  transform-origin: center center;
}

.sway-bl {
  animation: swayBottomLeft 4.8s ease-in-out infinite alternate;
  transform-origin: center center;
}

.avatar-quote-img {
  width: 100%;
  max-width: 380px;
  border-radius: 22px;
  overflow: hidden;
  margin: 0 auto 28px;
  box-shadow: 0 8px 25px rgba(124, 37, 39, 0.15);
  position: relative;
  z-index: 5;
}

.avatar-quote-img img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 22px;
}

.quote-heading {
  font-family: 'Vidaloka', serif !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  letter-spacing: 3px !important;
  color: #7C2527 !important;
  margin-top: 15px !important;
  margin-bottom: 15px !important;
  position: relative;
  z-index: 15 !important;
}

.quran-quote {
  font-family: 'Caudex', serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #7C2527 !important;
  line-height: 1.8 !important;
  max-width: 380px;
  margin: 0 auto 16px;
  position: relative;
  z-index: 15 !important;
}

.quote-source {
  font-family: 'Caudex', serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #7C2527 !important;
}

/* ==========================================================================
   SECTION 3: BRIDE & GROOM (CENTERED CARD CONTAINER - GAMBAR 1)
   ========================================================================== */
.couple-section {
  background: url("https://inv.rumahundangan.id/wp-content/uploads/2026/07/P7-COUPLE-REV-PII.webp") top center / cover no-repeat #FFF0E5;
  padding: 60px 15px 70px;
  position: relative;
}

.couple-unified-card {
  width: 100%;
  max-width: 440px;
  margin: 0 auto;
  padding: 40px 22px;
  box-sizing: border-box;
  background-color: rgba(253, 239, 229, 0.9);
  border: 3px solid #7C2527;
  border-radius: 24px;
  box-shadow: 0 10px 30px rgba(124, 37, 39, 0.12);
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.section-title-wrap {
  text-align: center !important;
  width: 100% !important;
  margin: 0 auto !important;
}

.couple-section-title {
  font-family: 'Vidaloka', serif !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  color: #7C2527 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  margin-bottom: 12px !important;
  text-align: center !important;
  width: 100% !important;
}

.couple-section-desc {
  font-family: 'Caudex', serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #7C2527 !important;
  line-height: 1.7 !important;
  max-width: 360px !important;
  margin: 0 auto 35px !important;
  text-align: center !important;
}

.couple-profile {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 25px;
  width: 100%;
  text-align: center;
}

.couple-arch-photo {
  width: 200px !important;
  max-width: 200px !important;
  height: 275px !important;
  margin: 0 auto 18px;
  border-radius: 500px !important; /* EXACT OVAL ELLIPSE MATCHING GAMBAR 1 */
  overflow: hidden;
  border: 2.5px solid #7C2527;
  box-shadow: 0 8px 25px rgba(124, 37, 39, 0.15);
}

.couple-arch-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
}

.couple-script-name {
  font-family: 'aston-script', cursive, serif !important;
  font-style: normal !important;
  font-size: 36px !important;
  font-weight: 500 !important;
  color: #7C2527 !important;
  margin-bottom: 8px !important;
  line-height: 1.3 !important;
  text-align: center !important;
}

.couple-fullname-title {
  font-family: 'Vidaloka', serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  color: #7C2527 !important;
  letter-spacing: 1px !important;
  text-transform: none !important;
  margin-bottom: 12px !important;
  text-align: center !important;
}

.couple-parents-desc {
  font-family: 'Caudex', serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #7C2527 !important;
  line-height: 1.7 !important;
  margin-bottom: 16px !important;
  text-align: center !important;
}

.social-circle-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #7C2527;
  color: #ffffff !important;
  text-decoration: none;
  font-size: 18px;
  box-shadow: 0 4px 12px rgba(124, 37, 39, 0.3);
  transition: transform 0.3s ease, background-color 0.3s ease;
  margin: 0 auto;
}

.social-circle-btn:hover {
  transform: scale(1.1);
  background-color: #9c2e30;
}

.couple-ampersand-divider {
  margin: 30px auto;
  text-align: center;
  width: 100%;
}

.couple-ampersand-divider img {
  width: 65px !important;
  max-width: 65px !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}



/* ==========================================================================
   SECTION 4: SAVE THE DATE (PHOTO BACKGROUND WITH COUNTDOWN - TALLER HEIGHT)
   ========================================================================== */
.countdown-section {
  position: relative;
  background: url("assets/photos/WULA0373.webp") center center / cover no-repeat #380F0F;
  min-height: 520px;
  padding: 130px 20px;
  overflow: hidden;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.countdown-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: rgba(56, 15, 15, 0.47);
  z-index: 1;
}

.countdown-inner {
  position: relative;
  z-index: 2;
  max-width: 420px;
  margin: 0 auto;
}

.countdown-title {
  font-family: 'Vidaloka', serif !important;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #ffffff;
  margin-bottom: 35px;
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.timer-grid {
  display: flex;
  justify-content: center;
  gap: 20px;
  max-width: 380px;
  margin: 0 auto;
}

.timer-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 60px;
}

.timer-num {
  font-family: 'analogue', 'Vidaloka', serif !important;
  font-size: 54px !important;
  font-weight: 400 !important;
  color: #ffffff !important;
  line-height: 1 !important;
  margin-bottom: 5px !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.5) !important;
}

.timer-label {
  font-family: 'Caudex', serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  letter-spacing: 1px !important;
}

/* ==========================================================================
   SECTION 5: EVENTS SECTION (AKAD NIKAH & RESEPSI - CONFINED FIXED STICKY BG)
   ========================================================================== */
.events-section {
  position: relative;
  background-color: #802D2F;
  background-image: url("https://inv.rumahundangan.id/wp-content/uploads/2026/07/SUJA-REDD-BACK-SCALED-PII.png");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  padding: 70px 15px;
  overflow: hidden;
}

.events-sticky-bg {
  display: none;
}

.events-inner {
  position: relative;
  z-index: 5;
}

.event-arch-card {
  width: 100%;
  max-width: 360px;
  min-height: 700px;
  margin: 0 auto 45px;
  background-image: url("https://inv.rumahundangan.id/wp-content/uploads/2026/07/SUJA-ACARA-BG2-PII.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 190px 190px 190px 190px !important;
  border: 3px solid #c5a059 !important;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.3) !important;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 85px 25px 65px !important;
  box-sizing: border-box;
}

.event-arch-inner {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.event-card-title {
  font-family: 'Vidaloka', serif !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  letter-spacing: 3px !important;
  color: #7C2527 !important;
  margin-bottom: 8px !important;
  text-transform: uppercase !important;
}

.event-card-day {
  font-family: 'Caudex', serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  color: #7C2527 !important;
  text-transform: uppercase !important;
  margin-bottom: 4px !important;
}

.event-card-date-num {
  font-family: 'analogue', 'Vidaloka', serif !important;
  font-size: 60px !important;
  font-weight: 400 !important;
  color: #873B3C !important;
  line-height: 1 !important;
  margin-bottom: 4px !important;
}

.event-card-month-year {
  font-family: 'Caudex', serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
  color: #7C2527 !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}

.event-card-time {
  font-family: 'Caudex', serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #7C2527 !important;
  margin-bottom: 15px !important;
}

.event-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 80%;
  margin: 0 auto 15px;
}

.event-divider-line {
  flex: 1;
  height: 1px;
  background-color: #7C2527;
  opacity: 0.6;
}

.event-divider-icon {
  font-size: 16px;
  color: #7C2527;
}

.event-location-text {
  font-family: 'Caudex', serif !important;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.6;
  color: #7C2527;
  margin-bottom: 22px;
}

.btn-location-gold {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #c5a059, #b38a3e);
  color: #ffffff !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 10px 24px;
  border-radius: 25px;
  text-decoration: none;
  box-shadow: 0 4px 15px rgba(179, 138, 62, 0.4);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.btn-location-gold:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(179, 138, 62, 0.6);
}

/* ==========================================================================
   SECTION 6 & 7: UNIFIED LOVE STORY & GALLERY (STICKY PARALLAX VINTAGE BACKGROUND)
   ========================================================================== */
.story-gallery-section {
  position: relative;
  background-color: #FFF0E5;
  background-image: url("https://inv.rumahundangan.id/wp-content/uploads/2026/07/SUJA-COUPLE-SCALED-PII.webp");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  padding: 70px 20px 80px;
  overflow: hidden;
}

.story-sticky-bg {
  display: none;
}

.story-gallery-inner {
  position: relative;
  z-index: 5;
}

.story-photo-card {
  max-width: 380px;
  margin: 0 auto 35px;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(124, 37, 39, 0.18);
  border: 2px solid rgba(206, 177, 114, 0.5);
  background-color: #ffffff;
}

.story-featured-img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.story-photo-card:hover .story-featured-img {
  transform: scale(1.03);
}

/* ==========================================================================
   LOVE STORY COLLAPSIBLE ACCORDION (BEST PRACTICE FADE GRADIENT & TOGGLE)
   ========================================================================== */
.story-collapsible-wrapper {
  max-width: 420px;
  margin: 0 auto;
  position: relative;
}

.story-collapsible-container {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  transition: max-height 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.story-collapsible-container.collapsed {
  max-height: 380px; /* Displays chapter 1 and intro comfortably */
}

.story-collapsible-container.expanded {
  max-height: 5000px; /* Full chapter narrative */
}

.story-fade-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 180px;
  background: linear-gradient(to bottom, rgba(255, 248, 242, 0) 0%, rgba(255, 248, 242, 0.75) 45%, rgba(255, 248, 242, 1) 100%);
  pointer-events: none;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  border-radius: 0 0 22px 22px;
  z-index: 5;
}

.story-collapsible-container.expanded .story-fade-overlay {
  opacity: 0;
  visibility: hidden;
}

.story-toggle-action-wrap {
  margin-top: 18px;
  text-align: center;
  position: relative;
  z-index: 10;
}

.btn-story-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 30px;
  background: linear-gradient(135deg, #7C2527 0%, #5E1B1D 100%);
  color: #F7E7CE;
  border: 1.5px solid #CEB172;
  border-radius: 50px;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 6px 22px rgba(124, 37, 39, 0.35);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-story-toggle:hover {
  background: linear-gradient(135deg, #942E30 0%, #7C2527 100%);
  color: #FFFFFF;
  border-color: #E5C378;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(124, 37, 39, 0.5);
}

.btn-story-toggle:active {
  transform: translateY(0);
}

.btn-story-toggle .btn-story-icon {
  font-size: 12px;
  color: #E5C378;
  transition: transform 0.4s ease;
}

.story-collapsible-container.expanded + .story-toggle-action-wrap .btn-story-icon {
  transform: rotate(180deg);
}

.story-narrative-wrap {
  width: 100%;
  margin: 0 auto;
  text-align: left;
  background: rgba(255, 248, 242, 0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 22px;
  border: 1.5px solid rgba(206, 177, 114, 0.45);
  box-shadow: 0 10px 35px rgba(124, 37, 39, 0.10);
  padding: 35px 24px 30px;
  position: relative;
  box-sizing: border-box;
}

.story-chapter {
  margin-bottom: 28px;
  position: relative;
}

.story-chapter:last-child {
  margin-bottom: 0;
}

/* UNIVERSAL WYSIWYG & SEMANTIC TAG STYLING FOR STORY */
.story-narrative-wrap h1,
.story-narrative-wrap h2,
.story-narrative-wrap h3,
.story-narrative-wrap h4,
.story-narrative-wrap .story-chapter-title {
  font-family: 'Vidaloka', serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #7C2527 !important;
  margin-top: 24px !important;
  margin-bottom: 10px !important;
  letter-spacing: 0.5px !important;
  display: flex;
  align-items: center;
  gap: 8px;
}

.story-narrative-wrap h1:first-child,
.story-narrative-wrap h2:first-child,
.story-narrative-wrap h3:first-child,
.story-narrative-wrap h4:first-child,
.story-narrative-wrap > div:first-child .story-chapter-title {
  margin-top: 0 !important;
}

.story-narrative-wrap h1::before,
.story-narrative-wrap h2::before,
.story-narrative-wrap h3::before,
.story-narrative-wrap h4::before,
.story-narrative-wrap .story-chapter-title::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #c5a059;
  flex-shrink: 0;
}

.story-narrative-wrap p,
.story-narrative-wrap .story-chapter-text {
  font-family: 'Caudex', serif !important;
  font-size: 14.5px !important;
  line-height: 1.85 !important;
  color: #3d1214 !important;
  margin-bottom: 14px !important;
  text-align: justify !important;
  text-justify: inter-word !important;
  -webkit-hyphens: auto;
  hyphens: auto;
  letter-spacing: 0.15px !important;
}

.story-narrative-wrap blockquote,
.story-narrative-wrap .story-quote-highlight {
  background: rgba(197, 160, 89, 0.12) !important;
  border-left: 3.5px solid #c5a059 !important;
  border-radius: 0 12px 12px 0 !important;
  padding: 16px 20px !important;
  margin: 18px 0 !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 17.5px !important;
  font-style: italic !important;
  font-weight: 700 !important;
  color: #7C2527 !important;
  line-height: 1.6 !important;
}

.story-narrative-wrap blockquote span,
.story-narrative-wrap .story-quote-singer {
  display: block;
  font-family: 'Caudex', serif !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  color: #9c7832 !important;
  margin-top: 8px;
  letter-spacing: 1px;
}

/* WYSIWYG PARAGRAPH COMPATIBILITY FOR OTHER SECTIONS */
.couple-parents-desc p,
.event-location-text p,
.gift-value p {
  margin: 0 !important;
  padding: 0 !important;
  line-height: inherit !important;
  font-family: inherit !important;
  color: inherit !important;
  font-size: inherit !important;
  display: inline-block;
}

/* ==========================================================================
   PINTEREST MASONRY COLLAGE GALLERY & VIDEO SPOTLIGHT
   ========================================================================== */
.gallery-wrap-seamless {
  margin-top: 55px;
  padding-top: 45px;
  border-top: 1px solid rgba(124, 37, 39, 0.2);
}

/* VIDEO SPOTLIGHT (CENTER TOP) */
.gallery-spotlight-wrap {
  max-width: 440px;
  margin: 0 auto 24px;
}

.gallery-spotlight-card {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 12px 35px rgba(124, 37, 39, 0.22);
  border: 2px solid rgba(206, 177, 114, 0.6);
  background: #111827;
  aspect-ratio: 16 / 9;
}

.gallery-spotlight-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* PINTEREST COLLAGE (2 MASONRY COLUMNS WITH STAGGERED OVERLAPPING CARDS) */
.gallery-pinterest-collage {
  display: flex;
  gap: 14px;
  max-width: 440px;
  margin: 0 auto;
  align-items: flex-start;
}

.gallery-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.pinterest-card {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(124, 37, 39, 0.16);
  border: 1.5px solid rgba(206, 177, 114, 0.45);
  background: #ffffff;
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease;
}

.pinterest-card img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.pinterest-card.card-tall {
  aspect-ratio: 3 / 4.5;
}

.pinterest-card.card-square {
  aspect-ratio: 1 / 1;
}

.pinterest-card.card-wide {
  aspect-ratio: 4 / 3;
}

.pinterest-card:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 16px 36px rgba(124, 37, 39, 0.28);
  border-color: #CEB172;
}

.pinterest-card:hover img {
  transform: scale(1.08);
}

.pinterest-overlay {
  position: absolute;
  inset: 0;
  background: rgba(124, 37, 39, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 20px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.pinterest-card:hover .pinterest-overlay {
  opacity: 1;
}

/* LIGHTBOX MODAL */
.lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  z-index: 100000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.lightbox.active {
  display: flex;
}

.lightbox-content {
  position: relative;
  max-width: 90%;
  max-height: 90%;
}

.lightbox img {
  max-width: 100%;
  max-height: 85vh;
  border-radius: 8px;
  box-shadow: 0 0 30px rgba(0,0,0,0.8);
}

.lightbox-close {
  position: absolute;
  top: -40px;
  right: 0;
  color: #ffffff;
  font-size: 2rem;
  cursor: pointer;
}

/* ==========================================================================
   SECTION 8 & 9: AMPLOP DIGITAL & RSVP (UNIFIED 1 BACKGROUND - GAMBAR 3 & 4)
   ========================================================================== */
.gift-rsvp-section {
  background-color: #802D2F;
  background-image: url("https://inv.rumahundangan.id/wp-content/uploads/2026/07/SUJA-REDD-BACK-SCALED-PII.png");
  background-size: cover;
  background-position: center top;
  padding: 60px 15px 70px;
  position: relative;
}

.gift-card-margin {
  margin-bottom: 45px !important;
}

.gold-arch-card {
  background-image: url("https://inv.rumahundangan.id/wp-content/uploads/2026/07/SUJA-ACARA-BG2-PII.webp");
  background-color: #FFF0E5;
  background-position: center center;
  background-size: cover;
  border: 3px solid #CEB172;
  border-radius: 25px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
  padding: 45px 20px 35px;
  max-width: 400px;
  margin: 0 auto;
  position: relative;
  box-sizing: border-box;
}

.gift-card-title {
  font-family: 'Vidaloka', serif !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  letter-spacing: 3px !important;
  color: #7C2527 !important;
  margin-bottom: 12px !important;
  text-transform: uppercase !important;
}

.gift-card-desc {
  font-family: 'Caudex', serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #7C2527 !important;
  line-height: 1.6 !important;
  margin-bottom: 25px !important;
  padding: 0 10px;
}

.btn-toggle-gift-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0 auto;
}

.btn-toggle-gift {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: linear-gradient(135deg, #c5a059, #b38a3e) !important;
  color: #ffffff !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 12px 32px !important;
  border-radius: 25px !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: 0 4px 15px rgba(179, 138, 62, 0.4) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  margin: 0 auto 20px !important;
}

.btn-toggle-gift:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(179, 138, 62, 0.6) !important;
}

.gift-expandable {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
  margin-top: 15px;
}

.bank-cards-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
}

.bank-card-white, .gift-address-card {
  background-image: url("https://inv.rumahundangan.id/wp-content/uploads/2026/07/bg-bank-1-1-3-1-1-1.webp");
  background-color: #ffffff;
  background-position: center center;
  background-size: cover;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 6px 18px rgba(124, 37, 39, 0.12);
  border: 1px solid rgba(206, 177, 114, 0.4);
  text-align: left;
  width: 100%;
  box-sizing: border-box;
}

.bank-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.atm-chip-img {
  width: 40px;
  height: auto;
}

.bca-logo-img {
  height: 32px;
  max-width: 130px;
  object-fit: contain;
}

.bank-acc-number {
  font-family: 'Jura', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  color: #2b2b2b !important;
  margin-bottom: 6px !important;
}

.bank-acc-holder {
  font-family: 'Jura', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #555555 !important;
  text-transform: uppercase !important;
  margin-bottom: 15px !important;
}

.gift-box-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  margin-bottom: 15px;
  text-align: center;
}

.gift-box-icon {
  font-size: 24px;
  color: #2b2b2b;
}

.gift-box-title {
  font-family: 'Quicksand', sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #2b2b2b !important;
}

.gift-info-grid {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-family: 'Quicksand', sans-serif !important;
  font-size: 13px !important;
  color: #333333 !important;
  margin-bottom: 15px;
}

.gift-row {
  display: flex;
  align-items: flex-start;
}

.gift-label {
  width: 110px;
  font-weight: 700;
  flex-shrink: 0;
}

.gift-colon {
  margin: 0 6px;
  font-weight: 700;
}

.gift-value {
  flex: 1;
  font-weight: 500;
}

.bank-btn-wrap {
  text-align: right;
}

.btn-copy-gold {
  background-color: #ffffff !important;
  color: #333333 !important;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  padding: 6px 16px !important;
  border-radius: 8px !important;
  font-family: 'Quicksand', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important;
  transition: all 0.2s ease !important;
}

.btn-copy-gold:hover {
  background-color: #f5f5f5 !important;
  transform: scale(1.03);
}

/* RSVP Form Inside Card */
.rsvp-form-inner {
  display: flex;
  flex-direction: column;
  gap: 15px;
  width: 100%;
  margin-bottom: 25px;
}

.form-control-custom {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid rgba(206, 177, 114, 0.5);
  border-radius: 8px;
  font-family: 'Quicksand', sans-serif !important;
  font-size: 14px !important;
  background-color: #ffffff;
  color: #333333;
  box-sizing: border-box;
  transition: border-color 0.3s ease;
}

.form-control-custom:focus {
  outline: none;
  border-color: #7C2527;
}

.form-label-presence {
  display: block;
  font-family: 'Quicksand', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #7C2527 !important;
  text-align: left;
  margin-bottom: 8px;
}

.presence-pills-custom {
  display: flex;
  gap: 12px;
}

.pill-custom-option {
  flex: 1;
  cursor: pointer;
}

.pill-custom-option input {
  display: none;
}

.pill-custom-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px;
  border-radius: 20px;
  font-family: 'Quicksand', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  border: 1px solid rgba(124, 37, 39, 0.2);
  background: #ffffff;
  color: #555555;
  transition: all 0.3s ease;
}

.pill-custom-option input:checked + .pill-btn-hadir {
  background-color: #e3faea !important;
  border-color: #1b8744 !important;
  color: #1b8744 !important;
}

.pill-custom-option input:checked + .pill-btn-tidak {
  background-color: #feecec !important;
  border-color: #b91c1c !important;
  color: #b91c1c !important;
}

.btn-submit-maroon {
  width: 100%;
  background: linear-gradient(135deg, #8E3B3E, #611A1C) !important;
  color: #ffffff !important;
  border: none !important;
  padding: 12px 20px !important;
  display: flex;
  align-items: center;
  gap: 8px;
}

.wishes-container {
  display: flex;
  flex-direction: column;
  gap: 15px;
  max-height: 400px;
  overflow-y: auto;
  padding-right: 5px;
}

.wish-item {
  background: #ffffff;
  padding: 15px;
  border-radius: 12px;
  border: 1px solid var(--color-border);
  text-align: left;
}

.wish-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.wish-author {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--color-dark);
}

.wish-badge {
  font-size: 0.75rem;
  padding: 3px 10px;
  border-radius: 20px;
  font-weight: 600;
}

.wish-badge-hadir {
  background-color: #e8f5e9;
  color: #2e7d32;
}

.wish-badge-tidak {
  background-color: #ffebee;
  color: #c62828;
}

.wish-msg {
  font-size: 0.9rem;
  color: #444444;
  line-height: 1.5;
  margin-bottom: 6px;
}

.wish-time {
  font-size: 0.75rem;
  color: #999999;
}

/* ==========================================================================
   SECTION 10: FOOTER & CLOSING
   ========================================================================== */
.footer {
  background-color: #230c0d;
  color: #ffffff;
  padding: 40px 20px;
  text-align: center;
}

.footer-names {
  font-family: var(--font-heading);
  font-size: 1.8rem;
  color: var(--color-gold);
  margin-bottom: 10px;
}

.watermark-text {
  font-size: 0.85rem;
  color: #aaaaaa;
}

/* ==========================================================================
   FLOATING CONTROLS: FULLSCREEN & AUDIO WIDGETS
   ========================================================================== */
.floating-controls-group {
  position: fixed;
  bottom: 25px;
  right: 22px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
}

.fullscreen-widget,
.audio-widget {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(124, 37, 39, 0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1.8px solid #CEB172;
  color: #F7E7CE;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  cursor: pointer;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.45);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.fullscreen-widget:hover,
.audio-widget:hover {
  transform: scale(1.1);
  background: #942E30;
  border-color: #E5C378;
  color: #FFFFFF;
}

.fullscreen-widget i {
  font-size: 1.05rem;
}

.disc-icon.spinning {
  animation: spin 6s linear infinite;
  display: flex;
  align-items: center;
  justify-content: center;
}

@keyframes spin {
  100% { transform: rotate(360deg); }
}

/* TOAST NOTIFICATION */
.toast {
  position: fixed;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%) translateY(100px);
  background-color: #323232;
  color: #ffffff;
  padding: 12px 24px;
  border-radius: 30px;
  font-size: 0.9rem;
  z-index: 100001;
  opacity: 0;
  transition: all 0.4s ease;
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}

.toast.show {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
}
