    /* ------------------------------
       1. Estilos globales y body
       ------------------------------ */
    body {
      background-color: #1C1C1C; /* Fondo oscuro */
      margin: 0;
      padding: 0;
      font-size: 1.3rem;
      z-index: 1;
    }

    /* Contenedor principal con fondo translúcido y borde gris */
    .container {
      width: 100%;
      max-width: 1200px;
      margin: 20px auto;
      padding: 20px;
      background: rgba(255, 255, 255, 0.15);
      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.37);
      backdrop-filter: blur(10px);
      border-radius: 16px;
      border: 1px solid rgba(128, 128, 128, 0.4);
    }

    /* ------------------------------
       2. Header personalizado
       ------------------------------ */
    .header-custom {
      background-color: #0B3D91; /* Azul rey */
      color: #FFD700;           /* Dorado amarillento */
      padding: 0;               /* Ajuste de padding */
    }
    .header-custom nav ul {
      display: flex;
      justify-content: center;
      gap: 0.5rem;
      list-style: none;
      margin: 0;
      padding: 0;
    }
    .header-custom nav ul li a {
      color: #FFD700;
      font-weight: bold;
      padding: 0.5rem 1rem;
      transition: background-color 0.3s ease, color 0.3s ease;
    }
    .header-custom nav ul li a:hover {
      background-color: #FFD700;
      color: #0B3D91;
      border-radius: 4px;
    }

    /* ------------------------------
       3. Sección "features"
       ------------------------------ */
    .features {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 20px;
    }
    .feature {
      background-color: rgba(11, 61, 145, 0.2);
      border: 1px solid #FFD700;
      padding: 15px;
      border-radius: 16px;
      box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
    }
    .feature h3 {
      color: #FFD700;
    }
    .feature ul {
      padding-left: 20px;
    }
    .feature ul li {
      margin-bottom: 10px;
    }
