/* =============================================
   SISTEMA DE EVENTOS MARINOS SWAY
   Estilos para gestión, visualización y participación en eventos
   Incluye calendario interactivo, registro y modales
   ============================================= */

/* =============================================
   SECCIÓN HERO PARA EVENTOS
   Imagen de fondo marina con información principal de eventos
   ============================================= */
/* Contenedor principal de la sección hero de eventos */
.hero.section.dark-background {
  background: url('https://cdn.pixabay.com/photo/2014/05/02/01/57/sea-turtle-335839_1280.jpg') no-repeat center center/cover; /* Imagen de tortuga marina */
  min-height: 70vh;              /* Altura mínima del viewport */
  display: flex;                 /* Flexbox para centrado */
  align-items: center;           /* Centrado vertical */
  color: #fff;                   /* Texto blanco */
  position: relative;            /* Posicionamiento relativo para overlays */
  overflow: hidden;              /* Ocultar desbordamiento */
}

/* Overlay degradado sobre imagen de fondo */
.hero.section.dark-background:before {
  content: '';                                   /* Pseudo-elemento vacío */
  background: linear-gradient(135deg, rgba(55, 81, 126, 0.85) 0%, rgba(55, 81, 126, 0.7) 50%, rgba(71, 178, 228, 0.7) 100%); /* Degradado azul marino a azul oceánico */
  position: absolute;                            /* Posicionamiento absoluto */
  inset: 0;                                      /* Cobertura completa */
  z-index: 1;                                    /* Capa intermedia */
}

.hero.section.dark-background:after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 80px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="white" fill-opacity="1" d="M0,288L48,272C96,256,192,224,288,197.3C384,171,480,149,576,165.3C672,181,768,235,864,234.7C960,235,1056,181,1152,176C1248,171,1344,213,1392,234.7L1440,256L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg>');
  background-size: cover;
  z-index: 2;
}

.hero.section.dark-background > .container {
  position: relative;
  z-index: 2;
}

.hero.section.dark-background h1 {
  color: #fff;
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  text-shadow: 0 2px 10px rgba(0,0,0,0.2);
  position: relative;
}

.hero.section.dark-background h1:after {
  content: '';
  position: absolute;
  bottom: -15px;
  left: 0;
  width: 80px;
  height: 4px;
  background: #fff;
  border-radius: 4px;
}

.hero.section.dark-background p {
  color: #fff;
  font-size: 1.2rem;
  line-height: 1.8;
  margin-bottom: 2rem;
  text-shadow: 0 1px 5px rgba(0,0,0,0.2);
  max-width: 600px;
}

.hero.section.dark-background .btn-get-started {
  padding: 14px 32px;
  font-weight: 600;
  font-size: 1.1rem;
  border-radius: 50px;
  transition: all 0.4s ease;
  background: #47b2e4;
  color: #fff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  box-shadow: 0 6px 15px rgba(71, 178, 228, 0.3);
  border: 2px solid #47b2e4;
}

.hero.section.dark-background .btn-get-started:hover {
  background: transparent;
  color: #fff;
  border-color: #fff;
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(71, 178, 228, 0.4);
}

.hero.section.dark-background .btn-watch-video {
  padding: 12px 30px;
  font-weight: 600;
  font-size: 1.1rem;
  border-radius: 50px;
  margin-left: 20px;
  transition: all 0.4s ease;
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  border: 2px solid rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.hero.section.dark-background .btn-watch-video:hover {
  background: rgba(255, 255, 255, 0.25);
  border-color: #fff;
  transform: translateY(-5px);
}

.hero.section.dark-background .btn-watch-video i {
  font-size: 1.3rem;
  margin-right: 10px;
}

/* =============================================
   SECCIÓN DE EVENTOS DESTACADOS
   Tarjetas de eventos con información completa y efectos hover
   ============================================= */
/* Tarjeta individual de evento destacado */
#eventos-destacados .evento-destacado {
  background: #fff;                        /* Fondo blanco */
  border-radius: 20px;                     /* Bordes muy redondeados */
  box-shadow: 0 6px 25px rgba(55,81,126,0.1); /* Sombra sutil azul marino */
  padding: 30px 25px;                      /* Espaciado interno */
  margin-bottom: 25px;                     /* Separación entre eventos */
  transition: all 0.4s ease;              /* Transición suave para efectos */
  display: flex;                           /* Layout flexible */
  gap: 25px;                               /* Espacio entre elementos */
  align-items: flex-start;                 /* Alineación superior */
  position: relative;                      /* Para pseudo-elementos */
  overflow: hidden;                        /* Ocultar desbordamiento */
}

