body { font-family: 'Inter', sans-serif; }

/* Fade-in animation */
.fade-in { opacity: 0; transform: translateY(30px); transition: all 0.6s ease-out; }
.fade-in.visible { opacity: 1; transform: translateY(0); }

/* Background */
.hero-bg { background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 50%, #e2e8f0 100%); }

/* Nav underline effect */
.nav-link { position: relative; transition: color 0.3s ease; }
.nav-link::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 0; height: 2px; background-color: #2d3748; transition: width 0.3s ease; }
.nav-link:hover::after { width: 100%; }

/* Buttons */
.btn-convocatoria { background-color: #2d3748; color: white; padding: 0.5rem 1.25rem; border-radius: 0.375rem; font-weight: 500; transition: all 0.3s ease; }
.btn-convocatoria:hover { background-color: #1a202c; transform: translateY(-1px); }

.btn-form { background-color: #2d3748; color: white; padding: 1rem 2rem; border-radius: 0.5rem; font-weight: 500; font-size: 1.125rem; transition: all 0.3s ease; display: inline-block; }
.btn-form:hover { background-color: #1a202c; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.15); }

/* Participant photos */
.participant-photo { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.participant-photo-large { width: 280px; height: 280px; border-radius: 50%; object-fit: cover; }

/* Participant cards */
.participant-card { display: flex; align-items: center; gap: 1rem; }

/* Social icons */
.social-icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background-color: #f7fafc; transition: all 0.3s ease; }
.social-icon:hover { background-color: #e2e8f0; transform: translateY(-2px); }
.social-icon svg { width: 20px; height: 20px; fill: #4a5568; }

/* Logo hover */
.logo-hover { transition: transform 0.3s ease, opacity 0.3s ease; }
.logo-hover:hover { transform: scale(1.05); opacity: 0.8; }

/* Convocatoria list items */
.formacion-item, .horario-item { background: #f7fafc; padding: 1rem 1.5rem; border-radius: 0.5rem; margin-bottom: 0.75rem; }

/* Zictra ensemble photo (square, not circular) */
.participant-photo-zictra { width: 280px; height: 280px; }

/* Zictra member photos */
.member-photo { width: 180px; height: 180px; border-radius: 50%; object-fit: cover; background-color: #e2e8f0; }
