/* ============================================================
   RANCHO LA VEGA — capa de datos y configuración
   ============================================================ */

/* --- Marca / contacto --- */
const BRAND = {
  name: "Rancho La Vega",
  location: "Tempoal, Veracruz, México",
  tagline: "Crianza, selección y tradición en gallos finos",
  year: "2026",
  // WhatsApp oficial de Rancho La Vega
  wa1: "525621915074",
  wa2: "",
  facebook: "#",
  instagram: "#",
  tiktok: "#",
  messenger: "#",
};

/* Construye un enlace wa.me con mensaje precargado */
function waLink(message, number) {
  const n = (number || BRAND.wa1).replace(/[^0-9]/g, "");
  return "https://wa.me/" + n + (message ? "?text=" + encodeURIComponent(message) : "");
}

/* --- Lista de precios 2026 (MXN) --- */
const PRICING = [
  { cat: "Pollos para show", cond: "7 a 15 meses", price: "$4,000" },
  { cat: "Pollas en cruza", cond: "Según disponibilidad", price: "$3,000" },
  { cat: "Pollos en línea", cond: "Según disponibilidad", price: "$7,500" },
  { cat: "Pollas en línea", cond: "Según disponibilidad", price: "$5,000" },
  { cat: "Gallos machos", cond: "Según disponibilidad", price: "$7,000" },
  { cat: "Tríos", cond: "Según disponibilidad", price: "$17,500" },
  { cat: "Macho Asil en línea", cond: "En línea", price: "$10,000", featured: true },
];

/* --- Líneas disponibles --- */
const LINES_TWO = [
  "Asil / Kelso", "Asil / Sweater", "Sweater Kelso", "Albani / Sweater",
  "Low Grey / Kelso", "Hatch / Sweater", "Low Gray / Asil",
];
const LINES_PURE = [
  "Asil", "Kelso", "Albani", "Low Grey", "Hatch",
  "McLean", "Leiper / Hatch", "Sweater", "Brown Red",
];

/* --- Ejemplares disponibles (catálogo) --- */
const CATEGORIES = [
  "Todos", "Pollos para show", "Pollas en cruza", "Pollos en línea",
  "Pollas en línea", "Gallos machos", "Tríos", "Machos en línea",
];

const SPECIMENS = [
  { id: "e1", code: "LV-118", line: "Asil / Kelso", cat: "Machos en línea", age: "14 meses", status: "Disponible", price: "$10,000", note: "Macho Asil en línea. Estructura fuerte, pluma cerrada y carácter sereno. Selección de plantel." },
  { id: "e2", code: "LV-204", line: "Sweater Kelso", cat: "Gallos machos", age: "11 meses", status: "Disponible", price: "$7,000", note: "Gallo macho de buena presencia y temperamento estable. Línea trabajada en el rancho." },
  { id: "e3", code: "LV-077", line: "Hatch / Sweater", cat: "Pollos en línea", age: "9 meses", status: "Disponible", price: "$7,500", note: "Pollo en línea con hueso fuerte y desarrollo parejo. Disponible para reserva." },
  { id: "e4", code: "LV-152", line: "Albani / Sweater", cat: "Pollas en cruza", age: "8 meses", status: "Reservado", price: "$3,000", note: "Polla en cruza de buena conformación. Apartada — consultar disponibilidad de hermanas." },
  { id: "e5", code: "LV-039", line: "Low Grey / Kelso", cat: "Pollos para show", age: "10 meses", status: "Disponible", price: "$4,000", note: "Pollo para show con excelente porte y pluma. Ideal para presentación." },
  { id: "e6", code: "LV-221", line: "Asil / Sweater", cat: "Tríos", age: "Surtido", status: "Disponible", price: "$17,500", note: "Trío de fundación: macho + dos hembras seleccionadas de la misma cruza." },
  { id: "e7", code: "LV-090", line: "Kelso", cat: "Pollas en línea", age: "12 meses", status: "Disponible", price: "$5,000", note: "Polla en línea Kelso de pluma limpia y buen registro de camada." },
  { id: "e8", code: "LV-263", line: "Brown Red", cat: "Gallos machos", age: "13 meses", status: "Vendido", price: "$7,000", note: "Gallo Brown Red de gran presencia. Ejemplar vendido — referencia de plantel." },
];

