
  #carrusel-principal {
    margin-top: 70px;
  }

  .carousel-item {
    width: 100vw;
    overflow: hidden;
  }

  .carrusel-media {
    width: 100vw;
    height: auto;
    object-fit: cover;
    display: block;
  }

  .carousel-caption {
    background: rgba(0, 0, 0, 0.5);
    padding: 1rem 2rem;
    border-radius: 8px;
    bottom: 1.5rem;
    left: 1.5rem;
    right: 1.5rem;
    max-width: 90%;
    position: absolute;
    text-align: left;
  }

  .carousel-caption h5 {
    color: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    margin: 0;
  }

  @media (max-width: 768px) {
    .carrusel-media {
      height: auto;
    }

    .carousel-caption {
      padding: 0.75rem 1rem;
      font-size: 0.9rem;
      left: 1rem;
      right: 1rem;
    }

    .carousel-caption h5 {
      font-size: 1rem;
    }
  }

  @media (max-width: 480px) {
    .carousel-caption {
      font-size: 0.8rem;
      padding: 0.5rem 1rem;
    }

    .carousel-caption h5 {
      font-size: 0.9rem;
    }
@media (max-width: 576px) {
      .carousel-item video {
        width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
        display: block;
        margin: 0 auto;
      }
    }
  }
.carousel-item img,
.carousel-item video {
  width: 100%;
  height: 70vh; /* 70% del alto del viewport */
  object-fit: cover;
}

#elm_id_inicio_10_1 { height:80% }
#elm_id_inicio_10_2 { width:unset }
#elm_id_inicio_10_3 { height:80% }

  .compact-image {
    width: 180px;
    height: auto;
    margin: 0 auto 30px auto;
    display: block;
    object-fit: contain;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  }

  .benefits {
    text-align: left;
    margin: 0 auto 30px auto;
    max-width: 700px;
    font-size: 1.05em;
  }

  .benefits li {
    margin-bottom: 10px;
  }

  .cta {
    font-weight: bold;
    font-size: 1.1em;
  }

  .cta a {
    display: inline-block;
    margin-top: 12px;
    background-color: #ff6600;
    color: #fff;
    padding: 12px 28px;
    border-radius: 30px;
    text-decoration: none;
    transition: background-color 0.3s ease;
  }

  .cta a:hover {
    background-color: #cc5200;
  }

  @media (max-width: 768px) {
    .compact-image {
      width: 140px;
    }

    h2 {
      font-size: 1.6em;
    }
  }
.contenedorimg  {
    height: 200px;
    overflow: hidden;
    scroll-padding-top: 10px;
    background-color: #002143;
    border-radius: 1.1vh;
    position: relative;
    left: -8%;
    width: 116%;
    top: -2%;
}
.container.fade-in h1 {
    font-size: 3vh !important;
    font-weight: lighter;
}

#elm_id_card_9_1 { height: 200px;overflow: hidden;scroll-padding-top: 10px;background-color: #020e2a;border-radius: 1.1vh; }
#elm_id_card_9_2 { transform: scale(2.4); position: relative; top: 70px; }
#elm_id_card_9_3 { text-align:center; display:inline-block; height:5vh }
#elm_id_card_9_4 { font-size:initial }
#elm_id_card_9_5 { display:none }
  .compact-image {
    width: 180px;
    height: auto;
    margin: 0 auto 30px auto;
    display: block;
    object-fit: contain;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  }

  .benefits {
    text-align: left;
    margin: 0 auto 30px auto;
    max-width: 700px;
    font-size: 1.05em;
  }

  .benefits li {
    margin-bottom: 10px;
  }

  .cta {
    font-weight: bold;
    font-size: 1.1em;
  }

  .cta a {
    display: inline-block;
    margin-top: 12px;
    background-color: #ff6600;
    color: #fff;
    padding: 12px 28px;
    border-radius: 30px;
    text-decoration: none;
    transition: background-color 0.3s ease;
  }

  .cta a:hover {
    background-color: #cc5200;
  }

  @media (max-width: 768px) {
    .compact-image {
      width: 140px;
    }

    h2 {
      font-size: 1.6em;
    }
  }
