/* ===== Turismo Humahuaca — demo ===== */

:root{
  --bg: #FBF3E7;
  --bg-alt: #F4E6D0;
  --ink: #2E1F16;
  --ink-soft: #5C4636;
  --cream: #FFFBF3;

  --terracota: #A8542F;
  --terracota-dark: #7A2E2E;
  --ocre: #C98A3B;
  --dorado: #DCB24A;
  --oliva: #6B7A45;
  --violeta: #6B4A7A;
  --azul: #5C7A8A;

  --accent: var(--terracota);
  --accent-dark: var(--terracota-dark);

  --radius: 18px;
  --shadow: 0 12px 30px rgba(46,31,22,.12);
  --font-display: "Fraunces", serif;
  --font-body: "Nunito Sans", sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
h1,h2,h3{font-family:var(--font-display);line-height:1.15;}

.demo-banner{
  background:var(--ink);
  color:var(--cream);
  text-align:center;
  font-size:.85rem;
  padding:.6rem 1rem;
}
.demo-banner a{text-decoration:underline;color:var(--dorado);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.85rem 1.5rem;
  border-radius:999px;
  font-weight:700;
  font-size:.95rem;
  border:2px solid transparent;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
  cursor:pointer;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px);}
.btn--accent{
  background:var(--accent);
  color:var(--cream);
  box-shadow:0 8px 20px rgba(122,46,46,.35);
}
.btn--accent:hover{background:var(--accent-dark);}
.btn--outline{
  border-color:var(--ink);
  color:var(--ink);
}
.btn--outline:hover{background:var(--ink);color:var(--cream);}
.btn--outline-light{border-color:var(--cream);color:var(--cream);}
.btn--outline-light:hover{background:var(--cream);color:var(--ink);}
.btn--lg{padding:1.05rem 2rem;font-size:1.05rem;}
.btn--small{padding:.55rem 1.1rem;font-size:.85rem;}

/* ---------- Nav ---------- */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(251,243,231,.9);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(46,31,22,.08);
}
.nav__inner{
  max-width:1180px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:.9rem 1.5rem;
}
.nav__logo{display:flex;align-items:center;gap:.7rem;}
.nav__logo-img{
  width:46px;height:46px;border-radius:50%;
  object-fit:cover;
  box-shadow:0 2px 8px rgba(46,31,22,.25);
}
.nav__logo-text{
  font-family:var(--font-display);font-weight:700;
  font-size:.95rem;line-height:1.1;color:var(--ink);
}
.nav__links{display:flex;gap:2rem;font-weight:600;font-size:.95rem;}
.nav__links a:hover{color:var(--accent);}
.nav__actions{display:flex;align-items:center;gap:1rem;}
.nav__burger{
  display:none;flex-direction:column;gap:5px;
  background:none;border:none;cursor:pointer;padding:.4rem;
}
.nav__burger span{width:22px;height:2px;background:var(--ink);border-radius:2px;}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  min-height:88vh;
  display:flex;align-items:center;
  overflow:hidden;
  padding:2rem 1.5rem 4rem;
}
.hero__bg{
  position:absolute;inset:0;z-index:0;
  background-size:cover;
  background-position:center 65%;
}
.hero__bg-overlay{
  position:absolute;inset:0;z-index:0;
  background:
    linear-gradient(180deg, rgba(46,31,22,.55) 0%, rgba(46,31,22,.35) 45%, rgba(251,243,231,.97) 96%),
    linear-gradient(90deg, rgba(46,31,22,.35), rgba(46,31,22,.1) 60%);
}
.hero__content{position:relative;z-index:1;max-width:800px;margin:0 auto;text-align:center;}
.hero__eyebrow{
  text-transform:uppercase;letter-spacing:.12em;font-weight:700;
  font-size:.8rem;color:var(--dorado);margin-bottom:1rem;
}
.hero__title{
  font-size:clamp(2.2rem, 5vw, 3.6rem);
  font-weight:700;color:var(--cream);margin-bottom:1.2rem;
  text-shadow:0 2px 16px rgba(0,0,0,.35);
}
.hero__title span{color:var(--dorado);font-style:italic;}
.hero__subtitle{
  font-size:1.15rem;color:var(--cream);opacity:.92;max-width:600px;margin:0 auto 2rem;
  text-shadow:0 1px 10px rgba(0,0,0,.3);
}
.hero__cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:3rem;}
.hero__stats{
  display:flex;gap:2.5rem;justify-content:center;flex-wrap:wrap;
  padding-top:2rem;border-top:1px solid rgba(46,31,22,.12);
}
.hero__stats div{display:flex;flex-direction:column;align-items:center;}
.hero__stats strong{font-family:var(--font-display);font-size:1.6rem;color:var(--terracota-dark);}
.hero__stats span{font-size:.8rem;color:var(--ink-soft);max-width:130px;text-align:center;}
.hero__scroll{
  position:absolute;bottom:1.2rem;left:50%;transform:translateX(-50%);
  width:26px;height:42px;border:2px solid var(--ink-soft);border-radius:20px;
  opacity:.5;
}
.hero__scroll span{
  position:absolute;top:6px;left:50%;transform:translateX(-50%);
  width:4px;height:8px;background:var(--ink-soft);border-radius:2px;
  animation:scrollDot 1.6s ease-in-out infinite;
}
@keyframes scrollDot{
  0%{opacity:1;top:6px;}
  70%{opacity:0;top:22px;}
  100%{opacity:0;top:6px;}
}

