/* ============================================================
   DOS OCÉANOS — Datos de la carta, fechas especiales y logística
   Edita aquí precios, platos, zonas de domicilio y promociones.
   ============================================================ */

const WA = "573023839789";                         // WhatsApp del restaurante
window.PHOTOS = {
  "Arroz Marinero": "uploads/Arror Marinero-de03a71e.png",
  "Bocachico": "uploads/Bocachico-efb82860.png",
  "Mojarra": "uploads/Mojarra-f5e2ef68.png",
  "Picuda": "uploads/Picuda-69561e5c.png",
  "Ceviche de camarón": "uploads/Ceviche de camaron.png",
  "Pasta de Camarón": "uploads/Pasta Marinera.png",
  "Bagre marinero": "uploads/Bragre Marinero-40f4cb69.png",
  "Corbina marinera": "uploads/Corbina Marinera.png",
  "Arroz de Camarón": "uploads/Arroz de Camarones.png",
  "Cazuela de Mariscos": "uploads/Cazuela mariscos.png",
  "Corbina": "uploads/Corbina.png",
  "Filete de Róbalo": "uploads/Filete.png",
  "Lenguado": "uploads/Lenguado.png",
  "Tilapia asada": "uploads/Tilapia Asada.png",
  "Trucha asada": "uploads/Trucha Asada.png",
  "Salmón asado": "uploads/Salmon Asado.png",
  "Limonada Cerezada": "uploads/Cerezada.png",
  "Limonada Natural": "uploads/Limonada Natural.png",
};
// Para activar el autocompletado de direcciones, pega aquí tu clave de Google Maps
// (Google Cloud → APIs → "Maps JavaScript API" + "Places API", con facturación activa).
// Mientras esté vacía, el campo de dirección funciona como texto normal.
const GOOGLE_MAPS_API_KEY = "";
const MENU_URL = "https://www.dosoceanos.co"; // a dónde apunta el QR
const MENU_PDF = "Menu Dos Oceanos.html?embed=1";    // menú digital mostrado en "Ver Menú Digital"
const PHONES = [
  { label: "Domicilios", num: "302 383 9789", wa: true },
  { label: "Domicilios", num: "310 340 4613", wa: true },
  { label: "Fijo", num: "445 5895", wa: false },
];
const ADDRESS = "Cra 138A # 142C - 61";

// Redes sociales — reemplaza con los enlaces reales del restaurante
const SOCIAL = {
  instagram: "https://instagram.com/dosoceanos",
  facebook: "https://facebook.com/dosoceanos",
  tiktok: "https://tiktok.com/@dosoceanos",
};

// Opciones de personalización
const RICE = [
  { id: "coco", label: "Arroz con coco" },
  { id: "blanco", label: "Arroz blanco" },
];
const DRINKS = [
  { id: "lim", label: "Limonada natural", extra: 0 },
  { id: "boro", label: "Borojó", extra: 0 },
];

const MAR = "Pulpo, mejillón, chipichipi, calamar, anillo, camarón y palmito";