.contenedorimg  {
    height: 200px;
    overflow: hidden;
    scroll-padding-top: 10px;
    background-color: #002143;
    border-radius: 1.1vh;
    position: relative;
    left: -8%;
    width: 116%;
    top: -2%;
}
.container.fade-in h1 {
    font-size: 3vh !important;
    font-weight: lighter;
}
.extra-content {
      display: none;
    }

    .extra-content.show {
      display: block;
    }

#elm_id_card_11_1 { width: height: 200px;overflow: hidden;scroll-padding-top: 10px;background-color: #001259;border-radius: 1.1vh; }
#elm_id_card_11_2 { transform: scale(2.4); position: relative; top: 15px; }
#elm_id_card_11_3 { text-align:center; display:inline-block; height:5vh }
#elm_id_card_11_4 { font-size:initial }
#elm_id_card_11_5 { display:none }
  .compact-image {
    width: 180px;
    height: auto;
    margin: 0 auto 30px auto;
    display: block;
    object-fit: contain;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  }

  .benefits {
    text-align: left;
    margin: 0 auto 30px auto;
    max-width: 700px;
    font-size: 1.05em;
  }

  .benefits li {
    margin-bottom: 10px;
  }

  .cta {
    font-weight: bold;
    font-size: 1.1em;
  }

  .cta a {
    display: inline-block;
    margin-top: 12px;
    background-color: #ff6600;
    color: #fff;
    padding: 12px 28px;
    border-radius: 30px;
    text-decoration: none;
    transition: background-color 0.3s ease;
  }

  .cta a:hover {
    background-color: #cc5200;
  }

  @media (max-width: 768px) {
    .compact-image {
      width: 140px;
    }

    h2 {
      font-size: 1.6em;
    }
  }

#elm_id_card_3_1 { height: 200px;overflow: hidden;scroll-padding-top: 10px;background-color: #021a46;border-radius: 1.1vh; }
#elm_id_card_3_2 { transform: scale(2.4); position: relative; top: 40px; }
#elm_id_card_3_3 { text-align:center; display:inline-block; height:5vh }
#elm_id_card_3_4 { font-size:initial }
#elm_id_card_3_5 { display:none }
  .compact-image {
    width: 180px;
    height: auto;
    margin: 0 auto 30px auto;
    display: block;
    object-fit: contain;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  }

  .benefits {
    text-align: left;
    margin: 0 auto 30px auto;
    max-width: 700px;
    font-size: 1.05em;
  }

  .benefits li {
    margin-bottom: 10px;
  }

  .cta {
    font-weight: bold;
    font-size: 1.1em;
  }

  .cta a {
    display: inline-block;
    margin-top: 12px;
    background-color: #ff6600;
    color: #fff;
    padding: 12px 28px;
    border-radius: 30px;
    text-decoration: none;
    transition: background-color 0.3s ease;
  }

  .cta a:hover {
    background-color: #cc5200;
  }

  @media (max-width: 768px) {
    .compact-image {
      width: 140px;
    }

    h2 {
      font-size: 1.6em;
    }
  }

#elm_id_card_5_1 { width: height: 200px;overflow: hidden;scroll-padding-top: 10px;background-color: #021422;border-radius: 1.1vh; }
#elm_id_card_5_2 { transform: scale(2.4); position: relative; top: 46px; }
#elm_id_card_5_3 { text-align:center; display:inline-block; height:5vh }
#elm_id_card_5_4 { font-size:initial }
#elm_id_card_5_5 { display:none }
  .compact-image {
    width: 180px;
    height: auto;
    margin: 0 auto 30px auto;
    display: block;
    object-fit: contain;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  }

  .benefits {
    text-align: left;
    margin: 0 auto 30px auto;
    max-width: 700px;
    font-size: 1.05em;
  }

  .benefits li {
    margin-bottom: 10px;
  }

  .cta {
    font-weight: bold;
    font-size: 1.1em;
  }

  .cta a {
    display: inline-block;
    margin-top: 12px;
    background-color: #ff6600;
    color: #fff;
    padding: 12px 28px;
    border-radius: 30px;
    text-decoration: none;
    transition: background-color 0.3s ease;
  }

  .cta a:hover {
    background-color: #cc5200;
  }

  @media (max-width: 768px) {
    .compact-image {
      width: 140px;
    }

    h2 {
      font-size: 1.6em;
    }
  }

