:root{
  --asg-footer-bg:#070b14;
  --asg-footer-bg-2:#0c1220;
  --asg-footer-surface:rgba(255,255,255,0.04);
  --asg-footer-surface-2:rgba(255,255,255,0.025);
  --asg-footer-surface-hover:rgba(255,255,255,0.06);
  --asg-footer-text:#f3f6ff;
  --asg-footer-text-soft:rgba(243,246,255,0.72);
  --asg-footer-text-muted:rgba(243,246,255,0.48);
  --asg-footer-border:rgba(255,255,255,0.08);
  --asg-footer-border-strong:rgba(255,255,255,0.12);
  --asg-footer-accent:#4f8cff;
  --asg-footer-accent-2:#00c98d;
  --asg-footer-accent-3:#7c5cff;
  --asg-footer-shadow:0 24px 60px rgba(0,0,0,0.28);
  --asg-footer-shadow-strong:0 30px 80px rgba(0,0,0,0.36);
  --asg-footer-max-w:1200px;
  --asg-footer-radius:28px;
  --asg-footer-radius-md:20px;
  --asg-footer-radius-sm:14px;
  --asg-footer-ease:cubic-bezier(.16,1,.3,1);
  --asg-footer-font:'Montserrat',system-ui,sans-serif;
}

/* container */
.asg-container{
  width:min(100% - 2rem,var(--asg-footer-max-w));
  margin-inline:auto;
}

/* footer base */
.asg-footer{
  position:relative;
  overflow:hidden;
  color:var(--asg-footer-text);
  font-family:var(--asg-footer-font);
  border-top:1px solid var(--asg-footer-border);
  background:
    radial-gradient(circle at 10% 0%, rgba(79,140,255,0.18), transparent 28%),
    radial-gradient(circle at 88% 8%, rgba(0,201,141,0.12), transparent 24%),
    radial-gradient(circle at 50% 100%, rgba(124,92,255,0.10), transparent 28%),
    linear-gradient(180deg, var(--asg-footer-bg) 0%, var(--asg-footer-bg-2) 100%);
}

.asg-footer::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  background:
    linear-gradient(to bottom, rgba(255,255,255,0.03), rgba(255,255,255,0)),
    radial-gradient(circle at center, rgba(255,255,255,0.02), transparent 62%);
}

.asg-footer::after{
  content:'';
  position:absolute;
  left:50%;
  top:-180px;
  width:560px;
  height:560px;
  transform:translateX(-50%);
  pointer-events:none;
  z-index:1;
  background:radial-gradient(circle, rgba(79,140,255,0.10), transparent 65%);
  filter:blur(28px);
}

/* top section */
.asg-footer-top{
  position:relative;
  z-index:2;
  padding:7rem 0 4rem;
}

/* main grid */
.asg-footer-grid{
  display:grid;
  grid-template-columns:minmax(320px,1.35fr) repeat(3,minmax(180px,1fr));
  gap:2rem;
  align-items:start;
}

/* brand card */
.asg-footer-brand{
  position:relative;
  max-width:440px;
  padding:1.7rem 1.7rem 1.45rem;
  border:1px solid var(--asg-footer-border);
  border-radius:var(--asg-footer-radius);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.02));
  box-shadow:var(--asg-footer-shadow);
  transition:
    transform .45s var(--asg-footer-ease),
    border-color .35s ease,
    box-shadow .45s ease,
    background .35s ease;
}

.asg-footer-brand:hover{
  transform:translateY(-6px);
  border-color:rgba(79,140,255,0.18);
  box-shadow:var(--asg-footer-shadow-strong);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.03));
}

.asg-footer-logo-link{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  margin-bottom:1.2rem;
}

.asg-footer-logo{
  height:56px;
  width:auto;
  display:block;
  filter:brightness(0) invert(1);
  transition:transform .35s ease;
}

.asg-footer-brand:hover .asg-footer-logo{
  transform:translateY(-2px) scale(1.01);
}

