.elementor-9281 .elementor-element.elementor-element-bd72064{--display:flex;--min-height:86vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-nested-tabs{--n-tabs-title-font-size:var( --e-global-typography-accent-font-size );}.elementor-9281 .elementor-element.elementor-element-60f7ae2{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:100px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-9281 .elementor-element.elementor-element-bbf2603{--grid-columns:1;--grid-row-gap:20px;width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;}.elementor-9281 .elementor-element.elementor-element-bbf2603 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-9281 .elementor-element.elementor-element-bbf2603.elementor-element{--align-self:flex-start;}.elementor-9281 .elementor-element.elementor-element-bce2d1e{--display:flex;--min-height:0px;}.elementor-9281 .elementor-element.elementor-element-e1349c1{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9281 .elementor-element.elementor-element-84555e5{--grid-columns:1;--grid-row-gap:20px;width:var( --container-widget-width, 60% );max-width:60%;--container-widget-width:60%;--container-widget-flex-grow:0;}.elementor-9281 .elementor-element.elementor-element-84555e5 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-9281 .elementor-element.elementor-element-84555e5.elementor-element{--align-self:flex-start;}.elementor-9281 .elementor-element.elementor-element-fe2e013{--display:flex;--min-height:0px;}.elementor-9281 .elementor-element.elementor-element-a7803cf{--n-tabs-heading-justify-content:flex-start;--n-tabs-title-width:initial;--n-tabs-title-height:initial;--n-tabs-title-align-items:center;--n-tabs-title-flex-grow:0;--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;--n-tabs-title-gap:0px;--n-tabs-gap:0px;--n-tabs-title-padding-top:10px;--n-tabs-title-padding-right:0px;--n-tabs-title-padding-bottom:10px;--n-tabs-title-padding-left:20px;--n-tabs-title-font-size:var( --e-global-typography-7b6f948-font-size );--n-tabs-title-color:#464646;--n-tabs-title-color-active:#000000;}.elementor-9281 .elementor-element.elementor-element-a7803cf > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:#02010100;}.elementor-9281 .elementor-element.elementor-element-a7803cf.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#00000000;}.elementor-9281 .elementor-element.elementor-element-a7803cf.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-9281 .elementor-element.elementor-element-a7803cf.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#00000000;}.elementor-9281 .elementor-element.elementor-element-a7803cf > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-9281 .elementor-element.elementor-element-a7803cf.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:var( --e-global-typography-7b6f948-font-family ), Sans-serif;font-weight:var( --e-global-typography-7b6f948-font-weight );text-transform:var( --e-global-typography-7b6f948-text-transform );}.elementor-9281 .elementor-element.elementor-element-a7803cf [data-touch-mode="false"] .e-n-tab-title[aria-selected="false"]:hover{--n-tabs-title-color-hover:#000000;}.elementor-9281 .elementor-element.elementor-element-525f961{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:100px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9281 .elementor-element.elementor-element-f9cf21d{--grid-columns:4;}.elementor-9281 .elementor-element.elementor-element-f9cf21d > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-9281 .elementor-element.elementor-element-b9853ea{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9281 .elementor-element.elementor-element-9c8d745{--grid-columns:4;}.elementor-9281 .elementor-element.elementor-element-9c8d745 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-9281 .elementor-element.elementor-element-8f5ac23{--n-tabs-heading-justify-content:flex-start;--n-tabs-title-width:initial;--n-tabs-title-height:initial;--n-tabs-title-align-items:center;--n-tabs-title-flex-grow:0;--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;--n-tabs-title-gap:0px;--n-tabs-gap:0px;--n-tabs-title-padding-top:10px;--n-tabs-title-padding-right:0px;--n-tabs-title-padding-bottom:10px;--n-tabs-title-padding-left:20px;--n-tabs-title-font-size:var( --e-global-typography-7b6f948-font-size );--n-tabs-title-color:#464646;--n-tabs-title-color-active:#000000;}.elementor-9281 .elementor-element.elementor-element-8f5ac23 > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:#02010100;}.elementor-9281 .elementor-element.elementor-element-8f5ac23.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#00000000;}.elementor-9281 .elementor-element.elementor-element-8f5ac23.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-9281 .elementor-element.elementor-element-8f5ac23.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#00000000;}.elementor-9281 .elementor-element.elementor-element-8f5ac23 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-9281 .elementor-element.elementor-element-8f5ac23.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:var( --e-global-typography-7b6f948-font-family ), Sans-serif;font-weight:var( --e-global-typography-7b6f948-font-weight );text-transform:var( --e-global-typography-7b6f948-text-transform );}.elementor-9281 .elementor-element.elementor-element-8f5ac23 [data-touch-mode="false"] .e-n-tab-title[aria-selected="false"]:hover{--n-tabs-title-color-hover:#000000;}:root{--page-title-display:none;}@media(max-width:1366px){.elementor-9281 .elementor-element.elementor-element-bd72064{--min-height:66vh;--margin-top:40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-nested-tabs{--n-tabs-title-font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-9281 .elementor-element.elementor-element-a7803cf{--n-tabs-title-font-size:var( --e-global-typography-7b6f948-font-size );}.elementor-9281 .elementor-element.elementor-element-8f5ac23{--n-tabs-title-font-size:var( --e-global-typography-7b6f948-font-size );}}@media(max-width:1200px){.elementor-9281 .elementor-element.elementor-element-f9cf21d{--grid-columns:3;}.elementor-9281 .elementor-element.elementor-element-9c8d745{--grid-columns:3;}}@media(max-width:1024px){.elementor-9281 .elementor-element.elementor-element-bd72064{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-nested-tabs{--n-tabs-title-font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-9281 .elementor-element.elementor-element-bbf2603{--grid-columns:1;}.elementor-9281 .elementor-element.elementor-element-84555e5{--grid-columns:1;}.elementor-9281 .elementor-element.elementor-element-a7803cf{--n-tabs-title-font-size:var( --e-global-typography-7b6f948-font-size );}.elementor-9281 .elementor-element.elementor-element-525f961{--margin-top:020px;--margin-bottom:070px;--margin-left:0px;--margin-right:0px;}.elementor-9281 .elementor-element.elementor-element-f9cf21d{--grid-columns:2;}.elementor-9281 .elementor-element.elementor-element-b9853ea{--justify-content:center;--margin-top:20px;--margin-bottom:70px;--margin-left:0px;--margin-right:0px;}.elementor-9281 .elementor-element.elementor-element-9c8d745{--grid-columns:1;--grid-row-gap:44px;width:var( --container-widget-width, 56% );max-width:56%;--container-widget-width:56%;--container-widget-flex-grow:0;}.elementor-9281 .elementor-element.elementor-element-8f5ac23{--n-tabs-title-font-size:var( --e-global-typography-7b6f948-font-size );}}@media(max-width:767px){.elementor-widget-nested-tabs{--n-tabs-title-font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-9281 .elementor-element.elementor-element-bbf2603{--grid-columns:1;}.elementor-9281 .elementor-element.elementor-element-84555e5{--grid-columns:1;}.elementor-9281 .elementor-element.elementor-element-a7803cf{--n-tabs-title-font-size:var( --e-global-typography-7b6f948-font-size );}.elementor-9281 .elementor-element.elementor-element-525f961{--margin-top:0px;--margin-bottom:050px;--margin-left:0px;--margin-right:0px;}.elementor-9281 .elementor-element.elementor-element-f9cf21d{--grid-columns:1;}.elementor-9281 .elementor-element.elementor-element-f9cf21d > .elementor-widget-container{margin:0px 010px 0px 10px;}.elementor-9281 .elementor-element.elementor-element-b9853ea{--margin-top:0px;--margin-bottom:030px;--margin-left:0px;--margin-right:0px;}.elementor-9281 .elementor-element.elementor-element-9c8d745{--grid-columns:1;}.elementor-9281 .elementor-element.elementor-element-8f5ac23{--n-tabs-direction:column;--n-tabs-heading-direction:row;--n-tabs-heading-width:initial;--n-tabs-title-flex-basis:content;--n-tabs-title-flex-shrink:0;--n-tabs-heading-justify-content:flex-start;--n-tabs-title-width:initial;--n-tabs-title-height:initial;--n-tabs-title-align-items:flex-start;--n-tabs-title-flex-grow:0;--n-tabs-title-justify-content:flex-start;--n-tabs-title-text-align:start;--n-tabs-title-gap:0px;--n-tabs-gap:20px;--n-tabs-title-font-size:var( --e-global-typography-7b6f948-font-size );}.elementor-9281 .elementor-element.elementor-element-8f5ac23 > .elementor-widget-container{margin:0px 0px 050px 0px;}}@media(min-width:768px){.elementor-9281 .elementor-element.elementor-element-fe2e013{--width:40%;}}/* Start custom CSS for loop-grid, class: .elementor-element-bbf2603 *//* --- LOOP de la Tab 1 --- */
#projects-loop .e-loop-item.col-lg-3,
#projects-loop .e-loop-item.col-md-4,
#projects-loop .e-loop-item.col-sm-6 {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  overflow: visible;

}

/* Fila como tabla de 4 columnas */
#projects-loop .e-loop-item{
  display: grid !important;
  grid-template-columns: 1fr 1fr 2fr 1fr;  /* Título | Tipo | Ciudad | Año */
    column-gap: 90px !important;  
    align-items: center;
    width: 100% !important;
    padding-left: 18px;
    padding-top: 15px;
    padding-bottom: 15px;
}

#projects-loop  .elementor-grid{
     grid-row-gap: 5px !important;
}
/* Aplanar wrappers para que los widgets sean celdas del grid */
#projects-loop .e-loop-item > .elementor-element{ display: contents; }

/* Quitar márgenes automáticos */
#projects-loop .e-loop-item .elementor-widget-container{ margin:0 !important; }

/* >>> Todo a la izquierda <<< */
#projects-loop .e-loop-item .elementor-widget,
#projects-loop .e-loop-item .elementor-widget *{
  text-align: left !important;
  justify-self: start !important;   /* asegura anclaje a la izquierda en Grid */
}

