:root {
    --main-light-purple: #a65387;
    --main-light-pink: #f7acb0;
    --main-dark-purple: #8d246a;
    --custom-success: #0cc485;
    --custom-info: #0d6efd;
    --nes-navy: #10344a;
    --nes-teal: #1c9fb3;
    --nes-teal-dark: #178294;
    --nes-text: #5b6b78;

    /* El azul "primary" del tema pasa a ser el azul corporativo (teal),
       así la clase primary (text-primary, bg-primary, btn-primary, etc.)
       usa el color de marca en toda la web. */
    --primary: #1c9fb3;
    --primary-100: #198b9d;
    --primary-200: #178191;
    --primary-300: #157786;
    --primary--100: #20b3ca;
    --primary--200: #21bcd4;
    --primary--300: #23c7e0;
    --primary-rgba-0: rgba(28, 159, 179, 0);
    --primary-rgba-10: rgba(28, 159, 179, 0.1);
    --primary-rgba-20: rgba(28, 159, 179, 0.2);
    --primary-rgba-30: rgba(28, 159, 179, 0.3);
    --primary-rgba-40: rgba(28, 159, 179, 0.4);
    --primary-rgba-50: rgba(28, 159, 179, 0.5);
    --primary-rgba-60: rgba(28, 159, 179, 0.6);
    --primary-rgba-70: rgba(28, 159, 179, 0.7);
    --primary-rgba-80: rgba(28, 159, 179, 0.8);
    --primary-rgba-90: rgba(28, 159, 179, 0.9);
}

/* Header & Footer */
#header .header-logo img {
    object-fit: contain;
    width: 100% !important;
}

.social-icons li:hover.social-icons-tiktok a {
    background: #151719 !important;
}

/* El override del breakpoint del header se genero con PHP en head.php,
   para poder controlarlo con la constante php HEADER_MOBILE_BREAKPOINT */

/* Home · Sección "Cáncer de páncreas"    */

.nes-pancreas {
    position: relative;
    padding: 90px 0 100px;
    background-image:
        linear-gradient(rgba(255, 255, 255, .3), rgba(255, 255, 255, .3)),
        url(../../assets/imagenes/contenido/tratamiento-innovador-cancer-pancreas-innovacancer-mexico2.webp);
    background-color: #ebf3f9;
    background-position: 100% 100%;
    background-size: cover;
    background-repeat: no-repeat;
    overflow: hidden;
}

@media (min-width: 1900px) {
    .nes-pancreas {
        background-position: 0 0;
    }
}

@media (max-width: 768px) {
    .nes-pancreas {
        background-image:
            linear-gradient(rgba(255, 255, 255, .7), rgba(255, 255, 255, .7)),
            url(../../assets/imagenes/contenido/tratamiento-innovador-cancer-pancreas-innovacancer-mexico2.webp);
    }
}

.nes-pancreas>.container {
    max-width: 1300px !important;
}

.nes-pancreas::before {
    content: "Ciencia\A Innovación\A Personas\A Vida";
    white-space: pre;
    position: absolute;
    top: 42px;
    left: 42px;
    text-transform: uppercase;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 15px;
    line-height: 2;
    letter-spacing: 2px;
    color: #93aabd;
    opacity: .75;
    pointer-events: none;
}

.nes-pancreas::after {
    content: "";
    position: absolute;
    top: 166px;
    left: 44px;
    width: 34px;
    height: 3px;
    background: var(--nes-teal);
    opacity: .85;
    pointer-events: none;
}

/* Encabezado central */
.nes-pancreas-head {
    max-width: 720px;
    margin-bottom: 55px;
}

.nes-overline {
    display: block;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-weight: 600;
    font-size: 15px;
    color: var(--nes-teal);
    margin-bottom: 12px;
}

.nes-heading {
    font-family: 'Poppins', sans-serif;
    font-size: 56px;
    line-height: 1.05;
    color: var(--nes-navy);
    margin: 0 0 14px;
}