/* --- Mapa de envíos: ciudades (coordenadas % aproximadas sobre el panel) --- */
/* Proyección lng/lat → viewBox 1000×640 (compartida por mapa y ciudades) */
const MAP_W = 1000, MAP_H = 640;
const LNG_MIN = -118, LNG_SPAN = 33;   // -118 .. -85
const LAT_MAX = 33, LAT_SPAN = 19;     // 33 .. 14
function project(lng, lat) {
  return [ (lng - LNG_MIN) / LNG_SPAN * MAP_W, (LAT_MAX - lat) / LAT_SPAN * MAP_H ];
}

/* Contorno simplificado de México (lng,lat) — sentido horario, incluye Baja y Yucatán */
const MX_OUTLINE = [
  [-117.1,32.5],[-116.0,31.0],[-115.0,29.0],[-114.0,27.5],[-112.5,25.5],[-110.6,24.0],[-109.8,23.0],
  [-109.4,23.4],[-110.6,24.4],[-111.9,26.0],[-113.2,27.8],[-114.5,29.8],[-114.9,31.1],
  [-114.7,31.8],[-113.4,31.1],[-112.4,30.0],[-111.4,28.4],[-110.5,27.3],[-109.4,26.4],[-108.4,25.2],
  [-106.4,23.2],[-105.7,21.9],[-105.2,20.4],[-103.5,18.5],[-101.5,17.6],[-99.9,16.7],[-98.5,16.3],
  [-96.5,15.7],[-95.2,15.7],[-94.0,16.2],[-92.2,15.3],[-91.0,16.1],[-90.4,17.8],[-88.3,18.5],
  [-87.5,19.0],[-86.8,20.5],[-87.0,21.6],[-88.5,21.6],[-90.3,21.0],[-90.5,19.8],[-91.8,18.6],
  [-92.9,18.6],[-94.5,18.2],[-96.4,19.2],[-97.7,24.0],[-97.5,25.9],[-99.5,27.6],[-101.5,29.8],
  [-103.0,29.0],[-104.5,29.6],[-106.5,31.8],[-108.2,31.3],[-111.0,31.3],[-114.7,32.7],
];

const ORIGIN = { city: "Tempoal, Veracruz", ll: [-98.39, 21.51] };

const CITIES = [
  // tier: 'priority' | 'air' | 'review'
  { city: "Tijuana", ll: [-117.0, 32.5], tier: "air" },
  { city: "Hermosillo", ll: [-110.95, 29.07], tier: "air" },
  { city: "Chihuahua", ll: [-106.07, 28.63], tier: "air" },
  { city: "Los Cabos", ll: [-109.7, 23.05], tier: "air" },
  { city: "Culiacán", ll: [-107.4, 24.8], tier: "air" },
  { city: "Mazatlán", ll: [-106.4, 23.25], tier: "air" },
  { city: "Torreón", ll: [-103.4, 25.55], tier: "air" },
  { city: "Monterrey", ll: [-100.3, 25.67], tier: "air" },
  { city: "Aguascalientes", ll: [-102.3, 21.88], tier: "air" },
  { city: "León", ll: [-101.68, 21.12], tier: "air" },
  { city: "Guadalajara", ll: [-103.35, 20.67], tier: "air" },
  { city: "Pto. Vallarta", ll: [-105.23, 20.65], tier: "air" },
  { city: "San Luis Potosí", ll: [-100.98, 22.15], tier: "priority" },
  { city: "Querétaro", ll: [-100.39, 20.59], tier: "priority" },
  { city: "CDMX", ll: [-99.13, 19.43], tier: "priority" },
  { city: "Edo. de México", ll: [-99.8, 19.29], tier: "priority" },
  { city: "Puebla", ll: [-98.2, 19.04], tier: "priority" },
  { city: "Hidalgo", ll: [-98.73, 20.12], tier: "priority" },
  { city: "Tamaulipas", ll: [-98.9, 23.74], tier: "priority" },
  { city: "Acapulco", ll: [-99.82, 16.85], tier: "air" },
  { city: "Oaxaca", ll: [-96.72, 17.06], tier: "air" },
  { city: "Tuxtla Gtz.", ll: [-93.1, 16.75], tier: "air" },
  { city: "Villahermosa", ll: [-92.93, 17.99], tier: "air" },
  { city: "Mérida", ll: [-89.62, 20.97], tier: "air" },
  { city: "Cancún", ll: [-86.85, 21.16], tier: "air" },
];

