/*========== FONTS */

/*========== Font > Fontawesome */

@import url('fontawesome.css');
@import url('light.css');
@import url('regular.css');
@import url('solid.css');

/*========== GENERAL */

* {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: var(--font-base);
}
:root {
  --ace-color-principal: #00495f;
  --ace-color-secondary: #E84A2C;
  --ace-color-tertiary: #0f69b4;
  --ace-color-quaternary: #b0d6f2;
  --ace-color-quinary: #36768e;
  --ace-color-label: #94a3b8;
  --ace-color-light: #fff;
  --ace-color-orange: rgb(232 74 45);
  --ace-color-orange-50: rgb(255 247 237);
  --ace-color-orange-100: rgb(255 237 213);
  --ace-color-slate-500: rgb(100 116 139);
  --ace-color-teal: rgb(0 73 95);
  --ace-text: #334156;
  --ace-text-2: #475569;
  --font-base: 'Roboto';
}
body {
  font-family: var(--font-base);
  font-size: 1rem;
  font-weight: normal;
  color: var(--ace-text);
}
body.bg-body-tertiary {
  background-color: #F1F5F9;
}
ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.standard-list li {
  margin-bottom: 5px;
}
.standard-list a {
  text-decoration: none;
  color: #58585B;
}
.standard-list li i {
  margin-right: 5px;
}
.standard-list a:hover {
  text-decoration: underline;
}
h1, h2, h3, h4, h5, h6, strong {
  font-family: var(--font-base);
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  
  .app-main {
    padding-top: 64px;
  }

}
.logo-simce {
  width: 250px;
}
.illustration-md {
  width: 70%;
}
.title {
  color: var(--ace-color-principal);
}
.content-title {
  font-size: 1.7rem;
  color: var(--ace-color-secondary);
}

.content-titlesub {
  font-size: 1.4rem;
  color: var(--ace-color-principal);
}
.info-user-role li {
  font-size: .85rem;
  line-height: 1.15;
}
.text-justify {
  text-align: justify;
}
.h-90 {
  height: 90px;
}
a.p-link {
  text-decoration: none;
  color: var(--ace-color-principal);
}
a.p-link:hover {
  text-decoration: underline;
}
a.top {
  background: #B6C5E5;
  width: 40px;
  height: 40px;
  border-radius: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  right: 50px;
  bottom: 100px;
  z-index: 999;
  color: #fff;
}
a.top:hover {
  background: #7087b8;
  color: #fff;
}
.title-chart {
  margin-bottom: 20px;
  font-size: 1.4rem;
  color: var(--ace-color-secondary);
}
.title-chart-2 {
  font-size: 1.25rem;
  color: var(--ace-color-principal);
}
.gsm {
  background: var(--ace-color-secondary);
  padding: .2rem .8rem;
  display: inline-block;
  font-family: var(--font-base);
  font-weight: 700;
  font-size: 1.2rem;
  color: #fff;
}

/*========== HEADER */

header {
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 5px solid var(--ace-color-secondary);
}
.logo img {
  max-width: 120px;
  margin-top: 0px;
}
@media screen and (min-width: 768px) {
  
  .app-header {
    margin-left: 250px;
  }
  .sidebar-collapse .app-header {
    margin-left: 0;
  }

}

/*========== HEADER > accesibilidad */