.nes-heading .nes-accent {
    color: var(--nes-teal);
}

.nes-subheading {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 25px;
    color: rgba(16, 52, 74, .68);
    margin: 0 0 18px;
}

.nes-lead {
    max-width: 640px;
    margin: 0 auto 22px;
    font-size: 17px;
    line-height: 1.7;
    color: var(--nes-text);
}

.nes-divider {
    display: block;
    width: 90px;
    height: 3px;
    margin: 0 auto;
    background: var(--nes-teal);
    border-radius: 2px;
}

/* Tarjetas */
.nes-cards {
    margin-bottom: 50px;
}

.nes-card {
    height: 100%;
    background: rgba(255, 255, 255, .97);
    border-radius: 16px;
    padding: 15px 20px;
    box-shadow: 0 18px 40px rgba(16, 52, 74, .08);
    transition: transform .25s ease, box-shadow .25s ease;
}

@media(max-width: 500px) {
    .nes-card>.row {
        flex-direction: column
    }

    .nes-card-icon img {
        max-width: 100px;
    }
}

.nes-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 50px rgba(16, 52, 74, .14);
}

.nes-card-head {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
}

.nes-card-icon {
    display: flex;
    flex: 0 0 auto;
    width: 100%;
    /* height: 64px; */
}

.nes-card-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.nes-card-title {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.25;
    text-transform: none;
    letter-spacing: 0;
    color: var(--nes-navy);
}

.nes-card-line {
    display: block;
    width: 46px;
    height: 3px;
    margin-bottom: 16px;
    background: var(--nes-teal);
    border-radius: 2px;
}

.nes-card-text {
    margin: 0;
    font-size: 15.5px;
    line-height: 1.65;
    color: var(--nes-text);
}

/* Botón */
.nes-btn-cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 19px 44px;
    border-radius: 40px;
    background: var(--nes-teal);
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    box-shadow: 0 12px 26px rgba(28, 159, 179, .30);
    transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
}

.nes-btn-cta:hover {
    background: var(--nes-teal-dark);
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(28, 159, 179, .4);
    color: #fff !important;
}

.nes-btn-cta i {
    transition: transform .25s ease;
}

.nes-btn-cta:hover i {
    transform: translateX(4px);
}

.nes-handwrite {
    position: absolute;
    right: 70px;
    bottom: 44px;
    margin: 0;
    color: #7d8c98;
    opacity: .7;
    font-size: 30px;
    line-height: 1.15;
    text-align: right;
    transform: rotate(-4deg);
    pointer-events: none;
}

@media (max-width: 991.98px) {
    .nes-pancreas {
        padding: 60px 0 70px;
    }

    .nes-heading {
        font-size: 40px;
    }

    .nes-subheading {
        font-size: 21px;
    }

    .nes-pancreas::before,
    .nes-pancreas::after,
    .nes-handwrite {
        display: none;
    }
}

.nes-values {
    background: #fff;
    padding: 46px 0;
}

.nes-value {
    text-align: center;
    padding: 12px 22px;
}

.nes-value-icon {
    display: inline-block;
    width: 72px;
    height: 72px;
    margin-bottom: 14px;
}

.nes-value-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.nes-value-title {
    margin: 0 0 6px;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 20px;
    text-transform: none;
    letter-spacing: 0;
    color: var(--nes-navy);
}

.nes-value-text {
    margin: 0;
    font-size: 14.5px;
    line-height: 1.5;
    color: var(--nes-text);
}

@media (min-width: 992px) {
    .nes-values .nes-value {
        position: relative;
    }

    .nes-values .nes-value:not(:last-child)::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        width: 1px;
        height: 90px;
        /* 👈 alto de la línea (súbelo/bájalo a gusto) */
        background: #dfe6ea;
    }
}

@media (max-width: 991.98px) {
    .nes-value {
        margin-bottom: 26px;
    }
}

/* Índice */
.nes-toc {
    background: #f6f8f9;
    border: 1px solid #e8edf0;
}

