@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700;800&family=Great+Vibes&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Plus+Jakarta+Sans:wght@400;500;600;700&family=Rozha+One&display=swap');

/* ==========================================================================
   GLOBAL WEDDING STYLES & INTERACTIVE WIDGETS
   ========================================================================== */
.wedding-body {
  margin: 0;
  font-family: 'Plus Jakarta Sans', sans-serif;
  color: #2b2b2b;
  min-height: 100vh;
  transition: background 0.3s ease;
}

.wedding-wrap {
  max-width: 820px;
  margin: 30px auto;
  padding: 0 16px;
}

.wedding-card {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15);
  padding: 55px 36px 65px;
  text-align: center;
  transition: all 0.3s ease;
}

/* Header badge & shloka */
.wedding-shloka {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 2px;
  margin-bottom: 12px;
}
.wedding-auspicious-symbol {
  font-size: 32px;
  display: block;
  margin-bottom: 6px;
}
.wedding-eyebrow {
  text-transform: uppercase;
  letter-spacing: 4px;
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 16px;
}

/* Couple Names */
.wedding-couple-title {
  margin: 20px 0;
  line-height: 1.15;
}
.wedding-couple-name {
  display: block;
  font-size: 52px;
  font-weight: 700;
  letter-spacing: -0.5px;
}
.wedding-couple-amp {
  display: inline-block;
  font-size: 32px;
  margin: 8px 0;
  font-style: italic;
  font-family: Georgia, serif;
}

/* Invitation Note */
.wedding-message {
  max-width: 580px;
  margin: 24px auto 36px;
  font-size: 15px;
  line-height: 1.8;
}

/* Photos */
.wedding-couple-photo {
  width: 170px;
  height: 170px;
  object-fit: cover;
  border-radius: 50%;
  margin: 10px auto 28px;
  display: block;
  box-shadow: 0 10px 25px rgba(0,0,0,0.12);
}
.wedding-cover-photo {
  width: 100%;
  max-height: 380px;
  object-fit: cover;
  border-radius: 16px;
  margin: 24px 0 32px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.1);
}

/* Live Countdown Timer */
.wedding-countdown-box {
  margin: 32px auto 40px;
  padding: 22px 20px;
  border-radius: 16px;
  max-width: 520px;
}
.wedding-countdown-title {
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 14px;
  font-weight: 700;
}
.wedding-countdown-grid {
  display: flex;
  justify-content: center;
  gap: 16px;
}
.countdown-item {
  min-width: 68px;
  padding: 12px 6px;
  border-radius: 10px;
}
.countdown-val {
  font-size: 28px;
  font-weight: 700;
  font-family: 'Playfair Display', Georgia, serif;
  display: block;
  line-height: 1;
}
.countdown-lbl {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-top: 4px;
  display: block;
  opacity: 0.8;
}

/* Key Details: When & Where */
.wedding-key-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding: 30px 15px;
  margin: 35px 0;
}
.wedding-key-card h4 {
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin: 0 0 10px;
  font-weight: 700;
}
.wedding-key-card p {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
}

/* Multi-Ceremony Itinerary Timeline */
.wedding-itinerary {
  margin: 45px 0;
  text-align: left;
}
.wedding-itinerary-header {
  text-align: center;
  margin-bottom: 30px;
}
.wedding-itinerary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}
.wedding-ceremony-card {
  padding: 22px;
  border-radius: 14px;
  transition: transform 0.2s ease;
}
.wedding-ceremony-card:hover {
  transform: translateY(-3px);
}
.ceremony-icon {
  font-size: 26px;
  margin-bottom: 8px;
  display: inline-block;
}
.ceremony-title {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 6px;
}
.ceremony-time {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  margin-bottom: 8px;
  display: block;
}
.ceremony-desc {
  font-size: 13px;
  line-height: 1.6;
  margin: 0;
}

/* Action Buttons (Directions, Calendar, Share) */
.wedding-action-btns {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 28px 0;
}
.w-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 24px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all 0.25s ease;
}

/* Gallery & Wishes */
.wedding-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 12px;
  margin: 24px 0 35px;
}
.wedding-gallery-grid img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 10px;
  transition: transform 0.3s ease;
}
.wedding-gallery-grid img:hover {
  transform: scale(1.03);
}

.wedding-wishes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
  margin: 24px 0 35px;
  text-align: left;
}
.wedding-wish-card {
  padding: 20px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.7;
}
.wedding-wish-author {
  font-weight: 700;
  margin-top: 10px;
  display: block;
  font-size: 12px;
}

