/* IBYTE IAgency Custom Color Palette - Updated */
:root {
  --ibyte-cyan: #40E0D0;
  --ibyte-dark: #1F2937;
  --ibyte-white: #FFFFFF;
  --ibyte-light-gray: #F9FAFB;
  --ibyte-medium-gray: #6B7280;
}

/* Primary Brand Colors */
.thm-btn,
.agency-btn {
  background-color: var(--ibyte-cyan) !important;
  border-color: var(--ibyte-cyan) !important;
  color: var(--ibyte-dark) !important;
}

.thm-btn:hover,
.agency-btn:hover {
  background-color: var(--ibyte-dark) !important;
  border-color: var(--ibyte-dark) !important;
  color: var(--ibyte-cyan) !important;
}

/* Header and Navigation */
.xb-header .xb-nav ul li a:hover,
.xb-header .xb-nav ul li.active a {
  color: var(--ibyte-cyan) !important;
}

/* Logo and Brand Elements */
.navbar img {
  height: 40px; /* Tamaño más visible para el logo */
}

.logo1 img,
.loader-logo img {
  max-height: 120px; /* Logo del loader más grande */
  width: auto;
}

/* Loader específico */
.loader-logo img {
  max-height: 150px; /* Aún más grande para el loader */
  max-width: 300px;
  object-fit: contain;
}

/* Preloader específico - override del main.css */
.preloader .loader-circle {
  width: 240px !important; /* 50% más grande: 160px -> 240px */
  height: 240px !important; /* Mantener proporción circular */
}

.preloader .loader-line-mask {
  width: 120px !important; /* Ajustado proporcionalmente: 80px -> 120px */
  height: 150px !important; /* Ajustado proporcionalmente: 100px -> 150px */
  margin-left: -120px !important; /* Centrar: -80px -> -120px */
  margin-top: -120px !important; /* Centrar: -80px -> -120px */
  transform-origin: 120px 120px !important; /* Nuevo centro: 80px -> 120px */
}

.preloader .loader-line {
  width: 240px !important; /* Igual al círculo: 160px -> 240px */
  height: 240px !important; /* Igual al círculo: 160px -> 240px */
}

.preloader .loader-logo {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important; /* Centrado perfecto matemático */
  z-index: 10 !important;
  width: 240px !important; /* Mismo ancho que el círculo */
  height: 240px !important; /* Mismo alto que el círculo */
  display: flex !important; /* Usar flexbox para centrado interno */
  align-items: center !important; /* Centrar verticalmente */
  justify-content: center !important; /* Centrar horizontalmente */
}

.preloader .loader-logo img {
  max-width: 156px !important; /* 30% más grande: 120px + 30% = 156px */
  max-height: 156px !important; /* Mantener proporción cuadrada */
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  flex-shrink: 0 !important; /* Evitar que se reduzca */
  margin: 0 auto !important; /* Centrado horizontal adicional */
  display: block !important; /* Comportamiento de bloque para centrado */
  transform: translateX(-2px) !important; /* Compensación micro para centrado visual perfecto */
}

/* Centrado absoluto alternativo para el logo del preloader */
.preloader .percent {
  width: 240px !important;
  height: 240px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
}

.preloader .percent svg {
  width: 240px !important;
  height: 240px !important;
}

.preloader .percent .preloader-logo {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 120px !important;
  height: auto !important;
  z-index: 15 !important;
}

/* Section Backgrounds */
.brand {
  background-color: var(--ibyte-light-gray);
}

/* Social Media Icons - Asegurar que estén en blanco y alineados */
.mega_menu_wrapper .social_icons_list {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important; /* Espaciado uniforme entre iconos */
}

.mega_menu_wrapper .social_icons_list li {
  margin: 0 !important; /* Eliminar márgenes por defecto */
  display: flex !important;
  align-items: center !important;
}

.mega_menu_wrapper .social_icons_list a {
  width: 40px !important; /* Tamaño uniforme */
  height: 40px !important; /* Tamaño uniforme */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important; /* Tamaño uniforme del icono */
  color: var(--color-white) !important; /* Blanco por defecto */
  transition: all 0.3s ease !important;
}

.mega_menu_wrapper .social_icons_list a:hover {
  color: var(--ibyte-cyan) !important; /* Cyan al hacer hover */
  transform: translateY(-2px) !important; /* Efecto sutil de elevación */
}

/* Iconos específicos en blanco - Forzar color blanco */
.mega_menu_wrapper .social_icons_list a [class*="fa-facebook"],
.mega_menu_wrapper .social_icons_list a .fa-facebook-f {
  color: var(--color-white) !important;
}

