:root {
  --mc-green: #765394;
  --mc-green-dark: #624777;
  --mc-olive: #765394;
  --mc-olive-dark: #624777;
  --fj-ink: #624777 !important;
  --fj-rose-dark: #765394 !important;
  --fj-rose: #a88bc4 !important;
  --fj-rose-soft: #eee7f5 !important;
  --wine: #765394 !important;
  --primary: #765394 !important;
  --gold: #a88bc4 !important;
  --ink: #624777 !important;
}

body {
  background-color: #fff !important;
  color: var(--mc-green-dark) !important;
}

html,
.invitation,
.couple-gallery,
.countdown,
.details,
.location,
.rsvp,
.verse-section {
  background-color: #fff !important;
}

.couple-gallery,
.location,
.rsvp,
.verse-section {
  background: #fff !important;
}

.location::before,
.location::after,
.rsvp::before,
.rsvp::after,
.countdown::before,
.countdown::after,
.verse-section::before,
.verse-section::after {
  display: none !important;
  background: none !important;
  background-image: none !important;
}

.details {
  background-color: #fff !important;
  background-image: url("./fg2.png") !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.countdown {
  background-color: #fff !important;
  background-image: url("./fundo-contagem-frame.png") !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.hero-title,
.hero-title h1,
.hero-title .date,
.hero-title .wedding-day,
.section h2,
.section h3,
.gallery-caption,
.venue,
.address,
.gift-note,
.rsvp p,
.verse-text,
.parents-title,
.parents-side span,
.parents-side p,
.clock span,
.clock small,
.timeline time,
.timeline li > span:last-child {
  color: var(--mc-green-dark) !important;
}

.hero-title h1 span,
.scroll-link {
  color: var(--mc-green) !important;
}

.map-card,
.map-link,
.pix-copy-button,
.confirm-button,
.rsvp-label,
.music-toggle {
  color: #fff !important;
  background: var(--mc-green) !important;
  background-image: none !important;
  border-color: var(--mc-green) !important;
  box-shadow: 0 10px 22px rgba(210, 138, 142, 0.24) !important;
  text-shadow: 0 1px 2px rgba(120, 64, 68, 0.45) !important;
}

body .music-toggle,
body .music-toggle:hover,
body .open-envelope span,
body .open-envelope:hover span,
body .skip,
body .skip:hover,
body .invitation .map-link,
body .invitation .map-link:hover,
body .invitation .rsvp .rsvp-label,
body .invitation .rsvp .rsvp-label:hover,
body .invitation .rsvp .pix-copy-button,
body .invitation .rsvp .pix-copy-button:hover,
body .confirm-button,
body .confirm-button:hover,
body .whatsapp-button,
body .whatsapp-button:hover {
  color: #fff !important;
  background: linear-gradient(180deg, #a88bc4 0%, #765394 100%) !important;
  border: 1px solid #765394 !important;
  box-shadow: 0 10px 22px rgba(118, 83, 148, 0.26) !important;
  text-shadow: 0 1px 2px rgba(52, 35, 68, 0.5) !important;
}

body .open-envelope span,
body .open-envelope:hover span,
body .skip,
body .skip:hover {
  color: #fff !important;
  background: linear-gradient(180deg, var(--mc-olive) 0%, var(--mc-olive-dark) 100%) !important;
  border: 1px solid #765394 !important;
  box-shadow: 0 10px 22px rgba(118, 83, 148, 0.26) !important;
  text-shadow: 0 1px 2px rgba(52, 35, 68, 0.42) !important;
}

body .hero .hero-wash {
  display: block !important;
  height: 100% !important;
  background:
    radial-gradient(ellipse at 50% 30%, rgba(168, 139, 196, 0.56) 0%, rgba(168, 139, 196, 0.32) 22%, rgba(168, 139, 196, 0.12) 38%, transparent 54%),
    linear-gradient(to bottom, transparent 0%, transparent 52%, rgba(255, 255, 255, 0.82) 86%, #fff 100%) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body .hero .hero-title,
body .hero .hero-title .date,
body .hero .hero-title h1,
body .hero .hero-title .script,
body .hero .hero-title h1 span,
body .hero .scroll-link {
  color: #fff !important;
  text-shadow: 0 2px 12px rgba(120, 64, 68, 0.72), 0 1px 2px rgba(120, 64, 68, 0.8) !important;
}

body .countdown h2,
body .countdown .clock span,
body .countdown .clock small,
body .rsvp h2,
body .invitation .rsvp > h2,
body .invitation .rsvp .gift-panel h2,
body .rsvp p,
body .rsvp .script,
body .location h2,
body .location h3,
body .location .venue,
body .location .address,
body .gallery-caption {
  color: var(--mc-green-dark) !important;
}

.timeline-dot,
.map-pin {
  background: var(--mc-green) !important;
  color: #fff !important;
}

.timeline-track {
  background: rgba(210, 138, 142, 0.28) !important;
}

.location .decor,
body .invitation .location .decor {
  filter: sepia(1) saturate(1.3) hue-rotate(225deg) brightness(0.95) drop-shadow(0 1px 2px rgba(98, 71, 119, 0.22)) !important;
  opacity: 1 !important;
}

.details .parents-title,
body .invitation .details .parents-title {
  font-size: clamp(2.28rem, 8.4vw, 3rem) !important;
  line-height: 1.14 !important;
}

.details-card {
  display: flex !important;
  justify-content: center !important;
}

.parents-paper,
body .invitation .parents-paper {
  width: min(100%, 390px) !important;
  margin: 0 auto !important;
  padding: 60px 24px 56px !important;
  color: #fff !important;
  background: transparent !important;
  box-shadow: none !important;
  clip-path: none !important;
}

.parents-paper .parents-title,
body .invitation .parents-paper .parents-title {
  color: #fff !important;
  margin: 0 auto 28px !important;
  font-size: clamp(2.05rem, 7.6vw, 2.75rem) !important;
  line-height: 1.18 !important;
  text-shadow: 0 1px 2px rgba(120, 64, 68, 0.45) !important;
}

.parents-grid,
body .invitation .parents-grid {
  display: grid !important;
  grid-template-columns: 1fr 1px 1fr !important;
  align-items: start !important;
  gap: 22px !important;
}

.parents-divider,
body .invitation .parents-divider {
  width: 1px !important;
  min-height: 112px !important;
  background: rgba(255, 255, 255, 0.55) !important;
}

.parents-side > span,
body .invitation .parents-side > span {
  display: block !important;
  color: #fff !important;
  margin-bottom: 12px !important;
  font-family: Ovo, serif !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  text-shadow: 0 1px 2px rgba(120, 64, 68, 0.45) !important;
}

.parents-side p,
body .invitation .parents-side p {
  color: #fff !important;
  margin: 0 !important;
  font-family: Ovo, serif !important;
  font-size: clamp(0.62rem, 2.12vw, 0.72rem) !important;
  font-weight: 500 !important;
  line-height: 1.18 !important;
  text-transform: uppercase !important;
  letter-spacing: 0 !important;
  text-shadow: 0 1px 2px rgba(120, 64, 68, 0.55) !important;
}

.parent-line,
body .invitation .parent-line {
  display: block !important;
  white-space: nowrap !important;
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: 0 !important;
  line-height: inherit !important;
  text-transform: inherit !important;
}

.parents-side p .parent-line:nth-child(2),
.parents-side p .parent-line:nth-child(4),
body .invitation .parents-side p .parent-line:nth-child(2),
body .invitation .parents-side p .parent-line:nth-child(4) {
  margin-bottom: 5px !important;
}

.gift-panel .gift-page-link,
.gift-panel .gift-whatsapp-link {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: min(100%, 260px) !important;
  min-height: 46px !important;
  margin: 14px auto 0 !important;
  text-decoration: none !important;
}

.gift-panel .gift-whatsapp-link {
  margin-top: 10px !important;
}

.welcome h2,
.welcome p,
.details h2,
.details p,
.schedule h2,
.schedule .timeline time,
.schedule .timeline li > span:last-child,
.location .map-card,
.location .map-card span,
.location .map-card small {
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(120, 64, 68, 0.55) !important;
}

body .invitation .welcome h2,
body .invitation .welcome p,
body .invitation .details h2,
body .invitation .details p,
body .invitation .schedule h2,
body .invitation .schedule .timeline time,
body .invitation .schedule .timeline li > span:last-child,
body .invitation .location .map-card,
body .invitation .location .map-card span,
body .invitation .location .map-card small {
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(120, 64, 68, 0.65) !important;
}

.gallery-slides img,
.verse-photos img {
  object-fit: cover !important;
}

.gallery-slides img[src*="maria-clara-02"],
.gallery-slides.maria-clara-gallery-loop img:nth-child(2) {
  object-position: 18% center !important;
}

.gallery-slides.maria-clara-gallery-loop img {
  animation: none !important;
  opacity: 0 !important;
  transform: scale(1.035) !important;
  transition: opacity 700ms ease, transform 1200ms ease !important;
}

.gallery-slides.maria-clara-gallery-loop img.is-active {
  opacity: 1 !important;
  transform: scale(1) !important;
}






.parents-side,
body .invitation .parents-side {
  min-width: 0 !important;
}


/* Personalização Wallace e Bárbara */
.hero-title h1 { font-size: clamp(3rem, 11vw, 7rem); letter-spacing: .02em; }
.hero-title .date { font-weight: 600; }
.hero { background-size: cover; background-position: center; }
.hero .garden-video { opacity: .12; }
.rsvp-panel { margin-top: 1.5rem; padding: 2rem 1.25rem; text-align: center; border: 1px solid rgba(118,83,148,.35); border-radius: 18px; background: rgba(255,255,255,.72); }
.rsvp-panel h2 { margin-top: 0; }
.rsvp-panel p { margin-bottom: 1.25rem; }
.rsvp-button { display: inline-block; padding: .85rem 1.25rem; border-radius: 999px; background: #765394; color: #fff; text-decoration: none; font-weight: 700; }
.gift-page-link { display: inline-block; text-decoration: none; }
.rsvp-panel { margin-top: 1.5rem; padding: 2rem 1.25rem; text-align: center; border: 1px solid rgba(118,83,148,.35); border-radius: 18px; background: rgba(255,255,255,.72); }
.rsvp-panel h2 { margin-top: 0; }
.rsvp-panel p { margin-bottom: 1.25rem; }
.rsvp-button { display: inline-block; padding: .85rem 1.25rem; border-radius: 999px; background: #765394; color: #fff; text-decoration: none; font-weight: 700; }
.hero { background-size: cover; background-position: center 38%; }
.rsvp-panel { border-color: rgba(118,83,148,.35); }
.parents-paper .parents-grid { margin-top: 1.75rem; }
.parents-paper .parent-names-pending { margin-top: .8rem; font-family: Ovo, Georgia, serif; font-size: 1rem; letter-spacing: .04em; }