.accesibilidad {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.accesibilidad li {
  margin: 0 10px 0 0!important;
}
.accesibilidad li:last-child {
  margin-right: 0!important;
}
.accesibilidad span {
  height: 35px;
  width: 35px;
  border: 1px solid #0C142B;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-family: sans-serif, arial;
  font-size: 1.2rem;
  color: #0C142B;
  line-height: 1;
  font-weight: bold;
  transition: all 0.15s ease-in-out;
  -webkit-transition: all 0.15s ease-in-out;
  -moz-transition: all 0.15s ease-in-out;
}
.accesibilidad span:hover {
  background-color: #0C142B;
  color: #fff;
}
.contraste .accesibilidad span {
  border-color: #fff;
  color: #fff;
}


/*========== FOOTER */

footer * {
  color: #fff;
}
footer {
  background: #343437;
}
.footer-main {
  padding-top: 40px;
  padding-bottom: 20px;
}
.footer-menu .menu-contact {
  padding-top: 30px;
  padding-bottom: 30px;
  border-top: 1px solid #fff;
}
footer a {
  text-decoration: none;
}
footer a:hover {
  text-decoration: underline;
}
.logo-footer img {
  max-width: 50%;
}
footer .text-address {
  margin-top: 50px;
}
footer .footer-heading {
  font-size: 1.3rem;
}
footer ul.menu-contact li {
  margin-bottom: 7px;
}
footer ul.menu-contact li i {
  width: 25px;
  text-align: center;
}
.menu-sociales {
  display: flex;
  align-items: center;
}
.menu-sociales li {
  margin-right: 15px;
  margin-bottom: 10px;
}
.menu-sociales li:last-child {
  margin-right: 0;
}
.footer-menu .widget {
  padding-top: 30px;
  padding-bottom: 30px;
  border-top: 1px solid #fff;
}
footer .menu-contact.menu-horizontal {
  display: flex;
  align-items: center;
  justify-content: center;
}
footer .menu-contact.menu-horizontal li {
  padding: 0 20px;
  font-size: .9rem;
}
.copyright-text {
  padding-bottom: 40px;
  font-size: .9rem;
}

/*========== ASIDE */

.sidebar-brand,
.sidebar-wrapper,
.sidebar-footer {
  padding-left: 1rem;
  padding-right: 1rem;
}
.app-sidebar,
.sidebar-footer {
  background: var(--ace-color-principal)!important;
}
.sidebar-wrapper {
    padding-bottom: 220px;
}
.sidebar-footer {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.sidebar-brand {
  display: block;
  height: auto;
  border: 0;
}
.sidebar-brand .brand-text {
  margin-left: 0; 
  color: var(--ace-color-light);
}
.sidebar-wrapper .nav-header {
  padding: 0!important;
  color: var(--ace-color-label)!important;
}
.btn-group-nivel {
  background-color: #0F5E59;
  margin: 0;
}
.btn-group-nivel .btn-nivel-sidebar:hover {
  background-color: #36746e;
}

/* ASIDE > Nav Card */

.nav-card {
  background-color: #013b4c;
  padding: 12px;
  border-radius: 10px;
}
.nav-card h4 {
  font-size: .75rem;
  letter-spacing: .02rem;
  line-height: 1.3;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--ace-color-orange);
}
.nav-card .accordion-item {
  background-color: transparent;
  margin-bottom: 5px;
  border: 0;
  border-radius: 0;
}
.nav-card .accordion-button {
  background-color: transparent;
  padding: .6rem .75rem;
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 10px!important;
  transition: all 0.15s ease-in-out;
  -webkit-transition: all 0.15s ease-in-out;
  -moz-transition: all 0.15s ease-in-out;
  font-size: .85rem;
  letter-spacing: .02rem;
  line-height: 1.3;
  font-weight: 700;
}
.nav-card .accordion-button:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
/* Solo el header seleccionado (home del módulo) va en naranja; si solo está abierto (submódulo activo) no */
.nav-card .accordion-button.accordion-button-selected {
  background-color: var(--ace-color-secondary);
}
/* Cuando es submódulo (panel abierto pero no seleccionado), el header tiene el mismo aspecto que al hover */
.nav-card .accordion-button.accordion-button-open:not(.accordion-button-selected) {
  background-color: rgba(255, 255, 255, 0.1);
}
.nav-card .accordion-button.accordion-button-open:not(.accordion-button-selected):hover {
  background-color: rgba(255, 255, 255, 0.18);
}
[data-bs-theme=dark] .nav-card .accordion-button::after {
  content: "\f285";
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: rotate(90deg);
  font-family: bootstrap-icons !important;
  font-style: normal;
  font-weight: 400 !important;
  color: #fff;
}
.nav-card .accordion-button i {
  width: 30px;
  display: flex;
  justify-content: center;
  font-size: 16px;
}
.nav-card .accordion-body {
  padding: 5px 0;
}
.nav-card .nav-treeview .nav-item {
  width: 100%;
  margin-bottom: 5px;
}
.nav-card .nav-treeview .nav-link {
  margin: 0;
  border-radius: 10px!important;
  font-size: .85rem;
  letter-spacing: .02rem;
  line-height: 1.3;
}
.nav-card .nav-treeview .nav-link:hover,
.nav-card .nav-treeview .nav-link.active {
  background-color: #e9492e !important;
  color: #fff !important;
}
.nav-card .nav-general .nav-item {
  width: 100%;
  margin-bottom: 5px;
}
.nav-card .nav-general .nav-link {
  background-color: transparent;
  margin: 0;
  padding: .6rem .75rem;
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 10px !important;
  transition: all 0.15s ease-in-out;
  -webkit-transition: all 0.15s ease-in-out;
  -moz-transition: all 0.15s ease-in-out;
  font-size: .85rem;
  letter-spacing: .02rem;
  line-height: 1.3;
  font-weight: 700;
}
.nav-card .nav-general .nav-link span {
  width: calc(100% - 40px);
}
.nav-card .nav-general .nav-link i {
  width: 30px;
  display: flex;
  justify-content: center;
  font-size: 16px;
}
.sidebar-footer .nav-link-exit {
  background-color: transparent;
  margin: 0;
  padding: .6rem .75rem;
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 10px !important;
  transition: all 0.15s ease-in-out;
  -webkit-transition: all 0.15s ease-in-out;
  -moz-transition: all 0.15s ease-in-out;
  font-size: .85rem;
  letter-spacing: .02rem;
  line-height: 1.3;
  font-weight: 700;
}
.sidebar-footer .nav-link-exit:hover {
  background-color: var(--ace-color-secondary)!important;
  color: #fff!important;
}
p.copy {
  padding-left: .75rem;
  padding-right: .75rem;
  font-size: .65rem;
  letter-spacing: .02rem;
  line-height: 1.3;
  color: #94a3b8;
}

/*========== MAIN */

.head-section h2 {
  margin-bottom: 1.8rem;
  font-weight: 800;
  text-align: center;
  color: var(--ace-color-principal);
}
.intro-section {
  background-color: #F0F6FF;
  padding: 1.5rem;
  border-radius: 10px;
  border-left: 5px solid var(--ace-color-tertiary);
  border-right: 5px solid var(--ace-color-tertiary);
  box-shadow: 2px 2px 8px rgba(0,0,0,0.1);
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: .9rem;
}
.intro-section p {
  margin-bottom: 0;
}
.intro-section i {
  font-size: 1.3rem;
  color: var(--ace-color-tertiary);
}
.tag-level {
  background-color: #CCE7F8;
  padding: .5rem 1rem;
  display: inline-block;
  border-radius: 50px;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  color: var(--ace-color-tertiary);  
}

/*========== CARDS */

.card {
  border-radius: 10px;
  border-color: rgba(0,0,0,0.1);
  box-shadow: 0 0 5px rgba(0,0,0,0.05);
}
.card-body {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.card-header {
  padding: 1.5rem;
  border: 0;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ace-color-principal)!important;
} 
.card-2 .card-header {
  background-color: var(--ace-color-principal)!important;
  padding-top: .5rem;
  padding-bottom: .5rem;
  color: #fff!important;
}
.info-bar {
  margin-top: .5rem;
}
.info-bar p,
.card .label-subdimension-description {
  margin-bottom: 0;
  font-size: .8rem;
  font-weight: 400;
  color: var(--ace-text-2);
}
.card .label-subdimension {
  margin-bottom: 0;
  font-size: 1rem;
  color: var(--ace-color-tertiary);
  font-weight: 700;
}

/*========== UP DOWN */

.dividing-line {
  border-bottom: 1px solid rgba(0,0,0,0.1);
}
.updown-indicator {
  padding: 0 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.updown-indicator h3 {
  margin: .5rem 0;
  display: flex;
  align-items: center;
  gap: 5px;
  font-weight: 800;
  line-height: 1;
  color: var(--ace-color-principal);
}
.updown-indicator h3 i {
  font-size: 1.9rem;
}
.updown-indicator > span {
  margin: 0;
  font-size: .8rem;
  color: #64748b;
  text-align: center;
}
@media screen and (min-width: 768px) {
  
  .dividing-line {
    border-right: 1px solid rgba(0,0,0,0.1);
    border-bottom: 0;
  }
  .updown-indicator {
    padding: 0 3rem;
  }
  .col-md-2 .updown-indicator,
  .col-md-3 .updown-indicator {
    padding: 0 .5rem;
  }

}
.pts-tag:after {
  content: 'pts';
}
.pts-tag.pts-tag-no-suffix:after {
  content: '';
}

/*========== TABLE */

table.table {
  font-family: var(--font-base)!important;
  font-size: .75rem;
  font-weight: 400;
  letter-spacing: .04rem;
  color: var(--ace-text-2)!important;
}
table.table th,
table.table td {
  padding-top: .75rem;
  padding-bottom: .75rem;
}
table.table thead th {
  background-color: #F9FAFC;
  border-bottom-color: #e2e8ef;
  font-size: .65rem;
  font-weight: 800;
  text-align: center;
  text-transform: uppercase;
  line-height: 1.1;
  color: #334155;
  vertical-align: middle;
}
table.table tr td {
  border-bottom-color: #f3f5fa!important;
}
table.table tr td,
table.table tbody tr th {
  text-align: center;
  border-bottom-color: #f3f5fa!important;
}
table.table tr td:first-child {
  font-weight: 800;
}
.table-hover>tbody>tr:hover>* {
  --bs-table-bg-state: #fafafc;
}
/* TABLA: Tendencia según grupo socioeconómico */

table.t9 {
  font-weight: 600;
}
.pill-tag {
  background: #E2E8F0;
  padding: .15rem .5rem;
  border-radius: 40px;
  color: #334155;
  font-weight: 500;
}
.featured-tag {
  font-size: .85rem;
  font-weight: 800;
  color: var(--ace-color-secondary);
}

/*========== NAV TAB */

.nav-tabs {
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.nav-tabs .nav-item .nav-link,
.card-body .nav-tabs .nav-link:not(.active) {
  background: #f2f5f9;
  margin: 0;
  padding: .4rem;
  border: 0!important;
  border-radius: 0 !important;
  font-size: .8rem;
  font-weight: 700;
  color: #667389!important;
}
.nav-tabs .nav-item .nav-link:hover {
  background: #e3e8ef!important;
}
.nav-tabs .nav-item .nav-link.active {
  background: #0c7891!important;
  color: #fff!important; 
}
.nav-tabs .nav-item .nav-link.presentation-medio.active {
  background: var(--ace-color-orange) !important;
}
.nav-tabs .nav-item .nav-link.presentation-bajo.active {
  background: #00495f !important;
}
/* Línea divisoria entre tabs (Alto | Medio | Bajo) */
.nav-tabs.nav-justified .nav-item:not(:first-child) .nav-link {
  position: relative;
}
.nav-tabs.nav-justified .nav-item:not(:first-child) .nav-link::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  background: rgba(0,0,0,.2);
}
.tab-pane,
.tab-pane.text-presentation {
  background: transparent!important;
  font-size: .8rem;
  line-height: 1.3;
  color: #364054!important; 
}

/*========== INFO LEVEL  */

@media screen and (min-width: 768px) {
  
  .nivel-info {
    padding-left: 50px;
  }
  
}

.nivel-info li {
  margin-bottom: 1.2rem;
}
.nivel-info h5 {
  margin-bottom: .4rem;
  font-size: .85rem;
  font-weight: 800;
  position: relative;
}
.nivel-info h5:before {
  content: '';
  width: 15px;
  height: 15px;
  position: absolute;
  left: -25px;
  border-radius: 2px;
}
.nivel-adecuado h5 {
  color: var(--ace-color-quinary);
}
.nivel-adecuado h5:before {
  background: var(--ace-color-quinary);
}
.nivel-elemental h5 {
  color: var(--ace-color-secondary);
}
.nivel-elemental h5:before {
  background:  var(--ace-color-secondary);
}
.nivel-insuficiente h5 {
  color: var(--ace-color-principal);
}
.nivel-insuficiente h5:before {
  background:  var(--ace-color-principal);
}
.nivel-info p {
  margin-bottom: 0;
  font-size: .8rem;
  color: var(--ace-text-2);
}


/*========== NAV TAB YEAR  */

.conten-years-tab {
  background-color: #F9FAFC;
  padding-top: .5rem;
  padding-bottom: .5rem;
  display: flex;
  justify-content: center;
  border-bottom: 1px solid rgba(0,0,0,0.05);
  overflow-x: auto;
}
.conten-years-tab #years-tab {
  background: #EBEFF4;
  padding: .2rem .4rem;
  border-radius: 10px;
  gap: 10px;
}

/* Botones de año (Resultados por curso) - language, math, historia */
.conten-years-tab .lang-year-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  background: #E2E8F0;
  padding: 6px;
  border-radius: 12px;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.06);
  justify-content: center;
}
.conten-years-tab .lang-year-btn {
  padding: 0.5rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: #64748b;
  background: transparent;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: color 0.2s, background 0.2s, box-shadow 0.2s;
  white-space: nowrap;
}
.conten-years-tab .lang-year-btn:hover {
  color: var(--ace-color-principal);
  background: rgba(255,255,255,0.5);
}
.conten-years-tab .lang-year-btn.active {
  background: #fff;
  color: var(--ace-color-secondary);
  box-shadow: 0 1px 3px rgba(0,0,0,0.12);
  border: 1px solid rgba(0,0,0,0.06);
}