/* ---- Categorías de la carta ----
   includes: qué trae el plato (define qué se puede personalizar)
   serves:  texto de "Incluye" que se muestra en el modal
*/
const CATS = [
  {
    id: "entradas", name: "Entradas", kicker: "Para empezar", c: "soft",
    note: "Frescas del día, para abrir el apetito frente al mar.",
    includes: { rice: false, drink: false },
    serves: "",
    items: [
      { n: "Ceviche de camarón", from: 35000, suggested: true,
        d: "Fresquísimo y cítrico, marinado en limón con cebolla morada y cilantro recién picado.",
        ing: ["Camarón", "Limón", "Cebolla morada", "Cilantro"] },
    ],
  },
  {
    id: "fritos", name: "Pescados Fritos", kicker: "Frito & crocante", c: "sun",
    note: "Frito entero hasta quedar dorado y crujiente, como en la costa.",
    includes: { rice: true, drink: true },
    serves: "Arroz (coco o blanco), ensalada, patacón, sancocho de pescado y bebida.",
    items: [
      { n: "Pargo Rojo", from: 60000, to: 80000, tag: "Favorito", suggested: true, weights: [500, 650, 800],
        d: "Exquisito y contundente, de piel dorada y carne jugosa e intensa, un clásico marino.",
        ing: ["Pargo rojo", "Sal marina", "Limón"] },
      { n: "Róbalo", from: 40000, to: 70000, weights: [400, 600, 800],
        d: "Delicado y sin grasa, de carne blanca finísima, uno de los más apetecidos.",
        ing: ["Róbalo", "Sal marina", "Limón"] },
      { n: "Corbina", from: 40000, to: 60000, tag: "Favorito", suggested: true, weights: [400, 550, 700],
        d: "Jugosa y generosa, de carne blanca de buen tamaño, dorada entera.",
        ing: ["Corbina", "Sal marina", "Limón"] },
      { n: "Sierra", from: 35000, to: 45000, tag: "Favorito", suggested: true, weights: [350, 450, 550],
        d: "Crocante y firme, frita entera hasta quedar bien dorada por fuera.",
        ing: ["Sierra", "Sal marina", "Limón"] },
      { n: "Picuda", from: 35000, to: 45000, weights: [350, 450, 550],
        d: "Ligera y magra, crujiente por fuera y jugosa por dentro.",
        ing: ["Picuda", "Sal marina", "Limón"] },
      { n: "Lenguado", from: 35000, to: 45000, weights: [350, 450, 550],
        d: "Suave y de sabor fino, frita a la perfección, ideal para paladares delicados.",
        ing: ["Lenguado", "Sal marina", "Limón"] },
      { n: "Bocachico", from: 40000, to: 60000, weights: [400, 500, 600],
        d: "Tradicional e inconfundible, el sabor clásico de nuestros ríos.",
        ing: ["Bocachico", "Sal marina", "Limón"] },
      { n: "Bagre", from: 40000,
        d: "Mantecoso y sin escamas, de río, con una textura suave que se deshace en la boca.",
        ing: ["Bagre", "Sal marina", "Limón"] },
      { n: "Mojarra", from: 35000, tag: "Favorito", suggested: true,
        d: "Clásica y crocante, dorada entera, perfecta para compartir en la mesa.",
        ing: ["Mojarra", "Sal marina", "Limón"] },
    ],
  },
  {
    id: "salsa", name: "En Salsa", kicker: "Bañado en salsa", c: "brass",
    note: "Pescado bañado en salsa criolla de la casa, con tomate y cebolla.",
    includes: { rice: true, drink: true },
    serves: "Arroz (coco o blanco), ensalada, patacón, sancocho de pescado y bebida.",
    items: [
      { n: "Pargo Rojo en salsa", from: 60000, to: 80000, weights: [500, 650, 800],
        d: "Jugoso y festivo, bañado por completo en nuestra salsa criolla de tomate y cebolla.",
        ing: ["Pargo rojo", "Tomate", "Cebolla", "Salsa de la casa"] },
      { n: "Róbalo en salsa", from: 40000, to: 70000, weights: [400, 600, 800],
        d: "Fino y cremoso, de carne delicada cubierta en salsa criolla de la casa.",
        ing: ["Róbalo", "Tomate", "Cebolla", "Salsa de la casa"] },
      { n: "Corbina en salsa", from: 40000, to: 60000, weights: [400, 550, 700],
        d: "Jugosa y reconfortante, de carne blanca bañada en salsa criolla.",
        ing: ["Corbina", "Tomate", "Cebolla", "Salsa de la casa"] },
      { n: "Viudo", from: 40000,
        d: "Tradicional y contundente, preparación típica de río con yuca y salsa criolla.",
        ing: ["Pescado de río", "Tomate", "Cebolla", "Yuca"] },
      { n: "Bocachico en salsa", from: 40000, to: 60000, weights: [400, 500, 600],
        d: "Clásico y sabroso, el favorito de río, bañado en salsa de la casa.",
        ing: ["Bocachico", "Tomate", "Cebolla", "Salsa de la casa"] },
      { n: "Bagre en salsa", from: 40000,
        d: "Mantecoso y suave, cubierto en una generosa salsa criolla.",
        ing: ["Bagre", "Tomate", "Cebolla", "Salsa de la casa"] },
    ],
  },
  {
    id: "marineros", name: "Salsa Marinera", kicker: "Frutos del mar", c: "aqua",
    note: "En salsa de mariscos: " + MAR + ".",
    includes: { rice: true, drink: true },
    serves: "Arroz (coco o blanco), ensalada, patacón, sancocho de pescado y bebida.",
    items: [
      { n: "Pargo Rojo marinero", from: 90000, tag: "Premium", suggested: true,
        d: "Espectacular y generoso, coronado con una abundante salsa marinera de frutos del mar.",
        ing: ["Pargo rojo", "Salsa marinera", MAR.toLowerCase()] },
      { n: "Corbina marinera", from: 60000, to: 80000, weights: [400, 550, 700],
        d: "Cremosa y abundante, bañada en una generosa salsa de mariscos.",
        ing: ["Corbina", "Salsa marinera", MAR.toLowerCase()] },
      { n: "Róbalo marinero", from: 70000,
        d: "Fino y cremoso, de carne delicada bajo una salsa marinera envolvente.",
        ing: ["Róbalo", "Salsa marinera", MAR.toLowerCase()] },
      { n: "Salmón marinero", from: 65000, tag: "La especialidad",
        d: "Irresistible y suculento, bañado en una salsa de frutos del mar bien cargada.",
        ing: ["Salmón", "Salsa marinera", MAR.toLowerCase()] },
      { n: "Bagre marinero", from: 60000,
        d: "Mantecoso y sabroso, envuelto en nuestra salsa marinera.",
        ing: ["Bagre", "Salsa marinera", MAR.toLowerCase()] },
      { n: "Filete marinero", from: 55000,
        d: "Ligero y sin espinas, bañado en una generosa salsa de mariscos.",
        ing: ["Filete de pescado", "Salsa marinera", MAR.toLowerCase()] },
      { n: "Trucha marinera", from: 60000,
        d: "Suave y delicada, cubierta con una cremosa salsa marinera.",
        ing: ["Trucha", "Salsa marinera", MAR.toLowerCase()] },
      { n: "Mojarra marinera", from: 60000,
        d: "Generosa y sabrosa, coronada con abundantes frutos del mar.",
        ing: ["Mojarra", "Salsa marinera", MAR.toLowerCase()] },
      { n: "Tilapia marinera", from: 55000,
        d: "Suave y ligera, bañada en salsa de mariscos bien sazonada.",
        ing: ["Tilapia", "Salsa marinera", MAR.toLowerCase()] },
    ],
  },
  {
    id: "asados", name: "Pescados Asados", kicker: "A la parrilla", c: "coral",
    note: "Asados a la parrilla, sin espinas, ligeros y llenos de sabor.",
    includes: { rice: true, drink: true },
    serves: "Arroz (coco o blanco), ensalada, patacón, sancocho de pescado y bebida.",
    items: [
      { n: "Salmón asado", from: 45000,
        d: "Jugoso y aromático, a la parrilla con hierbas frescas y un toque de limón.",
        ing: ["Salmón", "Aceite de oliva", "Hierbas", "Limón"] },
      { n: "Trucha asada", from: 40000,
        d: "Suave y ligera, a la parrilla, con hierbas y un toque cítrico.",
        ing: ["Trucha", "Hierbas", "Limón"] },
      { n: "Filete de Róbalo", from: 30000,
        d: "Fino y sin espinas, a la parrilla, delicado y lleno de sabor.",
        ing: ["Róbalo", "Hierbas", "Limón"] },
      { n: "Tilapia asada", from: 30000,
        d: "Ligera y sabrosa, a la parrilla, ideal para una comida liviana.",
        ing: ["Tilapia", "Hierbas", "Limón"] },
    ],
  },
  {
    id: "cazuela", name: "Cazuela", kicker: "Caldo cremoso", c: "deep",
    note: "Sopa caliente y cremosa de mariscos en leche de coco.",
    includes: { rice: true, drink: true },
    serves: "Arroz (coco o blanco), patacón y bebida.",
    items: [
      { n: "Cazuela de Mariscos", from: 40000, suggested: true, tag: "La especialidad",
        d: "Reconfortante y contundente, frutos del mar en un caldo cremoso de leche de coco.",
        ing: [MAR.toLowerCase(), "Leche de coco", "Hogao"] },
    ],
  },
  {
    id: "arroces", name: "Arroces", kicker: "Salteado al wok", c: "brass",
    note: "Arroz salteado con frutos del mar, bien servido.",
    includes: { rice: false, drink: false },
    serves: "Ensalada y patacón.",
    items: [
      { n: "Arroz Marinero", from: 45000, tag: "Completo", suggested: true,
        d: "Completo y contundente, salteado con frutos del mar, ensalada, patacón y un trozo de tilapia.",
        ing: [MAR.toLowerCase(), "Arroz", "Tilapia"] },
      { n: "Arroz de Camarón", from: 35000,
        d: "Sabroso y bien servido, salteado con camarones, ensalada de cebolla y tomate.",
        ing: ["Camarón", "Arroz", "Cebolla", "Tomate"] },
    ],
  },
  {
    id: "pastas", name: "Pastas", kicker: "Al parmesano", c: "brass",
    note: "Pasta con frutos del mar y queso parmesano.",
    includes: { rice: false, drink: false },
    serves: "Patacón y queso parmesano.",
    items: [
      { n: "Pasta Marinera", from: 45000,
        d: "Exquisita y bien servida, frutos del mar sobre pasta, con patacón y parmesano.",
        ing: [MAR.toLowerCase(), "Pasta", "Parmesano"] },
      { n: "Pasta de Camarón", from: 35000,
        d: "Sabrosa y generosa, camarones salteados con patacones y queso parmesano.",
        ing: ["Camarón", "Pasta", "Parmesano"] },
    ],
  },
  {
    id: "bebidas", name: "Bebidas Naturales", kicker: "Del trópico", c: "soft",
    note: "Naturales y refrescantes, hechas al momento.",
    includes: { rice: false, drink: false },
    serves: "",
    items: [
      { n: "Limonada de Coco", from: 10000, suggested: true,
        d: "Cremosa e irresistible, dulce, espesa y muy refrescante.", ing: ["Limón", "Coco", "Hielo"] },
      { n: "Limonada Cerezada", from: 8000,
        d: "Dulce y refrescante, con un delicado toque de cereza.", ing: ["Limón", "Cereza", "Hielo"] },
      { n: "Limonada Natural", from: 6000,
        d: "Fresca y clásica, el refrescante de siempre, bien helado.", ing: ["Limón", "Agua", "Hielo"] },
    ],
  },
];

