*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:var(--font-main);font-size:var(--font-size-base);line-height:1.6;color:var(--color-dark);background:var(--color-white);overflow-x:hidden}

/* Accesibilidad */
.skip-link{position:absolute;top:-40px;left:0;background:var(--color-primary);color:#fff;padding:var(--space-xs) var(--space-sm);z-index:var(--z-modal)}.skip-link:focus{top:0}

/* Navbar */
.navbar{position:fixed;top:0;width:100%;background:rgba(255,255,255,.98);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);z-index:var(--z-navbar);transition:var(--transition)}.navbar.scrolled{box-shadow:var(--shadow-md)}
.nav-container{max-width:1200px;margin:0 auto;padding:var(--space-sm) var(--space-md);display:flex;justify-content:space-between;align-items:center}
.logo{display:flex;align-items:center;gap:var(--space-xs);text-decoration:none;font-weight:700;font-size:var(--font-size-lg)}.logo-img{border-radius:var(--radius-sm);height:72px;width:auto;max-width:150px;object-fit:contain}.logo-text{display:flex;gap:2px}.logo-primary{color:var(--color-primary)}.logo-secondary{color:var(--color-secondary)}
.nav-menu{display:flex;list-style:none;gap:var(--space-md);align-items:center}.nav-link{text-decoration:none;color:var(--color-dark);font-weight:500;padding:var(--space-xs) 0;position:relative;transition:var(--transition-fast)}.nav-link:hover,.nav-link.active{color:var(--color-primary)}
.btn-nav{background:var(--gradient-primary);color:#fff!important;padding:.5rem 1.5rem;border-radius:var(--radius-full)}.btn-nav:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.mobile-toggle{display:none;background:none;border:none;font-size:var(--font-size-xl);cursor:pointer;color:var(--color-dark)}.mobile-toggle .bar{display:block;width:25px;height:3px;background:var(--color-dark);margin:5px 0;transition:var(--transition-fast)}

/* Hero */
.hero{margin-top:70px;min-height:90vh;background:linear-gradient(135deg,rgba(124,179,66,.1) 0%,rgba(25,118,210,.1) 100%);display:flex;align-items:center;padding:var(--space-lg) var(--space-md)}.hero-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);align-items:center}
.hero-content h1{font-size:var(--font-size-3xl);font-weight:700;line-height:1.2;margin-bottom:var(--space-md)}.hero-content h1 span{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-subtitle{font-size:var(--font-size-lg);color:var(--color-gray);margin-bottom:var(--space-md);max-width:500px}
.hero-cta{display:flex;gap:var(--space-sm);flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:1rem 2rem;border-radius:var(--radius-full);text-decoration:none;font-weight:600;transition:var(--transition);border:none;cursor:pointer;font-size:var(--font-size-base)}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.btn-secondary{background:transparent;color:var(--color-secondary);border:2px solid var(--color-secondary)}.btn-secondary:hover{background:var(--color-secondary);color:#fff}
.hero-image{position:relative;animation:float 4s ease-in-out infinite}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}.hero-image img{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}

/* Secciones generales */
section{padding:var(--space-lg) var(--space-md)}.container{max-width:1200px;margin:0 auto}.section-header{text-align:center;margin-bottom:var(--space-lg)}.section-tag{display:inline-block;padding:.4rem 1rem;background:rgba(124,179,66,.1);color:var(--color-primary);border-radius:var(--radius-full);font-weight:600;font-size:var(--font-size-sm);margin-bottom:var(--space-sm)}.section-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-dark);margin-bottom:var(--space-sm)}.section-subtitle{font-size:var(--font-size-base);color:var(--color-gray);max-width:600px;margin:0 auto}

/* Servicios */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-md)}.service-card{background:#fff;padding:var(--space-md);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:var(--transition);text-align:center}.service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.service-card h3{margin-bottom:.5rem;color:var(--color-dark)}.service-card p{color:var(--color-gray);font-size:var(--font-size-sm)}

/* Gastronomía */
.gastronomy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-md)}.gastronomy-card{position:relative;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);height:280px}.gastronomy-card img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}.gastronomy-card:hover img{transform:scale(1.05)}.gastronomy-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:var(--space-md);color:#fff}

/* Valor Diferencial */
.differential{background:var(--gradient-primary);color:#fff}.differential .section-title,.differential .section-subtitle{color:#fff}.differential-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md);text-align:center}.differential-item h3{margin-bottom:.5rem}

/* Quiénes Somos - Grid + Floating */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);align-items:center}
.about-content h3{font-size:var(--font-size-xl);margin-bottom:var(--space-sm);color:var(--color-dark)}
.about-content p{color:var(--color-gray);margin-bottom:var(--space-sm);line-height:1.7}
.about-features{list-style:none;margin-top:var(--space-md)}
.about-features li{margin-bottom:.5rem;color:var(--color-gray);display:flex;align-items:center;gap:.5rem}
.about-features li::before{content:"✓";color:var(--color-primary);font-weight:bold}
.about-image{position:relative}
.about-image img{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}
.floating{animation:float 4s ease-in-out infinite}

