/* Primera etapa de la renovación visual. Mantiene tamaños y flujos del diseño existente. */
:root {
    --ing-azul: #163b58;
    --ing-azul-oscuro: #0c2b43;
    --ing-turquesa: #007e89;
    --ing-fondo: #edf3f6;
    --ing-borde: #d6e1e7;
}
body {
    background: var(--ing-fondo);
    color: #243a49;
    font-family: Arial, Helvetica, sans-serif;
}
#general {
    border: 1px solid var(--ing-borde);
    border-radius: 12px;
    box-shadow: 0 12px 38px rgba(17, 49, 70, .10);
}
#cabecera {
    background: #fff;
    border-bottom: 1px solid var(--ing-borde);
}
#logo img { max-width: 100%; height: auto; }
#links a:link, #links a:visited { color: var(--ing-azul); }
#links a:hover, #links a:focus-visible { color: var(--ing-turquesa); }
#menu {
    background: #f4f8fa;
    border: 1px solid var(--ing-borde);
    border-radius: 8px;
}
#menu .titulo, .titulo, .titulolink {
    background: var(--ing-azul);
    color: #fff;
}
#menu .item_menu {
    background: transparent;
    border-color: var(--ing-borde);
}
#menu .item_menu a.principal:link,
#menu .item_menu a.principal:visited {
    color: var(--ing-azul-oscuro);
}
#menu .item_menu a:hover,
#menu .item_menu a:focus-visible {
    color: var(--ing-turquesa);
}
#contenidos .noticia {
    border-bottom: 1px solid var(--ing-borde);
    padding-bottom: 1.1em;
}
#contenidos .titulo_not,
#contenidos .titulo_not a {
    color: var(--ing-azul-oscuro);
}
#contenidos img { max-width: 100%; }
.publicidad, .pub_content { border-color: var(--ing-borde); }
#pie { border-top: 1px solid var(--ing-borde); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 2px solid var(--ing-turquesa);
    outline-offset: 3px;
}
@media (max-width: 720px) {
    #general { border-radius: 0; box-shadow: none; }
    #cabecera { padding-bottom: .4em; }
}

/* Segunda etapa: legibilidad del contenido y acciones principales. */
#contenidos h1 {
    color: var(--ing-azul);
    font-size: 1.45em;
    font-weight: 700;
    line-height: 1.3;
    border-bottom: 2px solid var(--ing-turquesa);
    padding-bottom: .45em;
    margin-bottom: .8em;
}
#contenidos h2 {
    color: var(--ing-azul);
    font-size: 1.18em;
    font-weight: 600;
    line-height: 1.35;
}
#contenidos .noticia {
    box-sizing: border-box;
    font-size: .86em;
    line-height: 1.5;
    margin: .75em 0;
    padding: 1em 1.1em;
    background: #fff;
    border: 1px solid var(--ing-borde);
    border-radius: 8px;
}
#contenidos .titulo_not { font-size: 1.08em !important; line-height: 1.4; }
#contenidos .button_link {
    display: inline-block;
    background: var(--ing-azul) !important;
    color: #fff !important;
    border-radius: 6px;
    padding: .55em .9em;
    line-height: 1.35;
}
#contenidos .button_link:hover,
#contenidos .button_link:focus-visible {
    background: var(--ing-turquesa) !important;
}
@media (max-width: 720px) {
    #contenidos .noticia { padding: .8em; }
    #contenidos h1 { font-size: 1.3em; }
}

/* Propuesta visual: estructura más amplia y módulos diferenciados. */
:root {
    --ing-azul: #123854;
    --ing-azul-oscuro: #102d43;
    --ing-turquesa: #007a8a;
    --ing-fondo: #e7f0f4;
    --ing-borde: #d5e3eb;
}
body { background: linear-gradient(180deg, #d8eaf0 0, #f2f7f9 380px); }
#general {
    background: #f7fafb;
    border: 1px solid #d4e3e9;
    border-radius: 18px;
    box-shadow: 0 22px 65px rgba(13, 47, 68, .16);
}
#cabecera {
    box-sizing: border-box;
    padding: .65em 1.15em;
    background: #fff;
    border-bottom: 3px solid var(--ing-turquesa);
}
#cabecera #logo { padding: .4em .7em; }
#cabecera #links { padding: .6em .8em 0 !important; }
#imagen {
    box-sizing: border-box;
    height: 100px;
    overflow: hidden;
    background: #edf5f8;
    border-bottom: 1px solid var(--ing-borde);
}
#imagen > center {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
#imagen > center img {
    display: block;
    max-width: 100%;
    max-height: 99px;
    width: auto;
    height: auto;
}
#menu {
    box-sizing: border-box;
    background: #fff;
    border: 1px solid var(--ing-borde);
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(14, 49, 68, .06);
}
#menu .titulo,
.pub_content .titulo,
.pub_content .titulolink {
    background: var(--ing-azul);
    color: #fff;
    padding: .4em .5em;
    box-sizing: border-box;
}
#menu .item_menu { border-bottom: 1px solid #eaf0f4; padding: .35em .55em; }
#menu .item_menu a.principal { font-weight: 700; color: var(--ing-azul); }
#contenidos { box-sizing: border-box; min-height: 0; }
#contenidos h1 { font-size: 1.65em; margin-bottom: 1em; }
#contenidos .noticia { box-shadow: 0 5px 17px rgba(22, 59, 88, .055); }
.pub_content .publicidad {
    box-sizing: border-box;
    background: #fff;
    border: 1px solid var(--ing-borde);
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(14, 49, 68, .06);
    overflow: hidden;
}
#pie { background: #e7f0f4; padding: 1.2em 0; }
@media (min-width: 1100px) {
    #general { width: min(96%, 1280px) !important; }
    #menu { width: 18.9%; margin-left: 1.5%; }
    #contenidos { width: 58.2% !important; margin-left: 1.25%; margin-right: 0; padding: .15em 1em 2em; }
    .pub_content { float: right; width: 18.9%; margin-right: 1.25%; box-sizing: border-box; }
    .pub_content .publicidad { float: none !important; width: 100% !important; }
}
@media (max-width: 735px) {
    #general { border-radius: 0; }
    #cabecera { padding: .4em; }
    #contenidos { min-height: 0; }
    .pub_content { float: none; width: 100%; }
}

/* Laterales un 10 % más estrechos a partir de 1200 px; el centro recibe el espacio liberado. */
@media (min-width: 1100px) and (max-width: 1199px) {
    #menu { width: 21%; }
    #contenidos { width: 54% !important; }
    .pub_content { width: 21%; }
}

/* Paginación común de los menús públicos. */
#paginacion {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    height: auto;
    overflow: visible;
    padding: 12px 0 18px;
    font-size: 14px;
    line-height: 1.2;
}
#paginacion a,
#paginacion strong {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    min-height: 36px;
    padding: 7px 10px;
    border: 1px solid var(--ing-borde);
    border-radius: 7px;
    font-weight: 600;
    white-space: nowrap;
}
#paginacion a:link,
#paginacion a:visited {
    background: #fff;
    color: var(--ing-azul);
    text-decoration: none;
}
#paginacion a:hover,
#paginacion a:focus-visible {
    background: #eaf4f7;
    border-color: var(--ing-turquesa);
    color: var(--ing-azul-oscuro);
}
#paginacion strong {
    background: var(--ing-azul);
    border-color: var(--ing-azul);
    color: #fff;
}

/* Agenda del lateral: usa el marcado actual sin sustituir menu.php. */
#menu .item_menu:has(iframe[name="calendario_jornadas"]) {
    box-sizing: border-box;
    width: 100% !important;
    padding: 10px 8px 12px;
    background: #fff;
    font-size: 0; /* Oculta el guion de texto entre fecha y enlace. */
}
#menu iframe[name="calendario_jornadas"] {
    display: block;
    width: 200px;
    max-width: 100%;
    height: 180px;
    margin: 0 auto 10px !important;
    border: 0;
}
#menu .item_menu:has(iframe[name="calendario_jornadas"]) > br { display: none; }
#menu .item_menu:has(iframe[name="calendario_jornadas"]) > b {
    display: block;
    width: fit-content;
    margin: 10px 3px 4px;
    padding: 3px 7px;
    border-radius: 4px;
    background: #e8f2f7;
    color: var(--ing-azul-oscuro);
    font: 600 12px Arial, Helvetica, sans-serif;
}
#menu .item_menu:has(iframe[name="calendario_jornadas"]) > a:link,
#menu .item_menu:has(iframe[name="calendario_jornadas"]) > a:visited {
    display: block;
    margin: 0 3px;
    padding: 0 0 10px;
    border-bottom: 1px solid var(--ing-borde);
    color: var(--ing-azul) !important;
    font: 500 14px/1.4 Arial, Helvetica, sans-serif;
    text-decoration: none;
}
#menu .item_menu:has(iframe[name="calendario_jornadas"]) > a:hover,
#menu .item_menu:has(iframe[name="calendario_jornadas"]) > a:focus-visible {
    color: var(--ing-turquesa) !important;
    text-decoration: underline;
}
#menu .item_menu:has(iframe[name="calendario_jornadas"]) > div[align="center"] { padding: 12px 3px 4px; }
#menu .item_menu:has(iframe[name="calendario_jornadas"]) > div[align="center"] a {
    display: inline-block;
    padding: 7px 10px;
    border: 1px solid var(--ing-borde);
    border-radius: 6px;
    font: 600 13px Arial, Helvetica, sans-serif;
    text-decoration: none;
}

/* Tarjetas de enlaces dentro del listado que se desplaza en bucle. */
#menu .item_menu:has(> marquee) {
    box-sizing: border-box;
    width: 100%;
    padding: 10px 8px;
    background: #f6fafc;
}
#menu .item_menu > marquee {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: 220px;
    margin: 0;
    background: transparent;
}
#menu .item_menu > marquee > .center {
    box-sizing: border-box;
    width: 100% !important;
    padding: 2px;
}
#menu .item_menu > marquee p {
    box-sizing: border-box;
    margin: 0 0 9px;
    padding: 10px 11px;
    border: 1px solid var(--ing-borde);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 2px 7px rgba(14, 49, 68, .05);
    color: #415666;
    font: 13px/1.4 Arial, Helvetica, sans-serif !important;
    overflow-wrap: anywhere;
    text-align: left;
}
#menu .item_menu > marquee p a:link,
#menu .item_menu > marquee p a:visited {
    display: block;
    margin-bottom: 5px;
    color: var(--ing-azul) !important;
    font: 600 14px/1.35 Arial, Helvetica, sans-serif;
    text-decoration: none;
}
#menu .item_menu > marquee p a:hover,
#menu .item_menu > marquee p a:focus-visible {
    color: var(--ing-turquesa) !important;
    text-decoration: underline;
}
#menu .item_menu > marquee p br { display: none; }

/* Servicios de Consultoría Energética: iconos de 75 a 90 px. */
#menu #home_prods {
    box-sizing: border-box;
    width: 100%;
    height: auto;
    margin: 8px 0 12px;
    padding: 4px;
    overflow: visible;
}
#menu #home_prods > div[align="center"] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
}
#menu #home_prods .producto {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: auto;
    min-width: 0;
    height: auto;
    float: none;
    margin: 0;
    padding: 10px 4px;
    border: 1px solid var(--ing-borde);
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 3px 10px rgba(14, 49, 68, .06);
}
#menu #home_prods .producto img {
    box-sizing: border-box;
    display: block;
    width: 90px;
    max-width: 100%;
    height: auto;
    border: 1px solid #d5e3eb !important;
    border-radius: 7px;
}
#menu #home_prods .titprod {
    margin: 8px 0 0;
    font: 600 12px/1.35 Arial, Helvetica, sans-serif;
    text-align: center;
    overflow-wrap: anywhere;
}
#menu #home_prods .titprod a:link,
#menu #home_prods .titprod a:visited {
    color: var(--ing-azul);
    text-decoration: none;
}
#menu #home_prods .titprod a:hover,
#menu #home_prods .titprod a:focus-visible {
    color: var(--ing-turquesa);
    text-decoration: underline;
}

