/* ================== BASE: niente sfondo qui ================== */
body {
  margin: 0;
  padding: 0;
  font-family: Arial, sans-serif;
  color: #000;
  text-align: center;
}

/* ================== HOME (index.html) ================== */
/* Desktop di default */
.home-bg {
  min-height: 100vh;
  background: url('sfondo-home-desktop.png') no-repeat center center;
  background-size: 110%;
  overflow: hidden;
}

/* ================== PROSSIME TAPPE (prossime-tappe.html) ================== */
/* 👉 MOBILE DI DEFAULT */
.roadmap-onlybg {
  min-height: 100vh;
  background: url('sfondo-prossime-mobile.png') no-repeat center top;
  background-size: contain;       /* mostra tutta l'immagine */
  background-color: #000;
  font-family: Poppins, system-ui, Arial, sans-serif;
  color: #0c2a5b;
  overflow: hidden;
}

/* 👉 DESKTOP / SCHERMI LARGHI */
@media (min-width: 1537px) {
  .roadmap-onlybg {
    background-image: url('sfondo-prossime-desktop.png');
    background-position: center center;
    background-size: contain;     /* o cover se vuoi riempire */
  }
}

/* ================== COSA ABBIAMO (cosa-abbiamo.html) ================== */
/* 👉 MOBILE DI DEFAULT */
.actual-onlybg {
  min-height: 100vh;
  background: url('sfondo-cosaabbiamo-mobile.png') no-repeat center top;
  background-size: contain;
  background-color: #000;
  font-family: Poppins, system-ui, Arial, sans-serif;
  color: #0c2a5b;
  overflow: hidden;
}

/* 👉 DESKTOP / SCHERMI LARGHI */
@media (min-width: 1537px) {
  .actual-onlybg {
    background-image: url('sfondo-cosaabbiamo-desktop.png');
    background-position: center center;
    background-size: contain;     /* o cover se vuoi riempire */
  }
}

/* ================== PULSANTI GENERICI (HOME) ================== */

.btn {
  display: inline-block;
  text-decoration: none;
  color: white;
  font-weight: bold;
  border-radius: 25px;
  padding: 12px 25px;
  text-align: center;
  box-shadow: 2px 4px 6px rgba(0,0,0,0.3);
  transition: transform 0.2s;
  line-height: 1.3em;
  font-size: 1rem;
}

.btn span {
  display: block;
  font-size: 0.8em;
  font-weight: normal;
}

.btn:hover {
  transform: scale(1.05);
}

