@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
* {
  margin: 0px;
  padding: 0px;
  border: 0;
  font-family: "Roboto", sans-serif;
}
.material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24
}

:root{
  --black: #111111;
  --black-87: rgb(17, 17, 17,0.87);
  --black-54: rgb(17, 17, 17,0.54);
  --black-26: rgb(17, 17, 17,0.26);
  --black-12: rgb(17, 17, 17,0.12);
  --text-color: #373737;
  --focus-color: #FFBE5C;
  --white: #ffffff;

  --link-default: #1D70B8;
  --link-hover: #003078;
  --link-visited: #4c2c92;
  --link-active: #373737;

  --gray-50: #F2F2F2;
  --gray-100: #E6E6E6;
  --gray-200: #CCCCCC;
  --gray-300: #B3B3B3;
  --gray-400: #999999;
  --gray-500: #808080;
  --gray-600: #666666;
  --gray-700: #4D4D4D;
  --gray-800: #333333;
  --gray-900: #1A1A1A;

  --primary-50: #BFEEFF;
  --primary-100: #A1D2FF;
  --primary-200: #83B6FF;
  --primary-300: #649CFD;
  --primary-400: #4282E0;
  --primary-500: #0F69C4;
  --primary-600: #0051A8;
  --primary-700: #003B8D;
  --primary-800: #002673;
  --primary-900: #00136A;

  --dark-50: #8596B6;
  --dark-100: #6B7C9C;
  --dark-200: #526381;
  --dark-300: #3A4C68;
  --dark-400: #223550;
  --dark-500: #092039;
  --dark-600: #000824;
  --dark-700: #00000F;

  --green-50: #E8F5E9;
  --green-100: #C8E6C9;
  --green-200: #A5D6A7;
  --green-300: #81C784;
  --green-400: #66BB6A;
  --green-500: #4CAF50;
  --green-600: #43A047;
  --green-700: #388E3C;
  --green-800: #2E7D32;
  --green-900: #1B5E20;

  --warning-50: #FBE9E7;
  --warning-100: #FFCCBC;
  --warning-200: #FFAB91;
  --warning-300: #FF8A65;
  --warning-400: #FF7043;
  --warning-500: #FF5722;
  --warning-600: #F4511E;
  --warning-700: #E64A19;
  --warning-800: #D84315;
  --warning-900: #BF360C;

  --info-50: #E3F2FD;
  --info-100: #BBDEFB;
  --info-200: #90CAF9;
  --info-300: #64B5F6;
  --info-400: #42A5F5;
  --info-500: #2196F3;
  --info-600: #1E88E5;
  --info-700: #1976D2;
  --info-800: #1565C0;
  --info-900: #0D47A1;

  --danger-50: #FFEBEF;
  --danger-100: #FFCDD2;
  --danger-200: #F2999C;
  --danger-300: #E97175;
  --danger-400: #F54E53;
  --danger-500: #FB3B3B;
  --danger-600: #EC313A;
  --danger-700: #D32F2F;
  --danger-800: #CD1E2C;
  --danger-900: #BE0A1F;


  --cualitativa-graph-01: #FA4D56;
  --cualitativa-graph-02: #6929C4;
  --cualitativa-graph-03: #198038;
  --cualitativa-graph-04: #009D9A;
  --cualitativa-graph-05: #000070;
  --cualitativa-graph-06: #D3354F;
  --cualitativa-graph-07: #FAE250;
  --cualitativa-graph-08: #C9EE63;
  --cualitativa-graph-09: #61B258;
  --cualitativa-graph-10: #70D1F0;
  --cualitativa-graph-11: #4A62D1;
  --cualitativa-graph-12: #A56EFF;
  --cualitativa-graph-13: #DD45DF;
  --cualitativa-graph-14: #F1C0D3;
  --cualitativa-graph-15: #F9D9B6;
  --cualitativa-graph-16: #FEFACD;
  --cualitativa-graph-17: #BDFDC8;
  --cualitativa-graph-18: #D7BFFA;

  --secuencial-graph-01:#001141;
  --secuencial-graph-02:#001d6c;
  --secuencial-graph-03:#002d9c;
  --secuencial-graph-04:#0043CE;
  --secuencial-graph-05:#0043ce;
  --secuencial-graph-06:#0f62fe;
  --secuencial-graph-07:#4589ff;
  --secuencial-graph-08:#78a9ff;
  --secuencial-graph-09:#d0e2ff;
  --secuencial-graph-10:#edf5ff;

  --variables-graph-01:#000070;
  --variables-graph-02:#6929c4;
  --variables-graph-03:#009d9a;
  --variables-graph-04:#d7bffa;

  --secuencial-2-graph-01:#294090;
  --secuencial-2-graph-02:#3a6eae;
  --secuencial-2-graph-03:#5d9bc7;
  --secuencial-2-graph-04:#88c3dc;
  --secuencial-2-graph-05:#b9e1ee;
  --secuencial-2-graph-06:#e8eac5;
  --secuencial-2-graph-07:#ffd581;
  --secuencial-2-graph-08:#ffaa5c;
  --secuencial-2-graph-09:#f97145;
  --secuencial-2-graph-10:#dc2d2a;
  --secuencial-2-graph-11:#9d0024;

  --cream: #fffcf5;

  --border-1: 1px;
  --border-2: 2px;
  --border-3: 3px;
  --border-4: 4px;

  --border-radius-none: 0px;
  --border-radius-xs:4px;
  --border-radius-s:8px;
  --border-radius-m:16px;
  --border-radius-l:24px;

  --spacing-0:0px;
  --spacing-xxxs:4px;
  --spacing-xxs:8px;
  --spacing-xs:12px;
  --spacing-s:16px;
  --spacing-m:24px;
  --spacing-l:36px;
  --spacing-xl:48px;
  --spacing-xxl:64px;

  --text-heading-xl:48px;
  --text-heading-l:36px;
  --text-heading-m:24px;
  --text-heading-s:19px;

  --text-body-l:24px;
  --text-body-m:19px;
  --text-body-s:16px;
  --text-body-xs:14px;

  --weight-thin: 100;
  --weight-extralight: 200;
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-extrabold: 800;
  --weight-heavy: 900;

  --font-sans: 'Roboto', sans-serif;
  --font-slab: 'Roboto Slab', serif;


  --box-shadow: 0px 4px 10px rgba(0, 28, 65, 0.1);
}




/*============================
L A Y O U T
==============================*/

.section{
  margin-bottom: var(--spacing-xxl);
}
.title--slab{
  font-size: var(--text-heading-l);
  font-weight: var(--weight-bold);
  font-family: var(--font-slab);
  line-height: 120%;
  color: var(--text-color);
  border-left: 10px solid var(--info-500);
  padding-bottom: var(--spacing-xs);
  padding-left: 20px;
  margin-bottom: var(--spacing-s);
}



/*============================


C O M P O N E N T S

accordion
button
card
chip
form
footer
header
navbar
navbar logotype





/*============================
A C C O R D I O N
==============================*/
.accordion{
  margin-top: var(--spacing-m);
}
.accordion-item{
  border-right: 0;
  border-left: 0;
  border-top: 0;
  border: 1px solid var(--gray-200) !important;
  /* border-bottom: 1px solid var(--gray-300) !important; */
}
.accordion-button {
  position: relative;
  display: flex;
  flex-direction: row;
  gap: var(--spacing-m);
  align-items: center;
  width: 100%;
  padding: var(--spacing-s) !important;
  color: var(--text-color) !important;
  text-align: left;
  background-color: var(--white) ;
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--bs-accordion-transition);

  min-height: 100px;
}
.accordion-button:not(.collapsed){
  /* background-color: var(--gray-50); */
  box-shadow: none;
  border-bottom: 1px solid var(--gray-200) !important;
}


