/*
 Theme Name:   GeneratePress Child - Viajes Oceano Azul
 Theme URI:    https://www.viajesoceanoazul.com
 Description:  Tema hijo personalizado de GeneratePress para Viajes Oceano Azul
 Author:       Viajes Oceano Azul
 Template:     generatepress
 Version:      1.0.0
 Text Domain:  generatepress-child
*/
 
/*
 IMPORTANTE:
 La linea "Template: generatepress" es la mas importante de todo el archivo.
 Le dice a WordPress "yo soy hijo de GeneratePress", por eso el nombre
 de la carpeta del tema padre debe ser exactamente "generatepress".
 
 A partir de aqui, todo el CSS personalizado que vayamos agregando
 (colores, espaciados, animaciones) ira debajo de esta linea.
 Este archivo NUNCA se borra ni se sobreescribe cuando GeneratePress
 se actualice, porque vive separado del tema padre.
*/
 
:root {
	--voa-azul-turquesa: #0891b2;
	--voa-turquesa-dark: #075a6b;
	--voa-verde-selva: #0f3d24;
	--voa-selva-2: #166534;
	--voa-dorado: #d97706;
	--voa-blanco: #ffffff;
	--voa-fondo: #FBFDFC;
	--voa-tinta: #0B2E33;
	--voa-tinta-suave: #5b7679;
	--voa-borde: #e7f0ef;
}
 
/* Tipografia - recuerda encolar Fraunces, Public Sans y JetBrains Mono desde Google Fonts en functions.php */
body { font-family:'Public Sans',sans-serif; color:var(--voa-tinta); background:var(--voa-fondo); }
h1,h2,h3 { font-family:'Fraunces',serif; font-weight:600; color:var(--voa-tinta); }
 
.voa-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--voa-dorado);font-weight:700;}
 