#eventos-destacados .evento-destacado:hover {
  box-shadow: 0 12px 40px rgba(55,81,126,0.15);
  transform: translateY(-8px);
}

#eventos-destacados .evento-destacado:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: #47b2e4;
  transition: all 0.4s ease;
}

#eventos-destacados .evento-destacado:hover:before {
  width: 8px;
}

.evento-fecha {
  min-width: 80px;
  text-align: center;
  background: linear-gradient(to bottom, #47b2e4, #3498db);
  border-radius: 16px;
  color: #fff;
  font-weight: bold;
  margin-right: 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 15px 0;
  box-shadow: 0 6px 15px rgba(71, 178, 228, 0.2);
  transition: all 0.4s ease;
}

#eventos-destacados .evento-destacado:hover .evento-fecha {
  transform: scale(1.08);
  box-shadow: 0 8px 20px rgba(71, 178, 228, 0.3);
}

.evento-fecha .dia {
  font-size: 2.4rem;
  line-height: 1;
  margin-bottom: 5px;
}

.evento-fecha .mes {
  font-size: 1.1rem;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.evento-content {
  flex: 1;
}

.evento-content h4 {
  margin: 0 0 15px;
  font-size: 1.4rem;
  color: #37517e;
  transition: color 0.3s ease;
}

.evento-destacado:hover .evento-content h4 {
  color: #47b2e4;
}

.evento-tipo {
  display: inline-block;
  font-size: 0.9rem;
  padding: 6px 16px;
  border-radius: 30px;
  margin-bottom: 10px;
  font-weight: 600;
  color: #fff;
  box-shadow: 0 3px 10px rgba(0,0,0,0.1);
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
}

.evento-destacado:hover .evento-tipo {
  transform: translateY(-3px);
}

.evento-tipo.webinar { 
  background: linear-gradient(to right, #3e8ed0, #4ea8de);
}
.evento-tipo.limpieza { 
  background: linear-gradient(to right, #30c18d, #2ecc71); 
}
.evento-tipo.conferencia { 
  background: linear-gradient(to right, #f39c12, #f1c40f); 
}
.evento-tipo.taller { 
  background: linear-gradient(to right, #a569bd, #9b59b6); 
}
.evento-tipo.campana { 
  background: linear-gradient(to right, #e74c3c, #e55039); 
}

.evento-info {
  display: flex;
  gap: 24px;
  margin: 15px 0;
  flex-wrap: wrap;
}

.evento-info .info-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.97rem;
  color: #555;
}

.evento-info .info-item i {
  color: #47b2e4;
  font-size: 1.1rem;
}

.btn-registro, .btn-registro.premium {
  background: #47b2e4;
  color: #fff;
  border: none;
  padding: 10px 25px;
  border-radius: 50px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 4px 15px rgba(71, 178, 228, 0.2);
  border: 2px solid #47b2e4;
  font-size: 15px;
}

.btn-registro:hover {
  background: #37517e;
  border-color: #37517e;
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(55, 81, 126, 0.25);
}

.btn-registro.premium {
  background: linear-gradient(to right, #f39c12, #f1c40f);
  border-color: #f39c12;
  box-shadow: 0 4px 15px rgba(243, 156, 18, 0.2);
}

.btn-registro.premium:hover {
  background: linear-gradient(to right, #e67e22, #f39c12);
  border-color: #e67e22;
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(243, 156, 18, 0.25);
}

/* Calendario Interactivo */
.calendario-container {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 2px 18px rgba(55,81,126,0.08);
  padding: 26px 18px;
}
.calendario-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  flex-wrap: wrap;
  gap: 10px;
}
.calendario-nav {
  display: flex;
  align-items: center;
  gap: 8px;
}
.nav-btn {
  background: #47b2e4;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 34px;
  height: 34px;
  font-size: 1.2rem;
  cursor: pointer;
  transition: background 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nav-btn:hover {
  background: #37517e;
}
.vista-opciones {
  display: flex;
  gap: 6px;
}
.vista-btn {
  background: #e9ecef;
  color: #37517e;
  border: none;
  border-radius: 16px;
  padding: 6px 16px;
  font-weight: 600;
  cursor: pointer;
  margin-bottom: 2px;
  transition: background 0.2s;
}
.vista-btn.active, .vista-btn:hover {
  background: #47b2e4;
  color: #fff;
}
.filtros-calendario {
  display: flex;
  gap: 18px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.filter-group label {
  font-weight: 600;
  margin-right: 6px;
}
.filter-group select {
  border-radius: 8px;
  border: 1px solid #b2bec3;
  padding: 2px 8px;
  outline: none;
}
.calendario-grid {
  margin-top: 14px;
}
.calendario-dias-semana {
  display: flex;
  gap: 2px;
  font-weight: 600;
  color: #37517e;
}
.calendario-dias-semana .dia-semana {
  flex: 1;
  text-align: center;
  padding: 4px 0;
}
.calendario-dias {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
  min-height: 120px;
}
.calendario-dias .dia {
  background: #eaf6fb;
  border-radius: 10px;
  padding: 8px 0;
  text-align: center;
  margin-bottom: 2px;
  cursor: pointer;
  transition: background 0.2s;
}
.calendario-dias .dia:hover, .calendario-dias .dia.active {
  background: #47b2e4;
  color: #fff;
}

/* Leyenda */
.calendario-leyenda {
  background: #f5f6f8;
  border-radius: 10px;
  margin-top: 20px;
  padding: 12px 18px;
}
.leyenda-items {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.leyenda-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.98rem;
}
.color-badge {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: inline-block;
}
.color-badge.webinar { background: #3e8ed0; }
.color-badge.limpieza { background: #30c18d; }
.color-badge.conferencia { background: #f39c12; }
.color-badge.taller { background: #a569bd; }
.color-badge.campana { background: #e74c3c; }

/* Eventos en el Calendario - Indicadores de Color */
.evento_calendario {
  background: #eaf6fb;
  border-radius: 4px;
  padding: 2px 4px;
  margin: 1px 0;
  font-size: 0.75rem;
  cursor: pointer;
  transition: all 0.2s ease;
  border-left: 3px solid #47b2e4;
  position: relative;
  overflow: hidden;
}

.evento_calendario:hover {
  transform: scale(1.02);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* Colores específicos por tipo de evento en calendario */
.evento_calendario.webinar {
  border-left-color: #3e8ed0;
  background: rgba(62, 142, 208, 0.1);
  color: #2c5894;
}

.evento_calendario.webinar:hover {
  background: rgba(62, 142, 208, 0.2);
}

.evento_calendario.limpieza {
  border-left-color: #30c18d;
  background: rgba(48, 193, 141, 0.1);
  color: #1e7a57;
}

.evento_calendario.limpieza:hover {
  background: rgba(48, 193, 141, 0.2);
}

.evento_calendario.conferencia {
  border-left-color: #f39c12;
  background: rgba(243, 156, 18, 0.1);
  color: #b7710d;
}

.evento_calendario.conferencia:hover {
  background: rgba(243, 156, 18, 0.2);
}

.evento_calendario.taller {
  border-left-color: #a569bd;
  background: rgba(165, 105, 189, 0.1);
  color: #7c4d8f;
}

.evento_calendario.taller:hover {
  background: rgba(165, 105, 189, 0.2);
}

.evento_calendario.campana {
  border-left-color: #e74c3c;
  background: rgba(231, 76, 60, 0.1);
  color: #ae392e;
}

.evento_calendario.campana:hover {
  background: rgba(231, 76, 60, 0.2);
}

/* Agenda View */
.agenda-view {
  margin-top: 12px;
}
.agenda-list {
  border-left: 3px solid #47b2e4;
  padding-left: 18px;
}

/* Eventos en vista de agenda con indicadores de color */
.agenda-item {
  background: #fff;
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 15px;
  box-shadow: 0 2px 8px rgba(55, 81, 126, 0.08);
  border-left: 4px solid #47b2e4;
  cursor: pointer;
  transition: all 0.3s ease;
}

.agenda-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(55, 81, 126, 0.15);
}

.agenda-fecha {
  font-size: 0.9rem;
  color: #6c757d;
  margin-bottom: 8px;
  font-weight: 500;
}

.agenda-titulo {
  font-size: 1.1rem;
  color: #37517e;
  margin-bottom: 10px;
  font-weight: 600;
}

/* Colores de borde específicos para agenda según tipo de evento */
.agenda-item .evento-tipo.webinar {
  background: linear-gradient(to right, #3e8ed0, #4ea8de);
}

.agenda-item .evento-tipo.limpieza {
  background: linear-gradient(to right, #30c18d, #2ecc71);
}

.agenda-item .evento-tipo.conferencia {
  background: linear-gradient(to right, #f39c12, #f1c40f);
}

.agenda-item .evento-tipo.taller {
  background: linear-gradient(to right, #a569bd, #9b59b6);
}

.agenda-item .evento-tipo.campana {
  background: linear-gradient(to right, #e74c3c, #e55039);
}

/* Crear Evento */
.crear-evento-card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 2px 16px rgba(55,81,126,0.10);
  padding: 28px 22px;
}
.crear-evento-form .form-group {
  margin-bottom: 18px;
}
.crear-evento-form label {
  font-weight: 600;
  color: #37517e;
  margin-bottom: 4px;
  display: block;
}
.crear-evento-form input,
.crear-evento-form select,
.crear-evento-form textarea {
  width: 100%;
  border: 1px solid #b2bec3;
  border-radius: 8px;
  padding: 7px 10px;
  margin-top: 2px;
  font-size: 1rem;
}
.crear-evento-form textarea {
  resize: vertical;
  min-height: 70px;
}
.btn-submit-evento {
  background: #47b2e4;
  color: #fff;
  border: none;
  padding: 10px 26px;
  border-radius: 24px;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
  margin-top: 10px;
}
.btn-submit-evento:hover {
  background: #37517e;
}

/* Modal */
.modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(45, 62, 80, 0.65);
  z-index: 1099;
  justify-content: center;
  align-items: center;
}
.modal-overlay.active {
  display: flex;
}
.modal-content {
  background: #fff;
  border-radius: 15px;
  padding: 36px 30px;
  max-width: 420px;
  width: 90vw;
  box-shadow: 0 6px 32px rgba(55,81,126,0.13);
  position: relative;
}
.modal-close {
  position: absolute;
  top: 10px;
  right: 16px;
  background: none;
  border: none;
  font-size: 2rem;
  color: #37517e;
  cursor: pointer;
}

/* Impact Stats Styles */
.impact-stat {
  background: white;
  padding: 30px 20px;
  border-radius: 15px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.1);
  transition: transform 0.3s ease;
}

.impact-stat:hover {
  transform: translateY(-5px);
}

.stat-icon {
  width: 80px;
  height: 80px;
  background: linear-gradient(45deg, #47b2e4, #37517e);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  font-size: 30px;
  color: white;
}

.stat-number {
  font-size: 2.5rem;
  font-weight: bold;
  color: var(--heading-color);
  margin-bottom: 10px;
}

.stat-label {
  color: var(--default-color);
  font-weight: 500;
}

/* Impact Story Styles */
.impact-story {
  background: white;
  padding: 30px;
  border-radius: 15px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

.before-after {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 20px 0;
}

.image-container {
  position: relative;
  flex: 1;
}

.image-container img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

.image-label {
  position: absolute;
  top: 10px;
  left: 10px;
  background: rgba(0,0,0,0.7);
  color: white;
  padding: 5px 15px;
  border-radius: 20px;
  font-size: 0.9rem;
}

.vs-indicator {
  background: var(--accent-color);
  color: white;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}

/* Testimonial Styles */
.testimonial-carousel {
  background: white;
  padding: 30px;
  border-radius: 15px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

.testimonial-item {
  display: none;
}

.testimonial-item.active {
  display: block;
}

.testimonial-content {
  position: relative;
}

.testimonial-content i {
  font-size: 30px;
  color: var(--accent-color);
  margin-bottom: 15px;
}

.testimonial-author {
  display: flex;
  align-items: center;
  margin-top: 20px;
}

.author-photo {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
  margin-right: 15px;
}

.testimonial-navigation {
  text-align: center;
  margin-top: 20px;
}

.nav-btn {
  background: var(--accent-color);
  color: white;
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin: 0 10px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.nav-btn:hover {
  background: var(--heading-color);
}

/* Partner Cards */
.partner-card {
  background: white;
  padding: 30px 20px;
  border-radius: 15px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.1);
  transition: transform 0.3s ease;
}

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

.partner-logo {
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.partner-logo img {
  max-height: 60px;
  max-width: 100%;
  object-fit: contain;
}

/* Subscription Benefits */
.benefit-item {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
  padding: 10px;
  background: rgba(71, 178, 228, 0.1);
  border-radius: 10px;
}

/* Calendar Preview */
.calendar-preview {
  background: white;
  border-radius: 15px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.1);
  overflow: hidden;
}

.calendar-header {
  background: var(--accent-color);
  color: white;
  padding: 20px;
  display: flex;
  justify-content: between;
  align-items: center;
}

.calendar-events {
  padding: 20px;
}

.calendar-event {
  display: flex;
  align-items: center;
  padding: 15px 0;
  border-bottom: 1px solid #f0f0f0;
}

.calendar-event:last-child {
  border-bottom: none;
}

.event-date {
  background: var(--surface-color);
  padding: 15px;
  border-radius: 10px;
  text-align: center;
  margin-right: 20px;
  min-width: 70px;
}

.event-date .day {
  display: block;
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--heading-color);
}

.event-date .month {
  display: block;
  font-size: 0.8rem;
  color: var(--default-color);
}

.event-info h6 {
  margin-bottom: 5px;
  color: var(--heading-color);
}

@media (max-width: 768px) {
  .before-after {
    flex-direction: column;
  }
  
  .vs-indicator {
    transform: rotate(90deg);
    margin: 20px 0;
  }
  
  .calendar-header {
    flex-direction: column;
    text-align: center;
    gap: 10px;
  }
  
  .event-date {
    min-width: 60px;
    padding: 10px;
  }
}

@media (max-width: 991px) {
  #eventos-destacados .evento-destacado {
    flex-direction: column;
    align-items: stretch;
  }
  .filtros-calendario {
    flex-direction: column;
    gap: 10px;
  }
}

@media (max-width: 600px) {
  .crear-evento-card, .calendario-container {
    padding: 10px 5px;
  }
  .modal-content {
    padding: 14px 6px;
  }
}

/* Modal de Confirmación para Crear Evento */
#crear-evento-modal .modal-content {
  max-width: 500px;
  text-align: center;
  border-radius: 15px;
  padding: 2rem;
}

#crear-evento-modal .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #dee2e6;
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
}

#crear-evento-modal .modal-header h4 {
  margin: 0;
  color: #37517e;
  font-weight: 600;
}

#crear-evento-modal .modal-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  color: #6c757d;
  cursor: pointer;
  padding: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.3s ease;
}

#crear-evento-modal .modal-close:hover {
  background-color: #f8f9fa;
  color: #dc3545;
}

#crear-evento-modal .modal-icon {
  margin-bottom: 1rem;
}

#crear-evento-modal .modal-body p {
  font-size: 1.1rem;
  color: #6c757d;
  margin-bottom: 1.5rem;
  line-height: 1.6;
}

#crear-evento-modal .modal-actions {
  display: flex;
  justify-content: center;
  gap: 1rem;
}

#crear-evento-modal .btn {
  padding: 0.75rem 2rem;
  border-radius: 8px;
  border: none;
  font-weight: 500;
  transition: all 0.3s ease;
  cursor: pointer;
}

#crear-evento-modal .btn-primary {
  background-color: #37517e;
  color: white;
}

#crear-evento-modal .btn-primary:hover {
  background-color: #2a4067;
  transform: translateY(-2px);
}

#crear-evento-modal .btn-secondary {
  background-color: #6c757d;
  color: white;
}

#crear-evento-modal .btn-secondary:hover {
  background-color: #5a6268;
}

/* Animación de entrada para el modal */
#crear-evento-modal.show {
  animation: fadeIn 0.3s ease;
}

#crear-evento-modal.show .modal-content {
  animation: slideIn 0.3s ease;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes slideIn {
  from { transform: translateY(-20px) scale(0.95); }
  to { transform: translateY(0) scale(1); }
}

@media (max-width: 600px) {
  #crear-evento-modal .modal-content {
    margin: 1rem;
    padding: 1.5rem;
  }
  
  #crear-evento-modal .modal-header {
    padding-bottom: 0.75rem;
    margin-bottom: 1rem;
  }
}

