/* ARUEDA Core · Bloques frontend del CPT destino.
   Ámbito exclusivo: .arueda-destino-*. No afecta a Gutenberg ni a otras tarjetas.
   Tipografía Montserrat heredada del tema. */

/* =========================== DATOS RÁPIDOS =========================== */
.arueda-destino-datos{width:100%;max-width:1200px;margin-left:auto;margin-right:auto}
.arueda-destino-datos__grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
}
.arueda-destino-dato{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  padding:20px;
  background:#F7F4EE;
  border:1px solid #E5DED3;
  border-radius:14px;
  min-width:0;
}
.arueda-destino-dato__icon{
  color:#C66C3B;
  line-height:0;
}
.arueda-destino-dato__icon svg{display:block;width:26px;height:26px}
.arueda-destino-dato__titulo{
  margin:0;
  color:#173527;
  font-weight:700;
  font-size:13px;
  letter-spacing:.02em;
  text-transform:uppercase;
  min-width:0;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.arueda-destino-dato__valor{
  color:#252925;
  font-size:15px;
  line-height:1.5;
  min-width:0;
  overflow-wrap:anywhere;
  word-break:break-word;
}

/* Tablet: 3 columnas */
@media(max-width:1024px){
  .arueda-destino-datos__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* Móvil: 1 columna */
@media(max-width:640px){
  .arueda-destino-datos__grid{grid-template-columns:1fr}
}

/* =========================== MOTIVOS (por qué elegir) =========================== */
.arueda-destino-motivos{width:100%;max-width:1200px;margin-left:auto;margin-right:auto}
.arueda-destino-motivos__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.arueda-destino-motivo{
  position:relative;
  min-width:0;
  min-height:190px;
  overflow:hidden;
  border-radius:16px;
  background:#173527;
  isolation:isolate;
}
.arueda-destino-motivo__media,
.arueda-destino-motivo__media img{width:100%;height:100%}
.arueda-destino-motivo__media{position:absolute;inset:0}
.arueda-destino-motivo__media img{display:block;object-fit:cover}
.arueda-destino-motivo__overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,41,31,.12) 10%,rgba(8,41,31,.88) 100%);
}
.arueda-destino-motivo__contenido{
  position:relative;z-index:2;
  display:flex;min-height:190px;flex-direction:column;justify-content:flex-end;
  padding:24px;
}
.arueda-destino-motivo__titulo{
  margin:0 0 8px;color:#fff;font-family:inherit;
  font-size:20px;font-weight:700;line-height:1.25;
  overflow-wrap:anywhere;word-break:break-word;
}
.arueda-destino-motivo__descripcion{
  margin:0;color:rgba(255,255,255,.9);font-family:inherit;
  font-size:14px;line-height:1.5;
  overflow-wrap:anywhere;word-break:break-word;
}
.arueda-destino-motivo--sin-imagen{background:#173527}
.arueda-destino-motivo--sin-imagen .arueda-destino-motivo__overlay{display:none}

@media(max-width:767px){
  .arueda-destino-motivos__grid{grid-template-columns:1fr}
  .arueda-destino-motivo,
  .arueda-destino-motivo__contenido{min-height:180px}
}

/* Motivos enlazables: hover/focus sin alterar el diseño base */
.arueda-destino-motivo[href]{text-decoration:none;transition:transform .18s ease}
.arueda-destino-motivo[href]:hover{transform:translateY(-3px)}
.arueda-destino-motivo[href]:focus-visible{outline:3px solid #c66c3b;outline-offset:4px}

/* =========================== CONTENIDO ENRIQUECIDO =========================== */
.arueda-destino-editor{
  color:#4f5752;font-family:inherit;font-size:16px;line-height:1.7;
}
.arueda-destino-editor p{margin:0 0 20px}
.arueda-destino-editor p:last-child{margin-bottom:0}
.arueda-destino-editor ul,
.arueda-destino-editor ol{margin:22px 0 0;padding:0;list-style:none}
.arueda-destino-editor li{position:relative;margin:0 0 12px;padding-left:30px}
.arueda-destino-editor ul li::before{
  content:"\2713";position:absolute;top:0;left:0;color:#C66C3B;font-weight:700;
}
.arueda-destino-editor ol{counter-reset:aru-ed}
.arueda-destino-editor ol li{counter-increment:aru-ed}
.arueda-destino-editor ol li::before{
  content:counter(aru-ed)".";position:absolute;top:0;left:0;color:#C66C3B;font-weight:700;
}
.arueda-destino-editor a{color:#C66C3B;text-decoration:underline}
.arueda-destino-editor a:hover{color:#173527}
.arueda-destino-editor a:focus-visible{outline:2px solid #C66C3B;outline-offset:2px}

/* =========================== TIPOS DE ESCAPADA =========================== */
.arueda-destino-escapadas{width:100%}
.arueda-destino-escapadas__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
}
.arueda-destino-escapada{
  display:flex;
  min-width:0;
  min-height:300px;
  flex-direction:column;
  align-items:flex-start;
  padding:38px 36px;
  overflow:hidden;
  border:1px solid #d8d0c3;
  border-radius:24px;
  background:#ded7ca;
}
.arueda-destino-escapada__icono{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:64px;
  height:64px;
  margin:0 0 32px;
  color:#173527;
}
.arueda-destino-escapada__icono svg{display:block;width:60px;height:60px}
.arueda-destino-escapada__titulo{
  margin:0 0 16px;
  color:#c66c3b;
  font-family:inherit;
  font-size:18px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.07em;
  text-transform:uppercase;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
.arueda-destino-escapada__descripcion{
  margin:0;
  color:#252925;
  font-family:inherit;
  font-size:17px;
  font-weight:400;
  line-height:1.65;
  word-break:normal;
  overflow-wrap:break-word;
  hyphens:none;
}
@media(max-width:1024px){
  .arueda-destino-escapadas__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .arueda-destino-escapadas__grid{grid-template-columns:1fr}
  .arueda-destino-escapada{min-height:auto;padding:30px 26px}
}

/* =========================== ZONAS DESTACADAS =========================== */
.arueda-destino-zonas{width:100%;max-width:1200px;margin-left:auto;margin-right:auto}
.arueda-destino-zonas__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.arueda-destino-zona{
  position:relative;
  min-width:0;
  min-height:180px;
  overflow:hidden;
  border-radius:16px;
  background:#173527;
  isolation:isolate;
}
.arueda-destino-zona__media{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;overflow:hidden;z-index:0}
.arueda-destino-zona__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
/* CON imagen: el <img> se posiciona absoluto para rellenar físicamente todo el
   contenedor __media (venía en position:static y no cubría la altura estirada de
   la celda del grid en escritorio, dejando ver el fondo verde de la raíz). */
.arueda-destino-zona--con-imagen .arueda-destino-zona__media img{
  position:absolute;inset:0;width:100%;height:100% !important;max-width:none;
  object-fit:cover;object-position:center;display:block;
}
/* CON imagen: la foto + overlay son todo el fondo; el verde de la raíz solo es
   fallback para tarjetas SIN imagen, así que aquí se hace transparente. */
.arueda-destino-zona--con-imagen{background:transparent}
.arueda-destino-zona__overlay{
  position:absolute;inset:0;width:100%;height:100%;z-index:1;border-radius:inherit;pointer-events:none;
  background:rgba(23,53,39,.58);
}
.arueda-destino-zona__contenido{
  position:relative;z-index:2;
  display:flex;min-height:180px;flex-direction:column;justify-content:flex-end;
  padding:22px;
}
.arueda-destino-zona__titulo{
  margin:0 0 7px;color:#fff;font-size:18px;font-weight:700;line-height:1.25;
  overflow-wrap:anywhere;word-break:break-word;
}
/* Título de zona SIEMPRE en blanco (con y sin imagen, con y sin enlace) y en
   todos los estados. Alta especificidad para ganar a estilos globales/Elementor
   sin tocar tamaño, radio, imágenes ni distribución. Solo afecta al h3, no al
   contenedor. No altera el título general de sección ni las descripciones. */
.arueda-destino-zonas .arueda-destino-zona .arueda-destino-zona__titulo,
.arueda-destino-zonas a.arueda-destino-zona .arueda-destino-zona__titulo,
.arueda-destino-zonas a.arueda-destino-zona:visited .arueda-destino-zona__titulo,
.arueda-destino-zonas a.arueda-destino-zona:hover .arueda-destino-zona__titulo,
.arueda-destino-zonas a.arueda-destino-zona:focus .arueda-destino-zona__titulo,
.arueda-destino-zonas a.arueda-destino-zona:focus-visible .arueda-destino-zona__titulo,
.arueda-destino-zonas .arueda-destino-zona:focus-within .arueda-destino-zona__titulo,
.arueda-destino-zonas .arueda-destino-zona--con-imagen .arueda-destino-zona__titulo,
.arueda-destino-zonas .arueda-destino-zona--sin-imagen .arueda-destino-zona__titulo{
  color:#FFFFFF;
}
.arueda-destino-zona__descripcion{
  margin:0;color:rgba(255,255,255,.88);font-size:13px;line-height:1.45;
  overflow-wrap:anywhere;word-break:break-word;
}
.arueda-destino-zona--sin-imagen{background:#173527}
.arueda-destino-zona--sin-imagen .arueda-destino-zona__overlay{display:none}
/* Zona enlazable: hover/focus igual que motivos */
.arueda-destino-zona[href]{text-decoration:none;transition:transform .18s ease}
.arueda-destino-zona[href]:hover{transform:translateY(-3px)}
.arueda-destino-zona[href]:focus-visible{outline:3px solid #c66c3b;outline-offset:4px}
@media(max-width:1024px){
  .arueda-destino-zonas__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .arueda-destino-zonas__grid{grid-template-columns:1fr}
}

/* =========================== RUTAS RECOMENDADAS =========================== */
.arueda-destino-rutas{width:100%;max-width:1200px;margin-left:auto;margin-right:auto}
.arueda-destino-rutas__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.arueda-destino-ruta{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid #e5ded3;
  border-radius:16px;
  background:#f7f4ee;
  text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease;
}
.arueda-destino-ruta:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(13,31,23,.10)}
.arueda-destino-ruta:focus-visible{outline:3px solid #c66c3b;outline-offset:3px}
.arueda-destino-ruta__media{display:block;position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:#ded7ca}
.arueda-destino-ruta__media img{display:block;width:100%;height:100%;object-fit:cover}
.arueda-destino-ruta__media--placeholder{
  background:linear-gradient(135deg,#ded7ca 0%,#e5ded3 100%);
}
.arueda-destino-ruta__body{display:flex;flex-direction:column;gap:8px;padding:20px}
.arueda-destino-ruta__titulo{
  color:#173527;font-size:18px;font-weight:700;line-height:1.3;
  overflow-wrap:anywhere;word-break:break-word;
}
.arueda-destino-ruta__resumen{
  color:#59635e;font-size:14px;line-height:1.55;
  overflow-wrap:anywhere;word-break:break-word;
}
.arueda-destino-ruta__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.arueda-destino-ruta__bit{
  display:inline-block;padding:3px 10px;border-radius:999px;
  background:#ede7db;color:#252925;font-size:12px;font-weight:600;
}
@media(max-width:1024px){
  .arueda-destino-rutas__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .arueda-destino-rutas__grid{grid-template-columns:1fr}
}

/* =========================== PUERTOS DESTACADOS =========================== */
.arueda-destino-puertos{width:100%;max-width:1200px;margin-left:auto;margin-right:auto}
.arueda-destino-puertos__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.arueda-destino-puerto{
  position:relative;
  display:block;
  min-width:0;
  min-height:220px;
  overflow:hidden;
  border-radius:16px;
  background:#173527;
  isolation:isolate;
  text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease;
}
.arueda-destino-puerto:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(13,31,23,.18)}
.arueda-destino-puerto:focus-visible{outline:3px solid #c66c3b;outline-offset:3px}
.arueda-destino-puerto__media{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;overflow:hidden;z-index:0}
.arueda-destino-puerto__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
/* CON imagen: el <img> absoluto rellena todo __media (mismo fix que zonas). */
.arueda-destino-puerto--con-imagen .arueda-destino-puerto__media img{
  position:absolute;inset:0;width:100%;height:100% !important;max-width:none;
  object-fit:cover;object-position:center;display:block;
}
/* CON imagen: fondo transparente; la foto + overlay son todo el fondo. */
.arueda-destino-puerto--con-imagen{background:transparent}
.arueda-destino-puerto__media--placeholder{
  background:linear-gradient(160deg,#1f4030 0%,#0d1f17 100%);
}
.arueda-destino-puerto__overlay{
  position:absolute;inset:0;width:100%;height:100%;z-index:1;border-radius:inherit;pointer-events:none;
  background:rgba(23,53,39,.58);
}
/* Sin imagen: el placeholder verde ya es legible; no añadir overlay extra. */
.arueda-destino-puerto--sin-imagen .arueda-destino-puerto__overlay{display:none}
.arueda-destino-puerto__body{
  position:relative;z-index:2;
  display:flex;min-height:220px;flex-direction:column;justify-content:flex-end;
  gap:8px;padding:20px;
}
.arueda-destino-puerto__titulo{
  color:#fff;font-size:17px;font-weight:700;line-height:1.25;
  overflow-wrap:anywhere;word-break:break-word;
}
.arueda-destino-puerto__meta{display:flex;flex-wrap:wrap;gap:6px}
.arueda-destino-puerto__bit{
  display:inline-block;padding:3px 9px;border-radius:999px;
  background:rgba(255,255,255,.16);color:#fff;font-size:12px;font-weight:600;
}
@media(max-width:1024px){
  .arueda-destino-puertos__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .arueda-destino-puertos__grid{grid-template-columns:1fr}
}

/* =========================== INFORMACIÓN PRÁCTICA =========================== */
.arueda-destino-practica{width:100%;background:transparent}
.arueda-destino-practica__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.arueda-destino-practica__item{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:18px;
  align-items:start;
  min-width:0;
  padding:28px 30px;
  background:#FBF8F3;
  border:1px solid #E5DED3;
  border-radius:18px;
}
.arueda-destino-practica__icono{
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;color:#173527;flex:0 0 auto;
}
.arueda-destino-practica__icono svg{display:block;width:38px;height:38px}
.arueda-destino-practica__contenido{min-width:0}
.arueda-destino-practica__titulo{
  margin:0 0 10px;color:#173527;font-family:inherit;
  font-size:18px;font-weight:700;line-height:1.3;
  overflow-wrap:break-word;word-break:normal;hyphens:none;
}
.arueda-destino-practica__texto{
  color:#4F5B54;font-family:inherit;font-size:15px;line-height:1.65;
}
.arueda-destino-practica__texto p{margin:0 0 12px}
.arueda-destino-practica__texto p:last-child{margin-bottom:0}
.arueda-destino-practica__texto ul,
.arueda-destino-practica__texto ol{margin:0 0 12px;padding-left:22px}
.arueda-destino-practica__texto ul{list-style:disc}
.arueda-destino-practica__texto ol{list-style:decimal}
.arueda-destino-practica__texto li{margin:0 0 6px}
.arueda-destino-practica__texto li:last-child{margin-bottom:0}
.arueda-destino-practica__texto a{color:#C66C3B;text-decoration:underline}
.arueda-destino-practica__texto a:hover{color:#173527}
.arueda-destino-practica__texto a:focus-visible{outline:2px solid #C66C3B;outline-offset:2px}
.arueda-destino-practica__texto strong{font-weight:700}
@media(max-width:640px){
  .arueda-destino-practica__grid{grid-template-columns:1fr}
  .arueda-destino-practica__item{padding:24px 22px}
}

/* =========================== VÍDEO DEL DESTINO =========================== */
.arueda-destino-video{width:100%;max-width:1000px;margin-left:auto;margin-right:auto}
.arueda-destino-video__cabecera{margin:0 0 20px}
.arueda-destino-video__kicker{
  display:inline-block;margin:0 0 10px;
  color:#c66c3b;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}
.arueda-destino-video__titulo{
  margin:0 0 12px;color:#fff;font-size:26px;font-weight:700;line-height:1.2;
}
.arueda-destino-video__descripcion{
  margin:0;max-width:760px;color:rgba(255,255,255,.88);font-size:15px;line-height:1.65;
}
.arueda-destino-video__acciones{margin-top:20px}
.arueda-destino-video__boton{
  display:inline-block;padding:13px 28px;border-radius:999px;
  background:#c66c3b;color:#fff;font-size:15px;font-weight:600;text-decoration:none;
  transition:background .18s ease,transform .18s ease;
}
.arueda-destino-video__boton:hover{background:#b8663a;transform:translateY(-2px)}
.arueda-destino-video__boton:focus-visible{outline:3px solid #fff;outline-offset:3px}
/* Texto del botón SIEMPRE blanco en todos los estados del enlace. !important
   justificado: al ser un <a>, Elementor/el tema imponen su color de enlace
   (incluido :visited/:hover) con alta especificidad y sin esto el texto hereda
   un tono oscuro/naranja ilegible sobre el fondo terracota. Solo afecta al color
   del texto de este botón; no toca fondo, hover, tamaño ni el resto del bloque. */
.arueda-destino-video__boton,
.arueda-destino-video__boton:link,
.arueda-destino-video__boton:visited,
.arueda-destino-video__boton:hover,
.arueda-destino-video__boton:focus,
.arueda-destino-video__boton:focus-visible,
.arueda-destino-video__boton:active{
  color:#fff !important;
}
.arueda-destino-video__media{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:18px;
  background:#0d1f17;
}
/* Fallback para navegadores sin aspect-ratio */
@supports not (aspect-ratio:16/9){
  .arueda-destino-video__media{height:0;padding-top:56.25%}
}
.arueda-destino-video__media iframe{
  position:absolute;inset:0;
  width:100%;height:100%;border:0;display:block;
}
@media(max-width:640px){
  .arueda-destino-video__media{border-radius:14px}
  .arueda-destino-video__titulo{font-size:22px}
  .arueda-destino-video__boton{display:block;text-align:center;padding:14px 24px}
}
