// data.jsx — contenido y tokens para Excelencia Legal CR

// ── Supabase client (shared across landing scripts) ─────────────────
const SUPABASE_URL  = 'https://vvbnkaexeexthvlfyhaj.supabase.co'
const SUPABASE_ANON = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InZ2Ym5rYWV4ZWV4dGh2bGZ5aGFqIiwicm9sZSI6ImFub24iLCJpYXQiOjE3ODA1OTYxODgsImV4cCI6MjA5NjE3MjE4OH0.40KY3eRjc3m1E7bzidLelk6pwM4p2q053cS0JwYloNA'
let _sb = null
function getSupabase() {
  if (!_sb) _sb = supabase.createClient(SUPABASE_URL, SUPABASE_ANON)
  return _sb
}

// ── Paletas (marino+oro por defecto) ───────────────────────────────
const PALETTES = {
  "Marino & Oro": {
    brand: "#0E2038", brandSoft: "#1C3A5E",
    accent: "#B0883B", accentSoft: "#CBA85C",
    paper: "#F6F1E6", paperElev: "#FFFFFF", paperSunk: "#EFE7D6",
    ink: "#17202E", inkSoft: "#54607A",
    darkBg: "#0A1626", darkElev: "#11243C", darkSunk: "#0C1B2E",
    darkInk: "#F2ECDC", darkInkSoft: "#A9B6CB",
  },
  "Esmeralda & Crema": {
    brand: "#123A2D", brandSoft: "#1E5341",
    accent: "#B5933F", accentSoft: "#CDAE62",
    paper: "#F3F0E5", paperElev: "#FFFFFF", paperSunk: "#EBE6D6",
    ink: "#16261F", inkSoft: "#4E5C53",
    darkBg: "#08201A", darkElev: "#0F3127", darkSunk: "#0A2620",
    darkInk: "#EFEEDD", darkInkSoft: "#A6BAAE",
  },
  "Borgoña & Neutro": {
    brand: "#4A1620", brandSoft: "#6B2330",
    accent: "#AC854A", accentSoft: "#C6A368",
    paper: "#F4EEE8", paperElev: "#FFFFFF", paperSunk: "#ECE3DA",
    ink: "#241317", inkSoft: "#5E4F50",
    darkBg: "#1E0C11", darkElev: "#30151B", darkSunk: "#250F14",
    darkInk: "#F1E8E1", darkInkSoft: "#C2A9A6",
  },
  "Grafito & Oro": {
    brand: "#1D232B", brandSoft: "#333C48",
    accent: "#B49454", accentSoft: "#CBAE73",
    paper: "#F1F1ED", paperElev: "#FFFFFF", paperSunk: "#E7E7E1",
    ink: "#181B20", inkSoft: "#565C66",
    darkBg: "#101317", darkElev: "#1B2027", darkSunk: "#14181D",
    darkInk: "#EFEFEA", darkInkSoft: "#A7AEB9",
  },
};

// ── Tipografía ─────────────────────────────────────────────────────
const TYPE_SETS = {
  "Lapidaria":     { display: "'Marcellus', serif",          body: "'Libre Franklin', sans-serif", tracking: "0.01em" },
  "Editorial":     { display: "'Cormorant Garamond', serif", body: "'Source Sans 3', sans-serif",  tracking: "0.005em" },
  "Institucional": { display: "'Playfair Display', serif",   body: "'Libre Franklin', sans-serif", tracking: "0em" },
};

// ── Densidad ───────────────────────────────────────────────────────
const DENSITY = {
  "Compacto": { sectionY: 72,  gap: 20, hero: 96 },
  "Cómodo":   { sectionY: 104, gap: 28, hero: 132 },
  "Amplio":   { sectionY: 140, gap: 38, hero: 168 },
};

