/* pieza.css — las piezas nuevas de las pilares (BLOQUE 6.1 p3): sencillas y parejas, sin pulir (la beta visual viene
   después). Solo tokens del tema (--tx, --mu, --rl, --s, --ui); nada de color propio. Se carga en todas las pilares. */

/* tarjetas: «lugares» de la mega, cenotes, reserva-también, desde Tulum — tres en escritorio, dos en tablet, una en teléfono */
.mega-lugares__lista { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1023px) { .mega-lugares__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .mega-lugares__lista { grid-template-columns: minmax(0, 1fr); } }
.mega-lugar { padding: 16px; border: 1px solid var(--rl); border-radius: 14px; background: var(--s); }
.mega-lugar h3 { margin: 0 0 6px; font-size: 17px; line-height: 1.3; }
.mega-lugar p { margin: 0; font-size: 14px; line-height: 1.5; }
.pieza-tarjetas__chip { display: inline-block; margin-bottom: 6px; font-size: 11px; letter-spacing: .04em; color: var(--mu); }
.pieza-tarjetas__precio { margin-top: 8px !important; }

/* tablas de texto: comparativa, por tu cuenta vs tour, 4x1 */
.c100-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.mega-tabla { width: 100%; min-width: 520px; border-collapse: collapse; font-size: 14px; line-height: 1.45; }
.mega-tabla th, .mega-tabla td { padding: 10px 12px; border-bottom: 1px solid var(--rl); text-align: left; vertical-align: top; }
.mega-tabla thead th { font: 600 12px/1.3 var(--ui); color: var(--mu); }
.pieza-tabla__pleg > summary { cursor: pointer; font-weight: 700; padding: 8px 0; }

/* aviso con globo */
.pieza-aviso__caja p { margin: 0 0 8px; }
.pieza-aviso__caja .pilar__lista { margin: 8px 0 0; }

/* escalera por sede o por gusto: el peldaño de tu zona se marca, no se esconde nada */
.pieza-escalera__sel { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 12px 0; }
.pieza-escalera__sel .chip[aria-pressed="true"] { outline: 2px solid currentColor; outline-offset: 1px; }
.pieza-escalera tr.is-tuyo > * { background: color-mix(in srgb, var(--tx) 6%, transparent); }

/* pestañas de las piezas (pieza.js); sin JS se ven todas */
.pieza-pestana + .pieza-pestana { margin-top: 18px; }
[data-c100-pestanas] > .conmutador { margin-bottom: 14px; }
.conmutador__b.is-on { font-weight: 700; }

/* /ofertas/ y /combos/: chips de sede y Zona Outlet (inc/puertas-ofertas-combos.php) */
.ofertas-sedes { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 16px; }
.ofertas-sedes .chip[aria-current] { outline: 2px solid currentColor; outline-offset: 1px; }
.ofertas-outlet { margin: 0 0 28px; padding-bottom: 20px; border-bottom: 1px solid var(--rl); }
.ofertas-outlet h2 { margin: 0 0 4px; }

/* mapa compartido de las pilares (pieza/mapa, BLOQUE 6.1 p4): el mapa vivo en un marco de 4:3 en teléfono y 16:9 en
   escritorio; la lista de lugares siempre debajo, en dos columnas desde tablet */
.pieza-mapa__vivo { width: 100%; aspect-ratio: 4 / 3; margin: 12px 0; border: 1px solid var(--rl); border-radius: 14px; overflow: hidden; background: var(--s); }
@media (min-width: 900px) { .pieza-mapa__vivo { aspect-ratio: 16 / 9; } }
.pieza-mapa__estatica, .pieza-mapa__estatica img { display: block; width: 100%; height: 100%; object-fit: cover; }   /* BLOQUE 10.4 (a) */
.pieza-mapa__filtro { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.pieza-mapa__filtro .chip[aria-pressed="true"] { outline: 2px solid currentColor; outline-offset: 1px; }
.pieza-mapa__lista { margin: 12px 0 0; padding-left: 20px; font-size: 14px; line-height: 1.5; columns: 2 280px; column-gap: 28px; }
.pieza-mapa__lista li { break-inside: avoid; margin-bottom: 8px; }

/* fachada de video (pieza/aviso › video, BLOQUE 8.1): el botón y, al tocar, el iframe 16:9 a lo ancho */
.pieza-video { margin: 12px 0 0; }
.pieza-video__f { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 14px; background: var(--s); }

/* calculadora de familia del 2x1 (pieza/calc2x1, BLOQUE 8.1): teléfono, uno debajo de otro; escritorio, entradas y
   resultado lado a lado */
.pieza-calc2x1__grid { display: grid; gap: 16px; }
@media (min-width: 900px) { .pieza-calc2x1__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; } }
.pieza-calc2x1__fila { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--rl); }
.pieza-calc2x1__num { display: inline-flex; align-items: center; gap: 10px; }
.pieza-calc2x1__num output { min-width: 2ch; text-align: center; font-weight: 700; }
.pieza-calc2x1__in .chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.pieza-calc2x1__in .chip[aria-pressed="true"] { outline: 2px solid currentColor; outline-offset: 1px; }
.pieza-calc2x1__total { font-size: 22px; margin: 8px 0; }
