* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-primary);
    background-color: var(--framp-bg);
    color: var(--framp-text);
    min-height: 100vh;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    user-select: none; /* Bloquea la selección de texto */
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

/* Permitir selección solo en inputs cuando lleguemos a los formularios */
input, textarea {
    user-select: text;
    -webkit-user-select: text;
}

.glass-panel {
    background: var(--framp-surface);
    backdrop-filter: var(--framp-glass-blur);
    -webkit-backdrop-filter: var(--framp-glass-blur);
    border: 1px solid var(--framp-border);
    border-radius: 16px;
}

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* Clases para animaciones de scroll */
.fade-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
}