html, body {
  line-height: 1.58;
}

:root {
  --bg-azul-claro: hsl(204, 100%, 94%);
  --bg-azul-claro-1: hsl(207, 100%, 98%);
  --bg-fecha-pub: hsl(204, 45%, 98%);
  --bg-instrucciones: hsl(54, 91%, 95%);
  --bg-negro: hsl(225, 6%, 13%);
  --bg-nuevos-header: hsl(220, 9%, 46%);
  --bg-resaltar: hsl(222, 100%, 40%);
  --bg-resaltar1: hsl(0, 67%, 95%);
  --brd-ancho: 2px solid var(--bg-resaltar);
  --brd-general: 1px solid hsl(0, 0%, 70%);
  --brd-general-ancho: 2px solid hsl(0, 0%, 30%);
  --brd-general-claro: 1px solid hsl(0, 0%, 80%);
  --brd-pager-items: 1px solid hsl(0, 0%, 20%);
  --brd-tag: 1px solid hsl(221, 91%, 91%);
  --btn-bg: hsl(203, 100%, 25%);
  --btn-bg-hover: hsl(203, 100%, 45%);
  --btn-bg-gris: hsl(0, 0%, 90%);
  --btn-bg-gris-hover: hsl(0, 0%, 82%);
  --btn-txt-clr: hsl(0, 0%, 100%);
  --btn-submit-bg: hsl(202, 79%, 40%);
  --btn-submit-bg-hover: hsl(202, 79%, 30%);
  --h1: 2.074rem;
  --h2: 1.728rem;
  --h3: 1.44rem;
  --h4: 1.2rem;
  --h5: 1.1rem; /* Para texto destacado, como el eslogan, pero que no es header.*/
  --headers-fnt: "Segoe UI", Arial, sans-serif;
  --headers-wdth: calc((var(--txt-wdth-1) / 1.7) * 1ch);
  --lk-clr: hsl(160, 86%, 36%);
  --lk-clr-1: hsl(214, 80%, 25%);
  --lk-clr-2: hsl(221, 83%, 53%);
  --lk-clr-int: hsl(245, 86%, 36%);
  --mensaje-bg: hsl(125, 39%, 94%);
  --menu-bg-clr: hsl(195, 96%, 39%);
  --menu-lk-clr: hsl(0, 0%, 100%);
  --nodo-bg: hsl(0, 0%, 100%);
  --nodo-etiquetas-container-bg: var(--bg-azul-claro-1);
  --nodo-etiquetas-container-brd: var(--brd-general-claro);
  --nodo-etiquetas-etiqueta-bg:hsl(0, 0%, 100%);
  --nodo-etiquetas-etiqueta-brd: 1.5px solid #1976d2;
  --nodo-etiquetas-etiqueta-txt-clr: hsl(215, 58%, 44%);
  --nodo-info-bg-clr: hsl(240, 11%, 96%);
  --nodo-info-labeL-clr: hsl(0, 0%, 20%);
  --page-bg: hsl(209, 100%, 95%);
  --page-footer-bg: #f3f4f9;
  --portada-presentacion-bg: hsl(209, 100%, 95%);
  --portada-search-bg: hsl(208, 49%, 55%);
  --sidebar-bg: var(--nodo-bg);
  --sombra: 0 2px 8px rgba(0, 0, 0, 0.1);
  --sombra-hover: 0 8px 24px rgba(0, 0, 0, 0.15);
  --sombra-hover-big: 0 20px 40px rgba(0, 0, 0, 0.3);
  --tag-bg-1:hsl(214, 95%, 93%);
  --tag-bg-2: hsl(220, 14%, 96%);
  --tag-bg-3: hsl(217, 100%, 97%);
  --tag-clr-title: hsl(6, 63%, 46%); /*Etiquetas cuando aparecen en el título de una página */
  --td-padding: 0.625rem 1rem 0.625rem 1rem;
  --th-padding: 0.425rem 1rem 0.425rem 1rem;
  --tr-bg-clr: hsl(0, 0%, 100%);
  --tr-bg-clr-alt: hsl(216, 20%, 97%);
  --txt-ayuda: 13px;
  --txt-clr-blanco: hsl(0, 0%, 100%);
  --txt-clr-fecha-pub: hsl(216, 15%, 52%);
  --txt-clr-gray-600: hsl(215, 14%, 34%);
  --txt-clr-indx-categoria: hsl(0, 0%, 100%);
  --txt-clr-indx-lk: hsl(44, 85%, 76%);
  --txt-clr-indx-proceso: hsl(218, 11%, 75%);
  --txt-clr-negro-suave: hsl(0, 0%, 29%);
  --txt-clr-negro-medio: hsl(0, 0%, 20%);
  --txt-clr-negro-fuerte:hsl(0, 0%, 0%);
  --txt-wdth:  60ch;
  --txt-wdth-1: 60;
  --ul-margin-block: .5rem;
  /* SVG */
  --svg-sort-icon: url('data:image/svg+xml,<svg width="64px" height="64px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns" fill="%23787878" stroke="%23787878"><g id="SVGRepo_bgCarrier" stroke-width="0"/><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"/><g id="SVGRepo_iconCarrier"><title>icon/18/icon-sort</title><desc>Created with Sketch.</desc><defs></defs><g id="out" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage"><path d="M9.5,3 L13,8 L6,8 L9.5,3 L9.5,3 Z M6,11 L13,11 L9.5,16 L6,11 L6,11 Z" id="path" fill="%23000000" sketch:type="MSShapeGroup"></path></g></g></svg>');

  --svg-select-icon: url("data:image/svg+xml,%3csvg width='10' height='10' viewBox='0 0 18 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M18 1.49699C18 1.35271 17.9279 1.19038 17.8196 1.08216L16.9178 0.18036C16.8096 0.0721439 16.6473 0 16.503 0C16.3587 0 16.1964 0.0721439 16.0882 0.18036L9 7.26854L1.91182 0.18036C1.80361 0.0721439 1.64128 0 1.49699 0C1.33467 0 1.19038 0.0721439 1.08216 0.18036L0.180361 1.08216C0.0721442 1.19038 0 1.35271 0 1.49699C0 1.64128 0.0721442 1.80361 0.180361 1.91182L8.58517 10.3166C8.69339 10.4248 8.85571 10.497 9 10.497C9.14429 10.497 9.30661 10.4248 9.41483 10.3166L17.8196 1.91182C17.9279 1.80361 18 1.64128 18 1.49699Z' fill='%235D7585'/%3e%3c/svg%3e");

  --svg-external-link-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M12 9v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h3'/%3e%3cpolyline points='10,2 14,2 14,6'/%3e%3cline x1='8' y1='8' x2='14' y2='2'/%3e%3c/svg%3e");
}

/* Elementos de la página en Solo */
#page-wrapper {
  background-color: var(--page-bg);
}

#page-wrapper header.header {
  background-color: var(--nodo-bg);
}

.page-wrapper .solo-inner.header-inner {
  padding-block: 0;
}

.main-container {
  --r-bg: var(--page-bg);
  background: var(--r-bg);
  padding: 0 1rem;
}

.page-wrapper .solo-inner.main-container-inner {
  padding-block-start: 0rem;
}

.path-frontpage .solo-inner.main-container-inner {
  padding-block-start: 1rem;
}

.path-node .page-wrapper .solo-inner.main-container-inner .sidebar-box-main-inner {
  padding-inline: 2rem;
}

.main-container .sidebar-box-main {
  container-name: content;
  container-type: inline-size;
}

/* Breadcrumbs */

.breadcrumb {
  background-color: var(--page-bg);
}

#breadcrumb ul,
#breadcrumb ul li {
  background-color: transparent;
}

ul.breadcrumb-menu li > a {
  align-items: center;
  display: flex;
  padding-inline-end: 6px;
  padding-inline-start: 6px;
  padding-block: var(--solo-px16);
}

.page-wrapper .solo-outer.breadcrumb {
  border: none;
}
.breadcrumb-menu .li-1:nth-child(n+3):last-child .breadcrumb-title {
  max-width: 50ch;
  text-overflow: ellipsis;
  overflow: hidden;
  display: inline-block;
  white-space: nowrap;
}


/* Main content and right column size. Combinado con #sidebar-box-second max-wdith.*/
@media (min-width: 62rem) {
  .solo-col-3-1 {
    grid-template-columns: auto minmax(300px, max-content);
  }
}

/* Columna lateral izquierda y derecha */
#sidebar-box-first,
#sidebar-box-second {
  background-color: var(--sidebar-bg);
}

.sidebar-box-first-inner .solo-block,
.sidebar-box-second-inner .solo-block {
  background-color: var(--nodo-bg);
  padding: .5rem 1rem 1rem 1.5rem;
}

.sidebar-box-second-inner .solo-block:has(.vocabulario-bloque) {
  margin-block-end: .75rem;
  border-radius: .3rem;
}

.sidebar-box-second .sidebar-box-second-inner:has(.views-element-container) {
  background-color: var(--page-bg);
  padding: 0;
}

#sidebar-box-second {
  max-width: 22rem;
}

/* Headers */
.page-wrapper h1,
.page-wrapper h2,
.page-wrapper h3,
.page-wrapper h4,
.page-wrapper h5,
h1.page-title-text {
  font-family: var(--headers-fnt);
  font-size: var(--_font-size); /* Apply the custom font size */
  line-height: calc(1.3 * var(--_font-size));   /* Calculate line height based on respective font size */
  /* max-width: var(--headers-wdth); */
  color: var(--txt-clr-negro-fuerte);
}

h1, h2 { font-weight: 500; }
h3, h4, h5 { font-weight: 600; }

@media (min-width: 62rem) {
  .page-wrapper h1,
  .page-wrapper h2,
  .page-wrapper h3  {
    font-size: var(--_font-size);
    line-height: calc(1.3 * var(--_font-size)); /* Calculate line height based on respective font size */
  }
}

@media (max-width: 61.9999rem) {
  h2.view-page-title { font-size: var(--h1); }
  h2, h1.page-title-text { font-size: var(--h2);}
}

h1, h2.view-page-title { --_font-size: var(--h1); }

h2, h1.page-title-text,
.view-lista-contenido-etiquetas h2.view-page-title { --_font-size: var(--h2);}

h3, h2.comments__title { --_font-size: var(--h3);}

h4, .comment__content > h3, h2.solo-block-title { --_font-size: var(--h4); }

h5 { --_font-size: var(--h5);}

h1,
h2,
h1.page-title-text  {
  margin-block-end: 1rem;
  padding: 0;
}

.block-page-title-block h1.page-title-text {
  margin-block: 0 2rem;
}

h3, h4 {
  margin-block-start: .4rem;
  margin-block-end: .4rem;
}

/* Elementos básicos*/

.page-wrapper .main-container :is(h1, h2, h3, h4, th) a:not(.pagina-busqueda h4 a) {
  color: var(--txt-clr-negro-fuerte);
} /* Enlaces */

.page-wrapper a:not(.nav__menu-link, .button, .site-name-link, .site-logo, h1 a, h2 a, h3 a) {
  color: var(--lk-clr-2);
}

.page-wrapper a:not(.nav__menu-link, .button, .site-name-link, .site-logo, h1 a, h2 a, h3 a):hover {
  color: var(--lk-clr-1);
}

p {
  line-height: 1.58;
}

ul {
  margin-block: var(--ul-margin-block);
}

.page-wrapper a.img--is-clickable>img.solo-image {
  width: fit-content;
}

/* Animaciones */

.page-wrapper form input.button.form-submit:hover,
.page-wrapper a.img--is-clickable:hover>img.solo-image,
.page-wrapper a.img--is-clickable:hover>picture>img.solo-image {
  animation: none;
}

/* Bloques con listas de etiquetas en la columna lateral */
.page-wrapper .vocabulario-bloque .item-list ul {
  background-color: var(--nodo-bg);
  list-style-type: none;
}

.page-wrapper .vocabulario-bloque .item-list  ul li {
  position: relative;
  background-color: var(--nodo-bg);
  line-height: 1.2rem;
  padding: 0 0 0 .7rem;
  margin-block-end: .8rem;
}

.page-wrapper .vocabulario-bloque .item-list  ul li.solo-clear::before {
  content: "•";
  position: absolute;
  left: 0;
  color: currentColor; /* Use the same color as the text */
}

.vocabulario-bloque .more-link {
  text-align: right;
}

.vocabulario-bloque .more-link a {
  color: var(--lk-clr-1);
}

.vocabulario-bloque .more-link a:hover {
  text-decoration: underline;
}

/* Collapsiblock */
.collapsiblockTitle button {
  padding: 0;
  background: url("data:image/svg+xml,%3csvg width='22px' height='22px' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M6 8L10 12L14 8' stroke='%23000000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e") no-repeat right;
}

div.collapsiblockTitleCollapsed button {
  background-image: url("data:image/svg+xml,%3csvg width='20px' height='20px' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M8 6L12 10L8 14' stroke='%23000000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");
}

.collapsiblockTitle button[aria-expanded="false"] h2
 {
  margin: .35rem 0 .1rem 0;
}

.collapsiblockTitle button[aria-expanded="true"] h2 {
  margin: .35rem 0 1rem 0;
}

/* Tablas */

.page-wrapper .solo-responsive:has(.solo-table-all) {
  background-color: var(--nodo-bg);
  overflow: hidden;
}

.page-wrapper .solo-table-all,
.page-wrapper .solo-table-wrapper {
  border: none;
}

#page-wrapper .solo-table-all thead tr {
  background-color: var( --tr-bg-clr-alt);
  border-bottom: var(--brd-general);
}

#page-wrapper .solo-table-all thead th {
  white-space: nowrap;
}

@media (min-width: 50rem) {
  .page-wrapper .solo-table-all td {
    padding: var(--td-padding);
  }
  .page-wrapper .solo-table-all th {
    padding: var(--th-padding);
  }
}
.page-wrapper .solo-table-all tr {
  vertical-align: top;
  border-block-end: var(--brd-general);
}

.page-wrapper .solo-table-all tr:nth-child(odd) {
  background-color: var(--tr-bg-clr);
}

.page-wrapper .solo-table-all tr:nth-child(even) {
  background-color: var(--tr-bg-clr);
}

.page-wrapper .solo-table-all tr:last-child {
  border-bottom: none;
}

.page-wrapper .solo-table-all td {
  vertical-align: top;
  background: transparent;
}

.page-wrapper table tr td,
.page-wrapper table tr th {
 border: none;
}

.solo-table-all th.is-active {
  border-bottom: var(--brd-ancho);
}

.solo-table-all th a {
  display: flex;
  align-items: center;
}

.solo-table-all th:hover {
  background-color: var(--bg-azul-claro);
}

th.sortable-heading:not(.is-active) > a::after {
  content: "";
  display: inline-block; /* O 'block', según tu layout */
  width: 14px; /* Ajusta según el tamaño de tu ícono */
  height: 14px; /* Ajusta según el tamaño de tu ícono */
  background-image: var(--svg-sort-icon);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right;
  margin-left: .2rem; /* Opcional: añade espacio entre el texto y el ícono */
}

.tablesort {
  vertical-align: middle;
  margin-inline-start: .2rem;
  display: inline-block;
}

/* Tablas específicas */
/* Tabla Ofertas de trabajo */
.view-lista-ofertas-trabajo td.views-field-name-1 {
  white-space: nowrap;
}

.page-wrapper .view-lista-ofertas-trabajo .empleador a,
.page-wrapper .view-lista-cursos .organizador a {
  color: var(--txt-clr-negro-medio);
}
/* Views listas */

/* Tamaño del campo 'título´ en las listas cuando necesita un tamaño mayor a la fuente normal. */
.page-wrapper .lista-titulo-med {
  line-height: 1.25;
}

.page-wrapper .lista-titulo-med a {
  font-size: 1.05rem;
}

.lista-titulo-big {
  font-size: 1.25rem;
  line-height: 1.25;
  flex: 1;  /* Allows the title to shrink if needed */
  min-width: 0;  /* Allows text to wrap within the flex item */
}

/* View lista en forma de ficha, como en actividades */
.view-lista-contenido .header-view-listas,
.pagina-etiquetas .header-view-listas,
.nuevos-contenidos-pagina .header-view-listas {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
}
.view-lista-contenido-etiquetas .header-view-listas {
  margin-bottom: 0;
}

.view-lista-contenido-etiquetas h2.view-page-title {
  margin-block-end: .2rem;
}

.view-lista-contenido-etiquetas .etiqueta-campo-enlace {
  margin-block: 0 .3rem;
}

.view-lista-contenido .view-content:has(table) {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.view-lista-contenido .view-content {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 1.5rem;
}

@media (width < 450px) {
  .view-lista-contenido .view-content {
    grid-template-columns: 1fr;
  }
}

/* .view-lista-actividades .view-content > *:nth-child(even) {
  background-color: var(--tr-bg-clr-alt);
} */

.view-lista-contenido .view-content .views-row {
  container-name: lista-card;
  container-type: inline-size;
  padding: 1rem;
  margin-inline: 0;
  border: var(--brd-general-claro);
  border-radius: .75rem;
  transition: box-shadow 0.2s ease-in-out;
  line-height: 1.5;
  font-size: .9rem;
}


.view-lista-contenido .view-content .views-row > span.views-field {
  display: inline-block;
}

.view-lista-contenido .view-content .views-row > .views-field:not(:last-child) {
  margin-block-end: 1rem;
}

@container lista-card (width > 450px) {
  .view-lista-contenido .view-content .views-row > .views-field:not(:last-child) {
    margin-block-end: .5rem;
  }
}

.view-lista-contenido .view-content .views-row:hover {
  border: var(--brd-general);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.view-lista-contenido .view-content .views-row::before,
.view-lista-contenido .view-content .views-row::after {
  display: none;
}

.view-lista-contenido .views-field .field-content:has(.etiqueta-en-tabla) {
  display: flex;
  flex-wrap: wrap;
  gap: .2rem;
  margin-bottom: .75rem;
}

/* .view-lista-contenido .views-field .field-content-etiquetas {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
} */

.view-lista-contenido .views-field:last-child .field-content {
  margin-bottom: 0;
}

.view-lista-contenido span.views-field span.field-content {
  display: inline-block;
}

.view-lista-contenido .views-field-title .field-content {
  display: flex;
  justify-content: space-between;
  align-items: start;
  /* margin-bottom: 0; */
}

/* .view-lista-contenido .views-field .field-content {
  margin-bottom: 0.5rem;
} */

.etiquetas-destacadas {
    flex-shrink: 0;  /* Prevents the tags from shrinking */
    white-space: nowrap;  /* Keeps the tags on one line */
    margin-left: 1rem;  /* Adds some space between the title and tags */
}

/* Para hacer que el margen inferior del título en las listas de contenidos sea más pequeño. */
.field-content.margen-estrecho  {
  margin-bottom: .2rem;
}

.view-lista-contenido .views-field .views-label {
  font-weight: 600;
}


/* Responsive design - Views lista */
@container content (max-width: 768px) {
  .form-item-sort-by {
    display: none;
  }
}

@container content (max-width: 500px) {
  .view-lista-contenido .views-field-title .field-content {
    flex-direction: column;
    gap: 0.5rem;
  }
}

/* Views */
/* Número de elementos en la lista que aparece en la página */
.page-wrapper .resultados {
  background-color: var(--mensaje-bg);
  font-size: .9rem;
  width: fit-content;
  padding: .4rem .5rem;
  border-radius: .3rem;
}

h2 .etiqueta-page-title {
  color: var(--tag-clr-title);
  font-weight: 400;
}

/* Etiquetas en listas */

.page-wrapper .etiqueta-en-tabla,
.page-wrapper .etiqueta-en-tabla-destacada {
  align-items: center;
  border-radius: 9999px;
  padding: 0.25rem 0.75rem;
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  background-color: var(--tag-bg-2);
  margin: 0 0.25rem 0.25rem 0;
}

.page-wrapper .etiqueta-en-tabla-1 {
  background-color: var(--tag-bg-1);
}

.etiqueta-en-tabla:hover {
  background-color: var(--bg-azul-claro);
}

.page-wrapper .etiqueta-en-tabla a {
  color: var(--txt-clr-gray-600);
}

.page-wrapper .etiqueta-en-tabla- a:hover {
  color: var(--lk-clr-2);
}

.page-wrapper .etiqueta-en-tabla-destacada {
  background-color: var(--tag-bg-1);
  line-height: 2;
}

/* Exposed forms */
form.views-exposed-form .form--inline {
  font-size: .9rem;
  margin: 0 1rem 1.5rem 1rem;
  background-color: var(--tr-bg-clr-alt);
  padding: 0.25rem 0.5rem;
  width: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  gap: 1rem;
}

form.views-exposed-form .form--inline .solo-select {
  padding-block: .5rem;
  background-image: var(--svg-select-icon);
  background-color: var(--nodo-bg);
}

#page-wrapper form.views-exposed-form .form--inline .form-item-combine {
  flex: 1 1 6rem;
  max-width: 25rem;
}

/* Botón volver a lista completa en views filtradas por etiquetas */
#page-wrapper a.boton-volver-lista {
  display: inline-block;
  background-color: var(--btn-bg);
  border-radius: 4px;
  padding-block: .25rem;
  padding-inline: .5rem;
  margin-bottom: 24px;
  color: var(--btn-txt-clr);
  font-size: .8rem;
}

#page-wrapper a.boton-volver-lista:hover {
  background-color: var(--btn-bg-hover);
}

/* Common styles for both buttons */
#page-wrapper form.views-exposed-form .button[type="submit"] {
  background-color: var(--btn-bg);
  border-radius: 4px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.25rem;
  min-width: 2.5rem;
  height: 2.5rem;
  border: none;
  cursor: pointer;
  font-size: 0;
  margin-inline: .4rem;
}

#page-wrapper form.views-exposed-form .button[type="submit"]:hover {
  background-color: var(--btn-bg-hover);
}

/* Specific styles for submit button */
form.views-exposed-form .button[type="submit"]:not(#edit-reset) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3'%3E%3C/path%3E%3C/svg%3E");
}

/* Specific styles for reset button */
form.views-exposed-form .button[type="submit"]#edit-reset,
#page-wrapper form.bef-exposed-form .button[name="reset"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15'%3E%3C/path%3E%3C/svg%3E");
}

form.views-exposed-form input.button[type="submit"]:hover {
  background-color: var(--btn-bg-hover);
  color: var(--btn-txt-clr);
  box-shadow: none;
}

form.views-exposed-form label {
  color: var(--txt-clr-negro-suave);
}

.page-wrapper .solo-input:focus,
.page-wrapper .solo-select:focus {
  box-shadow: none;
}

/* Enlaces en header a cuenta, salir y entrar */
.page-wrapper .header li.nav__menu-item>a,
.page-wrapper .search-button-open button {
  background-color: transparent;
  color: var(--txt-clr-negro-fuerte);
}

/* Better exposed forms */
#page-wrapper .views-exposed-form .exposed-form details {
    width: fit-content;
    display: inline;
}

/* Trabajo - Recursos */
.articulo-container {
  padding: 1rem;
}

.articulo-indice {
  margin-block: 2rem;
}

ul.lista-indice {
  list-style-type: none;
}

ul.lista-3-columnas {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  row-gap: .5rem;
}

ul.lista-2-columnas {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 2rem;
}

.articulo-lista-contenidos h3 {
  margin-block-start: 3rem;
}

@media (max-width: 50rem) {
  ul.lista-3-columnas,
  ul.lista-2-columnas {
    grid-template-columns: 1fr;
  }
}

/* TB MEGA MENU - NAVEGACIÓN */

@media (min-width: 45rem) {
  .page-wrapper .primary-menu {
      position: sticky;
      top: 0;
    }
}

.page-wrapper .tbm-nav.level-0,
.tbm-link.level-1:focus,
.tbm-item.level-1:has(> .tbm-link-container),
.tbm-item.level-1 > .tbm-link-container {
  background-color: var(--menu-bg-clr);
}

.tbm-item.level-1:has(> .tbm-link-container) {
  border-right: 1px solid white;
}

.tbm-link.level-1:is(a, span) {
  color: var(--menu-lk-clr);
  padding: .75rem 1.25rem;
  text-transform: uppercase;
  font-size: .8rem;
  position: relative;
}

.tbm-item--has-dropdown .tbm-link.level-1 {
  padding: .75rem 1.75rem .75rem 1.25rem;
}

.tbm-item--has-dropdown .tbm-link.level-1::after {
  content: "▸";
  position: absolute;
  right: 10px;
  color: var(--menu-lk-clr);
  transition: transform 0.3s ease;
  font-size: 1.2rem;
}

/* Keep the arrow black and rotated when parent li is hovered */
.tbm-item--has-dropdown:hover .tbm-link.level-1::after {
  transform: rotate(90deg);
}

.page-wrapper .tbm-link.level-1:hover,
.tbm-item--has-dropdown:hover .tbm-link.level-1 {
  background-color: hsl(195, 96%, 49%);
  color: white;
}

.tbm-item.level-1.open>.tbm-submenu {
  display: block;
  overflow: visible;
  clip-path: none;
  height: auto;
}

.tbm-submenu {
  background-color: #fff;
  border-radius: 0;
  border-top-width: 0;
  border: 1px solid rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  padding: .5rem 1rem;
  box-sizing: border-box;
  left: auto;
  position: absolute;
  top: 100%;
  width: fit-content;
}

.page-wrapper .tbm-item.level-2 {
  background-color: white;
  font-size: .9rem;
}

.page-wrapper .tbm-item.level-2:not(:last-child) {
  border-bottom: var(--brd-general-claro);
}

@media (max-width: 45rem) {
  .page-wrapper .tbm-item.level-2 {
      border-bottom: var(--brd-general-claro);
    }
}

.menu-submenu-3col .tbm-row {
  column-gap: 2.5rem;
}

.menu-submenu-2col .tbm-row {
  column-gap: 1.5em;
}

.menu-submenu-1col .tbm-submenu {
  width: 200px;
}

/* Replace inicio with an icon */
/* Style for the home icon container */
.tbm-item.level-1:first-child .tbm-link-container {
  display: flex;
  align-items: center;
  height: 100%;
}

/* Style for the home icon link */
@media (min-width: 45rem) {
  .tbm-item a[href="/"] {
      font-size: 0;
      /* Hide the text */
      display: flex;
      align-items: center;
      justify-content: center;
      width: 20px;
      height: 20px;
      padding: 8px 20px 8px 15px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 10L12 5L19 10L19 19L14 19L14 15L10 15L10 19L5 19Z' fill='white' stroke='white' stroke-width='0.5'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
    }
}

/* Apply hover effect to the link container */
.tbm-item.level-1:first-child .tbm-link-container:hover {
  background-color: hsl(195, 96%, 49%);
}

/* For accessibility */
.tbm-item a[href="/"]:after {
  content: "Home";
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* Hamburger */
.tbm-button {
  background-color: var(--menu-bg-clr);
  border: none;
  margin: 0;
}

/* Color de las barras del hamburger */
.tbm-button-container span {
  background-color: hsl(0, 0%, 100%);
}

.tbm.tbm--mobile .tbm-collapse {
  padding-top: 0;
  width: 13rem;
  box-shadow: 1px 4px 5px 0px rgba(0, 0, 0, 0.3);
}

.tbm.tbm--mobile .tbm-submenu-toggle {
  display: none;
}

.tbm.tbm--mobile .tbm-item.level-1.open .tbm-submenu .tbm-row {
  border-right: var(--brd-general);
}

.tbm.tbm--mobile .tbm-submenu .tbm-link {
  padding: .3rem 1.25rem;
}
.tbm-subnav>.tbm-item>.tbm-link-container>.tbm-link {
    padding-left: .2rem;
}

.tbm-subnav>.tbm-item>.tbm-link-container>.tbm-link:hover {
  background-color: var(--bg-azul-claro);
  color: var(--txt-clr-negro-fuerte);
}

/* .tbm-submenu .tbm-link:hover {
  background-color: var(--bg-azul-claro);
  color: var(--txt-clr-negro-fuerte);
} */

.tbm.tbm--mobile .tbm-item {
  border-top: none;
}

/* NODOS */
.nodo-wrapper {
  display: grid;
  grid-template-columns: 1fr auto;
  min-width: 0; /* Prevents grid items from overflowing */
  gap: 1.5rem;
}

.nodo-contenidos {
  min-width: 0; /* Critical for preventing overflow */
  overflow: hidden;
}

/* Para que la columna derecha en los nodos con bloque de etiquetas se oculte antes. */
@media (max-width: 68rem) {
  .path-node:has(.nodo-etiquetas) .main-container-inner.left-main-right {
    grid-template-columns: 1fr;
  }

  .path-node:has(.nodo-etiquetas) .multi>.solo-col {
    grid-auto-flow: unset;
  }
}

.nodo-info-con-imagen {
  display: grid;
  grid-template-columns: auto 150px;
}

.nodo-info-con-imagen> :only-child {
  grid-column: 1 / -1;
  /* Span all available columns */
}

.nodo-info-con-imagen .nodo-info {
  padding: 0 1rem 1.5rem 0;
}

.nodo-info {
  display: grid;
  /* First column: use max-content but cap at 30% of container width */
  grid-template-columns: fit-content(30%) 1fr;
  padding: 0 auto 1.5rem;
}

/* Style for all labels - they will be in the first column */
.nodo-info .field__label,
.nodo-info .nodo-combinar-campos > label {
  grid-column: 1;
  padding: .6rem 2rem .6rem 1.5rem;
  background-color: var(--nodo-info-bg-clr);
  font-weight: bold;
  color: var(--nodo-info-labeL-clr);
  border-bottom: var(--brd-general-claro);
  box-sizing: border-box;
}

/* Style for field items containers and combined fields */
.nodo-info .field__items,
.nodo-info .nodo-combinar-campos-contenido,
.nodo-info .field > .field__item:not(.field__items *) /* Style for field items that are direct children (not inside field__items) */ {
  grid-column: 2;
  padding: .6rem 1.5rem;
  border-bottom: var(--brd-general-claro);
  box-sizing: border-box;
}

.nodo-combinar-campos-contenido-vertical .field:not(:last-child) .field__items {
  border: none;
  padding-block-end: 0;
}

.nodo-combinar-campos-contenido-vertical .field:nth-child(2) .field__items {
  padding-block-start: 0;
}

.nodo-combinar-campos-contenido-vertical .field--type-link a::before,
.etiqueta-campo-enlace a::after {
  content: "";
  background-size: contain;
  background-image: var(--svg-external-link-icon);
  background-repeat: no-repeat;
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: text-bottom;
  margin-inline-end: 2px;
}

.etiqueta-campo-enlace a::after {
  margin-inline: 2px 0;
}

/* Remove grid styles from field items inside field__items */
.nodo-info .field__items .field__item {
  grid-column: auto;
  padding: 0;
  border-bottom: none;
}

.nodo-info .field--type-link a {
  max-width: 100%;
  display: inline-block;
  word-break: break-all;
  overflow-wrap: break-word;
}

.nodo-info .field--name-field-actividades-materiales-ext.field--type-link a {
  word-break: normal;
}

/* Each field needs to span both columns to create proper rows */
.nodo-info .field,
.nodo-info .nodo-combinar-campos {
  display: contents;
  /* This makes children become direct children of the grid */
}

.nodo-combinar-campos-contenido {
  display: flex;
  flex-direction: row;
  column-gap: .4rem;
}

.nodo-combinar-campos-contenido.nodo-combinar-campos-contenido-fecha {
  column-gap: .2rem;
}

/* Para hacer que los campos en nodo info con más de un elemento se muestren en línea, no en columna */
.nodo-info :is(div[class*="autor"], div[class*="temas"], div[class*="conjugacion-modos-verbales"], div[class*="conjugacion-tiempos"], div[class*="tipo"]:not([class*="tipo-contrato"]), div[class*="conjugacion-autor"], div[class*="etiquetas"], div[class*="diccionario-lenguas"], div[class*="clasificacion"], div[class*="contenido-gramatical"], div[class*="manuales-nivel"], div[class*="manuales-destinatarios"], div[class*="categoria"], div[class*="formato"], div[class*="idioma"], div[class*="disciplina"], div[class*="plataforma"], div[class*="precio"]) .field__items {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: .3rem;
}

/* Añadir coma después de cualquier campo que no sea el último */
.nodo-combinar-campos-contenido .field:not(:last-of-type) .field__item::after,
.page-node-type-bibliografia .nodo-combinar-campos-contenido > .field:not(:last-of-type) a::after,
.nodo-info :is(div[class*="autor"]) .field__item:not(:last-of-type)::after {
  content: ", ";
  color: var(--txt-clr-negro-medio);
}

.nodo-combinar-campos-contenido.nodo-combinar-campos-contenido-fecha .field:not(:last-of-type) .field__item::after {
  content: " al ";
}

/* Override styles for nested items */
.nodo-info .nodo-combinar-campos-contenido .field__items,
.nodo-info .nodo-combinar-campos-contenido .field .field__item {
  padding: 0;
  border-bottom: none;
}

.nodo-info .field--label-inline .field__label::after {
  content: "";
}

/* Responsive design */
@media (max-width: 42rem) {
  .nodo-info {
    grid-template-columns: 1fr;
  }

  .nodo-info .field__label,
  .nodo-info .nodo-combinar-campos > label,
  .nodo-info .field__items,
  .nodo-info .field>.field__item:not(.field__items *),
  .nodo-info .nodo-combinar-campos-contenido {
    grid-column: 1;
    /* All elements in single column */
  }

  .nodo-info .field__label,
  .nodo-info .nodo-combinar-campos>label {
    border-bottom: none;
  }

  .nodo-info .field__items,
  .nodo-info .field>.field__item:not(.field__items *),
  .nodo-info .nodo-combinar-campos-contenido {
    padding-top: 0;
    margin-block-start: .3rem;
  }
}

.nodo-texto {
  margin: 1.5rem 0;
  padding: 0 1.5rem 0 1rem;
  border-left: 4px solid;
}

/* Para que los enlaces en los campos de texto, sin son muy largos no provoquen overflow. */
/* .nodo-texto p a {
  word-break: break-all;
  overflow-wrap: break-word;
} */

/* Para que se mantenga el margen entre los bloques de texto y con nodo-info */
.nodo-contenidos .nodo-texto {
  margin: 3rem 0;
}

.nodo-texto label {
  font-size: var(--h4);
  margin: 0 0 1rem;
  border-bottom: 2px solid #bdc3c7;
  padding-bottom: .2rem;
}

.nodo-texto-1 {
  border-left-color: #3498db;
}

.nodo-texto-2 {
  border-left-color: #2ecc71;
}

.nodo-texto-3 {
  border-left-color: #e67e22;
}

/* Nodo etiquetas */
/* Container de etiquetas */
.nodo-etiquetas {
  background-color: var(--nodo-etiquetas-container-bg);
  border: var(--nodo-etiquetas-container-brd);
  border-radius: .25rem;
  padding: 0 .5rem .5rem;
  height: fit-content;
}

.nodo-etiquetas h4 {
  border-bottom: var(--brd-general-claro);
  padding-block: .2rem;
}

.nodo-etiquetas .taxonomy-term-entity {
  padding: .5rem;
  margin: 0;
}

.nodo-etiquetas .taxonomy-term-entity:not(:last-child) {
  border-block-end: var(--brd-general-claro);
}

.nodo-etiquetas .field__items {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: .2rem;
  max-width: 14rem;
  width: 100%;
}

/* Diseño de las etiquetas */
.nodo-etiquetas .field__item,
.nodo-info :is(div[class*="temas"], div[class*="conjugacion-modos-verbales"], div[class*="conjugacion-tiempos"], div[class*="tipo"]:not([class*="tipo-contrato"]), div[class*="etiquetas"], div[class*="diccionario-lenguas"], div[class*="clasifica"], div[class*="contenido-gramatical"], div[class*="manuales-nivel"], div[class*="manuales-destinatarios"], div[class*="categoria"], div[class*="formato"], div[class*="idioma"], div[class*="disciplina"], div[class*="cursos"], div[class*="plataforma"],
div[class*="precio"]) .field__items .field__item,
.page-wrapper .nodo-info :is(div[class*="diccionario-acceso"], div[class*="revista-actividad"], div[class*="tipo"]) > .field__item a {
  border-radius: 3px;
  border: var(--nodo-etiquetas-etiqueta-brd);
  background-color: var(--nodo-etiquetas-etiqueta-bg);
  padding: .1rem .4rem;
  font-size: .9rem;
  height: fit-content;
  width: fit-content;
  display: block;
}

.page-node-type-actividades .nodo-etiquetas .field__item:hover,
.nodo-info :is(div[class*="temas"], div[class*="conjugacion-modos-verbales"], div[class*="conjugacion-tiempos"], div[class*="tipo"]:not([class*="tipo-contrato"]), div[class*="etiquetas"], div[class*="diccionario-lenguas"], div[class*="clasificacion"], div[class*="contenido-gramatical"], div[class*="manuales-nivel"], div[class*="manuales-destinatarios"], div[class*="categoria"], div[class*="formato"], div[class*="idioma"], div[class*="disciplina"], div[class*="cursos"], div[class*="plataforma"], div[class*="precio"]) .field__items .field__item:hover,
.page-wrapper .nodo-info :is(div[class*="diccionario-acceso"], div[class*="tipo"], div[class*="revista-actividad"]) > .field__item a:hover {
  background: #e3f2fd;
}

.page-node-type-actividades .nodo-etiquetas a {
  color: var(--nodo-etiquetas-etiqueta-txt-clr);
}

@media (max-width: 50rem) {
  .nodo-wrapper {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .nodo-etiquetas .field__items {
    max-width: fit-content;
  }
}

/* Login page */
.main-box-inner:has(.user-login-form) {
  max-width: 40rem;
  margin-inline: auto;
  border-radius: .35rem;
}

.user-login-form .form-item {
  margin-block-end: 1rem;
}

/* File icono */
.file:not(.imce-item) {
  display: inline-block;
  min-height: 1.5rem;
  padding-inline-start: 1.3rem;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 1rem 1.5rem;
}

/* Páginas lista de etiquetas */
.pagina-etiquetas hgroup {
  margin: 0 1rem;
}

.pagina-etiquetas .views-view-grid.horizontal .views-row:nth-child(even) {
  background-color: var(--tr-bg-clr-alt);
}

.pagina-etiquetas .views-view-grid .views-col {
  padding-block: .75rem;
  line-height: 1.3;
}

.pagina-etiquetas .etiqueta-campo-enlace a {
  font-size: .875rem;
  color: var(--lk-clr-1);
}

.pagina-etiquetas .etiqueta-campo-enlace a:hover {
  color: var(--lk-clr-2);
}

/* Pager - Paginación */
.pager {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--solo-px8);
  margin: var(--solo-px24) 0;
}

.pager__items {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
}

.pager__item {
  display: flex;
  align-items: center;
}

.page-wrapper .pager__item:has(a):hover {
  border: var(--brd-pager-items);
  border-radius: .25rem;
}

.page-wrapper .pager__item a {
  display: inline-block;
  padding: 0;
  border: none;
  text-decoration: none;
  color: var(--txt-clr-negro-suave);
  font-size: .9rem;
}

.page-wrapper .pager__item.solo-active-pager{
  border: var(--brd-pager-items);
  border-radius: .25rem;
}

.pager__item.solo-active-pager a {
  font-weight: normal;
  cursor: default;
}

/* Atlas ELE */
.atlas-portada-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: start;
  /* padding-inline-end: 2rem; */
}

.atlas-portada-izquierda {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-block-start: .4rem;
}

.atlas-bloque-capitulos .views-row,
.atlas-bloque-capitulos .view-header {
  line-height: 2;
}

/* Coordinadoras section */
.coordinadoras-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

/* ATlas Images section portada */
.atlas-portada-imagenes {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  justify-content: space-between;
}

.atlas-imagen {
  flex: 1;
}

.atlas-imagen img {
  width: 100%;
  height: auto;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Text content */
.atlas-portada-texto > p {
  text-align: justify;
}

.atlas-media {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

/* Atlas portada volumen */
.atlas-portada-volumen-wrapper-0 {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: center
}

.atlas-portada-volumen-wrapper {
  display: grid;
  grid-template-columns: 1fr 2fr;
  align-items: start;
  /* padding-inline-end: 1rem; */
  gap: 2rem;
 }

.atlas-imagen-volumen {
  margin-block-start: 1rem;
 }

.map-responsive {
  position: relative;
  width: 80%;
  aspect-ratio: 16 / 12;
  overflow: hidden;
}

.map-responsive.map-responsive-1 {
  aspect-ratio: 16 / 9;
}

.map-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.youtube-responsive {
  width: 80%;
  aspect-ratio: 16 / 9;
  /* Standard YouTube aspect ratio */
}

.youtube-responsive iframe {
  width: 100%;
  height: 100%;
}

/* Atlas nodo autores */
.atlas-autor-cabecera {
  /* font-size: 1.2em; */
  font-weight: bold;
  margin-bottom: .5rem;
  color: #333;
}

.atlas-autor-caja {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: flex-start;
}

.atlas-autor {
  flex: 0 0 auto;
  /* Don't grow or shrink, size to content */
}

.atlas-autor-nombre {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  line-height: 1.4;
}

.atlas-autor-nombre img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 50%;
  flex-shrink: 0;
  /* Prevent image from shrinking */
}

/* Responsive design */
@media (max-width: 1024px) {
  .atlas-portada-wrapper {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .coordinadoras-grid {
    grid-template-columns: 1fr;
  }

  .atlas-portada-imagenes {
    justify-content: center;
  }

  .atlas-imagen {
    max-width: 300px;
  }
}

@media (max-width: 750px) {
  .atlas-portada-volumen-wrapper {
    grid-template-columns: 1fr;
  }

  .atlas-imagen-volumen {
      justify-self: center;
  }

  .atlas-imagen-volumen img {
      max-width: 300px;
  }
}

@media (max-width: 500px) {
  .atlas-portada-imagenes {
    flex-direction: column;
    align-items: center;
  }

  .atlas-imagen {
    max-width: 300px;
  }
}
/* Atlas fin */
/* details */
summary {
  font-weight: 600;
  cursor: pointer;
}

/* Página lista de enlaces para publicar */
.page-wrapper .indice.publicar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1rem;
  margin-inline: 0;
}

.indice-enlaces {
  display: flex;
  flex-direction: row;
  gap: 3rem;
}

.indice-grupo-nombre {
  font-size: var(--h4);
  color: var(--txt-clr-indx-categoria);
}

ul.indice-grupo-secciones {
  padding-inline: 1rem;
}

.indice-leyenda {
  border: var(--brd-general);
  border-radius: .5rem;
  padding: 1rem;
  background-color: var(--bg-instrucciones);
  color: var(--txt-clr-negro-medio);
  font-size: .9rem;
}

.svg-creative-commons {
  width: 8rem;
}

/* Página índice */

.page-wrapper .indice {
  display: flex;
  flex-wrap: wrap;
  background-color: var(--bg-negro);
  gap: 1.5rem;
  padding: 2rem;
}

.page-wrapper .indice-grupo {
  margin-block-end: 1.5rem;
}

.page-wrapper .indice ul li::marker {
  color: var(--txt-clr-blanco);
}

.page-wrapper .indice-grupo-secciones a {
  color: var(--txt-clr-indx-lk);
}

.page-wrapper .indice-grupo-secciones li.en-proceso a {
  color: var(--txt-clr-indx-proceso);
}

.page-wrapper .indice-grupo-secciones a:hover {
  color: var(--txt-clr-indx-lk);
  text-decoration: underline;
}

.indice-columna:has(.indice-leyenda) {
  flex-basis: 15rem;
  flex-grow: 1;
  /* This makes it take up remaining space */
}

@media (max-width: 65rem) {
  .page-wrapper .indice {
    justify-content: center;
  }

  .indice-columna:has(.indice-leyenda) {
    flex-basis: 30rem;
    flex-grow: 0;
    /* Reset flex-grow when wrapping */
  }
}

/* Páginas para publicar contenidos */
body:not(.user-logged-in) .main-box-inner:has(form.node-form) {
  max-width: 45rem;
}

body:not(.user-logged-in) .main-box:has(form.node-form) {
  align-items: center;
  /* Centers horizontally */
}

body:not(.user-logged-in) .node-form .layout-region-node-main {
  width: 100%;
}

.node-form .layout-region-node-main {
  box-shadow: none;
  border: none;
}

.node-form .layout-region-node-secondary {
  box-shadow: none;
  border: var(--brd-general);
}

.node-form .layout-region-node-footer {
  display: flex;
  width: 100%;
  justify-content: flex-start;
  box-shadow: none;
  border: none;
  padding: 0;
  margin: 0 0 0 0;
}

/* Cuadro con instrucciones para publicar */
.publicar-indicaciones-generales {
  max-width: 37.5rem;
  border: var(--brd-general);
  border-radius: .5rem;
  background-color: var(--bg-instrucciones);
  padding: 1rem;
  margin: 1rem;
}

/* Botones general */
#edit-submit {
  background-color: var(--btn-submit-bg);
  color: var(--btn-txt-clr);
  padding: .5rem 1rem;
}

#edit-submit:hover {
  background-color: var(--btn-submit-bg-hover);
}
/* Fin botones general */

/* Botones en la página para publicar */
.node-form .button.form-submit {
  background-color: var(--btn-bg-gris);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
  color: var(--txt-clr-negro-medio);
  font-weight: 600;
  font-size: .9rem;
  padding: 3px 16px;
  border-radius: 3px;
}

.node-form .button.form-submit:hover {
  background-color: var(--btn-bg-gris-hover);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
  border: none;
  color: var(--txt-clr-negro-medio);
  animation: none;
  transition: none;
}

.node-form .button.form-submit:not(:focus) {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
  border: none;
  color: var(--txt-clr-negro-medio);
  animation: none;
  transition: none;
}

.layout-node-form .form-item label {
  font-weight: 600;
  padding: 0 0 .25rem 0;
}

.layout-node-form .form-type-checkbox label {
  font-weight: normal;
}

form.node-form fieldset {
  border: none !important;
}

.node-form .layout-region-node-footer__content {
  padding: 0;
  margin: 1rem 0;
}

.node-form .layout-region-node-footer .form-actions {
  gap: 1.5rem;
  flex: 0 0 100%;
}

/* Esto es para evitar que aparezca un icono circular que marca el progreso en los campos de texto de etiquetas. */
.js input.form-autocomplete {
  background: none;
  background-repeat: no-repeat;
}

.node-form input[type="text"],
.node-form input[type="email"] {
  border: var(--brd-general);
  background-color: var(--nodo-bg);
  box-shadow: none;
  box-sizing: border-box;
}

.node-form input[type="text"]:hover,
.node-form input[type="email"]:hover,
.node-form input[type="text"]:focus,
.node-form input[type="email"]:focus {
  border: var(--brd-general);
  box-shadow: 0 0 0 1px hsl(0, 0%, 20%);
  /* Add 1px shadow for thickness effect */
}

/* Campo para subir archivos */
.node-form input[type="file"] {
  border: var(--brd-general);
  box-shadow: none;
  width: fit-content;
}

div.field--name-field-subir-archivos {
  box-sizing: border-box;
  padding: 1rem;
}

.page-wrapper .node-form details.form-wrapper {
  box-shadow: none;
  border-radius: .5rem;
  border: var(--brd-general);
  padding: 1rem !important;
}
.page-wrapper .node-form details.form-wrapper summary {
  padding: 0 0 1rem 0;
}
.page-wrapper .node-form details.form-wrapper .details-wrapper {
  padding: 0;
  margin: 0;
}
/* Fin campo para subir archivos */

/* Texto ayuda en los campos de texto y subir archivos. */
.texto-ayuda-campo {
  font-size: var(--txt-ayuda);
  line-height: 1rem;
}

/* Campo enlace a materiales externos */
body:not(.user-logged-in) .field--type-link.form-wrapper .tabledrag-toggle-weight-wrapper {
  display: none;
}

.node-form .field--type-link {
  border: var(--brd-general);
  padding: 0;
  margin-inline: 1rem;
  border-radius: .5rem;
  overflow: hidden;
}

.node-form .field--type-link:not(:has(table)) {
  border: none;
}

.node-form .field--type-link .field-add-more-submit {
  margin-inline-start: 1rem;
}

body:not(.user-logged-in) .node-form .field--type-link .field-multiple-table .tabledrag-hide,
body:not(.user-logged-in) .node-form .field--type-link .field-multiple-table .field-multiple-drag {
  display: none;
}

.node-form .field--type-link .field-multiple-table th h4 {
  font-weight: 600;
  padding: 0;
}

.node-form .field--type-link .field-multiple-table tr td:nth-of-type(3) {
  vertical-align: middle;
}

/* Campos de texto */
.node-form textarea {
  border: var(--brd-general-claro);
}

/* Para agrupar campos de etiquetas en un bloque */
div.field-grupo-etiquetas {
  display: flex;
  flex-direction: row;
  gap: 2rem;
  border:var(--brd-general);
  border-radius: 5px;
  padding: 0 2rem;
  margin: 1rem;
  font-size: .9rem;
}

div.field-grupo-etiquetas legend {
  font-weight: 600;
}

@media (max-width: 40rem) {
  div.field-grupo-etiquetas {
    flex-direction: column;
    gap: 1rem;
  }
}

/* Para que no se muestre el selector del estado del envío para usuarios no registrados. */
body:not(.user-logged-in) #edit-moderation-state-0 {
  display: none;
}

body:not(.user-logged-in) .layout-region-node-secondary {
  display: none;
}

/* ckeditor */
.node-form .ck-editor__top {
  border: none !important;
}

.node-form .ck-editor__main {
  border: var(--brd-general) !important;
}

form.node-form .ck-label {
  display: none;
}

body:not(.user-logged-in) .node-form [id$="-0-format"] {
  display: none;
  border: none;
}

/* Portada / Frontpage */

.path-frontpage .main-container {
  display: none;
}

.path-frontpage .top-container,
.path-frontpage .bottom-container,
.path-frontpage .footer-container {
  --r-bg: var(--portada-presentacion-bg);
  background: var(--r-bg);
  padding: 1.5rem 2rem 4rem 2rem;
}

.path-frontpage .top-container .top-box-inner,
.path-frontpage .bottom-container .bottom-box-inner,
.path-frontpage .footer-container .footer-box-inner
 {
  --r-bg: var(--portada-presentacion-bg);
  background-color: var(--r-bg);
  padding: 0;
}

/* Portada Frontpage bloque descripción */
#block-solo-sub-presentacion {
  background-color: var(--nodo-bg);
  border-radius: .625rem;
  border: var(--brd-general-claro);
  padding: 1rem 2rem;
  overflow: hidden;
}

.destacado-card__pie {
  margin-top: 10px;
  display: inline-block;
}

.page-wrapper .destacado-card__pie a {
  color: hsl(0, 0%, 100%);
  display: inline-block;
  margin: 3px 5px 0 0;
  padding: 4px 10px;
  border: #26a69a 1px solid;
  background-color: hsl(174, 63%, 40%);
  opacity: 1;
  border-radius: 5px;
}

.page-wrapper .destacado-card__pie a:hover {
  text-decoration: none;
  background-color: hsl(0, 0%, 100%);
  color: var(--txt-clr-negro-fuerte);
}

.destacado-card__pie-redes-sociales {
  margin: 25px 0 0 0;
}

.destacado-card__pie-redes-sociales>div {
  display: inline-block;
  margin-right: 10px;
}

.svg-twitter-color,
.svg-facebook-color,
.svg-youtube-color,
.svg-linkedin-color,
.svg-reddit-color,
.svg-bluesky-color {
  width: 32px;
  height: 32px;
  filter: grayscale(1);
}

.destacado-card__pie-redes-sociales a:hover svg {
  filter: grayscale(0);
}

@media (min-width: 62rem) {
  .path-frontpage .top-container-inner.solo-col-1-1 {
    grid-template-columns: 64% 34%;
  }
}

/* Search form portada */
/* Frontpage formulario búsqueda */
.path-frontpage .top-container .formulario-busqueda {
  background-color: var(--portada-search-bg);
  padding: 1.2rem;
  border-radius: .625rem;
  border: var(--brd-general-claro);
}

/* Búsqueda en la cabecera que aparece en todas las páginas. */
.fixed-search-block .solo-search-block-form {
  grid-template-columns: 20fr minmax(9rem, 1fr);
}

.path-frontpage .top-container .formulario-busqueda h3 {
  color: white;
  margin-block-start: 0;
}

/* Form container positioning */
.top-container .solo-search-block-form {
  position: relative;
  display: flex;
  align-items: center;
}

/* Input field container */
.top-container .solo-search-block-form .form-item {
  position: relative;
  flex: 1;
  margin: 0;
}

/* Style the input field */
.path-frontpage .top-container .solo-input {
  width: 100%;
  padding: 10px 50px 10px 20px;
  border: none;
  border-radius: 25px;
  font-size: 16px;
  outline: none;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  background: white;
  color: #333;
  box-sizing: border-box;
}

.path-frontpage .top-container .solo-input::placeholder {
  color: transparent;
}

.path-frontpage .top-container .solo-search-block-form .form-type-search::before {
  display: none;
}

/* Position the form actions container */
.top-container .solo-search-block-form .form-actions {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  display: block !important;
}

/* Transform the submit button into a search icon - with stronger specificity */
.top-container .solo-search-block-form .form-actions .search-button-block,
.top-container .solo-search-block-form .form-actions input[type="submit"] {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  border: none !important;
  border-radius: 50% !important;
  background: transparent !important;
  cursor: pointer;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0 !important;
  transition: background-color 0.3s ease;
  position: relative;
  outline: none;
  display: block !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  box-sizing: border-box !important;
  text-indent: -9999px !important;
  /* Alternative way to hide text */
  overflow: hidden !important;
  /* SVG as background image */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666'%3E%3Cpath d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") !important;
  background-size: 24px 24px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

.top-container .solo-search-block-form .form-actions .search-button-block:hover,
.top-container .solo-search-block-form .form-actions input[type="submit"]:hover {
  background-color: rgba(0, 0, 0, 0.1) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23333'%3E%3Cpath d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") !important;
}

/* Frontpage - Enlaces destacados */
/* .path-frontpage .page-wrapper .enlaces-destacados {
  background-color: var(--nodo-bg);
  padding: .5rem 1rem;
  margin-block: .5rem;
  border: var(--brd-general);
  border-radius: .625rem;
}

.path-frontpage .page-wrapper .enlaces-destacados h4 {
  font-size: var(--h5);
  margin-block: .5rem;
  border-bottom: var(--brd-general);
  padding-block-end: .5rem;
}
.path-frontpage .page-wrapper .enlaces-destacados h4:last-child {
  border: none;
  padding-block-end: 0;
}

.path-frontpage .page-wrapper .enlaces-destacados h4 a {
  color: inherit;
  display: block;
} */

/* Opción 1: Borde izquierdo + iconos */
.path-frontpage .page-wrapper .enlaces-destacados {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-block-start: 1.5rem;
}

.path-frontpage .page-wrapper .enlaces-destacados h4 {
  margin: 0;
  border-left: 4px solid;
  padding: .5rem;
  border-radius: 0 6px 6px 0;
  background: var(--nodo-bg);
  transition: all 0.3s ease;
}

.path-frontpage .page-wrapper .enlaces-destacados h4:nth-child(1) {
  border-left-color: hsl(122, 39%, 49%);
}

.path-frontpage .page-wrapper .enlaces-destacados h4:nth-child(2) {
  border-left-color: hsl(36, 100%, 50%);
}

.path-frontpage .page-wrapper .enlaces-destacados h4:nth-child(3) {
  border-left-color: hsl(207, 90%, 54%);
}

.enlaces-destacados h4:hover {
  background: rgba(255, 255, 255, 1);
  transform: translateX(5px);
}

.path-frontpage .page-wrapper .enlaces-destacados a {
  text-decoration: none;
  color: #333;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* SVG Icons styling */
.icon-new {
  color: hsl(160, 84%, 39%);
}

.icon-popular {
  color: hsl(38, 92%, 50%);
}

.icon-featured {
  color: hsl(217, 91%, 60%);
}
/* Equipo Todoele */
.equipo h3 {
  margin-block-end: 2rem;
}
.miembros-equipo {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.miembros-equipo img {
  flex-shrink: 0;
  padding: 10px 10px 15px 10px;
  width: 100px;
  height: auto;
  object-fit: cover;
}

.miembros-equipo .info-column {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.miembros-equipo h4 {
  margin-block: 5px;
}

.miembros-equipo p {
  margin: 0;
}

.sidebar-box-second:has(#block-solo-sub-antiguoscolaboradores),
.sidebar-box-second:has(#block-solo-sub-formespaenlaces) {
  height: fit-content;
}

#block-solo-sub-antiguoscolaboradores {
  padding: 0 1rem;
}

/* Página Formespa */
.formespa .bloque {
  border-block-end: var(--brd-general-claro);
}

.formespa .destacado-titulo {
  padding-block-start: 15px;
  font-weight: 600;
}

.formespa .ejemplo {
  background-color: #CCCCCC;
  padding: 15px 15px 25px 15px;
  display: inline-block;
}

#block-solo-sub-formespaenlaces {
  padding: 0;
}

/* Página boletín */
.boletin {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
@media (max-width: 52rem) {
  .boletin {
    grid-template-columns: 1fr;
    }
  }
.boletin-texto {
  padding-block-start: 1rem;
}

.boletin-form {
  border: var(--brd-general-claro);
  border-radius: .5rem;
  box-shadow: var(--sombra);
}

.boletin-form:hover {
  box-shadow: var(--sombra-hover);
}
/* Mailchimp form */
.page-wrapper #mc_embed_signup .mc-field-group.input-group ul {
  list-style: none;
  padding: 0;
}

.page-wrapper #mc_embed_signup .mc-field-group.input-group li {
  display: flex;
  align-items: center;
}

.page-wrapper #mc_embed_signup .mc-field-group.input-group li label {
  font-weight: normal;
}

.page-wrapper #mc_embed_signup .mc-field-group.input-group input[type="radio"] {
  margin-right: 8px;
}

/* Lista nuevos contenidos */
.nuevos-contenidos-pagina .view-content {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(325px, 1fr));
  gap: 2rem 1.5rem;
  align-items: stretch;
  padding-inline: 1rem;
}

.nuevos-contenidos-pagina.contenidos-destacados-bloque .view-content {
  padding-inline: 2rem;
}

.nuevos-contenidos-pagina .view-content .views-field-nid {
  height: 100%;
}

.card-nuevos {
  background: white;
  border-radius: 12px;
  box-shadow: var(--sombra);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  border: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.card-nuevos:hover {
  box-shadow: var(--sombra-hover);
}

.card-nuevos-header {
  background: var(--bg-nuevos-header);
  color: white;
  padding: .5rem 1.25rem;
  font-size: 0.85rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.card-nuevos-body {
  padding: 20px;
  flex: 1;
}

.page-wrapper .card-nuevos-title {
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 0.5rem;
}

.card-nuevos-meta {
  font-size: 0.9rem;
  color: #718096;
  line-height: 1.3;
}

.card-nuevos-footer {
  background: var(--bg-fecha-pub);
  padding: .5rem 1.25rem;
  border-top: 1px solid #e2e8f0;
  font-size: 0.85rem;
  color: var(--txt-clr-fecha-pub);
}

.card-nuevos-footer time {
  text-transform: lowercase;
}

/* Página contenidos populares */
.page-node-type-page:has(.contenidos-populares) .main-box .main-box-inner {
  display: none;
}

.page-node-type-page:has(.contenidos-populares) .bottom-container-inner,
.page-node-type-page:has(.contenidos-populares) .bottom-container-inner .bottom-box-inner {
  --r-bg: var(--page-bg);
  background-color: var(--r-bg);
  padding-block-start: 0;
}

.page-node-type-page:has(.contenidos-populares) .bottom-container-inner {
  padding: 0 2rem 1rem 2rem;
}

.page-node-type-page:has(.contenidos-populares) .bottom-container-inner .bottom-box-inner section {
  background-color: var(--nodo-bg);
  padding: 0 1rem 1rem 1rem;
  border: var(--brd-general);
  border-radius: .5rem;
}

.page-node-type-page:has(.contenidos-populares) form.views-exposed-form .form--inline {
  gap: .5rem;
  padding: .7rem;
  margin: 0 0 1rem 0;
}

.page-node-type-page:has(.contenidos-populares) form.views-exposed-form .exposed-form > * {
  margin: 0;
}

.page-node-type-page:has(.contenidos-populares) .form-type-select {
  margin-inline-end: 0;
}

.page-node-type-page:has(.contenidos-populares) .page-wrapper ol,
.page-node-type-page:has(.contenidos-populares) .page-wrapper ol li {
  background-color: var(--nodo-bg);
}

.page-node-type-page:has(.contenidos-populares) .page-wrapper ol.solo-ul {
  list-style-type: auto;
  padding-inline-start: 2rem;
}

.page-node-type-page:has(.contenidos-populares) .page-wrapper ol.solo-ul li {
  padding-inline-start: .25rem;
}

.page-node-type-page:has(.contenidos-populares) .page-wrapper ol.solo-ul li::before {
  display: none;
}

.page-node-type-page:has(.contenidos-populares) .page-wrapper ol.solo-ul li .views-field-type {
  color: var(--txt-clr-negro-suave);
}

.page-node-type-page:has(.contenidos-populares) .page-wrapper .solo-outer {
  border-bottom: none;
}

/* Página contenidos destacados */
.destacado-pag {
  margin: 0 auto;
  padding: 0 2rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}

.destacado-pag-card {
  border-radius: 1.25rem;
  padding: 1.5rem;
  box-shadow: var(--sombra);
  display: flex;
  flex-direction: column;
  height: 100%;
  backdrop-filter: blur(10px);
  border: var(--brd-general-claro);
}

.destacado-pag-card:hover {
  box-shadow: var(--sombra-hover-big);
}

.destacado-pag-card img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  object-position: center;
  margin-bottom: 1rem;
}

.destacado-pag-card-title {
  font-weight: 600;
  margin-bottom: 1rem;
}

.destacado-pag-card-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.destacado-pag-card-content p {
  color: #555;
  line-height: 1.6;
  font-size: 0.95rem;
  flex: 1;
  margin-block: .25rem;
}

/* Footer menu */

.page-wrapper .footer-menu .footer-menu-inner,
.page-wrapper .footer-menu section {
  padding: 0;
  margin: 0;
}

.footer-texto {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  color:var(--txt-clr-negro-suave);
  padding: 1.5rem 3rem 2.4rem 3rem;
  font-size: .9rem;
  background-color: var(--page-footer-bg);
}

.page-wrapper .footer-texto a {
  color: var(--txt-clr-negro-suave);
}
