/* Larger models, compact gift information and the original inside artwork. */
.gift-box-grid{gap:18px}
.gift-box-card{padding:22px 18px;border-radius:26px}
.gift-box-card h3{margin:12px 0 5px;font-size:26px}
.box-concept{font-size:13px;min-height:42px;margin-bottom:8px}
.box-viewer{height:422px}
.model-stage{height:340px;perspective:1100px}
.model-view-switch{display:flex;justify-content:center;gap:6px;margin-bottom:8px;position:relative;z-index:6}
.model-view-switch button{font:inherit;font-size:11px;padding:7px 15px;border:1px solid #e9d6db;background:#fff9;border-radius:30px;cursor:pointer;color:var(--green)}
.model-view-switch button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}
.box-model{--w:230px;--h:206px;--d:97px}
.model-cup{--w:169px;--h:280px;--d:85px}
.model-cup .face-front,.model-cup .face-back{width:280px;left:-55.5px}
.model-floor{bottom:40px;width:66%;left:17%}
.rotate-controls{font-size:11px}
.model-face,.paper-face{background-size:100% 100%}
.model-sparkles{position:absolute;inset:45px 0 45px;pointer-events:none;z-index:8;overflow:hidden}
.model-sparkles span{position:absolute;color:#e6b966;text-shadow:0 0 8px #fff9db;font-size:20px;opacity:0;animation:touch-sparkle .65s ease-out both}
@keyframes touch-sparkle{0%{opacity:0;transform:scale(.25) rotate(-20deg)}35%{opacity:.75;transform:scale(1) rotate(10deg)}100%{opacity:0;transform:translateY(-14px) scale(.4) rotate(30deg)}}
.open-model{position:absolute;left:50%;transform-style:preserve-3d;will-change:transform}
.open-nyg{--w:224px;--l:196px;--h:82px;width:var(--w);height:var(--h);margin-left:calc(var(--w) / -2);top:65%;margin-top:calc(var(--h) / -2)}
.tray-floor{position:absolute;width:var(--w);height:var(--l);left:0;top:calc(var(--h) - var(--l) / 2);background:#287352;transform:rotateX(90deg);box-shadow:inset 0 0 24px #0002}
.tray-wall{position:absolute;top:0;left:0;width:var(--w);height:var(--h);background:#edb4c8;transform-style:preserve-3d;border:1px solid #ca8ca3}
.tray-front{transform:translateZ(calc(var(--l) / 2))}
.tray-back{transform:rotateY(180deg) translateZ(calc(var(--l) / 2));background:#287352}
.tray-left,.tray-right{width:var(--l);left:calc((var(--w) - var(--l)) / 2);background:#287352}
.tray-left{transform:rotateY(-90deg) translateZ(calc(var(--w) / 2))}
.tray-right{transform:rotateY(90deg) translateZ(calc(var(--w) / 2))}
.wall-inner{position:absolute;inset:-1px;background:#287352;transform:rotateY(180deg) translateZ(1px);backface-visibility:hidden;box-shadow:inset 0 -5px 14px #0001}
.tray-lid{position:absolute;width:var(--w);height:var(--l);top:calc(var(--l) * -1);left:0;transform-origin:center bottom;transform:translateZ(calc(var(--l) / -2)) rotateX(14deg);transform-style:preserve-3d}
.paper-face{position:absolute;inset:0;background-color:#edb4c8;background-repeat:no-repeat;backface-visibility:hidden;outline:1px solid #c7809822}
.paper-front{transform:translateZ(1px)}
.paper-back{transform:rotateY(180deg) translateZ(1px)}
.tray-lid .paper-front{box-shadow:inset 0 0 0 2px #287352}
.open-tpty{width:292px;height:265px;margin-left:-146px;margin-top:-132px;top:50%}
.net-panel{position:absolute;transform-style:preserve-3d}
.net-left{transform-origin:right center}.net-right{transform-origin:left center}
.net-lid-top,.net-base-top{transform-origin:center bottom}.net-lid-bottom,.net-base-bottom{transform-origin:center top}
.net-panel .paper-back{background:#ed6386}
.net-lid .paper-back{background-image:url(box-360/tpty-front.webp)}
.net-base .paper-back{background-image:url(box-360/tpty-back.webp)}
.cup-open{top:60%}
.cup-inner{position:absolute;background:#ffdb25;backface-visibility:hidden}
.cup-inner-back,.cup-inner-front{width:var(--w);height:var(--h);left:0;top:0}
.cup-inner-back{transform:translateZ(calc(var(--d) / -2 + 1px))}
.cup-inner-front{transform:rotateY(180deg) translateZ(calc(var(--d) / -2 + 1px))}
.cup-inner-left,.cup-inner-right{width:var(--d);height:var(--h);top:0;left:calc((var(--w) - var(--d)) / 2)}
.cup-inner-left{transform:rotateY(90deg) translateZ(calc(var(--w) / -2 + 1px))}
.cup-inner-right{transform:rotateY(-90deg) translateZ(calc(var(--w) / -2 + 1px))}
.cup-inner-bottom{width:var(--w);height:var(--d);top:calc((var(--h) - var(--d)) / 2);transform:rotateX(90deg) translateZ(calc(var(--h) / -2 + 1px))}
.cup-lid{position:absolute;left:0;top:calc(var(--d) * -1);width:var(--w);height:var(--d);transform-origin:center bottom;transform:translateZ(calc(var(--d) / -2)) rotateX(-20deg);transform-style:preserve-3d}
.gift-compact{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;border-top:1px solid #e5ccd6;padding-top:14px;margin-top:4px;min-height:128px}
.gift-image-button{position:relative;display:block;width:110px;height:110px;border:0;border-radius:10px;background:#fff;padding:0;cursor:zoom-in;overflow:hidden}
.gift-image-button img{width:100%;height:100%;object-fit:contain;display:block}
.gift-image-button>span{position:absolute;bottom:3px;right:5px;background:#fffc;border-radius:50%;font-size:14px;color:var(--pink)}
.gift-compact h4{font-size:13px;line-height:1.4;margin-bottom:5px;color:var(--green-deep)}
.gift-compact p,.gift-accessories p{font-size:11px;line-height:1.6;color:var(--muted)}
.gift-accessories{display:flex;align-items:center;gap:10px;min-height:86px;margin:8px 0 16px}
.bag-preview{border:0;padding:0;background:#fff;border-radius:10px;overflow:hidden;flex:0 0 62px;cursor:zoom-in}
.bag-preview img{display:block;width:62px;height:70px;object-fit:contain}
.detail-link{font:inherit;font-size:11px;color:var(--pink);text-align:left;text-decoration:underline;text-underline-offset:3px;border:0;padding:4px 0;background:none;cursor:pointer;line-height:1.5}
.cup-gift{grid-template-columns:140px 1fr}
.card-flip{border:0;background:transparent;perspective:700px;width:140px;height:110px;padding:0;cursor:pointer}
.card-object{display:block;position:relative;width:140px;height:99px;transform:rotateX(8deg) rotateY(-16deg) rotateZ(-5deg);transform-style:preserve-3d;transition:transform .65s ease}
.card-object img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;backface-visibility:hidden;border-radius:2px;box-shadow:4px 7px 10px #806c302b}
.card-front{transform:translateZ(1px)}
.card-back{transform:rotateY(180deg) translateZ(1px)}
.is-flipped .card-object{transform:rotateX(8deg) rotateY(164deg) rotateZ(5deg)}
.gift-detail-dialog{width:min(820px,calc(100% - 24px));max-height:92dvh;margin:auto;border:0;border-radius:22px;padding:0;background:#fffaf7;color:var(--green-deep)}
.gift-detail-dialog::backdrop{background:#231b21a6;backdrop-filter:blur(4px)}
.gift-detail-shell{padding:24px}
.gift-detail-close{float:right;position:sticky;top:0;border:1px solid #ead5df;border-radius:50%;background:#fff;color:var(--pink);width:40px;height:40px;font-size:28px;cursor:pointer}
.gift-detail-shell h2{font-size:24px;padding-right:42px}
.gift-detail-shell p{font-size:14px;color:var(--muted);margin:12px 0 20px}
#giftDetailImages{display:grid;gap:20px}
#giftDetailImages img{display:block;width:100%;height:auto;max-height:70dvh;object-fit:contain;border-radius:8px;background:#fff}
.best-seller{display:inline-flex;align-items:center;gap:3px;font-size:9px!important;font-weight:700!important;line-height:1.35;color:#936518!important;background:#fff2c8;border:1px solid #eacf83;border-radius:20px;padding:3px 6px;white-space:nowrap;vertical-align:middle;letter-spacing:0}
.best-seller>span{font-size:10px!important;color:#bf8c21!important}
.price-cell>.best-seller{margin-left:6px}
.price-table td.price-best{background:#fff5db}
.price-cell.price-best>span:first-child{font-weight:800}
.var-best .vo-in{border-color:#dfbf62;background:#fff9e8}
.var-opt .vo-in .best-seller{display:flex;width:max-content;margin-top:5px}
.var-best input:checked+.vo-in{border-color:var(--pink);background:#fff0f5;box-shadow:0 0 0 1px var(--pink)}
.review-love-title{position:relative;isolation:isolate}
.review-hearts{position:absolute;inset:-20px 0 0;pointer-events:none;z-index:-1}
.review-hearts span{position:absolute;color:#e47b9c;opacity:0;animation:review-heart 6s ease-in-out infinite;font-size:20px;left:15%;bottom:10px}
.review-hearts span:nth-child(2){left:30%;animation-delay:1s;font-size:14px}.review-hearts span:nth-child(3){left:45%;animation-delay:3s;font-size:12px}.review-hearts span:nth-child(4){left:60%;animation-delay:2s}.review-hearts span:nth-child(5){left:75%;animation-delay:4s;font-size:15px}.review-hearts span:nth-child(6){left:85%;animation-delay:1.8s;font-size:12px}
@keyframes review-heart{0%{opacity:0;transform:translateY(20px) rotate(-12deg)}30%{opacity:.4}85%{opacity:.15}100%{opacity:0;transform:translate(15px,-90px) rotate(12deg)}}
.footer-love{font-size:23px;font-style:italic;letter-spacing:1px;color:#f8c4d7;margin:12px 0 18px}
@media(max-width:1050px) and (min-width:741px){.gift-box-grid{grid-template-columns:1fr;max-width:680px;margin:auto}.gift-box-card{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.box-card-heading,.gift-box-card h3,.box-concept{grid-column:1/-1}.box-viewer{grid-column:1;grid-row:4/7}.gift-compact,.gift-accessories,.gift-box-card>.btn{grid-column:2}.gift-compact{align-self:end}.gift-accessories{align-self:start}.gift-box-card>.btn{align-self:end}.model-stage{height:340px}}
@media(max-width:740px){.gift-box-card{padding:21px 18px}.gift-box-card h3{font-size:27px}.box-concept{min-height:0;font-size:14px}.box-viewer{height:420px}.model-stage{height:340px}.gift-compact{grid-template-columns:106px 1fr;gap:12px;min-height:122px}.gift-image-button{width:106px;height:106px}.gift-compact h4{font-size:13px}.gift-compact p,.gift-accessories p{font-size:11px}.cup-gift{grid-template-columns:140px 1fr}.price-cell>.best-seller{margin:4px auto 0;display:flex;width:max-content;font-size:8px!important;padding:2px 4px}.price-cell>.best-seller>span{font-size:8px!important}.gift-detail-shell{padding:20px 14px}.gift-detail-shell h2{font-size:21px}.gift-detail-shell p{font-size:13px}.model-view-switch button{font-size:12px;padding:8px 17px}}
@media(max-width:360px){.open-tpty{width:266px;height:241px;margin-left:-133px;margin-top:-120px}.open-nyg{--w:208px;--l:182px}.box-model{--w:214px;--h:191px;--d:90px}.model-cup{--w:159px;--h:263px;--d:80px}.model-cup .face-front,.model-cup .face-back{width:263px;left:-52px}.cup-gift{grid-template-columns:122px 1fr}.card-flip,.card-object{width:122px}.card-object{height:86px}}
@media(prefers-reduced-motion:reduce){.model-sparkles,.review-hearts{display:none}.card-object{transition:none}.open-model{will-change:auto}}

.open-nyg{--view-scale:.88;top:69%}.cup-open{--view-scale:.91;top:55%}
