/* MaArtisté RSVP · HP-RSVP-THEME-1.0A.12
   Harley & Priscilla · Sage Lace Foundation + Mixed Name Typography
   Event-only visual layer. No RSVP workflow, guest-data, or shared typography changes.
*/

@font-face {
  font-family: 'HP Literaturnaya Local';
  src:
    local('Literaturnaya'),
    local('Literaturnaya Regular'),
    local('Literaturnaya-Regular');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

body.theme-harleyandpriscilla {
  --hp-sage: #a7aa88;
  --hp-sage-deep: #7f8668;
  --hp-sage-ink: #4c5241;
  --hp-ivory: #f5efe6;
  --hp-ivory-soft: #faf6ef;
  --hp-border: rgba(86, 91, 72, .28);
  --hp-shadow: 0 16px 38px rgba(59, 63, 48, .11);
  --hp-literaturnaya: 'HP Literaturnaya Local', Georgia, 'Times New Roman', serif;

  --bg: var(--hp-sage);
  --card: var(--hp-ivory);
  --text: #34382e;
  --muted: #6f7462;
  --border: var(--hp-border);
  --primary: var(--hp-sage-deep);
  --accent: #8d9275;
  --theme-primary: var(--hp-sage-deep);
  --theme-accent: #8d9275;
  --button-color: var(--hp-sage-deep);
  --button-text-color: #fffdf7;
  --title-color: #454b3c;
  --header-color: var(--hp-sage-deep);
  --header-text-color: #fffdf7;

  min-height: 100dvh;
  background-color: var(--hp-sage);
  background-image: url('/app/rsvp/assets/harleyandpriscilla/sage-bg-desktop.png?v=HP-RSVP-THEME-1.0A');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  color: var(--text);
  padding: clamp(34px, 5vw, 68px) clamp(18px, 3vw, 34px);
}

body.theme-harleyandpriscilla.flow-top,
body.theme-harleyandpriscilla.android-inapp-keyboard {
  background-color: var(--hp-sage);
  background-image: url('/app/rsvp/assets/harleyandpriscilla/sage-bg-desktop.png?v=HP-RSVP-THEME-1.0A');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* HP uses one open RSVP composition, not a separate cover panel. */
body.theme-harleyandpriscilla #rsvpCover {
  display: none !important;
}

body.theme-harleyandpriscilla.has-rsvp-cover {
  align-items: center;
  padding-top: clamp(34px, 5vw, 68px);
}

body.theme-harleyandpriscilla #search-shell {
  width: 100%;
  max-width: 560px;
  margin: auto;
  overflow: visible;
}

body.theme-harleyandpriscilla #topIcon {
  display: none !important;
}

/* Dedicated outside-the-card lace wrapper. */
body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
  position: relative;
  width: calc(100% - 28px);
  margin: 70px auto;
  isolation: isolate;
  overflow: visible;
}

body.theme-harleyandpriscilla #search-shell .hp-search-lace-art {
  position: absolute;
  inset: -72px -62px -76px;
  z-index: 0;
  background-image: url('/app/rsvp/assets/harleyandpriscilla/lace-frame.png?v=HP-RSVP-THEME-1.0A');
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  pointer-events: none;
  user-select: none;
}

body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap > .search-card {
  position: relative;
  z-index: 1;
  width: 92%;
  margin: 0 auto;
  overflow: visible;
  padding: 42px 38px 32px;
  background: rgba(248, 241, 231, .985) !important;
  border: 1px solid rgba(110, 106, 87, .16);
  border-radius: 8px;
  box-shadow: var(--hp-shadow);
}

/* Search header */
body.theme-harleyandpriscilla #eventTitle {
  gap: 16px;
}

body.theme-harleyandpriscilla #search-shell .event-title-prefix {
  font-family: var(--hp-literaturnaya);
  color: var(--hp-sage-ink);
  font-size: 11px;
  line-height: 1.3;
  font-weight: 400;
  letter-spacing: .16em;
  text-transform: uppercase;
}

body.theme-harleyandpriscilla #search-shell .event-title-name {
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 0;
  max-width: 100%;
  white-space: nowrap;
  font-family: var(--hp-literaturnaya);
  font-size: clamp(2.05rem, 6.4vw, 2.95rem);
  line-height: 1.04;
  font-weight: 400;
  letter-spacing: -.018em;
  color: var(--hp-sage-ink);
  overflow-wrap: normal;
}

body.theme-harleyandpriscilla .hp-name-word {
  display: inline-flex;
  align-items: baseline;
  white-space: nowrap;
}

body.theme-harleyandpriscilla .hp-name-initial {
  display: inline-block;
  font-family: 'Pinyon Script', 'Brush Script MT', 'Segoe Script', cursive;
  font-size: 1.40em;
  line-height: .72;
  font-weight: 400;
  margin-right: .01em;
  transform: translateY(.055em);
}

body.theme-harleyandpriscilla .hp-name-rest {
  font-family: var(--hp-literaturnaya);
  font-size: 1em;
  font-weight: 400;
  line-height: 1;
}

body.theme-harleyandpriscilla .hp-name-amp {
  display: inline-block;
  margin: 0 .20em;
  font-family: var(--hp-literaturnaya);
  font-size: .78em;
  font-weight: 400;
  color: #69705a;
}

body.theme-harleyandpriscilla #search-shell .meta-stack {
  margin-top: 25px;
  gap: 4px;
}

body.theme-harleyandpriscilla #search-shell .meta-line {
  color: #686d5b;
  font-family: var(--hp-literaturnaya);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .055em;
}

body.theme-harleyandpriscilla #search-shell .meta-line.strong {
  color: #4b5041;
}

body.theme-harleyandpriscilla #search-shell .search-divider {
  width: 94px;
  height: 1px;
  margin: 22px auto 20px;
  background: rgba(103, 109, 88, .34);
}

