/* Cookie procedural Three.js. Imagens originais continuam como fallback sem WebGL. */
.cookie-webgl {
  position: absolute;
  inset: -9%;
  width: 118%;
  height: 118%;
  display: block;
  pointer-events: none;
  filter: drop-shadow(0 30px 24px rgba(35, 18, 4, .18));
}

.webgl-ready .cookie-rig {
  transform: translate(-50%, -50%) !important;
  transform-style: flat;
}

.webgl-ready .cookie-rig > .cookie,
.webgl-ready .cookie-rig > .cookie-gloss,
.webgl-ready .cookie-rig > .cookie-shadow,
.webgl-ready .cookie-portal > img,
.webgl-ready .cookie-portal > span {
  opacity: 0 !important;
  visibility: hidden !important;
}

.webgl-ready .cookie-portal {
  transform: translate(-50%, calc(-50% + var(--webgl-lift, 0px))) scale(var(--webgl-scale, 1)) !important;
}

.experience .cookie-webgl {
  inset: -4%;
  width: 108%;
  height: 108%;
  filter: drop-shadow(0 54px 40px rgba(0,0,0,.55));
}

@media (prefers-reduced-motion: reduce) {
  .cookie-webgl { pointer-events: none; }
}