const SHIP_TIERS = [
  {
    key: "priority", label: "Cobertura prioritaria",
    desc: "Mejor viabilidad por cercanía, ruta terrestre o conexión regional.",
    items: ["Veracruz", "Hidalgo", "San Luis Potosí", "Tamaulipas", "Puebla", "Querétaro", "CDMX", "Estado de México"],
  },
  {
    key: "air", label: "Cobertura por conexión aérea",
    desc: "El envío puede depender de vuelos, rutas disponibles y recepción coordinada (referencia: destinos conectados por Aeroméxico u otras rutas viables).",
    items: ["Monterrey", "Guadalajara", "Cancún", "Mérida", "Tijuana", "Hermosillo", "Chihuahua", "Culiacán", "Torreón", "León / Guanajuato", "Aguascalientes", "Villahermosa", "Tuxtla Gutiérrez", "Oaxaca", "Mazatlán", "Los Cabos", "Puerto Vallarta", "Acapulco"],
  },
  {
    key: "review", label: "Cobertura sujeta a revisión",
    desc: "Zonas donde el envío requiere revisión especial por distancia, conexión, permisos o tiempos de traslado.",
    items: ["Otros destinos nacionales — consultar por WhatsApp"],
  },
];

/* --- Proceso de compra --- */
const PROCESS = [
  { t: "Consulta disponibilidad", d: "Escríbenos por WhatsApp o Messenger para saber qué ejemplares están disponibles." },
  { t: "Revisa fotos, videos y detalles", d: "Te compartimos información clara del ejemplar que te interesa." },
  { t: "Confirma línea, precio y condiciones", d: "Revisamos contigo categoría, línea, edad, precio y condiciones de entrega." },
  { t: "Aparta o confirma tu ejemplar", d: "El equipo de Rancho La Vega te indica los pasos oficiales para apartar o confirmar." },
  { t: "Coordinamos entrega o envío", d: "El envío se cotiza por separado. Confirmamos tu ciudad, estado, ruta posible y condiciones de traslado." },
  { t: "Seguimiento y atención", d: "Te acompañamos durante el proceso para que tengas claridad y confianza." },
];

/* --- Crianza y cuidado --- */
const CARE = [
  ["Alimentación", "Dietas balanceadas según etapa y desarrollo de cada ave."],
  ["Higiene", "Limpieza constante de espacios para prevenir enfermedades."],
  ["Manejo responsable", "Trato cuidadoso, sin estrés innecesario para el ejemplar."],
  ["Espacios adecuados", "Áreas amplias y ventiladas para un crecimiento sano."],
  ["Selección de línea", "Cruzas pensadas para mantener calidad y características."],
  ["Observación diaria", "Seguimiento del comportamiento y la condición de cada ave."],
  ["Salud y bienestar", "Atención preventiva y cuidado del estado general."],
  ["Registro interno", "Control de camadas, edades y procedencia de cada ejemplar."],
];

/* --- Dinámica oficial (grilla 00-99) --- */
const TAKEN = [3, 7, 12, 18, 21, 25, 29, 34, 40, 41, 47, 53, 58, 60, 66, 72, 77, 81, 88, 90, 95, 99];
const DYN_WINNERS = [
  { n: "07", name: "J. Hernández", prize: "Pollo en línea" },
  { n: "44", name: "L. Martínez", prize: "Trío Sweater Kelso" },
];