.accordion-button .first{
  display: flex;
  flex-direction: row;
  gap: var(--spacing-s);
  align-items: center;
}
.accordion-button .first i{
  font-size: 36px;
}


.accordion--energia .accordion-button:not(.collapsed){
  /* background-color: var(--focus-color); */
  background-color: rgba(255, 190, 92, 0.25);
}
.accordion-button .first .icon--energia{
  color: var(--focus-color);
}

.accordion--ippu .accordion-button:not(.collapsed){
  background-color: rgba(33, 149, 243, 0.25);
}
.accordion-button .first .icon--ippu{
  color: var(--info-500);
}

.accordion--agricultura .accordion-button:not(.collapsed){
  background-color: rgba(76, 175, 79, 0.25);
}
.accordion-button .first .icon--agricultura{
  color: var(--green-500);
}

.accordion--utcuts .accordion-button:not(.collapsed){
  background-color: rgba(255, 86, 34, 0.25);
}
.accordion-button .first .icon--utcuts{
  color: var(--warning-500);
}

.accordion--residuos .accordion-button:not(.collapsed){
  background-color: rgba(9, 32, 57, 0.25);
}
.accordion-button .first .icon--residuos{
  color:  var(--dark-500);
}



.accordion-button .first .title{
  font-size: var(--text-body-m);
  font-weight: var(--weight-bold);
  color: var(--text-color);
  margin: 0px;
}
.accordion-button .subtitle{
  font-size: var(--text-body-xs);
  font-weight: var(--weight-regular);
  color: var(--text-color);
  margin: 0px;
}
.accordion-button .text{
  font-size: var(--text-body-s);
  font-weight: var(--weight-medium);
  font-family: var(--font-slab);
  color: var(--text-color);
  margin: 0px;
}

.accordion-body{
  padding: var(--spacing-s) !important;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxs);
}
.accordion-body .title{
  font-size: var(--text-body-m);
  font-weight: var(--weight-bold);
  color: var(--text-color);
  margin: 0px;
}
.accordion-body a{
  color: var(--link-default);
}
.accordion-body a:active{
  color: var(--link-active);
}
.accordion-body a:hover{
  color: var(--link-hover);
}
.accordion-body a:visited{
  color: var(--link-visited);
}
@media (max-width: 431px) {
  .accordion-button{
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-xs);
  }
  .accordion-button .first{
    gap: var(--spacing-xs);
  }
}


/*============================
B U T T O N
==============================*/
.button{
  align-items: center !important;
  border-radius: var(--border-radius-none) !important;
  cursor: pointer !important;
  display: flex !important;
  flex-direction: row;
  gap: var(--spacing-xxs) !important;
  justify-content: center !important;
  margin: 0px !important;
  position: relative !important;
  font-weight: var(--weight-bold) !important;
  text-decoration: none !important;
}
.button span{
  font-size: var(--text-body-s);
  /* font-size: var(--text-body-l); */
}
.p-button-label{
  font-size: var(--text-body-s) !important;
  line-height: 16px !important;
}
.button img{
  height: 24px;
  width: 24px;
}
.button br {
  display: none;
}
.button--sm {
  max-height: 44px;
  height: 44px;
  padding: var(--spacing-xxs) 16px !important;
  font-size: var(--text-body-s) !important;
  line-height: 16px !important;
  width: fit-content;
}
.button--md {
  min-height: 24px;
  max-height: 50px !important;
  height: 50px !important;
  padding: var(--spacing-xs) 20px !important;
  font-size: var(--text-body-s) !important;
  line-height: 16px !important;
  width: fit-content;
}
.button--md a{
  color: var(--white) !important;
  text-decoration: none;
}
.button--lg{
  max-height: 56px;
  height: 56px;
  padding: 13px 25px !important;
  font-size: var(--text-body-m) !important;
  line-height: 19px !important;
  width: fit-content;
}
.button--rounded, .p-button-rounded{
  align-items: center !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  display: flex !important;
  flex-direction: row;
  justify-content: center !important;
  margin: 0px !important;
  position: relative !important;
  text-decoration: none !important;
  height: 44px !important;
  width: 44px !important;
  max-height: 44px !important;
  max-width: 44px !important;
  min-width: 44px !important;
  font-size: var(--text-body-l) !important;
}
.button__group{
  display: flex;
  flex-wrap: nowrap;
  gap: var(--spacing-xxs);
  justify-content: flex-end;
}
.button--primary {
  background-color: var(--primary-600) !important;
  border: 1px solid var(--primary-600) !important;
  color: var(--white) !important;
}
.button--primary:hover,
.button--primary:focus {
  background-color: var(--primary-700) !important;
  border: 1px solid var(--primary-700) !important;
}
.button--primary:active {
  background-color: var(--primary-800) !important;
  border: 1px solid var(--primary-800) !important;
}

/*  */
.button--secondary {
  background: var(--gray-50) !important;
  border: 1px solid var(--gray-50) !important;
  color: var(--text-color) !important;
}
.button--secondary:hover,
.button--secondary:focus {
  background-color: var(--gray-100) !important;
  border: 1px solid var(--gray-100) !important;
}
.button--secondary:active {
  background-color: var(--gray-200) !important;
  border: 1px solid var(--gray-200) !important;
}

/*  */
.button--primary--line {
  background-color: transparent !important;
  border: 1px solid var(--primary-600) !important;
  color: var(--primary-600) !important;
}
.button--primary--line:hover,
.button--primary--line:focus {
  border: 1px solid var(--primary-700) !important;
  color: var(--primary-700) !important;
}
.button--primary--line:active {
  border: 1px solid var(--primary-800) !important;
  color: var(--primary-800) !important;
}
/*  */
.button--white--line {
  background-color: transparent;
  border: 1px solid var(--white);
  color: var(--white) !important;
}
.button--white--line:hover,
.button--white--line:focus {
  background-color: rgba(255, 255, 255, 0.15);
}
.button--white--line:active {
  background-color: rgba(255, 255, 255, 0.25);
}
/*  */
.button--danger {
  background-color: var(--danger-600) !important;
  border: 1px solid var(--danger-600) !important;
  color: var(--white) !important;
}
.button--danger:hover,
.button--danger:focus {
  background-color: var(--danger-700) !important;
  border: 1px solid var(--danger-700) !important;
}
.button--danger:active {
  background-color: var(--danger-800) !important;
  border: 1px solid var(--danger-800) !important;
}

/*  */
.button--success {
  background-color: var(--green-600) !important;
  border: 1px solid var(--green-600) !important;
  color: var(--white) !important;
}
.button--success:hover,
.button--success:focus {
  background-color: var(--green-700) !important;
  border: 1px solid var(--green-700) !important;
}
.button--success:active {
  background-color: var(--green-800) !important;
  border: 1px solid var(--green-800) !important;
}

/*  */
.button--warning {
  background-color: var(--warning-500);
  border: 1px solid var(--warning-500);
  color: var(--white) !important;
}
.button--warning:hover,
.button--warning:focus {
  background-color: var(--warning-600);
  border: 1px solid var(--warning-600);
  color: var(--white);
}
.button--warning:active {
  background-color: var(--warning-700);
  border: 1px solid var(--warning-700);
  color: var(--white);
}






















