/* skin-cyber.css — la skin CYBER, «tablero 2030» (ORDEN-SKINS-B-2). Referencia: codito-b/referencias/skins/cyber-*.dc.html.
   Solo en la ficha y solo con la skin activa, con assets/js/skin-cyber.js. La nota completa: RESPUESTA-SKINS-B-2.md. */

/* --- 1 · TOKENS DE LA SKIN (del tablero) */
#c100-main,
.dock-pdp {
  --g: #05070C; --s: #0C1017; --el: #131A25; --rl: #1D2430; --rl2: #151A24;
  --tx: #F2F5F7; --mu: #93A0AE; --dim: #8593A1;
  --ac: #FFD400; --onac: #14140A; --ai: #FFD400; --aico: #FFD400;
  --go: #FF1B7F; --ongo: #FFFFFF; --goedge: #8A0043; --ok: #3BE08A;
  --t: #FFD400; --m: #22D3EE; --tu: #3BE08A; --blanco: #F2F5F7; --rojo: #FF6B5E;
  --lv-clasico: #FFD400; --lv-plus: #22D3EE; --lv-deluxe: #FF1B7F;
  --lv: var(--lv-clasico); --on: #14140A;
  --glow: color-mix(in oklab, var(--lv) 22%, transparent);
  --skin-radio: 24px;
  --sombra-card: none;
  --velo: color-mix(in oklab, var(--g) 90%, transparent);
  --gA: color-mix(in oklab, var(--tx) 13%, transparent); --gB: color-mix(in oklab, var(--tx) 4%, transparent);
  --gBr: color-mix(in oklab, var(--tx) 18%, transparent); --gIn: color-mix(in oklab, var(--tx) 25%, transparent);
  --gSh: 0 10px 28px -14px var(--g);
  --lv-clasico-tx: var(--lv-clasico); --lv-plus-tx: var(--lv-plus); --lv-deluxe-tx: var(--lv-deluxe);
  --lv-tx: var(--lv-clasico-tx); --t-tx: var(--t); --m-tx: var(--m); --tu-tx: var(--tu); --blanco-tx: var(--blanco);
  color-scheme: dark;
}

/* --- 1b · CYBER EN CLARO: «tablero de laboratorio» (ORDEN-PILAR-XCARET-BORRADOR-1 §4) ------------------
   Solo si el visitante eligio claro (el oscuro es el predeterminado del cyber: inc/head.php). Fondo gris muy
   claro, superficies blancas; los neones como RELLENO se quedan (amarillo con texto oscuro), como TEXTO o
   LINEA se oscurecen hasta AA (tokens -tx). El amarillo nunca va como texto. El halo baja; la rejilla y los
   numeros monoespaciados se quedan. Tabla de contraste: RESPUESTA-PILAR-XCARET-BORRADOR-1.md. */
:root[data-theme="light"] #c100-main,
:root[data-theme="light"] .dock-pdp {
  --g: #F3F5F8; --s: #FFFFFF; --el: #EDF0F4; --rl: #D3DAE3; --rl2: #E3E8EE;
  --tx: #0A0F16; --mu: #4A5563; --dim: #56616F;
  --ac: #FFD400; --onac: #14140A; --acedge: #B39500; --ai: #0E7490; --aico: #0E7490;
  --go: #C8006A; --ongo: #FFFFFF; --goedge: #7A0041; --ok: #0B7A45;
  --rojo: #C2410C; --on: #14140A;
  --lv-clasico-tx: #0A0F16; --lv-plus-tx: #0E7490; --lv-deluxe-tx: #C8006A;
  --t-tx: #0A0F16; --m-tx: #0E7490; --tu-tx: #0B7A45; --blanco-tx: #0A0F16;
  --glow: color-mix(in oklab, var(--lv) 9%, transparent);
  --gSh: 0 10px 28px -16px color-mix(in oklab, var(--tx) 30%, transparent);
  color-scheme: light;
}

[data-c100-nivel="plus"] #c100-main, [data-c100-nivel="plus"] .dock-pdp { --lv: var(--lv-plus); --lv-tx: var(--lv-plus-tx); }
[data-c100-nivel="deluxe"] #c100-main, [data-c100-nivel="deluxe"] .dock-pdp { --lv: var(--lv-deluxe); --lv-tx: var(--lv-deluxe-tx); }