/* Colori pulsanti */
.btn.blue {
  background: linear-gradient(#2c9bd7, #1273a0);
}

.btn.orange {
  background: linear-gradient(#f08c00, #c46c00);
}

.btn.gray {
  background: linear-gradient(#b4b4b4, #8a8a8a);
}

/* ================== POSIZIONI (HOME DESKTOP) ================== */

.top-buttons {
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60%;
  display: flex;
  justify-content: space-between;
}

.bottom-buttons {
  position: absolute;
  bottom: 10%;
  left: 50%;
  transform: translateX(-50%);
  width: 75%;
  display: flex;
  justify-content: space-between;
}

footer {
  position: absolute;
  bottom: 2%;
  left: 0;
  right: 0;
  font-size: 0.5em;
  color: #222;
}

/* ===================================================== */
/*  Pulsante "Torna alla Home" — in alto a sinistra     */
/* ===================================================== */

.home-btn{
  position: fixed;
  top: 28px;
  left: 36px;
  z-index: 10;
  display: inline-flex;
  align-items: center;
  gap: 6px;

  background: linear-gradient(135deg, #2c9bd7 0%, #1273a0 100%);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  border-radius: 32px;
  padding: 12px 26px;
  font-size: 15px;
  letter-spacing: 0.3px;

  border: 1px solid rgba(255,255,255,0.35);
  box-shadow: 0 6px 14px rgba(0,0,0,0.35),
              0 0 12px rgba(44,155,215,0.45);
  text-shadow: 0 1px 2px rgba(0,0,0,0.25);

  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.home-btn:hover{
  transform: translateY(-2px) scale(1.05);
  background: linear-gradient(135deg, #3cb0ff 0%, #0e6b9c 100%);
  box-shadow: 0 10px 22px rgba(0,0,0,0.45),
              0 0 18px rgba(44,155,215,0.65);
}

/* ====================== */
/*  MENU MOBILE SOLO HOME */
/* ====================== */

/* Di base il menu mobile è nascosto su desktop */
.mobile-menu {
  display: none;
}

/* Stile del pulsante "Menu" su mobile */
.mobile-menu-toggle {
  border: none;
  cursor: pointer;
  background: linear-gradient(135deg, #2c9bd7 0%, #1273a0 100%);
  color: #fff;
  font-weight: 700;
  border-radius: 999px;
  padding: 26px 56px;
  font-size: 0.6rem;
  letter-spacing: 0.4px;
  box-shadow: 0 6px 14px rgba(0,0,0,0.35);
  text-shadow: 0 1px 2px rgba(0,0,0,0.25);
}

/* Pannello con i link (inizialmente nascosto) */
.mobile-menu-panel {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;

  max-height: 0;
  opacity: 0;
  transform: translateY(20px);
  overflow: hidden;
  transition:
    max-.height 0.4s ease,
    opacity 0.3s ease,
    transform 0.3s ease;
}

/* Quando aggiungo la classe "open" da JS, il pannello si espande */
.mobile-menu-panel.open {
  max-height: 600px;      /* basta che sia > dell’altezza reale */
  opacity: 1;
  transform: translateY(0);
}


/* Singoli link nel menu mobile */
.mobile-menu-item {
  display: block;
  text-decoration: none;
  background: linear-gradient(135deg, #2c9bd7 0%, #1273a0 100%);
  color: #fff;
  padding: 20px 36px;
  border-radius: 26px;
  font-size: 0.9rem;
  text-align: center;


  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Quando il pannello è open, i tasti diventano visibili */
.mobile-menu-panel.open .mobile-menu-item {
  opacity: 1;
  transform: translateY(0);
}

/* piccolo “stagger” (ritardo) per farli entrare uno dopo l'altro */
.mobile-menu-panel.open .mobile-menu-item:nth-child(1) {
  transition-delay: 0.05s;
}
.mobile-menu-panel.open .mobile-menu-item:nth-child(2) {
  transition-delay: 0.10s;
}
.mobile-menu-panel.open .mobile-menu-item:nth-child(3) {
  transition-delay: 0.15s;
}
.mobile-menu-panel.open .mobile-menu-item:nth-child(4) {
  transition-delay: 0.20s;
}
.mobile-menu-panel.open .mobile-menu-item:nth-child(5) {
  transition-delay: 0.25s;
}


.mobile-menu-item span {
  display: block;
  font-size: 0.6rem;
  opacity: 0.9;
}

/* ================== RESPONSIVE: MOBILE HOME E MENU (<1536px) ================== */

@media (max-width: 1536px) {

  /* SFONDO MOBILE DELLA HOME */
  .home-bg {
    background: url('sfondo-home-mobile.png') no-repeat center top;
    background-size: 120%;    /* Mostra quasi tutta l’immagine */
    background-color: #000;      /* Copre eventuali bordi */
    min-height: 100vh;
    overflow: auto;
  }

  /* nasconde i pulsanti desktop */
  .top-buttons,
  .bottom-buttons {
    display: none;
  }

  /* mostra il menu mobile */
  .mobile-menu {
    display: flex;
    flex-direction: column;
    align-items: center;
  
    position: absolute;
    left: 50%;
    top: 80%;
    transform: translate(-50%, -50%);
    z-index: 5;
  
    transition: top 0.35s ease, transform 0.35s ease;
  }

/* quando il menu è aperto, lo spostiamo un po' più in alto */
.mobile-menu.menu-open {
  top: 50%; /* regola a gusto: più basso o più alto */
}


  /* ingrandisco un po' il pulsante menu su mobile */
  .mobile-menu-toggle {
    font-size: 1.0rem;
    padding: 26px 56px;
  }

  footer {
    position: static;
    margin-top: 16px;
    padding-bottom: 24px;
    font-size: 0.5em;
  }

  .home-btn {
    top: 20px;
    left: 20px;
    padding: 12px 26px;
    font-size: 1.2rem;
    border-radius: 28px;
  }
}

/* ================== UNISCITI AI TEST (unisciti-ai-test.html) ================== */
/* Wrapper di sfondo, stile simile alle altre pagine secondarie */ 
.tests-onlybg { 
  min-height: 100vh; 
  background-color: #000; 
  background: url('sfondo-home-mobile.png') no-repeat center top;
  background-size: contain;
  background-attachment: fixed; /* ← desktop & Android */
  font-family: Poppins, system-ui, Arial, sans-serif; 
  color: #fff; 
  display: flex; 
  justify-content: center; 
  align-items: flex-start;
  padding: 90px 16px 32px;
  overflow-x: auto;
  overflow-y: auto;
  box-sizing: border-box;

  position: relative; /* necessario per il trucco mobile */
}

@media (min-width: 1537px) { 
  .tests-onlybg { 
    background: url('sfondo-home-desktop.png') no-repeat center center; 
    background-size: contain; /* o cover */ 
    
  } 
}

/* Contenitore centrale: card scura con bordo blu come il resto */
.tests-container {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
  text-align: left;
  background: rgba(0, 0, 0, 0.78);
  border-radius: 24px;
  padding: 20px 18px 24px;
  border: 1px solid rgba(44, 155, 215, 0.6); /* blu home */
  box-sizing: border-box;
  box-shadow: 0 6px 14px rgba(0,0,0,0.6);
}

@media (min-width: 1537px) {
  .tests-container {
    padding: 28px 32px 32px;
  }
}

/* Header */
.tests-header h1 {
  margin: 0 0 8px;
  font-size: 1.9rem;
  color: #ffffff;
}

.tests-header p {
  margin: 0 0 18px;
  font-size: 0.6rem;
  color: #dbeafe; /* blu chiaro */
}

/* Layout card info sopra il form */
.tests-columns {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
}

@media (min-width: 1537px) {
  .tests-columns {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Card generiche: pannelli scuri con un filo di bordo */
.tests-card {
  background: rgba(0, 0, 0, 0.65);
  border-radius: 18px;
  padding: 12px 14px;
  box-sizing: border-box;
  border: 1px solid rgba(148, 163, 184, 0.3);
}

.tests-card h2 {
  margin: 0 0 8px;
  font-size: 2.02rem;
  color: #2c9bd7; /* blu principale */
}

.tests-card p {
  margin: 0 0 8px;
  font-size: 1.02rem;
  color: #e5e7eb;
}

.tests-card ul,
.tests-card ol {
  margin: 0 0 4px 16px;
  padding: 0;
  font-size: 1.02rem;
  color: #e5e7eb;
}

.tests-card li {
  margin-bottom: 4px;
}

/* Card video evidenziata: bordino arancione come i bottoni */
.tests-card-highlight {
  border: 1px solid #f08c00;
  background: rgba(0, 0, 0, 0.8);
}

/* Form card */
.tests-form-card {
  margin-top: 12px;
}

@media (min-width: 1537px) {
  .tests-form-card {
    margin-top: 18px;
  }
}

.tests-form-card h2 {
  margin-bottom: 10px;
  color: #ffffff;
}

/* Gruppi di campo */
.field-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 10px;
}

.field-group label {
  font-size: 1.02rem;
  color: #bfdbfe; /* blu chiarino */
  margin-bottom: 4px;
}

.field-group label span {
  color: #f08c00;
}

/* Input / textarea: scuri con contorno blu */
.field-group input[type="text"],
.field-group input[type="email"],
.field-group textarea {
  width: 100%;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid #1f2937;
  font-size: 0.9rem;
  box-sizing: border-box;
  background: rgba(15, 23, 42, 0.9);
  color: #f9fafb;
}

.field-group input::placeholder,
.field-group textarea::placeholder {
  color: #6b7280;
}

.field-group input:focus,
.field-group textarea:focus {
  border-color: #2c9bd7;
  outline: none;
}

/* Inline options (radio/checkbox) */
.tests-inline-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  width: 100%;
}

@media (min-width: 1537px) {
  .tests-inline-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.tests-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 8px;
  border-radius: 999px;
  border: 1px solid #2c9bd7;
  font-size: 0.5rem;
  background: rgba(12, 42, 91, 0.7);
  color: #e5e7eb;
  cursor: pointer;
}

.tests-chip input {
  margin: 0;
}

/* Checkbox consenso video */
.tests-checkbox-row {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid #2c9bd7;
  background: rgba(15, 23, 42, 0.9);
}

.tests-checkbox-row input[type="checkbox"] {
  margin-top: 3px;
}

.tests-checkbox-row label {
  margin: 0;
  font-size: 0.8rem;
  color: #e5e7eb;
}

.tests-checkbox-row label strong {
  color: #f97316; /* arancio un filo più acceso */
}

.tests-note {
  font-size: 1.5rem;
  color: #9ca3af;
  margin-top: 4px;
}

/* Bottone submit: riuso .btn.orange e qui gestisco solo la larghezza */
.tests-submit-fullwidth {
  margin-top: 6px;
  width: 100%;
  text-align: center;
}

@media (min-width: 1537px) {
  .tests-submit-fullwidth {
    width: auto;
  }
}

.tests-footer-note {
  margin-top: 8px;
  font-size: 0.75rem;
  color: #9ca3af;
}


/* =========================
    FONT PIÙ PICCOLI SU DESKTOP
   ========================= */
@media (min-width: 1537px) {

  .tests-header h1 {
    font-size: 1.0rem;
  }

  .tests-header p {
    font-size: 1.1rem;
  }

  .tests-card h2 {
    font-size: 0.6rem;
  }

  .tests-card p,
  .tests-card ul,
  .tests-card ol {
    font-size: 1.1rem;
  }

  .field-group label {
    font-size: 1.1rem;
  }

  .field-group input[type="text"],
  .field-group input[type="email"],
  .field-group textarea {
    font-size: 1.0rem;
  }

  .tests-chip {
    font-size: 1rem;
  }

  .tests-checkbox-row label {
    font-size: 1rem;
  }

  .tests-note {
    font-size: 1.5rem;
  }

  .tests-footer-note {
    font-size: 1rem;
  }

  .tests-btn-submit {
    font-size: 1.5rem;
  }
}

.privacy-link {
  color: #2c9bd7;
  text-decoration: underline;
}

.privacy-link:hover {
  color: #3cb0ff;
}

