/* PHACTUS — stile dei widget Bee (Beezy Widget): Bee Marquee e Bee Partner Map.
   Questi due widget sono personalizzati: il loro aspetto vive qui; tutto il resto del sito è nelle opzioni dei widget.
   Sviluppato da Beezy Consulting — https://beezyconsulting.it */

/* ---------- Marquee ---------- */
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:flex;gap:0;width:max-content;animation:marquee 42s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
.plogo{
  flex:none;width:200px;height:96px;display:flex;align-items:center;justify-content:center;
  padding:0 26px;box-sizing:border-box;
  border-right:1px solid var(--line);
  filter:grayscale(1);opacity:.6;transition:filter .3s ease,opacity .3s ease,color .3s ease;
}
.plogo img{max-width:100%;max-height:52px;width:auto;height:auto;object-fit:contain;display:block}
.plogo--text{font-family:var(--ff-display);font-size:24px;color:var(--muted)}
.plogo:hover{filter:grayscale(0);opacity:1;color:var(--forest)}

.factstrip{
  margin-top:clamp(48px,6vw,80px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.factstrip__track{display:flex;gap:0;width:max-content;animation:marquee 30s linear infinite}
.factstrip:hover .factstrip__track{animation-play-state:paused}
.fact{flex:none;display:flex;align-items:center;gap:12px;padding:18px 36px;font-family:var(--ff-mono);font-size:13px;letter-spacing:.04em;color:var(--ink)}
.fact .dot{width:7px;height:7px;border-radius:50%;background:var(--terracotta);flex:none}
.fact strong{color:var(--forest)}
.map-wrap{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow);overflow:hidden;overflow:clip}
.map-svg{display:block;width:100%;height:auto}
.map-tooltip{
  position:absolute;top:0;left:0;z-index:5;pointer-events:none;opacity:0;transform:translateY(6px);
  transition:opacity .18s ease,transform .18s ease;
  background:var(--forest);color:var(--paper);border-radius:12px;padding:14px 16px;
  box-shadow:var(--shadow-lg);max-width:240px;font-size:13.5px;line-height:1.4;
}
.map-tooltip.is-on{opacity:1;transform:translateY(0)}
.map-panel{position:static;display:none;opacity:1;transform:none;max-width:none;margin-top:12px;pointer-events:auto;columns:2 240px;column-gap:28px}
.map-panel.is-on{display:block}
.map-panel .tt-head{column-span:all}
.map-panel li{break-inside:avoid;margin-bottom:4px}
.map-tooltip .tt-head{font-family:var(--ff-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--terra-200);margin-bottom:8px}
.map-tooltip ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}
.map-tooltip li{color:var(--leaf-300)}
.map-tooltip li strong{color:var(--paper);font-weight:600}

/* geo map (real Europe map + HTML pins) */
.geo-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.geo-legend{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}
.geo-legend-dot{width:14px;height:14px;border-radius:50%;background:var(--terracotta);border:2px solid var(--paper);box-shadow:0 0 0 1px var(--terracotta);flex:none}
.geo-img{display:block;width:100%;height:auto}
.geo-pins{position:absolute;inset:0;pointer-events:none}
.geo-pin{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;padding:0;border:0;background:none;cursor:pointer;pointer-events:auto}
.geo-pin .gp-dot{position:relative;z-index:2;width:34px;height:34px;border-radius:50%;background:var(--terracotta);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--ff-mono);font-weight:500;font-size:14px;border:2px solid var(--paper);box-shadow:0 3px 10px rgba(20,30,18,.35);transition:transform .2s ease}
.geo-pin::before{content:"";position:absolute;left:50%;top:50%;width:34px;height:34px;border-radius:50%;border:2px solid var(--terracotta);transform:translate(-50%,-50%);opacity:.5;pointer-events:none}
html.anim .geo-pin::before{animation:geoPulse 2.6s ease-out infinite}
@keyframes geoPulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.5}70%{transform:translate(-50%,-50%) scale(2.3);opacity:0}100%{opacity:0}}
.geo-pin:hover .gp-dot,.geo-pin:focus-visible .gp-dot,.geo-pin.is-active .gp-dot{transform:scale(1.16)}
.geo-pin .gp-label{position:absolute;top:calc(100% + 5px);left:50%;transform:translateX(-50%);font-family:var(--ff-mono);font-size:11px;letter-spacing:.06em;color:var(--forest);background:var(--paper);padding:1px 6px;border-radius:6px;white-space:nowrap;box-shadow:0 1px 4px rgba(20,30,18,.15)}
@media(max-width:560px){.geo-pin,.geo-pin .gp-dot,.geo-pin::before{width:28px;height:28px}.geo-pin .gp-dot{font-size:12px}}

.bee-marquee--nopause:hover .marquee__track,.bee-marquee--nopause:hover .factstrip__track{animation-play-state:running}
.bee-marquee--nofade{-webkit-mask-image:none;mask-image:none}
.bee-marquee a.fact,.bee-marquee a.plogo{color:inherit}