.nes-toc-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 22px;
    color: var(--nes-navy);
}

.nes-toc-toggle {
    color: var(--nes-teal);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}

.nes-toc-toggle[aria-expanded="true"] .icon-closed,
.nes-toc-toggle[aria-expanded="false"] .icon-open {
    display: none;
}

/* Contenido */
.nes-toc-item {
    margin-bottom: 4px;
}

.nes-toc-item>a {
    display: flex;
    align-items: center;
    padding: 10px 14px;
    border-radius: 8px;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 16.5px;
    color: var(--nes-navy);
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
}

.nes-toc-item>a::before {
    content: "";
    flex: 0 0 auto;
    width: 9px;
    height: 9px;
    margin-right: 12px;
    border-radius: 50%;
    background: var(--nes-teal);
}

.nes-toc-item>a:hover {
    background: rgba(28, 159, 179, .08);
    color: var(--nes-teal);
}

.nes-toc-sublist {
    margin: 2px 0 8px 34px;
}

.nes-toc-subitem>a {
    display: flex;
    align-items: center;
    padding: 7px 14px;
    border-radius: 8px;
    font-size: 15px;
    color: var(--nes-text);
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
}

.nes-toc-subitem>a::before {
    content: "";
    flex: 0 0 auto;
    width: 6px;
    height: 6px;
    margin-right: 12px;
    border-radius: 50%;
    background: rgba(28, 159, 179, .55);
}

.nes-toc-subitem>a:hover {
    background: rgba(28, 159, 179, .08);
    color: var(--nes-teal);
}

.nes-content h2 {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    text-transform: none;
    color: var(--nes-navy);
    font-size: 32px;
    line-height: 1.2;
    margin: 34px 0 14px;
}

.nes-content h3 {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    text-transform: none;
    /* color: var(--nes-teal); */
    font-size: 23px;
    line-height: 1.3;
    margin: 28px 0 12px;
}

.nes-content h4:not(.card-title) {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    text-transform: none;
    /* color: var(--nes-navy); */
    font-size: 19px;
    margin: 22px 0 10px;
}

.nes-content .nes-subhead {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    text-transform: none;
    /* color: var(--nes-teal); */
    font-size: 16.5px;
    margin: 18px 0 8px;
}

.nes-content p {
    color: var(--nes-text);
    font-size: 16px;
    line-height: 1.75;
    margin-bottom: 14px;
}

.nes-content .nes-nodos>li,
.nes-content .nes-niveles>li {
    color: var(--nes-text);
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 10px;
}

.nes-content .nes-nodos>li strong,
.nes-content .nes-niveles>li strong {
    color: var(--nes-navy);
}

/* Viñetas al inicio del texto (mismo margen izquierdo que los párrafos).
   Uso 'inside' para que la viñeta vaya dentro de la línea y no quede oculta
   cuando la lista rodea una imagen flotada. */
.nes-content .nes-niveles {
    list-style-position: inside;
    padding-left: 0;
    margin-left: 0;
}

.nes-content .nes-niveles>li {
    padding-left: 0.4em;
}

.nes-content .nes-niveles>li::marker {
    color: var(--nes-teal);
}

.nes-content figure img {
    box-shadow: 0 12px 30px rgba(16, 52, 74, .10);
}

.nes-content figcaption {
    max-width: 780px;
    margin: 10px auto 0;
    font-style: italic;
}

.accordion-nes.accordion-modern-status>.card .card-header a:not(.collapsed) {
    background-color: var(--nes-teal) !important;
    color: #fff !important;
}

/* turquesa permanente en el título cerrado (para que destaque, no solo en hover) */
.accordion-nes.accordion-modern-status>.card .card-header a.collapsed {
    color: var(--nes-teal) !important;
}

/* FAQ */
.accordion-nes-faq .card-header a {
    color: var(--nes-teal) !important;
}

.accordion-nes-faq .card-header a:hover,
.accordion-nes-faq .card-header a:not(.collapsed) {
    color: var(--nes-teal) !important;
}

