/*! Repost Studio – menù a cerchio (v1)
 *  Il cerchio dell'anello in alto a destra si allarga fino a coprire lo schermo
 *  e mostra il menù; l'icona a tre linee diventa una X. */
:root{
  --rsm-purple:#6c2887;
  --rsm-gold:#fec144;
  --rsm-ease:cubic-bezier(.76,0,.24,1);
  --rsm-bounce:cubic-bezier(.34,1.56,.64,1);
}

/* ---------- pulsante sopra l'immagine dell'anello ---------- */
.et_pb_image_0_tb_header.rsm-host{ pointer-events:none !important; }
#rsm-btn{
  position:fixed; left:0; top:0; width:0; height:0; z-index:100002;
  margin:0; padding:0; border:0; background:none; cursor:pointer;
  -webkit-tap-highlight-color:transparent; display:none;
}
html.rsm-ready #rsm-btn{ display:block; }
#rsm-btn:focus-visible{ outline:none; }
#rsm-btn:focus-visible .rsm-cover{ box-shadow:0 0 0 3px var(--rsm-gold); }
/* copre le linee disegnate nell'immagine: al loro posto ci sono quelle animabili */
#rsm-btn .rsm-cover{
  position:absolute; left:32.5%; top:9.5%; width:62%; height:45%;
  background:#fff; border-radius:12px;
}
#rsm-btn .rsm-l{
  position:absolute; right:6.76%; height:5.54%;
  background:#000; border-radius:999px;
  transition: top .55s var(--rsm-bounce), width .45s var(--rsm-bounce), transform .55s var(--rsm-bounce), opacity .25s ease;
}
#rsm-btn .rsm-l1{ top:11.73%; width:58.53%; }
#rsm-btn .rsm-l2{ top:29.21%; width:47.84%; transform-origin:100% 50%; transition-delay:.04s; }
#rsm-btn .rsm-l3{ top:46.70%; width:37.16%; transition-delay:.08s; }

/* passaggio del mouse a menù chiuso: le linee si allineano */
@media (hover:hover){
  html:not(.rsm-open) #rsm-btn:hover .rsm-l{ width:58.53%; }
}

/* menù aperto: tre linee → X */
html.rsm-open #rsm-btn .rsm-l1{ top:29.21%; width:47.84%; transform:rotate(45deg); transition-delay:.15s; }
html.rsm-open #rsm-btn .rsm-l2{ transform:scaleX(0); opacity:0; transition-delay:0s; }
html.rsm-open #rsm-btn .rsm-l3{ top:29.21%; width:47.84%; transform:rotate(-45deg); transition-delay:.15s; }

/* ---------- livelli del cerchio ---------- */
#rsm{
  position:fixed; inset:0; z-index:100000;
  visibility:hidden; pointer-events:none;
  transition:visibility 0s linear 1s;
  font-family:Poppins, Helvetica, Arial, sans-serif;
}
html.rsm-open #rsm{ visibility:visible; pointer-events:auto; transition-delay:0s; }

#rsm .rsm-ring,
#rsm .rsm-panel{ position:absolute; inset:0; }

/* anello sfumato viola → oro: si allarga per primo */
#rsm .rsm-ring{
  background:linear-gradient(135deg, #894092 var(--g0,0px), #f2c937 var(--g1,100vw));
  clip-path:circle(var(--r-out,0px) at var(--cx,100%) var(--cy,0px));
  transition:clip-path .8s var(--rsm-ease) .14s;
}
/* disco bianco: segue l'anello e diventa il fondo del menù */
#rsm .rsm-panel{
  background:#fff;
  clip-path:circle(var(--r-in,0px) at var(--cx,100%) var(--cy,0px));
  transition:clip-path .8s var(--rsm-ease) 0s;
  overflow-y:auto; overscroll-behavior:contain;
}
html.rsm-open #rsm .rsm-ring { clip-path:circle(var(--r-max,150vmax) at var(--cx,100%) var(--cy,0px)); transition-delay:0s; }
html.rsm-open #rsm .rsm-panel{ clip-path:circle(var(--r-max,150vmax) at var(--cx,100%) var(--cy,0px)); transition-delay:.14s; }

/* ---------- contenuto ---------- */
#rsm .rsm-inner{
  min-height:100%; box-sizing:border-box;
  display:flex; flex-direction:column; justify-content:center;
  padding:clamp(96px,14vh,150px) clamp(20px,7vw,120px) clamp(28px,6vh,56px);
  max-width:1400px;
}
#rsm .rsm-list{ list-style:none; margin:0; padding:0; counter-reset:none; }
#rsm .rsm-item{ margin:0 0 clamp(6px,1.4vh,14px); padding:0; }