// Plato estrella
const FEATURE = {
  n: "Langosta Marinera", catId: "marineros",
  from: 80000, to: 100000, tag: "La especialidad", weights: [400, 500, 600],
  d: "Exquisita y suculenta, langosta con frutos del mar bañada en una cremosa salsa de leche de coco, la joya de la casa.",
  ing: ["Langosta", MAR.toLowerCase(), "Leche de coco"],
  includes: { rice: true, drink: true },
  serves: "Arroz (coco o blanco), ensalada, patacón, sancocho y bebida.",
};

/* ---- Fechas especiales (Colombia 2026) ----
   Se muestra automáticamente la más cercana.
*/
const SPECIAL_DATES = [
  { id: "mujer", name: "Día de la Mujer", date: "2026-03-08", dateLabel: "8 de marzo",
    kicker: "Para ellas, del mar",
    title: "Celebremos a las mujeres",
    msg: "Reserva tu mesa y recíbela con una limonada de coco de cortesía.",
    cta: "Reservar para ellas", theme: "rose", target: "reservas" },
  { id: "semana", name: "Semana Santa", date: "2026-03-29", dateLabel: "29 mar – 5 abr",
    kicker: "Semana de mar",
    title: "Semana Santa frente al mar",
    msg: "Es temporada de pescado: arma tu combo familiar y pide a domicilio.",
    cta: "Ver pescados", theme: "deep", target: "menu" },
  { id: "madre", name: "Día de la Madre", date: "2026-05-10", dateLabel: "10 de mayo",
    kicker: "Para mamá",
    title: "Celebra a mamá con sabor a mar",
    msg: "Combo especial para mamá + postre de cortesía. Reserva con anticipación.",
    cta: "Reservar para mamá", theme: "rose", target: "reservas" },
  { id: "padre", name: "Día del Padre", date: "2026-06-21", dateLabel: "21 de junio",
    kicker: "Para el capitán de la casa",
    title: "Este día, el papá come como rey",
    msg: "Combo del capitán: pargo rojo + cerveza fría. Reserva o pide a domicilio.",
    cta: "Reservar para papá", theme: "deep", target: "reservas" },
];

