/*
 * deretiro-ui.css — la interfaz nueva de deretiro.es (17-09-2026).
 *
 * Explorador de secciones (mapa · lista · tabla), filtros, tarjetas, títulos
 * unificados, fichas de retiro, pie y transiciones. Se carga después de
 * arreglos-deretiro.css con la fecha del fichero en la URL.
 *
 * Trampa conocida: el CSS de Elementor de cada página entra en el BODY, y el
 * tema pone `a:hover { color; font-weight:700 !important }`: los enlaces que
 * son tarjetas o celdas llevan color y peso explícitos para que no cambien.
 */

:root {
  --dr-azul: #79acb2;
  --dr-azul-oscuro: #5f9198;
  --dr-azul-claro: #c9dee4;
  --dr-fondo: #f3f8f9;
  --dr-marron: #471f13;
  --dr-marron-suave: #6b3a2a;
  --dr-texto: #3a2b23;
  --dr-suave: #5c4b40;
  --dr-gris: #8a7f75;
  --dr-linea: #dbe6e9;
  --dr-tostado: #927e66;
  --dr-tostado-oscuro: #7a6853;
  --dr-radio: 14px;
  --dr-sombra: 0 12px 28px rgba(71, 31, 19, 0.1);
  --dr-sombra-suave: 0 4px 14px rgba(71, 31, 19, 0.07);
  --dr-fuente: Roboto, "Helvetica Neue", Arial, sans-serif;
  --dr-titulos: Trirong, Georgia, "Times New Roman", serif;
  --dr-cursiva: "Homemade Apple", cursive;
  --dr-anillo: 0 0 0 3px rgba(121, 172, 178, 0.28);
}

/* ---------- animaciones ---------- */