.asg-footer-text{
  margin:0;
  color:var(--asg-footer-text-soft);
  font-size:.95rem;
  line-height:1.85;
  font-weight:500;
}

/* generic columns */
.asg-footer-col{
  position:relative;
  min-width:0;
  padding:1.25rem 1.2rem 1rem;
  border-radius:var(--asg-footer-radius-md);
  border:1px solid transparent;
  background:transparent;
  transition:
    transform .35s var(--asg-footer-ease),
    border-color .35s ease,
    background .35s ease;
}

.asg-footer-col:hover{
  transform:translateY(-4px);
  border-color:rgba(255,255,255,0.08);
  background:var(--asg-footer-surface-2);
}

.asg-footer-title{
  position:relative;
  margin:0 0 1rem;
  padding-bottom:.75rem;
  font-size:1rem;
  line-height:1.2;
  font-weight:800;
  letter-spacing:-0.02em;
  color:var(--asg-footer-text);
}

.asg-footer-title::after{
  content:'';
  position:absolute;
  left:0;
  bottom:0;
  width:44px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--asg-footer-accent),var(--asg-footer-accent-2));
  opacity:.95;
}

/* links lists */
.asg-footer-links,
.asg-footer-contact{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.82rem;
}

.asg-footer-links li,
.asg-footer-contact li{
  margin:0;
  padding:0;
}

.asg-footer-links a,
.asg-footer-contact a,
.asg-footer-contact span{
  color:var(--asg-footer-text-soft);
  text-decoration:none;
  font-size:.88rem;
  line-height:1.65;
  font-weight:500;
  transition:
    color .28s ease,
    transform .28s ease,
    opacity .28s ease;
}

.asg-footer-links a{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  position:relative;
}

.asg-footer-links a::before{
  content:'';
  width:7px;
  height:7px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--asg-footer-accent),var(--asg-footer-accent-2));
  box-shadow:0 0 12px rgba(79,140,255,0.35);
  opacity:.9;
  transform:scale(.9);
  transition:
    transform .28s ease,
    opacity .28s ease,
    box-shadow .28s ease;
}

.asg-footer-links a:hover{
  color:#ffffff;
  transform:translateX(5px);
}

.asg-footer-links a:hover::before{
  transform:scale(1.12);
  opacity:1;
  box-shadow:0 0 18px rgba(79,140,255,0.55);
}

/* contact */
.asg-footer-contact li{
  display:grid;
  gap:.18rem;
}

.asg-footer-label{
  display:block;
  margin-bottom:.1rem;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:800;
  color:var(--asg-footer-text-muted);
}

.asg-footer-contact a:hover{
  color:#ffffff;
}

.asg-footer-bottom{
  position:relative;
  z-index:2;
  border-top:1px solid var(--asg-footer-border);
  margin-top:1.5rem;
  padding:2rem 0 2.2rem;
  background:rgba(255,255,255,0.02);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.asg-footer-bottom-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1.6rem 3rem;
  align-items:start;
}

.asg-footer-bottom-main{
  display:grid;
  gap:.6rem;
}

.asg-footer-copy{
  margin:0;
  color:var(--asg-footer-text-soft);
  font-size:.84rem;
  font-weight:600;
  line-height:1.6;
}

.asg-footer-meta{
  margin:0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.6rem;
  color:var(--asg-footer-text-muted);
  font-size:.78rem;
  font-weight:500;
  line-height:1.6;
}

.asg-footer-dot{
  width:4px;
  height:4px;
  border-radius:50%;
  display:inline-block;
  background:rgba(255,255,255,0.26);
}

.asg-footer-bottom-side{
  display:grid;
  justify-items:end;
  align-content:start;
  gap:.85rem;
  padding-top:.1rem;
}