#years-tab .nav-link {
  margin: 3px 0;
  padding: .35rem 1.5rem!important;
  font-size: .9rem;
  font-weight: 800;
  color: #64748b!important;
}
#years-tab .nav-link:hover {
  background: #dbe1ea!important;
  color: var(--ace-color-principal)!important;
}
#years-tab .nav-link.active {
  background-color: #fff!important;
  color: var(--ace-color-secondary)!important;
  box-shadow: 0 0 5px rgba(0,0,0,0.2);
}
#years-tabContent {
  padding: 1.5rem;
}
#years-tabContent .title-bar {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ace-color-principal) !important;
}

/*========== REFERENCE TABLE */

.reference-table {
  background: #f9fafc;
  padding: 1rem;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,0.05);
}
.reference-table .title-bar {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ace-color-principal) !important;
}
.grid-row {
    display: flex;
}
.grid-header, .grid-cell {
    background-color: #fff;
    width: 40%;
    padding: .5rem 1rem;
}
.grid-row .grid-header:first-child,
.grid-row .grid-cell:first-child {
  width: 60%;
}
.grid-header {
  background-color: transparent;
  border-bottom: 1px solid rgba(0,0,0,0.075);
  font-size: .7rem;
  font-weight: 800;
  color: #364154;
  text-transform: uppercase;
  letter-spacing: .04rem;
}
.grid-cell {
  font-size: .8rem;
  color: #5c6576;
  font-weight: 500;
  border-bottom: 1px solid rgba(0,0,0,0.05);
}
.grid-row .grid-cell:first-child {
  font-weight: 800;
}
.example-analysis .title-bar {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ace-color-principal) !important;
}

/*========== ACCESIBILIDAD */


