﻿/* Original outer backdrop, with a barely pink invitation surface. */
.text-node:is([data-node="N9erNoaurs"],[data-node="sGapmhP4N1"],[data-node="hutwQ_lcja"],[data-node="4iUUKV2OvO"],[data-node="0G6hq7DSdB"],[data-node="EkHNu0qhxq"]) .node-content {
  -webkit-text-stroke: 1.2px rgba(255, 255, 255, .95);
  paint-order: stroke fill;
  text-shadow: 0 1px 3px rgba(255, 255, 255, .85);
}
.text-node:is([data-node="YLM3-mHX8D"],[data-node="KxVjEeDitX"],[data-node="J0sfhYN20F"],[data-node="k2g_hYmXtN"]) .node-content {
  -webkit-text-stroke: 1.2px rgba(42, 25, 28, .9);
  paint-order: stroke fill;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .7);
}
.inline-gifts .groom-qr::before,
.inline-gifts .groom-qr::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  z-index: 1;
  background: #fff;
  pointer-events: none;
}
.inline-gifts .groom-qr::before { top: 0; height: 5%; }
.inline-gifts .groom-qr::after { bottom: 0; height: 4%; }
.live-toolbar .wish-open {
  /* Reserve 25% more width than the original text-and-padding size. */
  min-width: 160px;
  flex-shrink: 0;
}

@media (max-width: 360px) {
  .live-toolbar .wish-open {
    min-width: 150px;
  }

  .live-actions {
    gap: 4px;
  }

  .live-actions .heart-send {
    padding: 0 7px;
  }

  .heart-send span {
    display: none;
  }
}

.qr-toolbar-icon {
  width: 24px;
  height: 24px;
  object-fit: contain;
  border-radius: 2px;
}

.gift-node img {
  animation: none;
  object-fit: contain;
  padding: 6px;
  background: #fff;
  border-radius: 8px;
}

.music-toggle {
  background: #da6980;
  border-color: #f7c3ce;
  box-shadow: 0 2px 8px #b9476426;
}

.music-toggle img {
  filter: brightness(0) invert(1);
}

#gift-dialog {
  width: 400px;
  max-height: calc(100dvh - 24px);
  padding: 24px 20px 20px;
  overflow: hidden;
}

#gift-dialog h2 {
  font-size: 22px;
  line-height: 1.3;
  margin: 0 0 10px;
}

#gift-dialog > p {
  margin: 0;
  font-size: 12px;
  line-height: 1.6;
}

#gift-dialog > .local-note {
  margin-top: 10px;
}

.bank-qr {
  display: block;
  width: min(100%, calc((100dvh - 240px) * 0.93913));
  aspect-ratio: 1080 / 1150;
  margin: 12px auto;
  border-radius: 10px;
  overflow: hidden;
}

.bank-qr img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Keep the bank card; hide the empty background beneath it. */
  object-position: center 26.5%;
}

.qr-download {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 6px;
  background: #da6980;
  color: white;
  font-size: 13px;
  line-height: 18px;
  text-decoration: none;
}

body {
  background-color: #f0f2f5;
}

.invitation-player,
#scene {
  background-color: #fff7f8;
}

/* Match the reference's white decorative block to the invitation paper. */
.scene-node[data-node="mLtzWABzHc"] {
  background-color: #fff7f8;
}

.scene-node[data-node="mLtzWABzHc"] img {
  visibility: hidden;
}

@media (max-width: 500px) {
  body {
    background-color: #fff7f8;
  }
}
/* Registration uses the invitation's blush palette. */
#registration-dialog{width:min(390px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #efd4dd;border-radius:16px;background:#fff7f8;padding:24px;color:#723e4c;font-family:Arial,sans-serif;text-align:center;box-sizing:border-box}
#registration-dialog::backdrop{background:#392b3577;backdrop-filter:blur(4px)}
#registration-dialog h2{margin:0 0 14px;font-size:24px;color:#a94767}
#registration-dialog label{display:block;text-align:left;margin:14px 0 6px;font-size:14px}
#registration-dialog input{box-sizing:border-box;width:100%;padding:12px;border:1px solid #e4bcc9;border-radius:7px;font-size:16px;background:white}
#registration-dialog button{margin-top:20px;width:100%;border:0;border-radius:7px;padding:12px;background:#bd5677;color:white;font-size:16px}
#registration-dialog button:disabled,.form-node button:disabled{opacity:.65}
#registration-status{font-size:13px;color:#a52f51}
.form-node h2{margin-bottom:10px}.form-node label,.form-node legend{margin:6px 0}.form-node input:not([type=radio]){padding:6px}.form-node fieldset{margin:8px 0}.form-node .local-note{margin-top:5px}

#gift-dialog{width:650px;overflow:auto}.qr-pair .bank-qr{aspect-ratio:auto;overflow:visible}.qr-pair .bank-qr img{height:auto;object-fit:contain}