/* Últimos catálogos: portadas un 20 % mayores, centradas. */
#menu .item_menu:has(> .catalogoshome) {
    box-sizing: border-box;
    width: 100% !important;
    padding: 8px 4px 12px;
    background: #fff;
}
#menu .item_menu:has(> .catalogoshome) > br,
#menu .item_menu:has(> .catalogoshome) > hr { display: none; }
#menu .catalogoshome {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    width: 100%;
    margin: 0;
    padding: 4px;
}
#menu .catalogoshome .catalogohome {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: auto;
    min-width: 0;
    height: auto;
    float: none;
    margin: 0;
    padding: 10px 4px;
    border: 1px solid var(--ing-borde);
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 3px 10px rgba(14, 49, 68, .06);
}
#menu .catalogoshome .catalogohome img {
    box-sizing: border-box;
    display: block;
    width: 60px;
    max-width: 100%;
    height: 83px;
    margin: 0 !important;
    border: 1px solid #d5e3eb !important;
    border-radius: 5px;
    object-fit: contain;
}
#menu .catalogoshome .catalogohome h5 {
    margin: 8px 0 0;
    padding: 0;
    font: 600 12px/1.35 Arial, Helvetica, sans-serif;
    text-align: center;
    overflow-wrap: anywhere;
}
#menu .catalogoshome .catalogohome h5 a:link,
#menu .catalogoshome .catalogohome h5 a:visited {
    color: var(--ing-azul);
    text-decoration: none;
}
#menu .catalogoshome .catalogohome h5 a:hover,
#menu .catalogoshome .catalogohome h5 a:focus-visible {
    color: var(--ing-turquesa);
    text-decoration: underline;
}
#menu .item_menu:has(> .catalogoshome) > a {
    display: inline-block;
    margin-top: 12px;
    padding: 7px 10px;
    border: 1px solid var(--ing-borde);
    border-radius: 6px;
    color: var(--ing-azul) !important;
    font: 600 13px Arial, Helvetica, sans-serif;
    text-decoration: none;
}

/* Últimas Normas: entradas PDF claras y fáciles de abrir. */
#menu .item_menu:has(> div > ul > li.pdf) {
    box-sizing: border-box;
    width: 100% !important;
    padding: 8px 7px 12px;
    background: #fff;
    text-align: left;
}
#menu .item_menu:has(> div > ul > li.pdf) > br { display: none; }
#menu .item_menu:has(> div > ul > li.pdf) > div { width: 100%; }
#menu .item_menu:has(> div > ul > li.pdf) ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
#menu .item_menu:has(> div > ul > li.pdf) li.pdf {
    box-sizing: border-box;
    min-height: 48px;
    margin: 0 0 7px;
    padding: 9px 8px 9px 36px;
    border: 1px solid var(--ing-borde);
    border-radius: 8px;
    background-color: #fff;
    background-image: url("../imgs/ico_pdf.png");
    background-repeat: no-repeat;
    background-position: 9px center;
    background-size: 20px 20px;
    box-shadow: 0 2px 8px rgba(14, 49, 68, .05);
    overflow-wrap: anywhere;
}
#menu .item_menu:has(> div > ul > li.pdf) li.pdf a:link,
#menu .item_menu:has(> div > ul > li.pdf) li.pdf a:visited {
    display: block;
    color: var(--ing-azul);
    font: 500 14px/1.4 Arial, Helvetica, sans-serif;
    text-decoration: none;
}
#menu .item_menu:has(> div > ul > li.pdf) li.pdf a:hover,
#menu .item_menu:has(> div > ul > li.pdf) li.pdf a:focus-visible {
    color: var(--ing-turquesa);
    text-decoration: underline;
}
#menu .item_menu:has(> div > ul > li.pdf) > a {
    display: table;
    margin: 10px auto 0;
    padding: 7px 10px;
    border: 1px solid var(--ing-borde);
    border-radius: 6px;
    color: var(--ing-azul) !important;
    font: 600 13px Arial, Helvetica, sans-serif;
    text-align: center;
    text-decoration: none;
}

/* Invitación a solicitar una cuenta de correo @ingenieros.es. */
#menu .item_menu:has(> h3.email) {
    box-sizing: border-box;
    width: 100% !important;
    padding: 14px 12px 16px;
    border: 1px solid var(--ing-borde);
    border-radius: 0 0 10px 10px;
    background: linear-gradient(180deg, #f0f7fb, #fff 72%);
    text-align: center;
}
#menu .item_menu:has(> h3.email) > br { display: none; }
#menu .item_menu:has(> h3.email) > img {
    box-sizing: border-box;
    display: block;
    float: none !important;
    width: 68px;
    height: auto;
    max-width: 100%;
    margin: 0 auto 10px;
    padding: 0 !important;
    border: 0;
}
#menu .item_menu h3.email {
    width: 100%;
    margin: 0 0 10px;
    color: var(--ing-azul-oscuro);
    font: 700 15px/1.35 Arial, Helvetica, sans-serif;
    text-align: center;
}
#menu .item_menu:has(> h3.email) > p {
    margin: 0;
    color: #415666;
    font: 13px/1.5 Arial, Helvetica, sans-serif;
    text-align: center;
}
#menu .item_menu:has(> h3.email) > p a[href] {
    display: inline-block;
    margin: 3px 0;
    padding: 3px 7px;
    border-radius: 5px;
    background: var(--ing-azul);
    color: #fff !important;
    font-weight: 600;
    text-decoration: none;
}
#menu .item_menu:has(> h3.email) > p a[href]:hover,
#menu .item_menu:has(> h3.email) > p a[href]:focus-visible {
    background: var(--ing-turquesa);
}
#menu .item_menu:has(> h3.email) > p a:not([href]) {
    color: var(--ing-azul) !important;
    font-weight: 700;
}

/* Calendario completo: aprovechar el ancho disponible de la columna central. */
#contenidos iframe[src$="/calendario.php"] {
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 auto 15px;
    border: 0;
}

/* Introducción a la agenda y enlace para publicar jornadas. */
#contenidos .jornadas-intro {
    box-sizing: border-box;
    margin: 0 0 18px;
    padding: 16px 18px;
    border: 1px solid var(--ing-borde);
    border-left: 4px solid var(--ing-turquesa);
    border-radius: 8px;
    background: #eaf4f7;
    color: var(--ing-azul-oscuro);
    font: 16px/1.55 Arial, Helvetica, sans-serif;
    text-align: left;
}
#contenidos .jornadas-intro a:link,
#contenidos .jornadas-intro a:visited {
    display: inline-block;
    margin-top: 5px;
    padding: 5px 9px;
    border-radius: 5px;
    background: var(--ing-azul);
    color: #fff;
    font-weight: 600;
    text-decoration: none;
}
#contenidos .jornadas-intro a:hover,
#contenidos .jornadas-intro a:focus-visible {
    background: var(--ing-turquesa);
    color: #fff;
}

/* Publicar noticia: estilo acotado a esta página; se conserva el formulario. */
#contenidos.publicar-noticia > h1 { margin-bottom: 12px !important; }
#contenidos.publicar-noticia > p:first-of-type {
    box-sizing: border-box;
    margin: 0 0 18px;
    padding: 15px 18px;
    border: 1px solid var(--ing-borde);
    border-left: 4px solid var(--ing-turquesa);
    border-radius: 8px;
    background: #eaf4f7;
    color: var(--ing-azul-oscuro);
    font: 15px/1.55 Arial, Helvetica, sans-serif;
    text-align: left !important;
}
#contenidos.publicar-noticia > form {
    box-sizing: border-box;
    width: 100%;
    padding: 20px;
    border: 1px solid var(--ing-borde);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 5px 20px rgba(14, 49, 68, .06);
}
#contenidos.publicar-noticia form > label {
    display: block;
    margin: 16px 0 6px;
    color: var(--ing-azul-oscuro);
    font: 600 14px/1.4 Arial, Helvetica, sans-serif;
}
#contenidos.publicar-noticia form > input[type="text"],
#contenidos.publicar-noticia form > input[type="email"],
#contenidos.publicar-noticia form > textarea {
    box-sizing: border-box;
    display: block;
    width: 100% !important;
    max-width: 100%;
    min-height: 43px;
    margin: 0 0 10px;
    padding: 10px 12px !important;
    border: 1px solid #c6d8e2 !important;
    border-radius: 7px !important;
    background: #fff !important;
    color: #243a49;
    font: 15px/1.4 Arial, Helvetica, sans-serif !important;
}
#contenidos.publicar-noticia form > textarea { min-height: 190px; resize: vertical; }
#contenidos.publicar-noticia form > input:focus-visible,
#contenidos.publicar-noticia form > textarea:focus-visible {
    border-color: var(--ing-turquesa) !important;
    outline: 2px solid var(--ing-turquesa);
    outline-offset: 2px;
}
#contenidos.publicar-noticia form > p {
    margin: 10px 0 14px;
    color: #415666;
    font: 13px/1.5 Arial, Helvetica, sans-serif;
    text-align: left !important;
}
#contenidos.publicar-noticia form > p:has(#txtPolitica) {
    padding: 12px 14px;
    border: 1px solid var(--ing-borde);
    border-radius: 7px;
    background: #f5f9fb;
}
#contenidos.publicar-noticia form #txtPolitica {
    display: inline-block;
    width: 18px;
    height: 18px;
    margin: 0 6px 0 0;
    padding: 0 !important;
    vertical-align: middle;
    accent-color: var(--ing-turquesa);
}
#contenidos.publicar-noticia form > input[type="file"] {
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 12px !important;
    border: 1px dashed #a7c3d1 !important;
    border-radius: 7px;
    background: #f5f9fb !important;
    color: var(--ing-azul-oscuro);
    font: 13px Arial, Helvetica, sans-serif !important;
}
#contenidos.publicar-noticia form > h3 {
    margin: 18px 0 10px !important;
    color: var(--ing-azul-oscuro);
    font: 600 16px Arial, Helvetica, sans-serif;
}
#contenidos.publicar-noticia .noticia-separador {
    height: 1px;
    margin: 18px 0;
    border: 0;
    background: var(--ing-borde);
}
#contenidos.publicar-noticia form > input[type="submit"] {
    display: inline-block;
    min-width: 130px;
    min-height: 42px;
    padding: 9px 18px !important;
    border: 1px solid var(--ing-azul) !important;
    border-radius: 7px !important;
    background: var(--ing-azul) !important;
    color: #fff !important;
    font: 600 15px Arial, Helvetica, sans-serif !important;
    cursor: pointer;
}
#contenidos.publicar-noticia form > input[type="submit"]:hover,
#contenidos.publicar-noticia form > input[type="submit"]:focus-visible {
    background: var(--ing-turquesa) !important;
    border-color: var(--ing-turquesa) !important;
}
@media (max-width: 720px) {
    #contenidos.publicar-noticia > form { padding: 14px; }
    #contenidos.publicar-noticia .g-recaptcha { max-width: 100%; }
}

/* Enlace de retorno del formulario Publicar noticia. */
#contenidos.publicar-noticia .noticias-volver:link,
#contenidos.publicar-noticia .noticias-volver:visited {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 38px;
    padding: 7px 12px;
    border: 1px solid var(--ing-borde);
    border-radius: 7px;
    background: #fff;
    color: var(--ing-azul);
    font: 600 14px Arial, Helvetica, sans-serif;
    text-decoration: none;
}
#contenidos.publicar-noticia .noticias-volver:hover,
#contenidos.publicar-noticia .noticias-volver:focus-visible {
    border-color: var(--ing-turquesa);
    background: #eaf4f7;
    color: var(--ing-azul-oscuro);
}

