/* Cards keep each template's real opening scene and its own typography. */
html.card-preview,
html.card-preview body { overflow: hidden !important; }
/* The curtain gate is fixed-position: reserve its viewport so readiness can
   measure a real card surface instead of a zero-height body. */
html.card-preview[data-card-template="dear-you"] body { min-height: 100vh; min-height: 100svh; }
html.card-preview[data-card-template="dear-you"] body > :not(#entryGate):not(script):not(style):not([data-ea-preview-watermark]),
html.card-preview[data-card-template="haveli-dusk"] body > :not(#hero):not(script):not(style):not([data-ea-preview-watermark]),
html.card-preview[data-card-template="royal-pichwai"] body > :not(#intro):not(script):not(style):not([data-ea-preview-watermark]) { display: none !important; }

/* An accessible still is the same scene with motion stopped, never a thumbnail. */
html.static-card-preview *,
html.static-card-preview *::before,
html.static-card-preview *::after { animation: none !important; transition: none !important; }
html.static-card-preview .gate-eyebrow,
html.static-card-preview .gate-title,
html.static-card-preview .gate-sub,
html.static-card-preview .gate-arrows,
html.static-card-preview .vivaha-fade-up,
html.static-card-preview .sh-l { opacity: 1 !important; transform: none !important; }