.mega_menu_wrapper .social_icons_list a [class*="fa-twitter"],
.mega_menu_wrapper .social_icons_list a [class*="fa-x-twitter"],
.mega_menu_wrapper .social_icons_list a .fa-x-twitter,
.mega_menu_wrapper .social_icons_list a .fa-twitter {
  color: var(--color-white) !important;
}

.mega_menu_wrapper .social_icons_list a [class*="fa-instagram"],
.mega_menu_wrapper .social_icons_list a .fa-instagram {
  color: var(--color-white) !important;
}

.mega_menu_wrapper .social_icons_list a [class*="fa-linkedin"] {
  color: var(--color-white) !important;
}

/* Asegurar que hover mantenga el color cyan */
.mega_menu_wrapper .social_icons_list a:hover [class*="fa-facebook"],
.mega_menu_wrapper .social_icons_list a:hover .fa-facebook-f,
.mega_menu_wrapper .social_icons_list a:hover [class*="fa-twitter"],
.mega_menu_wrapper .social_icons_list a:hover [class*="fa-x-twitter"],
.mega_menu_wrapper .social_icons_list a:hover .fa-x-twitter,
.mega_menu_wrapper .social_icons_list a:hover .fa-twitter,
.mega_menu_wrapper .social_icons_list a:hover [class*="fa-instagram"],
.mega_menu_wrapper .social_icons_list a:hover .fa-instagram,
.mega_menu_wrapper .social_icons_list a:hover [class*="fa-linkedin"],
.mega_menu_wrapper .social_icons_list a:hover .x-icon {
  color: var(--ibyte-cyan) !important;
}

/* Estilo para el icono personalizado de X */
.mega_menu_wrapper .social_icons_list a .x-icon {
  color: var(--color-white) !important;
  font-size: 16px !important;
  font-weight: bold !important;
  display: inline-block !important;
  line-height: 1 !important;
}

/* Brand Items */
.xb-brand-item img {
  filter: grayscale(100%);
  transition: filter 0.3s ease;
}

.xb-brand-item:hover img {
  filter: grayscale(0%);
}

/* Feature Icons and Elements */
.feature-icon,
.service-icon {
  color: var(--ibyte-cyan) !important;
}

/* Text Colors */
.text-cyan {
  color: var(--ibyte-cyan) !important;
}

.bg-cyan {
  background-color: var(--ibyte-cyan) !important;
}

.border-cyan {
  border-color: var(--ibyte-cyan) !important;
}

/* Footer */
.footer {
  background-color: var(--ibyte-dark);
  color: var(--ibyte-white);
}

.footer a {
  color: var(--ibyte-cyan);
}

.footer a:hover {
  color: var(--ibyte-white);
}

/* Custom Accent Colors */
.accent-color {
  color: var(--ibyte-cyan) !important;
}

.accent-bg {
  background-color: var(--ibyte-cyan) !important;
}

/* Form Elements */
input:focus,
textarea:focus,
select:focus {
  border-color: var(--ibyte-cyan) !important;
  box-shadow: 0 0 0 0.2rem rgba(64, 224, 208, 0.25) !important;
}

/* Progress Bars and Indicators */
.progress-bar {
  background-color: var(--ibyte-cyan) !important;
}

/* Cards and Content Blocks */
.card-highlight {
  border-left: 4px solid var(--ibyte-cyan);
}

/* Custom Animations */
@keyframes cyanlPulse {
  0% { box-shadow: 0 0 0 0 rgba(64, 224, 208, 0.7); }
  70% { box-shadow: 0 0 0 10px rgba(64, 224, 208, 0); }
  100% { box-shadow: 0 0 0 0 rgba(64, 224, 208, 0); }
}

.pulse-cyan {
  animation: cyanlPulse 2s infinite;
}

/* =============================================================================
   CARRUSEL DE MARCAS MEJORADO
   ============================================================================= */

/* Sección del carrusel - Fondo y estética */
.brand {
    background: transparent !important; /* Eliminar fondo blanco */
    padding: 80px 0 !important;
}

