/* ════════════════════════════════════════════════════════
   Andean Explore — Estilos comunes de páginas informativas
   Usado por: tours.html, blog.html, blog-articulo.html,
   nosotros.html, contacto.html
   ════════════════════════════════════════════════════════ */
:root{
  --bosque: #1E2812;
  --selva:  #4A5830;
  --tierra: #A77C4B;
  --tierra-d:#8f6839;
  --inti:   #E4C77D;
  --crema:  #F0EDD8;
  --crema-d:#E0DCCA;
  --blanco: #FAFAF6;
  --texto:  #1a1a14;
  --suave:  #5a5a4a;
  --ff-t: 'Aleo','Georgia',serif;
  --ff-b: 'Poppins','Helvetica Neue',sans-serif;
  --rad:  4px;
  --tr:   all .38s cubic-bezier(.25,.46,.45,.94);
  --gl:   1px solid rgba(228,199,125,.22);
  --dl:   1px solid rgba(240,237,216,.07);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:var(--ff-b); color:var(--texto); background:var(--blanco); overflow-x:hidden; }
footer { background:#141A0A; padding:80px 0 0; }
img { max-width:100%; display:block; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
button { cursor:pointer; border:none; outline:none; font-family:var(--ff-b); }
.container { max-width:1200px; margin:0 auto; padding:0 32px; }
.container-wide { max-width:1440px; margin:0 auto; padding:0 40px; }
.btn::before { content:''; position:absolute; top:0; left:-100%; width:100%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent); transition:left .5s; }
.btn:hover::before { left:100%; }
.btn-gold { background:linear-gradient(135deg,var(--tierra) 0%,#C4944E 50%,var(--tierra) 100%); background-size:200% auto; color:var(--blanco); }
.btn-gold:hover { background-position:right center; transform:translateY(-2px); box-shadow:0 10px 30px rgba(167,124,75,.4); }
.btn-ol-dark:hover { background:var(--bosque); color:var(--crema); }
.eyebrow::before,.eyebrow::after { content:''; display:block; width:22px; height:1px; background:currentColor; opacity:.5; }
.eyebrow.light { color:var(--inti); }
.gold-rule { display:block; width:38px; height:1px; background:linear-gradient(90deg,var(--tierra),var(--inti)); margin:18px 0; }
.gold-rule.center { margin:18px auto; }
.fi.show { opacity:1; transform:translateY(0); }
.fi-d1{transition-delay:.1s}
.fi-d2{transition-delay:.2s}
.fi-d3{transition-delay:.3s}
.fi-d4{transition-delay:.4s}
.nav-inner { display:flex; align-items:center; justify-content:space-between; }
.nav-logo { display:flex; align-items:center; gap:10px; }
.nav-logo img { height:44px; width:auto; display:block; }
.nav-logo-fb { font-family:var(--ff-t); font-size:1.3rem; font-weight:700; color:var(--crema); letter-spacing:1px; }
.nav-logo-fb span { color:var(--inti); }
.nav-menu { display:flex; gap:36px; align-items:center; }
.nav-menu li a { font-size:0.72rem; font-weight:400; letter-spacing:2px; text-transform:uppercase; color:rgba(240,237,216,0.75); transition:color 0.25s; }
.nav-menu li a:hover,.nav-menu li a.active { color:var(--inti); }
.nav-right { display:flex; align-items:center; gap:24px; }
.nav-wa { font-size:0.78rem; font-weight:400; color:rgba(240,237,216,0.6); display:flex; align-items:center; gap:7px; transition:color 0.25s; }
.nav-wa i { color:#4ade80; font-size:1rem; }
.nav-wa:hover { color:var(--inti); }
.nav-btn { padding:10px 24px !important; font-size:0.67rem !important; letter-spacing:2px !important; }
nav#navbar { position:fixed; top:0; left:0; right:0; z-index:1000; padding:24px 0; transition:var(--tr); }
nav#navbar:not(.scrolled) { background:linear-gradient(180deg,rgba(30,40,18,.82) 0%,transparent 100%); }
nav#navbar.scrolled { padding:14px 0; background:rgba(29,37,16,.96); backdrop-filter:blur(16px); box-shadow:0 1px 0 var(--dl); }
.hamburger { display:none; flex-direction:column; gap:5px; background:none; padding:6px; cursor:pointer; }
.hamburger span { display:block; width:22px; height:1px; background:var(--crema); transition:transform 0.35s cubic-bezier(0.25,0.46,0.45,0.94), opacity 0.25s ease; }
.hamburger.active span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.active span:nth-child(2) { opacity:0; transform:scaleX(0); }
.hamburger.active span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.mob-menu { position:fixed; inset:0; z-index:1999; background:var(--bosque); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:32px; transform:translateX(100%); transition:transform .4s ease; }
.mob-menu.open { transform:translateX(0); }
.mob-menu a { font-family:var(--ff-t); font-size:1.3rem; font-weight:300; color:var(--crema); letter-spacing:1.5px; }
.mob-close { position:absolute; top:16px; right:20px; background:none; color:rgba(240,237,216,.45); font-size:1.2rem; width:48px; height:48px; display:flex; align-items:center; justify-content:center; }
.breadcrumb a:hover { color:var(--inti); }
.hero-title strong { font-weight:700; }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; padding-bottom:52px; border-bottom:var(--dl); }
.footer-brand img { height:34px; width:auto; margin-bottom:16px; }
.footer-brand-fb { font-family:var(--ff-t); font-size:1.1rem; font-weight:300; color:var(--crema); letter-spacing:1px; margin-bottom:16px; display:block; }
.footer-brand-fb span { font-weight:700; color:var(--inti); }
.footer-brand p { font-size:.8rem; font-weight:300; color:rgba(240,237,216,.38); line-height:1.9; margin-bottom:20px; }
.footer-socs { display:flex; gap:10px; }
.soc { width:34px; height:34px; border:var(--dl); display:flex; align-items:center; justify-content:center; color:rgba(240,237,216,.4); font-size:.78rem; transition:var(--tr); }
.soc:hover { border-color:var(--inti); color:var(--inti); }
.footer-col ul { display:flex; flex-direction:column; gap:9px; }
.footer-col ul li a:hover { color:var(--inti); }
.fcopy { font-size:.7rem; font-weight:300; color:rgba(240,237,216,.22); letter-spacing:.5px; }
.flegal { display:flex; gap:20px; }
.flegal a { font-size:.7rem; font-weight:300; color:rgba(240,237,216,.22); transition:color .22s; }
.flegal a:hover { color:var(--inti); }
.wa-float:hover { transform:scale(1.1); box-shadow:0 10px 32px rgba(37,211,102,.6); }
.wa-float::before { content:''; position:absolute; inset:0; border-radius:50%; background:#25D366; animation:waPulse 2s ease-out infinite; }
.wa-float:hover .wa-tip { opacity:1; }
.wa-float i { position:relative; z-index:1; }
@keyframes waPulse { 0%{transform:scale(1);opacity:.6} 100%{transform:scale(1.8);opacity:0} }
@media(max-width:1199px){
  .nav-menu { gap:24px; }
}
@media(max-width:900px){
  .nav-logo img { height:40px; }
  .nav-menu,.nav-wa { display:none; }
  .hamburger { display:flex; }
  .footer-top { grid-template-columns:1fr 1fr; gap:36px; }
}
@media(max-width:680px){
  nav#navbar, nav#navbar.scrolled { padding:12px 0; }
  .nav-logo img { height:34px; }
  .nav-btn { display:none; }
  .container { padding:0 18px; }
  .footer-top { grid-template-columns:1fr; }
}
@media(min-width:768px)and(max-width:1024px){
  .hero a, .hero-buttons a, .hero .btn,
  .hero-cta a, .banner a, .banner .btn { font-size: 0.65rem !important; padding: 7px 14px !important; }
}
@media(max-width:767px){
  .hero a, .hero-buttons a, .hero .btn,
  .hero-cta a, .banner a, .banner .btn { font-size: 0.65rem !important; padding: 6px 12px !important; width: 100% !important; display: block !important; text-align: center !important; margin-bottom: 6px !important; }
  .hero-buttons, .hero .buttons,
  .hero-cta, .banner-buttons { gap: 6px !important; flex-direction: column !important; width: 100% !important; padding: 0 16px !important; }
}
