/* Invitation copy and hierarchy refinement; loaded after existing themes. */
.hero .couple-names {
  column-gap: clamp(17px, 2.1vw, 30px);
  row-gap: 9px;
}
.hero .couple-names .couple-joiner {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: clamp(23px, 2.1vw, 30px);
  height: clamp(23px, 2.1vw, 30px);
  margin-inline: 3px;
  line-height: 1;
}
.hero .couple-names .joiner-heart {
  display: block;
  width: 100%;
  height: 100%;
  fill: rgba(239, 193, 118, .08);
  stroke: #f5d091;
  stroke-width: 1.75;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 5px rgba(241, 186, 97, .25));
}
.schedule-event .event-meta {
  width: 100%;
  margin: 16px auto 14px;
  line-height: 1.5;
  text-align: center;
}
.schedule-event .event-date {
  display: block;
  color: #ead1c1;
  font: 500 clamp(13px, 1.05vw, 15px)/1.55 var(--ui-font);
  letter-spacing: .015em;
  text-wrap: pretty;
}
.schedule-event .event-time {
  display: block;
  margin-top: 7px;
  color: #f6d298;
  font: 600 clamp(16px, 1.45vw, 19px)/1.35 var(--ui-font);
  letter-spacing: .01em;
  text-wrap: balance;
}
.schedule-event .event-venue--compact {
  max-width: 29ch;
  text-wrap: pretty;
}
html[lang="ta"] .schedule-event .event-date,
html[lang="ta"] .schedule-event .event-time {
  font-family: var(--tamil-ui-font);
  letter-spacing: 0;
}
html[lang="ta"] .schedule-event .event-date {
  font-size: clamp(12.8px, 1.1vw, 14.5px);
  line-height: 1.8;
}
html[lang="ta"] .schedule-event .event-time {
  font-size: clamp(15px, 1.3vw, 17px);
  line-height: 1.65;
  font-weight: 500;
}
@media (max-width: 760px) {
  .hero .couple-names { row-gap: 8px; }
  .hero .couple-names .couple-joiner {
    width: 26px;
    height: 26px;
    margin-block: 1px;
  }
  .schedule-event .event-date { font-size: 14px; }
  .schedule-event .event-time { font-size: 18px; }
  html[lang="ta"] .schedule-event .event-date { font-size: 13.5px; }
  html[lang="ta"] .schedule-event .event-time { font-size: 16px; }
}
/* Closing names on two centered lines, without an ampersand. */
.invitation-closing .closing-names {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  text-align: center;
}
.invitation-closing .closing-name {
  display: block;
  width: 100%;
  white-space: normal;
}

/* Closing signature: one centered line, with a small elegant gold heart. */
.invitation-closing .closing-names {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: clamp(8px, 1.1vw, 16px);
  width: 100%;
  max-width: 100%;
  white-space: nowrap;
  text-align: center;
}
.invitation-closing .closing-name {
  display: inline-block;
  width: auto;
  white-space: nowrap;
  flex: 0 1 auto;
}
.invitation-closing .closing-heart {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: clamp(16px, 1.45vw, 22px);
  height: clamp(16px, 1.45vw, 22px);
  color: #f0c987;
}
.invitation-closing .closing-heart svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: rgba(240, 201, 135, .07);
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 5px rgba(239, 183, 91, .30));
}
@media (max-width: 760px) {
  .invitation-closing .closing-names {
    font-size: clamp(16px, 4.7vw, 24px);
    gap: clamp(5px, 1.6vw, 10px);
  }
  html[lang="ta"] .invitation-closing .closing-names {
    font-size: clamp(14px, 4vw, 20px);
    gap: 5px;
  }
  .invitation-closing .closing-heart {
    width: 17px;
    height: 17px;
  }
  html[lang="ta"] .invitation-closing .closing-heart {
    width: 14px;
    height: 14px;
  }
}
