/* RunningValencia – calendario v2.4.0 */

/* ── Variables ─────────────────────────────────────────────── */
.rvc-app {
  --rvc-accent:     #e8561e;
  --rvc-accent-bg:  #fdf1ec;
  --rvc-line:       #e0e0e0;
  --rvc-line-has:   #5a5a5a;
  --rvc-today-col:  #e8561e;
  --rvc-asfalto:    #42A5F5;
  --rvc-trail:      #43C59E;
  --rvc-montana:    #7C6EF2;
  --rvc-cross:      #F39A3D;
  --rvc-btt:        #2DBCC5;
  --rvc-obstaculos: #EF6C6C;
  width: 100%;
  font-family: inherit;
  box-sizing: border-box;
}
.rvc-app *, .rvc-app *::before, .rvc-app *::after { box-sizing: border-box; }

/* ── Year strip ────────────────────────────────────────────── */
.rvc-year-strip {
  display: flex;
  justify-content: center;     /* centrado: el año activo queda en el centro */
  gap: 8px;
  margin-bottom: 12px;
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.rvc-year-strip::-webkit-scrollbar { display: none; }

.rvc-year-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 18px;
  border: 1px solid var(--rvc-line);
  border-radius: 20px;
  text-decoration: none;
  font-size: .86rem;
  font-weight: 600;
  color: #333;
  white-space: nowrap;
  flex-shrink: 0;
  transition: border-color .12s, background .12s, color .12s;
}
.rvc-year-btn:hover { border-color: var(--rvc-accent); color: var(--rvc-accent); }
.rvc-year-btn.is-active {
  background: #2a2a2a;
  border-color: #2a2a2a;
  color: #fff;
}
.rvc-year-cnt {
  font-size: .7rem;
  font-weight: 700;
  background: rgba(0,0,0,.1);
  border-radius: 10px;
  padding: 1px 7px;
  line-height: 1.5;
}
.rvc-year-btn.is-active .rvc-year-cnt { background: rgba(255,255,255,.2); }

/* ── Month strip ───────────────────────────────────────────── */
.rvc-strip-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 18px;
}
.rvc-strip-arr {
  display: inline-flex;
  width: 28px; height: 28px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--rvc-line);
  border-radius: 7px;
  text-decoration: none;
  font-size: 1rem;
  line-height: 1;
  color: #444;
  flex-shrink: 0;
  transition: border-color .12s, color .12s;
}
.rvc-strip-arr:hover { border-color: var(--rvc-accent); color: var(--rvc-accent); }
.rvc-strip-arr--off { opacity: .25; pointer-events: none; cursor: default; }

.rvc-strip-track {
  display: flex;
  gap: 5px;
  flex: 1;
  overflow-x: auto;
  scroll-behavior: smooth;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.rvc-strip-track::-webkit-scrollbar { display: none; }

.rvc-strip-btn {
  display: flex;
  flex-direction: row;          /* nombre + número en la MISMA línea */
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 8px;
  border: 1px solid var(--rvc-line);
  border-radius: 10px;
  text-decoration: none;
  color: #333;
  font-size: .8rem;
  flex: 1 1 0;                  /* los 12 meses reparten el ancho por igual */
  min-width: 62px;             /* en móvil mantienen tamaño y el strip hace scroll */
  white-space: nowrap;
  transition: border-color .15s, background .15s, color .15s;
}
.rvc-strip-btn.no-races { color: #bbb; border-color: #ececec; pointer-events: none; }
.rvc-strip-btn.has-races:hover { border-color: var(--rvc-accent); color: var(--rvc-accent); }
.rvc-strip-btn.is-active {
  background: var(--rvc-accent);
  border-color: var(--rvc-accent);
  color: #fff;
  font-weight: 600;
  pointer-events: none;
}
.rvc-strip-mn { text-transform: capitalize; font-weight: 500; }
.rvc-strip-cnt {
  background: rgba(0,0,0,.09);
  border-radius: 10px;
  padding: 1px 6px;
  font-size: .67rem;
  font-weight: 700;
  line-height: 1.5;
  color: inherit;
}
.rvc-strip-btn.is-active .rvc-strip-cnt { background: rgba(255,255,255,.22); }

/* ── Month nav header ──────────────────────────────────────── */
.rvc-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.rvc-head-nav {
  display: flex;
  align-items: center;
  gap: 8px;
}
.rvc-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  text-transform: capitalize;
  white-space: nowrap;
}
.rvc-nav {
  display: inline-flex;
  width: 32px; height: 32px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--rvc-line);
  border-radius: 8px;
  text-decoration: none;
  font-size: 1.1rem;
  line-height: 1;
  color: #444;
  flex-shrink: 0;
  transition: border-color .12s, color .12s;
}
.rvc-nav:hover { border-color: var(--rvc-accent); color: var(--rvc-accent); }

