
CREATE TABLE IF NOT EXISTS categories (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(120) NOT NULL,
  slug VARCHAR(140) NOT NULL UNIQUE,
  description TEXT NULL,
  status TINYINT(1) NOT NULL DEFAULT 1,
  sort_order INT NOT NULL DEFAULT 0,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS products (
  id INT AUTO_INCREMENT PRIMARY KEY,
  category_id INT NULL,
  name VARCHAR(180) NOT NULL,
  slug VARCHAR(190) NOT NULL UNIQUE,
  short_description VARCHAR(255) NULL,
  description TEXT NULL,
  price DECIMAL(10,2) NOT NULL DEFAULT 0.00,
  image VARCHAR(255) NULL,
  status TINYINT(1) NOT NULL DEFAULT 1,
  featured TINYINT(1) NOT NULL DEFAULT 0,
  sort_order INT NOT NULL DEFAULT 0,
  buy_link VARCHAR(255) NULL,
  seo_title VARCHAR(180) NULL,
  seo_description VARCHAR(255) NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  CONSTRAINT fk_products_category FOREIGN KEY (category_id) REFERENCES categories(id) ON DELETE SET NULL
);
CREATE TABLE IF NOT EXISTS banners (
  id INT AUTO_INCREMENT PRIMARY KEY,
  title VARCHAR(180) NOT NULL,
  subtitle VARCHAR(255) NULL,
  image VARCHAR(255) NULL,
  button_text VARCHAR(120) NULL,
  button_link VARCHAR(255) NULL,
  status TINYINT(1) NOT NULL DEFAULT 1,
  sort_order INT NOT NULL DEFAULT 0,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS page_sections (
  id INT AUTO_INCREMENT PRIMARY KEY,
  section_key VARCHAR(100) NOT NULL UNIQUE,
  title VARCHAR(180) NOT NULL,
  content TEXT NULL,
  status TINYINT(1) NOT NULL DEFAULT 1,
  updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS media (
  id INT AUTO_INCREMENT PRIMARY KEY,
  file_path VARCHAR(255) NOT NULL,
  alt_text VARCHAR(180) NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS leads (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(120) NOT NULL,
  email VARCHAR(160) NULL,
  phone VARCHAR(80) NULL,
  message TEXT NULL,
  source VARCHAR(80) NOT NULL DEFAULT 'form',
  status VARCHAR(40) NOT NULL DEFAULT 'nuevo',
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

INSERT INTO categories (name, slug, description, status, sort_order) VALUES
('Planes Premium', 'planes-premium', 'Colección principal de planes y catálogos destacados.', 1, 1),
('Aplicaciones', 'aplicaciones', 'Apps y combos digitales.', 1, 2),
('Promociones', 'promociones', 'Ofertas rápidas para captar clientes.', 1, 3);

INSERT INTO products (category_id, name, slug, short_description, description, price, status, featured, sort_order, buy_link) VALUES
(1, 'Xtreme 4K', 'xtreme-4k', 'Plan premium de alto impacto visual.', 'Ideal para mostrar contenido premium con experiencia moderna, soporte y entrega rápida.', 58.00, 1, 1, 1, 'https://wa.me/593999999999?text=Hola%20quiero%20Xtreme%204K'),
(1, 'Wave TV', 'wave-tv', 'Opción equilibrada para catálogo principal.', 'Perfecta para ventas por WhatsApp con ficha de detalle, banner y CTA directo.', 32.00, 1, 1, 2, 'https://wa.me/593999999999?text=Hola%20quiero%20Wave%20TV'),
(2, 'YouTV Plus', 'youtv-plus', 'Combo atractivo para captar consultas.', 'Plan visual con buena conversión, diseño oscuro y botones de acción.', 40.00, 1, 0, 3, 'https://wa.me/593999999999?text=Hola%20quiero%20YouTV%20Plus');

INSERT INTO banners (title, subtitle, button_text, button_link, status, sort_order) VALUES
('Catálogo Rebrand Profesional', 'Diseño premium, edición total desde panel y compra por WhatsApp.', 'Ver catálogo', 'catalog.php', 1, 1);

INSERT INTO page_sections (section_key, title, content, status) VALUES
('hero', 'Control administrativo centralizado', 'Edita productos, banners, categorías, textos, imágenes y datos del negocio desde un solo panel.', 1),
('benefits', 'Garantía y soporte', 'Arquitectura limpia en PHP + MySQL, lista para hosting compartido y crecimiento posterior.', 1),
('cta', 'Entrega rápida', 'Convierte el catálogo en un flujo comercial con WhatsApp o captura de leads.', 1);