body.theme-harleyandpriscilla #search-shell .search-divider span {
  display: none;
}

body.theme-harleyandpriscilla #searchInstruction {
  max-width: 330px;
  margin-inline: auto;
  color: #686d5b;
  font-family: var(--hp-literaturnaya);
  font-size: 14px;
  line-height: 1.65;
}

body.theme-harleyandpriscilla #search-shell .form-group {
  margin-top: 22px;
  gap: 10px;
}

body.theme-harleyandpriscilla #nameInput,
body.theme-harleyandpriscilla textarea {
  background: rgba(255, 252, 246, .92);
  border-color: rgba(113, 116, 94, .34);
  color: #34382e;
  border-radius: 8px;
}

body.theme-harleyandpriscilla #nameInput {
  min-height: 49px;
  padding-top: 12px;
  padding-bottom: 12px;
  font-family: var(--hp-literaturnaya);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.28);
}

body.theme-harleyandpriscilla #nameInput::placeholder {
  color: #8a8e78;
  opacity: 1;
}

body.theme-harleyandpriscilla #nameInput:focus,
body.theme-harleyandpriscilla input:focus,
body.theme-harleyandpriscilla textarea:focus {
  border-color: var(--hp-sage-deep);
  box-shadow: 0 0 0 4px rgba(127, 134, 104, .12);
}

body.theme-harleyandpriscilla #searchBtn,
body.theme-harleyandpriscilla .btn-primary {
  background: var(--hp-sage-deep);
  color: #fffdf7;
  border-radius: 9px;
  box-shadow: 0 8px 20px rgba(85, 91, 69, .18);
}

body.theme-harleyandpriscilla #searchBtn {
  min-height: 48px;
  font-family: var(--hp-literaturnaya);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .09em;
  text-transform: uppercase;
}

body.theme-harleyandpriscilla #searchBtn:hover {
  background: #747b5f;
}

/* Keep the sage stationery background through later RSVP states. */
body.theme-harleyandpriscilla .confirm-card,
body.theme-harleyandpriscilla .success-card {
  background: rgba(248, 241, 231, .985);
  border-color: rgba(110, 106, 87, .18);
}

body.theme-harleyandpriscilla .confirm-card .header,
body.theme-harleyandpriscilla .success-card .hero {
  background: var(--hp-sage-deep);
  color: #fffdf7;
}


/* HP-RSVP-THEME-1.0A.3 · Light-Surface Text Contrast Guard
   The shared RSVP uses --title-color across several ivory/white cards.
   Keep light text only on known sage/dark surfaces and force readable
   sage-ink on light surfaces for this event.
*/
body.theme-harleyandpriscilla {
  --hp-text-strong: #454b3c;
  --hp-text-body: #5f6553;
  --hp-text-muted: #6f7462;
}

body.theme-harleyandpriscilla .guest-clarity-intro,
body.theme-harleyandpriscilla .guest-clarity-host,
body.theme-harleyandpriscilla .guest-clarity-guest-name,
body.theme-harleyandpriscilla .guest-clarity-greeting,
body.theme-harleyandpriscilla .guest-clarity-seat-number,
body.theme-harleyandpriscilla .review-section .review-title,
body.theme-harleyandpriscilla .summary-title,
body.theme-harleyandpriscilla .info-card-title,
body.theme-harleyandpriscilla .modal-title {
  color: var(--hp-text-strong) !important;
}

body.theme-harleyandpriscilla .guest-clarity-copy,
body.theme-harleyandpriscilla .guest-clarity-reserved-copy,
body.theme-harleyandpriscilla .guest-clarity-seat-label,
body.theme-harleyandpriscilla .guest-clarity-note,
body.theme-harleyandpriscilla .review-section .review-copy,
body.theme-harleyandpriscilla .review-detail-label,
body.theme-harleyandpriscilla .summary-row small,
body.theme-harleyandpriscilla .info-card-body,
body.theme-harleyandpriscilla .success-event-label,
body.theme-harleyandpriscilla .success-event-schedule-row,
body.theme-harleyandpriscilla .future-change-help {
  color: var(--hp-text-muted) !important;
}

body.theme-harleyandpriscilla .guest-clarity-deadline span {
  color: var(--hp-text-muted) !important;
}

body.theme-harleyandpriscilla .guest-clarity-deadline strong,
body.theme-harleyandpriscilla .review-detail-value,
body.theme-harleyandpriscilla .review-attendance-count,
body.theme-harleyandpriscilla .success-event-venue,
body.theme-harleyandpriscilla .success-event-schedule-row strong,
body.theme-harleyandpriscilla .future-change-title {
  color: var(--hp-text-strong) !important;
}

/* Explicitly preserve ivory text on sage/dark surfaces. */
body.theme-harleyandpriscilla .confirm-card .header,
body.theme-harleyandpriscilla .confirm-card .header h1,
body.theme-harleyandpriscilla .confirm-card .header h1 em,
body.theme-harleyandpriscilla .confirm-card .header p,
body.theme-harleyandpriscilla .confirm-card .header .last-updated,
body.theme-harleyandpriscilla .confirm-card .header .attending-indicator-main,
body.theme-harleyandpriscilla .confirm-card .header .attending-indicator-sub,
body.theme-harleyandpriscilla .success-card .hero,
body.theme-harleyandpriscilla .success-card .hero h1,
body.theme-harleyandpriscilla .success-card .hero h1 em,
body.theme-harleyandpriscilla .success-card .hero .hero-sub,
body.theme-harleyandpriscilla .event-date-bar,
body.theme-harleyandpriscilla .event-date-bar .event-date-text,
body.theme-harleyandpriscilla .event-date-bar .event-date-text span {
  color: #fffdf7 !important;
}

