@charset "UTF-8";
/*
Description: Tema personalizado con soporte para CPT Institucional
*/
/* Estilos básicos */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Montserrat", Arial, sans-serif;
  line-height: 1.6;
  color: #333;
}

.entry-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.entry-header .entry-title-wrapper {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  padding: 1em;
}
.entry-header .entry-title-wrapper img {
  height: 50px;
  width: auto;
}
.entry-header .entry-title-wrapper .entry-title {
  font-size: 2rem;
  color: #0071AB;
}

/* Contenido */
.site-content {
  min-height: 500px;
  padding: 40px 0;
}

.entry-content {
  font-size: 14px;
  color: 606060;
}

.institucional-main-wrapper {
  margin-top: 40px;
  margin-bottom: 40px;
}
@media (max-width: 992px) {
  .institucional-main-wrapper {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

.institucional-grid-layout {
  display: grid;
  grid-template-columns: 70% 30%;
  gap: 0;
  max-width: var(--wp--style--global--wide-size, 1280px);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--wp--style--root--padding-left, 20px);
  padding-right: var(--wp--style--root--padding-right, 20px);
}
@media (max-width: 1024px) {
  .institucional-grid-layout {
    grid-template-columns: 70% 30%;
    gap: 30px;
  }
}
@media (max-width: 992px) {
  .institucional-grid-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

.institucional-content-area {
  min-width: 0;
}
.institucional-content-area > * {
  max-width: 100%;
}

.institucional-sidebar-area {
  position: relative;
  padding-top: 0.5em;
}
@media (min-width: 992px) {
  .institucional-sidebar-area {
    position: sticky;
    top: var(--wp-admin--admin-bar--height, 100px);
    align-self: start;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
  }
  .institucional-sidebar-area::-webkit-scrollbar {
    width: 6px;
  }
  .institucional-sidebar-area::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
  }
  .institucional-sidebar-area::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 3px;
  }
  .institucional-sidebar-area::-webkit-scrollbar-thumb:hover {
    background: #555;
  }
}
@media (max-width: 768px) {
  .institucional-sidebar-area {
    order: 2;
  }
}
.institucional-sidebar-area .widget {
  margin-bottom: 30px;
  padding: 20px;
  background: var(--wp--preset--color--base, #f8f9fa);
  display: flex;
  justify-content: center;
}
.institucional-sidebar-area .widget:last-child {
  margin-bottom: 0;
}
.institucional-sidebar-area .widget .widget-title {
  margin: 0 0 15px 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--wp--preset--color--contrast, #1a1a1a);
}
.institucional-sidebar-area .widget ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.institucional-sidebar-area .widget ul li {
  padding: 8px 0;
  border-bottom: 1px solid var(--wp--preset--color--border, #e5e5e5);
}
.institucional-sidebar-area .widget ul li:last-child {
  border-bottom: none;
}
.institucional-sidebar-area .widget ul li a {
  color: var(--wp--preset--color--contrast, #333);
  text-decoration: none;
  transition: color 0.2s;
}
.institucional-sidebar-area .widget ul li a:hover {
  color: var(--wp--preset--color--primary, #007bff);
}

.institucional-content-area .wp-block-group,
.institucional-content-area .wp-block-columns {
  margin-bottom: var(--wp--style--block-gap, 2rem);
}

.institucional-grid-layout--no-sidebar {
  grid-template-columns: 1fr;
  max-width: var(--wp--style--global--content-size, 960px);
}
.institucional-grid-layout--no-sidebar .institucional-sidebar-area {
  display: none;
}

.institucional-grid-layout--sidebar-left {
  grid-template-columns: 30% 70%;
}
@media (max-width: 1024px) {
  .institucional-grid-layout--sidebar-left {
    grid-template-columns: 30% 70%;
  }
}
@media (max-width: 768px) {
  .institucional-grid-layout--sidebar-left {
    grid-template-columns: 1fr;
  }
}
.institucional-grid-layout--sidebar-left .institucional-sidebar-area {
  order: -1;
}
@media (max-width: 768px) {
  .institucional-grid-layout--sidebar-left .institucional-sidebar-area {
    order: 2;
  }
}

.institucional-accordion ul,
.institucional-hijos ul {
  list-style: none;
}
.institucional-accordion ul li,
.institucional-hijos ul li {
  margin: 0.25rem 0;
}
.institucional-accordion ul li ul,
.institucional-hijos ul li ul {
  margin-left: 1rem;
  border-left: 2px solid #ddd;
  padding-left: 0.75rem;
}

.institucional-accordion {
  margin-top: 2rem;
}
.institucional-accordion .accordion-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
  background-color: #f5f5f5;
  cursor: pointer;
}
.institucional-accordion .accordion-header .child-title {
  font-size: 18px;
  margin: 0;
}
.institucional-accordion .accordion-header .child-title a {
  color: #0071AB;
  text-decoration: underline;
  flex: 1;
  max-width: max-content;
}
.institucional-accordion .accordion-header:hover {
  background: #eee;
}
.institucional-accordion .accordion-header .toggle-nietos {
  background: none;
  border: none;
  font-size: 24px;
  font-weight: bold;
  cursor: pointer;
  padding: 0 10px;
  color: #333;
  transition: transform 0.3s ease;
}
.institucional-accordion .nivel-nietos {
  margin-left: 1.5rem;
  margin-top: 0.5rem;
  border-left: 2px solid #ddd;
  padding-left: 0.75rem;
  transition: all 0.3s ease;
}
.institucional-accordion .nivel-nietos.oculto {
  display: none;
}
.institucional-accordion .nivel-nietos.a {
  color: #444;
  text-decoration: none;
}
.institucional-accordion .nivel-nietos.a:hover {
  text-decoration: underline;
}

/* Estilos para el acordeón */
.institucional-elementos {
  margin-top: 1em;
}
.institucional-elementos .accordion-item {
  border-radius: 4px;
}
.institucional-elementos .accordion-item .accordion-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
  background-color: #05A0DD;
  border-bottom: 1px solid #fff;
  cursor: pointer;
}
.institucional-elementos .accordion-item .accordion-header .nivel-titulo {
  font-size: 18px;
  color: #ffffff;
  margin: 0;
  flex: 1;
}
.institucional-elementos .accordion-item .accordion-header:hover, .institucional-elementos .accordion-item .accordion-header.activo {
  background-color: #0071AB; /* Azul claro */
}
.institucional-elementos .accordion-item .accordion-header .toggle-subnivel {
  background: none;
  border: none;
  font-size: 24px;
  font-weight: bold;
  cursor: pointer;
  padding: 0 10px;
  color: #fff;
  transition: transform 0.3s ease;
}
.institucional-elementos .accordion-item .accordion-content {
  max-height: 1000px;
  overflow: scroll;
  transition: max-height 0.3s ease-out;
  background-color: #F2F2F2;
}
.institucional-elementos .accordion-item .accordion-content.oculto {
  max-height: 0;
}
.institucional-elementos .accordion-item .accordion-content .sub-nivel-descipcion {
  padding: 1em;
  font-size: 0.9rem;
}
.institucional-elementos .accordion-item .accordion-content .sub-nivel-lista {
  margin: 0;
  list-style: none;
  margin-left: 1rem;
  padding: 1em 0.5em;
  border-left: 2px solid #ddd;
  color: 606060;
  font-size: 1rem;
  margin-bottom: 1em;
}
.institucional-elementos .accordion-item .accordion-content .sub-nivel-lista .sub-nivel-item a {
  text-decoration-color: #E14556;
}

/* Header*/
.banner-cabecera-gov {
  width: 100%;
  max-width: 100%;
}
.banner-cabecera-gov a.link-gov-header {
  width: max-content;
}

/* Footer */
.site-footer {
  background: #2C2C2C;
  color: #fff;
  padding: 0;
  margin-top: 40px;
}
