/*
Theme Name: Suonatu
Theme URI: https://www.suonatu.it
Author: Suonatu DJ Crew
Author URI: https://www.suonatu.it
Description: Tema WordPress per Suonatu - piattaforma di prenotazione DJ per matrimoni, eventi, manifestazioni sportive, locali, feste private e compleanni. Tutte le sezioni sono editabili da Aspetto > Personalizza (testi, colori, immagini).
Version: 4.4
Requires at least: 5.9
Requires PHP: 7.4
Text Domain: suonatu
*/

/* =========================================================
   0. RESET & VARIABILI (i valori reali vengono iniettati
      dinamicamente da inc/customizer.php in un <style> inline,
      qui mettiamo solo i default di fallback)
   ========================================================= */
:root{
  --sn-primary: #8b5cf6;
  --sn-secondary: #ec4899;
  --sn-bg-dark: #0b0b12;
  --sn-bg-dark-2: #14141f;
  --sn-bg-light: #f5f5f7;
  --sn-text-light: #ffffff;
  --sn-text-dark: #14141f;
  --sn-muted: #a1a1aa;
  --sn-radius: 16px;
  --sn-font: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

*{ box-sizing: border-box; margin:0; padding:0; }
html{ scroll-behavior: smooth; overflow-x: hidden; width: 100%; max-width: 100%; }
body{
  font-family: var(--sn-font);
  background: var(--sn-bg-dark);
  color: var(--sn-text-light);
  line-height: 1.6;
  overflow-x: hidden;
  width: 100%;
  max-width: 100%;
  position: relative;
}
img{ max-width:100%; display:block; }
a{ text-decoration:none; color:inherit; }
ul{ list-style:none; }
.container{ max-width:1200px; margin:0 auto; padding:0 24px; }
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 28px; border-radius:50px; font-weight:600;
  font-size:14px; letter-spacing:.5px; text-transform:uppercase;
  border:2px solid transparent; cursor:pointer; transition:.25s ease;
}
.btn-primary{
  background: linear-gradient(90deg, var(--sn-primary), var(--sn-secondary));
  color:#fff;
}
.btn-primary:hover{ filter:brightness(1.1); transform:translateY(-2px); }
.btn-outline{
  background:transparent; border-color: rgba(255,255,255,.4); color:#fff;
}
.btn-outline:hover{ border-color:#fff; }
.btn-dark{ background:#14141f; color:#fff; }
.eyebrow{ color: var(--sn-primary); font-weight:700; letter-spacing:1px; text-transform:uppercase; font-size:13px; }
.section-title{ font-size: clamp(24px,4vw,38px); font-weight:800; text-align:center; }
.section-subtitle{ text-align:center; color: var(--sn-muted); max-width:600px; margin:10px auto 0; }
.section{ padding: 90px 0; }
.section-light{ background: var(--sn-bg-light); color: var(--sn-text-dark); }
.section-light .section-subtitle{ color:#555; }
.placeholder-bg{
  background: linear-gradient(135deg, var(--sn-primary), var(--sn-secondary));
  background-size: cover; background-position:center;
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.85); font-size:13px; text-align:center; padding:20px;
}

/* =========================================================
   1. HEADER
   ========================================================= */
.sn-header{
  position:sticky; top:0; z-index:999;
  background: rgba(10,10,16,.85);
  backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.sn-header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 24px; max-width:1300px; margin:0 auto;
}
.sn-logo{ display:flex; align-items:center; gap:12px; }
.sn-logo img{ max-height:44px; }
.sn-logo-text{ display:flex; flex-direction:column; line-height:1.1; }
.sn-logo-text strong{ font-size:20px; letter-spacing:2px; font-weight:800; }
.sn-logo-text span{ font-size:10px; letter-spacing:2px; color: var(--sn-muted); }
.sn-nav ul{ display:flex; gap:32px; align-items:center; }
.sn-nav a{ font-size:14px; font-weight:600; color:#e5e5e5; transition:.2s; }
.sn-nav a:hover, .sn-nav .current-menu-item > a{ color: var(--sn-primary); }
.sn-header-cta{ display:flex; align-items:center; gap:20px; }
.sn-header-cta .btn{ padding:10px 22px; font-size:12px; }
.sn-burger{ display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; }
.sn-burger span{ width:26px; height:2px; background:#fff; }

@media(max-width:900px){
  .sn-nav{
    position:fixed; top:70px; right:0; bottom:0;
    width: min(300px, 85vw); max-width:85vw;
    background: var(--sn-bg-dark); padding:30px 24px;
    transform: translateX(100%); transition:.3s;
    box-shadow: -10px 0 30px rgba(0,0,0,.4);
    overflow-y:auto;
  }
  .sn-nav.open{ transform:translateX(0); }
  .sn-nav ul{ flex-direction:column; align-items:flex-start; gap:22px; }
  .sn-burger{ display:flex; }
}

/* =========================================================
   2. HERO
   ========================================================= */
.sn-hero{ position:relative; overflow:hidden; background: var(--sn-bg-dark); }
.sn-hero-grid{
  display:grid; grid-template-columns: 1fr 1.2fr; gap:40px; align-items:center;
  max-width:1300px; margin:0 auto; padding: 60px 24px;
}
.sn-hero h1{ font-size: clamp(32px,5vw,52px); font-weight:800; line-height:1.1; margin-bottom:18px; }
.sn-hero p{ color: var(--sn-muted); font-size:16px; margin-bottom:28px; max-width:480px; }
.sn-hero-actions{ display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.sn-hero-play{ display:flex; align-items:center; gap:12px; font-weight:600; font-size:13px; }
.sn-hero-play .circle{
  width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,.4);
  display:flex; align-items:center; justify-content:center;
}
.sn-hero-img-wrap{ position:relative; border-radius: var(--sn-radius); overflow:hidden; min-height:380px; }
.sn-hero-img-wrap img{ width:100%; height:100%; object-fit:cover; min-height:380px; }
.sn-hero-badge{
  position:absolute; top:20px; right:20px; font-family:cursive; font-style:italic;
  color:#fff; font-size:14px; text-align:right; opacity:.85; line-height:1.3;
}
@media(max-width:900px){ .sn-hero-grid{ grid-template-columns:1fr; } }

/* =========================================================
   3. CATEGORIE EVENTI
   ========================================================= */
.sn-categories-grid{
  display:grid; grid-template-columns: repeat(6,1fr); gap:16px; margin-top:50px;
}
.sn-cat-card{
  border-radius: var(--sn-radius); overflow:hidden; position:relative; aspect-ratio: 3/4;
  background:#1a1a24;
}
.sn-cat-card img, .sn-cat-card .placeholder-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sn-cat-card .overlay{
  position:absolute; inset:0; background: linear-gradient(0deg, rgba(0,0,0,.85), rgba(0,0,0,.1) 60%);
  display:flex; flex-direction:column; justify-content:flex-end; padding:16px;
}
.sn-cat-card h3{ font-size:14px; font-weight:800; margin-bottom:4px; letter-spacing:.5px; }
.sn-cat-card p{ font-size:11px; color: rgba(255,255,255,.75); }
@media(max-width:1000px){ .sn-categories-grid{ grid-template-columns: repeat(3,1fr); } }
@media(max-width:600px){ .sn-categories-grid{ grid-template-columns: repeat(2,1fr); } }

/* =========================================================
   4. COME FUNZIONA
   ========================================================= */
.sn-how{ display:grid; grid-template-columns: 1fr 1fr; gap:50px; align-items:center; margin-top:40px; }
.sn-how-steps{ display:grid; grid-template-columns: 1fr 1fr; gap:30px 24px; }
.sn-step-num{
  width:38px; height:38px; border-radius:50%; background:#1a1a24; border:1px solid rgba(255,255,255,.15);
  display:flex; align-items:center; justify-content:center; font-weight:700; margin-bottom:14px;
}
.sn-step h4{ font-size:14px; font-weight:800; margin-bottom:6px; letter-spacing:.5px; }
.sn-step p{ font-size:13px; color: var(--sn-muted); }
.sn-how-img{ border-radius: var(--sn-radius); overflow:hidden; min-height:320px; position:relative; }
.sn-how-img img, .sn-how-img .placeholder-bg{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; filter:grayscale(.3); }
@media(max-width:900px){ .sn-how{ grid-template-columns:1fr; } }

/* =========================================================
   5. GENERI MUSICALI
   ========================================================= */
.sn-genres-grid{
  display:grid; grid-template-columns: repeat(6,1fr); gap:18px; margin-top:50px;
}
.sn-genre{ text-align:center; }
.sn-genre .icon{
  width:70px; height:70px; margin:0 auto 10px; border-radius:50%;
  border:1px solid rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center;
  font-size:26px; background:#14141f;
}
.sn-genre span{ font-size:12px; font-weight:600; color:#ddd; }
@media(max-width:900px){ .sn-genres-grid{ grid-template-columns: repeat(4,1fr); } }
@media(max-width:560px){ .sn-genres-grid{ grid-template-columns: repeat(3,1fr); } }

/* =========================================================
   6. PLAYLIST
   ========================================================= */
.sn-playlist{ background: var(--sn-bg-dark-2); }
.sn-playlist-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:50px; align-items:center; }
.sn-playlist-img{ border-radius: var(--sn-radius); overflow:hidden; min-height:340px; position:relative; }
.sn-playlist-img img, .sn-playlist-img .placeholder-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sn-playlist-content h2{ font-size: clamp(24px,3.5vw,34px); font-weight:800; margin-bottom:14px; }
.sn-playlist-content p{ color: var(--sn-muted); margin-bottom:26px; max-width:420px; }
.sn-playlist-box{
  background: rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  border-radius: var(--sn-radius); padding:14px; max-height:320px; overflow:auto;
}
.sn-song{
  display:flex; align-items:center; gap:12px; padding:10px 8px; border-radius:10px; font-size:13px;
}
.sn-song:hover{ background: rgba(255,255,255,.05); }
.sn-song .num{ width:20px; color: var(--sn-muted); font-size:12px; }
.sn-song .thumb{
  width:34px; height:34px; border-radius:6px; background: linear-gradient(135deg,var(--sn-primary),var(--sn-secondary));
  flex-shrink:0;
}
.sn-song .title{ flex:1; }
@media(max-width:900px){ .sn-playlist-grid{ grid-template-columns:1fr; } }

/* =========================================================
   7. APP
   ========================================================= */
.sn-app{ background: var(--sn-bg-light); color: var(--sn-text-dark); }
.sn-app-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:50px; align-items:center; }
.sn-app-phones{ display:flex; gap:16px; justify-content:center; }
.sn-app-phones .phone{
  width:48%; max-width:220px; border-radius:24px; overflow:hidden; box-shadow:0 20px 50px rgba(0,0,0,.25);
  aspect-ratio: 9/18; position:relative;
}
.sn-app-phones .phone img, .sn-app-phones .phone .placeholder-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sn-app-content h2{ font-size: clamp(24px,3.5vw,34px); font-weight:800; margin-bottom:14px; }
.sn-app-content > p{ color:#555; margin-bottom:20px; max-width:420px; }
.sn-app-features{ margin-bottom:26px; }
.sn-app-features li{ display:flex; align-items:center; gap:10px; margin-bottom:10px; font-weight:500; }
.sn-app-features li:before{ content:"✔"; color: var(--sn-primary); font-weight:700; }
.sn-app-badges{ display:flex; gap:14px; flex-wrap:wrap; }
.sn-app-badges a{
  display:flex; align-items:center; gap:8px; background:#111; color:#fff; padding:10px 18px; border-radius:10px; font-size:13px;
}
.sn-app-badges small{ display:block; font-size:9px; color:#aaa; }
@media(max-width:900px){ .sn-app-grid{ grid-template-columns:1fr; } .sn-app-grid{ direction:ltr; } }

/* =========================================================
   8. TESTIMONIANZE
   ========================================================= */
.sn-testimonials-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:24px; margin-top:50px; }
.sn-testimonial-card{
  background: rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  border-radius: var(--sn-radius); padding:26px;
}
.sn-testimonial-head{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.sn-testimonial-avatar{ width:46px; height:46px; border-radius:50%; overflow:hidden; flex-shrink:0; }
.sn-testimonial-avatar img, .sn-testimonial-avatar .placeholder-bg{ width:100%; height:100%; object-fit:cover; font-size:9px; }
.sn-testimonial-name{ font-weight:700; font-size:14px; }
.sn-stars{ color:#facc15; font-size:12px; }
.sn-testimonial-text{ font-size:14px; color:#ccc; font-style:italic; }
@media(max-width:900px){ .sn-testimonials-grid{ grid-template-columns:1fr; } }

/* =========================================================
   9. FOOTER
   ========================================================= */
.sn-footer{ background:#000; padding:26px 0 24px; border-top:1px solid rgba(255,255,255,.06); }
.sn-footer-top{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:40px; padding-bottom:40px; }
.sn-footer-cols{ display:flex; gap:60px; flex-wrap:wrap; }
.sn-footer-col h5{ font-size:13px; text-transform:uppercase; letter-spacing:1px; margin-bottom:16px; color:#888; }
.sn-footer-col ul li{ margin-bottom:10px; }
.sn-footer-col a{ font-size:14px; color:#ddd; }
.sn-footer-col a:hover{ color: var(--sn-primary); }
.sn-social{ display:flex; gap:14px; margin-top:16px; }
.sn-social a{
  width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,.2);
  display:flex; align-items:center; justify-content:center; font-size:14px;
}
.sn-footer-bottom{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;
  border-top:1px solid rgba(255,255,255,.08); padding-top:24px; font-size:12px; color:#888;
}

/* =========================================================
   10. MODULO DI PRENOTAZIONE
   ========================================================= */
.sn-booking-notice{
  background: rgba(139,92,246,.12); border:1px solid rgba(139,92,246,.35);
  color:#e9d5ff; padding:14px 18px; border-radius:12px; font-size:14px;
  margin: 24px 0 36px; text-align:center;
}
.sn-form-heading{
  font-size:16px; font-weight:800; letter-spacing:.5px; text-transform:uppercase;
  margin: 40px 0 18px; padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,.1);
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
}
.sn-badge-fvg{
  background: linear-gradient(90deg,var(--sn-primary),var(--sn-secondary));
  color:#fff; font-size:11px; font-weight:700; letter-spacing:.5px;
  padding:4px 12px; border-radius:50px; text-transform:none;
}
.sn-field-hint{ color: var(--sn-muted); font-size:13px; margin-bottom:16px; }
.sn-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.sn-field{ display:flex; flex-direction:column; gap:6px; }
.sn-field-full{ grid-column: 1 / -1; }
.sn-field label{ font-size:13px; font-weight:600; color:#ddd; }
.sn-field input,
.sn-field select,
.sn-field textarea{
  background: rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.15);
  border-radius:10px; padding:12px 14px; color:#fff; font-family:var(--sn-font); font-size:14px;
}
.sn-field input:focus,
.sn-field select:focus,
.sn-field textarea:focus{ outline:none; border-color: var(--sn-primary); }
.sn-field select option{ background:#14141f; color:#fff; }
.sn-genre-checks{ display:grid; grid-template-columns: repeat(4,1fr); gap:10px; }
.sn-genre-check{
  display:flex; align-items:center; gap:8px; background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1); border-radius:10px; padding:10px 12px; font-size:13px; cursor:pointer;
}
.sn-genre-check input{ accent-color: var(--sn-primary); }
.sn-playlist-rows{ display:flex; flex-direction:column; gap:10px; }
.sn-playlist-row{ display:flex; gap:10px; align-items:center; }
.sn-playlist-row input{
  flex:1; background: rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.15);
  border-radius:10px; padding:12px 14px; color:#fff; font-family:var(--sn-font); font-size:14px;
}
.sn-playlist-row input:focus{ outline:none; border-color: var(--sn-primary); }
.sn-remove-song{
  width:38px; height:38px; flex-shrink:0; border-radius:10px; border:1px solid rgba(255,255,255,.15);
  background:transparent; color:#fff; cursor:pointer; font-size:14px;
}
.sn-remove-song:hover{ background: rgba(239,68,68,.2); border-color:#ef4444; }
.sn-privacy-check{
  display:flex; align-items:flex-start; gap:10px; margin:30px 0; font-size:13px; color:#ccc;
}
.sn-privacy-check a{ color: var(--sn-primary); text-decoration:underline; }
.sn-submit-btn{ width:100%; justify-content:center; font-size:15px; padding:16px; }
.sn-form-message{ padding:14px 18px; border-radius:10px; margin-bottom:20px; font-size:14px; }
.sn-message-success{ background: rgba(34,197,94,.15); border:1px solid #22c55e; color:#bbf7d0; }
.sn-message-error{ background: rgba(239,68,68,.15); border:1px solid #ef4444; color:#fecaca; }
@media(max-width:700px){
  .sn-form-grid{ grid-template-columns:1fr; }
  .sn-genre-checks{ grid-template-columns: repeat(2,1fr); }
}

/* -------- Calendario di disponibilità -------- */
.sn-field-error{ border-color:#ef4444 !important; }
.sn-date-display{ cursor:pointer; background: rgba(255,255,255,.05) !important; }
.sn-date-display::placeholder{ color: var(--sn-muted); }
.sn-calendar{
  margin-top:14px; background: rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12);
  border-radius:14px; padding:18px; max-width:400px;
}
.sn-calendar-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; font-size:14px; }
.sn-calendar-header strong{ text-transform:capitalize; }
.sn-calendar-header button{
  background:transparent; border:1px solid rgba(255,255,255,.2); color:#fff;
  width:32px; height:32px; border-radius:8px; cursor:pointer; font-size:16px; line-height:1;
}
.sn-calendar-header button:hover{ border-color: var(--sn-primary); color: var(--sn-primary); }
.sn-calendar-weekdays{
  display:grid; grid-template-columns: repeat(7,1fr); text-align:center;
  font-size:11px; color: var(--sn-muted); margin-bottom:8px; text-transform:uppercase; letter-spacing:.5px;
}
.sn-calendar-grid{ display:grid; grid-template-columns: repeat(7,1fr); gap:6px; }
.sn-cal-loading{ grid-column: 1 / -1; text-align:center; padding:20px 0; color: var(--sn-muted); font-size:13px; }
.sn-cal-day{
  aspect-ratio:1; border:none; border-radius:8px; background: rgba(255,255,255,.06);
  color:#fff; font-size:13px; cursor:pointer; transition:.15s;
}
.sn-cal-empty{ background:transparent; cursor:default; }
.sn-cal-disabled{ background:transparent; color:#3a3a45; cursor:not-allowed; }
.sn-cal-occupied{
  background: rgba(239,68,68,.12); color:#f87171; cursor:not-allowed;
  text-decoration: line-through; text-decoration-color: rgba(248,113,113,.5);
}
.sn-cal-free:hover{ background: rgba(139,92,246,.35); }
.sn-cal-selected{
  background: linear-gradient(135deg,var(--sn-primary),var(--sn-secondary)) !important;
  color:#fff !important; font-weight:700;
}
.sn-calendar-legend{
  display:flex; gap:16px; margin-top:16px; font-size:11px; color: var(--sn-muted); flex-wrap:wrap;
}
.sn-calendar-legend span{ display:flex; align-items:center; gap:5px; }
.sn-dot{ display:inline-block; width:9px; height:9px; border-radius:50%; }
.sn-dot-free{ background: rgba(255,255,255,.25); }
.sn-dot-occupied{ background:#ef4444; }
.sn-dot-selected{ background: linear-gradient(135deg,var(--sn-primary),var(--sn-secondary)); }

/* Utility */
.text-center{ text-align:center; }
.mt-30{ margin-top:30px; }

/* =========================================================
   AREA ARTISTI - LOGIN DEDICATO DJ NOW
   ========================================================= */
.djnow-artist-area{
  min-height:calc(100vh - 76px); position:relative; overflow:hidden;
  display:flex; align-items:center; padding:70px 24px 90px;
  background:
    radial-gradient(circle at 18% 20%, rgba(139,92,246,.16), transparent 34%),
    radial-gradient(circle at 85% 75%, rgba(236,72,153,.10), transparent 32%),
    #0b0b12;
}
.djnow-artist-login-wrap{
  position:relative; z-index:2; width:100%; max-width:1080px; margin:0 auto;
  display:grid; grid-template-columns:minmax(0,520px) minmax(0,1fr); gap:80px; align-items:center;
}
.djnow-artist-login-card{
  background:rgba(20,20,31,.94); border:1px solid rgba(255,255,255,.10);
  box-shadow:0 35px 100px rgba(0,0,0,.45); border-radius:26px; padding:40px;
  backdrop-filter:blur(18px);
}
.djnow-artist-login-brand{display:flex; justify-content:center; margin-bottom:24px;}
.djnow-artist-login-brand img{max-width:230px; max-height:80px; object-fit:contain;}
.djnow-artist-wordmark{font-size:34px; font-weight:900; letter-spacing:-1px;}
.djnow-artist-wordmark span{color:var(--sn-primary);}
.djnow-artist-login-copy{text-align:center; margin-bottom:28px;}
.djnow-artist-login-copy h1{font-size:clamp(28px,4vw,38px); line-height:1.1; margin:8px 0 10px;}
.djnow-artist-login-copy p{color:var(--sn-muted); font-size:14px; max-width:430px; margin:0 auto;}
.djnow-artist-login-form{display:grid; gap:18px;}
.djnow-field{display:grid; gap:8px;}
.djnow-field label{font-size:13px; font-weight:700; color:#f4f4f8;}
.djnow-field-label-row{display:flex; justify-content:space-between; gap:18px; align-items:center;}
.djnow-field-label-row a{font-size:12px; color:#b8a5ff;}
.djnow-field input{
  width:100%; min-height:52px; padding:0 16px; border-radius:13px;
  border:1px solid rgba(255,255,255,.12); background:#0f0f18; color:#fff;
  outline:none; transition:.2s ease; font-family:inherit;
}
.djnow-field input:focus{border-color:var(--sn-primary); box-shadow:0 0 0 3px rgba(139,92,246,.14);}
.djnow-remember{display:flex; align-items:center; gap:10px; color:#c9c9d3; font-size:12px; cursor:pointer;}
.djnow-remember input{accent-color:var(--sn-primary); width:16px; height:16px;}
.djnow-login-submit{border:none; justify-content:center; width:100%; min-height:52px; margin-top:3px;}
.djnow-login-alert,.djnow-login-success{padding:13px 15px; border-radius:12px; margin-bottom:18px; font-size:13px;}
.djnow-login-alert{background:rgba(239,68,68,.10); border:1px solid rgba(239,68,68,.28); color:#fecaca;}
.djnow-login-success{background:rgba(34,197,94,.10); border:1px solid rgba(34,197,94,.28); color:#bbf7d0;}
.djnow-artist-login-foot{border-top:1px solid rgba(255,255,255,.08); margin-top:26px; padding-top:18px; display:flex; justify-content:space-between; gap:16px; font-size:11px; color:#868694;}
.djnow-artist-login-foot a{color:#c4b5fd; white-space:nowrap;}
.djnow-artist-side-copy h2{font-size:clamp(42px,6vw,70px); line-height:.98; letter-spacing:-3px; margin:14px 0 22px;}
.djnow-artist-side-copy h2 span{color:#9f7aea;}
.djnow-artist-side-copy p{color:#a8a8b3; max-width:470px; font-size:15px;}
.djnow-side-points{display:grid; gap:12px; margin-top:34px; color:#d7d7df; font-size:12px; font-weight:700; letter-spacing:.7px;}
.djnow-side-points span{padding:12px 0; border-bottom:1px solid rgba(255,255,255,.08);}
.djnow-artist-glow{position:absolute; border-radius:50%; filter:blur(100px); opacity:.25; pointer-events:none;}
.djnow-artist-glow-one{width:360px;height:360px;background:#7c3aed;left:-120px;top:70px;}
.djnow-artist-glow-two{width:320px;height:320px;background:#db2777;right:-120px;bottom:0;}
body.page-template-page-area-artisti .sn-footer{margin-top:0;}
@media(max-width:900px){
  .djnow-artist-login-wrap{grid-template-columns:1fr; max-width:560px; gap:34px;}
  .djnow-artist-side-copy{text-align:center; order:-1;}
  .djnow-artist-side-copy h2{font-size:42px; letter-spacing:-2px;}
  .djnow-artist-side-copy p{margin:0 auto;}
  .djnow-side-points{display:none;}
}
@media(max-width:560px){
  .djnow-artist-area{padding:42px 16px 64px; align-items:flex-start;}
  .djnow-artist-login-card{padding:26px 20px; border-radius:20px;}
  .djnow-artist-side-copy h2{font-size:36px;}
  .djnow-artist-login-foot{flex-direction:column; text-align:center;}
}

/* =========================================================
   DJNOW COOKIE CONSENT
   ========================================================= */
html.djnow-cookie-open,html.djnow-cookie-open body{overflow:hidden;}
.djnow-cookie-backdrop{position:fixed;inset:0;z-index:99996;background:rgba(2,2,8,.70);backdrop-filter:blur(5px);}
.djnow-cookie-banner{position:fixed;z-index:99998;left:22px;right:22px;bottom:22px;max-width:1120px;margin:0 auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:center;padding:22px 24px;background:rgba(15,15,24,.98);border:1px solid rgba(139,92,246,.35);border-radius:22px;box-shadow:0 28px 90px rgba(0,0,0,.55);color:#fff;}
.djnow-cookie-banner[hidden],.djnow-cookie-modal[hidden],.djnow-cookie-backdrop[hidden]{display:none!important;}
.djnow-cookie-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--sn-primary),var(--sn-secondary));font-size:24px;font-weight:900;box-shadow:0 10px 30px rgba(139,92,246,.25);}
.djnow-cookie-copy h2{margin:0 0 6px;font-size:20px;letter-spacing:-.4px;}.djnow-cookie-copy p{margin:0;color:#b7b7c2;font-size:12px;line-height:1.65;max-width:660px;}.djnow-cookie-links{display:flex;gap:14px;margin-top:7px}.djnow-cookie-links a{font-size:11px;color:#c4b5fd;text-decoration:underline;}
.djnow-cookie-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.djnow-cookie-actions .btn,.djnow-cookie-modal-actions .btn{border:none;cursor:pointer;white-space:nowrap}.djnow-cookie-secondary{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.13)!important}.djnow-cookie-secondary:hover{background:rgba(255,255,255,.10);}
.djnow-cookie-close{display:none;position:absolute;right:13px;top:10px;border:0;background:none;color:#aaa;font-size:25px;cursor:pointer;}
.djnow-cookie-modal{position:fixed;z-index:99999;left:50%;top:50%;transform:translate(-50%,-50%);width:min(720px,calc(100% - 30px));max-height:calc(100vh - 38px);overflow:auto;background:#101019;border:1px solid rgba(139,92,246,.35);border-radius:24px;padding:28px;box-shadow:0 35px 120px rgba(0,0,0,.7);color:#fff;}
.djnow-cookie-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.djnow-cookie-modal-head h2{font-size:27px;margin:3px 0 0}.djnow-cookie-eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;color:#a78bfa}.djnow-cookie-modal-close{border:0;background:rgba(255,255,255,.06);color:#fff;border-radius:10px;width:38px;height:38px;font-size:22px;cursor:pointer}.djnow-cookie-intro{font-size:13px;color:#aaaab6;line-height:1.7;margin:16px 0 22px;}
.djnow-cookie-options{display:grid;gap:10px}.djnow-cookie-option{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:17px 18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:15px}.djnow-cookie-option strong{font-size:14px}.djnow-cookie-option p{margin:4px 0 0;font-size:11px;line-height:1.55;color:#92929f}.djnow-cookie-always{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#b7f7cc;background:rgba(34,197,94,.10);border:1px solid rgba(34,197,94,.22);padding:6px 9px;border-radius:20px;white-space:nowrap}
.djnow-switch{position:relative;width:48px;height:27px;flex:0 0 auto}.djnow-switch input{opacity:0;position:absolute}.djnow-switch span{position:absolute;inset:0;background:#30303c;border-radius:30px;cursor:pointer;transition:.2s}.djnow-switch span:after{content:"";position:absolute;width:21px;height:21px;left:3px;top:3px;background:white;border-radius:50%;transition:.2s}.djnow-switch input:checked+span{background:linear-gradient(135deg,var(--sn-primary),var(--sn-secondary))}.djnow-switch input:checked+span:after{transform:translateX(21px)}
.djnow-cookie-modal-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:22px}.djnow-cookie-manage{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline}.djnow-embed-consent{min-height:220px;display:grid;place-items:center;text-align:center;padding:30px;border-radius:16px;background:#11111b;border:1px dashed rgba(139,92,246,.4);color:#fff}.djnow-embed-consent p{color:#aaa;font-size:13px}.djnow-cookie-manage-inline{border:0;border-radius:10px;background:var(--sn-primary);color:white;padding:10px 14px;cursor:pointer;font-weight:700}
.sn-footer-legal{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.sn-footer-legal a,.sn-footer-legal button{color:inherit;font-size:inherit;}
@media(max-width:850px){.djnow-cookie-banner{grid-template-columns:auto 1fr;padding:20px}.djnow-cookie-actions{grid-column:1/-1;justify-content:stretch}.djnow-cookie-actions .btn{flex:1}.djnow-cookie-close{display:block}.djnow-cookie-mark{align-self:start}.djnow-cookie-copy{padding-right:20px}}
@media(max-width:560px){.djnow-cookie-banner{left:10px;right:10px;bottom:10px;grid-template-columns:1fr;border-radius:18px;padding:19px}.djnow-cookie-mark{display:none}.djnow-cookie-actions{display:grid;grid-template-columns:1fr 1fr}.djnow-cookie-actions .btn:last-child{grid-column:1/-1}.djnow-cookie-modal{padding:22px 17px;border-radius:20px}.djnow-cookie-option{padding:14px;gap:12px}.djnow-cookie-modal-actions{display:grid;grid-template-columns:1fr}.djnow-cookie-modal-actions .btn{width:100%}}

/* =========================================================
   11. MOBILE NAVIGATION ENHANCEMENT - DjNow v1.8
   ========================================================= */
.sn-nav-backdrop{display:none;}

@media(max-width:900px){
  .sn-header{z-index:1100;background:rgba(8,8,14,.96);}
  .sn-header-inner{min-height:70px;padding:12px 18px;position:relative;}
  .sn-logo{position:relative;z-index:1103;min-width:0;}
  .sn-logo img{max-height:40px;max-width:190px;width:auto;object-fit:contain;}

  .sn-burger{
    display:flex;position:relative;z-index:1103;
    width:48px;height:48px;padding:0;
    align-items:center;justify-content:center;gap:0;
    border:1px solid rgba(255,255,255,.18);
    border-radius:14px;background:rgba(255,255,255,.07);
    box-shadow:0 6px 22px rgba(0,0,0,.24);
    transition:background .2s,border-color .2s,transform .2s;
  }
  .sn-burger:hover,.sn-burger:focus-visible{background:rgba(139,92,246,.16);border-color:var(--sn-primary);outline:none;}
  .sn-burger span{
    position:absolute;width:24px;height:2.5px;border-radius:3px;
    background:#fff;transition:transform .25s ease,opacity .2s ease,top .25s ease;
  }
  .sn-burger span:nth-child(1){top:15px;}
  .sn-burger span:nth-child(2){top:22px;}
  .sn-burger span:nth-child(3){top:29px;}
  .sn-burger.open span:nth-child(1){top:22px;transform:rotate(45deg);}
  .sn-burger.open span:nth-child(2){opacity:0;}
  .sn-burger.open span:nth-child(3){top:22px;transform:rotate(-45deg);}

  .sn-nav{
    position:fixed;z-index:1102;
    top:0;right:0;bottom:0;
    width:min(360px,88vw);max-width:none;
    padding:92px 22px 30px;
    background:linear-gradient(180deg,#0b0b12 0%,#11111b 100%);
    border-left:1px solid rgba(255,255,255,.08);
    box-shadow:-18px 0 60px rgba(0,0,0,.56);
    transform:translateX(105%);
    transition:transform .3s cubic-bezier(.22,.61,.36,1);
    overflow-y:auto;overscroll-behavior:contain;
  }
  .sn-nav.open{transform:translateX(0);}
  .sn-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;margin:0;padding:0;}
  .sn-nav li{width:100%;margin:0;border-bottom:1px solid rgba(255,255,255,.09);}
  .sn-nav li:first-child{border-top:1px solid rgba(255,255,255,.09);}
  .sn-nav a{
    position:relative;display:flex;align-items:center;
    width:100%;min-height:58px;padding:15px 34px 15px 4px;
    color:#fff;font-size:17px;font-weight:650;line-height:1.25;
    letter-spacing:.1px;
  }
  .sn-nav a::after{
    content:'›';position:absolute;right:6px;top:50%;transform:translateY(-53%);
    color:rgba(255,255,255,.45);font-size:27px;font-weight:300;
  }
  .sn-nav a:hover,.sn-nav a:focus-visible,.sn-nav .current-menu-item>a{
    color:#fff;background:linear-gradient(90deg,rgba(139,92,246,.16),transparent);
    padding-left:12px;outline:none;
  }
  .sn-nav .current-menu-item>a::before{
    content:'';position:absolute;left:0;top:15px;bottom:15px;width:3px;
    border-radius:3px;background:linear-gradient(180deg,var(--sn-primary),var(--sn-secondary));
  }

  .sn-nav-backdrop{
    display:block;position:fixed;z-index:1101;inset:0;
    background:rgba(0,0,0,.62);backdrop-filter:blur(3px);
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .25s ease,visibility .25s ease;
  }
  .sn-nav-backdrop.open{opacity:1;visibility:visible;pointer-events:auto;}
  body.sn-menu-open{overflow:hidden;touch-action:none;}
}

@media(max-width:420px){
  .sn-header-inner{padding:10px 14px;}
  .sn-logo img{max-width:165px;max-height:36px;}
  .sn-burger{width:44px;height:44px;border-radius:12px;}
  .sn-burger span:nth-child(1){top:13px;}
  .sn-burger span:nth-child(2){top:20px;}
  .sn-burger span:nth-child(3){top:27px;}
  .sn-burger.open span:nth-child(1),.sn-burger.open span:nth-child(3){top:20px;}
  .sn-nav{width:92vw;padding:82px 18px 26px;}
  .sn-nav a{font-size:16px;min-height:56px;}
}

/* =========================================================
   12. MOBILE NAVIGATION HIGH CONTRAST - DjNow v1.9
   ========================================================= */
@media (max-width:900px){
  .sn-header{
    background:#08080d !important;
    border-bottom:1px solid rgba(255,255,255,.12) !important;
    backdrop-filter:none !important;
  }
  .sn-header-inner{
    min-height:68px !important;
  }
  .sn-logo img{
    max-height:38px !important;
    max-width:170px !important;
  }
  .sn-burger{
    display:flex !important;
    background:#8b5cf6 !important;
    border:0 !important;
    box-shadow:0 8px 24px rgba(139,92,246,.30) !important;
  }
  .sn-burger span{
    background:#fff !important;
    height:3px !important;
  }

  .sn-nav{
    display:block !important;
    position:fixed !important;
    z-index:1102 !important;
    top:68px !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100vw !important;
    max-width:100vw !important;
    height:calc(100dvh - 68px) !important;
    padding:22px 18px 32px !important;
    background:#08080d !important;
    border:0 !important;
    box-shadow:none !important;
    transform:translateX(100%) !important;
    opacity:1 !important;
    visibility:visible !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
  }
  .sn-nav.open{
    transform:translateX(0) !important;
  }
  .sn-nav::before{
    content:'MENU';
    display:block;
    margin:0 0 16px !important;
    color:#8b5cf6 !important;
    font-size:12px !important;
    font-weight:800 !important;
    letter-spacing:2px !important;
  }
  .sn-nav ul,
  .sn-nav .menu{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }
  .sn-nav li{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }
  .sn-nav li:first-child{
    border:0 !important;
  }
  .sn-nav a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:64px !important;
    padding:16px 18px !important;
    border:1px solid rgba(255,255,255,.13) !important;
    border-radius:14px !important;
    background:#15151e !important;
    color:#ffffff !important;
    font-family:var(--sn-font) !important;
    font-size:19px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    text-shadow:none !important;
  }
  .sn-nav a::after{
    content:'→' !important;
    position:static !important;
    transform:none !important;
    flex:0 0 auto !important;
    margin-left:18px !important;
    color:#a78bfa !important;
    font-size:22px !important;
    line-height:1 !important;
    opacity:1 !important;
  }
  .sn-nav a:hover,
  .sn-nav a:focus-visible,
  .sn-nav .current-menu-item > a{
    padding-left:18px !important;
    background:#201735 !important;
    border-color:#8b5cf6 !important;
    color:#fff !important;
    outline:none !important;
  }
  .sn-nav .current-menu-item > a::before{
    display:none !important;
  }
  .sn-nav-backdrop{
    display:block !important;
    background:rgba(0,0,0,.78) !important;
    backdrop-filter:none !important;
  }
}

@media(max-width:420px){
  .sn-logo img{max-width:150px !important;max-height:34px !important;}
  .sn-nav{padding:18px 14px 26px !important;}
  .sn-nav a{font-size:18px !important;min-height:60px !important;padding:15px 16px !important;}
}


/* =========================================================
   13. MOBILE NAVIGATION UX FIX - DjNow v2.0
   ========================================================= */
@media (max-width:900px){
  .sn-header{
    background:#111119 !important;
  }
  .sn-nav{
    background:linear-gradient(180deg,#15151f 0%,#1b1b27 100%) !important;
  }
  .sn-nav a{
    background:#242433 !important;
    border-color:rgba(255,255,255,.16) !important;
    box-shadow:0 8px 20px rgba(0,0,0,.16) !important;
  }
  .sn-nav a:hover,
  .sn-nav a:focus-visible,
  .sn-nav .current-menu-item > a{
    background:#31234a !important;
    border-color:#9b74ff !important;
  }
  .sn-nav-backdrop{
    background:rgba(8,8,13,.55) !important;
  }
}


/* =========================================================
   14. MOBILE NAVIGATION NATIVE LINKS - DjNow v2.1
   ========================================================= */
@media (max-width:900px){
  body.sn-menu-open{
    overflow:hidden !important;
    touch-action:auto !important;
  }
  .sn-nav{
    background:linear-gradient(180deg,#1b1b27 0%,#222231 100%) !important;
  }
  .sn-nav a{
    background:#2b2b3c !important;
    border-color:rgba(255,255,255,.20) !important;
  }
  .sn-nav a:active,
  .sn-nav a:hover,
  .sn-nav a:focus-visible,
  .sn-nav .current-menu-item > a{
    background:#3b2d57 !important;
    border-color:#a78bfa !important;
  }
  .sn-nav-backdrop{
    background:rgba(8,8,13,.42) !important;
  }
}


/* =========================================================
   15. MOBILE NAVIGATION STACKING FIX - DjNow v2.2
   Overlay always BEHIND the header/drawer so links remain clickable.
   ========================================================= */
@media (max-width:900px){
  .sn-header{
    position:sticky !important;
    z-index:2000 !important;
    background:#171722 !important;
    border-bottom:1px solid rgba(255,255,255,.12) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  .sn-header-inner{
    position:relative !important;
    z-index:2002 !important;
  }
  .sn-nav{
    z-index:2001 !important;
    background:linear-gradient(180deg,#20202d 0%,#29293a 100%) !important;
  }
  .sn-nav a{
    position:relative !important;
    z-index:2003 !important;
    pointer-events:auto !important;
    background:#343448 !important;
    border-color:rgba(255,255,255,.22) !important;
    box-shadow:0 7px 18px rgba(0,0,0,.12) !important;
  }
  .sn-nav a:active,
  .sn-nav a:hover,
  .sn-nav a:focus-visible,
  .sn-nav .current-menu-item > a{
    background:#493665 !important;
    border-color:#b69cff !important;
  }
  .sn-nav-backdrop{
    z-index:1900 !important;
    background:rgba(8,8,13,.22) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  .sn-nav-backdrop.open{
    pointer-events:auto !important;
  }
}

/* =========================================================
   16. PAGINE CHI SIAMO & CONTATTI - DjNow v2.3
   ========================================================= */
.sn-inner-hero{
  position:relative; overflow:hidden; padding:100px 0 86px;
  background:
    radial-gradient(circle at 78% 40%,rgba(139,92,246,.22),transparent 30%),
    radial-gradient(circle at 60% 10%,rgba(236,72,153,.10),transparent 26%),
    linear-gradient(180deg,#11111a 0%,var(--sn-bg-dark) 100%);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.sn-inner-hero:after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(to bottom,#000,transparent 90%);
}
.sn-inner-hero .container{position:relative;z-index:2;}
.sn-inner-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;min-height:430px;}
.sn-inner-hero h1{font-size:clamp(42px,7vw,78px);line-height:1.02;letter-spacing:-2.5px;margin:12px 0 22px;font-weight:800;}
.sn-inner-hero h1 span{color:var(--sn-primary);}
.sn-inner-hero p{max-width:640px;color:#c8c8d1;font-size:17px;line-height:1.8;}
.sn-inner-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px;}

.sn-about-visual{position:relative;height:410px;display:flex;align-items:center;justify-content:center;}
.sn-about-mark{position:relative;z-index:3;width:225px;height:225px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0b0b12;border:1px solid rgba(255,255,255,.14);box-shadow:0 0 0 20px rgba(139,92,246,.04),0 30px 80px rgba(0,0,0,.45),0 0 60px rgba(139,92,246,.22);font-size:50px;line-height:.9;font-weight:800;letter-spacing:-3px;}
.sn-about-mark span{color:var(--sn-primary);font-size:37px;letter-spacing:3px;}
.sn-about-orbit{position:absolute;border:1px solid rgba(139,92,246,.28);border-radius:50%;}
.sn-about-orbit-one{width:330px;height:330px;}
.sn-about-orbit-two{width:410px;height:410px;border-color:rgba(255,255,255,.08);}
.sn-about-pulse{position:absolute;z-index:4;bottom:45px;display:flex;align-items:flex-end;gap:6px;height:44px;}
.sn-about-pulse i{display:block;width:6px;border-radius:6px;background:linear-gradient(to top,var(--sn-primary),var(--sn-secondary));}
.sn-about-pulse i:nth-child(1){height:18px}.sn-about-pulse i:nth-child(2){height:34px}.sn-about-pulse i:nth-child(3){height:44px}.sn-about-pulse i:nth-child(4){height:27px}.sn-about-pulse i:nth-child(5){height:14px}

.sn-two-col{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start;}
.sn-two-col h2,.sn-contact-aside h2,.sn-contact-form-wrap h2{font-size:clamp(30px,4vw,48px);line-height:1.12;letter-spacing:-1.4px;margin-top:10px;}
.sn-rich-copy{font-size:17px;color:#c7c7d1;}
.sn-rich-copy p{margin-bottom:22px;}
.sn-quote{border-left:3px solid var(--sn-primary);padding:16px 0 16px 22px;color:#fff!important;font-size:21px;font-weight:600;line-height:1.5;}

.sn-info-grid{display:grid;gap:22px;margin-top:46px;}
.sn-info-grid-3{grid-template-columns:repeat(3,1fr);}
.sn-info-grid-2{grid-template-columns:repeat(2,1fr);}
.sn-info-card{border-radius:20px;padding:30px;background:#fff;border:1px solid #e9e9ef;box-shadow:0 16px 45px rgba(20,20,31,.07);}
.sn-info-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(139,92,246,.10);color:var(--sn-primary);font-weight:800;margin-bottom:24px;}
.sn-info-card h3{font-size:21px;margin-bottom:10px;}
.sn-info-card p{color:#63636c;font-size:14px;line-height:1.75;}

.sn-events-strip{text-align:center;background:#101018;}
.sn-event-pills{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:34px;}
.sn-event-pills span{padding:12px 20px;border-radius:50px;background:#191924;border:1px solid rgba(255,255,255,.11);color:#e6e6ea;font-weight:600;font-size:14px;}

.sn-process-section{background:var(--sn-bg-dark-2);}
.sn-process-head{align-items:end;margin-bottom:50px;}
.sn-process-head p{color:var(--sn-muted);max-width:500px;}
.sn-process-line{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.10);}
.sn-process-line>div{position:relative;padding:34px 24px 10px 0;min-height:185px;}
.sn-process-line>div:before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--sn-primary);box-shadow:0 0 0 5px rgba(139,92,246,.15);}
.sn-process-line b{display:block;color:var(--sn-primary);font-size:13px;margin-bottom:20px;}
.sn-process-line strong{display:block;font-size:16px;margin-bottom:8px;}
.sn-process-line span{display:block;color:var(--sn-muted);font-size:13px;line-height:1.65;}

.sn-page-cta{padding:55px 0;background:linear-gradient(100deg,rgba(139,92,246,.22),rgba(236,72,153,.10)),#101018;border-top:1px solid rgba(255,255,255,.08);}
.sn-page-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;}
.sn-page-cta h2{font-size:clamp(28px,4vw,44px);margin-top:5px;}

.sn-contact-hero{text-align:center;padding:96px 0 82px;}
.sn-contact-hero-inner{max-width:860px!important;}
.sn-contact-hero p{margin:0 auto 30px;}
.sn-contact-main{background:#0e0e16;}
.sn-contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start;}
.sn-contact-aside>p,.sn-form-intro{color:var(--sn-muted);margin-top:16px;line-height:1.75;}
.sn-contact-cards{display:grid;gap:12px;margin-top:32px;}
.sn-contact-card{display:flex;flex-direction:column;gap:4px;padding:18px 20px;border-radius:15px;background:#181823;border:1px solid rgba(255,255,255,.09);transition:.2s;}
a.sn-contact-card:hover{border-color:var(--sn-primary);transform:translateY(-2px);}
.sn-contact-card span{font-size:10px;letter-spacing:1.3px;color:#858593;font-weight:700;}
.sn-contact-card strong{font-size:15px;color:#fff;word-break:break-word;}
.sn-organizers-box{margin-top:26px;padding:24px;border:1px solid rgba(139,92,246,.28);border-radius:18px;background:rgba(139,92,246,.08);}
.sn-organizers-box>span{color:var(--sn-primary);font-size:11px;font-weight:800;letter-spacing:1.2px;}
.sn-organizers-box h3{margin:8px 0;font-size:20px;}
.sn-organizers-box p{color:#b8b8c3;font-size:13px;line-height:1.7;}
.sn-contact-form-wrap{padding:34px;border-radius:24px;background:#171721;border:1px solid rgba(255,255,255,.09);box-shadow:0 24px 70px rgba(0,0,0,.25);}
.sn-contact-form{margin-top:28px;}
.sn-contact-form textarea{resize:vertical;min-height:150px;}
.sn-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.sn-form-message ul{list-style:disc;padding-left:18px;}
.sn-contact-bottom .sn-info-grid{margin-top:0;}
.sn-info-card-dark{background:#15151f;border-color:rgba(255,255,255,.10);color:#fff;box-shadow:none;}
.sn-info-card-dark p{color:#aaaab5;margin:10px 0 22px;}
.sn-info-card-dark .btn-outline{border-color:rgba(255,255,255,.28);}

@media(max-width:900px){
  .sn-inner-hero{padding:76px 0 66px;}
  .sn-inner-hero-grid,.sn-two-col,.sn-contact-grid{grid-template-columns:1fr;gap:42px;}
  .sn-about-visual{height:320px;}
  .sn-about-mark{width:180px;height:180px;font-size:40px}.sn-about-mark span{font-size:30px}.sn-about-orbit-one{width:255px;height:255px}.sn-about-orbit-two{width:315px;height:315px}.sn-about-pulse{bottom:18px;}
  .sn-info-grid-3{grid-template-columns:1fr;}
  .sn-process-line{grid-template-columns:repeat(2,1fr);row-gap:24px;}
  .sn-page-cta-inner{align-items:flex-start;flex-direction:column;}
}
@media(max-width:650px){
  .sn-inner-hero{padding:58px 0 54px;}
  .sn-inner-hero h1{font-size:44px;letter-spacing:-1.7px;}
  .sn-inner-hero p{font-size:15px;}
  .sn-inner-actions{flex-direction:column;align-items:stretch;}.sn-inner-actions .btn{justify-content:center;}
  .sn-about-visual{height:270px;}
  .sn-process-line{grid-template-columns:1fr;border-top:0;}
  .sn-process-line>div{border-top:1px solid rgba(255,255,255,.10);min-height:0;padding:28px 0 22px;}
  .sn-info-grid-2{grid-template-columns:1fr;}
  .sn-contact-form-wrap{padding:24px 18px;border-radius:18px;}
  .sn-contact-main{padding-top:65px;}
}

/* =========================================================
   18. BOOKING EXPERIENCE - DjNow v2.5
   ========================================================= */
.sn-booking-hero{padding:92px 0 72px;background:radial-gradient(circle at 85% 18%,rgba(139,92,246,.20),transparent 30%),linear-gradient(180deg,#101019 0%,#151520 100%);border-bottom:1px solid rgba(255,255,255,.08)}
.sn-booking-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.7fr);gap:70px;align-items:end}
.sn-eyebrow,.sn-mini-label,.sn-step-kicker{display:inline-block;color:#a78bfa;font-size:11px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase}
.sn-booking-hero h1{max-width:780px;margin:12px 0 18px;font-size:clamp(46px,6vw,78px);line-height:.98;letter-spacing:-3px;color:#fff}
.sn-booking-hero p{max-width:720px;margin:0;color:#b9b9c5;font-size:17px;line-height:1.75}
.sn-booking-hero-points{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:28px;color:#ededf3;font-size:13px;font-weight:600}
.sn-booking-hero-points span::first-letter{color:#a78bfa}
.sn-booking-hero-card{position:relative;overflow:hidden;padding:30px;border:1px solid rgba(167,139,250,.26);border-radius:24px;background:rgba(28,28,42,.82);box-shadow:0 28px 80px rgba(0,0,0,.28)}
.sn-booking-hero-card strong{display:block;margin:10px 0 8px;color:#fff;font-size:24px;line-height:1.2}
.sn-booking-hero-card p{font-size:13px;line-height:1.65;color:#9f9fac}
.sn-booking-hero-number{margin-top:28px;color:#7658be;font-weight:800;font-size:42px;letter-spacing:-2px}
.sn-booking-shell{padding:72px 0 100px;background:#0f0f17}
.sn-booking-layout{display:grid;grid-template-columns:260px minmax(0,860px);gap:42px;align-items:start;justify-content:center}
.sn-booking-sidebar{position:sticky;top:105px}
.sn-booking-progress-card{padding:24px;border:1px solid rgba(255,255,255,.09);border-radius:22px;background:#181823;box-shadow:0 20px 55px rgba(0,0,0,.2)}
.sn-progress-track{height:5px;margin:14px 0 10px;border-radius:99px;background:#292938;overflow:hidden}.sn-progress-track span{display:block;width:20%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--sn-primary),#b794f6);transition:width .25s ease}
.sn-booking-progress-card>strong{color:#fff;font-size:13px}
.sn-step-nav{display:grid;gap:5px;margin:20px 0}.sn-step-nav a{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:11px;color:#91919d;font-size:12px;font-weight:600;text-decoration:none;transition:.2s}.sn-step-nav a i{display:grid;place-items:center;width:27px;height:27px;border:1px solid rgba(255,255,255,.13);border-radius:50%;font-style:normal;font-size:11px}.sn-step-nav a.is-active{color:#fff;background:rgba(139,92,246,.12)}.sn-step-nav a.is-active i{border-color:#8b5cf6;background:#8b5cf6;color:#fff}
.sn-booking-area-note{padding-top:17px;border-top:1px solid rgba(255,255,255,.08);color:#898996;font-size:11px;line-height:1.55}
.sn-booking-form-v25{display:grid;gap:24px}
.sn-booking-card{scroll-margin-top:110px;padding:34px;border:1px solid rgba(255,255,255,.09);border-radius:24px;background:#181822;box-shadow:0 20px 60px rgba(0,0,0,.18)}
.sn-booking-card-head{margin-bottom:27px}.sn-booking-card-head h2,.sn-booking-review-head h2{margin:7px 0 8px;color:#fff;font-size:29px;letter-spacing:-.8px}.sn-booking-card-head p,.sn-booking-review-head p{max-width:680px;margin:0;color:#9797a5;font-size:13px;line-height:1.7}.sn-booking-card-head-row{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.sn-playlist-counter{flex:none;padding:7px 11px;border-radius:999px;background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.28);color:#bba6ff;font-size:11px;font-weight:800}
.sn-booking-form-v25 .sn-field label{margin-bottom:8px;color:#d8d8e1;font-size:12px;font-weight:650}.sn-booking-form-v25 input,.sn-booking-form-v25 select,.sn-booking-form-v25 textarea{min-height:50px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#111119;color:#fff;padding:12px 14px;transition:border-color .2s,box-shadow .2s,background .2s}.sn-booking-form-v25 textarea{min-height:120px}.sn-booking-form-v25 input:focus,.sn-booking-form-v25 select:focus,.sn-booking-form-v25 textarea:focus{outline:0;border-color:#8b5cf6;background:#14141e;box-shadow:0 0 0 3px rgba(139,92,246,.12)}
.sn-booking-form-v25 .sn-calendar{margin-top:14px;border-radius:16px;background:#12121a;border-color:rgba(255,255,255,.09)}
.sn-genre-checks-v25{gap:10px}.sn-genre-checks-v25 .sn-genre-check span{min-height:48px;display:flex;align-items:center;border-radius:12px;background:#12121a;border:1px solid rgba(255,255,255,.10);font-size:12px}.sn-genre-checks-v25 .sn-genre-check input:checked+span{background:rgba(139,92,246,.15);border-color:#8b5cf6;color:#fff;box-shadow:0 0 0 2px rgba(139,92,246,.08)}
.sn-playlist-rows-v25{counter-reset:playlist}.sn-playlist-rows-v25 .sn-playlist-row{counter-increment:playlist;position:relative;padding-left:42px}.sn-playlist-rows-v25 .sn-playlist-row:before{content:counter(playlist,decimal-leading-zero);position:absolute;left:0;top:13px;color:#777786;font-size:11px;font-weight:800}.sn-playlist-rows-v25 .sn-playlist-row input{width:100%}.sn-add-song-v25{margin-top:14px!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important;background:#20202d!important}.sn-add-song-v25:hover{border-color:#8b5cf6!important;background:#292038!important}
.sn-booking-review{padding:34px;border-radius:24px;background:linear-gradient(145deg,#211a31 0%,#181822 55%,#181822 100%);border:1px solid rgba(139,92,246,.24)}
.sn-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}.sn-review-grid>div{padding:15px;border-radius:13px;background:rgba(8,8,14,.36);border:1px solid rgba(255,255,255,.07)}.sn-review-grid span{display:block;margin-bottom:5px;color:#848493;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px}.sn-review-grid strong{display:block;color:#fff;font-size:12px;line-height:1.45;word-break:break-word}
.sn-no-payment{display:flex;gap:14px;align-items:flex-start;margin-top:18px;padding:16px 18px;border-radius:14px;background:rgba(44,201,132,.08);border:1px solid rgba(44,201,132,.20)}.sn-no-payment>span{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:50%;background:#2cc984;color:#08170f;font-weight:900}.sn-no-payment strong{color:#e8fff4;font-size:12px}.sn-no-payment p{margin:4px 0 0;color:#9cb6a9;font-size:11px;line-height:1.5}
.sn-privacy-check-v25{margin:4px 3px 0}.sn-submit-btn-v25{width:100%;min-height:58px;justify-content:center;font-size:15px!important}.sn-submit-btn-v25 span{font-size:20px}.sn-submit-footnote{margin:-11px 0 0;text-align:center;color:#777786;font-size:11px}
@media(max-width:980px){.sn-booking-layout{grid-template-columns:1fr}.sn-booking-sidebar{position:relative;top:auto}.sn-booking-progress-card{padding:18px}.sn-step-nav{grid-template-columns:repeat(5,1fr);gap:6px}.sn-step-nav a{justify-content:center;padding:8px 4px}.sn-step-nav a span{display:none}.sn-booking-area-note{display:none}.sn-booking-hero-grid{grid-template-columns:1fr;gap:32px}.sn-booking-hero-card{max-width:560px}.sn-booking-hero-number{font-size:34px}}
@media(max-width:650px){.sn-booking-hero{padding:58px 0 48px}.sn-booking-hero h1{font-size:46px;letter-spacing:-2px}.sn-booking-hero p{font-size:14px}.sn-booking-hero-points{display:grid;gap:8px}.sn-booking-shell{padding:36px 0 72px}.sn-booking-layout{gap:20px}.sn-booking-progress-card{border-radius:16px}.sn-booking-card,.sn-booking-review{padding:24px 18px;border-radius:18px}.sn-booking-card-head h2,.sn-booking-review-head h2{font-size:25px}.sn-booking-card-head-row{display:block}.sn-playlist-counter{display:inline-flex;margin-top:13px}.sn-review-grid{grid-template-columns:1fr 1fr}.sn-booking-form-v25 .sn-form-grid{grid-template-columns:1fr}.sn-playlist-rows-v25 .sn-playlist-row{padding-left:34px}.sn-step-nav a i{width:30px;height:30px}.sn-booking-hero-card{padding:22px}}
@media(max-width:390px){.sn-review-grid{grid-template-columns:1fr}.sn-booking-hero h1{font-size:40px}}

/* =========================================================
   19. HOMEPAGE RESTYLING - DjNow v2.6
   ========================================================= */
.sn-home-v26{background:#0f0f17;color:#fff}.sn-home-v26 .container{max-width:1180px}
.sn-home-hero{padding:88px 0 80px;background:radial-gradient(circle at 82% 18%,rgba(139,92,246,.20),transparent 30%),linear-gradient(180deg,#101019,#13131d);border-bottom:1px solid rgba(255,255,255,.08)}
.sn-home-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:64px;align-items:center}.sn-home-hero h1{margin:13px 0 20px;font-size:clamp(48px,6.3vw,82px);line-height:.96;letter-spacing:-3.5px}.sn-home-hero-copy>p{max-width:650px;color:#b4b4c0;font-size:16px;line-height:1.75}.sn-home-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.sn-btn-soft{background:#232331!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important}.sn-btn-soft:hover{background:#2d2d3d!important;border-color:#8b5cf6!important}.sn-home-trust{display:flex;gap:10px 22px;flex-wrap:wrap;margin-top:25px;color:#a8a8b4;font-size:11px;font-weight:650}.sn-home-trust span{white-space:nowrap}.sn-home-hero-media{position:relative;min-height:520px;overflow:hidden;border:1px solid rgba(255,255,255,.10);border-radius:28px;box-shadow:0 35px 90px rgba(0,0,0,.34)}.sn-home-hero-media>img,.sn-home-hero-media>.placeholder-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sn-home-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(8,8,13,.58))}.sn-home-float-card{position:absolute;z-index:2;left:22px;right:22px;bottom:22px;padding:22px;border-radius:18px;background:rgba(20,20,30,.84);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px)}.sn-home-float-card small{display:block;color:#a78bfa;font-size:9px;font-weight:800;letter-spacing:1.6px}.sn-home-float-card strong{display:block;margin:6px 0;color:#fff;font-size:24px;line-height:1}.sn-home-float-card span{color:#aaaab6;font-size:11px}
.sn-home-section{padding:92px 0}.sn-home-section-head{display:grid;grid-template-columns:1fr minmax(260px,.55fr);gap:45px;align-items:end;margin-bottom:42px}.sn-home-section-head h2,.sn-home-how h2,.sn-home-playlist h2,.sn-home-app h2{margin:8px 0 0;font-size:clamp(34px,4.6vw,58px);line-height:1.02;letter-spacing:-2.2px}.sn-home-section-head>p,.sn-home-lead{margin:0;color:#9898a5;font-size:13px;line-height:1.75}.sn-home-section-head-centered{display:block;text-align:center}.sn-home-section-head-centered p{max-width:650px;margin:13px auto 0}
.sn-home-events{background:#14141d}.sn-home-event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.sn-home-event-card{overflow:hidden;border-radius:20px;background:#1a1a25;border:1px solid rgba(255,255,255,.08);transition:transform .2s,border-color .2s}.sn-home-event-card:hover{transform:translateY(-4px);border-color:rgba(139,92,246,.45)}.sn-home-event-media{height:180px;overflow:hidden;background:#222230}.sn-home-event-media img,.sn-home-event-media .placeholder-bg{width:100%;height:100%;object-fit:cover}.sn-home-event-copy{position:relative;padding:22px}.sn-home-event-copy>span{position:absolute;right:18px;top:18px;color:#5d5d6a;font-size:11px;font-weight:800}.sn-home-event-copy h3{margin:0 38px 7px 0;font-size:18px}.sn-home-event-copy p{margin:0;color:#9696a2;font-size:11px;line-height:1.6}
.sn-home-how{background:#0f0f17}.sn-home-how-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:70px;align-items:center}.sn-home-how-main>.sn-home-lead{max-width:600px;margin:16px 0 32px}.sn-home-steps{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px}.sn-home-step{display:flex;gap:14px;padding:18px;border-radius:15px;background:#191923;border:1px solid rgba(255,255,255,.08)}.sn-home-step i{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;background:rgba(139,92,246,.16);border:1px solid rgba(139,92,246,.30);color:#bda9ff;font-size:11px;font-style:normal;font-weight:800}.sn-home-step h3{margin:2px 0 5px;font-size:13px}.sn-home-step p{margin:0;color:#92929f;font-size:10px;line-height:1.55}.sn-home-how-media{position:relative;min-height:500px;overflow:hidden;border-radius:26px;border:1px solid rgba(255,255,255,.09)}.sn-home-how-media img,.sn-home-how-media .placeholder-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sn-home-media-caption{position:absolute;left:20px;bottom:20px;padding:15px 18px;border-radius:14px;background:#8b5cf6;color:#fff;font-size:17px;font-weight:800;line-height:1.1}
.sn-home-music{background:#171721}.sn-home-genres{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.sn-home-genre{display:flex;align-items:center;gap:10px;min-height:58px;padding:12px 14px;border-radius:14px;background:#20202c;border:1px solid rgba(255,255,255,.08)}.sn-home-genre span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:rgba(139,92,246,.14);color:#bda9ff}.sn-home-genre strong{font-size:11px}
.sn-home-playlist{background:#101018}.sn-home-playlist-grid{display:grid;grid-template-columns:minmax(350px,.9fr) minmax(0,1fr);gap:72px;align-items:center}.sn-home-playlist-media{min-height:510px;overflow:hidden;border-radius:26px;border:1px solid rgba(255,255,255,.09)}.sn-home-playlist-media img,.sn-home-playlist-media .placeholder-bg{width:100%;height:510px;object-fit:cover}.sn-home-playlist-copy>p{max-width:600px;color:#9d9daa;font-size:13px;line-height:1.75}.sn-home-song-list{display:grid;gap:8px;margin:25px 0}.sn-home-song-list>div{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;min-height:50px;padding:9px 13px;border-radius:12px;background:#1a1a24;border:1px solid rgba(255,255,255,.08)}.sn-home-song-list i{color:#72727f;font-style:normal;font-size:10px;font-weight:800}.sn-home-song-list span{font-size:11px;font-weight:600}.sn-home-song-list b{color:#9b83e8;font-size:10px}.sn-home-song-more{border-style:dashed!important;color:#aaaab5}.sn-home-song-more i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(139,92,246,.12);color:#bba6ff;font-size:16px}
.sn-home-app{background:#f1f1f5;color:#15151e}.sn-home-app-grid{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:center}.sn-home-app .sn-eyebrow{color:#7654d6}.sn-home-app-copy>p{max-width:620px;color:#676773;font-size:13px;line-height:1.75}.sn-home-app-copy ul{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0;padding:0;list-style:none}.sn-home-app-copy li{font-size:11px;font-weight:600}.sn-home-app-phones{display:flex;justify-content:center;gap:15px}.sn-home-app-phones>div{position:relative;width:190px;height:390px;overflow:hidden;border:8px solid #1b1b24;border-radius:30px;background:#ddd;box-shadow:0 20px 50px rgba(0,0,0,.18)}.sn-home-app-phones img,.sn-home-app-phones .placeholder-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sn-home-reviews{background:#15151f}.sn-home-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.sn-home-review-card{padding:24px;border-radius:18px;background:#1d1d28;border:1px solid rgba(255,255,255,.08)}.sn-home-review-top{display:flex;gap:12px;align-items:center}.sn-home-review-top strong{display:block;font-size:12px}.sn-home-review-top span{display:block;margin-top:3px;color:#a78bfa;font-size:11px;letter-spacing:1px}.sn-home-review-card p{margin:19px 0 0;color:#acacb8;font-size:12px;line-height:1.75}.sn-home-final-cta{padding:70px 0;background:linear-gradient(115deg,#20182f,#13131d 65%)}.sn-home-final-cta .container{display:flex;justify-content:space-between;align-items:end;gap:30px}.sn-home-final-cta h2{margin:8px 0 0;font-size:clamp(34px,5vw,60px);line-height:1;letter-spacing:-2px}
@media(max-width:1000px){.sn-home-hero-grid,.sn-home-how-grid,.sn-home-playlist-grid,.sn-home-app-grid{grid-template-columns:1fr}.sn-home-hero-media{min-height:430px}.sn-home-event-grid{grid-template-columns:repeat(2,1fr)}.sn-home-genres{grid-template-columns:repeat(4,1fr)}.sn-home-how-media{min-height:390px}.sn-home-app-copy{order:1}.sn-home-app-phones{order:2}}
@media(max-width:650px){.sn-home-hero{padding:58px 0 48px}.sn-home-hero h1{font-size:46px;letter-spacing:-2.3px}.sn-home-hero-copy>p{font-size:14px}.sn-home-actions{flex-direction:column;align-items:stretch}.sn-home-actions .btn{justify-content:center}.sn-home-trust{display:grid;gap:7px}.sn-home-hero-media{min-height:360px;border-radius:20px}.sn-home-float-card{left:13px;right:13px;bottom:13px;padding:17px}.sn-home-section{padding:66px 0}.sn-home-section-head{grid-template-columns:1fr;gap:12px;margin-bottom:28px}.sn-home-section-head h2,.sn-home-how h2,.sn-home-playlist h2,.sn-home-app h2{font-size:38px;letter-spacing:-1.5px}.sn-home-event-grid{grid-template-columns:1fr}.sn-home-event-media{height:190px}.sn-home-steps{grid-template-columns:1fr}.sn-home-how-media{min-height:320px}.sn-home-genres{grid-template-columns:repeat(2,1fr)}.sn-home-playlist-media{min-height:330px}.sn-home-playlist-media img,.sn-home-playlist-media .placeholder-bg{height:330px}.sn-home-app-copy ul{grid-template-columns:1fr}.sn-home-app-phones>div{width:145px;height:300px;border-width:6px;border-radius:23px}.sn-home-review-grid{grid-template-columns:1fr}.sn-home-final-cta .container{align-items:flex-start;flex-direction:column}.sn-home-final-cta .btn{width:100%;justify-content:center}}

/* v3.1 - Informativa intermediazione nel modulo */
.sn-intermediary-notice{display:grid;gap:6px;margin:16px 0;padding:16px 18px;border:1px solid rgba(139,92,246,.34);border-radius:14px;background:rgba(139,92,246,.09);color:#d8d6e4}.sn-intermediary-notice strong{color:#fff;font-size:14px}.sn-intermediary-notice span{font-size:12px;line-height:1.65;color:#b9b7c5}.sn-privacy-check a{color:#c4b5fd;text-decoration:underline;text-underline-offset:2px}
.djnow-terms-accept a{color:#c4b5fd;text-decoration:underline;text-underline-offset:2px}


/* =========================================================
   v4.1 - Prenota Ora: calendario Passaggio 02 full width
   ========================================================= */
.sn-booking-form-v25 #sn-step-2 .sn-calendar{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}
.sn-booking-form-v25 #sn-step-2 .sn-calendar-grid{
  width:100%;
}
@media(min-width:701px){
  .sn-booking-form-v25 #sn-step-2 .sn-cal-day{
    min-height:54px;
    aspect-ratio:auto;
  }
}
@media(max-width:700px){
  .sn-booking-form-v25 #sn-step-2 .sn-calendar{
    padding:14px 10px;
  }
}
\n\n/* DjNow v4.3 - Pulsante Esci Artista nel menu */\n.sn-nav .menu-item-djnow-logout > a{\n  display:inline-flex;align-items:center;justify-content:center;\n  padding:10px 18px;border:1px solid rgba(139,92,246,.7);\n  border-radius:999px;background:rgba(139,92,246,.12);\n  color:#fff;font-weight:700;line-height:1.2;\n}\n.sn-nav .menu-item-djnow-logout > a:hover,\n.sn-nav .menu-item-djnow-logout > a:focus-visible{\n  background:var(--sn-primary);color:#fff;\n}\n@media (max-width: 900px){\n  .sn-nav .menu-item-djnow-logout{border-bottom:0;margin-top:14px;padding-top:8px;}\n  .sn-nav .menu-item-djnow-logout > a{\n    width:100%;min-height:52px;background:var(--sn-primary);\n    border-color:var(--sn-primary);color:#fff;\n  }\n  .sn-nav .menu-item-djnow-logout > a::after{content:none;}\n}\n

/* DjNow v4.4 - Area Artisti + Esci nel menu autenticato */
.sn-nav .menu-item-djnow-artist-dashboard > a{
  font-weight:700;
}
@media (max-width: 900px){
  .sn-nav .menu-item-djnow-artist-dashboard > a{
    font-weight:800;
  }
}