@media (max-width: 620px) {
  body.theme-harleyandpriscilla,
  body.theme-harleyandpriscilla.flow-top,
  body.theme-harleyandpriscilla.android-inapp-keyboard {
    background-image: url('/app/rsvp/assets/harleyandpriscilla/sage-bg-mobile.png?v=HP-RSVP-THEME-1.0A');
    background-position: center top;
    background-attachment: scroll;
  }

  body.theme-harleyandpriscilla {
    padding: max(24px, env(safe-area-inset-top)) 14px max(34px, env(safe-area-inset-bottom));
  }

  body.theme-harleyandpriscilla #search-shell {
    max-width: 430px;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
    width: calc(100% - 34px);
    margin: 58px auto 62px;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-art {
    inset: -56px -42px -60px;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap > .search-card {
    width: 90%;
    padding: 38px 22px 28px;
    border-radius: 7px;
  }

  body.theme-harleyandpriscilla #search-shell .event-title-name {
    font-size: clamp(1.60rem, 6.5vw, 1.95rem);
    line-height: 1;
    flex-wrap: nowrap;
    white-space: nowrap;
  }

  body.theme-harleyandpriscilla #eventTitle {
    gap: 18px;
  }

  body.theme-harleyandpriscilla #search-shell .meta-stack {
    margin-top: 27px;
  }

  body.theme-harleyandpriscilla #searchInstruction {
    max-width: 290px;
    font-size: 13px;
  }
}

@media (max-width: 360px) {
  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
    width: calc(100% - 28px);
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-art {
    inset: -50px -34px -54px;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap > .search-card {
    width: 92%;
    padding: 34px 18px 26px;
  }

  body.theme-harleyandpriscilla #search-shell .event-title-name {
    font-size: clamp(1.48rem, 6.4vw, 1.72rem);
  }

  body.theme-harleyandpriscilla .hp-name-initial {
    font-size: 1.34em;
    margin-right: .015em;
  }

  body.theme-harleyandpriscilla .hp-name-amp {
    margin-inline: .13em;
    font-size: .74em;
  }
}


/* HP-RSVP-THEME-1.0A.4 · Floral Accent Visibility
   The baked-in upper-left flower is mostly lost on narrow mobile crops,
   so use the dedicated transparent asset as a responsive decorative overlay.
*/
body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap::before {
  content: '';
  position: absolute;
  width: 118px;
  height: 170px;
  left: -76px;
  top: -104px;
  z-index: 2;
  background-image: url('/app/rsvp/assets/harleyandpriscilla/flower-top-left.png?v=HP-RSVP-THEME-1.0A.4');
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
  user-select: none;
}

@media (max-width: 620px) {
  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap::before {
    width: 92px;
    height: 132px;
    left: -48px;
    top: -86px;
  }
}

@media (max-width: 360px) {
  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap::before {
    width: 82px;
    height: 120px;
    left: -42px;
    top: -80px;
  }
}


/* HP-RSVP-THEME-1.0A.5 · RSVP Header Outside Card
   Match the client peg: invitation-style RSVP intro on sage background,
   couple identity preserved, search interaction isolated inside lace card.
*/
body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro {
  position: relative;
  width: min(100%, 620px);
  margin: 0 auto;
  padding: 18px 38px 0;
  text-align: center;
  color: #f7f1e7;
  z-index: 3;
}

body.theme-harleyandpriscilla .hp-rsvp-heading {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: .22em;
  white-space: nowrap;
  color: #f7f1e7;
  text-shadow: 0 1px 10px rgba(68, 73, 57, .16);
}

body.theme-harleyandpriscilla .hp-rsvp-heading-word {
  display: inline-flex;
  align-items: baseline;
  white-space: nowrap;
}

body.theme-harleyandpriscilla .hp-rsvp-heading-initial {
  display: inline-block;
  font-family: 'Pinyon Script', 'Brush Script MT', 'Segoe Script', cursive;
  font-size: clamp(3.4rem, 8vw, 5.1rem);
  line-height: .68;
  font-weight: 400;
  margin-right: -.08em;
  transform: translateY(.08em);
}

body.theme-harleyandpriscilla .hp-rsvp-heading-rest {
  font-family: var(--hp-literaturnaya);
  font-size: clamp(2.1rem, 4.9vw, 3rem);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -.025em;
}

body.theme-harleyandpriscilla .hp-rsvp-copy {
  margin-top: 18px;
  font-family: var(--hp-literaturnaya);
  font-size: 13px;
  line-height: 1.55;
  letter-spacing: .055em;
  color: rgba(247, 241, 231, .96);
  text-shadow: 0 1px 8px rgba(68, 73, 57, .16);
}

body.theme-harleyandpriscilla .hp-rsvp-couple {
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: nowrap;
  white-space: nowrap;
  margin-top: 16px;
  font-family: var(--hp-literaturnaya);
  font-size: clamp(1.65rem, 4.2vw, 2.3rem);
  line-height: 1;
  color: #f7f1e7;
  text-shadow: 0 1px 8px rgba(68, 73, 57, .18);
}

body.theme-harleyandpriscilla .hp-rsvp-couple .hp-name-initial {
  font-size: 1.35em;
  margin-right: .005em;
}

body.theme-harleyandpriscilla .hp-rsvp-couple .hp-name-amp {
  margin-inline: .18em;
  color: #f7f1e7;
  font-size: .74em;
}

body.theme-harleyandpriscilla .hp-rsvp-deadline {
  margin-top: 12px;
  font-family: var(--hp-literaturnaya);
  font-size: 12px;
  line-height: 1.45;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #f7f1e7;
  text-shadow: 0 1px 8px rgba(68, 73, 57, .16);
}

/* Keep couple/date source nodes alive for base RSVP logic, but remove duplicate
   invitation header from the cream search card. */
body.theme-harleyandpriscilla #search-shell .search-card #eventTitle,
body.theme-harleyandpriscilla #search-shell .search-card .meta-stack,
body.theme-harleyandpriscilla #search-shell .search-card .search-divider {
  display: none !important;
}

