/* Shared card preview, scoped to avoid changing product thumbnails or album books. */
.mc-motion { --card-h:min(52vh,480px);--card-w:calc(var(--card-h) * .6667);width:100%!important;height:auto!important;position:relative!important;overflow:visible!important;margin:12px auto!important; }
.mc-motion-stage { height:calc(var(--card-h) + 112px);position:relative;perspective:1800px;overflow:visible; }
.mc-motion-sheet,.mc-motion-spread { position:absolute;top:48px;left:50%;height:var(--card-h);transform-style:preserve-3d;transition:transform 650ms cubic-bezier(.2,.75,.2,1),opacity 280ms; }
.mc-motion-sheet { width:var(--card-w);transform:translateX(-50%) rotateY(0);box-shadow:0 12px 28px #0003; }
.mc-motion[data-view="back"] .mc-motion-sheet { transform:translateX(-50%) rotateY(-180deg); }
.mc-motion-face { position:absolute;inset:0;background:#fff;backface-visibility:hidden;overflow:hidden; }
.mc-motion-face-back { transform:rotateY(180deg); }
.mc-motion .mc-motion-page { position:relative!important;inset:auto!important;width:100%!important;height:100%!important;overflow:hidden!important;background:white; }
.mc-motion .mc-motion-page img,.mc-motion .mc-motion-page canvas { width:100%!important;height:100%!important;object-fit:contain;display:block; }
.mc-motion .pdfSlot { width:100%!important;height:100%!important;padding:0!important;margin:0!important; }
/* Override the older PDF/Turn.js sizing rules without changing rendered PDF content. */
:is(#preview-basket-greeting-card,#preview-schedule-greeting-card,#preview-digi-greeting-card,#preview-e-greeting-card).mc-motion .pdfSlot {
    position:relative!important;inset:auto!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;padding:0!important;margin:0!important;
}
:is(#preview-basket-greeting-card,#preview-schedule-greeting-card,#preview-digi-greeting-card,#preview-e-greeting-card).mc-motion .pdfSlot canvas {
    width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;flex:none;border-radius:0!important;box-shadow:none!important;
}
.mc-motion-spread { width:calc(var(--card-w) * 2);transform:translateX(-50%);opacity:0;pointer-events:none; }
.mc-motion-leaf { position:absolute;top:0;width:50%;height:100%;background:white;box-shadow:0 10px 24px #0003;transition:transform 650ms cubic-bezier(.2,.75,.2,1);backface-visibility:hidden; }
.mc-motion-left { left:.5px;transform-origin:right center;transform:rotateY(76deg); }
.mc-motion-right { right:.5px;transform-origin:left center;transform:rotateY(-76deg); }
.mc-motion-left .mc-motion-page img,.mc-motion-left .mc-motion-page canvas { object-position:right center; }
.mc-motion-right .mc-motion-page img,.mc-motion-right .mc-motion-page canvas { object-position:left center; }
.mc-motion-leaf { --inside-border:2px; }
.mc-motion-left .mc-motion-page { box-sizing:border-box;padding:var(--inside-border) 0 var(--inside-border) var(--inside-border); }
.mc-motion-right .mc-motion-page { box-sizing:border-box;padding:var(--inside-border) var(--inside-border) var(--inside-border) 0; }
.mc-motion-leaf .mc-motion-page img,.mc-motion-leaf .mc-motion-page canvas { object-fit:fill; }
.mc-motion-leaf .pdfSlot { position:relative!important;inset:auto!important; }
.mc-motion[data-view="inside-left"] .mc-motion-sheet,.mc-motion[data-view="inside-right"] .mc-motion-sheet { opacity:0;pointer-events:none;transform:translateX(-50%) rotateY(-85deg); }
.mc-motion[data-view="inside-left"] .mc-motion-spread,.mc-motion[data-view="inside-right"] .mc-motion-spread { opacity:1;pointer-events:auto; }
.mc-motion[data-view="inside-left"] .mc-motion-spread { transform:translateX(-50%) translateX(calc(var(--card-w) * .38)); }
.mc-motion[data-view="inside-right"] .mc-motion-spread { transform:translateX(-50%) translateX(calc(var(--card-w) * -.38)); }
.mc-motion[data-view="inside-left"] .mc-motion-left { transform:rotateY(0);z-index:2; }
.mc-motion[data-view="inside-right"] .mc-motion-right { transform:rotateY(0);z-index:2; }
.mc-motion-leaf::after { content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 85%,#0001); }
.mc-motion-right::after { background:linear-gradient(90deg,#0001,transparent 15%); }
.mc-motion-controls { display:flex;justify-content:space-between;gap:16px;width:min(100%,calc(var(--card-w) + 64px));margin:12px auto; }
.mc-motion-controls .mc-motion-arrow { display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;padding:0;border:0;border-radius:50%;background:#f39112;color:#111;box-shadow:0 10px 20px #0002;cursor:pointer; }
.mc-motion-controls .mc-motion-arrow:hover:not(:disabled) { background:#df8008; }
.mc-motion-controls .mc-motion-arrow:focus-visible { outline:3px solid #ff8500;outline-offset:4px; }
.mc-motion-controls .mc-motion-arrow:disabled { opacity:.45;cursor:default; }
.mc-motion-layout-swap,.mc-motion-layout-swap * { transition:none!important; }
.mc-motion-missing { display:grid;place-items:center;color:#6c757d;font-size:.9rem;height:100%;padding:16px; }
.mc-motion-host { position:relative;min-width:0; }
.mc-motion-host > .flipbookShield { display:none; }
/* Existing viewport sizing is superseded by the shared responsive stage. */
.mc-motion-host:has(> .mc-motion) { height:auto!important;min-height:0!important;overflow:visible!important; }
@media(max-width:600px) { .mc-motion { --card-h:min(46vh,calc((100vw - 80px) / 1.04)); } }
@media(prefers-reduced-motion:reduce) { .mc-motion * { transition:none!important;animation:none!important; } }
#previewCardBasketModal .modal-dialog { width:calc(100% - 32px);max-width:1000px;height:auto;max-height:calc(100dvh - 32px);margin:16px auto;min-height:calc(100dvh - 32px); }
#previewCardBasketModal .modal-content { height:auto;max-height:calc(100dvh - 32px); }
#previewCardBasketModal .modal-body { display:block;overflow-y:auto;overflow-x:hidden;padding:16px; }
#previewBasketCardViewport.mc-motion-host { display:block;height:auto!important;min-height:0!important;overflow:visible; }
#previewCardBasketModal .mc-motion { --card-h:min(500px,max(140px,calc(100dvh - 360px)),calc((100vw - 80px) / 1.04)); }
#previewCardBasketModal .mc-motion-stage { height:calc(var(--card-h) + 80px); }
#previewCardBasketModal .mc-motion-sheet,#previewCardBasketModal .mc-motion-spread { top:32px; }
