/* Product identity is revealed while hovering anywhere over the scene; it never blocks scene dragging. */
#plb30-viewer .scene-heading{
 opacity:0!important;transform:translate3d(0,-10px,0);filter:blur(3px);
 transition:opacity .28s ease,transform .48s cubic-bezier(.22,1,.36,1),filter .35s ease;
 will-change:opacity,transform;pointer-events:none!important;z-index:3;
}
#plb30-viewer .scene-heading.is-revealed{opacity:1!important;transform:translate3d(0,0,0);filter:blur(0)}
#plb30-viewer .scene-heading.is-revealed::before{transform-origin:left;animation:abba-heading-line .65s cubic-bezier(.22,1,.36,1) both}
@keyframes abba-heading-line{from{transform:scaleX(.15);opacity:0}to{transform:scaleX(1);opacity:1}}
#plb30-viewer .heading-info-toggle{
 position:absolute;top:14px;left:14px;width:36px;height:36px;z-index:5;
 border:1px solid #e9d6a870;border-radius:50%;background:#143c2ee8;color:#f3dfae;
 display:grid;place-items:center;padding:0;cursor:pointer;opacity:0;pointer-events:none;
 transition:background .2s,box-shadow .2s,opacity .2s;
}
#plb30-viewer .heading-info-toggle svg{width:18px;height:18px}
#plb30-viewer .heading-info-toggle:focus-visible{opacity:1;pointer-events:auto;outline:2px solid #f3dfae;outline-offset:3px;box-shadow:0 0 0 6px #ecd9a920}
#plb30-viewer .viewport:has(.heading-info-toggle:focus-visible) .scene-heading{top:60px!important}
@media(hover:none),(pointer:coarse){
 #plb30-viewer .heading-info-toggle{opacity:1;pointer-events:auto}
 #plb30-viewer .viewport .scene-heading{top:60px!important;right:16px!important;max-width:calc(100% - 32px)}
 #plb30-viewer .viewport .scene-heading h1{font-size:22px!important;line-height:1.12}
 #plb30-viewer .heading-info-toggle[aria-expanded=true]{background:#e4d3a2;color:#143c2e}
}
@media(prefers-reduced-motion:reduce){
 #plb30-viewer .scene-heading{transition:none!important;transform:none!important;filter:none!important}
 #plb30-viewer .scene-heading::before{animation:none!important}
}

/* One animated value drives every desktop overlay in the same frame. */
@property --abba-overlay-opacity{syntax:"<number>";inherits:true;initial-value:0}
@media(hover:hover) and (pointer:fine){
 #plb30-viewer #viewport{--abba-overlay-opacity:0;transition:--abba-overlay-opacity .3s ease}
 #plb30-viewer #viewport:hover,#plb30-viewer #viewport:has(:focus-visible){--abba-overlay-opacity:1}
 #plb30-viewer #viewport :is(.scene-heading,.scene-bottom-bar,.design-tools-trigger,.design-compare-dock){
  opacity:var(--abba-overlay-opacity)!important;transition:none!important;
  transform:none!important;filter:none!important;will-change:auto;
 }
 #plb30-viewer #viewport .scene-heading::before{animation:none!important}
}
@media(prefers-reduced-motion:reduce){
 #plb30-viewer #viewport,#plb30-viewer #viewport :is(.scene-heading,.scene-bottom-bar,.design-tools-trigger,.design-compare-dock){transition:none!important}
}