body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
  margin-top: 98px;
  margin-bottom: 72px;
}

body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap > .search-card {
  padding-top: 34px;
  padding-bottom: 28px;
}

body.theme-harleyandpriscilla #searchInstruction {
  max-width: 340px;
}

body.theme-harleyandpriscilla #search-shell .form-group {
  margin-top: 20px;
}

/* Move the top-left flower from the lace frame to the outside RSVP intro. */
body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap::before {
  content: none !important;
  background: none !important;
}

body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro::before {
  content: '';
  position: absolute;
  width: 122px;
  height: 176px;
  left: -70px;
  top: 8px;
  background-image: url('/app/rsvp/assets/harleyandpriscilla/flower-top-left.png?v=HP-RSVP-THEME-1.0A.5');
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
  user-select: none;
  z-index: -1;
}

@media (max-width: 620px) {
  body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro {
    padding: 20px 24px 0;
  }

  body.theme-harleyandpriscilla .hp-rsvp-heading {
    gap: .16em;
  }

  body.theme-harleyandpriscilla .hp-rsvp-heading-initial {
    font-size: clamp(3rem, 14vw, 4rem);
  }

  body.theme-harleyandpriscilla .hp-rsvp-heading-rest {
    font-size: clamp(1.8rem, 8.5vw, 2.35rem);
  }

  body.theme-harleyandpriscilla .hp-rsvp-copy {
    max-width: 340px;
    margin: 15px auto 0;
    font-size: 11.5px;
    line-height: 1.55;
  }

  body.theme-harleyandpriscilla .hp-rsvp-couple {
    margin-top: 14px;
    font-size: clamp(1.42rem, 6.2vw, 1.8rem);
  }

  body.theme-harleyandpriscilla .hp-rsvp-deadline {
    margin-top: 10px;
    font-size: 10.5px;
    letter-spacing: .075em;
  }

  body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro::before {
    width: 90px;
    height: 130px;
    left: -40px;
    top: 14px;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
    margin-top: 78px;
    margin-bottom: 66px;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap > .search-card {
    padding-top: 30px;
    padding-bottom: 26px;
  }
}

@media (max-width: 360px) {
  body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro {
    padding-inline: 18px;
  }

  body.theme-harleyandpriscilla .hp-rsvp-heading-initial {
    font-size: 2.85rem;
  }

  body.theme-harleyandpriscilla .hp-rsvp-heading-rest {
    font-size: 1.72rem;
  }

  body.theme-harleyandpriscilla .hp-rsvp-couple {
    font-size: 1.34rem;
  }

  body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro::before {
    width: 78px;
    height: 114px;
    left: -34px;
    top: 18px;
  }
}



/* HP-RSVP-THEME-1.0A.6 · APPROVED WIREFRAME LOCK
   Outside: Please RSVP + two-line supporting copy.
   Inside lace card: The Wedding Of + Harley & Priscilla + event metadata + search.
*/
body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro {
  position: relative;
  width: min(100%, 620px);
  margin: 0 auto;
  padding: 12px 34px 0;
  text-align: center;
  color: #f7f1e7;
  isolation: isolate;
  z-index: 3;
}

body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro > * {
  position: relative;
  z-index: 1;
}

body.theme-harleyandpriscilla .hp-rsvp-heading {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: .18em;
  white-space: nowrap;
  color: #f7f1e7;
  text-shadow: 0 1px 10px rgba(68, 73, 57, .16);
}

body.theme-harleyandpriscilla .hp-rsvp-heading-word {
  display: inline-flex;
  align-items: baseline;
  white-space: nowrap;
}

body.theme-harleyandpriscilla .hp-rsvp-heading-initial {
  display: inline-block;
  font-family: 'Pinyon Script', 'Brush Script MT', 'Segoe Script', cursive;
  font-size: clamp(3.35rem, 8vw, 5rem);
  line-height: .68;
  font-weight: 400;
  margin-right: -.08em;
  transform: translateY(.08em);
}

body.theme-harleyandpriscilla .hp-rsvp-heading-rest {
  font-family: var(--hp-literaturnaya);
  font-size: clamp(2.05rem, 4.8vw, 2.95rem);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -.025em;
}

body.theme-harleyandpriscilla .hp-rsvp-copy {
  max-width: 430px;
  margin: 17px auto 0;
  font-family: var(--hp-literaturnaya);
  font-size: 13px;
  line-height: 1.58;
  letter-spacing: .035em;
  color: rgba(247, 241, 231, .97);
  text-shadow: 0 1px 8px rgba(68, 73, 57, .16);
}

/* Approved layout keeps couple identity and metadata INSIDE the cream card. */
body.theme-harleyandpriscilla #search-shell .search-card #eventTitle {
  display: flex !important;
}

body.theme-harleyandpriscilla #search-shell .search-card .meta-stack {
  display: flex !important;
}

body.theme-harleyandpriscilla #search-shell .search-card .search-divider {
  display: flex !important;
}

/* Experimental A.5 outside duplicates are retired if an older cached DOM still has them. */
body.theme-harleyandpriscilla #search-shell .hp-rsvp-couple,
body.theme-harleyandpriscilla #search-shell .hp-rsvp-deadline {
  display: none !important;
}

/* Wireframe spacing: generous air between intro copy and visible lace edge. */
body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
  margin-top: 116px;
  margin-bottom: 72px;
}

/* Restore the approved classic card proportions. */
body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap > .search-card {
  width: 92%;
  padding: 42px 38px 32px;
}

/* Flower belongs to the top intro composition, not the lace frame. */
body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap::before {
  content: none !important;
  background: none !important;
}

body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro::before {
  content: '';
  position: absolute;
  width: 126px;
  height: 182px;
  left: -64px;
  top: -18px;
  z-index: 0;
  background-image: url('/app/rsvp/assets/harleyandpriscilla/flower-top-left.png?v=HP-RSVP-THEME-1.0A.6');
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
  user-select: none;
}