/* ----------- Estilos Modal de Evento Mejorado ----------- */
#evento-modal .modal-content {
  max-width: 800px;
  width: 95vw;
  max-height: 90vh;
  overflow-y: auto;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15);
  animation: modalSlideIn 0.3s ease-out;
}

@keyframes modalSlideIn {
  from { 
    opacity: 0; 
    transform: translateY(-30px) scale(0.9); 
  }
  to { 
    opacity: 1; 
    transform: translateY(0) scale(1); 
  }
}

.evento-detail-card {
  padding: 0;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
}

.evento-detail-header {
  background: linear-gradient(135deg, #37517e 0%, #47b2e4 100%);
  color: white;
  padding: 30px;
  position: relative;
}

.evento-detail-header::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 20px;
  background: white;
  clip-path: polygon(0 20px, 100% 0, 100% 20px);
}

.evento-title-section .evento-title {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 20px;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  color: white; /* Cambiar a blanco para mejor contraste */
}

.evento-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 16px;
  border-radius: 25px;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.badge-primary { background: rgba(255, 255, 255, 0.2); color: white; }
.badge-success { background: rgba(40, 167, 69, 0.2); color: white; }
.badge-info { background: rgba(23, 162, 184, 0.2); color: white; }
.badge-warning { background: rgba(255, 193, 7, 0.2); color: white; }
.badge-danger { background: rgba(220, 53, 69, 0.2); color: white; }
.badge-secondary { background: rgba(108, 117, 125, 0.2); color: white; }
.badge-outline-primary { 
  background: rgba(255, 255, 255, 0.1); 
  color: white; 
  border: 1px solid rgba(255, 255, 255, 0.3); 
}