.voa-hero-parallax{
	position:relative;min-height:70vh;background-attachment:fixed;background-position:center;background-size:cover;
	display:flex;flex-direction:column;justify-content:flex-end;padding:70px 6%;color:#fff;
}
.voa-hero-parallax h1{color:#fff;font-size:44px;max-width:640px;line-height:1.1;margin:12px 0;}
.voa-hero-parallax p{color:rgba(255,255,255,0.85);max-width:480px;}
 
.voa-franja-datos{display:flex;gap:4px;background:#fff;border-bottom:1px solid var(--voa-borde);position:sticky;top:0;z-index:15;overflow-x:auto;}
.voa-franja-datos a{padding:16px 20px;font-size:13px;font-weight:600;color:var(--voa-tinta-suave);white-space:nowrap;}
.voa-franja-datos a:hover{color:var(--voa-turquesa-dark);}
 
.voa-section{padding:56px 6%;max-width:960px;margin:0 auto;}
 
.voa-tabs-paquetes{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap;}
.voa-tab-btn{padding:10px 18px;border-radius:100px;border:1px solid var(--voa-borde);background:#fff;font-size:13px;font-weight:600;cursor:pointer;color:var(--voa-tinta-suave);}
.voa-tab-btn.activo{background:var(--voa-turquesa-dark);color:#fff;border-color:var(--voa-turquesa-dark);}
.voa-paquete-panel{display:none;background:#fff;border:1px solid var(--voa-borde);border-radius:16px;padding:26px;}
.voa-paquete-panel.activo{display:block;}
.voa-paquete-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px;flex-wrap:wrap;gap:10px;}
.voa-precio,.voa-precio-simple{font-family:'Fraunces',serif;font-size:28px;color:var(--voa-turquesa-dark);}
.voa-precio span,.voa-precio-simple span{font-size:12px;color:var(--voa-tinta-suave);font-family:'Public Sans';display:block;}
.voa-btn-reservar{background:var(--voa-dorado);color:#fff;padding:12px 22px;border-radius:10px;font-weight:700;font-size:14px;display:inline-block;}
 
.voa-incluye-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.voa-incluye-grid ul{list-style:none;padding:0;}
.voa-incluye-grid li{padding:6px 0;font-size:14px;color:var(--voa-tinta-suave);}
.voa-incluye-grid li::before{content:'✓ ';color:var(--voa-selva-2);font-weight:700;}
 
.voa-video-wrap{margin-bottom:30px;}
.voa-video-wrap iframe{width:100%;aspect-ratio:16/9;border-radius:14px;}
 
.voa-faq-item{border-bottom:1px solid var(--voa-borde);cursor:pointer;}
.voa-faq-pregunta{padding:16px 0;display:flex;justify-content:space-between;font-weight:600;}
.voa-faq-respuesta{max-height:0;overflow:hidden;transition:max-height .3s;color:var(--voa-tinta-suave);font-size:14px;}
.voa-faq-item.activo .voa-faq-respuesta{max-height:200px;padding-bottom:16px;}
 
.voa-cta-bar{position:sticky;bottom:0;background:var(--voa-tinta);color:#fff;padding:16px 6%;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;z-index:10;}
.voa-precio-desde{font-family:'Fraunces',serif;font-size:20px;color:#fff;}
.voa-precio-desde span{font-size:11px;color:rgba(255,255,255,0.6);display:block;font-family:'Public Sans';}
.voa-btn-cta-bar{background:var(--voa-dorado);color:#fff;padding:12px 24px;border-radius:10px;font-weight:700;font-size:14px;}
 
@media(max-width:640px){.voa-incluye-grid{grid-template-columns:1fr;}.voa-hero-parallax h1{font-size:30px;}}
 
.voa-wa-float{
	position:fixed;bottom:22px;right:22px;background:var(--voa-selva-2);color:#fff;
	width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;
	font-size:26px;box-shadow:0 10px 24px rgba(15,61,36,0.35);z-index:999;text-decoration:none;
}
 
/* ==========================================================
   Header transparente sobre el hero, que se vuelve cintillo
   solido al hacer scroll (solo en paginas de Paseo)
   ========================================================== */
.single-voa_paseo .site-header{
	position:absolute;top:0;left:0;right:0;z-index:40;background:transparent!important;
	border-bottom:none!important;transition:background .3s ease,box-shadow .3s ease;
}
.single-voa_paseo .site-header,
.single-voa_paseo .site-header a,
.single-voa_paseo .main-navigation a{color:#fff!important;}
.single-voa_paseo.voa-scrolled .site-header{
	position:fixed;background:rgba(11,46,51,0.92)!important;backdrop-filter:blur(6px);
	box-shadow:0 4px 16px rgba(0,0,0,0.15);
}
.single-voa_paseo .voa-hero-parallax{margin-top:-1px;} /* el hero queda pegado arriba del todo, detras del header transparente */
 
/* ==========================================================
   Boton de WhatsApp dinamico, con burbuja de invitacion a chatear
   ========================================================== */
.voa-wa-widget{position:fixed;bottom:22px;right:22px;z-index:999;font-family:'Public Sans',sans-serif;}
.voa-wa-badge{
	position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;
	width:19px;height:19px;border-radius:50%;display:flex;align-items:center;justify-content:center;
	box-shadow:0 0 0 2px #fff;
}
.voa-wa-btn{
	background:var(--voa-selva-2);color:#fff;width:58px;height:58px;border-radius:50%;
	display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(15,61,36,0.35);
	cursor:pointer;border:none;position:relative;
}
.voa-wa-btn svg{width:28px;height:28px;}
.voa-wa-card{
	position:absolute;bottom:70px;right:0;background:#fff;border-radius:14px;padding:16px;width:250px;
	box-shadow:0 16px 40px rgba(11,46,51,0.2);opacity:0;transform:translateY(10px);pointer-events:none;
	transition:opacity .25s ease,transform .25s ease;
}
.voa-wa-card.activo{opacity:1;transform:translateY(0);pointer-events:auto;}
.voa-wa-card p{font-size:13px;color:var(--voa-tinta,#0B2E33);margin-bottom:12px;}
.voa-wa-card a{
	background:var(--voa-selva-2);color:#fff;display:flex;align-items:center;justify-content:center;gap:6px;
	padding:10px;border-radius:8px;font-size:13px;font-weight:700;
}
.voa-wa-flecha{display:inline-block;transition:opacity .3s ease;}