@media (max-width: 620px) {
  body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro {
    padding: 18px 22px 0;
  }

  body.theme-harleyandpriscilla .hp-rsvp-heading {
    gap: .14em;
  }

  body.theme-harleyandpriscilla .hp-rsvp-heading-initial {
    font-size: clamp(3rem, 13.5vw, 3.9rem);
  }

  body.theme-harleyandpriscilla .hp-rsvp-heading-rest {
    font-size: clamp(1.82rem, 8.2vw, 2.3rem);
  }

  body.theme-harleyandpriscilla .hp-rsvp-copy {
    max-width: 330px;
    margin-top: 14px;
    font-size: 11.5px;
    line-height: 1.58;
  }

  body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro::before {
    width: 98px;
    height: 142px;
    left: -42px;
    top: -10px;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
    margin-top: 100px;
    margin-bottom: 66px;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap > .search-card {
    width: 90%;
    padding: 38px 22px 28px;
  }
}

@media (max-width: 360px) {
  body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro {
    padding-inline: 16px;
  }

  body.theme-harleyandpriscilla .hp-rsvp-heading-initial {
    font-size: 2.78rem;
  }

  body.theme-harleyandpriscilla .hp-rsvp-heading-rest {
    font-size: 1.68rem;
  }

  body.theme-harleyandpriscilla .hp-rsvp-copy {
    font-size: 11px;
  }

  body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro::before {
    width: 84px;
    height: 122px;
    left: -34px;
    top: -4px;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
    margin-top: 94px;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap > .search-card {
    width: 92%;
    padding: 34px 18px 26px;
  }
}



/* HP-RSVP-THEME-1.0A.7 · Composition Centering + Spacing Polish
   Tighten the intro-to-lace rhythm while keeping the approved composition
   vertically centered as one group. No card sizing or RSVP behavior changes.
*/
body.theme-harleyandpriscilla #search-shell {
  align-self: center;
  margin-top: auto;
  margin-bottom: auto;
}

body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
  margin-top: 92px;
  margin-bottom: 60px;
}

@media (max-width: 620px) {
  body.theme-harleyandpriscilla.has-rsvp-cover {
    padding-top: max(24px, env(safe-area-inset-top));
    padding-bottom: max(24px, env(safe-area-inset-bottom));
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
    margin-top: 80px;
    margin-bottom: 54px;
  }
}

@media (max-width: 360px) {
  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
    margin-top: 74px;
    margin-bottom: 50px;
  }
}



/* HP-RSVP-THEME-1.0A.8 · Mobile-Only Flower Guard
   Desktop/tablet use the baked background florals only.
   The separate transparent flower overlay is mobile-only.
*/
body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro::before {
  content: none !important;
  background-image: none !important;
}

@media (max-width: 620px) {
  body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro::before {
    content: '' !important;
    width: 98px;
    height: 142px;
    left: -42px;
    top: -10px;
    background-image: url('/app/rsvp/assets/harleyandpriscilla/flower-top-left.png?v=HP-RSVP-THEME-1.0A.8') !important;
    background-position: left top;
    background-size: contain;
    background-repeat: no-repeat;
  }
}

@media (max-width: 360px) {
  body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro::before {
    width: 84px;
    height: 122px;
    left: -34px;
    top: -4px;
  }
}



/* HP-RSVP-THEME-1.0A.9 · Responsive Lace Fit + Tablet Floral + Script Spacing
   Tablet/desktop share one card-to-lace anchor, tablet regains the standalone
   flower accent, and decorative P initials get breathing room.
*/

/* Decorative initial spacing: prevent the P from visually colliding with its rest. */
body.theme-harleyandpriscilla .hp-rsvp-heading-word:first-child .hp-rsvp-heading-initial {
  margin-right: .025em;
}

body.theme-harleyandpriscilla #search-shell .event-title-name .hp-name-word:last-child .hp-name-initial {
  margin-right: .045em;
}

