/* =========================================================
   ALA by nido — página de agendamiento
   Extiende styles.css (variables, nav, botones, footer)
   ========================================================= */

.ag-body{background:var(--bg)}

/* ---------- hero ---------- */
.agHero{
  position:relative;overflow:hidden;padding:clamp(120px,15vw,180px) 0 clamp(50px,7vw,80px);
  background:
    radial-gradient(100% 80% at 80% 0%,rgba(255,127,21,.22),transparent 60%),
    linear-gradient(180deg,#000,#0C0806 70%,var(--bg));
  border-bottom:1px solid var(--line-2);
}
.agHero__glow{
  position:absolute;right:-10vw;top:-10vw;width:50vw;height:50vw;pointer-events:none;
  background:radial-gradient(circle,rgba(255,127,21,.34),transparent 62%);filter:blur(28px);
}
.agHero .wrap{position:relative;z-index:2}
.agHero__t{
  font-size:clamp(38px,6.6vw,86px);line-height:.98;letter-spacing:-.045em;
  font-weight:600;margin:0 0 22px;
}
.agHero__p{color:var(--dim);font-size:clamp(16px,1.5vw,20px);max-width:48ch;margin:0 0 36px;line-height:1.55}

.agHero__meta{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  margin-bottom:clamp(32px,4vw,48px);
}
.agHero__meta div{font-size:14.5px;color:#E9E5E1;display:flex;flex-direction:column;gap:7px}
.agHero__meta span{font-size:10.5px;letter-spacing:.2em;color:var(--orange)}

/* dos caminos */
.paths{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.4vw,18px)}
.path{
  border:1px solid var(--line);border-radius:5px;padding:clamp(20px,2.4vw,30px);
  display:block;transition:.4s var(--ease);
}
.path--on{
  border-color:rgba(255,127,21,.55);
  background:linear-gradient(150deg,rgba(255,127,21,.10),transparent 65%);
}
a.path:hover{border-color:#fff;transform:translateY(-3px)}
.path__k{font-size:10px;letter-spacing:.2em;color:var(--orange);display:block;margin-bottom:12px}
.path strong{display:block;font-size:clamp(18px,1.7vw,22px);letter-spacing:-.02em;margin-bottom:8px}
.path p{color:var(--dim);font-size:14px;line-height:1.55;margin:0}

/* =========================================================
   LAYOUT DEL FLUJO
   ========================================================= */
.agMain{
  display:grid;grid-template-columns:minmax(0,1fr) 340px;
  gap:clamp(28px,4vw,64px);align-items:start;
  padding-block:clamp(50px,7vw,86px) clamp(60px,8vw,100px);
}
/* minmax(0,…) en toda la cadena: sin esto un hijo ancho desborda la página */
.agSteps{display:grid;grid-template-columns:minmax(0,1fr);gap:1px;background:var(--line-2)}
.step{background:var(--bg);padding-block:clamp(34px,4.5vw,56px);min-width:0}
.step:first-child{padding-top:0}
.step__h{display:flex;align-items:baseline;gap:16px;margin-bottom:14px}
.step__n{
  font-size:11px;letter-spacing:.2em;color:var(--orange);flex:0 0 auto;
  padding-top:4px;
}
.step__h h2{font-size:clamp(23px,2.6vw,34px);letter-spacing:-.03em;font-weight:600;margin:0}
.step__p{color:var(--dim);font-size:15px;line-height:1.6;margin:0 0 26px;max-width:62ch}

/* ---------- paquetes ---------- */
.packs{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(12px,1.4vw,16px);margin-top:8px;
}
.pack{display:block;cursor:pointer;position:relative}
.pack input{position:absolute;opacity:0;pointer-events:none}
.pack__box{
  display:flex;flex-direction:column;height:100%;
  border:1px solid var(--line);border-radius:5px;padding:clamp(20px,2.3vw,28px);
  transition:.35s var(--ease);position:relative;
}
.pack:hover .pack__box{border-color:rgba(255,127,21,.45)}
.pack input:checked + .pack__box{
  border-color:var(--orange);
  background:linear-gradient(155deg,rgba(255,127,21,.12),transparent 70%);
}
.pack input:focus-visible + .pack__box{outline:2px solid var(--orange);outline-offset:3px}
.pack__tag{
  position:absolute;top:-9px;left:20px;background:var(--orange);color:#000;
  font-size:9.5px;letter-spacing:.18em;font-weight:600;padding:4px 9px;border-radius:3px;
}
.pack__top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}
.pack__name{font-size:clamp(17px,1.6vw,20px);font-weight:600;letter-spacing:-.02em}
.pack__price{
  font-size:clamp(22px,2.4vw,30px);font-weight:600;letter-spacing:-.04em;color:var(--orange);
  white-space:nowrap;
}
.pack__price i{font-style:normal;font-size:11px;letter-spacing:.14em;color:var(--dim);margin-left:5px}
.pack__for{
  display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--dim);margin:10px 0 18px;
}
.pack__list{display:grid;gap:9px}
.pack__list i{
  font-style:normal;font-size:14px;color:#D9D4CF;position:relative;padding-left:20px;line-height:1.45;
}
.pack__list i::before{
  content:"";position:absolute;left:0;top:.6em;width:9px;height:1.5px;background:var(--orange);
}

