
:root{
  --primary:#059669;
  --primary-dark:#065f46;
  --accent:#f43f5e;
  --accent-2:#8b5cf6;
  --whatsapp:#25d366;
  --bg:#ffffff;
  --bg-alt:#f0fdf4;
  --text:#1e293b;
  --muted:#64748b;
  --light:#ffffff;
  --border:#d1fae5;
}
*{margin:0;padding:0;box-sizing:border-box;font-family:'Inter','Segoe UI',system-ui,-apple-system,sans-serif}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);line-height:1.7;-webkit-font-smoothing:antialiased;font-size:16px}
a{color:var(--primary);text-decoration:none;font-weight:500}
a:hover{color:var(--accent)}
header.site-header{background:linear-gradient(120deg,var(--primary-dark),var(--primary),#10b981);color:#fff;padding:1.3rem 2rem;box-shadow:0 6px 20px rgba(5,150,105,.25);position:relative;overflow:hidden}
header.site-header::before{content:'';position:absolute;top:-50%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(244,63,94,.25),transparent 70%);pointer-events:none}
header.site-header::after{content:'';position:absolute;bottom:-50%;left:-5%;width:300px;height:300px;background:radial-gradient(circle,rgba(139,92,246,.2),transparent 70%);pointer-events:none}
header.site-header .inner{max-width:1150px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;position:relative;z-index:1}
header.site-header .logo{font-size:1.5rem;font-weight:900;color:#fff;letter-spacing:-0.5px;display:flex;align-items:center;gap:.5rem}
header.site-header .logo .icon{background:var(--accent);border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}
header.site-header .logo span{color:#a7f3d0}
header.site-header .contacto-top{font-size:.9rem;opacity:.95;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
header.site-header .contacto-top a{color:#fff;font-weight:600;padding:.3rem .7rem;background:rgba(255,255,255,.15);border-radius:20px;transition:background .2s}
header.site-header .contacto-top a:hover{background:rgba(255,255,255,.3);color:#fff}
nav.main-nav{background:var(--light);border-bottom:2px solid var(--border);position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.04)}
nav.main-nav .inner{max-width:1150px;margin:0 auto;padding:1rem 2rem;display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;justify-content:space-between}
nav.main-nav a{font-weight:600;color:var(--primary-dark);font-size:.95rem;position:relative}
nav.main-nav a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--accent);transition:width .25s}
nav.main-nav a:hover::after{width:100%}
nav.main-nav a:hover{color:var(--accent)}
.container{max-width:1150px;margin:0 auto;padding:2.2rem}
h1{font-size:2.2rem;color:var(--primary-dark);margin-bottom:1rem;line-height:1.25;font-weight:800;letter-spacing:-0.5px}
h2{font-size:1.55rem;color:var(--primary-dark);margin:2.8rem 0 1rem;padding-left:1.1rem;position:relative;font-weight:800;letter-spacing:-0.3px}
h2::before{content:'';position:absolute;left:0;top:6px;bottom:6px;width:5px;background:linear-gradient(180deg,var(--accent),var(--accent-2));border-radius:3px}
h3{font-size:1.15rem;color:var(--primary-dark);margin-bottom:.5rem;font-weight:700}
p{margin-bottom:1rem;color:#334155}
.breadcrumbs{font-size:.85rem;color:var(--muted);margin-bottom:1.2rem;padding:.6rem 1rem;background:var(--bg-alt);border-radius:8px;display:inline-block;border:1px solid var(--border)}
.breadcrumbs a{color:var(--primary);font-weight:500}
.hero{text-align:center;padding:3.5rem 1.5rem;background:linear-gradient(135deg,#d1fae5,#fce7f3 50%,#ede9fe);border-radius:20px;margin-bottom:2.5rem;position:relative;overflow:hidden}
.hero::before{content:'🌐';position:absolute;top:15px;left:20px;font-size:3rem;opacity:.15;transform:rotate(-15deg)}
.hero::after{content:'⚡';position:absolute;bottom:15px;right:20px;font-size:3rem;opacity:.15;transform:rotate(15deg)}
.hero h1{font-size:2.6rem;line-height:1.15}
.hero h1 .highlight{background:linear-gradient(120deg,var(--accent),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero p{font-size:1.15rem;color:#475569;max-width:720px;margin:1rem auto 1.8rem}
.cta{display:inline-block;background:var(--accent);color:#fff!important;padding:1rem 2rem;border-radius:10px;font-weight:700;margin:.4rem .4rem 0 0;transition:transform .2s,box-shadow .2s,background .2s;box-shadow:0 4px 12px rgba(244,63,94,.3)}
.cta:hover{background:#e11d48;transform:translateY(-3px);box-shadow:0 8px 20px rgba(244,63,94,.4)}
.cta-wa{background:var(--whatsapp);box-shadow:0 4px 12px rgba(37,211,102,.3)}
.cta-wa:hover{background:#128c7e;box-shadow:0 8px 20px rgba(37,211,102,.4)}
.cta-2{background:var(--accent-2);box-shadow:0 4px 12px rgba(139,92,246,.3)}
.cta-2:hover{background:#7c3aed;box-shadow:0 8px 20px rgba(139,92,246,.4)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.3rem;margin-top:1.3rem}
.card{background:var(--light);padding:1.5rem;border-radius:14px;border:2px solid var(--border);box-shadow:0 2px 8px rgba(5,150,105,.06);transition:transform .25s,box-shadow .25s,border-color .25s}
.card:hover{transform:translateY(-6px);box-shadow:0 14px 28px rgba(5,150,105,.15);border-color:var(--primary)}
.card h3{display:flex;align-items:center;gap:.5rem;font-size:1.1rem}
.pueblo-link{display:inline-block;background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:var(--primary-dark)!important;padding:.55rem 1.1rem;border-radius:24px;font-size:.9rem;font-weight:700;margin:.3rem .3rem .3rem 0;transition:all .2s;border:1px solid #6ee7b7}
.pueblo-link:hover{background:linear-gradient(135deg,var(--primary),#10b981);color:#fff!important;transform:translateY(-2px);box-shadow:0 4px 12px rgba(5,150,105,.3)}
.faq-item{background:var(--light);border:2px solid var(--border);border-radius:12px;margin-bottom:.9rem;overflow:hidden;transition:border-color .2s}
.faq-item:hover{border-color:var(--primary)}
.faq-item summary{padding:1.1rem 1.5rem;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);list-style:none;display:flex;justify-content:space-between;align-items:center;color:var(--primary-dark)}
.faq-item summary::after{content:'+';font-size:1.5rem;color:var(--accent);font-weight:800;transition:transform .2s}
.faq-item[open] summary::after{content:'−';transform:rotate(180deg)}
.faq-item p{padding:1.1rem 1.5rem;margin:0;border-top:1px solid var(--border)}
.review{background:var(--light);padding:1.5rem;border-radius:14px;border-left:5px solid var(--accent);font-style:italic;box-shadow:0 2px 8px rgba(0,0,0,.04);position:relative}
.review::before{content:'"';position:absolute;top:-10px;left:15px;font-size:4rem;color:var(--accent);opacity:.2;font-family:Georgia,serif;line-height:1}
.stars{color:#fbbf24;margin-bottom:.5rem;font-size:1.15rem;letter-spacing:2px}
.review .autor{margin-top:.9rem;font-weight:800;font-style:normal;color:var(--primary-dark)}
.map-container{width:100%;height:360px;border-radius:14px;overflow:hidden;border:3px solid var(--border);margin:1.3rem 0;box-shadow:0 4px 12px rgba(0,0,0,.05)}
.map-container iframe{width:100%;height:100%;border:0}
.info-local{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1.6rem 0}
.info-local .item{background:var(--bg-alt);padding:1.1rem 1.3rem;border-radius:12px;border-left:5px solid var(--accent-2);box-shadow:0 2px 8px rgba(0,0,0,.04)}
.info-local .item strong{display:block;color:var(--primary-dark);margin-bottom:.3rem;font-size:.85rem;text-transform:uppercase;letter-spacing:1px}
.datos-pueblo{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #fbbf24;border-radius:14px;padding:1.5rem;margin:1.6rem 0;position:relative}
.datos-pueblo::before{content:'📊';position:absolute;top:-14px;right:20px;background:var(--accent);color:#fff;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;box-shadow:0 4px 10px rgba(244,63,94,.3)}
.datos-pueblo h3{color:#92400e;margin-bottom:1rem;font-size:1.2rem}
.datos-pueblo ul{list-style:none;margin:0}
.datos-pueblo li{padding:.45rem 0;border-bottom:1px dashed #fbbf24;font-size:.95rem}
.datos-pueblo li:last-child{border-bottom:none}
.datos-pueblo li strong{color:#78350f;margin-right:.4rem}
.aviso-honesto{background:linear-gradient(135deg,#ede9fe,#ddd6fe);border-left:5px solid var(--accent-2);padding:1.2rem 1.5rem;border-radius:10px;margin:1.6rem 0;font-size:.95rem}
.aviso-honesto strong{color:#5b21b6}
/* BLOQUE KEYWORDS */
.keywords-block{background:var(--bg-alt);border:2px solid var(--border);border-radius:14px;padding:1.5rem;margin:1.8rem 0;position:relative}
.keywords-block::before{content:'🔎';position:absolute;top:-14px;right:20px;background:var(--primary);color:#fff;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;box-shadow:0 4px 10px rgba(5,150,105,.3)}
.keywords-block h3{color:var(--primary-dark);margin-bottom:1rem;font-size:1.2rem;display:flex;align-items:center;gap:.5rem}
.keywords-block ul{list-style:none;margin:0;display:flex;flex-wrap:wrap;gap:.4rem}
.keywords-block li{background:var(--light);border:1px solid var(--border);border-radius:8px;padding:.4rem .85rem;font-size:.85rem;color:var(--primary-dark);font-weight:500;transition:all .2s}
.keywords-block li:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-2px)}
footer.site-footer{background:linear-gradient(135deg,#064e3b,#065f46);color:#a7f3d0;padding:3rem 2rem 6rem;text-align:center;margin-top:3.5rem;position:relative;overflow:hidden}
footer.site-footer::before{content:'';position:absolute;top:-50%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(244,63,94,.15),transparent 70%);pointer-events:none}
footer.site-footer > *{position:relative;z-index:1}
footer.site-footer a{color:#fbbf24;font-weight:600}
footer.site-footer a:hover{color:#fff}
footer.site-footer .footer-links{margin-top:1.3rem;display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}
footer.site-footer .datos-legales{margin-top:1.2rem;font-size:.85rem;color:#6ee7b7;padding:.6rem 1rem;background:rgba(255,255,255,.05);border-radius:8px;display:inline-block}
footer.site-footer p{margin-bottom:.5rem}
.wa-float{position:fixed;bottom:24px;right:24px;background:var(--whatsapp);color:#fff;width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(37,211,102,.55);z-index:999;transition:transform .25s;animation:wa-pulse 2s infinite}
.wa-float:hover{transform:scale(1.12);color:#fff}
.wa-float svg{width:36px;height:36px;fill:#fff}
@keyframes wa-pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.6)}70%{box-shadow:0 0 0 20px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
@media(max-width:640px){
  h1{font-size:1.75rem}
  h2{font-size:1.3rem}
  .hero h1{font-size:2rem}
  .hero{padding:2.5rem 1rem}
  .container{padding:1.3rem}
  header.site-header .inner{flex-direction:column;align-items:flex-start;gap:.7rem}
  header.site-header .contacto-top{font-size:.85rem}
  nav.main-nav .inner{padding:.8rem 1.2rem;gap:.8rem}
  .wa-float{width:56px;height:56px;bottom:16px;right:16px}
  .wa-float svg{width:30px;height:30px}
}
