/* horarios y recojo */
.horas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.hora-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:20px 20px 18px;}
.hora-card .pill-time{margin-bottom:10px;}
.hora-card h3{font-size:17px;margin-bottom:6px;}
.hora-card p{font-size:14.5px;color:var(--text-light);}
.hora-card .fin{font-weight:600;color:var(--text);}
.tramos{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.tramo-box{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:22px 24px;}
.tramo-box h3{font-size:19px;margin-bottom:12px;}
.tramo-box ol{margin:0 0 0 20px;font-size:15.5px;}
.tramo-box li{padding:4px 0;border-bottom:1px dashed var(--border);}
.tramo-box li:last-child{border-bottom:0;}
.tramo-box .total{margin-top:10px;font-weight:600;}
.where-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.where-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:22px;}
.where-card h3{font-size:18px;margin-bottom:8px;}
.where-card p{font-size:15px;color:var(--text-light);}
@media(max-width:1000px){.horas-grid{grid-template-columns:1fr 1fr;}.where-grid{grid-template-columns:1fr;}}
@media(max-width:700px){.horas-grid{grid-template-columns:1fr;}.tramos{grid-template-columns:1fr;}}
/* ===== Tramos · línea de tiempo por salida ===== */
.c2-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;background:var(--bg);border-radius:14px;padding:5px;margin-bottom:16px}
.c2-tab{display:flex;align-items:center;gap:10px;border:0;background:transparent;border-radius:10px;padding:9px 12px;text-align:left;font-family:var(--font-body);cursor:pointer}
.c2-tab b{display:block;font-size:14.5px;font-weight:600}.c2-tab small{font-size:12.5px;color:var(--text-light);font-variant-numeric:tabular-nums}
.c2-tab.on{background:#fff;box-shadow:0 2px 8px rgba(14,28,33,.1)}.c2-tab.on b{color:var(--primary)}
.c2-dot{width:10px;height:10px;border-radius:50%;flex:none}.c2-dot.vip{background:var(--primary)}.c2-dot.trad{background:var(--accent)}
.c2-wrap{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:32px;align-items:start}
.c2-side{position:sticky;top:96px}
.c2-sum{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.c2-sum span:first-child{grid-column:1/-1}.c2-sum span:first-child b{font-size:24px}
.c2-note{font-size:13px;color:var(--text-light);margin-top:12px;line-height:1.45}
.c2-sum span{background:var(--primary);color:#B9CBD0;border-radius:12px;padding:10px 14px;font-size:12.5px}.c2-sum b{display:block;color:#fff;font-family:var(--font-head);font-weight:700;font-size:19px;font-variant-numeric:tabular-nums}
.c2{list-style:none;margin:0;padding:0;position:relative}
.c2>li{display:grid;grid-template-columns:56px 40px minmax(0,1fr);align-items:center;gap:0 12px;position:relative}
.c2>li::before{content:"";position:absolute;left:calc(56px + 12px + 19px);top:0;bottom:0;border-left:2px solid var(--border)}
.c2>li:first-child::before{top:50%}.c2>li:last-child::before{bottom:50%}
.c2-t{font-family:var(--font-head);font-weight:700;font-size:15px;color:var(--primary);text-align:right;font-variant-numeric:tabular-nums}
.c2-node{position:relative;z-index:1;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid var(--primary);color:var(--primary)}
.c2-node svg{width:19px;height:19px}
.c2-node.end{background:var(--primary);color:#fff}
.c2-stop.lunch .c2-node{border-color:var(--accent);background:#FBF1DA;color:#9a7314}
.c2-bus .c2-node{width:30px;height:30px;margin:0 5px;border:0;background:var(--bg);color:var(--text-light)}.c2-bus .c2-node svg{width:15px;height:15px}
.c2-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px 16px;margin:6px 0;overflow-wrap:anywhere}
.c2-card.ends{background:transparent;border:0;padding:6px 0}.c2-card.ends b{display:block;font-size:15px}.c2-card.ends small{font-size:13px;color:var(--text-light)}
.c2-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.c2-top b{font-size:16px;min-width:0}.c2-r{flex:none}.c2-r{display:flex;align-items:center;gap:10px}.c2-r strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:15px;min-width:52px;text-align:right}
.c2-card>.c2-bar{display:block;margin-top:9px}
.c2-alt{white-space:nowrap;font-size:12px;font-weight:600;color:var(--text-light);background:var(--bg);border-radius:999px;padding:2px 9px;font-variant-numeric:tabular-nums}
.c2-bar{height:8px;background:var(--bg);border-radius:999px;overflow:hidden}.c2-bar i{display:block;height:100%;border-radius:999px;background:var(--primary)}
.c2-stop.lunch .c2-bar i{background:var(--accent)}
.c2-dur strong{font-variant-numeric:tabular-nums;font-size:14.5px}
.c2-x{display:block;font-size:12.5px;color:var(--text-light);margin-top:4px}
.c2-busline{font-size:13.5px;color:var(--text-light);padding:4px 0}.c2-busline b{color:var(--text);font-variant-numeric:tabular-nums}
.c2-busline em{font-style:normal;margin-left:8px;background:#FBF1DA;color:#9a7314;font-size:11.5px;font-weight:700;border-radius:999px;padding:2px 8px}
@media(max-width:1000px){.c2-tabs{grid-template-columns:1fr 1fr}.c2-wrap{grid-template-columns:minmax(0,1fr)}.c2-side{position:static;order:-1}.c2-sum{grid-template-columns:repeat(4,1fr)}.c2-sum span:first-child{grid-column:auto}}
@media(max-width:700px){.c2-sum{grid-template-columns:1fr 1fr}.c2-sum span:first-child,.c2-sum span:last-child{grid-column:1/-1}.c2-alt{font-size:11px;padding:2px 7px}.c2-r{gap:6px}.c2-r strong{min-width:0}}
@media(max-width:700px){.c2>li{grid-template-columns:44px 34px minmax(0,1fr);gap:0 8px}.c2>li::before{left:calc(44px + 8px + 16px)}.c2-node{width:34px;height:34px}.c2-node svg{width:16px;height:16px}.c2-bus .c2-node{width:26px;height:26px;margin:0 4px}.c2-t{font-size:13px}.c2-card{padding:10px 12px}.c2-top b{font-size:15px}.c2-sum b{font-size:17px}.c2-tab{padding:8px 10px}.c2-tab b{font-size:13.5px}.c2-busline em{display:inline-block;margin:2px 0 0}}
.tr-C2{display:block}
.c2-panel{display:block}.c2-panel[hidden]{display:none}
.c2-ends .c2-card{margin:4px 0}
.c2-stop.visit .c2-node{border-color:var(--primary)}
.c2-node.bus{flex:none}
.c2-bus.long .c2-busline b{color:#9a7314}

/* CTA de reserva en la columna del resumen (WeTravel «Elija tu mejor opción») */
.ct{margin-top:14px;border-radius:16px;padding:18px;}
.ct-k{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);margin:0 0 4px;}
.ctA{background:#fff;border:1.5px solid var(--primary);}
.ct-n{display:block;font-size:16px;color:var(--primary);}
.ct-price{display:flex;align-items:baseline;gap:6px;margin:8px 0 10px;}
.ct-price strong{font-family:var(--font-head);font-weight:700;font-size:30px;color:var(--primary);font-variant-numeric:tabular-nums;}
.ct-price small{font-size:12.5px;color:var(--text-light);}
.ct-l{list-style:none;margin:0 0 12px;padding:0;border-top:1px solid var(--border);}
.ct-l li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border);font-size:14px;}
.ct-l em{font-style:normal;font-size:11.5px;color:#9a7314;background:#FBF1DA;border-radius:999px;padding:1px 7px;margin-left:4px;white-space:nowrap;}
.ct-l b{font-variant-numeric:tabular-nums;}
.ct-btn{width:100%;justify-content:center;}
.ct-note{font-size:12px;color:var(--text-light);margin:8px 0 0;text-align:center;line-height:1.4;}
@media(max-width:1000px){.ct{max-width:520px;}}
/* etiquetas de cifras: interlineado compacto, igual que .sx-k */
.c2-sum span{line-height:1.25;}
.c2-sum b{line-height:1.15;margin-bottom:3px;}
.ct-l a{font-weight:600;}