.card{
  background: var(--white);
  border: none !important;
  border-radius: var(--border-radius-none) !important;
  display: flex;
  gap: var(--spacing-xxs);
  margin: 0;
  min-width: 0;
  position: relative;
  word-wrap: break-word;
  align-items: flex-start;
  /* margin-bottom: var(--spacing-m); */
}
.card--vertical {
  flex-direction: column;
}
.card--horizontal {
  flex-direction: row;
  gap: var(--spacing-m);
}
.card--border{
  border: 1px solid var(--gray-200) !important;
  border-radius: var(--border-radius-none) !important;
  padding: var(--spacing-s) !important;
}
.card img{
  width: -webkit-fill-available;
  height: 220px;
  object-fit: cover;
}
.card h2{
  color: var(--text-color);
  font-size: var(--text-heading-l);
  font-weight: var(--weight-medium);
  font-family: var(--font-slab);
  line-height: 150%;
  margin: 0px;
}
.card h3{
  color: var(--text-color);
  font-size: var(--text-heading-m);
  font-weight: var(--weight-medium);
  line-height: 150%;
  margin: 0px;
}
.card h4{
  color: var(--text-color);
  font-size: var(--text-heading-s);
  font-weight: var(--weight-medium);
  line-height: 150%;
  margin: 0px;
}
.card p{
  color: var(--text-color);
  font-size: var(--text-body-s);
  font-weight: var(--weight-regular);
  line-height: 150%;
  margin: 0px;
}
.card .text{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}

.card__header{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}




.card--img {
  position: relative;
  height: 400px;
  border-radius: var(--border-radius-s);
  overflow: hidden;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
  background: #000;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.card--img .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  z-index: 0;
}
.card--img .image::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0,0,0,0.1));
}
.card--img .image:hover{
  cursor: pointer;
  transition:0.3s ease-in-out;
  -webkit-transition:0.3s ease-in-out;
  transform:scale(1.2);
  -webkit-transform:scale(1.2);
}
.card--img .content {
  position: relative;
  padding: var(--spacing-m);
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxs);
}
.card--img .content h4 {
  color: var(--white);
  font-size: var(--text-heading-s);
  font-weight: var(--weight-medium);
  line-height: 150%;
  margin: 0px;
}
.card--img .content p {
  color: var(--white);
  font-size: var(--text-body-xs);
  font-weight: var(--weight-regular);
  line-height: 150%;
  margin: 0px;
}

.card--apoyo-institucional{
  border-radius: var(--border-radius-s) !important;
  padding: var(--spacing-m);
  background-color: var(--info-50);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.card--apoyo-institucional i{
  color: var(--info-500);
  font-size: 36px;
}





.card--metodologia img {
    width: -webkit-fill-available;
    height: 700px;
    object-fit: cover;
}


@media (max-width: 820px) {
  .card--horizontal img{
    width: 200px;
    height: 200px;
    object-fit: cover;
  }
  .card--metodologia{
    flex-direction: column-reverse;
  }
  .card--metodologia img{
    width: 100%;
    height: auto;
  }
}
@media (max-width: 431px) {
  .card--horizontal {
    flex-direction: column;
  }
  .card--horizontal img{
    width: -webkit-fill-available;
    height: 220px;
    object-fit: cover;
  }
   .card--metodologia{
    flex-direction: column-reverse;
  }
  .card--metodologia img{
    width: 100%;
    height: auto;
  }
}


/*============================
C H I P S
==============================*/
.chips{
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--spacing-s);
}
.chip {
  border-radius: var(--border-radius-l);
  font-weight: var(--weight-bold);
  position: relative;
  word-break: normal;
  width: max-content;
}
.chip--lg{
  align-items: center;
  display: flex;
  flex-direction: row;
  font-size: var(--text-body-s);
  height: 40px !important;
  line-height: 16px;
  max-height: 40px !important;
  padding: var(--spacing-xxs);
}
.chip--md{
  align-items: center;
  display: flex;
  flex-direction: row;
  font-size: var(--text-body-xs);
  height: 37px;
  line-height: 14px;
  padding: var(--spacing-xxs);
}
.chip--sm{
  align-items: center;
  display: flex;
  flex-direction: row;
  font-size: var(--text-body-xs) !important;
  height: 29px;
  line-height: 14px;
  padding: var(--spacing-xxxs) var(--spacing-xxs);
}
.chip a{
  text-decoration: none;
  color: var(--primary-500) !important;
}
.chip--dark{
  background-color: var(--dark-500);
  color: var(--white);
}
.chip--primary{
  background-color: var(--primary-600);
  color: var(--white);
}
.chip--primary--light{
  background-color: transparent;
  border: 1px solid var(--primary-500);
  color: var(--primary-500);
}

.chip--green{
  background-color: var(--green-800);
  color: var(--white);
}
.chip--green--light{
  background-color: var(--green-50);
  color: var(--green-900);
}
.chip--warning{
  background-color: var(--warning-900);
  color: var(--white);
}
.chip--warning--light{
  background-color: var(--warning-50);
  color: var(--warning-900);
}
.chip--danger{
  background-color: var(--danger-800);
  color: var(--white);
}
.chip--danger--light{
  background-color: var(--danger-50);
  color: var(--warning-800);
}
.chip--info{
  background-color: var(--info-800);
  color: var(--white);
}
.chip--info--light{
  background-color: var(--info-50);
  color: var(--info-800);
}
.chip--gray{
  background-color: var(--gray-200);
  color: var(--text-color);
}
.chip--yellow{
  background-color: var(--cualitativa-graph-07);
  color: var(--text-color);
}





/*============================
F O R M
==============================*/
.filter{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: var(--spacing-m);
  margin-bottom: var(--spacing-m);
}
.form{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxxs);
}
.form label{
  color: var(--text-color);
  font-size: var(--text-body-s);
  font-weight: var(--weight-bold);
  line-height: 16px;
  margin: 0px;
}