/* Tablet + desktop: make the cream card itself the lace sizing anchor. */
@media (min-width: 621px) {
  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
    width: calc(100% - 60px);
    max-width: 500px;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap > .search-card {
    width: 100%;
    margin-inline: 0;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-art {
    inset: -54px -34px -56px;
  }
}

/* Tablet: background crop can lose the baked flower, so restore one overlay only here. */
@media (min-width: 621px) and (max-width: 1024px) {
  body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro::before {
    content: '' !important;
    width: 108px;
    height: 156px;
    left: -54px;
    top: -14px;
    background-image: url('/app/rsvp/assets/harleyandpriscilla/flower-top-left.png?v=HP-RSVP-THEME-1.0A.9') !important;
    background-position: left top;
    background-size: contain;
    background-repeat: no-repeat;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
    width: calc(100% - 54px);
    max-width: 492px;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-art {
    inset: -52px -31px -54px;
  }
}

/* Large desktop: use the baked floral background only and keep the lace snug. */
@media (min-width: 1025px) {
  body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro::before {
    content: none !important;
    background-image: none !important;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
    width: calc(100% - 60px);
    max-width: 500px;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-art {
    inset: -56px -36px -58px;
  }
}



/* HP-RSVP-THEME-1.0A.10 · Tablet/Desktop Layout Lock
   DO NOT MODIFY tablet/desktop card-lace geometry outside this lock.
   Mobile keeps its existing geometry. Tablet/desktop use baked florals only.
*/

/* Keep the approved script breathing room from A.9. */
body.theme-harleyandpriscilla .hp-rsvp-heading-word:first-child .hp-rsvp-heading-initial {
  margin-right: .025em;
}

body.theme-harleyandpriscilla #search-shell .event-title-name .hp-name-word:last-child .hp-name-initial {
  margin-right: .045em;
}

/* Final tablet + desktop geometry lock: restore the pre-A.9 proportions. */
@media (min-width: 621px) {
  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
    width: calc(100% - 28px) !important;
    max-width: none !important;
    margin-top: 92px !important;
    margin-bottom: 60px !important;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap > .search-card {
    width: 92% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 42px 38px 32px !important;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-art {
    inset: -72px -62px -76px !important;
  }

  /* No standalone flower on tablet or desktop. Use background artwork only. */
  body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro::before {
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    background-image: none !important;
  }
}

/* Explicit breakpoint markers so future patches do not share mobile geometry upward. */
@media (min-width: 621px) and (max-width: 1024px) {
  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
    width: calc(100% - 28px) !important;
  }
}

@media (min-width: 1025px) {
  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
    width: calc(100% - 28px) !important;
  }
}



/* HP-RSVP-THEME-1.0A.11 · Lace Inner-Window Lock
   FINAL tablet/desktop geometry model:
   the lace owns the outer frame and padding defines its inner window.
   The cream card fills that inner window. Do not size card and lace separately.
   Mobile (<=620px) is intentionally untouched.
*/
@media (min-width: 621px) {
  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
    --hp-lace-outer-width: min(calc(100% + 104px), calc(100vw - 28px));
    --hp-lace-pad-x: 64px;
    --hp-lace-pad-top: 68px;
    --hp-lace-pad-bottom: 64px;

    box-sizing: border-box !important;
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: var(--hp-lace-outer-width) !important;
    max-width: 664px !important;
    margin: 92px 0 60px !important;
    padding:
      var(--hp-lace-pad-top)
      var(--hp-lace-pad-x)
      var(--hp-lace-pad-bottom) !important;
    overflow: visible !important;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-art {
    inset: 0 !important;
    width: auto !important;
    height: auto !important;
    background-position: center !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap > .search-card {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 42px 38px 32px !important;
  }

  /* Tablet and desktop use only the baked background florals. */
  body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro::before {
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    background-image: none !important;
  }
}

/* Tablet inner-window calibration. */
@media (min-width: 621px) and (max-width: 1024px) {
  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
    --hp-lace-outer-width: min(calc(100% + 104px), calc(100vw - 28px));
    --hp-lace-pad-x: clamp(58px, 8.5vw, 68px);
    --hp-lace-pad-top: 66px;
    --hp-lace-pad-bottom: 62px;
  }
}

/* Desktop inner-window calibration. */
@media (min-width: 1025px) {
  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
    --hp-lace-outer-width: min(calc(100% + 104px), 664px);
    --hp-lace-pad-x: 64px;
    --hp-lace-pad-top: 68px;
    --hp-lace-pad-bottom: 64px;
  }
}



/* HP-RSVP-THEME-1.0A.12 · Approved Desktop + Tablet Wireframe Lock
   Applies the approved side-by-side wireframe measurements.
   Mobile (<=620px) remains unchanged.
   Tablet/desktop use baked background florals only.
*/

/* Wireframe title spacing. */
body.theme-harleyandpriscilla .hp-rsvp-heading-word:first-child .hp-rsvp-heading-initial {
  margin-right: .14em !important;
}

body.theme-harleyandpriscilla #search-shell .event-title-name .hp-name-word:last-child .hp-name-initial {
  margin-right: .12em !important;
}

/* Shared non-mobile rules: lace is the outer frame; card fills its inner window. */
@media (min-width: 621px) {
  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
    box-sizing: border-box !important;
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    overflow: visible !important;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-art {
    inset: 0 !important;
    width: auto !important;
    height: auto !important;
    background-size: 100% 100% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap > .search-card {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  /* No separate flower overlay outside mobile. */
  body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro::before {
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    background-image: none !important;
  }
}

/* TABLET WIREFRAME · 621–1024px
   Total lace target: ~420–460px wide.
   Inner window: ~48–52px side spacing and ~52–56px top spacing.
*/
@media (min-width: 621px) and (max-width: 1024px) {
  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
    width: min(460px, calc(100vw - 28px)) !important;
    max-width: 460px !important;
    margin: 48px 0 50px !important;
    padding: 54px 50px 52px !important;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap > .search-card {
    padding: 36px 28px 28px !important;
  }

  body.theme-harleyandpriscilla #search-shell .event-title-name {
    font-size: clamp(2rem, 4.4vw, 2.18rem) !important;
  }

  body.theme-harleyandpriscilla #search-shell .meta-stack {
    margin-top: 22px !important;
  }

  body.theme-harleyandpriscilla #search-shell .meta-line {
    font-size: 11px !important;
  }

  body.theme-harleyandpriscilla #searchInstruction {
    max-width: 286px !important;
    font-size: 13px !important;
  }
}

/* DESKTOP WIREFRAME · >=1025px
   Total lace target: ~500–540px wide.
   Inner window: ~56–60px side spacing and ~60–64px top spacing.
*/
@media (min-width: 1025px) {
  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap {
    width: min(540px, calc(100vw - 48px)) !important;
    max-width: 540px !important;
    margin: 54px 0 54px !important;
    padding: 62px 58px 60px !important;
  }

  body.theme-harleyandpriscilla #search-shell .hp-search-lace-wrap > .search-card {
    padding: 42px 36px 32px !important;
  }

  body.theme-harleyandpriscilla #search-shell .event-title-name {
    font-size: clamp(2.28rem, 3.1vw, 2.55rem) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.theme-harleyandpriscilla * {
    scroll-behavior: auto !important;
  }
}