/* ---------- Color strip (Siete Colores) ---------- */
.strip{display:flex;height:14px;}
.strip__band{flex:1;background:var(--c);}

/* ---------- Section heads ---------- */
.section__head{max-width:640px;margin:0 auto 3rem;text-align:center;padding:0 1.5rem;}
.section__eyebrow{
  text-transform:uppercase;letter-spacing:.12em;font-weight:700;
  font-size:.8rem;color:var(--terracota);margin-bottom:.6rem;
}
.section__eyebrow--light{color:var(--dorado);}
.section__head h2{font-size:clamp(1.8rem,3.5vw,2.4rem);margin-bottom:.8rem;}
.section__lead{color:var(--ink-soft);}

/* ---------- Tours ---------- */
.tours{padding:5rem 1.5rem;max-width:1180px;margin:0 auto;}
.tour-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1.8rem;
}
.tour-card{
  background:var(--cream);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:transform .25s ease, box-shadow .25s ease;
}
.tour-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(46,31,22,.18);}
.tour-card__img{
  position:relative;height:170px;
  display:flex;align-items:flex-end;
  overflow:hidden;
}
.tour-card__img img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .4s ease;
}
.tour-card:hover .tour-card__img img{transform:scale(1.06);}
.tour-card__badge{
  position:relative;z-index:1;
  margin:.9rem;background:rgba(46,31,22,.55);color:var(--cream);
  font-size:.72rem;font-weight:700;padding:.3rem .7rem;border-radius:999px;
  backdrop-filter:blur(3px);
}
.tour-card__body{padding:1.5rem;}
.tour-card__body h3{font-size:1.25rem;margin-bottom:.3rem;}
.tour-card__meta{
  font-size:.8rem;color:var(--terracota);font-weight:700;margin-bottom:.7rem;
}
.tour-card__body p:not(.tour-card__meta){color:var(--ink-soft);font-size:.92rem;margin-bottom:1.1rem;}
.tour-card__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.tour-card__price{font-family:var(--font-display);font-weight:700;color:var(--ink);}
.tour-card__price small{display:block;font-family:var(--font-body);font-weight:400;font-size:.7rem;color:var(--ink-soft);}

/* ---------- About ---------- */
.about{
  max-width:1180px;margin:2rem auto 5rem;padding:0 1.5rem;
  display:grid;grid-template-columns:1fr 1.1fr;gap:3rem;align-items:center;
}
.about__img-inner{
  aspect-ratio:4/5;width:100%;border-radius:var(--radius);
  object-fit:cover;
  box-shadow:var(--shadow);
}
.about__text h2{font-size:clamp(1.8rem,3.5vw,2.3rem);margin:.6rem 0 1rem;}
.about__text p{color:var(--ink-soft);margin-bottom:1.2rem;}
.about__list{margin-bottom:1.6rem;}
.about__list li{
  padding:.6rem 0 .6rem 1.6rem;position:relative;color:var(--ink-soft);
  border-bottom:1px solid rgba(46,31,22,.08);
}
.about__list li::before{
  content:"";position:absolute;left:0;top:1.1rem;
  width:8px;height:8px;border-radius:50%;background:var(--terracota);
}
.about__list strong{color:var(--ink);}

/* ---------- Reviews ---------- */
.reviews{background:var(--bg-alt);padding:5rem 1.5rem;}
.reviews__grid{
  max-width:1180px;margin:0 auto;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.6rem;
}
.review-card{
  background:var(--cream);border-radius:var(--radius);padding:1.8rem;
  box-shadow:var(--shadow);
}
.review-card p{font-style:italic;color:var(--ink);margin-bottom:1rem;}
.review-card footer{font-size:.85rem;font-weight:700;color:var(--terracota);}

/* ---------- CTA band ---------- */
.cta-band{
  background:linear-gradient(120deg,var(--terracota-dark),var(--violeta));
  padding:4rem 1.5rem;color:var(--cream);
}
.cta-band__inner{
  max-width:1000px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;
}
.cta-band h2{font-size:clamp(1.6rem,3vw,2.1rem);margin:.4rem 0 .6rem;}
.cta-band p{opacity:.9;max-width:420px;}

/* ---------- Footer ---------- */
.footer{padding:3rem 1.5rem 2rem;text-align:center;}
.footer__inner{max-width:640px;margin:0 auto;}
.footer__brand{
  display:flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:var(--font-display);font-weight:700;margin-bottom:.8rem;
}
.footer__logo-img{
  width:34px;height:34px;border-radius:50%;object-fit:cover;
}
.footer__note{font-size:.85rem;color:var(--ink-soft);margin-bottom:1rem;}
.footer__datio{font-size:.8rem;color:var(--ink-soft);}
.footer__datio a{color:var(--terracota);font-weight:700;text-decoration:underline;}

/* ---------- Responsive ---------- */
@media (max-width:860px){
  .nav__links{
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;background:var(--cream);
    padding:1.2rem 1.5rem;gap:1rem;
    box-shadow:0 12px 20px rgba(46,31,22,.1);
    transform:translateY(-8px);opacity:0;pointer-events:none;
    transition:transform .2s ease, opacity .2s ease;
  }
  .nav__links.menu-open{transform:translateY(0);opacity:1;pointer-events:auto;}
  .nav__burger{display:flex;}
  .nav__actions .btn--small{display:none;}
  .about{grid-template-columns:1fr;}
  .about__img-inner{aspect-ratio:16/9;}
  .cta-band__inner{justify-content:center;text-align:center;}
}