.rvc-month-select {
  margin-left: auto;
  padding: 6px 10px;
  border: 1px solid var(--rvc-line);
  border-radius: 8px;
  background: #fff;
  font-size: .8rem;
  font-family: inherit;
  color: #444;
  cursor: pointer;
  flex-shrink: 0;
}
.rvc-month-select:focus { outline: 2px solid var(--rvc-accent); border-color: transparent; }

/* ── Calendar grid ─────────────────────────────────────────── */
.rvc-cal { margin-bottom: 18px; }

.rvc-cal-head {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  margin-bottom: 5px;
}
.rvc-cal-dow {
  text-align: center;
  font-size: .68rem;
  text-transform: uppercase;
  color: #b0b0b0;
  font-weight: 700;
  padding: 3px 0;
  letter-spacing: .05em;
}

.rvc-cal-body {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}

.rvc-day {
  border: 1px solid var(--rvc-line);
  border-radius: 8px;
  padding: 9px 8px 8px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 82px;
  background: #fff;
  transition: border-color .1s, box-shadow .1s, background .1s, opacity .12s;
}
/* Días ya pasados: atenuados (los que tienen carreras siguen siendo
   accesibles; al pasar el ratón se revelan). */
.rvc-day--past { opacity: .5; }
.rvc-day--has.rvc-day--past { opacity: .62; }
.rvc-day--has.rvc-day--past:hover { opacity: 1; }
.rvc-day--pad {
  border-color: transparent;
  background: transparent;
  pointer-events: none;
}
.rvc-day--has {
  border-color: var(--rvc-line-has);
  cursor: pointer;
}
.rvc-day--has:hover {
  border-color: var(--rvc-accent);
  box-shadow: 0 2px 8px rgba(232,86,30,.12);
}
.rvc-day--has:focus-visible {
  outline: 2px solid var(--rvc-accent);
  outline-offset: 2px;
}
.rvc-day--has.is-active {
  border-color: var(--rvc-accent);
  background: var(--rvc-accent-bg);
}
/* Día actual */
.rvc-day--today { background: #f5f5ff; border-color: #c0c0e0; }
.rvc-day--has.rvc-day--today { background: var(--rvc-accent-bg); border-color: var(--rvc-accent); }

.rvc-day-num {
  font-size: .82rem;
  font-weight: 500;
  color: #c8c8c8;
  line-height: 1;
}
.rvc-day--has .rvc-day-num {
  font-size: 1.02rem;
  font-weight: 700;
  color: #222;
}
.rvc-day--today .rvc-day-num {
  color: var(--rvc-today-col);
  font-weight: 800;
}

/* Pie del día: badges de tipo con count */
.rvc-day-foot {
  display: flex;
  align-items: center;
  gap: 3px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
/* Badge total (fallback sin JS) */
.rvc-day-cnt {
  font-size: .68rem;
  font-weight: 800;
  line-height: 1;
  padding: 3px 8px;
  border-radius: 10px;
  background: var(--rvc-line-has);
  color: #fff;
}
/* Badge por tipo (añadido por JS) */
.rvc-type-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 23px; height: 23px;
  border-radius: 50%;
  font-size: .68rem;
  font-weight: 800;
  color: #fff;
  flex-shrink: 0;
  line-height: 1;
}

/* ── Barra: buscador global + filtros ───────────────────────
   El buscador va arriba del todo porque sirve justo para lo que el
   calendario no puede: encontrar una carrera sin saber su fecha.      */
.rvc-bar {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0 0 18px;
}

.rvc-search { position: relative; display: flex; align-items: center; }
.rvc-search-ico {
  position: absolute;
  left: 13px;
  display: flex;
  color: #9a9a9a;
  pointer-events: none;
}
.rvc-search-input {
  width: 100%;
  padding: 11px 38px;
  border: 1px solid var(--rvc-line);
  border-radius: 10px;
  background: #fff;
  font-family: "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: .95rem;
  color: #222;
  -webkit-appearance: none;   /* Safari: sin la lupa/aspa nativas del type=search */
  appearance: none;
}
.rvc-search-input::-webkit-search-decoration,
.rvc-search-input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.rvc-search-input::placeholder { color: #9a9a9a; }
.rvc-search-input:focus {
  outline: none;
  border-color: var(--rvc-accent);
  box-shadow: 0 0 0 3px var(--rvc-accent-bg);
}
.rvc-search-clear {
  position: absolute;
  right: 8px;
  width: 26px;
  height: 26px;
  border: 0;
  border-radius: 50%;
  background: #ececec;
  color: #555;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
}
.rvc-search-clear:hover { background: #ddd; color: #222; }

/* ── Filtros (multiselección) ───────────────────────────────
   Cada filtro admite varios valores a la vez: 10K + 15K, dos ciudades…  */
.rvc-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}
.rvc-filters select,
.rvc-ms-btn,
.rvc-reset {
  padding: 7px 11px;
  border: 1px solid var(--rvc-line);
  border-radius: 8px;
  background: #fff;
  font-size: .82rem;
  /* Tipografía del tema (Work Sans para contenido) también en los controles */
  font-family: "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #444;
}
.rvc-ms { position: relative; }
.rvc-ms-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  white-space: nowrap;
}
.rvc-ms-btn:hover { border-color: var(--rvc-accent); color: var(--rvc-accent); }
.rvc-ms-btn.is-active {
  border-color: var(--rvc-accent);
  background: var(--rvc-accent-bg);
  color: var(--rvc-accent);
  font-weight: 600;
}
.rvc-ms-cnt {
  background: var(--rvc-accent);
  color: #fff;
  border-radius: 10px;
  padding: 1px 6px;
  font-size: .68rem;
  font-weight: 700;
  line-height: 1.5;
}
.rvc-ms-car { font-size: .6rem; color: #9a9a9a; }
.rvc-ms-box {
  position: absolute;
  z-index: 40;
  top: calc(100% + 6px);
  left: 0;
  min-width: 230px;
  max-width: min(320px, 86vw);
  max-height: 320px;
  overflow-y: auto;
  padding: 6px;
  background: #fff;
  border: 1px solid var(--rvc-line);
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
}
/* Los últimos filtros abren hacia la izquierda para no salirse de la página. */
.rvc-ms:last-of-type .rvc-ms-box,
.rvc-ms:nth-last-of-type(2) .rvc-ms-box { left: auto; right: 0; }
.rvc-ms-opt {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 6px;
  font-size: .84rem;
  color: #222;
  cursor: pointer;
}
.rvc-ms-opt:hover { background: #f6f6f6; }
.rvc-ms-opt input { accent-color: var(--rvc-accent); margin: 0; flex-shrink: 0; }
.rvc-ms-name { flex: 1; }
.rvc-ms-n { font-size: .72rem; color: #9a9a9a; }
.rvc-ms-group {
  padding: 9px 8px 4px;
  font-size: .68rem;
  font-weight: 700;
  color: #9a9a9a;
  letter-spacing: .06em;
}
.rvc-reset { cursor: pointer; }
.rvc-reset:hover { border-color: var(--rvc-accent); color: var(--rvc-accent); }
.rvc-reset.is-on { border-color: var(--rvc-accent); color: var(--rvc-accent); font-weight: 600; }

/* ── Modo búsqueda ──────────────────────────────────────────
   Mientras hay texto, el calendario se aparta: los resultados pueden ser
   de cualquier mes y una rejilla de septiembre solo despistaría.        */
.rvc-app.is-searching .rvc-cal-wrap { display: none; }

.rvc-results-head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 14px;
  font-size: .86rem;
  color: #555;
}
/* `display:flex` de la clase gana al [hidden] del navegador: hay que
   devolverle la última palabra o la cabecera nunca se esconde. */
.rvc-results-head[hidden] { display: none; }
.rvc-results-n { font-weight: 600; color: #222; }
.rvc-results-back,
.rvc-results-deep {
  padding: 5px 10px;
  border: 1px solid var(--rvc-line);
  border-radius: 8px;
  background: #fff;
  font-family: inherit;
  font-size: .78rem;
  color: #555;
  cursor: pointer;
}
.rvc-results-back:hover,
.rvc-results-deep:hover { border-color: var(--rvc-accent); color: var(--rvc-accent); }

/* Días que ningún filtro deja con carreras: se apagan, no desaparecen. */
.rvc-day--off { opacity: .32; }

/* ── Race cards ────────────────────────────────────────────── */
.rvc-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.rvc-card {
  position: relative;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--rvc-line);
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  background: #fff;
  transition: transform .12s, box-shadow .12s, opacity .15s, filter .15s;
}
.rvc-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,.09); }

/* ── Carreras ya celebradas ──────────────────────────────────────────
   Atenuamos SOLO la imagen y el texto (no toda la tarjeta con opacity,
   porque eso lavaba también la cinta "Terminada"). Al pasar el ratón se
   revela a color.                                                        */
.rvc-card--past { background: #fafafa; }
.rvc-card--past .rvc-card-img {
  filter: grayscale(1);
  opacity: .9;
  transition: filter .15s, opacity .15s;
}
.rvc-card--past .rvc-card-title { color: #8c8c8c; }
.rvc-card--past .rvc-chip { opacity: .7; }
.rvc-card--past:hover .rvc-card-img { filter: grayscale(0); opacity: 1; }
.rvc-card--past:hover .rvc-card-title { color: inherit; }

/* Cinta diagonal "Terminada" (esquina superior izquierda). Ancho fijo +
   texto centrado para que NO quede descentrado ni se corte. Gris muy
   oscuro para que destaque sobre la tarjeta atenuada.                    */
.rvc-finished {
  position: absolute;
  top: 18px;
  left: -42px;
  width: 160px;
  transform: rotate(-45deg);
  background: #1f2937;
  color: #fff;
  text-align: center;
  font-size: .62rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
  line-height: 1.5;
  padding: 5px 0;
  z-index: 4;
  box-shadow: 0 2px 6px rgba(0,0,0,.35);
  pointer-events: none;
}
/* Separador entre el bloque de próximas y el de terminadas */
.rvc-past-sep {
  grid-column: 1 / -1;
  height: 1px;
  background: var(--rvc-line);
  margin: 4px 0;
}
.rvc-card-img { height: 120px; background-size: cover; background-position: center; background-color: #f2f2f2; }
.rvc-card-body { padding: 10px 13px; display: flex; flex-direction: column; gap: 7px; flex: 1; }
.rvc-card-top { display: flex; align-items: flex-start; gap: 8px; flex-wrap: wrap; }

.rvc-date {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
  background: var(--rvc-accent);
  color: #fff;
  border-radius: 8px;
  padding: 5px 9px;
  flex-shrink: 0;
}
.rvc-date-d { font-size: 1rem; font-weight: 700; }
.rvc-date-m { font-size: .6rem; text-transform: uppercase; letter-spacing: .05em; margin-top: 1px; }
/* El año va dentro de la caja naranja: gris claro ahí no se lee. */
.rvc-date-y { font-size: .56rem; color: rgba(255,255,255,.8); letter-spacing: .04em; }

.rvc-card-title { margin: 0; font-size: .88rem; line-height: 1.35; flex: 1; }
.rvc-chips { display: flex; flex-wrap: wrap; gap: 4px; margin-top: auto; }
.rvc-chip {
  font-size: .67rem;
  background: #f0f0f0;
  color: #555;
  padding: 2px 8px;
  border-radius: 20px;
  font-weight: 500;
}
/* Tinte claro de fondo + texto oscurecido, derivados de cada color de tipo. */
.rvc-chip--asfalto    { background: color-mix(in srgb, var(--rvc-asfalto)    15%, #fff); color: color-mix(in srgb, var(--rvc-asfalto)    72%, #000); }
.rvc-chip--trail      { background: color-mix(in srgb, var(--rvc-trail)      15%, #fff); color: color-mix(in srgb, var(--rvc-trail)      72%, #000); }
.rvc-chip--montana    { background: color-mix(in srgb, var(--rvc-montana)    15%, #fff); color: color-mix(in srgb, var(--rvc-montana)    72%, #000); }
.rvc-chip--cross      { background: color-mix(in srgb, var(--rvc-cross)      16%, #fff); color: color-mix(in srgb, var(--rvc-cross)      74%, #000); }
.rvc-chip--btt        { background: color-mix(in srgb, var(--rvc-btt)        15%, #fff); color: color-mix(in srgb, var(--rvc-btt)        74%, #000); }
.rvc-chip--obstaculos { background: color-mix(in srgb, var(--rvc-obstaculos) 15%, #fff); color: color-mix(in srgb, var(--rvc-obstaculos) 72%, #000); }

.rvc-price { font-size: .8rem; font-weight: 700; color: var(--rvc-accent); margin-left: auto; }
.rvc-state { font-size: .62rem; text-transform: uppercase; padding: 2px 7px; border-radius: 6px; }
.rvc-state--agotada, .rvc-state--cancelada { background: #fde2e2; color: #b42318; }
.rvc-state--cerrada  { background: #ebebeb; color: #555; }
.rvc-state--aplazada { background: #fff3cd; color: #8a6d00; }
/* Carrera programada (post en 'future'): su enlace público aún da 404. */
.rvc-state--sched    { background: #e7f0ff; color: #1a4fa0; }

.rvc-empty-msg { color: #999; padding: 20px 0; grid-column: 1 / -1; font-size: .9rem; }

/* ── Responsive ────────────────────────────────────────────── */
@media (max-width: 900px) {
  .rvc-list { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .rvc-list { grid-template-columns: repeat(2, 1fr); }
  .rvc-day { min-height: 50px; padding: 5px 5px 4px; }
  .rvc-type-badge { width: 16px; height: 16px; font-size: .56rem; }
  .rvc-cal-body { gap: 3px; }
  .rvc-cal-head { gap: 3px; }
  .rvc-title { font-size: .95rem; }
}
@media (max-width: 400px) {
  .rvc-list { grid-template-columns: 1fr; }
  .rvc-day { min-height: 44px; }
}

/* ── Perfil de altimetría (RVC_Profile) ────────────────────── */
.rvc-prof {
  margin: 28px 0;
  font-family: inherit;
}
.rvc-prof-h {
  font-size: 1.3rem;
  margin: 0 0 14px;
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}
.rvc-prof-ed {
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #fff;
  background: #e8561e;
  border-radius: 999px;
  padding: 3px 10px;
}
.rvc-prof-map { margin-bottom: 16px; border-radius: 10px; overflow: hidden; border: 1px solid #e0e0e0; }
.rvc-prof-map iframe { display: block; }
.rvc-prof-stats {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
  margin-bottom: 12px;
  font-size: .95rem;
  color: #444;
}
.rvc-prof-stats b { font-size: 1.15rem; color: #222; }
.rvc-prof-chart {
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  padding: 10px;
  background: #fff;
}
.rvc-prof-chart svg { width: 100%; height: auto; display: block; }
.rvc-prof-line { fill: none; stroke: #e8561e; stroke-width: 2; vector-effect: non-scaling-stroke; }
.rvc-prof-area { fill: rgba(232,86,30,.10); stroke: none; }
.rvc-prof-grid { stroke: #eee; stroke-width: 1; vector-effect: non-scaling-stroke; }
.rvc-prof-axis { fill: #999; font-size: 13px; }
.rvc-prof-details { margin-top: 12px; }
.rvc-prof-details summary { cursor: pointer; font-weight: 600; font-size: .9rem; color: #e8561e; }
.rvc-prof-tablewrap { overflow-x: auto; margin-top: 10px; }
.rvc-prof-table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.rvc-prof-table th { text-align: left; border-bottom: 2px solid #2a2a2a; padding: 6px 10px; font-size: .74rem; text-transform: uppercase; letter-spacing: .03em; color: #666; }
.rvc-prof-table td { padding: 5px 10px; border-bottom: 1px solid #eee; white-space: nowrap; }
.rvc-prof-cta { margin-top: 14px; }
.rvc-prof-cta a { font-weight: 700; color: #e8561e; text-decoration: none; }
.rvc-prof-cta a:hover { text-decoration: underline; }
.rvc-prof-src { margin-top: 8px; font-size: .8rem; color: #999; }
.rvc-prof-src a { color: #999; }

/* ── Enlace "Planifica la carrera" (inicio del artículo) ───── */
.rvc-plan-cta { margin: 0 0 22px; }
.rvc-plan-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: #e8561e;
  color: #fff;
  font-weight: 700;
  font-size: .95rem;
  text-decoration: none;
  border-radius: 10px;
  transition: background .12s;
}
.rvc-plan-btn:hover { background: #d04a16; color: #fff; }
.rvc-plan-btn svg { flex-shrink: 0; }

/* ── Ficha de datos de la carrera (inicio del post, render desde meta) ── */
.rvc-ficha {
  margin: 0 0 1.6rem;
  border: 1px solid #e7e2d8;
  border-left: 4px solid #e8561e;
  border-radius: 12px;
  background: #faf8f4;
  overflow: hidden;
}
.rvc-ficha__cap {
  padding: 10px 16px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #e8561e;
  background: #fdf1ec;
  border-bottom: 1px solid #f0e3da;
}
.rvc-ficha__nota {
  margin: 0;
  padding: 10px 16px;
  font-size: 13px;
  color: #5c554b;
  background: #f3efe7;
  border-top: 1px solid #efe9df;
}
.rvc-ficha__table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
  font-size: 15px;
  color: #191713;
}
.rvc-ficha__table th,
.rvc-ficha__table td {
  padding: 9px 16px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #efe9df;
}
.rvc-ficha__table tr:last-child th,
.rvc-ficha__table tr:last-child td { border-bottom: 0; }
.rvc-ficha__table th {
  width: 38%;
  font-weight: 600;
  color: #5c554b;
  white-space: nowrap;
}
.rvc-ficha__table td { font-weight: 500; }
@media (max-width: 520px) {
  .rvc-ficha__table th { width: 42%; white-space: normal; }
  .rvc-ficha__table th, .rvc-ficha__table td { padding: 8px 12px; font-size: 14px; }
}

/* ─────────────────────────────────────────── Alojamiento (mapa de Stay22) */
/* Mismo lenguaje visual que el bloque de altimetría (.rvc-prof): naranja de
   marca para el título, marco suave para el iframe de terceros. */
.rvc-stay22 {
  margin: 32px 0 8px;
  padding-top: 18px;
  border-top: 1px solid #eee;
}
.rvc-stay22__h {
  margin: 0 0 4px;
  font-size: 1.35rem;
  line-height: 1.2;
}
.rvc-stay22__note {
  margin: 0 0 12px;
  font-size: .9rem;
  color: #666;
}
.rvc-stay22__map {
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #e0e0e0;
  background: #f7f7f7;
}
.rvc-stay22__map iframe { display: block; width: 100%; border: 0; }
.rvc-stay22__aff {
  margin: 8px 0 0;
  font-size: .78rem;
  color: #999;
}
@media (max-width: 520px) {
  .rvc-stay22 { margin-top: 24px; }
  .rvc-stay22__h { font-size: 1.2rem; }
}

/* ── Disponibilidad de alojamiento en las guías [rvc_disponibilidad] (2.16.0) ──
   Todo cuelga de #rvc-disponibilidad: el tema ZOX da estilo a los párrafos y listas
   del artículo con #mvp-content-main p / ul li, y una clase sola perdía (2.16.1). */
#rvc-disponibilidad.rvc-dispo {
  margin: 8px 0 28px;
  padding: 18px 18px 14px;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  background: #fff;
}
#rvc-disponibilidad .rvc-dispo__h { margin: 0 0 4px; font-family: 'Oswald', sans-serif; font-size: 1.45rem; font-weight: 700; line-height: 1.25; color: #000; }
#rvc-disponibilidad .rvc-dispo__h3 { margin: 18px 0 6px; font-family: 'Oswald', sans-serif; font-size: 1.2rem; font-weight: 700; color: #000; }
#rvc-disponibilidad .rvc-dispo__note { margin: 0 0 14px; font-size: .88rem; line-height: 1.45; color: #666; }
#rvc-disponibilidad .rvc-dispo__hero { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin-bottom: 14px; }
#rvc-disponibilidad .rvc-dispo__big { font-size: 3rem; font-weight: 700; line-height: 1; color: #222; font-variant-numeric: tabular-nums; }
#rvc-disponibilidad .rvc-dispo__lbl { font-size: 1rem; color: #333; }
#rvc-disponibilidad .rvc-dispo__delta { flex-basis: 100%; font-size: .88rem; color: #666; }
#rvc-disponibilidad .rvc-dispo__tiles {
  list-style: none; margin: 0 0 12px; padding: 0;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px;
}
#rvc-disponibilidad .rvc-dispo__tile { margin: 0; padding: 10px 12px; border-radius: 10px; background: #f7f7f7; display: flex; flex-direction: column; gap: 2px; }
#rvc-disponibilidad .rvc-dispo__v { font-size: 1.35rem; font-weight: 700; color: #222; font-variant-numeric: tabular-nums; }
#rvc-disponibilidad .rvc-dispo__l { font-size: .82rem; color: #555; line-height: 1.3; }
#rvc-disponibilidad .rvc-dispo__d { font-size: .8rem; color: #777; }
#rvc-disponibilidad .rvc-dispo__mix { margin: 0 0 6px; font-size: .9rem; line-height: 1.45; color: #444; }
#rvc-disponibilidad .rvc-dispo__mix + .rvc-dispo__charts, #rvc-disponibilidad .rvc-dispo__mix:last-of-type { margin-bottom: 12px; }
#rvc-disponibilidad .rvc-dispo__charts { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; margin: 4px 0 10px; }
#rvc-disponibilidad .rvc-dispo__fig { margin: 0; max-width: 520px; }
#rvc-disponibilidad .rvc-dispo__fig figcaption { font-size: .85rem; font-weight: 600; color: #333; margin-bottom: 4px; }
#rvc-disponibilidad .rvc-dispo__fig svg { width: 100%; height: auto; display: block; overflow: visible; }
#rvc-disponibilidad .rvc-dispo__bar { fill: #e8561e; }
#rvc-disponibilidad .rvc-dispo__line { fill: none; stroke: #e8561e; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
#rvc-disponibilidad .rvc-dispo__area { fill: rgba(232,86,30,.10); stroke: none; }
#rvc-disponibilidad .rvc-dispo__dot { fill: #e8561e; stroke: #fff; stroke-width: 2; }
#rvc-disponibilidad .rvc-dispo__grid { stroke: #eee; stroke-width: 1; }
#rvc-disponibilidad .rvc-dispo__ax { fill: #888; font-size: 11px; }
#rvc-disponibilidad .rvc-dispo__val { fill: #333; font-size: 12px; font-weight: 600; }
#rvc-disponibilidad .rvc-dispo__cta { margin: 6px 0 4px; font-size: 1rem; font-weight: 600; }
#rvc-disponibilidad .rvc-dispo__cta a { color: #e8561e; }
#rvc-disponibilidad .rvc-dispo__tl { margin: 0 0 10px; padding-left: 0; list-style: none; }
#rvc-disponibilidad .rvc-dispo__ev { margin: 0; padding: 6px 0; border-top: 1px solid #f0f0f0; font-size: .92rem; line-height: 1.45; display: grid; grid-template-columns: 4.6em 1fr; gap: 8px; }
#rvc-disponibilidad .rvc-dispo__ev:first-child { border-top: 0; }
#rvc-disponibilidad .rvc-dispo__tl time { font-weight: 600; color: #333; }
#rvc-disponibilidad .rvc-dispo__datos summary { cursor: pointer; font-size: .88rem; font-weight: 600; color: #e8561e; }
#rvc-disponibilidad .rvc-dispo__tw { overflow-x: auto; }
#rvc-disponibilidad .rvc-dispo__datos table { width: 100%; margin-top: 8px; font-size: .85rem; border-collapse: collapse; }
#rvc-disponibilidad .rvc-dispo__datos th, #rvc-disponibilidad .rvc-dispo__datos td { padding: 4px 6px; text-align: right; border-bottom: 1px solid #f0f0f0; white-space: nowrap; font-variant-numeric: tabular-nums; }
#rvc-disponibilidad .rvc-dispo__datos th:first-child, #rvc-disponibilidad .rvc-dispo__datos td:first-child { text-align: left; }
#rvc-disponibilidad .rvc-dispo__src { margin: 10px 0 0; font-size: .78rem; line-height: 1.45; color: #999; }
@media (max-width: 520px) {
#rvc-disponibilidad.rvc-dispo { padding: 14px 12px 12px; }
#rvc-disponibilidad .rvc-dispo__big { font-size: 2.4rem; }
}

/* 2.18.0: varias distancias por carrera (pestañas del bloque de altimetría) */
.rvc-prof-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
.rvc-prof-tab { border: 1px solid #e0e0e0; background: #fff; color: #333; border-radius: 999px; padding: 6px 14px; font-size: .88rem; font-weight: 600; cursor: pointer; line-height: 1.2; }
.rvc-prof-tab:hover { border-color: #e8561e; color: #e8561e; }
.rvc-prof-tab[aria-selected="true"] { background: #e8561e; border-color: #e8561e; color: #fff; }
.rvc-prof-tab:focus-visible { outline: 2px solid #e8561e; outline-offset: 2px; }
.rvc-prof-panel[hidden] { display: none; }
.rvc-prof-sub { margin: 0 0 8px; font-size: .85rem; color: #777; }