.form-select{
  color: var(--gray-700) !important;
  min-height: 42px;
}
@media (max-width: 820px) {
  .filter{
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 431px) {
   .filter{
    grid-template-columns: repeat(1, 1fr);
  }
}




/*============================
F O O T E R
==============================*/
.footer{
  background: var(--dark-500);
  color: white;
  margin-top: 100px;
}
.footer__content{
  padding: 20px 0px;
  display: grid;
  grid-template-columns: repeat(4, auto);
  grid-gap: var(--spacing-m);
}
.footer .logotype--mma{
  width: 130px;
  height: auto;
}
.footer .end{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
  align-items: flex-end;
}
.footer .address{
  color: var(--white);
  font-size: var(--text-body-xs);
  text-align: right;
  width: 50%;
  justify-self: flex-end;
  margin: 0px;
}
.footer .rrss{
  display: flex;
  flex-direction: row;
  gap: var(--spacing-xs);
  justify-content: flex-end;
}
.footer .rrss a{
  text-decoration: none;
}
.footer .rrss a img{
  color: var(--white);
  width: auto;
  height: 25px;
}
.footer .rrss a .fa-brands{
  color: var(--white);
  background-color: var(--dark-300);
  font-size: 14px;
  border-radius: 50%;
  height: 25px;
  width: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 820px) {
  .footer{
    padding: 20px;
  }
  .footer .address{
    width: 75%;
  }
}
@media (max-width: 431px) {
  .footer{
   grid-template-columns: 1fr;
  }
  .footer .address{
    width: 100%;
  }
  .footer .logotype--mma {
    width: 100px;
  }
}
@media (max-width: 320px){
  .footer .footer__content .none{
    display: none;
  }
}







/*============================
H E A D E R
==============================*/
.header{
  color: white;
  min-height: 200px;
  align-items: center;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: var(--spacing-m);
  margin-bottom: var(--spacing-xl);
}
.header__text{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}
.header .header__text h1{
  font-size: var(--text-heading-xl);
  font-weight: var(--weight-extrabold);
  margin: 0px;
}
.header .header__text p{
  color: var(--white);
  font-size: var(--text-body-s);
  font-weight: var(--weight-regular);
  margin: 0px;
}
.header__icon{
  text-align: right;
  align-content: flex-end;
  height: 100%;
  display: grid;
}
.header .header__icon i{
  font-size: 120px;
}
@media (max-width: 431px) {
  .header{
   padding: var(--spacing-m);
  }
  .header__text{
    gap: var(--spacing-xxs);
  }
  .header .header__icon i{
    font-size: 72px;
  }
}
@media (max-width: 320px){
  .header{
    grid-template-columns: 1fr;
  }
  .header .header__text h1{
    font-size: var(--text-heading-l);
  }
  .header .header__icon{
    display: none
  }
}
.header--escenarios{
  background: linear-gradient(135deg, #1B5E20 0%, #4CAF50 100%);
}
.header--escenarios .header__icon i{
  color: var(--green-400);
}

.header--medidas{
  background: linear-gradient(135deg, #0043CE 0%, #4A62D1 100%);
}
.header--medidas .header__icon i{
  color: var(--info-400);
}

.header--compromisos{
  background: linear-gradient(135deg, var(--danger-500) 0%, var(--warning-500) 100%);
}
.header--compromisos .header__icon i{
  color: var(--warning-400);
}

.header--repositorio{
  background: linear-gradient(135deg, var(--primary-500) 0%, var(--info-500) 100%);
}
.header--repositorio .header__icon i{
  color: var(--info-400);
}


.header--sector{
  background-color: var(--cream);
  color: var(--text-color);
  padding: var(--spacing-xxl) var(--spacing-xxl) 0px;
  margin-bottom: var(--spacing-xl);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-m);
  align-items: flex-start;
}
.header--sector .header--sector__title{
  display: flex;
  flex-direction: row;
  gap: var(--spacing-m);
  justify-content: center;
  width: 100%;
}
.header--sector .header--sector__title h1{
  font-size: var(--text-heading-xl);
  font-weight: var(--weight-extrabold);
  margin: 0px;
  text-align: center;
}
.header--sector .header--sector__title i{
  font-size: 56px;
}
.header--sector .header--sector__text{
  display: grid;
  grid-template-columns: 2fr 10fr;
  grid-gap: var(--spacing-m);
}
.header--sector .header--sector__text img{
  width: -webkit-fill-available;
  height: 184px;
  object-fit: cover;
}
.header--sector .header--sector__text p{
  color: var(--text-color);
  font-size: var(--text-body-s);
  font-weight: var(--weight-regular);
  line-height: 200%;
  margin: 0px;
}
.header--sector .bar{
  align-self: end;
  margin-right: -64px;
  margin-top: 24px;
}
@media (max-width: 820px) {
  .header--sector .header--sector__text {
    grid-template-columns: 1fr 6fr;
  }
}
@media (max-width: 431px) {
  .header--sector{
    padding: var(--spacing-xl) var(--spacing-xl) 0px;
    margin-bottom: var(--spacing-l);
  }
  .header--sector .bar{
    margin-right: -48px;
  }
  .header--sector .header--sector__title i{
    font-size: 36px;
  }
    .header--sector .header--sector__title h1{
    font-size: var(--text-heading-l);
    text-align: left;
  }
  .header--sector .header--sector__text {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 320px){
  .header--sector{
    padding: var(--spacing-xl) var(--spacing-l) 0px;
    margin-bottom: var(--spacing-m);
  }
  .header--sector .bar{
    margin-right: -36px;
  }
}










/*============================
H E A D E R
==============================*/
.header__bg{
  margin: 0px;
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 150px;
  display: flex;
}
.header__bg--escenarios{
  background: linear-gradient(95deg, var(--Exito-Darken-4, #1B5E20) 0%, var(--VisualizacinData-Cualitativa-Secuencial-Graph-01, #001141) 100%);
}
.header__bg--recursos{
  background: linear-gradient(95deg, var(--VisualizacinData-Cualitativa-Secuencial-Graph-05, #0F62FE) 0%, var(--Link-Visited, #4C2C92) 100%);
}
.header__bg--compromisos{
  background: linear-gradient(95deg, var(--Link-Visited, #4C2C92) 0%, var(--VisualizacinData-Divergente-Graph-09, #F97145) 100%);
}


.header__bg--medidas{
  background: linear-gradient(95deg, var(--VisualizacinData-Cualitativa-Secuencial-Graph-05, #001141) 0%, var(--VisualizacinData-Cualitativa-Secuencial-Graph-01, #0F62FE) 100%);
}


.header__bg .header{
  display: grid;
  grid-template-columns: auto 5fr 5fr;
  grid-gap: var(--spacing-m);
  margin-top: var(--spacing-l);
  margin-bottom: var(--spacing-l);
  min-height: fit-content !important;
}
.header__bg .header .header__img i{
  font-size: 72px;
  color: var(--white);
  margin-top: 10px;
}
.header__bg .header .header__title{
  display: flex;
  flex-direction: column;
  gap: 0px;
}
.header__bg .header .header__title .title{
  color: var(--cualitativa-graph-17);
  font-family: var(--font-slab);
  font-size: var(--text-heading-m);
  font-weight: var(--weight-bold);
  line-height: 120%;
  margin-bottom: 0px;
}
.header__bg .header .header__title h1 {
  font-size: var(--text-heading-xl);
  font-weight: var(--weight-heavy);
  line-height: 120%;
  color: var(--white);
  margin-bottom: 0px;
}

.header__bg .header .header__info{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}
.header__bg .header .header__info p{
  color: var(--white);
  margin-bottom: 0px;
  font-size: var(--text-body-m);
  font-weight: var(--weight-light);
  line-height: 150%;
}
@media (max-width: 1025px){
  .header__bg .header .header__img img{
    width: 300px;
    height: 180px;
    object-fit: cover;
  }
}
@media (max-width: 820px){
  .header__bg .header{
    /* grid-template-columns: repeat(2, 1fr); */
    grid-template-columns: auto 1fr;
  }
  .header__bg .header .header__img img {
    width: 336px;
    height: 180px;
  }
  .header__bg .header .header__info{
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 2;
    grid-row-end: 3;
  }
}
@media (max-width: 431px){
  .header__bg{
    border-bottom-right-radius: 100px;
  }
  .header__bg .header{
    grid-template-columns: 1fr;
  }
  .header__bg .header .header__img img {
    width: -webkit-fill-available;
  }
  .header__bg .header .header__info {
    grid-column-start: 1;
    grid-column-end: 1;
    grid-row-start: 3;
    grid-row-end: 4;
  }
}











/*============================
N A V B A R
==============================*/
.navbar{
  background-color: var(--dark-500);
  padding: var(--spacing-0) var(--spacing-m) !important;
  
}
.navbar-nav{
  gap: var(--spacing-xs);
}
.navbar-nav .nav-link{
  text-transform: uppercase;
  font-weight: var(--weight-medium);
  padding: 10px !important;
  color: var(--gray-100) !important;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--spacing-xxs);
  min-height: 48px;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
  color: var(--white) !important;
  font-weight: var(--weight-semibold);
}
.navbar-nav .nav-link:hover{
  background-color: var(--dark-600);
}
.navbar-nav .nav-link:active{
  background-color: var(--primary-500);
}

@media (min-width: 992px) {
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
    justify-content: center;
  }
}




.dropdown:hover .sectores-dropdown {
  display: block;
  top: 35px;
  background-color: var(--white);
  z-index: 10000;
}
.sectores-dropdown {
    min-width: 400px;
    border-radius: 4px;
    border: 1px solid #ddd;
    padding: 0.25rem 0;
}

.sectores-dropdown .dropdown-item,
.sectores-dropdown--mobile .dropdown-item {
  padding: var(--spacing-xs) var(--spacing-s);
  color: var(--text-color);
  font-size: var(--text-body-s);
  text-decoration: none;
  white-space: pre-wrap;
  transition: background-color 0.15s ease;
}
.dropdown-menu{
  position: absolute;
  inset: 0px auto auto 0px;
  margin: 0px;
  /* transform: translate3d(0px, 66px, 0px) !important; */
}
.sectores-dropdown .dropdown-item:hover {
  background-color: rgba(15, 106, 196, 0.10);
  color: var(--text-color);
}

@media (max-width: 431px){
  .sectores-dropdown {
    max-width: 200px;
  }
}



/*============================
N A V B A R
L O G O T Y P E
==============================*/
.navbar__logotypes{
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--white);
  padding: var(--spacing-0);
  height: 122px;
}
.navbar__logotypes .logotype--mma {
  height: auto;
  width: 130px;
}
.navbar__logotypes .logotype--snp {
  height: auto;
  width: 250px;
}
/* nuevo logo snaicc */
.navbar__logotypes .navbar__logotypes--end{
  display: flex;
  flex-direction: row;
  gap: var(--spacing-s);
  align-items: center;
}
.navbar__logotypes .logotype--subsistema {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  align-items: center;
  text-decoration: none;
  gap: var(--spacing-xxs);
  max-width: 170px;
}
/* .navbar__logotypes .logotype--subsistema b{
  margin: 0;
  font-size: 42px;
  line-height: 28px;
  color: var(--dark-500) !important;
  text-decoration: none !important;
}
.navbar__logotypes .logotype--subsistema p{
  text-align: center;
  margin: 0;
  line-height: 8px;
  font-size: 8px;
  color: var(--text-color);
  text-decoration: none !important;
} */

.button--line{
  gap: var(--spacing-xxxs);

  background-color: transparent;
  color: var(--gray-400);
  border: 1px solid var(--gray-300) !important;
  font-weight: var(--weight-regular) !important;
  padding: var(--spacing-xxxs) var(--spacing-xxs) !important;
  font-size: 11px !important;
  line-height: 16px !important;
  width: fit-content;
}
.button--line:hover,
.button--line:focus{
  color: var(--gray-400);
  border: 1px solid var(--gray-300) !important;
  background-color: var(--gray-50);
}
.button--line:active{
  background-color: var(--gray-100);
  color: var(--gray-500);
}
.button--line span{
  font-size: 11px !important;
}
.button--line b{
  color: var(--dark-500) !important;
}



@media (max-width: 431px) {
  .navbar__logotypes{
    height: 108px;
  }
  .navbar__logotypes .logotype--mma {
    height: auto;
    width: 90px;
  }
  .navbar__logotypes .logotype--snp {
    height: auto;
    width: 140px;
  }
  .navbar__logotypes .logotype--subsistema{
    max-width: 150px;
  }
 /*  .navbar__logotypes .logotype--subsistema b{
    font-size: 32px;
    line-height: 18px;
  }
  .navbar__logotypes .logotype--subsistema p{
    display: none;
  } */
}
@media (max-width: 375px) {
  .navbar__logotypes .navbar__logotypes--end{
    gap: var(--spacing-xxs);
  }
  .navbar__logotypes .logotype--snp{
    width: 116px;
  }
}
@media (max-width: 320px) {
  .navbar__logotypes .logotype--mma{
    width: 70px;
  }
  .navbar__logotypes .logotype--snp {
    width: 104px;
  }
  /* .navbar__logotypes .logotype--subsistema b{
    font-size: 28px;
  } */
}



/*============================
T A B L A
==============================*/
.table{
  border-color: var(--gray-200);
}
.table>:not(caption)>*>* {
  padding: var(--spacing-s) var(--spacing-m) !important;
  color: var(--text-color);
  line-height: 18px;
  height: 51px;
  background-color: var(--white);
  text-align: center;
  border-bottom-width: 1px;
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}
.table-primary {
  color: var(--white) !important;
  border-color: var(--gray-200);
  background-color: var(--primary-400) !important;
}
.table-primary--dark{
  color: var(--white) !important;
  border-color: var(--gray-200);
  background-color: var(--primary-900) !important;
}
.table-primary--light{
  background-color: var(--primary-50) !important;
}
.table thead tr th{
  height: 56px;
}


/*============================

H O M E

banner
indicadores
grafico
sectores

==============================*/



/*============================
B A N N E R
==============================*/
.banner {
  background-image: url(/assets/images/header--snp-01.webp);

  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: var(--spacing-m);
  height: 350px !important;
  justify-content: center !important;
  padding: var(--spacing-xl);
  margin-bottom: var(--spacing-xl);
  align-items: center;
}
.banner .banner__col {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-s);
  text-align: left;
  align-items: flex-start;
}
.banner .banner__col h1 {
  color: var(--white);
  font-size: var(--text-heading-xl);
  font-weight: var(--weight-extrabold);
  line-height: 100%;
  width: 100%;
  margin-bottom: 0;
}
.banner .banner__col p {
  color: var(--white);
  font-size: var(--text-body-s);
  font-weight: var(--weight-regular);
  width: 100%;
  margin-bottom: 0;
}
@media (max-width: 820px) {
  .banner {
    padding: var(--spacing-l);
    grid-template-columns: 7fr 5fr;
  }
}
@media (max-width: 431px) {
  .banner {
    align-items: center;
    padding: var(--spacing-m);
    grid-template-columns: 1fr;
    height: 450px !important;
  }
}



/*============================
B A N N E R
V I D E O
==============================*/
.banner--video{
  min-height: 450px;
  position: relative;
  /* display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: var(--spacing-m); */
  align-content: center;
  margin-bottom: var(--spacing-xl);
}
.banner--video .banner__info {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-s);
  text-align: left;
  align-items: flex-start;
  position: relative;

  justify-content: center !important;
  padding: var(--spacing-xl) 0px;
  
  align-items: center;
  width: 50%;

  z-index: 1000;
}
.banner--video .banner__info h1 {
  color: var(--white);
  font-size: var(--text-heading-xl);
  font-weight: var(--weight-extrabold);
  line-height: 100%;
  width: 100%;
  margin-bottom: 0;
}
.banner--video .banner__info p {
  color: var(--white);
  font-size: var(--text-body-s);
  font-weight: var(--weight-regular);
  width: 100%;
  margin-bottom: 0;
}
.banner--video video{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.banner--video .capa{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #1c1c1c;
  opacity: 0.5;
  mix-blend-mode: overlay;
}





/*============================
I N D I C A D O R E S
==============================*/
.indicadores{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: var(--spacing-m);
}



.carousel{
  /* height: 140px;
  height: calc(100% + 50px); */
  align-content: center;
  display: flex;
  flex-wrap: wrap;
}
.carousel--1{
  display: block;
}
.carousel--2{
  display: none;
}
.carousel--3{
  display: none;
}
.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 0px 50px;
  /* height: 140px;
  height: calc(100% + 50px); */
  /* background-color: var(--cualitativa-graph-10); */
  display: flex;
  align-content: center;
  flex-wrap: wrap;
}
.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: transform .6s ease-in-out;
}
.carousel-item.active{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: var(--spacing-m);
}
.carousel-control-next, .carousel-control-prev {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 0;
  color: #fff;
  text-align: center;
  background: 0 0;
  border: 0;
  opacity: .5;
  transition: opacity .15s ease;
}


.indicador{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 140px;
  border: 1px solid var(--gray-200);
  border-radius: var(--border-radius-s);
  padding: var(--spacing-s);
  justify-content: space-between;
}
/* .indicador:hover{
  cursor: pointer;
  transition:0.3s ease-in-out;
  -webkit-transition:0.3s ease-in-out;
  transform:scale(1.1);
  -webkit-transform:scale(1.1);
} */
.indicador h5{
  color: var(--text-color);
  font-size: 15px;
  font-weight: var(--weight-bold);
  line-height: 18px;
  text-align: center;
  margin: 0px;
  flex-shrink: 0;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.indicador__valor{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-grow: 1;
}
.indicador__numero{
  color: var(--info-500);
  font-size: 40px;
  font-weight: var(--weight-heavy);
  line-height: 1;
  margin: 0px;
}
.indicador__unidad{
  color: var(--info-500);
  font-size: 12px;
  font-weight: var(--weight-medium);
  line-height: 1;
  margin: 0px;
  opacity: 0.7;
}
.indicador__unidad--long{
  text-align: center;
}
.indicador p{
  color: var(--text-color);
  font-size: var(--text-body-s);
  font-weight: var(--weight-light);
  line-height: 16px;
  text-align: center;
  margin: 0px;
}
.indicador h3{
  font-size: var(--text-heading-m);
  font-weight: var(--weight-heavy);
  line-height: 24px;
  text-align: center;
  margin: 0px;
}
.indicador--1 h3{
  color: var(--cualitativa-graph-11);
}
.indicador--2 h3{
  color: var(--cualitativa-graph-12);
}
.indicador--3 h3{
  color: var(--cualitativa-graph-03);
}
.indicador--4 h3{
  color: var(--cualitativa-graph-04);
}
.indicador--5 h3{
  color: var(--cualitativa-graph-08);
}
.indicador--6 h3{
  color: var(--cualitativa-graph-09);
}
@media (max-width: 1024px) {
  /* .indicadores{
    grid-template-columns: repeat(4, 1fr);
  } */
}
@media (max-width: 820px) {
  .carousel{
    height: 170px;
  }
  .carousel-inner {
    height: 170px;
  }
  /* .indicadores{
    grid-template-columns: repeat(3, 1fr);
  } */
}
@media (max-width: 431px) {
  .carousel--1{
    display: none;
  }
  .carousel--2{
    display: block;
  }
  .carousel--3{
    display: none;
  }
  /* Estilos originales para todos los carousel--2 (indicadores) */
  .carousel--2 .carousel-item.active{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: var(--spacing-s);
  }
  .carousel-inner {
    padding: 0px 32px;
  }
  /* Estilos específicos SOLO para carousel de medidas - sobrescriben los anteriores */
  #tiposMedidasCarouselMobile {
    height: auto;
    min-height: 550px;
  }
  #tiposMedidasCarouselMobile .carousel-item.active{
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: var(--spacing-s);
  }
  #tiposMedidasCarouselMobile .card--img {
    height: 500px;
  }
  #tiposMedidasCarouselMobile .carousel-inner {
    padding: 0px 32px;
    height: auto;
    min-height: 550px;
  }
  /* .indicadores{
    grid-template-columns: repeat(2, 1fr);
  } */
}


/*============================
 G R A F I C O
==============================*/
.grafico{
  background: var(--white);
  border: none !important;
  border-radius: var(--border-radius-none) !important;
  display: flex !important;
  flex-direction: column;
  gap: var(--spacing-s);
  margin: 0;
  min-width: 0;
  position: relative;
  word-wrap: break-word;
  margin-bottom: var(--spacing-m);
}
.grafico__header{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.grafico__body{
  flex: 1 1 auto;
  color: var(--white);
}

/* Slider styles */
#anioSlider .noUi-base {
  height: 2px;
  border-radius: px;
  background: var(--gray-200);
  box-shadow: none;
}
.noUi-connect {
  background: var(--gray-200);
}
#anioSlider .noUi-handle {
  width: 18px;
  height: 18px;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  background: #f5f5f5;
  border: 2px solid #999;
  box-shadow: 0 2px 5px rgba(0,0,0,0.15);
  cursor: pointer;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
#anioSlider .noUi-handle:hover,
#anioSlider .noUi-handle:focus {
  border-color: #555;
  box-shadow: 0 0 8px 2px rgba(100,100,100,0.3);
  outline: none;
}
#anioSlider .noUi-tooltip {
  background: #555;
  color: #fff;
  font-size: 0.75rem;
  padding: 3px 8px;
  border-radius: 4px;
  box-shadow: none;
}
#anioSlider .noUi-origin {
  box-shadow: none;
  border-radius: 1px;
}
#anioSlider.noUi-target {
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}
#anioSlider .noUi-handle:before,
#anioSlider .noUi-handle:after {
  content: none !important;
}
#chartVolumenReducciones {
  padding: 0;
  margin: 0;
  position: relative;
  width: 100%;
  height: 100%;
}
#chartVolumenReducciones canvas {
  max-width: 100% !important;
  max-height: 100% !important;
  display: block;
}
/* 
#regionPanel .region-badge {
  background-color: #f8f9fa;
  transition: background-color 0.2s;
}
#regionPanel .region-badge:hover {
  background-color: #e9ecef;
} */