#c100-main:has(#reservar [data-nivel="plus"]), body:has(#reservar [data-nivel="plus"]) .dock-pdp { --lv: var(--lv-plus); --lv-tx: var(--lv-plus-tx); }
#c100-main:has(#reservar [data-nivel="deluxe"]), body:has(#reservar [data-nivel="deluxe"]) .dock-pdp { --lv: var(--lv-deluxe); --lv-tx: var(--lv-deluxe-tx); }
#c100-main:has(#reservar [data-nivel="clasico"]), body:has(#reservar [data-nivel="clasico"]) .dock-pdp { --lv: var(--lv-clasico); --lv-tx: var(--lv-clasico-tx); }
#c100-main:has(.ficha[data-modo="combo"]), .dock-pdp[data-modo="combo"] { --lv: var(--blanco); --lv-tx: var(--blanco-tx); --glow: color-mix(in oklab, var(--m) 20%, transparent); }
#c100-main:has(.ficha[data-modo="paquete"]), .dock-pdp[data-modo="paquete"] { --lv: var(--blanco); --lv-tx: var(--blanco-tx); --glow: color-mix(in oklab, var(--blanco) 12%, transparent); }
#c100-main:has(.recorrido--paquete .dia--acordeon:nth-of-type(2)[open]) { --glow: color-mix(in oklab, var(--m) 20%, transparent); --dia: var(--m-tx); }
#c100-main:has(.recorrido--paquete .dia--acordeon:nth-of-type(3)[open]) { --glow: color-mix(in oklab, var(--tu) 18%, transparent); --dia: var(--tu-tx); }
#c100-main:has(.recorrido--paquete .dia--acordeon:nth-of-type(4)[open]) { --glow: color-mix(in oklab, var(--t) 20%, transparent); --dia: var(--t-tx); }
#c100-main { --dia: var(--blanco-tx); position: relative; isolation: isolate; overflow: clip; background: var(--g); color: var(--tx); }

#c100-main::before { content: ""; position: absolute; left: -200px; top: -260px; width: 900px; height: 900px; border-radius: 50%; z-index: -1; pointer-events: none; background: radial-gradient(circle, var(--glow) 0%, transparent 62%); }
#c100-main:has(.ficha[data-modo="combo"])::after { content: ""; position: absolute; left: 520px; top: -300px; width: 820px; height: 820px; border-radius: 50%; z-index: -1; pointer-events: none; background: radial-gradient(circle, color-mix(in oklab, var(--m) 16%, transparent) 0%, transparent 62%); }
#c100-main:has(.ficha[data-modo="combo"])::before { background: radial-gradient(circle, color-mix(in oklab, var(--t) 18%, transparent) 0%, transparent 62%); }
@media (max-width: 699px) { #c100-main::before { left: -220px; top: -200px; width: 640px; height: 640px; } }

/* --- 2 · EL TABLERO: 6 columnas (2 en movil) + boleto de 4 */
.ficha { padding-block: 0 var(--sp8); background: transparent; color: var(--tx); }
.ficha .crumbs { margin: 0 0 18px; padding-top: 18px; }   /* letra y color: los de .crumbs, iguales en todo el sitio (ORDEN-CABECERA-PAGINA-1) */
.ficha__grid { gap: 32px; }
@media (min-width: 1000px) { .ficha__grid { grid-template-columns: minmax(0, 1fr) 380px; } }   /* la misma columna que marco y nueva (CORRECCION-PANEL-ABIERTO-1 §4) */
.ficha__main { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; align-items: start; }
.ficha__main > * { grid-column: span 6; min-width: 0; margin: 0; }

.pieza, .ficha__main > :is(.c100-intro, .c100-highlights, .recorrido, .ficha__mas, .antes, .hospedaje, .sec, .cuenta, .c100-includes, .pagas-alla, .cruzada-lista) {
  padding: 24px; border-radius: var(--skin-radio); background: var(--s); border: 1px solid var(--rl);
}
.ficha__main h2 { font-size: 22px; letter-spacing: -.02em; line-height: 1.15; margin-bottom: 12px; }
.ficha__main h3 { font-size: 14px; line-height: 1.35; }
.ficha .kick { font-size: 10px; color: var(--mu); margin-bottom: 8px; }
.ficha .mo { letter-spacing: .14em; }
@media (min-width: 900px) {
  .ficha__main > .c100-intro, .ficha__main > .c100-highlights, .ficha__main > .antes,
  .ficha__main > .ficha__mas, .ficha__main > .hospedaje, .ficha__main > .pagas-alla { grid-column: span 3; }
  .ficha__main > .c100-includes { grid-column: span 4; }
  .ficha__main > .citable, .ficha__main > .cruzada-lista { grid-column: span 2; }
  .ficha__main > .aviso { grid-column: span 6; }
}
@media (max-width: 899px) { .ficha__main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .ficha__main > * { grid-column: span 2; } .pieza, .ficha__main > :is(.c100-intro, .c100-highlights, .recorrido, .ficha__mas, .antes, .hospedaje, .sec, .cuenta, .c100-includes, .pagas-alla, .cruzada-lista) { padding: 18px; border-radius: 22px; } }

/* --- E2 + E3 · el heroe como pieza: foto con velo y el H1 */
.ficha__main > .heroe, .ficha__main > .identidad { grid-row: 1; grid-column: 1 / -1; }
.heroe { position: relative; height: 440px; border-radius: 28px; overflow: hidden; background: var(--s); border: 1px solid var(--rl); }
.heroe__mosaico { display: block; height: 100%; overflow: hidden; scroll-snap-type: none; gap: 0; }
.heroe__pieza { aspect-ratio: auto; height: 100%; width: 100%; border-radius: 0; flex: none; }
.heroe__pieza img { object-position: center 40%; }
.heroe__pieza:not(:first-child) { display: none; }
.heroe__rotulo { display: none; }
.heroe::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, transparent 30%, var(--velo) 100%); }