body.contraste {
  color: #000;
}
body.contraste #content,
body.contraste .section-ace {
  background: var(--ace-bg-contraste)!important;
}
body.contraste .wrap-destacados {
  background: var(--ace-bg-contraste)!important;
  border: 1px solid #b7b7b9;
}
body.contraste .header.header-five .nav-area,
body.contraste .footer-section.footer-two,
body.contraste .section-menu-fixed,
body.contraste .section-menu-fixed .menu-fixed {
    background: #000!important;
}
body.contraste .header.header-five .navbar-area {
  background-color: var(--ace-bg-contraste);
}
body.contraste #block-24 .wp-block-button a.wp-block-button__link {
  border-color: transparent!important;
}
body.contraste .section-ace h3,
body.contraste .section-services .ba-service-info h4 a,
body.contraste .section-services .ba-service-info p,
body.contraste .section-services .ba-service-icon i,
body.contraste .section-news .pgafu-post-grid-main h2 a,
body.contraste .section-menu-fixed .widget li a,
body.contraste .section-que-es p,
body.contraste .section-caracteristicas p,
body.contraste .section-etapas p  {
  color: #fff!important;
}
body.contraste .section-services .vc_separator .vc_sep_holder .vc_sep_line {
  border-color: #b7b7b9!important;
}
body.contraste .section-news .pgafu-post-grid-main.pgafu-design-1 .pgafu-post-grid-content,
body.contraste .section-evalua.row-box,
body.contraste .section-rubricas table {
  background: transparent;
  color: #fff;
}
body.contraste .btn-grid .vc_btn3.vc_btn3-color-white {
  background: var(--sp-primary);
  color: #fff;
  border-color: transparent;
}
body.contraste #ace-acordeon .vc_tta.vc_tta-shape-rounded .vc_tta-panel-body, 
body.contraste #ace-acordeon .vc_tta.vc_tta-shape-rounded .vc_tta-panel-heading,
body.contraste .vc_tta.vc_general,
body.contraste .mobile-menu {
  background: var(--ace-bg-contraste);
  color: #fff;
}
body.contraste .mobile-menu {
  background: #000;
}
body.contraste .mobile-menu .menu-wrap > li a,
body.contraste .mobile-menu .dropdown > span > button,
body.contraste #ace-acordeon .vc_tta.vc_tta-shape-rounded .vc_tta-panel-heading h6 a,
body.contraste .vc_tta-color-grey.vc_tta-style-classic .vc_tta-tab>a,
body.contraste .vc_tta-color-grey.vc_tta-style-classic .vc_tta-tab.vc_active>a,
body.contraste .vc_btn3.vc_btn3-color-grey, 
body.contraste .vc_btn3.vc_btn3-color-grey.vc_btn3-style-flat,
body.contraste .section-caracteristicas h4,
body.contraste .section-periodos h6,
body.contraste .section-periodos p,
body.contraste .section-pasos .step .step-num,
body.contraste .section-pasos .step .step-info h4,
body.contraste .section-pasos .step .step-info li,
body.contraste .section-pasos p,
body.contraste .section-rubricas p,
body.contraste .section-funciona p,
body.contraste .section-periodo p,
body.contraste .section-periodo li {
  color: #fff!important;
}
body.contraste .section-rubricas table th {
  border: 1px solid var(--border-color);
}
body.contraste .section-periodos .periodo-col .vc_column-inner {
  background: var(--ace-bg-contraste);
  border: 1px solid #b7b7b9;
}
body.contraste .section-periodos .periodo-col-actual .vc_column-inner {
  background:  var(--sp-primary);
  border-color: transparent;
}
body.contraste .periodo-col-actual .vc_column-inner .icon-actual i, 
body.contraste .periodo-col-actual .vc_column-inner .icon-actual span {
  color: #fff!important;
}
body.contraste .close-style:before, 
body.contraste .close-style:after {
  background: #fff;
}

/* SECTION */

section {
  padding-top: 30px;
  padding-bottom: 20px;
}

/* SECTION > BANNER */

.section-banner {
  background: #d0e8f2;
  padding-top: 40px;
  background-image: url("../img/fondo_nube.png");
  background-size: cover;
}
.section-banner-2 h4,
.section-banner-2 p {
  color: #000;
}

/* SECTION > MENU */

.access-menu,
.access-menu a {
  display: flex;
  justify-content: center;
}
.access-menu {
  flex-wrap: wrap;
}
.access-menu li {
  margin: 10px;
}
.access-menu a,
.access-menu img {
  display: block;
}
.access-menu a {
  width: 120px;
  flex-direction: column;
  text-decoration: none;
  transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  -moz-transition: all 0.25s ease-in-out;
}
.access-menu a:hover {
  transform: scale(1.1); 
}
.access-menu img {
  width: 100%;
  margin-bottom: 15px;
}
.access-menu span {
  line-height: 1;
  display: block;
  font-family: var(--font-base);
  font-weight: 700;
  color: var(--ace-color-principal);
}

/* SECTION > RESULTADOS */

.nivel-menu {
  background: #fff;
  width: 47%;
  margin: -105px auto 0;
  padding: 15px 20px;
  border-radius: 10px 10px 0 0;

}
.nivel-menu ul {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nivel-menu ul li {
  margin: 5px 10px;
  font-size: 1.1rem;
}
.nivel-menu .btn {
  background: var(--ace-color-principal);
  border-color: var(--ace-color-principal);
  padding: .6rem 2rem;
  font-family: var(--font-base);
  font-weight: 700;
  font-size: 1.1rem;
  color: #fff;
  opacity: .4;
  transition: all 0.15s ease-in-out;
  -webkit-transition: all 0.15s ease-in-out;
  -moz-transition: all 0.15s ease-in-out;
}
.nivel-menu .btn.active,
.nivel-menu .btn:hover {
  opacity: 1;
}
.menu-option {
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--ace-color-principal);
}
.menu-option li {
  margin-right: 10px;
}
.menu-option .btn {
  background: var(--ace-color-principal);
  padding: .3rem 2rem;
  border-radius: 0;
  border-color: var(--ace-color-principal);
  font-family: var(--font-base);
  font-weight: 700;
  color: #fff;
  transition: all 0.15s ease-in-out;
  -webkit-transition: all 0.15s ease-in-out;
  -moz-transition: all 0.15s ease-in-out;
}
.menu-option .btn:hover,
.menu-option .btn.active {
  background: var(--ace-color-principal);
  color: #fff;
}
.menu-option .btn:hover {
  opacity: .5;
}
.level-title {
  color: var(--ace-color-principal);
}
.level-title span {
  font-family: var(--font-base);
}

.icon {
  width: 55px;
  margin-right: 10px;
}

.btn-ejemplo {
  background: var(--ace-color-secondary) !important;
  padding: .3rem 1rem !important;
  border-radius: 8px;
  font-family: var(--font-base);
  font-weight: 700;
  font-size: .85rem;
  color: #fff !important;
  line-height: normal;
}



