/* =========================================================
   Solertia — estilos personalizados (sobre la plantilla Anger)
   ========================================================= */

/* ---- Logo oficial Grupo Solertia (header) ---- */
.solertia_logo{
    height:42px;
    width:auto;
    display:inline-block;
}
@media (max-width:991px){ .solertia_logo{ height:34px; } }

/* ---- Wordmark del footer (sobre fondo oscuro) ---- */
.site_logo_wordmark{
    font-family:'Montserrat', sans-serif;
    font-style:italic;
    font-weight:300;
    font-size:30px;
    letter-spacing:.5px;
    color:#ffffff;
    line-height:1;
    display:inline-block;
}
.site_logo_wordmark em{ font-style:italic; font-weight:800; color:#ffffff; }
.site_logo_wordmark .logo_accent{ color:#1ea7e3; }
.site_logo_wordmark:hover,
.site_logo_wordmark:focus{ color:#ffffff; text-decoration:none; }

/* ---- Logo placeholder de texto (compatibilidad; ya no en uso) ---- */
.site_logo_text{
    font-family:'Montserrat', sans-serif;
    font-weight:800;
    font-size:26px;
    color:#ffffff;
    line-height:1;
    display:inline-block;
}

/* ---- Tarjetas de servicio con sombra suave ---- */
.box_shadow1{
    box-shadow:0 6px 30px rgba(20,40,80,.08);
    border-radius:8px;
    transition:all .3s ease;
}
.box_shadow1:hover{
    box-shadow:0 12px 40px rgba(20,40,80,.15);
    transform:translateY(-4px);
}

/* ---- Etiqueta (badge) del hero ---- */
.hero_badge{
    display:inline-block;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.45);
    color:#ffffff;
    padding:7px 18px;
    border-radius:30px;
    font-size:13px;
    letter-spacing:1px;
    text-transform:uppercase;
}

/* ---- Grid de logos (clientes / partners) ---- */
.logo_grid_item{
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    border:1px solid #eef0f4;
    border-radius:8px;
    padding:25px 15px;
    height:120px;
    margin-bottom:30px;
    transition:all .3s ease;
}
.logo_grid_item:hover{ box-shadow:0 8px 25px rgba(20,40,80,.10); }
.logo_grid_item img{ max-height:60px; max-width:100%; width:auto; object-fit:contain; }

/* ---- Póster de video con botón de play ---- */
.video_popup_wrap{
    position:relative;
    min-height:330px;
    border-radius:8px;
    overflow:hidden;
    background-size:cover;
    background-position:center;
    box-shadow:0 12px 40px rgba(0,0,0,.30);
}
.video_popup_wrap:before{
    content:"";
    position:absolute;
    top:0; right:0; bottom:0; left:0;
    background:rgba(10,20,45,.35);
}
.popup_play{
    position:absolute;
    top:50%; left:50%;
    transform:translate(-50%,-50%);
    width:80px; height:80px; line-height:82px;
    text-align:center;
    border-radius:50%;
    background:#ffffff;
    color:#16447c;
    font-size:34px;
    z-index:2;
    box-shadow:0 0 0 0 rgba(255,255,255,.6);
    animation:solertia_pulse 2.2s infinite;
    transition:background .3s, color .3s;
}
.popup_play:hover{ background:#16447c; color:#ffffff; }
.popup_play i{ position:relative; left:4px; }
@keyframes solertia_pulse{
    0%{ box-shadow:0 0 0 0 rgba(255,255,255,.55); }
    70%{ box-shadow:0 0 0 22px rgba(255,255,255,0); }
    100%{ box-shadow:0 0 0 0 rgba(255,255,255,0); }
}

/* ---- Lista de checks para servicios ---- */
.check_list{ list-style:none; padding:0; margin:0; }
.check_list li{ position:relative; padding-left:28px; margin-bottom:10px; }
.check_list li:before{
    content:"\e64c"; /* themify check */
    font-family:'themify';
    position:absolute; left:0; top:2px;
    color:#16447c; font-size:14px;
}
/* En secciones con fondo oscuro/overlay, usar azul claro para el check */
.text-white .check_list li:before,
.text_white .check_list li:before{ color:#1ea7e3; }

/* ---- Overlay azul más suave en el banner de páginas internas ---- */
.breadcrumb_section.blue_overlay_bg::before{
    background-color: rgba(14,147,216,0.55);
}

/* =========================================================
   Ajustes responsive (mobile) — Solertia
   ========================================================= */

/* Tablets y celulares (≤991px) */
@media (max-width: 991px){
    /* Logo del header */
    .solertia_logo{ height:34px; }
    /* Wordmark del footer un poco menor */
    .footer_logo .site_logo_wordmark{ font-size:26px; }
    /* Encabezados de sección */
    .heading_s1 h2{ font-size:28px; line-height:1.25; }
    /* Hero */
    .banner_content h1{ font-size:32px; line-height:1.2; }
    .hero_badge{ font-size:12px; padding:6px 14px; }
    /* Video popup */
    .video_popup_wrap{ min-height:260px; }
}

/* Celulares (≤767px) */
@media (max-width: 767px){
    /* Banner de páginas internas */
    .breadcrumb_section .page-title h1{ font-size:30px; }
    .breadcrumb_section .breadcrumb{ justify-content:flex-start !important; margin-top:8px; padding-left:0; }
    /* Hero */
    .banner_content h1{ font-size:26px; }
    .banner_content p{ font-size:15px; }
    .banner_content .btn{ display:inline-block; margin:4px 4px; }
    /* Tarjetas de servicio: más compactas */
    .icon_box.icon_box_style_5{ padding:25px 18px !important; }
    .icon_box.icon_box_style_5 h5{ font-size:17px; }
    /* Video popup más chico */
    .video_popup_wrap{ min-height:220px; }
    .popup_play{ width:62px; height:62px; line-height:62px; font-size:24px; }
    /* Footer: separación entre columnas */
    .top_footer .widget_title{ margin-top:1rem; }
    /* CTA promo apilado en mobile */
    h2.text-white{ font-size:24px; }
}

/* Celulares pequeños (≤480px) */
@media (max-width: 480px){
    .heading_s1 h2{ font-size:24px; }
    .banner_content h1{ font-size:22px; }
    .breadcrumb_section .page-title h1{ font-size:26px; }
    .hero_badge{ font-size:11px; padding:5px 12px; letter-spacing:.5px; }
    /* Botón del header (Hackeo Ético gratis) — más compacto */
    .header_wrap .attr-nav .btn-sm{ padding:6px 12px; font-size:12px; }
}

/* =========================================================
   Fix menú móvil: texto blanco sobre panel oscuro
   (panel colapsado en ≤991px)
   ========================================================= */
@media (max-width: 991px){
    /* Items principales del menú colapsado */
    .header_wrap .navbar-collapse .navbar-nav > li > .nav-link,
    .header_wrap .navbar-collapse .navbar-nav > li > a.dropdown-toggle{
        color:#ffffff !important;
    }
    /* Estado activo y hover en azul corporativo */
    .header_wrap .navbar-collapse .navbar-nav > li > .nav-link.active,
    .header_wrap .navbar-collapse .navbar-nav > li > .nav-link:hover,
    .header_wrap .navbar-collapse .navbar-nav > li > a.dropdown-toggle:hover{
        color:#1ea7e3 !important;
    }
    /* Submenús (Nosotros, Servicios, Productos) dentro del colapso */
    .header_wrap .navbar-collapse .dropdown-menu{
        background-color:transparent;
        border:0;
        box-shadow:none;
        padding-left:18px;
    }
    .header_wrap .navbar-collapse .dropdown-menu .dropdown-item,
    .header_wrap .navbar-collapse .dropdown-menu .nav-link{
        color:rgba(255,255,255,0.78) !important;
    }
    .header_wrap .navbar-collapse .dropdown-menu .dropdown-item:hover,
    .header_wrap .navbar-collapse .dropdown-menu .nav-link:hover{
        color:#1ea7e3 !important;
        background-color:transparent !important;
    }
    /* Ícono chevron del dropdown */
    .header_wrap .navbar-collapse .dropdown-toggle::after{
        border-top-color:#ffffff;
    }
    /* Toggle del navbar (hamburguesa) sobre fondo blanco */
    .header_wrap .navbar-toggler{
        color:#333333;
        border-color:rgba(0,0,0,.1);
    }
}

/* ---- Botón flotante de WhatsApp (contacto directo comercial) ---- */
.whatsapp_float{
    position:fixed;
    right:24px;
    bottom:92px;
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:center;
    width:58px;
    height:58px;
    border-radius:50%;
    background:#25d366;
    color:#ffffff;
    font-size:32px;
    box-shadow:0 8px 24px rgba(0,0,0,.22);
    transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.whatsapp_float:hover,
.whatsapp_float:focus{
    color:#ffffff;
    background:#1ebe5d;
    text-decoration:none;
    transform:translateY(-3px);
    box-shadow:0 12px 28px rgba(0,0,0,.26);
}

@media (max-width: 575px){
    .whatsapp_float{
        right:16px;
        bottom:82px;
        width:52px;
        height:52px;
        font-size:29px;
    }
}
