/* ==========================================================
   PWT Availability Calendar – calendario público
   Identidad Peru Wind Travels: esquinas rectas, sin sombras,
   Archivo + Space Mono + Caveat, naranja #ed6d05
   ========================================================== */

/* ---------- 1. Variables ---------- */
.pwt-cal {
  --pwt-orange: #ed6d05;
  --pwt-brown: #902d14;
  --pwt-orange-light: #ed8d40;
  --pwt-sand: #edae7b;
  --pwt-font-title: 'Archivo', system-ui, sans-serif;
  --pwt-font-mono: 'Space Mono', ui-monospace, monospace;
  --pwt-font-script: 'Caveat', cursive;
  --pwt-ease: .35s ease;

  box-sizing: border-box;
  font-family: var(--pwt-font-title);
  padding: 64px 20px;
  background: var(--pwt-bg);
  color: var(--pwt-text);
}
.pwt-cal *, .pwt-cal *::before, .pwt-cal *::after { box-sizing: border-box; }

/* Tema oscuro (por defecto) */
.pwt-cal--dark {
  --pwt-bg: #222222;
  --pwt-card: #2d2d2d;
  --pwt-line: #3d3d3d;
  --pwt-title: #ffffff;
  --pwt-text: #c9c5c0;
  --pwt-eyebrow: #ed8d40;
  --pwt-un-bg: #3d2b26;
  --pwt-un-text: #90675d;
}
/* Tema claro */
.pwt-cal--light {
  --pwt-bg: #f5e9dc;
  --pwt-card: #ffffff;
  --pwt-line: #e8e4de;
  --pwt-title: #2d2d2d;
  --pwt-text: #6b6660;
  --pwt-eyebrow: #902d14;
  --pwt-un-bg: #ece7e0;
  --pwt-un-text: #a39d95;
}

.pwt-cal__wrap { max-width: 1200px; margin: 0 auto; text-align: left; }

/* ---------- 2. Cabecera ---------- */
.pwt-cal__head {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end;
  gap: 24px; margin-bottom: 28px;
}
.pwt-cal__eyebrow {
  display: block; margin-bottom: 12px;
  font-family: var(--pwt-font-mono); font-size: 12px; letter-spacing: .2em;
  text-transform: uppercase; color: var(--pwt-eyebrow);
}
.pwt-cal__title {
  margin: 0; padding-top: 16px; position: relative;
  font-weight: 900; font-size: clamp(28px, 4.5vw, 52px); line-height: 1.05;
  letter-spacing: -.02em; color: var(--pwt-title);
}
.pwt-cal__title::before {
  content: ''; position: absolute; top: 0; left: 0; width: 32px; height: 2px; background: var(--pwt-orange);
  transition: width var(--pwt-ease);
}
.pwt-cal__wrap:hover .pwt-cal__title::before { width: 64px; }

.pwt-cal__controls { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px; }
.pwt-cal__field { display: flex; flex-direction: column; gap: 6px; }
.pwt-cal__label {
  font-family: var(--pwt-font-mono); font-size: 11px; letter-spacing: .2em;
  text-transform: uppercase; color: var(--pwt-eyebrow);
}
.pwt-cal__select {
  min-width: 240px; max-width: 100%; padding: 12px 14px; border-radius: 0;
  border: 2px solid var(--pwt-line); background: var(--pwt-card); color: var(--pwt-title);
  font-family: var(--pwt-font-title); font-weight: 700; font-size: 15px;
  transition: border-color var(--pwt-ease);
}
.pwt-cal__select:hover, .pwt-cal__select:focus-visible { border-color: var(--pwt-orange); outline: none; }