.evento-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
  padding: 30px;
}

.info-card.modern {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  padding: 25px;
  background: #f8f9fa;
  border-radius: 15px;
  border-left: 4px solid #47b2e4;
  transition: all 0.3s ease;
}

.info-card.modern:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.info-icon {
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, #47b2e4, #37517e);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.5rem;
  flex-shrink: 0;
}

.info-content h5 {
  font-size: 1rem;
  font-weight: 600;
  color: #37517e;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.info-primary {
  font-size: 1.1rem;
  font-weight: 600;
  color: #2c3e50;
  margin-bottom: 4px;
}

.info-secondary {
  font-size: 0.9rem;
  color: #6c757d;
  margin-bottom: 0;
}

.info-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #47b2e4;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
  margin-top: 8px;
  transition: color 0.3s ease;
}

.info-link:hover {
  color: #37517e;
}

.evento-descripcion-section {
  padding: 0 30px 30px;
}

.evento-descripcion-section h4 {
  font-size: 1.3rem;
  font-weight: 600;
  color: #37517e;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.descripcion-content {
  background: #f8f9fa;
  padding: 20px;
  border-radius: 10px;
  border-left: 4px solid #47b2e4;
}

.descripcion-content p {
  margin: 0;
  line-height: 1.6;
  color: #5a6c7d;
}

