/*
 * 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 {
  max-width: 1300px;
  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;
}
.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 {
  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); }
.dr-tarjeta--resaltada { border-color: var(--dr-azul); box-shadow: 0 0 0 3px rgba(121, 172, 178, 0.35), var(--dr-sombra); }
.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 { 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; }
.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 { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 6px; font-size: 13.5px; font-weight: 500; color: var(--dr-azul-oscuro); transition: gap 0.2s ease; }
a.dr-tarjeta:hover .dr-tarjeta__ir { gap: 10px; color: var(--dr-azul-oscuro); }
.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; }

/* tabla: una caja desplazable por fila, con su barra, y las columnas cuadradas */
.dr-tabla { display: flex; flex-direction: column; gap: 6px; }
.dr-tabla__fila {
  --i: 0;
  display: grid;
  align-items: start;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  border: 1px solid var(--dr-linea);
  border-radius: 12px;
  background: #fff;
  scrollbar-width: thin;
  scrollbar-color: var(--dr-azul) #eef4f5;
  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.35); }
.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; white-space: nowrap; }
.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__fila::-webkit-scrollbar { height: 7px; }
.dr-tabla__fila::-webkit-scrollbar-track { background: #eef4f5; border-radius: 999px; margin: 0 12px; }
.dr-tabla__fila::-webkit-scrollbar-thumb { background: var(--dr-azul); border-radius: 999px; }
.dr-tabla__fila::-webkit-scrollbar-thumb:hover { background: var(--dr-azul-oscuro); }
.dr-tabla__fila--cabecera::-webkit-scrollbar-track { background: 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 { scrollbar-width: auto; scrollbar-color: 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; } }
@media (max-width: 1299px) { .dr-explorador, .dr-cabecera, .dr-ficha { max-width: 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; }
.dr-ficha__texto { max-width: 780px; margin-top: 8px; }
.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; }
.dr-ficha__botones { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 34px; }
.dr-ficha__botones svg { flex: none; }

/* ---------- 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; gap: 10px; margin-top: 18px; }
.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: block !important;
  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; }
header ul#menu-1-34639417.elementor-nav-menu li.deretiro-inicio > a { display: inline-block; }

/* 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;
  bottom: 0;
  left: 0;
  height: 2px;
  width: 0;
  border-radius: 2px;
  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; }
}

@media (max-width: 760px) {
  .dr-explorador, .dr-cabecera, .dr-ficha { max-width: none; }
  .dr-explorador { padding: 0 16px; }
  .dr-explorador__titulo { font-size: 26px; }
  .dr-barra { margin: 0 -16px 18px; padding: 10px 16px 10px; }
  .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-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-ficha__texto p { font-size: 16px; }
  .dr-pie__banda { grid-template-columns: 1fr; gap: 28px; padding: 40px 16px 32px; }
  .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; }