/* RSVP Form */
.wedding-rsvp-section {
  text-align: left;
  max-width: 580px;
  margin: 45px auto 20px;
  padding: 35px;
  border-radius: 18px;
}
.wedding-rsvp-title {
  text-align: center;
  margin-bottom: 24px;
}
.wedding-rsvp-title h3 {
  font-size: 28px;
  margin: 0 0 8px;
}
.wedding-rsvp-field {
  margin-bottom: 18px;
}
.wedding-rsvp-field label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 7px;
}
.wedding-rsvp-field input,
.wedding-rsvp-field select,
.wedding-rsvp-field textarea {
  width: 100%;
  padding: 12px 14px;
  border-radius: 8px;
  font-size: 14px;
  font-family: inherit;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.wedding-rsvp-btn {
  width: 100%;
  padding: 15px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: 8px;
  cursor: pointer;
  margin-top: 10px;
}

/* QR Code Section */
.wedding-qr-box {
  margin: 35px auto 20px;
  padding: 20px;
  display: inline-block;
  border-radius: 12px;
}

/* ==========================================================================
   THEME 1: ROYAL RAJPUTANA / SHAHI VIVAH (wedding-royal)
   Deep Crimson Velvet & Royal Antique Gold
   ========================================================================== */
body.wedding-royal {
  background: #1a0205 radial-gradient(circle at 50% 20%, #46060e 0%, #150104 100%);
  color: #fff4e0;
}
body.wedding-royal .wedding-card {
  background: #2b0409 linear-gradient(180deg, #38060d 0%, #200206 100%);
  border: 2px solid #d4af37;
  color: #fff2db;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.7), 0 0 40px rgba(212, 175, 55, 0.2);
}
body.wedding-royal .wedding-card::before {
  content: "";
  position: absolute;
  top: 10px; left: 10px; right: 10px; bottom: 10px;
  border: 1px dashed rgba(212, 175, 55, 0.4);
  border-radius: 16px;
  pointer-events: none;
}
body.wedding-royal .wedding-shloka {
  color: #f7d58b;
  font-family: 'Rozha One', 'Cinzel', serif;
}
body.wedding-royal .wedding-auspicious-symbol {
  color: #f7d58b;
}
body.wedding-royal .wedding-eyebrow {
  color: #d4af37;
  font-family: 'Cinzel', serif;
}
body.wedding-royal .wedding-couple-name {
  font-family: 'Cinzel', 'Playfair Display', serif;
  color: #fff1d0;
  text-shadow: 0 2px 10px rgba(212, 175, 55, 0.3);
}
body.wedding-royal .wedding-couple-amp {
  color: #d4af37;
}
body.wedding-royal .wedding-message {
  color: #ecd9ba;
}
body.wedding-royal .wedding-countdown-box {
  background: rgba(43, 4, 9, 0.85);
  border: 1px solid rgba(212, 175, 55, 0.5);
  box-shadow: inset 0 0 20px rgba(212, 175, 55, 0.1);
}
body.wedding-royal .wedding-countdown-title {
  color: #d4af37;
  font-family: 'Cinzel', serif;
}
body.wedding-royal .countdown-item {
  background: #170104;
  border: 1px solid #d4af37;
  color: #ffe6a3;
}
body.wedding-royal .wedding-key-details {
  border-top: 1px solid rgba(212, 175, 55, 0.3);
  border-bottom: 1px solid rgba(212, 175, 55, 0.3);
}
body.wedding-royal .wedding-key-card h4 {
  color: #d4af37;
  font-family: 'Cinzel', serif;
}
body.wedding-royal .wedding-ceremony-card {
  background: rgba(30, 2, 6, 0.7);
  border: 1px solid rgba(212, 175, 55, 0.35);
  color: #fcecd7;
}
body.wedding-royal .ceremony-title {
  color: #ffd875;
  font-family: 'Cinzel', serif;
}
body.wedding-royal .ceremony-time {
  color: #e2b960;
}
body.wedding-royal .w-btn-primary {
  background: linear-gradient(135deg, #d4af37 0%, #aa7c11 100%);
  color: #240206;
  font-weight: 700;
  border: none;
  box-shadow: 0 6px 20px rgba(212, 175, 55, 0.4);
}
body.wedding-royal .w-btn-primary:hover {
  background: linear-gradient(135deg, #ffe082 0%, #c49624 100%);
  transform: translateY(-2px);
}
body.wedding-royal .w-btn-light {
  background: transparent;
  color: #f7d58b;
  border: 1px solid #d4af37;
}
body.wedding-royal .w-btn-light:hover {
  background: rgba(212, 175, 55, 0.15);
}
body.wedding-royal .wedding-rsvp-section {
  background: #200206;
  border: 1px solid #d4af37;
}
body.wedding-royal .wedding-rsvp-field label {
  color: #d4af37;
  font-family: 'Cinzel', serif;
}
body.wedding-royal .wedding-rsvp-field input,
body.wedding-royal .wedding-rsvp-field select,
body.wedding-royal .wedding-rsvp-field textarea {
  background: #140103;
  border: 1px solid rgba(212, 175, 55, 0.5);
  color: #fff2db;
}
body.wedding-royal .wedding-rsvp-btn {
  background: linear-gradient(135deg, #d4af37 0%, #aa7c11 100%);
  color: #240206;
  border: none;
}
body.wedding-royal .wedding-wish-card {
  background: rgba(30, 2, 6, 0.7);
  border: 1px solid rgba(212, 175, 55, 0.3);
  color: #f7e8ce;
}
body.wedding-royal .wedding-wish-author {
  color: #ffd875;
}

/* ==========================================================================
   THEME 2: EMERALD & CHAMPAGNE GOLD PALACE (wedding-luxury)
   Deep Midnight Emerald & Royal Champagne Gilded Accents
   ========================================================================== */
body.wedding-luxury {
  background: #04140e radial-gradient(circle at 50% 15%, #0b3323 0%, #030e0a 100%);
  color: #f5f0e6;
}
body.wedding-luxury .wedding-card {
  background: #08241a linear-gradient(180deg, #0d3627 0%, #061b13 100%);
  border: 1.5px solid #dfb15b;
  color: #f7f4ed;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.8), 0 0 35px rgba(223, 177, 91, 0.2);
}
body.wedding-luxury .wedding-card::before {
  content: "";
  position: absolute;
  top: 12px; left: 12px; right: 12px; bottom: 12px;
  border: 1px solid rgba(223, 177, 91, 0.35);
  border-radius: 14px;
  pointer-events: none;
}
body.wedding-luxury .wedding-eyebrow {
  color: #dfb15b;
  font-family: 'Cinzel', serif;
}
body.wedding-luxury .wedding-couple-name {
  font-family: 'Playfair Display', Georgia, serif;
  color: #fff9ed;
  letter-spacing: 0.5px;
}
body.wedding-luxury .wedding-couple-amp {
  color: #dfb15b;
}
body.wedding-luxury .wedding-message {
  color: #d5e5dc;
}
body.wedding-luxury .wedding-countdown-box {
  background: rgba(5, 23, 16, 0.85);
  border: 1px solid rgba(223, 177, 91, 0.5);
}
body.wedding-luxury .wedding-countdown-title {
  color: #dfb15b;
  font-family: 'Cinzel', serif;
}
body.wedding-luxury .countdown-item {
  background: #03120c;
  border: 1px solid #dfb15b;
  color: #f7e5be;
}
body.wedding-luxury .wedding-key-details {
  border-top: 1px solid rgba(223, 177, 91, 0.3);
  border-bottom: 1px solid rgba(223, 177, 91, 0.3);
}
body.wedding-luxury .wedding-key-card h4 {
  color: #dfb15b;
  font-family: 'Cinzel', serif;
}
body.wedding-luxury .wedding-ceremony-card {
  background: rgba(4, 18, 13, 0.75);
  border: 1px solid rgba(223, 177, 91, 0.35);
  color: #eaf3ee;
}
body.wedding-luxury .ceremony-title {
  color: #ffd87a;
  font-family: 'Playfair Display', serif;
}
body.wedding-luxury .ceremony-time {
  color: #dfb15b;
}
body.wedding-luxury .w-btn-primary {
  background: linear-gradient(135deg, #dfb15b 0%, #ab7f29 100%);
  color: #061911;
  font-weight: 700;
  border: none;
}
body.wedding-luxury .w-btn-primary:hover {
  background: linear-gradient(135deg, #fae29f 0%, #c4963c 100%);
  transform: translateY(-2px);
}
body.wedding-luxury .w-btn-light {
  background: transparent;
  color: #dfb15b;
  border: 1px solid #dfb15b;
}
body.wedding-luxury .w-btn-light:hover {
  background: rgba(223, 177, 91, 0.15);
}
body.wedding-luxury .wedding-rsvp-section {
  background: #051811;
  border: 1px solid #dfb15b;
}
body.wedding-luxury .wedding-rsvp-field label {
  color: #dfb15b;
  font-family: 'Cinzel', serif;
}
body.wedding-luxury .wedding-rsvp-field input,
body.wedding-luxury .wedding-rsvp-field select,
body.wedding-luxury .wedding-rsvp-field textarea {
  background: #030f0a;
  border: 1px solid rgba(223, 177, 91, 0.5);
  color: #f7f4ed;
}
body.wedding-luxury .wedding-rsvp-btn {
  background: linear-gradient(135deg, #dfb15b 0%, #ab7f29 100%);
  color: #061911;
  border: none;
}
body.wedding-luxury .wedding-wish-card {
  background: rgba(4, 18, 13, 0.75);
  border: 1px solid rgba(223, 177, 91, 0.3);
  color: #e5ede8;
}
body.wedding-luxury .wedding-wish-author {
  color: #ffd87a;
}

/* ==========================================================================
   THEME 3: BLUSH FLORAL ROMANCE (wedding-pastel)
   Soft Rose Gold, Powder Blush, Dusty Wine & Romantic Calligraphy
   ========================================================================== */
body.wedding-pastel {
  background: #fff5f7 linear-gradient(180deg, #fff3f5 0%, #fceed3 100%);
  color: #442a33;
}
body.wedding-pastel .wedding-card {
  background: #ffffff;
  border: 2px solid #ecd5da;
  color: #442a33;
  box-shadow: 0 20px 60px rgba(197, 125, 137, 0.15);
  border-radius: 30px;
}
body.wedding-pastel .wedding-eyebrow {
  color: #b96775;
  font-family: 'Plus Jakarta Sans', sans-serif;
  letter-spacing: 3px;
}
body.wedding-pastel .wedding-couple-name {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  color: #3b1924;
  font-size: 58px;
}
body.wedding-pastel .wedding-couple-amp {
  color: #b96775;
  font-family: 'Great Vibes', cursive;
  font-size: 48px;
}
body.wedding-pastel .wedding-message {
  color: #6d545c;
}
body.wedding-pastel .wedding-countdown-box {
  background: #fff8f9;
  border: 1px solid #f2d9df;
}
body.wedding-pastel .wedding-countdown-title {
  color: #b96775;
}
body.wedding-pastel .countdown-item {
  background: #ffffff;
  border: 1px solid #ecd0d6;
  color: #4a212d;
  box-shadow: 0 4px 12px rgba(185, 103, 117, 0.08);
}
body.wedding-pastel .wedding-key-details {
  border-top: 1px solid #f0d5db;
  border-bottom: 1px solid #f0d5db;
}
body.wedding-pastel .wedding-key-card h4 {
  color: #b96775;
}
body.wedding-pastel .wedding-ceremony-card {
  background: #fff8f9;
  border: 1px solid #f0dbe0;
  color: #55353f;
}
body.wedding-pastel .ceremony-title {
  color: #3d1c26;
  font-family: 'Playfair Display', serif;
}
body.wedding-pastel .ceremony-time {
  color: #b96775;
}
body.wedding-pastel .w-btn-primary {
  background: #c57d89;
  color: #ffffff;
  font-weight: 600;
  border-radius: 30px;
  box-shadow: 0 6px 18px rgba(197, 125, 137, 0.35);
}
body.wedding-pastel .w-btn-primary:hover {
  background: #b16673;
  transform: translateY(-2px);
}
body.wedding-pastel .w-btn-light {
  background: transparent;
  color: #b96775;
  border: 1px solid #c57d89;
  border-radius: 30px;
}
body.wedding-pastel .w-btn-light:hover {
  background: #fff2f4;
}
body.wedding-pastel .wedding-rsvp-section {
  background: #fffafb;
  border: 1px solid #eed6dc;
  border-radius: 24px;
}
body.wedding-pastel .wedding-rsvp-field label {
  color: #7b4b57;
}
body.wedding-pastel .wedding-rsvp-field input,
body.wedding-pastel .wedding-rsvp-field select,
body.wedding-pastel .wedding-rsvp-field textarea {
  background: #ffffff;
  border: 1px solid #e8cbcf;
  color: #442a33;
}
body.wedding-pastel .wedding-rsvp-btn {
  background: #c57d89;
  color: #ffffff;
  border: none;
  border-radius: 30px;
}
body.wedding-pastel .wedding-wish-card {
  background: #fff8f9;
  border: 1px solid #f0dbe0;
  color: #55353f;
}
body.wedding-pastel .wedding-wish-author {
  color: #b96775;
}

/* ==========================================================================
   THEME 4: CLASSIC MINIMALIST IVORY & FOIL (wedding-minimal)
   Pure Ivory Cotton, Ebony Typography, Fine Gold Foil Border
   ========================================================================== */
body.wedding-minimal {
  background: #f7f5f0;
  color: #1a1a1a;
}
body.wedding-minimal .wedding-card {
  background: #ffffff;
  border: 1px solid #dcd7cc;
  outline: 6px solid #fdfbf7;
  color: #1a1a1a;
  border-radius: 4px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
}
body.wedding-minimal .wedding-eyebrow {
  color: #9c7b41;
  letter-spacing: 5px;
  font-size: 10px;
}
body.wedding-minimal .wedding-couple-name {
  font-family: 'Playfair Display', Georgia, serif;
  letter-spacing: 3px;
  font-size: 46px;
  font-weight: 500;
  text-transform: uppercase;
}
body.wedding-minimal .wedding-couple-amp {
  color: #9c7b41;
  font-family: Georgia, serif;
  font-size: 26px;
}
body.wedding-minimal .wedding-message {
  color: #55524d;
  font-size: 14px;
}
body.wedding-minimal .wedding-countdown-box {
  background: #faf8f5;
  border: 1px solid #e8e3d8;
  border-radius: 4px;
}
body.wedding-minimal .wedding-countdown-title {
  color: #9c7b41;
  letter-spacing: 4px;
}
body.wedding-minimal .countdown-item {
  background: #ffffff;
  border: 1px solid #dcd7cc;
  color: #1a1a1a;
  border-radius: 2px;
}
body.wedding-minimal .wedding-key-details {
  border-top: 1px solid #e8e3d8;
  border-bottom: 1px solid #e8e3d8;
}
body.wedding-minimal .wedding-key-card h4 {
  color: #9c7b41;
  letter-spacing: 4px;
}
body.wedding-minimal .wedding-ceremony-card {
  background: #faf8f5;
  border: 1px solid #e8e3d8;
  border-radius: 4px;
  color: #33312e;
}
body.wedding-minimal .ceremony-title {
  color: #1a1a1a;
  font-family: 'Playfair Display', serif;
}
body.wedding-minimal .ceremony-time {
  color: #9c7b41;
}
body.wedding-minimal .w-btn-primary {
  background: #1a1a1a;
  color: #ffffff;
  border-radius: 2px;
  border: none;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: 11px;
}
body.wedding-minimal .w-btn-primary:hover {
  background: #33312e;
}
body.wedding-minimal .w-btn-light {
  background: transparent;
  color: #1a1a1a;
  border: 1px solid #1a1a1a;
  border-radius: 2px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: 11px;
}
body.wedding-minimal .w-btn-light:hover {
  background: #faf8f5;
}
body.wedding-minimal .wedding-rsvp-section {
  background: #faf8f5;
  border: 1px solid #e8e3d8;
  border-radius: 4px;
}
body.wedding-minimal .wedding-rsvp-field label {
  color: #66635c;
  letter-spacing: 2px;
}
body.wedding-minimal .wedding-rsvp-field input,
body.wedding-minimal .wedding-rsvp-field select,
body.wedding-minimal .wedding-rsvp-field textarea {
  background: #ffffff;
  border: 1px solid #dcd7cc;
  border-radius: 2px;
  color: #1a1a1a;
}
body.wedding-minimal .wedding-rsvp-btn {
  background: #1a1a1a;
  color: #ffffff;
  border-radius: 2px;
  letter-spacing: 2px;
  text-transform: uppercase;
}
body.wedding-minimal .wedding-wish-card {
  background: #faf8f5;
  border: 1px solid #e8e3d8;
  border-radius: 2px;
  color: #33312e;
}
body.wedding-minimal .wedding-wish-author {
  color: #9c7b41;
}

/* ==========================================================================
   THEME 5: FESTIVE MARIGOLD & SUNLIT UTSAV (wedding-marigold)
   Vibrant Genda Phool Yellow, Haldi Ochre & Sindoor Red
   ========================================================================== */
body.wedding-marigold {
  background: #fff8e8 radial-gradient(circle at 50% 10%, #fff1c7 0%, #ffdf9e 100%);
  color: #4a1c03;
}
body.wedding-marigold .wedding-card {
  background: #fffdf5;
  border: 2px solid #f39c12;
  color: #4a1c03;
  box-shadow: 0 25px 65px rgba(230, 126, 34, 0.2);
  border-radius: 24px;
}
body.wedding-marigold .wedding-shloka {
  color: #c0392b;
  font-family: 'Rozha One', serif;
}
body.wedding-marigold .wedding-auspicious-symbol {
  color: #e67e22;
}
body.wedding-marigold .wedding-eyebrow {
  color: #d35400;
  font-weight: 700;
}
body.wedding-marigold .wedding-couple-name {
  font-family: 'Playfair Display', Georgia, serif;
  color: #7b0d1e;
  font-size: 54px;
}
body.wedding-marigold .wedding-couple-amp {
  color: #e67e22;
  font-size: 28px;
}
body.wedding-marigold .wedding-message {
  color: #632d12;
}
body.wedding-marigold .wedding-countdown-box {
  background: #fff5dc;
  border: 1.5px solid #f5b041;
}
body.wedding-marigold .wedding-countdown-title {
  color: #c0392b;
}
body.wedding-marigold .countdown-item {
  background: #ffffff;
  border: 1.5px solid #f39c12;
  color: #900c3f;
  box-shadow: 0 4px 10px rgba(243, 156, 18, 0.15);
}
body.wedding-marigold .wedding-key-details {
  border-top: 1.5px solid #fad7a0;
  border-bottom: 1.5px solid #fad7a0;
}
body.wedding-marigold .wedding-key-card h4 {
  color: #c0392b;
}
body.wedding-marigold .wedding-ceremony-card {
  background: #fff9e6;
  border: 1.5px solid #f8c471;
  color: #512006;
}
body.wedding-marigold .ceremony-title {
  color: #900c3f;
  font-family: 'Playfair Display', serif;
}
body.wedding-marigold .ceremony-time {
  color: #d35400;
}
body.wedding-marigold .w-btn-primary {
  background: linear-gradient(135deg, #c0392b 0%, #900c3f 100%);
  color: #ffffff;
  font-weight: 700;
  border: none;
  box-shadow: 0 6px 18px rgba(192, 57, 43, 0.35);
}
body.wedding-marigold .w-btn-primary:hover {
  background: linear-gradient(135deg, #d9534f 0%, #b01b4c 100%);
  transform: translateY(-2px);
}
body.wedding-marigold .w-btn-light {
  background: transparent;
  color: #c0392b;
  border: 1.5px solid #c0392b;
}
body.wedding-marigold .w-btn-light:hover {
  background: #fff0d4;
}
body.wedding-marigold .wedding-rsvp-section {
  background: #fff7e0;
  border: 1.5px solid #f5b041;
}
body.wedding-marigold .wedding-rsvp-field label {
  color: #900c3f;
}
body.wedding-marigold .wedding-rsvp-field input,
body.wedding-marigold .wedding-rsvp-field select,
body.wedding-marigold .wedding-rsvp-field textarea {
  background: #ffffff;
  border: 1.5px solid #f8c471;
  color: #4a1c03;
}
body.wedding-marigold .wedding-rsvp-btn {
  background: linear-gradient(135deg, #c0392b 0%, #900c3f 100%);
  color: #ffffff;
  border: none;
}
body.wedding-marigold .wedding-wish-card {
  background: #fff9e6;
  border: 1.5px solid #f8c471;
  color: #512006;
}
body.wedding-marigold .wedding-wish-author {
  color: #c0392b;
}

/* ==========================================================================
   RESPONSIVE DESIGN
   ========================================================================== */
@media (max-width: 600px) {
  .wedding-card {
    padding: 38px 18px 45px;
    border-radius: 16px;
  }
  .wedding-couple-name {
    font-size: 38px;
  }
  .wedding-key-details {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .wedding-countdown-grid {
    gap: 8px;
  }
  .countdown-item {
    min-width: 52px;
    padding: 8px 4px;
  }
  .countdown-val {
    font-size: 20px;
  }
  .wedding-rsvp-section {
    padding: 22px 14px;
  }
  .wedding-itinerary-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   THEME 6: STARLIGHT RECEPTION & BALLROOM (wedding-starlight)
   Exact Match to User Uploaded Inspiration Card:
   Midnight Twilight Navy, Hanging Crystal Foliage, Spotlight Cones,
   Cursive Script Typography & Couple on Balustrade Terrace
   ========================================================================== */
body.wedding-starlight {
  background: #11162b radial-gradient(circle at 50% 20%, #222b52 0%, #101529 100%);
  color: #ffffff;
}

body.wedding-starlight .wedding-card {
  background: #19203c linear-gradient(180deg, #18203d 0%, #28335c 45%, #1c2445 75%, #141a32 100%);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #ffffff;
  padding: 0;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.85), 0 0 40px rgba(135, 175, 255, 0.15);
  border-radius: 20px;
}

/* Starlight Top Chandelier Canopy */
.starlight-top-banner {
  width: 100%;
  line-height: 0;
  overflow: hidden;
  position: relative;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}
.starlight-top-banner img {
  width: 100%;
  height: auto;
  display: block;
}

/* Spotlight Beam Cones Overlay */
.starlight-content-wrap {
  position: relative;
  padding: 25px 35px 20px;
  background: radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 70%);
}

/* Shloka Header */
body.wedding-starlight .wedding-shloka {
  font-family: 'Cinzel', serif;
  font-size: 13px;
  letter-spacing: 3px;
  color: #ffffff;
  opacity: 0.95;
  margin-bottom: 8px;
}

/* Cursive Event Title e.g. "Reception" */
.starlight-script-title {
  font-family: 'Great Vibes', cursive, 'Brush Script MT', serif;
  font-size: 56px;
  font-weight: 400;
  color: #ffffff;
  margin: 4px 0 16px;
  text-shadow: 0 0 15px rgba(255, 255, 255, 0.35);
  line-height: 1.1;
}

/* Hosts Introduction */
.starlight-hosts {
  font-size: 17px;
  font-weight: 600;
  color: #ffffff;
  letter-spacing: 0.5px;
  margin: 0 0 8px;
}

/* Solicit your blessings text */
.starlight-invitation-text {
  font-size: 14px;
  line-height: 1.6;
  color: #d6e0f5;
  max-width: 520px;
  margin: 0 auto 20px;
}

/* Couple Names in Cursive Script */
.starlight-couple-script {
  font-family: 'Great Vibes', cursive, 'Brush Script MT', serif;
  font-size: 46px;
  color: #ffffff;
  margin: 16px 0;
  line-height: 1.15;
  text-shadow: 0 0 20px rgba(255, 255, 255, 0.4);
}

/* Diamond Filigree Divider */
.starlight-divider {
  font-size: 12px;
  letter-spacing: 4px;
  color: #b8c9eb;
  margin: 18px 0;
  opacity: 0.85;
}

/* Date & Time Block */
.starlight-datetime {
  margin: 16px 0;
}
.starlight-date {
  font-size: 17px;
  font-weight: 600;
  color: #ffffff;
  display: block;
  margin-bottom: 4px;
}
.starlight-time {
  font-size: 15px;
  color: #dbe4f7;
  display: block;
}

/* Venue Block */
.starlight-venue {
  margin: 18px 0;
}
.starlight-at {
  font-size: 13px;
  font-style: italic;
  color: #b5c7ec;
  display: block;
  margin-bottom: 5px;
}
.starlight-venue-name {
  font-size: 18px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 4px;
}
.starlight-venue-address {
  font-size: 14px;
  color: #c9d7f2;
  margin: 0;
}

/* Awaiting Family */
.starlight-awaiting {
  font-size: 15px;
  font-weight: 600;
  color: #e5edfc;
  margin: 16px 0 24px;
}

/* Bottom Couple Terrace Banner */
.starlight-bottom-banner {
  width: 100%;
  line-height: 0;
  overflow: hidden;
  position: relative;
  margin-top: 10px;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
}
.starlight-bottom-banner img {
  width: 100%;
  height: auto;
  display: block;
}

/* Countdown in Starlight Theme */
body.wedding-starlight .wedding-countdown-box {
  background: rgba(18, 24, 46, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(8px);
  margin: 25px auto;
}
body.wedding-starlight .wedding-countdown-title {
  color: #dce7fc;
  letter-spacing: 2.5px;
}
body.wedding-starlight .countdown-item {
  background: rgba(12, 17, 34, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}
body.wedding-starlight .countdown-val {
  color: #ffffff;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.4);
}

/* Action Buttons */
body.wedding-starlight .w-btn-primary {
  background: linear-gradient(135deg, #a51224 0%, #e6223b 100%);
  color: #ffffff;
  font-weight: 600;
  border: none;
  box-shadow: 0 6px 20px rgba(180, 20, 40, 0.45);
}
body.wedding-starlight .w-btn-primary:hover {
  background: linear-gradient(135deg, #c4182e 0%, #ff3b54 100%);
  transform: translateY(-2px);
}
body.wedding-starlight .w-btn-light {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.3);
}
body.wedding-starlight .w-btn-light:hover {
  background: rgba(255, 255, 255, 0.18);
}

/* Ceremonies in Starlight */
body.wedding-starlight .wedding-ceremony-card {
  background: rgba(20, 26, 50, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #e5edfc;
}
body.wedding-starlight .ceremony-title {
  color: #ffffff;
}
body.wedding-starlight .ceremony-time {
  color: #9cb5ea;
}

/* RSVP in Starlight */
body.wedding-starlight .wedding-rsvp-section {
  background: rgba(15, 20, 40, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.2);
  margin-top: 30px;
}
body.wedding-starlight .wedding-rsvp-field label {
  color: #cdd9f2;
}
body.wedding-starlight .wedding-rsvp-field input,
body.wedding-starlight .wedding-rsvp-field select,
body.wedding-starlight .wedding-rsvp-field textarea {
  background: #0f1428;
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #ffffff;
}
body.wedding-starlight .wedding-rsvp-field input:focus,
body.wedding-starlight .wedding-rsvp-field select:focus,
body.wedding-starlight .wedding-rsvp-field textarea:focus {
  border-color: #ffffff;
  outline: none;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.25);
}
body.wedding-starlight .wedding-rsvp-btn {
  background: linear-gradient(135deg, #a51224 0%, #e6223b 100%);
  color: #ffffff;
  border: none;
}

/* ==========================================================================
   SHARED ARCH CARD & TRIAD GRID COMPONENT
   For Serene Blue, Emerald Velvet, Blush Romance & Ivory Botanical
   ========================================================================== */
.arch-card-banner {
  max-width: 520px;
  margin: 0 auto 35px;
  border-radius: 260px 260px 24px 24px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
  border: 2px solid #c5a059;
  background: #fff;
}
.arch-card-banner.rectangular-frame {
  border-radius: 20px;
}
.arch-card-banner img {
  width: 100%;
  height: auto;
  display: block;
}

.arch-eyebrow {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3.5px;
  text-transform: uppercase;
  margin: 0 0 10px;
}
.arch-subtitle {
  font-size: 15px;
  margin: 0 0 20px;
  letter-spacing: 0.5px;
  opacity: 0.9;
}
.arch-couple-title {
  margin: 15px 0 22px;
}
.arch-couple-name {
  font-family: 'Great Vibes', cursive, 'Playfair Display', serif;
  font-size: 58px;
  line-height: 1.1;
  display: block;
}
.arch-couple-and {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 5px;
  margin: 8px 0;
  display: block;
}
.arch-tagline {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 17px;
  line-height: 1.5;
  max-width: 460px;
  margin: 0 auto 25px;
  opacity: 0.9;
}

.arch-triad-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 30px auto;
  max-width: 660px;
}
@media (max-width: 680px) {
  .arch-triad-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}
.arch-triad-card {
  padding: 20px 14px;
  border-radius: 14px;
  text-align: center;
  transition: all 0.25s ease;
}
.arch-triad-card:hover {
  transform: translateY(-3px);
}
.arch-triad-icon {
  font-size: 26px;
  margin-bottom: 8px;
}
.arch-triad-card h4 {
  font-family: 'Cinzel', 'Playfair Display', serif;
  font-size: 13px;
  letter-spacing: 1.5px;
  font-weight: 700;
  margin: 0 0 6px;
  text-transform: uppercase;
}
.arch-triad-card p {
  font-size: 12px;
  line-height: 1.5;
  margin: 0;
}

.arch-quote-box {
  margin: 25px auto;
  max-width: 480px;
  font-size: 14.5px;
  line-height: 1.6;
}
.arch-signature {
  font-family: 'Great Vibes', cursive;
  font-size: 32px;
  margin: 18px 0 4px;
}
.arch-family {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1px;
}

/* ==========================================================================
   THEME 7: SERENE POWDER BLUE ARCH (wedding-engagement-blue)
   ========================================================================== */
body.wedding-engagement-blue {
  background: #d8e8f5 radial-gradient(circle at 50% 15%, #ecf5fc 0%, #cce0f0 100%);
  color: #1c355e;
}
body.wedding-engagement-blue .wedding-card {
  background: #f7fafd;
  border: 1.5px solid #c5a059;
  border-radius: 200px 200px 28px 28px;
  box-shadow: 0 30px 80px rgba(28, 53, 94, 0.15), 0 0 30px rgba(197, 160, 89, 0.2);
  color: #1c355e;
  padding: 60px 36px 65px;
}
body.wedding-engagement-blue .arch-eyebrow {
  color: #3b526d;
}
body.wedding-engagement-blue .arch-subtitle {
  color: #4d6582;
}
body.wedding-engagement-blue .arch-couple-name {
  color: #1c355e;
}
body.wedding-engagement-blue .arch-couple-and {
  color: #c5a059;
}
body.wedding-engagement-blue .arch-tagline {
  color: #4d6582;
}
body.wedding-engagement-blue .arch-triad-card {
  background: #ffffff;
  border: 1px solid #d4e3f0;
  box-shadow: 0 4px 15px rgba(28, 53, 94, 0.05);
}
body.wedding-engagement-blue .arch-triad-card h4 {
  color: #1c355e;
}
body.wedding-engagement-blue .arch-triad-card p {
  color: #586f8a;
}
body.wedding-engagement-blue .wedding-countdown-box {
  background: #ffffff;
  border: 1.5px solid #c5a059;
}
body.wedding-engagement-blue .wedding-countdown-title {
  color: #1c355e;
  font-family: 'Cinzel', serif;
}
body.wedding-engagement-blue .countdown-item {
  background: #ebf4fb;
  border: 1px solid #c5a059;
  color: #1c355e;
}
body.wedding-engagement-blue .w-btn-primary {
  background: linear-gradient(135deg, #1c355e 0%, #2f5694 100%);
  color: #ffffff;
  border: none;
}
body.wedding-engagement-blue .w-btn-light {
  background: #ffffff;
  color: #1c355e;
  border: 1px solid #c5a059;
}
body.wedding-engagement-blue .wedding-rsvp-section {
  background: #ffffff;
  border: 1px solid #d4e3f0;
}
body.wedding-engagement-blue .wedding-rsvp-btn {
  background: linear-gradient(135deg, #1c355e 0%, #2f5694 100%);
  color: #ffffff;
  border: none;
}

/* ==========================================================================
   THEME 8: EMERALD VELVET ARCH (wedding-engagement-emerald)
   ========================================================================== */
body.wedding-engagement-emerald {
  background: #0f241a radial-gradient(circle at 50% 15%, #193d2b 0%, #0c1c14 100%);
  color: #f7f5ed;
}
body.wedding-engagement-emerald .wedding-card {
  background: #fcfaf5;
  border: 2px solid #c5a059;
  border-radius: 200px 200px 28px 28px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.7), 0 0 35px rgba(197, 160, 89, 0.3);
  color: #1b3d2b;
  padding: 60px 36px 65px;
}
body.wedding-engagement-emerald .arch-eyebrow {
  color: #2d4233;
}
body.wedding-engagement-emerald .arch-subtitle {
  color: #495f50;
}
body.wedding-engagement-emerald .arch-couple-name {
  color: #1b3d2b;
}
body.wedding-engagement-emerald .arch-couple-and {
  color: #c5a059;
}
body.wedding-engagement-emerald .arch-tagline {
  color: #526658;
}
body.wedding-engagement-emerald .arch-triad-card {
  background: #ffffff;
  border: 1px solid #dbe3d7;
  box-shadow: 0 4px 15px rgba(27, 61, 43, 0.08);
}
body.wedding-engagement-emerald .arch-triad-card h4 {
  color: #1b3d2b;
}
body.wedding-engagement-emerald .arch-triad-card p {
  color: #526658;
}
body.wedding-engagement-emerald .wedding-countdown-box {
  background: #f7f4ea;
  border: 1.5px solid #c5a059;
}
body.wedding-engagement-emerald .wedding-countdown-title {
  color: #1b3d2b;
  font-family: 'Cinzel', serif;
}
body.wedding-engagement-emerald .countdown-item {
  background: #10261b;
  border: 1px solid #c5a059;
  color: #f7f5ed;
}
body.wedding-engagement-emerald .w-btn-primary {
  background: linear-gradient(135deg, #1b3d2b 0%, #2f6147 100%);
  color: #ffffff;
  border: none;
}
body.wedding-engagement-emerald .w-btn-light {
  background: #ffffff;
  color: #1b3d2b;
  border: 1px solid #c5a059;
}
body.wedding-engagement-emerald .wedding-rsvp-section {
  background: #ffffff;
  border: 1px solid #dbe3d7;
}
body.wedding-engagement-emerald .wedding-rsvp-btn {
  background: linear-gradient(135deg, #1b3d2b 0%, #2f6147 100%);
  color: #ffffff;
  border: none;
}

/* ==========================================================================
   THEME 9: BLUSH ROSE & CHIFFON ARCH (wedding-engagement-blush)
   ========================================================================== */
body.wedding-engagement-blush {
  background: #fff2f4 radial-gradient(circle at 50% 15%, #fdf5f7 0%, #fceed3 100%);
  color: #442a33;
}
body.wedding-engagement-blush .wedding-card {
  background: #ffffff;
  border: 1.5px solid #c5a059;
  border-radius: 200px 200px 28px 28px;
  box-shadow: 0 30px 80px rgba(185, 103, 117, 0.15), 0 0 30px rgba(197, 160, 89, 0.2);
  color: #3b1924;
  padding: 60px 36px 65px;
}
body.wedding-engagement-blush .arch-eyebrow {
  color: #5c3842;
}
body.wedding-engagement-blush .arch-subtitle {
  color: #75515b;
}
body.wedding-engagement-blush .arch-couple-name {
  color: #1b3d2b;
}
body.wedding-engagement-blush .arch-couple-and {
  color: #c5a059;
}
body.wedding-engagement-blush .arch-tagline {
  color: #75515b;
}
body.wedding-engagement-blush .arch-triad-card {
  background: #fffbfa;
  border: 1px solid #f2dbdf;
  box-shadow: 0 4px 15px rgba(185, 103, 117, 0.06);
}
body.wedding-engagement-blush .arch-triad-card h4 {
  color: #1b3d2b;
}
body.wedding-engagement-blush .arch-triad-card p {
  color: #75515b;
}
body.wedding-engagement-blush .wedding-countdown-box {
  background: #fff8f9;
  border: 1.5px solid #c5a059;
}
body.wedding-engagement-blush .wedding-countdown-title {
  color: #b96775;
  font-family: 'Cinzel', serif;
}
body.wedding-engagement-blush .countdown-item {
  background: #ffffff;
  border: 1px solid #f2d9df;
  color: #3b1924;
}
body.wedding-engagement-blush .w-btn-primary {
  background: linear-gradient(135deg, #1b3d2b 0%, #2f6147 100%);
  color: #ffffff;
  border: none;
}
body.wedding-engagement-blush .w-btn-light {
  background: #ffffff;
  color: #b96775;
  border: 1px solid #c5a059;
}
body.wedding-engagement-blush .wedding-rsvp-section {
  background: #fff9fa;
  border: 1px solid #f2dbdf;
}
body.wedding-engagement-blush .wedding-rsvp-btn {
  background: linear-gradient(135deg, #1b3d2b 0%, #2f6147 100%);
  color: #ffffff;
  border: none;
}

/* ==========================================================================
   THEME 10: CLASSIC IVORY & GOLD BOTANICAL (wedding-engagement-ivory)
   ========================================================================== */
body.wedding-engagement-ivory {
  background: #f7f2e7 radial-gradient(circle at 50% 15%, #fdfcf7 0%, #ece4d2 100%);
  color: #3d372e;
}
body.wedding-engagement-ivory .wedding-card {
  background: #fdfbf7;
  border: 2px solid #c5a059;
  border-radius: 20px;
  box-shadow: 0 30px 80px rgba(90, 75, 55, 0.15), 0 0 35px rgba(197, 160, 89, 0.25);
  color: #243d2c;
  padding: 60px 40px 65px;
}
body.wedding-engagement-ivory .wedding-card::before {
  content: "";
  position: absolute;
  top: 14px; left: 14px; right: 14px; bottom: 14px;
  border: 1px solid rgba(197, 160, 89, 0.45);
  border-radius: 12px;
  pointer-events: none;
}
body.wedding-engagement-ivory .arch-eyebrow {
  color: #3d372e;
}
body.wedding-engagement-ivory .arch-subtitle {
  color: #5c5346;
}
body.wedding-engagement-ivory .arch-couple-name {
  color: #243d2c;
}
body.wedding-engagement-ivory .arch-couple-and {
  color: #c5a059;
}
body.wedding-engagement-ivory .arch-tagline {
  color: #5c5346;
}
body.wedding-engagement-ivory .arch-triad-card {
  background: #ffffff;
  border: 1px solid #e8dfce;
  box-shadow: 0 4px 15px rgba(60, 50, 40, 0.05);
}
body.wedding-engagement-ivory .arch-triad-card h4 {
  color: #243d2c;
}
body.wedding-engagement-ivory .arch-triad-card p {
  color: #665d4f;
}
body.wedding-engagement-ivory .wedding-countdown-box {
  background: #fdf8ef;
  border: 1.5px solid #c5a059;
}
body.wedding-engagement-ivory .wedding-countdown-title {
  color: #243d2c;
  font-family: 'Cinzel', serif;
}
body.wedding-engagement-ivory .countdown-item {
  background: #ffffff;
  border: 1px solid #c5a059;
  color: #243d2c;
}
body.wedding-engagement-ivory .w-btn-primary {
  background: linear-gradient(135deg, #243d2c 0%, #3a5c43 100%);
  color: #ffffff;
  border: none;
}
body.wedding-engagement-ivory .w-btn-light {
  background: #ffffff;
  color: #243d2c;
  border: 1px solid #c5a059;
}
body.wedding-engagement-ivory .wedding-rsvp-section {
  background: #ffffff;
  border: 1px solid #e8dfce;
}
body.wedding-engagement-ivory .wedding-rsvp-btn {
  background: linear-gradient(135deg, #243d2c 0%, #3a5c43 100%);
  color: #ffffff;
  border: none;
}

