/* ==========================================================================
   Estilos exclusivos de la home — solo se cargan en front-page.php
   ========================================================================== */

/* Hero con vídeo scroll-driven */
.hero-scroll-outer{position:relative;}
.hero{position:relative;min-height:min(92vh,880px);height:100vh;display:flex;align-items:center;overflow:hidden;}
.hero video{position:absolute;left:0;top:-12%;width:100%;height:124%;object-fit:cover;z-index:0;}
.hero-overlay{position:absolute;inset:0;z-index:1;background:var(--hero-overlay);}
.hero-inner{position:relative;z-index:2;max-width:680px;padding:0 20px;margin:0 auto;width:100%;will-change:transform,opacity;}
.hero-kicker{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:oklch(0.92 0.06 350);border:1px solid oklch(0.92 0.06 350/0.55);border-radius:99px;padding:8px 14px;margin-bottom:18px;}
.hero-kicker .dot{width:8px;height:8px;border-radius:50%;background:oklch(0.75 0.16 350);}
.hero h1{font-weight:800;font-size:clamp(40px,7vw,84px);line-height:1.12;letter-spacing:-0.03em;color:var(--hero-text);text-shadow:0 2px 24px oklch(0.2 0.05 330/0.5);}
.hero h1 em{font-style:italic;background:linear-gradient(100deg, oklch(0.82 0.15 25), oklch(0.82 0.15 350), oklch(0.78 0.14 300), oklch(0.78 0.12 250));-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:0.12em;display:inline-block;}
.hero-inner{overflow:visible;}
.hero p{margin-top:24px;font-size:clamp(17px,2vw,20px);line-height:1.55;color:oklch(0.94 0.01 340);max-width:46ch;}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;}
.hero .btn-outline{border:1.5px solid oklch(0.96 0.008 340/0.8);color:oklch(0.97 0.008 80);}
.hero .btn-outline:hover{background:oklch(1 0 0/0.16);}
.hero-proof{margin-top:26px;font-size:14px;color:oklch(0.92 0.01 340);}
.hero-badge{position:absolute;right:clamp(16px,4vw,48px);bottom:clamp(16px,4vw,48px);z-index:2;width:104px;height:104px;border-radius:50%;background:oklch(0.5 0.17 300);color:oklch(0.96 0.008 340);display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.5;animation:spin 14s linear infinite;padding:10px;}
@media (max-width:768px){
	.hero-scroll-outer{height:100vh;}
	.hero{position:relative;height:100vh;}
	.hero-badge{display:none;}
}

/* Chips de países (sección "por qué existimos") */
.paises{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px;}
.pais-chip{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--bg-alt);border:1px solid var(--border-2);border-radius:99px;font-size:.9rem;font-weight:600;transition:border-color .2s,transform .2s;}
.pais-chip:hover{border-color:var(--accent);transform:translateY(-2px);}

/* Catálogo / beneficios */
.solucion-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px;margin-bottom:36px;}
.solucion-head h2{font-weight:800;font-size:clamp(30px,4.5vw,50px);letter-spacing:-0.02em;}
.solucion-head p{color:var(--text-soft);font-size:15px;max-width:34ch;}
.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:20px;}
.food-card{background:var(--bg-alt);border:1px solid var(--border-1);border-radius:24px;padding:26px 22px;transition:transform .25s,box-shadow .25s;}
.food-card:hover{transform:translateY(-6px);box-shadow:0 24px 40px -24px oklch(0.3 0.06 330/0.3);}
.food-card .n{font-family:var(--font-display);font-weight:800;font-size:22px;color:var(--accent);margin-bottom:10px;}
.food-card p{color:var(--text-soft);font-size:14.5px;}

