/*
  Luxe Hotels — luxehotels.pro
  Paleta "piedra serrana + verde pasto" (definida acá, uso exclusivo de este sitio):
    --stone-950 #201e1a  texto principal / fondos oscuros de señalética
    --stone-800 #3a362f  paneles oscuros, header
    --stone-600 #6b6459  texto secundario sobre claro
    --stone-300 #cdc6b8  bordes, separadores
    --stone-150 #e9e4d8  fondo de tarjetas
    --paper     #faf8f3  fondo general (tiza de sierra)
    --grass-700 #355e2b  verde pasto oscuro (encabezados, botones primarios)
    --grass-600 #467a39  verde pasto medio (hover, acentos)
    --grass-100 #e4ecdd  fondo verde muy claro
    --blaze-600 #b1532a  "marca de sendero" naranja/ladrillo, solo para CTAs puntuales
  Tipografía: pila robusta tipo cartel de parque nacional (Arial Black / Arial),
  sin dependencias externas, para que el sitio funcione 100% offline vía file://.
*/

:root{
  --stone-950:#201e1a;
  --stone-800:#3a362f;
  --stone-600:#6b6459;
  --stone-300:#cdc6b8;
  --stone-150:#e9e4d8;
  --paper:#faf8f3;
  --grass-700:#355e2b;
  --grass-600:#467a39;
  --grass-100:#e4ecdd;
  --blaze-600:#b1532a;
  --blaze-700:#8f4220;
  --radius:4px;
}

[hidden]{display:none!important}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--stone-950);
  font-family:Verdana,Tahoma,"Segoe UI",Arial,sans-serif;
  line-height:1.6;
}
h1,h2,h3,h4{
  font-family:"Arial Black",Arial,Verdana,sans-serif;
  text-transform:uppercase;
  letter-spacing:0.03em;
  color:var(--stone-800);
  line-height:1.2;
}
a{color:var(--grass-700)}
a:hover{color:var(--blaze-600)}
img{max-width:100%;display:block}

.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:.5rem 1rem;z-index:999}
.skip-link:focus{left:.5rem;top:.5rem}

