/* Fuentes del diseño (alojadas en el sitio): Space Grotesk + Fraunces en la portada */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/space-grotesk/space-grotesk-latin-ext-300-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/space-grotesk/space-grotesk-latin-300-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/space-grotesk/space-grotesk-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/space-grotesk/space-grotesk-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/space-grotesk/space-grotesk-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/space-grotesk/space-grotesk-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/space-grotesk/space-grotesk-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/space-grotesk/space-grotesk-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/space-grotesk/space-grotesk-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/space-grotesk/space-grotesk-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* Ajustes de Voya Travel sobre la plantilla */
/* En español no se capitaliza cada palabra */
h1, h2, h3, h4, .title, .btn, .btn-link, .section-head .title { text-transform: none !important; }
.hero-title .hero-we, .hero-title .hero-are, .hero-title .hero-agency { text-transform: uppercase !important; }

/* Botón flotante de WhatsApp */
.voya-wa-float {
  position: fixed; left: 20px; bottom: 20px; z-index: 9999;
  display: inline-flex; align-items: center; gap: 8px;
  min-height: 52px; padding: 0 20px 0 16px; border-radius: 999px;
  background: #0B7A3E; color: #fff !important; font-weight: 600; font-size: 16px;
  box-shadow: 0 10px 24px rgba(0,0,0,.2); text-decoration: none;
}
.voya-wa-float:hover { background: #096433; }
.voya-wa-float:focus-visible { outline: 3px solid #bb851d; outline-offset: 3px; }

/* Fichas de destino */
.voya-precio { font-size: 26px; color: var(--title); margin: 18px 0 4px; }
.voya-nota { font-size: 15px; margin-bottom: 22px; }
.service-box.style-1 .service-number { font-size: 28px; }
#resumen { padding-top: 140px; }
#resumen .inner-content { display: block !important; }
#resumen .inner-content .text { max-width: 34em; }
.service-box.style-1 .service-number { color: #122238 !important; opacity: 1 !important; }
.service-box.style-1 .service-description { color: #2B3A4F !important; }
#resumen .voya-precio, #resumen .voya-precio strong { font-size: 30px !important; line-height: 1.2; color: #122238 !important; }
#resumen .section-head > a { color: #122238; font-weight: 600; }

/* Tokyo / fichas con contenido del PDF */
.voya-dest-title { font-size: clamp(56px, 9vw, 120px) !important; letter-spacing: -1px; line-height: 1 !important; }
.voya-lead { font-size: 20px !important; color: #122238 !important; }
#resumen .voya-precio small { font-size: 18px; font-weight: 500; }
.voya-list-1col { columns: 1 !important; display: block !important; }
.voya-list-1col li { width: 100% !important; }
.voya-info-card { background: #122238; border-radius: 16px; padding: 26px 28px; height: 100%; }
.voya-info-label { display: block; color: var(--primary); font-weight: 600; font-size: 15px; margin-bottom: 6px; }
.voya-info-value { color: #fff; font-size: 20px; margin: 0; line-height: 1.35; }
.voya-hacer { height: 100%; }
.voya-hacer .voya-hacer-text { color: rgba(255,255,255,.8); margin: 10px 0; }
.pricingtable-wrapper.style-1 .pricingtable-bx small { font-size: 16px; }
#precios .pricingtable-wrapper.style-1 { position: relative; background: #fff; border-radius: 20px; padding: 44px 30px 30px; overflow: hidden; box-shadow: 0 14px 30px rgba(18,34,56,.12); }
#precios .pricingtable-wrapper.style-1 .brand { border-bottom-left-radius: 12px; }
#precios .pricingtable-features li, #precios .pricingtable-bx small { color: #2B3A4F !important; }
#precios .voya-nota, #precios .pricingtable-head p { color: #122238 !important; }
#para-quien .service-title { font-size: 22px !important; font-weight: 700 !important; margin-bottom: 8px; }
#incluye .text strong, #por-que .text { color: #2B3A4F; }
.voya-dest-long { font-size: clamp(44px, 6vw, 80px) !important; }
/* Hoteles (Cancún) */
.voya-hotel { background: #fff; border-radius: 20px; overflow: hidden; height: 100%; box-shadow: 0 14px 30px rgba(18,34,56,.12); display: flex; flex-direction: column; }
.voya-hotel-media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.voya-hotel-body { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 6px; flex-grow: 1; }
.voya-hotel-name { font-size: 26px; margin: 0; color: #122238; }
.voya-hotel-meta { margin: 0; color: #2B3A4F; }
.voya-hotel-tag { align-self: flex-start; background: #122238; color: #fff; border-radius: 999px; padding: 4px 12px; font-size: 14px; margin: 4px 0 14px; }
.voya-hotel-btn { margin-top: auto; align-self: flex-start; }

/* Logo oficial */
.site-header.style-3 .logo-btn a { background: #122238 !important; display: flex; align-items: center; }
.voya-mono { display: block; height: 24px; width: auto; }
.voya-footer-logo img { height: 80px; width: auto; }
.voya-footer-logo .logo-on-dark { display: none; }
[data-theme-version="dark"] .voya-footer-logo .logo-on-light { display: none; }
[data-theme-version="dark"] .voya-footer-logo .logo-on-dark { display: inline-block; }

/* Preguntas frecuentes como botón (sin saltar al inicio) */
button.accordion-button { width: 100%; text-align: left; border: 0; font: inherit; }

/* Destinos: en pantallas menores a 1200px se muestran en cuadrícula */
@media (max-width: 1199px) {
  .horizontal-wrapper { flex-wrap: wrap !important; width: auto !important; transform: none !important; }
  .horizontal-wrapper .panel { min-width: 0 !important; flex: 1 1 calc(50% - 16px) !important; }
  .horizontal-wrapper .panel .media img { width: 100%; height: auto; }
}
@media (max-width: 767px) {
  .horizontal-wrapper .panel { flex-basis: 100% !important; }
}



/* ===== Paleta: azul marino predominante, dorado secundario ===== */
.btn-primary, .btn.btn-primary { background-color: #122238 !important; border-color: #122238 !important; color: #fff !important; }
.btn-primary .right-icon, .btn.btn-primary .right-icon { background: #bb851d !important; color: #122238 !important; }
/* Sobre fondos azules o tarjetas azules el botón pasa a dorado */
.site-header .btn-primary, .service-card .btn-primary, .bg-linear-gradient .btn-primary,
#resumen .btn-primary, .main-banner .btn-primary { background-color: #bb851d !important; border-color: #bb851d !important; color: #122238 !important; }
.site-header .btn-primary .right-icon, .service-card .btn-primary .right-icon, .bg-linear-gradient .btn-primary .right-icon,
#resumen .btn-primary .right-icon { background: #122238 !important; color: #fff !important; }
#precios .pricingtable-wrapper .btn-primary { background-color: #122238 !important; border-color: #122238 !important; color: #fff !important; }
.service-badge { background-color: #bb851d !important; color: #122238 !important; }
.text-primary { color: #bb851d !important; }
.service-card.style-2, .voya-hacer { background-color: #122238 !important; }
.service-card .btn-link, .service-card .btn-link i { color: #bb851d !important; }
.dz-accordion .accordion-button { background-color: #122238 !important; color: #fff !important; }
.dz-accordion .accordion-button:not(.collapsed) { background-color: #bb851d !important; color: #122238 !important; }
::selection { background: #bb851d; color: #122238; }

/* Texto claro sobre las franjas azules */
.bg-linear-gradient .title, .bg-linear-gradient h1, .bg-linear-gradient h2, .bg-linear-gradient h3,
.bg-linear-gradient h4, .bg-linear-gradient p, .bg-linear-gradient .service-title,
.bg-linear-gradient .service-description, .bg-linear-gradient .bottom-title { color: #fff !important; }
.bg-linear-gradient .section-head p, #precios .voya-nota, #precios .pricingtable-head p { color: rgba(255,255,255,.8) !important; }
#para-quien .service-title { color: #bb851d !important; }
.voya-info-card { background: rgba(255,255,255,.06) !important; border: 1px solid rgba(187,133,29,.55); }
.voya-info-label { color: #bb851d !important; }
.voya-info-value { color: #fff !important; }
/* Las tarjetas de precio siguen blancas con texto azul */
#precios .pricingtable-wrapper h3, #precios .pricingtable-wrapper h4, #precios .pricingtable-wrapper .title,
#precios .pricingtable-wrapper p, #precios .pricingtable-wrapper small { color: #122238 !important; }
#precios .pricingtable-wrapper .pricingtable-features li { color: #2B3A4F !important; }

/* Portada de cada destino en azul con texto blanco */
#resumen.banner-gradient { background: linear-gradient(180deg, #122238 0%, #193256 100%) !important; }
#resumen .title, #resumen .text, #resumen p, #resumen .voya-precio, #resumen .voya-precio strong,
#resumen .voya-precio small { color: #fff !important; }
#resumen .voya-nota { color: rgba(255,255,255,.75) !important; }
#resumen .section-head > a { color: #bb851d !important; }

/* Portada del inicio: título claro sobre el azul */
.main-banner .hero-title, .main-banner .hero-title span, .main-banner .hero-title .hero-desc,
.main-banner .hero-title .hero-desc * { color: #fff !important; }
.main-banner .hero-title .hero-digital, .main-banner .hero-title .hero-marketing { color: #fff !important; }
.main-banner .hero-title .hero-are, .main-banner .hero-title .hero-agency { color: #bb851d !important; }
.rocket-section .text, .rocket-section p.text { color: #bb851d !important; }
/* Reseñas: caja de calificación en dorado (acento) */
.testimonial-rating-box { background-color: #bb851d !important; }
.testimonial-rating-box, .testimonial-rating-box .title, .testimonial-rating-box .text,
.testimonial-rating-box .rating-text { color: #122238 !important; }
.testimonial-rating-box .btn { background-color: #122238 !important; border-color: #122238 !important; color: #fff !important; }
.bg-bottom-linear-gradient::before { background: linear-gradient(180deg, #F8F5EE 0%, #EADBB8 100%) !important; filter: blur(120px); }
/* Flechas de preguntas visibles */
.dz-accordion .accordion-button.collapsed .toggle-close { background-color: #bb851d !important; }
.dz-accordion .accordion-button.collapsed .toggle-close:after,
.dz-accordion .accordion-button.collapsed .toggle-close:before { color: #122238 !important; }
.dz-accordion .accordion-button:not(.collapsed) .toggle-close { background-color: #122238 !important; }
.dz-accordion .accordion-button:not(.collapsed) .toggle-close:after,
.dz-accordion .accordion-button:not(.collapsed) .toggle-close:before { color: #fff !important; }
#para-quien .service-box .service-description { color: rgba(255,255,255,.85) !important; }
.dz-accordion.accordion-sm .accordion-button { padding: 16px 22px !important; border-radius: 6px; }
.dz-accordion.accordion-sm .accordion-item { margin-bottom: 10px; border: 0; }
.dz-accordion.accordion-sm .accordion-body { padding: 14px 22px 18px !important; }
.bg-linear-gradient .voya-hotel .voya-hotel-name { color: #122238 !important; }
.bg-linear-gradient .voya-hotel .voya-hotel-meta { color: #2B3A4F !important; }

/* ===== Degradados de marca ===== */
.btn-primary, .btn.btn-primary, #precios .pricingtable-wrapper .btn-primary,
.testimonial-rating-box .btn { background: var(--voya-navy) !important; border: 0 !important; color: #fff !important; }
.site-header .btn-primary, .service-card .btn-primary, .bg-linear-gradient .btn-primary,
#resumen .btn-primary, .main-banner .btn-primary { background: var(--voya-gold) !important; border: 0 !important; color: #122238 !important; }
.btn-primary .right-icon { background: var(--voya-gold) !important; color: #122238 !important; }
.site-header .btn-primary .right-icon, .service-card .btn-primary .right-icon, .bg-linear-gradient .btn-primary .right-icon,
#resumen .btn-primary .right-icon, .main-banner .btn-primary .right-icon { background: var(--voya-navy) !important; color: #fff !important; }
.service-badge { background: var(--voya-gold) !important; color: #122238 !important; }
.service-card.style-2, .voya-hacer, .rocket-wrapper [class*="card"], .rocket-section .icon-bx-wraper,
.testimonial-swiper-wrapper, .site-header.style-3 .logo-btn a { background: var(--voya-navy) !important; }
.testimonial-rating-box { background: var(--voya-gold) !important; }
.dz-accordion .accordion-button, .dz-accordion .accordion-button.collapsed { background: var(--voya-navy) !important; color: #fff !important; }
.dz-accordion .accordion-button:not(.collapsed) { background: var(--voya-gold) !important; color: #122238 !important; }
.dz-accordion .accordion-button.collapsed .toggle-close { background: var(--voya-gold) !important; }
.dz-accordion .accordion-button:not(.collapsed) .toggle-close { background: var(--voya-navy) !important; }
.text-primary { background: var(--voya-gold); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: #bb851d !important; }
.voya-wa-float:focus-visible { outline-color: #bb851d; }
#resumen.banner-gradient { background: linear-gradient(180deg, #122238 0%, #193256 86%, #FFFFFF 100%) !important; }

/* Contadores: tres columnas */
.stats-counter-section .counter-bx .title { white-space: nowrap; }

/* Reseñas con foto de fondo */
#resenas { background: linear-gradient(180deg, #FFFFFF 0%, rgba(18,34,56,.55) 14%, rgba(25,50,86,.62) 86%, #FFFFFF 100%), url(../../images/voya/resenas-fondo.jpg) center / cover no-repeat !important; }
#resenas.bg-bottom-linear-gradient::before { display: none !important; }
#resenas .section-head .title, #resenas .bg-seprate-text, #resenas .bg-seprate-text strong { color: #fff !important; }
#resenas .testimonial-swiper-wrapper { border: 1px solid rgba(220,181,106,.45); }
.stats-counter-section .counter-bx .title { font-size: clamp(36px, 3.4vw, 56px) !important; line-height: 1.1 !important; }
.stats-counter-section .counter-bx .text { font-size: 15px !important; }
@media (max-width: 575px) { .stats-counter-section .counter-bx .title { font-size: 32px !important; } .stats-counter-section .counter-bx .text { font-size: 13px !important; } }
#resenas .section-head .title, #resenas .bg-seprate-text { text-shadow: 0 2px 14px rgba(18,34,56,.6); }
#precios .pricingtable-bx { font-size: clamp(32px, 3vw, 44px) !important; white-space: nowrap; }

/* Preguntas frecuentes: pregunta y respuesta siempre visibles */
.voya-faq { display: flex; flex-direction: column; gap: 14px; }
.voya-faq-item { background: #fff; border-radius: 10px; border-left: 5px solid #bb851d; box-shadow: 0 8px 24px rgba(18,34,56,.08); overflow: hidden; }
.voya-faq-q { margin: 0; padding: 16px 22px; font-size: 19px; line-height: 1.35; color: #fff !important; background: var(--voya-navy); }
.voya-faq-a { padding: 14px 22px 18px; color: #2B3A4F; font-size: 16px; line-height: 1.6; }
.voya-faq-a p { margin: 0; color: #2B3A4F !important; }
@media (max-width: 575px) { .voya-faq-q { font-size: 17px; padding: 14px 16px; } .voya-faq-a { padding: 12px 16px 16px; font-size: 15px; } }

/* Contadores más grandes */
.stats-counter-section .counter-bx .title { font-size: clamp(48px, 4.6vw, 76px) !important; }
.stats-counter-section .counter-bx .text { font-size: 18px !important; line-height: 1.35 !important; }
@media (max-width: 575px) { .stats-counter-section .counter-bx .title { font-size: 38px !important; } .stats-counter-section .counter-bx .text { font-size: 14px !important; } }
.testimonial-rating-box .rating-text { font-size: 18px !important; font-weight: 600; }
.stats-counter-section .counter-bx.style-3 .counter-head .title { font-size: clamp(56px, 5.6vw, 88px) !important; line-height: 1 !important; margin-bottom: 8px; }
.stats-counter-section .counter-bx.style-3 .counter-info .text { font-size: clamp(16px, 1.4vw, 20px) !important; line-height: 1.35 !important; }
@media (max-width: 575px) {
  .stats-counter-section .counter-bx.style-3 .counter-head .title { font-size: 40px !important; }
  .stats-counter-section .counter-bx.style-3 .counter-info .text { font-size: 14px !important; }
}
.stats-counter-section .counter-bx.style-3 .counter-info .text { font-size: clamp(18px, 1.7vw, 24px) !important; font-weight: 500 !important; color: #122238 !important; max-width: 240px; }

/* Reseñas con fotos de clientes: una a la vez */
.voya-rv { max-width: 1040px; margin: 10px auto 0; }
.voya-rv-stage { display: grid; background: rgba(18,34,56,.82); border: 1px solid rgba(220,181,106,.45); border-radius: 20px; overflow: hidden; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.voya-rv-slide { grid-area: 1 / 1; display: grid; grid-template-columns: 400px 1fr; visibility: hidden; opacity: 0; transition: opacity .45s ease, visibility 0s linear .45s; }
.voya-rv-slide.is-active { visibility: visible; opacity: 1; transition: opacity .45s ease, visibility 0s; }
.voya-rv-media { position: relative; aspect-ratio: 4 / 5; background: #193256; }
.voya-rv-track { display: flex; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.voya-rv-track::-webkit-scrollbar { display: none; }
.voya-rv-track img { flex: 0 0 100%; width: 100%; height: 100%; object-fit: cover; scroll-snap-align: start; display: block; }
.voya-rv-dots { position: absolute; left: 0; right: 0; bottom: 16px; display: flex; justify-content: center; gap: 8px; }
.voya-rv-dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.55); cursor: pointer; transition: background .2s, transform .2s; box-shadow: 0 1px 4px rgba(0,0,0,.3); }
.voya-rv-dots button[aria-current="true"] { background: #fff; transform: scale(1.3); }
.voya-rv-info { display: flex; flex-direction: column; justify-content: center; gap: 18px; padding: 48px 52px; }
.voya-rv-dest { align-self: flex-start; background: var(--voya-gold); color: #122238; font-weight: 700; font-size: 14px; line-height: 1; padding: 8px 14px; border-radius: 999px; }
.voya-rv-text { margin: 0; color: #fff !important; font-size: 20px; line-height: 1.6; }
.voya-rv-name { margin: 0; color: #dcb56a !important; font-weight: 600; font-size: 17px; }
.voya-rv-date { margin: -12px 0 0; color: rgba(255,255,255,.62) !important; font-size: 14px; }
.voya-rv-nav { display: flex; align-items: center; gap: 14px; margin-top: 22px; }
.voya-rv-arrow { flex: 0 0 auto; width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(220,181,106,.6); background: #122238; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 20px; cursor: pointer; transition: background .2s, color .2s; }
.voya-rv-arrow:hover { background: #bb851d; color: #122238; }
.voya-rv-thumbs { flex: 1; display: flex; justify-content: center; gap: 10px; overflow-x: auto; scrollbar-width: none; padding: 6px 4px; }
.voya-rv-thumbs::-webkit-scrollbar { display: none; }
.voya-rv-thumb { flex: 0 0 auto; width: 54px; height: 54px; padding: 0; border-radius: 50%; border: 2px solid transparent; background: none; cursor: pointer; opacity: .6; transition: opacity .2s, border-color .2s, transform .2s; }
.voya-rv-thumb img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: block; }
.voya-rv-thumb:hover { opacity: .9; }
.voya-rv-thumb[aria-current="true"] { opacity: 1; border-color: #dcb56a; transform: scale(1.08); }
.voya-rv button:focus-visible { outline: 2px solid #dcb56a; outline-offset: 3px; }
.voya-rv-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px 24px; margin-top: 40px; }
.voya-rv-foot p { margin: 0; color: #fff !important; font-size: 18px; text-shadow: 0 2px 14px rgba(18,34,56,.6); }
.voya-rv-foot strong { color: #dcb56a; font-size: 26px; }
@media (max-width: 991px) {
  .voya-rv-slide { grid-template-columns: 1fr 1fr; }
  .voya-rv-info { padding: 32px 30px; }
  .voya-rv-text { font-size: 18px; }
  .voya-rv-thumbs { justify-content: flex-start; }
}
@media (max-width: 767px) {
  .voya-rv { max-width: 440px; }
  .voya-rv-slide { grid-template-columns: 1fr; }
  .voya-rv-info { justify-content: flex-start; padding: 22px 22px 26px; gap: 12px; }
  .voya-rv-text { font-size: 16px; }
  .voya-rv-date { margin-top: -6px; }
  .voya-rv-arrow { width: 42px; height: 42px; font-size: 18px; }
  .voya-rv-thumb { width: 46px; height: 46px; }
}
@media (prefers-reduced-motion: reduce) { .voya-rv-slide, .voya-rv-slide.is-active { transition: none; } }

/* Tarjetas con foto: la imagen cubre todo el lado derecho */
.service-card.style-2 { list-style: none; overflow: hidden; height: 100%; padding-right: calc(38% + 36px) !important; }
.service-card.style-2::marker { content: none; }
.service-card.style-2 .dz-meida { position: absolute; top: 0; right: 0; bottom: 0; left: auto; width: 38%; height: auto; margin: 0; }
.service-card.style-2 .dz-meida { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 64px); mask-image: linear-gradient(90deg, transparent 0, #000 64px); }
.service-card.style-2 .dz-meida img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; border-radius: 0; }
#paquetes .row.custom-gutter > .col-md-6 { margin-bottom: 0; }
@media (max-width: 991px) {
  .service-card.style-2 { padding-right: calc(36% + 26px) !important; }
  .service-card.style-2 .dz-meida { width: 36%; height: auto; }
}
@media (max-width: 575px) {
  .service-card.style-2 { padding-right: 24px !important; padding-bottom: 0 !important; display: flex; flex-direction: column; }
  .service-card.style-2 .dz-meida { position: relative; width: auto; height: 210px; margin: 26px -24px 0; order: 99; }
  .service-card.style-2 .dz-meida { -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 48px); mask-image: linear-gradient(180deg, transparent 0, #000 48px); }
  .service-card.style-2 > .btn { align-self: flex-start; }
}

/* Promociones flash */
.voya-promo { background: linear-gradient(180deg, #FFFFFF 0%, #122238 7%, #193256 93%, #FFFFFF 100%); }
.voya-promo-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 40px; margin-bottom: 32px; }
.voya-promo-head .title { color: #fff !important; margin: 0 0 12px; font-size: clamp(38px, 5vw, 68px); line-height: 1.05; font-weight: 600; }
.voya-promo-head p { margin: 0; max-width: 52ch; color: rgba(255,255,255,.78) !important; font-size: 17px; line-height: 1.6; }
.voya-promo-arrows { display: flex; gap: 10px; }
.voya-promo-arrow { width: 50px; height: 50px; border-radius: 50%; border: 1px solid rgba(220,181,106,.6); background: transparent; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 20px; cursor: pointer; transition: background .2s, color .2s; }
.voya-promo-arrow:hover { background: #bb851d; color: #122238; }
.voya-promo-track { display: flex; gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; overscroll-behavior-x: contain; }
.voya-promo-track::-webkit-scrollbar { display: none; }
.voya-promo-item { flex: 0 0 calc((100% - 44px) / 3); scroll-snap-align: start; border-radius: 16px; overflow: hidden; display: block; box-shadow: 0 18px 40px rgba(0,0,0,.28); }
.voya-promo-item img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; display: block; transition: transform .35s ease; }
.voya-promo-item:hover img { transform: scale(1.03); }
.voya-promo-nota { margin: 16px 0 0; text-align: center; font-size: 13px; color: rgba(255,255,255,.6) !important; }
.voya-promo-cta { margin-top: 40px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px; padding: 32px 36px; border-radius: 18px; border: 1px solid rgba(220,181,106,.5); background: rgba(18,34,56,.6); }
.voya-promo-cta h3 { margin: 0 0 6px; color: #fff !important; font-size: clamp(24px, 2.4vw, 32px); }
.voya-promo-cta p { margin: 0; max-width: 52ch; color: rgba(255,255,255,.78) !important; font-size: 16px; line-height: 1.55; }
.voya-promo button:focus-visible, .voya-promo a:focus-visible { outline: 2px solid #dcb56a; outline-offset: 3px; }
@media (max-width: 991px) { .voya-promo-item { flex-basis: calc((100% - 22px) / 2); } }
@media (max-width: 575px) {
  .voya-promo-item { flex-basis: 82%; }
  .voya-promo-arrows { display: none; }
  .voya-promo-cta { padding: 24px 22px; }
  .voya-promo-cta .btn { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .voya-promo-item img { transition: none; } }
.voya-promo-cta .btn-primary { background: var(--voya-gold) !important; color: #122238 !important; border: 0; font-weight: 600; }
.voya-promo-cta .btn-primary .right-icon { background: #122238 !important; color: #fff !important; }
.voya-promo-cta .btn-primary:hover { filter: brightness(1.06); }
.voya-promo { padding-top: clamp(100px, 11vw, 150px) !important; padding-bottom: clamp(100px, 11vw, 150px) !important; }
/* Avión en "Cómo reservar" (sustituye al cohete) */
.rocket-img.voya-avion { width: 72px; height: 72px; filter: drop-shadow(0 6px 10px rgba(18,34,56,.35)); }
/* Formulario de reseñas */
body.modal-open .voya-wa-float { display: none; }
.voya-rf-modal .modal-content { background: #122238; color: #fff; border: 1px solid rgba(220,181,106,.45); border-radius: 18px; }
.voya-rf-modal .modal-header { align-items: flex-start; gap: 16px; border-bottom: 1px solid rgba(255,255,255,.12); padding: 26px 30px 20px; }
.voya-rf-modal .modal-title { color: #fff !important; font-size: clamp(24px, 3vw, 32px); margin: 0 0 6px; }
.voya-rf-modal .modal-header p { margin: 0; color: rgba(255,255,255,.72) !important; font-size: 15px; line-height: 1.5; }
.voya-rf-modal .btn-close { filter: invert(1); opacity: .8; margin-top: 4px; }
.voya-rf-modal .modal-body { padding: 24px 30px 30px; }
.voya-rf { display: flex; flex-direction: column; gap: 18px; }
.voya-rf-hp { position: absolute; left: -9999px; }
.voya-rf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.voya-rf-field { display: flex; flex-direction: column; gap: 7px; margin: 0; border: 0; padding: 0; }
.voya-rf-field label, .voya-rf-field legend { color: #fff; font-size: 15px; font-weight: 600; margin: 0; float: none; width: auto; }
.voya-rf-field label span, .voya-rf-field legend span { color: #dcb56a; }
.voya-rf input[type="text"], .voya-rf textarea, .voya-rf input[type="file"] { width: 100%; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.22); border-radius: 10px; color: #fff; padding: 12px 14px; font-size: 16px; font-family: inherit; }
.voya-rf input::placeholder, .voya-rf textarea::placeholder { color: rgba(255,255,255,.45); }
.voya-rf input:focus, .voya-rf textarea:focus { outline: none; border-color: #dcb56a; box-shadow: 0 0 0 3px rgba(220,181,106,.25); }
.voya-rf input[type="file"] { padding: 9px 10px; font-size: 14px; }
.voya-rf input[type="file"]::file-selector-button { background: #bb851d; color: #122238; border: 0; border-radius: 999px; padding: 6px 12px; margin-right: 10px; font-weight: 600; cursor: pointer; }
.voya-rf .is-invalid { border-color: #ff8a80 !important; }
.voya-rf-count, .voya-rf-help { color: rgba(255,255,255,.55); font-size: 13px; }
.voya-rf-count { align-self: flex-end; }
.voya-rf-help { margin-top: -10px; }
.voya-rf-stars-row { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; gap: 4px; }
.voya-rf-stars-row input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.voya-rf-stars-row label { font-size: 34px; line-height: 1; color: rgba(255,255,255,.25); cursor: pointer; transition: color .15s; font-weight: 400; }
.voya-rf-stars-row label:hover, .voya-rf-stars-row label:hover ~ label, .voya-rf-stars-row input:checked ~ label { color: #dcb56a; }
.voya-rf-stars-row input:focus-visible + label { outline: 2px solid #dcb56a; outline-offset: 2px; border-radius: 4px; }
.voya-rf-check { display: flex; gap: 10px; align-items: flex-start; color: rgba(255,255,255,.85); font-size: 14px; line-height: 1.5; cursor: pointer; }
.voya-rf-check input { width: 18px; height: 18px; margin-top: 2px; accent-color: #bb851d; flex: 0 0 auto; }
.voya-rf-error { margin: 0; color: #ffb4ab !important; font-size: 14px; }
.voya-rf-submit { align-self: flex-start; background: var(--voya-gold) !important; color: #122238 !important; font-weight: 600; }
.voya-rf-submit .right-icon { background: #122238 !important; color: #fff !important; }
.voya-rf-submit[disabled] { opacity: .6; pointer-events: none; }
.voya-rf-ok { text-align: center; padding: 30px 10px 10px; }
.voya-rf-ok h3 { color: #fff !important; margin-bottom: 8px; }
.voya-rf-ok p { color: rgba(255,255,255,.78) !important; margin-bottom: 22px; }
@media (max-width: 575px) {
  .voya-rf-grid { grid-template-columns: 1fr; }
  .voya-rf-modal .modal-header, .voya-rf-modal .modal-body { padding-left: 20px; padding-right: 20px; }
  .voya-rf-submit { align-self: stretch; justify-content: center; }
}
/* Confianza: tiempo de respuesta, fecha de precios, enlaces legales */
.voya-respuesta { display: flex; align-items: center; gap: 8px; margin: 14px 0 0; font-size: 14px; color: inherit; opacity: .85; }
.voya-respuesta i { color: #bb851d; font-size: 16px; }
.text-center .voya-respuesta, .voya-paq-nota .voya-respuesta { justify-content: center; }
.voya-paq-nota { margin-top: 36px; text-align: center; }
.voya-paq-nota p { margin: 0; color: #2B3A4F !important; font-size: 15px; }
.voya-paq-nota .voya-respuesta { margin-top: 8px; }
.voya-footer-resp { font-size: 14px; opacity: .8; }
.voya-legal-links { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 8px 0 0; font-size: 14px; }
.voya-legal-links a { text-decoration: underline; text-underline-offset: 3px; }
.voya-rf-check a { color: #dcb56a; text-decoration: underline; }

/* Partners */
.voya-partners { padding: 70px 0 80px; background: #fff; position: relative; z-index: 1; }
.voya-partners-title { text-align: center; font-size: clamp(26px, 3vw, 38px); margin: 0 0 8px; color: #122238 !important; }
.voya-partners-text { text-align: center; margin: 0 auto 36px; max-width: 56ch; color: #2B3A4F !important; font-size: 16px; }
.voya-partners-list { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; max-width: 960px; }
.voya-partner { height: 130px; display: flex; align-items: center; justify-content: center; padding: 20px; background: #fff; border: 1px solid rgba(18,34,56,.12); border-radius: 16px; box-shadow: 0 10px 26px rgba(18,34,56,.06); }
.voya-partner img { height: var(--h, 48px); width: auto; max-width: 100%; object-fit: contain; }
@media (max-width: 767px) {
  .voya-partners-list { grid-template-columns: 1fr; max-width: 340px; }
  .voya-partner { height: 110px; }
}

/* Páginas legales */
.voya-legal-header { background: linear-gradient(135deg, #122238 0%, #193256 100%); padding: 22px 0; }
.voya-legal-header .container { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.voya-legal-header img { height: 56px; width: auto; }
.voya-legal-header a.voya-back { color: #dcb56a; font-weight: 600; text-decoration: none; }
.voya-legal { padding: 60px 0 80px; background: #fff; }
.voya-legal .container { max-width: 820px; }
.voya-legal h1 { color: #122238 !important; font-size: clamp(32px, 4vw, 48px); margin-bottom: 6px; }
.voya-legal .voya-legal-fecha { color: #5b6677 !important; font-size: 14px; margin-bottom: 34px; }
.voya-legal h2 { color: #122238 !important; font-size: 22px; margin: 34px 0 10px; }
.voya-legal p, .voya-legal li { color: #2B3A4F !important; font-size: 16px; line-height: 1.7; }
.voya-legal ul { padding-left: 20px; margin: 0 0 12px; list-style: disc; }
.voya-legal li { margin-bottom: 6px; }
.voya-legal a { color: #9a6c12; text-decoration: underline; }
.voya-legal-footer { background: #122238; color: rgba(255,255,255,.75); padding: 28px 0; font-size: 14px; }
.voya-legal-footer .container { display: flex; flex-wrap: wrap; gap: 10px 24px; justify-content: space-between; }
.voya-legal-footer a { color: #dcb56a; }
.voya-legal ul li { list-style: disc !important; display: list-item; } .voya-legal ul { padding-left: 22px !important; }
