/* tour.css — específico de tour-valle-sagrado-express.html · requiere base.css */
.ttl{padding:12px 0 16px}
.ttl h1{font-size:34px;margin:6px 0 10px;color:var(--primary-dark)}
.ttl .line{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:220px 220px;gap:8px;border-radius:14px;overflow:hidden;position:relative}
.gal .photo:first-child{grid-row:1/3}
.gal .all{position:absolute;right:12px;bottom:12px;background:#fff;border-radius:8px;padding:8px 12px;font-weight:700;font-size:14px;z-index:2;box-shadow:var(--shadow)}
.lay{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:48px;align-items:start;margin-top:24px}.lay main,.lay .lay-main{min-width:0}
.anch{display:flex;gap:24px;border-bottom:1px solid var(--border);font-weight:600;color:var(--muted);font-size:15px;position:sticky;top:var(--hh);background:#fff;z-index:5;overflow-x:auto}
.anch a{padding:12px 0;white-space:nowrap}.anch a.on{color:var(--primary);border-bottom:3px solid var(--cta)}
.about{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;padding:24px 0;border-bottom:1px solid var(--border)}
.about>div{display:flex;gap:12px}.about .ico{width:36px;height:36px;border-radius:8px;font-size:15px}
.about b{display:block;font-size:15px}.about p{font-size:14px;color:var(--muted)}
.blk{padding:28px 0;border-bottom:1px solid var(--border)}
.blk h2{font-size:22px;margin-bottom:12px}
.blk p{font-size:15.5px;margin-bottom:10px}
.opts{display:grid;gap:10px}
.opt{border:1.5px solid var(--border);border-radius:12px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.opt.sel{border-color:var(--cta);background:var(--cream)}
.opt b{display:block;font-size:15px}.opt small{color:var(--muted);font-size:13px}
.opt .pr{font-weight:700;font-size:17px;text-align:right}.opt .pr small{display:block;font-weight:400}
.tl{list-style:none;position:relative;padding-left:24px;margin-top:6px}
.tl::before{content:"";position:absolute;left:7px;top:12px;bottom:12px;width:2px;background:var(--border)}
.tl li{position:relative;padding:0 0 16px 12px;font-size:15px}
.tl li::before{content:"";position:absolute;left:-25px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--primary);box-sizing:content-box}
.tl li.hi::before{border-color:var(--cta);background:var(--cta)}
.tl b{font-weight:700}.tl small{display:block;color:var(--muted)}
.tl time{font-weight:700;color:var(--primary);margin-right:8px;font-variant-numeric:tabular-nums}
.alt-chart svg{width:100%;height:auto;display:block}
.widget{position:sticky;top:calc(var(--hh) + 12px);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-h);padding:20px;background:#fff}
.widget .from{display:flex;justify-content:space-between;align-items:baseline}
.widget .from b{font-size:32px;font-family:var(--display);color:var(--primary);font-weight:700}.widget .from small{color:var(--muted);display:block;font-size:13px}
.widget .in{height:50px;border:1.5px solid var(--border);border-radius:10px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;margin-top:10px;font-size:15px}
.widget .in small{display:block;font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.widget .in div b{font-weight:600}
.widget .btn{width:100%;margin-top:12px}
.widget .fine{font-size:13px;color:var(--muted);margin-top:12px;display:grid;gap:4px}
.widget .fine span::before{content:"✓ ";color:var(--ok);font-weight:700}
.meet{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.meet .map{border-radius:12px;background:#EEF0EA;aspect-ratio:16/10;position:relative;border:1px solid var(--border)}
.meet .map i{position:absolute;left:50%;top:45%;width:16px;height:16px;border-radius:50%;background:var(--cta);border:3px solid #fff;box-shadow:0 0 0 2px var(--cta);transform:translate(-50%,-50%)}
@media (max-width:760px){.ttl h1{font-size:26px}.gal{grid-template-columns:1fr;grid-template-rows:220px}.gal .photo:not(:first-child){display:none}.gal .photo:first-child{grid-row:auto}.lay{grid-template-columns:1fr;gap:24px}.about,.meet{grid-template-columns:1fr}.widget{position:static;box-shadow:none}.anch{top:var(--hh)}}
.widget .lm-line{font-size:13px;color:var(--muted);margin-top:10px;line-height:1.4}
.widget .lm-line b{color:var(--cta);font-variant-numeric:tabular-nums}
.widget .lm-line.closed b{color:var(--red)}
.widget .warn{font-size:13px;margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--cream);color:var(--text);line-height:1.4}
.widget .warn b{color:var(--red)}
.widget .total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--border);margin-top:14px;padding-top:12px}
.widget .total .price{font-family:var(--display);font-size:28px;color:var(--primary)}
.wtrvl-checkout_button *{pointer-events:none}

/* Sticky del formulario: el aside ocupa toda la fila; el .widget se pega dentro */
.lay>aside{align-self:stretch}


/* Widget compacto: sin fecha/participantes (los pide WeTravel) ni letra pequeña; cabe en pantallas de 768 px */
.widget{padding:14px 16px 16px}
.widget .from b{font-size:28px}
.widget .lm-line{margin-top:6px;font-size:12.5px}
.widget .sec{margin:10px 0 4px!important}
.widget .opt{padding:7px 10px;margin-top:6px}
.widget .opt .pr{font-size:14px}
.widget .toggle{margin-top:8px!important;padding:8px 10px!important;font-size:13px!important}
.widget .total{margin-top:10px;padding-top:8px}
.widget .total .price{font-size:24px}
.widget .btn{height:44px;margin-top:8px;font-size:15px}
.widget .warn{margin-top:8px;padding:8px 10px;font-size:12.5px}
/* Almuerzos en rejilla 2×2 dentro del widget; etiqueta de sección más pequeña */
.widget .opts-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}
.widget .opts-grid .opt{margin-top:0;flex-direction:column;align-items:flex-start;gap:2px;padding:7px 10px}
.widget .opts-grid .opt b{font-size:19px;line-height:1.15}
.widget .opts-grid .opt small{font-size:11.5px}
.widget .opts-grid .opt .pr{font-size:15px;text-align:left}
.widget .sec{font-size:10.5px!important;margin:8px 0 2px!important}


.tl li::before{transition:background .25s,border-color .25s}
.tl li.done::before{background:var(--cta);border-color:var(--cta)}

/* Norma de resolución: widget compacto en escritorio bajo */
@media (min-width:901px) and (max-height:820px){
  .widget{padding:10px 14px 12px}
  .widget .from b{font-size:24px}
  .widget .lm-line{margin-top:4px;font-size:12px}
  .widget .sec{margin:6px 0 2px!important}
  .widget .opts-grid{gap:5px;margin-top:4px}
  .widget .opts-grid .opt{padding:5px 8px;gap:0}
  .widget .opts-grid .opt b{font-size:17px}
  .widget .opts-grid .opt small{font-size:11px}
  .widget .opts-grid .opt .pr{font-size:14px}
  .widget .toggle{margin-top:6px!important;padding:6px 8px!important;font-size:12.5px!important}
  .widget .total{margin-top:6px;padding-top:4px}
  .widget .total .price{font-size:22px}
  .widget .btn{height:40px;margin-top:6px;font-size:14.5px}
  .widget .warn{margin-top:6px;padding:6px 8px;font-size:11.5px;line-height:1.35}
}
/* Interruptor "Final en Ollantaytambo": fila azul y botón naranja al activarse; pastilla y bolita centradas al píxel */
.widget .toggle{transition:background .2s,border-color .2s,color .2s;align-items:center}
.widget .toggle i{display:block!important;width:40px!important;height:24px!important;border-radius:999px!important;flex:none}
.widget .toggle i::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .2s}
.widget .toggle.on i::after{left:19px}
.widget .toggle.on{background:var(--primary)!important;border:1.5px solid var(--primary)!important;color:#fff}
.widget .toggle.on small{color:rgba(255,255,255,.82)!important}
.widget .toggle.on i{background:var(--cta)!important}