#projects-loop .e-loop-item.active{
  background: #000 !important;
  transition: background-color .15s ease-in-out;
}
#projects-loop .e-loop-item.active *{
  color: #fff !important;
}

@media (max-width: 1366px) {
  #projects-loop .e-loop-item{
    padding-top: 12px;
    padding-bottom: 12px;
    grid-template-columns: 1fr 1fr 2fr 1fr; 
  }
  #projects-loop  .elementor-grid{
     grid-row-gap: 3px !important;
  }
}

/* ===== Tablet Extra (≤ 1024px) ===== */
@media (max-width: 1200px) {
    #projects-loop .e-loop-item{
     grid-template-columns: 1fr 1fr 2fr 1fr; 
    padding-top: 10px;
    padding-bottom: 10px;
    column-gap: 60px !important;  
  }
  #projects-loop  .elementor-grid{
     grid-row-gap: 1px !important;
  }
  
}

/* ===== Tablet (≤ 768px) ===== */
@media (max-width: 768px) {
  #projects-loop .e-loop-item{
  
  }
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-84555e5 *//* --- LOOP de la Tab 2 (ONLINE) --- */
#projects-loop2 .e-loop-item.col-lg-3,
#projects-loop2 .e-loop-item.col-md-4,
#projects-loop2 .e-loop-item.col-sm-6 {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  overflow: visible;
}

