body {
    margin: -15px;
    font-size: 13px;
    line-height: 18px;
    color: #333;
    background-color: #FFFFFF !important;
}
#topic-header h1 {
    color: #00b189;
    font-family: 'Montserrat', Arial, Helvetica, sans-serif;
    font-weight: 800;
}

/* ==== CONTENEDORES LATERALES ==== */

/* Contenedor de tabla de contenidos (sidebar) */
#sidebar .sidebar-nav {
    box-sizing: border-box;
    padding: 20px 10px 15px 17px;
    overflow: scroll;
    background-color: #F2F2F2;
    box-shadow: none;
    border-radius: 24px;
}

/* Scrollbar personalizado para sidebar */
#sidebar .sidebar-nav::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
#sidebar .sidebar-nav::-webkit-scrollbar-thumb {
    background-color: #5e4b79;
    border-radius: 16px;
    background-clip: content-box;
    border: 4px solid transparent;
}
#sidebar .sidebar-nav::-webkit-scrollbar-track,
#sidebar .sidebar-nav::-webkit-scrollbar-corner {
    background-color: transparent;
    border: none;
    border-radius: 16px;
}

/* Caja "well" genérica */
.well {
    box-sizing: border-box;
    padding: 15px 6px 15px 15px;
    background-color: #F2F2F2;
    border: 0px transparent;
    border-radius: 24px;
    overflow: auto;
    box-shadow: inset 0 0 16px #f7f7f7, inset 0 0 42px #dfdfdf;
}

/* Sidebar nav estilo mejorado */
.well.sidebar-nav {
    background-color: #F2F2F2; /* Fondo blanco */
    color: #333333 !important; /* Texto gris oscuro, legible */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); /* Sombra sutil */
    border-radius: 8px;
    padding: 20px;
}
#topic-body table,
#topic-body table th,
#topic-body table td {
    border: none !important;
}
#topic-body a {
    color: #00b189;
    text-decoration: none;
    font-weight: 400;
    transition: text-shadow 0.45s, color 0.45s;
}

#topic-body ul,
#topic-body ol {
    list-style: disc inside;
    margin-left: 1.2em;
    padding-left: 0;
}

#topic-body a {
    position: relative;
    display: inline-block;
    color: #41d9bb;        /* Verde más suave y sutil */
    font-weight: 500;      /* Peso normal-medio, no bold */
    text-decoration: none;
    transition: color 0.3s;
    padding: 0;
}

/* Línea animada y más fina debajo del texto */
#topic-body a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0;
    height: 2px;           /* Más fina */
    background: #00b18988; /* Verde sutil, con transparencia */
    border-radius: 2px;
    transition: width 0.3s cubic-bezier(0.4,0,0.2,1);
}

/* Hover, focus y activo: un verde apenas más fuerte pero NO bold */
#topic-body a:hover,
#topic-body a:focus,
#topic-body a.active {
    color: #00b189;
    font-weight: 500;
}

#topic-body a:hover::after,
#topic-body a:focus::after,
#topic-body a.active::after {
    width: 100%;
}


/* === MENÚS Y NAVEGACIÓN === */

/* Menú lateral oculto en mobile */
.gn-icon-menu-inner.x-toggle-toc-menu {
    background-color: #F2F2F2;
    display: none !important;
    pointer-events: none;
    visibility: hidden;
}

/* Encabezados activos y hover en nav */
.navbar .brand,
.navbar .nav > li > a {
    color: #2c282a;
    font-family: 'Montserrat';
    text-shadow: none !important;
    font-weight: bold;
    transition: color 0.18s;
}

.navbar .brand:hover,
.navbar .nav > li > a:hover {
    color: #00b189 !important;
}

/* Bloquear click en el logo */
.navbar .brand {
    pointer-events: none;
    cursor: default;
}

.nav-header.nav-header-sub.active > a {
    background-color: #cccccc !important;
    color: #00b189 !important;
}

.nav-header-sub > ul > li.active > a {
    background-color: #cccccc !important;
}

