/* =====================================================================
   ROMANCE — soft rose/gold polish layered over the base theme.
   Loaded last so it can refine any section without touching the rest.
   ===================================================================== */
:root { --rose: #c97b84; --rose-soft: #f7dfe0; }

body {
  background:
    radial-gradient(1200px 500px at 10% 0%, rgba(243,221,217,0.55), transparent 60%),
    radial-gradient(1000px 500px at 100% 40%, rgba(232,201,160,0.28), transparent 60%),
    var(--ivory);
}

/* headings: warm maroon-to-rose gradient text */
.section-heading:not(.light) {
  background: linear-gradient(100deg, var(--maroon-deep), var(--maroon) 55%, var(--rose));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.section-kicker:not(.light) { color: var(--rose); }

/* heart divider */
.heart-divider {
  display: flex; align-items: center; justify-content: center; gap: 14px;
  margin: 14px auto 6px; max-width: 260px;
}
.heart-divider span { flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--gold-light), transparent); }
.heart-divider i { font-style: normal; color: var(--rose); font-size: 1.1rem; animation: heartbeat 2.2s ease-in-out infinite; }
@keyframes heartbeat { 0%,100% { transform: scale(1); } 15% { transform: scale(1.3); } 30% { transform: scale(1); } 45% { transform: scale(1.18); } }

.gallery-script {
  text-align: center; margin: 0;
  font-family: var(--font-script); font-size: 1.9rem; color: var(--gold);
}

/* buttons: rose-gold glow */
.btn-primary { background: linear-gradient(135deg, var(--gold-light), var(--rose)); box-shadow: 0 10px 30px rgba(201,123,132,0.35); }
.btn-primary:hover { box-shadow: 0 16px 44px rgba(201,123,132,0.55); }

/* gallery: polaroid-style frames, romantic hover */
.gallery-item {
  border: 6px solid var(--white);
  border-radius: 6px;
  box-shadow: 0 14px 40px rgba(110,20,35,0.18);
  transition: transform 0.5s var(--ease), box-shadow 0.5s var(--ease);
}
.gallery-item:nth-child(odd) { transform: rotate(-1deg); }
.gallery-item:nth-child(even) { transform: rotate(1deg); }
.gallery-item:hover { transform: rotate(0) translateY(-6px); box-shadow: 0 24px 55px rgba(201,123,132,0.4); }
.gallery-item::after {
  content: "\2764"; position: absolute; top: 10px; right: 12px;
  color: #fff; font-size: 1.1rem; opacity: 0; transform: scale(0.4);
  transition: all 0.4s var(--ease); text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
.gallery-item:hover::after { opacity: 1; transform: scale(1); }
.gallery-cat { font-family: var(--font-script); font-size: 1.15rem; letter-spacing: 0.5px; }

.filter-btn { border-color: var(--rose); }
.filter-btn.active, .filter-btn:hover {
  background: linear-gradient(135deg, var(--gold-light), var(--rose));
  border-color: transparent;
}
/* Pre-Wedding gets a rose highlight so it stands out */
.filter-btn[data-filter="Pre-Wedding"]::before { content: "\2764\00a0"; color: var(--rose); }
.filter-btn[data-filter="Pre-Wedding"].active::before,
.filter-btn[data-filter="Pre-Wedding"]:hover::before { color: #fff; }

/* framed photos elsewhere glow softly */
.framed-photo { box-shadow: 0 20px 60px rgba(201,123,132,0.28); }

/* intro: arranged-marriage highlight line + framed poster */
.intro-highlight {
  text-align: center; margin: 26px 0 0;
  font-family: var(--font-script); font-size: 2.1rem; line-height: 1.3; color: var(--rose);
}
.intro-photo { margin: 36px 0 0; width: 100%; }
.intro-photo img {
  width: 100%; height: auto; display: block;
  border: 8px solid var(--white); border-radius: 6px;
  box-shadow: 0 24px 60px rgba(201,123,132,0.35);
}