.asg-footer-legal{
  display:flex;
  align-items:center;
  gap:1.1rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.asg-footer-legal a{
  color:var(--asg-footer-text-muted);
  text-decoration:none;
  font-size:.8rem;
  font-weight:600;
  line-height:1.5;
  transition:color .25s ease, opacity .25s ease;
}

.asg-footer-legal a:hover{
  color:#ffffff;
}

.asg-footer-powered{
  margin:0;
  color:var(--asg-footer-text-muted);
  font-size:.78rem;
  font-weight:500;
  line-height:1.65;
  text-align:right;
  max-width:320px;
}

.asg-footer-powered a{
  text-decoration:none;
  font-weight:800;
  background:linear-gradient(90deg,var(--asg-footer-accent),var(--asg-footer-accent-2),var(--asg-footer-accent-3));
  background-size:200% auto;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  animation:asgFooterGradientShift 6s linear infinite;
}

.asg-footer-powered a::after{
  content:'';
  position:absolute;
  left:0;
  bottom:-2px;
  width:100%;
  height:1px;
  background:linear-gradient(90deg,var(--asg-footer-accent),var(--asg-footer-accent-2));
  opacity:.8;
  transform-origin:left;
  transform:scaleX(.65);
  transition:transform .28s ease, opacity .28s ease;
}

.asg-footer-powered a:hover::after{
  transform:scaleX(1);
  opacity:1;
}

@keyframes asgFooterGradientShift{
  0%{background-position:0% center}
  100%{background-position:200% center}
}

/* mobile accordion compatibility */
.asg-footer-accordion-title{
  position:relative;
  padding-right:1.5rem;
  cursor:pointer;
}

.asg-footer-accordion-title::after{
  content:'+';
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  font-size:1rem;
  font-weight:700;
  color:var(--asg-footer-text-soft);
  transition:transform .25s ease, color .25s ease;
}

.asg-footer-col.is-open .asg-footer-accordion-title::after{
  transform:translateY(-50%) rotate(45deg);
  color:#ffffff;
}

.asg-footer-accordion-content{
  overflow:hidden;
  transition:max-height .3s ease;
}

/* back to top */
.asg-back-to-top{
  position:fixed;
  right:20px;
  bottom:20px;
  width:48px;
  height:48px;
  border:none;
  border-radius:999px;
  background:
    linear-gradient(135deg, rgba(79,140,255,0.88), rgba(0,201,141,0.78));
  color:#fff;
  box-shadow:0 18px 34px rgba(0,0,0,0.28);
  cursor:pointer;
  display:grid;
  place-items:center;
  z-index:99999;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px) scale(.96);
  transition:
    opacity .25s ease,
    visibility .25s ease,
    transform .25s ease,
    box-shadow .25s ease;
}

.asg-back-to-top:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 22px 40px rgba(0,0,0,0.34);
}

.asg-back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}

.asg-back-to-top span{
  font-size:1.1rem;
  line-height:1;
  font-weight:800;
}

/* reveal states used by JS */
.asg-footer-brand,
.asg-footer-col,
.asg-footer-bottom{
  opacity:0;
  transform:translateY(22px);
}

.asg-footer.is-visible .asg-footer-brand{
  animation:asgFooterRise .7s var(--asg-footer-ease) forwards;
}

.asg-footer.is-visible .asg-footer-col:nth-child(2){
  animation:asgFooterRise .7s .08s var(--asg-footer-ease) forwards;
}

.asg-footer.is-visible .asg-footer-col:nth-child(3){
  animation:asgFooterRise .7s .16s var(--asg-footer-ease) forwards;
}

.asg-footer.is-visible .asg-footer-col:nth-child(4){
  animation:asgFooterRise .7s .24s var(--asg-footer-ease) forwards;
}

.asg-footer.is-visible .asg-footer-bottom{
  animation:asgFooterRise .7s .32s var(--asg-footer-ease) forwards;
}

