/* Photo-based 3D displays preserve the real cake designs and their real angles. */
.cake-hologram{perspective:1100px;overflow:visible}
.cake-rotator{--cake-yaw:0deg;position:relative;transform-style:preserve-3d;transform:rotateY(0deg);touch-action:pan-y}
.is-hologram .cake-rotator{transform:rotateY(var(--cake-yaw)) rotateX(-3deg)}
.cake-rotator:before,.cake-rotator:after{content:'';position:absolute;inset:7px;border:1px solid #dfd7e180;border-radius:120px 120px 12px 12px;pointer-events:none;transform:translateZ(-16px);opacity:0;box-shadow:0 0 22px #cfc4d150}
.cake-rotator:after{inset:14px;transform:translateZ(-34px);border-color:#ded1be99}
.is-hologram .cake-rotator:before,.is-hologram .cake-rotator:after{opacity:1}
.cake-rotator .cake-hero-photo{animation:none;transform:translateZ(1px);position:relative;z-index:1}
.is-hologram .cake-hero-photo:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 5px,#ebe7e214 5px 6px),linear-gradient(110deg,transparent 35%,#ede7dd20 48%,transparent 61%);background-size:auto,250% 100%;animation:cakeHoloScan 9s ease-in-out infinite;border-radius:inherit}
.cake-hologram-options{text-align:center;position:relative;margin-top:15px;z-index:2}
.cake-hologram-options>div{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.cake-hologram-options button,.sana-cake-dialog .cake-dialog-mode button{border:1px solid #e5dfe799;border-radius:6px;background:#594e5c;color:#f9f8f7;min-height:42px;padding:9px 13px;font:500 12px var(--sans)}
.cake-hologram-options p{font-size:11px;color:#e1dbe3;margin:12px 0 0;line-height:1.5}
.cake-hero-controls{flex-wrap:wrap}.cake-hero-controls button{min-height:42px}
.is-paused .cake-hero-photo:after{animation-play-state:paused}
.cake-dialog-image{perspective:1100px;position:relative}
.cake-dialog-projection{--cake-yaw:0deg;height:100%;width:100%;position:relative;transform-style:preserve-3d}
.is-hologram .cake-dialog-projection{transform:rotateY(var(--cake-yaw)) rotateX(-2deg);border:1px solid #e6e0e8;border-radius:10px;box-shadow:0 0 28px #d1c6d45e,7px 6px 0 #ddd5df2e,14px 12px 0 #e0d5c41f;background:#463b49}
.is-hologram .cake-dialog-projection:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 5px,#f2f0ec14 5px 6px);pointer-events:none}
.cake-dialog-mode{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:10px 24px;border-top:1px solid #dfd8e133}
.cake-dialog-mode span{font-size:11px;color:#e1dce3;flex:1;min-width:160px}
.cake-dialog-mode button[hidden]{display:none!important}
.sana-cake-dialog .cake-dialog-image{height:min(57dvh,570px)}
.sana-cake-dialog.is-hologram .cake-dialog-image{padding:22px 35px}
@keyframes cakeHoloScan{0%,100%{background-position:0 0,100% 0}50%{background-position:0 0,0 0}}
@media(max-width:700px){.cake-hologram{overflow:clip;overflow-clip-margin:15px}.cake-dialog-mode{padding:10px 15px}.sana-cake-dialog .cake-dialog-image{height:51dvh}.sana-cake-dialog.is-hologram .cake-dialog-image{padding:15px 25px}}
@media(prefers-reduced-motion:reduce){.is-hologram .cake-hero-photo:after{animation:none}}