/* Hemeroteca: búsqueda, ayuda y resultados. */
#contenidos.hemeroteca > h1 { margin-bottom: 14px !important; }
#contenidos.hemeroteca .hemeroteca-icono {
    box-sizing: border-box;
    display: block;
    float: right;
    width: 180px;
    height: auto;
    max-width: 34%;
    margin: 0 0 16px 18px !important;
    border: 1px solid var(--ing-borde);
    border-radius: 10px;
    box-shadow: 0 5px 16px rgba(14, 49, 68, .08);
}
#contenidos.hemeroteca .hemeroteca-intro {
    box-sizing: border-box;
    min-height: 135px;
    margin: 0 0 12px;
    padding: 12px 15px;
    border-left: 4px solid var(--ing-turquesa);
    border-radius: 7px;
    background: #eaf4f7;
    color: var(--ing-azul-oscuro);
    font: 15px/1.55 Arial, Helvetica, sans-serif;
    text-align: left !important;
}
#contenidos.hemeroteca .hemeroteca-ayuda {
    clear: both;
    margin: 0 0 6px;
    color: #415666;
    font: 13px/1.45 Arial, Helvetica, sans-serif !important;
    white-space: nowrap;
    text-align: left !important;
}
#contenidos.hemeroteca > br { display: none; }
#contenidos.hemeroteca > form {
    box-sizing: border-box;
    clear: both;
    width: 100%;
    margin: 6px 0 22px;
    padding: 18px 20px;
    border: 1px solid var(--ing-borde);
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(14, 49, 68, .06);
}
#contenidos.hemeroteca form > label {
    display: block;
    float: none !important;
    margin: 12px 0 6px !important;
    color: var(--ing-azul-oscuro);
    font: 600 14px Arial, Helvetica, sans-serif;
}
#contenidos.hemeroteca form > input[type="text"] {
    box-sizing: border-box;
    display: block;
    float: none !important;
    width: 100% !important;
    max-width: 100%;
    min-height: 42px;
    margin: 0 0 11px !important;
    padding: 9px 11px !important;
    border: 1px solid #c6d8e2 !important;
    border-radius: 7px !important;
    background: #fff !important;
    color: #243a49;
    font: 15px Arial, Helvetica, sans-serif !important;
}
#contenidos.hemeroteca form > #calendar { max-width: 240px; }
#contenidos.hemeroteca form > br { display: none; }
#contenidos.hemeroteca form > input[type="submit"] {
    min-width: 120px;
    min-height: 42px;
    margin-top: 6px;
    padding: 9px 16px !important;
    border: 1px solid var(--ing-azul) !important;
    border-radius: 7px !important;
    background: var(--ing-azul) !important;
    color: #fff !important;
    font: 600 15px Arial, Helvetica, sans-serif !important;
    cursor: pointer;
}
#contenidos.hemeroteca form > input[type="submit"]:hover,
#contenidos.hemeroteca form > input[type="submit"]:focus-visible {
    background: var(--ing-turquesa) !important;
    border-color: var(--ing-turquesa) !important;
}
#contenidos.hemeroteca h3 {
    color: var(--ing-azul-oscuro);
    font-size: 16px !important;
    line-height: 1.4;
}
#contenidos.hemeroteca .oferta {
    box-sizing: border-box;
    display: block;
    margin: 10px 0;
    padding: 13px 16px;
    border: 1px solid var(--ing-borde);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 3px 11px rgba(14, 49, 68, .05);
}
#contenidos.hemeroteca .oferta > br { display: none; }
#contenidos.hemeroteca .oferta p { margin: 4px 0; font: 13px/1.4 Arial, Helvetica, sans-serif; }
#contenidos.hemeroteca .oferta p a { color: var(--ing-azul); font: 600 15px/1.4 Arial, Helvetica, sans-serif; }
#contenidos.hemeroteca .oferta p a:hover { color: var(--ing-turquesa); }
@media (max-width: 560px) {
    #contenidos.hemeroteca .hemeroteca-icono {
        float: none;
        max-width: 100%;
        margin: 0 auto 14px !important;
    }
    #contenidos.hemeroteca .hemeroteca-intro { min-height: 0; }
    #contenidos.hemeroteca .hemeroteca-ayuda { white-space: normal; }
    #contenidos.hemeroteca > form { padding: 14px; }
}

/* Segundo espacio de publicidad en el lateral derecho. */
.pub_content .publicidad-laterales {
    display: block;
    float: none !important;
    clear: both;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0;
    margin: 10px 0 0;
    padding: 10px;
    text-align: center;
    overflow: hidden;
}
.pub_content .publicidad-laterales > a {
    display: block;
    max-width: 100%;
    margin: 0 auto;
}
.pub_content .publicidad-laterales > a img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}
.pub_content .publicidad-laterales > span {
    display: block;
    margin: 5px 0 12px;
    line-height: 1.35;
}
@media (max-width: 735px) {
    .pub_content { clear: both; }
    .pub_content .publicidad-laterales { width: 100% !important; }
}

/* Enlaces: catálogo, envío y búsqueda. */
#contenidos.enlaces-listado #enlace_desc {
    display: flow-root;
    box-sizing: border-box;
    min-height: 0;
    margin: 0 0 16px;
    padding: 14px 18px;
    background: #eaf5f7;
    border: 1px solid #d1e5e9;
    border-left: 4px solid var(--ing-turquesa);
    border-radius: 12px;
    color: #263e4d;
    font: 15px/1.55 Arial, Helvetica, sans-serif;
}
#contenidos.enlaces-listado #enlace_desc h2 { margin: 0 0 3px; font-size: 19px; }
#contenidos.enlaces-listado #enlace_desc p { margin: 0 0 5px; }
#contenidos.enlaces-listado #enlace_desc p:last-child { margin-bottom: 0; }
#contenidos.enlaces-listado #enlace_desc p:empty,
#contenidos.enlaces-listado #enlace_desc br { display: none; }
#contenidos.enlaces-listado #enlace_desc .enlace-desc-cuerpo {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(145px, 205px);
    align-items: center;
    gap: 16px;
}
#contenidos.enlaces-listado #enlace_desc .enlace-desc-texto { min-width: 0; }
#contenidos.enlaces-listado #enlace_desc img {
    float: right !important;
    display: block;
    width: min(34%, 205px) !important;
    max-width: 205px !important;
    height: auto !important;
    margin: 0 0 4px 14px !important;
    object-fit: contain;
}
#contenidos.enlaces-listado #enlace_desc .enlace-desc-cuerpo > .enlace-icono {
    float: none !important;
    display: block;
    width: 205px !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    justify-self: end;
}
#contenidos.enlaces-listado .enlaces-listado-titulo,
#contenidos.buscar-enlaces .enlaces-resultados h2 {
    margin: 16px 0 12px;
    padding-bottom: 7px;
    border-bottom: 1px solid var(--ing-borde);
    font-size: 19px;
}
#contenidos.enlaces-listado .noticia,
#contenidos.buscar-enlaces .enlaces-resultados .noticia { margin: 0 0 12px; }
#contenidos.enlaces-listado .noticia br,
#contenidos.enlaces-listado > hr { display: none; }
#contenidos.enlaces-listado .noticia p,
#contenidos.buscar-enlaces .enlaces-resultados .noticia p { margin: 10px 0; }
#contenidos.enlaces-listado .noticia p:last-child { margin-bottom: 0; }
#contenidos .enlaces-vacio { padding: 14px; background: #fff; border: 1px solid var(--ing-borde); border-radius: 9px; }

#contenidos.publicar-enlace .enlace-intro,
#contenidos.buscar-enlaces .enlaces-busqueda-intro {
    box-sizing: border-box;
    margin: 0 0 14px;
    padding: 18px 20px;
    background: #eaf5f7;
    border-left: 4px solid var(--ing-turquesa);
    border-radius: 10px;
    font: 15px/1.55 Arial, Helvetica, sans-serif;
}
#contenidos.publicar-enlace .enlace-intro p { margin: 0 0 7px; }
#contenidos.publicar-enlace .enlace-intro p:last-child { margin-bottom: 0; }
#contenidos.publicar-enlace > form,
#contenidos.buscar-enlaces > form {
    box-sizing: border-box;
    width: 100%;
    padding: 20px;
    background: #fff;
    border: 1px solid var(--ing-borde);
    border-radius: 12px;
    box-shadow: 0 7px 22px rgba(15, 53, 77, .06);
}
#contenidos.publicar-enlace form > label,
#contenidos.buscar-enlaces form > label {
    display: block;
    margin: 12px 0 6px;
    font: 700 14px/1.4 Arial, Helvetica, sans-serif;
    color: var(--ing-azul-oscuro);
}
#contenidos.publicar-enlace form > input[type="text"],
#contenidos.publicar-enlace form > input[type="email"],
#contenidos.publicar-enlace form > textarea,
#contenidos.buscar-enlaces form > input[type="search"] {
    display: block;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid #cadbe3;
    border-radius: 7px;
    background: #fff;
    font: 15px/1.4 Arial, Helvetica, sans-serif;
}
#contenidos.publicar-enlace form > textarea { min-height: 115px; resize: vertical; }
#contenidos.publicar-enlace .enlace-captcha-titulo { margin: 22px 0 10px; font-size: 16px; }
#contenidos.publicar-enlace .enlace-privacidad { line-height: 1.5; }
#contenidos.publicar-enlace .enlace-privacidad label { display: inline; }
#contenidos.publicar-enlace form > input[type="submit"],
#contenidos.buscar-enlaces form > input[type="submit"] {
    display: inline-block;
    min-height: 42px;
    padding: 9px 22px;
    border: 0;
    border-radius: 7px;
    background: var(--ing-azul);
    color: white;
    font: 700 15px Arial, Helvetica, sans-serif;
    cursor: pointer;
}
#contenidos.publicar-enlace form > input[type="submit"]:hover,
#contenidos.buscar-enlaces form > input[type="submit"]:hover { background: var(--ing-turquesa); }
#contenidos.publicar-enlace .enlaces-volver { display: inline-block; padding: 8px 13px; border: 1px solid var(--ing-borde); border-radius: 7px; text-decoration: none; }
#contenidos.buscar-enlaces .enlaces-busqueda-intro { display: flex; justify-content: space-between; gap: 15px; align-items: center; }
#contenidos.buscar-enlaces .enlaces-busqueda-intro h2 { margin: 0 0 6px; font-size: 18px; }
#contenidos.buscar-enlaces .enlaces-busqueda-intro p { margin: 0; }
#contenidos.buscar-enlaces .enlaces-busqueda-icono { font-size: 48px; line-height: 1; color: var(--ing-turquesa); }
#contenidos.buscar-enlaces .enlaces-busqueda-ayuda { margin: 0 0 10px; font-size: 14px; color: #425868; }
#contenidos.buscar-enlaces form > label { margin-top: 0; }
#contenidos.buscar-enlaces form > input[type="submit"] { margin-top: 12px; }
#contenidos.buscar-enlaces .enlaces-resultados { margin-top: 22px; }
#contenidos.buscar-enlaces .enlaces-resultados-total { font-size: 14px; }
@media (max-width: 600px) {
    #contenidos.enlaces-listado #enlace_desc img { float: none !important; width: min(100%, 205px) !important; max-width: 205px !important; margin: 0 auto 8px !important; }
    #contenidos.enlaces-listado #enlace_desc .enlace-desc-cuerpo { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    #contenidos.enlaces-listado #enlace_desc .enlace-desc-cuerpo > .enlace-icono { width: min(100%, 205px) !important; justify-self: center; }
    #contenidos.publicar-enlace > form,
    #contenidos.buscar-enlaces > form { padding: 14px; }
    #contenidos.publicar-enlace .g-recaptcha { max-width: 100%; overflow: hidden; }
}

/* Jornadas: publicación y búsqueda. */
#contenidos.publicar-jornada .jornada-intro,
#contenidos.buscar-jornadas .jornadas-busqueda-intro {
    box-sizing: border-box;
    margin: 0 0 14px;
    padding: 17px 20px;
    background: #eaf5f7;
    border-left: 4px solid var(--ing-turquesa);
    border-radius: 10px;
    font: 15px/1.5 Arial, Helvetica, sans-serif;
}
#contenidos.publicar-jornada .jornada-intro p { margin: 0 0 6px; }
#contenidos.publicar-jornada .jornada-intro p:last-child { margin-bottom: 0; }
#contenidos.publicar-jornada > form,
#contenidos.buscar-jornadas .jornadas-busqueda-form {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 20px;
    background: #fff;
    border: 1px solid var(--ing-borde);
    border-radius: 12px;
    box-shadow: 0 7px 22px rgba(15, 53, 77, .06);
}
#contenidos.publicar-jornada form > label,
#contenidos.buscar-jornadas form > label {
    display: block;
    margin: 13px 0 6px;
    color: var(--ing-azul-oscuro);
    font: 700 14px/1.4 Arial, Helvetica, sans-serif;
}
#contenidos.publicar-jornada form > input[type="text"],
#contenidos.publicar-jornada form > input[type="email"],
#contenidos.publicar-jornada form > textarea,
#contenidos.buscar-jornadas form > input[type="text"] {
    display: block;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid #cadbe3;
    border-radius: 7px;
    background: #fff;
    font: 15px/1.4 Arial, Helvetica, sans-serif;
}
#contenidos.publicar-jornada form > .calendar { max-width: 250px; }
#contenidos.publicar-jornada form > textarea { min-height: 170px; resize: vertical; }
#contenidos.publicar-jornada form > input[type="file"] { display: block; box-sizing: border-box; width: 100%; max-width: 100%; margin: 0 0 10px; padding: 9px; border: 1px dashed #cadbe3; border-radius: 7px; }
#contenidos.publicar-jornada form > p { font: 14px/1.55 Arial, Helvetica, sans-serif; }
#contenidos.publicar-jornada .jornada-captcha-titulo { margin: 22px 0 10px; font-size: 16px; }
#contenidos.publicar-jornada .jornada-privacidad label { display: inline; }
#contenidos.publicar-jornada form > input[type="submit"],
#contenidos.buscar-jornadas form > input[type="submit"] {
    display: inline-block;
    min-height: 42px;
    padding: 9px 22px;
    border: 0;
    border-radius: 7px;
    background: var(--ing-azul);
    color: #fff;
    font: 700 15px Arial, Helvetica, sans-serif;
    cursor: pointer;
}
#contenidos.publicar-jornada form > input[type="submit"]:hover,
#contenidos.buscar-jornadas form > input[type="submit"]:hover { background: var(--ing-turquesa); }
#contenidos.publicar-jornada .jornadas-volver { display: inline-block; padding: 8px 13px; border: 1px solid var(--ing-borde); border-radius: 7px; text-decoration: none; }
#contenidos.buscar-jornadas .jornadas-busqueda-intro { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
#contenidos.buscar-jornadas .jornadas-busqueda-intro h2 { margin: 0 0 7px; font-size: 18px; }
#contenidos.buscar-jornadas .jornadas-busqueda-intro p { margin: 0; }
#contenidos.buscar-jornadas .jornadas-busqueda-intro img { display: block; width: 170px; height: auto; flex: 0 0 170px; object-fit: contain; }
#contenidos.buscar-jornadas .jornadas-busqueda-ayuda { margin: 0 0 10px; color: #425868; font-size: 14px; }
#contenidos.buscar-jornadas .jornadas-busqueda-form > label:first-child { margin-top: 0; }
#contenidos.buscar-jornadas .jornadas-busqueda-form > #calendar { max-width: 250px; }
#contenidos.buscar-jornadas .jornadas-busqueda-form > input[type="submit"] { display: block; margin-top: 15px; }
#contenidos.buscar-jornadas .jornadas-busqueda-cuerpo > h3 { font-size: 18px; margin: 20px 0 10px !important; }
#contenidos.buscar-jornadas .jornada-resultado { box-sizing: border-box; padding: 15px 17px; margin: 0 0 12px; background: #fff; border: 1px solid var(--ing-borde); border-radius: 10px; }
#contenidos.buscar-jornadas .jornada-resultado br,
#contenidos.buscar-jornadas .jornadas-busqueda-cuerpo > hr { display: none; }
#contenidos.buscar-jornadas .jornada-resultado > div { margin: 0 0 9px; }
#contenidos.buscar-jornadas .jornada-resultado > div:last-child { margin-bottom: 0; }
#contenidos.buscar-jornadas .jornadas-vacio { padding: 14px; background: #fff; border: 1px solid var(--ing-borde); border-radius: 9px; }
@media (max-width: 600px) {
    #contenidos.publicar-jornada > form,
    #contenidos.buscar-jornadas .jornadas-busqueda-form { padding: 14px; }
    #contenidos.publicar-jornada .g-recaptcha { max-width: 100%; overflow: hidden; }
    #contenidos.buscar-jornadas .jornadas-busqueda-intro { align-items: flex-start; }
    #contenidos.buscar-jornadas .jornadas-busqueda-intro img { width: 95px; flex-basis: 95px; }
}