#rsm .rsm-link{
  display:inline-flex; align-items:baseline; gap:.5em;
  color:#000; text-decoration:none;
  font-weight:800; font-size:clamp(38px,7.2vw,96px); line-height:1.02; letter-spacing:-.02em;
}
#rsm .rsm-num{
  font-size:clamp(12px,1.1vw,15px); font-weight:600; letter-spacing:.08em;
  color:var(--rsm-purple); transform:translateY(-1.4em);
}
#rsm .rsm-label{
  background:linear-gradient(transparent 58%, rgba(254,193,68,.9) 58%, rgba(254,193,68,.9) 90%, transparent 90%) no-repeat 0 0 / 0% 100%;
  transition:background-size .45s var(--rsm-ease), transform .45s var(--rsm-bounce);
  display:inline-block;
}
#rsm .rsm-link:hover .rsm-label,
#rsm .rsm-link:focus-visible .rsm-label{ background-size:100% 100%; }
/* voce della pagina corrente (Home): linea viola sempre visibile */
#rsm .rsm-item.is-current > .rsm-link .rsm-label{
  background:linear-gradient(var(--rsm-purple),var(--rsm-purple)) no-repeat 0 92% / 100% .12em;
}
#rsm .rsm-item.is-current > .rsm-link .rsm-num{ color:var(--rsm-gold); }
#rsm .rsm-link:hover .rsm-label{ transform:translateX(10px); }
#rsm .rsm-link:focus-visible{ outline:none; }

/* cartelle dei servizi */
#rsm .rsm-folders{
  list-style:none; margin:clamp(8px,1.6vh,16px) 0 clamp(10px,2vh,22px); padding:0 0 0 2.4em;
  display:flex; flex-wrap:wrap; gap:clamp(10px,2vw,28px);
}
#rsm .rsm-folder a{
  display:flex; flex-direction:column; align-items:center; gap:6px;
  width:clamp(84px,9vw,124px); text-align:center; text-decoration:none; color:#333;
  font-size:clamp(11px,.95vw,13px); font-weight:600; line-height:1.25;
}
#rsm .rsm-folder img{
  width:72%; height:auto; display:block;
  transition:transform .5s var(--rsm-bounce);
}
#rsm .rsm-folder a:hover img,
#rsm .rsm-folder a:focus-visible img{ transform:translateY(-8px) rotate(-6deg) scale(1.08); }
#rsm .rsm-folder a:focus-visible{ outline:2px solid var(--rsm-gold); outline-offset:4px; border-radius:8px; }

/* fondo del pannello */
#rsm .rsm-foot{ margin-top:clamp(24px,5vh,56px); display:flex; flex-wrap:wrap; align-items:center; gap:18px 28px; }
#rsm .rsm-foot > span.rsm-anim{ display:inline-block; }

/* Parliamone: pillola con cerchio-freccia; al passaggio il cerchio viola si allarga e riempie il pulsante */
#rsm .rsm-cta{
  position:relative; isolation:isolate; overflow:hidden;
  display:inline-flex; align-items:center; gap:14px;
  padding:8px 8px 8px 26px; border-radius:999px;
  background:var(--rsm-gold); color:#000; text-decoration:none;
  font-weight:700; font-size:17px; letter-spacing:.01em;
  box-shadow:0 10px 24px -12px rgba(108,40,135,.55);
  transition:color .35s ease .05s, box-shadow .4s ease, transform .5s var(--rsm-bounce);
}
#rsm .rsm-cta::before{
  content:""; position:absolute; z-index:-1;
  right:8px; top:50%; width:44px; height:44px; margin-top:-22px; border-radius:50%;
  background:linear-gradient(135deg,var(--rsm-purple),#9b3fb5);
  transform:scale(1); transition:transform .6s var(--rsm-ease);
}
#rsm .rsm-cta-txt{ position:relative; }
#rsm .rsm-cta-ico{
  position:relative; width:44px; height:44px; border-radius:50%;
  display:grid; place-items:center; color:#fff; flex:none;
}
#rsm .rsm-cta-ico svg{ width:18px; height:18px; transition:transform .5s var(--rsm-bounce); }
/* piccolo impulso dell'anello attorno alla freccia, per attirare l'attenzione */
#rsm .rsm-cta-ico::after{
  content:""; position:absolute; inset:0; border-radius:50%;
  border:2px solid var(--rsm-purple); opacity:0;
}
html.rsm-open #rsm .rsm-cta-ico::after{ animation:rsm-ping 2.4s ease-out 1.4s infinite; }
@keyframes rsm-ping{ 0%{ transform:scale(1); opacity:.7; } 70%,100%{ transform:scale(1.7); opacity:0; } }