// ── Variantes de copy del hero ─────────────────────────────────────
const HERO_COPY = {
  "Aspiracional": {
    eyebrow: "Examen de incorporación · Colegio de Abogados y Abogadas de Costa Rica",
    title: ["Que la balanza", "se incline a tu favor."],
    sub: "Simula el examen de incorporación con preguntas tipo, cronómetro real y resultados por materia. Llega al día de tu examen con la confianza de quien ya lo aprobó cien veces.",
  },
  "Directo": {
    eyebrow: "Preparación para el examen de incorporación · Costa Rica",
    title: ["Aprueba tu examen", "de incorporación."],
    sub: "Practica con preguntas tipo examen, simulacros cronometrados y análisis de tu desempeño por materia. Estudia con lo que de verdad mueve la aguja.",
  },
  "Confianza": {
    eyebrow: "La preparación de los abogados de Costa Rica",
    title: ["Tu toga", "empieza aquí."],
    sub: "La plataforma de simulacros que prepara a los futuros agremiados del Colegio de Abogados y Abogadas de Costa Rica. Practica como en el examen real, hoy mismo.",
  },
};

// ── Estadísticas ───────────────────────────────────────────────────
const STATS = [
  { value: "8",      label: "Materias evaluadas" },
  { value: "100%",   label: "Apegadas a la normativa vigente" },
  { value: "24/7",   label: "Online y offline" },
];

// ── Materias ───────────────────────────────────────────────────────
const SUBJECTS = [
  { name: "Derecho Constitucional",  code: "I" },
  { name: "Derecho Civil",           code: "II" },
  { name: "Derecho Penal",           code: "III" },
  { name: "Derecho Laboral",         code: "IV" },
  { name: "Derecho de Familia",      code: "V" },
  { name: "Derecho Comercial",       code: "VI" },
  { name: "Derecho Administrativo",  code: "VII" },
  { name: "Deontología Jurídica",    code: "VIII" },
];

// ── Cómo funciona ──────────────────────────────────────────────────
const STEPS = [
  { n: "01", title: "Elige tu materia o simulacro completo", body: "Practica un área puntual o enfréntate a un simulacro integral que replica la estructura del examen de incorporación." },
  { n: "02", title: "Responde contra el reloj", body: "El cronómetro reproduce los tiempos reales de la prueba. Aprende a administrar tu ritmo antes del día decisivo." },
  { n: "03", title: "Recibe tu diagnóstico por materia", body: "Al terminar verás tu puntaje, los temas que dominas y los que debes reforzar, con la fundamentación de cada respuesta." },
  { n: "04", title: "Repite hasta dominar", body: "Cada intento ajusta tu plan de estudio. Avanza materia por materia hasta llegar listo a tu incorporación." },
];

// ── Origen de las preguntas (3 fuentes) ────────────────────────────
const SOURCES = [
  {
    n: "01",
    tag: "Exámenes anteriores",
    title: "Reactivos de pruebas reales",
    body: "Preguntas tomadas de exámenes de incorporación de años previos, para que practiques con el estilo y el nivel exacto de la prueba oficial.",
  },
  {
    n: "02",
    tag: "Banco de preguntas",
    title: "Redactadas por profesionales",
    body: "Un banco curado por agremiados en ejercicio, que amplía la cobertura de cada materia más allá de lo que han preguntado los exámenes anteriores.",
  },
  {
    n: "03",
    tag: "Generadas con IA",
    title: "Creadas y validadas por ley",
    body: "Preguntas generadas con inteligencia artificial, completamente apegadas a la legislación vigente: cada una se valida contra los artículos aplicables antes de publicarse.",
  },
];

const VALIDATION = {
  eyebrow: "VALIDACIÓN LEGAL",
  title: "Ninguna pregunta se publica sin pasar por la ley",
  body: "Sea cual sea su origen, toda pregunta se contrasta con la normativa vigente y se respalda en el artículo o criterio que la sustenta. Filtramos automáticamente las leyes derogadas, de modo que nunca estudias con disposiciones que ya no están en vigor.",
  points: [
    "Validación contra los artículos vigentes",
    "Filtrado automático de leyes derogadas",
    "Cada respuesta respaldada por su fundamento legal",
  ],
};