/* Fila como tabla de 4 columnas */
#projects-loop2 .e-loop-item{
  display: grid !important;
  grid-template-columns: 1fr 1fr 2fr 1fr;  /* Título | Tipo | Ciudad | Año */
  column-gap: 90px !important;  
  align-items: center;
  width: 100% !important;
  padding-left: 18px;
  padding-top: 15px;
  padding-bottom: 15px;
}

#projects-loop2 .elementor-grid{
  grid-row-gap: 5px !important;
}

/* Aplanar wrappers para que los widgets sean celdas del grid */
#projects-loop2 .e-loop-item > .elementor-element{ 
  display: contents; 
}

/* Quitar márgenes automáticos */
#projects-loop2 .e-loop-item .elementor-widget-container{ 
  margin: 0 !important; 
}

/* >>> Todo a la izquierda <<< */
#projects-loop2 .e-loop-item .elementor-widget,
#projects-loop2 .e-loop-item .elementor-widget *{
  text-align: left !important;
  justify-self: start !important;   /* asegura anclaje a la izquierda en Grid */
}

/* Activo */
#projects-loop2 .e-loop-item.active{
  background: #000 !important;
  transition: background-color .15s ease-in-out;
}
#projects-loop2 .e-loop-item.active *{
  color: #fff !important;
}

/* ===== Desktop ≤ 1366px ===== */
@media (max-width: 1366px) {
  #projects-loop2 .e-loop-item{
    padding-top: 12px;
    padding-bottom: 12px;
    grid-template-columns: 1fr 1fr 3fr 1fr; 
  }
  #projects-loop2 .elementor-grid{
    grid-row-gap: 3px !important;
  }
}