/* HP-RSVP-THEME-1.0A.13 · Client reference typography and copy polish
   ONLY Harley & Priscilla. The approved lace/card sizing rules above stay locked.
   Oversized Pinyon initials are paired with a reliable high-contrast serif.
*/
body.theme-harleyandpriscilla {
  --hp-reference-serif: 'Bodoni Moda', 'Times New Roman', Georgia, serif;
}
body.theme-harleyandpriscilla .hp-rsvp-heading {
  gap: .07em !important;
  letter-spacing: 0;
}
body.theme-harleyandpriscilla .hp-rsvp-heading-word {
  align-items: baseline;
}
body.theme-harleyandpriscilla .hp-rsvp-heading-initial {
  font-family: 'Pinyon Script', 'Brush Script MT', cursive;
  font-size: clamp(5.6rem, 10vw, 7.1rem);
  line-height: .62;
  margin-right: -.075em !important;
  transform: translateY(.10em);
  flex: none;
}
body.theme-harleyandpriscilla .hp-rsvp-heading-word:first-child .hp-rsvp-heading-initial {
  margin-right: -.045em !important;
}
body.theme-harleyandpriscilla .hp-rsvp-heading-rest {
  font-family: var(--hp-reference-serif);
  font-size: clamp(2.05rem, 4.15vw, 2.65rem);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: 1;
}
body.theme-harleyandpriscilla #search-shell .event-title-name {
  font-family: var(--hp-reference-serif);
  font-size: clamp(1.45rem, 4.1vw, 1.9rem);
  letter-spacing: -.04em;
  line-height: 1.16;
  overflow: visible;
}
body.theme-harleyandpriscilla .hp-name-word {
  align-items: baseline;
}
body.theme-harleyandpriscilla .hp-name-initial {
  font-family: 'Pinyon Script', 'Brush Script MT', cursive;
  font-size: 2.15em;
  line-height: .55;
  margin-right: -.075em !important;
  transform: translateY(.13em);
}
body.theme-harleyandpriscilla #search-shell .event-title-name .hp-name-word:last-child .hp-name-initial {
  margin-right: .065em !important; /* space after decorative P before "riscilla" */
}
body.theme-harleyandpriscilla .hp-name-rest {
  font-family: var(--hp-reference-serif);
  font-size: 1em;
  letter-spacing: -.055em;
}
body.theme-harleyandpriscilla .hp-name-amp {
  font-family: 'Pinyon Script', 'Brush Script MT', cursive;
  font-size: 1.37em;
  line-height: .65;
  margin-inline: .045em !important;
  transform: translateY(.07em);
  color: var(--hp-sage-ink);
}
body.theme-harleyandpriscilla #search-shell .hp-welcome-dinner {
  max-width: 100%;
  margin-top: 5px;
  line-height: 1.55;
  color: var(--hp-sage-ink);
  text-transform: none;
  letter-spacing: .012em;
}
body.theme-harleyandpriscilla .hp-coordinator-contact {
  margin: 12px 14px 16px;
  text-align: center;
  color: var(--hp-text-body, #5f6553);
  font-size: 12px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
body.theme-harleyandpriscilla .hp-coordinator-contact a {
  color: var(--hp-sage-ink);
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media (max-width: 620px) {
  body.theme-harleyandpriscilla .hp-rsvp-heading {
    gap: .035em !important;
  }
  body.theme-harleyandpriscilla .hp-rsvp-heading-initial {
    font-size: clamp(4rem, 16vw, 5.6rem);
  }
  body.theme-harleyandpriscilla .hp-rsvp-heading-rest {
    font-size: clamp(1.7rem, 7vw, 2.3rem);
  }
  body.theme-harleyandpriscilla #search-shell .event-title-name {
    font-size: clamp(1.28rem, 5.4vw, 1.62rem);
  }
  body.theme-harleyandpriscilla .hp-name-initial {
    font-size: 2.2em;
  }
  body.theme-harleyandpriscilla .hp-name-amp {
    font-size: 1.32em;
  }
  body.theme-harleyandpriscilla #search-shell .hp-welcome-dinner {
    font-size: 11px;
  }
}
@media (max-width: 360px) {
  body.theme-harleyandpriscilla .hp-rsvp-heading-initial {
    font-size: 3.55rem;
  }
  body.theme-harleyandpriscilla .hp-rsvp-heading-rest {
    font-size: 1.46rem;
  }
  body.theme-harleyandpriscilla #search-shell .event-title-name {
    font-size: 1.16rem;
  }
  body.theme-harleyandpriscilla .hp-name-initial {
    font-size: 2.12em;
  }
}
@media (min-width: 621px) and (max-width: 1024px) {
  body.theme-harleyandpriscilla #search-shell .event-title-name {
    font-size: clamp(1.47rem, 3.15vw, 1.76rem) !important;
  }
}
@media (min-width: 1025px) {
  body.theme-harleyandpriscilla #search-shell .event-title-name {
    font-size: clamp(1.66rem, 2.3vw, 1.88rem) !important;
  }
}