.evento-acciones-section {
  padding: 0 30px 30px;
  border-top: 1px solid #e9ecef;
  padding-top: 30px;
}

.evento-action-btn {
  width: 100%;
  padding: 15px;
  font-size: 1.1rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: linear-gradient(135deg, #47b2e4, #37517e);
  border: none;
  border-radius: 12px;
  color: white;
  transition: all 0.3s ease;
  margin-bottom: 20px;
}

.evento-action-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(71, 178, 228, 0.3);
}

.secondary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.secondary-actions .btn {
  padding: 10px 20px;
  border-radius: 8px;
  font-weight: 500;
  transition: all 0.3s ease;
}

.btn-outline-primary {
  border: 2px solid #47b2e4;
  color: #47b2e4;
  background: transparent;
}

.btn-outline-primary:hover {
  background: #47b2e4;
  color: white;
}

.btn-outline-success {
  border: 2px solid #28a745;
  color: #28a745;
  background: transparent;
}

.btn-outline-success:hover {
  background: #28a745;
  color: white;
}

.btn-outline-info {
  border: 2px solid #17a2b8;
  color: #17a2b8;
  background: transparent;
}

.btn-outline-info:hover {
  background: #17a2b8;
  color: white;
}

.evento-footer {
  background: #f8f9fa;
  padding: 20px 30px;
  border-top: 1px solid #e9ecef;
}