/* Publicaciones, proyectos y documentos. */
#contenidos .documentos-intro,
#contenidos.publicar-documento .documentos-intro-form {
    box-sizing: border-box;
    margin: 0 0 14px;
    padding: 17px 20px;
    background: #eaf5f7;
    border-left: 4px solid var(--ing-turquesa);
    border-radius: 10px;
    font: 15px/1.5 Arial, Helvetica, sans-serif;
}
#contenidos .documentos-intro { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
#contenidos .documentos-intro > div { min-width: 0; }
#contenidos .documentos-intro h2 { margin: 0 0 7px; font-size: 18px; }
#contenidos .documentos-intro p,
#contenidos.publicar-documento .documentos-intro-form p { margin: 0 0 7px; }
#contenidos .documentos-intro p:last-child,
#contenidos.publicar-documento .documentos-intro-form p:last-child { margin-bottom: 0; }
#contenidos .documentos-intro img { display: block; width: 150px; height: auto; flex: 0 0 150px; object-fit: contain; border: 0; }
#contenidos.documentos-busqueda .documentos-ayuda { margin: 0 0 10px; color: #425868; font-size: 14px; }
#contenidos.documentos-listado .documentos-total,
#contenidos.documentos-busqueda .documentos-seccion h2 { margin: 19px 0 12px; padding-bottom: 7px; border-bottom: 1px solid var(--ing-borde); font-size: 18px; }
#contenidos.documentos-busqueda .documentos-total { margin: 0 0 12px; font-size: 14px; }
#contenidos .documento-item {
    display: flex;
    gap: 16px;
    box-sizing: border-box;
    width: 100%;
    padding: 16px;
    margin: 0 0 12px;
    background: #fff;
    border: 1px solid var(--ing-borde);
    border-radius: 10px;
    box-shadow: 0 5px 17px rgba(22, 59, 88, .055);
}
#contenidos .documento-miniatura { display: block; flex: 0 0 78px; }
#contenidos .documento-miniatura img { display: block; width: 70px; height: auto; max-height: 96px; object-fit: contain; margin: 0 auto; }
#contenidos .documento-detalle { min-width: 0; flex: 1; overflow-wrap: anywhere; }
#contenidos .documento-detalle h3 { margin: 0 0 8px; color: var(--ing-azul); font-size: 17px; line-height: 1.4; }
#contenidos .documento-metadatos { display: flex; flex-wrap: wrap; gap: 5px 16px; margin: 0 0 9px; color: #425868; font-size: 13px; }
#contenidos .documento-descripcion { font: 14px/1.5 Arial, Helvetica, sans-serif; margin-bottom: 12px; }
#contenidos .documento-descripcion p { margin: 0 0 7px; }
#contenidos .documentos-vacio { padding: 14px; background: #fff; border: 1px solid var(--ing-borde); border-radius: 9px; }
#contenidos.documentos-busqueda .documentos-busqueda-form,
#contenidos.publicar-documento > form {
    box-sizing: border-box;
    width: 100%;
    padding: 20px;
    margin: 0;
    background: #fff;
    border: 1px solid var(--ing-borde);
    border-radius: 12px;
    box-shadow: 0 7px 22px rgba(15, 53, 77, .06);
}
#contenidos.documentos-busqueda form > label,
#contenidos.publicar-documento form > label { display: block; margin: 13px 0 6px; color: var(--ing-azul-oscuro); font: 700 14px/1.4 Arial, Helvetica, sans-serif; }
#contenidos.documentos-busqueda form > label:first-of-type,
#contenidos.publicar-documento form > label:first-of-type { margin-top: 0; }
#contenidos.documentos-busqueda form > input[type="text"],
#contenidos.documentos-busqueda form > select,
#contenidos.publicar-documento form > input[type="text"],
#contenidos.publicar-documento form > input[type="email"],
#contenidos.publicar-documento form > select,
#contenidos.publicar-documento form > textarea {
    display: block;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid #cadbe3;
    border-radius: 7px;
    background: #fff;
    font: 15px/1.4 Arial, Helvetica, sans-serif;
}
#contenidos.publicar-documento form > textarea { min-height: 130px; resize: vertical; }
#contenidos.publicar-documento form > input[type="file"] { display: block; box-sizing: border-box; width: 100%; max-width: 100%; padding: 9px; border: 1px dashed #cadbe3; border-radius: 7px; }
#contenidos.publicar-documento .documento-captcha-titulo { margin: 22px 0 10px; font-size: 16px; }
#contenidos.publicar-documento .documento-privacidad label { display: inline; }
#contenidos.documentos-busqueda form > input[type="submit"],
#contenidos.publicar-documento form > input[type="submit"] {
    display: inline-block;
    min-height: 42px;
    margin-top: 15px;
    padding: 9px 22px;
    border: 0;
    border-radius: 7px;
    background: var(--ing-azul);
    color: #fff;
    font: 700 15px Arial, Helvetica, sans-serif;
    cursor: pointer;
}
#contenidos.documentos-busqueda form > input[type="submit"]:hover,
#contenidos.publicar-documento form > input[type="submit"]:hover { background: var(--ing-turquesa); }
#contenidos.publicar-documento .documentos-volver { display: inline-block; padding: 8px 13px; border: 1px solid var(--ing-borde); border-radius: 7px; text-decoration: none; }
@media (max-width: 600px) {
    #contenidos .documentos-intro img { width: 95px; flex-basis: 95px; }
    #contenidos .documento-item { gap: 10px; padding: 12px; }
    #contenidos .documento-miniatura { flex-basis: 54px; }
    #contenidos .documento-miniatura img { width: 50px; }
    #contenidos.documentos-busqueda .documentos-busqueda-form,
    #contenidos.publicar-documento > form { padding: 14px; }
    #contenidos.publicar-documento .g-recaptcha { max-width: 100%; overflow: hidden; }
}

/* Jerarquía tipográfica y portadas en las fichas de documentos. */
#contenidos .documento-detalle h3 { font-weight: 700 !important; }
#contenidos .documento-metadatos strong { color: var(--ing-azul-oscuro); font-weight: 700; }
#contenidos .documento-descripcion,
#contenidos .documento-descripcion * { font-size: 13.5px !important; line-height: 1.55 !important; }
#contenidos .documento-miniatura img.documento-portada {
    box-sizing: border-box;
    border: 1px solid #c9d8e0;
    border-radius: 3px;
}
#contenidos .documento-miniatura img.documento-icono-pdf {
    border: 0;
    border-radius: 0;
}

/* Catálogos técnicos: filtros y formulario de publicación. */
#contenidos.catalogos-listado .catalogos-filtros-titulo,
#contenidos.catalogos-listado .catalogos-resultados h2 {
    margin: 18px 0 12px;
    padding-bottom: 7px;
    border-bottom: 1px solid var(--ing-borde);
    font-size: 18px;
}
#contenidos.catalogos-listado .catalogos-total { margin: 0 0 12px; font-size: 14px; }
#contenidos.publicar-catalogo .catalogos-intro-form {
    box-sizing: border-box;
    margin: 0 0 14px;
    padding: 17px 20px;
    background: #eaf5f7;
    border-left: 4px solid var(--ing-turquesa);
    border-radius: 10px;
    font: 15px/1.5 Arial, Helvetica, sans-serif;
}
#contenidos.publicar-catalogo .catalogos-intro-form p { margin: 0 0 7px; }
#contenidos.publicar-catalogo .catalogos-intro-form p:last-child { margin-bottom: 0; }
#contenidos.catalogos-listado .catalogos-busqueda-form,
#contenidos.publicar-catalogo > form {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 20px;
    background: #fff;
    border: 1px solid var(--ing-borde);
    border-radius: 12px;
    box-shadow: 0 7px 22px rgba(15, 53, 77, .06);
}
#contenidos.catalogos-listado form > label,
#contenidos.publicar-catalogo form > label {
    display: block;
    margin: 13px 0 6px;
    color: var(--ing-azul-oscuro);
    font: 700 14px/1.4 Arial, Helvetica, sans-serif;
}
#contenidos.catalogos-listado form > label:first-of-type,
#contenidos.publicar-catalogo form > label:first-of-type { margin-top: 0; }
#contenidos.catalogos-listado form > select,
#contenidos.catalogos-listado form > input[type="text"],
#contenidos.publicar-catalogo form > select,
#contenidos.publicar-catalogo form > input[type="text"],
#contenidos.publicar-catalogo form > input[type="email"],
#contenidos.publicar-catalogo form > textarea {
    display: block;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid #cadbe3;
    border-radius: 7px;
    background: #fff;
    font: 15px/1.4 Arial, Helvetica, sans-serif;
}
#contenidos.publicar-catalogo form > textarea { min-height: 130px; resize: vertical; }
#contenidos.publicar-catalogo form > input[type="file"] { display: block; box-sizing: border-box; width: 100%; max-width: 100%; padding: 9px; border: 1px dashed #cadbe3; border-radius: 7px; }
#contenidos.publicar-catalogo .catalogo-captcha-titulo { margin: 22px 0 10px; font-size: 16px; }
#contenidos.publicar-catalogo .catalogo-privacidad label { display: inline; }
#contenidos.catalogos-listado form > input[type="submit"],
#contenidos.publicar-catalogo form > input[type="submit"] {
    display: inline-block;
    min-height: 42px;
    margin-top: 15px;
    padding: 9px 22px;
    border: 0;
    border-radius: 7px;
    background: var(--ing-azul);
    color: #fff;
    font: 700 15px Arial, Helvetica, sans-serif;
    cursor: pointer;
}
#contenidos.catalogos-listado form > input[type="submit"]:hover,
#contenidos.publicar-catalogo form > input[type="submit"]:hover { background: var(--ing-turquesa); }
#contenidos.publicar-catalogo .catalogos-volver { display: inline-block; padding: 8px 13px; border: 1px solid var(--ing-borde); border-radius: 7px; text-decoration: none; }
@media (max-width: 600px) {
    #contenidos.catalogos-listado .catalogos-busqueda-form,
    #contenidos.publicar-catalogo > form { padding: 14px; }
    #contenidos.publicar-catalogo .g-recaptcha { max-width: 100%; overflow: hidden; }
}