/* HP-RSVP-TYPO-1.0A.14 · Exact Reference Spacing Lock
   Word-specific optical kerning. Only HP headings change.
   Proportional units travel with the font size; original lace geometry stays locked.
*/
body.theme-harleyandpriscilla .hp-reference-heading-locked {
  --hp-heading-scale: 1;
  gap: 0 !important;
  justify-content: center;
  align-items: baseline;
  font-size: clamp(1rem, 3vw, 1.5rem);
  max-width: 100%;
  width: max-content;
  margin-inline: auto;
}
body.theme-harleyandpriscilla .hp-reference-heading-locked .hp-rsvp-heading-word {
  display: inline-flex;
  align-items: baseline;
  flex-shrink: 0;
  gap: 0;
}
body.theme-harleyandpriscilla .hp-reference-heading-locked .hp-rsvp-heading-initial {
  font-size: 4.05em;
  line-height: .7;
  transform: translateY(.09em);
  margin-right: 0 !important;
}
body.theme-harleyandpriscilla .hp-reference-heading-locked .hp-rsvp-heading-rest {
  font-size: 1.88em;
  line-height: 1;
  letter-spacing: -.055em;
}
/* Two independently tuned initial-to-serif joins from the reference artwork. */
body.theme-harleyandpriscilla .hp-rsvp-word-please .hp-rsvp-heading-rest {
  margin-left: -.27em;
}
body.theme-harleyandpriscilla .hp-rsvp-word-rsvp .hp-rsvp-heading-rest {
  margin-left: -.31em;
}
/* Between-word separation is separate from the P/R letter joins. */
body.theme-harleyandpriscilla .hp-reference-heading-locked .hp-rsvp-word-rsvp {
  margin-left: .11em;
}
body.theme-harleyandpriscilla #search-shell .hp-reference-name-locked {
  font-size: clamp(1.2rem, 3vw, 1.63rem) !important;
  line-height: 1.12;
  letter-spacing: 0;
  overflow: visible;
  justify-content: center;
  max-width: 100%;
  gap: 0;
}
body.theme-harleyandpriscilla .hp-reference-name-locked .hp-name-word {
  gap: 0;
  display: inline-flex;
  align-items: baseline;
  flex-shrink: 0;
}
body.theme-harleyandpriscilla .hp-reference-name-locked .hp-name-initial {
  font-size: 2.5em;
  line-height: .66;
  transform: translateY(.08em);
  margin-right: 0 !important;
}
body.theme-harleyandpriscilla .hp-reference-name-locked .hp-name-rest {
  font-size: 1em;
  line-height: 1;
  letter-spacing: -.055em;
}
/* The decorative H overlaps arley more than the decorative P overlaps riscilla. */
body.theme-harleyandpriscilla .hp-name-word-harley .hp-name-rest {
  margin-left: -.20em;
}
body.theme-harleyandpriscilla .hp-name-word-priscilla .hp-name-rest {
  margin-left: -.11em;
}
body.theme-harleyandpriscilla .hp-reference-name-locked .hp-name-amp {
  font-size: 1.40em;
  line-height: .7;
  margin: 0 .18em !important;
  transform: translateY(.05em);
  flex-shrink: 0;
}
@media (max-width: 620px) {
  body.theme-harleyandpriscilla .hp-reference-heading-locked {
    font-size: clamp(.76rem, 3.52vw, 1.15rem);
  }
  body.theme-harleyandpriscilla #search-shell .hp-reference-name-locked {
    font-size: clamp(.94rem, 3.78vw, 1.36rem) !important;
  }
}
@media (max-width: 360px) {
  body.theme-harleyandpriscilla .hp-reference-heading-locked {
    font-size: clamp(.69rem, 3.3vw, .83rem);
  }
  body.theme-harleyandpriscilla #search-shell .hp-reference-name-locked {
    font-size: clamp(.85rem, 3.55vw, 1.05rem) !important;
  }
}
@media (min-width: 621px) and (max-width: 1024px) {
  body.theme-harleyandpriscilla #search-shell .hp-reference-name-locked {
    font-size: 1.31rem !important;
  }
}
@media (min-width: 1025px) {
  body.theme-harleyandpriscilla #search-shell .hp-reference-name-locked {
    font-size: 1.56rem !important;
  }
}


/* HP-RSVP-TYPO-1.0A.15 · True Client Reference Artwork Lock
   Real wordmarks traced from supplied images, never reconstructed with CSS fonts.
   Keep all prior lace geometry and copy intact. */
body.theme-harleyandpriscilla .hp-reference-art-heading {
  display: block !important;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  font-size: 0 !important;
  line-height: 0;
}
body.theme-harleyandpriscilla .hp-reference-art-heading > .hp-rsvp-heading-word {
  display: none !important;
}
body.theme-harleyandpriscilla .hp-rsvp-reference-artwork {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 741 / 151;
  object-fit: contain;
  margin-inline: auto;
}
body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro {
  /* Existing intro width, background, and floral positioning remain untouched. */
  max-width: 620px;
}
body.theme-harleyandpriscilla #search-shell .hp-reference-art-name {
  display: block !important;
  width: 100%;
  max-width: 100%;
  font-size: 0 !important;
  line-height: 0;
  text-align: center;
}
body.theme-harleyandpriscilla .hp-couple-reference-artwork {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1201 / 251;
  object-fit: contain;
  margin-inline: auto;
}
@media (max-width: 620px) {
  body.theme-harleyandpriscilla #search-shell .hp-rsvp-intro {
    padding-inline: 10px;
  }
  body.theme-harleyandpriscilla #search-shell .hp-reference-art-name {
    max-width: 100%;
  }
}


/* HP-RSVP-TYPO-1.0A.16 · LOCKED CLIENT WIREFRAME
   Scale only the exact source-traced wordmarks; the internal letter spacing
   and approved lace/card/background geometry are intentionally untouched.
*/
body.theme-harleyandpriscilla #search-shell .hp-reference-art-heading {
  width: min(80%, 380px) !important;
  max-width: 100% !important;
  margin-inline: auto !important;
}
body.theme-harleyandpriscilla #search-shell .hp-rsvp-reference-artwork {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}
body.theme-harleyandpriscilla #search-shell .event-title-name.hp-reference-art-name {
  width: min(100%, 370px) !important;
  max-width: 100% !important;
  margin-inline: auto !important;
}
body.theme-harleyandpriscilla #search-shell .hp-couple-reference-artwork {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
}
@media (max-width: 620px) {
  body.theme-harleyandpriscilla #search-shell .hp-reference-art-heading {
    width: min(80%, 340px) !important;
  }
  body.theme-harleyandpriscilla #search-shell .event-title-name.hp-reference-art-name {
    width: min(100%, 320px) !important;
  }
}
@media (max-width: 360px) {
  body.theme-harleyandpriscilla #search-shell .hp-reference-art-heading {
    width: 80% !important;
  }
  body.theme-harleyandpriscilla #search-shell .event-title-name.hp-reference-art-name {
    width: 100% !important;
  }
}