.heroe[data-modo="combo"] .heroe__mosaico { position: relative; }
.heroe[data-modo="combo"] .heroe__pieza { position: absolute; inset: 0; }
.heroe[data-modo="combo"] .heroe__pieza:nth-child(1) { clip-path: polygon(0 0, 100% 0, 100% 42%, 0 62%); }
.heroe[data-modo="combo"] .heroe__pieza:nth-child(2) { display: block; clip-path: polygon(0 62%, 100% 42%, 100% 100%, 0 100%); }
.heroe[data-modo="combo"] .heroe__rotulo { display: block; top: 14px; bottom: auto; left: 14px; padding: 5px 8px; border-radius: 8px; background: var(--t); color: var(--on); font-size: 9px; font-weight: 700; }
.heroe[data-modo="combo"] .heroe__pieza:nth-child(2) .heroe__rotulo { top: auto; bottom: 14px; background: var(--m); }

.ficha[data-modo="paquete"] .heroe { height: auto; min-height: 260px; }
.ficha[data-modo="paquete"] .heroe__pieza:first-child { opacity: .35; }
.identidad { z-index: 2; align-self: end; padding: 0 32px 28px; gap: 12px; pointer-events: none; }
.identidad a { pointer-events: auto; }
.identidad__kicker { color: var(--lv-tx); font-size: 12px; }
.ficha[data-modo="combo"] .identidad__kicker { color: var(--t-tx); }
.identidad__kicker .soft { color: var(--mu); }
.identidad h1 { font-size: clamp(36px, 20px + 2.4vw, 60px); line-height: .98; letter-spacing: -.045em; font-weight: 700; }
.ficha[data-modo="paquete"] .identidad h1 { font-size: clamp(44px, 20px + 3vw, 64px); line-height: .95; letter-spacing: -.05em; }
.identidad__meta { display: inline-flex; padding: 0 12px; min-height: 36px; border-radius: 999px; background: color-mix(in oklab, var(--g) 60%, transparent); font-size: 13px; font-weight: 700; color: var(--tx); align-self: flex-start; }
.identidad__meta b { color: inherit; }
.chips { gap: 6px; }
.chips li { min-height: 30px; padding: 0 11px; border: 0; border-radius: 999px; background: color-mix(in oklab, var(--tx) 12%, transparent); color: var(--tx); font-size: 12px; }
.chips svg { display: none; }
@media (max-width: 699px) {
  .heroe { height: 460px; border-radius: 26px; }
  .identidad { padding: 0 18px 18px; gap: 10px; }
  .identidad h1 { font-size: 36px; }
  .chips li { min-height: 26px; padding: 0 9px; font-size: 11px; }
  .identidad__meta { min-height: 30px; font-size: 12px; }
}

