/* ==========================
   VARIABLES CSS PRINCIPALES
   ========================== */
:root {
    /* 🌳 PALETA PRINCIPAL */
    --prisma-green: #027333;         /* Verde oscuro (para encabezados, fondos principales) */
    --prisma-blue: #295FB7;          /* Azul medio (para secciones secundarias, botones secundarios) */
    --prisma-yellow: #FFD700;        /* Amarillo brillante (para CTAs / botones principales) */
    --prisma-light-green: #9AC947;   /* Verde claro (para fondos alternos y detalles suaves) */
    --prisma-light-green-50: rgba(154, 201, 71, 0.5); /* Verde claro 50% transparencia */
    
    /* 🦜 COLORES SECUNDARIOS */
    --prisma-celeste: #8ED1FC;      /* Para fondos suaves o iconos decorativos */
    --prisma-naranja: #E59400;      /* Para detalles, subrayados */
    --prisma-rosa: #E85BA6;         /* Para acentos en secciones creativas */
    --prisma-marron: #A0522D;       /* Para ilustraciones, texturas */
    
    /* COLORES NEUTRALES */
    --prisma-dark-gray: #2C3E50;
    --prisma-light-gray: #EAEAEA;   /* Para fondos neutrales, FAQ, footer */
    --text-color: #333333;          /* Para mejor legibilidad que el verde */

    /* ALIAS para compatibilidad con nombres antiguos */
    --prisma-teal: var(--prisma-green);
    --prisma-purple: var(--prisma-blue);
    --prisma-orange: var(--prisma-yellow);
    --prisma-red: var(--prisma-yellow);
    --prisma-white: #ffffff;

    /* Sombras reutilizables basadas en la paleta */
    --shadow-soft: 0 4px 10px rgba(0,0,0,0.08);
    --shadow-blue: 0 8px 32px rgba(46,143,204,0.10);
    --shadow-green: 0 8px 20px rgba(74,155,62,0.30);
    --shadow-yellow: 0 10px 30px rgba(255,215,0,0.18);
}

  /* Reset y Estilos Generales */
          * {
              margin: 0;
              padding: 0;
              box-sizing: border-box;
          }
  
          body {
              font-family: 'Open Sans', sans-serif;
              /* Fuente más legible para el cuerpo */
              line-height: 1.6;
              color: var(--text-color);
              overflow-x: hidden;
              background-color: var(--prisma-light-gray);
              /* Fondo general más suave */
          }
  
          /* Hero Section */
          .hero {
              /* Fondo con imagen de banner */
              background: url('../img/Banner desktop22-01-01.webp');
              height: 100vh;                  /* Ocupa toda la altura de la ventana */
              min-height: 1080px;             /* Altura mínima para mantener proporción */
              width: 100%;                    /* Ancho completo */
              display: flex;
              align-items: center;
              justify-content: center;
              position: relative;
              overflow: hidden;
              background-size: cover;
              background-position: center;
              animation: none;                 /* desactivar animación pesada */
              text-align: center;
          }
  
          /* overlay sutil para mejor legibilidad del texto */
          .hero::before {
              content: "";
              position: absolute;
              inset: 0;
              background: linear-gradient(180deg, rgba(2,115,51,0.4), rgba(0,0,0,0.5));
              z-index: 0;
              pointer-events: none;
              mix-blend-mode: multiply;
              opacity: 0.8;
          }
  
          .hero-content {
              max-width: 1200px;
              /* Aumentar el ancho máximo para adaptarlo a pantallas más grandes */
              width: 90%;
              margin: 0 auto;
              padding: 2rem;
              display: block;
              /* Cambiar a block para que el texto ocupe todo el ancho */
              position: relative;
              z-index: 2;
          }
  
          .hero-text h1 {
              font-family: 'Montserrat', sans-serif;
              font-size: clamp(2rem, 6.5vw, 3.4rem);
              line-height: 1.02;
              font-weight: 700;
              color: var(--prisma-white);
              margin-bottom: 0.5rem;
              text-shadow: 0 6px 18px rgba(0,0,0,0.28);
              animation: fadeInUp 1s ease-out;
          }
  
          .hero-text .subtitle {
              font-family: 'Montserrat', sans-serif;
              font-size: clamp(1rem, 3.8vw, 1.25rem);
              color: var(--prisma-yellow);
              font-weight: 600;
              margin-bottom: 1.5rem;
              text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
              animation: fadeInUp 1s ease-out 0.2s both;
          }
  
          .hero-text .tagline {
              font-size: clamp(1rem, 3.2vw, 1.4rem);
              color: rgba(255, 255, 255, 0.98);
              font-weight: 600;
              margin-bottom: 2rem;
              animation: fadeInUp 1s ease-out 0.4s both;
          }
  
          .hero-text .manifesto {
              max-width: 88%;
              margin: 0.6rem auto 1.2rem;
              font-size: clamp(.95rem, 3.2vw, 1rem);
              color: rgba(255, 255, 255, 0.95);
              margin-bottom: 2.5rem;
              font-style: italic;
              animation: fadeInUp 1s ease-out 0.6s both;
          }
  
         .btn-primary {
              background: var(--prisma-yellow);
              color: var(--prisma-green);
              font-weight: 700;
              border-radius: 12px;
              padding: 12px 28px;
              border: none;
              font-size: 1.1rem;
              text-decoration: none;
              box-shadow: var(--shadow-soft);
              text-transform: uppercase;
              letter-spacing: 1px;
              transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
              display: inline-flex;
              align-items: center;
              justify-content: center;
              cursor: pointer;
              animation: fadeInUp 1.2s ease-out 0.8s both;
          }
  
          .btn-primary:hover {
              background: #E6C200; /* amarillo más oscuro */
              transform: translateY(-3px);
              box-shadow: 0 12px 30px rgba(0,0,0,0.12);
          }
  
          /* Eliminar hero-visual ya no es necesario */
          .hero-visual {
              display: none;
          }
  
          /* Keyframes */
          @keyframes fadeInUp {
              from {
                  opacity: 0;
                  transform: translateY(40px);
                  /* Más desplazamiento inicial */
              }
  
              to {
                  opacity: 1;
                  transform: translateY(0);
              }
          }
  
          @keyframes fadeInRight {
              from {
                  opacity: 0;
                  transform: translateX(40px);
                  /* Más desplazamiento inicial */
              }
  
              to {
                  opacity: 1;
                  transform: translateX(0);
              }
          }
  
          /* Secciones Generales */
          .section {
              padding: 6rem 2rem;
              /* Más padding vertical */
              max-width: 1300px;
              /* Aumentar el ancho máximo de las secciones */
              margin: 0 auto;
          }
  
          .section h2 {
              font-family: 'Montserrat', sans-serif;
              font-size: 3.2rem;
              /* Más grande */
              margin-bottom: 2.5rem;
              /* Más margen */
              text-align: center;
              color: var(--prisma-green);
              font-weight: 700;
              position: relative;
              padding-bottom: 1rem;
          }
  
          .section h2::after {
              content: '';
              position: absolute;
              bottom: 0;
              left: 50%;
              transform: translateX(-50%);
              width: 80px;
              /* Línea decorativa */
              height: 4px;
              background: linear-gradient(90deg, var(--prisma-green), var(--prisma-teal));
              border-radius: 2px;
          }
  
          /* Nueva sección de texto descriptivo */
          .program-description {
              max-width: 900px;
              /* Ancho para el texto */
              margin: 0 auto 3rem auto;
              /* Centrar y añadir margen inferior */
              text-align: center;
              font-size: 1.15rem;
              /* Tamaño de fuente legible */
              line-height: 1.8;
              color: var(--text-color);
          }
  
          .program-description p {
              margin-bottom: 1.5rem;
          }
  
          .program-description strong {
              color: var(--prisma-green);
          }
  
          .program-description .btn-secondary {
              background: var(--prisma-blue);
              color: #fff;
              font-weight: 600;
              border-radius: 12px;
              padding: 12px 24px;
              border: none;
              font-size: 1.1rem;
              text-decoration: none;
              box-shadow: var(--shadow-soft);
              margin-top: 1.5rem;
              display: inline-flex;
              gap: .6rem;
              align-items: center;
              justify-content: center;
              transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
              cursor: pointer;
          }
  
          .program-description .cta-secondary:hover,
          .cta-secondary:hover, .btn-secondary:hover {
              background: #1E4A91; /* azul más oscuro */
              transform: translateY(-2px);
              box-shadow: 0 8px 20px rgba(46, 143, 204, 0.3);
          }
  
  
          /* About Section */
          /* Sección "Sobre el programa" con fondo y patrón decorativo */
          .section-about {
              position: relative;
              background: #f9fdf9; /* blanco con tono verde muy sutil */
          }

          /* Patrón decorativo en la esquina */
          .section-about::after {
              content: "";
              position: absolute;
              bottom: -40px;
              right: -40px;
              width: 200px;
              height: 200px;
              background: url('/img/pattern-jaguarete.png') no-repeat;
              background-size: contain;
              opacity: 0.08;
              pointer-events: none;
          }

          .about-grid {
              display: flex;
              flex-wrap: nowrap;
              /* No permitir salto de línea */
              justify-content: center;
              align-items: stretch;
              gap: 2.2rem;
              /* Espacio moderado entre tarjetas */
              margin-top: 3rem;
              position: relative;
              z-index: 1;
          }
  
          .about-card { 
              background: white;
              padding: 1.3rem;
              border-radius: 16px;
              box-shadow: var(--shadow-soft);
              transition: 0.3s ease;
              position: relative;
              overflow: hidden;
              display: flex;
              flex-direction: column;
              align-items: center;
              text-align: center;
              min-width: 240px;
              max-width: 260px;
              flex: 1 1 0;
              margin-bottom: 0;
          }
  
          .about-card::before {
              content: '';
              position: absolute;
              top: 0;
              left: 0;
              right: 0;
              height: 6px;
              background: var( --prisma-green);
              border-top-left-radius: 16px;
              border-top-right-radius: 16px;
          }
  
          .about-card:hover {
              transform: translateY(-4px);
              box-shadow: 0 6px 16px rgba(0,0,0,0.12);
          }
          
          /* Icono dentro de la tarjeta usando colores secundarios */
          .about-card .card-icon {
              font-size: 28px;
              color: var(--prisma-green);
              margin-bottom: 10px;
          }
          
          .about-card:nth-child(1) .card-icon { color: var(--prisma-celeste); }
          .about-card:nth-child(2) .card-icon { color: var(--prisma-naranja); }
          .about-card:nth-child(3) .card-icon { color: var(--prisma-rosa); }
  
          .about-card h3 {
              font-size: 1.35rem;
              margin-bottom: 1.1rem;
          }
  
          .about-card p {
              font-size: 1.05rem;
              line-height: 1.8;
              margin-bottom: 0;
          }

          .fas.fa-paint-brush, .fas.fa-dollar-sign, .fas.fa-hands-helping, .fas.fa-users {
              color: var(--prisma-naranja);
          }

          /* Requirements Section (Quién puede postular) */
          .requirements {
              background: linear-gradient(135deg, #EAEAEA 0%, #FFFFFF 100%); 
              padding-top: 6rem;
              padding-bottom: 6rem;
              position: relative;
          }
          
          /* Patrón decorativo en la esquina usando otro color secundario */
          .requirements::before {
              content: "";
              position: absolute;
              top: -30px;
              left: -30px;
              width: 180px;
              height: 180px;
              background: var(--prisma-naranja);
              opacity: 0.05;
              border-radius: 50%;
              pointer-events: none;
          }

          .requirements h2 {
              color: var(--prisma-blue);
          }

          .requirements-grid {
              display: grid;
              grid-template-columns: repeat(3, 1fr);
              grid-template-rows: repeat(2, auto);
              gap: 2.5rem;
              margin-top: 3rem;
              position: relative;
              z-index: 1;
          }
  
          .requirement-item {
              background: white;
              padding: 20px;
              border-radius: 16px;
              box-shadow: 0 4px 10px rgba(0,0,0,0.08);
              transition: 0.3s ease;
              display: flex;
              flex-direction: column;
              align-items: center;
              text-align: center;
              min-width: 0;
              border-top: 4px solid var(--prisma-blue);
          }
  
          .requirement-item:hover {
              transform: translateY(-4px);
              box-shadow: 0 6px 16px rgba(0,0,0,0.12);
              border-top-color: var(--prisma-green);
          }
  
          .requirement-item h4 {
              font-family: 'Montserrat', sans-serif;
              margin-bottom: 0.8rem;
              font-size: 1.3rem;
              font-weight: 600;
              display: flex;
              align-items: center;
              gap: 0.6rem;
          }

          .fas.fa-home, .fas.fa-user-tie, .fas.fa-leaf, .fas.fa-file-invoice-dollar, .fas.fa-eye, .fas.fa-calendar-alt {
              color: var(--prisma-rosa);
          }

          /* Iconos con colores secundarios para más variedad */
          .requirement-item:nth-child(1) h4 svg { color: var(--prisma-celeste); font-size: 1.8rem; }
          .requirement-item:nth-child(2) h4 svg { color: var(--prisma-naranja); font-size: 1.8rem; }
          .requirement-item:nth-child(3) h4 svg { color: var(--prisma-rosa); font-size: 1.8rem; }
          .requirement-item:nth-child(4) h4 svg { color: var(--prisma-marron); font-size: 1.8rem; }
          .requirement-item:nth-child(5) h4 svg { color: var(--prisma-green); font-size: 1.8rem; }
          .requirement-item:nth-child(6) h4 svg { color: var(--prisma-light-green); font-size: 1.8rem; }
  
          .requirement-item p {
              font-size: 1.05rem;
              color: var(--text-color);
          }
  
          /* Timeline Section */
          .timeline {
              background: var(--prisma-green); /* Verde oscuro según propuesta */
              color: white;
              padding-top: 6rem;
              padding-bottom: 6rem;
              position: relative;
              overflow: hidden;
          }
          
          /* Añadir decoración con color secundario */
          .timeline::after {
              content: '';
              position: absolute;
              top: -80px;
              right: -80px;
              width: 220px;
              height: 220px;
              background: var(--prisma-rosa);
              opacity: 0.05;
              border-radius: 50%;
              pointer-events: none;
          }
  
          .timeline h2 {
              color: white;
          }
  
          .timeline-container {
              position: relative;
              margin-top: 3rem;
              padding: 0 20px;
              display: flex;
              flex-direction: column;
              align-items: center;
          }
  
          /* Línea vertical central con colores variables */
          .timeline-container::before {
              content: '';
              position: absolute;
              top: 0;
              left: 50%;
              transform: translateX(-50%);
              width: 4px;
              height: 100%;
              background: linear-gradient(to bottom, 
                  var(--prisma-yellow),
                  var(--prisma-celeste),
                  var(--prisma-naranja),
                  var(--prisma-yellow));
              border-radius: 3px;
              z-index: 0;
              opacity: 0.8;
          }
  
          .timeline-item {
              display: flex;
              width: 100%;
              max-width: 900px;
              margin-bottom: 3rem;
              position: relative;
              align-items: center;
              justify-content: flex-start;
              z-index: 1;
              min-height: 120px;
          }
  
          .timeline-date {
              /* Usar diferentes colores según la posición para variedad */
              background: var(--prisma-blue);
              color: white;
              padding: 1rem 1.5rem;
              border-radius: 12px;
              min-width: 140px;
              text-align: center;
              font-weight: bold;
              font-size: 1rem;
              box-shadow: var(--shadow-soft);
              position: absolute;
              left: 50%;
              transform: translateX(-50%);
              z-index: 2;
              top: 0;
          }
          
          /* Alternar colores en las fechas */
          .timeline-item:nth-child(odd) .timeline-date {
              background: var(--prisma-blue);
          }
          
          .timeline-item:nth-child(even) .timeline-date {
              background: var(--prisma-naranja);
          }
  
          .timeline-content {
              background: white;
              color: var(--text-color);
              padding: 1.8rem 2.2rem;
              border-radius: 18px;
              box-shadow: var(--shadow-soft);
              position: relative;
              width: 380px;
              min-height: 100px;
              z-index: 2;
              margin-top: 0;
          }
  
          /* Alternar tarjetas a izquierda y derecha */
          .timeline-item:nth-child(odd) .timeline-content {
              left: calc(50% + 40px);
              margin-left: 40px;
          }
          .timeline-item:nth-child(even) .timeline-content {
              left: auto;
              right: calc(50% + 40px);
              margin-right: 40px;
          }
          .timeline-item .timeline-content {
              position: absolute;
              top: 0;
          }
  
          .timeline-item:nth-child(odd) .timeline-content::before {
              content: '';
              position: absolute;
              left: -24px;
              top: 32px;
              width: 24px;
              height: 6px;
              background: var(--prisma-green);
              border-radius: 3px;
          }
          .timeline-item:nth-child(even) .timeline-content::before {
              content: '';
              position: absolute;
              right: -24px;
              top: 32px;
              width: 24px;
              height: 6px;
              background: var(--prisma-green);
              border-radius: 3px;
          }
  
          /* Media queries móviles movidas a assets/css/mobile.css (consolidado). Reserva: assets/css/style.css.pre-cleanup.bak */
  
          /* FAQ Section */
          .faq {
              background: var(--prisma-light-gray); /* EAEAEA según propuesta */
              padding-top: 6rem;
              padding-bottom: 6rem;
          }

          .faq h2 {
              color: var(--prisma-dark-gray);
          }

          .faq-item {
              background: white;
              border: 1px solid #EAEAEA;
              border-radius: 12px;
              padding: 0;
              margin-bottom: 10px;
              transition: 0.3s ease;
              overflow: hidden;
              box-shadow: var(--shadow-soft);
          }
  
          .faq-item:hover {
              background: #f5fdf5; /* leve verde */
              border-left: 5px solid #027333;
              transform: translateY(-3px);
          }
  
          .faq-question {
              background: white;
              color: var(--prisma-dark-gray);
              padding: 1rem 1.2rem;
              cursor: pointer;
              font-weight: 600;
              font-size: 1.1rem;
              display: flex;
              justify-content: space-between;
              align-items: center;
          }
          
          /* Línea decorativa antes de la pregunta con colores secundarios alternantes */
          .faq-question::before {
              content: "";
              display: inline-block;
              width: 44px;
              height: 6px;
              background: var(--prisma-green);
              border-radius: 6px;
              margin-right: 12px;
              vertical-align: middle;
          }
          
          /* Alternar colores secundarios en cada pregunta */
          .faq-item:nth-child(1) .faq-question::before { background: var(--prisma-green); }
          .faq-item:nth-child(2) .faq-question::before { background: var(--prisma-blue); }
          .faq-item:nth-child(3) .faq-question::before { background: var(--prisma-naranja); }
          .faq-item:nth-child(4) .faq-question::before { background: var(--prisma-celeste); }
          .faq-item:nth-child(5) .faq-question::before { background: var(--prisma-rosa); }
          .faq-item:nth-child(6) .faq-question::before { background: var(--prisma-marron); }
  
          .faq-question:hover {
              color: var(--prisma-green);
          }
  
          .faq-question::after {
              content: '+';
              font-size: 1.4rem;
              transition: transform 0.3s ease;
              margin-left: 10px;
          }
  
          .faq-question.active::after {
              content: '-';
              transform: rotate(180deg);
          }
  
          .faq-answer {
              padding: 1.2rem 1.6rem;
              display: none;
              background: var(--prisma-light-gray);
              color: var(--text-color);
              line-height: 1.7;
              font-size: 1.05rem;
              border-top: 1px dashed rgba(0,0,0,0.1);
              margin: 0 1rem;
          }
  
          .faq-answer.active {
              display: block;
          }
  
          /* Form Section */
          .form-section {
              background: var(--prisma-green); /* Verde oscuro según propuesta */
              color: white;
              text-align: center;
              padding-top: 6rem;
              padding-bottom: 6rem;
              position: relative;
              overflow: hidden;
              width: 100vw; /* ocupar todo el ancho de la ventana */
          }
          
          /* Patrones decorativos con colores secundarios */
          .form-section::before {
              content: '';
              position: absolute;
              bottom: -50px;
              left: -50px;
              width: 200px;
              height: 200px;
              background: var(--prisma-celeste);
              border-radius: 50%;
              opacity: 0.05;
              pointer-events: none;
          }
          
          .form-section::after {
              content: '';
              position: absolute;
              top: -30px;
              right: -30px;
              width: 150px;
              height: 150px;
              background: var(--prisma-naranja);
              border-radius: 50%;
              opacity: 0.05;
              pointer-events: none;
          }
  
          .form-section h2 {
              color: white;
              font-size: 3.5rem;
              /* Más grande */
          }
  
          .application-form {
              background: rgba(255, 255, 255, 0.2);
              /* Más opaco */
              backdrop-filter: blur(12px);
              /* Más blur */
              padding: 3.5rem;
              /* Más padding */
              border-radius: 25px;
              /* Más redondeado */
              margin-top: 3.5rem;
              /* Más margen */
              max-width: 750px;
              /* Más ancho */
              margin-left: auto;
              margin-right: auto;
              box-shadow: 0 25px 70px rgba(0, 0, 0, 0.3); /* keep deep form shadow */
              /* Sombra más grande */
              border: 1px solid rgba(255, 255, 255, 0.3);
              /* Borde sutil */
          }
  
          .form-group {
              margin-bottom: 2.2rem;
              /* Más margen */
              text-align: left;
          }
  
          .form-group label {
              display: block;
              margin-bottom: 0.9rem;
              /* Más margen */
              font-weight: bold;
              color: white;
              font-size: 1.2rem;
              /* Más grande */
              text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
          }
  
          .form-group input,
          .form-group textarea,
          .form-group select {
              width: 100%;
              padding: 1.1rem;
              /* Más padding */
              border: none;
              border-radius: 12px;
              /* Más redondeado */
              font-size: 1.05rem;
              border: 2px solid transparent;
              transition: all 0.3s ease;
              background-color: rgba(255, 255, 255, 0.9);
              /* Fondo más claro */
              color: var(--text-color);
          }
  
          .form-group input::placeholder,
          .form-group textarea::placeholder {
              color: #95A5A6;
              /* Color de placeholder */
          }
  
          .form-group input:focus,
          .form-group textarea:focus,
          .form-group select:focus {
              outline: none;
              border-color: var(--prisma-yellow);
              box-shadow: 0 0 15px rgba(244, 208, 63, 0.5); /* accent glow, keep */
              /* Sombra más grande */
              background-color: white;
          }
  
          .form-group textarea {
              height: 150px;
              /* Más alto */
              resize: vertical;
          }
  
          .submit-btn {
              background-color: var(--prisma-yellow); /* amarillo según propuesta */
              color: var(--prisma-green); /* verde oscuro */
              font-weight: 600;
              border-radius: 12px;
              padding: 12px 28px;
              border: none;
              font-size: 1.2rem;
              cursor: pointer;
              width: 100%;
              transition: 0.3s ease;
              text-transform: uppercase;
              letter-spacing: 1px;
              box-shadow: var(--shadow-soft);
              display: inline-flex;
              justify-content: center;
              align-items: center;
          }
  
          .submit-btn:hover {
              background-color: #E6C200; /* amarillo más oscuro */
              transform: scale(1.02) translateY(-2px);
              box-shadow: 0 12px 30px rgba(0,0,0,0.15);
          }
  
          /* Footer */
          .footer {
              background: var(--prisma-green); /* Verde oscuro según propuesta */
              color: white;
              text-align: center;
              padding: 2rem 2rem;
              font-size: 0.95rem;
              position: relative;
              overflow: hidden;
              width: 100vw; /* ocupar todo el ancho de la ventana */
          }
          
          /* Añadir un patrón decorativo con alguno de los colores secundarios */
          .footer::before {
              content: '';
              position: absolute;
              top: 0;
              left: 0;
              right: 0;
              height: 6px;
              background: linear-gradient(90deg, 
                  var(--prisma-yellow), 
                  var(--prisma-celeste), 
                  var(--prisma-naranja), 
                  var(--prisma-rosa));
              opacity: 0.8;
          }
          
          .footer a {
              color: var(--prisma-yellow);
              text-decoration: none;
              transition: color 0.3s ease;
              font-weight: 500;
          }
          
          .footer a:hover {
              color: var(--prisma-rosa);
              text-decoration: underline;
          }
          
          .footer .logos {
              display: flex;
              justify-content: center;
              flex-wrap: wrap;
              gap: 2rem;
              margin-bottom: 2rem;
          }
          
          .footer .logo-img {
              transition: transform 0.3s ease, box-shadow 0.3s ease;
          }
          
          .footer .logo-img:hover {
              transform: translateY(-5px);
              box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
          }
          
          .footer-text {
              margin-top: 1.5rem;
              font-size: 0.9rem;
              opacity: 0.9;
          }
  
          .logos {
              display: flex;
              justify-content: center;
              align-items: center;
              gap: 3.5rem;
              /* Más espacio */
              margin-bottom: 2.5rem;
              /* Más margen */
              flex-wrap: wrap;
              /* Para que se ajusten en pantallas pequeñas */
          }
  
          .logo-placeholder {
              padding: 1.2rem 2.5rem;
              /* Más padding */
              background: rgba(255, 255, 255, 0.15);
              /* Más opaco */
              border-radius: 12px;
              /* Más redondeado */
              font-weight: bold;
              border: 2px solid var(--prisma-green);
              color: rgba(255, 255, 255, 0.8);
              font-size: 1.1rem;
          }

.partners {
    /* Sección Partners / Logos aliados */
    padding: 2.5rem 1rem;
    position: relative;
 /*   background: #ffffff;  Fondo blanco limpio */
}
.partners::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    right: auto;
    width: 100vw; /* ocupar todo el ancho de la ventana */
    transform: translateX(-50%);
    height: 6px;
    background: linear-gradient(90deg, 
        var(--prisma-yellow), 
        var(--prisma-celeste), 
        var(--prisma-naranja), 
        var(--prisma-rosa));
    opacity: 0.8;
    z-index: 0;
}
.partners-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 2; /* asegurar que el contenido quede por encima del pseudoelemento */
}
.partners .logos {
    gap: 2.5rem;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap; /* por defecto en desktop mostrarlos en una fila */
}
.partners .logo-img {
    height: 72px; /* tamaño base en desktop */
    max-width: 220px;
    object-fit: contain;
    background: transparent; /* sin recuadro ni fondo */
    padding: 0; /* sin padding que simule caja */
    border-radius: 0;
    box-shadow: none; /* no mostrar sombra que sugiera caja */
    transition: transform 0.25s ease, opacity 0.25s ease;
}
.partners .logo-img:hover {
    transform: translateY(-6px) scale(1.02);
    opacity: 0.95;
}