#elm_id_card_6_1 { height: 200px;overflow: hidden;scroll-padding-top: 10px;background-color: #003a5f;border-radius: 1.1vh; }
#elm_id_card_6_2 { transform: scale(2.4); position: relative; top: 15px; }
#elm_id_card_6_3 { text-align:center; display:inline-block; height:5vh }
#elm_id_card_6_4 { font-size:initial }
#elm_id_card_6_5 { display:none }
  .compact-image {
    width: 180px;
    height: auto;
    margin: 0 auto 30px auto;
    display: block;
    object-fit: contain;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  }

  .benefits {
    text-align: left;
    margin: 0 auto 30px auto;
    max-width: 700px;
    font-size: 1.05em;
  }

  .benefits li {
    margin-bottom: 10px;
  }

  .cta {
    font-weight: bold;
    font-size: 1.1em;
  }

  .cta a {
    display: inline-block;
    margin-top: 12px;
    background-color: #ff6600;
    color: #fff;
    padding: 12px 28px;
    border-radius: 30px;
    text-decoration: none;
    transition: background-color 0.3s ease;
  }

  .cta a:hover {
    background-color: #cc5200;
  }

  @media (max-width: 768px) {
    .compact-image {
      width: 140px;
    }
  }
.extra-content {
      display: none;
    }

    .extra-content.show {
      display: block;
    }
@media (max-width: 768px) {
    .image-container-flujmarcador img {
      width: 140px;
    }
  }

#elm_id_card_8_1 { width: 200ox;height: 200px;overflow: hidden;scroll-padding-top: 10px;background-color: #003f5e;border-radius: 1.1vh; }
#elm_id_card_8_2 { transform: scale(2.4); position: relative; top: 15px; }
#elm_id_card_8_3 { text-align:center; display:inline-block; height:5vh }
#elm_id_card_8_4 { font-size:initial }
#elm_id_card_8_5 { display:none }
  .container p:first-of-type {
    padding-top: 2vh;
  }

  .compact-image {
    width: 180px;
    height: auto;
    margin: 0 auto 30px auto;
    display: block;
    object-fit: contain;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  }

  .benefits {
    text-align: left;
    margin: 0 auto 30px auto;
    max-width: 700px;
    font-size: 1.05em;
  }

  .benefits li {
    margin-bottom: 10px;
  }

  .cta {
    font-weight: bold;
    font-size: 1.1em;
  }

  .cta a {
    display: inline-block;
    margin-top: 12px;
    background-color: #ff6600;
    color: #fff;
    padding: 12px 28px;
    border-radius: 30px;
    text-decoration: none;
    transition: background-color 0.3s ease;
  }

  .cta a:hover {
    background-color: #cc5200;
  }

  @media (max-width: 768px) {
    .compact-image {
      width: 140px;
    }
  }

#elm_id_card_7_1 { height: 200px;overflow: hidden;scroll-padding-top: 10px;background-color: #00789c;border-radius: 1.1vh; }
#elm_id_card_7_2 { transform: scale(2.4); position: relative; top: 32px; }
#elm_id_card_7_3 { text-align:center; display:inline-block; height:5vh }
#elm_id_card_7_4 { font-size:initial }
#elm_id_card_7_5 { display:none }
  .container.fade-in {
    font-size: smaller;
  }

  .compact-image {
    width: 180px;
    height: auto;
    margin: 0 auto 30px auto;
    display: block;
    object-fit: contain;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  }

  .benefits {
    text-align: left;
    margin: 0 auto 30px auto;
    max-width: 700px;
    font-size: 1.05em;
  }

  .benefits li {
    margin-bottom: 10px;
  }

  .cta {
    font-weight: bold;
    font-size: 1.1em;
    text-align: center;
  }

  .cta button {
    display: inline-block;
    margin-top: 12px;
    background-color: #ff6600;
    color: #fff;
    padding: 12px 28px;
    border-radius: 30px;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
  }

  .cta button:hover {
    background-color: #cc5200;
  }

  @media (max-width: 768px) {
    .compact-image {
      width: 140px;
    }
  }

