.sc-html { color-scheme: light; background: white; }
.sc-html.sc-locked { overflow: hidden; }
.sc-body { margin: 0; background: white; }
.sc-content { display: none; }
.sc-opened .sc-content, .sc-preview .sc-content { display: block; }
#sc-envelope { cursor: pointer; touch-action: none; }
#sc-envelope [data-sc-envelope-flap] { transition: transform 3s ease-in-out; }
#sc-envelope [data-sc-envelope-bottom] { transition: bottom 2.5s .5s ease-in-out; }
#sc-envelope.sc-opening [data-sc-envelope-flap] { transform: translateX(-50%) translateY(-200%) rotate(45deg) !important; }
#sc-envelope.sc-opening [data-sc-envelope-bottom] { bottom: -100% !important; }
#sc-envelope.sc-opening { pointer-events: none; }
.sc-tools { position: fixed; z-index: 60; bottom: 16px; width: min(100%,448px); left: 50%; transform: translateX(-50%); display: flex; align-items: flex-end; flex-direction: column; gap: 16px; pointer-events: none; }
.sc-tools > button { border: 0; border-radius: 50%; width: 32px; height: 32px; padding: 4px; margin-right: 20px; color: white; background: #575757; display: grid; place-items: center; cursor: pointer; pointer-events: auto; }
.sc-tools > button[hidden] { display: none; }
#sc-music { padding: 0; }
.sc-locked .sc-tools, .sc-tools:has(#sc-music[hidden]) { bottom: 64px; }
.sc-scroll-hint { position: fixed; left: max(calc(50% - 204px),20px); bottom: 16px; z-index: 50; pointer-events: none; }
.sc-scroll-hint svg { animation: sc-scroll-hand 2s infinite; }
.sc-locked .sc-scroll-hint, .sc-preview .sc-scroll-hint, .iv-editing .sc-scroll-hint { display: none; }
@keyframes sc-scroll-hand { 0%,100% { transform:translateY(0) rotate(-25deg); } 50% { transform:translateY(-10px) rotate(-10deg); } }
#sc-swatches { position: absolute; right: 20px; bottom: 96px; padding: 8px; gap: 8px; background: white; box-shadow: 0 2px 12px #0003; border-radius: 6px; pointer-events: auto; }
#sc-swatches:not([hidden]) { display: flex; }
#sc-swatches button { border: 2px solid white; width: 28px; height: 28px; border-radius: 50%; outline: 1px solid #ddd; cursor: pointer; }
.sc-map-dialog, .sc-rsvp-dialog { position: fixed; border: 0; padding: 16px; border-radius: 4px; color: #000; background: #fff; z-index: 100; box-sizing: border-box; }
.sc-map-dialog::backdrop, .sc-rsvp-dialog::backdrop { background: #0005; }
.sc-rsvp-dialog { top: 16px; margin: 0 auto; width: calc(100% - 32px); max-width: 1024px; max-height: calc(100dvh - 32px); overflow-y: auto; font-family: __contentFont_293c32,__contentFont_Fallback_293c32; font-size: 16px; line-height: 24px; }
.sc-rsvp-header { padding-bottom: 8px; border-bottom: 1px solid #e2e8f0; position: relative; text-align: left; }
.sc-rsvp-header button { position: absolute; top: -3px; right: 0; font: 25px/25px Arial,sans-serif; cursor: pointer; }
#sc-rsvp .sc-rsvp-header .sc-rsvp-close { position: static; font: inherit; }
#sc-rsvp .sc-rsvp-submit svg { width: 20px; height: 20px; }
.sc-map-dialog { width: calc(100% - 32px); max-width: 880px; }
.sc-map-dialog iframe { border: 0; width: 100%; height: min(65dvh,550px); }
.sc-map-dialog [data-sc-close] { float: right; font-size: 28px; margin: -6px 0 8px; }
.sc-map-dialog a { display: block; padding: 8px 0; text-align: right; text-decoration: underline; }
.sc-body .iv-toast { position: fixed; bottom: 30px; left: 50%; transform: translateX(-50%) translateY(15px); opacity: 0; background: #252525; color: #fff; border-radius: 6px; padding: 10px 18px; font: 14px/1.5 Arial,sans-serif; pointer-events: none; z-index: 100; transition: .2s; }
.sc-body .iv-toast.is-show { opacity: 1; transform: translateX(-50%); }
.sc-body [data-sc-track] { transition: transform .45s ease-out; }
.sc-body [data-sc-viewport] { touch-action: pan-y; }
.sc-body [data-sc-reveal] { transition: opacity .8s ease, filter .8s ease; }
.sc-body [data-sc-reveal].sc-wait { opacity: 0 !important; filter: blur(1px); }
.sc-body [data-sc-date] > span { display: inline-block; white-space: pre; transform-style: preserve-3d; }
.sc-body.iv-editing #sc-envelope, .sc-body.iv-editing .sc-tools { display: none; }
.sc-body.iv-editing [data-sc-reveal] { opacity: 1 !important; filter: none !important; }
.sc-body.iv-editing #iv-content { display: block; }
.sc-body.iv-editing .iv-photo { cursor: pointer; }
.iv-editing [data-editor-type="mainPhoto"] img[src*="/divisor"] { pointer-events: none; }
@media (prefers-reduced-motion: reduce) { #sc-envelope * { transition-duration: .01ms !important; } [data-sc-track], .sc-body [data-sc-reveal] { transition: none; } .sc-body [data-sc-reveal].sc-wait { opacity: 1 !important; filter: none; } }

/* Local Vietnamese typography and a fully rendered catalogue preview. */
.sc-body .__className_36b32e, .sc-body .__className_e528e1, .sc-body .__className_c11c1b { font-family: "Great Vibes", cursive; line-height: 1.25; }
.sc-body .__className_293c32, .sc-body #sc-rsvp { font-family: "Cormorant Garamond", Georgia, serif; }
.sc-body #iv-content [data-editor-type="coupleName"] .text-6xl { font-size: clamp(42px,13vw,52px); line-height: 1.15; }
html.iv-preview #sc-envelope, .sc-preview .sc-tools { display: none !important; }
.sc-preview .sc-content { display: block; }
.sc-preview [data-sc-text], .sc-preview [data-sc-reveal], .sc-preview .sc-letter { opacity: 1 !important; animation: none !important; filter: none !important; transform: none !important; }
.iv-editing img[src*="/divisor"], .iv-editing img[src*="vintage-frame-"] { pointer-events: none; }
.iv-editing [data-editor-type="mainPhoto"] .absolute:not(:has([data-slot])) { pointer-events: none; }