/*    Call to action */
.nes-cta {
    border-radius: 10px;
    padding: 34px 40px;
}

.nes-cta .call-to-action-content h3 {
    margin-top: 0;
}

.nes-cta .nes-cta-text {
    font-size: 17px;
    color: var(--nes-text);
}

/* En móvil quitamos el padding superior/inferior del CTA */
@media (max-width: 767.98px) {
    .nes-cta {
        padding-top: 0;
        padding-bottom: 0;
    }
}

.btn-nes {
    background-color: var(--nes-teal);
    border-color: var(--nes-teal);
    color: #fff;
    box-shadow: none;
    text-decoration: none;
    transition: background-color .25s ease, border-color .25s ease;
}

.btn-nes:hover,
.btn-nes:focus,
.btn-nes:active {
    background-color: var(--nes-teal-dark);
    border-color: var(--nes-teal-dark);
    color: #fff;
    box-shadow: none;
    text-decoration: none;
}

/* ============================================================
   Figuras del contenido: clickeables (lightbox).
   El lado (izquierda/derecha) y el ancho se controlan en el HTML con las
   clases del tema (float-start / float-end) y width inline, imagen por imagen.
   ============================================================ */
.nes-content .nes-figure {
    margin-bottom: 18px;
}

.nes-content .nes-figure img {
    cursor: zoom-in;
}

/* que cada sección/acordeón empiece por debajo de una imagen flotada */
.nes-content h2,
.nes-content h3,
.nes-content h4,
.nes-content h5,
.nes-content .accordion {
    clear: both;
}

/* clearfix: contiene las imágenes flotadas dentro de su bloque de contenido,
   para que no se “salgan” cuando el contenido se divide en varios contenedores
   (p. ej. al intercalar el CTA entre secciones) */
.nes-content::after {
    content: "";
    display: block;
    clear: both;
}

/* Imagen "insertada" en el texto (float): el encabezado va JUNTO a la imagen
   flotada (no debajo). El texto que sigue rodea la imagen y continúa a lo ancho
   cuando la imagen termina. */
.nes-content .nes-flow-heading {
    clear: none;
}

/* Títulos de franja en dos tonos: el título va en negrita (peso del encabezado)
   y la parte destacada usa el color corporativo (teal), como en el slider. */
.nes-content h2 .nes-accent,
.nes-content h3 .nes-accent,
.nes-content h4 .nes-accent,
.nes-content h5 .nes-accent,
span.nes-accent {
    color: var(--nes-teal) !important;
}

/* Página de contacto: el azul corporativo (teal) en títulos, enlaces e iconos */
.nes-contacto h2 strong {
    color: var(--nes-teal);
}

.nes-contacto .text-primary {
    color: var(--nes-teal) !important;
}

.nes-contacto a {
    color: var(--nes-teal);
}

.nes-contacto a:hover,
.nes-contacto a:focus {
    color: var(--nes-teal-dark);
}

.nes-contacto .list-icons>li>[class*="fa-"] {
    color: var(--nes-teal);
}

/* Carrusel  */
.nes-post-carousel .product-thumb-info-image {
    height: 265px;
    overflow: hidden;
}

.nes-post-carousel .product-thumb-info-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nes-post-carousel .product-thumb-info-image .ratio {
    height: 100%;
}

.nes-post-carousel .product-thumb-info-image .ratio::before {
    display: none;
}

.addtocart-btn-wrapper {
    display: none;
}

.custom-carrousel-video::before{ /* Quitar overlay clickeable a videos */
    display: none !important;
}
#appointmentError,#appointmentError2{display:flex;background:#e5acae;margin-bottom:1em;padding:10px;text-align:center;clear:both}#appointmentSuccess,#appointmentSuccess2{display:flex;background:#ace5c8;margin-bottom:1em;padding:10px;text-align:center;clear:both}.errorForm,.promo_error{background-color:rgba(255,0,0,.45)}.form-wrap{display:flex}.form-wrap.promo_error{border:1px solid red}