/* The approved printables artwork and palette, scoped to this route only. */
.printables-page #main {
  background: transparent;
  box-shadow: none;
  color: #60264a;
  font-family: Arial, Helvetica, sans-serif;
}

/* Reuse the standalone pastel gradient as this route's outer wallpaper. */
.printables-page #background {
  background-color: #fff8fc;
  background-image:
    radial-gradient(ellipse at 8% 12%, #f7d8f1 0, transparent 31rem),
    radial-gradient(ellipse at 93% 86%, #dceeff 0, transparent 30rem),
    linear-gradient(135deg, #fff8fc, #fff0f7 55%, #f4f7ff);
  background-repeat: no-repeat;
  background-size: cover;
}

.printables-page-shell {
  position: relative;
  z-index: 1;
  width: min(990px, 100%);
  min-height: 580px;
  margin: 0 auto;
  padding: 28px 20px;
}

.printables-notice-card {
  display: grid;
  width: 100%;
  min-height: 520px;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .82fr);
  overflow: hidden;
  border: 1px solid #f5d3e5;
  border-radius: 30px;
  background: rgba(255, 255, 255, .34);
  box-shadow: 0 24px 68px rgba(145, 59, 110, .15), 0 4px 12px rgba(145, 59, 110, .06);
}

.printables-copy-panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 52px clamp(28px, 5vw, 68px);
}

.printables-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 20px;
  padding: 8px 13px;
  border: 1px solid #f2c6df;
  border-radius: 999px;
  background: #fff5fb;
  color: #a73878;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.printables-eyebrow span { color: #62b4da; font-size: 15px; }

.printables-page #printables-page-title {
  margin: 0;
  color: #6b2c52;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 5.2vw, 60px);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.04;
}

.printables-page #printables-page-title span { color: #e62083; }

.printables-description {
  max-width: 410px;
  margin: 22px 0 0;
  color: #714b63;
  font-size: 17px;
  line-height: 1.7;
}

.printables-actions {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 30px;
}

.printables-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 13px;
  border: 2px solid transparent;
  border-radius: 999px;
  padding: 0 20px;
  color: inherit;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.printables-button:hover { transform: translateY(-2px); }
.printables-button-primary { background: linear-gradient(135deg, #ed469b, #d91b7a); box-shadow: 0 6px 15px #d9298050; color: #fff; }
.printables-button-primary:hover { box-shadow: 0 9px 18px #d929805e; }
.printables-button-primary span { font-size: 19px; font-weight: 400; }
.printables-button-secondary { border-color: #efbfd9; background: #fff; color: #9c326f; }
.printables-button-secondary:hover { background: #fff6fb; }
.printables-button:focus-visible { outline: 3px solid #56a9d1; outline-offset: 4px; }

.printables-signoff { margin: 23px 0 0; color: #885873; font-family: Georgia, "Times New Roman", serif; font-size: 15px; font-style: italic; }
.printables-signoff span { color: #e62083; font-style: normal; }

.printables-art-panel {
  position: relative;
  display: flex;
  min-height: 520px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: transparent;
}

.printables-art-panel img {
  position: relative;
  z-index: 1;
  display: block;
  width: min(100%, 415px);
  max-height: 510px;
  object-fit: contain;
  object-position: center;
}

.printables-orbit {
  position: absolute;
  width: 320px;
  height: 320px;
  border: 1px solid #f6d9e9;
  border-radius: 50%;
}

.printables-orbit-one { left: 50%; top: 50%; transform: translate(-50%, -50%); }
.printables-orbit-two { left: 50%; top: 50%; width: 260px; height: 260px; border-style: dashed; border-color: #d8eaf7; transform: translate(-50%, -50%); }
.printables-sparkle { position: absolute; z-index: 2; color: #68b5d8; font-size: 27px; }
.printables-sparkle-one { top: 18%; right: 18%; }
.printables-sparkle-two { bottom: 26%; left: 14%; color: #ed80ba; font-size: 34px; }

.printables-art-caption {
  position: absolute;
  z-index: 3;
  right: 22px;
  bottom: 20px;
  border: 1px solid #e8d4e1;
  border-radius: 999px;
  padding: 9px 14px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 3px 12px #8f58801a;
  color: #875a76;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 13px;
  font-style: italic;
}

/* The dialog fallback is a real, explicitly marked same-origin iframe. */
body.printables-dialog-embed #background,
body.printables-dialog-embed .header,
body.printables-dialog-embed .site > footer,
body.printables-dialog-embed #restoration { display: none; }
body.printables-dialog-embed .site { width: 100%; zoom: 1; }
body.printables-dialog-embed #main { width: 100%; }
body.printables-dialog-embed .printables-page-shell { width: 100%; min-height: 0; padding: 0; }
body.printables-dialog-embed .printables-notice-card { min-height: min(580px, 90vh); }
body.printables-dialog-embed .printables-art-panel { min-height: min(580px, 90vh); }

@media (max-width: 760px) {
  .printables-page-shell { min-height: 0; padding: 22px 16px; }
  .printables-notice-card { grid-template-columns: 1fr; border-radius: 24px; }
  .printables-copy-panel { order: 1; padding: 38px clamp(24px, 7vw, 42px) 34px; }
  .printables-art-panel { order: 0; min-height: 320px; max-height: 320px; }
  .printables-art-panel img { width: auto; height: 320px; max-width: 100%; max-height: 320px; }
  .printables-orbit { width: 260px; height: 260px; }
  .printables-orbit-two { width: 215px; height: 215px; }
  .printables-sparkle-one { top: 12%; right: 17%; }
  .printables-sparkle-two { bottom: 20%; left: 14%; }
  .printables-page #printables-page-title { font-size: clamp(40px, 11vw, 52px); }
  .printables-description { margin-top: 16px; font-size: 16px; }
  .printables-actions { margin-top: 24px; }
  .printables-button { flex: 1 1 auto; }
}

@media (max-width: 390px) {
  .printables-copy-panel { padding-inline: 20px; }
  .printables-actions { align-items: stretch; flex-direction: column; }
  .printables-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .printables-page *, .printables-page *::before, .printables-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