// Domicilio: tarifa base + recargo oculto por distancia + envío gratis por monto mínimo
// (el cliente solo ve el valor final, nunca la condición).
const DELIVERY_FEE = 5000;              // tarifa base (radio cercano)
const DELIVERY_SURCHARGE_KM = 1200;     // recargo si la dirección cae en el rango medio
const DELIVERY_SURCHARGE_MIN_KM = 3;    // desde 3 km...
const DELIVERY_SURCHARGE_MAX_KM = 5;    // ...hasta antes de 5 km
const FREE_DELIVERY_MIN = 80000;        // domicilio gratis en pedidos superiores a este monto
// Ubicación del restaurante para calcular distancia (Google Maps → clic derecho → "¿Qué hay aquí?" → copiar lat/lng).
// Mientras quede en null, no se aplica el recargo por distancia (solo tarifa base + envío gratis).
const RESTAURANT_LOCATION = { lat: null, lng: null };

/* ---- Métodos de pago ---- */
const PAYMENTS = [
  { id: "pse", label: "PSE", desc: "Pago en línea con tu banco", pse: true },
  { id: "nequi", label: "Nequi", desc: "Transferencia desde la app" },
  { id: "daviplata", label: "Daviplata", desc: "Transferencia desde la app" },
  { id: "efectivo", label: "Efectivo", desc: "Paga al recibir" },
  { id: "datafono", label: "Tarjeta", desc: "Datáfono en el local" },
];

