/* ===== GRUPO ALUDRA - SHARED STYLES ===== */
* { margin: 0; padding: 0; box-sizing: border-box; }
:root {
    --primary-color: #2563eb;
    --dark: #0f172a;
    --gray: #64748b;
    --light: #f1f5f9;
    --white: #ffffff;
    --gradient-1: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
body { font-family: 'Inter', sans-serif; line-height: 1.6; color: var(--dark); overflow-x: hidden; background: var(--white); }
h1,h2,h3,h4,h5,h6 { font-family: 'Poppins', sans-serif; font-weight: 700; }

/* NAVBAR */
.navbar { position: fixed; top: 0; width: 100%; z-index: 1000; background: rgba(255,255,255,0.95); backdrop-filter: blur(10px); box-shadow: 0 1px 3px rgba(0,0,0,0.1); transition: all 0.3s ease; }
.nav-container { max-width: 1400px; margin: 0 auto; padding: 1rem 2rem; display: flex; justify-content: space-between; align-items: center; }
.logo { font-size: 1.5rem; font-weight: 800; background: var(--gradient-1); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; letter-spacing: -1px; display: flex; align-items: center; gap: 0.8rem; text-decoration: none; }
.logo-icon { width: 36px; height: 36px; flex-shrink: 0; }
.logo-icon svg { width: 100%; height: 100%; filter: drop-shadow(0 2px 4px rgba(102,126,234,0.3)); }
.star { animation: twinkle 3s ease-in-out infinite; }
.star-2 { animation-delay: 1s; } .star-3 { animation-delay: 2s; }
@keyframes twinkle { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.6;transform:scale(0.9)} }
.nav-menu { display: flex; list-style: none; gap: 2rem; align-items: center; }
.nav-link { text-decoration: none; color: var(--dark); font-weight: 500; transition: color 0.3s; position: relative; }
.nav-link::after { content:''; position:absolute; bottom:-5px; left:0; width:0; height:2px; background:var(--primary-color); transition: width 0.3s; }
.nav-link:hover::after { width: 100%; }
.nav-link:hover { color: var(--primary-color); }
.nav-back { background: var(--gradient-1); color: white !important; -webkit-text-fill-color: white; padding: 0.5rem 1.2rem; border-radius: 50px; font-size: 0.9rem; }
.nav-back::after { display: none; }
.mobile-menu-btn { display: none; background: none; border: none; font-size: 1.5rem; color: var(--dark); cursor: pointer; }
.mobile-nav { display: none; position: fixed; top: 70px; left: 0; width: 100%; background: rgba(255,255,255,0.98); backdrop-filter: blur(10px); padding: 1rem 2rem 2rem; box-shadow: 0 4px 20px rgba(0,0,0,0.1); z-index: 999; }
.mobile-nav.open { display: block; animation: slideDown 0.3s ease; }
@keyframes slideDown { from{opacity:0;transform:translateY(-10px)} to{opacity:1;transform:translateY(0)} }
.mobile-nav ul { list-style: none; }
.mobile-nav ul li { padding: 0.7rem 0; border-bottom: 1px solid var(--light); }
.mobile-nav ul li a { text-decoration: none; color: var(--dark); font-weight: 500; font-size: 1.1rem; }