/* --- E4 · las cifras grandes: piezas hermanas, la primera */
.ftec { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ftec li { min-height: 150px; padding: 20px; border-radius: var(--skin-radio); background: var(--s); border: 1px solid var(--rl); backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: none; justify-content: space-between; gap: 10px; }
.ftec li:first-child { background: var(--lv); color: var(--on); border-color: transparent; }
.ficha[data-modo="paquete"] .ftec li:last-child { background: transparent; border: 2px solid var(--rojo); color: var(--rojo); }
.ftec .mo { font-size: 10px; color: inherit; opacity: .8; }
.ftec b { font-size: clamp(20px, 16px + 1vw, 30px); font-weight: 800; letter-spacing: -.04em; line-height: 1.02; }
@media (max-width: 699px) { .ftec { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .ftec li { min-height: 130px; padding: 16px; } .ftec b { font-size: 22px; } }

/* --- E5 · el aviso: chip de neon */
.aviso { justify-self: start; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; padding: 12px 20px; border-radius: 999px; border: 1.5px solid var(--lv-tx); background: transparent; color: var(--lv-tx); box-shadow: 0 0 22px var(--glow), inset 0 0 12px var(--glow); }
.aviso strong { font-size: 15px; letter-spacing: -.01em; }
.aviso span { color: var(--mu); font-size: 13px; }
.aviso--ojo { border-color: var(--rojo); color: var(--rojo); box-shadow: 0 0 22px color-mix(in oklab, var(--rojo) 25%, transparent); }
.ficha[data-modo="combo"] .aviso { border-color: var(--t-tx); color: var(--t-tx); box-shadow: 0 0 22px color-mix(in oklab, var(--t) 22%, transparent); }

/* --- E6 · el indice: segmentos sobre --el, el activo pinta */
.indice { padding: 4px; border-radius: 13px; background: var(--el); gap: 4px; }
.indice a { border-radius: 10px; font-size: 13px; color: var(--mu); }
.indice a:hover { background: var(--s); color: var(--tx); }
.indice a:first-child { background: var(--lv); color: var(--on); }
.ficha[data-modo="combo"] .indice a:first-child { background: var(--t); }

/* --- E7 · como es (es para ti con palomitas de color) + de */
.ficha .c100-intro { display: flex; flex-direction: column; gap: 12px; }
.ficha .c100-intro > p { font-size: 15px; line-height: 1.6; }
.ficha .esparati { background: none; padding: 4px 0 0; margin: 0; gap: 8px; }
.ficha .esparati > .mo { color: var(--lv-tx); font-size: 10px; }
.ficha[data-modo="combo"] .esparati > .mo { color: var(--t-tx); }
.ficha .esparati > li:not(.mo) { font-size: 14px; font-weight: 600; line-height: 1.4; padding-left: 24px; }
.ficha .esparati > li:not(.mo)::before {
  top: .15em; width: 16px; height: 16px; background: var(--lv);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5 10 17 19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5 10 17 19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ficha[data-modo="combo"] .esparati > li:not(.mo)::before { background: var(--t); }
.ficha .c100-highlights h3 { font-size: 22px; margin: 0 0 4px; letter-spacing: -.02em; }
.ficha .c100-highlights h3::before { display: none; }
.ficha .c100-highlights ul { display: block; counter-reset: c100hl; }
.ficha .c100-highlights li { display: flex; gap: 12px; align-items: baseline; padding: 0 0 9px; margin-bottom: 9px; border: 0; border-bottom: 1px solid var(--rl); border-radius: 0; background: none; font-size: 14px; font-weight: 600; line-height: 1.4; }
.ficha .c100-highlights li:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.ficha .c100-highlights li::before { content: counter(c100hl, decimal-leading-zero); counter-increment: c100hl; position: static; display: block; width: auto; height: auto; background: none; font-family: var(--mo-f); font-size: 12px; font-weight: 700; color: var(--lv-tx); }

/* --- E8 · la cuenta: barras y balanza */
.cuenta { border: 1px solid var(--rl); }
.cuenta__cab .mo { font-size: 10px; }
.cuenta__tabla th, .cuenta__tabla td { border-bottom-color: var(--rl); }

.balanza { display: grid; gap: 14px; }
.balanza__fila { display: grid; grid-template-columns: 130px minmax(0, 1fr) 110px; gap: 14px; align-items: center; font-size: 14px; }
.balanza__fila--partes { grid-template-columns: 130px minmax(0, 1fr) 110px; color: var(--mu); }
.balanza__fila > svg { display: block; width: 100%; height: 34px; }
.balanza__fila--suma > span:first-child { color: var(--mu); }
.balanza__fila--suma b { font-family: var(--mo-f); font-weight: 500; color: var(--mu); text-decoration: line-through; text-align: right; }
.balanza__fila--total > span:first-child { font-weight: 800; }
.balanza__fila--total b { font-size: 20px; font-weight: 800; text-align: right; letter-spacing: -.02em; }
.balanza .t { fill: var(--t); } .balanza .m { fill: var(--m); }
.balanza .resto { fill: none; stroke: var(--blanco-tx); stroke-width: 1.5; stroke-dasharray: 4 3; }
.balanza__partes { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; padding: 0; list-style: none; font-size: 13px; color: var(--mu); }
.balanza__partes li { display: flex; align-items: center; gap: 8px; }
.balanza__partes li::before { content: ""; width: 12px; height: 12px; border-radius: 3px; background: var(--t); }
.balanza__partes li:nth-child(2n)::before { background: var(--m); }
.balanza__partes b { font-family: var(--mo-f); color: var(--tx); font-weight: 700; }
.cuenta--combo .cuenta__ahorro { background: transparent; border: 1.5px dashed var(--blanco-tx); color: var(--tx); font-size: 12px; }
@media (max-width: 699px) { .balanza__fila { grid-template-columns: 1fr; gap: 6px; } .balanza__fila b { text-align: left; } .balanza__fila > svg { height: 24px; } }

.niveles__tabla tbody th { padding-left: 24px; position: relative; }
.niveles__tabla tbody th::before { content: ""; position: absolute; left: 4px; top: 1.05em; width: 12px; height: 12px; border-radius: 50%; background: var(--lv-clasico); }
.niveles__tabla tbody tr:nth-child(2) th::before { background: var(--lv-plus); }
.niveles__tabla tbody tr:nth-child(3) th::before { background: var(--lv-deluxe); }
.niveles__tabla td b { font-family: var(--mo-f); }

.cuenta--paquete .cuenta__fila--pareja th, .cuenta--paquete .cuenta__fila--pareja td { color: var(--tx); font-weight: 800; }
.cuenta--paquete .cuenta__fila--pareja td b { font-size: 22px; letter-spacing: -.03em; }
.cuenta__hoyalla { display: flex; gap: 4px; }
.cuenta__hoyalla > div { flex: 12 1 0; padding: 10px 16px; border-radius: 10px; background: var(--blanco); color: var(--on); }
.cuenta__hoyalla > div + div { flex: 4 1 0; background: transparent; border: 1.5px dashed var(--t-tx); color: var(--tx); }
.cuenta__hoyalla dt { color: inherit; opacity: .75; }
.cuenta__hoyalla dd a { color: var(--t-tx); }
.pagas-alla dd { font-family: var(--mo-f); font-weight: 700; color: var(--t-tx); }
@media (max-width: 699px) { .cuenta__hoyalla { flex-direction: column; } }

/* --- E9 · el recorrido: tira (tour) o pestanas (combo y pa */
.recorrido--horas h2 { margin-bottom: 18px; }
.recorrido .c100-itinerario > ol { position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(150px, 1fr); gap: 10px; padding: 0; overflow-x: auto; scrollbar-width: none; counter-reset: none; }
.recorrido .c100-itinerario > ol::-webkit-scrollbar { display: none; }
.recorrido .c100-itinerario > ol::before { content: ""; position: absolute; left: 12px; right: 12px; top: 11px; height: 2px; width: auto; bottom: auto; background: var(--rl); }
.recorrido .c100-itinerario > ol > li { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 0; margin: 0; font-size: 12px; line-height: 1.45; color: var(--mu); }
.recorrido .c100-itinerario > ol > li::before { content: ""; position: static; width: 24px; height: 24px; border-radius: 50%; background: var(--s); border: 3px solid var(--lv-tx); box-shadow: none; margin: 0; }
.recorrido .c100-itinerario > ol > li:first-child::before, .recorrido .c100-itinerario > ol > li:last-child::before { background: var(--lv); }
.recorrido .c100-itinerario > ol > li > strong { display: block; font-size: 14px; font-weight: 800; line-height: 1.25; color: var(--tx); }
@media (max-width: 699px) {
  .recorrido .c100-itinerario > ol { grid-auto-flow: row; grid-auto-columns: auto; gap: 0; overflow: visible; }
  .recorrido .c100-itinerario > ol::before { left: 6px; top: 0; bottom: 0; height: auto; width: 2px; right: auto; }
  .recorrido .c100-itinerario > ol > li { display: grid; grid-template-columns: 14px 1fr; column-gap: 12px; padding-bottom: 14px; }
  .recorrido .c100-itinerario > ol > li::before { width: 14px; height: 14px; border-width: 3px; grid-row: 1 / span 3; margin-top: 2px; }
  .recorrido .c100-itinerario > ol > li > strong { grid-column: 2; }
  .recorrido .c100-itinerario > ol > li > strong ~ * { grid-column: 2; }
}

.recorrido--combo .dia { border: 1.5px solid var(--t-tx); border-radius: 26px; background: var(--s); overflow: hidden; }
.recorrido--combo .dia:nth-of-type(2) { border-color: var(--m-tx); }
.recorrido--combo .dia__num { background: var(--t); color: var(--on); font-size: 10px; }
.recorrido--combo .dia:nth-of-type(2) .dia__num { background: var(--m); }
.recorrido--combo .dia__cab h3 { font-size: 20px; letter-spacing: -.02em; }
.recorrido--combo .dia__cab .btn { min-height: 40px; box-shadow: none; border: 1px solid var(--rl); font-size: 13px; color: var(--t-tx); }
.recorrido--combo .dia:nth-of-type(2) .dia__cab .btn { color: var(--m-tx); }
.recorrido--combo .dia__foto { border-radius: 14px; }
.recorrido--combo .dia__paradas { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.recorrido--combo .dia__paradas li { position: relative; padding-top: 32px; font-size: 12px; color: var(--mu); }
.recorrido--combo .dia__paradas li::before { content: ""; position: absolute; left: 0; top: 0; width: 24px; height: 24px; border-radius: 50%; border: 3px solid var(--t-tx); background: var(--s); }
.recorrido--combo .dia:nth-of-type(2) .dia__paradas li::before { border-color: var(--m-tx); }
.recorrido--combo .dia__paradas b { display: block; font-size: 14px; color: var(--tx); }
.recorrido--combo .dia__incluye > summary { background: var(--el); border: 0; }
.recorrido--combo .dia__si > .mo { color: var(--t-tx); }
.recorrido--combo .dia:nth-of-type(2) .dia__si > .mo { color: var(--m-tx); }

.recorrido--paquete .dia--acordeon { border-radius: 16px; background: var(--el); border: 1px solid var(--rl); }
.recorrido--paquete .dia--acordeon[open] { border-color: var(--dia); }
.recorrido--paquete .dia--acordeon .dia__num { width: 34px; height: 34px; border-radius: 10px; background: var(--blanco); color: var(--on); }
.recorrido--paquete .dia--acordeon .dia__num .mo { display: none; }
.recorrido--paquete .dia--acordeon .dia__num b { font-size: 15px; }
.recorrido--paquete .dia--acordeon:nth-of-type(2) .dia__num { background: var(--m); }
.recorrido--paquete .dia--acordeon:nth-of-type(3) .dia__num { background: var(--tu); }
.recorrido--paquete .dia--acordeon:nth-of-type(4) .dia__num { background: var(--t); }
.recorrido--paquete .dia--acordeon > summary { min-height: 52px; padding: 8px 12px; gap: 12px; }
.recorrido--paquete .dia__titulos h3 { font-size: 14px; }
.recorrido--paquete .dia--acordeon > .dia__cuerpo { padding: 0 12px 14px; }
.recorrido--paquete .dia__si { background: var(--s); }
.recorrido--paquete .dia__si > .mo { color: var(--dia); }

.pestanas { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; border-radius: 13px; background: var(--el); margin: 0 0 14px; }
.pestanas button { flex: 1 1 auto; min-height: 44px; padding: 0 14px; border-radius: 10px; font-size: 14px; font-weight: 800; color: var(--mu); }
.pestanas button[aria-selected="true"] { background: var(--pest, var(--lv)); color: var(--on); }
.pestanas button:nth-child(1) { --pest: var(--t); }
.pestanas button:nth-child(2) { --pest: var(--m); }
.ficha[data-modo="paquete"] .pestanas button { --pest: var(--blanco); }
.ficha[data-modo="paquete"] .pestanas button:nth-child(2) { --pest: var(--m); }
.ficha[data-modo="paquete"] .pestanas button:nth-child(3) { --pest: var(--tu); }
.ficha[data-modo="paquete"] .pestanas button:nth-child(4) { --pest: var(--t); }
.recorrido[data-pestanas] .dia:not(.es-activa) { display: none; }
.recorrido--combo[data-pestanas] .dia__cab .dia__num { display: none; }

/* --- E10 · lo que incluye (borde de acento) y no incluye ( */
.ficha__main > .c100-includes { border: 1.5px solid var(--lv-tx); display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.ficha .c100-includes > h3, .ficha .c100-includes > ul { grid-column: 1; grid-row: auto; }
.ficha[data-modo="combo"] .ficha__main > .c100-includes { border-color: var(--t-tx); }
.ficha .c100-includes > h3 { font-size: 22px; letter-spacing: -.02em; margin: 0 0 10px; }
.ficha .c100-includes > h3::before { display: none; }
.ficha .c100-includes > h3:nth-of-type(2) { font-size: 20px; margin: 18px -24px 10px; padding: 18px 24px 0; background: var(--el); border-radius: 0; }
.ficha .c100-includes > ul:nth-of-type(2) { margin: 0 -24px -24px; padding: 0 24px 24px; background: var(--el); border-radius: 0 0 var(--skin-radio) var(--skin-radio); }
.ficha .c100-includes > ul { gap: 10px; }
.ficha .c100-includes > ul > li { font-size: 14px; line-height: 1.4; }
.ficha .c100-includes > ul:nth-of-type(2) > li { color: var(--mu); font-size: 13px; padding-bottom: 8px; border-bottom: 1px solid var(--rl); }
.ficha .c100-includes .nivel-tag { color: var(--mu); background: none; font-size: 9px; }
.pagas-alla { border: 1px solid var(--rl); }

/* --- E11 · tu hotel: chips */
.hoteles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.hoteles li { padding: 9px 10px; border: 0; border-radius: 10px; background: var(--el); }
.hoteles__foto { display: none; }
.hoteles b { font-size: 12px; }
.hoteles .soft { font-size: 11px; }

/* --- E12 · antes de ir: chips (encuentro), checklist que s */
.antes > h2 { margin-bottom: 8px; }
.antes__grupo { border: 0; border-radius: 0; background: none; overflow: visible; }
.antes__grupo + .antes__grupo { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--rl); }
.antes__grupo > summary { min-height: 0; padding: 0 0 8px; font-size: 20px; letter-spacing: -.02em; gap: 10px; }
.antes__cuenta { color: var(--lv-tx); font-weight: 700; }
.antes__grupo ul { list-style: none; padding: 0; gap: 8px; font-size: 13px; color: var(--mu); }
.antes__grupo li { position: relative; padding-left: 16px; }
.antes__grupo li::before { content: ""; position: absolute; left: 0; top: 7px; width: 6px; height: 6px; border-radius: 2px; background: var(--lv); }

.antes__grupo[data-lista] li { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 0; color: var(--tx); cursor: pointer; }
.antes__grupo[data-lista] li::before { position: static; width: 22px; height: 22px; border-radius: 7px; border: 1.5px solid var(--rl); background: transparent; flex: none; }
.antes__grupo[data-lista] li[aria-checked="true"] { color: var(--mu); text-decoration: line-through; }
.antes__grupo[data-lista] li[aria-checked="true"]::before { border-color: var(--lv-tx); background: var(--lv);
  -webkit-mask: none; mask: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314140A' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5 10 17 19 7.5'/%3E%3C/svg%3E"); background-size: 14px; background-position: center; background-repeat: no-repeat; }
.antes__grupo[data-lista] li:focus-visible { outline: 2px solid var(--lv-tx); outline-offset: 2px; border-radius: 6px; }

.antes__grupo[data-chips] ul { flex-direction: row; flex-wrap: wrap; display: flex; gap: 6px; }
.antes__grupo[data-chips] li { padding: 6px 10px; border-radius: 999px; border: 1px solid var(--rl); font-size: 12px; font-weight: 600; color: var(--tx); }
.antes__grupo[data-chips] li::before { display: none; }

/* --- E13 · mas sobre */
.ficha__mas .c100-content { font-size: 13px; line-height: 1.65; }
.ficha__mas .c100-content h2 { font-size: 19px; }

/* --- E14 · venta cruzada: caja punteada */
.ficha__main > .cruzada-lista { background: transparent; border: 1.5px dashed var(--rl); padding: 22px; }
.cruzada-lista h2 { font-family: var(--mo-f); font-size: 10px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--lv-tx); }
.cruzada-lista li { border: 0; padding: 0; flex-direction: column; align-items: flex-start; }
.cruzada-lista li a { font-size: 17px; line-height: 1.3; }

/* --- E15 · preguntale a este tour: buscador (skin-cyber.js */
.ficha__main > .sec { padding: 24px; }
.ficha .shead { margin-bottom: 14px; }
.faq-busca { position: relative; display: block; margin: 0 0 12px; }
.faq-busca > span { position: absolute; left: -9999px; }
.faq-busca input { width: 100%; height: 56px; padding: 0 20px 0 50px; border: 1.5px solid var(--lv-tx); border-radius: 16px; background: var(--g); color: var(--tx); font-size: 16px; outline: none; }
.faq-busca input::placeholder { color: var(--mu); }
.faq-busca input:focus-visible { box-shadow: 0 0 0 3px var(--glow); }
.faq-busca svg { position: absolute; left: 18px; top: 18px; color: var(--lv-tx); }
.ficha[data-modo="combo"] .faq-busca input, .ficha[data-modo="combo"] .faq-busca svg { border-color: var(--m-tx); color: var(--m-tx); }
.ficha[data-modo="combo"] .faq-busca input { color: var(--tx); }
.faq-vacio { margin: 0; font-size: 14px; color: var(--mu); }
.ficha .faq { display: grid; grid-template-columns: 1fr; gap: 10px; align-items: start; }
@media (min-width: 760px) { .ficha .faq { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ficha .faq details { border: 0; border-radius: 16px; background: var(--el); }
.ficha .faq details[open] { background: var(--el); border: 0; }
.ficha .faq details[hidden] { display: none; }
.ficha .faq summary { min-height: 52px; padding: 14px 18px; font-size: 14px; font-weight: 800; line-height: 1.35; }
.ficha .faq summary svg { color: var(--lv-tx); }
.ficha .faq details > p { padding: 0 18px 16px; font-size: 13px; line-height: 1.55; color: var(--mu); }

/* --- E16 · en 10 segundos: la pieza pintada del color de l */
.citable { padding: 22px; border-radius: var(--skin-radio); background: var(--lv); color: var(--on); border: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; gap: 10px; }
.ficha:not([data-modo="tour"]) .citable { background: var(--blanco); }
.citable .kick { color: inherit; font-weight: 700; margin-bottom: 0; }
.citable h2 { font-size: 15px; line-height: 1.3; color: inherit; margin: 0; }
.citable > p { color: inherit; font-size: 13.5px; line-height: 1.5; font-weight: 600; }
.citable__verif { color: inherit; opacity: .75; margin-top: auto; }

/* --- E17 · por que Cancun100 */
.confia-sec .prose { max-width: none; padding: 0; }
.confia-sec .kick { font-family: var(--ui); letter-spacing: 0; text-transform: none; font-size: 13px; font-weight: 700; color: var(--mu); }
.confia { gap: 18px; }
.confia li { border-left: 0; border-top: 2px solid var(--lv-tx); padding: 10px 0 0; }
.ficha[data-modo="combo"] .confia li { border-top-color: var(--t-tx); }
.confia b { font-size: 14px; }
.confia p { font-size: 12px; }

/* --- P · el boleto: 400 a la derecha, con el resplandor de */
.panel { border-radius: 28px; border: 1px solid var(--rl); box-shadow: 0 40px 80px -30px var(--glow); }
/* Sin pegarse (CORRECCION-PANEL-ABIERTO-1): la columna es .ficha__lado (style.css) y solo el mini panel se pega. */

.panel__precio { background: var(--lv); color: var(--on); border-bottom: 0; padding: 22px 24px; }
.ficha:not([data-modo="tour"]) .panel__precio { background: var(--blanco); }
.panel__precio .mo, .panel__precio s, .panel__precio .soft, .panel__linea { color: inherit; opacity: .8; }
.panel__precio b { font-size: 40px; letter-spacing: -.04em; }
.panel__acciones { position: relative; padding: 32px 24px 12px; }
.panel__acciones::before { content: ""; position: absolute; left: 20px; right: 20px; top: 11px; border-top: 2px dashed var(--rl); }
.panel__acciones .btn:not(.gh) { background: var(--lv); color: var(--on); border-color: transparent; box-shadow: none; min-height: 58px; border-radius: 16px; font-size: 17px; }
.ficha:not([data-modo="tour"]) .panel__acciones .btn:not(.gh) { background: var(--blanco); }
.panel__acciones .btn.gh { box-shadow: none; border-radius: 14px; }
.panel .c100-modal-boton__desde { display: none; }

/* --- D · el dock: tarjeta con tira del color arriba y resp */
@media (max-width: 999px) {
  .dock-pdp { left: 10px; right: 10px; bottom: calc(14px + env(safe-area-inset-bottom)); padding: 17px 12px 12px; border-radius: 24px; background: var(--s); border: 1px solid var(--rl); box-shadow: 0 20px 50px -10px var(--glow); overflow: hidden; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .dock-pdp::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: var(--lv); }
  .dock-pdp:not([data-modo="tour"])::before { background: linear-gradient(90deg, var(--t) 50%, var(--m) 50%); }
  .dock-pdp__precio .mo { font-size: 9px; color: var(--mu); }
  .dock-pdp__precio b { font-size: 19px; letter-spacing: -.02em; }
  .dock-pdp .btn { min-height: 52px; padding: 0 18px; border-radius: 14px; background: var(--lv); color: var(--on); border-color: transparent; box-shadow: none; font-size: 15px; }
  .dock-pdp:not([data-modo="tour"]) .btn { background: var(--blanco); }
}

/* --- E4 · la pieza sin cifra corta no usa cifra grande; el detalle debajo (AUDITORIA-SKINS-B-2 §2) */
.ftec li.ftec__larga b { font-size: 16px; letter-spacing: -.01em; line-height: 1.3; }
.ftec small { font-size: 13px; font-weight: 600; line-height: 1.35; color: inherit; }
.ftec li:not(:first-child) small { color: var(--mu); }

/* La sombra del boleto (ORDEN-FORMA-BOLETO-1): la del panel, como drop-shadow para que siga las muescas. */
.ficha__lado { --bol-sombra: drop-shadow(0 28px 30px var(--glow)); }