#elm_id_card_23_1 { height: 200px;overflow: hidden;scroll-padding-top: 10px;background-color: #052855;border-radius: 1.1vh; }
#elm_id_card_23_2 { transform: scale(2.4); position: relative; top: -10px; }
#elm_id_card_23_3 { text-align:center; display:inline-block; height:5vh }
#elm_id_card_23_4 { font-size:initial }
#elm_id_card_23_5 { display:none }
.contenedorvideo {
    height: 200px;
    overflow: hidden;
    background-color: #002143;
    border-radius: 1.1vh;
    position: relative;
    width: 100%;
}
.contenedorvideo video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 1.1vh;
}
    .compact-image {
        width: 180px;
        height: auto;
        margin: 0 auto 30px auto;
        display: block;
        object-fit: contain;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    }

    .benefits {
        text-align: left;
        margin: 0 auto 30px auto;
        max-width: 700px;
        font-size: 1.05em;
    }

    .benefits li {
        margin-bottom: 10px;
    }

    .cta {
        font-weight: bold;
        font-size: 1.1em;
    }

    .cta a {
        display: inline-block;
        margin-top: 12px;
        background-color: #ff6600;
        color: #fff;
        padding: 12px 28px;
        border-radius: 30px;
        text-decoration: none;
        transition: background-color 0.3s ease;
    }

    .cta a:hover {
        background-color: #cc5200;
    }

    @media (max-width: 768px) {
        .compact-image {
            width: 140px;
        }
    }

    .xcontainer #cards .container {
        height: 137vh;
    }

    .container.fade-in {
        height: 94% !important;
    }

    .contenedorimg {
        height: 200px;
        overflow: hidden;
        scroll-padding-top: 10px;
        background-color: #002143;
        border-radius: 1.1vh;
        position: relative;
        left: -8%;
        width: 116%;
        top: -2%;
    }

    .container.fade-in h1 {
        font-size: 3vh !important;
        font-weight: lighter;
    }

    .extra-content {
        display: none;
    }

    .extra-content.show {
        display: block;
    }

    .ampliar_info {
        color: #ff6600;
        cursor: pointer;
        font-size: small !important;
    }

    .card {
        --bs-card-spacer-y: 0rem !important;
    }

    @media (max-width: 768px) {
        .compact-image {
            transform: scale(3.8) !important;
        }
    }

#elm_id_card_1_1 { text-align:center; display:inline-block; height:5vh }
#elm_id_card_1_2 { font-size:initial }
#elm_id_card_1_3 { display:none }
body {
    font-family: sans-serif;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.txtText {
    background-color: black;
    color: white;
}

#cabecera {
    background-color: oklch(0.53 0.13 55.66);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

#principal {
    margin-top: 60px;
}

#servicios {
    background-color: oklch(90% 0.02 50);
}

#menuResponsive {
    z-index: 1001;
}

@media (max-width: 768px) {

    #menuResponsive.show~#lenguajes,
    #menuResponsive.show~a .navbar-brand #el_logo {
        margin-left: auto;
        margin-right: 0;
        transition: margin 0.3s ease;
    }

    .navbar-brand #el_logo {
        transition: margin 0.3s ease;
    }
}

#el_logo {
    top: 1vh;
    left: 1vw;
    background: #fff2eb;
    padding: 0.5rem 1rem;
    z-index: 1000;
}

.btn-fw {
    display: inline-block;
    margin-top: 12px;
    background-color: #ff6600;
    color: #fff;
    padding: 12px 28px;
    border-radius: 5px;
    text-decoration: none;
    transition: background-color 0.3s ease;
}

.btn-fw:hover {
    background-color: #cc5200;
    color: #fff;
}

.container.fade-in {
    font-size: smaller;
    height: 90%;
}

.Centrado {
    text-align: center;
}

#exportarTodo {
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    z-index: 9999;
    background: #444;
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    cursor: pointer;
}

#flujbot-container {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 350px;
    height: 500px;
    background-color: white;
    border-radius: 15px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    font-family: "Segoe UI", sans-serif;
    z-index: 10000;
}

#flujbot-container.minimized {
    width: 60px;
    height: 60px;
    padding: 10px;
    background-color: #9f591c;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

#flujbot-container.minimized * {
    display: none;
}

#flujbot-container.minimized::after {
    content: "💬";
    font-size: 24px;
    color: white;
    display: block;
}

#flujbot-header {
    background-color: #9f591c;
    color: white;
    padding: 0.5rem 1rem;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#flujbot-toggle {
    background: none;
    border: none;
    color: white;
    font-size: 1.2rem;
    cursor: pointer;
}

