/* Small product details. Scoped selectors deliberately override the base shop controls. */
.shop .preview-panel{position:sticky;padding:0;background:#171d27;border:1px solid #a9b8cf29;border-radius:12px;overflow:hidden;box-shadow:0 16px 44px #0002}
.shop .preview-heading{position:absolute;inset:14px 14px auto;z-index:2;margin:0;pointer-events:none;gap:10px}
.shop .preview-heading>span{padding:7px 9px;background:#0b1019bd;border:1px solid #c5d3ea20;border-radius:5px;color:#e5edf9;font-size:7px;letter-spacing:.12em}
.shop .preview-frame{display:block;width:100%;max-height:none;background:#080b10;overflow:hidden;margin:0;padding:0}
.shop #style-preview{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.shop .preview-panel:has(.preview-frame[hidden]) .preview-heading{position:static;margin:14px 14px 0}
.shop .preview-tag{left:14px;bottom:14px;border:1px solid #c5d3ea25;border-radius:5px;background:#0b1019c9;padding:7px 9px;font-size:7px}
.shop .preview-content{padding:24px 20px}
.shop .preview-meta{margin:0;align-items:center;gap:10px}
.shop .preview-meta h2{font-size:25px;line-height:1.1;font-weight:400}
.shop .preview-meta>span{font-size:7px;white-space:nowrap;background:#c0d5f20b;padding:6px 7px;border-radius:4px}
.shop #preview-description{font-size:11px;line-height:1.8;color:#9caac0;margin-top:12px}
.shop #live-summary{margin:22px 0 0}
.shop #live-summary>div{padding:13px 0;gap:15px;border-bottom-color:#b6c4da19;font-size:10px}
.shop #live-summary dt{display:flex;align-items:center;gap:9px;color:#a6b4c9}
.shop #live-summary dd{color:#e5edf7}
.shop .ui-icon{display:block;width:17px;height:17px;flex-shrink:0;color:#94adce}
.shop .preview-content .preview-divider{margin:21px 0;border-color:#b6c4da20}
.shop .preview-benefits{display:flex;gap:16px;margin-bottom:18px}
.shop .preview-benefits>span{display:flex;align-items:center;gap:6px;font-size:9px;color:#b1c1d5}
.shop .preview-benefits svg{width:16px;height:16px;color:#8fa8ca}
.shop .preview-content .order-line{font-size:11px;gap:10px}
.shop .preview-content .order-line b{font-size:16px;font-weight:600}
.shop .preview-content .order-line.small{font-size:9px;color:#8f9db2;margin-top:8px;line-height:1.6}
.shop .preview-content .fine-print{font-size:8px;line-height:1.8;color:#8693a7;margin-top:18px}
.shop .exhibition-stage{touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;cursor:grab;pointer-events:auto}
.shop .exhibition-stage.is-dragging,.shop .exhibition-stage.is-dragging .exhibition-art{cursor:grabbing}
.shop .exhibition-art{touch-action:pan-y;pointer-events:auto}
.shop .poster-glow{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:7}
.shop .poster-glow rect{fill:none;stroke:#d6e5ff;stroke-width:1.3;vector-effect:non-scaling-stroke;stroke-linecap:round;opacity:0;stroke-dasharray:100;stroke-dashoffset:100}
.shop .poster-glow-line{filter:drop-shadow(0 0 4px #a3c4ff)}
.shop .poster-glow .poster-glow-head{stroke:#fff;stroke-width:2;stroke-dasharray:7 93;filter:drop-shadow(0 0 7px #a3c4ff)}
.shop :is(.exhibition-art,.card-image):focus-visible .poster-glow-line{opacity:1;animation:button-perimeter 1.8s linear both}
.shop :is(.exhibition-art,.card-image):focus-visible .poster-glow-head{animation:button-snake-head 1.8s linear both}
@media(hover:hover){
 .shop :is(.exhibition-art,.card-image):hover .poster-glow-line{opacity:1;animation:button-perimeter 1.8s linear both}
 .shop :is(.exhibition-art,.card-image):hover .poster-glow-head{animation:button-snake-head 1.8s linear both}
}
.shop .card-image{overflow:visible}
.shop :is(.exhibition-art,.card-image):focus-visible{outline:1px solid #adc5ef66;outline-offset:0}
.shop .card-image:hover>img{transform:none}
.shop .exhibition-nav{display:flex;gap:8px;align-items:center}
.shop .exhibition-nav>button,.shop .exhibition-nav #exhibition-open{height:42px;min-width:68px;padding:0 16px;border:1px solid #aebcda32;border-radius:8px;background:#d6e1ff09;color:#bfcadd;font:400 11px/1.4 Manrope,sans-serif;gap:0;transition:background .2s,border-color .2s,color .2s}
.shop .exhibition-nav #exhibition-open{background:#d6e1ff19;color:#f1f4fa;min-width:105px;margin-left:6px}
.shop .exhibition-nav>button:hover{background:#d6e1ff22;border-color:#aebcda80;color:#fff}
.shop .card-actions{border:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px;padding:0}
.shop .card-actions :is(button,.card-action){width:100%;white-space:normal;text-wrap:balance}
.shop .card-actions :is(button,.card-action),.shop .wide-footer button{display:flex;align-items:center;justify-content:center;min-height:42px;padding:10px 12px;border:1px solid #aebcda30;border-radius:7px;font:400 11px/1.4 Manrope,sans-serif;background:#d5e1ff08;color:#c4cddd;gap:0;transition:background .2s,border-color .2s,color .2s}
.shop .card-actions :is(button,.card-action)[data-buy-mode=custom],.shop #wide-custom{background:#d5e1ff16;color:#edf2fc;border-color:#aebcda45}
.shop .card-actions :is(button,.card-action):hover,.shop .wide-footer button:hover{background:#d5e1ff24;border-color:#aebcda90;color:#fff}
.shop .wide-footer button{min-width:150px}
.shop .customer-flags{display:flex;align-items:center;flex-shrink:0;padding-right:3px}
.shop .customer-flags svg{width:31px;height:31px;border-radius:50%;overflow:hidden;border:2px solid #e6ecf4;box-shadow:0 3px 8px #0005}
.shop .customer-flags svg+svg{margin-left:-9px}
.shop .social-proof{max-width:380px}
.shop .social-proof-people{gap:12px}
.shop .social-proof-rating{gap:10px;flex-wrap:wrap;margin-top:10px;min-height:46px}
.shop .rating-stars{width:160px;height:50px;position:relative;align-items:center;gap:4px;flex-shrink:0;color:#ebc475;filter:drop-shadow(0 2px 1px #0008) drop-shadow(0 0 7px #efbd4b20)}
.shop .rating-stars>svg{width:28px;height:28px;flex-shrink:0}
.shop .rating-stars.motion-ready>svg{display:none}
.shop .rating-player{display:block;position:absolute;inset:0}
.shop .rating-player svg{display:block;width:100%!important;height:100%!important}
.shop .social-proof-rating>span:last-child{font-size:8px;padding-left:9px}
.shop .exhibition-stage:after{display:none}
.shop .atmosphere-button{position:relative;isolation:isolate;justify-content:center;min-height:50px;border-radius:8px;border:1px solid #a7afd23b;background:#c3cff016;box-shadow:0 4px 18px #07091125;transition:background .25s,color .25s;color:#e5ecf7;font-family:Manrope,sans-serif;font-size:13px;font-weight:400;padding:15px 28px;gap:0}
.shop .exhibition-intro .atmosphere-button{font-size:13px;padding:16px 28px;gap:0}
.shop .atmosphere-button .button-label{position:relative;z-index:2;font-size:inherit;font-weight:400;letter-spacing:.015em;text-shadow:none;line-height:1.5}
.shop .atmosphere-button:hover,.shop .atmosphere-button:focus-visible{transform:none;background:#c3cff026;box-shadow:0 0 24px #b7c6f112;color:#fff;filter:none}
.shop .atmosphere-button:active{background:#162438;transform:none}
.shop .atmosphere-button:focus-visible{outline:2px solid #bed4f8;outline-offset:5px}
.shop .button-trace{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);pointer-events:none;overflow:visible}
.shop .button-trace rect{fill:none;stroke:#dbe5ff;stroke-width:1.3;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;opacity:0}
.shop .button-trace .trace-line{filter:drop-shadow(0 0 3px #bdcfff80)}
.shop .button-trace .trace-head{stroke:#fff;stroke-width:2;stroke-dasharray:7 93;filter:drop-shadow(0 0 5px #d3e0ff)}
.shop .atmosphere-button:focus-visible .trace-line{opacity:.8;animation:button-perimeter 1.8s linear both}
.shop .atmosphere-button:focus-visible .trace-head{animation:button-snake-head 1.8s linear both}
.shop .button-smoke{position:absolute;inset:-35px -12px 0;pointer-events:none;z-index:-1}
.shop .button-smoke i{position:absolute;left:12%;bottom:12px;width:65%;height:40px;border-radius:50%;opacity:0;background:radial-gradient(ellipse,#b7c6eb75,transparent 68%);filter:blur(9px)}
.shop .button-smoke i:nth-child(2){left:38%;width:55%}.shop .button-smoke i:nth-child(3){left:-2%;width:75%}
@media(hover:hover){
 .shop .atmosphere-button:hover .trace-line{opacity:.8;animation:button-perimeter 1.8s linear both}
 .shop .atmosphere-button:hover .trace-head{animation:button-snake-head 1.8s linear both}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .shop .atmosphere-button:is(:hover,:focus-visible) .button-smoke i{animation:button-smoke-rise 2.6s ease-out infinite}
 .shop .atmosphere-button:is(:hover,:focus-visible) .button-smoke i:nth-child(2){animation-delay:.6s}
 .shop .atmosphere-button:is(:hover,:focus-visible) .button-smoke i:nth-child(3){animation-delay:1.2s}
}
@keyframes button-perimeter{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes button-snake-head{0%{stroke-dashoffset:100;opacity:0}8%{opacity:1}90%{opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes button-smoke-rise{0%{transform:translate(0,0) scale(.5) rotate(-12deg);opacity:0}25%{opacity:.7}65%{opacity:.35}100%{transform:translate(-18px,-62px) scale(1.4) rotate(18deg);opacity:0}}
/* One continuous twilight field behind both copy and artwork; no separate colour panel. */
.shop .exhibition{background:radial-gradient(ellipse at 84% 16%,#3a324c 0%,transparent 58%),radial-gradient(ellipse at 5% 95%,#332c36 0%,transparent 52%),linear-gradient(125deg,#121923 8%,#202c3a 58%,#191b2a 100%)}
.shop .exhibition-room{background:transparent}
.shop .exhibition-stage{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .4s cubic-bezier(.2,.7,.3,1);will-change:transform}
.shop .exhibition-art{box-shadow:4px 5px 0 #080a0e,18px 26px 26px #06060d80,40px 54px 64px #070a1055}
.shop .exhibition-art:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,#cddfff0b,transparent 35%,#0000000a);opacity:.6}
.shop .exhibition-art[data-position=center]{transform:translate(-50%,-50%) translateZ(95px) rotateY(-16deg) rotateX(3deg) rotateZ(2deg)}
.shop .exhibition-art[data-position=left]{filter:brightness(.85);box-shadow:12px 22px 32px #0006}
.shop .exhibition-art[data-position=right]{filter:brightness(.75);box-shadow:12px 22px 32px #0006}
.shop .exhibition-bottom{border-color:#c2c1df18}.shop .room-toolbar{justify-content:flex-start}
@media(max-width:760px){
 .shop .exhibition-controls{flex-wrap:wrap;gap:16px}
 .shop .exhibition-caption{width:100%}
 .shop .exhibition-nav{width:100%;display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:7px}
 .shop .exhibition-nav>button,.shop .exhibition-nav #exhibition-open{min-width:0;width:100%;height:42px;padding:0 10px;font-size:10px;margin:0}
 .shop .card-actions{grid-template-columns:1fr;gap:7px;margin-top:12px}
 .shop .card-actions :is(button,.card-action){width:100%;font-size:10px;min-height:40px;padding:10px 6px}
 .shop .wide-footer button{min-width:0;min-height:44px;font-size:11px}
 .shop .exhibition-intro .atmosphere-button{min-height:48px;font-size:12px;padding:14px 24px}
 .shop .header-create.atmosphere-button{min-height:40px;padding:10px 15px;border-radius:8px;font-size:11px}
 .shop .social-proof-people{gap:10px}.shop .social-proof-people p{line-height:1.7}
 .shop .customer-flags svg{width:29px;height:29px}
 .shop .social-proof-rating{gap:8px}.shop .rating-stars{width:150px;height:48px}
 .shop .rating-stars>svg{width:26px;height:26px}
 .shop .social-proof-rating>span:last-child{padding-left:8px;font-size:7px}
 .shop .exhibition-stage{transform:none;will-change:auto}
 .shop .exhibition-art[data-position=center]{transform:translate(-50%,-50%) translateZ(40px) rotateY(-16deg) rotateX(3deg) rotateZ(2deg)}
}
@media(prefers-reduced-motion:reduce){.shop .atmosphere-button:is(:hover,:focus-visible) .trace-line,.shop :is(.exhibition-art,.card-image):is(:hover,:focus-visible) .poster-glow-line{animation:none;stroke-dashoffset:0;opacity:1}.shop .trace-head,.shop .button-smoke,.shop .poster-glow-head{display:none}.shop .exhibition-stage{transform:none;will-change:auto}}
.hero-gallery-controls{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:16px;padding:0 0 24px;color:#c9bdc4}
.hero-gallery-controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #6e5b67;border-radius:50%;background:#1a1519;color:#f3eeeb;font-size:20px}
.hero-gallery-controls button:hover{background:#352730;border-color:#b499a8}
.hero-gallery-status{min-width:150px;text-align:center;font-size:12px}