.btn-ejemplo:hover {
  background: #b11726;
  color: #fff;
}


.btn-recome {
  background: #e19928;
  padding: .4rem 4rem !important;
  border-radius: 8px;
  font-family: var(--font-base);
  font-weight: 700;
  font-size: 20px;
  color: #fff;
  line-height: normal;
}

.btn-recome:hover {
  background: #ca870b;
  color: #fff;
}
.btn-see-more {
  padding: .05rem .7rem;
  display: inline-flex;
  align-items: center;
}
.btn-see-more i {
  margin-left: 5px;
  font-size: .8rem;
  margin-top: -1px;
}
.module-symbol {
  padding: 2rem 1rem;
}

.module-symbol .symbols {
  display: flex; 
  flex-direction: column;
}
.module-symbol .symbols li i {
  margin-right: 5px;
  color: var(--ace-color-principal);
}
.module-symbol-center {
  background: #ffffff;
  margin-bottom: 4rem;
  border-radius: 12px;
  text-align: center;
  font-size: 13.6px;
}
@media (max-width: 767px) {
  .module-symbol-center {
    margin-bottom: 0;
  }
}
.module-symbol-center .symbols {
  margin-bottom: 30px;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.module-symbol-center .symbols li {
  margin-right: 40px;
}
.module-symbol-center .symbols li:last-child {
  margin-right: 0;
}
.download-container > div .btn {
  width: 49% !important;
}
.btn-download {
  background: var(--ace-color-secondary) !important;
  padding: .15rem 2rem;
  border-radius: 8px;
  font-family: var(--font-base);
  font-weight:400;
  color: #fff !important;
}

.btn-modalini {
  background: #00495f;
  border-radius: 8px;
  font-family: var(--font-base);
  font-weight: 700;
  width: 300px;
  height: 60px;
  color: #fff;
  margin: 20px;
}
.btn-informes {
  background: #00495f;
  display: block;
  text-align: center;
}
.btn-download-xl {
  padding: .4rem 1rem;
  font-size: 1.2rem;
  line-height: 1.3;
}
.btn-download:hover {
  background: #b11726;
  color: #fff;
}

.btn-modalini:hover {
  background: #026485;
  color: #fff;
}
.btn-informes:hover {
  background: #026485;
}
.symbols-2 p {
  margin-bottom: 15px;
}
.symbols-2 .ranking {
  display: flex;
  align-items: center;
  color: var(--ace-color-principal);
  margin-bottom: 30px;
}
.symbols-2 .ranking i {
  margin-right: 10px;
  font-size: 2.2rem;
}
.symbols-2 .ranking span {
  line-height: 1.1;
}
.symbols-2 .ranking span.num {
  margin-right: 10px;
  font-family: var(--font-base);
  font-weight: 700;
  font-size: 2.8rem;
  line-height: normal;
}
.row-border {
  border: 1px solid rgba(0,0,0,0.1);
}


/* TBODY TABLE */
.sg-tbody td {
  background: #B6C5E5 !important;
  vertical-align: middle;
}

.text-table {
  background: #B6C5E5;
  padding: 1rem;
}
.btn-back {
  background: var(--ace-color-secondary) !important;
  padding: .5rem 2rem;
  font-family: var(--font-base);
  font-weight: 700;
  color: #fff !important;
}
.btn-back:hover {
  background: #b11726 !important;
  color: #fff !important;
}
.btn-back i {
  margin-right: 5px;
}
.info-xl {
  font-family: var(--font-base);
  font-weight: 700;
  color: #B6C5E5;
  text-align: center;
  font-size: 2.4rem;
  line-height: 1.1;
}

/* SUBDIMENSIÓN */

.title-chart-b {
  font-size: 1.3rem;
  color: var(--ace-color-principal);
}
.wrap-chart {
 /*  border: 1px solid rgba(218, 218, 218, 1); */
  display: flex;
  align-items: center;
  justify-content: center;
  width: 500px !important;
    height: 300px;
 
}
.wrap-chart-pun {
  /*border: 1px solid rgba(218, 218, 218, 1);*/
  display: flex;
  /*align-items: center;*/
  justify-content: center;
  width: 562px !important;
  height: 300px;
 
}
.wrap-chart-gse {
display: block;
border: 1px solid rgba(218, 218, 218, 1);
width: 380px;
height: 281px;
}

/* Modificación para resultados */

.wrap-chart-2{
  border: 1px solid rgba(218, 218, 218, 1);
}
.btn-example {
  width: 200px;
  display: inline-block;
  transition: all 0.15s ease-in-out;
  -webkit-transition: all 0.15s ease-in-out;
  -moz-transition: all 0.15s ease-in-out;
}
@media (min-width: 1024px) {
  .btn-example {
    margin-top: 10px;
    margin-left: 150px;
  }
}
.btn-example:hover {
  transform: scale(1.05);
}
.btn-example img {
  width: 100%;
  display: block;
}
.details ul {
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, 0.5);
}
.details ul li {
  color: var(--ace-color-principal);
}
.table-results a {
  font-weight: 700;
  text-decoration: none;
  color: #000;
}
.table-results a:hover {
  text-decoration: underline;
}
.table-results a i {
  margin-right: 10px;
}


/* PREGUNTAS */

.sort {
  margin-top: -6px;
  margin-bottom: 15px;
}
.sort h5 {
  margin-right: 20px;
  margin-bottom: 0;  
  color: var(--ace-color-principal);
}
.sort select {
  width: 200px;
}
.box-info {
  background: rgba(4, 59, 162, 0.15);
  padding: 1.5rem;
  border-radius: 12px;
}

.container1, .container1-fluid, .container1-lg, .container1-md, .container1-sm, .container1-xl, .container1-xxl {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x)* .5);
  padding-left: calc(var(--bs-gutter-x)* .5);
  margin-right: auto;
  margin-left: auto;
} 

/* MODAL DESCARGA ARCHIVOS */