#rsm .rsm-cta:hover,
#rsm .rsm-cta:focus-visible{ color:#fff; outline:none; transform:translateY(-3px); box-shadow:0 16px 30px -12px rgba(108,40,135,.7); }
#rsm .rsm-cta:hover::before,
#rsm .rsm-cta:focus-visible::before{ transform:scale(24); }
#rsm .rsm-cta:hover .rsm-cta-ico svg,
#rsm .rsm-cta:focus-visible .rsm-cta-ico svg{ transform:rotate(-45deg) scale(1.1); }
#rsm .rsm-cta:hover .rsm-cta-ico::after{ animation:none; }

#rsm .rsm-bar{ flex:1 1 160px; height:6px; border-radius:6px; background:linear-gradient(90deg,var(--rsm-purple),var(--rsm-gold)); transform-origin:left; }

/* social */
#rsm .rsm-social{ list-style:none; margin:0; padding:0; display:flex; gap:12px; flex-basis:100%; }
#rsm .rsm-social a{
  position:relative; display:grid; place-items:center; width:46px; height:46px; border-radius:50%;
  color:#000; border:1.5px solid rgba(0,0,0,.14); overflow:hidden; isolation:isolate;
  transition:color .3s ease, border-color .3s ease, transform .45s var(--rsm-bounce);
}
#rsm .rsm-social a::before{
  content:""; position:absolute; inset:0; z-index:-1; border-radius:50%;
  background:linear-gradient(135deg,#894092,#f2c937); transform:scale(0); transition:transform .45s var(--rsm-ease);
}
#rsm .rsm-social svg{ width:20px; height:20px; }
#rsm .rsm-social a:hover,
#rsm .rsm-social a:focus-visible{ color:#fff; border-color:transparent; transform:translateY(-4px) rotate(-6deg); outline:none; }
#rsm .rsm-social a:hover::before,
#rsm .rsm-social a:focus-visible::before{ transform:scale(1); }

/* ingresso a cascata dopo che il cerchio si è aperto */
#rsm .rsm-anim{
  opacity:0; transform:translateY(40px);
  transition:opacity .3s ease, transform .3s ease;
}
#rsm .rsm-folder.rsm-anim{ transform:translateY(24px) scale(.6); }
#rsm .rsm-bar.rsm-anim{ transform:scaleX(0); }
#rsm .rsm-social .rsm-anim{ transform:translateY(16px) scale(.5); }
html.rsm-open #rsm .rsm-anim{
  opacity:1; transform:none;
  transition:opacity .6s var(--rsm-ease) var(--d,0s), transform .9s var(--rsm-bounce) var(--d,0s);
}

/* blocco dello scorrimento della pagina */
html.rsm-open, html.rsm-open body{ overflow:hidden !important; }

@media (max-width:767px){
  #rsm .rsm-inner{ justify-content:flex-start; }
  #rsm .rsm-bar{ display:none; }
  #rsm .rsm-folders{ padding-left:0; gap:10px; }
  #rsm .rsm-folder a{ width:calc(50vw - 36px); flex-direction:row; text-align:left; }
  #rsm .rsm-folder img{ width:44px; }
}
@media (prefers-reduced-motion:reduce){
  #rsm .rsm-ring, #rsm .rsm-panel{ transition:none !important; }
  #rsm .rsm-anim{ transition:none !important; opacity:1 !important; transform:none !important; }
  #rsm-btn .rsm-l{ transition:none !important; }
}

/* pagine senza l'anello nell'intestazione: il pulsante porta il proprio anello in alto a destra */
#rsm-btn.rsm-standalone{ left:auto !important; right:0; top:0; width:clamp(72px,7vw,120px) !important; height:auto !important; aspect-ratio:2040/1876; }
#rsm-btn .rsm-own-ring{ position:absolute; inset:0; width:100%; height:100%; display:block; pointer-events:none; }
html.rsm-open #rsm-btn .rsm-own-ring{ opacity:0; transition:opacity .2s ease; }