.footer-info {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #6c757d;
  font-size: 0.9rem;
}

.footer-info i {
  color: #47b2e4;
}

/* Responsive */
@media (max-width: 768px) {
  #evento-modal .modal-content {
    width: 98vw;
    margin: 1%;
  }
  
  .evento-info-grid {
    grid-template-columns: 1fr;
    padding: 20px;
  }
  
  .evento-detail-header {
    padding: 20px;
  }
  
  .evento-title-section .evento-title {
    font-size: 1.5rem;
  }
  
  .secondary-actions {
    flex-direction: column;
  }
  
  .secondary-actions .btn {
    width: 100%;
  }
}

/* ----------- Modal de Desarrollo ----------- */
#modalEnDesarrollo .modal-content {
  border-radius: 15px;
  border: none;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

#modalEnDesarrollo .modal-header {
  background: linear-gradient(135deg, #47b2e4 0%, #37517e 100%);
  color: white;
  border-radius: 15px 15px 0 0;
  border-bottom: none;
  padding: 1.5rem;
}

#modalEnDesarrollo .modal-title {
  font-weight: 600;
  font-size: 1.25rem;
  color: white !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

#modalEnDesarrollo .btn-close {
  filter: invert(1);
  opacity: 0.8;
}

#modalEnDesarrollo .btn-close:hover {
  opacity: 1;
}

#modalEnDesarrollo .modal-body {
  padding: 2rem;
}

#modalEnDesarrollo .modal-body .bi-gear-fill {
  animation: rotate 2s linear infinite;
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

#modalEnDesarrollo .modal-footer {
  border-top: none;
  padding: 1rem 2rem 2rem;
}

#modalEnDesarrollo .btn-primary {
  background: linear-gradient(135deg, #47b2e4 0%, #37517e 100%);
  border: none;
  border-radius: 25px;
  padding: 0.75rem 2rem;
  font-weight: 600;
  transition: all 0.3s ease;
}

#modalEnDesarrollo .btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(71, 178, 228, 0.4);
}

/* ----------- Fin de Estilos para Eventos ----------- */
