/* Enhanced React Project Detail Styles */
/* Estilos mejorados para una experiencia de usuario más atractiva */
/* Variables unificadas para colores y tipografías */

/* ================================
   VARIABLES DE COLOR - ROJO CARMESÍ Y AZUL MARINO
   ================================ */
:root {
  --primary-color: #ab1738;
  --primary-dark: #8b1229;
  --primary-light: #c4355a;
  --accent-color: #0b1f4c;
  --success-color: #16a34a;
  --success-light: #22c55e;
  --background-gradient: #fff;
  --card-gradient: linear-gradient(135deg, #ffffff, #fafafa);
  --header-gradient: linear-gradient(90deg, #ab1738, #0b1f4c, #ab1738);
  --badge-gradient: linear-gradient(135deg, #fef2f2, #fecaca);
  --active-badge-gradient: linear-gradient(135deg, #f0fdf4, #dcfce7);
  --active-color: #16a34a;
  --active-light: #22c55e;
  --text-primary: #0b1f4c;
  --text-secondary: #6b7280;

  /* ================================
     VARIABLES DE TIPOGRAFÍA
     ================================ */
  --font-family-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif;
  --font-family-monospace: "Courier New", Monaco, "Consolas", monospace;

  /* Tamaños de fuente */
  --font-size-xs: 0.75rem; /* 12px */
  --font-size-sm: 0.875rem; /* 14px */
  --font-size-base: 1rem; /* 16px */
  --font-size-lg: 1.125rem; /* 18px */
  --font-size-xl: 1.25rem; /* 20px */
  --font-size-2xl: 1.5rem; /* 24px */
  --font-size-3xl: 1.875rem; /* 30px */
  --font-size-4xl: 2.25rem; /* 36px */
  --font-size-5xl: 3rem; /* 48px */

  /* Pesos de fuente */
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;

  /* Alturas de línea */
  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.625;
  --line-height-loose: 2;
}

/* Override parent container width limitations */
body:has(#pmp-project-detail-react) .site-main,
body:has(#pmp-project-detail-react) #content.site-main,
body:has(#pmp-project-detail-react) .elementor-section,
body:has(#pmp-project-detail-react) .elementor-container,
body:has(#pmp-project-detail-react) .wp-site-blocks,
.page-template-page-proyecto-detalle-react .site-main,
.page-template-page-proyecto-detalle-react #content.site-main,
.page-template-page-proyecto-detalle-react .elementor-section,
.page-template-page-proyecto-detalle-react .elementor-container {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Ensure the React container has full control over layout */
#pmp-project-detail-react {
  width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  min-height: 100vh;
  background: var(--background-gradient);
}

/* ================================
   CONTAINER PRINCIPAL MEJORADO
   ================================ */

.pmp-project-detail-container-enhanced {
  width: 90%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 2rem 1rem;
  font-family: var(--font-family-primary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  color: var(--text-primary);
  position: relative;
  overflow-x: hidden; /* Prevenir scroll horizontal */
  word-wrap: break-word;
  box-sizing: border-box;
}

/* ================================
   ANIMACIONES GLOBALES
   ================================ */

@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* ================================
   HEADER MEJORADO
   ================================ */

.pmp-project-header-enhanced {
  background: var(--card-gradient);
  border-radius: 24px;
  padding: 3rem 2rem;
  margin: 2rem 0;
  box-shadow: 0 20px 60px rgba(171, 23, 56, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.3);
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(10px);
  word-wrap: break-word;
  box-sizing: border-box;
}

.pmp-project-header-enhanced::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--header-gradient);
}

.pmp-project-header-content-enhanced {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  flex-wrap: nowrap;
  min-height: 200px;
  position: relative;
  z-index: 2;
}

.pmp-project-header-logo-enhanced {
  flex-shrink: 0;
  width: 280px;
  height: 190px;
  align-self: flex-start;
  margin-top: 0.5rem;
}

.pmp-project-header-info-enhanced {
  flex: 1;
  min-width: 0;
}

.project-status-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  background: linear-gradient(135deg, #e8f5e8, #d4edda);
  border: 1px solid #c3e6cb;
  border-radius: 20px;
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.project-status-badge .status-text.pmp-status-active {
  color: var(--active-color);
}

.project-status-badge .status-text.pmp-status-finished {
  color: #4a5568;
}
.project-status-badge:has(.pmp-status-active) {
  background: var(--active-badge-gradient);
  border: 1px solid var(--active-light);
  animation: pulse 2s infinite;
}

.project-status-badge:has(.pmp-status-finished) {
  background: linear-gradient(135deg, #f2f2f2, #e2e8f0);
  border: 1px solid #d1d1d1;
}

@keyframes pulse {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}

.status-icon {
  font-size: 1.2rem;
}

.pmp-project-title-enhanced {
  margin: 0 0 1.5rem 0;
  line-height: var(--line-height-tight);
}

.pmp-project-acronym-enhanced {
  display: block;
  font-size: var(--font-size-5xl);
  font-weight: var(--font-weight-bold);
  background: var(--text-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0.5rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  line-height: 1.2;
}

.pmp-project-description-enhanced {
  display: block;
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-normal);
  color: var(--text-secondary);
  line-height: var(--line-height-normal);
  margin-bottom: 1rem;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
}

.pmp-project-meta-enhanced {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.5rem;
}

.pmp-project-badges-enhanced {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  flex: 1;
  justify-content: space-between;
}

.pmp-project-right-content {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.75rem;
  flex-shrink: 0;
}

/* Contenedor del título simplificado */
.pmp-project-title-enhanced {
  margin: 1rem 0;
}

.pmp-title-text-section {
  width: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* Contenedor de la sección derecha (solo referencia) */
.pmp-project-right-section {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.5rem;
}

/* Logo de la UE en el contenedor de la derecha (ya no se usa) */
.pmp-project-eu-logo-enhanced {
  display: none;
}

.pmp-badge-fund-enhanced {
  background: linear-gradient(135deg, #f0f4ff, #e0e7ff);
  color: var(--accent-color);
  border: 1px solid var(--accent-color);
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
}

.pmp-badge-fund-enhanced:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(11, 31, 76, 0.2);
}

.pmp-project-ref-enhanced {
  font-size: var(--font-size-base);
  color: var(--text-secondary);
}

.pmp-ref-value-enhanced {
  font-family: var(--font-family-monospace);
  background: linear-gradient(135deg, #f6f7f7, #e9ecef);
  padding: 0.3rem 0.8rem;
  border-radius: 8px;
  font-weight: var(--font-weight-semibold);
  color: var(--text-primary);
  border: 1px solid #dee2e6;
  transition: all 0.3s ease;
}

.pmp-ref-value-enhanced:hover {
  background: linear-gradient(135deg, #e9ecef, #dee2e6);
  transform: scale(1.05);
}

/* Responsive design para pantallas medianas (tablets) */
@media (min-width: 769px) and (max-width: 1023px) {
  .pmp-title-text-section {
    width: 100%;
  }
}

/* Responsive design para tablets en orientación vertical */
@media (min-width: 769px) and (max-width: 1023px) and (orientation: portrait) {
  .pmp-title-text-section {
    width: 100%;
  }

  .project-status-badge {
    margin-bottom: 2rem;
  }

  .pmp-project-acronym-enhanced {
    font-size: 2.5rem !important;
    line-height: 1.1 !important;
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  .pmp-project-description-enhanced {
    font-size: 1.4rem !important;
    line-height: 1.3 !important;
    word-break: break-word;
    overflow-wrap: anywhere;
  }
}

/* Responsive design para pantallas grandes */
@media (min-width: 1024px) {
  .pmp-project-meta-enhanced {
    align-items: center;
    justify-content: flex-start;
  }

  .pmp-project-badges-enhanced {
    justify-content: space-between;
  }

  .pmp-project-right-content {
    display: none; /* Ya no se necesita */
  }

  .pmp-project-ref-enhanced {
    margin-top: 0;
    text-align: right;
  }

  .pmp-project-header-content-enhanced {
    gap: 2rem;
  }
}

/* Responsive design para dispositivos móviles */
@media (max-width: 768px) {
  .pmp-title-text-section {
    width: 100%;
  }
  }

  .pmp-eu-logo-img-title {
    max-height: 100px !important;
    max-width: 200px !important;
  }

  /* Ajustar el badge de estado para móviles */
  .project-status-badge {
    margin-top: 2rem; /* Más separación del contenido siguiente para evitar superposición */
  }

  /* Títulos más pequeños para móviles */
  .pmp-project-acronym-enhanced {
    font-size: 2rem !important; /* Más pequeño que var(--font-size-5xl) */
    line-height: 1.1 !important;
    word-break: break-word; /* Romper palabras muy largas */
    overflow-wrap: anywhere; /* Permitir división en cualquier punto si es necesario */
  }

  .pmp-project-description-enhanced {
    font-size: 1.2rem !important; /* Más pequeño que var(--font-size-2xl) */
    line-height: 1.3 !important;
    word-break: break-word;
    overflow-wrap: anywhere;
  }
}

/* Responsive design para dispositivos móviles muy pequeños */
@media (max-width: 480px) {
  .pmp-project-header-enhanced {
    padding: 1.5rem 1rem; /* Menos padding en los lados */
  }

  .pmp-title-text-section {
    padding: 0 0.5rem; /* Padding interno para evitar que el texto toque los bordes */
  }

  .pmp-project-acronym-enhanced {
    font-size: 1.75rem !important; /* Aún más pequeño para móviles pequeños */
    line-height: 1.1 !important;
    margin-bottom: 0.75rem !important;
  }

  .pmp-project-description-enhanced {
    font-size: 1.1rem !important;
    line-height: 1.25 !important;
    margin-bottom: 0.75rem !important;
  }

  .project-status-badge {
    font-size: 0.8rem !important;
    padding: 0.4rem 0.8rem !important;
    margin-bottom: 1.5rem !important;
  }

  .pmp-eu-logo-img-title {
    max-height: 80px !important;
    max-width: 160px !important;
  }

  /* Contenedor principal con menos padding */
  .pmp-project-detail-container-enhanced {
    padding: 0.5rem;
    width: 100%;
  }
}

/* Para pantallas muy grandes */
@media (min-width: 1300px) {
  .pmp-project-meta-enhanced {
    align-items: flex-start;
    justify-content: flex-start;
  }

  .pmp-project-badges-enhanced {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: nowrap;
  }

  .pmp-project-right-content {
    display: none; /* Ya no se necesita */
  }
  }

  /* La referencia ahora está dentro de pmp-project-badges-enhanced y alineada a la derecha */
  .pmp-project-ref-enhanced {
    margin: 0;
    text-align: right;
  }

  .pmp-project-header-content-enhanced {
    gap: 2.5rem;
  }
}

  .pmp-project-header-content-enhanced {
    gap: 3rem;
    min-height: 220px;
  }

  .pmp-project-header-info-enhanced {
    flex: 1;
    min-width: 0;
    margin-left: 1rem;
  }

/* ================================
   TIMELINE DE PROYECTO
   ================================ */

.project-timeline {
  margin: 1.5rem 0;
  padding: 1.5rem;
  background: var(--background-gradient);
  border-radius: 12px;
  border-left: 4px solid var(--primary-color);
}

.timeline-title {
  margin: 0 0 1rem 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: #2c3e50;
}

.timeline-container {
  position: relative;
}

.timeline-bar {
  height: 8px;
  background: #e9ecef;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 1rem;
}

.timeline-progress {
  height: 100%;
  background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
  border-radius: 4px;
  transition: width 1s ease-out;
  position: relative;
}

.timeline-progress::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.3),
    transparent
  );
}

.timeline-dates {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.timeline-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 0.9rem;
}

.date-label {
  font-weight: 600;
  color: #6c757d;
  margin-bottom: 0.25rem;
}

.date-value {
  color: #2c3e50;
  font-weight: 500;
}

.timeline-progress-text {
  text-align: center;
  margin-top: 0.5rem;
  font-weight: 600;
  color: var(--primary-color);
}

/* ================================
   INFO GRID MEJORADO
   ================================ */

.pmp-info-grid-enhanced {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 1.5rem;
  margin: 2rem 1rem 1rem 2rem;
}

.pmp-info-item-enhanced {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.5rem;
  background: var(--card-gradient);
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 25px rgba(171, 23, 56, 0.08);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.pmp-info-item-enhanced.full-width {
  grid-column: 1 / -1;
}

.pmp-info-item-enhanced::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(171, 23, 56, 0.05),
    transparent
  );
  transition: left 0.5s ease;
}

.pmp-info-item-enhanced:hover::before {
  left: 100%;
}

.pmp-info-item-enhanced:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
}
.pmp-info-icon {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  background: linear-gradient(
    135deg,
    var(--primary-color),
    var(--accent-color)
  );
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(171, 23, 56, 0.3);
  transition: all 0.3s ease;
  margin-top: 0.2rem;
}

.pmp-info-icon .dashicons {
  color: #fff;
  font-size: 20px;
}

.pmp-info-item-enhanced:hover .pmp-info-icon {
  transform: scale(1.1) rotate(5deg);
  box-shadow: 0 6px 20px rgba(171, 23, 56, 0.4);
}

.pmp-info-content-enhanced {
  flex: 1;
  min-width: 0;
}

.info-title {
  margin: 0 0 0.5rem 0;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--text-primary);
  transition: color 0.3s ease;
}

.pmp-info-item-enhanced:hover .info-title {
  color: var(--primary-color);
}

.pmp-info-value-enhanced {
  color: var(--text-secondary);
  line-height: var(--line-height-normal);
  font-size: var(--font-size-base);
}

/* ================================
   BOTONES MEJORADOS
   ================================ */

.pmp-web-button-enhanced {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: var(--text-secondary) !important;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
}
.pmp-web-button-enhanced:hover {
  color: var(--primary-color) !important;
  text-decoration: none;
}
/* ================================
   REDES SOCIALES MEJORADAS
   ================================ */

.pmp-social-links-enhanced {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.pmp-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  font-size: 1.5rem;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.pmp-facebook-enhanced {
  background: linear-gradient(135deg, #1877f2, #166fe5);
}

.pmp-instagram-enhanced {
  background: linear-gradient(
    45deg,
    #f09433 0%,
    #e6683c 25%,
    #dc2743 50%,
    #cc2366 75%,
    #bc1888 100%
  );
}

.pmp-linkedin-enhanced {
  background: linear-gradient(135deg, #0077b5, #006aa3);
}

.pmp-social-link:hover {
  transform: translateY(-3px) scale(1.1);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

/* ================================
   SECCIONES PRINCIPALES
   ================================ */

.pmp-section-enhanced {
  background: var(--card-gradient);
  border-radius: 20px;
  margin-bottom: 2rem;
  box-shadow: 0 10px 30px rgba(171, 23, 56, 0.08);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.3);
  transition: all 0.3s ease;
}

.pmp-section-enhanced:hover {
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
}

.pmp-section-title-main {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0 0 2rem 0;
  padding: 2rem 2rem 0 2rem;
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  color: var(--text-primary);
  position: relative;
}

.section-icon-main {
  font-size: 2.5rem;
  background: var(--accent-color);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ================================
   SECCIONES COLLAPSIBLES MEJORADAS
   ================================ */

.pmp-collapsible-section-enhanced {
  border: 1px solid #e9ecef;
  border-radius: 16px;
  margin-bottom: 1.5rem;
  overflow: hidden;
  transition: all 0.3s ease;
  background: var(--card-gradient);
}

.pmp-collapsible-section-enhanced.priority-high {
  border-left: 4px solid var(--primary-color);
}

.pmp-collapsible-section-enhanced.priority-normal {
  border-left: 4px solid var(--primary-color);
}

.pmp-collapsible-section-enhanced:hover {
  border-color: var(--primary-color);
  box-shadow: 0 8px 25px rgba(171, 23, 56, 0.1);
  transform: translateY(-2px);
}

.pmp-section-header-enhanced {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 2rem;
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.pmp-section-header-enhanced::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(171, 23, 56, 0.1),
    transparent
  );
  transition: left 0.3s ease;
}

.pmp-section-header-enhanced:hover::before {
  left: 100%;
}

.pmp-section-header-enhanced:hover {
  background: linear-gradient(135deg, #e9ecef, #dee2e6);
}

.pmp-section-title-enhanced {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0;
  font-size: 1.3rem;
  font-weight: 600;
  color: #2c3e50;
  z-index: 1;
  position: relative;
}

.section-icon {
  font-size: 1.5rem;
}

.section-title-text {
  margin: 0;
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  color: var(--text-primary);
}

.pmp-section-count-enhanced {
  background: var(--primary-color);
  color: #fff;
  padding: 0.3rem 0.8rem;
  border-radius: 15px;
  font-size: 0.8rem;
  margin-left: 0.5rem;
  box-shadow: 0 2px 8px rgba(171, 23, 56, 0.3);
  font-weight: 600;
}

.pmp-section-toggle-enhanced {
  color: #6c757d;
  transition: all 0.3s ease;
  z-index: 1;
  position: relative;
  font-size: 1.2rem;
}

.pmp-section-content-enhanced {
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.pmp-section-inner-enhanced {
  padding: 2rem;
  word-wrap: break-word;
  overflow-wrap: break-word;
  min-width: 0;
}

/* ================================
   WORK PACKAGES REDISEÑADOS - UN PAQUETE POR LÍNEA
   ================================ */

.pmp-work-packages-grid-enhanced {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-top: 1rem;
}

.pmp-work-package-card-enhanced {
  background: var(--card-gradient);
  border: 1px solid #e9ecef;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 8px 25px rgba(171, 23, 56, 0.08);
  transition: all 0.3s ease;
  position: relative;
  border-left: 5px solid var(--primary-color);
}

.pmp-work-package-card-enhanced:hover {
  box-shadow: 0 20px 50px rgba(171, 23, 56, 0.15);
  border-left-color: var(--accent-color);
}

.pmp-work-package-card-enhanced::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(171, 23, 56, 0.05),
    transparent
  );
  transition: left 0.6s ease;
}

.pmp-work-package-card-enhanced:hover::before {
  left: 100%;
}

/* Header del Work Package */
.pmp-work-package-header-enhanced {
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
  padding: 2rem 2.5rem;
  border-bottom: 1px solid #e9ecef;
  position: relative;
  z-index: 2;
}

.pmp-work-package-header-enhanced::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--header-gradient);
}

.pmp-work-package-meta-enhanced {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
  gap: 1rem;
}

.pmp-work-package-number-enhanced {
  background: var(--primary-color);
  color: #fff;
  padding: 0.6rem 1.2rem;
  border-radius: 25px;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.package-status {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.results-badge {
  background: var(--active-badge-gradient);
  border: 1px solid var(--active-light);
  color: var(--active-color);
  padding: 0.4rem 0.8rem;
  border-radius: 15px;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
}

.pmp-work-package-title-enhanced {
  margin: 0;
  font-size: var(--font-size-lg);
  padding: 1rem;
  font-weight: var(--font-weight-normal);
  color: var(--text-primary);
  line-height: var(--line-height-tight);
  background: var(--text-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.pmp-work-package-description-enhanced {
  margin: 1rem 0 0 0;
  color: var(--text-secondary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
}

.pmp-work-package-description-enhanced p {
  margin: 0;
}

/* Contenedor de Resultados */
.pmp-work-package-results-enhanced {
  padding: 2rem 2.5rem;
  background: #fff;
}

.pmp-results-subtitle-enhanced {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0 0 2rem 0;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--primary-color);
  position: relative;
}

.pmp-results-subtitle-enhanced::after {
  content: "";
  flex: 1;
  height: 2px;
  background: linear-gradient(90deg, var(--primary-color), transparent);
  margin-left: 1rem;
}

.results-icon {
  font-size: 1.5rem;
  color: var(--primary-color);
}

.pmp-results-container-enhanced {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 1.5rem;
}

/* Tarjetas de Resultados Mejoradas */
.pmp-result-item-enhanced {
  background: var(--card-gradient);
  border: 1px solid #e9ecef;
  border-radius: 16px;
  padding: 1.5rem;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(171, 23, 56, 0.05);
}

.pmp-result-item-enhanced::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(
    90deg,
    var(--success-color),
    var(--success-light)
  );
  transform: scaleX(0);
  transition: transform 0.3s ease;
}

.pmp-result-item-enhanced:hover::before {
  transform: scaleX(1);
}

.pmp-result-item-enhanced:hover {
  box-shadow: 0 8px 25px rgba(171, 23, 56, 0.1);
  border-color: var(--success-color);
}

.pmp-result-header-enhanced {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
}

.pmp-result-type-badge-enhanced {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: linear-gradient(135deg, #e9ecef, #f8f9fa);
  padding: 0.5rem 1rem;
  border-radius: 25px;
  font-size: 0.8rem;
  font-weight: 600;
  color: #6c757d;
  border: 1px solid #dee2e6;
  flex-shrink: 0;
}

.type-icon {
  font-size: 1rem;
}

.pmp-result-type-label-enhanced {
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.pmp-result-title-enhanced {
  margin: 0;
  font-size: var(--font-size-lg) !important;
  font-weight: var(--font-weight-semibold) !important;
  color: #2c3e50 !important;
  line-height: 1.3 !important;
  flex: 1;
}

.pmp-result-description-enhanced {
  margin-bottom: 1.5rem;
  color: #6c757d;
  font-size: 1rem;
  line-height: 1.5;
}

.pmp-result-description-enhanced p {
  margin: 0;
}

.pmp-result-links-enhanced {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.pmp-result-link-enhanced {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  text-decoration: none;
  border-radius: 25px;
  font-size: 0.9rem;
  font-weight: 500;
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
  color: var(--primary-dark) !important;
  border: 1px solid var(--primary-light);
}

.pmp-result-link-enhanced:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  text-decoration: none;
  background: var(--badge-gradient);
  color: var(--primary-dark) !important;
  border-color: var(--primary-color);
}

.link-icon {
  font-size: 1rem;
}

/* Estilos específicos por tipo de resultado */
.pmp-file-link-enhanced {
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
  color: var(--primary-dark) !important;
  border: 1px solid var(--primary-light);
}

.pmp-file-link-enhanced:hover {
  background: var(--badge-gradient);
  color: var(--primary-dark) !important;
  border-color: var(--primary-color);
}

.pmp-image-link-enhanced {
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
  color: var(--primary-dark) !important;
  border: 1px solid var(--primary-light);
}

.pmp-image-link-enhanced:hover {
  background: var(--badge-gradient);
  color: var(--primary-dark) !important;
  border-color: var(--primary-color);
}

.pmp-web-link-enhanced {
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
  color: var(--primary-dark) !important;
  border: 1px solid var(--primary-light);
}

.pmp-web-link-enhanced:hover {
  background: var(--badge-gradient);
  color: var(--primary-dark) !important;
  border-color: var(--primary-color);
}

/* Preview de Imagen */
.pmp-result-image-enhanced {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.pmp-result-image-enhanced:hover {
  transform: scale(1.02);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.pmp-result-img-enhanced {
  width: 100%;
  height: 200px;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.pmp-result-image-enhanced:hover .pmp-result-img-enhanced {
  transform: scale(1.05);
}

/* Responsive Design para Work Packages */
@media (max-width: 768px) {
  .pmp-work-package-header-enhanced {
    padding: 1.5rem;
  }

  .pmp-work-package-meta-enhanced {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }

  .pmp-work-package-title-enhanced {
    font-size: 1.5rem;
  }

  .pmp-work-package-results-enhanced {
    padding: 1.5rem;
  }

  .pmp-results-container-enhanced {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .pmp-result-links-enhanced {
    flex-direction: column;
  }

  .pmp-result-link-enhanced {
    justify-content: center;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .pmp-work-package-header-enhanced {
    padding: 1rem;
  }

  .pmp-work-package-title-enhanced {
    font-size: 1.3rem;
  }

  .pmp-work-package-results-enhanced {
    padding: 1rem;
  }

  .pmp-result-item-enhanced {
    padding: 1rem;
  }

  .pmp-result-header-enhanced {
    flex-direction: column;
    gap: 0.5rem;
  }

  .pmp-result-type-badge-enhanced {
    align-self: flex-start;
  }
}

/* ================================
   ANIMACIONES ADICIONALES
   ================================ */

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.pmp-social-links {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.pmp-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  background: #f8f9fa;
  color: #495057;
  text-decoration: none;
  border-radius: 50%;
  font-size: 1.125rem;
  font-weight: 500;
  border: 1px solid #dee2e6;
  transition: all 0.2s ease;
}

.pmp-social-link:hover {
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.pmp-social-link .dashicons {
  font-size: 20px;
  line-height: 1;
  width: 20px;
  height: 20px;
}

.pmp-social-link.pmp-facebook {
  background: #1877f2;
  color: white;
  border-color: #1877f2;
}

.pmp-social-link.pmp-facebook:hover {
  background: #166fe5;
  color: white;
}

.pmp-social-link.pmp-instagram {
  background: linear-gradient(
    45deg,
    #f09433 0%,
    #e6683c 25%,
    #dc2743 50%,
    #cc2366 75%,
    #bc1888 100%
  );
  color: white;
  border-color: #e6683c;
}

.pmp-social-link.pmp-instagram:hover {
  opacity: 0.9;
  color: white;
}

.pmp-social-link.pmp-linkedin {
  background: #0077b5;
  color: white;
  border-color: #0077b5;
}

.pmp-social-link.pmp-linkedin:hover {
  background: #006aa3;
  color: white;
}

/* ================================
   EVENTOS MEJORADOS
   ================================ */

.pmp-meetings-grid-enhanced {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: 2rem;
}

.pmp-meeting-card-enhanced {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.3s ease;
  position: relative;
}

.pmp-meeting-card-enhanced::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
  transform: scaleX(0);
  transition: transform 0.3s ease;
}

.pmp-meeting-card-enhanced:hover::before {
  transform: scaleX(1);
}

.pmp-meeting-card-enhanced:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

.pmp-meeting-header-enhanced {
  padding: 2rem;
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
  border-bottom: 1px solid #e9ecef;
}

.pmp-meeting-title-enhanced {
  margin: 0 0 1rem 0;
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--accent-color);
  transition: color 0.3s ease;
}

.pmp-meeting-card-enhanced:hover .pmp-meeting-title-enhanced {
  color: var(--primary-color);
}

.pmp-meeting-meta-enhanced {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.pmp-meeting-date-enhanced,
.pmp-meeting-location-enhanced {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1rem;
  color: #6c757d;
  transition: color 0.3s ease;
}

.pmp-meeting-card-enhanced:hover .pmp-meeting-date-enhanced,
.pmp-meeting-card-enhanced:hover .pmp-meeting-location-enhanced {
  color: #2c3e50;
}

.meta-icon {
  font-size: 1.2rem;
  color: var(--primary-color);
  transition: transform 0.3s ease;
}

.pmp-meeting-card-enhanced:hover .meta-icon {
  transform: scale(1.1);
}

.pmp-meeting-image-enhanced {
  width: 100%;
  height: 250px;
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
}

.pmp-meeting-img-enhanced {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  transition: transform 0.3s ease;
  display: block;
}

.pmp-meeting-card-enhanced:hover .pmp-meeting-img-enhanced {
  transform: scale(1.05);
}

.pmp-meeting-description-enhanced {
  padding: 2rem;
  line-height: 1.6;
  color: #6c757d;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
}

/* ================================
   COLABORADORES MEJORADOS
   ================================ */

.pmp-collaborators-grid-enhanced {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 2rem;
}

.pmp-collaborator-card-enhanced {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.3s ease;
  position: relative;
}

.pmp-collaborator-card-enhanced::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
  transform: scaleX(0);
  transition: transform 0.3s ease;
}

.pmp-collaborator-card-enhanced:hover::after {
  transform: scaleX(1);
}

.pmp-collaborator-card-enhanced:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

.pmp-collaborator-logo-enhanced {
  height: 200px;
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  padding: 15px;
}

/* Responsive para contenedor de logos en móviles */
@media (max-width: 768px) {
  .pmp-collaborator-logo-enhanced {
    height: 160px;
    padding: 12px;
  }
}

@media (max-width: 480px) {
  .pmp-collaborator-logo-enhanced {
    height: 140px;
    padding: 10px;
  }
}

.pmp-collaborator-logo-enhanced::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.5),
    transparent
  );
  transition: left 0.5s ease;
  z-index: 1;
}

.pmp-collaborator-card-enhanced:hover .pmp-collaborator-logo-enhanced::before {
  left: 100%;
}

.pmp-collaborator-img-enhanced {
  max-width: min(380px, 90vw);
  max-height: min(258px, 60vw);
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center center;
  transition: transform 0.3s ease;
  position: relative;
  z-index: 2;
  display: block;
  margin: 0 auto;
  aspect-ratio: 500 / 340;
}

.pmp-collaborator-card-enhanced:hover .pmp-collaborator-img-enhanced {
  transform: scale(1.05);
}

.pmp-collaborator-info-enhanced {
  padding: 2rem;
}

.pmp-collaborator-name-link-enhanced {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease;
  position: relative;
  line-height: 1.2;
  min-height: 1.2em;
}

.pmp-collaborator-name-link-enhanced::before {
  content: "🔗";
  font-size: 1.2rem;
  color: var(--primary-color);
  transition: all 0.3s ease;
  opacity: 1;
  transform: scale(1);
  line-height: 1.2;
  display: flex;
  align-items: center;
  height: 1.2em;
}

.pmp-collaborator-name-link-enhanced:hover {
  color: var(--primary-color);
  text-decoration: none;
}

.pmp-collaborator-name-link-enhanced:hover::before {
  transform: scale(1.1);
}

.pmp-collaborator-name-link-enhanced:hover .pmp-collaborator-name-enhanced {
  color: var(--primary-color);
}

.pmp-collaborator-name-enhanced {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--accent-color);
  transition: color 0.3s ease;
  line-height: 1.2;
}

.pmp-collaborator-card-enhanced:hover .pmp-collaborator-name-enhanced {
  color: var(--primary-color);
}

.pmp-collaborator-country-enhanced {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 0.8rem;
  font-size: 1rem;
  color: #6c757d;
}
.pmp-collaborator-country-enhanced span{
  margin-left: 2px;
}

.country-icon {
  font-size: 1.2rem;
  color: var(--primary-color);
  transition: transform 0.3s ease;
}

.pmp-collaborator-card-enhanced:hover .country-icon {
  transform: scale(1.1);
}

/* ================================
   ESTADOS VACÍOS MEJORADOS
   ================================ */

.pmp-empty-state-enhanced {
  text-align: center;
  padding: 4rem 2rem;
  color: #6c757d;
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
  border-radius: 16px;
  border: 2px dashed #dee2e6;
}

.empty-icon {
  font-size: 4rem;
  margin-bottom: 1.5rem;
  color: #c3c4c7;
}

.pmp-empty-state-enhanced h3 {
  margin: 0 0 1rem 0;
  font-size: 1.5rem;
  color: #2c3e50;
}

.pmp-empty-state-enhanced p {
  margin: 0;
  font-size: 1.1rem;
}

/* ================================
   SECCIONES DE TEXTO MEJORADAS
   ================================ */

.pmp-objectives-section-enhanced,
.pmp-description-section-enhanced {
  margin-bottom: 2rem;
  background: var(--card-gradient);
  border-radius: 20px;
  padding: 2rem;
  box-shadow: 0 10px 30px rgba(171, 23, 56, 0.08);
  border-left: 6px solid var(--primary-color);
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.pmp-text-content-enhanced {
  line-height: 1.8;
  color: var(--text-secondary);
  font-size: var(--font-size-lg);
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
}

.pmp-text-content-enhanced p {
  margin: 0 0 1rem 0;
  transition: all 0.3s ease;
}

.pmp-text-content-enhanced p:hover {
  color: #2c3e50;
}

.pmp-text-content-enhanced p:last-child {
  margin-bottom: 0;
}

/* ================================
   ACCIONES DEL PROYECTO MEJORADAS
   ================================ */

.pmp-project-actions-enhanced {
  text-align: center;
  margin-top: 4rem;
  padding-top: 3rem;
  border-top: 2px solid #e9ecef;
}

.pmp-btn-back-enhanced {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  background: linear-gradient(135deg, #f8f9fa, #e9ecef) !important;
  color: var(--primary-dark) !important;
  border: 1px solid var(--primary-light) !important;
  border-radius: 25px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  text-decoration: none;
  position: relative;
  overflow: hidden;
}

.pmp-btn-back-enhanced:hover {
  background: var(--badge-gradient) !important;
  color: var(--primary-dark) !important;
  border-color: var(--primary-color) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(171, 23, 56, 0.15) !important;
  text-decoration: none;
}

.btn-icon {
  margin-bottom: 0.2rem;
  font-size: 1.3rem;
  transition: transform 0.3s ease;
}

.pmp-btn-back-enhanced:hover .btn-icon {
  transform: translateX(-3px);
}

/* ================================
   LOGOS MEJORADOS
   ================================ */

.pmp-logo-small {
  width: 150px !important;
  height: 102px !important;
}

.pmp-logo-medium {
  width: 280px !important;
  height: 190px !important;
}

.pmp-logo-large {
  width: 500px !important;
  height: 340px !important;
}

.pmp-project-logo-container {
  transition: all 0.5s ease;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
}

.pmp-project-logo-container.loading {
  opacity: 0.6;
  transform: scale(0.95);
}

.pmp-project-logo-container.loaded {
  opacity: 1;
  transform: scale(1);
}

.pmp-project-logo-container.visible {
  opacity: 1;
  transform: scale(1);
}

.pmp-project-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  transition: transform 0.3s ease;
  border-radius: 16px;
  display: block;
  margin: 0 auto;
}

.pmp-project-logo:hover {
  transform: scale(1.02);
}

.pmp-project-logo-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #f6f7f7, #e9ecef);
  border: 2px dashed #c3c4c7;
  border-radius: 16px;
  color: #8c8f94;
  transition: all 0.3s ease;
}

.pmp-project-logo-placeholder:hover {
  background: linear-gradient(135deg, #e9ecef, #dee2e6);
  border-color: #999;
}

.placeholder-content {
  text-align: center;
}

.placeholder-icon {
  font-size: 3rem;
  margin-bottom: 1rem;
}

.placeholder-text {
  margin: 0;
  font-size: 1rem;
  font-weight: 500;
}

/* ================================
   RESPONSIVE DESIGN MEJORADO
   ================================ */

@media (max-width: 1000px) {
  .pmp-project-detail-container-enhanced {
    width: 95%;
    padding: 1rem 0.5rem;
  }

  .pmp-project-header-enhanced {
    padding: 2rem 1.5rem;
    margin: 1rem 0;
  }

  .pmp-project-header-content-enhanced {
    flex-direction: column;
    text-align: center;
    align-items: center;
    gap: 1.5rem;
  }

  .pmp-project-header-logo-enhanced {
    width: 250px;
    height: 170px;
    margin: 0 auto;
    align-self: center;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .pmp-project-header-info-enhanced {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
  }

  .pmp-project-acronym-enhanced {
    font-size: 2.5rem;
    text-align: center;
  }

  .pmp-project-description-enhanced {
    font-size: 1.3rem;
    text-align: center;
  }

  .pmp-project-meta-enhanced {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
    align-items: center;
    width: 100%;
  }

  .pmp-project-badges-enhanced {
    justify-content: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .pmp-project-right-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
  }

  .pmp-project-right-content {
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .pmp-project-ref-enhanced {
    text-align: center;
  }

  .project-status-badge {
    justify-content: center;
    margin-bottom: 1rem;
  }

  .pmp-title-content-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
  }

  .pmp-title-text-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
  }

  .pmp-project-logo-container {
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .pmp-project-logo {
    display: block;
    margin: 0 auto;
  }

  .pmp-info-grid-enhanced {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .pmp-info-item-enhanced {
    padding: 1rem;
  }

  .pmp-section-title-main {
    font-size: 1.8rem;
    padding: 1.5rem 1.5rem 0 1.5rem;
  }

  .pmp-section-inner-enhanced {
    padding: 1.5rem;
  }

  .pmp-work-packages-grid-enhanced,
  .pmp-meetings-grid-enhanced,
  .pmp-collaborators-grid-enhanced {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .pmp-work-package-card-enhanced,
  .pmp-meeting-card-enhanced,
  .pmp-collaborator-card-enhanced {
    margin: 0;
  }

  .pmp-work-package-header-enhanced {
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
  }

  .timeline-dates {
    flex-direction: column;
    gap: 1rem;
  }

  .pmp-social-links-enhanced {
    justify-content: center;
  }

  .pmp-result-links-enhanced {
    flex-direction: column;
    gap: 0.5rem;
  }

  .pmp-result-link-enhanced {
    justify-content: center;
  }
}

@media (max-width: 768px) {
  .pmp-project-detail-container-enhanced {
    width: 98%;
    padding: 0.5rem;
  }

  .pmp-project-header-enhanced {
    padding: 1.5rem 1rem;
    margin: 0.5rem 0;
  }

  .pmp-project-header-content-enhanced {
    gap: 1rem;
  }

  .pmp-project-header-logo-enhanced {
    width: 200px;
    height: 140px;
  }

  .pmp-project-acronym-enhanced {
    font-size: 2rem;
  }

  .pmp-project-description-enhanced {
    font-size: 1.1rem;
  }

  .pmp-section-title-main {
    font-size: 1.6rem;
    padding: 1rem;
  }

  .pmp-section-inner-enhanced {
    padding: 1rem;
  }
}

@media (max-width: 480px) {
  .pmp-project-header-enhanced {
    padding: 1.5rem 1rem;
  }

  .pmp-project-header-logo-enhanced {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
  }

  .pmp-project-logo-container {
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .pmp-project-logo {
    display: block;
    margin: 0 auto;
  }

  .pmp-project-header-content-enhanced {
    align-items: center;
    text-align: center;
  }

  .pmp-project-header-info-enhanced {
    align-items: center;
    text-align: center;
  }

  .pmp-project-acronym-enhanced {
    font-size: 2rem;
    text-align: center;
  }

  .pmp-project-description-enhanced {
    font-size: 1.1rem;
    text-align: center;
  }

  .pmp-project-meta-enhanced {
    align-items: center;
    text-align: center;
  }

  .pmp-project-badges-enhanced {
    justify-content: center;
  }

  .pmp-project-right-section {
    align-items: center;
    text-align: center;
  }

  .pmp-project-ref-enhanced {
    text-align: center;
  }

  .project-status-badge {
    justify-content: center;
  }

  .pmp-section-title-main {
    font-size: 1.5rem;
    gap: 0.5rem;
  }

  .section-icon-main {
    font-size: 2rem;
  }

  .pmp-info-icon-enhanced {
    width: 40px;
    height: 40px;
    font-size: 1.2rem;
  }

  .pmp-work-package-card-enhanced,
  .pmp-meeting-card-enhanced,
  .pmp-collaborator-card-enhanced {
    padding: 1.5rem;
  }

  .pmp-btn-back-enhanced {
    padding: 0.8rem 1.5rem;
    font-size: 1rem;
  }
}

/* ================================
   ANIMACIONES ADICIONALES
   ================================ */

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Scroll to top button */
.scroll-to-top-btn:hover {
  background: linear-gradient(
    135deg,
    var(--accent-color),
    var(--primary-color)
  ) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(171, 23, 56, 0.4) !important;
}

/* Mejoras de accesibilidad */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
/* Print styles */
@media print {
  .pmp-project-detail-container-enhanced {
    width: 100%;
    padding: 0;
    background: white;
  }

  .pmp-project-actions-enhanced,
  .scroll-to-top-btn {
    display: none;
  }

  .pmp-section-enhanced,
  .pmp-project-header-enhanced {
    box-shadow: none;
    border: 1px solid #ddd;
  }
}

/* ================================
   ESTILOS GLOBALES PARA LOGOS - CORRECCIÓN DE ALINEACIÓN
   ================================ */

/* Asegurar que todas las imágenes de logos estén perfectamente centradas */
.pmp-collaborator-logo-enhanced img:not(.pmp-eu-logo-img-title),
.pmp-project-logo-container img:not(.pmp-eu-logo-img-title),
.pmp-meeting-img-enhanced:not(.pmp-eu-logo-img-title),
.pmp-project-logo:not(.pmp-eu-logo-img-title),
[data-fancybox="project-logos"] img:not(.pmp-eu-logo-img-title) {
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 auto !important;
}

/* Tamaño específico para imágenes de colaboradores */
.pmp-collaborator-logo-enhanced img:not(.pmp-eu-logo-img-title) {
  max-width: min(380px, 90vw) !important;
  max-height: min(258px, 60vw) !important;
  width: auto !important;
  height: auto !important;
  aspect-ratio: 500 / 340 !important;
}
/* Tamaño específico y controlado para el logo de la UE */
.pmp-eu-logo-img-title {
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 auto !important;
  /* Mantener tamaños fijos definidos en las reglas principales */
}

/* Centrado específico para contenedores flexbox */
.pmp-collaborator-logo-enhanced,
.pmp-project-logo-container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* Prevenir distorsiones en imágenes pequeñas */
.pmp-collaborator-img-enhanced,
.pmp-project-logo {
  image-rendering: -webkit-optimize-contrast !important;
  image-rendering: crisp-edges !important;
  -ms-interpolation-mode: bicubic !important;
}

/* Media queries para dispositivos móviles - imágenes de colaboradores */
@media (max-width: 768px) {
  .pmp-collaborator-img-enhanced {
    max-width: min(280px, 85vw);
    max-height: min(190px, 55vw);
  }

  .pmp-collaborator-logo-enhanced img:not(.pmp-eu-logo-img-title) {
    max-width: min(280px, 85vw) !important;
    max-height: min(190px, 55vw) !important;
  }
}

@media (max-width: 480px) {
  .pmp-collaborator-img-enhanced {
    max-width: min(220px, 80vw);
    max-height: min(149px, 50vw);
  }

  .pmp-collaborator-logo-enhanced img:not(.pmp-eu-logo-img-title) {
    max-width: min(220px, 80vw) !important;
    max-height: min(149px, 50vw) !important;
  }
}
.fancybox__backdrop {
  background: var(--fancybox-bg, rgba(200, 200, 200, 0.80)) !important;
}
.fancybox__caption {
  color: black !important;
}

/* ================================
   LOGO UE EN DISCLAIMER
   ================================ */

.pmp-eu-logo-disclaimer {
  max-width: 250px;
  max-height: 170px;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.pmp-eu-logo-disclaimer:hover {
  transform: scale(1.05);
}

/* Media queries para logo UE responsive */
@media (max-width: 768px) {
  .pmp-eu-disclaimer-content {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 1rem !important;
  }
  
  .pmp-eu-disclaimer-text {
    text-align: center !important;
  }
}

@media (max-width: 480px) {
  .pmp-eu-disclaimer-enhanced {
    padding: 1rem 1.5rem !important;
  }
}

/* ================================
   CARRUSEL DE IMÁGENES PARA EVENTOS
   ================================ */

.pmp-meeting-carousel-enhanced {
  margin: 1.5rem 0;
  background: var(--card-gradient);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.pmp-carousel-main-container {
  position: relative;
  overflow: hidden;
  background: #f8f9fa;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: min(380px, 90vw);
  max-height: min(258px, 60vw);
  margin: 0 auto;
  aspect-ratio: 500 / 340;
}

.pmp-carousel-main-link {
  display: block;
  width: 100%;
  height: 100%;
}

.pmp-carousel-main-image {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center center;
  transition: transform 0.3s ease;
  display: block;
  margin: 0 auto;
}

.pmp-carousel-main-image:hover {
  transform: scale(1.02);
}

.pmp-carousel-controls {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1rem;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.pmp-carousel-main-container:hover .pmp-carousel-controls {
  opacity: 1;
}

.pmp-carousel-btn {
  background: rgba(0, 0, 0, 0.7);
  color: white;
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 2rem;
  line-height: 1;
  padding-top: 2px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  top: -6px; /* Sube la flecha 6px, ajustar si es necesario */
  transform: none;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
}

.pmp-carousel-btn:hover {
  background: var(--primary-color);
  transform: scale(1.1);
}

/* Responsive para carrusel */
@media (max-width: 768px) {
  .pmp-carousel-main-container {
    aspect-ratio: 4/3;
  }
  
  .pmp-carousel-btn {
    width: 35px;
    height: 35px;
    font-size: 1.25rem;
  }
}

@media (max-width: 480px) {
  .pmp-carousel-main-container {
    aspect-ratio: 1/1;
  }
  
  .pmp-carousel-controls {
    padding: 0 0.5rem;
  }
  
  .pmp-carousel-btn {
    width: 30px;
    height: 30px;
    font-size: 1rem;
  }
}