/* HERO DIVISION */
.hero-division { min-height: 60vh; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; background: var(--dv-gradient); padding-top: 80px; }
.hero-division::before { content:''; position:absolute; top:0; left:0; right:0; bottom:0; background:url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="100" height="100" patternUnits="userSpaceOnUse"><path d="M 100 0 L 0 0 0 100" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(%23grid)"/></svg>'); opacity:.3; }
.hero-division-content { text-align:center; position:relative; z-index:1; padding:3rem 2rem; }
.division-badge { display:inline-block; background:rgba(255,255,255,0.2); color:white; padding:0.4rem 1.2rem; border-radius:50px; font-size:0.9rem; font-weight:600; margin-bottom:1rem; border:1px solid rgba(255,255,255,0.4); }
.hero-division-title { font-size:clamp(2.5rem,7vw,5rem); color:white; font-weight:800; margin-bottom:1rem; letter-spacing:-2px; }
.hero-division-sub { font-size:1.3rem; color:rgba(255,255,255,0.9); font-weight:300; max-width:600px; margin:0 auto 2rem; }
.btn-hero { display:inline-block; padding:0.9rem 2.2rem; background:white; color:var(--dv-text); border-radius:50px; font-weight:700; text-decoration:none; font-size:1rem; transition:all 0.3s; box-shadow:0 8px 25px rgba(0,0,0,0.15); }
.btn-hero:hover { transform:translateY(-3px); box-shadow:0 12px 35px rgba(0,0,0,0.2); }

/* LAYOUT */
.container { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }
.section { padding: 6rem 2rem; }
.section.bg-light { background: var(--light); }
.section-title { font-size:clamp(2rem,4vw,3rem); text-align:center; margin-bottom:1rem; background:var(--dv-gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.section-subtitle { text-align:center; color:var(--gray); font-size:1.1rem; margin-bottom:3.5rem; max-width:600px; margin-left:auto; margin-right:auto; }

/* PRODUCT CARDS */
.products-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:2rem; }
.product-card { background:white; border-radius:24px; padding:2.5rem; box-shadow:0 8px 30px rgba(0,0,0,0.08); transition:all 0.4s; border:1px solid rgba(0,0,0,0.05); position:relative; overflow:hidden; }
.product-card::before { content:''; position:absolute; top:0; left:0; width:100%; height:4px; background:var(--dv-gradient); }
.product-card:hover { transform:translateY(-8px); box-shadow:0 20px 50px rgba(0,0,0,0.12); }
.product-icon { font-size:3rem; margin-bottom:1.2rem; }
.product-name { font-size:1.5rem; margin-bottom:0.8rem; color:var(--dark); }
.product-desc { color:var(--gray); margin-bottom:1.5rem; line-height:1.7; }
.product-items { list-style:none; }
.product-items li { padding:0.4rem 0; color:var(--gray); font-size:0.95rem; display:flex; align-items:center; gap:0.5rem; }
.product-items li::before { content:'→'; color:var(--dv-accent); font-weight:bold; }

/* HIGHLIGHTS */
.highlights { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); gap:2rem; }
.highlight-item { text-align:center; padding:2rem; background:white; border-radius:20px; box-shadow:0 5px 20px rgba(0,0,0,0.07); }
.highlight-number { font-size:3rem; font-weight:800; background:var(--dv-gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.highlight-label { color:var(--gray); font-size:0.95rem; margin-top:0.3rem; }

/* CTA */
.cta-section { background:var(--dv-gradient); padding:6rem 2rem; text-align:center; }
.cta-section h2 { color:white; font-size:2.5rem; margin-bottom:1rem; }
.cta-section p { color:rgba(255,255,255,0.85); font-size:1.1rem; margin-bottom:2rem; }
.btn-cta { display:inline-block; padding:1rem 2.5rem; background:white; color:var(--dv-text); border-radius:50px; font-weight:700; text-decoration:none; font-size:1.05rem; transition:all 0.3s; box-shadow:0 8px 25px rgba(0,0,0,0.15); margin:0.5rem; }
.btn-cta:hover { transform:translateY(-3px); box-shadow:0 12px 35px rgba(0,0,0,0.2); }
.btn-cta-outline { background:transparent; color:white; border:2px solid rgba(255,255,255,0.7); }
.btn-cta-outline:hover { background:white; color:var(--dv-text); }

/* FOOTER */
.footer { background:var(--dark); color:var(--white); padding:4rem 2rem 2rem; }
.footer-content { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:3rem; margin-bottom:3rem; }
.footer-section h3 { margin-bottom:1.2rem; font-size:1.1rem; }
.footer-section p { color:rgba(255,255,255,0.7); line-height:1.6; margin-bottom:0.8rem; font-size:0.95rem; }
.footer-links { list-style:none; }
.footer-links li { margin-bottom:0.6rem; }
.footer-links a { color:rgba(255,255,255,0.7); text-decoration:none; transition:color 0.3s; display:inline-flex; align-items:center; gap:0.5rem; font-size:0.95rem; }
.footer-links a:hover { color:var(--white); }
.social-links { display:flex; gap:0.8rem; margin-top:1rem; }
.social-link { width:40px; height:40px; background:rgba(255,255,255,0.1); border-radius:50%; display:flex; align-items:center; justify-content:center; color:white; text-decoration:none; transition:all 0.3s; }
.social-link:hover { background:var(--primary-color); transform:translateY(-3px); }
.footer-bottom { max-width:1200px; margin:0 auto; padding-top:2rem; border-top:1px solid rgba(255,255,255,0.1); text-align:center; color:rgba(255,255,255,0.5); font-size:0.9rem; }

/* ANIMATIONS */
.reveal { opacity:0; transform:translateY(40px); transition:all 0.7s ease; }
.reveal.active { opacity:1; transform:translateY(0); }

/* RESPONSIVE */
@media (max-width: 768px) {
    .nav-menu { display:none; }
    .mobile-menu-btn { display:block; }
    .products-grid { grid-template-columns:1fr; }
    .cta-section h2 { font-size:1.8rem; }
}
