/* Italian music site – Cântec-style flow, purple/pink theme */
:root {
  --primary: #7c3aed;
  --primary-light: #8b5cf6;
  --primary-dark: #6d28d9;
  --accent: #ec4899;
  --accent-light: #f472b6;
  --text: #1e293b;
  --text-muted: #64748b;
  --bg: #f1f5f9;
  --bg-card: #ffffff;
  --section-bg: #ffffff;
  --section-bg-alt: #f5f3ff;
  --section-bg-muted: #f8fafc;
  --shadow: 0 1px 3px rgba(0,0,0,.08);
  --shadow-md: 0 4px 12px rgba(0,0,0,.08);
  --shadow-section: 0 1px 0 rgba(0,0,0,.04);
  --radius: 12px;
  --radius-lg: 16px;
  --font: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  /* Spacing scale */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 2.5rem;
  --space-3xl: 3rem;
  --space-4xl: 3.5rem;
  --space-5xl: 4rem;
  --space-6xl: 5rem;
  --section-pad-y: 3.5rem;
  --section-pad-x: 1.5rem;
  --title-to-sub: 0.5rem;
  --sub-to-content: 2rem;
  --grid-gap: 1.5rem;
}

* { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}
/* Scrollbar: purple-to-pink gradient (site palette) */
html {
  scrollbar-width: thin;
  scrollbar-color: var(--primary) #e2e8f0;
}
html::-webkit-scrollbar { width: 12px; }
html::-webkit-scrollbar-track { background: #e2e8f0; border-radius: 6px; }
html::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--primary) 0%, var(--accent) 100%);
  border-radius: 6px;
  border: 2px solid #e2e8f0;
}
html::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, var(--primary-dark) 0%, var(--accent) 100%);
}
body {
  margin: 0;
  font-family: var(--font);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--text);
  background: var(--bg);
  overflow-x: hidden;
  min-width: 0;
}
img, video, iframe { max-width: 100%; height: auto; }
img { display: block; }

.it-wrap { max-width: 1200px; margin: 0 auto; padding: 0 var(--space-md); }
/* Header – Cântec style: promo bar above, then white bar with logo left, nav center-right, CTA with arrow */
.it-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem var(--section-pad-x);
  background: var(--bg-card);
  border-bottom: 1px solid #e2e8f0;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 100;
}
.promo-banner + .it-header { top: 2.5rem; }
/* Reserve space so content is not under fixed header (or promo + header) */
body { padding-top: 4rem; }
body.has-promo { padding-top: 6rem; }
/* Order flow pages: no fixed header, so no top padding */
body.it-body-flow { padding-top: 0; }
/* Landing: header transparent at top, solid after scroll (Artify / Cântec style) */
.it-header--landing {
  background: transparent;
  border-bottom: 1px solid transparent;
  transition: background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.it-header--landing.it-header--scrolled {
  background: var(--bg-card);
  border-bottom-color: #e2e8f0;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
}
.it-header-brand { flex-shrink: 0; }
.it-nav {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  gap: 1.75rem;
}
.it-nav-links {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 1.75rem;
}
/* Hamburger button – hidden on desktop, shown on mobile */
.it-hamburger-btn {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 0;
  margin-left: auto;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: 8px;
  transition: background 0.2s;
  -webkit-tap-highlight-color: transparent;
}
.it-hamburger-btn:hover { background: rgba(124, 58, 237, 0.08); }
.it-hamburger-line {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--text);
  border-radius: 1px;
  transition: transform 0.3s, opacity 0.3s;
}
.it-hamburger-btn:hover .it-hamburger-line { background: var(--primary); }

