/* AVIFER GROUP — template.html micro-interactions */
.carousel-slide {
    transition: opacity 1s ease-in-out, visibility 1s;
}
.kenburns-bg {
    transition: transform 10s ease-out;
    transform: scale(1);
}
.active-slide .kenburns-bg {
    transform: scale(1.12);
}

.active-tab-btn {
    background-color: #004183;
    color: white !important;
    border-color: #004183;
    box-shadow: 0 10px 15px -3px rgba(0, 65, 131, 0.25);
}

.hover-lift {
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, border-color 0.4s ease;
}
.hover-lift:hover {
    transform: translateY(-8px) scale(1.015);
    box-shadow: 0 25px 45px -10px rgba(0, 65, 131, 0.15);
    border-color: rgba(0, 65, 131, 0.15);
}

.hover-lift-green {
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, border-color 0.4s ease;
}
.hover-lift-green:hover {
    transform: translateY(-8px) scale(1.015);
    box-shadow: 0 25px 45px -10px rgba(70, 157, 66, 0.15);
    border-color: rgba(70, 157, 66, 0.2);
}

.icon-hover-container:hover .icon-bounce {
    animation: iconBounce 0.6s ease-in-out infinite alternate;
}
@keyframes iconBounce {
    0% { transform: translateY(0) scale(1); }
    100% { transform: translateY(-5px) scale(1.1); }
}

.glass-header {
    background-color: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.dark .glass-header {
    background-color: rgba(15, 23, 42, 0.85);
}

.avifer-lang-flags {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.avifer-lang-flags__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.2rem;
    border-radius: 0.375rem;
    border: 1px solid transparent;
    opacity: 0.75;
    transition: opacity 0.2s, border-color 0.2s, transform 0.2s;
}
.avifer-lang-flags__btn:hover {
    opacity: 1;
    transform: translateY(-1px);
}
.avifer-lang-flags__btn.is-active {
    opacity: 1;
    border-color: rgba(0, 65, 131, 0.35);
    box-shadow: 0 0 0 1px rgba(0, 65, 131, 0.08);
}
.dark .avifer-lang-flags__btn.is-active {
    border-color: rgba(70, 157, 66, 0.45);
}

.theme-toggle-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 9999px;
    border: 1px solid rgb(226 232 240);
    background: white;
    color: rgb(71 85 105);
    transition: all 0.25s ease;
}
.dark .theme-toggle-btn {
    border-color: rgb(51 65 85);
    background: rgb(30 41 59);
    color: rgb(203 213 225);
}
.theme-toggle-btn:hover {
    border-color: #004183;
    color: #004183;
}

/* Honeypot anti-spam (formulario contacto) */
.hp-field {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}
