/* Background Patterns for Template1 - Inspired by TransPerfect */

/* Hero Section Background - Blue geometric pattern */
.hero-bg-pattern {
    background: linear-gradient(135deg, #7E949E 0%, #AEC2AB 100%);
    position: relative;
    overflow: hidden;
}

.hero-bg-pattern::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    /* background-image: 
        radial-gradient(circle at 20% 30%, rgba(255,255,255,0.1) 2px, transparent 2px),
        radial-gradient(circle at 80% 70%, rgba(255,255,255,0.08) 3px, transparent 3px),
        radial-gradient(circle at 40% 80%, rgba(255,255,255,0.06) 1px, transparent 1px),
        radial-gradient(circle at 90% 20%, rgba(255,255,255,0.12) 2px, transparent 2px);
    background-size: 100px 100px, 150px 150px, 80px 80px, 120px 120px;
    animation: float 20s ease-in-out infinite; */
    z-index: -1;
    pointer-events: none;
}

/* Services Section Background - Orange grid pattern */
.services-bg-pattern {
    background: linear-gradient(135deg, #FF6B35 0%, #F7931E 50%, #FF8C42 100%);
    position: relative;
    overflow: hidden;
}

.services-bg-pattern::before {
    content: '';
    position: absolute;
    top: -1000px;
    left: -1000px;
    right: -1000px;
    bottom: -1000px;
    background-image: 
        linear-gradient(90deg, rgba(255,255,255,0.25) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255,255,255,0.25) 1px, transparent 1px);
    background-size: 30px 30px;
    transform: rotate(15deg);
    animation: gridMove 20s linear infinite;
    z-index: 0;
}

.services-bg-pattern::after {
    content: '';
    position: absolute;
    top: -800px;
    left: -800px;
    right: -800px;
    bottom: -800px;
    background-image: 
        linear-gradient(45deg, rgba(255,255,255,0.15) 1px, transparent 1px),
        linear-gradient(-45deg, rgba(255,255,255,0.15) 1px, transparent 1px);
    background-size: 25px 25px;
    transform: rotate(5deg);
    animation: gridMoveSecondary 15s linear infinite;
    z-index: 0;
}

.services-bg-pattern .floating-element {
    content: '';
    position: absolute;
    top: -600px;
    left: -600px;
    right: -600px;
    bottom: -600px;
    background-image: 
        linear-gradient(30deg, rgba(255,255,255,0.1) 1px, transparent 1px),
        linear-gradient(-30deg, rgba(255,255,255,0.1) 1px, transparent 1px);
    background-size: 20px 20px;
    transform: rotate(0deg);
    animation: gridMoveTertiary 25s linear infinite;
    z-index: 0;
}

.services-bg-pattern .grid-overlay {
    content: '';
    position: absolute;
    top: -1200px;
    left: -1200px;
    right: -1200px;
    bottom: -1200px;
    background-image: 
        linear-gradient(60deg, rgba(255,255,255,0.08) 1px, transparent 1px),
        linear-gradient(-60deg, rgba(255,255,255,0.08) 1px, transparent 1px);
    background-size: 15px 15px;
    transform: rotate(10deg);
    animation: gridMoveQuaternary 30s linear infinite;
    z-index: 0;
}



/* Request Service Section Background - Enhanced gradient with animations - COMENTADO */
/*
.request-bg-pattern {
    background: linear-gradient(135deg, #A8E6CF 0%, #B8EED8 25%, #C8F6E1 50%, #D8FEEA 75%, #F5F0EC 100%);
    position: relative;
    overflow: hidden;
    animation: gradientShift 6s ease-in-out infinite;
}

.request-bg-pattern::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        radial-gradient(circle at 20% 30%, rgba(255,255,255,0.25) 0%, transparent 60%),
        radial-gradient(circle at 80% 70%, rgba(255,255,255,0.2) 0%, transparent 60%),
        radial-gradient(circle at 40% 80%, rgba(255,255,255,0.22) 0%, transparent 60%),
        radial-gradient(circle at 90% 20%, rgba(255,255,255,0.18) 0%, transparent 60%),
        radial-gradient(circle at 60% 50%, rgba(255,255,255,0.2) 0%, transparent 60%);
    background-size: 200px 200px, 300px 300px, 150px 150px, 250px 250px, 180px 180px;
    animation: float 12s ease-in-out infinite;
    z-index: 1;
}

.request-bg-pattern::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        linear-gradient(45deg, transparent 20%, rgba(255,255,255,0.15) 50%, transparent 80%);
    background-size: 300px 300px;
    animation: shimmer 5s ease-in-out infinite;
    z-index: 2;
}
*/

