:root{
  --night: #0f2a4a;
  --night-2: #112d53;
  --cream: #fff3df;
  --star: #ffd56b;
  --peach: #ffb7a2;
  --apricot: #ffc58f;
  --accent: #ff8f66;
  --ink: #1f2a44;
  --card: #102f57;
  --card-2:#143461;
  --radius: 22px;
  --shadow: 0 10px 30px rgba(0,0,0,.25);
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  color:var(--cream);
  background:
    radial-gradient(1200px 600px at 10% -10%, #1a3b68 0%, transparent 60%),
    radial-gradient(900px 500px at 90% -20%, #18355d 0%, transparent 55%),
    linear-gradient(180deg, var(--night) 0%, var(--night-2) 100%);
  font-family: 'Poppins', system-ui, sans-serif;
  line-height:1.6;
  padding: clamp(1rem, 4vw, 1.5rem) 0;
}

/* HEADER */
header.hero{
  position:relative;
  min-height: 68vh;
  display:grid;
  place-items:center;
  text-align:center;
  padding: clamp(1.5rem, 5vw, 4rem) 1rem;
  background:url(banner-notesland.png) center/cover no-repeat;
  isolation:isolate;
}
header.hero::before{
  content:"";
  position:absolute; inset:0;
  background: radial-gradient(120% 120% at 50% 20%, rgba(10,22,45,.25) 0%, rgba(10,22,45,.55) 55%, rgba(10,22,45,.75) 100%);
  z-index:-1;
}
.sparkles{
  position:absolute; inset:0; pointer-events:none; z-index:-1;
  background-image:
    radial-gradient(circle at 10% 20%, var(--star) 0 2px, transparent 3px),
    radial-gradient(circle at 80% 30%, var(--star) 0 2px, transparent 3px),
    radial-gradient(circle at 60% 70%, var(--star) 0 2px, transparent 3px),
    radial-gradient(circle at 25% 80%, var(--star) 0 2px, transparent 3px);
  background-repeat:no-repeat;
}
.brand{
  font-family: "Baloo 2", cursive;
  font-weight: 700;
  font-size: clamp(2.2rem, 6vw, 3rem);
  margin-bottom:.25rem;
  text-shadow: 0 4px 20px rgba(0,0,0,.35);
}
.tagline{
  max-width: 50rem;
  font-size: clamp(1rem, 2.5vw, 1.25rem);
  margin: 0 auto 1rem;
}
.cta{
  display:inline-flex; align-items:center; gap:.5rem;
  padding: clamp(.85rem, 2.5vw, 1rem) clamp(1.2rem, 4vw, 1.5rem);
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font-weight:700;
  text-decoration:none;
  box-shadow: var(--shadow);
  transition: transform .15s ease, filter .2s ease;
  font-size: clamp(1rem, 2.5vw, 1.1rem);
}
.cta:hover{ transform: translateY(-2px); filter: brightness(1.05); }

/* SEZIONI */
main{ padding: clamp(1rem, 3vw, 2rem); }
section{
  max-width: 1100px; margin: 0 auto;
  padding: clamp(1rem, 3vw, 2rem);
  background: linear-gradient(180deg, var(--card) 0%, var(--card-2) 100%);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  border: 1px solid rgba(255,255,255,.06);
}
section + section{ margin-top: clamp(1rem, 3vw, 1.5rem); }
h2{
  font-family: "Baloo 2", cursive;
  font-weight:700;
  font-size: clamp(1.3rem, 2.4vw, 1.8rem);
  margin-bottom:.75rem;
  color: var(--cream);
}
p, li{ color: #e8f0ff; }
a{ color: var(--peach); }

/* ESEMPI AUDIO */
.examples audio{
  width:100%;
  margin-top:.5rem;
  filter: drop-shadow(0 6px 16px rgba(0,0,0,.3));
  border-radius: 12px;
}
.track{
  background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: .9rem;
  margin-top:.5rem;
}

/* LISTA */
ol{ margin-left:1.2rem; }
ol li{ margin:.25rem 0; }

/* FORM */
form{
  display:grid; gap:.8rem;
  margin-top:.25rem;
}
input, textarea, button{
  font: inherit; border-radius: 14px; border:1px solid rgba(255,255,255,.08);
  padding:.85rem .9rem; color: var(--ink);
}
input, textarea{
  background:#fff; outline:none;
  transition: box-shadow .15s ease, border-color .15s ease;
}
input:focus, textarea:focus{
  border-color: var(--apricot);
  box-shadow: 0 0 0 4px rgba(255,197,143,.25);
}
button{
  cursor:pointer;
  background: linear-gradient(180deg, var(--accent), #ff7b52);
  color:#fff; font-weight:700;
  border:none;
  transition: transform .15s ease, filter .15s ease;
}
button:hover{ transform: translateY(-1px); filter: brightness(1.05); }

/* FOOTER */
footer{
  text-align:center;
  color:#d9e6ff;
  padding: 2rem 1rem 3rem;
  font-size:.9rem;
}
footer a{ color: var(--apricot); }

/* CARD PAGINA GRAZIE */
.card{
  width:min(680px, 96vw);
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius: var(--radius);
  padding: clamp(1.2rem, 3vw, 2rem);
  box-shadow: var(--shadow);
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.card::before{
  content:"";
  position:absolute; inset:-30% -10% auto -10%; height:60%;
  background: url("img/banner-notesland.png") center/cover no-repeat;
  opacity:.18; z-index:-1; filter: blur(1px);
  border-bottom-left-radius: var(--radius); border-bottom-right-radius: var(--radius);
}
h1{
  font-family:'Baloo 2', cursive;
  font-size: clamp(1.6rem, 5vw, 2.2rem);
  margin-bottom:.5rem;
}
.home{
  display:inline-block;
  margin-top:1rem;
  padding: clamp(.8rem, 2.5vw, .9rem) clamp(1.1rem, 3vw, 1.25rem);
  border-radius:999px;
  background: var(--accent);
  color:#fff;
  text-decoration:none;
  font-weight:700;
  box-shadow: var(--shadow);
  font-size: clamp(.95rem, 3vw, 1rem);
  transition: transform .15s ease, filter .2s ease;
}
.home:hover{ transform:translateY(-2px); filter:brightness(1.05);}
.stars{
  position:fixed; inset:0; pointer-events:none; z-index:-1;
  background-image:
    radial-gradient(circle at 15% 20%, var(--star) 0 2px, transparent 3px),
    radial-gradient(circle at 75% 22%, var(--star) 0 2px, transparent 3px),
    radial-gradient(circle at 60% 70%, var(--star) 0 2px, transparent 3px),
    radial-gradient(circle at 25% 80%, var(--star) 0 2px, transparent 3px),
    radial-gradient(circle at 88% 82%, var(--star) 0 2px, transparent 3px);
  background-repeat:no-repeat;
  opacity:.9;
}

/* RESPONSIVE */
@media (min-width: 760px){
  form{ grid-template-columns: 1fr 1fr; }
  textarea{ grid-column: 1 / -1; }
  .full{ grid-column: 1 / -1; }
}
.pricing {
  text-align: center;
  background: linear-gradient(180deg, #133b6e, #102f57);
  border: 2px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius);
  padding: clamp(1.2rem, 3vw, 2rem);
  box-shadow: var(--shadow);
}
.pricing h2 {
  font-family: "Baloo 2", cursive;
  font-size: clamp(1.5rem, 3vw, 2rem);
  margin-bottom: 1rem;
  color: var(--star);
}
.pricing .price {
  font-size: clamp(1.6rem, 4vw, 2.2rem);
  font-weight: bold;
  margin: 0.75rem 0 1rem;
}
.pricing .old-price {
  text-decoration: line-through;
  opacity: 0.7;
  margin-right: .5rem;
}
.pricing .new-price {
  color: var(--accent);
  font-size: 1.4em;
}

/* === WhatsApp & floating button (moved from index.html) === */
}
  }
  }
  }
  /* Nascondi floating button su desktop, visibile solo su mobile */
  @media (min-width: 768px) {
    }

/* Utility */
.hidden{display:none}

/* === WhatsApp & Floating Button (fix overflow + desktop) === */
.whatsapp-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: #25D366;
  color: #fff;
  font-weight: 600;
  padding: 12px 20px;
  border-radius: 8px;
  text-decoration: none;
  transition: background-color .2s ease;
}
.whatsapp-btn:hover { background-color: #1DA851; }
.whatsapp-btn svg { width: 20px; height: 20px; fill: #fff; }

.whatsapp-contact {
  text-align: center;
  margin: 2em auto;
  max-width: 800px;
  padding: 0 1em;
}
footer .whatsapp-footer {
  display: block;
  text-align: center;
  margin-top: 1em;
}

/* Floating pill — mobile first */
.whatsapp-float{
  position: fixed;
  bottom: max(16px, env(safe-area-inset-bottom));
  right:  max(16px, env(safe-area-inset-right));
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #25D366;
  color:#fff;
  font-weight:700;
  text-decoration:none;
  border-radius: 999px;
  padding: 10px 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  z-index: 2147483647;
  line-height: 1;
  max-width: min(92vw, 320px);
  overflow: hidden;
  will-change: max-width;
}
.whatsapp-float img{
  width: 28px; height: 28px; display:block; flex: 0 0 28px;
}
.whatsapp-float .whatsapp-help{
  display: inline-block;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 220px;
}

/* Desktop: compact icon expands on hover/focus */
@media (min-width: 768px){
  .whatsapp-float{
    padding: 12px;
    border-radius: 999px;
    max-width: 48px;
    transition: max-width .25s ease, padding .2s ease;
  }
  .whatsapp-float .whatsapp-help{
    max-width: 0;
    opacity: 0;
    transition: max-width .25s ease, opacity .2s ease;
  }
  .whatsapp-float:hover,
  .whatsapp-float:focus-visible{
    padding: 12px 16px;
    max-width: 320px;
  }
  .whatsapp-float:hover .whatsapp-help,
  .whatsapp-float:focus-visible .whatsapp-help{
    max-width: 220px;
    opacity: 1;
  }
}

/* Accessibility: reduce motion */
@media (prefers-reduced-motion: reduce){
  .whatsapp-float{ transition: none; }
  .whatsapp-float .whatsapp-help{ transition: none; }
}

/* Migliora la leggibilità del placeholder nelle textarea */
textarea::placeholder {
  white-space: pre-wrap;  /* Mantiene gli a capo */
  line-height: 1.4;       /* Spaziatura più leggibile */
  color: #666;            /* Grigio chiaro, distinguibile dal testo */
}
