/* GP 3D Scene – stili della scena (i colori arrivano dal widget come variabili CSS) */
.gp3d-root{position:fixed;inset:0;z-index:0;pointer-events:none}
.gp3d-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.gp3d-vignette{position:absolute;inset:0;opacity:var(--gp3d-vig-strength,1)}
.gp3d-grain{position:absolute;inset:-50%;opacity:var(--gp3d-grain,.05);mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation:gp3d-grain 1s steps(4) infinite}
@keyframes gp3d-grain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}100%{transform:translate(0,0)}}

/* i contenuti Elementor stanno sopra la scena */
body.gp3d-on [data-elementor-type]{position:relative;z-index:1}

.gp3d-labels{position:fixed;inset:0;z-index:2;pointer-events:none}
.gp3d-lab{position:absolute;left:0;top:0;display:flex;align-items:center;gap:10px;white-space:nowrap;will-change:transform,opacity;opacity:0}
.gp3d-lab::before{content:"";width:34px;height:1px;background:var(--gp3d-line,#F0A934);flex:none}
.gp3d-lab strong{display:block;font-weight:600;font-size:14px;line-height:1.1;color:var(--gp3d-text,#F5EADB);text-shadow:0 1px 8px rgba(0,0,0,.8)}
.gp3d-lab small{display:block;font-size:11px;line-height:1.2;color:var(--gp3d-muted,#BFAC98);text-shadow:0 1px 8px rgba(0,0,0,.8)}

.gp3d-loader{position:fixed;z-index:5;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);
  font:500 11px/1 ui-monospace,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--gp3d-line,#F0A934);
  background:rgba(23,17,14,.8);border:1px solid rgba(255,255,255,.12);padding:8px 12px;border-radius:999px;transition:opacity .6s;pointer-events:none}
.gp3d-loader.done{opacity:0}

/* segnaposto visibile solo nell'editor Elementor */
.gp3d-editor-badge{display:inline-flex;align-items:center;gap:8px;font:600 12px/1 system-ui,sans-serif;color:#1B120C;background:#F0A934;padding:8px 12px;border-radius:999px}
.gp3d-mount{min-height:0}

@media (max-width:767px){
  .gp3d-lab small{display:none}
  .gp3d-lab::before{width:16px}
  .gp3d-lab strong{font-size:12.5px}
}
@media (prefers-reduced-motion:reduce){ .gp3d-grain{animation:none} }
