/* Original cherry stationery. Load after invitation.css and invitation-refined.css. */
.theme-birthday {
  --birthday-paper: #fcf4e5;
  --birthday-ink: #8c2936;
  --birthday-muted: #815951;
  --birthday-line: #b9676b66;
  color: var(--birthday-ink);
  background: var(--birthday-paper);
}

/* Preserve the complete painted border on narrow and wide invitation sheets. */
.theme-birthday .hero,
.theme-birthday .invitation-cover {
  height: 760px;
  background: var(--birthday-paper);
  color: var(--birthday-ink);
}
.theme-birthday .hero-art { object-fit: fill; object-position: center; }
.theme-birthday .art-wash { background: none; }
.theme-birthday .birthday-top { top: 94px; left: 40px; right: 40px; gap: 0; }
.theme-birthday .birthday-top p {
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .075em;
  line-height: 1.7;
}
.theme-birthday .birthday-star { display: none; }
.theme-birthday .birthday-copy { top: 139px; left: 42px; right: 42px; }
.theme-birthday .birthday-person {
  font-family: var(--serif);
  font-size: calc(37px * var(--name-scale));
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: -.8px;
}
.theme-birthday .birthday-age {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 128px;
  font-weight: 400;
  line-height: .98;
  letter-spacing: -7px;
  margin-top: 7px;
}
.theme-birthday .birthday-age > span {
  font-size: .37em;
  vertical-align: 27px;
  margin-left: 5px;
  transform: rotate(4deg);
}
.theme-birthday .birthday-copy .hero-tagline {
  max-width: 300px;
  margin: 16px auto 0;
  font-family: var(--serif);
  font-size: 12px;
  line-height: 1.9;
}
.theme-birthday .birthday-ribbon {
  top: 405px;
  left: 50%;
  right: auto;
  width: calc(100% - 112px);
  max-width: 345px;
  gap: 13px;
  padding: 11px 0;
  transform: translateX(-50%);
  border-top: 1px solid var(--birthday-line);
  border-bottom: 1px solid var(--birthday-line);
  outline: 0;
  background: transparent;
  color: var(--birthday-ink);
  font-size: 10px;
  line-height: 1.7;
}
.theme-birthday .birthday-ribbon i { font-size: 8px; opacity: .65; }
.theme-birthday .birthday-bottom {
  left: 45px;
  right: 45px;
  bottom: 39px;
  font-size: 9px;
  font-weight: 400;
  line-height: 1.7;
}