/* Floating elements for enhanced animation - COMENTADO */
/*
.request-bg-pattern .floating-element {
    position: absolute;
    width: 80px;
    height: 80px;
    background: rgba(255,255,255,0.2);
    border-radius: 50%;
    animation: floatElement 10s ease-in-out infinite;
    z-index: 3;
    box-shadow: 0 0 20px rgba(255,255,255,0.3);
}

.request-bg-pattern .floating-element:nth-child(1) {
    top: 20%;
    left: 10%;
    animation-delay: 0s;
}

.request-bg-pattern .floating-element:nth-child(2) {
    top: 60%;
    right: 15%;
    animation-delay: 3s;
}

.request-bg-pattern .floating-element:nth-child(3) {
    bottom: 30%;
    left: 20%;
    animation-delay: 6s;
}
*/

/* Careers Section Background - Purple geometric pattern */
.interpreter-bg-pattern {
    background: linear-gradient(135deg, #6A4C93 0%, #8B5CF6 50%, #A855F7 100%);
    position: relative;
    overflow: hidden;
}

.interpreter-bg-pattern::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    background-size: 60px 60px;
    background-repeat: repeat;
    opacity: 0.1;
    animation: rotate 30s linear infinite;
    z-index: 1;
}

/* Clients Section Background - Light blue subtle pattern */
.clients-bg-pattern {
    /* background: url('../images/b2.png') center/cover no-repeat; */
    background: linear-gradient(135deg, #87CEEB 0%, #B0E0E6 100%);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    overflow: hidden;
}

.clients-bg-pattern::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        radial-gradient(circle at 20% 30%, rgba(255,255,255,0.3) 3px, transparent 3px),
        radial-gradient(circle at 80% 70%, rgba(255,255,255,0.25) 4px, transparent 4px),
        radial-gradient(circle at 40% 80%, rgba(255,255,255,0.2) 2px, transparent 2px),
        radial-gradient(circle at 90% 20%, rgba(255,255,255,0.35) 3px, transparent 3px),
        radial-gradient(circle at 60% 50%, rgba(255,255,255,0.15) 2px, transparent 2px),
        radial-gradient(circle at 10% 60%, rgba(255,255,255,0.2) 3px, transparent 3px);
    background-size: 120px 120px, 180px 180px, 100px 100px, 150px 150px, 80px 80px, 140px 140px;
    animation: float 20s ease-in-out infinite;
    z-index: 1;
}

/* Contact Section Background - COMENTADO para usar force-contact-bg.css */
/*
.contact-bg-pattern {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 50%, #FF8C00 100%);
    position: relative;
    overflow: hidden;
}

/* Alternative yellow pattern for contact */
.contact-yellow-pattern {
    background: url('../images/b8.png') center/cover no-repeat;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    overflow: hidden;
}

.contact-yellow-pattern::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.8); /* Overlay blanco para claridad */
    background-image: none;
    z-index: -1;
    pointer-events: none;
}

.contact-bg-pattern::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        radial-gradient(circle at 20% 80%, rgba(255,255,255,0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(255,255,255,0.08) 0%, transparent 50%),
        radial-gradient(circle at 40% 40%, rgba(255,255,255,0.12) 0%, transparent 50%);
    background-size: 120px 120px, 180px 120px, 90px 90px;
    animation: breathe 12s ease-in-out infinite;
    z-index: -1;
    pointer-events: none;
}
*/

/* Animations */
@keyframes float {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    25% { transform: translateY(-10px) rotate(1deg); }
    50% { transform: translateY(-5px) rotate(-1deg); }
    75% { transform: translateY(-15px) rotate(0.5deg); }
}

@keyframes gridMove {
    0% { transform: rotate(15deg) translateX(0px) translateY(0px); }
    25% { transform: rotate(15deg) translateX(-50px) translateY(0px); }
    50% { transform: rotate(15deg) translateX(-100px) translateY(0px); }
    75% { transform: rotate(15deg) translateX(-150px) translateY(0px); }
    100% { transform: rotate(15deg) translateX(-200px) translateY(0px); }
}