/* Normativas: presentación compartida de listado y búsqueda. */
#contenidos.normativas-listado,
#contenidos.normativas-busqueda { line-height: 1.55; }
#contenidos .normativas-intro { margin: 0 0 16px; font-size: 15px; }
#contenidos .normativas-intro p { margin: 0 0 8px; }
#contenidos .normativas-panel {
    box-sizing: border-box;
    margin: 16px 0 22px;
    padding: 20px;
    border: 1px solid var(--ing-borde);
    border-radius: 12px;
    background: #f4fafb;
}
#contenidos .normativas-panel h2,
#contenidos .normativas-resultados > h2 { margin: 0 0 8px; color: var(--ing-azul-oscuro); font-size: 19px; line-height: 1.35; }
#contenidos .normativas-panel > p { margin: 0 0 14px; font-size: 14px; }
#contenidos #buscador_normativas label { display: block; margin: 13px 0 5px; font-size: 14px; font-weight: 700; color: var(--ing-azul-oscuro); }
#contenidos #buscador_normativas select,
#contenidos #buscador_normativas input[type="text"] {
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 42px;
    padding: 8px 11px;
    border: 1px solid #cadbe3;
    border-radius: 7px;
    background: #fff;
    font: 15px/1.4 Arial, Helvetica, sans-serif;
}
#contenidos #buscador_normativas input[type="submit"] {
    display: inline-block;
    margin-top: 17px;
    min-height: 42px;
    padding: 9px 22px;
    border: 0;
    border-radius: 7px;
    background: var(--ing-azul);
    color: #fff;
    font: 700 15px Arial, Helvetica, sans-serif;
    cursor: pointer;
}
#contenidos #buscador_normativas input[type="submit"]:hover { background: var(--ing-turquesa); }
#contenidos .normativas-panel .normativas-ayuda { margin: 13px 0 0; color: #526a75; font-size: 13px; }
#contenidos .normativas-resultados > h2 { padding-bottom: 9px; border-bottom: 1px solid var(--ing-borde); }
#contenidos .normativa-item { box-sizing: border-box; margin: 14px 0; padding: 17px 20px; border: 1px solid var(--ing-borde); border-radius: 10px; background: #fff; box-shadow: 0 6px 18px rgba(15, 53, 77, .05); }
#contenidos .normativa-item h3 { margin: 0 0 8px; color: var(--ing-azul-oscuro); font-size: 17px; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
#contenidos .normativa-descripcion { margin: 0 0 15px; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
#contenidos .normativa-descripcion p { margin: 0 0 8px; }
#contenidos .normativa-item .button_link { display: inline-block; }
#contenidos .normativas-paginacion { margin: 18px 0; }
#contenidos .normativas-sin-resultados { padding: 16px; border-radius: 8px; background: #f4fafb; }
@media (max-width: 600px) {
    #contenidos .normativas-panel,
    #contenidos .normativa-item { padding: 14px; }
}

/* Portal de empresas y registro. */
#contenidos.empresas-portal .empresas-intro { display: flex; align-items: center; gap: 18px; box-sizing: border-box; padding: 18px; margin: 13px 0 19px; border: 1px solid var(--ing-borde); border-radius: 12px; background: #f4fafb; }
#contenidos.empresas-portal .empresas-intro-texto { flex: 1; min-width: 0; font-size: 15px; line-height: 1.55; }
#contenidos.empresas-portal .empresas-intro h2,
#contenidos.empresa-nueva .empresa-nueva-intro h2 { margin: 0 0 9px; color: var(--ing-azul-oscuro); font-size: 19px; }
#contenidos.empresas-portal .empresas-intro p { margin: 0 0 9px; }
#contenidos.empresas-portal .empresas-intro p:last-child { margin-bottom: 0; }
#contenidos.empresas-portal .empresas-intro img { display: block; flex: 0 0 38%; width: 38%; max-width: 260px; height: auto; border-radius: 8px; }
#contenidos.empresas-portal .empresas-filtros,
#contenidos.empresa-nueva .empresa-nueva-form { box-sizing: border-box; padding: 20px; margin: 0 0 20px; background: #fff; border: 1px solid var(--ing-borde); border-radius: 12px; box-shadow: 0 7px 22px rgba(15,53,77,.06); }
#contenidos.empresas-portal .empresas-filtros h2,
#contenidos.empresas-portal .empresas-resultados > h2 { margin: 0 0 10px; color: var(--ing-azul-oscuro); font-size: 19px; }
#contenidos.empresas-portal .empresas-filtros > p { margin: 0 0 12px; font-size: 14px; }
#contenidos.empresas-portal .empresas-formulario label,
#contenidos.empresa-nueva .empresa-nueva-form > label { display: block; margin: 13px 0 5px; color: var(--ing-azul-oscuro); font-size: 14px; font-weight: 700; }
#contenidos.empresas-portal .empresas-formulario input[type="text"],
#contenidos.empresas-portal .empresas-formulario select,
#contenidos.empresa-nueva .empresa-nueva-form input[type="text"],
#contenidos.empresa-nueva .empresa-nueva-form input[type="email"],
#contenidos.empresa-nueva .empresa-nueva-form select { box-sizing: border-box; display: block; width: 100% !important; max-width: 100%; min-height: 42px; margin: 0; padding: 9px 11px; border: 1px solid #cadbe3; border-radius: 7px; background: #fff; font: 15px/1.4 Arial, Helvetica, sans-serif; }
#contenidos.empresas-portal .empresas-formulario input[type="submit"],
#contenidos.empresa-nueva .empresa-nueva-form input[type="submit"] { min-height: 42px; margin-top: 17px; padding: 9px 22px; border: 0; border-radius: 7px; background: var(--ing-azul); color: #fff; font: 700 15px Arial, Helvetica, sans-serif; cursor: pointer; }
#contenidos.empresas-portal .empresas-formulario input[type="submit"]:hover,
#contenidos.empresa-nueva .empresa-nueva-form input[type="submit"]:hover { background: var(--ing-turquesa); }
#contenidos.empresas-portal .empresas-resultados > h2 { padding-bottom: 9px; border-bottom: 1px solid var(--ing-borde); }
#contenidos.empresas-portal .empresa-ficha { box-sizing: border-box; margin: 14px 0; padding: 17px 20px; border: 1px solid var(--ing-borde); border-radius: 10px; background: #fff; box-shadow: 0 6px 18px rgba(15,53,77,.05); overflow-wrap: anywhere; }
#contenidos.empresas-portal .empresa-ficha h3 { margin: 0 0 9px; color: var(--ing-azul-oscuro); font-size: 17px; font-weight: 700; }
#contenidos.empresas-portal .empresa-ficha p { margin: 0 0 6px; font-size: 14px; line-height: 1.5; }
#contenidos.empresas-portal .empresa-ficha .button_link { display: inline-block; margin-top: 10px; }
#contenidos.empresas-portal .empresas-paginacion { margin: 18px 0; }
#contenidos.empresas-portal .empresas-vacio { padding: 16px; border-radius: 8px; background: #f4fafb; }
#contenidos.empresa-nueva .empresa-nueva-intro { margin: 0 0 16px; padding: 17px 20px; border-left: 4px solid var(--ing-turquesa); border-radius: 10px; background: #eaf5f7; font: 15px/1.5 Arial, Helvetica, sans-serif; }
#contenidos.empresa-nueva .empresa-nueva-intro p { margin: 0; }
#contenidos.empresa-nueva .empresa-nueva-form > br { display: none; }
#contenidos.empresa-nueva .empresa-nueva-form .g-recaptcha { max-width: 100%; overflow: hidden; }
#contenidos.empresa-nueva .empresa-nueva-form > h3 { margin: 20px 0 12px !important; font-size: 16px; }
#contenidos.empresa-nueva .empresa-volver a { display: inline-block; padding: 8px 13px; border: 1px solid var(--ing-borde); border-radius: 7px; text-decoration: none; }
@media (max-width: 600px) {
    #contenidos.empresas-portal .empresas-intro { flex-direction: column-reverse; align-items: stretch; padding: 14px; }
    #contenidos.empresas-portal .empresas-intro img { width: 100%; max-width: 100%; }
    #contenidos.empresas-portal .empresas-filtros,
    #contenidos.empresas-portal .empresa-ficha,
    #contenidos.empresa-nueva .empresa-nueva-form { padding: 14px; }
}

/* Directorios gestionados: colegios profesionales y universidades. */
#contenidos.directorio-instituciones .directorio-intro { display: flex; align-items: flex-start; gap: 16px; box-sizing: border-box; margin: 14px 0 20px; padding: 18px; border: 1px solid var(--ing-borde); border-radius: 12px; background: #f4fafb; }
#contenidos.directorio-instituciones .directorio-intro-texto { flex: 1; min-width: 0; }
#contenidos.directorio-instituciones .directorio-intro h2 { margin: 0 0 10px; color: var(--ing-azul-oscuro); font-size: 20px; line-height: 1.35; }
#contenidos.directorio-instituciones .directorio-intro p { margin: 0; font-size: 15px; line-height: 1.55; }
#contenidos.directorio-instituciones .directorio-intro img { display: block; flex: 0 0 145px; width: 145px; max-width: 30%; height: auto; border-radius: 8px; }
#contenidos.directorio-instituciones .directorio-listado { clear: both; font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
#contenidos.directorio-instituciones .directorio-listado h2,
#contenidos.directorio-instituciones .directorio-listado h3,
#contenidos.directorio-instituciones .directorio-listado h4 { clear: both; margin: 22px 0 9px; padding: 0 0 6px; border-bottom: 1px solid var(--ing-borde); color: var(--ing-azul-oscuro); font-size: 17px; line-height: 1.4; }
#contenidos.directorio-instituciones .directorio-listado a { color: var(--ing-azul); text-decoration: none; font-weight: 600; overflow-wrap: anywhere; }
#contenidos.directorio-instituciones .directorio-listado a:hover,
#contenidos.directorio-instituciones .directorio-listado a:focus-visible { color: var(--ing-turquesa); text-decoration: underline; }
#contenidos.directorio-instituciones .directorio-listado p { margin: 0 0 9px; }
#contenidos.directorio-instituciones .directorio-listado ul,
#contenidos.directorio-instituciones .directorio-listado ol { margin: 9px 0 16px; padding-left: 23px; }
#contenidos.directorio-instituciones .directorio-listado li { margin: 0 0 6px; }
@media (max-width: 600px) {
    #contenidos.directorio-instituciones .directorio-intro { align-items: flex-start; gap: 10px; padding: 14px; }
    #contenidos.directorio-instituciones .directorio-intro img { flex-basis: 95px; width: 95px; max-width: 34%; }
}

