/* Existing local variable font: real 300–700 outlines, normal width. */
@font-face {
  font-family: Fredoka;
  src: url('../assets/Fredoka.ttf') format('truetype');
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
}

/* Narrow refinement only. The shared v2 sheet retains the approved top geometry. */
.hug-refined {
  --party-orange: #ea9365;
}

.hug-refined h1,
.hug-refined .birthday {
  color: var(--party-orange);
}

/* The unchanged illustration now connects the episode title to the event details. */
.hug-refined .birthday {
  margin-top: 2.5cqw;
}

.hug-refined .event-date {
  margin-top: 2.5cqw;
  color: #29334e;
  font-family: BlueCustard, sans-serif;
}

.hug-refined .venue {
  margin-top: 3.5cqw;
  font: 400 clamp(13px, 3.75cqw, 16.5px)/1.4 BlueCustard, sans-serif;
}

.hug-refined .venue strong {
  font-size: 4.35cqw;
  font-weight: 400;
  margin-bottom: 1cqw;
}

.hug-refined .rsvp {
  margin-top: 3.5cqw;
  min-height: 44px;
  font: 400 clamp(13px, 4cqw, 17.6px)/1.5 BlueCustard, sans-serif;
}

.hug-refined .rsvp strong {
  font-weight: 400;
}

/* Keep the action explicit without introducing a new footer section. */
.hug-refined .rsvp-action {
  color: #365e7c;
}
.hug-refined .rsvp-action > * {
  display: inline;
}
.hug-refined .rsvp-label {
  text-decoration: underline;
  text-underline-offset: .18em;
}

@media print {
  .hug-refined .venue { font-size: 3.75cqw; }
  .hug-refined .rsvp { font-size: 4cqw; }
}

/* A lighter detail face only; retain the approved display and venue lettering. */
.hug-refined .venue > span,
.hug-refined .rsvp {
  font-family: Fredoka, sans-serif;
  font-weight: 400;
  font-synthesis: none;
}
.hug-refined .rsvp strong {
  font-weight: inherit;
}


/* Match the surrounding canvas to the invitation paper. */
@media screen {
  html, body { background: #F6EEE3; }
  html { scrollbar-color: #E5C27E #F6EEE3; }
}

.hug-refined,
.hug-refined .scallops {
  overflow: visible;
}
.print-border { display: none; }

/* Preserve the prior art box height while making room for the reference balloon. */
.hug-refined .hug-art { width: 71.9877717391%; }

/* Scrapbook print: full-sheet paper color, with artwork safely inset. */
@page { size: Letter; margin: 0; background: #F6EEE3; }
@media print {
  html, body {
    background: #F6EEE3;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  body { min-height: 11in; padding: 0.62in 0.5in; }
  .hug-refined { margin: 0 auto; isolation: auto; }

  /* An opaque high-resolution image avoids SVG-overflow and background-image
     handling in printer pipelines. All circle tips are inside its artboard. */
  .hug-refined .scallops { display: none; }
  .hug-refined .print-border {
    display: block;
    position: absolute;
    left: -2.72727273%;
    top: -1.62162162%;
    width: 105.45454545%;
    height: 103.24324324%;
    max-width: none;
    object-fit: fill;
    pointer-events: none;
  }
}

/* The sole page utility uses the same lighter face as the RSVP details. */
.review-tools {
  font: 400 14px/1.5 Fredoka, sans-serif;
  font-synthesis: none;
}


.scrapbook-print-page { display: none; }
@media print {
  html, body { width: 8.5in; height: 11in; min-height: 0; margin: 0; padding: 0; }
  .invitation, .review-tools { display: none; }
  .scrapbook-print-page {
    display: block; width: 8.5in; height: 11in; max-width: none;
    margin: 0; padding: 0; break-inside: avoid;
  }
}
