-- =====================================================================
-- HostTiller MySQL Database Script
-- Full schema + seed data exported from the Laravel/SQLite source.
-- Created for MySQL 5.7+ / 8.0.  utf8mb4 + InnoDB.
--
-- To import (creates DB if it does not exist):
--   mysql -u root -p < hosttiller_full.sql
-- Or open in phpMyAdmin / MySQL Workbench and run.
-- =====================================================================

CREATE DATABASE IF NOT EXISTS `hosttiller`
  DEFAULT CHARACTER SET utf8mb4
  DEFAULT COLLATE utf8mb4_unicode_ci;

USE `hosttiller`;

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
SET SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO';
SET time_zone = '+00:00';

-- =====================================================================
-- Table structure for table `users`
-- =====================================================================
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `email_verified_at` timestamp NULL DEFAULT NULL,
  `password` varchar(255) NOT NULL,
  `is_admin` tinyint(1) NOT NULL DEFAULT '0',
  `remember_token` varchar(100) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `users_email_unique` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =====================================================================
-- Table structure for table `password_reset_tokens`
-- =====================================================================
DROP TABLE IF EXISTS `password_reset_tokens`;
CREATE TABLE `password_reset_tokens` (
  `email` varchar(255) NOT NULL,
  `token` varchar(255) NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =====================================================================
-- Table structure for table `sessions`
-- =====================================================================
DROP TABLE IF EXISTS `sessions`;
CREATE TABLE `sessions` (
  `id` varchar(255) NOT NULL,
  `user_id` bigint UNSIGNED DEFAULT NULL,
  `ip_address` varchar(45) DEFAULT NULL,
  `user_agent` text,
  `payload` longtext NOT NULL,
  `last_activity` int NOT NULL,
  PRIMARY KEY (`id`),
  KEY `sessions_user_id_index` (`user_id`),
  KEY `sessions_last_activity_index` (`last_activity`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =====================================================================
-- Table structure for table `cache`
-- =====================================================================
DROP TABLE IF EXISTS `cache`;
CREATE TABLE `cache` (
  `key` varchar(255) NOT NULL,
  `value` mediumtext NOT NULL,
  `expiration` int NOT NULL,
  PRIMARY KEY (`key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =====================================================================
-- Table structure for table `cache_locks`
-- =====================================================================
DROP TABLE IF EXISTS `cache_locks`;
CREATE TABLE `cache_locks` (
  `key` varchar(255) NOT NULL,
  `owner` varchar(255) NOT NULL,
  `expiration` int NOT NULL,
  PRIMARY KEY (`key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =====================================================================
-- Table structure for table `jobs`
-- =====================================================================
DROP TABLE IF EXISTS `jobs`;
CREATE TABLE `jobs` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `queue` varchar(255) NOT NULL,
  `payload` longtext NOT NULL,
  `attempts` tinyint UNSIGNED NOT NULL,
  `reserved_at` int UNSIGNED DEFAULT NULL,
  `available_at` int UNSIGNED NOT NULL,
  `created_at` int UNSIGNED NOT NULL,
  PRIMARY KEY (`id`),
  KEY `jobs_queue_index` (`queue`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =====================================================================
-- Table structure for table `job_batches`
-- =====================================================================
DROP TABLE IF EXISTS `job_batches`;
CREATE TABLE `job_batches` (
  `id` varchar(255) NOT NULL,
  `name` varchar(255) NOT NULL,
  `total_jobs` int NOT NULL,
  `pending_jobs` int NOT NULL,
  `failed_jobs` int NOT NULL,
  `failed_job_ids` longtext NOT NULL,
  `options` mediumtext,
  `cancelled_at` int DEFAULT NULL,
  `created_at` int NOT NULL,
  `finished_at` int DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =====================================================================
-- Table structure for table `failed_jobs`
-- =====================================================================
DROP TABLE IF EXISTS `failed_jobs`;
CREATE TABLE `failed_jobs` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `uuid` varchar(255) NOT NULL,
  `connection` text NOT NULL,
  `queue` text NOT NULL,
  `payload` longtext NOT NULL,
  `exception` longtext NOT NULL,
  `failed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =====================================================================
-- Table structure for table `settings`
-- =====================================================================
DROP TABLE IF EXISTS `settings`;
CREATE TABLE `settings` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `key` varchar(120) NOT NULL,
  `value` longtext,
  `group` varchar(60) NOT NULL DEFAULT 'general',
  `label` varchar(160) DEFAULT NULL,
  `type` varchar(30) NOT NULL DEFAULT 'text',
  `hint` varchar(255) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `settings_key_unique` (`key`),
  KEY `settings_group_index` (`group`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =====================================================================
-- Table structure for table `plans`
-- =====================================================================
DROP TABLE IF EXISTS `plans`;
CREATE TABLE `plans` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `product` varchar(40) NOT NULL DEFAULT 'shared',
  `tagline` varchar(255) DEFAULT NULL,
  `currency` varchar(8) NOT NULL DEFAULT 'USD',
  `setup_fee` decimal(12,2) NOT NULL DEFAULT '0.00',
  `price_monthly` decimal(12,2) NOT NULL DEFAULT '0.00',
  `price_yearly` decimal(12,2) DEFAULT NULL,
  `features` longtext,
  `specs` json DEFAULT NULL,
  `is_featured` tinyint(1) NOT NULL DEFAULT '0',
  `badge` varchar(255) DEFAULT NULL,
  `button_text` varchar(255) NOT NULL DEFAULT 'Get Started',
  `button_url` varchar(255) DEFAULT NULL,
  `status` tinyint(1) NOT NULL DEFAULT '1',
  `sort_order` int UNSIGNED NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `plans_slug_unique` (`slug`),
  KEY `plans_product_index` (`product`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =====================================================================
-- Table structure for table `features`
-- =====================================================================
DROP TABLE IF EXISTS `features`;
CREATE TABLE `features` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `icon` varchar(80) NOT NULL DEFAULT 'star',
  `title` varchar(255) NOT NULL,
  `description` text NOT NULL,
  `sort_order` int UNSIGNED NOT NULL DEFAULT '0',
  `status` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =====================================================================
-- Table structure for table `testimonials`
-- =====================================================================
DROP TABLE IF EXISTS `testimonials`;
CREATE TABLE `testimonials` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `role` varchar(255) DEFAULT NULL,
  `company` varchar(255) DEFAULT NULL,
  `avatar` varchar(255) DEFAULT NULL,
  `rating` tinyint UNSIGNED NOT NULL DEFAULT '5',
  `quote` text NOT NULL,
  `sort_order` int UNSIGNED NOT NULL DEFAULT '0',
  `status` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =====================================================================
-- Table structure for table `faqs`
-- =====================================================================
DROP TABLE IF EXISTS `faqs`;
CREATE TABLE `faqs` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `question` varchar(255) NOT NULL,
  `answer` text NOT NULL,
  `sort_order` int UNSIGNED NOT NULL DEFAULT '0',
  `status` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =====================================================================
-- Table structure for table `posts`
-- =====================================================================
DROP TABLE IF EXISTS `posts`;
CREATE TABLE `posts` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `excerpt` varchar(255) DEFAULT NULL,
  `body` longtext NOT NULL,
  `cover_image` varchar(255) DEFAULT NULL,
  `author` varchar(255) DEFAULT NULL,
  `tags` varchar(255) DEFAULT NULL,
  `status` tinyint(1) NOT NULL DEFAULT '1',
  `published_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `posts_slug_unique` (`slug`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =====================================================================
-- Table structure for table `media`
-- =====================================================================
DROP TABLE IF EXISTS `media`;
CREATE TABLE `media` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `path` varchar(255) NOT NULL,
  `mime` varchar(100) DEFAULT NULL,
  `size` bigint UNSIGNED NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =====================================================================
-- Table structure for table `messages`
-- =====================================================================
DROP TABLE IF EXISTS `messages`;
CREATE TABLE `messages` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `subject` varchar(255) DEFAULT NULL,
  `message` text NOT NULL,
  `phone` varchar(255) DEFAULT NULL,
  `is_read` tinyint(1) NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =====================================================================
-- Table structure for table `menus`
-- =====================================================================
DROP TABLE IF EXISTS `menus`;
CREATE TABLE `menus` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `label` varchar(255) NOT NULL,
  `type` varchar(20) NOT NULL DEFAULT 'none',
  `href` varchar(255) DEFAULT NULL,
  `icon` varchar(80) DEFAULT NULL,
  `badge` varchar(255) DEFAULT NULL,
  `location` varchar(20) NOT NULL DEFAULT 'header',
  `external` tinyint(1) NOT NULL DEFAULT '0',
  `status` tinyint(1) NOT NULL DEFAULT '1',
  `sort_order` int UNSIGNED NOT NULL DEFAULT '0',
  `children` longtext,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =====================================================================
-- Table structure for table `pages`
-- =====================================================================
DROP TABLE IF EXISTS `pages`;
CREATE TABLE `pages` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `slug` varchar(255) NOT NULL,
  `title` varchar(255) NOT NULL,
  `hero_eyebrow` varchar(255) DEFAULT NULL,
  `hero_title` varchar(255) DEFAULT NULL,
  `hero_subtitle` text,
  `hero_primary_text` varchar(120) DEFAULT NULL,
  `hero_primary_url` varchar(255) DEFAULT NULL,
  `hero_secondary_text` varchar(120) DEFAULT NULL,
  `hero_secondary_url` varchar(255) DEFAULT NULL,
  `meta_title` varchar(255) DEFAULT NULL,
  `meta_description` text,
  `status` tinyint(1) NOT NULL DEFAULT '1',
  `sort_order` int UNSIGNED NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `pages_slug_unique` (`slug`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =====================================================================
-- Table structure for table `kb_articles`
-- =====================================================================
DROP TABLE IF EXISTS `kb_articles`;
CREATE TABLE `kb_articles` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `category` varchar(60) NOT NULL,
  `title` varchar(255) NOT NULL,
  `summary` text NOT NULL,
  `steps` longtext,
  `views` bigint UNSIGNED NOT NULL DEFAULT '0',
  `minutes` int UNSIGNED NOT NULL DEFAULT '3',
  `updated_label` varchar(80) NOT NULL DEFAULT '2 days ago',
  `status` tinyint(1) NOT NULL DEFAULT '1',
  `sort_order` int UNSIGNED NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `kb_articles_category_index` (`category`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =====================================================================
-- Seed data
-- ---------------------------------------------------------------------
-- The Laravel seeder generates users/plans/features/testimonials/faqs/
-- posts/menus/pages/kb_articles, and all settings live in the `settings`
-- table. The password hash below is bcrypt for "password".
-- You can adjust / delete any rows you do not need.
-- =====================================================================

-- ---------- users ----------
INSERT INTO `users` (`name`, `email`, `password`, `is_admin`, `email_verified_at`, `created_at`, `updated_at`) VALUES
('Site Administrator', 'admin@hosttiller.com', '$2y$12$7SzfKXsP/44Z5V4f89W9yOK5b1Bk8eWv4C6wZIg3dR8uDz2hM1vIy', 1, NOW(), NOW(), NOW());

-- ---------- settings (includes the new footer_logo key) ----------
INSERT INTO `settings` (`key`, `value`, `group`, `label`, `type`, `hint`) VALUES
('brand_site_name', 'HostTiller', 'brand', 'Site name', 'text', 'Site / brand name'),
('brand_tagline', 'Blazing-fast web hosting for ambitious projects', 'brand', 'Tagline', 'text', 'Short brand tagline'),
('brand_logo', '', 'brand', 'Logo', 'text', 'Logo image (media path, e.g. media/logo.png)'),
('brand_favicon', '', 'brand', 'Favicon', 'text', 'Favicon path'),
('brand_show_logo_text', '1', 'brand', 'Show logo text', 'boolean', 'Show logo text next to the image'),
('announcement_enabled', '1', 'announcement', 'Enabled', 'boolean', 'Show the top announcement bar'),
('announcement_text', '🎉 Launch offer: 40% OFF the hosting plans for your first year. Use code HOST40', 'announcement', 'Text', 'text', 'Announcement message'),
('announcement_link', '/pricing', 'announcement', 'Link', 'text', 'Link target (optional)'),
('seo_meta_title', 'HostTiller — Premium Web Hosting, Domains & Servers', 'seo', 'Meta title', 'text', 'Default browser tab title'),
('seo_meta_description', 'Fast, reliable and secure web hosting for every website. Get free SSL, daily backups, 99.9% uptime and 24/7 expert support.', 'seo', 'Meta description', 'text', 'Meta description'),
('seo_keywords', 'web hosting, vps, domains, dedicated servers, cloud hosting', 'seo', 'Keywords', 'text', 'Meta keywords'),
('seo_og_image', '', 'seo', 'OG image', 'text', 'Social share image (path)'),
('hero_enabled', '1', 'hero', 'Enabled', 'boolean', 'Show the hero section'),
('hero_badge', 'Trusted by 200,000+ customers worldwide', 'hero', 'Badge', 'text', 'Small badge above the title'),
('hero_title', 'Web Hosting That Keeps Your Business Growing', 'hero', 'Title', 'text', 'Main headline'),
('hero_title_highlight', 'Growing', 'hero', 'Title highlight', 'text', 'Word highlighted with secondary color'),
('hero_subtitle', 'Deploy your website on high-speed NVMe servers with 99.9% uptime, free SSL, daily backups and a support team that actually answers in minutes.', 'hero', 'Subtitle', 'text', 'Supporting paragraph'),
('hero_primary_button_text', 'Get Started', 'hero', 'Primary button text', 'text', 'Main button label'),
('hero_primary_button_url', '/pricing', 'hero', 'Primary button URL', 'text', 'Main button link'),
('hero_secondary_button_text', 'Explore Features', 'hero', 'Secondary button text', 'text', 'Secondary button label'),
('hero_secondary_button_url', '#features', 'hero', 'Secondary button URL', 'text', 'Secondary button link'),
('hero_image', 'media/hero.png', 'hero', 'Hero image', 'text', 'Hero illustration image (path)'),
('about_enabled', '1', 'about', 'Enabled', 'boolean', 'Show the about / why-choose-us section'),
('about_eyebrow', 'Why HostTiller', 'about', 'Eyebrow', 'text', 'Small label'),
('about_title', 'A hosting platform engineered for performance and peace of mind', 'about', 'Title', 'text', 'Section title'),
('about_text', 'We built HostTiller so that developers, freelancers and growing companies never have to worry about where their website sleeps at night.', 'about', 'Text', 'text', 'Supporting text'),
('about_image', 'media/about.png', 'about', 'Image', 'text', 'Image path'),
('about_button_text', 'Learn More', 'about', 'Button text', 'text', 'Button label'),
('about_button_url', '/pricing', 'about', 'Button URL', 'text', 'Button link'),
('cta_enabled', '1', 'cta', 'Enabled', 'boolean', 'Show the call-to-action band'),
('cta_eyebrow', 'Ready when you are', 'cta', 'Eyebrow', 'text', 'Small label'),
('cta_title', 'Launch your website in under 5 minutes', 'cta', 'Title', 'text', 'Bold headline'),
('cta_text', 'Join thousands of happy customers. Pick a plan, connect your domain and your site will be live before your coffee gets cold.', 'cta', 'Text', 'text', 'Supporting text'),
('cta_button_text', 'Start Today', 'cta', 'Button text', 'text', 'Button label'),
('cta_button_url', '/pricing', 'cta', 'Button URL', 'text', 'Button link'),
('cta_secondary_button_text', 'Talk to Sales', 'cta', 'Secondary button text', 'text', 'Secondary button label'),
('cta_secondary_button_url', '/contact', 'cta', 'Secondary button URL', 'text', 'Secondary button link'),
('contact_phone', '+1 (555) 123-4567', 'contact', 'Phone', 'text', 'Primary phone number'),
('contact_email', 'sales@hosttiller.com', 'contact', 'Email', 'text', 'Contact / sales email'),
('contact_support_email', 'support@hosttiller.com', 'contact', 'Support email', 'text', 'Support email'),
('contact_address', '1250 Ocean View Boulevard, Suite 402', 'contact', 'Address', 'text', 'Street address'),
('contact_city', 'San Francisco, CA 94103, United States', 'contact', 'City', 'text', 'City, state, country'),
('contact_hours', 'Mon – Sat: 8:00 AM – 10:00 PM', 'contact', 'Hours', 'text', 'Business hours'),
('contact_map_url', '', 'contact', 'Map URL', 'text', 'Google Maps embed URL (optional)'),
('contact_whatsapp', '+1 (555) 123-4567', 'contact', 'WhatsApp', 'text', 'WhatsApp number'),
('social_facebook', 'https://facebook.com', 'social', 'Facebook', 'text', 'Facebook URL'),
('social_twitter', 'https://twitter.com', 'social', 'Twitter', 'text', 'Twitter / X URL'),
('social_instagram', 'https://instagram.com', 'social', 'Instagram', 'text', 'Instagram URL'),
('social_linkedin', 'https://linkedin.com', 'social', 'LinkedIn', 'text', 'LinkedIn URL'),
('social_youtube', 'https://youtube.com', 'social', 'YouTube', 'text', 'YouTube URL'),
('footer_logo', '', 'footer', 'Footer Logo', 'text', 'Footer logo image (uploaded via Site Content > Footer)'),
('footer_about_text', 'HostTiller delivers speed, security and reliability for websites of every size. Hosting the web, one happy customer at a time.', 'footer', 'About text', 'text', 'Short company description'),
('footer_copyright_text', '© 2026 HostTiller. All rights reserved.', 'footer', 'Copyright text', 'text', 'Copyright line'),
('footer_newsletter_text', 'Subscribe for hosting tips, discounts and product news.', 'footer', 'Newsletter text', 'text', 'Newsletter invite'),
('pricing_bdt_rate', '115', 'pricing', 'USD to BDT Rate', 'number', 'Exchange rate used to convert USD prices to BDT'),
('theme_primary', '#0A3D61', 'theme', 'Primary', 'color', 'Primary brand color (dark navy blue)'),
('theme_primary_dark', '#082E4A', 'theme', 'Primary dark', 'color', 'Darker hero / footer backgrounds'),
('theme_secondary', '#EAB543', 'theme', 'Secondary', 'color', 'Secondary brand color (gold / amber)'),
('theme_secondary_dark', '#C99A26', 'theme', 'Secondary dark', 'color', 'Darkened gold for text on gold'),
('theme_heading_font', 'Poppins', 'theme', 'Heading font', 'text', 'Heading font family'),
('theme_body_font', 'Inter', 'theme', 'Body font', 'text', 'Body font family'),
('theme_radius', '14', 'theme', 'Radius', 'text', 'Rounded corner radius (px)'),
('theme_footer_dark', '1', 'theme', 'Footer dark', 'boolean', 'Use dark navy footer and header');

-- ---------- features ----------
INSERT INTO `features` (`icon`, `title`, `description`, `sort_order`, `status`) VALUES
('shield', '99.9% Uptime SLA', 'Redundant power, networking and enterprise hardware keep your site online.', 1, 1),
('zap', 'NVMe SSD Speed', 'LiteSpeed servers with NVMe drives load pages up to 10x faster.', 2, 1),
('backup', 'Daily Automatic Backups', 'Restore any previous day in one click. Your data is never lost.', 3, 1),
('globe', 'Free SSL + CDN', 'Security and a global edge network included in every single plan.', 4, 1);

-- ---------- testimonials ----------
INSERT INTO `testimonials` (`name`, `role`, `company`, `rating`, `quote`, `sort_order`, `status`) VALUES
('Amelia Rodriguez', 'Founder & CEO', 'ShopGrid', 5, 'We moved 300,000+ monthly visitors onto HostTiller and the difference was immediate.', 1, 1),
('David Chen', 'Freelance Developer', NULL, 5, 'I host 40+ client sites here. The dashboard is clean, migrations are free, and the uptime has been flawless.', 2, 1),
('Sofia Marino', 'Head of Marketing', 'NimbusPay', 5, 'Black Friday crushed us with traffic and the site did not even blink.', 3, 1),
('James Okafor', 'Full-stack Developer', 'Brightlane', 4, 'Fast servers, sane pricing and a genuinely helpful support team.', 4, 1),
('Lena Fischer', 'Online Educator', NULL, 5, 'As a solo creator I needed simple. HostTiller made launching my course platform effortless.', 5, 1);

-- ---------- faqs ----------
INSERT INTO `faqs` (`question`, `answer`, `sort_order`, `status`) VALUES
('Can I migrate my existing website for free?', 'Yes. Every customer gets a free professional migration. Open a support ticket with your cPanel access and our team will move your site, databases and emails.', 1, 1),
('What kind of uptime guarantee do you offer?', 'We guarantee 99.9% network and server uptime. If availability drops below that, we credit your account automatically.', 2, 1),
('Do you take automatic backups?', 'Absolutely. Backups run automatically every day for shared plans and every hour for VPS. You can restore anything from the dashboard in one click.', 3, 1),
('Will my site load fast on Shared hosting?', 'Our shared plans run on LiteSpeed enterprise servers with NVMe storage, HTTP/3, object cache and a free global CDN.', 4, 1),
('Do you charge for SSL certificates?', 'No. Every plan includes a free Let\'s Encrypt SSL certificate automatically installed, plus auto-renewal.', 5, 1),
('Can I upgrade my plan later without downtime?', 'Yes. Upgrades are instant and prorated. You keep the same account, emails and files.', 6, 1),
('What payment methods do you accept?', 'We accept all major credit/debit cards, PayPal, bank transfer and popular local payment methods.', 7, 1);

-- ---------- plans (key examples from the seeder) ----------
INSERT INTO `plans` (`name`, `slug`, `product`, `tagline`, `currency`, `setup_fee`, `price_monthly`, `price_yearly`, `features`, `specs`, `is_featured`, `badge`, `button_text`, `status`, `sort_order`) VALUES
('Starter', 'starter', 'shared', 'Perfect for a first website or a personal blog.', 'USD', 0, 3.99, 39.90, '10 GB NVMe SSD storage\n1 website\nFree SSL certificate\n50 GB bandwidth\n10 email accounts\nFree domain (1st year)\n24/7 live-chat support', NULL, 0, NULL, 'Choose Starter', 1, 1),
('Professional', 'professional', 'shared', 'The sweet spot for growing sites and online stores.', 'USD', 0, 8.99, 89.90, 'Unlimited SSD storage\n3 websites\nFree SSL + Wildcard\nUnlimited bandwidth\n50 email accounts\nFree global CDN\nDaily automatic backups\nLiteSpeed + caching\nPriority ticket support', NULL, 1, 'Most Popular', 'Choose Professional', 1, 2),
('Business', 'business', 'shared', 'Serious power for agencies and high-traffic sites.', 'USD', 0, 15.99, 159.90, 'Unlimited NVMe SSD storage\nUnlimited websites\nFree SSL + Wildcard\nUnlimited bandwidth\nUnlimited email accounts\nFree global CDN + Edge caching\nHourly backups + staging\nDedicated IP address\nLiteSpeed enterprise server\nVIP priority support', NULL, 0, 'Best Value', 'Choose Business', 1, 3),
('Cloud VPS', 'cloud-vps', 'shared', 'Full root access and guaranteed resources on demand.', 'USD', 0, 24.99, 249.90, '4 vCPU cores\n8 GB DDR5 RAM\n120 GB NVMe SSD\n5 TB transfer\n1 GBPS network\nRoot access + snapshots\nFree Control Panel\nAny OS available\n24/7 sysadmin support', NULL, 0, NULL, 'Choose VPS', 1, 4),
('WP Starter', 'wp-starter', 'wordpress', 'Kick off a single WordPress site the managed way.', 'USD', 0, 5.99, 59.90, '1 WordPress site\n20 GB NVMe SSD\nManaged WordPress\nLiteSpeed + LSCache\nFree SSL\nAutomatic updates\nDaily backups', NULL, 0, NULL, 'Start with WP', 1, 1),
('WP Pro', 'wp-pro', 'wordpress', 'Serious speed and headroom for growing stores & blogs.', 'USD', 0, 11.99, 119.90, '10 WordPress sites\n60 GB NVMe SSD\nManaged WordPress\nLiteSpeed + LSCache + Object cache\nFree SSL + Wildcard\nAutomatic updates + staging\nDaily backups\nPriority support', NULL, 1, 'Most Popular', 'Go Pro', 1, 2),
('VPS-1', 'vps-1', 'vps', 'Entry KVM with room to grow.', 'USD', 0, 5.99, NULL, '1 dedicated vCPU Core\n2 GB RAM\n50 GB NVMe SSD\n2 TB bandwidth\nFull root access\nInstant deployment\nDDoS protection', NULL, 0, NULL, 'Deploy VPS-1', 1, 1),
('VPS-2', 'vps-2', 'vps', 'The balanced pick for most workloads.', 'USD', 0, 9.99, NULL, '2 dedicated vCPU Cores\n4 GB RAM\n80 GB NVMe SSD\n4 TB bandwidth\nFull root access\nInstant deployment\nSnapshot backups\nDDoS protection', NULL, 1, 'Most Popular', 'Deploy VPS-2', 1, 2),
('Starter Reseller', 'starter-reseller', 'reseller', 'Best for Testing & Freelancers', 'BDT', 0, 1200, 12000, '30 GB NVMe Storage\n15 cPanel Accounts\n500 GB Bandwidth\n100% White-Label Nameservers\nWHM / cPanel Access\nLiteSpeed + LSCache\nFree SSL (Let\'s Encrypt)\nBDIX Speed Optimization\n24/7 support', NULL, 0, NULL, 'Choose Starter', 1, 1),
('Standard Reseller', 'standard-reseller', 'reseller', 'Best Value for Small Hosting Businesses', 'BDT', 0, 2500, 25000, '75 GB NVMe Storage\n35 cPanel Accounts\n1.5 TB Bandwidth\nWHM / cPanel Access\nFree Automated SSL\nDaily Remote Backups\nLiteSpeed + LSCache\nWhite-label Branding\n24/7 support', NULL, 1, 'Most Popular', 'Choose Standard', 1, 2),
('DS-1', 'ds-1', 'dedicated', 'Affordable bare-metal starter.', 'USD', 0, 79.99, NULL, 'Intel Xeon E3\n16 GB ECC RAM\n512 GB NVMe SSD\n10 TB bandwidth\n1 Gbps uplink\nFull root access\nIPMI included\nAnti-DDoS', NULL, 0, NULL, 'Deploy DS-1', 1, 1),
('DS-2', 'ds-2', 'dedicated', 'Dual-core Xeon with headroom to scale.', 'USD', 0, 129.99, NULL, 'Intel Xeon E5\n32 GB ECC RAM\n1 TB NVMe SSD\n20 TB bandwidth\n1 Gbps uplink\nFull root access\nIPMI included\nAnti-DDoS', NULL, 1, 'Most Popular', 'Deploy DS-2', 1, 2);

-- ---------- users' remember token / jobs / media left empty (runtime-managed) ----------

SET FOREIGN_KEY_CHECKS = 1;

-- =====================================================================
-- Done. You may now configure Laravel:
--   .env:  DB_CONNECTION=mysql
--          DB_HOST=127.0.0.1
--          DB_PORT=3306
--          DB_DATABASE=hosttiller
--          DB_USERNAME=root
--          DB_PASSWORD=your_password
-- Then run:  php artisan config:clear
-- =====================================================================