@keyframes gridMoveSecondary {
    0% { transform: rotate(5deg) translateX(0px) translateY(0px); }
    25% { transform: rotate(5deg) translateX(40px) translateY(0px); }
    50% { transform: rotate(5deg) translateX(80px) translateY(0px); }
    75% { transform: rotate(5deg) translateX(120px) translateY(0px); }
    100% { transform: rotate(5deg) translateX(160px) translateY(0px); }
}

@keyframes gridMoveTertiary {
    0% { transform: rotate(0deg) translateX(0px) translateY(0px); }
    25% { transform: rotate(0deg) translateX(-30px) translateY(0px); }
    50% { transform: rotate(0deg) translateX(-60px) translateY(0px); }
    75% { transform: rotate(0deg) translateX(-90px) translateY(0px); }
    100% { transform: rotate(0deg) translateX(-120px) translateY(0px); }
}

@keyframes gridMoveQuaternary {
    0% { transform: rotate(10deg) translateX(0px) translateY(0px); }
    25% { transform: rotate(10deg) translateX(20px) translateY(0px); }
    50% { transform: rotate(10deg) translateX(40px) translateY(0px); }
    75% { transform: rotate(10deg) translateX(60px) translateY(0px); }
    100% { transform: rotate(10deg) translateX(80px) translateY(0px); }
}

@keyframes flow {
    0%, 100% { transform: scale(1) rotate(0deg); }
    50% { transform: scale(1.1) rotate(2deg); }
}

@keyframes rotate {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes pulse {
    0%, 100% { opacity: 0.5; transform: scale(1); }
    50% { opacity: 0.8; transform: scale(1.05); }
}

@keyframes breathe {
    0%, 100% { transform: scale(1) translateY(0px); }
    50% { transform: scale(1.05) translateY(-5px); }
}

/* Enhanced animations for interpreter section */
@keyframes gradientShift {
    0%, 100% { 
        background: linear-gradient(135deg, #A8E6CF 0%, #B8EED8 25%, #C8F6E1 50%, #D8FEEA 75%, #F5F0EC 100%);
    }
    25% { 
        background: linear-gradient(135deg, #B8EED8 0%, #C8F6E1 25%, #D8FEEA 50%, #F5F0EC 75%, #A8E6CF 100%);
    }
    50% { 
        background: linear-gradient(135deg, #C8F6E1 0%, #D8FEEA 25%, #F5F0EC 50%, #A8E6CF 75%, #B8EED8 100%);
    }
    75% { 
        background: linear-gradient(135deg, #D8FEEA 0%, #F5F0EC 25%, #A8E6CF 50%, #B8EED8 75%, #C8F6E1 100%);
    }
}

@keyframes shimmer {
    0%, 100% { 
        transform: translateX(-150%) translateY(-150%);
        opacity: 0.4;
    }
    50% { 
        transform: translateX(150%) translateY(150%);
        opacity: 0.8;
    }
}

@keyframes floatElement {
    0%, 100% { 
        transform: translateY(0px) rotate(0deg) scale(1);
        opacity: 0.5;
    }
    25% { 
        transform: translateY(-30px) rotate(90deg) scale(1.2);
        opacity: 0.8;
    }
    50% { 
        transform: translateY(-15px) rotate(180deg) scale(0.9);
        opacity: 0.6;
    }
    75% { 
        transform: translateY(-40px) rotate(270deg) scale(1.1);
        opacity: 0.9;
    }
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .hero-bg-pattern::before,
    .services-bg-pattern::before,
    .interpreter-bg-pattern::before,
    .contact-bg-pattern::before {
        background-size: 50px 50px, 75px 75px, 40px 40px;
    }
    
    /* Request section mantiene la imagen de fondo en responsive */
    .request-bg-pattern {
        background-size: cover;
    }
    
    /* Clients section mantiene cover en móvil */
    .clients-bg-pattern {
        background-size: cover;
    }
}

@media (max-width: 576px) {
    .hero-bg-pattern::before,
    .services-bg-pattern::before,
    .interpreter-bg-pattern::before,
    .contact-bg-pattern::before {
        background-size: 30px 30px, 50px 50px, 25px 25px;
    }
    
    /* Request section mantiene la imagen de fondo en responsive */
    .request-bg-pattern {
        background-size: cover;
    }
    
    /* Clients section mantiene cover en móviles pequeños */
    .clients-bg-pattern {
        background-size: cover;
    }
} /* Background patterns updated: 20250803_195544 */
/* Contact patterns updated: 20250803_202536 */