// ── Características ─────────────────────────────────────────────────
const FEATURES = [
  { title: "Cronómetro fiel al examen", body: "Tiempos por bloque idénticos a la prueba oficial, con avisos y pausa automática al concluir.", tag: "Tiempo real" },
  { title: "Banco en crecimiento constante", body: "Cada pregunta se redacta, valida y aprueba una a una antes de publicarse; el banco se amplía de forma continua sin sacrificar el rigor.", tag: "Contenido" },
  { title: "Resultados por materia", body: "Mapa de calor de tu desempeño: identifica de un vistazo dónde concentrar tu estudio.", tag: "Analítica" },
  { title: "Fundamentación de cada respuesta", body: "Cada pregunta cita el artículo o criterio que la sustenta, para que entiendas el porqué.", tag: "Aprendizaje" },
  { title: "Historial de progreso", body: "Sigue tu evolución intento a intento y compárate con el estándar de aprobación.", tag: "Seguimiento" },
  { title: "Modo concentración", body: "Interfaz sobria, sin distracciones, pensada para largas sesiones de estudio.", tag: "Enfoque" },
];

// ── Testimonios ────────────────────────────────────────────────────
const TESTIMONIALS = [
  { quote: "Llegué al examen sin nervios porque ya lo había hecho decenas de veces aquí. El cronómetro me enseñó a no quedarme pegada en una pregunta.", name: "Mariana Solís", role: "Incorporada 2025" },
  { quote: "El diagnóstico por materia fue lo que cambió todo. Dejé de estudiar a ciegas y me enfoqué en Procesal Civil, que era mi punto débil.", name: "Andrés Quirós", role: "Incorporado 2025" },
  { quote: "La fundamentación de cada respuesta vale oro. No memoricé: entendí. Eso se nota cuando la pregunta viene planteada distinto.", name: "Daniela Rojas", role: "Incorporada 2024" },
];

// ── Plan único ─────────────────────────────────────────────────────
const PLAN = {
  name: "Acceso completo",
  price: "₡20.000", period: "por 6 meses",
  desc: "Acceso completo a la plataforma durante 6 meses.",
  features: [
    "Simulacros ilimitados",
    "Las 8 materias evaluadas",
    "Simulacros integrales cronometrados",
    "Diagnóstico por materia",
    "Fundamentación de cada respuesta",
    "Historial de progreso",
  ],
  cta: "Comenzar ahora",
  note: "Pago único · 6 meses de acceso · Tu progreso queda guardado",
};