.downloadFiles .modal-content {
  position: relative;
  padding: 0;
  margin: 0;
   background-color: #FEDFCC;
  width: 70%;
  margin-left: 250px;

  border: 0;
  border-radius: 0;
  clip-path: polygon(
    0 0,
    100% 0,
    100% calc(100% - 40px),
    calc(100% - 40px) 100%,
    0 100%
  );
}
.downloadFiles .modal-content::before {
  content: "";
  position: absolute;
  bottom: 0;
 
  right: 0;
  border-width: 40px 40px 0 0;
  border-style: solid;
  border-color: #FEDFCC transparent transparent transparent;
  box-shadow: -1px -1px 3px rgba(0,0,0,0.3);
}
.downloadFiles .modal-header {
  position: relative;
  justify-content: end;
  border: 0;
}
.downloadFiles .row {
  position: relative;
}
.downloadFiles .iconPin {
  width: 60px;
  position: absolute;
  top: 53%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.downloadFiles .btnClose {
  background-color: #4D4D4F;
  width: 30px;
  height: 30px;
  margin: 0;
  padding: 0;
  border-radius: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  color: #fff;
  transition: all 0.15s ease-in-out;
  -webkit-transition: all 0.15s ease-in-out;
  -moz-transition: all 0.15s ease-in-out;
}
.downloadFiles .btnClose:hover {
  background-color: #2a2a2a;
}
.downloadFiles .modal-title {
  color: var(--ace-color-secondary);
}
.downloadFiles .modal-footer {
  padding-top: 2rem;
  padding-bottom: 2rem;
  border: 0;
  justify-content: center;
}
.downloadFiles .box-download {
  background-color: #ffffff;
  border-radius: 12px;
}
.downloadFiles .modal-footer .btn-download {
  padding: .85rem 1.5rem;
}
.downloadFiles .box-download a {
  text-decoration: none;
  color: #00495f;
}
.downloadFiles .box-download a.link-download {
  padding: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.downloadFiles .box-download.box-list {
  padding: 1rem;
}
.downloadFiles .box-download p {
  margin-bottom: 0;
}
.downloadFiles .box-download a .btnDownload {
  background-color: rgba(249, 200, 207, 1);
  width: 30px;
  height: 30px;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ace-color-secondary);
  transition: all 0.15s ease-in-out;
  -webkit-transition: all 0.15s ease-in-out;
  -moz-transition: all 0.15s ease-in-out;
}
.downloadFiles .box-download a .btnDownload:hover {
  background-color: rgba(242, 170, 180, 1);
}
.downloadFiles .box-download.box-list a {
  text-decoration: underline;
}
.downloadFiles .imgStat {
  width: 85%;
  margin: 0 auto;
  display: block;
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: 12px;
}
.downloadFiles .btn-results {
  width: 85%;
  padding-top: .5rem;
  padding-bottom: .5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.downloadFiles .btn-results i {
  margin-right: 8px;
}
.downloadFiles .line-row-1,
.downloadFiles .line-row-2,
.downloadFiles .line-row-3,
.downloadFiles .line-row-4 {
  background: rgba(4, 59, 162, 1);
  height: 1px; 
  position: absolute;
  z-index: -1;
}
.downloadFiles .line-row-1 {
  width: 90%; 
  transform: translateX(-50%);
  left: 50%;
  top: 40px; 
}
.downloadFiles .line-row-2 {
  width: 50%;
  left: 5%;
  top: 70px;
}
.downloadFiles .line-row-3 {
  width: 50%;
  left: 5%;
  top: 30px;
}
.downloadFiles .line-row-4 {
  width: 1px;
  height: 100px;
  left: 50%;
  top: auto;
  bottom: 100px;
  transform: translateY(-50%);
}

  

/* RESPONSIVE */

@media (min-width: 1400px) {
  
  .container, 
  .container-lg, 
  .container-md, 
  .container-sm, 
  .container-xl, 
  .container-xxl {
      max-width: 100%;
      margin-left: 0;
      margin-right: 0;
      padding-left: var(--bs-gutter-x, 0.75rem);
      padding-right: var(--bs-gutter-x, 0.75rem);
  }
  
}

@media (min-width: 1400px) {
  
  .container1, 
  .container1-lg, 
  .container1-md, 
  .container1-sm, 
  .container1-xl, 
  .container1-xxl {
      max-width: 1400px;
  }
  
}

@media (min-width: 1200px) {
  
  .text-table {
    padding: 3rem 5rem;
    font-size: 1.1rem;
  }
  
}

@media (min-width: 992px) {
  
  .illustration-md {
    width: 450px;
  }
  .access-menu li {
    margin: 10px 40px;
  }
  .downloadFiles .modal-dialog {
    max-width: 80%;
  }
  .downloadFiles .modal-dialog {
    max-width: 80%;
  }
  
}

@media (max-width: 992px) {
.downloadFiles .modal-content {
  position: relative;
  padding: 0;

  margin: 0;
   background-color: #FEDFCC;
  width: 70%;
  margin-left: 30px;
  border: 0;
  border-radius: 0;
  clip-path: polygon(
    0 0,
    100% 0,
    100% calc(100% - 40px),
    calc(100% - 40px) 100%,
    0 100%
  );
}
}
@media (max-width: 992px) {
  nav .row .col-md-6:first-child {
    order: 2;
  }
  nav .row .col-md-6:last-child {
    order: 1;
  }
  .logo.text-end {
    margin-bottom: 35px;
    text-align: left!important;
  }
  .nivel-menu {
    width: 96%;
    margin-top: -120px;
  }
  .nivel-menu li strong {
    display: block;
    line-height: 1;
  }
  .menu-option {
    flex-direction: column;
  }
  .menu-option li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
  }
  .menu-option .btn {
    display: block;
  }
  footer .menu-contact.menu-horizontal {
    flex-direction: column;
    align-items: start;
  }
  footer .menu-contact.menu-horizontal li {
    padding-left: 0;
    padding-right: 0;
  }
  .copyright-text {
    text-align: left!important;
  }
}

@media (max-width: 767px) {
  .g-5, .gx-5 {
      --bs-gutter-x: 0;
  }
}

.badge {
  background: #0f69c4;
  --bs-badge-padding-x: 0.65em;
  --bs-badge-padding-y: 0.35em;
  --bs-badge-font-size: 0.75em;
  --bs-badge-font-weight: 700;
  --bs-badge-color: #ffffff;
  --bs-badge-border-radius: var(--bs-border-radius);
  display: inline-block;
  padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
  font-size: var(--bs-badge-font-size);
  font-weight: var(--bs-badge-font-weight);
  line-height: 1;
  color: var(--bs-badge-color);
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: var(--bs-badge-border-radius);
}

.box-info-2 {
  background: #e6e6e6;
  padding: 1.5rem;
  border-radius: 12px;
}

.box-info-3 {
  background: #dde6f6;
  padding: 1.5rem;
  border-radius: 12px;
}

div:where(.swal2-container).swal2-center>.swal2-popup {
  grid-column: 2;
  grid-row: 2;
  place-self: center center;
  background: #ecfcff;
}

.tooltip-inner {
  max-width: 600px; /* Cambia el ancho máximo del tooltip */
  width: auto; /* Asegúrate de que pueda ajustarse al contenido */
  text-align: left; /* Justificar el texto a la izquierda */
  word-wrap: break-word; /* Permite que el texto se ajuste en caso de líneas largas */
}

.tooltip-icon {
  cursor: pointer;
  color: #043aa2;

  position: relative;
  
}

.tooltip-icon:hover::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 125%; /* Ajusta según tu diseño */
  left: 50%;
  transform: translateX(-50%);
  background: white;
  color: white;
  padding: 5px 10px;
  border-radius: 5px;
  font-size: 0.85em;
  white-space: nowrap;
  z-index: 1000;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.2s ease-in-out;
}

