/* --- Reseteo Básico y Estilos Globales --- */
body {
    margin: 0;
    background-color: #F9FAFB; /* bg-gray-50 */
    color: #111827; /* text-gray-900 */
    font-family: 'Inter', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* --- Contenedor Principal --- */
.container {
    max-width: 48rem; /* max-w-3xl */
    margin-left: auto;
    margin-right: auto;
    padding: 1.5rem; /* py-16 px-6 */
}

p{
    text-align: justify;
}
/* --- Encabezado --- */
header {
    text-align: center;
    margin-bottom: 4rem; /* mb-16 */
}

header h1 {
    font-size: 2.25rem; /* text-4xl */
    font-weight: 700; /* font-bold */
    letter-spacing: -0.025em; /* tracking-tight */
    margin-bottom: 0.5rem; /* mb-2 */
}

header .subtitle {
    font-size: 1.125rem; /* text-lg */
    color: #6B7280; /* text-gray-500 */
}

header .date {
    font-size: 0.875rem; /* text-sm */
    color: #9CA3AF; /* text-gray-400 */
    margin-top: 0.5rem; /* mt-2 */
}

/* --- Introducción Poética --- */
.intro {
    margin-bottom: 4rem; /* mb-16 */
    text-align: center;
}

.poetic {
    font-family: 'Lora', serif;
    font-style: italic;
    font-size: 1.125rem; /* text-lg */
    color: #374151; /* text-gray-700 */
    margin: 2rem 0; /* space-y-8 (aproximado) */
}

.divider {
    width: 6rem; /* w-24 */
    height: 1px;
    background-color: #D1D5DB; /* bg-gray-300 */
    margin: 2rem auto; /* mx-auto y space-y-8 (aproximado) */
}

/* --- Dedicatoria --- */
.dedication {
    text-align: center;
    margin-bottom: 4rem; /* mb-16 */
    color: #4B5563; /* text-gray-600 */
    font-style: italic;
}

/* --- Cuerpo del Manifiesto --- */
main {
    font-size: 1.125rem; /* Equivalente a prose-lg */
    line-height: 1.75; /* leading-relaxed */
    color: #1F2937; /* text-gray-800 */
}

main h2 {
    font-size: 1.875rem; /* text-3xl */
    font-weight: 700;
    text-align: center;
    margin-bottom: 2.5rem; /* mb-10 */
    padding-bottom: 1rem; /* pb-4 */
    border-bottom: 1px solid #E5E7EB; /* border-b */
}

main p {
    margin-bottom: 1.25em;
}

.highlight {
    margin-top: 2rem; /* mt-8 */
    font-size: 1.25rem; /* text-xl */
    font-weight: 600; /* font-semibold */
    text-align: center;
    color: #111827; /* text-gray-900 */
}

/* --- Anexos --- */
.anexos {
    margin-top: 5rem; /* mt-20 */
}

.anexos h3 {
    font-size: 1.5rem; /* text-2xl */
    font-weight: 700;
    text-align: center;
    margin-bottom: 2.5rem; /* mb-10 */
    color: #1F2937;
}

.anexos-content {
    border-left: 2px solid #E5E7EB; /* border-l-2 border-gray-200 */
}

.anexos article:not(:last-child) {
    margin-bottom: 3rem; /* space-y-12 */
}

.anexos article .date {
    font-size: 0.875rem; /* text-sm */
    color: #6B7280; /* text-gray-500 */
    margin-bottom: 0.5rem; /* mb-2 */
}

.anexos article h4 {
    font-weight: 600; /* font-semibold */
    font-size: 1.125rem; /* text-lg */
    margin-bottom: 0.5rem; /* mb-2 */
}

.anexos article p {
    color: #374151; /* text-gray-700 */
    line-height: 1.625; /* leading-relaxed */
}

/* --- Tarea --- */
.task {
    margin-top: 5rem; /* mt-20 */
    text-align: center;
    background-color: #FFFFFF; /* bg-white */
    padding: 2rem; /* p-8 */
    border-radius: 0.5rem; /* rounded-lg */
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); /* shadow-sm */
}

.task h3 {
    font-size: 1.25rem; /* text-xl */
    font-weight: 700;
    margin-bottom: 1rem; /* mb-4 */
    color: #1F2937;
}

.task-questions {
    font-family: 'Lora', serif;
    font-style: italic;
    font-size: 1.125rem; /* text-lg */
    color: #4B5563; /* text-gray-600 */
}

.task-questions p:not(:last-child) {
    margin-bottom: 0.5rem; /* space-y-2 */
}


/* --- Pie de Página (Cierre) --- */
footer {
    margin-top: 5rem; /* mt-20 */
    text-align: center;
    color: #374151; /* text-gray-700 */
}

footer .signature {
    font-size: 1.125rem; /* text-lg */
    font-weight: 600; /* font-semibold */
    margin-top: 0.5rem; /* mt-2 */
    color: #1F2937; /* text-gray-800 */
}

/* --- Consejos --- */
aside {
    margin-top: 6rem; /* mt-24 */
    border-top: 1px solid #E5E7EB; /* border-t */
    padding-top: 2.5rem; /* pt-10 */
}

aside h3 {
    font-size: 1.125rem; /* text-lg */
    font-weight: 600;
    color: #374151; /* text-gray-700 */
    margin-bottom: 1rem; /* mb-4 */
}

aside ol {
    list-style-type: decimal;
    list-style-position: inside;
    color: #4B5563; /* text-gray-600 */
    padding-left: 0;
}

aside li {
    margin-bottom: 0.75rem; /* space-y-3 */
}

/* --- Estilos para pantallas medianas y grandes (Responsive) --- */
@media (min-width: 768px) {
    .container {
        padding-top: 6rem; /* md:py-24 */
        padding-bottom: 6rem;
    }

    header h1 {
        font-size: 3rem; /* md:text-5xl */
        line-height: 1;
    }

    .poetic {
        font-size: 1.25rem; /* md:text-xl */
    }
}