/* SIDEBAR */
#regionOverlay {
  transition: transform 0.3s ease-in-out;
  transform: translateX(100%);
}
#regionOverlay.show {
  transform: translateX(0);
}
#regionBackdrop {
  transition: opacity 0.3s ease-in-out;
}

/* Region panel styles */
.region-list {
  padding-right: 0.25rem;
}
.region-badge {
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  user-select: none;
  font-size: 0.85rem;
  color: #444;
  border-bottom: 1px solid #eee;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  transition: background-color 0.2s ease;
}
.region-badge input[type="checkbox"] {
  margin-left: auto;
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: #4f46e5;
  flex-shrink: 0;
}
.region-badge:last-child {
  border-bottom: none;
}
.region-badge:hover {
  background-color: #f1f3f5;
}
.region-name {
  flex-grow: 1;
}



/*============================
S E C T O R E S
==============================*/
.sectores{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-gap: var(--spacing-m);
}
.sector{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
  border: 1px solid var(--gray-200);
  border-radius: var(--border-radius-none);
  padding: var(--spacing-m) var(--spacing-s);
  text-decoration: none;
}
.sector:hover{
  cursor: pointer;
  transition:0.3s ease-in-out;
  -webkit-transition:0.3s ease-in-out;
  transform:scale(1.1);
  -webkit-transform:scale(1.1);
}
.sector i{
  text-align: center;
  font-size: 56px;
}
.sector h4{
  color: var(--text-color);
  font-size: var(--text-heading-s);
  font-weight: var(--weight-bold);
  line-height: 21px;
  text-align: center;
  margin: 0px;
}
.sector p{
  color: var(--text-color);
  font-size: var(--text-body-s);
  text-align: center;
  margin: 0px;
}
.sector--energia{
  color: var(--focus-color);
}
.sector--ippu{
  color: var(--info-500);
}
.sector--agricultura{
  color: var(--green-500);
}
.sector--utcuts{
  color: var(--warning-500);
}
.sector--residuos{
  color: var(--dark-500);
}
@media (max-width: 1024px) {
  .sectores{
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 820px) {
  .sectores{
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 431px) {
  .sectores{
    grid-template-columns: repeat(1, 1fr);
  }
  .sector i{
    text-align: center;
    font-size: 36px;
  }
}


/* .carousel--1{
  background-image: url(/public/assets/images/header--snp-01.png);
  background-size: cover; background-position: center; height: 50vh;
  display: flex;
  align-items: center; justify-content: center; color: white;
  text-align: center;
}
.hero-carousel {
    height: 50vh;
    position: relative;
}

.carousel-item {
    height: 70vh;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.carousel-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(30, 64, 175, 0.8), rgba(5, 150, 105, 0.6));
}

.carousel-item.slide-2::before {
    background: linear-gradient(135deg, rgba(5, 150, 105, 0.8), rgba(234, 88, 12, 0.6));
}

.carousel-item.slide-3::before {
    background: linear-gradient(135deg, rgba(234, 88, 12, 0.8), rgba(30, 64, 175, 0.6));
}

.hero-content {
    text-align: center;
    color: white;
    z-index: 2;
    position: relative;
}

.hero-content h1 {
    font-size: 3.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.hero-content p {
    font-size: 1.25rem;
    opacity: 0.95;
} */






/*============================
C O M P R O M I S O S
==============================*/

/*============================
S E C T O R E S
==============================*/
.compromisos{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-gap: var(--spacing-m);
}
.compromiso{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
  border: 1px solid var(--gray-200);
  border-radius: var(--border-radius-none);
  padding: var(--spacing-m) var(--spacing-s);
  text-decoration: none;
}
.compromiso:hover{
  cursor: pointer;
  transition:0.3s ease-in-out;
  -webkit-transition:0.3s ease-in-out;
  transform:scale(1.1);
  -webkit-transform:scale(1.1);
}
.compromiso i{
  text-align: center;
  font-size: 56px;
}
.compromiso h4{
  color: var(--text-color);
  font-size: var(--text-heading-s);
  font-weight: var(--weight-bold);
  line-height: 21px;
  text-align: center;
  margin: 0px;
}
.compromiso p{
  color: var(--text-color);
  font-size: var(--text-body-s);
  text-align: center;
  margin: 0px;
}
.compromiso .fa-cloud{
  color: var(--cualitativa-graph-10);
}
.compromiso .fa-bus{
  color: var(--secuencial-2-graph-10);
}
.compromiso .fa-shoe-prints{
  color: var(--variables-graph-03);
}
.compromiso .fa-bolt{
  color: var(--focus-color);
}
.compromiso .fa-wind{
  color: var(--info-300);
}
.compromiso .fa-arrow-trend-down{
  color: var(--cualitativa-graph-12);
}
.compromiso .fa-temperature-arrow-down{
  color: var(--secuencial-graph-08);
}
.compromiso .fa-carrot{
  color: var(--warning-500);
}
.compromiso .fa-utensils{
  color: var(--dark-50);
}
.compromiso .fa-person-digging{
  color: var(--dark-500);
}
.compromiso .fa-gas-pump{
  color: var(--secuencial-2-graph-08);
}
.compromiso .fa-tree{
  color: var(--green-900);
}
.compromiso .fa-seedling{
  color: var(--cualitativa-graph-08);
}
.compromiso .fa-plant-wilt{
  color: var(--cualitativa-graph-03);
}
.compromiso .fa-chair{
  color: var(--secuencial-2-graph-11);
}
.compromiso .fa-bridge-water{
  color: var(--info-500);
}
.compromiso .fa-mountain-sun{
  color: var(--cualitativa-graph-09);
}
.compromiso .fa-water{
  color: var(--cualitativa-graph-05);
}


@media (max-width: 1024px) {
  .compromisos{
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 820px) {
  .compromisos{
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 431px) {
  .compromisos{
    grid-template-columns: repeat(1, 1fr);
  }
  .compromiso i{
    text-align: center;
    font-size: 36px;
  }
}





/*============================
R E P O S I T O R I O
==============================*/
.repositorio{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: var(--spacing-m);
}
.publicacion{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
  border: 1px solid var(--gray-200);
  border-radius: var(--border-radius-none);
  padding: var(--spacing-m) var(--spacing-s);
  text-decoration: none;
  align-items: flex-start;
}
.publicacion .fa-file{
  color: var(--primary-400);
  font-size: 36px;
}
.publicacion .date{
  color: var(--text-color);
  font-size: var(--text-body-xs);
  font-weight: var(--weight-bold);
}
.publicacion h3{
  color: var(--text-color);
  font-size: var(--text-heading-m);
  font-weight: var(--weight-medium);
  line-height: 21px;
  margin: 0px;
}
.publicacion p{
  color: var(--text-color);
  font-size: var(--text-body-s);
  margin: 0px;
}
@media (max-width: 1024px) {
  .repositorio{
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 821px) {
  .repositorio{
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 431px) {
  .repositorio{
    grid-template-columns: repeat(1, 1fr);
  }
}





/*============================
F I C H A
M E D I D A
==============================*/
.ficha__bg{
  background-color: var(--info-700);
  margin: 0px;
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 150px;
}

/* Colores por categoría padre */
.ficha__bg--energia {
  background-color: #FFBE5C;
}
.ficha__bg--agricultura {
  background-color: var(--green-600);
}
.ficha__bg--ippu {
  background-color: var(--info-600);
}
.ficha__bg--utcuts {
  background-color: #8B5CF6;
}
.ficha__bg--residuos {
  background-color: #FF7043;
}
.ficha__bg--default {
  background-color: var(--gray-600);
}

/* Nuevo layout de ficha - mantener estilos originales */
.ficha--new-layout {
  display: grid;
  grid-template-columns: 3fr 5fr;
  grid-gap: var(--spacing-m);
  margin-top: var(--spacing-xl);
  margin-bottom: var(--spacing-xl);
}

.ficha__content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-s);
}

/* Estilos para el título - mantener estilos originales */
.ficha__title-section {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}

.ficha__title-section .title {
  color: var(--cualitativa-graph-17);
  font-family: var(--font-slab);
  font-size: var(--text-heading-l);
  font-weight: var(--weight-bold);
  line-height: 120%;
  margin-bottom: 0px;
}

.ficha__title-section h1 {
  font-size: var(--text-heading-xl);
  font-weight: var(--weight-heavy);
  line-height: 120%;
  color: var(--white);
  margin-bottom: 0px;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
}

.ficha__title-section .ficha__sector {
  display: flex;
  flex-direction: row;
  gap: var(--spacing-m);
  align-items: center;
}

.ficha__title-section .ficha__sector h3 {
  font-family: var(--font-slab);
  font-size: var(--text-heading-m);
  font-weight: var(--weight-medium);
  color: var(--white);
  margin-bottom: 0px;
}

.ficha__title-section h4 {
  font-family: var(--font-slab);
  font-size: var(--text-heading-s);
  font-weight: var(--weight-medium);
  color: var(--white);
  margin-bottom: 0px;
}

.ficha__title-section p {
  color: var(--white);
  margin-bottom: 0px;
}

.ficha__description {
  margin: var(--spacing-s) 0 var(--spacing-m) 0;
}

.ficha__details {
  margin-top: var(--spacing-s);
}
.ficha{
  display: grid;
  grid-template-columns: 1fr 4fr;
  grid-gap: var(--spacing-l);
  margin-top: var(--spacing-xl);
  margin-bottom: var(--spacing-xl);
}

.ficha__content-section {
  display: flex;
  flex-direction: column;
}

.ficha__title-section {
  margin-bottom: var(--spacing-m);
}

.ficha__description-section {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}

.ficha__description-section h4 {
  font-family: var(--font-slab);
  font-size: var(--text-heading-s);
  font-weight: var(--weight-medium);
  color: var(--white);
  margin-bottom: 0px;
}

.ficha__description-section p {
  color: var(--white);
  margin-bottom: 0px;
}

/* Botón de información para modales de escenarios */
.btn-info-modal {
  background: none;
  border: none;
  color: var(--white);
  font-size: 0.8rem;
  margin-left: var(--spacing-xs);
  opacity: 0.7;
  cursor: pointer;
}

.btn-info-modal:hover {
  opacity: 1;
  color: var(--focus-color);
}
.ficha__img img{
  width: -webkit-fill-available;
  height: 312px;
  object-fit: cover;
}
.ficha__title{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}
.ficha__title .title{
  color: var(--cualitativa-graph-17);
  font-family: var(--font-slab);
  font-size: var(--text-heading-l);
  font-weight: var(--weight-bold);
  line-height: 120%;
  margin-bottom: 0px;
}
.ficha__title h1 {
  font-size: var(--text-heading-xl);
  font-weight: var(--weight-heavy);
  line-height: 120%;
  color: var(--white);
  margin-bottom: 0px;
}
.ficha__title .ficha__sector,
.ficha__title .ficha__tipo{
  display: flex;
  flex-direction: row;
  gap: var(--spacing-m);
  align-items: center;
}
.ficha__title .ficha__sector h3{
  font-family: var(--font-slab);
  font-size: var(--text-heading-m);
  font-weight: var(--weight-medium);
  color: var(--white);
  margin-bottom: 0px;
}
.ficha__title h4{
  font-family: var(--font-slab);
  font-size: var(--text-heading-s);
  font-weight: var(--weight-medium);
  color: var(--white);
  margin-bottom: 0px;
}

.ficha__title p{
  color: var(--white);
  margin-bottom: 0px;
}

.ficha__info{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}
.ficha__info h4{
  font-family: var(--font-slab);
  font-size: var(--text-heading-s);
  font-weight: var(--weight-medium);
  color: var(--white);
  margin-bottom: 0px;
}
.ficha__info p{
  color: var(--white);
  margin-bottom: 0px;
}

.ficha__table {
  margin-top: var(--spacing-xxl);
  display: grid;
  grid-template-columns: 3fr repeat(2, 2fr);
  grid-template-rows: repeat(6, auto);
  /* grid-template-rows: repeat(6, 1fr); */
  grid-column-gap: var(--spacing-m);
  grid-row-gap: var(--spacing-m);
/*   width: 80%; */
}
.div1 { grid-area: 1 / 1 / 2 / 2; }
.div2 { grid-area: 2 / 1 / 3 / 2; }
.div3 { grid-area: 3 / 1 / 4 / 2; }
.div4 { grid-area: 4 / 1 / 5 / 2; }
.div5 { grid-area: 5 / 1 / 6 / 2; }
.div6 { grid-area: 6 / 1 / 7 / 2; }
.div7 { grid-area: 1 / 2 / 2 / 3; }
.div8 { grid-area: 2 / 2 / 3 / 3; }
.div9 { grid-area: 3 / 2 / 4 / 3; }
.div10 { grid-area: 4 / 2 / 5 / 3; }
.div11 { grid-area: 5 / 2 / 6 / 3; }
.div12 { grid-area: 6 / 2 / 7 / 3; }
.div13 { grid-area: 1 / 3 / 2 / 4; }
.div14 { grid-area: 2 / 3 / 3 / 4; }
.div15 { grid-area: 3 / 3 / 4 / 4; }
.div16 { grid-area: 4 / 3 / 5 / 4; }
.div17 { grid-area: 5 / 3 / 6 / 4; }
.div18 { grid-area: 6 / 3 / 7 / 4; }


.div3, .div4, .div5, .div6, .div9, .div10, .div11, .div12, .div15, .div16, .div17, .div18{
  border: 1px solid var(--gray-200);
  padding: var(--spacing-s);
  text-align: center;
}
.ficha__table h3{
  font-family: var(--font-slab);
  font-size: var(--text-heading-m);
  font-weight: var(--weight-medium);
  color: var(--text-color);
  margin-bottom: 0px;
}
.ficha__table .date{
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}
.ficha__table .date p{
  margin: 0px;
  color: var(--text-color);
}
.ficha__table h6{
  font-family: var(--font-slab);
  font-size: var(--text-body-s);
  font-weight: var(--weight-regular);
  color: var(--text-color);
  margin-bottom: 0px;
}
.ficha__table span{
  font-weight: var(--weight-bold);
  font-size: var(--text-body-l);
}
.ficha__table .info{
  color: var(--info-500);
}
.ficha__table .success{
  color: var(--green-500);
}
.ficha__table .danger{
  color: var(--danger-500);
}

@media (max-width: 1025px){
  .ficha{
    grid-template-columns: 2fr 4fr 5fr;
  }
  .ficha__img img {
    height: 200px;
  }
  .ficha__title .title {
    font-size: var(--text-heading-m);
  }
  .ficha__title h1 {
    font-size: var(--text-heading-l);
  }
}
@media (max-width: 820px){
  .ficha{
    grid-template-columns: repeat(2, 1fr);
  }
  .ficha__img img {
    height: 336px;
  }
  .ficha__info{
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 2;
    grid-row-end: 3;
  }
}
@media (max-width: 431px){
  .ficha{
    grid-template-columns: 1fr;
  }
  .ficha__img img {
    height: 400px;
  }
  .ficha__info {
    grid-column-start: 1;
    grid-column-end: 1;
    grid-row-start: 3;
    grid-row-end: 4;
  }
  .ficha__table {
    margin-top: var(--spacing-xl);
    grid-template-columns: 2fr repeat(2, 2fr);
    grid-template-rows: repeat(6, auto);
    /* grid-template-rows: repeat(6, 1fr); */
    grid-column-gap:  var(--spacing-s);
    grid-row-gap: var(--spacing-s);
  /*   width: 80%; */
  }
  .ficha__table h3{
    font-size: var(--text-heading-s);
  }
  .ficha__table h6{
    font-size: var(--text-body-xs);
  }
}
@media (max-width: 391px){
  .ficha__img img {
    height: 350px;
  }
}
@media (max-width: 321px){
  .ficha__img img {
    height: 290px;
  }
}