/* ===== Tablet Extra (≤ 1200px) ===== */
@media (max-width: 1200px) {
  #projects-loop2 .e-loop-item{
    grid-template-columns: 1fr 1fr 3fr 1fr; 
    padding-top: 10px;
    padding-bottom: 10px;
    column-gap: 60px !important;  
  }
  #projects-loop2 .elementor-grid{
    grid-row-gap: 1px !important;
  }
}

/* ===== Tablet (≤ 768px) ===== */
@media (max-width: 768px) {
  #projects-loop2 .e-loop-item{
    /* añade ajustes móviles si los necesitas */
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fe2e013 */#preview-box {
  height: 70vh;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  transition: background-image 0.4s ease-in-out;
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-bbf2603 *//* --- LOOP de la Tab 1 --- */
#projects-loop .e-loop-item.col-lg-3,
#projects-loop .e-loop-item.col-md-4,
#projects-loop .e-loop-item.col-sm-6 {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  overflow: visible;

}

/* Fila como tabla de 4 columnas */
#projects-loop .e-loop-item{
  display: grid !important;
  grid-template-columns: 1fr 1fr 2fr 1fr;  /* Título | Tipo | Ciudad | Año */
    column-gap: 90px !important;  
    align-items: center;
    width: 100% !important;
    padding-left: 18px;
    padding-top: 15px;
    padding-bottom: 15px;
}

#projects-loop  .elementor-grid{
     grid-row-gap: 5px !important;
}
/* Aplanar wrappers para que los widgets sean celdas del grid */
#projects-loop .e-loop-item > .elementor-element{ display: contents; }

/* Quitar márgenes automáticos */
#projects-loop .e-loop-item .elementor-widget-container{ margin:0 !important; }

/* >>> Todo a la izquierda <<< */
#projects-loop .e-loop-item .elementor-widget,
#projects-loop .e-loop-item .elementor-widget *{
  text-align: left !important;
  justify-self: start !important;   /* asegura anclaje a la izquierda en Grid */
}

#projects-loop .e-loop-item.active{
  background: #000 !important;
  transition: background-color .15s ease-in-out;
}
#projects-loop .e-loop-item.active *{
  color: #fff !important;
}

@media (max-width: 1366px) {
  #projects-loop .e-loop-item{
    padding-top: 12px;
    padding-bottom: 12px;
    grid-template-columns: 1fr 1fr 2fr 1fr; 
  }
  #projects-loop  .elementor-grid{
     grid-row-gap: 3px !important;
  }
}

/* ===== Tablet Extra (≤ 1024px) ===== */
@media (max-width: 1200px) {
    #projects-loop .e-loop-item{
     grid-template-columns: 1fr 1fr 2fr 1fr; 
    padding-top: 10px;
    padding-bottom: 10px;
    column-gap: 60px !important;  
  }
  #projects-loop  .elementor-grid{
     grid-row-gap: 1px !important;
  }
  
}

/* ===== Tablet (≤ 768px) ===== */
@media (max-width: 768px) {
  #projects-loop .e-loop-item{
  
  }
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-84555e5 *//* --- LOOP de la Tab 2 (ONLINE) --- */
#projects-loop2 .e-loop-item.col-lg-3,
#projects-loop2 .e-loop-item.col-md-4,
#projects-loop2 .e-loop-item.col-sm-6 {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  overflow: visible;
}

/* Fila como tabla de 4 columnas */
#projects-loop2 .e-loop-item{
  display: grid !important;
  grid-template-columns: 1fr 1fr 2fr 1fr;  /* Título | Tipo | Ciudad | Año */
  column-gap: 90px !important;  
  align-items: center;
  width: 100% !important;
  padding-left: 18px;
  padding-top: 15px;
  padding-bottom: 15px;
}

#projects-loop2 .elementor-grid{
  grid-row-gap: 5px !important;
}

/* Aplanar wrappers para que los widgets sean celdas del grid */
#projects-loop2 .e-loop-item > .elementor-element{ 
  display: contents; 
}

/* Quitar márgenes automáticos */
#projects-loop2 .e-loop-item .elementor-widget-container{ 
  margin: 0 !important; 
}

/* >>> Todo a la izquierda <<< */
#projects-loop2 .e-loop-item .elementor-widget,
#projects-loop2 .e-loop-item .elementor-widget *{
  text-align: left !important;
  justify-self: start !important;   /* asegura anclaje a la izquierda en Grid */
}

/* Activo */
#projects-loop2 .e-loop-item.active{
  background: #000 !important;
  transition: background-color .15s ease-in-out;
}
#projects-loop2 .e-loop-item.active *{
  color: #fff !important;
}