.tooltip-icon::after {
  content: '';
  visibility: hidden;
  opacity: 0;
}




.tooltip-text:hover::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 150%; /* Ajusta según el diseño */
  left: 50%;
  transform: translateX(-50%);
  background: rgb(255, 255, 255);
  color: white;
  padding: 5px;
  border-radius: 4px;
  font-size: 0.85em;
  white-space: nowrap;
  opacity: 1;
  visibility: visible;
}

.tooltip-text::after {
  content: '';
  visibility: hidden;
  opacity: 0;
}

.objetiv{

  color: #2058c5;
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: var(--bs-modal-padding);
  text-align: left;
}

.modal {
  --bs-modal-margin: 5.75rem;
  --bs-modal-box-shadow: var(--bs-box-shadow);

  
}

.modal1 {
  display: flex;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  align-items: center;
  justify-content: center;
  padding: 20px; /* Evita que el modal toque los bordes */
}

.modal-content1 {
  background: white;
  padding: 20px;
  border-radius: 10px;
  text-align: center;
  width: 90%; /* Permite que se ajuste en pantallas pequeñas */
  max-width: 900px; /* Mantiene el límite en pantallas grandes */
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
  position: relative;
}



.modal-content1 img {
  width: 100%;  /* Se ajusta al contenedor */
  max-width: 880px; /* No supera su tamaño original */
  height: auto; /* Mantiene la proporción */
  border-radius: 8px; /* Opcional: suaviza los bordes */
}

.modal-content2 {
  background: white;
  padding: 0px;
  border-radius: 10px;
  text-align: center;
  width: 600px; /* Permite que se ajuste en pantallas pequeñas */
  max-width: 900px; /* Mantiene el límite en pantallas grandes */
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
  position: relative;
}

/* Botón de cerrar */
.close-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  background: transparent;
  border: none;
  font-size: 20px;
  cursor: pointer;
}

.close-btn:hover {
  color: #dd2032;
}

#closeModal {
  background: var(--ace-color-secondary);
  padding: .5rem 2rem;
  font-family: var(--font-base);
  font-weight: 700;
  color: #fff;
  border: none;
  padding: 10px;
  cursor: pointer;
  border-radius: 5px;
  margin-top: 20px;
  width: 250px;
}

#closeModal:hover {
  background: darkred;
}

/* Ocultar el modal inicialmente */
.hidden {
  visibility: hidden;
  pointer-events: none;
}
 .tooltip-help {
 cursor: help;
 text-decoration: underline;
 color: #0056b3;
 }
        
 .modal-dialog1{

  max-width: 90%; /* Ajusta según necesites */
  width: 90%;
 }

 .orientae2 {
  font-style: normal;
  line-height: 23px;
  font-family: var(--font-base);
 }

 .modal3 {
  display: flex;
  position: fixed;
 
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  align-items: center;
  justify-content: center;
  padding: 20px; /* Evita que el modal toque los bordes */
}

.modal-content3 {
  background: white;
  padding: 20px;

  border-radius: 10px;
  text-align: center;
  width: 70%; /* Permite que se ajuste en pantallas pequeñas */
  max-width: 900px; /* Mantiene el límite en pantallas grandes */
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
  position: relative;
}



.modal-content3 img {
  width: 100%;  /* Se ajusta al contenedor */
  max-width: 880px; /* No supera su tamaño original */
  height: auto; /* Mantiene la proporción */
  border-radius: 8px; /* Opcional: suaviza los bordes */
}
.video-container {
  position: relative;
  width: 100%;
  max-width: 680px; /* Ancho máximo */
}
.video-container video {
  width: 100%;
  height: auto;
  border-radius: 8px; /* Opcional: bordes redondeados */
  margin: 80px;
}
.title-subdi {  
  margin-bottom: 0 !important;
  font-size: 1.4rem !important;
  line-height: normal !important;
}
.simce-label, .simce-button {
    color: #00495f;
}
.simce-button {
    background-color: #00495f;
    border-color: #00495f;
    color: #ffffff;
}
.simce-button:hover {
    background-color: #003b4c;
    border-color: #003b4c;
    color: #ffffff;
}
.chart-container {
  position: relative;
  width: 100%;
  max-width: 100%;  
  margin-bottom: 1rem;
}
/* Contenedor para gráficos de subdimensión: respeta col y no se escapa */
.chart-subdimension-wrapper {
  width: 100%;
  max-width: 100%;
  height: 100px;
  position: relative;
}
.chart-subdimension-wrapper canvas {
  max-width: 100% !important;
}
@media (max-width: 768px) {
    .chart-container {
        height: 200px; /* Altura más baja en móviles */
    }
}
  
  
/* TALLERES DE ANÁLISIS */

.talleres-header.card {
  border: 1px solid #dee2e6;
  border-radius: 0.5rem;
  text-align: center;
}
.talleres-header h2 {
  color: var(--ace-color-teal);
  font-size: 1.75rem;
  font-weight: 800;
  margin-bottom: 0.5rem;
}
.talleres-header .subtitle {
  font-size: .9rem;
  font-weight: 500;
  letter-spacing: .025rem;
  color: var(--ace-color-slate-500);
  max-width: 42rem;
  margin: 0 auto;
}

/* Tabs: layout, hover y active (clase .taller-tab-active para no chocar con .active del layout) */