/* Bolsa de trabajo: portada, acceso para empresas y búsqueda. */
#contenidos.bolsa-portada,
#contenidos.bolsa-empresas,
#contenidos.bolsa-buscar { font-size: 14px; line-height: 1.55; }
#contenidos .bolsa-intro { box-sizing: border-box; margin: 12px 0 18px; padding: 17px 20px; border-left: 4px solid var(--ing-turquesa); border-radius: 10px; background: #eaf5f7; }
#contenidos .bolsa-intro h2 { margin: 0 0 7px; color: var(--ing-azul-oscuro); font-size: 19px; }
#contenidos .bolsa-intro p { margin: 0; font-size: 15px; }
#contenidos .bolsa-intro .button_link { display: inline-block; margin-top: 12px; }
#contenidos .bolsa-accesos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 0 0 23px; }
#contenidos .bolsa-acceso { box-sizing: border-box; min-width: 0; padding: 19px; border: 1px solid var(--ing-borde); border-radius: 12px; background: #fff; box-shadow: 0 7px 22px rgba(15,53,77,.06); }
#contenidos .bolsa-acceso h2 { margin: 0 0 9px; color: var(--ing-azul-oscuro); font-size: 18px; }
#contenidos .bolsa-acceso p { margin: 0 0 12px; }
#contenidos .bolsa-acceso a { display: block; margin: 9px 0 0; }
#contenidos .bolsa-acceso a.button_link { display: inline-block; padding: 9px 13px; }
#contenidos .bolsa-menu-cuenta { display: flex; flex-wrap: wrap; gap: 8px; margin: 13px 0 20px; }
#contenidos .bolsa-menu-cuenta a,
#contenidos .bolsa-enlaces a { display: inline-block; padding: 8px 11px; border: 1px solid var(--ing-borde); border-radius: 7px; text-decoration: none; }
#contenidos .bolsa-ultimas > h2,
#contenidos .bolsa-resultados > h2,
#contenidos .bolsa-filtros > h2 { margin: 16px 0 12px; padding-bottom: 8px; border-bottom: 1px solid var(--ing-borde); color: var(--ing-azul-oscuro); font-size: 19px; }
#contenidos .bolsa-oferta { box-sizing: border-box; margin: 12px 0; padding: 15px 18px; border: 1px solid var(--ing-borde); border-radius: 10px; background: #fff; box-shadow: 0 5px 16px rgba(15,53,77,.05); }
#contenidos .bolsa-oferta h3 { margin: 0 0 8px; font-size: 17px; line-height: 1.4; }
#contenidos .bolsa-oferta p { margin: 0 0 5px; overflow-wrap: anywhere; }
#contenidos .bolsa-oferta strong { color: var(--ing-azul-oscuro); }
#contenidos .bolsa-separador { margin: 0 6px; color: #8ba1aa; }
#contenidos .bolsa-paginacion { margin: 17px 0; }
#contenidos .bolsa-ofertas-externas { max-width: 100%; overflow: hidden; }
#contenidos .bolsa-ofertas-externas iframe { display: block; box-sizing: border-box; width: 100%; max-width: 575px; border: 0; }
#contenidos .bolsa-vacio { padding: 16px; border-radius: 8px; background: #f4fafb; }
#contenidos .bolsa-filtros,
#contenidos .bolsa-login,
#contenidos .bolsa-registro { box-sizing: border-box; margin: 14px 0; padding: 19px; border: 1px solid var(--ing-borde); border-radius: 12px; background: #fff; box-shadow: 0 5px 16px rgba(15,53,77,.05); }
#contenidos .bolsa-buscar-form label,
#contenidos .bolsa-login label { display: block; margin: 13px 0 5px !important; color: var(--ing-azul-oscuro); font-size: 14px; font-weight: 700; }
#contenidos .bolsa-buscar-form input[type="text"],
#contenidos .bolsa-buscar-form select,
#contenidos .bolsa-login input[type="text"],
#contenidos .bolsa-login input[type="password"] { box-sizing: border-box; display: block; width: 100% !important; max-width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #cadbe3; border-radius: 7px; background: #fff; font: 15px/1.4 Arial, Helvetica, sans-serif; }
#contenidos .bolsa-buscar-form input[type="submit"],
#contenidos .bolsa-login input[type="submit"] { min-height: 42px; margin-top: 15px; padding: 9px 22px; border: 0; border-radius: 7px; background: var(--ing-azul); color: #fff; font: 700 15px Arial, Helvetica, sans-serif; cursor: pointer; }
#contenidos .bolsa-buscar-form input[type="submit"]:hover,
#contenidos .bolsa-login input[type="submit"]:hover { background: var(--ing-turquesa); }
#contenidos .bolsa-ayuda { margin: 11px 0 0; color: #526a75; font-size: 13px; }
#contenidos .bolsa-enlaces { display: flex; flex-wrap: wrap; gap: 9px; margin: 19px 0; }
#contenidos.bolsa-empresas > p:empty,
#contenidos.bolsa-empresas > br { display: none; }
@media (max-width: 600px) {
    #contenidos .bolsa-accesos { grid-template-columns: 1fr; }
    #contenidos .bolsa-acceso,
    #contenidos .bolsa-oferta,
    #contenidos .bolsa-filtros,
    #contenidos .bolsa-login { padding: 14px; }
    #contenidos .bolsa-separador { display: none; }
}

/* Presentación común del resto de páginas de la bolsa de trabajo. */
#contenidos.bolsa-interior { box-sizing: border-box; font-size: 14px; line-height: 1.55; overflow-wrap: anywhere; }
#contenidos.bolsa-interior > h1 { margin: 0 0 15px !important; line-height: 1.35; }
#contenidos.bolsa-interior .bolsa-submenu-intro { box-sizing: border-box; margin: 0 0 18px; padding: 16px 19px; border-left: 4px solid var(--ing-turquesa); border-radius: 10px; background: #eaf5f7; }
#contenidos.bolsa-interior .bolsa-submenu-intro h2 { margin: 0 0 6px; color: var(--ing-azul-oscuro); font-size: 18px; }
#contenidos.bolsa-interior .bolsa-submenu-intro p { margin: 0; font-size: 14px; }
#contenidos.bolsa-interior h3 { clear: both; margin: 18px 0 9px !important; color: var(--ing-azul-oscuro); font-size: 17px !important; line-height: 1.4; }
#contenidos.bolsa-interior hr { clear: both; margin: 14px 0; border: 0; border-top: 1px solid var(--ing-borde); }
#contenidos.bolsa-interior form { box-sizing: border-box; max-width: 100%; margin: 12px 0 18px; padding: 19px; border: 1px solid var(--ing-borde); border-radius: 12px; background: #fff; box-shadow: 0 6px 18px rgba(15,53,77,.05); }
#contenidos.bolsa-interior form label { display: block; clear: both; margin: 13px 0 5px !important; color: var(--ing-azul-oscuro); font-size: 14px !important; font-weight: 700; }
#contenidos.bolsa-interior form label:has(input[type="checkbox"]),
#contenidos.bolsa-interior form label:has(input[type="radio"]) { display: inline-block; }
#contenidos.bolsa-interior form input[type="text"],
#contenidos.bolsa-interior form input[type="email"],
#contenidos.bolsa-interior form input[type="password"],
#contenidos.bolsa-interior form select,
#contenidos.bolsa-interior form textarea { box-sizing: border-box; max-width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid #cadbe3; border-radius: 7px; background: #fff; font: 15px/1.4 Arial, Helvetica, sans-serif; }
#contenidos.bolsa-interior form input[type="text"],
#contenidos.bolsa-interior form input[type="email"],
#contenidos.bolsa-interior form input[type="password"] { width: min(100%, 390px) !important; }
#contenidos.bolsa-interior form textarea { display: block; width: 100% !important; min-height: 110px; resize: vertical; }
#contenidos.bolsa-interior form select { min-width: min(100%, 170px); }
#contenidos.bolsa-interior form input[type="submit"],
#contenidos.bolsa-interior .button_link { display: inline-block; min-height: 40px; box-sizing: border-box; margin: 11px 0; padding: 9px 16px; border: 0; border-radius: 7px; background: var(--ing-azul); color: #fff; font: 700 14px Arial, Helvetica, sans-serif; cursor: pointer; text-decoration: none; }
#contenidos.bolsa-interior form input[type="submit"]:hover,
#contenidos.bolsa-interior .button_link:hover { background: var(--ing-turquesa); }
#contenidos.bolsa-interior .oferta,
#contenidos.bolsa-interior .seccion { box-sizing: border-box; margin: 12px 0; padding: 15px; border: 1px solid var(--ing-borde) !important; border-radius: 9px; background: #fff; overflow: hidden; }
#contenidos.bolsa-interior .titulos { box-sizing: border-box; padding: 8px; border-bottom: 1px solid var(--ing-borde); color: var(--ing-azul-oscuro); font-weight: 700; }
#contenidos.bolsa-interior .g-recaptcha { max-width: 100%; overflow: hidden; }
#contenidos.bolsa-interior img { max-width: 100%; height: auto; }
#contenidos.bolsa-interior ul[style*="float:right"] { float: none !important; display: flex; flex-wrap: wrap; gap: 5px 12px; box-sizing: border-box; width: 100%; margin: 0 0 15px !important; padding: 9px 12px; border-radius: 8px; background: #f4fafb; }
#contenidos.bolsa-interior ul[style*="float:right"] li { display: inline-block; }
@media (max-width: 600px) {
    #contenidos.bolsa-interior form,
    #contenidos.bolsa-interior .oferta,
    #contenidos.bolsa-interior .seccion { padding: 13px; }
    #contenidos.bolsa-interior .bolsa-submenu-intro { padding: 14px; }
}

/* Últimos trabajos publicados de la portada: mismas fichas que Documentos. */
#contenidos .inicio-trabajos { clear: both; padding-top: 4px; }
#contenidos .inicio-trabajos > h2 { margin: 13px 0 16px; padding-bottom: 8px; border-bottom: 1px solid var(--ing-borde); color: var(--ing-azul-oscuro); font-size: 21px; line-height: 1.35; }
#contenidos .inicio-trabajos > h2 a { color: inherit; text-decoration: none; }
#contenidos .inicio-trabajos > h2 a:hover { color: var(--ing-turquesa); }
#contenidos .inicio-trabajos .documento-miniatura img.documento-portada { border: 1px solid #c9d8e0; border-radius: 3px; }
#contenidos .inicio-trabajos .documento-miniatura img.documento-icono-pdf { border: 0; }

/* Ofertas de empleo de la portada: cuatro columnas y lectura adaptable. */
#contenidos .inicio-ofertas { clear: both; margin: 20px 0; }
#contenidos .inicio-ofertas > h2 { margin: 0 0 13px; padding-bottom: 8px; border-bottom: 1px solid var(--ing-borde); color: var(--ing-azul-oscuro); font-size: 21px; line-height: 1.35; }
#contenidos .inicio-ofertas > h2 a { color: inherit; text-decoration: none; }
#contenidos .inicio-ofertas > h2 a:hover { color: var(--ing-turquesa); }
#contenidos .inicio-ofertas-desplazamiento { max-width: 100%; overflow-x: auto; border: 1px solid var(--ing-borde); border-radius: 10px; background: #fff; box-shadow: 0 5px 17px rgba(22,59,88,.055); }
#contenidos .inicio-ofertas-tabla { width: 100%; min-width: 530px; table-layout: fixed; border-collapse: collapse; font: 14px/1.45 Arial, Helvetica, sans-serif; }
#contenidos .inicio-ofertas-tabla th,
#contenidos .inicio-ofertas-tabla td { box-sizing: border-box; padding: 11px 10px; border: 0; border-bottom: 1px solid #e4edf1; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
#contenidos .inicio-ofertas-tabla th { background: #eaf5f7; color: var(--ing-azul-oscuro); font-weight: 700; }
#contenidos .inicio-ofertas-tabla tr:last-child td { border-bottom: 0; }
#contenidos .inicio-ofertas-tabla tbody tr:nth-child(even) { background: #f7fbfc; }
#contenidos .inicio-ofertas-tabla th:first-child,
#contenidos .inicio-ofertas-tabla td:first-child { width: 35%; }
#contenidos .inicio-ofertas-tabla th:nth-child(2),
#contenidos .inicio-ofertas-tabla td:nth-child(2) { width: 18%; white-space: nowrap; }
#contenidos .inicio-ofertas-tabla th:nth-child(3),
#contenidos .inicio-ofertas-tabla td:nth-child(3) { width: 22%; }
#contenidos .inicio-ofertas-tabla th:nth-child(4),
#contenidos .inicio-ofertas-tabla td:nth-child(4) { width: 25%; }
#contenidos .inicio-ofertas-tabla td:first-child a { font-weight: 700; }
#contenidos .inicio-ofertas-mas { margin: 11px 0 0; text-align: right; }

/* Iconos sociales y accesos de la cabecera. */
.pub_content .publicidad:first-child .forzar_centrado { display: flex; align-items: center; justify-content: space-between; gap: 2px; box-sizing: border-box; width: 100%; padding: 8px 5px; }
.pub_content .publicidad:first-child .forzar_centrado > a { display: flex; flex: 0 1 20%; align-items: center; justify-content: center; min-width: 0; padding: 0; }
.pub_content .publicidad:first-child .forzar_centrado > a img { display: block; box-sizing: border-box; width: 30px !important; height: 30px !important; max-width: 100%; padding: 1px !important; margin: 0 !important; object-fit: contain; }
.pub_content .publicidad:first-child .forzar_centrado > a:last-child img { width: 42px !important; height: 38px !important; }
#cabecera #links .links_arriba { display: inline-block; margin: 3px 2px; padding: 7px 9px; border: 1px solid #cbdde6; border-radius: 7px; background: #f4fafb; color: #004165; font: 700 12px/1.25 Arial, Helvetica, sans-serif; text-decoration: none; white-space: nowrap; }
#cabecera #links .links_arriba:hover,
#cabecera #links .links_arriba:focus-visible { border-color: var(--ing-turquesa); background: #e5f3f5; color: var(--ing-azul-oscuro); }
#cabecera #links .links_arriba span { display: inline !important; }
#cabecera #links .links_arriba.mostrar_elemento_pro { display: none !important; }
#cabecera #links .links_arriba.esconder_elemento_pro { display: inline-block !important; }
@media (max-width: 650px) {
    #cabecera #links .links_arriba { padding: 6px 7px; font-size: 11px; }
}

