/*
Theme Name: Meraki Tours Theme
Theme URI: http://merakitourspty.com
Author: Desarrollo Meraki
Description: Tema profesional, moderno y escalable estructurado para la agencia Meraki Tours.
Version: 1.2
Text Domain: merakitours
*/

/* ==========================================================================
   1. IMPORTACIÓN DE FUENTES (Google Fonts)
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&family=Poppins:wght@300;400;500;600&display=swap');

/* ==========================================================================
   2. VARIABLES DE COLOR Y CONFIGURACIÓN RAÍZ
   ========================================================================== */
:root {
    --azul: #0056b3;
    --rosa: #e6007e;
    --naranja: #f47920;
    --oscuro: #1e293b;
    --gris-claro: #f8fafc;
    --blanco: #ffffff;
    --transicion: all 0.3s ease;
}

/* ==========================================================================
   3. ESTILOS BASE Y TIPOGRAFÍA
   ========================================================================== */
body {
    font-family: 'Poppins', sans-serif;
    color: var(--oscuro);
    background-color: var(--gris-claro);
    margin: 0;
    padding: 0;
    line-height: 1.6;
}

h1, h2, h3, h4 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    margin: 0;
}

.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* ==========================================================================
   4. CABECERA Y LOGOTIPO (Fijado absoluto sin saltos en Brave/Edge)
   ========================================================================== */
header {
    background: var(--blanco) !important;
    padding: 15px 0 !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    
    /* Configuración de fijado estricto */
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important; /* Prioridad máxima por encima de todo */
    border-bottom: 4px solid var(--azul);
    
    /* Evita saltos bruscos o animaciones raras al hacer scroll */
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
}

/* Corrige el problema si tienes la barra negra de administración de WordPress activa */
.admin-bar header {
    top: 32px !important;
}

@media screen and (max-width: 782px) {
    .admin-bar header {
        top: 46px !important; /* Ajuste para la barra de WP en móviles */
    }
}

.site-logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
}

/* Forzar al contenedor del logo a ser un bloque rígido que no se mueva */
.site-logo a,
.site-logo .custom-logo-link {
    display: block !important;
    max-width: 250px !important; 
    width: 100% !important;
    height: auto !important;
    text-align: center;
    margin: 0 auto !important;
    padding: 0 !important; /* Elimina cualquier espacio fantasma */
}

/* Control milimétrico de la imagen */
.site-logo img,
.site-logo .custom-logo {
    width: 100% !important;
    max-width: 250px !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
    padding: 0 !important;
    transition: var(--transicion);
}

.site-logo img:hover {
    transform: scale(1.03);
}

.logo-text {
    margin: 0; 
    color: var(--azul); 
    font-size: 2rem;
    text-decoration: none;
    font-weight: 700;
    font-family: 'Montserrat', sans-serif;
}

.logo-slogan {
    color: var(--naranja); 
    font-weight: bold; 
    letter-spacing: 2px;
    font-size: 0.9rem;
    margin-top: 5px;
}/* ==========================================================================
   5. SECCIÓN HERO (BIENVENIDA)
   ========================================================================== */
.hero {
    background: linear-gradient(135deg, rgba(0, 86, 179, 0.95) 0%, rgba(230, 0, 126, 0.4) 100%), 
                url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=1920&q=80') no-repeat center center/cover;
    color: var(--blanco);
    padding: 120px 0;
    text-align: center;
}

.hero h2 {
    font-size: 3rem;
    margin-bottom: 20px;
    text-shadow: 0 2px 10px rgba(0,0,0,0.2);
    letter-spacing: -0.5px;
}

.hero p {
    font-size: 1.3rem;
    max-width: 700px;
    margin: 0 auto 35px auto;
    font-weight: 300;
    opacity: 0.95;
}

/* ==========================================================================
   6. BOTONES
   ========================================================================== */
.btn {
    display: inline-block;
    background: linear-gradient(135deg, var(--rosa) 0%, #b80061 100%);
    color: var(--blanco);
    padding: 14px 38px;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1rem;
    box-shadow: 0 4px 15px rgba(230, 0, 126, 0.4);
    transition: var(--transicion);
}

.btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(244, 121, 32, 0.4);
    background: linear-gradient(135deg, var(--naranja) 0%, #d45d0c 100%);
}

/* ==========================================================================
   7. SECCIONES GENERALES Y TARJETAS
   ========================================================================== */
.section {
    padding: 80px 0;
}

.grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.card {
    background: var(--blanco);
    padding: 35px 30px;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.03);
    transition: var(--transicion);
    border: 1px solid rgba(0,0,0,0.05);
    border-top: 5px solid var(--azul);
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 86, 179, 0.1);
}

.card h4 {
    font-size: 1.4rem;
    margin-bottom: 15px;
}

/* ==========================================================================
   8. LISTADO DE EQUIPO EXPERTO
   ========================================================================== */
.equipo-list {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    margin-top: 30px;
}

.equipo-list li {
    background: var(--blanco);
    padding: 15px 30px;
    border-radius: 50px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.02);
    font-weight: 600;
    color: var(--azul);
    border: 1px solid rgba(0, 86, 179, 0.1);
    transition: var(--transicion);
}

.equipo-list li:hover {
    background: var(--azul);
    color: var(--blanco);
    transform: scale(1.05);
}

/* ==========================================================================
   9. SECCIÓN DE CONTACTO
   ========================================================================== */
#contacto {
    background: linear-gradient(135deg, var(--azul) 0%, #003d80 100%);
    color: var(--blanco);
    text-align: center;
}

#contacto h3 {
    font-size: 2.5rem;
}

#contacto .container div {
    background: var(--blanco);
    color: var(--oscuro);
    padding: 40px;
    border-radius: 20px;
    max-width: 500px;
    margin: 40px auto 0 auto;
    box-shadow: 0 20px 40px rgba(0,0,0,0.2);
}

/* ==========================================================================
   10. PIE DE PÁGINA (FOOTER)
   ========================================================================== */
footer {
    background: #0f172a;
    color: rgba(255, 255, 255, 0.7);
    text-align: center;
    padding: 30px 0;
    font-size: 0.9rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}