#flujbot-messages {
    flex: 1;
    padding: 1rem;
    overflow-y: auto;
}

#flujbot-input {
    border-top: 1px solid #ccc;
}

#flujbot-input input {
    border: none;
    padding: 1rem;
    font-size: 1rem;
}

#flujbot-input button {
    background-color: #232;
    color: white;
    border: none;
    cursor: pointer;
}

#flujbot-messages table,
td,
th {
    border: 1px solid black;
    font-size: 0.4rem;
}

#flujbot-messages td {
    background-color: green;
    color: black;
}

#flujbot-messages th {
    background-color: yellow;
    color: black;
}

#capaZoom td,
th {
    border: 1px solid black;
    font-size: 0.4rem;
}

#capaZoom td {
    background-color: green;
    color: black;
    font-size: 1vw;
}

#capaZoom th {
    background-color: yellow;
    color: black;
    font-size: 1vh;
    text-align: center;

}

.contenido {
    width: calc(100%);
    /* ocupa el 100% del padre */
    max-width: 100%;
    /* evita que se desborde */
    box-sizing: border-box;
}

.divZoom {
    width: 100%;
    overflow: hidden;
    /* evita scroll horizontal */

}

.headerZoom {
    background-color: gray;
    width: 100%;
    display: grid;
    grid-template-columns: 90% 10%;
}

.string {
    color: #ce9178;
}

.number {
    color: #b5cea8;
}

.boolean {
    color: #569cd6;
}

.null {
    color: #569cd6;
    font-style: italic;
}

.key {
    color: #9cdcfe;
}

#cabecera {
    background-color: oklch(0.53 0.13 55.66);
}

#el_logo {
    background-color: #a35301;
}

#el_logo1 {
    background-color: #eadbd3;
    padding: 1vh;
    border-radius: 1vh;
    box-shadow: inset 2px 2px 5px rgba(0, 0, 0, 0.3),
        inset -2px -2px 5px rgba(255, 255, 255, 0.1);
}

#img_logo {
    max-height: 40px;
}

#img_logo_texto {
    font-size: xx-small;
    color: #6f6464;
}

#servicios {
    background-color: #f5f5f5;
}

/* Spinner circular */
.spinner {
    border: 4px solid #f3f3f3;
    /* gris claro */
    border-top: 4px solid #3498db;
    /* azul */
    border-radius: 50%;
    width: 20px;
    height: 20px;
    animation: spin 1s linear infinite;
    display: inline-block;
    margin-left: 8px;
    vertical-align: middle;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

#flujbot-user-input {
    resize: none;
    width: 100%;
}

.botones_promt {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 5px;
}

#editarPromt {
    position: fixed;
    top: 14%;
    left: 10%;
    background-color: white;
    border: 1px solid #888;
    border-radius: 10px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
    padding: 20px;
    width: 60vw;
    height: 84vh;
    display: flex;
    flex-direction: column;
    display: none;
    z-index: 150000;
}


#cerrarEditarPromt {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    color: #666;
}

#cerrarEditarPromt:hover {
    color: #000;
}

#areaEditarPromt {
    flex: 1;
    resize: none;
    border: none;
    outline: none;
    font-size: 16px;
    font-family: monospace;
    padding: 10px;
    box-sizing: border-box;
}

.btnEditarPromtEnviar {
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
}

#btnEnviarPromt {
    padding: 8px 16px;
    background: #232;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
}

#btnEnviarPromt:hover {
    background: #234;
}

#miSVG {
    border: 1px solid black;
    background-color: #f9f9f9;
    width: 90%;
    height: auto;
}

.etiqueta {
    font-size: 40px;
    text-anchor: middle;
    fill: black;
    user-select: none;
}

.tooltip {
    position: absolute;
    background-color: #333;
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 12px;
    z-index: 100;
    display: none;
    pointer-events: none;
}

.modal {
    display: none;
    position: fixed;
    z-index: 101;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    justify-content: center;
    align-items: center;
}

.modal-content {
    background-color: #fefefe;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    max-width: 800px;
    max-height: 90vh;
    border-radius: 10px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    position: relative;
    top: -25vh;
}

.modal-close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.modal-close:hover,
.modal-close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

.code-block {
    background-color: #2b2b2b;
    color: #f8f8f2;
    padding: 15px;
    border-radius: 5px;
    font-family: 'Courier New', Courier, monospace;
    white-space: pre-wrap;
    word-wrap: break-word;
    margin-top: 10px;
}