/* Ajustes responsivos: en pantallas pequeñas apilar logos */
@media (max-width: 768px) {
    .partners .logos {
        flex-wrap: wrap;
        gap: 1rem;
        justify-content: center;
    }
    .partners .logo-img {
        height: 58px;
        max-width: 160px;
    }
}

@media (max-width: 420px) {
    .partners .logos {
        flex-direction: column;
        align-items: center;
    }
    .partners .logo-img {
        height: 48px;
        max-width: 140px;
    }
}
  

          /* Floating button removed from markup; CSS removed accordingly */


          /* Sección de llamado a la acción Google Form */
.cta-google-form {
    background:  var(--prisma-blue);
    padding: 3.5rem 2rem 3rem 2rem;
    color: var(--prisma-white);
    text-align: center;
    position: relative;
    z-index: 1;
    width: 100vw;
    margin: 0 -8px; /* Para evitar el espacio lateral por el body */
    border-radius: 0;
    box-shadow: none;
    width: 100vw; /* ocupar todo el ancho de la ventana */
}

.cta-google-form-inner {
    max-width: 520px;
    margin: 0 auto;
    background: none;
    border-radius: 32px;
    box-shadow: 0 8px 32px rgba(46, 143, 204, 0.10);
    padding: 2rem 1rem 2rem 1rem;
}