/* ---- Horarios ---- */
const HOURS = { open: 11.5, close: 17, kitchenClose: 16.5, label: "11:30 am – 5:00 pm", kitchenLabel: "4:30 pm", days: "Todos los días" };

/* ---- Promociones por día de la semana (0=Dom … 6=Sáb) ----
   Se muestra automáticamente la promo del día. catId/itemName son opcionales
   (a dónde lleva el botón "Ver"). Edita libremente.
*/
const WEEKLY_PROMOS = {
  3: { id: "miercoles-mariscos", kicker: "Miércoles de Mariscos",
       title: "Miércoles de Mariscos 🦐",
       msg: "Hoy los frutos del mar están de fiesta: cazuela, arroz y pasta marinera con precio especial.",
       cta: "Ver mariscos", catId: "marineros", color: "sun" },
  5: { id: "viernes-pargo", kicker: "Viernes de Pargo",
       title: "Viernes de Pargo Rojo",
       msg: "Cierra la semana con nuestro pargo rojo, festivo y de sabor intenso.",
       cta: "Pedir pargo", itemName: "Pargo Rojo", color: "sea" },
  6: { id: "sabado-familiar", kicker: "Sábado Familiar",
       title: "Sábado en familia, frente al mar",
       msg: "Arma tu bandeja para compartir y pide a domicilio para toda la familia.",
       cta: "Ver la carta", catId: "fritos", color: "sea" },
  0: { id: "domingo-sancocho", kicker: "Domingo de Sancocho",
       title: "Domingo de buen caldo",
       msg: "El día perfecto para una cazuela cremosa de mariscos en leche de coco.",
       cta: "Pedir cazuela", itemName: "Cazuela de Mariscos", color: "sea" },
};

/* clase de color para las etiquetas de recomendación (cálidas, para llevar el ojo) */
function tagClass(tag) {
  if (!tag) return "";
  const t = tag.toLowerCase();
  if (t.includes("premium")) return "t-premium";
  if (t.includes("complet")) return "t-complete";
  if (t.includes("especial")) return "t-special";
  return "t-fav"; // Favorito, Sugerido, etc.
}

Object.assign(window, {
  WA, MENU_URL, MENU_PDF, PHONES, ADDRESS,
  RICE, DRINKS, CATS, FEATURE, SPECIAL_DATES, WEEKLY_PROMOS,
  DELIVERY_FEE, DELIVERY_SURCHARGE_KM, DELIVERY_SURCHARGE_MIN_KM, DELIVERY_SURCHARGE_MAX_KM,
  FREE_DELIVERY_MIN, RESTAURANT_LOCATION, PAYMENTS, HOURS,
  GOOGLE_MAPS_API_KEY, SOCIAL, tagClass,
});
