/* Serenol — estilos extra (Tailwind se carga vía CDN en el <head>) */

html { scroll-behavior: smooth; }

/* Inputs reutilizables */
.serenol-input {
  width: 100%;
  border-radius: 0.75rem;
  border: 2px solid #A6CFFF;
  background: rgba(234, 244, 255, 0.4);
  padding: 0.875rem 1rem;
  font-size: 1rem;
  font-weight: 500;
  color: #0B2A5C;
  outline: none;
  transition: all 0.15s ease;
}
.serenol-input::placeholder { color: #64748b; font-weight: 400; }
.serenol-input:focus {
  border-color: #0F58C7;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(166, 207, 255, 0.7);
}

.serenol-input-dark {
  width: 100%;
  border-radius: 0.75rem;
  border: 2px solid rgba(255,255,255,0.3);
  background: rgba(255,255,255,0.95);
  padding: 0.875rem 1rem;
  font-size: 1rem;
  font-weight: 500;
  color: #0B2A5C;
  outline: none;
  transition: all 0.15s ease;
}
.serenol-input-dark::placeholder { color: #94a3b8; font-weight: 400; }
.serenol-input-dark:focus {
  border-color: #4FB7F0;
  box-shadow: 0 0 0 4px rgba(79, 183, 240, 0.3);
}

/* FAQ */
.faq-item { overflow: hidden; transition: all 0.2s ease; }
.faq-item.open { border-color: #6FB1FB; box-shadow: 0 10px 25px -10px rgba(166, 207, 255, 0.6); }
.faq-toggle { display: flex; width: 100%; align-items: center; gap: 0.75rem; padding: 0.875rem 1rem; text-align: left; background: transparent; border: 0; cursor: pointer; }
@media (min-width: 768px) { .faq-toggle { gap: 1rem; padding: 1rem 1.25rem; } }
.faq-num {
  display: flex; height: 2rem; width: 2rem; flex: none; align-items: center; justify-content: center;
  border-radius: 0.5rem; font-size: 12px; font-weight: 800;
  background: #EAF4FF; color: #0A47A6; transition: all 0.2s;
}
.faq-item.open .faq-num { background: linear-gradient(135deg, #0A47A6, #4FB7F0); color: #fff; }
.faq-q { flex: 1; font-size: 14px; font-weight: 700; line-height: 1.35; color: #0B2A5C; }
@media (min-width: 640px) { .faq-q { font-size: 1rem; } }
.faq-icon {
  display: flex; height: 1.75rem; width: 1.75rem; flex: none; align-items: center; justify-content: center;
  border-radius: 9999px; border: 1px solid #A6CFFF; background: #fff; color: #0A47A6; transition: all 0.2s;
}
.faq-item.open .faq-icon { transform: rotate(45deg); background: #0A47A6; border-color: #0A47A6; color: #fff; }
.faq-body { display: grid; grid-template-rows: 0fr; opacity: 0; transition: all 0.3s ease-out; }
.faq-item.open .faq-body { grid-template-rows: 1fr; opacity: 1; }
.faq-body > div { overflow: hidden; }
.faq-body p {
  border-top: 1px solid #D2E7FF; padding: 0.875rem 1rem 0.875rem 3.25rem;
  font-size: 13px; line-height: 1.6; color: #475569;
}
@media (min-width: 768px) { .faq-body p { padding: 1rem 1.25rem 1rem 4.5rem; font-size: 14px; } }

/* Live toast / popup helpers */
.toast-show { transform: translateX(0) scale(1) !important; opacity: 1 !important; pointer-events: auto !important; }
.popup-show { opacity: 1 !important; pointer-events: auto !important; }
.popup-show > div { transform: scale(1); }
#backToTop.b2t-show { opacity: 1 !important; transform: translateY(0) !important; pointer-events: auto !important; --tw-translate-y: 0 !important; }

/* ───── Anti-copia / anti-inspect (best-effort) ───── */
html, body {
  -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;
  -webkit-touch-callout: none; -webkit-tap-highlight-color: transparent;
}
input, textarea {
  -webkit-user-select: text; -moz-user-select: text; -ms-user-select: text; user-select: text;
}
img { -webkit-user-drag: none; user-drag: none; }