/* Contacto */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.contact-info h3{font-size:var(--font-size-xl);margin-bottom:var(--space-md)}.contact-item{margin-bottom:var(--space-md)}.contact-form{background:#fff;padding:var(--space-md);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input,.form-group textarea{width:100%;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:var(--radius-sm);font-family:inherit;transition:var(--transition-fast)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(124,179,66,.2)}
.form-checkbox{margin-top:var(--space-sm)}.checkbox-label{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-gray);line-height:1.4}.checkbox-label input[type="checkbox"]{width:18px;height:18px;margin-top:2px;accent-color:var(--color-primary)}.checkbox-text a{color:var(--color-secondary);text-decoration:none;font-weight:500}.checkbox-text a:hover{text-decoration:underline}
.contact-map{margin-top:var(--space-md);padding:var(--space-sm);background:var(--color-light);border-radius:var(--radius-md)}.contact-map iframe{width:100%;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}

/* Footer */
.footer{background:var(--color-dark);color:#fff;padding:var(--space-lg) var(--space-md) var(--space-md)}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg);margin-bottom:var(--space-lg)}.footer-logo{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);font-weight:700;font-size:var(--font-size-lg)}.footer-logo img{height:72px;width:auto;max-width:200px;object-fit:contain;border-radius:0}.footer-desc{opacity:.8;margin-bottom:var(--space-md)}.social-links{display:flex;gap:var(--space-xs)}.social-links a{padding:.3rem .6rem;background:rgba(255,255,255,.1);border-radius:var(--radius-sm);color:#fff;text-decoration:none;transition:var(--transition)}.social-links a:hover{background:var(--color-primary)}.footer-links h4{margin-bottom:var(--space-sm);color:var(--color-primary)}.footer-links ul{list-style:none}.footer-links li{margin-bottom:.5rem}.footer-links a{color:#fff;text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:var(--space-md);text-align:center;opacity:.7;font-size:var(--font-size-sm)}.footer-bottom a{color:var(--color-primary);text-decoration:none}

/* Footer Bottom Personalizado */
.footer-bottom-custom{border-top:1px solid rgba(255,255,255,.1);padding-top:var(--space-md);margin-top:var(--space-md)}
.footer-bottom-content{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;text-align:center;font-size:var(--font-size-xs);opacity:.7}
.footer-bottom-content p{margin:0}
.footer-bottom-content .credit{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}
.footer-bottom-content .heart{color:#ef4444;animation:pulse 1.5s ease infinite}
.footer-bottom-content a{color:var(--color-primary);text-decoration:none;font-weight:600}
.footer-bottom-content a:hover{text-decoration:underline;opacity:1}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}

/* WhatsApp flotante */
.whatsapp-float{position:fixed;bottom:var(--space-md);left:var(--space-md);padding:.75rem 1.25rem;background:#25D366;color:#fff;border-radius:var(--radius-full);text-decoration:none;font-weight:600;box-shadow:0 4px 20px rgba(37,211,102,.4);transition:var(--transition);z-index:var(--z-whatsapp)}.whatsapp-float:hover{transform:scale(1.05);box-shadow:0 6px 25px rgba(37,211,102,.6)}

/* Animaciones */
.fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.fade-in.visible{opacity:1;transform:translateY(0)}

/* Toast notifications */
.toast{position:fixed;bottom:var(--space-md);right:var(--space-md);background:#fff;padding:1rem 1.5rem;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:.75rem;z-index:var(--z-modal);transform:translateY(100px);opacity:0;transition:var(--transition)}.toast.show{transform:translateY(0);opacity:1}.toast-success{border-left:4px solid var(--color-primary)}.toast-error{border-left:4px solid #ef4444}.toast-success i{color:var(--color-primary)}.toast-error i{color:#ef4444}

/* Utilidades */
.text-center{text-align:center}.closed{color:var(--color-gray)}.form-note{font-size:var(--font-size-xs);color:var(--color-gray);text-align:center;margin-top:1rem}

/* Responsive */
@media (max-width:968px){
    .nav-menu{position:fixed;left:-100%;top:70px;flex-direction:column;background:#fff;width:100%;text-align:center;transition:var(--transition);box-shadow:var(--shadow-md);padding:var(--space-lg) 0}
    .nav-menu.active{left:0}
    .mobile-toggle{display:block}
    .mobile-toggle.active .bar:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
    .mobile-toggle.active .bar:nth-child(2){opacity:0}
    .mobile-toggle.active .bar:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
    .hero-container,.about-grid,.contact-grid{grid-template-columns:1fr}
    .hero-content h1{font-size:var(--font-size-2xl)}
    .section-title{font-size:var(--font-size-xl)}
    .footer-grid{grid-template-columns:1fr}
    .whatsapp-float{padding:.6rem 1rem;font-size:var(--font-size-sm)}
    .about-image{order:-1}
}
@media (max-width:480px){
    :root{--space-lg:3rem}
    .hero{padding:var(--space-md)}
    .hero-cta{flex-direction:column;align-items:flex-start}
    .btn{width:100%;justify-content:center}
    section{padding:var(--space-md)}
    .gastronomy-card{height:220px}
}
@media (max-width:640px){
    .footer-bottom-content{flex-direction:column;gap:.5rem}
}
/* Footer Centrado */
.centered-footer .footer-bottom-content {
    justify-content: center;
    text-align: center;
    flex-direction: column;
}

/* Teléfono Clickeable */
.phone-link {
    color: inherit; 
    text-decoration: none; 
    font-weight: bold;
    transition: color 0.3s;
}
.phone-link:hover {
    color: var(--color-primary);
    text-decoration: underline;
}

/* Ajuste Footer Links General */
.footer-links a {
    color: #fff;
    text-decoration: none;
}