/* Información institucional y contacto. */
#contenidos.pagina-informativa,
#contenidos.pagina-contacto { box-sizing: border-box; line-height: 1.6; overflow-wrap: anywhere; }
#contenidos.pagina-informativa > h1,
#contenidos.pagina-contacto > h1 { padding-bottom: 10px; border-bottom: 1px solid var(--ing-borde); }
#contenidos.pagina-informativa .informativa-contenido,
#contenidos.pagina-contacto .contacto-intro { box-sizing: border-box; width: 100%; margin: 14px 0 20px; padding: 19px 21px; border: 1px solid var(--ing-borde); border-radius: 11px; background: #fff; box-shadow: 0 6px 18px rgba(15,53,77,.05); font-size: 15px; line-height: 1.65; }
#contenidos.pagina-informativa .informativa-contenido h2,
#contenidos.pagina-informativa .informativa-contenido h3,
#contenidos.pagina-contacto .contacto-intro h2 { margin: 16px 0 8px; color: var(--ing-azul-oscuro); font-size: 18px; line-height: 1.4; }
#contenidos.pagina-informativa .informativa-contenido h2:first-child,
#contenidos.pagina-informativa .informativa-contenido h3:first-child,
#contenidos.pagina-contacto .contacto-intro h2:first-child { margin-top: 0; }
#contenidos.pagina-informativa .informativa-contenido p,
#contenidos.pagina-contacto .contacto-intro p { margin: 0 0 11px; }
#contenidos.pagina-informativa .informativa-contenido p:last-child,
#contenidos.pagina-contacto .contacto-intro p:last-child { margin-bottom: 0; }
#contenidos.pagina-informativa .informativa-contenido ul,
#contenidos.pagina-informativa .informativa-contenido ol { padding-left: 23px; }
#contenidos.pagina-informativa .informativa-contenido a { overflow-wrap: anywhere; }
#contenidos.pagina-contacto .contacto-ayuda { margin: 8px 0 12px; color: #526a75; font-size: 13px; }
#contenidos.pagina-contacto .contacto-mapa { box-sizing: border-box; max-width: 100%; padding: 6px; border: 1px solid var(--ing-borde); border-radius: 11px; background: #fff; overflow: hidden; }
#contenidos.pagina-contacto .contacto-mapa #mymap { border-radius: 7px; }
#contenidos.pagina-contacto .contacto-form { box-sizing: border-box; width: 100%; padding: 20px; border: 1px solid var(--ing-borde); border-radius: 11px; background: #fff; box-shadow: 0 6px 18px rgba(15,53,77,.05); }
#contenidos.pagina-contacto .contacto-form label { display: block; margin: 13px 0 5px; color: var(--ing-azul-oscuro); font-size: 14px; font-weight: 700; }
#contenidos.pagina-contacto .contacto-form input[type="text"],
#contenidos.pagina-contacto .contacto-form textarea { display: block; box-sizing: border-box; width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #cadbe3; border-radius: 7px; background: #fff; font: 15px/1.4 Arial, Helvetica, sans-serif; }
#contenidos.pagina-contacto .contacto-form textarea { min-height: 140px; resize: vertical; }
#contenidos.pagina-contacto .contacto-form input[type="submit"] { margin-top: 14px; min-height: 42px; padding: 9px 22px; border: 0; border-radius: 7px; background: var(--ing-azul); color: #fff; font: 700 15px Arial, Helvetica, sans-serif; cursor: pointer; }
#contenidos.pagina-contacto .contacto-form .g-recaptcha { max-width: 100%; overflow: hidden; }
@media (max-width: 600px) {
    #contenidos.pagina-informativa .informativa-contenido,
    #contenidos.pagina-contacto .contacto-intro,
    #contenidos.pagina-contacto .contacto-form { padding: 14px; }
}

/* Logo: ancho de 237 px a 284 px (20 % más), con archivo de mayor resolución. */
#cabecera #logo img { display: block; width: 284px; max-width: 100%; height: auto; }

/* Banner animado de Bolsa de Trabajo: aprovecha todo el ancho lateral. */
.pub_content .publicidad a:has(> img[src*="Banner_trabajo_v2.gif"]) { display: block; width: 100%; }
.pub_content .publicidad a > img[src*="Banner_trabajo_v2.gif"] { display: block; box-sizing: border-box; width: 100% !important; max-width: 100%; height: auto !important; margin: 0; border: 0; }

/* Todos los anuncios quedan dentro de la columna, tengan enlace o no. */
.pub_content { min-width: 0; }
.pub_content .publicidad img:not(.link_impresiones) { box-sizing: border-box; max-width: 100% !important; height: auto; }

/* El banner de 3S llena el ancho interior incluso si el gestor cambia la extensión o el enlace. */
.pub_content .publicidad img[src*="banner3Seficiencia2015" i] { display: block; box-sizing: border-box; width: 100% !important; max-width: 100% !important; height: auto !important; margin: 0 auto !important; border: 0; }

/* Ajustes exclusivos de la portada. */
@media (min-width: 1100px) {
    #contenidos.inicio-portada { padding-left: 0; }
}
#contenidos.inicio-portada .noticia .inicio-resumen { margin: 8px 0 11px; }

/* Banners de Submeter: hasta el ancho útil del menú lateral izquierdo. */
#menu img[src*="Submeter_" i] { display: block; max-width: 100% !important; height: auto !important; margin-left: auto; margin-right: auto; }

/* Cursos de la portada: imagen y mensaje ocupan todo el recuadro central. */
#contenidos #cursos {
    display: flex;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    gap: 0;
    margin: 0 0 21px;
    padding: 0;
    border: 1px solid var(--ing-borde);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 6px 20px rgba(14, 49, 68, .06);
    overflow: hidden;
}
#contenidos #cursos #arealeft {
    display: none !important;
}
#contenidos #cursos .halfbox,
#contenidos #cursos .content.plantscroll {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    margin: 0 !important;
}
#contenidos #cursos .content.plantscroll { height: 276px; overflow: hidden; }
#contenidos #cursos #arearight {
    box-sizing: border-box;
    flex: 1 1 100%;
    width: 100% !important;
    min-width: 0;
    min-height: 274px;
    margin: 0 !important;
    float: none !important;
    padding: 34px 39px;
    border-radius: 11px;
    background-image: linear-gradient(90deg, rgba(5, 31, 52, .15), rgba(5, 31, 52, 0) 68%), url('../images/formacion_portada.jpg') !important;
    background-size: cover !important;
    background-position: center center !important;
    text-align: left;
}
#contenidos #cursos #arearight h4 { max-width: 48%; margin: 0 0 12px; color: #fff; font: 700 25px/1.2 Arial, Helvetica, sans-serif; }
#contenidos #cursos #arearight h5 { max-width: 48%; margin: 0 0 19px; color: #e7f5f8; font: 16px/1.4 Arial, Helvetica, sans-serif; }
#contenidos #cursos #arearight h6 { margin: 0; }
#contenidos #cursos #arearight h6 a { display: inline-block; padding: 8px 12px; border-radius: 7px; background: var(--ing-azul); color: #fff; font: 700 13px/1.3 Arial, Helvetica, sans-serif; text-decoration: none; }
#contenidos #cursos #arearight h6 a:hover,
#contenidos #cursos #arearight h6 a:focus-visible { background: var(--ing-turquesa); }
@media (max-width: 700px) {
    #contenidos #cursos { padding: 0; }
    #contenidos #cursos #arearight { min-height: 250px; padding: 24px; background-image: linear-gradient(90deg, rgba(5,31,52,.82), rgba(5,31,52,.2)), url('../images/formacion_portada.jpg') !important; background-position: 60% center !important; }
    #contenidos #cursos #arearight h4,
    #contenidos #cursos #arearight h5 { max-width: 72%; }
    #contenidos #cursos #arearight h4 { font-size: 21px; }
}

/* Banderas y botones institucionales comparten el mismo borde derecho. */
#cabecera #links { text-align: right !important; }
#cabecera #links #idiomas { box-sizing: border-box; display: block; float: none !important; width: 100%; text-align: right; }
#cabecera #links #idiomas ul { box-sizing: border-box; display: flex; justify-content: flex-end; align-items: center; gap: 7px; width: 100%; padding: 0 2px 0 0; margin: 0; list-style: none; }
#cabecera #links #idiomas li { display: block; float: none !important; width: auto; padding: 0; margin: 0; list-style: none; }
#cabecera #links #idiomas li a { display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 38px; height: 29px; padding: 3px; border: 1px solid #d0dfe6; border-radius: 7px; background: #fff; box-shadow: 0 2px 6px rgba(13,47,68,.08); }
#cabecera #links #idiomas li a:hover,
#cabecera #links #idiomas li a:focus-visible { border-color: var(--ing-turquesa); box-shadow: 0 0 0 2px rgba(0,122,138,.14); }
#cabecera #links #idiomas li img { display: block; box-sizing: border-box; width: 30px !important; height: 20px !important; max-width: none; padding: 0; margin: 0; border-radius: 3px; object-fit: cover; }


/* Directorios: lectura cómoda y encabezados de especialidad o territorio. */
#contenidos.directorio-instituciones .directorio-listado { font-size: 15px; line-height: 1.65; }
#contenidos.directorio-instituciones .directorio-listado p,
#contenidos.directorio-instituciones .directorio-listado li,
#contenidos.directorio-instituciones .directorio-listado a { font-size: 15px; line-height: inherit; color: #286c82; font-weight: 600; }
#contenidos.directorio-instituciones .directorio-listado h2,
#contenidos.directorio-instituciones .directorio-listado h3,
#contenidos.directorio-instituciones .directorio-listado h4,
#contenidos.directorio-instituciones .directorio-listado .directorio-seccion { clear: both; margin: 22px 0 10px; padding: 9px 12px; border: 0; border-left: 4px solid var(--ing-turquesa); border-radius: 0 7px 7px 0; background: #eef7f8; color: var(--ing-azul-oscuro); font-size: 19px; line-height: 1.4; font-weight: 700; }
#contenidos.directorio-instituciones .directorio-listado .directorio-seccion p,
#contenidos.directorio-instituciones .directorio-listado .directorio-seccion * { margin: 0; color: inherit; font-size: inherit; line-height: inherit; font-weight: inherit; }

#contenidos.directorio-instituciones .directorio-listado a:not(:has(img))::before { content: "•"; display: inline-block; margin-right: 7px; color: var(--ing-turquesa); font-weight: 700; text-decoration: none; }

