/* =========================
   DROPDOWN NAVBAR
========================= */
.dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* =========================
   SCROLL SUAVE
========================= */
html {
    scroll-behavior: smooth;
}

/* espacio navbar fija */
section {
    scroll-margin-top: 100px;
}

/* =========================
   ANIMACIONES GENERALES
========================= */
.fade-section {
    opacity: 0;
    transform: translateY(120px) scale(0.98);
    transition:
        opacity 1.2s ease,
        transform 1.2s ease;
    will-change: opacity, transform;
}

.fade-section.visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* =========================
   HOVER CARDS
========================= */
.hover-card {
    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}

.hover-card:hover {
    transform: translateY(-6px);
}

/* =========================
   BOTONES
========================= */
.btn-transition {
    transition:
        background-color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.btn-transition:hover {
    transform: translateY(-2px);
}

/* =========================
   EFECTO GLASS
========================= */
.glass {
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

/* =========================
   SCROLLBAR
========================= */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #f1f5f9;
}

::-webkit-scrollbar-thumb {
    background: #94a3b8;
    border-radius: 999px;
}

::-webkit-scrollbar-thumb:hover {
    background: #64748b;
}

/* =========================
   SELECCIÓN TEXTO
========================= */
::selection {
    background: #10b981;
    color: white;
}

/* =========================
   ICONOS
========================= */
.icon-float {
    transition:
        transform 0.3s ease,
        color 0.3s ease;
}

.icon-float:hover {
    transform: translateY(-3px) scale(1.05);
}

/* =========================
   MOBILE MENU
========================= */
#mobile-menu {
    transition:
        opacity 0.3s ease,
        transform 0.3s ease;
}

/* =========================
   INPUTS
========================= */
input,
textarea {
    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        background-color 0.25s ease;
}

input:focus,
textarea:focus {
    outline: none;
}

/* =========================
   SOMBRAS
========================= */
.soft-shadow {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

/* =========================
   TITLES
========================= */
.section-title {
    letter-spacing: -0.03em;
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 768px) {
    .fade-section {
        transform: translateY(60px);
    }
}