@keyframes dr-aparece {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}
@keyframes dr-panel {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}
@keyframes dr-hoja {
  from { transform: translateY(100%); }
  to { transform: none; }
}
@keyframes dr-pagina-entra {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
@keyframes dr-velo {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* ---------- explorador ---------- */

.dr-explorador {
  --dr-ancho: 1300px; /* el ancho normal, para que la barra no se mueva cuando la vista Tabla ensancha el explorador */
  max-width: var(--dr-ancho);
  margin: 0 auto 60px;
  padding: 0 10px;
  font-family: var(--dr-fuente);
  color: var(--dr-texto);
  box-sizing: border-box;
}
.dr-explorador *, .dr-explorador *::before, .dr-explorador *::after { box-sizing: border-box; }
.dr-explorador__titulo {
  font-family: var(--dr-titulos);
  font-weight: 500;
  font-size: 32px;
  line-height: 1.15;
  color: var(--dr-marron);
  margin: 0 0 18px;
}
.dr-barra__centinela { height: 1px; }
.dr-barra {
  position: sticky;
  top: 0;
  z-index: 60;
  margin: 0 -10px 22px;
  padding: 12px 10px 10px;
  background: #fff;
  border-bottom: 1px solid transparent;
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
}
.dr-barra--pegada { border-bottom-color: var(--dr-linea); box-shadow: 0 8px 24px rgba(71, 31, 19, 0.08); }
.dr-barra__fila { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.dr-barra__filtros { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.dr-barra__estado { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-top: 10px; min-height: 22px; font-size: 13.5px; color: var(--dr-suave); }
.dr-barra__cuenta { font-weight: 500; color: var(--dr-marron); white-space: nowrap; }
.dr-barra__de { font-weight: 400; color: var(--dr-gris); }
.dr-barra__activos { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }

/* píldora base: 44px, la misma altura para todo lo de la barra */
.dr-pildora, .dr-buscar, .dr-vistas, .dr-explorador .fecha__boton {
  height: 44px;
  border-radius: 999px;
  border: 1px solid var(--dr-linea);
  background: #fff;
  color: var(--dr-texto);
  font-family: var(--dr-fuente);
  font-size: 14.5px;
  font-weight: 400;
  line-height: 1;
  box-shadow: none;
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease, color 0.18s ease;
}
.dr-explorador .fecha__boton { padding: 0 14px 0 16px; font-size: 14.5px; color: var(--dr-texto); }
.dr-explorador .fecha__boton:hover { border-color: var(--dr-azul); background: var(--dr-fondo); }
.dr-explorador .fecha--activa .fecha__boton { background: var(--dr-marron); border-color: var(--dr-marron); color: #fff; }
.dr-explorador .fecha { font-family: var(--dr-fuente); }
.dr-explorador .fecha__panel { animation: dr-panel 0.16s ease-out; border-color: var(--dr-linea); }

/* buscador */
.dr-buscar {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 8px 0 16px;
  flex: 1 1 260px;
  max-width: 420px;
  min-width: 200px;
  cursor: text;
}
.dr-buscar:hover { border-color: var(--dr-azul); }
.dr-buscar:focus-within { border-color: var(--dr-azul); box-shadow: var(--dr-anillo); }
.dr-buscar__lupa { color: var(--dr-azul); flex: none; }
.dr-buscar input,
.dr-buscar input[type="text"] {
  flex: 1;
  min-width: 0;
  height: 42px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  outline: none;
  box-shadow: none;
  font: inherit;
  font-size: 14.5px;
  color: var(--dr-texto);
  appearance: none;
  -webkit-appearance: none;
}
.dr-buscar input::placeholder { color: var(--dr-gris); opacity: 1; }
.dr-buscar__borrar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--dr-fondo);
  color: var(--dr-suave);
  cursor: pointer;
  flex: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.dr-buscar__borrar:hover { background: var(--dr-azul-claro); color: var(--dr-marron); }

/* desplegable */
.dr-desplegable { position: relative; }
.dr-desplegable__boton {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px 0 16px;
  margin: 0;
  max-width: 260px;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.dr-desplegable__boton:hover:not(:disabled) { border-color: var(--dr-azul); background: var(--dr-fondo); }
.dr-desplegable__boton:focus-visible { outline: none; border-color: var(--dr-azul); box-shadow: var(--dr-anillo); }
.dr-desplegable__boton:disabled { opacity: 0.45; cursor: default; }
.dr-desplegable--abierto .dr-desplegable__boton { border-color: var(--dr-azul); box-shadow: var(--dr-anillo); }
.dr-desplegable--activo .dr-desplegable__boton { background: var(--dr-marron); border-color: var(--dr-marron); color: #fff; font-weight: 500; }
.dr-desplegable__texto { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dr-desplegable__flecha { flex: none; color: var(--dr-gris); transition: transform 0.2s ease; }
.dr-desplegable--activo .dr-desplegable__flecha { color: rgba(255, 255, 255, 0.85); }
.dr-desplegable--abierto .dr-desplegable__flecha { transform: rotate(180deg); }
.dr-desplegable__fondo { display: none; }
.dr-desplegable__panel {
  position: absolute;
  z-index: 1200;
  top: calc(100% + 6px);
  left: 0;
  width: 300px;
  max-width: calc(100vw - 40px);
  padding: 6px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid var(--dr-linea);
  box-shadow: 0 14px 40px rgba(20, 30, 35, 0.16);
  animation: dr-panel 0.16s ease-out;
  font-family: var(--dr-fuente);
}
.dr-desplegable__cabecera { display: none; align-items: center; justify-content: space-between; padding: 6px 8px 8px; color: var(--dr-marron); font-size: 15px; }
.dr-desplegable__cerrar { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--dr-fondo); color: var(--dr-marron); cursor: pointer; }
.dr-desplegable__buscar {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 6px;
  padding: 0 10px;
  height: 38px;
  border-radius: 10px;
  border: 1px solid var(--dr-linea);
  background: var(--dr-fondo);
  color: var(--dr-azul);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.dr-desplegable__buscar:focus-within { border-color: var(--dr-azul); box-shadow: var(--dr-anillo); background: #fff; }
.dr-desplegable__buscar input,
.dr-desplegable__buscar input[type="text"] {
  flex: 1;
  min-width: 0;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  outline: none;
  box-shadow: none;
  font: inherit;
  font-size: 14px;
  color: var(--dr-texto);
  appearance: none;
}
.dr-desplegable__lista { list-style: none; margin: 0; padding: 0; max-height: 300px; overflow-y: auto; overscroll-behavior: contain; }
.dr-desplegable__opcion {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  color: var(--dr-texto);
  transition: background 0.12s ease;
}
.dr-desplegable__opcion.marcada, .dr-desplegable__opcion:hover { background: var(--dr-fondo); }
.dr-desplegable__opcion.elegida { color: var(--dr-marron); font-weight: 500; }
.dr-desplegable__opcion.vacia { color: var(--dr-gris); }
.dr-desplegable__marca { display: inline-flex; width: 16px; height: 16px; align-items: center; justify-content: center; color: var(--dr-azul); flex: none; }
.dr-desplegable__nombre { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dr-desplegable__n { font-size: 12px; color: var(--dr-gris); flex: none; }
.dr-desplegable__nada { padding: 12px 10px; font-size: 13.5px; color: var(--dr-gris); }
.dr-desplegable__lista::-webkit-scrollbar { width: 8px; }
.dr-desplegable__lista::-webkit-scrollbar-thumb { background: var(--dr-azul); border-radius: 999px; }
.dr-desplegable__lista::-webkit-scrollbar-track { background: transparent; }

/* vistas: mapa · lista · tabla */
.dr-vistas {
  position: relative;
  display: inline-flex;
  align-items: stretch;
  padding: 3px;
  margin-left: auto;
  gap: 2px;
  background: var(--dr-fondo);
  border-color: var(--dr-linea);
  overflow: hidden;
  isolation: isolate;
}
.dr-vistas__indicador {
  position: absolute;
  top: 3px;
  bottom: 3px;
  left: 0;
  border-radius: 999px;
  background: var(--dr-marron);
  box-shadow: 0 2px 8px rgba(71, 31, 19, 0.25);
  transition: transform 0.32s cubic-bezier(0.2, 0.7, 0.2, 1), width 0.32s cubic-bezier(0.2, 0.7, 0.2, 1);
  z-index: 0;
}
.dr-vistas .dr-vistas__boton {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 36px;
  margin: 0;
  padding: 0 14px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--dr-suave);
  font: inherit;
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
  appearance: none;
  transition: color 0.2s ease;
}
/* el rótulo mide siempre lo que mide en peso 500 (la vista activa): los botones no se ensanchan ni se mueven al cambiar */
.dr-vistas__texto { display: inline-block; }
.dr-vistas__texto::after { content: attr(data-texto); display: block; height: 0; overflow: hidden; visibility: hidden; font-weight: 500; }
.dr-vistas .dr-vistas__boton:hover { color: var(--dr-marron); }
.dr-vistas .dr-vistas__boton.activa { color: #fff; font-weight: 500; }
.dr-vistas .dr-vistas__boton:focus-visible { outline: none; box-shadow: var(--dr-anillo); }

/* filtros puestos */
.dr-activo {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 28px;
  padding: 0 10px 0 12px;
  margin: 0;
  border: 1px solid var(--dr-marron);
  border-radius: 999px;
  background: var(--dr-marron);
  color: #fff;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
  appearance: none;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.dr-activo:hover { background: var(--dr-marron-suave); border-color: var(--dr-marron-suave); }
.dr-activo--todos { background: transparent; color: var(--dr-marron); }
.dr-activo--todos:hover { background: var(--dr-fondo); color: var(--dr-marron); }

/* ---------- vistas ---------- */

.dr-vista { animation: dr-aparece 0.22s ease-out; }
.dr-mapa { height: 480px; border-radius: var(--dr-radio); overflow: hidden; border: 1px solid var(--dr-linea); }
.dr-mapa .leaflet-container { font-family: var(--dr-fuente); }

/* rejilla y tarjeta */
.dr-rejilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 22px; }
.dr-tarjeta, a.dr-tarjeta {
  --i: 0;
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid var(--dr-linea);
  border-radius: var(--dr-radio);
  background: #fff;
  overflow: hidden;
  text-decoration: none !important;
  color: var(--dr-texto) !important;
  font-family: var(--dr-fuente);
  font-weight: 400 !important;
  box-shadow: var(--dr-sombra-suave);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
  animation: dr-aparece 0.32s ease-out both;
  animation-delay: calc(var(--i) * 28ms);
}
a.dr-tarjeta:hover, a.dr-tarjeta:focus-visible, .dr-tarjeta--enlace:hover, .dr-tarjeta--enlace:focus-within {
  transform: translateY(-3px);
  box-shadow: var(--dr-sombra);
  border-color: var(--dr-azul);
  color: var(--dr-texto) !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  outline: none;
}
a.dr-tarjeta:focus-visible { box-shadow: var(--dr-anillo), var(--dr-sombra); }
/* la tarjeta con ficha ya es un <article> con el enlace «Ver ficha» dentro (los botones no caben en un <a>) */
.dr-tarjeta--enlace { cursor: pointer; margin: 0; }
.dr-tarjeta--enlace .dr-tarjeta__ir:focus-visible { outline: none; box-shadow: var(--dr-anillo); border-radius: 4px; }
/* la tarjeta a la que se llega desde el mapa: aro azul que se queda; al llegar, late tres veces y el fondo azul claro se apaga (2,5 s) */
.dr-tarjeta--resaltada { border-color: var(--dr-azul); box-shadow: 0 0 0 3px rgba(121, 172, 178, 0.55), var(--dr-sombra); }
@keyframes dr-late {
  0% { box-shadow: 0 0 0 3px rgba(121, 172, 178, 0.9), 0 0 0 3px rgba(121, 172, 178, 0.9), var(--dr-sombra); }
  60% { box-shadow: 0 0 0 3px rgba(121, 172, 178, 0.9), 0 0 0 18px rgba(121, 172, 178, 0), var(--dr-sombra); }
  100% { box-shadow: 0 0 0 3px rgba(121, 172, 178, 0.9), 0 0 0 18px rgba(121, 172, 178, 0), var(--dr-sombra); }
}
@keyframes dr-late-fondo {
  0%, 55% { background-color: var(--dr-azul-claro); }
  100% { background-color: #fff; }
}
.dr-tarjeta--resaltada.dr-late { animation: dr-late 0.9s ease-out 3, dr-late-fondo 2.6s ease-out 1 both; animation-delay: 0.1s, 0.1s; }
.dr-tarjeta__imagen { display: block; position: relative; aspect-ratio: 16 / 10; background: var(--dr-fondo); overflow: hidden; }
.dr-tarjeta__imagen img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.45s ease; }
a.dr-tarjeta:hover .dr-tarjeta__imagen img, .dr-tarjeta--enlace:hover .dr-tarjeta__imagen img { transform: scale(1.03); }
.dr-tarjeta__sinfoto { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--dr-azul); background: linear-gradient(135deg, #eef5f6, #dbe9ec); }
.dr-tarjeta__cuerpo { display: flex; flex-direction: column; gap: 8px; padding: 18px 18px 16px; flex: 1; }
.dr-chip {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  height: 22px;
  padding: 0 9px;
  border-radius: 999px;
  background: var(--dr-azul-claro);
  color: var(--dr-marron);
  font-family: var(--dr-fuente);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dr-tarjeta__titulo {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-family: var(--dr-titulos);
  font-size: 21px;
  font-weight: 500;
  line-height: 1.22;
  color: var(--dr-marron);
}
.dr-tarjeta__texto {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--dr-suave);
}
.dr-tarjeta__datos { display: flex; flex-direction: column; gap: 5px; margin-top: 2px; }
.dr-tarjeta__dato { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; line-height: 1.4; color: var(--dr-texto); min-width: 0; }
.dr-tarjeta__dato svg { flex: none; margin-top: 2px; color: var(--dr-azul); }
.dr-tarjeta__dato span { min-width: 0; overflow-wrap: anywhere; }
/* una fecha ya pasada («Última edición: …»): apagada, la fila no se borra */
.dr-tarjeta__dato--pasada { opacity: 0.55; }
.dr-tarjeta__dato--pasada svg { color: var(--dr-texto); }
.dr-tarjeta__nota { font-size: 13px; line-height: 1.45; color: var(--dr-suave); border-top: 1px dashed var(--dr-linea); padding-top: 8px; margin-top: 2px; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.dr-tarjeta__ir, a.dr-tarjeta__ir { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 6px; font-size: 13.5px; font-weight: 500 !important; color: var(--dr-azul-oscuro) !important; text-decoration: none !important; transition: gap 0.2s ease; }
a.dr-tarjeta:hover .dr-tarjeta__ir, .dr-tarjeta--enlace:hover .dr-tarjeta__ir { gap: 10px; color: var(--dr-azul-oscuro) !important; }
.dr-tarjeta__sinenlace { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 6px; font-size: 13px; color: var(--dr-gris); font-style: italic; }
.dr-tarjeta__sinenlace svg { flex: none; color: var(--dr-gris); }
.dr-mas { display: flex; justify-content: center; margin-top: 28px; }
.dr-mas__n { font-size: 12.5px; opacity: 0.7; margin-left: 6px; }

/* botones */
.dr-boton, a.dr-boton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 22px;
  margin: 0;
  border: 1px solid var(--dr-marron);
  border-radius: 999px;
  background: var(--dr-marron);
  color: #fff !important;
  font-family: var(--dr-fuente);
  font-size: 14.5px;
  font-weight: 500 !important;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  text-transform: none;
  cursor: pointer;
  appearance: none;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.dr-boton:hover, a.dr-boton:hover { background: var(--dr-marron-suave); border-color: var(--dr-marron-suave); color: #fff !important; transform: translateY(-1px); box-shadow: var(--dr-sombra-suave); }
.dr-boton:focus-visible { outline: none; box-shadow: var(--dr-anillo); }
.dr-boton--suave, a.dr-boton--suave { background: #fff; color: var(--dr-marron) !important; border-color: var(--dr-linea); }
.dr-boton--suave:hover, a.dr-boton--suave:hover { background: var(--dr-fondo); border-color: var(--dr-azul); color: var(--dr-marron) !important; }
.dr-boton--contorno, a.dr-boton--contorno { background: transparent; color: var(--dr-marron) !important; }
.dr-boton--contorno:hover, a.dr-boton--contorno:hover { background: var(--dr-marron); color: #fff !important; }
.dr-boton--retstay, a.dr-boton--retstay { background: var(--dr-tostado); border-color: var(--dr-tostado); }
.dr-boton--retstay:hover, a.dr-boton--retstay:hover { background: var(--dr-tostado-oscuro); border-color: var(--dr-tostado-oscuro); }
.dr-boton--retstay img { height: 20px; width: auto; display: block; }
/* el enlace de inscripción / Info: en negrita y en el azul de la web, entero y
   partible (Gonzalo, 18-09-2026): en la ficha del retiro, en el texto de
   Información y en las tablas (columna «Info» de las parroquias) */
a.dr-enlace-info, .dr-tabla a.dr-enlace-info, .evcal_evdata_row a.dr-enlace-info { font-weight: 700 !important; color: var(--dr-azul) !important; text-decoration: none; overflow-wrap: anywhere; }
a.dr-enlace-info:hover { color: var(--dr-azul-oscuro) !important; text-decoration: underline; }
.evcal_evdata_row p.dr-inscripcion { margin: 2px 0 4px; font-size: 14px; }
/* botón «Inscribirse» dentro de la ficha de un retiro (fila Inscripción de EventCard) */
.evcal_evdata_row a.dr-boton--inscripcion { margin: 2px 0 4px; min-height: 40px; padding: 0 22px !important; width: auto !important; line-height: 1 !important; }
/* lo que es de RetStay se selecciona en su tostado, no en el azul de la web (Gonzalo, 17-09-2026) */
.deretiro-retstay::selection, .deretiro-retstay *::selection, .dr-boton--retstay::selection, .dr-boton--retstay *::selection, .dr-pie__retstay::selection, .dr-pie__retstay *::selection { background: var(--dr-tostado-oscuro); color: #fff; }
.deretiro-retstay::-moz-selection, .deretiro-retstay *::-moz-selection, .dr-boton--retstay::-moz-selection, .dr-boton--retstay *::-moz-selection, .dr-pie__retstay::-moz-selection, .dr-pie__retstay *::-moz-selection { background: var(--dr-tostado-oscuro); color: #fff; }

/* barra superior (RetStay · Sobre DeRetiro · Instagram). Fuera del móvil la
   columna izquierda está vacía (su lista sólo se ve en el teléfono) y la derecha
   se quedaba con el 30-50 % del ancho: en tablet y portátil pequeño la fila se
   partía en dos y la segunda quedaba cortada. La derecha ocupa todo y no se parte. */
@media (min-width: 768px) {
  .elementor-10 .elementor-element.elementor-element-24f58a31 > .elementor-container > .elementor-column.elementor-element-701866d3 { display: none; }
  .elementor-10 .elementor-element.elementor-element-24f58a31 > .elementor-container > .elementor-column.elementor-element-45c05505 { width: 100%; }
  .elementor-10 .elementor-element.elementor-element-7dffae85 .elementor-icon-list-items { flex-wrap: nowrap; justify-content: flex-end; }
}
/* en el móvil el botón de RetStay no se encoge (se recortaba el logo) */
.deretiro-retstay-item, .deretiro-retstay, .deretiro-retstay img { flex-shrink: 0; }
@media (max-width: 767px) {
  /* el icono de Instagram llevaba 20px de aire a su derecha (margen del tema) */
  .elementor-10 .elementor-element.elementor-element-dcdcf11 .elementor-icon-list-icon { width: auto; }
  .elementor-10 .elementor-element.elementor-element-dcdcf11 .elementor-icon-list-icon i { margin-right: 2px; }
}
/* el móvil estrecho: del botón queda sólo la palabra «RetStay» y el usuario de Instagram se aprieta */
@media (max-width: 430px) {
  .deretiro-retstay .deretiro-retstay__emblema { display: none; }
  .deretiro-retstay { padding: 5px 12px !important; }
}
@media (max-width: 400px) {
  .elementor-10 .elementor-element.elementor-element-dcdcf11 .elementor-icon-list-items { gap: 10px; }
  .elementor-10 .elementor-element.elementor-element-dcdcf11 .elementor-icon-list-item a[href*="instagram"] .elementor-icon-list-text { font-size: 13px; }
}
@media (max-width: 340px) {
  .elementor-10 .elementor-element.elementor-element-dcdcf11 .elementor-icon-list-item a[href*="instagram"] .elementor-icon-list-text { display: none; }
}

/* tabla: una caja desplazable por fila. Las columnas son minmax(mínimo, fr):
   si caben, se reparten el ancho y no hay barra; si no, la fila se desplaza. */
.dr-tabla { display: flex; flex-direction: column; gap: 6px; }
.dr-tabla__fila {
  --i: 0;
  display: grid;
  grid-template-columns: var(--dr-cols, none);
  align-items: start;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  border: 1px solid var(--dr-linea);
  border-radius: 12px;
  background: #fff;
  animation: dr-aparece 0.3s ease-out both;
  animation-delay: calc(var(--i) * 22ms);
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.dr-tabla__fila:hover { border-color: var(--dr-azul); box-shadow: var(--dr-sombra-suave); }
.dr-tabla__fila--cabecera {
  position: sticky;
  top: var(--dr-barra, 0px);
  z-index: 5;
  background: var(--dr-azul-claro);
  border-color: var(--dr-azul-claro);
  font-weight: 500;
  color: var(--dr-marron);
  animation: none;
}
.dr-tabla__fila--cabecera:hover { border-color: var(--dr-azul-claro); box-shadow: none; }
.dr-tabla__fila--resaltada { border-color: var(--dr-azul); box-shadow: 0 0 0 3px rgba(121, 172, 178, 0.55); }
.dr-tabla__fila--resaltada.dr-late { animation: dr-late 0.9s ease-out 3, dr-late-fondo 2.6s ease-out 1 both; animation-delay: 0.1s, 0.1s; }
.dr-tabla__celda { padding: 12px 14px; font-size: 14px; line-height: 1.45; color: var(--dr-texto); min-width: 0; overflow-wrap: anywhere; }
.dr-tabla__fila--cabecera .dr-tabla__celda { padding: 11px 14px; font-size: 13px; letter-spacing: 0.02em; line-height: 1.3; align-self: end; }
.dr-tabla .dr-tabla__celda a, .dr-tabla .dr-tabla__celda a:hover {
  color: var(--dr-azul-oscuro) !important;
  font-weight: 400 !important;
  text-decoration: none;
}
.dr-tabla .dr-tabla__celda a:hover { text-decoration: underline; }
.dr-tabla .dr-tabla__celda:first-child a, .dr-tabla .dr-tabla__celda:first-child a:hover { color: var(--dr-marron) !important; font-weight: 500 !important; }
.dr-tabla__celda--apagada { color: var(--dr-gris); font-style: italic; }
/* la barra de cada fila: en móvil y tabletas no se ve (se desliza con el dedo);
   en ordenador ocupa siempre su sitio pero sólo se pinta sobre la fila que se
   toca, y como es parte de la fila se puede agarrar sin que desaparezca */
.dr-tabla__fila { scrollbar-width: none; }
.dr-tabla__fila::-webkit-scrollbar { display: none; }
@media (hover: hover) and (pointer: fine) and (min-width: 1024px) {
  .dr-tabla__fila { scrollbar-width: thin; scrollbar-color: transparent transparent; }
  .dr-tabla__fila:hover { scrollbar-color: var(--dr-azul) #eef4f5; }
  .dr-tabla__fila--cabecera:hover { scrollbar-color: var(--dr-azul) rgba(255, 255, 255, 0.55); }
  /* Chrome 121+ ignora ::-webkit-scrollbar cuando hay scrollbar-color: las propiedades estándar sólo para quien no entiende la otra */
  @supports selector(::-webkit-scrollbar) {
    .dr-tabla__fila, .dr-tabla__fila:hover, .dr-tabla__fila--cabecera:hover { scrollbar-width: auto; scrollbar-color: auto; }
    .dr-tabla__fila::-webkit-scrollbar { display: block; height: 8px; }
    .dr-tabla__fila::-webkit-scrollbar-track { background: transparent; border-radius: 999px; margin: 0 12px; }
    .dr-tabla__fila::-webkit-scrollbar-thumb { background: transparent; border-radius: 999px; }
    .dr-tabla__fila:hover::-webkit-scrollbar-track { background: #eef4f5; }
    .dr-tabla__fila--cabecera:hover::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.55); }
    .dr-tabla__fila:hover::-webkit-scrollbar-thumb { background: var(--dr-azul); }
    .dr-tabla__fila:hover::-webkit-scrollbar-thumb:hover { background: var(--dr-azul-oscuro); }
  }
}
/* en vista tabla el explorador se ensancha hasta casi la ventana (16px de margen): cuantas más columnas quepan, menos barra */
@media (min-width: 1024px) {
  .dr-explorador.dr-explorador--tabla { max-width: min(1800px, 100vw - 32px); }
  /* …pero la barra de filtros se queda en su sitio: su contenido conserva el ancho normal, centrado */
  .dr-explorador.dr-explorador--tabla .dr-barra__dentro { max-width: calc(var(--dr-ancho) - 20px); margin: 0 auto; }
}

/* vacío */
.dr-vacio { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 56px 20px; text-align: center; color: var(--dr-suave); border: 1px dashed var(--dr-linea); border-radius: var(--dr-radio); }
.dr-vacio svg { color: var(--dr-azul); }
.dr-vacio p { margin: 0; font-size: 16px; }

/* ---------- cabecera de sección (título unificado) ---------- */

.dr-cabecera {
  max-width: 1300px;
  margin: 0 auto;
  padding: 46px 10px 26px;
  font-family: var(--dr-fuente);
  box-sizing: border-box;
}
.dr-miga { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 14px; font-size: 13px; color: var(--dr-gris); }
.dr-miga a, .dr-miga a:hover { color: var(--dr-azul-oscuro) !important; font-weight: 400 !important; text-decoration: none; }
.dr-miga a:hover { text-decoration: underline; }
.dr-miga svg { color: var(--dr-azul); }
.dr-titulo, h1.dr-titulo, h2.dr-titulo {
  margin: 0;
  font-family: var(--dr-titulos);
  font-size: 46px;
  font-weight: 500;
  line-height: 1.1;
  color: var(--dr-marron);
  letter-spacing: -0.005em;
  overflow-wrap: break-word;
}
.dr-cursiva, p.dr-cursiva, h6.dr-cursiva {
  margin: 8px 0 0;
  font-family: var(--dr-cursiva);
  font-size: 24px;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 1px;
  color: var(--dr-azul);
  text-transform: none;
}
.dr-raya { display: block; width: 52px; height: 3px; margin: 18px 0 0; border-radius: 3px; background: var(--dr-azul); }
.dr-entrada, p.dr-entrada {
  max-width: 760px;
  margin: 18px 0 0;
  font-family: var(--dr-fuente);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.65;
  color: var(--dr-suave);
}
.dr-entrada + .dr-entrada { margin-top: 10px; }
.dr-cabecera__acciones { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }

/* ---------- fichas de tipo (retiros y actividades) ---------- */

.dr-ficha { max-width: 1300px; margin: 0 auto; padding: 26px 10px 0; font-family: var(--dr-fuente); box-sizing: border-box; }
/* la misma rejilla que el contenido de Elementor (qode_grid_1300), para que todo quede alineado */
@media (max-width: 1399px) { .dr-explorador, .dr-cabecera, .dr-ficha { max-width: 1100px; } .dr-explorador { --dr-ancho: 1100px; } }
@media (max-width: 1299px) { .dr-explorador, .dr-cabecera, .dr-ficha { max-width: 950px; } .dr-explorador { --dr-ancho: 950px; } }
@media (max-width: 1023px) { .dr-explorador, .dr-cabecera, .dr-ficha { max-width: 768px; } }
.dr-banner {
  position: relative;
  aspect-ratio: 16 / 6;
  max-height: 420px;
  margin: 0;
  border-radius: 18px;
  overflow: hidden;
  background: var(--dr-fondo);
  isolation: isolate;
}
.dr-banner .dr-banner__fondo { position: absolute; inset: -6%; width: 112%; height: 112%; max-width: none; object-fit: cover; filter: blur(26px) saturate(1.05); opacity: 0.85; z-index: 0; }
.dr-banner .dr-banner__imagen { position: relative; z-index: 1; display: block; width: 100%; height: 100%; object-fit: contain; }
.dr-ficha--banner { padding-top: 22px; }
/* banner panorámico (parroquias): la foto cubre la caja, sin fondo desenfocado */
.dr-banner--cubre { aspect-ratio: 16 / 5; max-height: 360px; }
.dr-banner--cubre .dr-banner__imagen { object-fit: cover; }
/* ficha de parroquia */
.dr-contacto { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 26px; }
.dr-contacto__dato { display: inline-flex; align-items: center; gap: 8px; font-size: 15.5px; color: var(--dr-suave); }
.dr-contacto__dato svg { flex: none; color: var(--dr-azul); }
.dr-contacto__dato a, .dr-contacto__dato a:hover { color: var(--dr-marron) !important; font-weight: 400 !important; text-decoration: none; }
.dr-contacto__dato a:hover { text-decoration: underline; }
.dr-bloque { padding-top: 34px; }
.dr-bloque:last-child { padding-bottom: 20px; }
.dr-bloque__vacio, p.dr-bloque__vacio { margin: 0; color: var(--dr-gris); }
.dr-bloque .dr-tabla { margin-bottom: 4px; }
.dr-ficha__texto { max-width: 780px; margin-top: 8px; overflow-wrap: anywhere; } /* una URL larga escrita en el texto no desborda en el móvil */
.dr-ficha__texto p { font-size: 17px; line-height: 1.65; color: var(--dr-texto); margin: 0 0 14px; }
.dr-ficha__texto p strong { color: var(--dr-marron); font-weight: 500; }
/* todo el texto de la ficha con la misma letra y tamaño, también los bloques de Elementor y las fuentes escritas a mano */
.dr-ficha__texto p, .dr-ficha__texto li, .dr-ficha__texto p.elementor-icon-box-description, .dr-ficha__texto .elementor-icon-box-title, .dr-ficha__texto blockquote { font-family: var(--dr-fuente) !important; font-size: 17px; line-height: 1.65; color: var(--dr-texto); }
.dr-ficha__texto p span, .dr-ficha__texto li span, .dr-ficha__texto p em, .dr-ficha__texto p b { font-family: inherit !important; font-size: inherit !important; }
.dr-ficha__texto .elementor-widget-icon-box { margin-bottom: 14px; }
.dr-ficha__texto blockquote { margin: 0 0 14px; padding: 0; border: 0; }
.dr-ficha__botones { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 34px; }
.dr-ficha__botones svg { flex: none; }

/* ---------- portada: «Aprende a entender el Evangelio» ---------- */

.dr-cabecera--portada { padding-top: 0; padding-bottom: 0; }
.dr-cabecera--portada .dr-titulo { text-transform: uppercase; font-weight: 400; font-size: 40px; letter-spacing: 0.02em; }
.dr-cabecera--centrada { text-align: center; }
.dr-cabecera--centrada .dr-raya { margin-left: auto; margin-right: auto; }
.dr-cabecera--centrada .dr-entrada { margin-left: auto; margin-right: auto; }
.dr-evangelio {
  position: relative;
  padding: 84px 0 92px;
  font-family: var(--dr-fuente);
  background: var(--dr-fondo) url("/wp-content/uploads/2023/05/Portada-Podcast.webp") center / cover no-repeat;
  isolation: isolate;
}
.dr-evangelio::before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(180deg, rgba(243, 248, 249, 0.9), rgba(243, 248, 249, 0.66)); }
.dr-evangelio__dentro { position: relative; z-index: 1; max-width: 1300px; margin: 0 auto; padding: 0 10px; box-sizing: border-box; }
.dr-evangelio__rejilla { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 40px; }
.dr-recurso, a.dr-recurso {
  --i: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 26px 24px 22px;
  border: 1px solid rgba(219, 230, 233, 0.9);
  border-radius: var(--dr-radio);
  background: rgba(255, 255, 255, 0.86);
  box-shadow: var(--dr-sombra-suave);
  color: var(--dr-texto) !important;
  font-weight: 400 !important;
  text-decoration: none;
  box-sizing: border-box;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background 0.22s ease;
}
.dr-recurso:hover, a.dr-recurso:hover { transform: translateY(-4px); box-shadow: var(--dr-sombra); border-color: var(--dr-azul); background: #fff; color: var(--dr-texto) !important; font-weight: 400 !important; }
.dr-recurso:focus-visible { outline: none; box-shadow: var(--dr-anillo); }
.dr-recurso__icono { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 14px; background: var(--dr-azul-claro); color: var(--dr-marron); margin-bottom: 4px; transition: background 0.22s ease, color 0.22s ease; }
.dr-recurso:hover .dr-recurso__icono { background: var(--dr-azul); color: #fff; }
.dr-recurso__titulo { font-family: var(--dr-titulos); font-size: 23px; font-weight: 500; line-height: 1.2; color: var(--dr-marron); }
.dr-recurso__texto { font-size: 14.5px; line-height: 1.55; color: var(--dr-suave); }
.dr-recurso__ir { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 8px; font-size: 13.5px; font-weight: 500; color: var(--dr-azul-oscuro); transition: gap 0.2s ease; }
.dr-recurso:hover .dr-recurso__ir { gap: 10px; }

/* ---------- portada: contacto ---------- */

.dr-contacto-home { padding: 84px 0 96px; background: var(--dr-azul-claro); font-family: var(--dr-fuente); }
.dr-contacto-home__dentro { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 48px 64px; align-items: start; max-width: 1300px; margin: 0 auto; padding: 0 10px; box-sizing: border-box; }
.dr-contacto--portada { margin-top: 26px; flex-direction: column; gap: 12px; }
.dr-contacto--portada .dr-contacto__dato { font-size: 16.5px; }
.dr-contacto--portada .dr-contacto__dato svg { color: var(--dr-marron); }
.dr-formulario { display: flex; flex-direction: column; gap: 14px; padding: 30px 30px 26px; background: #fff; border-radius: 18px; box-shadow: var(--dr-sombra); box-sizing: border-box; }
.dr-formulario *, .dr-formulario *::before, .dr-formulario *::after { box-sizing: border-box; }
.dr-campo { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.dr-campo__rotulo { font-size: 13px; font-weight: 500; letter-spacing: 0.02em; color: var(--dr-marron); }
.dr-formulario .dr-campo input, .dr-formulario .dr-campo textarea {
  width: 100%;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--dr-linea);
  border-radius: 12px;
  background: var(--dr-fondo);
  font-family: var(--dr-fuente);
  font-size: 15.5px;
  line-height: 1.4;
  color: var(--dr-texto);
  box-shadow: none;
  appearance: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}
.dr-formulario .dr-campo input { height: 46px; }
.dr-formulario .dr-campo textarea { min-height: 130px; resize: vertical; }
.dr-formulario .dr-campo input::placeholder, .dr-formulario .dr-campo textarea::placeholder { color: var(--dr-gris); opacity: 1; }
.dr-formulario .dr-campo input:focus, .dr-formulario .dr-campo textarea:focus { outline: none; border-color: var(--dr-azul); background: #fff; box-shadow: var(--dr-anillo); }
.dr-formulario__pie { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 4px; }
.dr-formulario .dr-boton, .dr-formulario .dr-boton:hover { padding: 0 22px; color: #fff !important; font-family: var(--dr-fuente); letter-spacing: 0; text-transform: none; line-height: 1; }
.dr-formulario .dr-boton .elementor-button-text { color: inherit !important; opacity: 1 !important; font-weight: 500; }
.dr-formulario .dr-boton svg { transition: transform 0.2s ease; }
.dr-formulario .dr-boton:hover svg { transform: translateX(3px); }
.dr-formulario__nota { font-size: 13px; color: var(--dr-gris); }
.dr-formulario .deretiro-aviso { margin-top: 0 !important; border-radius: 12px !important; }

/* ---------- pie ---------- */

.dr-pie { font-family: var(--dr-fuente); color: var(--dr-marron); background: var(--dr-azul-claro); margin-top: 60px; }
.dr-pie *, .dr-pie *::before, .dr-pie *::after { box-sizing: border-box; }
.dr-pie__banda { max-width: 1140px; margin: 0 auto; padding: 56px 20px 44px; display: grid; grid-template-columns: 1.3fr 0.8fr 0.8fr 1.3fr; gap: 36px; }
.dr-pie__marca img { display: block; width: 180px; height: auto; }
.dr-pie__lema { margin: 16px 0 0; font-size: 15px; line-height: 1.55; color: var(--dr-suave); max-width: 320px; }
.dr-pie__redes { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 18px; }
/* «Made by Gonzalo Torras», bajo la píldora de Instagram; el nombre enlaza al
   portfolio (con fallback a GitHub en cada clic: components/MadeBy.tsx) */
.dr-pie .dr-pie__autor { flex-basis: 100%; margin: 4px 0 0; font-size: 13px; color: var(--dr-suave) !important; }
.dr-pie .dr-pie__autor a.dr-pie__autor-enlace, .dr-pie .dr-pie__autor a.dr-pie__autor-enlace:hover {
  color: var(--dr-marron) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(71, 31, 19, 0.35);
  transition: border-color 0.15s ease, color 0.15s ease;
}
.dr-pie .dr-pie__autor a.dr-pie__autor-enlace:hover { color: var(--dr-azul-oscuro) !important; border-bottom-color: var(--dr-azul); }
.dr-pie__red, .dr-pie a.dr-pie__red {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 40px;
  padding: 0 14px 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(71, 31, 19, 0.2);
  background: rgba(255, 255, 255, 0.55);
  color: var(--dr-marron) !important;
  font-size: 13.5px;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
.dr-pie a.dr-pie__red:hover { background: #fff; border-color: var(--dr-azul); transform: translateY(-1px); color: var(--dr-marron) !important; font-weight: 500 !important; }
.dr-pie__titulo { margin: 6px 0 14px; font-family: var(--dr-titulos); font-size: 20px; font-weight: 500; color: var(--dr-marron); }
.dr-pie__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.dr-pie__lista a, .dr-pie .dr-pie__lista a:hover {
  color: var(--dr-texto) !important;
  font-size: 15px;
  font-weight: 400 !important;
  text-decoration: none !important;
  transition: color 0.15s ease, padding-left 0.2s ease;
}
.dr-pie .dr-pie__lista a:hover { color: var(--dr-azul-oscuro) !important; padding-left: 4px; }
.dr-pie__lista a[aria-current="page"] { color: var(--dr-azul-oscuro) !important; }
.dr-pie__retstay { padding: 22px 22px 20px; border-radius: 16px; background: rgba(255, 255, 255, 0.6); border: 1px solid rgba(255, 255, 255, 0.9); }
.dr-pie__retstay img { display: block; height: 30px; width: auto; }
.dr-pie__retstay p { margin: 12px 0 16px; font-size: 14px; line-height: 1.55; color: var(--dr-suave); }
.dr-pie__legal { background: var(--dr-marron); color: rgba(255, 255, 255, 0.85); }
.dr-pie__legal-fila { max-width: 1140px; margin: 0 auto; padding: 16px 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 20px; font-size: 13.5px; }
.dr-pie__legal-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 22px; }
.dr-pie__legal a, .dr-pie .dr-pie__legal a:hover { color: #fff !important; font-weight: 400 !important; text-decoration: none !important; opacity: 0.9; }
.dr-pie .dr-pie__legal a:hover { opacity: 1; text-decoration: underline !important; }
.dr-pie .dr-pie__legal p.dr-pie__copia { margin: 0; color: rgba(255, 255, 255, 0.85) !important; font-size: 13.5px; }
.dr-pie .dr-pie__lema { color: var(--dr-suave) !important; }
.dr-pie .dr-pie__retstay p { color: var(--dr-suave) !important; }

/* ---------- cabecera: hover del Instagram, «DE RETIRO» animado, indicador ---------- */

/* el tema pone negrita al pasar por «@mevoyderetiro» y desplazaba todo: hover = sólo un poco de transparencia */
header .elementor-icon-list-item a[href*="instagram"],
header .elementor-icon-list-item a[href*="instagram"]:hover,
header .elementor-icon-list-item a[href*="instagram"] .elementor-icon-list-text,
header .elementor-icon-list-item a[href*="instagram"]:hover .elementor-icon-list-text {
  font-weight: 400 !important;
  color: #fff !important;
  letter-spacing: normal !important;
  text-decoration: none !important;
}
header .elementor-icon-list-item a[href*="instagram"] .elementor-icon-list-text,
header .elementor-icon-list-item a[href*="instagram"] .elementor-icon-list-icon i { transition: opacity 0.18s ease; }
header .elementor-icon-list-item a[href*="instagram"]:hover .elementor-icon-list-text,
header .elementor-icon-list-item a[href*="instagram"]:hover .elementor-icon-list-icon i { opacity: 0.8; }

/* la entrada «DE RETIRO» entra y sale con animación en vez de aparecer de golpe */
header ul#menu-1-34639417.elementor-nav-menu li.deretiro-inicio {
  display: flex !important;
  align-items: stretch;
  max-width: 150px;
  opacity: 1;
  overflow: hidden;
  white-space: nowrap;
  transition: max-width 0.38s cubic-bezier(0.2, 0.7, 0.2, 1), opacity 0.28s ease 0.05s;
}
body.en-portada header ul#menu-1-34639417.elementor-nav-menu li.deretiro-inicio,
body:has(.deretiro-en-portada) header ul#menu-1-34639417.elementor-nav-menu li.deretiro-inicio { max-width: 0; opacity: 0; transition: max-width 0.3s cubic-bezier(0.2, 0.7, 0.2, 1), opacity 0.18s ease; }
/* a la misma altura que las demás entradas (el enlace estira toda la fila, como los otros) */
header ul#menu-1-34639417.elementor-nav-menu li.deretiro-inicio > a { display: flex; align-items: center; height: 100%; }

/* indicador deslizante bajo la entrada activa (el de Elementor se apaga) */
header ul#menu-1-34639417.elementor-nav-menu { position: relative; }
header ul#menu-1-34639417.elementor-nav-menu .dr-menu-indicador {
  position: absolute;
  top: 0;
  left: 0;
  height: 3px;
  width: 0;
  border-radius: 0;
  background: var(--dr-azul);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.38s cubic-bezier(0.2, 0.7, 0.2, 1), width 0.38s cubic-bezier(0.2, 0.7, 0.2, 1), opacity 0.2s ease;
}
header ul#menu-1-34639417.elementor-nav-menu .dr-menu-indicador.visible { opacity: 1; }
body.dr-con-indicador header ul#menu-1-34639417 > li > a.elementor-item-active::after,
body.dr-con-indicador header ul#menu-1-34639417 > li > a.elementor-item-active::before { opacity: 0 !important; }

/* la página entra con una transición (la cabecera y el pie se quedan quietos) */
.dr-pagina { animation: dr-pagina-entra 0.34s cubic-bezier(0.2, 0.7, 0.2, 1) backwards; }

/* ---------- móvil y tablet ---------- */

@media (max-width: 980px) {
  .dr-pie__banda { grid-template-columns: 1fr 1fr; gap: 30px 28px; padding: 44px 20px 36px; }
  .dr-evangelio__rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dr-contacto-home__dentro { grid-template-columns: 1fr; gap: 32px; }
}

@media (max-width: 760px) {
  .dr-explorador, .dr-cabecera, .dr-ficha { max-width: none; }
  .dr-explorador { padding: 0 16px; }
  .dr-explorador__titulo { font-size: 26px; }
  /* en el móvil la barra mide ~210px (un cuarto de la pantalla): pegada taparía media lista, así que va con la página */
  .dr-barra { position: static; margin: 0 -16px 18px; padding: 10px 16px 10px; }
  .dr-tabla__fila--cabecera { top: 0; }
  .dr-barra__fila { gap: 8px; }
  .dr-buscar { flex-basis: 100%; max-width: none; }
  .dr-barra__filtros {
    flex-wrap: nowrap;
    overflow-x: auto;
    width: calc(100% + 32px);
    margin: 0 -16px;
    padding: 2px 16px 6px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .dr-barra__filtros::-webkit-scrollbar { display: none; }
  .dr-barra__filtros > * { flex: none; }
  .dr-desplegable { position: static; }
  .dr-desplegable__fondo { display: block; position: fixed; inset: 0; z-index: 1190; background: rgba(58, 43, 35, 0.45); animation: dr-velo 0.2s ease-out; }
  .dr-desplegable__panel {
    position: fixed;
    z-index: 1200;
    left: 0;
    right: 0;
    top: auto;
    bottom: 0;
    width: auto;
    max-width: none;
    max-height: 78vh;
    display: flex;
    flex-direction: column;
    padding: 10px 12px calc(12px + env(safe-area-inset-bottom));
    border-radius: 18px 18px 0 0;
    border: 0;
    box-shadow: 0 -12px 40px rgba(20, 30, 35, 0.22);
    animation: dr-hoja 0.26s cubic-bezier(0.2, 0.7, 0.2, 1);
  }
  .dr-desplegable__cabecera { display: flex; }
  .dr-desplegable__lista { max-height: none; flex: 1; }
  .dr-desplegable__opcion { padding: 12px 10px; font-size: 15px; }
  .dr-vistas { width: 100%; margin-left: 0; }
  .dr-vistas .dr-vistas__boton { flex: 1; justify-content: center; padding: 0 8px; }
  .dr-barra__estado { font-size: 13px; }
  .dr-mapa { height: 420px; }
  .dr-rejilla { grid-template-columns: 1fr; gap: 16px; }
  .dr-tarjeta__cuerpo { padding: 16px 16px 14px; }
  .dr-tabla__celda { padding: 10px 12px; font-size: 13.5px; }
  .dr-tabla__fila { grid-template-columns: var(--dr-cols-movil, var(--dr-cols, none)); }
  .dr-cabecera { padding: 30px 16px 20px; }
  .dr-titulo, h1.dr-titulo, h2.dr-titulo { font-size: 34px; }
  .dr-cursiva, p.dr-cursiva, h6.dr-cursiva { font-size: 19px; }
  .dr-entrada, p.dr-entrada { font-size: 16px; }
  .dr-ficha { padding: 18px 16px 0; }
  .dr-banner { aspect-ratio: 16 / 8; border-radius: 14px; }
  .dr-banner--cubre { aspect-ratio: 16 / 7; }
  .dr-contacto { flex-direction: column; gap: 10px; }
  .dr-bloque { padding-top: 26px; }
  .dr-ficha__texto p { font-size: 16px; }
  .dr-pie__banda { grid-template-columns: 1fr; gap: 28px; padding: 40px 16px 32px; }
  .dr-evangelio { padding: 56px 0 60px; }
  .dr-evangelio__dentro, .dr-contacto-home__dentro { padding: 0 16px; }
  .dr-evangelio__rejilla { grid-template-columns: 1fr; gap: 14px; margin-top: 28px; }
  .dr-recurso, a.dr-recurso { padding: 22px 20px 18px; }
  .dr-cabecera--portada .dr-titulo { font-size: 30px; }
  .dr-contacto-home { padding: 56px 0 64px; }
  .dr-formulario { padding: 22px 18px 20px; border-radius: 16px; }
  .dr-pie__legal-fila { justify-content: center; text-align: center; }
  .dr-pie__legal-lista { justify-content: center; }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .dr-rejilla { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .dr-vista, .dr-tarjeta, a.dr-tarjeta, .dr-tabla__fila, .dr-desplegable__panel, .dr-desplegable__fondo, .dr-pagina, .dr-explorador .fecha__panel { animation: none !important; }
  .dr-vistas__indicador, header ul#menu-1-34639417.elementor-nav-menu li.deretiro-inicio, header ul#menu-1-34639417.elementor-nav-menu .dr-menu-indicador, a.dr-tarjeta, .dr-tarjeta__imagen img { transition: none !important; }
}

/* ---------- Sobre nosotros: el retrato de Patricia ---------- */
body .elementor-element.elementor-element-2108262 .elementor-widget-container { text-align: left; }
body .elementor-element.elementor-element-2108262 img.dr-retrato {
  display: block;
  width: 100%;
  max-width: 380px;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: var(--dr-sombra);
}
@media (max-width: 767px) {
  body .elementor-element.elementor-element-2108262 img.dr-retrato { max-width: 320px; margin: 0 auto; }
}

/* ---------- portada: la barra de filtros del mapa de todo, con el mismo aspecto ---------- */
.deretiro-mapa-todo .mapa-filtros { font-family: var(--dr-fuente); gap: 10px; }
.deretiro-mapa-todo .mapa-filtros__buscar {
  height: 44px;
  padding: 0 10px 0 16px;
  border: 1px solid var(--dr-linea);
  border-radius: 999px;
  background: #fff;
  color: var(--dr-azul);
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.deretiro-mapa-todo .mapa-filtros__buscar:hover { border-color: var(--dr-azul); }
.deretiro-mapa-todo .mapa-filtros__buscar:focus-within { border-color: var(--dr-azul); box-shadow: var(--dr-anillo); }
.deretiro-mapa-todo .mapa-filtros__buscar input { font-family: var(--dr-fuente); font-size: 14.5px; padding: 0; height: 42px; color: var(--dr-texto); }
.deretiro-mapa-todo .mapa-filtros__buscar input::placeholder { color: var(--dr-gris); opacity: 1; }
.deretiro-mapa-todo .mapa-filtros__cuenta { font-size: 13.5px; font-weight: 500; color: var(--dr-marron); }
.deretiro-mapa-todo .fecha__boton {
  height: 44px;
  padding: 0 14px 0 16px;
  border-color: var(--dr-linea);
  font-family: var(--dr-fuente);
  font-size: 14.5px;
  color: var(--dr-texto);
}
.deretiro-mapa-todo .fecha__boton:hover { border-color: var(--dr-azul); background: var(--dr-fondo); }
.deretiro-mapa-todo .fecha--activa .fecha__boton { background: var(--dr-marron); border-color: var(--dr-marron); color: #fff; }
.deretiro-mapa-todo .fecha__panel { animation: dr-panel 0.16s ease-out; border-color: var(--dr-linea); }
.deretiro-mapa-todo .mapa-vista { height: 44px; padding: 3px; gap: 2px; border: 1px solid var(--dr-linea); background: var(--dr-fondo); box-sizing: border-box; }
.deretiro-mapa-todo .mapa-vista__boton { height: 36px; font-family: var(--dr-fuente); font-size: 14px; font-weight: 400; color: var(--dr-suave); transition: background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease; }
.deretiro-mapa-todo .mapa-vista__boton.activo { background: var(--dr-marron); color: #fff; font-weight: 500; box-shadow: 0 2px 8px rgba(71, 31, 19, 0.25); }
.deretiro-mapa-todo .mapa-vista__boton:not(.activo):hover { color: var(--dr-marron); }
.deretiro-mapa-todo .mapa-filtros__chip {
  min-height: 36px;
  border-color: var(--dr-linea);
  font-family: var(--dr-fuente);
  font-size: 13.5px;
  color: var(--dr-texto);
}
.deretiro-mapa-todo .mapa-filtros__chip:not(.activo):hover { background: var(--dr-fondo); }
.deretiro-mapa-todo .mapa-filtros__chip--tipo { padding: 0 13px; }
.deretiro-mapa-todo .mapa-filtros__activo { height: 28px; padding: 0 10px 0 12px; font-family: var(--dr-fuente); font-size: 13px; }
.deretiro-mapa-todo .mapa-filtros__quitar-todos, .deretiro-mapa-todo .mapa-filtros__mas { font-family: var(--dr-fuente); font-size: 13.5px; color: var(--dr-azul-oscuro); text-decoration: none; }
.deretiro-mapa-todo .mapa-filtros__quitar-todos:hover, .deretiro-mapa-todo .mapa-filtros__mas:hover { color: var(--dr-marron); text-decoration: underline; }
.deretiro-mapa-todo #mapa-todo { border-radius: var(--dr-radio); border: 1px solid var(--dr-linea); box-shadow: none; }

/* ---------- botones en vez de enlaces (Gonzalo, 18-09-2026) ----------
   En toda la web no hay enlaces a pelo ni hipervínculos: correo, teléfono,
   web, inscripción, Instagram y cartel son botones que abren en pestaña nueva
   (components/Botones.tsx, lib/celdas.tsx, lib/html.ts:botonizar). El del
   correo lleva el correo, el del teléfono el número. */
.dr-boton--celda, a.dr-boton--celda, button.dr-boton--celda { min-height: 34px; padding: 0 12px 0 10px; gap: 6px; font-size: 13px; letter-spacing: 0; line-height: 1.2; text-align: left; max-width: 100%; white-space: normal; vertical-align: middle; }
.dr-boton--celda svg { flex: none; color: var(--dr-azul); }
.dr-boton--celda:hover svg, .dr-boton--celda:focus-visible svg { color: #fff; }
.dr-boton--celda span { min-width: 0; overflow-wrap: anywhere; }
.dr-boton--chico, a.dr-boton--chico, button.dr-boton--chico { min-height: 30px; padding: 0 10px 0 8px; font-size: 12.5px; }
.dr-boton--inscripcion, a.dr-boton--inscripcion { background: var(--dr-azul-oscuro); border-color: var(--dr-azul-oscuro); color: #fff !important; font-weight: 600 !important; }
.dr-boton--inscripcion svg { color: #fff; }
.dr-boton--inscripcion:hover, a.dr-boton--inscripcion:hover { background: var(--dr-marron); border-color: var(--dr-marron); color: #fff !important; }
.dr-botones { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.dr-celda { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.dr-tabla .dr-tabla__celda .dr-boton, .dr-tabla .dr-tabla__celda .dr-boton:hover { text-decoration: none; }
.dr-tabla .dr-tabla__celda:first-child .dr-boton { color: var(--dr-marron) !important; }
/* dentro de una celda, la regla general «a de tabla» no debe pisar el color de los botones */
.dr-tabla .dr-tabla__celda a.dr-boton--celda { color: var(--dr-marron) !important; font-weight: 500 !important; }
.dr-tabla .dr-tabla__celda a.dr-boton--celda:hover { color: #fff !important; }
.dr-tabla .dr-tabla__celda a.dr-boton--inscripcion, .dr-tabla .dr-tabla__celda a.dr-boton--inscripcion:hover, .evcal_evdata_row a.dr-boton--inscripcion, .evcal_evdata_row a.dr-boton--inscripcion:hover, .dr-tarjeta a.dr-boton--inscripcion, .dr-tarjeta a.dr-boton--inscripcion:hover, .dr-contacto a.dr-boton--inscripcion { color: #fff !important; font-weight: 600 !important; }
/* el texto suelto de una celda con botones detrás va en su línea */
.dr-celda > span:not(.dr-botones) { overflow-wrap: anywhere; }
/* en las tarjetas y en la cabecera de la parroquia, los botones forman fila */
.dr-tarjeta .dr-botones { margin-top: 8px; }
.dr-contacto { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; }
.dr-contacto .dr-botones { gap: 8px; }
/* la ficha del retiro (EventCard): botones en la fila Inscripción y en el texto de Información */
.evcal_evdata_row p.dr-inscripcion { margin: 4px 0 6px; }
.evcal_evdata_row .dr-boton--celda, .evcal_evdata_row a.dr-boton--celda { min-height: 36px !important; padding: 0 14px 0 12px !important; width: auto !important; line-height: 1.2 !important; margin: 2px 6px 2px 0; }
.evcal_evdata_row .dr-boton--celda:hover { color: #fff !important; }
.evcal_evdata_row .dr-boton--inscripcion:hover { color: #fff !important; }
.evcal_evdata_row p.dr-cartel-miniatura { margin: 4px 0 8px; }
.evcal_evdata_row p.dr-cartel-miniatura .dr-cartel-miniatura__boton { display: inline-block; padding: 0; margin: 0; border: 0; background: none; cursor: zoom-in; line-height: 0; }
.evcal_evdata_row p.dr-cartel-miniatura img { display: block; width: auto; max-width: 100%; max-height: 360px; height: auto; border-radius: 6px; box-shadow: var(--dr-sombra-suave); transition: transform 0.2s ease; }
.evcal_evdata_row p.dr-cartel-miniatura .dr-cartel-miniatura__boton:hover img { transform: scale(1.015); }
/* los botones que salen del HTML heredado (botonizar) dentro del texto */
.dr-ficha__texto .dr-boton--celda, .elementor-widget-container .dr-boton--celda, .wp-block-group .dr-boton--celda, .entry-content .dr-boton--celda { margin: 2px 6px 2px 0; }

/* ---------- el visor del cartel ---------- */
.dr-visor { position: fixed; inset: 0; z-index: 100000; background: rgba(35, 25, 20, 0.84); display: flex; align-items: center; justify-content: center; padding: 64px 16px 16px; cursor: zoom-out; animation: dr-visor-entra 0.16s ease-out; }
@keyframes dr-visor-entra { from { opacity: 0; } to { opacity: 1; } }
.dr-visor__imagen { max-width: min(96vw, 1100px); max-height: calc(100vh - 88px); width: auto; height: auto; object-fit: contain; border-radius: 6px; box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45); background: #fff; cursor: default; }
.dr-visor__barra { position: absolute; top: 12px; right: 12px; display: flex; gap: 8px; align-items: center; cursor: default; }
.dr-visor__descargar, a.dr-visor__descargar { background: #fff; border-color: #fff; color: var(--dr-marron) !important; }
.dr-visor__descargar:hover, a.dr-visor__descargar:hover { background: var(--dr-fondo); border-color: var(--dr-fondo); color: var(--dr-marron) !important; }
.dr-visor__descargar svg { color: var(--dr-marron); }
.dr-visor__cerrar { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.5); background: rgba(255, 255, 255, 0.12); color: #fff; cursor: pointer; padding: 0; transition: background 0.15s ease; }
.dr-visor__cerrar:hover, .dr-visor__cerrar:focus-visible { background: rgba(255, 255, 255, 0.28); outline: none; }
@media (max-width: 640px) {
  .dr-visor { padding: 60px 8px 8px; }
  .dr-visor__imagen { max-width: 98vw; max-height: calc(100vh - 72px); }
}

/* ---------- la ventana emergente (components/Ventana.tsx): PalomIA al entrar, «Avísame» ----------
   En ordenador centrada; en el móvil una hoja que sube desde abajo (Gonzalo, 21-09-2026).
   Por encima del chat (9999) y por debajo del aviso de cookies (infinity) y del visor del cartel. */
.dr-ventana { position: fixed; inset: 0; z-index: 99900; background: rgba(35, 25, 20, 0.55); display: flex; align-items: center; justify-content: center; padding: 24px 16px; animation: dr-ventana-velo 0.18s ease-out; -webkit-tap-highlight-color: transparent; }
@keyframes dr-ventana-velo { from { opacity: 0; } to { opacity: 1; } }
@keyframes dr-ventana-entra { from { opacity: 0; transform: translateY(14px) scale(0.985); } to { opacity: 1; transform: none; } }
@keyframes dr-ventana-sube { from { transform: translateY(100%); } to { transform: none; } }
.dr-ventana, .dr-ventana *, .dr-ventana *::before, .dr-ventana *::after { box-sizing: border-box; }
.dr-ventana__caja { position: relative; width: min(100%, 520px); max-height: calc(100dvh - 48px); overflow: auto; background: #fff; color: var(--dr-texto); border-radius: 20px; box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35); animation: dr-ventana-entra 0.22s ease-out; font-family: var(--dr-fuente); }
.dr-ventana__asa { display: none; }
.dr-ventana__cabecera { display: flex; align-items: center; gap: 12px; width: auto; min-width: 0; padding: 18px 18px 14px 22px; background: var(--dr-azul); color: #fff; }
.dr-ventana__titulo { min-width: 0; overflow-wrap: anywhere; }
.dr-ventana__logo { width: 40px; height: 36px; flex: none; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.25)); }
.dr-ventana__titulo { flex: 1; margin: 0 !important; padding: 0; font-family: var(--dr-titulos); font-size: 24px; line-height: 1.1; font-weight: 600; color: #fff !important; letter-spacing: 0.2px; }
.dr-ventana__cerrar { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: -4px -6px -4px 0; border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.55); background: rgba(255, 255, 255, 0.14); color: #fff; cursor: pointer; padding: 0; transition: background 0.15s ease; }
.dr-ventana__cerrar:hover, .dr-ventana__cerrar:focus-visible { background: rgba(255, 255, 255, 0.3); outline: none; }
.dr-ventana__cuerpo { padding: 20px 22px 24px; font-size: 15.5px; line-height: 1.55; }
.dr-ventana__cuerpo p { margin: 0 0 12px; color: var(--dr-texto); }
.dr-ventana__cuerpo p:last-child { margin-bottom: 0; }
.dr-ventana__destacado { font-family: var(--dr-titulos); font-size: 19px; line-height: 1.25; color: var(--dr-marron) !important; margin-bottom: 10px !important; }
.dr-ventana__acciones { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 14px 0 4px; }
.dr-ventana__acciones .dr-boton { min-height: 44px; }
.dr-ventana__formulario { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--dr-linea); }
.dr-ventana__formulario *, .dr-ventana__formulario *::before, .dr-ventana__formulario *::after { box-sizing: border-box; }
.dr-ventana__campo { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.dr-ventana__campo span { font-size: 13px; font-weight: 500; letter-spacing: 0.02em; color: var(--dr-marron); }
.dr-ventana__campo input { width: 100%; margin: 0; padding: 12px 14px; border: 1px solid var(--dr-linea); border-radius: 12px; background: var(--dr-fondo); font-family: var(--dr-fuente); font-size: 16px; line-height: 1.4; color: var(--dr-texto); box-shadow: none; min-height: 46px; }
.dr-ventana__campo input:focus { outline: none; border-color: var(--dr-azul); box-shadow: var(--dr-anillo); background: #fff; }
.dr-ventana__trampa { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.dr-ventana__error { color: #a13a2b !important; font-size: 14px; margin: 10px 0 0 !important; }
.dr-ventana__hecho { margin-top: 16px !important; padding: 12px 14px; border-radius: 12px; background: var(--dr-fondo); border: 1px solid var(--dr-linea); color: var(--dr-marron) !important; font-weight: 500; }
.dr-ventana__nota { font-size: 12.5px; color: var(--dr-gris) !important; margin: 10px 0 0 !important; }
@media (max-width: 640px) {
  .dr-ventana { align-items: flex-end; padding: 0; }
  .dr-ventana__caja { width: 100%; max-width: none; max-height: 92dvh; border-radius: 22px 22px 0 0; animation: dr-ventana-sube 0.3s cubic-bezier(0.2, 0.8, 0.2, 1); padding-bottom: env(safe-area-inset-bottom); }
  .dr-ventana__asa { display: block; position: absolute; top: 8px; left: 50%; width: 44px; height: 5px; margin-left: -22px; border-radius: 3px; background: rgba(255, 255, 255, 0.6); z-index: 1; }
  .dr-ventana__cabecera { padding-top: 24px; }
  .dr-ventana__cuerpo { padding: 18px 18px 22px; font-size: 15px; }
  .dr-ventana__titulo { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .dr-ventana, .dr-ventana__caja { animation: none; }
}

/* el botón «Avísame» de las fichas con huecos */
.dr-boton--avisame, button.dr-boton--avisame { gap: 6px; border-style: dashed; }
.dr-boton--avisame svg { color: var(--dr-azul-oscuro); }
.dr-tabla .dr-tabla__celda .dr-boton--avisame { margin-top: 6px; }