@keyframes asgFooterRise{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* tablet */
@media (max-width: 1100px){
  .asg-footer-grid{
    grid-template-columns:1.2fr 1fr 1fr;
    gap:2rem;
  }

  .asg-footer-brand{
    grid-column:1 / -1;
    max-width:760px;
  }
}

/* mobile */
@media (max-width: 768px){
  .asg-footer-top{
    padding:4.8rem 0 2.4rem;
  }

  .asg-footer-grid{
    grid-template-columns:1fr;
    gap:1rem;
  }

  .asg-footer-brand{
    max-width:none;
    padding:1.35rem 1.2rem 1.1rem;
  }

  .asg-footer-col{
    padding:1rem 0;
    border-radius:0;
    background:none !important;
    border:none !important;
    transform:none !important;
  }

  .asg-footer-logo{
    height:42px;
  }

.asg-footer-bottom-inner{
  grid-template-columns:1fr;
  gap:1.2rem;
  align-items:start;
}

.asg-footer-bottom-side{
  justify-items:start;
  gap:.7rem;
}

.asg-footer-powered{
  text-align:left;
  max-width:none;
}

.asg-footer-legal{
  justify-content:flex-start;
  gap:.9rem;
}

  .asg-footer-meta{
    gap:.45rem;
  }
}

/* ═════════ FIX MOBILE FOOTER REALE ═════════ */
@media (max-width:768px){

  /* RESET LAYOUT ROTTO */
  .asg-footer-grid{
    display:flex !important;
    flex-direction:column !important;
    gap:.6rem !important;
  }

  .asg-footer-col{
    width:100% !important;
  }

  /* BRAND OK */
  .asg-footer-brand{
    margin-bottom:.8rem !important;
  }

  /* TITOLI ACCORDION */
  .asg-footer-title{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    padding:1rem 1rem !important;
    border-top:1px solid rgba(255,255,255,0.08);
    font-size:.95rem;
  }

  /* TOGLI LINEE STRANE */
  .asg-footer-title::after{
    display:none !important;
  }

  /* ICONA + */
  .asg-footer-accordion-title::after{
    content:'+' !important;
    position:absolute;
    right:1rem;
    top:50%;
    transform:translateY(-50%);
    font-size:1.1rem;
  }

  .asg-footer-col.is-open .asg-footer-accordion-title::after{
    content:'−' !important;
  }

  /* CONTENUTO NASCOSTO */
  .asg-footer-accordion-content{
    max-height:0;
    overflow:hidden;
    transition:max-height .3s ease;
  }

  /* CONTENUTO APERTO */
  .asg-footer-col.is-open .asg-footer-accordion-content{
    max-height:500px;
  }

  /* CONTENUTO INTERNO */
  .asg-footer-links,
  .asg-footer-contact{
    padding:.5rem 1rem 1rem !important;
  }

  /* SISTEMA TESTI */
  .asg-footer-links a,
  .asg-footer-contact a,
  .asg-footer-contact span{
    font-size:.9rem;
  }

  /* SISTEMA LINEE TRA SEZIONI */
  .asg-footer-col{
    border-bottom:1px solid rgba(255,255,255,0.05);
  }

  /* BOTTOM PIÙ PULITO */
  .asg-footer-bottom{
    padding:1.2rem 0 1.6rem !important;
  }

  .asg-footer-bottom-inner{
    display:flex !important;
    flex-direction:column !important;
    gap:.8rem !important;
  }

  .asg-footer-legal{
    flex-wrap:wrap;
  }

  .asg-footer-powered{
    font-size:.75rem;
  }

}
/* ═════════ FOOTER MOBILE ACCORDION FIX ═════════ */
@media (max-width: 768px){

  .asg-footer-col{
    border-bottom:1px solid rgba(255,255,255,0.06);
    padding:0 !important;
    margin:0 !important;
  }

  .asg-footer-title{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:0 !important;
    padding:1rem 1rem !important;
    cursor:pointer;
    border:none !important;
  }

  .asg-footer-title::after{
    display:none !important;
  }

  .asg-footer-accordion-title::before{
    content:'+';
    position:absolute;
    right:1rem;
    top:50%;
    transform:translateY(-50%);
    font-size:1.1rem;
    font-weight:700;
    color:rgba(255,255,255,0.72);
    transition:transform .25s ease, color .25s ease;
  }

  .asg-footer-col.is-open .asg-footer-accordion-title::before{
    content:'−';
    color:#ffffff;
  }

  .asg-footer-links,
  .asg-footer-contact{
    overflow:hidden;
    max-height:0;
    padding:0 1rem;
    transition:max-height .3s ease, padding .3s ease;
  }

.asg-footer-links,
.asg-footer-contact{
  overflow:hidden;
  max-height:0;
  padding:0 1rem !important;
  opacity:0;
  pointer-events:none;
  transition:
    max-height .3s ease,
    padding .3s ease,
    opacity .25s ease;
}

.asg-footer-col.is-open .asg-footer-links,
.asg-footer-col.is-open .asg-footer-contact{
  padding:0 1rem 1rem !important;
  opacity:1;
  pointer-events:auto;
}

  .asg-footer-links li,
  .asg-footer-contact li{
    margin:0;
  }
}


/* ═════════ LOGO CENTRATO MOBILE ═════════ */
@media (max-width:768px){

  .asg-footer-brand{
    text-align:center;
  }

  .asg-footer-logo-link{
    justify-content:center;
  }

  .asg-footer-logo{
    margin:0 auto;
  }

  .asg-footer-text{
    text-align:center;
  }

}

/* ===== FOOTER BOTTOM SPACE HARD OVERRIDE ===== */

#asgFooter{
  padding-bottom: 40px !important;
}