.pwt-cal__years { display: flex; }
.pwt-cal__year {
  position: relative; overflow: hidden; z-index: 0; cursor: pointer; border-radius: 0;
  padding: 12px 22px; margin-left: -2px;
  border: 2px solid var(--pwt-line); background: transparent; color: var(--pwt-title);
  font-family: var(--pwt-font-title); font-weight: 800; font-size: 14px; letter-spacing: .04em;
  transition: color var(--pwt-ease), border-color var(--pwt-ease);
}
.pwt-cal__year:first-child { margin-left: 0; }
/* relleno que se desliza de izquierda a derecha */
.pwt-cal__year::before {
  content: ''; position: absolute; inset: 0; z-index: -1; background: var(--pwt-orange);
  transform: translateX(-101%); transition: transform var(--pwt-ease);
}
.pwt-cal__year:hover, .pwt-cal__year:focus-visible, .pwt-cal__year.is-on { border-color: var(--pwt-orange); color: #fff; outline: none; }
.pwt-cal__year:hover::before, .pwt-cal__year:focus-visible::before, .pwt-cal__year.is-on::before { transform: translateX(0); }
.pwt-cal__year:focus-visible { outline: 2px solid var(--pwt-sand); outline-offset: 2px; }

.pwt-cal__yearonly {
  font-weight: 900; font-size: 28px; letter-spacing: -.02em; color: var(--pwt-orange);
}

/* ---------- 3. Leyenda y próxima fecha ---------- */
.pwt-cal__meta {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 32px;
  padding: 16px 0; margin-bottom: 28px;
  border-top: 1px solid var(--pwt-line); border-bottom: 1px solid var(--pwt-line);
}
.pwt-cal__legend { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0; padding: 0; list-style: none; }
.pwt-cal__legend li {
  display: flex; align-items: center; gap: 10px; margin: 0;
  font-family: var(--pwt-font-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase;
}
.pwt-cal__sw { display: inline-block; width: 16px; height: 16px; border: 1px solid var(--pwt-line); }
.pwt-cal__sw--a { background: var(--pwt-orange); border-color: var(--pwt-orange); }
.pwt-cal__sw--u { background: var(--pwt-un-bg); border-color: var(--pwt-un-bg); position: relative; }
.pwt-cal__sw--u::after { content: ''; position: absolute; left: 2px; right: 2px; top: 50%; height: 1px; background: var(--pwt-un-text); }
.pwt-cal__sw--n { background: transparent; }

.pwt-cal__next { margin: 0; font-size: 15px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.pwt-cal__nextlabel {
  font-family: var(--pwt-font-mono); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--pwt-eyebrow);
}
.pwt-cal__next strong { color: var(--pwt-title); font-weight: 800; }

/* ---------- 4. Meses ---------- */
.pwt-cal__grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 640px)  { .pwt-cal__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .pwt-cal__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1200px) { .pwt-cal__grid { grid-template-columns: repeat(4, 1fr); } }

.pwt-cal__month {
  padding: 18px 16px 16px; background: var(--pwt-card); border: 1px solid var(--pwt-line);
  transition: border-color var(--pwt-ease), transform var(--pwt-ease);
}
.pwt-cal__month:hover { border-color: var(--pwt-orange); transform: translateY(-4px); }

.pwt-cal__mname {
  margin: 0 0 12px; padding: 0; position: relative; padding-top: 12px;
  font-family: var(--pwt-font-title); font-weight: 800; font-size: 18px; line-height: 1.1;
  letter-spacing: -.02em; text-transform: capitalize; color: var(--pwt-title);
}
.pwt-cal__mname::before {
  content: ''; position: absolute; top: 0; left: 0; width: 24px; height: 2px; background: var(--pwt-orange);
  transition: width var(--pwt-ease);
}
.pwt-cal__month:hover .pwt-cal__mname::before { width: 48px; }

.pwt-cal__wd, .pwt-cal__days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
.pwt-cal__wd span {
  text-align: center; padding: 2px 0 6px;
  font-family: var(--pwt-font-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--pwt-eyebrow);
}

.pwt-cal__day {
  display: flex; align-items: center; justify-content: center; aspect-ratio: 1;
  font-size: 13px; font-weight: 500; color: var(--pwt-text); cursor: default;
  transition: background var(--pwt-ease), color var(--pwt-ease);
}
.pwt-cal__day.is-a { background: var(--pwt-orange); color: #fff; font-weight: 800; }
.pwt-cal__day.is-u { background: var(--pwt-un-bg); color: var(--pwt-un-text); text-decoration: line-through; }
.pwt-cal__day.is-today { outline: 2px solid var(--pwt-sand); outline-offset: -2px; color: var(--pwt-title); font-weight: 800; }
.pwt-cal__day.is-a.is-today { color: #fff; }
.pwt-cal__day.is-past { opacity: .4; }
.pwt-cal__day.is-a:hover { background: var(--pwt-brown); }

/* ---------- 5. Enlace de acción ---------- */
.pwt-cal__link {
  display: inline-block; margin-top: 36px; padding-bottom: 6px; text-decoration: none;
  font-family: var(--pwt-font-title); font-weight: 800; font-size: 14px; letter-spacing: .06em; text-transform: uppercase;
  color: var(--pwt-title);
  background: linear-gradient(var(--pwt-orange), var(--pwt-orange)) left bottom / 40% 2px no-repeat;
  transition: background-size var(--pwt-ease), color var(--pwt-ease);
}
.pwt-cal__arrow { display: inline-block; transition: transform var(--pwt-ease); }
.pwt-cal__link:hover, .pwt-cal__link:focus-visible { background-size: 100% 2px; color: var(--pwt-orange); outline: none; }
.pwt-cal__link:hover .pwt-cal__arrow, .pwt-cal__link:focus-visible .pwt-cal__arrow { transform: translateX(6px); }
.pwt-cal__link:focus-visible { outline: 2px solid var(--pwt-orange); outline-offset: 6px; }

/* ---------- 6. Móvil ---------- */
@media (max-width: 600px) {
  .pwt-cal { padding: 48px 16px; }
  .pwt-cal__select { min-width: 100%; }
  .pwt-cal__field { width: 100%; }
}

/* ---------- 7. Movimiento reducido ---------- */
@media (prefers-reduced-motion: reduce) {
  .pwt-cal *, .pwt-cal *::before, .pwt-cal *::after { transition: none !important; }
  .pwt-cal__month:hover { transform: none; }
}

/* ==========================================================
   8. LISTA DE SALIDAS  [pwt_tours_table]
   Fila: fecha | imagen | tipo + título + destinos | duración | disponibilidad | precio | →
   ========================================================== */
.pwt-cal--dark  { --pwt-hover: #2d2d2d; --pwt-price: #ed8d40; --pwt-spots: #ed8d40; --pwt-led-a: #6fbf8a; }
.pwt-cal--light { --pwt-hover: #ffffff; --pwt-price: #902d14; --pwt-spots: #b85003; --pwt-led-a: #3f8a5c; }

.pwt-sr {
  position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ---------- Cabecera y pestañas ---------- */
.pwt-tbl__head {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end;
  gap: 20px 24px; margin-bottom: 28px;
}
.pwt-tbl__title {
  margin: 0; padding: 16px 0 0; position: relative;
  font-family: var(--pwt-font-title); font-weight: 900; font-size: clamp(28px, 4.5vw, 52px);
  line-height: 1.05; letter-spacing: -.02em; color: var(--pwt-title);
}
.pwt-tbl__title::before {
  content: ''; position: absolute; top: 0; left: 0; width: 32px; height: 2px; background: var(--pwt-orange);
  transition: width var(--pwt-ease);
}
.pwt-tbl__head:hover .pwt-tbl__title::before { width: 64px; }
.pwt-tbl__head .pwt-cal__years { margin-left: auto; }

/* Sin JS los años se apilan; con JS son pestañas */
.pwt-tbl .pwt-cal__years { display: none; }
.pwt-tbl.is-js .pwt-cal__years { display: flex; }
.pwt-tbl__yearlabel {
  margin: 28px 0 12px; font-family: var(--pwt-font-mono); font-size: 12px; letter-spacing: .2em;
  text-transform: uppercase; color: var(--pwt-eyebrow);
}
.pwt-tbl.is-js .pwt-tbl__yearlabel { display: none; }
.pwt-tbl__panel[hidden] { display: none; }
.pwt-tbl__empty { margin: 0; padding: 32px 0; border-top: 1px solid var(--pwt-line); border-bottom: 1px solid var(--pwt-line); }

/* ---------- Filas ---------- */
.pwt-tbl__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--pwt-line); }
.pwt-tbl__row {
  --pwt-cols: 128px minmax(0, 1fr) 150px 170px 48px;
  position: relative; display: grid; grid-template-columns: var(--pwt-cols); align-items: center;
  gap: 0 24px; margin: 0; padding: 14px 20px 14px 22px;
  border-bottom: 1px solid var(--pwt-line); transition: background var(--pwt-ease);
}
.pwt-tbl--side .pwt-tbl__row { --pwt-cols: 128px 96px minmax(0, 1fr) 150px 170px 48px; }
.pwt-tbl--price .pwt-tbl__row { --pwt-cols: 128px minmax(0, 1fr) 150px 170px 120px 48px; }
.pwt-tbl--side.pwt-tbl--price .pwt-tbl__row { --pwt-cols: 128px 96px minmax(0, 1fr) 150px 170px 120px 48px; }

.pwt-tbl__row:hover, .pwt-tbl__row:focus-within { background: var(--pwt-hover); }
/* línea naranja que crece al pasar el mouse */
.pwt-tbl__row::before {
  content: ''; position: absolute; z-index: 3; top: 0; bottom: 0; left: 0; width: 3px; background: var(--pwt-orange);
  transform: scaleY(0); transition: transform .4s ease;
}
.pwt-tbl__row:hover::before, .pwt-tbl__row:focus-within::before { transform: scaleY(1); }

/* Fecha */
.pwt-tbl__month {
  display: block; margin-bottom: 4px;
  font-family: var(--pwt-font-mono); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--pwt-orange);
}
.pwt-tbl__days {
  display: flex; align-items: center; gap: 8px; white-space: nowrap;
  font-weight: 800; font-size: 26px; line-height: 1; letter-spacing: -.02em; color: var(--pwt-title);
}
.pwt-tbl__dash { display: block; width: 14px; height: 1px; background: var(--pwt-text); opacity: .6; }

/* Imagen al lado */
.pwt-tbl__thumb { display: block; width: 96px; height: 68px; overflow: hidden; background: #2d2d2d; }
.pwt-tbl__thumb--empty { background: var(--pwt-line); }
.pwt-tbl__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.pwt-tbl__row:hover .pwt-tbl__thumb img { transform: scale(1.08); }

/* Tipo + título + destinos */
.pwt-tbl__type {
  display: block; margin-bottom: 6px;
  font-family: var(--pwt-font-mono); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--pwt-eyebrow);
}
.pwt-tbl__name {
  margin: 0; font-family: var(--pwt-font-title); font-weight: 800; font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.1; letter-spacing: -.02em; color: var(--pwt-title);
}
.pwt-tbl__name a { color: inherit; text-decoration: none; transition: color var(--pwt-ease); }
.pwt-tbl__row:hover .pwt-tbl__name a, .pwt-tbl__name a:focus-visible { color: var(--pwt-orange); }
.pwt-tbl__name a:focus-visible { outline: 2px solid var(--pwt-orange); outline-offset: 4px; }
.pwt-tbl__dest { display: flex; flex-wrap: wrap; margin: 8px 0 0; padding: 0; list-style: none; font-size: 14px; line-height: 1.5; color: var(--pwt-text); }
.pwt-tbl__dest li { margin: 0; padding: 0; }
.pwt-tbl__dest li + li::before { content: '·'; margin: 0 8px; }

/* Duración y precio */
.pwt-tbl__dur, .pwt-tbl__price { padding: 4px 0 4px 20px; border-left: 1px solid var(--pwt-line); line-height: 1.35; }
.pwt-tbl__dur strong, .pwt-tbl__price strong { display: block; font-weight: 800; font-size: 17px; letter-spacing: -.01em; color: var(--pwt-title); }
.pwt-tbl__dur span:last-child { display: block; font-size: 13px; color: var(--pwt-text); }
.pwt-tbl__label {
  display: block; margin-bottom: 5px;
  font-family: var(--pwt-font-mono); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--pwt-text);
}
.pwt-tbl__amount { color: var(--pwt-price) !important; white-space: nowrap; }
.pwt-tbl__cur { font-family: var(--pwt-font-mono); font-size: 10px; letter-spacing: .15em; color: var(--pwt-text); }

/* Disponibilidad */
.pwt-tbl__av {
  display: flex; align-items: center; gap: 12px;
  font-family: var(--pwt-font-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--pwt-text);
}
.pwt-tbl__led { flex: 0 0 auto; width: 9px; height: 9px; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 5px color-mix(in srgb, var(--c) 22%, transparent); }
.pwt-tbl__av--available { --c: var(--pwt-led-a); }
.pwt-tbl__av--spots { --c: var(--pwt-orange); }
.pwt-tbl__av--spots span { color: var(--pwt-spots); }
.pwt-tbl__av--full { --c: #90675d; }
.pwt-tbl__row--full .pwt-tbl__date, .pwt-tbl__row--full .pwt-tbl__thumb, .pwt-tbl__row--full .pwt-tbl__maintext { opacity: .55; }

/* En escritorio los grupos no existen visualmente: sus hijos son columnas de la fila */
.pwt-tbl__meta, .pwt-tbl__info { display: contents; }

/* Botón flecha */
.pwt-tbl__act { display: flex; justify-content: flex-end; }
.pwt-tbl__go {
  position: relative; z-index: 0; display: flex; align-items: center; justify-content: center; overflow: hidden;
  width: 48px; height: 44px; border: 1px solid var(--pwt-text); border-radius: 0;
  color: var(--pwt-title); font-size: 20px; line-height: 1; text-decoration: none;
  transition: color var(--pwt-ease), border-color var(--pwt-ease);
}
.pwt-tbl__go::before {
  content: ''; position: absolute; inset: 0; z-index: -1; background: var(--pwt-orange);
  transform: translateX(-101%); transition: transform var(--pwt-ease);
}
.pwt-tbl__go span { display: block; transition: transform var(--pwt-ease); }
.pwt-tbl__go:hover, .pwt-tbl__go:focus-visible { color: #fff; border-color: var(--pwt-orange); outline: none; }
.pwt-tbl__go:hover::before, .pwt-tbl__go:focus-visible::before { transform: translateX(0); }
.pwt-tbl__go:hover span, .pwt-tbl__go:focus-visible span { transform: translateX(3px); }
.pwt-tbl__go:focus-visible { outline: 2px solid var(--pwt-orange); outline-offset: 3px; }

/* ---------- Imagen de fondo del título (con overlay oscuro) ---------- */
.pwt-tbl__main { position: relative; min-width: 0; }
.pwt-tbl__maintext { position: relative; z-index: 2; }
.pwt-tbl--background .pwt-tbl__main--bg {
  align-self: stretch; margin: -14px 0; padding: 22px 20px; overflow: hidden;
  display: flex; flex-direction: column; justify-content: center; min-height: 112px; background: #2d2d2d;
}
.pwt-tbl__bgimg {
  position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .6s ease;
}
.pwt-tbl__main--bg::after {
  content: ''; position: absolute; inset: 0; z-index: 1; background: rgba(34, 34, 34, .64); transition: background .4s ease;
}
.pwt-tbl__row:hover .pwt-tbl__bgimg { transform: scale(1.06); }
.pwt-tbl__row:hover .pwt-tbl__main--bg::after { background: rgba(34, 34, 34, .5); }
.pwt-tbl__main--bg .pwt-tbl__type { color: var(--pwt-sand); }
.pwt-tbl__main--bg .pwt-tbl__name, .pwt-tbl__main--bg .pwt-tbl__name a { color: #fff; }
.pwt-tbl__main--bg .pwt-tbl__dest { color: #e0dcd7; }
.pwt-tbl__row:hover .pwt-tbl__main--bg .pwt-tbl__name a, .pwt-tbl__main--bg .pwt-tbl__name a:focus-visible { color: var(--pwt-sand); }

/* ---------- Responsive: SIEMPRE una sola fila horizontal por salida ----------
   Mismo orden que en escritorio: fecha | imagen | título | duración | estado | precio | flecha.
   - hasta 1200px  (tablet): todas las columnas en una línea, más compactas
   - hasta 700px   (móvil):  una sola banda; duración y estado pasan debajo del título
                             y el precio queda arriba de la flecha, a la derecha.
   Los anchos se escalan con clamp() para que se adapte a cualquier pantalla. */

/* etiquetas "Duración / Precio": solo para lectores de pantalla en tablet y móvil */
@media (max-width: 1200px) {
  .pwt-tbl__dur .pwt-tbl__label, .pwt-tbl__price .pwt-tbl__label {
    position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
    overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
  }
}

/* ===== Tablet: una línea con todas las columnas ===== */
@media (max-width: 1200px) {
  .pwt-tbl__row {
    --pwt-areas: "date main info act";
    --pwt-cols: 56px minmax(0, 1fr) 128px 44px;
    grid-template-columns: var(--pwt-cols); grid-template-areas: var(--pwt-areas);
    gap: 0 16px; padding: 14px 14px 14px 18px;
  }
  .pwt-tbl--price .pwt-tbl__row {
    --pwt-areas: "date main info price act";
    --pwt-cols: 56px minmax(0, 1fr) 128px 88px 44px;
  }
  .pwt-tbl--side .pwt-tbl__row {
    --pwt-areas: "date thumb main info act";
    --pwt-cols: 56px 76px minmax(0, 1fr) 128px 44px;
  }
  .pwt-tbl--side.pwt-tbl--price .pwt-tbl__row {
    --pwt-areas: "date thumb main info price act";
    --pwt-cols: 56px 76px minmax(0, 1fr) 128px 88px 44px;
  }

  .pwt-tbl__date  { grid-area: date; }
  .pwt-tbl__thumb { grid-area: thumb; width: 76px; height: 56px; }
  .pwt-tbl__main  { grid-area: main; }
  .pwt-tbl__info  { grid-area: info; display: flex; flex-direction: column; justify-content: center; gap: 10px; min-width: 0; padding-left: 16px; border-left: 1px solid var(--pwt-line); }
  .pwt-tbl__price { grid-area: price; padding-left: 16px; }
  .pwt-tbl__act   { grid-area: act; }

  /* fecha en columna: mes, día inicio, raya, día fin */
  .pwt-tbl__month { font-size: 10px; letter-spacing: .14em; }
  .pwt-tbl__days  { flex-direction: column; align-items: flex-start; gap: 5px; font-size: 22px; }
  .pwt-tbl__dash  { width: 12px; }

  .pwt-tbl__dur   { padding: 0; border-left: 0; }
  .pwt-tbl__dur strong, .pwt-tbl__price strong { font-size: 16px; }
  .pwt-tbl__dur span:last-child { font-size: 12px; }
  .pwt-tbl__av    { gap: 10px; font-size: 10px; letter-spacing: .08em; }
  .pwt-tbl__name  { font-size: clamp(18px, 2.4vw, 22px); }
  .pwt-tbl__dest  { font-size: 13px; margin-top: 6px; }
  .pwt-tbl__go    { width: 44px; height: 40px; }

  .pwt-tbl--background .pwt-tbl__main--bg { min-height: 96px; padding: 18px 16px; }
  .pwt-tbl__head .pwt-cal__years { margin-left: 0; }
}

/* ===== Móvil: una sola banda compacta ===== */
@media (max-width: 700px) {
  .pwt-tbl__row {
    --pwt-d: clamp(40px, 11vw, 56px);     /* columna fecha  */
    --pwt-t: clamp(52px, 15vw, 88px);     /* columna imagen */
    --pwt-r: clamp(68px, 18vw, 96px);     /* columna precio / flecha */
    --pwt-areas: "date main act" "date info act";
    --pwt-cols: var(--pwt-d) minmax(0, 1fr) 40px;
    grid-template-rows: auto auto; align-items: start;
    column-gap: clamp(8px, 2.6vw, 14px); row-gap: 8px;
    padding: 14px 12px 14px 16px;
  }
  .pwt-tbl--price .pwt-tbl__row {
    --pwt-areas: "date main price" "date info act";
    --pwt-cols: var(--pwt-d) minmax(0, 1fr) var(--pwt-r);
  }
  .pwt-tbl--side .pwt-tbl__row {
    --pwt-areas: "date thumb main act" "date thumb info act";
    --pwt-cols: var(--pwt-d) var(--pwt-t) minmax(0, 1fr) 40px;
  }
  .pwt-tbl--side.pwt-tbl--price .pwt-tbl__row {
    --pwt-areas: "date thumb main price" "date thumb info act";
    --pwt-cols: var(--pwt-d) var(--pwt-t) minmax(0, 1fr) var(--pwt-r);
  }

  .pwt-tbl__thumb { width: 100%; height: auto; aspect-ratio: 1 / 1; align-self: start; }
  .pwt-tbl__date, .pwt-tbl__thumb { align-self: start; }

  /* fecha */
  .pwt-tbl__month { margin-bottom: 4px; font-size: 9px; letter-spacing: .1em; }
  .pwt-tbl__days  { gap: 3px; font-size: clamp(17px, 5vw, 22px); }
  .pwt-tbl__dash  { width: 10px; }

  /* título */
  .pwt-tbl__type  { margin-bottom: 3px; font-size: 8px; letter-spacing: .14em; line-height: 1.3; }
  .pwt-tbl__name  { font-size: clamp(15px, 4.2vw, 21px); line-height: 1.12; overflow-wrap: anywhere; }
  .pwt-tbl__dest  { display: none; }
  .pwt-tbl__dest li + li::before { margin: 0 5px; }

  /* duración + estado: una línea debajo del título */
  .pwt-tbl__info {
    flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start;
    gap: 4px 12px; padding: 0; border-left: 0;
  }
  .pwt-tbl__dur   { display: flex; align-items: baseline; gap: 6px; white-space: nowrap; }
  .pwt-tbl__dur strong { display: inline; font-size: 13px; }
  .pwt-tbl__dur span:last-child { display: inline; font-size: 12px; }
  .pwt-tbl__dur span:last-child::before { content: '·'; margin-right: 6px; }
  .pwt-tbl__av    { gap: 8px; font-size: 9px; letter-spacing: .06em; }
  .pwt-tbl__led   { width: 8px; height: 8px; box-shadow: 0 0 0 4px color-mix(in srgb, var(--c) 22%, transparent); margin: 0 2px; }

  /* precio arriba, flecha abajo (columna derecha) */
  .pwt-tbl__price { padding: 0; border-left: 0; text-align: right; align-self: start; }
  .pwt-tbl__price strong { font-size: clamp(14px, 3.8vw, 18px); }
  .pwt-tbl__cur   { display: block; margin-top: 2px; font-size: 9px; line-height: 1; }
  .pwt-tbl__act   { align-self: end; }
  .pwt-tbl__go    { width: 36px; height: 34px; font-size: 18px; }

  /* imagen de fondo: cubre la parte superior del bloque del título */
  .pwt-tbl--background .pwt-tbl__main--bg {
    margin: -14px 0 0; padding: 14px 12px; min-height: 0; align-self: start;
  }

  /* un poco más de ancho útil en pantallas chicas */
  .pwt-tbl.pwt-cal { padding-left: 10px; padding-right: 10px; }
}

@media (max-width: 420px) {
  .pwt-tbl__dur span:last-child { display: none; }  /* pantallas angostas: solo "16 Days" (las noches ya van en el título) */
}
@media (max-width: 380px) {
  .pwt-tbl__row { padding: 12px 10px 12px 14px; }
  .pwt-tbl__dest { font-size: 11.5px; }
}

@media (prefers-reduced-motion: reduce) {
  .pwt-tbl__row::before, .pwt-tbl__bgimg, .pwt-tbl__thumb img, .pwt-tbl__go span { transition: none !important; }
  .pwt-tbl__row:hover .pwt-tbl__bgimg, .pwt-tbl__row:hover .pwt-tbl__thumb img { transform: none; }
}
