
body {
    font-family: 'Inter', sans-serif;
}

.title-font {
    font-family: 'Playfair Display', serif;
}

.title-underline {
    border-bottom: 3px solid #7dd3fc; 
    display: inline-block;
    padding-bottom: 4px;
}

.table-header {
    background-color: #1e3a8a; 
    color: white;
    font-weight: bold;
}

.table-row-even {
    background-color: white;
    color: black;
}

.table-row-odd {
    background-color: #bbf7d0; 
    color: black;
}

/* Estilos específicos para CV */   
.cv-subsection {
    border: 2px solid #e5e7eb;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

/* Listas no ordenadas - viñetas de color diferente */
.cv-subsection ul {
    list-style: none;
    padding-left: 0;
}

.cv-subsection ul li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.5rem;
}

.cv-subsection ul li::before {
    content: "•";
    color: #3b82f6; /* azul para viñetas */
    font-weight: bold;
    position: absolute;
    left: 0;
}

/* Listas ordenadas - números de color diferente */
.cv-subsection ol {
    list-style: none;
    counter-reset: custom-counter;
    padding-left: 0;
}

.cv-subsection ol li {
    position: relative;
    padding-left: 2rem;
    margin-bottom: 0.5rem;
    counter-increment: custom-counter;
}

.cv-subsection ol li::before {
    content: counter(custom-counter) ".";
    color: #dc2626; /* rojo para números */
    font-weight: bold;
    position: absolute;
    left: 0;
}

/* Índice de navegación */
.cv-index {
    background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
    border: 2px solid #3b82f6;
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.cv-index a {
    color: #1d4ed8;
    text-decoration: none;
    font-weight: 500;
}

.cv-index a:hover {
    color: #1e40af;
    text-decoration: underline;
}
