        /* --- ANTI-CLS FIX PARA MATERIAL ICONS --- */
        /* Oculta la palabra escrita antes de que la fuente cargue y fija la caja a 24x24 */
        .material-icons {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 24px !important;
            height: 24px !important;
            overflow: hidden;
            font-size: 24px !important;
            line-height: 1;
            white-space: nowrap;
            word-wrap: normal;
            letter-spacing: normal;
            text-transform: none;
            vertical-align: middle;
        }
        .material-icons.small-icon {
            width: 18px !important;
            height: 18px !important;
            font-size: 18px !important;
        }

        .air-conditioning-summary {
            max-width: 980px;
            margin: 0 auto 28px;
            padding: 24px;
            border: 1px solid rgba(76, 175, 80, 0.35);
            border-radius: 16px;
            background: linear-gradient(135deg, rgba(32, 74, 50, 0.95), rgba(17, 39, 29, 0.98));
            box-shadow: 0 14px 35px rgba(0, 0, 0, 0.2);
            color: #fff;
        }
        .air-conditioning-summary .intent-label {
            margin: 0 0 8px;
            color: #a5d6a7;
            font-size: 0.85rem;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }
        .air-conditioning-summary h2 {
            margin: 0 0 12px;
            color: #fff;
            font-size: clamp(1.35rem, 3vw, 2rem);
            line-height: 1.25;
        }
        .air-conditioning-summary p {
            margin: 0 0 18px;
            color: #eef7f0;
            font-size: 1rem;
            line-height: 1.65;
        }
        .air-conditioning-benefits {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px 18px;
            margin: 0 0 22px;
            padding: 0;
            list-style: none;
        }
        .air-conditioning-benefits li {
            position: relative;
            padding-left: 26px;
            color: #fff;
            line-height: 1.45;
        }
        .air-conditioning-benefits li::before {
            content: '✓';
            position: absolute;
            left: 0;
            color: #81c784;
            font-weight: 800;
        }
        @media (max-width: 680px) {
            .air-conditioning-summary {
                margin: 0 14px 24px;
                padding: 20px 18px;
            }
            .air-conditioning-benefits {
                grid-template-columns: 1fr;
            }
        }

        /* --- ESTILO BARRA DE NOTIFICACIONES --- */
        .top-notification-bar {
            background: linear-gradient(135deg, #FFA726, #FB8C00);
            color: #ffffff;
            text-align: center;
            padding: 12px 20px;
            font-size: 15px;
            font-weight: 500;
            line-height: 1.4;
            width: 100%;
            box-sizing: border-box;
            z-index: 1200;
            position: relative;
            box-shadow: 0 2px 5px rgba(0,0,0,0.2);
        }
        .top-notification-bar p {
            margin: 0;
            padding: 0;
            display: inline-block;
        }
        .top-notification-bar a {
            color: #fff;
            text-decoration: underline;
            font-weight: bold;
        }

        /* --- ESTILOS GENERALES --- */
        @media (min-width: 769px) {
            /* Eliminado estilo antiguo paper.res_p para usar el nuevo btn-modern */
        }
        .hero-container {
            text-align: center;
            background-color: #000;
        }
        .hero-container .hero-image {
            display: inline-block;
        }
        body, input, button, select, textarea {
            font-family: 'Poppins', sans-serif;
            font-weight: 100;
            line-height: 1.6;
        }
        h1.cc-si {
            font-weight: 500;
            line-height: 1.2;
            text-align: center;
        }
        h2 {
            font-weight: 300;
            line-height: 1.3;
            margin-top: 1.2em;
            margin-bottom: 0.8em;
        }
        h3 {
            font-weight: 300;
            line-height: 1.4;
            margin-top: 1em;
            margin-bottom: 0.5em;
        }
        .breve, .intro p {
            font-weight: 100;
        }
        
        @media (max-width: 768px) {
            .cc-bot, .cc-env, .cc-env-v {
                display: block !important;
                width: calc(100% - 40px);
                margin: 10px auto !important;
                padding: 15px 0 !important;
                font-size: 16px !important;
                text-align: center !important;
                border-radius: 8px !important;
                text-decoration: none !important;
                box-shadow: 0 2px 5px rgba(0,0,0,0.2) !important;
            }
        }
        @media (prefers-color-scheme: dark) {
            .cc-bot, .cc-env, .cc-env-v {
                background-color: #1f1f1f !important;
                color: #fff !important;
                border: 1px solid #333 !important;
            }
            .cc-bot img, .cc-env img, .cc-env-v img {
                filter: brightness(0) invert(1);
            }
        }
        #main.page > h1.cc-si {
            text-align: center;
        }
        .cont {
            text-align: initial;
        }
        
        @media (max-width: 768px) {
            .intro.cc-si .breve,
            .intro.cc-si .leer {
                display: none;
            }
        }
        .foto-curso {
          border-radius: 12px;
          display: block;
          width: 100%;
          height: auto;
        }
        .cont p {
          font-family: 'Poppins', sans-serif !important;
          font-weight: 100 !important;
        }
        .cont span {
            font-family: 'Poppins', sans-serif !important;
            font-weight: 300 !important;
            font-size: 16px !important;
            font-weight: 100 !important;
        }
        .cc-bot img,
        .cc-env img,
        .cc-env-v img {
            vertical-align: middle;
            margin-right: 8px;
            display: inline-block;
            position: relative;
            top: 2px;
        }
        .h3-verde { 
           color:rgb(74, 195, 80); 
        }
        .beneficio-exclusivo-text { 
             display: none; 
             margin-top: 5px;
            padding-left: 20px;
        }
        
        .cont ul, 
        .cont ol {
          font-family: 'Poppins', sans-serif !important;
          font-weight: 100;
          padding-left: 30px !important; 
          margin-left: 5px !important;
          list-style-position: outside;
          box-sizing: border-box;
        }
        .cont li {
          margin-bottom: 5px;
        }

        /* --- NUEVOS ESTILOS PARA BOTONES MODERNOS (CTA) --- */
        .cta-group {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 20px;
            margin: 25px 0;
            flex-wrap: wrap;
        }
        .btn-modern {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 14px 30px;
            border-radius: 50px;
            font-weight: 600;
            font-size: 1rem;
            text-decoration: none;
            transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
            box-shadow: 0 4px 6px rgba(0,0,0,0.15);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            min-width: 250px;
            text-align: center;
        }
        .btn-modern:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 15px rgba(0,0,0,0.2);
            text-decoration: none;
        }
        .btn-modern i.material-icons {
            margin-right: 10px;
            font-size: 24px;
        }
        
        /* Variante Primaria (Inscripción) - Verde */
        .btn-modern.primary {
            background: linear-gradient(135deg, #4CAF50, #2E7D32);
            color: #ffffff !important;
            border: none;
        }
        .btn-modern.primary:hover {
            background: linear-gradient(135deg, #66BB6A, #388E3C);
            color: #ffffff !important;
        }

        /* Variante Secundaria (Email) - Naranja (Modificado) */
        .btn-modern.secondary {
            background: linear-gradient(135deg, #FFA726, #FB8C00); /* Naranja vibrante */
            color: #ffffff !important;
            border: none;
        }
        .btn-modern.secondary:hover {
            background: linear-gradient(135deg, #FFB74D, #F57C00); /* Naranja más claro al hover */
            color: #ffffff !important;
        }

        /* MEDIA QUERY MODIFICADA PARA UNIFICAR TAMAÑOS EN MÓVIL */
        @media (max-width: 768px) {
            .cta-group {
                flex-direction: column;
                gap: 15px;
                margin: 15px 0;
            }
            /* Esto fuerza a que TODOS los botones .btn-modern sean del ancho completo en móvil */
            .btn-modern {
                width: 100% !important;
                box-sizing: border-box;
                display: flex;
            }
        }

        /* --- ESTILOS ACORDEÓN CON BOTÓN + (Sólo Móvil) --- */
        @media (max-width: 768px) {
            .accordion-header.expandable {
                cursor: pointer;
                position: relative;
                padding-right: 30px; 
                user-select: none;
            }
            /* Ícono + */
            .accordion-header.expandable::after {
                content: '+'; 
                position: absolute;
                right: 0;
                top: 0;
                font-size: 24px;
                font-weight: 300;
                line-height: 1.4; 
                transition: transform 0.3s ease;
            }
            /* Ícono - cuando está activo */
            .accordion-header.expandable.active::after {
                content: '-'; 
            }

            /* Lógica de visualización en móvil */
            .mobile-text-short {
                display: block; 
            }
            .mobile-text-full {
                display: none; 
                animation: fadeIn 0.4s ease;
            }

            /* Cuando se activa el contenedor: */
            .accordion-content.active .mobile-text-short {
                display: none;
            }
            .accordion-content.active .mobile-text-full {
                display: block;
            }
        }

        /* --- ESTILOS ESCRITORIO (Anula Acordeón) --- */
        @media (min-width: 769px) {
            .mobile-text-short {
                display: none !important;
            }
            .mobile-text-full {
                display: block !important;
            }
            .accordion-header.expandable {
                cursor: default;
            }
        }
        
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

        /* --- ESTILOS BOTÓN STICKY WHATSAPP --- */
        .sticky-whatsapp-button {
            position: fixed;
            bottom: 25px;
            right: 25px;
            background-color: #25D366; 
            color: white;
            width: 60px;
            height: 60px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
            z-index: 1001; 
            text-decoration: none;
            transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
        }
        .sticky-whatsapp-button:hover {
            transform: scale(1.1); 
            box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
        }
        .sticky-whatsapp-button svg {
            width: 32px;
            height: 32px;
            fill: white;
        }

        /* --- ESTILOS WIDGET WEBINARIO --- */
         .webinar-widget-container {
             border: 2px solid #4CAF50; 
             background-color: #f4fdf4; 
             padding: 20px;
             margin-top: 30px; 
             margin-bottom: 20px; 
             border-radius: 8px;
             box-shadow: 0 2px 8px rgba(0,0,0,0.1);
             display: flex;
             align-items: flex-start;
             gap: 20px;
         }
         .webinar-image-column {
             flex: 0 0 220px;
         }
         .webinar-widget-image {
             width: 100%; 
             height: auto;
             display: block;
             border-radius: 6px; 
             box-shadow: 0 2px 4px rgba(0,0,0,0.1); 
         }
         .webinar-content-column {
             flex: 1;
             display: flex;
             flex-direction: column;
             align-items: flex-start;
             text-align: left;
         }
         .webinar-content-column h2 {
             color: #388E3C; 
             margin-top: 0;
             margin-bottom: 10px;
             font-weight: 500; 
             font-size: 20px;
         }
         .webinar-content-column p {
             margin-bottom: 8px;
             font-size: 15px;
             color: #333; 
         }
         .webinar-content-column p strong {
             color: #555; 
         }
         .webinar-content-column .webinar-link {
             display: inline-block;
             background-color: #FF9800; 
             color: white;
             padding: 10px 20px;
             text-decoration: none;
             border-radius: 5px;
             font-weight: bold;
             font-size: 16px;
             margin-top: 10px;
             transition: background-color 0.3s ease;
             align-self: flex-start;
         }
         .webinar-content-column .webinar-link:hover {
             background-color: #F57C00; 
         }
         .webinar-content-column .material-icons {
              vertical-align: middle;
              margin-right: 5px;
              color: #388E3C; 
         }

         @media (max-width: 768px) {
             .webinar-widget-container {
                 flex-direction: column;
                 align-items: center;
                 gap: 15px;
             }
             .webinar-image-column {
                 flex: 0 0 auto;
                 width: 80%;
                 max-width: 280px;
                 margin-bottom: 0;
             }
             .webinar-content-column {
                 align-items: center;
                 text-align: center;
             }
         }

         /* --- ESTILOS BARRA SUPERIOR CTA (MOBILE) --- */
          .mobile-cta-bar {
              display: none;
          }
          @media (max-width: 900px) {
              .mobile-cta-bar {
                  display: flex;
                  justify-content: space-around;
                  align-items: center;
                  position: sticky;
                  top: 0;
                  z-index: 1100;
                  background-color: #1a1f24;
                  padding: 8px 5px;
                  border-bottom: 2px solid #28a745;
                  box-shadow: 0 2px 10px rgba(0,0,0,0.3);
              }
              .mobile-cta-bar a, .mobile-cta-bar button {
                  display: flex;
                  flex-direction: column;
                  align-items: center;
                  justify-content: center;
                  text-decoration: none;
                  color: white;
                  font-size: 11px;
                  background: none;
                  border: none;
                  cursor: pointer;
                  min-width: 60px;
                  min-height: 48px;
              }
              .mobile-cta-bar .bot-text {
                  margin-top: 3px;
                  text-transform: uppercase;
                  font-weight: 600;
              }
              .mobile-cta-bar svg {
                  fill: white;
                  width: 24px;
                  height: 24px;
              }
              body { padding-top: 0; }
          }

         /* --- ESTILOS WIDGET MAPA --- */
          .widget.como-llegar {
              background-color: #22282e;
              padding: 18px;
              margin-top: 25px;
              border-radius: 8px;
              border: 1px solid #333b43;
              text-align: center;
          }
          .widget.como-llegar h5 {
              background-color: #333b43;
              color: #ffffff;
              padding: 9px 14px;
              margin: -18px -18px 18px -18px;
              border-top-left-radius: 8px;
              border-top-right-radius: 8px;
              font-size: 1rem;
              text-transform: uppercase;
              letter-spacing: 0.4px;
              text-align: left;
          }
          .map-wrapper {
              position: relative;
              width: 100%;
              overflow: hidden;
              padding-bottom: 56.25%; /* Ratio 16:9 */
              border-radius: 4px;
              background: #000;
          }
          .map-wrapper iframe {
              position: absolute;
              top: 0;
              left: 0;
              width: 100%;
              height: 100%;
              border: 0;
          }
          .click-to-expand-overlay {
              position: absolute;
              top: 0;
              left: 0;
              width: 100%;
              height: 100%;
              cursor: pointer;
              z-index: 10;
              background: rgba(0,0,0,0.1);
          }
          .map-expanded {
              position: fixed !important;
              top: 50px !important;
              left: 0 !important;
              width: 100% !important;
              height: calc(100% - 50px) !important;
              z-index: 9999 !important;
              padding-bottom: 0 !important;
          }
          #btn-shrink-map {
              background-color: #d32f2f;
              color: white;
              border: none;
              padding: 10px;
              border-radius: 4px;
              cursor: pointer;
              font-weight: bold;
              z-index: 10000;
          }

          /* --- NUEVOS ESTILOS PARA TARJETAS DE CURSOS MODERNAS --- */
          .cards-wrapper {
              display: flex;
              flex-wrap: wrap;
              gap: 25px;
              justify-content: center;
              margin-top: 20px;
              margin-bottom: 40px;
          }
          .course-card {
              background: #1e1e1e;
              border: 1px solid #333;
              border-radius: 12px;
              width: 100%;
              max-width: 380px;
              display: flex;
              flex-direction: column;
              overflow: hidden;
              box-shadow: 0 4px 15px rgba(0,0,0,0.2);
              transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s;
          }
          .course-card:hover {
              transform: translateY(-5px);
              box-shadow: 0 8px 25px rgba(0,0,0,0.35);
              border-color: #4CAF50;
          }
          .card-header {
              background-color: #252525;
              padding: 15px 20px;
              border-bottom: 1px solid #333;
              text-align: center;
          }
          .modality-badge {
              display: inline-block;
              background-color: #4CAF50;
              color: white;
              padding: 5px 15px;
              border-radius: 20px;
              font-size: 0.85rem;
              text-transform: uppercase;
              font-weight: 600;
              letter-spacing: 0.5px;
              margin-bottom: 8px;
          }
          .card-title {
              color: #f0f0f0;
              font-size: 1.1rem;
              font-weight: 500;
              margin: 0;
              line-height: 1.4;
          }
          .card-body {
              flex-grow: 1;
              padding: 0;
              background-color: #1e1e1e;
          }
          .date-item-row {
              padding: 15px 20px;
              border-bottom: 1px solid #2a2a2a;
              text-decoration: none;
              display: block;
              transition: background-color 0.2s;
          }
          .date-item-row:last-child {
              border-bottom: none;
          }
          .date-item-row:hover {
              background-color: #2a2a2a;
          }
          .date-info {
              display: flex;
              flex-direction: column;
              gap: 4px;
          }
          .schedule-text {
              color: #e0e0e0;
              font-size: 1rem;
              font-weight: 500;
              display: flex;
              align-items: center;
              gap: 6px;
          }
          .start-date-text {
              /* COLOR DE FECHA CORREGIDO A VERDE BRILLANTE/NEON */
              color: #00E676; 
              font-size: 1.05rem; /* Un poco mas grande */
              font-weight: 700; /* Negrita */
              display: flex;
              align-items: center;
              gap: 6px;
              margin-top: 3px;
          }
          .card-footer {
              background-color: #222;
              padding: 20px;
              border-top: 1px solid #333;
              text-align: center;
          }
          .price-container {
              margin-bottom: 15px;
          }
          .price-value {
              font-size: 1.6rem;
              color: #fff;
              font-weight: 700;
          }
          .price-label {
              color: #aaa;
              font-size: 0.9rem;
          }
          .btn-card-action {
              display: block;
              width: 100%;
              padding: 12px;
              border-radius: 6px;
              text-align: center;
              text-decoration: none;
              font-weight: 600;
              transition: all 0.2s;
              margin-top: 10px;
          }
          .btn-primary-card {
              background-color: #4CAF50;
              color: white;
              border: none;
          }
          .btn-primary-card:hover {
              background-color: #43a047;
          }
          .btn-secondary-card {
              background-color: transparent;
              border: 1px solid #4CAF50;
              color: #4CAF50;
              margin-top: 10px;
          }
          .btn-secondary-card:hover {
              background-color: rgba(76, 175, 80, 0.1);
          }
          .mp-button img {
              height: 30px;
              margin-top: 5px;
          }