.copy-button {
    background-color: #4CAF50;
    color: white;
    border: none;
    padding: 10px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 12px;
    margin-top: 10px;
    cursor: pointer;
    border-radius: 5px;
}

.subproceso-svg-container {
    border: 1px solid black;
    background-color: #fff;
    overflow: auto;
    max-height: 60vh;
}

.svg-button {
    font-size: 24px;
    cursor: pointer;
    border: 1px solid #ccc;
    border-radius: 5px;
    background-color: #f0f0f0;
    padding: 5px 10px;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.contenedorvideo {
    height: 200px;
    overflow: hidden;
    background-color: #002143;
    border-radius: 1.1vh;
    position: relative;
    width: 100%;
}

.contenedorvideo video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 1.1vh;
}

/* Estilos mensajes */
#flujbot-messages {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    font-family: "Segoe UI", Arial, sans-serif;
    padding: 1rem;
}

.message {
    display: inline-block;
    max-width: 80%;
    padding: 0.75rem 1rem;
    border-radius: 1rem;
    line-height: 1.4;
    word-wrap: break-word;
    position: relative;
}

/* --- Usuario (izquierda) --- */
.message.user {
    align-self: flex-start;
    background: #ffe5cc;
    /* naranja muy claro */
    color: #333;
    border: 1px solid #ffb366;
}

/* --- Bot (derecha) --- */
.message.bot {
    align-self: flex-end;
    background: #ff8c1a;
    /* naranja fuerte */
    color: white;
    border: 1px solid #e67300;
}

/* --- Botones de edición --- */
.editar-btn {
    cursor: pointer;
    background: transparent;
    border: none;
    color: inherit;
    font-size: 0.8rem;
    margin-top: 0.3rem;
    opacity: 0.8;
}

.editar-btn:hover {
    opacity: 1;
}

/* --- Etiquetas de “Tú:” o “Flujbot:” --- */
.message strong {
    display: block;
    margin-bottom: 0.3rem;
    font-weight: bold;
    font-size: 0.9rem;
}

/* --- Texto del mensaje --- */
.msg-text {
    display: block;
    white-space: pre-wrap;
}

/* --- Spinner dentro del mensaje del bot --- */
.message.bot.loading {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    padding: 10px 14px;
}

.contenido>pre,
.txtText>pre {
    background-color: #272822;
    /* Fondo oscuro tipo editor */
    color: #f8f8f2;
    /* Texto claro */
    padding: 12px 16px;
    border-radius: 8px;
    font-family: 'JetBrains Mono', 'Consolas', 'Courier New', monospace;
    font-size: 0.9rem;
    line-height: 1.4;
    white-space: pre;
    overflow-x: auto;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
    margin: 0;
}

/* === Clases comunes a varios lenguajes === */
.string {
    color: #e6db74;
    /* Amarillo/Verde */
}

.comment {
    color: #75715e;
    /* Gris */
    font-style: italic;
}

.keyword {
    color: #f92672;
    /* Rosa/Púrpura fuerte */
}

.number {
    color: #ae81ff;
    /* Púrpura */
}

.boolean,
.null {
    color: #ae81ff;
    /* Púrpura */
}

/* === Clases específicas de JSON === */
.key {
    color: #a6e22e;
    /* Verde */
}

/* === Clases específicas de CSS === */
.class,
.id {
    color: #66d9ef;
    /* Azul claro */
}

/* === Clases específicas de Bash === */
.variable {
    color: #fd971f;
    /* Naranja */
}

.tag-bracket {
    color: #808080;
    /* Gris más oscuro para < y > */
}

.attribute {
    color: #f2ae00;
    /* Amarillo/Naranja para atributos como href, class */
}

/* === Scrollbar personalizada (opcional) === */
.contenido>pre::-webkit-scrollbar,
.txtText>pre::-webkit-scrollbar {
    height: 8px;
}

.contenido>pre::-webkit-scrollbar-thumb,
.txtText>pre::-webkit-scrollbar-thumb {
    background: #666;
    border-radius: 4px;
}

.contenido>pre::-webkit-scrollbar-thumb:hover,
.txtText>pre::-webkit-scrollbar-thumb:hover {
    background: #888;
}