.cta-google-form p {
    color: var(--prisma-white);
    font-size: 1.25rem;
    margin-bottom: 2rem;
    font-weight: 500;
    text-shadow: 1px 1px 4px rgba(0,0,0,0.10);
}
.cta-google-form .cta-primary {
    background: linear-gradient(45deg, var(--prisma-orange), var(--prisma-red));
    color: #000;
    border: none;
    border-radius: 50px;
    font-size: 1.25rem;
    font-weight: bold;
    padding: 1.2rem 2.5rem;
    box-shadow: var(--shadow-red);
    text-transform: uppercase;
    letter-spacing: 1.2px;
    transition: all 0.3s;
    display: inline-block;
    margin-top: 1rem;
}
.cta-google-form .cta-primary:hover {
    background: linear-gradient(45deg, var(--prisma-red), var(--prisma-orange));
    transform: translateY(-4px) scale(1.04);
    box-shadow: 0 16px 40px rgba(231, 76, 60, 0.25);
}
.cta-google-form::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 8px;
    border-top-left-radius: 32px;
    border-top-right-radius: 32px;
    background: linear-gradient(90deg, var(--prisma-yellow), var(--prisma-green), var(--prisma-blue));
    opacity: 0.7;
}

.logo-img {
    height: 65px;
    max-width: 160px;
    object-fit: contain;
    background: #fff;
    padding: 6px 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
    border-radius: 8px;
}