/* --- FAQ --- */
const FAQ = [
  ["¿Rancho La Vega es un criadero real?", "Sí. Rancho La Vega es un criadero mexicano ubicado en Tempoal, Veracruz, dedicado a la crianza, selección y cuidado de gallos finos."],
  ["¿Dónde se ubica Rancho La Vega?", "Rancho La Vega se ubica en Tempoal, Veracruz, México."],
  ["¿Cómo sé si hablo con la página oficial?", "Verifica que el contacto venga desde los canales oficiales publicados en esta página. Evita tratar con perfiles, números o páginas no autorizadas."],
  ["¿Cuál es el WhatsApp oficial?", "El WhatsApp oficial se muestra en esta página en los botones de contacto. Usa únicamente los números verificados por Rancho La Vega."],
  ["¿Cómo consulto ejemplares disponibles?", "Puedes escribir por WhatsApp oficial para consultar disponibilidad, línea, edad, precio, fotos y videos recientes."],
  ["¿Los precios incluyen envío?", "No. Los precios no incluyen envío. El costo de entrega o traslado se cotiza por separado según destino y ruta disponible."],
  ["¿Qué líneas manejan?", "Trabajamos líneas como Asil, Kelso, Sweater, Albani, Low Grey, Hatch, McLean, Leiper / Hatch y Brown Red, además de combinaciones de dos sangres."],
  ["¿Cómo se aparta un ejemplar?", "El equipo de Rancho La Vega te indicará los pasos oficiales por WhatsApp. No realices acuerdos con personas o perfiles no autorizados."],
  ["¿Puedo pedir fotos o videos antes de decidir?", "Sí. Puedes solicitar fotos, videos y detalles recientes del ejemplar que te interesa."],
  ["¿Manejan envíos?", "Los envíos están sujetos a disponibilidad, destino, ruta y condiciones logísticas. Algunos destinos pueden depender de conexión aérea o rutas autorizadas."],
  ["¿Cómo funcionan las dinámicas?", "Las dinámicas oficiales se anuncian por canales verificados, con reglas claras, números asignados y fecha de referencia previamente comunicada."],
  ["¿Qué hago si veo una página falsa?", "Repórtala y confirma directamente con los canales oficiales publicados en esta página."],
  ["¿Puedo visitar el rancho?", "Las visitas deben consultarse previamente por WhatsApp oficial y están sujetas a disponibilidad y autorización del rancho."],
  ["¿Los precios pueden cambiar?", "Sí. Los precios pueden cambiar según disponibilidad, línea, edad, características del ejemplar y condiciones de entrega."],
];

/* --- Blog / Guías --- */
const BLOG = [
  { tag: "Canales oficiales", t: "Cómo identificar los canales oficiales de Rancho La Vega", d: "Aprende a verificar que estás tratando con el criadero y no con un perfil falso." },
  { tag: "Guía para compradores", t: "Qué revisar antes de comprar un gallo fino", d: "Edad, línea, conformación y procedencia: lo esencial antes de decidir." },
  { tag: "Líneas y genética", t: "Líneas disponibles en Rancho La Vega", d: "Un repaso a las sangres que trabajamos y sus características." },
  { tag: "Precios", t: "Lista de precios Rancho La Vega 2026", d: "Categorías, condiciones y avisos importantes sobre envío." },
  { tag: "Crianza y cuidado", t: "Cuidados básicos al recibir un ejemplar", d: "Recomendaciones para los primeros días en su nuevo hogar." },
  { tag: "Dinámicas y comunidad", t: "Cómo funcionan las dinámicas de Rancho La Vega", d: "Reglas claras, números asignados y transparencia." },
  { tag: "Cómo evitar fraudes", t: "Cómo evitar fraudes y perfiles falsos", d: "Señales de alerta y buenas prácticas al apartar un ejemplar." },
  { tag: "Envíos y logística", t: "Cómo consultar envío a tu ciudad", d: "Qué información necesitamos para cotizar tu traslado." },
  { tag: "Criadero serio", t: "Qué significa comprar con un criadero serio", d: "Reputación, seguimiento y respaldo de crianza." },
];

Object.assign(window, {
  BRAND, waLink, PRICING, LINES_TWO, LINES_PURE, CATEGORIES, SPECIMENS,
  ORIGIN, CITIES, SHIP_TIERS, PROCESS, CARE, TAKEN, DYN_WINNERS, FAQ, BLOG,
  project, MX_OUTLINE, MAP_W, MAP_H,
});
