.spq-wrap { max-width: 760px; margin: 24px auto; padding: 18px; border: 1px solid #e7e7e7; border-radius: 12px; background: #fff; }
.spq-header { margin-bottom: 16px; }
.spq-progress { height: 10px; background: #f2f2f2; border-radius: 99px; overflow: hidden; }
.spq-progress-bar { height: 10px; width: 0%; background: #111; transition: width .25s ease; }
.spq-progress-text { margin-top: 8px; font-size: 13px; color: #555; }

.spq-title { margin: 6px 0 14px; font-size: 20px; }
.spq-field { margin: 14px 0; }
.spq-field label { display:block; font-weight: 600; margin-bottom: 6px; }
.spq-field input[type="text"], .spq-field input[type="email"], .spq-field input[type="tel"],
.spq-field textarea, .spq-field select { width: 100%; padding: 10px 12px; border: 1px solid #ddd; border-radius: 10px; }

.spq-options { display:flex; gap: 12px; flex-wrap: wrap; }
.spq-opt { font-weight: 500; }

.spq-check { display:flex; gap: 10px; align-items: center; font-weight: 500; }

.spq-req { color: #b00020; margin-left: 4px; }
.spq-err { color: #b00020; font-size: 13px; margin-top: 6px; }

.spq-nav { display:flex; gap: 10px; margin-top: 18px; }
.spq-btn { appearance:none; border: 0; background: #111; color: #fff; padding: 10px 14px; border-radius: 10px; cursor: pointer; }
.spq-btn.spq-prev { background: #666; }

.spq-msg { margin-top: 12px; font-size: 13px; color: #444; min-height: 18px; }

.spq-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
/* --- FIX tema/reset: rende i campi sempre visibili e cliccabili --- */
.spq-wrap, .spq-wrap * { box-sizing: border-box; }

.spq-field input:not([type="checkbox"]):not([type="radio"]),
.spq-field textarea,
.spq-field select {
  display: block !important;
  width: 100% !important;
  min-height: 44px !important;
  padding: 10px 12px !important;
  border: 1px solid #d9d9d9 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #111 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.spq-field textarea { min-height: 120px !important; }

.spq-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* === OVERRIDE definitivo tema Meditation Coach / Seva Lite === */
.spq-wrap .spq-field input[type="text"],
.spq-wrap .spq-field input[type="email"],
.spq-wrap .spq-field input[type="tel"],
.spq-wrap .spq-field input[type="number"],
.spq-wrap .spq-field textarea,
.spq-wrap .spq-field select {
  display: block !important;
  width: 100% !important;
  min-height: 44px !important;

  padding: 10px 12px !important;
  margin: 0 !important;

  border: 1px solid #d9d9d9 !important;
  border-radius: 10px !important;

  background-color: #fff !important;
  background-image: none !important;
  background: #fff !important;

  color: #111 !important;
  -webkit-text-fill-color: #111 !important;

  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;

  box-shadow: none !important;
  outline: none !important;
  appearance: auto !important;
  -webkit-appearance: none !important;
  background-clip: padding-box !important;
}

/* focus evidente */
.spq-wrap .spq-field input:focus,
.spq-wrap .spq-field textarea:focus,
.spq-wrap .spq-field select:focus {
  border-color: #111 !important;
}

/* se il tema mette placeholder invisibile */
.spq-wrap .spq-field input::placeholder,
.spq-wrap .spq-field textarea::placeholder {
  color: #777 !important;
  opacity: 1 !important;
}
.spq-wrap { position: relative !important; z-index: 9999 !important; }
.spq-wrap input, .spq-wrap textarea, .spq-wrap select { position: relative !important; z-index: 99999 !important; }


/* === FIX CHECKBOX CONSENSO === */
.spq-check {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  cursor: pointer !important;
}

.spq-check input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  margin: 4px 0 0 0 !important;

  background: #fff !important;
  border: 1px solid #333 !important;
  border-radius: 4px !important;

  opacity: 1 !important;
  pointer-events: auto !important;
}

.spq-check-label {
  line-height: 1.4;
  cursor: pointer;
}