/* ===== Desktop ≤ 1366px ===== */
@media (max-width: 1366px) {
  #projects-loop2 .e-loop-item{
    padding-top: 12px;
    padding-bottom: 12px;
    grid-template-columns: 1fr 1fr 3fr 1fr; 
  }
  #projects-loop2 .elementor-grid{
    grid-row-gap: 3px !important;
  }
}

/* ===== Tablet Extra (≤ 1200px) ===== */
@media (max-width: 1200px) {
  #projects-loop2 .e-loop-item{
    grid-template-columns: 1fr 1fr 3fr 1fr; 
    padding-top: 10px;
    padding-bottom: 10px;
    column-gap: 60px !important;  
  }
  #projects-loop2 .elementor-grid{
    grid-row-gap: 1px !important;
  }
}

/* ===== Tablet (≤ 768px) ===== */
@media (max-width: 768px) {
  #projects-loop2 .e-loop-item{
    /* añade ajustes móviles si los necesitas */
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fe2e013 */#preview-box {
  height: 70vh;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  transition: background-image 0.4s ease-in-out;
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-bbf2603 *//* --- LOOP de la Tab 1 --- */
#projects-loop .e-loop-item.col-lg-3,
#projects-loop .e-loop-item.col-md-4,
#projects-loop .e-loop-item.col-sm-6 {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  overflow: visible;

}

/* Fila como tabla de 4 columnas */
#projects-loop .e-loop-item{
  display: grid !important;
  grid-template-columns: 1fr 1fr 2fr 1fr;  /* Título | Tipo | Ciudad | Año */
    column-gap: 90px !important;  
    align-items: center;
    width: 100% !important;
    padding-left: 18px;
    padding-top: 15px;
    padding-bottom: 15px;
}

#projects-loop  .elementor-grid{
     grid-row-gap: 5px !important;
}
/* Aplanar wrappers para que los widgets sean celdas del grid */
#projects-loop .e-loop-item > .elementor-element{ display: contents; }

/* Quitar márgenes automáticos */
#projects-loop .e-loop-item .elementor-widget-container{ margin:0 !important; }

/* >>> Todo a la izquierda <<< */
#projects-loop .e-loop-item .elementor-widget,
#projects-loop .e-loop-item .elementor-widget *{
  text-align: left !important;
  justify-self: start !important;   /* asegura anclaje a la izquierda en Grid */
}

#projects-loop .e-loop-item.active{
  background: #000 !important;
  transition: background-color .15s ease-in-out;
}
#projects-loop .e-loop-item.active *{
  color: #fff !important;
}

@media (max-width: 1366px) {
  #projects-loop .e-loop-item{
    padding-top: 12px;
    padding-bottom: 12px;
    grid-template-columns: 1fr 1fr 2fr 1fr; 
  }
  #projects-loop  .elementor-grid{
     grid-row-gap: 3px !important;
  }
}

/* ===== Tablet Extra (≤ 1024px) ===== */
@media (max-width: 1200px) {
    #projects-loop .e-loop-item{
     grid-template-columns: 1fr 1fr 2fr 1fr; 
    padding-top: 10px;
    padding-bottom: 10px;
    column-gap: 60px !important;  
  }
  #projects-loop  .elementor-grid{
     grid-row-gap: 1px !important;
  }
  
}

/* ===== Tablet (≤ 768px) ===== */
@media (max-width: 768px) {
  #projects-loop .e-loop-item{
  
  }
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-84555e5 *//* --- LOOP de la Tab 2 (ONLINE) --- */
#projects-loop2 .e-loop-item.col-lg-3,
#projects-loop2 .e-loop-item.col-md-4,
#projects-loop2 .e-loop-item.col-sm-6 {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  overflow: visible;
}

/* Fila como tabla de 4 columnas */
#projects-loop2 .e-loop-item{
  display: grid !important;
  grid-template-columns: 1fr 1fr 2fr 1fr;  /* Título | Tipo | Ciudad | Año */
  column-gap: 90px !important;  
  align-items: center;
  width: 100% !important;
  padding-left: 18px;
  padding-top: 15px;
  padding-bottom: 15px;
}

#projects-loop2 .elementor-grid{
  grid-row-gap: 5px !important;
}

/* Aplanar wrappers para que los widgets sean celdas del grid */
#projects-loop2 .e-loop-item > .elementor-element{ 
  display: contents; 
}