.catalogo-preview-wrap{position:relative;margin-top:40px;}
.catalogo-preview{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x proximity;scroll-behavior:smooth;padding-bottom:4px;scrollbar-width:none;-ms-overflow-style:none;}
.catalogo-preview::-webkit-scrollbar{display:none;}
.producto-placeholder{flex:0 0 clamp(160px,22vw,240px);scroll-snap-align:start;aspect-ratio:1;border-radius:20px;background:var(--photo-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.78rem;color:var(--text-mute);text-align:center;overflow:hidden;position:relative;transition:transform .25s;}
.producto-placeholder:hover{transform:translateY(-4px);}
.producto-placeholder:has(img){border:none;}
.producto-placeholder:not(:has(img)){border:1px dashed var(--border-2);padding:14px;}
.producto-placeholder img{width:100%;height:100%;object-fit:cover;border-radius:20px;margin:0;}
.producto-placeholder span{position:absolute;left:0;right:0;bottom:0;padding:16px 12px 12px;background:linear-gradient(to top, oklch(0.15 0.03 330/0.92) 0%, oklch(0.15 0.03 330/0.6) 60%, transparent 100%);color:#fff;font-weight:600;text-shadow:0 1px 3px oklch(0.1 0.02 330/0.6);}
.producto-placeholder:not(:has(img)) span{position:static;background:none;color:inherit;font-weight:inherit;padding:0;}
.catalogo-arrow{position:absolute;top:50%;translate:0 -50%;z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid var(--border-2);background:var(--bg-alt);color:var(--text);font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 24px -12px oklch(0.3 0.06 330/0.35);transition:background .2s,color .2s;}
.catalogo-arrow:hover{background:#c81e72;color:#fff;}
.catalogo-arrow-prev{left:-10px;}
.catalogo-arrow-next{right:-10px;}
.catalogo-ver-todo{text-align:center;margin-top:28px;}
@media (max-width:640px){
	.catalogo-arrow{display:none;}
	.producto-placeholder{flex-basis:44vw;}
}

/* Autoridad / confianza */
.autoridad-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;}
.autoridad-grid h2{font-weight:800;font-size:clamp(28px,4vw,44px);margin:10px 0 16px;}
.autoridad-grid p{color:var(--text-soft);}
.stats-row{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.stat{border-left:2px solid var(--accent);padding-left:16px;}
.stat .stat-num{font-family:var(--font-display);font-size:2.2rem;font-weight:800;}
.stat .stat-label{font-size:.85rem;color:var(--text-mute);margin-top:2px;}
@media (max-width:820px){.autoridad-grid{grid-template-columns:1fr;gap:32px;}}

/* Proceso en 3 pasos */
.proceso-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.paso{position:relative;padding-top:26px;}
.paso .paso-num{font-family:var(--font-display);font-size:2.8rem;font-weight:800;color:oklch(0.52 0.19 350/0.22);position:absolute;top:-10px;left:0;}
.paso h3{font-size:1.1rem;font-weight:700;margin:24px 0 8px;position:relative;}
.paso p{color:var(--text-soft);font-size:.92rem;}
@media (max-width:820px){.proceso-grid{grid-template-columns:1fr;gap:40px;}}

/* CTA final / newsletter */
.cta-final{background:var(--bg-panel);border-radius:28px;margin:0 20px;padding:64px 36px;text-align:center;}
.cta-final-inner{max-width:560px;margin:0 auto;}
.cta-final h2{font-weight:800;font-size:clamp(28px,4.5vw,44px);margin-bottom:16px;}
.cta-final p{color:var(--text-soft);margin-bottom:32px;}
.newsletter-form{display:flex;gap:10px;max-width:440px;margin:0 auto;flex-wrap:wrap;justify-content:center;}
.newsletter-form input{flex:1;min-width:220px;padding:15px 20px;border-radius:99px;border:1.5px solid var(--border-2);background:var(--bg-alt);color:var(--text);font-family:var(--font-body);font-size:.95rem;}
.newsletter-form input::placeholder{color:var(--text-mute);}
.newsletter-form input:focus{outline:none;border-color:var(--accent);}
.newsletter-note{margin-top:14px;font-size:.78rem;color:var(--text-mute);}
.newsletter-success{color:var(--text);font-weight:700;}
