/* Reseñas de viajeras y beneficios (12-11-2026): home, ficha del viaje y /beneficios.php. Mobile-first. */

/* ── Reseñas ── */
.resenas { max-width: 1200px; margin: 0 auto; padding: 56px var(--gutter) 24px; display: flex; flex-direction: column; gap: 24px; }
.resenas h2 { font-size: 32px; }
.resenas-grilla { display: grid; gap: 14px; }
.resena { margin: 0; padding: 22px; border-radius: 24px; background: #fff; box-shadow: var(--sombra); display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.resena blockquote { margin: 0; font-size: 16px; line-height: 1.6; color: var(--texto-medio); overflow-wrap: anywhere; }
.resena blockquote::before { content: '“'; font: 700 34px/0 var(--font-editorial); color: var(--lavanda); vertical-align: -12px; margin-right: 4px; }
.resena figcaption { font-size: 14px; color: var(--texto-suave); }
.resena figcaption b { color: var(--noche); }
.resena-estrellas { display: inline-flex; gap: 1px; color: #D8D2EE; }
.resena-estrellas .icon { font-size: 20px; font-variation-settings: 'FILL' 1; }
.resena-estrellas .icon.llena { color: #E3A008; }
.resenas-promedio { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--texto-medio); }
.ficha-resenas .resenas-grilla { gap: 12px; }
.ficha-resenas .resena { box-shadow: none; background: var(--fondo); padding: 18px; }
.resenas-mas { align-self: flex-start; }
@media (min-width: 760px) {
    .resenas-grilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
    .resenas .resenas-grilla { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .resenas h2 { font-size: 40px; }
}

/* ── Beneficios ── */
.alianzas-mas { font-weight: 700; font-size: 14px; display: inline-flex; align-items: center; gap: 6px; }
.beneficio-regalo { display: grid; gap: 28px; align-items: center; }
.beneficio-regalo img.foto { width: 100%; height: auto; max-height: 520px; object-fit: cover; border-radius: 28px; box-shadow: var(--sombra); }
.beneficio-regalo .texto { display: flex; flex-direction: column; gap: 16px; }
.beneficio-regalo p { font-size: 17px; line-height: 1.65; color: var(--texto-medio); max-width: 560px; white-space: pre-line; }
.beneficios-grilla { display: grid; gap: 16px; }
.beneficio { display: flex; flex-direction: column; gap: 12px; padding: 24px; border-radius: 26px; background: #fff; box-shadow: var(--sombra); min-width: 0; scroll-margin-top: 90px; }
.beneficio .logo { height: 56px; display: flex; align-items: center; }
.beneficio .logo img { max-height: 44px; max-width: 200px; width: auto; height: auto; object-fit: contain; }
.beneficio .logo img.con-fondo { border-radius: 8px; }
.beneficio h3 { font: 600 20px var(--font-titulo); color: var(--noche); margin: 0; }
.beneficio p { margin: 0; color: var(--texto-medio); line-height: 1.6; white-space: pre-line; overflow-wrap: anywhere; }
.beneficio .exclusivo { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; font-weight: 600; color: var(--ciruela); padding: 10px 12px; border-radius: 14px; background: var(--malva); }
.beneficio .exclusivo .icon { font-size: 20px; color: var(--lila); }
.beneficio .enlace { font-weight: 700; font-size: 14px; display: inline-flex; align-items: center; gap: 4px; margin-top: auto; }
@media (min-width: 760px) {
    .beneficios-grilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
    .beneficio-regalo { grid-template-columns: 1fr 1.1fr; gap: 64px; }
}
@media (min-width: 1100px) {
    .beneficios-grilla { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