/* Quitar márgenes automáticos */
#projects-loop2 .e-loop-item .elementor-widget-container{ 
  margin: 0 !important; 
}

/* >>> Todo a la izquierda <<< */
#projects-loop2 .e-loop-item .elementor-widget,
#projects-loop2 .e-loop-item .elementor-widget *{
  text-align: left !important;
  justify-self: start !important;   /* asegura anclaje a la izquierda en Grid */
}

/* Activo */
#projects-loop2 .e-loop-item.active{
  background: #000 !important;
  transition: background-color .15s ease-in-out;
}
#projects-loop2 .e-loop-item.active *{
  color: #fff !important;
}

/* ===== Desktop ≤ 1366px ===== */
@media (max-width: 1366px) {
  #projects-loop2 .e-loop-item{
    padding-top: 12px;
    padding-bottom: 12px;
    grid-template-columns: 1fr 1fr 3fr 1fr; 
  }
  #projects-loop2 .elementor-grid{
    grid-row-gap: 3px !important;
  }
}

/* ===== Tablet Extra (≤ 1200px) ===== */
@media (max-width: 1200px) {
  #projects-loop2 .e-loop-item{
    grid-template-columns: 1fr 1fr 3fr 1fr; 
    padding-top: 10px;
    padding-bottom: 10px;
    column-gap: 60px !important;  
  }
  #projects-loop2 .elementor-grid{
    grid-row-gap: 1px !important;
  }
}

/* ===== Tablet (≤ 768px) ===== */
@media (max-width: 768px) {
  #projects-loop2 .e-loop-item{
    /* añade ajustes móviles si los necesitas */
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fe2e013 */#preview-box {
  height: 70vh;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  transition: background-image 0.4s ease-in-out;
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-f9cf21d */.projects-loop2{
    width: 100% !important; 
}
.col-lg-3 {
    width: 100%;
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-9c8d745 */.projects-loop2{
    width: 100% !important; 
}
.col-lg-3 {
    width: 100%;
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-f9cf21d */.projects-loop2{
    width: 100% !important; 
}
.col-lg-3 {
    width: 100%;
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-9c8d745 */.projects-loop2{
    width: 100% !important; 
}
.col-lg-3 {
    width: 100%;
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-f9cf21d */.projects-loop2{
    width: 100% !important; 
}
.col-lg-3 {
    width: 100%;
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-9c8d745 */.projects-loop2{
    width: 100% !important; 
}
.col-lg-3 {
    width: 100%;
}/* End custom CSS */
/* Start custom CSS *//* Oculta la scrollbar, pero mantiene el scroll funcional */
html, body{ 
  -ms-overflow-style: none;   /* IE/Edge antiguo */
  scrollbar-width: none;      /* Firefox */
}
html::-webkit-scrollbar,
body::-webkit-scrollbar{
  width: 0;
  height: 0;
}

/* (Recomendado igualmente) reserva espacio estable cuando exista */
html{ scrollbar-gutter: stable both-edges; }

/* ——— Base clara en ONLINE igual que PRINT ——— */


/* PRINT: ancho fijo y la imagen siempre a cover */
#preview-box{
  width: 30%;                  /* o el % que prefieras (30–40% suele ir bien) */
  display: inline-block;
  vertical-align: top;

  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;      /* << clave */
}

/* si PRINT comparte fila con el loop */
#projects-loop{
  width: 70%;                  /* complementa al 30% del preview */
  display: inline-block;
  vertical-align: top;
} 
#projects-loop2 .e-loop-item{
  background:#fff;
  color:#000;
  transition: background .15s ease, color .15s ease;
}
#projects-loop2 .e-loop-item:hover{
  background:#f5f5f5;
}
#projects-loop2 .e-loop-item.active{
  background:#000;
  color:#fff;
}

/* ——— ONLINE 70/30 estable + caja de imagen consistente ——— */
#projects-loop2{ width:70%; display:inline-block; vertical-align:top; }

#preview-box2{
  width:30%;
  display:inline-block;
  vertical-align:top;

  /* imagen siempre centrada y contenida */
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;

  /* evita “saltos”: área estable */
  /* opción A: relación estándar (cambia 3/4 por la que más te guste) */
  aspect-ratio: 3 / 4;
  /* y limita la altura al viewport para que no desborde */
  max-height: calc(100vh - 160px); /* ajusta 160px si tu header+footer ocupan más/menos */
}

/* franja negra: transición suave ya la tienes en tu regla */
#row-highlight2{ will-change: top,height,width,opacity; }/* End custom CSS */