#asgFooter .asg-footer-bottom{
  padding-bottom: 40px !important;
}

#asgFooter .asg-footer-bottom-inner{
  padding-bottom: 10px !important;
}

@media (max-width: 768px){
  #asgFooter{
    padding-bottom: calc(56px + env(safe-area-inset-bottom)) !important;
  }

  #asgFooter .asg-footer-bottom{
    padding-bottom: calc(40px + env(safe-area-inset-bottom)) !important;
  }

  #asgFooter .asg-footer-bottom-inner{
    padding-bottom: 8px !important;
  }
}
/* ═════════ FOOTER TUTTO CENTRATO SOLO MOBILE ═════════ */
@media (max-width: 768px){

  #asgFooter .asg-footer-brand{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  #asgFooter .asg-footer-logo-link{
    display:flex !important;
    justify-content:center !important;
  }

  #asgFooter .asg-footer-logo{
    margin:0 auto !important;
  }

  #asgFooter .asg-footer-text{
    text-align:center !important;
  }

  #asgFooter .asg-footer-col{
    text-align:center !important;
  }

  #asgFooter .asg-footer-title{
    text-align:center !important;
    justify-content:center !important;
    padding-left:1rem !important;
    padding-right:1rem !important;
  }

  #asgFooter .asg-footer-title::after{
    left:50% !important;
    transform:translateX(-50%) !important;
  }

  #asgFooter .asg-footer-links,
  #asgFooter .asg-footer-contact{
    justify-items:center !important;
    text-align:center !important;
  }

  #asgFooter .asg-footer-links a{
    justify-content:center !important;
  }

  #asgFooter .asg-footer-contact li{
    justify-items:center !important;
    text-align:center !important;
  }

  #asgFooter .asg-footer-label{
    text-align:center !important;
  }

  #asgFooter .asg-footer-bottom-inner{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    text-align:center !important;
  }

  #asgFooter .asg-footer-bottom-main,
  #asgFooter .asg-footer-bottom-side{
    justify-items:center !important;
    text-align:center !important;
  }

  #asgFooter .asg-footer-meta{
    justify-content:center !important;
  }

  #asgFooter .asg-footer-legal{
    justify-content:center !important;
  }

  #asgFooter .asg-footer-powered{
    text-align:center !important;
  }
}
/* ═════════ FIX + ACCORDION MOBILE ═════════ */
@media (max-width:768px){

  #asgFooter .asg-footer-title{
    display:flex !important;
    justify-content:center !important;
    align-items:center;
    gap:.6rem;
    position:relative;
  }

  /* togli il vecchio + posizionato */
  #asgFooter .asg-footer-accordion-title::before,
  #asgFooter .asg-footer-accordion-title::after{
    display:none !important;
  }

  /* nuovo + inline */
  #asgFooter .asg-footer-title::after{
    content:'+' !important;
    position:static !important;
    transform:none !important;
    margin-left:.4rem;
    font-size:1rem;
    font-weight:700;
    opacity:.8;
  }

  /* quando aperto */
  #asgFooter .asg-footer-col.is-open .asg-footer-title::after{
    content:'−' !important;
    opacity:1;
  }

}
/* ═════════ FIX ALIGN BOTTOM MOBILE ═════════ */
@media (max-width:768px){

  #asgFooter .asg-footer-bottom-inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    gap:.7rem;
  }

  #asgFooter .asg-footer-bottom-main,
  #asgFooter .asg-footer-bottom-side{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.4rem;
  }

  #asgFooter .asg-footer-meta{
    justify-content:center !important;
  }

  #asgFooter .asg-footer-legal{
    display:flex;
    justify-content:center !important;
    gap:.8rem;
    flex-wrap:wrap;
  }

  #asgFooter .asg-footer-powered{
    text-align:center !important;
    display:block;
  }

}
/* ===== MOBILE FOOTER TITLES: SOLO +, NIENTE LINEE ===== */
@media (max-width:768px){

  #asgFooter .asg-footer-title{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:.45rem !important;
    position:relative !important;
    padding:1rem 1rem !important;
    text-align:center !important;
  }

  /* elimina qualsiasi pseudo-elemento precedente */
  #asgFooter .asg-footer-title::before{
    content:none !important;
    display:none !important;
  }

  #asgFooter .asg-footer-title::after{
    content:'+' !important;
    display:inline-block !important;
    position:static !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    background:none !important;
    border:none !important;
    box-shadow:none !important;
    transform:none !important;
    opacity:1 !important;
    font-size:1rem !important;
    font-weight:700 !important;
    line-height:1 !important;
    color:rgba(255,255,255,0.82) !important;
  }

  #asgFooter .asg-footer-col.is-open .asg-footer-title::after{
    transform:rotate(45deg) !important;
    color:#ffffff !important;
  }
}

