
/* Espaciado en secciones - CONSISTENTE */
section.grid-teaser,
section.news-teaser,
section.testimonial-slider {
padding-top: 60px;
padding-bottom: 40px;  /* Exactamente 1 línea de espacio entre sections */
margin-bottom: 0;
}
/* Asegurar que el último elemento de cada section no tenga margin */
section p:last-child,
section .table-responsive:last-child,
section h2:last-child,
section h3:last-child {
margin-bottom: 0 !important;
}
/* FORZAR colores según tipo de sección */
/* Secciones blancas: texto azul */
section.grid-teaser.white {
background-color: var(--color-white) !important;
}
section.grid-teaser.white,
section.grid-teaser.white p,
section.grid-teaser.white h1,
section.grid-teaser.white h2,
section.grid-teaser.white h3 {
color: var(--color-base) !important;
}
/* Secciones verdes: texto blanco */
section.news-teaser.green {
background-color: var(--color-green-medium) !important;
}
section.news-teaser.green,
section.news-teaser.green p,
section.news-teaser.green h1,
section.news-teaser.green h2,
section.news-teaser.green h3 {
color: var(--color-white) !important;
}
/* Secciones azules: texto blanco */
section.testimonial-slider.blue {
background-color: var(--color-base) !important;
}
section.testimonial-slider.blue,
section.testimonial-slider.blue p,
section.testimonial-slider.blue h1,
section.testimonial-slider.blue h2,
section.testimonial-slider.blue h3 {
color: var(--color-white) !important;
}
/* Enlaces según fondo de sección */
section.grid-teaser.white a {
color: var(--color-blue-medium) !important;
font-weight: 700 !important;
text-decoration: underline !important;
}
section.news-teaser.green a,
section.testimonial-slider.blue a {
color: var(--color-white) !important;
font-weight: 700 !important;
text-decoration: underline !important;
}
section a:hover,
section a:focus-visible {
opacity: 0.8;
}
/* Párrafos con margin-bottom */
section p {
margin-bottom: 25px;
}
section p:last-child {
margin-bottom: 0;
}
/* TABLAS EN SECCIONES BLANCAS (grid-teaser white) */
section.grid-teaser.white .table th {
background-color: var(--color-grey-e) !important;
color: var(--color-base) !important;
font-weight: bold !important;
border: 1px solid var(--color-base) !important;
padding: 40px 25px;
}
section.grid-teaser.white .table td.table-header-row {
background-color: var(--color-grey-e) !important;
color: var(--color-base) !important;
font-weight: bold !important;
border: 1px solid var(--color-base) !important;
padding: 40px 25px;
}
section.grid-teaser.white .table td {
background-color: var(--color-white) !important;
color: var(--color-base) !important;
border: 1px solid var(--color-base) !important;
padding: 25px 25px;
}
section.grid-teaser.white .table th a,
section.grid-teaser.white .table td a {
color: var(--color-base) !important;
}
section.grid-teaser.white .table,
section.grid-teaser.white .table-bordered {
border: 1px solid var(--color-base) !important;
}
section.grid-teaser.white .table-bordered th,
section.grid-teaser.white .table-bordered td {
border: 1px solid var(--color-base) !important;
}
/* TABLAS EN SECCIONES VERDES (news-teaser green) */
section.news-teaser.green .table th {
background-color: var(--color-white) !important;
color: var(--color-green-medium) !important;
font-weight: bold !important;
border: 1px solid var(--color-white) !important;
padding: 40px 25px;
}
section.news-teaser.green .table td.table-header-row {
background-color: var(--color-white) !important;
color: var(--color-green-medium) !important;
font-weight: bold !important;
border: 1px solid var(--color-white) !important;
padding: 40px 25px;
}
section.news-teaser.green .table td {
background-color: var(--color-green-medium) !important;
color: var(--color-white) !important;
border: 1px solid var(--color-white) !important;
padding: 25px 25px;
}
section.news-teaser.green .table th a,
section.news-teaser.green .table td a {
color: var(--color-white) !important;
}
section.news-teaser.green .table,
section.news-teaser.green .table-bordered {
border: 1px solid var(--color-white) !important;
}
section.news-teaser.green .table-bordered th,
section.news-teaser.green .table-bordered td {
border: 1px solid var(--color-white) !important;
}
/* TABLAS EN SECCIONES AZULES (testimonial-slider blue) */
section.testimonial-slider.blue .table th {
background-color: var(--color-white) !important;
color: var(--color-base) !important;
font-weight: bold !important;
border: 1px solid var(--color-white) !important;
padding: 40px 25px;
}
section.testimonial-slider.blue .table td.table-header-row {
background-color: var(--color-white) !important;
color: var(--color-base) !important;
font-weight: bold !important;
border: 1px solid var(--color-white) !important;
padding: 40px 25px;
}
section.testimonial-slider.blue .table td {
background-color: var(--color-base) !important;
color: var(--color-white) !important;
border: 1px solid var(--color-white) !important;
padding: 25px 25px;
}
section.testimonial-slider.blue .table th a,
section.testimonial-slider.blue .table td a {
color: var(--color-white) !important;
}
section.testimonial-slider.blue .table,
section.testimonial-slider.blue .table-bordered {
border: 1px solid var(--color-white) !important;
}
section.testimonial-slider.blue .table-bordered th,
section.testimonial-slider.blue .table-bordered td {
border: 1px solid var(--color-white) !important;
}
/* Padding común para todas las tablas */
section .table th:first-child,
section .table td.table-header-row:first-child {
padding-left: 50px;
}
section .table th:last-child,
section .table td.table-header-row:last-child {
padding-right: 50px;
}
section .table td:first-child {
padding-left: 50px;
}
section .table td:last-child {
padding-right: 50px;
}
section table tr:last-child td {
border-bottom: 0;
}
section .table th a,
section .table td a {
text-decoration: underline !important;
font-weight: 300 !important;
}
/* Responsive: ajustar padding en móviles */
@media (max-width: 768px) {
section p {
margin-bottom: 20px;
}
section.grid-teaser,
section.news-teaser,
section.testimonial-slider {
padding-top: 40px;
padding-bottom: 30px;  /* 1 línea de espacio en tablet */
}
section .table th,
section .table td,
section .table td.table-header-row {
padding: 25px 17px !important;
}
section .table th:first-child,
section .table td:first-child,
section .table td.table-header-row:first-child {
padding-left: 35px !important;
}
section .table th:last-child,
section .table td:last-child,
section .table td.table-header-row:last-child {
padding-right: 35px !important;
}
}
@media (max-width: 600px) {
section.grid-teaser,
section.news-teaser,
section.testimonial-slider {
padding-top: 30px;
padding-bottom: 25px;  /* 1 línea de espacio en móvil */
}
section .table th,
section .table td,
section .table td.table-header-row {
padding: 25px 15px !important;
}
section .table th:first-child,
section .table td:first-child,
section .table td.table-header-row:first-child {
padding-left: 30px !important;
}
section .table th:last-child,
section .table td:last-child,
section .table td.table-header-row:last-child {
padding-right: 30px !important;
}
}