.nav-header.nav-header-sub > a {
    font-weight: 700;
    color: #221e20;
    transition: color 0.35s, background-color 0.35s;
}

.nav-header.nav-header-sub > a:hover { 
    background-color: #e0e0e0 !important;
    color: #00b189 !important;
    transition: color 0.35s;
}

/* === TABLAS DE CONTENIDOS (TOC) Y SEPARADORES === */
/* General para todos los links del TOC */
#manual-toc > li > ul a {
    color: #8e8e8e;
}
#manual-toc li.divider {
    border-bottom: none;
}

#manual-toc a {
    position: relative;
    display: block;         /* Asegura que el enlace ocupe todo el ancho */
    padding-left: 24px;     /* Deja espacio para la barra a la izquierda */
    transition: background 0.2s, color 0.2s;
}

/* Fondo suave en hover */
#manual-toc a:hover,
#manual-toc a:focus {
    background-color: #00b18914 !important;
    color: #000 !important;
    text-decoration: none;
}

/* La barrita de la izquierda */
#manual-toc a:hover::before,
#manual-toc a:focus::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 4px;
    background-color: #00b189;
    border-radius: 2px;
    /* Si la altura se ve mal, ajusta top/bottom */
}

/* Si quieres la barra también en el enlace activo */
#manual-toc a.active::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 4px;
    background-color: #00b189;
    border-radius: 2px;
}

/* Active para subtítulos normales (no negrita) */
#manual-toc li > ul > li.active > a {
    color: #221e20 !important; /* Negro corporativo */
    background-color: #00b18914 !important;
    font-weight: 400;
}

/* Enlace principal: flex para barra, flecha y texto alineados */
#manual-toc li a,
#manual-toc-phone li a {
    display: flex;
    align-items: center;
    position: relative;
    padding-left: 28px; /* Suficiente para barra + flecha */
}

/* Barra activa (ajusta selector según tu lógica de activo) */
#manual-toc li a.active::before,
#manual-toc li a.selected::before,
#manual-toc li a[aria-current="page"]::before {
    content: "";
    position: absolute;
    left: 8px;
    top: 4px;
    bottom: 4px;
    width: 4px;
    background-color: #10b982; /* Tu verde */
    border-radius: 2px;
}

/* Flecha a la izquierda, bien alineada */
#manual-toc li a i.icon-chevron-down,
#manual-toc li a i.icon-chevron-right,
#manual-toc-phone li a i.icon-chevron-down,
#manual-toc-phone li a i.icon-chevron-right {
    background: none !important;
    font-style: normal;
    display: inline-block;
    width: 1.2em;
    text-align: center;
    vertical-align: middle;
    margin-right: 0.5em;     /* Espacio entre flecha y texto */
    color: #10b982 !important; /* Color consistente */
    font-size: 1.2em;
    transition: color 0.4s;
    flex-shrink: 0;
    /* Quita margin-left: auto y position: absolute */
}

/* Pseudoelementos para el símbolo (cambia el color si hace falta) */
#manual-toc li a i.icon-chevron-down::before,
#manual-toc-phone li a i.icon-chevron-down::before {
    content: 'ᐯ';
    color: #10b982;
    font-family: 'Courier New', monospace;
    font-weight: bold;
    font-size: 0.9em;
    line-height: 2;
    margin-left: 14px;
    vertical-align: middle;
}
#manual-toc li a i.icon-chevron-right::before,
#manual-toc-phone li a i.icon-chevron-right::before {
    content: 'ᐳ';
    color: #10b982;
    font-family: 'Courier New', monospace;
    font-weight: bold;
    font-size: 0.9em;
    line-height: 2;
    margin-left: 14px;
    vertical-align: middle;
}

/* Hover/active en la flecha (opcional) */
#manual-toc li a:hover i.icon-chevron-right,
#manual-toc li a:focus i.icon-chevron-right,
#manual-toc li a.active i.icon-chevron-right {
    color: #009378 !important;
}


/* Títulos en negrita (secciones principales) */
.nav-header.nav-header-sub > a {
    font-weight: 700 !important;
    color: #221e20;
    transition: color 0.35s, background-color 0.35s;
}