/* ═════════ MOBILE MENU PREMIUM ANIMATION + SPECIAL BUTTONS ═════════ */
@media (max-width: 768px){

  .asg-nav-links{
    opacity:0;
    visibility:hidden;
    transform:translateX(24px);
    transition:
      right .38s cubic-bezier(.16,1,.3,1),
      opacity .28s ease,
      visibility .28s ease,
      transform .38s cubic-bezier(.16,1,.3,1);
  }

  .asg-nav-links.is-open{
    right:0 !important;
    opacity:1;
    visibility:visible;
    transform:translateX(0);
  }

  .asg-nav-links a{
    opacity:0;
    transform:translateY(10px);
    transition:
      opacity .34s ease,
      transform .42s cubic-bezier(.16,1,.3,1),
      background-color .28s ease,
      box-shadow .28s ease,
      border-color .28s ease;
  }

  .asg-nav-links.is-open a{
    opacity:1;
    transform:translateY(0);
  }

  .asg-nav-links.is-open a:nth-child(1){ transition-delay:.04s; }
  .asg-nav-links.is-open a:nth-child(2){ transition-delay:.08s; }
  .asg-nav-links.is-open a:nth-child(3){ transition-delay:.12s; }
  .asg-nav-links.is-open a:nth-child(4){ transition-delay:.16s; }
  .asg-nav-links.is-open a:nth-child(5){ transition-delay:.20s; }
  .asg-nav-links.is-open a:nth-child(6){ transition-delay:.24s; }
  .asg-nav-links.is-open a:nth-child(7){ transition-delay:.28s; }

  .asg-nav-links .asg-nav-special{
    margin-top:.45rem !important;
    padding:1rem 1.15rem !important;
    border:none !important;
    border-radius:16px !important;
    background:
      linear-gradient(135deg, rgba(79,140,255,0.96), rgba(51,102,204,0.96)) !important;
    color:#ffffff !important;
    box-shadow:
      0 14px 28px rgba(79,140,255,0.26),
      inset 0 1px 0 rgba(255,255,255,0.14) !important;
    position:relative;
    overflow:hidden;
  }

  .asg-nav-links .asg-nav-special::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(
      120deg,
      transparent 0%,
      rgba(255,255,255,0.16) 45%,
      transparent 75%
    );
    transform:translateX(-120%);
    transition:transform .7s ease;
    pointer-events:none;
  }

  .asg-nav-links .asg-nav-special:hover::before{
    transform:translateX(120%);
  }

  .asg-nav-links .asg-nav-special:hover{
    transform:translateY(-1px) !important;
    box-shadow:
      0 18px 34px rgba(79,140,255,0.34),
      inset 0 1px 0 rgba(255,255,255,0.16) !important;
  }

  .asg-nav-links .asg-nav-special + .asg-nav-special{
    margin-top:.2rem !important;
  }

  .asg-hamburger{
    transition:
      background-color .28s ease,
      border-color .28s ease,
      transform .28s ease;
  }

  .asg-hamburger:hover{
    transform:scale(1.02);
  }

  .asg-hamburger span{
    transition:
      transform .32s cubic-bezier(.16,1,.3,1),
      opacity .22s ease,
      background-color .28s ease;
  }

  .asg-hamburger.is-active span:nth-child(1){
    transform:rotate(45deg) translate(4px,4px) !important;
  }

  .asg-hamburger.is-active span:nth-child(2){
    opacity:0 !important;
    transform:scaleX(.5);
  }

  .asg-hamburger.is-active span:nth-child(3){
    transform:rotate(-45deg) translate(5px,-5px) !important;
  }
}