/* Navegación y formularios de las áreas de empresa y candidato. */
#contenidos.bolsa-interior > h1, #contenidos.bolsa-empresas > h1 { padding-bottom: 10px; border-bottom: 2px solid #d9ecef; color: var(--ing-azul-oscuro); }
#contenidos .bolsa-menu-cuenta { clear: both; display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 8px 0 19px; padding: 8px; border: 1px solid #d9e8ed; border-radius: 11px; background: #f4fafb; }
#contenidos .bolsa-menu-cuenta a { display: inline-flex; align-items: center; min-height: 34px; box-sizing: border-box; padding: 6px 11px; border-radius: 7px; color: var(--ing-azul-oscuro); font-size: 13px; font-weight: 700; line-height: 1.3; text-decoration: none; }
#contenidos .bolsa-menu-cuenta a:hover, #contenidos .bolsa-menu-cuenta a:focus-visible { background: #e1f2f4; text-decoration: underline; }
#contenidos .bolsa-menu-cuenta a.activo { background: var(--ing-azul); color: #fff; }
#contenidos.bolsa-interior #tabs1 { float: none; clear: both; width: 100%; height: auto; margin: 0 0 16px; padding: 0; background: none; }
#contenidos.bolsa-interior #tabs1 ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
#contenidos.bolsa-interior #tabs1 li { float: none; margin: 0; padding: 0; background: none; }
#contenidos.bolsa-interior #tabs1 a { display: block; padding: 8px 12px; border: 1px solid #d9e8ed; border-radius: 7px; background: #fff; color: var(--ing-azul-oscuro); text-decoration: none; }
#contenidos.bolsa-interior #tabs1 a span { padding: 0; background: none; }
#contenidos.bolsa-interior #tabs1 #current a { border-color: var(--ing-azul); background: #eaf5f7; font-weight: 700; }
#contenidos.bolsa-acceso-candidatos .bolsa-alta-invitacion { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin: 18px 0; padding: 19px; border: 1px solid #c9e4e8; border-radius: 12px; background: linear-gradient(115deg,#edf9f9,#f7fbff); }
#contenidos.bolsa-acceso-candidatos .bolsa-alta-invitacion h2 { margin: 0 0 6px; color: var(--ing-azul-oscuro); font-size: 19px; }
#contenidos.bolsa-acceso-candidatos .bolsa-alta-invitacion p { margin: 0; font-size: 14px; }
#contenidos.bolsa-acceso-candidatos .bolsa-alta-enlace { display: inline-block; padding: 10px 16px; border-radius: 8px; background: var(--ing-azul); color: #fff; font-weight: 700; text-decoration: none; }
#contenidos.bolsa-acceso-candidatos .bolsa-alta-enlace:hover { background: var(--ing-turquesa); }
#contenidos.bolsa-alta-candidatos .bolsa-form-seccion { margin: 18px 0 10px; padding: 12px 14px; border-left: 4px solid var(--ing-turquesa); border-radius: 6px; background: #f2f9fa; }
#contenidos.bolsa-alta-candidatos .bolsa-form-seccion h3 { margin: 0 0 3px !important; }
#contenidos.bolsa-alta-candidatos .bolsa-form-seccion p { margin: 0; color: #455c68; }
#contenidos.bolsa-alta-candidatos form textarea#condiciones { width: 100% !important; height: 170px !important; }
#contenidos.bolsa-alta-candidatos form label[for=dia], #contenidos.bolsa-alta-candidatos form label[for=mes], #contenidos.bolsa-alta-candidatos form label[for=anio] { display: inline-block; clear: none; font-size: 13px !important; }
@media (max-width: 600px) { #contenidos .bolsa-menu-cuenta a { font-size: 12px; } #contenidos.bolsa-acceso-candidatos .bolsa-alta-enlace { width: 100%; text-align: center; } }

/* Legibilidad del acceso de empresas y aviso de credenciales en ambos accesos. */
#contenidos.bolsa-empresas { font-size: 16px; line-height: 1.58; }
#contenidos.bolsa-empresas > p, #contenidos.bolsa-empresas .bolsa-registro p, #contenidos.bolsa-empresas .bolsa-login p { font-size: 16px; line-height: 1.58; }
#contenidos.bolsa-empresas > h3, #contenidos.bolsa-empresas .bolsa-registro h3 { font-size: 19px !important; line-height: 1.4; color: var(--ing-azul-oscuro); }
#contenidos.bolsa-empresas .bolsa-login label { font-size: 16px !important; }
#contenidos.bolsa-empresas .bolsa-login a, #contenidos.bolsa-empresas .bolsa-registro a { font-size: 16px; }
#contenidos.bolsa-empresas .bolsa-intro p { font-size: 16px; }
#contenidos.bolsa-empresas .bolsa-menu-cuenta a { font-size: 14px; }
#contenidos.bolsa-empresas > .error, #contenidos.bolsa-acceso-candidatos > .error { box-sizing: border-box; display: block; margin: 15px 0; padding: 14px 16px; border: 1px solid #e3a8a8; border-left: 4px solid #b43636; border-radius: 8px; background: #fff3f3; color: #7f2020; font-size: 16px !important; font-weight: 600; line-height: 1.55; }

/* Logo de empresa: texto legible y requisitos agrupados. */
#contenidos.bolsa-logo { font-size: 16px; line-height: 1.6; }
#contenidos.bolsa-logo form, #contenidos.bolsa-logo form p, #contenidos.bolsa-logo .bolsa-logo-requisitos { font-size: 16px; line-height: 1.6; }
#contenidos.bolsa-logo .bolsa-logo-requisitos { margin: 8px 0 16px; padding-left: 24px; }
#contenidos.bolsa-logo .bolsa-logo-requisitos li { padding: 3px 0; }
#contenidos.bolsa-logo input[type=file] { box-sizing: border-box; max-width: 100%; font-size: 15px; }
/* Banner superior: ocupar el ancho real del contenedor, sin recorte vertical. */
#content_banner_cabecera #imagen { height: auto; min-height: 100px; overflow: visible; }
#content_banner_cabecera #imagen > center { display: block; height: auto; }
#content_banner_cabecera #imagen > center a { display: block; width: 100%; }
#content_banner_cabecera #imagen > center img.banner { display: block; box-sizing: border-box; width: 100% !important; max-width: 100% !important; max-height: none !important; height: auto !important; margin: 0 auto; }

/* Cada resumen del listado de noticias queda dentro de su tarjeta. */
#contenidos .noticia { box-sizing: border-box; max-width: 100%; overflow: hidden; overflow-wrap: anywhere; }
#contenidos .noticia p { overflow-wrap: anywhere; }
#contenidos .noticia img { max-width: 100%; height: auto; }

/* Ficha de oferta: lectura amplia y secciones diferenciadas. */
#contenidos.bolsa-oferta-detalle { font-size: 16px; line-height: 1.65; }
#contenidos.bolsa-oferta-detalle .bolsa-submenu-intro p { font-size: 16px; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle { color: #243d4a; font-size: 16px; line-height: 1.65; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-cabecera { box-sizing: border-box; margin: 0 0 18px; padding: 24px 25px; border: 1px solid #d4e8ed; border-radius: 13px; background: linear-gradient(130deg, #eaf7f8, #f7fbfd 75%); }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-etiqueta { display: inline-block; padding: 4px 10px; border-radius: 20px; background: #d2edef; color: #175c69; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-cabecera h2 { margin: 11px 0 8px; color: var(--ing-azul-oscuro); font-size: clamp(24px, 3vw, 30px); line-height: 1.22; overflow-wrap: anywhere; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-fecha { margin: 0; color: #506c79; font-size: 15px; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-compartir { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 11px; margin-top: 18px; padding-top: 14px; border-top: 1px solid #d1e5e9; font-size: 14px; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-compartir span { color: #506c79; font-weight: 700; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-compartir a { padding: 4px 9px; border: 1px solid #c8dfe4; border-radius: 6px; background: #fff; color: var(--ing-azul-oscuro); font-weight: 600; text-decoration: none; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-compartir a:hover,
#contenidos.bolsa-oferta-detalle .bolsa-detalle-compartir a:focus-visible { border-color: var(--ing-turquesa); text-decoration: underline; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-logo { display: block; float: right; max-width: 120px; max-height: 90px; width: auto; height: auto; margin: 0 0 12px 18px; object-fit: contain; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-seccion { clear: both; box-sizing: border-box; margin: 0 0 15px; padding: 20px 23px; border: 1px solid #dce8ed; border-radius: 11px; background: #fff; box-shadow: 0 4px 15px rgba(21,57,76,.045); }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-seccion h3 { margin: 0 0 14px !important; padding: 0 0 10px; border-bottom: 1px solid #e1edf0; color: var(--ing-azul-oscuro); font-size: 21px !important; line-height: 1.3; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-seccion p { margin: 8px 0; font-size: 16px; line-height: 1.65; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-seccion p > span { display: inline-block; min-width: 155px; margin-right: 5px; color: #286e7b !important; font-weight: 700; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-texto { margin: 17px 0 4px; padding-top: 14px; border-top: 1px solid #e7eef1; font-size: 17px; line-height: 1.72; overflow-wrap: anywhere; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-texto h4 { margin: 0 0 7px; color: var(--ing-azul-oscuro); font-size: 17px; line-height: 1.4; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-texto p { font-size: 17px; line-height: 1.72; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-texto ul,
#contenidos.bolsa-oferta-detalle .bolsa-detalle-texto ol { padding-left: 24px; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-accion { box-sizing: border-box; margin: 20px 0 25px; padding: 22px; border: 1px solid #c7e3e8; border-radius: 11px; background: #edf8f9; text-align: center; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-accion p { margin: 0; font-size: 16px; line-height: 1.6; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-inscribir { display: inline-block; box-sizing: border-box; max-width: 100%; padding: 12px 22px; border-radius: 8px; background: var(--ing-azul); color: #fff; font-size: 17px; font-weight: 700; line-height: 1.4; text-decoration: none; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-inscribir:hover,
#contenidos.bolsa-oferta-detalle .bolsa-detalle-inscribir:focus-visible { background: var(--ing-turquesa); color: #fff; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-accion .bolsa-detalle-inscritos { margin-top: 10px; color: #526b76; font-size: 14px; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-confirmacion { color: #206273; font-weight: 700; }
@media (max-width: 600px) {
    #contenidos.bolsa-oferta-detalle .bolsa-detalle-cabecera,
    #contenidos.bolsa-oferta-detalle .bolsa-detalle-seccion { padding: 17px; }
    #contenidos.bolsa-oferta-detalle .bolsa-detalle-seccion p > span { display: block; min-width: 0; margin-right: 0; }
    #contenidos.bolsa-oferta-detalle .bolsa-detalle-logo { float: none; margin: 0 auto 15px; }
#contenidos.bolsa-oferta-detalle .bolsa-detalle-inscribir { width: 100%; }
}

/* Formularios para recomendar una oferta, jornada, noticia o boletín. */
#contenidos.recomendar-amigo { box-sizing: border-box; padding-bottom: 25px; color: #243d4a; font-size: 16px; line-height: 1.6; }
#contenidos.recomendar-amigo .recomendar-cabecera { display: flex; align-items: center; justify-content: space-between; gap: 18px; box-sizing: border-box; margin: 0 0 18px; padding: 22px 24px; border: 1px solid #d4e8ed; border-radius: 12px; background: linear-gradient(120deg,#eaf7f8,#f8fbfd); }
#contenidos.recomendar-amigo .recomendar-etiqueta { color: #286e7b; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
#contenidos.recomendar-amigo .recomendar-cabecera h1 { margin: 7px 0 8px; padding: 0; border: 0; color: var(--ing-azul-oscuro); font-size: clamp(23px,3vw,28px); line-height: 1.25; }
#contenidos.recomendar-amigo .recomendar-cabecera p { margin: 0; font-size: 16px; }
#contenidos.recomendar-amigo .recomendar-cabecera img { flex: 0 0 auto; width: 88px; height: 88px; object-fit: contain; }
#contenidos.recomendar-amigo .recomendar-contexto { margin: 0 0 18px; padding: 14px 17px; border-left: 4px solid var(--ing-turquesa); border-radius: 7px; background: #f0f9fa; font-size: 16px; overflow-wrap: anywhere; }
#contenidos.recomendar-amigo .recomendar-contexto strong { color: var(--ing-azul-oscuro); }
#contenidos.recomendar-amigo .recomendar-formulario { box-sizing: border-box; margin: 0; padding: 22px 24px; border: 1px solid #dce8ed; border-radius: 12px; background: #fff; box-shadow: 0 4px 15px rgba(21,57,76,.05); }
#contenidos.recomendar-amigo .recomendar-formulario h2 { margin: 0 0 5px; color: var(--ing-azul-oscuro); font-size: 21px; line-height: 1.35; }
#contenidos.recomendar-amigo .recomendar-ayuda { margin: 0 0 18px; color: #526b76; font-size: 14px; }
#contenidos.recomendar-amigo .recomendar-campos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
#contenidos.recomendar-amigo .recomendar-campo label { display: block; margin: 0 0 5px; color: var(--ing-azul-oscuro); font-size: 15px; font-weight: 700; }
#contenidos.recomendar-amigo .recomendar-campo input { display: block; box-sizing: border-box; width: 100%; min-width: 0; height: 44px; padding: 9px 11px; border: 1px solid #cadbe3; border-radius: 7px; background: #fff; color: #243d4a; font: 16px/1.4 Arial,Helvetica,sans-serif; }
#contenidos.recomendar-amigo .recomendar-campo input:focus { outline: 2px solid var(--ing-turquesa); outline-offset: 1px; }
#contenidos.recomendar-amigo .recomendar-verificacion { margin-top: 20px; padding-top: 16px; border-top: 1px solid #e1edf0; }
#contenidos.recomendar-amigo .recomendar-verificacion h3 { margin: 0 0 12px; color: var(--ing-azul-oscuro); font-size: 17px; }
#contenidos.recomendar-amigo .g-recaptcha { max-width: 100%; overflow: auto; }
#contenidos.recomendar-amigo .recomendar-privacidad { margin: 18px 0; padding: 15px; border-radius: 8px; background: #f5f9fa; }
#contenidos.recomendar-amigo .recomendar-privacidad label { display: flex; align-items: flex-start; gap: 9px; color: #243d4a; font-size: 15px; font-weight: 600; }
#contenidos.recomendar-amigo .recomendar-privacidad input[type=checkbox] { flex: 0 0 auto; margin: 5px 0 0; width: 17px; height: 17px; }
#contenidos.recomendar-amigo .recomendar-privacidad p { margin: 13px 0 0; color: #526b76; font-size: 13px; line-height: 1.55; }
#contenidos.recomendar-amigo .recomendar-formulario input[type=submit] { box-sizing: border-box; min-height: 44px; margin: 0; padding: 11px 20px; border: 0; border-radius: 7px; background: var(--ing-azul); color: #fff; font: 700 16px Arial,Helvetica,sans-serif; cursor: pointer; }
#contenidos.recomendar-amigo .recomendar-formulario input[type=submit]:hover,
#contenidos.recomendar-amigo .recomendar-formulario input[type=submit]:focus-visible { background: var(--ing-turquesa); }
#contenidos.recomendar-amigo > .error,
#contenidos.recomendar-amigo > .success { display: block; margin: 12px 0; padding: 12px 15px; border-radius: 7px; font-size: 15px; }
@media (max-width: 640px) {
    #contenidos.recomendar-amigo .recomendar-cabecera,
    #contenidos.recomendar-amigo .recomendar-formulario { padding: 17px; }
    #contenidos.recomendar-amigo .recomendar-cabecera img { width: 55px; height: 55px; }
    #contenidos.recomendar-amigo .recomendar-campos { grid-template-columns: 1fr; }
    #contenidos.recomendar-amigo .recomendar-formulario input[type=submit] { width: 100%; }
}