.inline-gifts{font-family:Arial,sans-serif;text-align:center;color:#723e4c}.inline-gifts h2{font:28px PlayfairDisplay,Georgia;margin:0 0 20px}.inline-qr-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.inline-qr-pair h3{font-size:19px;margin:0 0 12px;color:#8b2f30}.inline-gifts .inline-qr{position:relative;display:block;width:100%;aspect-ratio:1;overflow:hidden;border:0;padding:0;background:white;border-radius:0}.inline-gifts .inline-qr img{position:absolute;max-width:none;height:auto;object-fit:initial;animation:none;pointer-events:none}.inline-gifts .groom-qr img{width:145.946%;left:-22.973%;top:-85.135%}.inline-gifts .bride-qr img{width:160.781%;left:-30.469%;top:-30.469%}.inline-qr-pair p{font-size:15px;margin:10px 0}.inline-qr-note{font-size:13px;line-height:1.6;margin:14px 0 0}#gift-dialog{width:480px;max-height:calc(100dvh - 24px);padding:34px 16px 16px;overflow:auto}#gift-original{display:block}#gift-full-qr{display:block;width:100%;height:auto;max-height:calc(100dvh - 170px);object-fit:contain}#gift-dialog .qr-download{margin-top:12px}

.wish-feed{position:relative;display:block;height:180px;overflow:hidden;padding:0;mask-image:linear-gradient(transparent,#000 15%,#000 88%,transparent)}.wish-feed .wish-bubble{position:absolute;top:0;left:0;max-width:100%;margin:0;min-height:28px;padding:5px 10px;line-height:1.4;animation:none;will-change:transform}.wish-feed:hover .wish-bubble{will-change:auto}@media(prefers-reduced-motion:reduce){.wish-feed{display:flex;gap:7px}.wish-feed .wish-bubble{position:relative;transform:none!important;will-change:auto}.wish-feed .wish-bubble:nth-last-child(n+4){display:none}}
/* Match template 39: compact translucent bubbles, continuous 30px/s rise. */
.live-toolbar{margin-top:8px}
.wish-feed{width:285px;max-width:calc(100% - 80px);height:180px;margin-left:7px;mask-image:none;pointer-events:none;user-select:none}
.wish-feed .wish-bubble{min-height:28px;line-height:14px;font-size:11px;padding:2px 10px;border-radius:7px;background:rgba(225,117,117,.5);display:block;align-content:center;white-space:pre-wrap;transition:opacity .5s ease-out}
.wish-feed .wish-bubble strong{display:contents}
@media(prefers-reduced-motion:reduce){.wish-feed .wish-bubble{display:block;opacity:1!important;transition:none}}

#auto-scroll-play{position:absolute;top:max(10px,env(safe-area-inset-top));left:10px;z-index:95;width:40px;height:40px;display:grid;place-items:center;padding:0;border:1px solid #fff9;border-radius:50%;background:#da6980;color:#fff;box-shadow:0 2px 8px #0002}

/* Editorial rhythm: readable body copy with the invitation's existing serif. */
.text-node .node-content{overflow-wrap:break-word}.text-node:is([data-node="Vu-YdytY5O"],[data-node="_Ua3xYRWgT"]) .node-content{font-style:italic}.form-node h2{font-family:PlayfairDisplay,Georgia,serif;color:#8b2f30}.form-node fieldset label{font-size:12px;line-height:1.5}.form-node legend{line-height:1.4}.inline-gifts h2{color:#8b2f30}#album-title{color:#8b2f30;font-size:26px}#registration-dialog h2{font-family:PlayfairDisplay,Georgia,serif}#registration-dialog>p{font-size:14px;line-height:1.7}
/* Portrait captions: wine on the bride's veil, warm ivory on the groom's suit. */
.text-node:is([data-node="0G6hq7DSdB"],[data-node="EkHNu0qhxq"]) .node-content{-webkit-text-stroke:.35px #fff9;text-shadow:0 1px 3px #fff9}
.text-node:is([data-node="YLM3-mHX8D"],[data-node="KxVjEeDitX"]) .node-content{-webkit-text-stroke:.35px #38201fcc;text-shadow:0 1px 4px #251315b3}
.text-node:is([data-node="0G6hq7DSdB"],[data-node="YLM3-mHX8D"]) .node-content{width:max-content;height:auto;max-width:100%;padding:3px 8px;border-radius:3px;background:transparent;color:#7d3346;-webkit-text-stroke:0;text-shadow:none}

@font-face{font-family:'Great Vibes';src:url('assets/great-vibes.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}

@font-face{font-family:'Dancing Script';src:url('assets/dancing-script.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}

@font-face{font-family:'Allura';src:url('assets/allura.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
#wish-dialog{max-height:90dvh;overflow:auto}#shared-wish-list{list-style:none;margin:12px 0;padding:0;text-align:left}#shared-wish-list li{padding:12px 0;border-top:1px solid #efd4dd;overflow-wrap:anywhere}#shared-wish-list strong{font-size:14px;color:#873c56}#shared-wish-list p{font-size:14px;line-height:1.6;white-space:pre-wrap;margin:5px 0 0}#wishes-more{padding:10px;border:1px solid #d9adbd;border-radius:6px;background:#fff5f8;color:#873c56}#wish-status{font-size:13px;line-height:1.5;color:#873c56}.community-status{font:11px/1.5 Arial,sans-serif;color:white;background:#643445d9;padding:5px 8px;border-radius:6px;margin:8px 0 0;pointer-events:none}#like-send:disabled{opacity:.65}#wish-feed .wish-bubble{overflow-wrap:anywhere}