.xb-brand-wrap {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

.xb-brand-wrap.xb-border {
    border: none !important;
    background: transparent !important;
}

/* Carrusel de marcas - Permitir que jQuery marquee funcione */
.brand-marquee {
    overflow: hidden !important;
    position: relative !important;
    background: transparent !important;
}

.xb-brand-inner {
    background: transparent !important;
    /* Remover animaciones CSS para permitir jQuery marquee */
}

.xb-brand-item {
    flex-shrink: 0 !important;
    display: inline-block !important;
    background: transparent !important;
}

.xb-brand-item img {
    height: 60px !important;
    width: auto !important;
    max-width: 140px !important;
    opacity: 0.7 !important;
    transition: opacity 0.3s ease !important;
    object-fit: contain !important;
    filter: grayscale(100%) !important;
}

.xb-brand-item:hover img {
    opacity: 1 !important;
    filter: grayscale(0%) !important;
}

/* Título de la sección del carrusel */
.brand-sub-title {
    background: rgba(11, 35, 54, 0.9) !important; /* Fondo semi-transparente */
    backdrop-filter: blur(40px) !important;
    border: 1px solid rgba(64, 224, 208, 0.2) !important; /* Borde cyan sutil */
}

.brand-sub-title.xb-border {
    border: 1px solid rgba(64, 224, 208, 0.2) !important;
}

/* Responsive - tablets y móviles */
@media (max-width: 767px) {
    .xb-brand-item img {
        height: 40px !important;
        max-width: 100px !important;
    }
    
    .brand {
        padding: 60px 0 !important;
    }
}

/* Responsive - pantallas muy pequeñas */
@media (max-width: 480px) {
    .xb-brand-item img {
        height: 35px !important;
        max-width: 80px !important;
    }
    
    .brand {
        padding: 40px 0 !important;
    }
}

/* Contact Section - Mejoras de legibilidad */
.contact-section {
    position: relative;
}

.contact-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(31, 41, 55, 0.75); /* Overlay oscuro semitransparente */
    z-index: 1;
}

.contact-section .container {
    position: relative;
    z-index: 2;
}

/* Mejorar contraste del texto en la sección de contacto */
.xb-contact-conent {
    background: rgba(64, 224, 208, 0.1) !important; /* Fondo cyan muy suave */
    border-radius: 20px !important;
    padding: 30px !important;
    backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(64, 224, 208, 0.2) !important;
}

.xb-contact-item h3 {
    color: var(--ibyte-cyan) !important;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.xb-contact-item h3.xb-item--number {
    display: block !important;
    white-space: nowrap !important;
    position: relative !important;
    overflow: visible !important;
    font-size: 4rem !important;
    color: var(--ibyte-cyan) !important;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    margin-bottom: 15px;
}

/* Mostrar odometer correctamente */
.xb-contact-item .xb-odm {
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    width: auto !important;
    overflow: visible !important;
    position: relative !important;
    left: auto !important;
    font-size: 3.5rem !important;
    font-weight: 800 !important;
    color: var(--ibyte-cyan) !important;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5) !important;
}

.xb-contact-item .odometer {
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    width: auto !important;
    overflow: visible !important;
    position: relative !important;
    left: auto !important;
    font-size: 3.5rem !important;
    font-weight: 800 !important;
    color: var(--ibyte-cyan) !important;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5) !important;
}

.odometer,
.odometer.odometer-auto-theme,
.odometer.odometer-theme-default {
    font-size: 3.5rem !important;
    font-weight: 800 !important;
    color: var(--ibyte-cyan) !important;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5) !important;
}

/* Suffix styling */
.xb-contact-item h3.xb-item--number .suffix {
    display: inline !important;
    font-size: 0.6em !important;
    vertical-align: super !important;
    margin-left: 2px !important;
    color: var(--ibyte-cyan) !important;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5) !important;
}

/* Ocultar todos los spans problemáticos */
.xb-contact-item h3 .xbo,
.xb-contact-item h3 .suffix {
    display: none !important;
    visibility: hidden !important;
}

.xb-contact-item p {
    color: white !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
}

/* Mejorar el contenedor de contacto */
.xb-contact-inner {
    background: linear-gradient(135deg, rgba(0, 150, 200, 0.15) 0%, rgba(64, 224, 208, 0.1) 100%) !important;
    border: 2px solid var(--ibyte-cyan) !important;
    border-radius: 20px !important;
    padding: 40px !important;
    box-shadow: 0 0 30px rgba(64, 224, 208, 0.2), 0 0 60px rgba(0, 150, 200, 0.1) !important;
    backdrop-filter: blur(10px);
}

/* Animación de entrada para el contenedor */
.xb-contact-conent {
    animation: slideInUp 0.8s ease-out !important;
}

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Título de la sección de contacto */
.contact-sec-title .title {
    color: white !important;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7) !important;
}

.contact-sec-title .sub-title {
    color: var(--ibyte-cyan) !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5) !important;
}