.ck-editor__editable {
  background-color: #000 !important;
  color: #fff !important;
}

    /* ------------------------------
       4. Tablas translúcidas
       ------------------------------ */
    table {
      width: 100%;
      border-collapse: collapse;
      margin-top: 20px;
      background: rgba(255, 255, 255, 0.15);
      backdrop-filter: blur(10px);
      border-radius: 8px;
      overflow: hidden;
    }
    table th, table td {
      border: 1px solid rgba(128, 128, 128, 0.5);
      padding: 15px;
      text-align: left;
      color: #fff;
    }
    table th {
      background-color: #0B3D91;
      color: #FFD700;
    }

    /* ------------------------------
       5. Búsqueda
       ------------------------------ */
    .search-section {
      padding: 20px;
      text-align: center;
    }
    .search-section input[type="text"] {
      width: 80%;
      padding: 10px;
      border-radius: 5px;
      border: 1px solid #ccc;
    }

    /* ------------------------------
       6. Hero section y módulos
       ------------------------------ */
    .hero-section {
      padding: 1%;
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 20px;
    }
    .extra-content {
       padding: 20px;
       border-radius: 15px;
       color: white;
       position: relative;
       min-height: 600px;
       margin-top: 0px;
       background-color: transparent;
       width: 30%;
       z-index: 10;
    }
    .sidebar, .center-content {
      padding: 20px;
      border-radius: 15px;
      color: white;
      position: relative;
      min-height: 600px;
    }
    .sidebar {
      width: 30%;
      background-color: transparent;
      display: flex;
      flex-direction: column;
      gap: 5%;
      margin-top: 10vh;
    }

    /* ------------------------------
       7. "Teléfono" center-content
       ------------------------------ */
    .center-content {
      z-index: 10;
      height: 700px;
      width: 350px;              /* Mantén el ancho que gustes */
      position: sticky;          /* Se “pega” dentro del scroll de su padre */
      top: 10px;                 /* Distancia desde la parte superior al hacer scroll */
      max-height: calc(100vh - 40px); /* Ajusta para dejar algo de margen */
      overflow-y: auto;          /* Activa el scroll vertical interno */
      margin: 0 auto;
      background-color: #fff;
      border: 12px solid #000;
      border-radius: 40px;
      box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
      overflow: hidden; /* Si quieres que el borde externo no deje salir contenido */
    }
    .center-content::before {
      content: "";
      position: absolute;
      top: -6px;
      left: 50%;
      transform: translateX(-50%);
      width: 60px;
      height: 15px;
      background: #000;
      border-radius: 0 0 20px 20px;
    }

    /* Pantalla interna */
    .phone-screen {
      width: 100%;
      height: 100%;
      background: transparent;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      box-sizing: border-box;
    }

    /* Video de fondo blur */
    #bgVideo {
      z-index: 1;
    }
    /* Video principal */
    #fgVideo {
      z-index: 2;
    }

    /* Barra lateral interna vertical */
    .phone-nav-vertical {
      position: absolute;
      right: 8px;
      top: 65%;
      transform: translateY(-35%);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 20px;
      padding: 6px;
      background: transparent;
      border-radius: 10px;
      border: 0px solid #ccc;
    }
    .phone-nav-vertical:hover {
      background: rgba(255, 255, 255, 0.4);
    }
    .phone-nav-vertical .nav-item {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 4px;
      cursor: pointer;
    }
    .phone-nav-vertical .nav-item i {
      font-size: 1.5rem;
      color: #fff;
      transition: color 0.2s;
    }
    .phone-nav-vertical .nav-item span {
      font-size: 0.7rem;
      color: #fff;
    }
    .phone-nav-vertical .nav-item:hover i {
      color: #FFD700;
    }

    /* ------------------------------
       8. Etiquetas numeradas (section-number)
       ------------------------------ */

    /* Subcontenedores en módulos 2 y 3 */
    .sidebar .sub-container, .sub-container {
      padding: 10px;
      border-radius: 10px;
      color: white;
    }
    .sub-container.header {
      width: 100%;
      font-weight: bold;
    }
    .sub-container.row {
      display: flex;
      gap: 5px;
      overflow: inherit;
    }
    .sub-container.row .column {
      width: 100%;
      min-width: 40%;
      padding: 5px;
      border-radius: 10px;
    }
   .sub-container.row.swiper-container{
       z-index:0;
   }
   .swiper-slide:not(.swiper-slide-active){
  filter: blur(90px);      /* Enfoca/desenfoca a tu gusto */
  pointer-events: none;    /* Solo los inactivos no se pueden clicar */
   }
   .swiper-button-next, .swiper-button-prev{
   top: var(--swiper-navigation-top-offset, 72%);
   }
   .swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 0px);
   }
    /* ------------------------------
       9. Sección de artículos
       ------------------------------ */
    .articlecontainer {
      font-family: Arial, sans-serif; /* Mantiene la fuente actual */
      background-color: #1C1C1C;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    }
    .articles {
      display: flex;
      margin: 50px auto;
      border-radius: 10px;
      overflow: hidden;
      box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    }
    .articlesbar {
      width: 25%;
      background-color: #2C2C2C;
      color: #ECF0F1;
      padding: 20px;
    }
    .articlesbar h2 {
      font-size: 1.5em;
      margin-bottom: 20px;
    }
    .articlesbar ul {
      list-style: none;
      padding: 0;
    }
    .articlesbar ul li {
      padding: 10px 0;
      cursor: pointer;
    }
    .articlesbar ul li:hover {
      text-decoration: underline;
    }
    .articles-content {
      background-color: #2C2C2C;
      padding: 20px;
      min-width: 80%;
      max-width: 80%;
    }
    .tabs {
      display: flex;
      gap: 20px;
    }
    .tab {
      flex: 1;
      padding: 10px;
      background-color: #0B3D91;
      color: white;
      text-align: center;
      border-radius: 10px;
      cursor: pointer;
    }
    .tab.active {
      background-color: #FFD700;
      color: #0B3D91;
    }
    .content-area {
      margin-top: 20px;
      background-color: #1C1C1C;
      border-radius: 10px;
      padding: 20px;
      min-width: 100%;
      box-shadow: 0 4px 8px rgba(0,0,0,0.3);
    }
    .content-area h3 {
      margin-top: 0;
      font-weight: bold;
      color: #FFD700;
    }
#postModal {
   position: fixed;
  top: 0; 
  left: 0; 
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex; /* Para centrar el contenido */
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

#postModal .modal-content {
      background: rgba(255, 255, 255, 0.15);
      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.37);
      backdrop-filter: blur(30px);  color: #FFF;
  width: 90%;
  max-width: 80vw;
  max-height: 90vh; /* Altura máxima para no desbordar la pantalla */
  margin:2% auto;     /* Centrado vertical/horizontal */
  padding: 1rem;
  border-radius: 8px;
  padding: 2rem;                /* Añadimos padding si quieres un estilo “magazine” */
  position: relative;
  overflow-y: auto; /* Permite scroll si el contenido es largo */
    scrollbar-width: none; /* Firefox */
}

/* Oculta la barra de scroll en navegadores WebKit */
#postModal .modal-content::-webkit-scrollbar {
  display: none;
}

/* Títulos e imágenes dentro del contenido */
#postModal .modal-content h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
}
#postModal .modal-content img {
  display: block;
  margin: 1rem auto;
  max-width: 100%;
  height: auto;
  border-radius: 6px;
}
#postModal .modal-content p {
  margin-bottom: 1rem;
  text-align: justify; /* Para un estilo tipo revista */
}

/* Botón de cierre */
#postModal .close {
  position: absolute;
  top: 1rem;
  right: 1.5rem;
  font-size: 2rem;
  font-weight: bold;
  color: #aaa;
  cursor: pointer;
  transition: color 0.2s;
}
#postModal .close:hover {
  color: #333;
}

    /* ------------------------------
       10. Media Queries
       ------------------------------ */
    @media (max-width: 768px) {
      .hero-section {
        flex-direction: column;
        align-items: center;
      }
      .sidebar, .center-content, .extra-content {
        width: 90%;
        margin-bottom: 20px;
        min-height: 400px;
      }
      .center-content {
        order: -1;
        position: relative;
        display: none; /* Oculto en móviles */
      }
      .sub-container.row {
        overflow: auto;
      }
      .articles-content {
        min-width: 60%;
      }
    }
    @media (orientation: landscape) and (max-width: 1023px) {
      .container {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }
