/*
 Theme Name:     Divi Child
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Elegant Themes
 Author URI:     https://www.elegantthemes.com
 Template:       Divi
 Version:        1.0.0
*/

/*-------------------------------------------OPEN: ESTILOS GENERALES*/

body,
body #page-container {
  background: var(--background);
}

html.dark-mode-transition,
html.dark-mode-transition body {
  transition: background-color 0.8s ease, color 0.8s ease;
}

img.logo-transition {
  transition: opacity 0.8s ease;
}

#main-content,
.et_pb_section,
.et_pb_row {
  background-color: transparent;
}


/*contendor plantillas personaje + resultados*/
#main-content .container {
width: 100%;
  padding-top: 96px !important;
  padding-right: 40px;
  padding-left: 40px;
}

@media (max-width: 980px) {
#main-content .container{
    padding-right: 24px;
    padding-left: 24px;
  }
}

@media (max-width: 767px) {
#main-content .container{
    padding-right: 16px;
    padding-left: 16px;
  }
}
/*contendor plantillas personaje + resultados*/





.et_pb_section.primera-seccion {
  padding-top: 120px !important;
}


.et_pb_section.section-post-header {
  padding-top:96px !important;
}

@media (max-width: 980px) {
.et_pb_section.section-post-header {
  padding-top:80px !important;
}
}

@media (max-width: 767px) {
  .et_pb_section.section-post-header {
  padding-top:64px !important;
}
}





.material-icons {
  font-family: "Material Icons";
  font-weight: normal;
  font-style: normal;
  font-size: 18px; /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;

  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;

  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;

  /* Support for IE. */
  font-feature-settings: "liga";
}

.material-symbols-outlined {
  font-family: "Material Symbols Outlined";
  font-weight: 100;
  font-style: normal;
  font-size: 24px; /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
}

.et_pb_module.title-section h2,
h2.title-section {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 8px 0 8px 48px;
  font-size: 32px;
  font-style: normal;
  font-weight: 600;
  color: var(--on-background);
}

.et_pb_module.title-section h2::before,
h2.title-section::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 2px;
  background-color: var(--on-background);
}

@media (max-width: 980px) {
  .et_pb_module.title-section h2,
  h2.title-section {
    padding: 8px 0 8px 32px;
    font-size: 24px;
  }

  .et_pb_module.title-section h2::before,
  h2.title-section::before {
    width: 24px;
    height: 1px;
  }

  .et_pb_module.title-section h3,
  h3.title-section {
    padding: 8px 0 8px 32px;
    font-size: 24px;
  }

  .et_pb_module.title-section h3::before,
  h3.title-section::before {
    width: 24px;
    height: 1px;
  }
}






/*-------------------------------------------OPEN: BOTONES*/
/*button Outline*/

a.ch-button-outlined {
  display: flex;
  width: 100%;
  align-items: center;
  height: 40px;
  margin: 8px 0 0 0;
  padding: 12px 24px;
  cursor: pointer;
  background: none;
  border: 1px solid var(--button-outline-border-color);
  border-radius: var(--corner-full);
  color: var(--button-outline-on-background-color);
  transition: var(--transition-color-background-border);
  outline-offset: 2px;
}

a.ch-button-outlined .material-icons {
  color: var(--button-outline-on-background-color);
}

a.ch-button-outlined .button-label {
  font-weight: 600;
  margin: 0 0 0 8px;
  color: var(--button-outline-on-background-color);
}

/*button Outline----hover*/
a.ch-button-outlined:hover {
  background: var(--button-outline-hover-background-color);
  border: 1px solid var(--button-outline-hover-border-color);
}

a.ch-button-outlined:hover .material-icons,
a.ch-button-outlined:hover .button-label {
  color: var(--button-outline-hover-on-background-color);
}

/*button Outline----active*/
a.ch-button-outlined:active {
  background: var(--button-outline-active-background-color);
  border: 1px solid var(--button-outline-active-border-color);
}

a.ch-button-outlined:active .material-icons,
a.ch-button-outlined:active .button-label {
  color: var(--button-outline-active-on-background-color);
}

/*button Outline----active*/
a.ch-button-outlined:focus-visible {
  background: var(--button-outline-focus-background-color);
  outline: 2px solid var(--button-outline-focus-on-outline-color);
}

a.ch-button-outlined:focus-visible .material-icons,
a.ch-button-outlined:focus-visible .button-label {
  color: var(--button-outline-focus-on-background-color);
}

/*version tamaño auto*/
a.ch-button-outlined.auto {
  display: inline-flex;
  width: auto;
}

a.ch-button-outlined.auto .button-label {
  margin: 0 0 0 0px;
}

/*button Outline*/
/*-------------------------------------------CLOSE: BOTONES*/

/*Enlaces*/
.et_pb_text_inner a {
  color: var(--link-color);
}

.et_pb_text_inner a:hover {
  color: var(--link-color-hover);
  text-decoration: underline;
}

/*Enlaces*/
/*-------------------------------------------CLOSE: ESTILOS GENERALES*/

/*-------------------------------------------OPEN: PAGINA PERSONAJE*/


#content-area{
  padding:32px 0;
}

/*bio*/
article.type-personaje .entry-content {
  display: inline-block;
    width: 100%;
  margin: 0 0 0 0;
  padding: 32px 0 0 0;
}

article.type-personaje h1.entry-title {
  display: inline-block;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  max-width: 700px;
  font-family: var(--typo-primary);
  font-size: 72px;
  font-style: italic;
  font-weight: 600;
  line-height: 100%;
  color: var(--on-background);
}

article.type-personaje .container-nacimiento-defuncion {
  display: inline-block;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}

article.type-personaje .container-nacimiento-defuncion p {
  display: inline-block;
  width: 100%;
  margin: 0 0 0 0;
  padding: 00 0 0;
  font-size: 18px;
  font-weight: 400;
  line-height: 140%;
  color: var(--on-background);
}

article.type-personaje .container-nacimiento-defuncion p strong {
  font-weight: 700;
}

article.type-personaje .container-imagen-creditos {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% / 4);
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}

article.type-personaje .container-botones {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% / 4);
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}

article.type-personaje .container-imagen-creditos .centrado-interno img {
  border-radius: var(--corner-medium);
}

article.type-personaje
  .container-imagen-creditos
  .container-imagen
  .centrado-interno {
  display: flex;
  flex-direction: column;
  align-items: center;
}

article.type-personaje
  .container-imagen-creditos
  .container-imagen
  .centrado-interno
  .vertical-divider {
  margin: 24px 0;
  width: 1px;
  height: 176px;
  background-color: var(--on-background);
}

article.type-personaje .container-imagen-creditos .creditos-imagen {
  display: inline-block;
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 16px 0;
}

article.type-personaje
  .container-imagen-creditos
  .creditos-imagen
  .texto-pie-foto
  p,
article.type-personaje
  .container-imagen-creditos
  .creditos-imagen
  .texto-derechos-imagen
  p {
  display: inline-block;
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  font-size: 10px;
  line-height: 120%;
  color: var(--on-background);
}

article.type-personaje
  .container-imagen-creditos
  .creditos-imagen
  .texto-derechos-imagen
  p {
  color: var(--on-background-low);
}

article.type-personaje .container-biografia {
  column-count: 2;
  column-gap: 2rem;
}

article.type-personaje .container-biografia p {
  font-size: 16px;
  font-weight: 400;
  line-height: 140%;
  color: var(--on-background-high);
}

article.type-personaje .container-biografia p:first-of-type::first-letter {
  float: left;
  font-size: 4.5rem;
  line-height: 0.8;
  font-weight: 800;
  margin-right: 0.4em;
  padding: 0 0.05em;
  font-family: var(--typo-primary);
  color: var(--on-background);
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease;
}
/*bio*/

/*obras*/
#obras,
#ediciones,
#bibliografia,
#biografia {
  padding: 48px 0;
}

@media (max-width: 980px) {
  #obras,
  #ediciones,
  #bibliografia,
  #biografia {
    padding: 16px 0;
  }
  #biografia {
    padding-top: 48px;
  }
}

@media (max-width: 767px) {
  #obras,
  #ediciones,
  #bibliografia,
  #biografia {
    padding: 8px 0;
  }

  #biografia {
    padding-top: 48px;
  }

  article.type-personaje .container-biografia p:first-of-type::first-letter {
    margin-right: 0.15em; /* Menor separación */
    font-size: 3rem; /* Aún llamativa */
    line-height: 0.9;
  }
}

#obras p a,
#ediciones p a,
#bibliografia p a,
#biografia p a {
  color: var(--link-color);
}

#obras p a:hover,
#ediciones p a:hover,
#bibliografia p a:hover,
#biografia p a:hover {
  color: var(--link-color-hover);
  text-decoration: underline;
}

.container-list-obras,
.container-list-ediciones,
.container-list-bibliografia{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 848px;
  gap: 16px;
}

.container-list-obras .item-obra,
.container-list-ediciones .item-edicion,
.container-list-bibliografia .item-bibliografia {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 8px;
  padding: 16px 0;
  border-bottom: 1px solid var(--neutral400);
}

.container-list-obras .item-obra .contenido-obra,
.container-list-ediciones .item-edicion .contenido-edicion,
.container-list-bibliografia .item-bibliografia .contenido-bibliografia {
  display: inline-block;
  width: 100%;
}

.container-list-obras .item-obra .containter-title-obra,
.container-list-ediciones .item-edicion .containter-title-edicion,
.container-list-bibliografia .item-bibliografia .containter-title-bibliografia{
  display: flex;
  width: auto;
  gap: 4px;
  align-items: center;
  padding: 4px 8px;
  border-radius: var(--corner-extra-small);
  background: var(--chip-background-color);
}

.container-list-obras .item-obra .containter-title-obra .material-symbols-outlined,
.container-list-obras .item-obra .containter-title-obra .title-obra,
.container-list-ediciones .item-edicion .containter-title-edicion .material-symbols-outlined,
.container-list-ediciones .item-edicion .containter-title-edicion .title-edicion,
.container-list-bibliografia .item-edbibliografiaicion .containter-title-bibliografia .material-symbols-outlined,
.container-list-bibliografia .item-bibliografia .containter-title-bibliografia .title-bibliografia  {
  color: var(--chip-on-background-color);
}

.container-list-obras .item-obra .containter-title-obra .material-symbols-outlined,
.container-list-ediciones .item-edicion .containter-title-edicion .material-symbols-outlined,
.container-list-bibliografia .item-bibliografia .containter-title-bibliografia .material-symbols-outlined  {
  font-size: 16px;
}

.container-list-obras .item-obra .containter-title-obra .title-obra,
.container-list-ediciones .item-edicion .containter-title-edicion .title-edicion,
.container-list-bibliografia .item-bibliografia .containter-title-bibliografia .title-bibliografia {
  font-size: 14px;
}
.container-list-obras .item-obra .contenido-obra p,
.container-list-ediciones .item-edicion .contenido-edicion p,
.container-list-bibliografia .item-bibliografia .contenido-bibliografia p {
  font-size: 16px;
  font-weight: 400;
  line-height: 140%;
  color: var(--on-background-high);
}

.container-list-obras .item-obra .contenido-obra p a,
.container-list-ediciones .item-edicion .contenido-edicion p a,
.container-list-bibliografia .item-bibliografia .contenido-bibliografia p a {
  color: var(--link-color) !important;
}

.container-list-obras .item-obra .contenido-obra p a:hover,
.container-list-ediciones .item-edicion .contenido-edicion p a:hover,
.container-list-bibliografia .item-bibliografia .contenido-bibliografia p a:hover  {
  text-decoration: underline;
  color: var(--link-color-hover) !important;
}

.container-list-obras .item-obra .contenido-obra p a:focus-visible,
.container-list-ediciones .item-edicion .contenido-edicion p a:focus-visible,
.container-list-bibliografia .item-bibliografia .contenido-bibliografia p a:focus-visible {
  color: var(--link-color) !important;
  outline: 2px solid var(--focus-ring-color);
  outline-offset: 4px;
  border-radius: var(--corner-extra-small);
}

.container-list-obras .item-obra .enlaces-obra,
.container-list-ediciones .item-edicion .enlaces-edicion,
.container-list-bibliografia .item-bibliografia .enlaces-bibliografia {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.container-list-obras .item-obra .enlaces-obra a,
.container-list-ediciones .item-edicion .enlaces-edicion a,
.container-list-bibliografia .item-bibliografia .enlaces-bibliografia a  {
  display: inline-block;
  width: 100%;
  padding: 4px 0;
  line-height: 110%;
  font-weight: 600;
  color: var(--link-color);
}

.container-list-obras .item-obra .enlaces-obra a::before,
.container-list-ediciones .item-edicion .enlaces-edicion a::before,
.container-list-bibliografia .item-bibliografia .enlaces-bibliografia a::before {
  font-family: "Material Icons";
  content: "link";
  font-size: 20px;
  display: inline-block;
  vertical-align: top;
  margin-right: 4px;
}

.container-list-obras .item-obra .enlaces-obra a:hover,
.container-list-ediciones .item-edicion .enlaces-edicion a:hover,
.container-list-bibliografia .item-bibliografia .enlaces-bibliografia a:hover{
  display: inline-block;
  width: 100%;
  line-height: 110%;
  text-decoration: underline;
  color: var(--link-color-hover);
}

.container-list-obras .item-obra .enlaces-obra a:focus-visible,
.container-list-ediciones .item-edicion .enlaces-edicion a:focus-visible,
.container-list-bibliografia .item-bibliografia .enlaces-bibliografia a:focus-visible {
  color: var(--link-color) !important;
  outline: 2px solid var(--focus-ring-color);
  outline-offset: 4px;
  border-radius: var(--corner-extra-small);
}

/*obras*/

/*---------OPEN:RESPONSIVE PAGINA PERSONAJE*/

@media (max-width: 980px) {
  article.type-personaje h1.entry-title {
    font-size: 60px;
  }

  article.type-personaje .entry-content {
    padding: 8px 0 0 0;
  }

  article.type-personaje .container-nacimiento-defuncion p {
    font-size: 16px;
  }

  article.type-personaje .container-imagen-creditos,
  article.type-personaje .container-botones {
    width: calc(100% / 2);
    max-width: 240px;
  }

  article.type-personaje
    .container-imagen-creditos
    .container-imagen
    .centrado-interno
    .vertical-divider {
    height: 112px;
  }

  article.type-personaje .container-biografia {
    column-count: 1;
  }
}

@media (max-width: 767px) {
  article.type-personaje h1.entry-title {
    font-size: 39px;
  }

  article.type-personaje .container-nacimiento-defuncion p {
    font-size: 14px;
  }


  
  article.type-personaje .container-botones {
    width: 100%;
    max-width: inherit;
  }

  article.type-personaje
    .container-imagen-creditos
    .container-imagen
    .centrado-interno
    .vertical-divider {
    height: 56px;
  }

  article.type-personaje .container-biografia p {
    column-count: 1;
  }

  .container-list-obras,
  .container-list-ediciones {
    gap: 4px;
  }

  .container-list-obras .item-obra,
  .container-list-ediciones .item-edicion {
    padding: 8px 0;
  }
}

/*------------Open: Creditos Autora*/
.autora-box {
  width: 100%;
  max-width: 848px;
  border-radius: var(--corner-medium);
  padding: 16px;
  margin: 0;

  box-sizing: border-box;
  border: 1px solid var(--surface);
  background: var(--surface);
}

.autora-content {
  display: flex;
  align-items: center;
  gap: 20px;
}

.autora-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
}

.autora-icon svg {
  width: 28px;
  height: 28px;
  fill: var(--on-background-low);
}

.autora-divider {
  width: 1px;
  height: 50px;
  background-color: var(--border-medium);
  flex-shrink: 0;
}

.autora-text {
  flex: 1;
}

.autora-title {
  margin: 0;
  padding: 0;
  font-family: var(--typo-secondary);
  font-size: 14px;
  font-weight: 700;
  color: var(--on-background-low);
  text-transform: uppercase;
}

.autora-subtitle {
  margin: 0;
  padding: 0;
  font-size: 14px;
  color: var(--on-background-low);
  line-height: 1.4;
}

.autora-subtitle strong a{
  color: var(--link-color);
  font-weight: 600;
}

.autora-subtitle strong a:focus-visible {
  border-radius: var(--corner-extra-small);
  outline: 2px solid var(--button-outline-focus-on-outline-color);
}

/* Responsive */
@media (max-width: 767px) {
  .autora-box {
    padding: 8px;
  }

  .autora-content {
    gap: 15px;
  }

  .autora-title {
    font-size: 14px;
  }

  .autora-subtitle {
    font-size: 14px;
  }
}

/*------------Close: Creditos Autora*/

/*-------------------------------------------CLOSE: PAGINA PERSONAJE*/

/*--------------------------OPEN: Categoría personajes Listado-----------------------------------*/



#main-content.main-content-categoria-personaje .container:before {
  width: 0px;
}

#main-content.main-content-categoria-personaje .entry-content {
  width: 100%;
}


.container-categoria-personaje .entry-content h1 {
  max-width: 767px;
font-style: italic;
  font-size: 56px;
  line-height: 100%;
}


.container-categoria-personaje .entry-content .cat-description {
margin-bottom: 24px;
border-bottom: 1px solid var(--border-medium);
}

.container-categoria-personaje .entry-content .cat-description p:last-child {
  margin-bottom: 16px;
}

.container-categoria-personaje .entry-content strong {
    display: inline-block;
padding: 24px 0;

}


#btn-more{
  display: none;
}





@media (max-width: 980px) {

#live-search-results {
  margin-top: 8px;
  border-radius: 16px;
  border: 2px solid var(--border-live-search);
}

#live-search-results ul {
  gap: 4px;
  padding: 4px;
}

#live-search-results li a.item-personaje.card {
  gap: 4px;
  padding: 8px;
}

#live-search-results li a .container-info-personaje .info-personaje h1 {
  font-size: 18px;
  font-weight: 700;
}

#live-search-results li a .container-info-personaje .info-personaje .biografia p {
  font-size: 12px;
  font-weight: 400;
}

#live-search-results li a .container-categorias-personaje {
  margin: 0;
}

#live-search-results li a .container-categorias-personaje .categoria {
  padding: 4px 0;
  font-size: 12px;
  text-transform: none;
  font-style: italic;
  font-weight: 600;
  border: none;
}



.cat-description {
  display: -webkit-box;
  -webkit-line-clamp: 4; /* Limita a 4 líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  position: relative;
}

.cat-description.expandido {
  -webkit-line-clamp: unset;
padding-bottom: 8px;
}

/* Opcional: degradado visual */
.cat-description::after {
  content: "";
  position: absolute;
  bottom: 0;
  height: 40px;
  width: 100%;
  background: linear-gradient(transparent, var(--background));
}

#btn-more{
display: flex;
align-items: center;
height: 40px;
margin: 8px 0 0 0;
padding: 12px 24px;
cursor: pointer;
background: none;
border: 1px solid var(--button-outline-border-color);
border-radius: var(--corner-full);
color: var(--button-outline-on-background-color);
transition: var(--transition-color-background-border);
outline-offset: 2px;
}

#btn-more:hover {
  background: var(--button-outline-hover-background-color);
  border: 1px solid var(--button-outline-hover-border-color);
}


#btn-more:focus-visible {
background: var(--button-outline-focus-background-color);
  outline: 2px solid var(--button-outline-focus-on-outline-color);
}


}


@media (max-width: 767px) {
.container-categoria-personaje .entry-content h1 {
  max-width: 480px;
  font-size: 39px;
}

}









.texto-resultados {
display: inline-block;
width: 100%;
margin: 0 0 32px 0;
padding: 0 0 0 0;
}



.texto-resultados h2 {
  display: flex;
  flex-flow: column;
  gap: 8px;
  margin: 0 0 0 0;
padding: 0 0 0 0;
}




.texto-resultados strong {
  font-family: var(--typo-secondary);
  color: var(--on-background);
  font-style: normal;
  font-size: 16px;
  font-weight: 400;
  line-height: 100%;
}


.texto-resultados span {
  font-family: var(--typo-secondary);
  font-size: 18px;
  color: var(--link-color);
  font-weight: 600;
  line-height: 100%;
}

.container-resultados {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr;

}


@media (max-width: 980px) {
.texto-resultados {
  margin: 32px 0 32px 0;
}
}

@media (max-width: 767px) {
  .container-resultados {
    grid-template-columns: 1fr;
  }
}

a.item-personaje.card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: start;
  height: auto;
  padding: 8px;
  border-radius: var(--corner-small);
  background: var(--surface);
  border: 1px solid var(--surface);
  transition: var(--transition-color-background-border),
  var(--transition-shadow-smooth);
}






.item-personaje.card:hover {
  background: var(--surface-medium);
  border: 1px solid var(--surface-medium);
}

.item-personaje.card:active,
.item-personaje.card:focus {
  border: 1px solid var(--card-active-outline-color);
  box-shadow: 0px 0px 0px 5px
    var(--Schemes-ch-card-active-shadow-color, rgba(178, 221, 255, 0.3));
}

.item-personaje.card:focus-visible {
  border: 1px solid var(--button-outline-focus-border-color);
  outline: 2px solid var(--button-outline-focus-on-outline-color);
}

.item-personaje a {
  display: flex;
  gap: 10px;
  flex-flow: column;
  width: 100%;
}




.item-personaje .container-info-personaje {
  display: inline-flex;
  gap: 8px;
  flex-flow: row;
  width: 100%;
}





.item-personaje .imagen-personaje {
  margin-top: 8px;
  width: 80px;
  height: 80px;
}

.item-personaje img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--corner-extra-small);
}

.item-personaje:has(.imagen-personaje) .info-personaje {
  display: flex;
  flex-flow: column;
  width: calc(100% - 90px);
}

.item-personaje .info-personaje h2.entry-title {
  padding: 0 0 4px 0;
  font-size: 24px;
  color: var(--on-surface);
}

.item-personaje .info-personaje .biografia {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: initial;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  padding: 0 24px;
  max-width: 90%;
  font-weight: 300;
  line-height: 140%;
}

.item-personaje .info-personaje .biografia p {
  font-size: 14px;
  line-height: 140%;
  color: var(--on-surface);
}

.item-personaje .container-categorias-personaje {
display: flex;
gap: 2px;
padding: 0;
}

.item-personaje .container-categorias-personaje .categoria {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 3%;
  padding: 4px;
  line-height: 100%;
  border-radius: var(--corner-extra-small);
  color: var(--chip-category-on-background-color);
}

@media (max-width: 980px) {
.item-personaje .info-personaje .biografia {
  -webkit-line-clamp: 2;
  padding: 0 16px;
  max-width: 100%;
}

}



@media (max-width: 767px) {

.item-personaje .info-personaje h2.entry-title {
  font-size: 18px;
}



  
}


















/*--------------------------CLOSE: Categoría personajes Listado-----------------------------------*/

/*-------------------------------------------OPEN: DETALLE DE ENTRADA*/

.contenido_post .modulo-contenido-post .et_pb_section,
.contenido_post .modulo-contenido-post .et_pb_section .et_pb_row {
  width: 100%;
  margin: 0;
  padding: 0;
}

.contenido_post h1.entry-title {
  font-family: var(--typo-primary);
  font-size: 84px;
  font-style: italic;
  line-height: 100%;
  font-weight: 500;
  color: var(--on-background);
}

.contenido_post .et_pb_heading_container h2.et_pb_module_heading {
  margin: 24px 0;
  padding: 24px 0;
  font-family: var(--typo-secondary);
  font-size: 24px;
  line-height: 120%;
  font-weight: 300;
  color: var(--on-background-high);
  border-top: 1px solid var(--neutral400);
  border-bottom: 1px solid var(--neutral400);
}

.contenido_post .et_pb_module.et_pb_image span img {
  border-radius: var(--corner-medium);
}

.contenido_post .et_pb_module.et_pb_image .pac_dih__image_details {
  display: flex;
  justify-content: end;
  width: 100%;
  padding: 4px 0;
  text-align: right;
}

.contenido_post .et_pb_module.et_pb_image .pac_dih__image_details p {
  max-width: 70%;
}

.contenido_post .et_pb_module.et_pb_team_member {
  display: flex;
  align-items: center;
}

.contenido_post .autor_post .et_pb_team_member_image.et-svg {
  width: 40px;
  min-width: 40px;
  margin: 0 16px 0 0;
  box-shadow: none;
  border: 4px solid var(--border-medium);
  border-radius: var(--corner-full);
}

.contenido_post .autor_post .et_pb_team_member_image.et-svg img {
  border-radius: var(--corner-full);
}

.contenido_post .et_pb_team_member_description {
  display: grid;
  align-items: center;
  line-height: 100%;
}

.contenido_post .et_pb_team_member_description h4 {
  width: 100%;
  max-width: 220px;
  padding: 0 0 0 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 100%;
  color: var(--on-background);
}

.contenido_post .et_pb_team_member_description p {
  width: 100%;
  padding: 4px 0 0 0;
  font-size: 10px;
  font-weight: 400;
  line-height: 110%;
  color: var(--on-background-low);
}

/*parrafos de la entrada*/
.contenido_post .et_pb_text_inner,
.contenido_post .et_pb_text_inner p {
  font-size: 16px;
  font-weight: 400;
  line-height: 140%;
  color: var(--on-background-high);
}

/*parrafos de la entrada*/

/*leyenda imagenes cuerpo entrada*/
.contenido_post .wp-caption {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  text-align: center;
  background: none;
  border: none;
}

.contenido_post .wp-caption p.wp-caption-text {
  display: block;
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  font-size: 10px;
  line-height: normal;
  text-align: right;
}

/*leyenda imagenes cuerpo entrada*/

/*galerias cuerpo entrada*/
.contenido_post .et_pb_gallery_items.et_post_gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 24px 0 !important;
}

.contenido_post
  .et_pb_gallery_items.et_post_gallery
  .et_pb_gallery_item.et_pb_grid_item {
  width: calc(100% / 5 - 8px);
  margin: 0 !important;
}

.contenido_post .et_pb_gallery_items.et_post_gallery::before {
  display: none;
}

.contenido_post
  .et_pb_gallery_items.et_post_gallery
  .et_pb_gallery_item.et_pb_grid_item
  .et_pb_gallery_image
  a
  img,
.contenido_post
  .et_pb_gallery_items.et_post_gallery
  .et_pb_gallery_item.et_pb_grid_item
  .et_pb_gallery_image
  a
  .et_overlay {
  border: none;
  border-radius: var(--corner-extra-small);
}
.contenido_post
  .et_pb_gallery_items.et_post_gallery
  .et_pb_gallery_item.et_pb_grid_item
  .et_pb_gallery_image
  a
  .et_overlay {
  background: rgba(var(--overlay-image), 0.6);
}

/*modulo video cuerpo entrada*/
.contenido_post .et_pb_module.et_pb_video {
  padding: 24px 0;
}

/*modulo video cuerpo entrada*/

@media only screen and (max-width: 980px) {
  .contenido_post h1.entry-title {
    font-size: 72px;
  }

  .contenido_post .et_pb_heading_container h2.et_pb_module_heading {
    margin: 16px 0;
    padding: 16px 0;
    font-size: 18px;
    line-height: 130%;
  }
}

@media only screen and (max-width: 767px) {
  .contenido_post h1.entry-title {
    font-size: 46px;
  }

  .contenido_post
    .et_pb_gallery_items.et_post_gallery
    .et_pb_gallery_item.et_pb_grid_item {
    width: calc(100% / 3 - 8px);
  }
}

/*-------------------------------------------CLOSE: DETALLE DE ENTRADA*/

/*-------------------------------------------OPEN: FOOTER*/

#footer-top-custom {
  padding: 0 0 0 0;
}

footer#main-footer .container {
  width: 100%;
  padding: 0px 40px;
}

footer#main-footer #footer-top-custom .container {
  width: 100%;
  margin-top: 264px;
  padding: 0px 40px;
}

footer#main-footer .container #footer-widgets {
  margin-top: 128px;
}

footer#main-footer #et-footer-nav .container {
  margin-top: 0px;
  padding: 0 40px;
}

footer#main-footer #et-footer-nav .container ul#menu-footer-legal {
  text-align: left;
}

footer img {
  max-height: 37px;
  width: auto;
}

.footer-widget {
  display: flex;
  flex-flow: column;
}

.footer-widget p {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.2rem;
}

.footer-widget strong {
  line-height: 1.7rem;
}

#footer-top-custom img {
  max-height: 56px;
  width: auto;
}

.footer-top-content {
  margin-bottom: 15px;
}

.footer-top-content:last-child {
  margin-bottom: 0px;
}

.footer-top-content .menu {
  width: 100%;
}

.footer-top-content .menu li {
  padding: 24px 0 24px 0px;
  border-bottom: 0.5px solid var(--on-background);
}

.footer-top-content .menu li a {
  padding: 4px;
  color: var(--on-background-high);
  font-family: var(--typo-primary);
  font-size: 24px;
  font-weight: 600;
  font-style: italic;
}

.footer-top-content .menu li a:hover {
  color: var(--on-background);
  text-decoration: underline;
}

.footer-top-content .menu li a:active {
  text-decoration: underline;
  color: var(--link-color-active);
}

.footer-top-content .menu li a:focus-visible {
  border-radius: var(--corner-extra-small);
  outline: 2px solid var(--button-outline-focus-on-outline-color);
}

footer p,
footer p strong {
  color: var(--on-background-high);
}


.footer-widget #text-5 .textwidget p {
  margin-bottom: 8px;
}


#et-footer-nav {
  margin: 0 0 0 0;
}

#et-footer-nav .container {
  display: flex;
}

.bottom-nav li a {
  color: var(--on-background);
  font-weight: 400;
  font-size: 12px;
}

ul#menu-footer-legal li a {
  color: var(--on-background-high);
  padding: 2px;
}

ul#menu-footer-legal li a:hover {
  color: var(--on-background);
}

ul#menu-footer-legal li a:active {
  text-decoration: underline;
  color: var(--link-color-active);
}

ul#menu-footer-legal li a:focus-visible {
  border-radius: var(--corner-extra-small);
  outline: 2px solid var(--button-outline-focus-on-outline-color);
}

@media only screen and (max-width: 980px) {
  footer#main-footer .container,
  footer#main-footer #footer-top-custom .container,
  footer#main-footer #et-footer-nav .container {
    padding: 0px 24px;
  }
  footer#main-footer .container #footer-widgets {
    margin-top: 64px;
  }
}

@media only screen and (max-width: 767px) {
  footer#main-footer .container,
  footer#main-footer #footer-top-custom .container,
  footer#main-footer #et-footer-nav .container {
    padding: 0px 16px;
  }

  footer#main-footer .container #footer-widgets {
    margin-top: 40px;
  }

  footer#main-footer .container #footer-widgets .footer-widget:nth-child(2),
  footer#main-footer .container #footer-widgets .footer-widget:nth-child(3) {
    margin-top: 24px !important;
  }

  footer#main-footer #et-footer-nav .container ul#menu-footer-legal {
    width: 100%;
  }

  footer#main-footer #et-footer-nav .container ul#menu-footer-legal li {
    padding: 0 16px 0 0;
  }
}


.redes-footer {
  display: flex;
  margin: 56px 0 0 0 ;
  flex-wrap: wrap;
}

.redes-footer p{
  display: flex;
  width: 100%;
  gap: 4px;
  color:var(--on-background)
}


.redes-footer p a{
color: var(--on-background);
  font-size: 18px;
  border: 1px solid var(--on-background);
  padding: 4px 8px;
  border-radius: 4px;
}

.redes-footer p a:hover{
color: var(--link-color-hover);
  border: 1px solid var(--link-color-hover);
}


/*-------------------------------------------CLOSE: FOOTER*/

/*-------------------------------------------OPEN: LISTA DE ENTRADAS*/

.modulo-noticias-listado .et_pb_blog_grid .et_pb_salvattore_content {
  display: flex;
  gap: 24px;
}

.modulo-noticias-listado .et_pb_blog_grid .et_pb_salvattore_content .column {
  width: calc(100% / 3 - 16px) !important;
  margin: 0 0 0 0 !important;
}

.modulo-noticias-listado
  .et_pb_blog_grid
  .et_pb_salvattore_content
  .column
  article {
  margin-bottom: 24px !important;
  padding: 0 !important;
  background: none;
  border: none;
}

.modulo-noticias-listado
  .et_pb_blog_grid
  .et_pb_salvattore_content
  .column
  article
  .et_pb_image_container {
  height: 220px;
  margin: 0;
  border-radius: var(--corner-small);
  overflow: hidden;
}

.modulo-noticias-listado
  .et_pb_blog_grid
  .et_pb_salvattore_content
  .column
  article
  .et_pb_image_container
  a {
  width: 100%;
  height: 100%;
}

.modulo-noticias-listado
  .et_pb_blog_grid
  .et_pb_salvattore_content
  .column
  article
  .et_pb_image_container
  a
  img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: var(--transition-medium);
}

.modulo-noticias-listado
  .et_pb_blog_grid
  .et_pb_salvattore_content
  .column
  article
  .et_pb_image_container
  a:hover
  img {
  transform: scale(1.03);
  filter: brightness(1.2) contrast(1.1) saturate(1.5);
}

.modulo-noticias-listado
  .et_pb_blog_grid
  .et_pb_salvattore_content
  .column
  article
  h2.entry-title {
  display: inline-block;
  margin: 16px 0 0 0;
  font-size: 24px !important;
  line-height: 100%;
}

.modulo-noticias-listado
  .et_pb_blog_grid
  .et_pb_salvattore_content
  .column
  article
  h2.entry-title
  a {
  padding: 4px;
  display: inline-block;
  border-radius: var(--corner-small);
}

.modulo-noticias-listado
  .et_pb_blog_grid
  .et_pb_salvattore_content
  .column
  article
  h2.entry-title
  a:hover {
  color: var(--on-background-high);
  text-decoration: underline;
}

.modulo-noticias-listado
  .et_pb_blog_grid
  .et_pb_salvattore_content
  .column
  article
  h2.entry-title
  a:focus-visible {
  outline: 2px solid var(--button-outline-focus-on-outline-color);
}

.modulo-noticias-listado
  .et_pb_blog_grid
  .et_pb_salvattore_content
  .column
  article
  p.post-meta {
  display: inline-block;
  width: 100%;
  margin: 0;
  padding: 0;
  color: var(--on-background-low);
  font-family: var(--typo-secondary);
  font-size: 14px;
  font-style: italic;
  line-height: 100%;
}

.modulo-noticias-listado
  .et_pb_blog_grid
  .et_pb_salvattore_content
  .column
  article
  p.post-meta
  a {
  padding: 2px;
  color: var(--link-color);
}

.modulo-noticias-listado
  .et_pb_blog_grid
  .et_pb_salvattore_content
  .column
  article
  p.post-meta
  a:hover {
  color: var(--link-color-hover);
  text-decoration: underline;
}

.modulo-noticias-listado
  .et_pb_blog_grid
  .et_pb_salvattore_content
  .column
  article
  p.post-meta
  a:focus-visible,
.modulo-noticias-listado
  .et_pb_blog_grid
  .et_pb_salvattore_content
  .column
  article
  p.post-meta
  a:focus {
  border-radius: var(--corner-extra-small);
  outline: 2px solid var(--button-outline-focus-on-outline-color);
}

.modulo-noticias-listado
  .et_pb_blog_grid
  .et_pb_salvattore_content
  .column
  article
  p.post-meta
  a:active {
  color: var(--link-color-active);
  text-decoration: underline;
}

@media only screen and (max-width: 980px) {
  .modulo-noticias-listado .et_pb_blog_grid .et_pb_salvattore_content {
    gap: 16px;
  }

  .modulo-noticias-listado .et_pb_blog_grid .et_pb_salvattore_content .column {
    width: calc(100% / 2 - 8px) !important;
    margin: 0 0 0 0 !important;
  }

  .modulo-noticias-listado
    .et_pb_blog_grid
    .et_pb_salvattore_content
    .column
    article
    h2.entry-title {
    margin: 8px 0 0 0;
    font-size: 22px !important;
    line-height: 120%;
  }
}

@media only screen and (max-width: 767px) {
  .modulo-noticias-listado .et_pb_blog_grid .et_pb_salvattore_content .column {
    width: 100% !important;
    font-size: 22px !important;
  }
}

/*-------------------------------------------CLOSE: LISTA DE ENTRADAS*/

/* ============================================ open: TABLA COOKIES ============================================ */
.cookies-table {
  width: 100%;
}

.entry-content table:not(.variations) {
  border: none;
}

.cookies-table th,
.cookies-table tr,
.cookies-table td {
  padding: 8px !important;
  text-align: left;
  border: 1px solid var(--border-medium);
}

.cookies-table {
  width: 100%;
  border-collapse: collapse;
}

.cookies-table th {
  background: var(--background);
  color: var(--on-background) !important;
  font-weight: bold;
}

.cookies-table td[data-th="Quantity"] {
  background: var(--background);
  color: var(--on-background);
}

@media only screen and (max-width: 760px),
  (min-device-width: 768px) and (max-device-width: 1024px) {
  .cookies-table table,
  .cookies-table thead,
  .cookies-table tbody,
  .cookies-table th,
  .cookies-table td,
  .cookies-table tr {
    display: block;
    font-size: 14px;
  }

  .cookies-table thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }

  .cookies-table tr {
    border: 1px solid var(--border-medium);
  }

  .cookies-table td {
    border: none;
    border-bottom: 1px solid var(--border-medium);
    border-top: none !important;
    position: relative;
  }

  .cookies-table td:last-child {
    border-bottom: none !important;
  }

  .cookies-table td:before {
    display: block;
    width: 100%;
    padding-right: 10px;
    white-space: nowrap;
  }

  .cookies-table td:nth-of-type(1):before {
    content: "Nombre";
  }

  .cookies-table td:nth-of-type(2):before {
    content: "Tipo";
  }

  .cookies-table td:nth-of-type(3):before {
    content: "Vencimiento";
  }

  .cookies-table td:nth-of-type(4):before {
    content: "Descripción";
  }

  .cookies-table td:nth-of-type(1):before,
  .cookies-table td:nth-of-type(2):before,
  .cookies-table td:nth-of-type(3):before,
  .cookies-table td:nth-of-type(4):before {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 10px;
  }
}

/* ============================================ close: TABLA COOKIES ============================================ */

/*-------------------------------------------OPEN: PÁGINA TÉRMINOS*/

/*ancla para TERMINO*/

[id] {
  scroll-margin-top: 248px;
}
 

/*botones ABECEDARIO*/
.content-links-abc{
  display: grid;
  width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(40px, 1fr));
  gap: 8px;


}

.content-links-abc p {
  display: inline-block;
  width: 100%;
  margin-bottom: 8px;
  grid-column: 1 / -1;
  color: var(--on-background);
}
button.secondary-cta {
  display: flex;
  align-content: center;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0 0 0 0;
  margin: 0 0 0 0;
  font-size: 18px;
  background: var(--surface);
  color: var(--on-surface);
  border-radius: var(--corner-extra-small);
  border: none;
  cursor: pointer;
  transition: var(--transition-color-background-border-slow);
}

button.secondary-cta:hover {
  background: var(--surface-high);
  transition: var(--transition-color-background-border-fast);
}

button.secondary-cta:active {
  border: 1px solid var(--on-background-low);
}

button.secondary-cta:focus-visible {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: 2px;
}

button.secondary-cta:disabled,
button.secondary-cta:disabled:hover,
button.secondary-cta:disabled:focus,
button.secondary-cta:disabled:focus-visible {
  pointer-events: none;
  cursor: not-allowed;
  opacity: 0.4;
  outline: none;
}

@media only screen and (max-width: 767px) {
  .content-links-abc  {
    gap: 4px;
  }
}
/*botones ABECEDARIO*/


h3.title-section-letter {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 8px 0 8px 48px;
  font-size: 56px;
  font-style: normal;
  font-weight: 600;
  color: var(--on-background);
}


h3.title-section-letter::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 2px;
  background-color: var(--on-background);
}

.ch-termino {
  display: inline-block;
  width: 100%;
  padding: 24px 0;
}

.ch-termino h4 {
  display: inline-block;
  width: 100%;
  margin: 0 0 8px 0;
  padding: 0 0 0 0;
  font-size: 24px;
  font-style: italic;
  font-weight: 600;
  font-family: var(--typo-primary);
  color: var(--on-background);
}

.ch-termino p {
  display: inline-block;
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 16px;
  color: var(--on-background-high);
}

/*-------------------------------------------CLOSE: PÁGINA TÉRMINOS*/

/*-------------------------------------------OPEN: PAGINA DE CONTACTO*/


.dr-perfil .et_pb_column {
  display: flex;
  gap: 16px;
  align-items: end;
}


.dr-perfil .et_pb_column .et_pb_image img {
max-width: 96px;
margin: 0;
padding: 0;
border-radius: var(--corner-medium);
border: 4px solid var(--border-medium);
}





/*------open:formulario*/

form.wpcf7-form {
}

form.wpcf7-form p {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 0 24px 0;
  padding: 0 0 0 0;
}

form.wpcf7-form p label {
  display: inline-block;
  width: 100%;
  margin: 0 0 0 0;
  font-weight: 600;
}

form.wpcf7-form p label span.wpcf7-form-control-wrap {
  display: inline-block;
  width: 100%;
  margin: 4px 0 0 0;
}

form.wpcf7-form p label span.wpcf7-form-control-wrap input,
form.wpcf7-form p label span.wpcf7-form-control-wrap textarea {
  display: flex;
  width: 100%;
  padding: 16px;
  color: var(--on-fill-hight);
  border-radius: var(--corner-medium);
  border: 1px solid var(--input-outline-default);
  background: var(--fill);
  transition: var(--transition-color-background-border),
    var(--transition-shadow-smooth);
}

form.wpcf7-form p label span.wpcf7-form-control-wrap input:hover,
form.wpcf7-form p label span.wpcf7-form-control-wrap textarea:hover {
  border: 1px solid var(--input-outline-hover-color);
  background: var(--fill-high);
}

form.wpcf7-form p label span.wpcf7-form-control-wrap input:focus,
form.wpcf7-form p label span.wpcf7-form-control-wrap input:focus-visible,
form.wpcf7-form p label span.wpcf7-form-control-wrap textarea:focus,
form.wpcf7-form p label span.wpcf7-form-control-wrap textarea:focus-visible {
  outline: 1px solid var(--input-outline-focus-color);
  background: var(--fill-high);
  color: var(--on-fill-hight);
  box-shadow: 0px 0px 0px 4px var(--input-focus-shadow-color);
}

form.wpcf7-form p label span.wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  padding: 8px 0 0 24px;
  font-size: 12px;
  font-weight: 500;
  color: var(--on-background-feedback-error);
}

form.wpcf7-form p span.wpcf7-form-control-wrap {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

form.wpcf7-form
  p
  .wpcf7-form-control-wrap
  .wpcf7-form-control.wpcf7-acceptance {
  width: 100%;
  padding: 0 0 0 0;
}

form.wpcf7-form
  p
  .wpcf7-form-control-wrap
  .wpcf7-form-control.wpcf7-acceptance
  span.wpcf7-list-item {
  margin: 0;
}

form.wpcf7-form
  p
  .wpcf7-form-control-wrap
  .wpcf7-form-control.wpcf7-acceptance
  span.wpcf7-list-item
  input.acepta-condiciones[type="checkbox"] {
  appearance: none; /* eliminamos estilo por defecto */
  width: 20px;
  height: 20px;
  border: 2px solid var(--checkbox-outline-border-color);
  border-radius: 4px;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  cursor: pointer;
  transition: all 0.2s ease;
}

form.wpcf7-form
  p
  .wpcf7-form-control-wrap
  .wpcf7-form-control.wpcf7-acceptance
  span.wpcf7-list-item
  input.acepta-condiciones[type="checkbox"]:checked {
  background-color: var(--checkbox-background-color);
  border-color: var(--checkbox-outline-border-color);
}

form.wpcf7-form
  p
  .wpcf7-form-control-wrap
  .wpcf7-form-control.wpcf7-acceptance
  span.wpcf7-list-item
  input.acepta-condiciones[type="checkbox"]:checked::after {
  content: "✔";
  color: var(--checkbox-checked-color);
  position: absolute;
  top: 0;
  left: 3px;
  font-size: 14px;
  line-height: 18px;
}

form.wpcf7-form
  p
  .wpcf7-form-control-wrap
  .wpcf7-form-control.wpcf7-acceptance
  span.wpcf7-list-item
  input.acepta-condiciones[type="checkbox"]:focus-visible {
  outline: 2px solid var(--button-outline-focus-on-outline-color); /* halo accesible */
  outline-offset: 3px;
}

form.wpcf7-form
  p
  .wpcf7-form-control-wrap
  .wpcf7-form-control.wpcf7-acceptance
  span.wpcf7-list-item
  .wpcf7-list-item-label
  a:focus-visible {
  border-radius: var(--corner-extra-small);
  outline: 2px solid var(--button-outline-focus-on-outline-color);
}

form.wpcf7-form p .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  width: 100%;
  padding: 4px 0 0 24px;
  font-size: 12px;
  font-weight: 500;
  color: var(--on-background-feedback-error);
}

form.wpcf7-form p input.wpcf7-form-control.wpcf7-submit {
  display: flex;
  width: 100%;
  align-items: center;
  height: 40px;
  margin: 40px 0 0 0;
  padding: 12px 24px;
  cursor: pointer;
  border-radius: var(--corner-full);

  border: none;
  background: var(--button-solid-background-color);
  color: var(--button-solid-on-background-color);
  outline: 2px solid transparent;
  outline-offset: 2px;

  transition: var(--transition-color-background-border);
  font-size: 14px;
  font-weight: 600;
  line-height: 100%;
}

form.wpcf7-form p input.wpcf7-form-control.wpcf7-submit:hover {
  background: var(--button-solid-hover-background-color);
  color: var(--button-solid-hover-on-background-color);
}

form.wpcf7-form p input.wpcf7-form-control.wpcf7-submit:focus,
form.wpcf7-form p input.wpcf7-form-control.wpcf7-submit:focus-visible {
  background: var(--button-solid-focus-background-color);
  color: var(--button-solid-focus-on-background-color);
  outline: 2px solid var(--button-solid-focus-on-outline-color);
}

form.wpcf7-form.invalid .wpcf7-response-output,
form.wpcf7-form.sent .wpcf7-response-output {
  border-radius: var(--corner-medium);
  padding: 32px 16px;
  margin: 24px 0;
  border: 0px;
  font-size: 14px;
  text-align: center;
}

form.wpcf7-form.invalid .wpcf7-response-output {
  color: var(--on-background-feedback-error);
  background: var(--background-feedback-error);
}

form.wpcf7-form.sent .wpcf7-response-output {
  color: var(--on-background-feedback-success);
  background: var(--background-feedback-success);
}

/*------close:formulario*/

/*-------------------------------------------CLOSE: PAGINA DE CONTACTO*/



/*-------------------------------------------OPEN: ACCESIBILIDAD*/
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/*-------------------------------------------CLOSE: ACCESIBILIDAD*/

/*-------------------------------------------OPEN: BUSCADOR OVERLAY*/
/* =========================
   Overlay buscador global
   ========================= */

/* Efecto de desplazamiento del fondo al abrir */
body.overlay-active #page-container {
  transition: transform 0.4s ease, padding 0.4s ease;
}

body.overlay-active {
  overflow: hidden; /* bloquea el scroll de fondo */
}

/* Overlay centrado y fijo */
#buscador-overlay {
  position: fixed; /*  Fijo al viewport */
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh; /* altura total del viewport */
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 16px;
  overflow: hidden;
  perspective: 1000px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  z-index: 99999;
  border-radius: var(--corner-medium);
  background: var(--background-searcher);
}

/* Fondo con blur solo en ::before */
#buscador-overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  backdrop-filter: blur(8px);
  z-index: 0;
}

/* Estado visible */
#buscador-overlay.show {
  opacity: 1;
  pointer-events: auto;
}

/* Contenido encima del ::before */
#buscador-overlay > * {
  position: relative;
  z-index: 1;
}


.overlay-contenedor {
display: flex;
  width: 100%;
  height:100%;
  align-content: center;
  align-items: center;
  border-radius: var(--corner-medium);
  border: 1px solid var(--border-medium)
}


/* Botón cerrar (X) */
#cerrar-buscador {
  position: absolute;
  top: 16px;
  right: 16px;
  cursor: pointer;
  z-index: 100001; /* más alto que todo */
}



#cerrar-buscador:hover {
  
}

#cerrar-buscador .material-icons {
  font-weight: 900;
  font-size: 24px;
}




#buscador-overlay .buscador-aislado {
  width: 100%;
}



#buscador-overlay .buscador-aislado .search-form {
  max-width: 1064px;
  margin: 0 auto;
  opacity: 0;
  transform: translateY(-10vh);
  transition: opacity 0.6s ease-out 0.3s, transform 0.6s ease-out 0.3s;
}

/* Animación entrada */
#buscador-overlay .buscador-aislado .search-form.visible {
  opacity: 1;
  transform: translateY(-18vh);
}

#buscador-overlay .buscador-aislado .search-form label{
display: block;
  margin: 0 0 16px 32px;
  font-family: var(--typo-primary);
  font-size: 32px;
  font-style: italic;
  text-align: left;
  color: var(--on-background);
}


/* =========================
   Ajustes móviles
   ========================= */

@media (max-width: 980px) {
.overlay-contenedor{
border: none;
}

#cerrar-buscador {
    top: 16px;
  right: 8px;
}


}


@media (max-width: 767px) {
#cerrar-buscador {
    top: 8px;
  right: 0px;
}


}


.buscador .search-form {
  max-width:1200px;
  margin: 0 auto;
}


@media (max-width: 980px) {
  .buscador .search-form {
    transform: translateY(0px);
  }

  .buscador .search-form.visible {
    transform: translateY(-50px);
  }
}
/* Animacion entrada */

.buscador .search-form label {
  display: block;
  margin: 0 0 16px 32px;
  font-family: var(--typo-primary);
  font-size: 32px;
  font-style: italic;
  text-align: left;
  color: var(--on-background);
}
/*-------------------------------------------CLOSE: BUSCADOR OVERLAY*/


/*-------------------------------------------OPEN: NUESTRO PROYECTO*/
/* Contenedor UL estilo timeline */

.objetivos-ch {
  list-style: none !important;
  margin: 32px 0 0 0;
  padding: 0 !important;
  position: relative;
}

/* Línea vertical ultrafina */
.objetivos-ch::before {
  content: '';
  position: absolute;
  left: 0; /* fuera de las cards */
  top: 0;
  width: 1px; /* línea muy fina */
  height: 100%;
  background: var(--border-medium);
}

/* Cada card con separación desde la línea */
.objetivo {
  position: relative;
  margin-bottom: 8px;
  padding: 16px;
  background: var(--surface);
  border-radius: var(--corner-medium);
  border: 1px solid var(--border-medium);
  margin-left: 45px; /* más cerca de la línea */
}

/* Rama horizontal fina */
.objetivo::before {
  content: '';
  position: absolute;
  left: -45px; /* distancia desde la card hasta la línea */
  top: 20px; /* centra la rama vertical con la card */
  width: 45px; /* largo de la rama */
  height: 1px; /* rama fina */
  background: var(--border-medium);
  border-radius: 0.5px;
}

/* Eliminado marcador y círculo */
.objetivo::after {
  content: none;
}

.objetivo h3 {
  margin: 0;
  padding: 0;
color: var(--on-surface);
}

.objetivo p {
color: var(--on-surface);
margin: 0;
padding: 0;
line-height: 140%;
}




@media (max-width: 767px) {
  .objetivo {
    margin-left: 16px; /* espacio reducido a la izquierda */
    padding-left: 16px; /* opcional: mantener padding interno consistente */
  }

  .objetivo::before {
    left: -16px; /* rama horizontal ajustada */
    width: 16px;  /* longitud de la rama más corta */
  }
}

/*-------------------------------------------CLOSE: NUESTRO PROYECTO*/

/*-------------------------------------------OPEN: BUSCADOR PREDICTIVO*/
#live-search-results {
  position: absolute;
  background: var(--surface-searcher);
  width: 100%;
  max-height: 350px;
  overflow-y: auto;
  z-index: 9999;
  display: none;
  border-radius: 24px;
margin-top: 12px;
border: 4px solid var(--border-live-search);
}


#live-search-results ul {
list-style: none;
  margin: 0;
  padding: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#live-search-results li {
width: 100%;

}

#live-search-results li a.item-personaje.card {
display: flex;
flex-wrap: wrap;
border-radius: 12px;
padding: 12px;
background: var(--surface-card-searcher);
border: none;
}

#live-search-results li a.item-personaje.card:hover {
background: var(--surface-card-hover-searcher);
border: none;
}

#live-search-results li a.item-personaje.card:focus-visible {
outline: 2px solid var(--button-outline-focus-on-outline-color);
border: none;
box-shadow: none;
}

#live-search-results li a .container-info-personaje .info-personaje {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 0;
}

#live-search-results li a .container-info-personaje .info-personaje h2{
  display: inline-block;
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  text-align: left;
  font-size: 24px;
  line-height: 100%;
}






#live-search-results li a .container-info-personaje .imagen-personaje {
width: 42px;
height: 42px;
}

#live-search-results li a.item-personaje.card .container-info-personaje .imagen-personaje img {
border-radius: 12px;
border: 4px solid var(--border-img-live-search);

}

#live-search-results li a.item-personaje.card:hover .container-info-personaje .imagen-personaje img{
border: 4px solid var(--border-img-live-search-hover);
}





#live-search-results li a .container-info-personaje .info-personaje .biografia{
  padding: 0 8px;
  max-width: 100%;
  -webkit-line-clamp: 2;
}

#live-search-results li a .container-info-personaje .info-personaje .biografia p{
  font-weight: 300;
  text-align: left;
}


#live-search-results li a .container-info-personaje .info-personaje h1 strong,
#live-search-results li a .container-info-personaje .info-personaje .biografia p strong {
  font-weight: 700;
  text-decoration: underline;
}

#live-search-results li a .container-info-personaje .info-personaje .biografia p strong {
  color: var(--link-color);
}

#live-search-results li a .container-categorias-personaje {
  display: flex;
  gap: 8px;
  width: 100%;
  margin: 0 0 0 0;
  padding: 0;
}

#live-search-results li a .container-categorias-personaje .categoria {
  padding: 4px;
  line-height: 100%;
  background: none;
}





#live-search-results  p.no-results {
  display: flex;
  justify-content: center;
padding: 16px;
color: var(--on-background);
}









/*-------------------------------------------CLOSE: BUSCADOR PREDICTIVO*/

/*-------------------------------------------OPEN: PLANTILLA PERSONAJE*/
.single-personaje {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Forzar que las filas de Divi ocupen 100% */
.single-personaje .et_pb_row {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Forzar que las columnas ocupen 100% */
.single-personaje .et_pb_column {
    width: 100% !important;
}

/* Ocultar la barra lateral de Divi */
.single-personaje #sidebar {
    display: none !important;
}
/*-------------------------------------------CLOSE: PLANTILLA PERSONAJE*/




/*-------------------------------------------OPEN: ELIMINAR CAPTCHA*/

.grecaptcha-badge {
  display: none;
}
/*-------------------------------------------CLOSE: ELIMINAR CAPTCHA*/



/*-------------------------------------------OPEN: PAGINA 404*/

.et_pb_section.section-404 {
  display: flex;
  height: 90vh;
  flex-direction: column;
  justify-content: center;
  z-index: 10;
}

.et_pb_module.number-404 h1 {
   font-size: 17vw;
  max-width: 20em;
  text-align: center; 
  margin: 0 auto;     
  line-height: 100%;
  -webkit-text-stroke: 1px var(--on-background);
  color: transparent;
}

.et_pb_module.non-plus p {
font-size: 22px;
  text-align: center; 
  margin: 0 auto;     
  line-height: 100%;

}



@media (max-width: 767px) {
  .et_pb_module.non-plus p {
    font-size: 18px;
  }
}

/*-------------------------------------------CLOSE: PAGINA 404*/