/* ---------- Age gate ---------- */
#age-gate{
  position:fixed;inset:0;z-index:9999;
  background:rgba(32,30,26,.92);
  display:flex;align-items:center;justify-content:center;
  padding:1rem;
}
#age-gate .gate-box{
  background:var(--paper);
  border:3px solid var(--stone-800);
  max-width:440px;width:100%;
  padding:1.75rem;
  border-radius:var(--radius);
  text-align:center;
}
#age-gate .gate-badge{
  display:inline-block;background:var(--stone-800);color:#fff;
  font-family:"Arial Black",Arial,sans-serif;font-size:1.6rem;
  padding:.25rem .75rem;border-radius:var(--radius);margin-bottom:.75rem;
}
#age-gate p{color:var(--stone-600);font-size:.95rem}
.gate-actions{display:flex;gap:.75rem;margin-top:1.25rem;justify-content:center;flex-wrap:wrap}
.gate-btn{
  font-family:"Arial Black",Arial,sans-serif;
  border:none;border-radius:var(--radius);
  padding:.75rem 1.5rem;font-size:.95rem;cursor:pointer;
  text-transform:uppercase;letter-spacing:.04em;
}
.gate-yes{background:var(--grass-700);color:#fff}
.gate-yes:hover{background:var(--grass-600)}
.gate-no{background:var(--stone-300);color:var(--stone-800)}
.gate-no:hover{background:var(--stone-150)}

/* ---------- Header / nav ---------- */
header.site-header{
  background:var(--stone-800);color:#fff;
  border-bottom:6px solid var(--grass-700);
}
.header-inner{
  max-width:1120px;margin:0 auto;padding:.9rem 1.25rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:#fff}
.brand strong{
  font-family:"Arial Black",Arial,sans-serif;font-size:1.25rem;letter-spacing:.03em;
  text-transform:uppercase;
}
.age-badge{
  background:var(--blaze-600);color:#fff;font-family:"Arial Black",Arial,sans-serif;
  font-size:.75rem;padding:.15rem .5rem;border-radius:3px;letter-spacing:.05em;
}
nav.main-nav{display:flex;flex-wrap:wrap;gap:.25rem 1rem}
nav.main-nav a{
  color:#fff;text-decoration:none;font-size:.82rem;text-transform:uppercase;
  letter-spacing:.04em;font-weight:bold;padding:.3rem .1rem;border-bottom:2px solid transparent;
}
nav.main-nav a:hover{border-bottom-color:var(--blaze-600);color:#fff}

/* top disclaimer banner */
.disclaimer-banner{
  background:var(--stone-150);color:var(--stone-800);
  font-size:.82rem;text-align:center;padding:.5rem 1rem;border-bottom:1px solid var(--stone-300);
}
.disclaimer-banner strong{color:var(--blaze-700)}

/* ---------- Breadcrumb ---------- */
.breadcrumb{max-width:1120px;margin:0 auto;padding:.75rem 1.25rem 0;font-size:.8rem;color:var(--stone-600)}
.breadcrumb a{color:var(--stone-600);text-decoration:none}
.breadcrumb a:hover{color:var(--grass-700)}

/* ---------- Layout ---------- */
main{max-width:1120px;margin:0 auto;padding:1.25rem}
.hero{
  background:linear-gradient(180deg,var(--grass-100),var(--paper));
  border:1px solid var(--stone-300);border-radius:var(--radius);
  padding:2rem 1.5rem;margin-bottom:1.5rem;
}
.hero h1{font-size:1.9rem;margin:0 0 .5rem}
.hero p.lead{color:var(--stone-600);max-width:60ch;font-size:1.05rem}
.cta-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.1rem}
.btn{
  display:inline-block;font-family:"Arial Black",Arial,sans-serif;
  text-transform:uppercase;letter-spacing:.03em;font-size:.85rem;
  padding:.7rem 1.3rem;border-radius:var(--radius);text-decoration:none;border:2px solid transparent;
}
.btn-primary{background:var(--grass-700);color:#fff}
.btn-primary:hover{background:var(--grass-600);color:#fff}
.btn-outline{background:transparent;color:var(--stone-800);border-color:var(--stone-800)}
.btn-outline:hover{color:var(--blaze-600);border-color:var(--blaze-600)}

.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin:1.5rem 0}
.card{
  background:var(--stone-150);border:1px solid var(--stone-300);border-radius:var(--radius);
  padding:1rem 1.1rem;
}
.card h3{font-size:1.02rem;margin:.3rem 0}
.tag{
  display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;
  background:var(--grass-700);color:#fff;padding:.15rem .5rem;border-radius:3px;margin-bottom:.4rem;
}
.tag.exigente{background:var(--blaze-600)}
.tag.medio{background:#8a7a2f}

section{margin:2rem 0}
section h2{font-size:1.4rem;border-left:6px solid var(--grass-700);padding-left:.6rem}

table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.92rem}
table caption{text-align:left;font-size:.8rem;color:var(--stone-600);margin-bottom:.4rem}
th,td{border:1px solid var(--stone-300);padding:.55rem .6rem;text-align:left}
th{background:var(--stone-800);color:#fff;text-transform:uppercase;font-size:.75rem;letter-spacing:.03em}
tbody tr:nth-child(even){background:var(--stone-150)}

/* ---------- Planner ---------- */
.planner-box{
  background:var(--stone-800);color:#fff;border-radius:var(--radius);
  padding:1.5rem;margin:1.5rem 0;
}
.planner-box h2{color:#fff;border-left-color:var(--blaze-600)}
.planner-form{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end;margin-top:1rem}
.planner-field{display:flex;flex-direction:column;gap:.3rem}
.planner-field label{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--stone-300)}
.planner-field select{
  padding:.55rem .6rem;border-radius:var(--radius);border:1px solid var(--stone-300);font-size:.95rem;
  min-width:190px;
}
#planner-submit{cursor:pointer}
#planner-resultados{margin-top:1.25rem}
.sendero-card{
  background:#fff;color:var(--stone-950);border-radius:var(--radius);padding:1rem;
  margin-bottom:.7rem;border-left:6px solid var(--grass-600);
}
.sendero-card h4{margin:.1rem 0 .3rem;text-transform:none;font-family:Verdana,Arial,sans-serif;font-weight:bold}
.sendero-meta{font-size:.82rem;color:var(--stone-600)}
.planner-empty{background:#fff2e4;border:1px dashed var(--blaze-600);color:var(--blaze-700);padding:.8rem;border-radius:var(--radius)}

/* ---------- Responsible gaming box ---------- */
.rg-box{
  background:var(--grass-100);border:1px solid var(--grass-600);border-radius:var(--radius);
  padding:1.1rem 1.3rem;margin:1.5rem 0;font-size:.92rem;
}
.rg-box strong{color:var(--grass-700)}

/* ---------- FAQ ---------- */
details{border:1px solid var(--stone-300);border-radius:var(--radius);padding:.6rem .9rem;margin-bottom:.6rem;background:#fff}
details summary{cursor:pointer;font-weight:bold;color:var(--stone-800)}

/* ---------- Footer ---------- */
footer.site-footer{
  background:var(--stone-950);color:var(--stone-300);
  margin-top:2.5rem;padding:2rem 1.25rem 1.25rem;font-size:.85rem;
}
.footer-inner{max-width:1120px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem;margin-bottom:1.25rem}
.footer-grid h4{color:#fff;font-size:.85rem;margin-bottom:.5rem}
.footer-grid a{color:var(--stone-300);text-decoration:none;display:block;margin-bottom:.25rem;font-size:.82rem}
.footer-grid a:hover{color:#fff}
.footer-disclaimer{border-top:1px solid #4a473e;padding-top:1rem;font-size:.78rem;color:#a39e90}
.footer-disclaimer strong{color:#d8b396}

@media (max-width:640px){
  .header-inner{flex-direction:column;align-items:flex-start}
  .hero h1{font-size:1.5rem}
  .planner-form{flex-direction:column;align-items:stretch}
  .planner-field select{min-width:0;width:100%}
}