/* ═════════ SPECIAL BUTTONS DESKTOP + MOBILE ═════════ */

/* desktop */
.asg-nav-links .asg-nav-special{
  padding:.7rem 1.2rem;
  border-radius:999px;
  background:linear-gradient(135deg,var(--asg-accent),#3366cc);
  color:#ffffff !important;
  text-shadow:none !important;
  box-shadow:0 10px 24px rgba(79,140,255,0.22);
  position:relative;
  overflow:hidden;
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    opacity .28s ease;
}

.asg-nav-links .asg-nav-special::after{
  display:none !important;
}

.asg-nav-links .asg-nav-special::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(
    120deg,
    transparent 0%,
    rgba(255,255,255,0.16) 45%,
    transparent 75%
  );
  transform:translateX(-120%);
  transition:transform .7s ease;
  pointer-events:none;
}

.asg-nav-links .asg-nav-special:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(79,140,255,0.32);
}

.asg-nav-links .asg-nav-special:hover::before{
  transform:translateX(120%);
}

/* spacing desktop */
@media (min-width: 769px){
  .asg-nav-links{
    gap:1.15rem;
  }

  .asg-nav-links .asg-nav-special{
    margin-left:.2rem;
  }

  .asg-nav-links .asg-nav-special + .asg-nav-special{
    margin-left:.05rem;
  }
}

/* mobile override già coerente */
@media (max-width: 768px){

  .asg-nav-links .asg-nav-special{
    margin-top:.45rem !important;
    padding:1rem 1.15rem !important;
    border:none !important;
    border-radius:16px !important;
    background:linear-gradient(135deg, rgba(79,140,255,0.96), rgba(51,102,204,0.96)) !important;
    color:#ffffff !important;
    box-shadow:
      0 14px 28px rgba(79,140,255,0.26),
      inset 0 1px 0 rgba(255,255,255,0.14) !important;
  }

  .asg-nav-links .asg-nav-special + .asg-nav-special{
    margin-top:.2rem !important;
  }
}