.taller-tab-btn {
  width: 100%;
  text-align: left;
  padding: 1rem 1.25rem;
  border-radius: 0.5rem;
  border: 2px solid #dee2e6;
  background: #fff;
  transition: all 0.2s;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.taller-tab-btn:hover {
  border-color: #adb5bd;
  background: #f8f9fa;
}
.taller-tab-btn.taller-tab-active {
  background: var(--ace-color-orange-50);
  border-color: var(--ace-color-orange);
  box-shadow: 0 4px 12px rgba(232, 74, 45, 0.15);
}
.taller-tab-btn.taller-tab-active:hover {
  background: rgba(232, 74, 45, 0.15);
  border-color: var(--ace-color-orange);
  box-shadow: 0 4px 12px rgba(232, 74, 45, 0.2);
}
.taller-tab-btn .taller-tab-icon {
  color: var(--ace-color-teal);
  font-size: 1.75rem;
  flex-shrink: 0;
  transition: color 0.2s;
}
.taller-tab-btn.taller-tab-active .taller-tab-icon {
  color: var(--ace-color-orange);
}
.taller-tab-btn .taller-tab-text {
  flex: 1;
  min-width: 0;
}
.taller-tab-label {
  margin-bottom: 0;
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--ace-color-teal);
  display: block;
  transition: color 0.2s;
}
.taller-tab-btn.taller-tab-active .taller-tab-label {
  color: var(--ace-color-orange);
}
.taller-tab-sublabel {
  font-size: 0.8rem;
  color: var(--ace-color-slate-500);
  display: block;
}

.taller-tab-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(12, 120, 145, 0.35);
}
.taller-tab-btn.taller-tab-active:focus-visible {
  box-shadow: 0 0 0 3px rgba(232, 74, 45, 0.4);
}
.taller-workshop-card {
  border: 1px solid #dee2e6;
  border-radius: 0.5rem;
}
.taller-workshop-card .card-body h2 {
  color: var(--ace-color-teal);
  font-size: 1.65rem;
  font-weight: 700;
}
.btn-descargar-taller {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.75rem 2rem;
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  background: var(--ace-color-orange);
  border: none;
  border-radius: 0.5rem;
  text-decoration: none;
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
  margin-top: 1rem;
  cursor: pointer;
}
.btn-descargar-taller:hover {
  background: #d43d21;
  color: #fff;
  transform: scale(1.02);
  box-shadow: 0 4px 12px rgba(232, 74, 45, 0.35);
}
.btn-descargar-taller:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(232, 74, 45, 0.35);
}

/* Accordion: ocultar flecha Bootstrap, iconos y chevron propio */
.accordion-talleres .accordion-item {
  border: 1px solid #dee2e6;
  border-radius: 0.5rem;
  margin-bottom: 0.75rem;
  overflow: hidden;
}
.accordion-talleres .accordion-button {
  background: #fff !important;
  color: var(--ace-color-teal);
  font-weight: 600;
  font-size: 1.1rem;
  padding: 1rem 1.25rem;
  box-shadow: none !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}
.accordion-talleres .accordion-button:hover {
  background: #f8f9fa !important;
}
.accordion-talleres .accordion-button:not(.collapsed) {
  background: rgba(12, 120, 145, 0.04) !important;
  color: var(--ace-color-teal);
  border-bottom: 1px solid #dee2e6;
}

.accordion-talleres .accordion-button::after {
  display: none !important;
}
.accordion-talleres .accordion-button .accordion-icon-left {
  color: var(--ace-color-orange);
  font-size: 1.25rem;
  margin-right: 0.75rem;
  flex-shrink: 0;
}
.accordion-talleres .accordion-button .accordion-title {
  flex: 1;
  text-align: left;
}
.accordion-talleres .accordion-button .accordion-chevron {
  color: var(--ace-color-orange);
  font-size: 1rem;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}
.accordion-talleres .accordion-button:not(.collapsed) .accordion-chevron {
  transform: rotate(180deg);
}
.accordion-talleres .accordion-button:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px rgba(12, 120, 145, 0.25);
}
.accordion-talleres .accordion-body {
  padding: 1.25rem 1.5rem;
}
.accordion-talleres .accordion-body h4 {
  color: var(--ace-color-teal);
  font-weight: 600;
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}
.accordion-talleres .accordion-body h4:first-child {
  margin-top: 0;
}
.info-card-taller {
  padding: 1rem 1.25rem;
  border-radius: 0 0.5rem 0.5rem 0;
  border-left: 4px solid;
  margin-bottom: 0.5rem;
}
.info-card-taller.blue {
  background: rgba(12, 120, 145, 0.08);
  border-left-color: var(--ace-color-teal);
}
.info-card-taller.blue h4 {
  color: var(--ace-color-teal);
}
.info-card-taller.orange {
  background: rgba(232, 74, 45, 0.08);
  border-left-color: var(--ace-color-orange);
}
.info-card-taller.orange h4 {
  color: var(--ace-color-orange);
}
.info-card-taller.teal {
  background: rgba(12, 120, 145, 0.06);
  border-left-color: var(--ace-color-teal);
}
.info-card-taller.teal h4 {
  color: var(--ace-color-teal);
}
.info-card-taller ul {
  margin-bottom: 0;
  padding-left: 1.25rem;
}
.activity-card-taller {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 0.5rem;
  padding: 1.25rem;
  margin-top: 1rem;
}
.activity-card-taller h4 {
  color: var(--ace-color-orange);
  font-weight: 700;
  font-size: 1.1rem;
}
.activity-card-taller .purpose {
  font-size: 0.9rem;
  color: var(--ace-color-slate-500);
  font-style: italic;
  margin: 0.25rem 0 0.75rem 0;
}
.momento-box {
  padding: 1rem;
  border-radius: 0.5rem;
  text-align: center;
}
.momento-box.blue {
  background: #cfe2ff;
}
.momento-box.blue h5 {
  color: #084298;
}
.momento-box.orange {
  background: #ffe5d9;
}
.momento-box.orange h5 {
  color: #a52a00;
}
.momento-box.yellow {
  background: #fff3cd;
}
.momento-box.yellow h5 {
  color: #856404;
}
.momento-box.green {
  background: #d1e7dd;
}
.momento-box.green h5 {
  color: #0f5132;
}
.indicator-card-taller {
  padding: 1rem 1.25rem;
  border-radius: 0.5rem;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  color: #fff;
}
.indicator-card-taller .icon-wrap {
  flex-shrink: 0;
  font-size: 1.5rem;
}
.indicator-card-taller h5 {
  font-weight: 700;
  color: #fff;
  margin-bottom: 0.25rem;
  font-size: 1rem;
}
.indicator-card-taller p {
  margin: 0;
  font-size: 0.875rem;
  opacity: 0.95;
}
.indicator-card-taller.bg-blue {
  background: var(--ace-color-teal);
}
.indicator-card-taller.bg-teal {
  background: #0d9488;
}
.indicator-card-taller.bg-orange {
  background: var(--ace-color-orange);
}
.indicator-card-taller.bg-red {
  background: #dc3545;
}

/* Evitar que tablas/gráficos por curso (g4, g5) se salgan en responsive */
.table-responsive[style*="overflow-x"] {
  min-width: 0;
  width: 100%;
}
.col-md-6 .table-responsive[style*="overflow-x"] {
  min-width: 0;
}
  
  
  
  
  