/* Hover solo para títulos en negrita */
#manual-toc .nav-header.nav-header-sub > a:hover {
    color: #00b189 !important; /* Verde corporativo */
    background-color: #00b18914 !important;
}

/* Active solo para títulos en negrita */
#manual-toc .nav-header.nav-header-sub.active > a {
    color: #00b189 !important;
    background-color: #00b18914 !important;
}

#manual-toc-phone > li > a {
    color: #00b189;
    font-weight: bold;
    border-radius: 24px;
}

/* === NAVBAR Y DROPDOWN === */
.navbar-inner {
    background-color: #FFFFFF !important;
    border: none !important;
    box-shadow: none !important;
}
.navbar-search .search-query {
    background: #fff !important;
    color: #221e20 !important;
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 24px !important;
    font-family: 'Montserrat', Arial, Helvetica, sans-serif !important;
    font-weight: none;
    font-size: 12px;
    padding: 3px 15px !important;
    outline: none;
    transition: box-shadow 0.35s, border 0.35s;
    width: 220px !important;
}

.navbar-search .search-query:focus {
    border: 1.5px solid #00b189 !important;
    background: #fff !important;
    color: #221e20 !important;
}

.dropdown-menu {
    background: #F2F2F2 !important;   
    border-radius: 14px !important;      
    border: none !important;
    box-shadow: 0 6px 24px rgba(44, 62, 80, 0.13), 0 1.5px 4px rgba(44, 62, 80, 0.04);
    padding: 16px 6px !important;
    min-width: 160px;
    max-width: 240px;
}

/* Ítems del dropdown, para que parezcan “botón flotante” dentro de la lista roja */
.dropdown-menu a,
.dropdown-menu button {
    display: block;
    width: 100%;
    min-width: 120px;
    max-width: 210px;
    margin: 8px auto;
    background: #fFfFfF;
    color: #221e20;
    font-family: 'Montserrat', Arial, Helvetica, sans-serif;
    font-weight: 500;
    font-size: 15px;
    border: 1.5px solid #00b189;
    border-radius: 24px;
    text-align: center;
    transition: background 0.55s, color 0.55s, border 0.55s;
    box-sizing: border-box;
    outline: none;
    cursor: pointer;
    box-shadow: none;
    padding: 8px 0;
}

.dropdown-menu a:hover,
.dropdown-menu button:hover,
.dropdown-menu a:focus,
.dropdown-menu button:focus {
    background: #00b189 !important;
    color: #FFFFFF !important;
    border: 1.5px solid #221e20;
}