/* ---------- zona ---------- */
.zona{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:26px}
.zona .field:last-of-type{grid-column:1/-1}
.zona__aviso{
  grid-column:1/-1;margin:0;padding:16px 18px;border-radius:4px;
  border:1px solid rgba(255,127,21,.45);background:rgba(255,127,21,.07);
  font-size:14px;color:#E9E5E1;line-height:1.6;
}
.zona__aviso a{color:var(--orange);border-bottom:1px solid rgba(255,127,21,.4)}

/* buscador de dirección */
.buscador{display:flex;gap:8px}
.buscador input{flex:1 1 auto;min-width:0}
.buscador button{
  flex:0 0 auto;background:transparent;color:var(--orange);font-family:inherit;
  border:1px solid rgba(255,127,21,.45);border-radius:3px;padding:0 18px;
  font-size:13.5px;font-weight:600;cursor:pointer;transition:.3s var(--ease);
}
.buscador button:hover:not(:disabled){background:var(--orange);color:#000}
.buscador button:disabled{opacity:.5;cursor:default}

.mapa{border:1px solid var(--line);border-radius:5px;overflow:hidden}
.mapa__barra{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:12px 16px;border-bottom:1px solid var(--line-2);background:rgba(255,255,255,.02);
}
.pin{font-size:12.5px;line-height:1.45}
.pin--vacio{color:var(--dim)}
.pin--ok{color:var(--orange)}
.pin--cargo{color:#FFBA50}
.pin--lejos{color:#FF7A5F}
.mapa__quitar{
  flex:0 0 auto;background:none;border:0;color:var(--dim);font-family:inherit;
  font-size:12px;cursor:pointer;text-decoration:underline;padding:4px;
}
.mapa__quitar:hover{color:#fff}
.mapa__canvas{height:clamp(260px,34vw,400px);background:#0F0E0D;filter:saturate(.75)}
.mapa__leyenda{
  display:flex;flex-wrap:wrap;gap:20px;padding:14px 18px;border-top:1px solid var(--line-2);
}
.leg{font-size:12px;color:var(--dim);display:flex;align-items:center;gap:8px}
.leg::before{content:"";width:12px;height:12px;border-radius:3px;border:1px solid}
.leg--cob::before{background:rgba(255,127,21,.22);border-color:var(--orange)}
.leg--res::before{background:rgba(255,70,50,.22);border-color:#FF5A3D}
.leg--pin::before{background:#fff;border-color:#fff;border-radius:50%}
.mapa__canvas{cursor:crosshair}
.mapa__nota{
  margin:0;padding:14px 18px;border-top:1px solid var(--line-2);
  font-size:12.5px;line-height:1.6;color:var(--dim);background:rgba(255,255,255,.02);
}

/* Leaflet en oscuro */
.leaflet-container{background:#0F0E0D;font-family:var(--sans)}
.leaflet-tile{filter:invert(1) hue-rotate(180deg) brightness(.82) contrast(.92) saturate(.5)}
.leaflet-control-attribution{
  background:rgba(0,0,0,.6)!important;color:var(--dim-2)!important;font-size:9px!important;
}
.leaflet-control-attribution a{color:var(--dim)!important}
.leaflet-control-zoom a{
  background:#15130F!important;color:#fff!important;border-color:var(--line)!important;
}
.leaflet-control-zoom a:hover{background:var(--orange)!important;color:#000!important}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{
  background:#15130F;color:var(--txt);border:1px solid var(--line);border-radius:4px;
}
.leaflet-popup-content{font-size:13px;margin:12px 14px}
.leaflet-popup-content b{color:var(--orange)}
.leaflet-container a.leaflet-popup-close-button{color:var(--dim)}

/* ---------- clima ---------- */
.clima{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(104px,1fr);
  gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:5px;
  overflow-x:auto;scrollbar-width:thin;
}
.clima__cargando{
  grid-column:1/-1;background:var(--bg);padding:38px;text-align:center;
  color:var(--dim);font-size:13.5px;letter-spacing:.04em;
}
.dia{
  background:var(--bg);padding:16px 12px;display:grid;gap:7px;justify-items:center;
  text-align:center;transition:background .3s;
}
.dia:hover{background:var(--bg-2)}
.dia--finde{opacity:.4}
.dia__sem{font-size:10px;letter-spacing:.16em;color:var(--dim);text-transform:uppercase}
.dia__num{font-size:19px;font-weight:600;letter-spacing:-.02em;line-height:1}
.dia__est{
  font-size:9.5px;letter-spacing:.1em;padding:4px 8px;border-radius:999px;
  text-transform:uppercase;font-weight:600;white-space:nowrap;
}
.dia__est--ok{background:rgba(255,127,21,.16);color:var(--orange)}
.dia__est--med{background:rgba(255,186,80,.14);color:#FFBA50}
.dia__est--mal{background:rgba(255,90,61,.14);color:#FF7A5F}
.dia__dato{font-size:11px;color:var(--dim);line-height:1.4}
.clima__nota{margin:16px 0 0;font-size:12.5px;color:var(--dim-2);line-height:1.6;max-width:62ch}

/* ---------- turnos ---------- */
.turnos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:26px}
.turno{
  border:1px solid var(--line);border-radius:4px;padding:18px;
  display:grid;gap:6px;transition:border-color .35s var(--ease);
}
.turno:hover{border-color:rgba(255,127,21,.5)}
.turno b{font-size:16px;font-weight:600;letter-spacing:-.02em}
.turno span{font-size:13px;color:var(--orange);letter-spacing:.04em}
.turno i{font-style:normal;font-size:12.5px;color:var(--dim);line-height:1.45}

/* ---------- calendario ---------- */
.cal{min-height:0}
.cal__fallback{
  border:1px dashed var(--line);border-radius:5px;padding:clamp(26px,3.4vw,44px);
  text-align:center;background:repeating-linear-gradient(45deg,transparent 0 14px,rgba(255,255,255,.015) 14px 28px);
}
.cal__k{font-size:10px;letter-spacing:.22em;color:var(--orange);display:block;margin-bottom:14px}
.cal__fallback p{color:var(--dim);font-size:14.5px;line-height:1.6;margin:0 auto 22px;max-width:46ch}
.cal__fallback code{
  background:rgba(255,255,255,.07);padding:2px 6px;border-radius:3px;font-size:12.5px;color:#fff;
}
.cal__fallback .btn{width:auto}

/* =========================================================
   RESUMEN
   ========================================================= */
.resumen{position:sticky;top:96px}
.resumen__box{
  border:1px solid var(--line);border-radius:6px;padding:26px;
  background:linear-gradient(170deg,rgba(255,127,21,.09),rgba(255,255,255,.02) 55%);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.resumen__k{font-size:10px;letter-spacing:.22em;color:var(--orange);display:block;margin-bottom:20px}
.resumen__dl{margin:0 0 20px;display:grid;gap:13px}
.resumen__dl div{display:flex;justify-content:space-between;gap:14px;align-items:baseline}
.resumen__dl dt{font-size:12.5px;color:var(--dim);flex:0 0 auto}
.resumen__dl dd{margin:0;font-size:13.5px;text-align:right;color:#EDE9E5;line-height:1.4}
.resumen__total{
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  padding-top:18px;border-top:1px solid var(--line);
}
.resumen__total span{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.resumen__total b{font-size:clamp(26px,2.6vw,34px);font-weight:600;letter-spacing:-.04em;color:var(--orange)}
.resumen__total i{font-style:normal;font-size:11px;letter-spacing:.14em;color:var(--dim)}
.resumen__nota{font-size:12px;color:var(--dim-2);line-height:1.55;margin:14px 0 20px}
.resumen__wa{
  display:block;text-align:center;margin-top:14px;font-size:12.5px;color:var(--dim);
}
.resumen__wa:hover{color:var(--orange)}

/* =========================================================
   POLÍTICA
   ========================================================= */
.pol{
  padding-block:clamp(66px,9vw,120px);background:var(--bg-2);
  border-top:1px solid var(--line-2);
}
.pol__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-2);margin-top:clamp(34px,4.5vw,56px)}
.pol__i{background:var(--bg-2);padding:clamp(24px,2.6vw,36px)}
.pol__i>span{font-size:11px;letter-spacing:.2em;color:var(--dim-2);display:block;margin-bottom:20px}
.pol__i h3{font-size:clamp(17px,1.5vw,20px);margin:0 0 10px;font-weight:600;letter-spacing:-.02em}
.pol__i p{color:var(--dim);font-size:14px;line-height:1.62;margin:0}
.pol__i a{color:var(--orange);border-bottom:1px solid rgba(255,127,21,.35)}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1080px){
  .agMain{grid-template-columns:minmax(0,1fr);gap:0}
  .pol__grid{grid-template-columns:repeat(2,1fr)}
  /* el resumen pasa a barra fija inferior, delgada y que se quita al leer */
  .resumen{
    position:fixed;left:0;right:0;bottom:0;top:auto;z-index:40;
    transition:transform .4s var(--ease);
  }
  .resumen.is-oculta{transform:translateY(105%)}
  .resumen__box{
    border-radius:0;border-left:0;border-right:0;border-bottom:0;
    background:rgba(10,9,8,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
    padding:10px var(--pad);
    display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;
  }
  .resumen__k,.resumen__dl,.resumen__nota,.resumen__wa{display:none}
  .resumen__total{padding-top:0;border-top:0;flex-direction:column;align-items:flex-start;gap:0}
  .resumen__total span{font-size:9.5px;letter-spacing:.18em}
  .resumen__total b{font-size:21px}
  .resumen .btn{width:auto;padding:12px 20px;font-size:13.5px}
  .pol{padding-bottom:110px}
}

@media (max-width:760px){
  .agHero__meta{grid-template-columns:1fr;gap:16px}
  .paths{grid-template-columns:1fr}
  .packs{grid-template-columns:minmax(0,1fr)}
  .zona{grid-template-columns:minmax(0,1fr)}
  .turnos{grid-template-columns:minmax(0,1fr)}
  .pol__grid{grid-template-columns:1fr}
  .step__h{flex-direction:column;gap:6px}
  .step__n{padding-top:0}
}

@media (prefers-reduced-motion:reduce){
  .path,.pack__box,.turno{transition:none}
}