/* Menu overlay – full-screen, panel slides from left (Artify-style) */
.it-menu-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
.it-menu-overlay.open {
  opacity: 1;
  visibility: visible;
}
.it-menu-panel {
  position: absolute;
  top: 0;
  left: 0;
  width: min(320px, 85vw);
  max-width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(254, 254, 255, 0.98) 0%, rgba(250, 248, 252, 0.96) 50%, rgba(245, 243, 255, 0.95) 100%);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 4px 0 24px rgba(0, 0, 0, 0.08);
  padding: 1.5rem 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
  transform: translateX(-100%);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  overflow-y: auto;
}
.it-menu-overlay.open .it-menu-panel {
  transform: translateX(0);
}
.it-menu-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: rgba(100, 116, 139, 0.12);
  color: var(--text-muted);
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, color 0.2s;
}
.it-menu-close:hover {
  background: rgba(100, 116, 139, 0.22);
  color: var(--text);
}
.it-menu-header { margin-top: 0.5rem; }
.it-menu-logo {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: var(--primary);
  font-weight: 700;
  font-size: 1.25rem;
}
.it-menu-logo-icon { font-size: 1.5rem; }
.it-menu-nav {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  gap: 0.5rem;
}
.it-menu-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 9999px;
  text-decoration: none;
  color: var(--text);
  font-weight: 500;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  transition: transform 0.15s, box-shadow 0.15s;
}
.it-menu-item:hover {
  transform: translateX(4px);
  box-shadow: 0 4px 12px rgba(124, 58, 237, 0.15);
  color: var(--primary);
}
.it-menu-item-icon {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  border-radius: 10px;
  font-size: 1rem;
  flex-shrink: 0;
  line-height: 1;
  color: white;
}
.it-menu-secondary {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}
.it-menu-secondary-link {
  padding: 0.5rem 0.875rem;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 9999px;
  text-decoration: none;
  color: var(--text-muted);
  font-size: 0.875rem;
  font-weight: 500;
  transition: background 0.2s, color 0.2s;
}
.it-menu-secondary-link:hover {
  background: rgba(255, 255, 255, 0.8);
  color: var(--text);
}
.it-menu-cta {
  margin-top: 0.25rem;
  width: 100%;
  justify-content: center;
  min-height: 48px;
}
.it-menu-tagline {
  font-size: 0.8125rem;
  color: var(--text-muted);
  text-align: center;
  margin: 0;
}
.it-header-brand {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
}
.it-header-pill { display: none; }
.it-logo {
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--text);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 44px;
  padding: 0.35rem 0.5rem 0.35rem 0.25rem;
  border-radius: var(--radius);
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
  -webkit-tap-highlight-color: transparent;
}
.it-logo:hover { color: var(--primary); background: rgba(124, 58, 237, 0.06); box-shadow: 0 1px 3px rgba(0,0,0,0.06); }
.it-logo:active { background: rgba(124, 58, 237, 0.1); }
.it-logo:hover .it-logo-word--primary { color: var(--primary); }
.it-logo:hover .it-logo-word--dark { color: var(--primary); }
.it-logo-word--primary { color: var(--primary); }
.it-logo-word--dark { color: var(--text); }
.it-nav a {
  color: var(--text);
  text-decoration: none;
  font-weight: 500;
  font-size: 0.9375rem;
  padding: 0.5rem 0.75rem;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.it-nav a:hover { color: var(--primary); }
.it-nav a.it-btn-primary {
  color: white;
}
.it-nav a.it-btn-primary:hover {
  color: white;
  opacity: 0.95;
}
.it-header .it-btn-primary { padding: 0.6rem 1.35rem; font-size: 0.9375rem; min-height: 44px; }
.it-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.6rem 1.25rem;
  min-height: 44px;
  border-radius: var(--radius);
  font-weight: 600;
  font-size: 0.9375rem;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: opacity 0.2s, transform 0.1s;
  -webkit-tap-highlight-color: transparent;
}
.it-btn:hover { opacity: 0.95; }
.it-btn:active { transform: scale(0.97); }
.it-btn-primary {
  background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  color: white;
}
.it-btn-secondary { background: var(--bg); color: var(--text); border: 1px solid #e2e8f0; }
.it-btn:disabled { opacity: 0.6; cursor: not-allowed; }

/* Promo bar (static, used on subpages) */
.promo-bar {
  background: linear-gradient(90deg, var(--primary-dark) 0%, var(--primary) 50%, var(--accent) 100%);
  color: white;
  padding: 0.5rem 1rem;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 500;
}
.promo-bar-sep { opacity: 0.95; }

/* Promo banner – sticky + scrolling marquee (landing page, Artify-style) */
.promo-banner {
  background: linear-gradient(90deg, var(--primary-dark) 0%, var(--primary) 25%, var(--accent) 50%, var(--primary) 75%, var(--primary-dark) 100%);
  background-color: var(--primary);
  color: white;
  height: 2.5rem;
  display: block;
  overflow: hidden;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 101;
  white-space: nowrap;
}
.promo-banner-marquee-wrap {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  overflow: hidden;
  width: 100%;
}
.promo-banner-marquee {
  display: inline-block;
  white-space: nowrap;
  height: 2.5rem;
  line-height: 2.5rem;
  animation: promo-marquee 28s linear infinite;
  -webkit-animation: promo-marquee 28s linear infinite;
  will-change: transform;
}
.promo-banner-track {
  display: inline-block;
  padding-right: 0.75rem;
}
.promo-banner-text {
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.promo-banner-sep {
  margin: 0 1.5rem;
  opacity: 0.9;
}
@keyframes promo-marquee {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(-50%, 0, 0); }
}
@-webkit-keyframes promo-marquee {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(-50%, 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .promo-banner-marquee { animation: none; }
}
@media (max-width: 480px) {
  .promo-banner-text { font-size: 0.8125rem; }
  .promo-banner-marquee { animation-duration: 38s; }
}
@media (max-width: 768px) {
  .promo-banner { max-width: 100vw; overflow: hidden; }
  .promo-banner-marquee-wrap { max-width: 100vw; }
}

/* Landing page full-viewport background: gradient + faint notes, waves, circles (Cântec/Artify style) */
body.has-promo .landing-bg {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
}
.landing-bg-base {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #fefefe 0%, #faf5ff 30%, #fdf2f8 55%, #f5f3ff 85%, #faf8fc 100%);
}
.landing-bg-notes {
  position: absolute;
  inset: 0;
}
.landing-note {
  position: absolute;
  font-size: clamp(2rem, 4vw, 3.5rem);
  color: var(--primary);
  opacity: 0.09;
  line-height: 1;
  transform: translate(-50%, -50%);
}
.landing-bg-circles {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 280px;
  height: 280px;
  transform: translate(-30%, 25%);
}
.landing-circle {
  position: absolute;
  left: 0;
  bottom: 0;
  border-radius: 50%;
  border: 1px solid rgba(124, 58, 237, 0.08);
  transform: translate(-50%, 50%);
}
.landing-circle:nth-child(1) { width: 120px; height: 120px; }
.landing-circle:nth-child(2) { width: 180px; height: 180px; }
.landing-circle:nth-child(3) { width: 240px; height: 240px; }
.landing-circle:nth-child(4) { width: 300px; height: 300px; }

.it-logo-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  color: white;
  font-size: 1.15rem;
  flex-shrink: 0;
}
.it-hero-line1 { color: var(--text); font-weight: 700; }
.it-hero-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; }
.it-hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.5rem 0.75rem;
  min-height: 44px;
  background: var(--bg-card);
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  font-size: 0.875rem;
  color: var(--text);
  text-decoration: none;
  transition: border-color 0.2s, box-shadow 0.2s;
  -webkit-tap-highlight-color: transparent;
}
.it-hero-tag:hover { border-color: var(--primary-light); box-shadow: var(--shadow); }
.it-hero-cta-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.it-hero-cta-main { margin-bottom: 0; }
.it-hero-demo-btn {
  padding: 0.75rem 1.25rem;
  font-size: 1rem;
  background: var(--bg-card);
  color: var(--text);
  border: 1px solid #e2e8f0;
  border-radius: var(--radius);
  text-decoration: none;
  font-weight: 600;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.it-hero-demo-btn:hover { border-color: var(--primary-light); box-shadow: var(--shadow); }

/* Hero player card with waveform (Cântec style) – large, prominent card */
.it-player-card--hero {
  text-align: left;
  min-width: 380px;
  max-width: 100%;
  padding: 2.25rem;
  position: relative;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
}
.it-player-card-head {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
.it-player-card-note {
  font-size: 1.75rem;
  color: var(--primary);
  flex-shrink: 0;
  line-height: 1;
}
.it-player-card-head .it-player-play-wrap { margin-left: auto; margin-bottom: 0; }
.it-player-card--hero .it-player-label { font-size: 1rem; }
.it-player-label--bold { font-weight: 700; color: var(--text); text-transform: none; letter-spacing: 0; }
.it-player-card--hero .it-player-subtitle { font-size: 0.9375rem; color: var(--text-muted); margin: 0.35rem 0 0; }
.it-player-card--hero .it-player-btn {
  width: 56px;
  height: 56px;
  font-size: 1.5rem;
  padding-left: 0;
}
.it-player-btn .it-player-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
}
.it-player-btn .it-player-icon svg {
  width: 100%;
  height: 100%;
}
.it-player-btn .it-player-icon--pause {
  display: none;
}
.it-player-btn.is-playing .it-player-icon--play {
  display: none;
}
.it-player-btn.is-playing .it-player-icon--pause {
  display: inline-flex;
}
/* Waveform as vertical bars (Cântec: played = solid purple/pink, unplayed = faded grey) – prominent */
.it-player-waveform--bars {
  display: flex;
  align-items: flex-end;
  gap: 4px;
  height: 52px;
  margin-bottom: 0.5rem;
}
.it-player-waveform--bars .it-wave.bar {
  width: 5px;
  min-height: 8px;
  border-radius: 3px;
  background: #cbd5e1;
  transition: background 0.2s;
  transform-origin: bottom;
  animation: it-wave-bar-pulse 0.6s ease-in-out infinite;
}
.it-player-waveform--bars .it-wave.bar:nth-child(1) { animation-delay: 0ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(2) { animation-delay: 50ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(3) { animation-delay: 100ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(4) { animation-delay: 20ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(5) { animation-delay: 120ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(6) { animation-delay: 70ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(7) { animation-delay: 140ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(8) { animation-delay: 30ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(9) { animation-delay: 90ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(10) { animation-delay: 160ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(11) { animation-delay: 10ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(12) { animation-delay: 80ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(13) { animation-delay: 150ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(14) { animation-delay: 40ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(15) { animation-delay: 110ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(16) { animation-delay: 170ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(17) { animation-delay: 60ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(18) { animation-delay: 130ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(19) { animation-delay: 25ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(20) { animation-delay: 95ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(21) { animation-delay: 165ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(22) { animation-delay: 45ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(23) { animation-delay: 115ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(24) { animation-delay: 175ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(25) { animation-delay: 55ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(26) { animation-delay: 125ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(27) { animation-delay: 15ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(28) { animation-delay: 85ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(29) { animation-delay: 155ms; }
.it-player-waveform--bars .it-wave.bar:nth-child(30) { animation-delay: 35ms; }
.it-player-waveform--bars .it-wave.bar.played {
  background: linear-gradient(180deg, var(--primary) 0%, var(--accent) 100%);
}
@keyframes it-wave-bar-pulse {
  0%, 100% { transform: scaleY(0.5); }
  50% { transform: scaleY(1); }
}
@media (prefers-reduced-motion: reduce) {
  .it-player-waveform--bars .it-wave.bar {
    animation: none;
  }
}
.it-player-waveform--bars .it-wave.bar:nth-child(1) { height: 45%; }
.it-player-waveform--bars .it-wave.bar:nth-child(2) { height: 70%; }
.it-player-waveform--bars .it-wave.bar:nth-child(3) { height: 35%; }
.it-player-waveform--bars .it-wave.bar:nth-child(4) { height: 90%; }
.it-player-waveform--bars .it-wave.bar:nth-child(5) { height: 55%; }
.it-player-waveform--bars .it-wave.bar:nth-child(6) { height: 75%; }
.it-player-waveform--bars .it-wave.bar:nth-child(7) { height: 40%; }
.it-player-waveform--bars .it-wave.bar:nth-child(8) { height: 85%; }
.it-player-waveform--bars .it-wave.bar:nth-child(9) { height: 50%; }
.it-player-waveform--bars .it-wave.bar:nth-child(10) { height: 65%; }
.it-player-waveform--bars .it-wave.bar:nth-child(11) { height: 95%; }
.it-player-waveform--bars .it-wave.bar:nth-child(12) { height: 60%; }
.it-player-waveform--bars .it-wave.bar:nth-child(13) { height: 30%; }
.it-player-waveform--bars .it-wave.bar:nth-child(14) { height: 50%; }
.it-player-waveform--bars .it-wave.bar:nth-child(15) { height: 25%; }
.it-player-waveform--bars .it-wave.bar:nth-child(16) { height: 45%; }
.it-player-waveform--bars .it-wave.bar:nth-child(17) { height: 35%; }
.it-player-waveform--bars .it-wave.bar:nth-child(18) { height: 55%; }
.it-player-waveform--bars .it-wave.bar:nth-child(19) { height: 20%; }
.it-player-waveform--bars .it-wave.bar:nth-child(20) { height: 40%; }
.it-player-waveform--bars .it-wave.bar:nth-child(21) { height: 50%; }
.it-player-waveform--bars .it-wave.bar:nth-child(22) { height: 30%; }
.it-player-waveform--bars .it-wave.bar:nth-child(23) { height: 45%; }
.it-player-waveform--bars .it-wave.bar:nth-child(24) { height: 25%; }
.it-player-waveform--bars .it-wave.bar:nth-child(25) { height: 60%; }
.it-player-waveform--bars .it-wave.bar:nth-child(26) { height: 35%; }
.it-player-waveform--bars .it-wave.bar:nth-child(27) { height: 40%; }
.it-player-waveform--bars .it-wave.bar:nth-child(28) { height: 50%; }
.it-player-waveform--bars .it-wave.bar:nth-child(29) { height: 30%; }
.it-player-waveform--bars .it-wave.bar:nth-child(30) { height: 45%; }
.it-player-card--hero .it-player-time { font-size: 0.875rem; margin-bottom: 1rem; color: var(--text-muted); }
.it-player-card--hero .it-player-features { display: flex; gap: 0.6rem; flex-wrap: wrap; justify-content: center; row-gap: 0.4rem; }
.it-player-card--hero .it-player-feat {
  padding: 0.4rem 0.8rem;
  font-size: 0.8125rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  color: var(--text-muted);
}

/* Stats section (Cântec: title + subtitle + cards) */
.it-stats-section {
  position: relative;
  background: var(--section-bg);
  padding: var(--section-pad-y) var(--section-pad-x);
  box-shadow: var(--shadow-section);
}
.it-stats-title {
  text-align: center;
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--text);
  margin: 0 0 var(--title-to-sub);
}
.it-stats-title .gradient { background: linear-gradient(135deg, var(--primary), var(--accent)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.it-stats-headline {
  text-align: center;
  font-size: 1.125rem;
  color: var(--text-muted);
  margin: 0 auto var(--sub-to-content);
  max-width: 640px;
}
.it-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--grid-gap);
}
.it-stat-card {
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  text-align: center;
  box-shadow: 0 2px 8px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.06);
}
.it-stat-icon { width: 48px; height: 48px; margin: 0 auto var(--space-md); border-radius: var(--radius); background: linear-gradient(135deg, var(--primary), var(--accent)); display: flex; align-items: center; justify-content: center; font-size: 1.5rem; }
.it-stat-num { display: block; font-size: 1.75rem; font-weight: 700; color: var(--text); margin-bottom: var(--space-xs); }
.it-stat-label { display: block; font-weight: 600; color: var(--text); font-size: 0.9375rem; }
.it-stat-sublabel { display: block; font-size: 0.8125rem; color: var(--text-muted); }
.it-btn-demo { padding: 0.5rem 1.25rem; }
.it-btn-demo--outline {
  background: var(--bg-card);
  color: var(--text);
  border: 2px solid var(--primary);
}
.it-btn-demo--outline:hover { background: #f5f3ff; border-color: var(--primary-dark); }

/* Esempi section – reference style: pill, big title, subtitle, distinct cards with gradient top + full-width Ascolta */
.it-section--esempi {
  padding: var(--section-pad-y) var(--section-pad-x);
  background: linear-gradient(180deg, #fefefe 0%, #faf8fc 40%, #f5f3ff 100%);
  position: relative;
}
.it-esempi-bg-deco {
  position: absolute;
  left: 8%;
  top: 25%;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(124, 58, 237, 0.06) 0%, transparent 70%);
  pointer-events: none;
}
.it-esempi-bg-deco--right {
  left: auto;
  right: 8%;
  top: auto;
  bottom: 20%;
}
.it-esempi-pill-wrap { text-align: center; margin: 0 0 var(--space-md); }
.it-esempi-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem var(--space-md);
  border-radius: 999px;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--text);
  background: var(--bg-card);
  border: 1px solid #e2e8f0;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.it-esempi-pill:hover { border-color: var(--primary-light); color: var(--primary); }
.it-esempi-title {
  text-align: center;
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--text);
  margin: 0 0 var(--title-to-sub);
}
.it-esempi-title .gradient {
  background: linear-gradient(135deg, var(--primary), var(--accent));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.it-esempi-sub {
  text-align: center;
  color: var(--text-muted);
  font-size: 1rem;
  margin: 0 0 var(--sub-to-content);
}

.it-song-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--grid-gap);
  margin-bottom: var(--space-xl);
}
.it-song-card {
  background: #fff;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,.08), 0 2px 8px rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.06);
  display: flex;
  flex-direction: column;
}
.it-song-card-image {
  aspect-ratio: 1;
  background: linear-gradient(180deg, var(--primary) 0%, var(--accent) 100%);
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
}
.it-song-card-tag {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  padding: 0.35rem 0.75rem;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.it-song-card-play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  color: rgba(255, 255, 255, 0.92);
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.35));
}
.it-song-card-play svg {
  width: 4rem;
  height: 4rem;
}
.it-song-card-image .it-song-card-note {
  width: 3.5rem;
  height: 3.5rem;
  color: white;
  opacity: 0.95;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.3));
}
.it-song-card-image .it-song-card-note svg { width: 100%; height: 100%; }
.it-song-card-body {
  padding: var(--space-md) var(--space-sm) var(--space-md);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  flex: 1;
  min-width: 0;
}
.it-song-card h3 {
  font-size: 1.0625rem;
  margin: 0 0 var(--space-xs);
  font-weight: 700;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
.it-song-card-meta {
  font-size: 0.8125rem;
  color: var(--text-muted);
  margin: 0 0 var(--space-sm);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
.it-btn-song {
  margin-top: auto;
  width: 100%;
  max-width: 100%;
  padding: 0.6rem var(--space-md);
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--primary);
  background: rgba(124, 58, 237, 0.12);
  border: none;
  border-radius: var(--radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.it-btn-song:hover { background: rgba(124, 58, 237, 0.18); }
.it-btn-song-icon { display: inline-flex; align-items: center; justify-content: center; }
.it-btn-song-icon svg { width: 1.125rem; height: 1.125rem; }
.it-btn-song-icon--pause { display: none; }
.it-btn-song.it-btn-song--playing .it-btn-song-icon--play { display: none; }
.it-btn-song.it-btn-song--playing .it-btn-song-icon--pause { display: inline-flex; }
.it-song-cta-text { text-align: center; font-size: 1.0625rem; margin: 0 0 var(--space-sm); color: var(--text); }
.it-song-cta-wrap { text-align: center; margin: 0; }
.it-song-cta-wrap .it-btn { margin-top: var(--space-sm); }

/* Feature cards (4) */
.it-feature-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--grid-gap);
  margin-top: 0;
}
.it-feature-card {
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  text-align: center;
  box-shadow: 0 2px 8px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.06);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.it-feature-card:hover { border-color: var(--primary-light); box-shadow: 0 4px 16px rgba(124, 58, 237, 0.12); }
.it-feature-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto var(--space-md);
  border-radius: var(--radius);
  background: linear-gradient(135deg, var(--primary), var(--accent));
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}
.it-feature-icon svg {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}
.it-feature-card h3 { font-size: 1rem; margin: 0 0 0.5rem; font-weight: 700; color: var(--text); }
.it-feature-card p { font-size: 0.875rem; color: var(--text-muted); margin: 0; line-height: 1.5; }

/* Pills */
.it-pill {
  display: inline-block;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 1rem;
  background: #f5f3ff;
  color: var(--primary);
}
.it-pill--heart { }
.it-pill--star { }
.it-pill--bolt { }
/* Come funziona pill: purple gradient, white text (Cântec style) */
.it-pill--how {
  background: linear-gradient(135deg, var(--primary), var(--accent));
  color: white;
}

/* How it works – 4 steps with line (Cântec style) */
.it-how-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; position: relative; margin: var(--space-xl) 0; }
.it-how-progress-line {
  position: absolute;
  top: 24px;
  left: 12.5%;
  right: 12.5%;
  height: 4px;
  background: linear-gradient(90deg, var(--primary), var(--accent));
  border-radius: 2px;
  z-index: 0;
}
.it-how-step { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; }
.it-how-num {
  width: 48px; height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.25rem;
  margin-bottom: 1rem;
}
.it-how-card {
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  padding: 1.25rem;
  text-align: left;
  box-shadow: 0 2px 8px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.06);
  margin: 0 0.5rem;
}
.it-how-icon {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
  color: var(--primary);
}
.it-how-card h3 { font-size: 0.9375rem; margin: 0 0 0.35rem; font-weight: 700; color: var(--text); }
.it-how-card p { font-size: 0.8125rem; color: var(--text-muted); margin: 0; line-height: 1.45; }
.it-how-cta-wrap { text-align: center; margin-top: var(--space-xl); }
.it-how-reassurance {
  font-size: 0.875rem;
  color: var(--text-muted);
  margin: 0.75rem 0 0;
}

/* Testimonial author block */
.it-testimonial-author { display: flex; align-items: center; gap: 0.5rem; margin-top: 0.75rem; }
.it-testimonial-avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--bg); display: flex; align-items: center; justify-content: center; font-size: 1rem; }
.it-testimonial-city { display: block; font-size: 0.75rem; color: var(--text-muted); }

/* Pricing layout (reference: title + subtitle, left “Cosa ricevi” with icon circles, right card with glow + gradient price) */
.it-pill--prezzi {
  background: linear-gradient(135deg, var(--primary), var(--accent));
  color: white;
}
.it-pricing-wrap { max-width: 1000px; margin-left: auto; margin-right: auto; padding: 0 var(--section-pad-x); }
.it-pricing-card-outer {
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  padding: var(--space-2xl);
  box-shadow: 0 0 0 1px rgba(124, 58, 237, 0.08), 0 8px 32px rgba(0, 0, 0, 0.06);
  text-align: center;
}
.it-pricing-card-outer .it-section-title,
.it-pricing-card-outer .it-section-sub { text-align: center; }
.it-pricing-card-outer .it-pricing-layout { text-align: left; }
.it-pricing-layout { display: grid; grid-template-columns: 1fr 400px; gap: var(--space-2xl); align-items: start; margin-top: var(--space-xl); }
.it-pricing-left-title,
.it-pricing-left h3 { margin: 0 0 var(--space-lg); font-size: 1.125rem; font-weight: 700; color: var(--text); }
.it-pricing-feat {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.it-pricing-feat-circle {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ede9fe 0%, #fce7f3 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.it-pricing-feat-icon { font-size: 1.15rem; color: var(--primary); }
.it-pricing-feat-desc { font-size: 0.875rem; color: var(--text-muted); margin: 0.25rem 0 0; line-height: 1.45; }
.it-pricing-card-wrap { position: relative; }
.it-price-card--main {
  position: relative;
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  box-shadow:
    0 0 0 1px rgba(124, 58, 237, 0.15),
    0 0 32px rgba(124, 58, 237, 0.12),
    0 0 48px rgba(236, 72, 153, 0.08),
    0 8px 32px rgba(0, 0, 0, 0.06);
}
/* Badge top-right, overlapping card edge only – title has padding so text never goes under it */
.it-price-badge {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(4px, -4px);
  padding: 0.4rem 0.75rem;
  background: linear-gradient(135deg, #ea580c 0%, #f59e0b 100%);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(234, 88, 12, 0.4);
  z-index: 1;
}
.it-price-card-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding-right: 6.5rem;
  min-height: 3rem;
}
.it-price-card-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: white;
}
.it-price-card-icon svg { width: 24px; height: 24px; }
.it-price-card-title { font-size: 1.125rem; font-weight: 700; color: var(--text); margin: 0; }
.it-price-card-sub { font-size: 0.8125rem; color: var(--text-muted); margin: 0.25rem 0 0; }
/* Pricing in a light purple block (reference style) */
.it-price-block {
  background: rgba(124, 58, 237, 0.08);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  margin-bottom: 1.25rem;
}
.it-price-old-wrap { margin: 0 0 0.25rem; font-size: 0.9375rem; }
.it-price-old { text-decoration: line-through; color: var(--text-muted); }
.it-price-off { color: #059669; font-weight: 700; margin-left: 0.4rem; }
.it-price-main { margin: 0 0 0.35rem; line-height: 1.2; display: flex; align-items: baseline; gap: 0.25rem; flex-wrap: wrap; }
.it-price-main-num {
  font-size: 2.25rem;
  font-weight: 700;
  background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.it-price-currency { font-size: 1.125rem; color: var(--text-muted); font-weight: 500; }
.it-price-note { font-size: 0.8125rem; color: var(--text-muted); margin: 0; }
.it-price-list-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.35rem 1.5rem;
}
.it-price-list { list-style: none; padding: 0; margin: 0; }
.it-price-list li { padding: 0.35rem 0; padding-left: 1.5rem; position: relative; font-size: 0.875rem; color: var(--text); }
.it-price-list li::before { content: '✓'; position: absolute; left: 0; color: #059669; font-weight: 700; font-size: 0.95rem; }
.it-price-cta { width: 100%; justify-content: center; margin-top: 1rem; padding: 0.875rem 1.25rem; font-size: 1rem; }
.it-price-trust {
  display: flex;
  gap: 1.25rem;
  margin-top: 1rem;
  font-size: 0.8125rem;
  color: #059669;
  flex-wrap: wrap;
}
.it-price-trust span { display: inline-flex; align-items: center; gap: 0.35rem; }
.it-price-rating-below {
  text-align: center;
  font-size: 0.875rem;
  color: var(--text);
  margin: 1rem 0 0;
}
.it-price-rating-below strong { font-weight: 700; }
.it-price-stars { color: #f59e0b; }

/* Footer 4 columns – consistent spacing and text */
.it-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: var(--space-2xl); max-width: 1200px; margin: 0 auto; padding: 0 var(--space-md); }
.it-footer-col p { margin: 0.5rem 0 0; font-size: 0.875rem; line-height: 1.5; color: #94a3b8; }
.it-footer-tagline { margin: 0.4rem 0 0; max-width: 280px; line-height: 1.5; }
.it-footer-brand p:first-of-type { margin-top: 0.6rem; }
.it-footer-brand .it-logo { font-size: 1.125rem; font-weight: 700; }
.it-footer-brand .it-logo .it-logo-word--primary { color: #a78bfa; }
.it-footer-brand .it-logo .it-logo-word--dark { color: #fff; }
.it-footer-brand .it-logo:hover .it-logo-word--primary { color: #c4b5fd; }
.it-footer-brand .it-logo:hover .it-logo-word--dark { color: #fff; }
.it-footer-social { margin-top: 1.25rem; }
.it-footer-social h4 { margin: 0 0 0.6rem; font-size: 0.9375rem; font-weight: 600; color: #fff; }
.it-social-icons { display: flex; gap: 0.75rem; align-items: center; flex-wrap: nowrap; }
.it-social-icons a,
.it-social-icons .it-social-icon {
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.4);
  background: rgba(255,255,255,0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: background 0.2s, border-color 0.2s;
  box-sizing: border-box;
  line-height: 0;
}
.it-social-icons a:hover { background: rgba(255,255,255,0.15); border-color: rgba(255,255,255,0.6); color: #fff; }
.it-social-icons .it-social-icon--inactive {
  pointer-events: none;
  cursor: default;
  opacity: 0.65;
}
.it-social-svg {
  display: block;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin: 0;
  vertical-align: middle;
}
.it-footer-icon { margin-right: 0.4rem; opacity: 0.9; }
.it-footer-col h4 { color: #fff; font-size: 0.9375rem; font-weight: 600; margin: 0 0 0.75rem; }
.it-footer-col a { display: inline-block; margin-bottom: 0.35rem; font-size: 0.875rem; line-height: 1.5; color: #94a3b8; }
.it-footer-col a:hover { color: #fff; }
.it-footer-col p { display: flex; align-items: center; }
/* Footer bottom bar: copyright | design credit | legal links */
.it-footer-bottom { border-top: 1px solid rgba(255,255,255,0.12); padding: 1rem var(--space-md); margin-top: 0; }
.it-footer .it-wrap.it-footer-bottom-inner { display: flex; grid-template-columns: unset; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--space-md); max-width: 1200px; margin: 0 auto; padding: 0 var(--space-md); }
.it-footer-copy { font-size: 0.8125rem; color: #94a3b8; line-height: 1.4; }
.it-footer-design { font-size: 0.8125rem; color: #94a3b8; line-height: 1.4; }
.it-footer-heart { color: var(--accent); }
.it-footer-legal { display: flex; gap: 1.25rem; flex-wrap: wrap; align-items: center; }
.it-footer-legal a { font-size: 0.8125rem; color: #94a3b8; text-decoration: none; line-height: 1.4; }
.it-footer-legal a:hover { color: #fff; }

/* Full-width gradient hero banner (Cântec style): purple→pink, white text, pill, CTA, stats */
.it-hero-banner {
  position: relative;
  min-height: 420px;
  padding: var(--space-5xl) var(--section-pad-x);
  text-align: center;
  background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 35%, var(--accent) 100%);
  overflow: hidden;
}
.it-hero-banner-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.it-hero-banner-deco {
  position: absolute;
  font-size: 3rem;
  color: rgba(255,255,255,0.12);
  line-height: 1;
}
.it-hero-banner-deco--notes {
  left: 8%;
  top: 20%;
  letter-spacing: 1.5rem;
}
.it-hero-banner-deco--headphones {
  right: 12%;
  top: 50%;
  transform: translateY(-50%);
  font-size: 5rem;
  opacity: 0.15;
}
.it-hero-banner-inner {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
}
.it-hero-banner-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem var(--space-md);
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.6);
  background: rgba(255,255,255,0.1);
  color: white;
  font-size: 0.9375rem;
  font-weight: 500;
  margin-bottom: var(--space-lg);
}
.it-hero-banner-title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 700;
  color: white;
  line-height: 1.25;
  margin: 0 0 var(--space-md);
}
.it-hero-banner-desc {
  font-size: 1.0625rem;
  color: rgba(255,255,255,0.95);
  line-height: 1.5;
  margin: 0 auto var(--space-lg);
  max-width: 560px;
}
.it-hero-banner-cta {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  padding: 0.9rem 1.75rem;
  background: white;
  color: var(--primary-dark);
  border: 2px solid rgba(255,255,255,0.9);
  border-radius: var(--radius);
  font-size: 1.0625rem;
  font-weight: 700;
  text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s;
  margin-bottom: var(--space-xl);
}
.it-hero-banner-cta:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,0.2);
  opacity: 1;
}
.it-hero-banner-stats {
  display: flex;
  justify-content: center;
  gap: var(--space-xl);
  flex-wrap: wrap;
  font-size: 0.9375rem;
  color: rgba(255,255,255,0.95);
}
.it-hero-banner-stats span { display: inline-flex; align-items: center; gap: 0.35rem; }

/* Hero – Cântec style: gradient white → light purple/pink */
.it-hero {
  padding: var(--space-5xl) var(--section-pad-x) var(--space-6xl);
  text-align: center;
  background: linear-gradient(135deg, #ffffff 0%, #faf5ff 35%, #fdf2f8 70%, #f5f3ff 100%);
}
.hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.4rem 0.9rem;
  border-radius: 999px;
  font-size: 0.9375rem;
  font-weight: 500;
  background: linear-gradient(135deg, #f5f3ff 0%, #fce7f3 100%);
  color: var(--primary-dark);
}
.it-hero h1 { font-size: clamp(1.75rem, 4vw, 2.5rem); margin: 0 0 1rem; line-height: 1.2; }
.it-hero .gradient { background: linear-gradient(135deg, var(--primary), var(--accent)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.it-hero p { color: var(--text-muted); max-width: 560px; margin: 0 auto 1.5rem; font-size: 1.0625rem; }
.it-hero .it-btn { font-size: 1rem; padding: 0.75rem 1.5rem; }
.it-trust { display: flex; justify-content: center; gap: 2rem; flex-wrap: wrap; margin-top: 1.5rem; font-size: 0.875rem; color: var(--text-muted); }

/* Hero split: text left, song/player right (Cântec-Cadou style) – large text + large card + bg notes */
.it-hero-split {
  position: relative;
  text-align: left;
  padding: var(--space-5xl) var(--section-pad-x) var(--space-6xl);
  box-shadow: 0 4px 24px rgba(0,0,0,.06);
  overflow: hidden;
}
body.has-promo .it-hero-split {
  background: transparent;
  box-shadow: none;
}
.it-hero-split-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.it-hero-split-deco {
  position: absolute;
  font-size: 3.5rem;
  color: var(--primary);
  opacity: 0.06;
  line-height: 1;
  white-space: nowrap;
}
.it-hero-split-deco--notes {
  left: 12%;
  top: 18%;
  letter-spacing: 1.25rem;
}
.it-hero-split-deco--right {
  right: 8%;
  bottom: 22%;
  font-size: 2.5rem;
  letter-spacing: 0.75rem;
}
.it-hero-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-5xl);
  align-items: center;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--space-md);
}
.it-hero-content .hero-pill { margin-bottom: var(--space-xl); }
.it-hero-content h1 {
  margin: 0 0 var(--space-xl);
  font-size: clamp(2rem, 5vw, 3.25rem);
  line-height: 1.15;
  font-weight: 700;
}
.it-hero-content h1 .gradient { font-size: 1.08em; display: inline-block; }
.it-hero-content p {
  margin: 0 0 var(--space-lg);
  max-width: 100%;
  font-size: 1.1875rem;
  line-height: 1.55;
  color: var(--text-muted);
}
.it-hero-content .it-hero-tags { gap: 0.6rem; margin-bottom: var(--space-xl); }
.it-hero-content .it-hero-tag { padding: var(--space-sm) var(--space-md); font-size: 0.9375rem; }
.it-hero-cta-wrap { display: flex; flex-wrap: wrap; gap: var(--space-md); margin-bottom: var(--space-xl); }
.it-hero-cta-main { padding: 0.875rem 1.75rem; font-size: 1.0625rem; }
.it-hero-demo-btn { padding: 0.875rem var(--space-lg); font-size: 1.0625rem; }
.it-hero-content .it-trust { justify-content: flex-start; margin-top: var(--space-xl); font-size: 0.9375rem; gap: var(--space-2xl); }
.it-btn-lg { padding: 0.875rem 1.75rem; font-size: 1.0625rem; }
.it-hero-player { display: flex; justify-content: center; align-items: center; min-height: 320px; }
.it-player-card {
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  box-shadow: var(--shadow-md);
  border: 1px solid #e2e8f0;
  text-align: center;
  min-width: 260px;
}
.it-player-card--large { min-width: 280px; padding: 1.75rem; }
.it-player-label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-muted); margin: 0 0 0.5rem; }
.it-player-artwork {
  width: 120px; height: 120px;
  margin: 0 auto 1rem;
  border-radius: var(--radius);
  background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  display: flex; align-items: center; justify-content: center;
  font-size: 3rem; color: white;
}
.it-player-artwork--large { width: 160px; height: 160px; font-size: 4rem; }
.it-player-title { font-weight: 700; margin: 0 0 0.25rem; font-size: 1.125rem; }
.it-player-meta { font-size: 0.8125rem; color: var(--text-muted); margin: 0 0 1rem; }
.it-player-controls { display: flex; align-items: center; justify-content: center; gap: 0.75rem; }
.it-player-btn {
  width: 44px; height: 44px;
  border-radius: 50%;
  border: none;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  color: white;
  font-size: 1.25rem;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  padding-left: 4px;
}
.it-player-btn:hover { opacity: 0.95; }
.it-player-time { font-size: 0.8125rem; color: var(--text-muted); }
.it-player-hint { font-size: 0.875rem; color: var(--text-muted); margin: 0.75rem 0 0; }

/* Sections – distinct bands so components feel separate (Cântec-style structure) */
.it-section {
  position: relative;
  padding: var(--section-pad-y) var(--section-pad-x);
  background: var(--section-bg);
  box-shadow: var(--shadow-section);
}
.it-section-alt {
  background: var(--section-bg-alt);
  box-shadow: var(--shadow-section);
}
/* Decorative faint music notes (Cântec style) – left/right variants */
.it-section--perche { position: relative; }
.it-section-bg-notes {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 4rem;
  color: var(--primary);
  opacity: 0.06;
  pointer-events: none;
  white-space: nowrap;
  letter-spacing: 1.5rem;
  line-height: 1;
}
/* Scattered notes: wrapper covers section, each note positioned individually */
.it-section-bg-notes--scattered {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transform: none;
  white-space: normal;
  letter-spacing: 0;
}
.it-section-bg-notes--scattered .it-section-bg-note {
  position: absolute;
  font-size: 3rem;
  color: var(--primary);
  opacity: 0.06;
  line-height: 1;
}
.it-section-bg-notes--stats { left: 2%; }
.it-section-bg-notes--esempi-left { left: 2%; font-size: 3rem; letter-spacing: 1rem; }
.it-section-bg-notes--esempi-right {
  left: auto;
  right: 2%;
  font-size: 3rem;
  letter-spacing: 1rem;
}
.it-section-bg-notes--come-left { left: 2%; }
.it-section-bg-notes--come-right {
  left: auto;
  right: 2%;
}
.it-section-bg-notes--prezzi-left { left: 2%; }
.it-section-bg-notes--prezzi-right {
  left: auto;
  right: 2%;
}
.it-section-title { text-align: center; font-size: 1.75rem; margin: 0 0 var(--title-to-sub); }
.it-section-sub { text-align: center; color: var(--text-muted); margin-bottom: var(--sub-to-content); }
.it-wrap--narrow { max-width: 560px; margin-left: auto; margin-right: auto; }

/* Occasioni grid (Cântec style) */
.it-occasions { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.25rem; margin-top: 1rem; }
.it-occasion-card {
  background: var(--bg-card);
  border-radius: var(--radius);
  padding: 1.25rem;
  text-decoration: none;
  color: inherit;
  border: 2px solid #e2e8f0;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.it-occasion-card:hover { border-color: var(--primary-light); box-shadow: var(--shadow-md); }
.it-occasion-icon { font-size: 2rem; display: block; margin-bottom: 0.5rem; }
.it-occasion-card h3 { margin: 0 0 0.35rem; font-size: 1.0625rem; }
.it-occasion-card p { font-size: 0.875rem; color: var(--text-muted); margin: 0; }
.it-example-player { display: flex; justify-content: center; margin-top: 1rem; }
.it-testimonials--compact .it-testimonial { padding: 1rem; }

/* Flow steps – header (reference: row 1 = back + centered logo, row 2 = step left + % right, thin bar) */
.it-body-flow { background: #f8fafc; }
.it-flow-header {
  background: var(--bg-card);
  border-bottom: 1px solid #e2e8f0;
  padding: 1rem 2rem 0.75rem;
}
.it-flow-header-top, .it-flow-progress-row {
  max-width: 640px;
  margin: 0 auto;
  padding: 0;
}
@media (max-width: 600px) {
  .it-flow-header {
    padding: 1rem var(--section-pad-x, 1.5rem) 0.75rem;
    padding-left: max(var(--section-pad-x, 1.5rem), env(safe-area-inset-left));
    padding-right: max(var(--section-pad-x, 1.5rem), env(safe-area-inset-right));
  }
}
.it-flow-header-top {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 0.75rem;
}
.it-flow-back {
  color: var(--text-muted);
  text-decoration: none;
  font-size: 0.9375rem;
}
.it-flow-back:hover { color: var(--primary); }
.it-flow-logo {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--primary);
  font-weight: 700;
  text-decoration: none;
  padding: 0.35rem 0.5rem 0.35rem 0.25rem;
  border-radius: var(--radius);
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
  -webkit-tap-highlight-color: transparent;
}
.it-flow-logo:hover { color: var(--primary-dark); background: rgba(124, 58, 237, 0.08); box-shadow: 0 1px 3px rgba(0,0,0,0.06); }
.it-flow-logo:active { background: rgba(124, 58, 237, 0.12); }
.it-flow-logo-icon-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--primary), var(--accent));
}
.it-flow-logo-icon { color: #fff; font-size: 1.1rem; }
.it-flow-logo .it-logo-word--primary { color: var(--primary); }
.it-flow-logo .it-logo-word--dark { color: var(--text); }
.it-flow-logo:hover .it-logo-word--primary { color: var(--primary-dark); }
.it-flow-logo:hover .it-logo-word--dark { color: var(--primary-dark); }
.it-flow-header-spacer { width: 1px; }
.it-flow-progress-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1rem;
  font-size: 0.8125rem;
  color: var(--text-muted);
}
.it-flow-progress-bar {
  height: 4px;
  background: #e2e8f0;
  border-radius: 2px;
  overflow: hidden;
  margin: 0.35rem auto 0;
  max-width: calc(640px - 3rem);
  width: calc(100% - 3rem);
}
.it-progress-bar { height: 6px; background: #e2e8f0; border-radius: 3px; overflow: hidden; margin-top: 0.25rem; }
.it-progress-fill { height: 100%; background: linear-gradient(90deg, var(--primary), var(--accent)); border-radius: 2px; transition: width 0.3s; }
@media (max-width: 600px) {
  .it-flow-header-top { grid-template-columns: 1fr auto 1fr; }
  .it-flow-back { font-size: 0.875rem; }
}
/* Fallback: steps 2–8 without .it-flow-header-top keep single-row header */
.it-flow-header:not(:has(.it-flow-header-top)) {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 0.75rem;
}
.it-flow-header:not(:has(.it-flow-header-top)) > a:first-of-type { color: var(--text-muted); text-decoration: none; font-size: 0.9375rem; }
.it-flow-header:not(:has(.it-flow-header-top)) > a:first-of-type:hover { color: var(--primary); }
.it-flow-header:not(:has(.it-flow-header-top)) .it-progress { justify-self: end; text-align: right; max-width: 200px; font-size: 0.8125rem; color: var(--text-muted); }

/* Flow steps – content: equal horizontal spacing and centered on all screens */
.it-step {
  max-width: 640px;
  margin: 2.5rem auto 4rem;
  padding: 2.5rem;
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  border: 1px solid rgba(0,0,0,0.06);
  box-sizing: border-box;
  width: 100%;
}
@media (max-width: 600px) {
  .it-step {
    margin-left: max(var(--section-pad-x, 1.5rem), env(safe-area-inset-left));
    margin-right: max(var(--section-pad-x, 1.5rem), env(safe-area-inset-right));
    margin-top: 1.5rem;
    margin-bottom: 3rem;
    padding: 1.5rem;
  }
}
.it-step-icon { width: 72px; height: 72px; margin: 0 auto 1rem; border-radius: var(--radius-lg); background: linear-gradient(135deg, var(--primary), var(--accent)); display: flex; align-items: center; justify-content: center; font-size: 2rem; }
.it-step h2 { font-size: 1.5rem; margin: 0 0 0.5rem; text-align: center; }
.it-step .sub { text-align: center; color: var(--text-muted); margin-bottom: 1.5rem; font-size: 0.9375rem; }
.it-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 1rem; }
.it-card {
  background: var(--bg-card);
  border: 2px solid #e2e8f0;
  border-radius: var(--radius);
  padding: 1.25rem;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s ease;
}
.it-card:hover { border-color: var(--primary-light); box-shadow: var(--shadow-md); }
.it-card:active { transform: scale(0.97); }
.it-card.selected { border-color: var(--primary); box-shadow: 0 0 0 2px rgba(124, 58, 237, 0.2); }
.it-card .icon { font-size: 1.75rem; margin-bottom: 0.5rem; }
.it-card .title { font-weight: 600; margin-bottom: 0.25rem; }
.it-card .desc { font-size: 0.8125rem; color: var(--text-muted); }

.it-input-wrap { margin-bottom: 1rem; }
.it-input-wrap label { display: block; font-weight: 500; margin-bottom: 0.35rem; font-size: 0.9375rem; }
.it-input, .it-textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: var(--radius);
  font-family: inherit;
  font-size: 1rem;
}
.it-input:focus, .it-textarea:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.15); }
.it-textarea { min-height: 120px; resize: vertical; }
.it-checkbox { display: inline-flex; align-items: center; gap: 0.5rem; cursor: pointer; font-size: 0.9375rem; }
.it-checkbox input { width: 1.125rem; height: 1.125rem; }

.it-step-actions { display: flex; justify-content: space-between; margin-top: 2rem; flex-wrap: wrap; gap: 1rem; }
.it-step-actions .it-btn { min-width: 120px; justify-content: center; }
@media (max-width: 600px) {
  .it-step-actions { flex-direction: column-reverse; gap: 0.75rem; }
  .it-step-actions .it-btn { width: 100%; margin: 0; }
}

/* Flow: entrance pop-up for choices and buttons on page load */
.it-body-flow .it-step .it-card,
.it-body-flow .it-step .it-step3-card,
.it-body-flow .it-step .it-step4-card,
.it-body-flow .it-step .it-step5-card,
.it-body-flow .it-step .it-step6-card,
.it-body-flow .it-step .it-btn,
.it-body-flow .it-step1-play,
.it-body-flow .it-step1-feat {
  animation: step-choice-pop-in 0.5s ease-out both;
}
/* Step 6: hero block (icon + title + subtitle) pops in on load */
.it-body-flow .it-step-6 .it-step-hero,
.it-body-flow .it-step-6 .it-step-title,
.it-body-flow .it-step-6 .it-step-sub {
  animation: step-choice-pop-in 0.5s ease-out both;
}
.it-body-flow .it-step-6 .it-step-title { animation-delay: 0.05s; }
.it-body-flow .it-step-6 .it-step-sub { animation-delay: 0.1s; }
.it-body-flow .it-step3-cards .it-step3-card:nth-child(1) { animation-delay: 0.02s; }
.it-body-flow .it-step3-cards .it-step3-card:nth-child(2) { animation-delay: 0.06s; }
.it-body-flow .it-step3-cards .it-step3-card:nth-child(3) { animation-delay: 0.1s; }
.it-body-flow .it-step3-cards .it-step3-card:nth-child(4) { animation-delay: 0.14s; }
.it-body-flow .it-step3-cards .it-step3-card:nth-child(5) { animation-delay: 0.18s; }
.it-body-flow .it-step3-cards .it-step3-card:nth-child(6) { animation-delay: 0.22s; }
.it-body-flow .it-step3-cards .it-step3-card:nth-child(7) { animation-delay: 0.26s; }
.it-body-flow .it-step3-cards .it-step3-card:nth-child(8) { animation-delay: 0.3s; }
.it-body-flow .it-step4-cards .it-step4-card:nth-child(1) { animation-delay: 0.02s; }
.it-body-flow .it-step4-cards .it-step4-card:nth-child(2) { animation-delay: 0.06s; }
.it-body-flow .it-step4-cards .it-step4-card:nth-child(3) { animation-delay: 0.1s; }
.it-body-flow .it-step4-cards .it-step4-card:nth-child(4) { animation-delay: 0.14s; }
.it-body-flow .it-step4-cards .it-step4-card:nth-child(5) { animation-delay: 0.18s; }
.it-body-flow .it-step4-cards .it-step4-card:nth-child(6) { animation-delay: 0.22s; }
.it-body-flow .it-step5-cards .it-step5-card:nth-child(1) { animation-delay: 0.02s; }
.it-body-flow .it-step5-cards .it-step5-card:nth-child(2) { animation-delay: 0.06s; }
.it-body-flow .it-step5-cards .it-step5-card:nth-child(3) { animation-delay: 0.1s; }
.it-body-flow .it-step5-cards .it-step5-card:nth-child(4) { animation-delay: 0.14s; }
.it-body-flow .it-step5-cards .it-step5-card:nth-child(5) { animation-delay: 0.18s; }
.it-body-flow .it-step5-cards .it-step5-card:nth-child(6) { animation-delay: 0.22s; }
.it-body-flow .it-step5-cards .it-step5-card:nth-child(7) { animation-delay: 0.26s; }
.it-body-flow .it-step6-cards .it-step6-card:nth-child(1) { animation-delay: 0.02s; }
.it-body-flow .it-step6-cards .it-step6-card:nth-child(2) { animation-delay: 0.06s; }
.it-body-flow .it-step6-cards .it-step6-card:nth-child(3) { animation-delay: 0.1s; }
.it-body-flow .it-step6-cards .it-step6-card:nth-child(4) { animation-delay: 0.14s; }
.it-body-flow .it-step6-cards .it-step6-card:nth-child(5) { animation-delay: 0.18s; }
.it-body-flow .it-step6-cards .it-step6-card:nth-child(6) { animation-delay: 0.22s; }

/* Flow header – logo center, purple */
.it-flow-header .it-flow-logo { color: var(--primary); font-weight: 700; text-decoration: none; }
.it-flow-header .it-flow-logo:hover { color: var(--primary-dark); }

/* Step 1 – reference: hero icon (single note + sparkles), title + subtitle, card (label + player + 3 badges), centered */
.it-step-1 { max-width: 560px; margin-left: auto; margin-right: auto; text-align: center; }
.it-step-hero { text-align: center; margin-bottom: 1.25rem; }
.it-step-hero-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 88px;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--primary), var(--accent));
}
.it-step-hero-note { color: #fff; display: flex; align-items: center; justify-content: center; }
.it-step-hero-note svg { width: 40px; height: 40px; }
@keyframes step-choice-pop-in {
  0% { opacity: 0.85; transform: scale(0.92); }
  65% { transform: scale(1.03); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes sparkle-rotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.it-step-hero-sparkle {
  position: absolute;
  font-size: 0.9rem;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.15));
  animation: sparkle-rotate 5s linear infinite;
  display: inline-block;
  color: #fbbf24;
}
.it-step-hero-sparkle--1 { top: -2px; right: -2px; }
.it-step-hero-sparkle--2 { bottom: -2px; left: -2px; animation-delay: -2.5s; }
.it-step-1 .it-step-title { font-size: 1.625rem; margin: 0 0 0.5rem; text-align: center; font-weight: 700; color: var(--text); }
.it-step-1 .it-step-title .gradient { background: linear-gradient(135deg, var(--primary), var(--accent)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.it-step-1 .it-step-sub { text-align: center; color: var(--text-muted); margin: 0 0 1.75rem; font-size: 0.9375rem; line-height: 1.5; max-width: 420px; margin-left: auto; margin-right: auto; }

.it-step1-example {
  background: linear-gradient(160deg, rgba(250, 248, 252, 0.98) 0%, rgba(245, 243, 255, 0.95) 100%);
  border-radius: var(--radius-lg);
  padding: 1.5rem 1.5rem 1.5rem;
  margin-bottom: 2rem;
  box-shadow: 0 2px 12px rgba(124, 58, 237, 0.08);
  border: 1px solid rgba(124, 58, 237, 0.1);
  text-align: center;
}
.it-step1-example-label {
  margin: 0 0 1rem;
  font-size: 0.9375rem;
  color: var(--primary);
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.it-step1-example-label-icon { display: inline-flex; }
.it-step1-example-label-icon svg { width: 20px; height: 20px; }
.it-step1-player {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: #fff;
  border-radius: var(--radius);
  padding: 1rem 1.25rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  border: 1px solid rgba(124, 58, 237, 0.08);
  text-align: left;
}
.it-step1-play {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  border: none;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(124, 58, 237, 0.35);
  position: relative;
}
.it-step1-play-icon { display: flex; align-items: center; justify-content: center; position: absolute; }
.it-step1-play-icon svg { width: 22px; height: 22px; }
.it-step1-play .it-step1-play-icon--pause { display: none; }
.it-step1-play.is-playing .it-step1-play-icon--play { display: none; }
.it-step1-play.is-playing .it-step1-play-icon--pause { display: flex; }
.it-step1-play { transition: transform 0.15s ease, box-shadow 0.2s ease, opacity 0.2s; }
.it-step1-play:hover { opacity: 0.95; box-shadow: 0 3px 12px rgba(124, 58, 237, 0.4); }
.it-step1-play:active { transform: scale(0.92); }
.it-step1-player-info { min-width: 0; }
.it-step1-player-title { display: block; font-size: 1rem; margin: 0 0 0.2rem; color: var(--text); font-weight: 600; }
.it-step1-player-meta { font-size: 0.875rem; color: var(--text-muted); }
.it-step1-features {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.6rem 1rem;
  margin-top: 1.25rem;
}
.it-step1-feat {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.875rem;
  color: var(--text);
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(124, 58, 237, 0.15);
  border-radius: 999px;
  padding: 0.5rem 0.9rem;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.it-step1-feat { transition: transform 0.15s ease, box-shadow 0.2s; cursor: default; }
.it-step1-feat:active { transform: scale(0.96); }
.it-step1-feat-icon { display: inline-flex; align-items: center; justify-content: center; color: var(--primary); }
.it-step1-feat-icon svg { width: 18px; height: 18px; }
.it-step1-feat-icon.it-step1-feat-icon--gradient { color: var(--primary); }
.it-step1-feat-icon.it-step1-feat-icon--gradient svg { color: inherit; }
.it-step1-cta-wrap {
  text-align: center;
  margin-top: 0.5rem;
}
.it-step1-cta { min-width: 160px; padding: 0.75rem 1.5rem; }
@media (max-width: 600px) {
  .it-step1-cta { width: 100%; display: flex; justify-content: center; }
}

/* Step 2 – Per chi è la canzone? (central card, person icon, purple input) */
.it-step-2 { max-width: 560px; padding-top: 1.5rem; }
.it-step-2 .it-step-hero { margin-bottom: 0.75rem; }
.it-step-2 .it-step-title { font-size: 1.375rem; margin: 0 0 0.35rem; }
.it-step-2 .it-step-sub { margin-bottom: 1.25rem; font-size: 0.9375rem; }
.it-step2-icon .it-step2-person { color: #fff; font-size: 2.25rem; line-height: 88px; display: block; }
.it-step2-input-wrap { margin-bottom: 1rem; }
.it-step2-input {
  width: 100%;
  padding: 0.875rem 1.125rem;
  border: 2px solid var(--primary);
  border-radius: var(--radius);
  font-family: inherit;
  font-size: 1rem;
  background: #fff;
}
.it-step2-input::placeholder { color: var(--text-muted); }
.it-step2-input:focus { outline: none; box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.2); }
.it-step2-checkbox { margin-top: 0.5rem; display: inline-flex; }
.it-step2-recipient-error {
  margin: 0.75rem 0 0;
  padding: 0.65rem 0.85rem;
  font-size: 0.875rem;
  color: #b91c1c;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: var(--radius);
}
.it-step-2 .it-step-actions { margin-top: 1.5rem; margin-bottom: 0; }
.it-step2-benefits { margin: 1rem 0 0; font-size: 0.875rem; color: var(--text-muted); text-align: center; }

/* Step 3 – Che occasione festeggiamo? (2x3 occasion cards, gift icon, selected checkmark) */
.it-step-3 { max-width: 640px; padding-top: 1rem; }
.it-step-3 .it-step-hero { margin-bottom: 0.5rem; }
.it-step3-hero-icon {
  width: 88px;
  height: 88px;
  margin: 0 auto;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--primary), var(--accent));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.25rem;
  line-height: 1;
}
.it-step-3 .it-step-title { font-size: 1.375rem; margin: 0 0 0.35rem; text-align: center; }
.it-step-3 .it-step-sub { text-align: center; margin-bottom: 1.5rem; font-size: 0.9375rem; color: var(--text-muted); }
.it-step3-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 1rem;
}
.it-step3-card {
  background: var(--bg-card);
  border: 2px solid #e2e8f0;
  border-radius: var(--radius);
  padding: 1.25rem;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s ease;
  position: relative;
}
.it-step3-card:hover { border-color: var(--primary-light); box-shadow: var(--shadow-md); }
.it-step3-card:active { transform: scale(0.97); }
.it-step3-card.selected {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.25);
}
.it-step3-card.selected::after {
  content: '\2713';
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background: var(--primary);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.25rem;
  text-align: center;
}
.it-step3-card-icon { font-size: 2rem; display: block; margin-bottom: 0.5rem; }
.it-step3-card .title { font-weight: 600; margin: 0 0 0.25rem; font-size: 1rem; }
.it-step3-card .desc { font-size: 0.8125rem; color: var(--text-muted); margin: 0; }
.it-step3-benefits { margin: 0 0 1.5rem; font-size: 0.875rem; color: var(--text-muted); text-align: center; }
.it-step-3 .it-step-actions { margin-top: 0; }
@media (max-width: 640px) {
  .it-step3-cards { grid-template-columns: repeat(2, 1fr); }
}

/* Step 4 – Che genere musicale preferisci? (4x2 grid, selected checkmark, edit icon) */
.it-step-4 { max-width: 720px; padding-top: 1rem; }
.it-step-4 .it-step-hero { margin-bottom: 0.5rem; }
.it-step4-hero-icon {
  width: 88px;
  height: 88px;
  margin: 0 auto;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--primary), var(--accent));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  line-height: 1;
  color: #fff;
}
.it-step-4 .it-step-title { font-size: 1.375rem; margin: 0 0 0.35rem; text-align: center; }
.it-step4-edit { font-size: 0.85rem; color: #dc2626; margin-left: 0.25rem; vertical-align: middle; }
.it-step-4 .it-step-sub { text-align: center; margin-bottom: 1.5rem; font-size: 0.9375rem; color: var(--text-muted); }
.it-step4-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.it-step4-card {
  background: var(--bg-card);
  border: 2px solid #e2e8f0;
  border-radius: var(--radius);
  padding: 1.25rem;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s ease;
  position: relative;
}
.it-step4-card:hover { border-color: var(--primary-light); box-shadow: var(--shadow-md); }
.it-step4-card:active { transform: scale(0.97); }
.it-step4-card.selected {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.25);
}
.it-step4-card.selected::after {
  content: '\2713';
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background: var(--primary);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.25rem;
  text-align: center;
}
.it-step4-card-icon { font-size: 1.75rem; display: block; margin-bottom: 0.5rem; }
.it-step4-card .title { font-weight: 600; margin: 0 0 0.25rem; font-size: 1rem; }
.it-step4-card .desc { font-size: 0.8125rem; color: var(--text-muted); margin: 0; }
@media (max-width: 720px) {
  .it-step4-cards { grid-template-columns: repeat(2, 1fr); }
}

/* Step 5 – Che vibe vuoi? (orange sparkle hero, colored icon squares, 7 cards) */
.it-step-5 { max-width: 640px; padding-top: 1rem; }
.it-step-5 .it-step-hero { margin-bottom: 0.5rem; }
.it-step5-hero-icon {
  width: 88px;
  height: 88px;
  margin: 0 auto;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, #f97316, #fb923c);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  line-height: 1;
  color: #fff;
}
.it-step-5 .it-step-title { font-size: 1.375rem; margin: 0 0 0.35rem; text-align: center; }
.it-step-5 .it-step-sub { text-align: center; margin-bottom: 1.5rem; font-size: 0.9375rem; color: var(--text-muted); }
.it-step5-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.it-step5-card {
  background: var(--bg-card);
  border: 2px solid #e2e8f0;
  border-radius: var(--radius);
  padding: 1.25rem;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s ease;
  position: relative;
}
.it-step5-card:hover { border-color: var(--primary-light); box-shadow: var(--shadow-md); }
.it-step5-card:active { transform: scale(0.97); }
.it-step5-card.selected {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.25);
}
.it-step5-card.selected::after {
  content: '\2713';
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background: var(--primary);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.25rem;
  text-align: center;
}
.it-step5-card-icon {
  width: 48px;
  height: 48px;
  margin: 0 auto 0.5rem;
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  line-height: 1;
}
.it-step5-card--allegro .it-step5-card-icon { background: #fef3c7; color: #b45309; }
.it-step5-card--romantico .it-step5-card-icon { background: #fce7f3; color: #be185d; }
.it-step5-card--energico .it-step5-card-icon { background: #ffedd5; color: #c2410c; }
.it-step5-card--nostalgico .it-step5-card-icon { background: #ede9fe; color: #5b21b6; }
.it-step5-card--commovente .it-step5-card-icon { background: #e0f2fe; color: #0369a1; }
.it-step5-card--divertente .it-step5-card-icon { background: #dcfce7; color: #15803d; }
.it-step5-card--triste .it-step5-card-icon { background: #f1f5f9; color: #64748b; }
.it-step5-card .title { font-weight: 600; margin: 0 0 0.25rem; font-size: 1rem; }
.it-step5-card .desc { font-size: 0.8125rem; color: var(--text-muted); margin: 0; }
@media (max-width: 560px) {
  .it-step5-cards { grid-template-columns: repeat(2, 1fr); }
}

/* Step 6 – Preferenze voce e lingua (microphone hero, voice type + language sections) */
.it-step-6 { max-width: 640px; padding-top: 1rem; }
.it-step-6 .it-step-hero {
  margin-bottom: 0.5rem;
  transition: transform 0.15s ease;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.it-step-6 .it-step-hero:active { transform: scale(0.98); }
.it-step6-hero-icon {
  width: 88px;
  height: 88px;
  margin: 0 auto;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--primary), var(--accent));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.25rem;
  line-height: 1;
  color: #fff;
  box-shadow: 0 2px 8px rgba(124, 58, 237, 0.2);
}
.it-step-6 .it-step-title { font-size: 1.375rem; margin: 0 0 0.35rem; text-align: center; }
.it-step6-mic { font-size: 0.9rem; color: var(--text-muted); margin-left: 0.2rem; vertical-align: middle; }
.it-step-6 .it-step-sub { text-align: center; margin-bottom: 1.5rem; font-size: 0.9375rem; color: var(--text-muted); }
.it-step6-section { margin-bottom: 1.5rem; }
.it-step6-section-title { font-size: 1rem; font-weight: 600; margin: 0 0 0.75rem; color: var(--text); }
.it-step6-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.it-step6-cards--lang { grid-template-columns: repeat(2, 1fr); }
.it-step6-card {
  background: var(--bg-card);
  border: 2px solid #e2e8f0;
  border-radius: var(--radius);
  padding: 1.25rem;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s ease;
  position: relative;
}
.it-step6-card:hover { border-color: var(--primary-light); box-shadow: var(--shadow-md); }
.it-step6-card:active { transform: scale(0.97); }
.it-step6-card.selected {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.25);
}
.it-step6-card.selected::after {
  content: '\2713';
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background: var(--primary);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.25rem;
  text-align: center;
}
.it-step6-card-icon {
  width: 48px;
  height: 48px;
  margin: 0 auto 0.5rem;
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  line-height: 1;
}
.it-step6-voice--nessuna .it-step6-card-icon { background: #f1f5f9; color: #64748b; }
.it-step6-voice--uomo .it-step6-card-icon { background: #dbeafe; color: #1d4ed8; }
.it-step6-voice--donna .it-step6-card-icon { background: #fce7f3; color: #be185d; }
.it-step6-lang-code {
  display: block;
  width: 56px;
  height: 40px;
  margin: 0 auto 0.5rem;
  border-radius: var(--radius);
  font-size: 1rem;
  font-weight: 700;
  line-height: 40px;
  text-align: center;
  letter-spacing: 0.02em;
}
.it-step6-lang--it .it-step6-lang-code { background: var(--primary); color: #fff; }
.it-step6-lang--en .it-step6-lang-code { background: #dc2626; color: #fff; }
.it-step6-card .title { font-weight: 600; margin: 0 0 0.25rem; font-size: 1rem; }
.it-step6-card .desc { font-size: 0.8125rem; color: var(--text-muted); margin: 0; }
@media (max-width: 520px) {
  .it-step6-cards { grid-template-columns: 1fr; }
  .it-step6-cards--lang { grid-template-columns: repeat(2, 1fr); }
}

/* Step 7 – Raccontaci la tua storia (pink hero, message + extra, char count + Perfetto!) */
.it-step-7 { max-width: 600px; padding-top: 1rem; }
.it-step-7 .it-step-hero { margin-bottom: 0.5rem; }
.it-step7-hero-icon {
  width: 88px;
  height: 88px;
  margin: 0 auto;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, #ec4899, #f472b6);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  line-height: 1;
  color: #fff;
}
.it-step-7 .it-step-title { font-size: 1.375rem; margin: 0 0 0.35rem; text-align: center; }
.it-step-7 .it-step-sub { text-align: center; margin-bottom: 1.5rem; font-size: 0.9375rem; color: var(--text-muted); }
.it-step7-field { margin-bottom: 1.25rem; }
.it-step7-textarea { min-height: 100px; }
.it-step7-char-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.35rem;
  font-size: 0.8125rem;
  color: var(--text-muted);
}
.it-step7-char-ok {
  color: #059669;
  font-weight: 500;
  opacity: 0;
  transition: opacity 0.2s;
}
.it-step7-char-ok--visible { opacity: 1; }
.it-step7-tip { font-size: 0.875rem; color: var(--text-muted); margin: 0 0 1.5rem; display: flex; align-items: center; gap: 0.35rem; }
.it-step7-msg-error {
  margin: 0.75rem 0 0;
  padding: 0.65rem 0.85rem;
  font-size: 0.875rem;
  color: #b91c1c;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: var(--radius);
}

/* Step 8 – Quasi fatto! (green envelope hero, email with envelope + check, order summary) */
.it-step-8 { max-width: 560px; padding-top: 1rem; }
.it-step-8 .it-step-hero { margin-bottom: 0.5rem; }
.it-step8-hero-icon {
  width: 88px;
  height: 88px;
  margin: 0 auto;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, #059669, #10b981);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  line-height: 1;
  color: #fff;
}
.it-step-8 .it-step-title { font-size: 1.375rem; margin: 0 0 0.35rem; text-align: center; }
.it-step-8 .it-step-sub { text-align: center; margin-bottom: 1.25rem; font-size: 0.9375rem; color: var(--text-muted); }
.it-step8-email-wrap { margin-bottom: 0.5rem; }
.it-step8-email-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border: 2px solid #e2e8f0;
  border-radius: var(--radius);
  padding: 0 1rem;
  background: #fff;
  transition: border-color 0.2s;
}
.it-step8-email-row:focus-within { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.15); }
.it-step8-email-icon { font-size: 1.25rem; color: var(--text-muted); flex-shrink: 0; }
.it-step8-email-input { border: none; padding: 0.875rem 0; flex: 1; min-width: 0; }
.it-step8-email-input:focus { outline: none; }
.it-step8-email-ok {
  color: #059669;
  font-size: 1.25rem;
  font-weight: 700;
  opacity: 0;
  flex-shrink: 0;
  transition: opacity 0.2s;
}
.it-step8-email-ok--visible { opacity: 1; }
.it-step8-email-error {
  margin: 0.75rem 0 0;
  padding: 0.65rem 0.85rem;
  font-size: 0.875rem;
  color: #b91c1c;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: var(--radius);
}
.it-step8-email-note { font-size: 0.875rem; color: #2563eb; margin: 0 0 1.5rem; padding-left: 0.25rem; }
.it-step8-summary {
  background: rgba(124, 58, 237, 0.08);
  border-radius: var(--radius-lg);
  padding: 1.25rem;
  margin-bottom: 1.5rem;
  border: 1px solid rgba(124, 58, 237, 0.12);
}
.it-step8-summary-title { margin: 0 0 0.75rem; font-size: 1rem; font-weight: 600; color: var(--text); display: flex; align-items: center; gap: 0.35rem; }
.it-step8-summary-dl { margin: 0; display: grid; gap: 0.4rem; font-size: 0.9375rem; }
.it-step8-summary-dl dt { font-weight: 600; color: var(--text-muted); display: flex; align-items: center; gap: 0.35rem; }
.it-step8-summary-dl dd { margin: 0; }
.it-step8-summary-icon { font-size: 0.9em; opacity: 0.9; }
.it-step8-summary-total { margin: 0.75rem 0 0; padding-top: 0.75rem; border-top: 1px solid rgba(124, 58, 237, 0.2); display: flex; justify-content: space-between; align-items: center; font-size: 1rem; }
.it-step8-summary-total-amount { color: var(--primary); font-weight: 700; }

/* Step 9 – Fatturazione (green document hero, clipboard on title, section “Indirizzo”) */
.it-step-fatturazione { max-width: 560px; padding-top: 1rem; }
.it-step-fatturazione .it-step-hero { margin-bottom: 0.5rem; }
.it-step9-hero-icon {
  width: 88px;
  height: 88px;
  margin: 0 auto;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, #059669, #10b981);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  line-height: 1;
  color: #fff;
}
.it-step-fatturazione .it-step-title { font-size: 1.375rem; margin: 0 0 0.35rem; text-align: center; }
.it-step9-clipboard { font-size: 0.9rem; color: var(--text-muted); margin-left: 0.25rem; vertical-align: middle; }
.it-step-fatturazione .it-step-sub { text-align: center; margin-bottom: 1.5rem; font-size: 0.9375rem; color: var(--text-muted); }
.it-step-fatturazione #billing-form { margin-bottom: 1rem; }
.it-step9-section-title { font-size: 1rem; font-weight: 600; margin: 1rem 0 0.75rem; color: var(--text); }
.it-step9-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 480px) {
  .it-step9-row { grid-template-columns: 1fr; }
}

/* Step 10 – Pagamento / Finalizza ordine (purple-blue hero, summary, discount, secure box, pay button) */
.it-step-pagamento { max-width: 560px; padding-top: 1rem; }
.it-step-pagamento .it-step-hero { margin-bottom: 0.5rem; }
.it-step10-hero-icon {
  width: 88px;
  height: 88px;
  margin: 0 auto;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  line-height: 1;
  color: #fff;
}
.it-step-pagamento .it-step-title { font-size: 1.375rem; margin: 0 0 0.35rem; text-align: center; }
.it-step-pagamento .it-step-sub { text-align: center; margin-bottom: 1.25rem; font-size: 0.9375rem; color: var(--text-muted); }
.it-step10-summary {
  background: #f1f5f9;
  border-radius: var(--radius-lg);
  padding: 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid #e2e8f0;
}
.it-step10-summary-title { margin: 0 0 0.75rem; font-size: 1rem; font-weight: 600; color: var(--text); display: flex; align-items: center; gap: 0.35rem; }
.it-step10-summary-dl { margin: 0; display: grid; gap: 0.4rem; font-size: 0.9375rem; }
.it-step10-summary-dl dt { font-weight: 600; color: var(--text-muted); }
.it-step10-summary-dl dd { margin: 0; }
.it-step10-total { margin: 0.75rem 0 0; padding-top: 0.75rem; border-top: 1px solid #e2e8f0; display: flex; justify-content: space-between; align-items: center; font-size: 1rem; }
.it-step10-total-amount { color: var(--primary); font-weight: 700; }
.it-step10-discount { margin-bottom: 1rem; }
.it-step10-discount label { display: block; font-weight: 500; margin-bottom: 0.35rem; font-size: 0.9375rem; }
.it-step10-discount-row { display: flex; gap: 0.5rem; }
.it-step10-discount-row .it-input { flex: 1; min-width: 0; }
.it-step10-apply { background: var(--text); color: #fff; border: none; }
.it-step10-apply:hover { background: var(--text-muted); }
.it-step10-secure {
  background: #fff;
  border: 1px solid #93c5fd;
  border-radius: var(--radius);
  padding: 1rem;
  margin-bottom: 1rem;
}
.it-step10-secure-title { margin: 0 0 0.25rem; font-weight: 600; font-size: 0.9375rem; }
.it-step10-secure-stripe { margin: 0 0 0.5rem; font-size: 0.8125rem; color: var(--text-muted); }
.it-step10-secure-list { margin: 0; padding-left: 1.25rem; font-size: 0.875rem; color: var(--text-muted); }
.it-step10-secure-list li { margin: 0.2rem 0; }
.it-step10-terms { font-size: 0.8125rem; color: var(--text-muted); margin: 0 0 1rem; }
.it-step10-terms a { color: var(--primary); }
.it-step-pagamento .it-step-actions { margin-bottom: 0.5rem; }
.it-step10-pay { display: inline-flex; align-items: center; gap: 0.35rem; }
.it-step10-benefits { margin: 0 0 0.5rem; font-size: 0.875rem; color: var(--text-muted); }
.it-step10-error { color: #dc2626; font-size: 0.875rem; margin: 0; display: none; }

/* Order placed / done page (Artify-style) */
.it-done-main { max-width: 600px; margin: 0 auto; padding: 3rem 1.5rem 4rem; box-sizing: border-box; }
@media (max-width: 768px) { .it-done-main { padding: 2rem 1rem 3rem; } }
.it-done-card {
  background: var(--bg-card);
  border: 1px solid #e2e8f0;
  border-radius: var(--radius-lg);
  padding: 2.5rem 2rem;
  box-shadow: var(--shadow-md);
  text-align: center;
}
.it-done-icon { font-size: 3.5rem; margin-bottom: 1rem; line-height: 1; }
.it-done-title { margin: 0 0 0.5rem; font-size: 1.75rem; font-weight: 700; color: var(--text); }
.it-done-subtitle { margin: 0 0 1.5rem; font-size: 1rem; color: var(--text-muted); line-height: 1.5; }
.it-done-details {
  text-align: left;
  margin-bottom: 1.5rem;
  background: #f8fafc;
  border-radius: var(--radius);
  padding: 1.25rem;
}
.it-done-detail {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0;
  font-size: 0.9375rem;
  gap: 0.5rem;
}
.it-done-detail:not(:last-child) { border-bottom: 1px solid #e2e8f0; }
.it-done-detail span:first-child { font-weight: 600; color: var(--text); flex-shrink: 0; }
.it-done-detail span:nth-child(2) { color: var(--text-muted); text-align: right; word-break: break-all; }
.it-done-copy {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 0.875rem;
  padding: 0.25rem 0.5rem;
  flex-shrink: 0;
  color: var(--primary);
  font-family: inherit;
}
.it-done-copy:hover { text-decoration: underline; }
.it-done-email-callout {
  background: linear-gradient(135deg, rgba(124, 58, 237, 0.08) 0%, rgba(124, 58, 237, 0.04) 100%);
  border: 1px solid rgba(124, 58, 237, 0.2);
  border-radius: var(--radius);
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.5rem;
  text-align: left;
}
.it-done-email-callout-title { margin: 0 0 0.5rem; font-size: 1rem; font-weight: 700; color: var(--primary); }
.it-done-email-callout-text { margin: 0; font-size: 0.9375rem; color: var(--text); line-height: 1.5; }
.it-done-email-callout-text strong { color: var(--text); }
.it-done-message {
  background: #f8fafc;
  border-radius: var(--radius);
  padding: 1rem 1.25rem;
  margin-bottom: 1.5rem;
  font-size: 0.9375rem;
  color: var(--text);
  text-align: left;
}
.it-done-actions { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; }
.it-done-cta { min-width: 200px; justify-content: center; }
.it-done-home-link {
  display: block;
  font-size: 0.9375rem;
  color: var(--text-muted);
  text-decoration: none;
  margin-top: 0.5rem;
}
.it-done-home-link:hover { color: var(--primary); text-decoration: underline; }
.it-done-summary { margin-bottom: 1.5rem; text-align: left; }
.it-done-summary-title { margin: 0 0 0.75rem; font-size: 1rem; font-weight: 700; color: var(--text); }
.it-done-payment-badge {
  display: inline-block;
  font-size: 0.8125rem;
  color: var(--text-muted);
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 0.35rem 0.75rem;
  margin-bottom: 1.25rem;
}
.it-done-status-badge { font-weight: 600; }
.it-done-status--paid { color: #059669; }

/* Payment success (redirect) page */
.it-step-successo { text-align: center; padding: 2rem 1.5rem; }
.it-successo-icon { font-size: 3rem; margin-bottom: 0.75rem; line-height: 1; display: block; }
.it-successo-sub { margin: 0 0 1rem; color: var(--text-muted); font-size: 1rem; }
.it-successo-redirect { margin: 0 0 1rem; font-size: 0.875rem; color: var(--text-muted); }

/* Order status page – card, badges, download variation cards */
.it-status-page.it-step {
  position: relative;
  max-width: 560px;
  margin: 2rem auto 4rem;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}
.it-status-bg-notes {
  pointer-events: none;
  z-index: 0;
}
.it-status-bg-notes--scattered {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.it-status-bg-notes--scattered .it-status-bg-note {
  position: absolute;
  font-size: 2.5rem;
  opacity: 0.08;
  color: var(--primary);
  line-height: 1;
}
.it-status-wrap { position: relative; z-index: 1; }
.it-status-card {
  position: relative;
  z-index: 1;
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  box-shadow: 0 12px 40px rgba(124, 58, 237, 0.12), 0 2px 12px rgba(0,0,0,0.06);
  border: 1px solid rgba(0,0,0,0.06);
  overflow: hidden;
}
.it-status-page.it-step:has(.it-status-card--has-players) {
  max-width: 720px;
}
.it-status-card-head {
  background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  padding: var(--space-xl) var(--space-lg);
  text-align: center;
}
.it-status-card-icon {
  display: block;
  font-size: 2.5rem;
  color: rgba(255,255,255,0.95);
  margin-bottom: 0.5rem;
  line-height: 1;
}
.it-status-title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.02em;
}
.it-status-loading {
  padding: var(--space-xl) var(--space-lg);
  text-align: center;
  color: var(--text-muted);
  margin: 0;
}
.it-status-content {
  padding: var(--space-xl) var(--space-lg);
}
.it-status-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md) var(--space-xl);
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-lg);
  border-bottom: 1px solid #e2e8f0;
}
.it-status-meta-row {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.it-status-meta-label {
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted);
}
.it-status-meta-value {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--text);
  font-family: ui-monospace, monospace;
}
.it-status-badge {
  display: inline-block;
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  width: fit-content;
}
.it-status-badge--completed {
  background: #d1fae5;
  color: #047857;
}
.it-status-badge--processing,
.it-status-badge--paid {
  background: #fef3c7;
  color: #b45309;
}
.it-status-badge--pending {
  background: #e2e8f0;
  color: var(--text-muted);
}
.it-status-badge--failed {
  background: #fee2e2;
  color: #b91c1c;
}
.it-status-wait-msg {
  margin: 0 0 var(--space-lg);
  padding: var(--space-md);
  background: var(--section-bg-alt);
  border-radius: var(--radius);
  font-size: 0.9375rem;
  color: var(--text);
  line-height: 1.55;
}
.it-status-downloads-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--text);
  margin: 0 0 var(--space-lg);
  text-align: center;
}
/* Completed: two player cards (hero-style) with waveform, time, download */
.it-status-players {
  margin-bottom: var(--space-lg);
}
.it-status-players-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-xl);
  margin-top: var(--space-lg);
}
.it-status-player-wrap {
  position: relative;
}
.it-status-player-wrap .it-status-audio {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
  pointer-events: none;
}
.it-player-card--status {
  padding: 1.5rem;
  box-shadow: 0 0 0 1px rgba(124, 58, 237, 0.12), 0 8px 32px rgba(124, 58, 237, 0.1);
}
.it-player-card--status .it-status-download {
  width: 100%;
  justify-content: center;
  margin-top: 1rem;
}
.it-status-waveform {
  cursor: pointer;
}
.it-status-processing-msg {
  margin: 0 0 var(--space-lg);
  padding: var(--space-md);
  background: linear-gradient(135deg, rgba(124, 58, 237, 0.06) 0%, rgba(236, 72, 153, 0.06) 100%);
  border-radius: var(--radius);
  font-size: 0.9375rem;
  color: var(--text);
  line-height: 1.55;
  border: 1px solid rgba(124, 58, 237, 0.12);
}
.it-status-downloads {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
}
.it-status-variation-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--space-lg);
  background: linear-gradient(180deg, var(--section-bg-alt) 0%, var(--bg-card) 100%);
  border: 2px solid rgba(124, 58, 237, 0.2);
  border-radius: var(--radius-lg);
  text-decoration: none;
  color: var(--text);
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
}
.it-status-variation-card:hover {
  border-color: var(--primary-light);
  box-shadow: 0 8px 24px rgba(124, 58, 237, 0.18);
  transform: translateY(-2px);
}
.it-status-variation-icon {
  font-size: 2rem;
  color: var(--primary);
  margin-bottom: 0.5rem;
  line-height: 1;
}
.it-status-variation-label {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 0.35rem;
}
.it-status-variation-cta {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--primary);
}
.it-status-error {
  padding: var(--space-md) var(--space-lg);
  margin: 0;
  color: #b91c1c;
  background: #fef2f2;
  border-radius: var(--radius);
  font-size: 0.9375rem;
}
.it-status-actions {
  padding: var(--space-lg) var(--space-lg) var(--space-xl);
  border-top: 1px solid #e2e8f0;
  text-align: center;
}
.it-status-home {
  display: inline-block;
}

@media (max-width: 520px) {
  .it-status-downloads {
    grid-template-columns: 1fr;
  }
  .it-status-players-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .it-status-players-grid {
    grid-template-columns: 1fr;
  }
}

/* Summary box */
.it-summary { background: #f5f3ff; border-radius: var(--radius-lg); padding: 1.25rem; margin: 1.5rem 0; }
.it-summary h3 { margin: 0 0 0.75rem; font-size: 1rem; }
.it-summary dl { margin: 0; display: grid; gap: 0.35rem; font-size: 0.9375rem; }
.it-summary dt { font-weight: 600; color: var(--text-muted); }
.it-summary dd { margin: 0; }

/* Footer */
.it-footer {
  background: #1e293b;
  color: #94a3b8;
  padding: var(--space-2xl) var(--section-pad-x);
  margin-top: var(--space-3xl);
}
.it-footer .it-wrap { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--space-xl); }
.it-footer a { color: #94a3b8; text-decoration: none; }
.it-footer a:hover { color: white; }
.it-footer h4 { color: white; font-size: 0.9375rem; margin: 0 0 0.75rem; }

/* Pricing card */
.it-price-card {
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  box-shadow: var(--shadow-md);
  border: 1px solid #e2e8f0;
  max-width: 380px;
  margin: 0 auto;
}
.it-price-card .price { font-size: 1.75rem; font-weight: 700; color: var(--primary); }
.it-price-card ul { list-style: none; padding: 0; margin: 1rem 0 0; }
.it-price-card li { padding: 0.35rem 0; padding-left: 1.5rem; position: relative; font-size: 0.9375rem; }
.it-price-card li::before { content: '✓'; position: absolute; left: 0; color: #10b981; font-weight: 700; }

/* Testimonials – 3 vertical carousels (desktop); single list on mobile */
.it-section--recensioni { position: relative; }
.it-section-bg-notes--recensioni { left: 2%; right: auto; }
.it-section-bg-notes--recensioni-right {
  left: auto;
  right: 2%;
}
.it-testimonials-mobile {
  display: none;
  flex-direction: column;
  gap: var(--space-md);
  margin-top: var(--space-xl);
}
.it-testimonials-carousels {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--grid-gap);
  margin-top: var(--space-xl);
}
.it-testimonial-col {
  overflow: hidden;
  height: 420px;
  position: relative;
}
.it-testimonial-track {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  width: 100%;
}
.it-testimonial-col--up .it-testimonial-track {
  animation: it-testimonial-scroll-up 35s linear infinite;
}
.it-testimonial-col--down .it-testimonial-track {
  transform: translateY(-50%);
  animation: it-testimonial-scroll-down 35s linear infinite;
}
@keyframes it-testimonial-scroll-up {
  0% { transform: translateY(0); }
  100% { transform: translateY(-50%); }
}
@keyframes it-testimonial-scroll-down {
  0% { transform: translateY(-50%); }
  100% { transform: translateY(0); }
}

@media (max-width: 768px) {
  /* On mobile show a single vertical carousel column, like Artify */
  .it-testimonials-carousels {
    grid-template-columns: 1fr;
  }
  .it-testimonials-carousels .it-testimonial-col:nth-child(n+2) {
    display: none;
  }
  .it-testimonial-col {
    height: 360px;
  }
}
.it-testimonial-set {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.it-testimonial {
  background: var(--bg-card);
  padding: 1.25rem;
  border-radius: var(--radius-lg);
  box-shadow: 0 2px 8px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.06);
  flex-shrink: 0;
}
.it-testimonial .stars { color: #f59e0b; margin-bottom: var(--space-sm); }
.it-testimonial .quote { font-size: 0.9375rem; margin-bottom: var(--space-md); line-height: 1.45; }
.it-testimonial .author { font-size: 0.8125rem; color: var(--text-muted); }
.it-testimonials-cta { text-align: center; margin: var(--space-xl) 0 0; }

/* Legacy grid (e.g. recensioni.html) */
.it-testimonials { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.25rem; }
/* Recensioni page: on mobile single column; show only first 3 reviews to avoid very long list */
@media (max-width: 768px) {
  .it-section--recensioni-page .it-testimonials--page { grid-template-columns: 1fr; gap: var(--space-md); }
  .it-section--recensioni-page .it-testimonials--page .it-testimonial:nth-child(n+4) { display: none; }
}

/* How it works – 4 steps */
.it-steps-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem; margin: 2rem 0; }
.it-step-box { text-align: center; padding: 1.25rem; }
.it-step-box .num { width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, var(--primary), var(--accent)); color: white; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; margin-bottom: 0.75rem; }
.it-step-box h3 { font-size: 1rem; margin: 0 0 0.35rem; }
.it-step-box p { font-size: 0.875rem; color: var(--text-muted); margin: 0; }

/* Desktop: show nav, hide hamburger and overlay */
@media (min-width: 769px) {
  .it-hamburger-btn { display: none !important; }
  .it-menu-overlay {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  .it-nav { display: flex !important; }
}

@media (max-width: 768px) {
  .it-header {
    padding: 0.75rem var(--section-pad-x);
  }
  .it-hamburger-btn { display: flex; }
  .it-nav { display: none !important; }
  .it-menu-overlay { display: block; }
  .it-hero-banner { min-height: 360px; padding: var(--space-3xl) var(--space-md); }
  .it-hero-banner-deco--notes { font-size: 2rem; letter-spacing: 0.75rem; }
  .it-hero-banner-deco--headphones { font-size: 3rem; }
  .it-hero-banner-stats { gap: 1.25rem; }
  .it-hero { padding: var(--space-xl) var(--space-md) var(--space-3xl); }
  .it-hero-split { padding: var(--space-xl) var(--space-md) var(--space-3xl); }
  .it-hero-wrap { grid-template-columns: 1fr; gap: var(--space-xl); text-align: center; }
  .it-hero-content .it-hero-tags { justify-content: center; }
  .it-hero-content .it-hero-cta-wrap { justify-content: center; }
  .it-hero-content .it-trust { justify-content: center; }
  .it-player-card--hero .it-player-features {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 0.5rem;
  }
  .it-player-card--hero { min-width: 0; padding: var(--space-lg); max-width: 100%; }
  .it-hero-player { min-height: 0; }
  .it-section { padding: var(--space-3xl) var(--space-md); }
  .it-section--esempi { padding: var(--space-3xl) var(--space-md) 5rem; }
  .it-stats-section { padding: var(--space-3xl) var(--space-md); }
  .it-wrap { padding: 0 var(--space-md); }
  .it-cards { grid-template-columns: repeat(2, 1fr); gap: var(--space-md); }
  .it-occasions { grid-template-columns: 1fr 1fr; gap: var(--space-md); }
  .it-stats-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-md); }
  .it-song-cards { grid-template-columns: repeat(2, 1fr); gap: var(--space-md); }
  .it-feature-cards { grid-template-columns: repeat(2, 1fr); gap: var(--space-md); }
  .it-how-steps { grid-template-columns: 1fr; gap: 0; align-items: stretch; }
  .it-how-progress-line { display: none; }
  /* Prezzi: stack contenuti come su Artify */
  .it-pricing-layout {
    display: block;
    margin-top: var(--space-lg);
  }
  .it-pricing-left {
    margin-bottom: var(--space-xl);
  }
  /* Mobile: number on left, vertical line, card on right (Artify-style) */
  .it-how-step {
    display: grid;
    grid-template-columns: 3.25rem 1fr;
    column-gap: 1rem;
    align-items: center;
    position: relative;
    padding-bottom: 1.5rem;
  }
  .it-how-step:not(:last-child)::after {
    content: '';
    position: absolute;
    left: calc(3.25rem / 2 - 1px);
    top: 50%;
    bottom: -2.5rem;
    width: 2px;
    background: linear-gradient(180deg, var(--primary) 0%, var(--accent) 100%);
    border-radius: 2px;
    opacity: 0.5;
  }
  .it-how-step .it-how-num {
    grid-column: 1;
    grid-row: 1;
    width: 3.25rem;
    height: 3.25rem;
    margin-bottom: 0;
    align-self: center;
    font-size: 1.25rem;
  }
  .it-how-step .it-how-card {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
  }
  .it-pricing-layout { grid-template-columns: 1fr; gap: var(--space-lg); }
  .it-pricing-card-outer { padding: var(--space-xl) var(--space-md) var(--space-3xl); }
  .it-pricing-card-wrap {
    max-width: 380px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
  }
  .it-price-card--main { padding-bottom: 1.75rem; }
  .it-price-cta { margin-bottom: 0.5rem; }
  .it-footer { padding: var(--space-xl) var(--space-md); margin-top: var(--space-xl); }
  .it-footer-grid { grid-template-columns: 1fr; gap: var(--space-lg); }
  .it-footer .it-wrap.it-footer-bottom-inner { flex-direction: column; text-align: center; gap: var(--space-sm); }
  .it-footer-bottom { padding: var(--space-md); }
  .it-testimonials-mobile {
    display: none;
  }
  .it-testimonial-col { height: 340px; }
  .it-esempi-title { font-size: 1.5rem; }
  .it-stats-title { font-size: 1.5rem; }
  .it-section-title { font-size: 1.5rem; }
  /* Pages without hamburger button: show nav stacked (e.g. some subpages) */
  .it-header:not(:has(.it-hamburger-btn)) .it-nav {
    display: flex;
    width: 100%;
    order: 99;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0.5rem 0 1rem;
    border-top: 1px solid #e2e8f0;
    margin-top: 0.5rem;
  }
  .it-header:not(:has(.it-hamburger-btn)) .it-nav a {
    padding: 0.75rem 0;
    min-height: 48px;
    border-bottom: 1px solid #f1f5f9;
  }
}

/* Very small phones: single column, tighter padding */
@media (max-width: 480px) {
  .it-hero-content .it-hero-cta-wrap { flex-direction: column; }
  .it-hero-cta-main { width: 100%; justify-content: center; }
  .it-hero-demo-btn { width: 100%; justify-content: center; }
  .it-header { padding: 0.5rem var(--space-md); }
  .it-hero-split { padding: var(--space-lg) var(--space-md) var(--space-xl); }
  .it-hero-wrap { gap: var(--space-lg); }
  .it-hero-content h1 { font-size: clamp(1.5rem, 6vw, 2rem); }
  .it-section { padding: var(--space-xl) var(--space-md); }
  .it-section--esempi { padding: var(--space-xl) var(--space-md) 5rem; }
  .it-stats-section { padding: var(--space-xl) var(--space-md); }
  .it-stats-grid { grid-template-columns: 1fr; gap: var(--space-md); }
  .it-song-cards { grid-template-columns: 1fr; gap: var(--space-md); }
  .it-song-card-body { padding-bottom: var(--space-md); }
  .it-feature-cards { grid-template-columns: 1fr; gap: var(--space-md); }
  .it-cards { grid-template-columns: 1fr; }
  .it-occasions { grid-template-columns: 1fr; }
  .it-esempi-title { font-size: 1.375rem; }
  .it-stats-title { font-size: 1.375rem; }
  .it-section-title { font-size: 1.375rem; }
  .it-song-cta-wrap .it-btn { min-height: 48px; padding: 0.75rem 1.25rem; }
  .it-hero-cta-main { min-height: 48px; padding: 0.75rem 1.25rem; }
  .it-hero-demo-btn { min-height: 48px; }
  body { font-size: 1rem; }
}

/* ============================================================
   Auxiliary pages – Artify-style framework (help, legal, contact)
   ============================================================ */

/* ── Generic page hero (come-funziona, recensioni, prezzi) ── */
.it-page-hero {
  position: relative;
  padding: 4rem 1.5rem 2.5rem;
  text-align: center;
  overflow: hidden;
  background: linear-gradient(160deg, rgba(245,243,255,0.95) 0%, rgba(253,242,248,0.7) 50%, rgba(240,253,244,0.5) 100%);
}
.it-page-hero-inner { position: relative; max-width: 640px; margin: 0 auto; }
.it-page-hero-pill {
  display: inline-block;
  padding: 0.4rem 1.1rem;
  border-radius: 9999px;
  background: rgba(255,255,255,0.9);
  border: 1px solid rgba(124,58,237,0.2);
  color: var(--primary-dark);
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.it-page-hero-title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 800;
  color: var(--text);
  margin: 0 0 0.5rem;
  line-height: 1.2;
}
.it-page-hero-title .gradient {
  background: linear-gradient(135deg, var(--primary), var(--accent));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.it-page-hero-sub {
  font-size: 1.0625rem;
  color: var(--text-muted);
  margin: 0;
  line-height: 1.5;
}

/* ── Help / FAQ page ── */
.it-help-hero {
  position: relative;
  padding: 4rem 2rem 3rem;
  text-align: center;
  overflow: hidden;
  background: linear-gradient(160deg, rgba(245,243,255,0.95) 0%, rgba(253,242,248,0.7) 50%, rgba(240,253,244,0.5) 100%);
}
.it-help-hero-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 70% 80% at 10% 20%, rgba(124,58,237,0.08) 0%, transparent 55%),
    radial-gradient(ellipse 60% 70% at 90% 10%, rgba(236,72,153,0.06) 0%, transparent 55%);
}
.it-help-hero-inner { position: relative; max-width: 640px; margin: 0 auto; }
.it-help-hero-pill {
  display: inline-block;
  padding: 0.4rem 1.1rem;
  border-radius: 9999px;
  background: rgba(255,255,255,0.9);
  border: 1px solid rgba(124,58,237,0.2);
  color: var(--primary-dark);
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 1.25rem;
}
.it-help-hero-title {
  font-size: clamp(1.875rem, 4.5vw, 2.75rem);
  font-weight: 800;
  color: var(--text);
  margin: 0 0 0.75rem;
  line-height: 1.15;
}
.it-help-gradient {
  background: linear-gradient(135deg, var(--primary), var(--accent));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.it-help-hero-sub {
  font-size: 1.0625rem;
  color: var(--text-muted);
  margin: 0 0 1.75rem;
  line-height: 1.6;
}
.it-help-search-wrap {
  max-width: 480px;
  margin: 0 auto 1.75rem;
  position: relative;
}
.it-help-search {
  width: 100%;
  padding: 0.9rem 1rem 0.9rem 2.875rem;
  border: 1.5px solid #e2e8f0;
  border-radius: var(--radius);
  font-family: inherit;
  font-size: 0.9375rem;
  color: var(--text);
  background: rgba(255,255,255,0.95);
  box-sizing: border-box;
}
.it-help-search:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(124,58,237,0.12);
}
.it-help-search-icon {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.25rem;
  height: 1.25rem;
  color: var(--text-muted);
}
.it-help-hero-stats {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.it-help-hero-stat {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 1rem;
  background: rgba(255,255,255,0.9);
  border: 1px solid rgba(124,58,237,0.12);
  border-radius: 9999px;
}
.it-help-hero-stat-icon { font-size: 0.9rem; }
.it-help-hero-stat-value { font-weight: 700; color: var(--text); font-size: 0.9rem; }
.it-help-hero-stat-label { color: var(--text-muted); font-size: 0.8rem; }

.it-help-page { max-width: 860px; margin: 0 auto; padding: 2.5rem 2rem 5rem; }
.it-help-cat-section { margin-bottom: 3rem; }
.it-help-cat-title {
  text-align: center;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--text);
  margin: 0 0 1.25rem;
}
.it-help-cat-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.it-help-cat-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1.25rem;
  border-radius: var(--radius-lg);
  border: 1.5px solid transparent;
  background: #fff;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.it-help-cat-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.09);
}
.it-help-cat-card-icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  flex-shrink: 0;
}
.it-help-cat-card-icon svg { width: 22px; height: 22px; }
.it-help-cat-card-name { font-size: 0.9375rem; font-weight: 700; color: var(--text); line-height: 1.3; }
.it-help-cat-card-desc { font-size: 0.8125rem; color: var(--text-muted); line-height: 1.45; }
.it-help-cat-card--blue .it-help-cat-card-icon { background: rgba(124,58,237,0.12); color: var(--primary); }
.it-help-cat-card--blue.active,
.it-help-cat-card--blue:hover { border-color: rgba(124,58,237,0.3); background: rgba(245,243,255,0.6); }
.it-help-cat-card--green .it-help-cat-card-icon { background: rgba(16,185,129,0.12); color: #059669; }
.it-help-cat-card--green.active,
.it-help-cat-card--green:hover { border-color: rgba(16,185,129,0.3); background: rgba(240,253,244,0.6); }
.it-help-cat-card--orange .it-help-cat-card-icon { background: rgba(245,158,11,0.12); color: #d97706; }
.it-help-cat-card--orange.active,
.it-help-cat-card--orange:hover { border-color: rgba(245,158,11,0.3); background: rgba(255,251,235,0.7); }
.it-help-cat-card--red .it-help-cat-card-icon { background: rgba(239,68,68,0.1); color: #dc2626; }
.it-help-cat-card--red.active,
.it-help-cat-card--red:hover { border-color: rgba(239,68,68,0.25); background: rgba(254,242,242,0.7); }

.it-help-qa-section { margin-bottom: 2.5rem; }
.it-help-qa-section.hidden { display: none; }
.it-help-qa-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #f1f5f9;
}
.it-help-qa-header-icon {
  width: 52px;
  height: 52px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
}
.it-help-qa-header-icon svg { width: 26px; height: 26px; }
.it-help-qa-icon--blue { background: rgba(124,58,237,0.12); color: var(--primary); }
.it-help-qa-icon--green { background: rgba(16,185,129,0.12); color: #059669; }
.it-help-qa-icon--orange { background: rgba(245,158,11,0.14); color: #d97706; }
.it-help-qa-icon--red { background: rgba(239,68,68,0.12); color: #dc2626; }
.it-help-qa-header-title { font-size: 1.25rem; font-weight: 700; color: var(--text); margin: 0 0 0.2rem; }
.it-help-qa-header-sub { font-size: 0.875rem; color: var(--text-muted); margin: 0; }

.it-help-q-item {
  margin-bottom: 0.625rem;
  border-radius: var(--radius);
  border: 1px solid #e2e8f0;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.03);
}
.it-help-q-item:hover { border-color: rgba(124,58,237,0.2); }
.it-help-q-item.is-open {
  border-color: rgba(124,58,237,0.28);
  box-shadow: 0 4px 14px rgba(124,58,237,0.07);
}
.it-help-q-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  border: none;
  background: none;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  font-weight: 600;
  color: var(--text);
  font-size: 0.9375rem;
}
.it-help-q-item.is-open .it-help-q-btn { color: var(--primary); }
.it-help-q-btn .chevron {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  color: var(--text-muted);
  transition: transform 0.25s ease;
}
.it-help-q-item.is-open .it-help-q-btn .chevron { transform: rotate(180deg); color: var(--primary); }
.it-help-a-wrap { overflow: hidden; }
.it-help-q-item:not(.is-open) .it-help-a-wrap { display: none; }
.it-help-a-steps {
  list-style: none;
  padding: 0.75rem 1.25rem 1.25rem;
  margin: 0;
  border-top: 1px solid #f1f5f9;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  counter-reset: step-counter;
}
.it-help-a-steps li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 0.9375rem;
  color: var(--text-muted);
  line-height: 1.5;
  counter-increment: step-counter;
}
.it-help-a-steps li::before {
  content: counter(step-counter);
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.1rem;
}

.it-help-cta-card {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 3rem 2rem;
  text-align: center;
  box-shadow: 0 4px 24px rgba(0,0,0,0.07);
  border: 1px solid rgba(124,58,237,0.08);
  margin-top: 3rem;
}
.it-help-cta-icon-wrap {
  width: 72px;
  height: 72px;
  margin: 0 auto 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  color: #fff;
}
.it-help-cta-icon-wrap svg { width: 32px; height: 32px; }
.it-help-cta-title { font-size: 1.5rem; font-weight: 800; color: var(--text); margin: 0 0 0.6rem; }
.it-help-cta-desc { font-size: 1rem; color: var(--text-muted); margin: 0 0 1.75rem; line-height: 1.55; max-width: 420px; margin-left: auto; margin-right: auto; }
.it-help-cta-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.875rem; margin-bottom: 1.5rem; }
.it-help-cta-extra { font-size: 0.875rem; color: var(--text-muted); display: flex; align-items: center; justify-content: center; gap: 0.5rem; flex-wrap: wrap; }
.it-help-cta-create-link { color: var(--primary); font-weight: 600; text-decoration: none; padding: 0.3rem 0.75rem; border: 1px solid rgba(124,58,237,0.2); border-radius: 9999px; }
.it-help-cta-create-link:hover { background: rgba(124,58,237,0.06); }

@media (max-width: 768px) {
  .it-help-cat-cards { grid-template-columns: 1fr 1fr; gap: 0.75rem; }
  .it-help-cat-card-desc { display: none; }
  .it-help-cta-btns { flex-direction: column; }
  .it-help-cta-btn-primary, .it-help-cta-btn-secondary { width: 100%; justify-content: center; }
}

/* ── Legal pages (privacy, terms) ── */
.it-legal-hero {
  position: relative;
  padding: 5rem 1.5rem 3.5rem;
  text-align: center;
  overflow: hidden;
  background: linear-gradient(135deg, #f5f3ff 0%, #fdf2f8 50%, #f0f9ff 100%);
}
.it-legal-hero-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 60% 50% at 20% 20%, rgba(124,58,237,0.08) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 80% 80%, rgba(236,72,153,0.06) 0%, transparent 60%);
}
.it-legal-hero-inner { position: relative; z-index: 1; max-width: 700px; margin: 0 auto; }
.it-legal-pill {
  display: inline-block;
  padding: 0.4rem 1rem;
  border-radius: 999px;
  font-size: 0.8125rem;
  font-weight: 600;
  background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  color: #fff;
  margin-bottom: 1.25rem;
  box-shadow: 0 4px 14px rgba(124,58,237,0.25);
}
.it-legal-hero-title {
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 800;
  color: var(--text);
  margin: 0 0 1rem;
  line-height: 1.15;
}
.it-legal-gradient {
  background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.it-legal-hero-sub { font-size: 1.0625rem; color: var(--text-muted); margin: 0 0 1.5rem; line-height: 1.6; }
.it-legal-meta { display: flex; align-items: center; justify-content: center; gap: 0.75rem; flex-wrap: wrap; }
.it-legal-meta-item { font-size: 0.875rem; color: var(--text-muted); font-weight: 500; }
.it-legal-meta-sep { color: #cbd5e1; font-size: 1.1rem; }

.it-legal-page {
  max-width: 1080px;
  margin: 0 auto;
  padding: 3rem 1.5rem 5rem;
  display: grid;
  grid-template-columns: 260px 1fr;
  grid-template-rows: auto 1fr auto;
  gap: 0 3rem;
  align-items: start;
}
.it-legal-toc {
  grid-column: 1;
  grid-row: 1 / 3;
  position: sticky;
  top: 6rem;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 1.5rem;
  box-shadow: 0 2px 12px rgba(0,0,0,0.05);
}
.it-legal-toc-title { font-size: 0.8125rem; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.08em; margin: 0 0 1rem; }
.it-legal-toc-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.25rem; }
.it-legal-toc-list a {
  display: block;
  padding: 0.45rem 0.6rem;
  border-radius: 8px;
  font-size: 0.875rem;
  color: var(--text-muted);
  text-decoration: none;
  font-weight: 500;
}
.it-legal-toc-list a:hover { background: #f5f3ff; color: var(--primary); }
.it-legal-body { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; gap: 0; }
.it-legal-section {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 1.25rem;
  padding: 2rem 0;
  border-bottom: 1px solid #f1f5f9;
  scroll-margin-top: 6rem;
}
.it-legal-section:last-child { border-bottom: none; }
.it-legal-section-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 0.2rem;
}
.it-legal-section-icon svg { width: 22px; height: 22px; }
.it-legal-icon--blue { background: linear-gradient(135deg, #e9e5ff, #ddd6fe); color: var(--primary-dark); }
.it-legal-icon--purple { background: linear-gradient(135deg, #f3e8ff, #fae8ff); color: #7c3aed; }
.it-legal-icon--green { background: linear-gradient(135deg, #d1fae5, #a7f3d0); color: #059669; }
.it-legal-icon--amber { background: linear-gradient(135deg, #fef3c7, #fde68a); color: #b45309; }
.it-legal-icon--red { background: linear-gradient(135deg, #fee2e2, #fecaca); color: #b91c1c; }
.it-legal-section-content h2 { font-size: 1.1875rem; font-weight: 700; color: var(--text); margin: 0 0 0.75rem; line-height: 1.3; }
.it-legal-section-content p { font-size: 0.9375rem; color: var(--text-muted); line-height: 1.7; margin: 0 0 0.75rem; }
.it-legal-section-content ul { margin: 0.5rem 0 0.75rem; padding-left: 1.25rem; gap: 0.35rem; }
.it-legal-section-content li { font-size: 0.9375rem; color: var(--text-muted); line-height: 1.6; }
.it-legal-section-content a { color: var(--primary); text-decoration: none; font-weight: 500; }
.it-legal-section-content a:hover { text-decoration: underline; }
.it-legal-cta {
  grid-column: 2;
  grid-row: 2;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-top: 2.5rem;
  padding: 2rem 2.5rem;
  background: linear-gradient(135deg, #f5f3ff 0%, #fdf2f8 100%);
  border: 1px solid #e9e5ff;
  border-radius: 16px;
  flex-wrap: wrap;
}
.it-legal-cta p { margin: 0; font-size: 1rem; font-weight: 600; color: var(--text); flex: 1; min-width: 180px; }

@media (max-width: 900px) {
  .it-legal-page { grid-template-columns: 1fr; grid-template-rows: auto auto auto; gap: 2rem; padding: 2rem 1.25rem 4rem; }
  .it-legal-toc { grid-column: 1; grid-row: 1; position: static; }
  .it-legal-body { grid-column: 1; grid-row: 2; }
  .it-legal-cta { grid-column: 1; grid-row: 3; }
}
@media (max-width: 600px) {
  .it-legal-hero { padding: 4.5rem 1.25rem 2.5rem; }
  .it-legal-section { grid-template-columns: 44px 1fr; gap: 1rem; padding: 1.5rem 0; }
  .it-legal-cta { flex-direction: column; align-items: flex-start; padding: 1.5rem; }
}

/* ── Contact page ── */
.it-contact-hero {
  position: relative;
  padding: 4rem 2rem 3rem;
  text-align: center;
  overflow: hidden;
  background: linear-gradient(160deg, rgba(245,243,255,0.95) 0%, rgba(253,242,248,0.7) 50%, rgba(240,253,244,0.6) 100%);
}
.it-contact-hero-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 70% 80% at 10% 20%, rgba(124,58,237,0.1) 0%, transparent 55%),
    radial-gradient(ellipse 60% 70% at 90% 10%, rgba(236,72,153,0.08) 0%, transparent 55%);
}
.it-contact-hero-inner { position: relative; max-width: 700px; margin: 0 auto; }
.it-contact-pill {
  display: inline-block;
  padding: 0.45rem 1.25rem;
  border-radius: 9999px;
  background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  margin-bottom: 1.25rem;
  box-shadow: 0 4px 16px rgba(124,58,237,0.3);
}
.it-contact-hero-title {
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 800;
  color: var(--text);
  margin: 0 0 0.75rem;
  line-height: 1.15;
}
.it-contact-gradient {
  background: linear-gradient(135deg, var(--primary), var(--accent));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.it-contact-hero-sub { font-size: 1.0625rem; color: var(--text-muted); margin: 0 0 2rem; line-height: 1.6; }
.it-contact-stats { display: flex; justify-content: center; gap: 1rem; flex-wrap: wrap; }
.it-contact-stat {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.1rem;
  background: rgba(255,255,255,0.9);
  border: 1px solid rgba(124,58,237,0.12);
  border-radius: 9999px;
  font-size: 0.9rem;
}
.it-contact-stat-icon { font-size: 1rem; }
.it-contact-stat-value { font-weight: 700; color: var(--text); }
.it-contact-stat-label { color: var(--text-muted); font-size: 0.8125rem; }

.it-contact-page { max-width: 1100px; margin: 0 auto; padding: 3rem 2rem 5rem; }
.it-contact-methods {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-bottom: 4rem;
}
.it-contact-method-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 2rem 1.5rem;
  border-radius: var(--radius-lg);
  text-decoration: none;
  color: var(--text);
  transition: transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 2px 16px rgba(0,0,0,0.06);
  border: 1px solid transparent;
}
.it-contact-method-card:hover { transform: translateY(-5px); box-shadow: 0 12px 32px rgba(0,0,0,0.1); }
.it-contact-method-icon-wrap {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  margin-bottom: 1.25rem;
}
.it-contact-method-icon { width: 28px; height: 28px; }
.it-contact-method-email { background: linear-gradient(135deg, rgba(124,58,237,0.07) 0%, rgba(236,72,153,0.05) 100%); border-color: rgba(124,58,237,0.12); }
.it-contact-method-email .it-contact-method-icon-wrap { background: linear-gradient(135deg, var(--primary), var(--accent)); color: white; }
.it-contact-method-phone { background: linear-gradient(135deg, rgba(236,72,153,0.07) 0%, rgba(245,158,11,0.05) 100%); border-color: rgba(236,72,153,0.12); }
.it-contact-method-phone .it-contact-method-icon-wrap { background: linear-gradient(135deg, var(--accent), #f59e0b); color: white; }
.it-contact-method-whatsapp { background: linear-gradient(135deg, rgba(16,185,129,0.07) 0%, rgba(124,58,237,0.05) 100%); border-color: rgba(16,185,129,0.15); }
.it-contact-method-whatsapp .it-contact-method-icon-wrap { background: linear-gradient(135deg, #10b981, #059669); color: white; }
.it-contact-method-title { font-size: 1.125rem; font-weight: 700; color: var(--text); margin: 0 0 0.4rem; }
.it-contact-method-value { font-size: 0.9375rem; font-weight: 600; color: var(--primary); margin-bottom: 0.3rem; display: block; }
.it-contact-method-note { font-size: 0.8125rem; color: var(--text-muted); }

.it-contact-form-section { }
.it-contact-form-header { margin-bottom: 2rem; }
.it-contact-form-title { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 800; color: var(--text); margin: 0 0 0.5rem; }
.it-contact-form-desc { font-size: 1rem; color: var(--text-muted); margin: 0; }
.it-contact-form-layout { display: grid; grid-template-columns: 300px 1fr; gap: 2rem; align-items: start; }
.it-contact-hours-card {
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  padding: 1.75rem;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  border: 1px solid #e2e8f0;
}
.it-contact-hours-icon-wrap {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(124, 58, 237, 0.08);
  border-radius: var(--radius);
  margin-bottom: 1rem;
  color: var(--primary);
}
.it-contact-hours-icon { width: 22px; height: 22px; }
.it-contact-hours-title { font-size: 1.0625rem; font-weight: 700; color: var(--text); margin: 0 0 1rem; }
.it-contact-hours-list { list-style: none; padding: 0; margin: 0 0 1.25rem; }
.it-contact-hours-list li { display: flex; justify-content: space-between; padding: 0.5rem 0; font-size: 0.9375rem; color: var(--text-muted); border-bottom: 1px solid rgba(0,0,0,0.05); }
.it-contact-hours-list li span:first-child { color: var(--text); font-weight: 500; }
.it-contact-form {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 2rem;
  box-shadow: 0 2px 16px rgba(0,0,0,0.06);
  border: 1px solid rgba(124,58,237,0.08);
}
.it-contact-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.it-contact-form-field { margin-bottom: 1.1rem; }
.it-contact-form-field label { display: block; font-size: 0.875rem; font-weight: 600; color: var(--text); margin-bottom: 0.4rem; }
.it-contact-form-field input,
.it-contact-form-field textarea {
  width: 100%;
  padding: 0.8rem 1rem;
  border: 1.5px solid #e2e8f0;
  border-radius: var(--radius);
  font-family: inherit;
  font-size: 0.9375rem;
  color: var(--text);
  background: #fafafa;
  box-sizing: border-box;
}
.it-contact-form-field input:focus,
.it-contact-form-field textarea:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(124,58,237,0.1); }
.it-contact-form-field textarea { resize: vertical; min-height: 120px; }
.it-contact-form-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  max-width: 280px;
  margin-top: 0.75rem;
  padding: 0.75rem 1.5rem;
  border-radius: var(--radius);
  font-size: 0.9375rem;
  font-weight: 600;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  border: none;
  color: white;
  box-shadow: 0 2px 8px rgba(124, 58, 237, 0.25);
  transition: transform 0.15s ease, box-shadow 0.2s ease, opacity 0.2s;
}
.it-contact-form-submit:hover { opacity: 0.96; box-shadow: 0 3px 12px rgba(124, 58, 237, 0.3); }
.it-contact-form-submit:active { transform: scale(0.98); }
.it-contact-form-submit-icon {
  width: 1.1rem;
  height: 1.1rem;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .it-contact-methods { grid-template-columns: 1fr; gap: 1rem; margin-bottom: 2.5rem; }
  .it-contact-method-card { flex-direction: row; text-align: left; padding: 1.25rem; gap: 1rem; }
  .it-contact-method-icon-wrap { width: 52px; height: 52px; flex-shrink: 0; margin-bottom: 0; border-radius: 14px; }
  .it-contact-form-layout { grid-template-columns: 1fr; gap: 1.25rem; }
  .it-contact-form { padding: 1.5rem; }
  .it-contact-form-row { grid-template-columns: 1fr; }
}