.navbar .dropdown-menu:after,
.navbar .dropdown-menu:before {
    display: none !important;
    content: none !important;
}
/* Navbar botón */
.navbar .btn-navbar {
    background-color: #00b388;
    background-image: linear-gradient(to bottom, #00b388 0%, #221e20 100%);
    border: none;
    border-radius: 24px;
    color: white;
    text-shadow: 0 0 2px rgba(255,255,255,0.25);
}
.navbar .btn-navbar:hover {
    background-color: #00a378;
    background-image: linear-gradient(to bottom, #00d69c 0%, #1f1f1f 100%);
    border-color: #00b388;
    color: white;
    text-shadow: 0 0 3px rgba(255,255,255,0.3);
}
.navbar .browse {
    text-shadow: none !important;
}
.btn-primary {
    color: #fff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.13);
    background: linear-gradient(to bottom, #00b189 0%, #00705c 100%);
    border: none;
    border-radius: 24px;
    transition: background 0.2s, color 0.2s;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
    background: linear-gradient(to bottom, #009777 0%, #005844 100%);
    color: #fff;
}
.manual.home .form-search input, .manual.search .form-search input {
    width: 100%;
    font-size: 14px;
    padding: 8px;
    border-radius: 24px;
}
input:focus, textarea:focus {
    border-color: rgba(0, 177, 137, 0.8);   /* #00b189 con opacidad */
    outline: 0;
    box-shadow:
        inset 0 1px 1px rgba(0, 0, 0, 0.075),
        0 0 8px rgba(0, 177, 137, 0.6);   /* #00b189 con opacidad */
}
a {
    color: #00b189;
    text-decoration: none;
    transition: color 0.2s;
}

a:hover, a:focus {
    color: #00896c;
    text-decoration: underline;
}
#topic-header .highlight, #topic-body .highlight {
    background-color: #00b18933;
    padding: 2px;
    color: #00b189;
}

/* ==== LIMPIEZA DE INTERFAZ: OCULTAR ELEMENTOS NO DESEADOS ==== */

/* 1. Ocultar la línea vertical (divider) junto al logo/menu */
.navbar .divider-vertical {
    display: none !important;
}

/* 2. Ocultar el ícono/botón de impresión (print) */
.print-page,
.print-page-icon,
button[title="Print"],
a[title="Print"],
a[href*="print"] {
    display: none !important;
}
#footer a.powered-by,
#footer img[alt="Manula.com"],
#footer span.powered-by,
#footer .powered-by {
    display: none !important;
}
#footer {
    color: #00B388;
    text-indent: -9999px;
    position: relative;
}
#footer::before {
    /* Y aquí puedes volver a mostrar solo el copyright, por ejemplo: */
    content: "Copyright © 2025 Terragene®";
    text-indent: 0;
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    color: #00B388;
}
.main-content {
  height: 100vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; /* Importante para momentum scroll en iOS */
  overscroll-behavior: contain;
}
@media (min-width: 980px) {
    .manual .navbar-inner {
        padding: 10px;
    }
}
.fancybox-skin {
    background: #fafbfc !important;         
    border-radius: 24px !important;         
    box-shadow: 
        0 8px 48px 0 rgba(0,0,0,0.16),
        0 1.5px 4px 0 rgba(0,0,0,0.06) !important;
    transition: 
        box-shadow 0.35s cubic-bezier(0.4,0,0.2,1),
        border-radius 0.35s cubic-bezier(0.4,0,0.2,1),
        background 0.35s cubic-bezier(0.4,0,0.2,1);
    padding: 0 !important;
    overflow: visible !important;
}

.fancybox-overlay {
    background: rgba(255,255,255,0.75) !important;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    transition: background 0.35s cubic-bezier(0.4,0,0.2,1), 
                backdrop-filter 0.35s cubic-bezier(0.4,0,0.2,1);
}

.fancybox-close {
    position: absolute !important;
    z-index: 10500 !important;
    right: 18px !important;
    top: 18px !important;
    width: 36px !important;
    height: 36px !important;
    background: rgba(0,177,137,0.10) !important;
    border-radius: 50% !important;
    box-shadow: 0 1px 5px rgba(0,0,0,0.10);
    display: flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.35s cubic-bezier(0.4,0,0.2,1), 
                box-shadow 0.35s cubic-bezier(0.4,0,0.2,1);
    overflow: visible !important;
}

.fancybox-close::before {
    content: '×';
    font-size: 1.6em;
    color: #00b189;
    font-weight: 600;
    line-height: 1;
    display: block;
    transition: color 0.35s cubic-bezier(0.4,0,0.2,1), 
                transform 0.35s cubic-bezier(0.4,0,0.2,1);
    text-decoration: none;
    font-family: inherit;
}

.fancybox-close:hover {
    background: rgba(0,177,137,0.18) !important;
}
.fancybox-close:hover::before {
    color: #009067;
    transform: scale(1.18);
    text-decoration: none;
}
.fancybox-close,
.fancybox-close:focus,
.fancybox-close:active,
.fancybox-close::before,
.fancybox-close:hover::before,
a.fancybox-close {
    text-decoration: none !important;
    box-shadow: none !important;
    outline: none !important;
}
.fancybox-image {
    display: block;
    margin: 0 auto;
    border-radius: 18px !important;
    box-shadow: none !important;
    transition: border-radius 0.35s cubic-bezier(0.4,0,0.2,1);
}
.fancybox-inner, 
.fancybox-outer {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}