// ── Preguntas del simulacro de demostración (2 por materia) ────────
const DEMO_QUESTIONS = [
  // ── Derecho Constitucional ──────────────────────────────────────
  {
    subject: "Derecho Constitucional",
    text: "Según la Constitución Política de Costa Rica, el recurso de hábeas corpus procede para garantizar:",
    options: [
      "La libertad e integridad personales frente a detenciones ilegítimas",
      "El acceso a información de interés público en poder del Estado",
      "El derecho de petición y pronta resolución ante la Administración",
      "La inviolabilidad de las comunicaciones privadas",
    ],
    correct: 0,
    rationale: "El hábeas corpus tutela la libertad corporal e integridad personales. El amparo protege los demás derechos fundamentales no cubiertos por el hábeas corpus.",
    law: "Constitución Política de Costa Rica",
    article: "48",
  },
  {
    subject: "Derecho Constitucional",
    text: "El artículo 33 de la Constitución Política de Costa Rica establece que:",
    options: [
      "Todo ser humano es igual ante la ley y no puede practicarse discriminación contraria a la dignidad humana",
      "Todas las personas tienen los mismos derechos económicos sin distinción de origen",
      "El Estado debe garantizar igual salario por trabajo igual en el sector público",
      "La igualdad constitucional aplica únicamente a los nacionales costarricenses",
    ],
    correct: 0,
    rationale: "El artículo 33 dispone que todo ser humano es igual ante la ley y que no podrá hacerse discriminación alguna contraria a la dignidad humana.",
    law: "Constitución Política de Costa Rica",
    article: "33",
  },

  // ── Derecho Civil ───────────────────────────────────────────────
  {
    subject: "Derecho Civil",
    text: "En el Código Civil costarricense, la prescripción adquisitiva ordinaria de bienes inmuebles requiere posesión de buena fe por un plazo de:",
    options: [
      "Diez años",
      "Cinco años",
      "Veinte años",
      "Quince años",
    ],
    correct: 0,
    rationale: "El artículo 853 del Código Civil establece que la prescripción ordinaria de inmuebles requiere posesión de buena fe por diez años continuos.",
    law: "Código Civil",
    article: "853",
  },
  {
    subject: "Derecho Civil",
    text: "Según el artículo 1045 del Código Civil, quien por dolo, falta, negligencia o imprudencia causa a otro un daño está obligado a:",
    options: [
      "Repararlo junto con los perjuicios causados",
      "Pagar una multa fija establecida por el juez competente",
      "Restituir únicamente el daño material debidamente probado",
      "Indemnizar solo si existe culpa grave o dolo comprobado",
    ],
    correct: 0,
    rationale: "El artículo 1045 del Código Civil consagra la responsabilidad civil extracontractual: quien cause daño debe repararlo íntegramente junto con los perjuicios derivados.",
    law: "Código Civil",
    article: "1045",
  },

  // ── Derecho Penal ───────────────────────────────────────────────
  {
    subject: "Derecho Penal",
    text: "Conforme al Código Penal de Costa Rica, actúa en legítima defensa quien repele una agresión ilegítima, siempre que concurra:",
    options: [
      "Necesidad racional del medio empleado y falta de provocación suficiente del defensor",
      "Que la agresión ya haya cesado pero exista peligro inminente de que se reanude",
      "Que el defensor no tuviera ninguna posibilidad de huir del lugar del ataque",
      "Que la agresión provenga de un tercero ajeno al conflicto original",
    ],
    correct: 0,
    rationale: "El artículo 28 del Código Penal exige: agresión ilegítima, necesidad racional del medio empleado para impedirla o repelerla y falta de provocación suficiente por parte del defensor.",
    law: "Código Penal",
    article: "28",
  },
  {
    subject: "Derecho Penal",
    text: "Según el Código Penal costarricense, existe tentativa cuando el sujeto activo:",
    options: [
      "Inicia la ejecución del delito pero no lo consuma por causas ajenas a su voluntad",
      "Realiza únicamente actos preparatorios suficientes para consumar el delito",
      "Desiste voluntariamente de completar la ejecución ya iniciada",
      "Comete el hecho en grado de participación secundaria o complicidad",
    ],
    correct: 0,
    rationale: "El artículo 24 del Código Penal define la tentativa como el inicio de ejecución del delito que no se consuma por causas independientes de la voluntad del agente.",
    law: "Código Penal",
    article: "24",
  },

  // ── Derecho Laboral ─────────────────────────────────────────────
  {
    subject: "Derecho Laboral",
    text: "Según el Código de Trabajo, cuando el patrono despide sin justa causa a un trabajador con más de tres meses de servicio en contrato indefinido, el plazo de preaviso es:",
    options: [
      "Un mes",
      "Dos semanas",
      "Quince días naturales",
      "Dos meses",
    ],
    correct: 0,
    rationale: "El artículo 28 del Código de Trabajo establece que, en contratos a plazo indefinido, el preaviso para trabajadores con más de tres meses de servicio es de un mes.",
    law: "Código de Trabajo",
    article: "28",
  },
  {
    subject: "Derecho Laboral",
    text: "El auxilio de cesantía, conforme al Código de Trabajo, se calcula tomando como base:",
    options: [
      "Los últimos doce salarios ordinarios devengados, con un tope máximo de ocho años",
      "El salario promedio de toda la relación laboral, sin límite de antigüedad",
      "El último salario mensual multiplicado por la totalidad de años laborados",
      "Los últimos seis meses de salario, independientemente de la antigüedad",
    ],
    correct: 0,
    rationale: "El artículo 29 del Código de Trabajo dispone que la cesantía se calcula con los últimos doce salarios ordinarios y tiene un tope de ocho años de antigüedad.",
    law: "Código de Trabajo",
    article: "29",
  },

  // ── Derecho de Familia ──────────────────────────────────────────
  {
    subject: "Derecho de Familia",
    text: "El Código de Familia de Costa Rica establece que el divorcio por mutuo consentimiento puede solicitarse cuando los cónyuges:",
    options: [
      "Llevan al menos tres años de haberse casado",
      "Llevan al menos un año de haberse casado",
      "No tienen hijos menores de edad en común",
      "Acreditan separación de hecho por más de dos años continuos",
    ],
    correct: 0,
    rationale: "El artículo 48 del Código de Familia dispone que el divorcio por mutuo consentimiento procede cuando los cónyuges llevan al menos tres años de matrimonio.",
    law: "Código de Familia",
    article: "48",
  },
  {
    subject: "Derecho de Familia",
    text: "Según el Código de Familia, la patria potestad comprende el conjunto de deberes y derechos de los padres sobre sus hijos menores, con el fin de:",
    options: [
      "Protegerlos, educarlos y prepararlos para la vida en el medio social",
      "Administrar los bienes del menor sin restricción ni rendición de cuentas",
      "Representarlos exclusivamente en actos de naturaleza patrimonial",
      "Ejercer autoridad disciplinaria con plena discrecionalidad parental",
    ],
    correct: 0,
    rationale: "El artículo 140 del Código de Familia define la patria potestad como el conjunto de deberes y derechos orientados a proteger, educar y preparar a los hijos para la vida.",
    law: "Código de Familia",
    article: "140",
  },

  // ── Derecho Comercial ───────────────────────────────────────────
  {
    subject: "Derecho Comercial",
    text: "Conforme al Código de Comercio de Costa Rica, el principio de literalidad en los títulos valores significa que:",
    options: [
      "El derecho incorporado al título se determina exclusivamente por lo que en él se consigna",
      "El título solo puede ejecutarse ante notario público debidamente autorizado",
      "El tenedor legítimo puede exigir derechos adicionales a los indicados en el documento",
      "La obligación cambiaria depende de la causa que dio origen al título",
    ],
    correct: 0,
    rationale: "La literalidad implica que el derecho se mide y determina por lo escrito literalmente en el documento, sin consideración a circunstancias externas al título.",
    law: "Código de Comercio",
    article: "669",
  },
  {
    subject: "Derecho Comercial",
    text: "En la sociedad anónima costarricense, la responsabilidad patrimonial de cada accionista se limita a:",
    options: [
      "El monto de su aportación al capital social",
      "La totalidad del patrimonio de la sociedad al momento de la demanda",
      "El valor nominal de sus acciones incrementado en un veinte por ciento",
      "La proporción de su participación en el total de acciones emitidas y en circulación",
    ],
    correct: 0,
    rationale: "En la sociedad anónima los accionistas responden únicamente hasta el monto de su aportación al capital social, sin comprometer su patrimonio personal (Código de Comercio, art. 18).",
    law: "Código de Comercio",
    article: "18",
  },

  // ── Derecho Administrativo ──────────────────────────────────────
  {
    subject: "Derecho Administrativo",
    text: "Según la Ley General de la Administración Pública, el recurso de revocatoria es resuelto por:",
    options: [
      "El mismo órgano que dictó el acto impugnado",
      "El órgano jerárquico superior al que emitió el acto",
      "La Sala Constitucional de la Corte Suprema de Justicia",
      "El Tribunal Contencioso Administrativo y Civil de Hacienda",
    ],
    correct: 0,
    rationale: "El recurso de revocatoria se interpone ante el mismo órgano que emitió el acto, para que lo revise y en su caso lo corrija, modifique o anule.",
    law: "Ley General de la Administración Pública",
    article: "342",
  },
  {
    subject: "Derecho Administrativo",
    text: "Conforme a la Ley General de la Administración Pública, la nulidad absoluta de un acto administrativo se produce cuando:",
    options: [
      "El acto carece de alguno de sus elementos esenciales o viola el ordenamiento de forma grave y evidente",
      "El acto contiene un vicio de forma que no afecta el fondo ni los derechos del administrado",
      "El acto fue dictado por funcionario con competencia ampliada mediante delegación válida",
      "El acto afecta derechos de un tercero que no fue notificado en el plazo legal",
    ],
    correct: 0,
    rationale: "El artículo 166 de la LGAP establece que habrá nulidad absoluta cuando falten los elementos esenciales del acto o cuando la violación al ordenamiento sea grave y evidente.",
    law: "Ley General de la Administración Pública",
    article: "166",
  },
];

Object.assign(window, {
  PALETTES, TYPE_SETS, DENSITY, HERO_COPY, STATS, SUBJECTS,
  STEPS, SOURCES, VALIDATION, FEATURES, TESTIMONIALS, PLAN, DEMO_QUESTIONS,
});