.theme-birthday .cover-birthday-heading { top: 57px; left: 43px; right: 43px; }
.theme-birthday .cover-birthday-heading > .cover-brand {
  display: block;
  margin-bottom: 42px;
  font-family: Georgia, serif;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.5;
}
.theme-birthday .cover-birthday-heading > p {
  margin-bottom: 16px;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .055em;
  line-height: 1.8;
}
.theme-birthday .cover-birthday-heading > h2 {
  font-family: var(--serif);
  font-size: calc(34px * var(--name-scale));
  font-weight: 400;
  letter-spacing: -.65px;
  line-height: 1.5;
}
.theme-birthday .cover-birthday-heading > h2 > span {
  margin-top: 6px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 126px;
  line-height: .95;
  letter-spacing: -7px;
}
.theme-birthday .cover-birthday-heading > h2 > span > span {
  margin-left: 5px;
  font-size: .37em;
  vertical-align: 26px;
  transform: rotate(4deg);
}
.theme-birthday .cover-birthday-heading > div {
  margin-top: 21px;
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 400;
  line-height: 1.8;
}
.theme-birthday .cover-button {
  top: 394px;
  left: 50%;
  right: auto;
  max-width: calc(100% - 90px);
  min-height: 48px;
  padding: 13px 21px;
  gap: 13px;
  transform: translateX(-50%);
  border: 1px solid #a74751;
  border-radius: 28px;
  outline: 0;
  background: #fcf4e5e8;
  color: var(--birthday-ink);
  font-size: 10px;
  line-height: 1.7;
  white-space: nowrap;
  box-shadow: 0 3px 12px #8c29360a;
}
.theme-birthday .cover-button:hover { background: #fffaf1; border-color: #842535; }
.theme-birthday .cover-button svg { width: 22px; }
.theme-birthday .cover-bottom-note {
  left: 45px;
  right: 45px;
  bottom: 39px;
  font-family: var(--serif);
  font-size: 10px;
  font-weight: 400;
  line-height: 1.8;
}

/* The inside reads as a second sheet of the same stationery set. */
.theme-birthday .invitation-countdown {
  padding: 35px 30px 32px;
  border-top: 1px solid var(--birthday-line);
  border-bottom: 1px solid var(--birthday-line);
  background: #f6e9df;
  color: var(--birthday-ink);
  text-align: center;
}
.theme-birthday .invitation-countdown .section-label { margin-bottom: 20px; }
.theme-birthday .countdown-digits { display: flex; justify-content: center; gap: 27px; }
.theme-birthday .countdown-digits > div {
  min-width: 52px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.theme-birthday .countdown-digits > div > b {
  display: block;
  font-family: Georgia, serif;
  font-size: 38px;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -1px;
}
.theme-birthday .countdown-digits > div > span {
  display: block;
  margin-top: 7px;
  font-family: var(--sans);
  font-size: 9px;
  line-height: 1.7;
}
.theme-birthday .details {
  padding: 47px 44px 42px;
  background: var(--birthday-paper);
  color: var(--birthday-ink);
}
.theme-birthday .section-label { color: #98615a; font-size: 9px; letter-spacing: .07em; }
.theme-birthday .details-intro { text-align: center; }
.theme-birthday .details-intro h2 {
  font-family: var(--serif);
  font-size: 30px;
  font-weight: 400;
  letter-spacing: -.6px;
  line-height: 1.6;
  margin-bottom: 18px;
}
.theme-birthday .details-intro > p:last-child {
  max-width: 420px;
  margin-inline: auto;
  color: var(--birthday-muted);
  font-size: 12px;
  line-height: 2;
}
.theme-birthday .chapter-heading { display: flex; align-items: center; gap: 13px; margin: 36px 0 17px; }
.theme-birthday .chapter-heading .number {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid var(--birthday-line);
  border-radius: 50%;
  color: #a05a60;
  font-family: Georgia, serif;
  font-size: 12px;
}
.theme-birthday .chapter-heading h2 { margin: 0; font-family: var(--serif); font-size: 23px; font-weight: 400; line-height: 1.6; }
.theme-birthday .agenda { margin-top: 26px; padding: 0; border-top: 1px solid var(--birthday-line); border-bottom: 0; }
.theme-birthday .agenda li { padding: 21px 0; gap: 18px; border-bottom: 1px solid #b9676b35; }
.theme-birthday .agenda li:last-child { border-bottom: 1px solid var(--birthday-line); }
.theme-birthday .agenda time { color: var(--birthday-ink); font-family: Georgia, serif; font-size: 18px; font-style: normal; line-height: 1.5; }
.theme-birthday .agenda h3 { font-family: var(--serif); font-size: 14px; font-weight: 500; line-height: 1.7; }
.theme-birthday .agenda p { margin-top: 5px; color: var(--birthday-muted); font-size: 11px; line-height: 1.9; }
.theme-birthday .venue-block { padding: 25px 0; border-left: 0; border-bottom: 1px solid var(--birthday-line); background: transparent; }
.theme-birthday .venue-block h2 { font-family: var(--serif); font-size: 22px; font-weight: 400; line-height: 1.6; }
.theme-birthday .venue-block > div > p:last-child { color: var(--birthday-muted); font-size: 11px; line-height: 1.9; }
.theme-birthday .venue-block > a { color: var(--birthday-ink); border-color: #a7475180; }
.theme-birthday .venue-date { color: var(--birthday-ink); border-color: var(--birthday-line); }
.theme-birthday .venue-date b { font-family: Georgia, serif; font-weight: 400; }
.theme-birthday .closing-copy { max-width: 370px; margin: 31px auto; text-align: center; color: var(--birthday-ink); font-family: var(--serif); font-size: 15px; line-height: 1.95; }
.theme-birthday .invitation-actions button { min-height: 48px; border-color: #ae686d80; border-radius: 28px; background: transparent; color: var(--birthday-ink); font-size: 10px; }
.theme-birthday .invitation-actions button:hover { background: #f4e4da; }
.theme-birthday .invitation-footer { background: #f8eedf; border-color: var(--birthday-line); color: var(--birthday-ink); }
.theme-birthday .footer-contact { color: var(--birthday-ink); border-color: #ae686d80; }

html[lang=en] .theme-birthday .birthday-ribbon { font-size: 11px; }
html[lang=en] .theme-birthday .birthday-copy .hero-tagline { font-size: 14px; }
html[lang=en] .theme-birthday .agenda time { font-size: 15px; }
html[lang=en] .theme-birthday .closing-copy { font-size: 17px; }

@media(max-width:389px) {
  .theme-birthday .birthday-top { top: 98px; left: 36px; right: 36px; }
  .theme-birthday .birthday-top p { font-size: 9px; letter-spacing: .025em; }
  .theme-birthday .birthday-copy { left: 35px; right: 35px; top: 144px; }
  .theme-birthday .birthday-person { font-size: calc(31px * var(--name-scale)); }
  .theme-birthday .birthday-age { font-size: 121px; letter-spacing: -6px; }
  .theme-birthday .birthday-copy .hero-tagline { margin-top: 18px; font-size: 10px; }
  .theme-birthday .birthday-ribbon { width: calc(100% - 78px); top: 399px; gap: 9px; font-size: 9px; }
  .theme-birthday .birthday-bottom { left: 37px; right: 37px; font-size: 8px; }
  .theme-birthday .cover-birthday-heading { left: 35px; right: 35px; top: 58px; }
  .theme-birthday .cover-birthday-heading > .cover-brand { font-size: 13px; margin-bottom: 44px; }
  .theme-birthday .cover-birthday-heading > p { font-size: 9px; }
  .theme-birthday .cover-birthday-heading > h2 { font-size: calc(30px * var(--name-scale)); }
  .theme-birthday .cover-birthday-heading > h2 > span { font-size: 120px; }
  .theme-birthday .cover-birthday-heading > div { margin-top: 24px; font-size: 9px; }
  .theme-birthday .cover-button { top: 392px; max-width: calc(100% - 76px); padding: 12px 18px; font-size: 9px; gap: 10px; }
  .theme-birthday .cover-bottom-note { left: 37px; right: 37px; font-size: 9px; }
  .theme-birthday .details { padding: 37px 27px 35px; }
  .theme-birthday .details-intro h2 { font-size: 26px; }
  .theme-birthday .details-intro > p:last-child { font-size: 11px; }
  .theme-birthday .chapter-heading h2 { font-size: 21px; }
  .theme-birthday .agenda li { gap: 12px; }
  .theme-birthday .agenda h3 { font-size: 12px; }
  .theme-birthday .agenda p { font-size: 10px; }
  .theme-birthday .invitation-countdown { padding: 30px 24px; }
  .theme-birthday .countdown-digits { gap: 18px; }
  .theme-birthday .countdown-digits > div { min-width: 46px; }
  .theme-birthday .countdown-digits > div > b { font-size: 34px; }
  .theme-birthday .invitation-actions button { font-size: 9px; padding-inline: 8px; }
  html[lang=en] .theme-birthday .birthday-ribbon { font-size: 10px; }
  html[lang=en] .theme-birthday .birthday-copy .hero-tagline { font-size: 12px; }
  html[lang=en] .theme-birthday .agenda time { font-size: 13px; }
}

@media print {
  .theme-birthday .hero-art { object-fit: fill; }
  .theme-birthday .details { background: #fffaf1; }
}
