/* ========================================
   SHARED STYLES — Studio Tecnico Pulicicchio
   ======================================== */

/* === BASE === */
html {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
html::-webkit-scrollbar { display: none; }
body {
  overflow-x: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* === VERTICAL TEXT === */
.vertical-text {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  letter-spacing: 0.15em;
}

/* === BACK TO TOP === */
.back-to-top {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 200;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #1E73BE;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  border: none;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(20px) scale(0.8);
  transition: opacity 0.4s cubic-bezier(0.16,1,0.3,1),
              transform 0.4s cubic-bezier(0.16,1,0.3,1),
              background 0.3s ease;
  box-shadow: 0 4px 20px rgba(30,115,190,0.35);
}
.back-to-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}
.back-to-top:hover {
  background: #155a96;
  transform: translateY(-3px) scale(1.08);
  box-shadow: 0 8px 30px rgba(30,115,190,0.5);
}

/* === CTA SECTION === */
.cta-section {
  background: #0a0f1a;
  position: relative;
  overflow: hidden;
}
.cta-section::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at 30% 50%, rgba(30,115,190,0.08) 0%, transparent 50%);
  pointer-events: none;
}
.cta-title {
  clip-path: inset(0 100% 0 0);
}
.cta-btn {
  position: relative;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.16,1,0.3,1);
}
.cta-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #155a96;
  transform: translateX(-101%);
  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1);
}
.cta-btn:hover::before { transform: translateX(0); }
.cta-btn span { position: relative; z-index: 1; }
