/* Guías de destino. Reutilizan la cabecera con foto de la ficha (.tp-cab) y las tarjetas del
   catálogo (.cat-grid + .tour): la guía tiene que sentirse parte del sitio, no un anexo. */

.d-cab .d-resumen{margin:14px 0 0;max-width:56ch;font-size:clamp(16px,1.7vw,18.5px);line-height:1.6;color:oklch(1 0 0 / .86)}
.d-indice{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.d-indice a{display:inline-block;padding:9px 15px;border-radius:999px;font-size:14px;font-weight:600;
  text-decoration:none;color:var(--blanco);background:var(--vidrio);border:1px solid var(--vidrio-borde);
  backdrop-filter:blur(12px);transition:background-color .35s}
.d-indice a:hover{background:oklch(1 0 0 / .24)}

.d-cuerpo{padding:44px 0 90px;color:var(--tinta)}
.d-bloque{max-width:74ch;margin:0 0 42px}
.d-bloque.d-otros,.d-bloque:has(.cat-grid){max-width:none}
.d-bloque h2{font-size:clamp(22px,2.8vw,28px);font-weight:800;letter-spacing:-.025em;line-height:1.18;
  margin:0 0 12px;color:var(--noche-2);scroll-margin-top:110px}
.d-bloque h3{font-size:17.5px;font-weight:700;margin:22px 0 6px;color:var(--noche-2)}
.d-bloque p{margin:0 0 15px;font-size:17px;line-height:1.75}
.d-bloque ul{margin:0 0 18px;padding-left:22px}
.d-bloque li{margin-bottom:9px;font-size:17px;line-height:1.7}
.d-bloque li::marker{color:var(--real)}
.d-bloque strong{font-weight:700;color:var(--noche)}
.d-bloque a{color:var(--real);font-weight:600;text-underline-offset:3px}
.d-lead{color:var(--tinta-2);max-width:70ch}

/* Tabla de tarifas */
.g-tabla{overflow-x:auto;margin:0 0 20px;border-radius:16px;border:1px solid var(--sobre-2)}
.g-tabla table{border-collapse:collapse;width:100%;font-size:16px;background:var(--blanco)}
.g-tabla th,.g-tabla td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--cielo-2)}
.g-tabla tr:last-child td{border-bottom:0}
.g-tabla th{font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--real);background:var(--cielo)}
.g-tabla td:first-child{font-weight:600;color:var(--noche-2)}
.g-fuente{font-size:14px;color:var(--tinta-2)}
.g-fuente a{color:var(--tinta-2);font-weight:400;text-decoration:underline}

/* Otros destinos */
.d-otros-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:16px}
.d-otro{position:relative;display:block;border-radius:22px;overflow:hidden;overflow:clip;text-decoration:none;
  aspect-ratio:4/3;background:var(--noche);transition:transform .45s var(--ease)}
.d-otro:hover{transform:translateY(-4px)}
.d-otro img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.d-otro:hover img{transform:scale(1.06)}
.d-otro div{position:absolute;inset:auto 0 0 0;padding:16px 18px;color:var(--blanco);
  background:linear-gradient(transparent,oklch(0.14 0.09 268 / .86))}
.d-otro small{display:block;font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--celeste)}
.d-otro b{display:block;margin-top:2px;font-size:18px;line-height:1.2}

/* Índice de guías: cada destino con su foto, su texto y sus planes dentro */
.d-fichas{display:grid;gap:34px}
.d-ficha{padding:0 0 34px;border-bottom:1px solid var(--cielo-2)}
.d-ficha:last-child{border-bottom:0}
.d-ficha-foto{position:relative;display:block;border-radius:24px;overflow:hidden;overflow:clip;
  aspect-ratio:21/9;background:var(--noche);text-decoration:none}
.d-ficha-foto img{width:100%;height:100%;object-fit:cover}
.d-ficha-foto div{position:absolute;inset:auto 0 0 0;padding:20px 24px;color:var(--blanco);
  background:linear-gradient(transparent,oklch(0.14 0.09 268 / .88))}
.d-ficha-foto small{display:block;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--celeste)}
.d-ficha-foto b{display:block;margin-top:3px;font-size:clamp(22px,3vw,30px);line-height:1.1;letter-spacing:-.02em}
.d-ficha-texto{margin:16px 0 18px;max-width:72ch;font-size:17px;line-height:1.7;color:var(--tinta)}
.d-ficha-planes{margin-bottom:18px}
.d-ficha-btn{margin-top:4px}

.d-pie{margin-top:36px;font-size:14.5px;color:var(--tinta-2)}

@media (max-width:640px){
  .d-cuerpo{padding:32px 0 70px}
  .d-ficha-foto{aspect-ratio:16/10}
}
