/* Variables para consistencia */ :root { --primary-color: #00acc1; --shadow-light: 0 3px 4px rgba(0, 0, 0, 0.4); --shadow-hover: 0 15px 26px rgba(0, 0, 0, 0.5); --card-radius: 5px; --image-height: 250px; --banner-text-color: #ffff; --banner-overlay: rgba(116, 118, 119, 0.8); } /* Estructura principal */ /* main { width: 95vw; min-height: 100vh; } */ /* ---------------------------- */ /* Fila 1 - Banner con efecto de zoom */ .r-i { width: 100%; } .r-i-ii { background-image: url('/static/y_img/home/reunion.avif'); background-size: 100%; background-repeat: no-repeat; background-position: center; border-radius: 10px; width: 100%; display: flex; justify-content: center; align-items: center; transition: background-size 2s ease-in-out; height: 35vh; /* Valor por defecto para móviles */ } .r-i-ii:hover { background-size: 110%; /* Efecto de zoom mantenido */ } .r-i-ii spam { background-color: var(--banner-overlay); padding: 20px; border-radius: 10px; text-align: center; font-size: clamp(1rem, 3vw, 25px); /* Texto responsivo */ color: var(--banner-text-color); max-width: 80%; } /* ---------------------------- */ /* Fila 2 - Tarjetas con efectos */ .r-ii { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; margin-top: 1em; } .card-flyer { min-height: 100%; background: #fff; border-radius: var(--card-radius); box-shadow: var(--shadow-light); transition: transform 0.3s, box-shadow 0.3s; overflow: hidden; } .image-box img { width: 100%; height: var(--image-height); object-fit: cover; transition: transform 0.9s; } .text-container { padding: 20px; text-align: center; } .text-container h6 { margin: 0; font-size: 18px; color: var(--primary-color); } /* Efectos hover (completos) */ .card-flyer:hover { transform: translateY(-10px); box-shadow: var(--shadow-hover); } .card-flyer:hover img { transform: scale(1.15); /* Efecto de escala mantenido */ } /* ---------------------------- */ /* Media Queries optimizadas */ @media (min-width: 768px) { main { width: 90vw; } .r-i-ii { height: 35vh; } } @media (min-width: 1024px) { main { width: 85vw; margin: 20px auto; } .r-i-ii { height: 45vh; } } @media (min-width: 1440px) { main { width: 80vw; margin: 2em auto; } .r-i-ii { height: 50vh; } } @media (min-width: 1920px) { .r-i-ii { height: 60vh; } } /* Ajuste específico para texto en móviles */ @media (max-width: 767px) { .r-i-ii spam { font-size: 1em; } }