.elementor-1659 .elementor-element.elementor-element-ab71a08{--display:flex;--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;--justify-content:flex-start;--gap:2em 0em;--row-gap:2em;--column-gap:0em;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:8em;--padding-bottom:1em;--padding-left:2em;--padding-right:2em;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-1659 .elementor-element.elementor-element-583b52a .elementor-heading-title{font-family:"Helvetica", Sans-serif;font-size:4vw;font-weight:600;}.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 );}.elementor-1659 .elementor-element.elementor-element-fc17785{--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:flex-start;--flex-wrap:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0vw;--padding-bottom:0vw;--padding-left:0vw;--padding-right:0vw;}.elementor-1659 .elementor-element.elementor-element-b824cf4{--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:flex-start;--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-1659 .elementor-element.elementor-element-c8e0660{--display:flex;--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-1659 .elementor-element.elementor-element-2453c68{--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:center;--n-tabs-title-flex-grow:0;--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;width:100%;max-width:100%;--n-tabs-gap:1.2em;--n-tabs-title-border-radius:30px 30px 30px 30px;--n-tabs-title-padding-top:0.6em;--n-tabs-title-padding-right:1.8em;--n-tabs-title-padding-bottom:0.6em;--n-tabs-title-padding-left:1.8em;--n-tabs-title-font-size:0.8vw;--n-tabs-title-color:var( --e-global-color-primary );--n-tabs-title-color-active:var( --e-global-color-secondary );}.elementor-1659 .elementor-element.elementor-element-2453c68 > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:var( --e-global-color-secondary );}.elementor-1659 .elementor-element.elementor-element-2453c68.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-primary );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );}.elementor-1659 .elementor-element.elementor-element-2453c68.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-1659 .elementor-element.elementor-element-2453c68.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-primary );}.elementor-1659 .elementor-element.elementor-element-2453c68.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:not( :hover ){border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );}.elementor-1659 .elementor-element.elementor-element-2453c68.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:"Montserrat", Sans-serif;font-weight:700;}.elementor-1659 .elementor-element.elementor-element-2453c68 [data-touch-mode="false"] .e-n-tab-title[aria-selected="false"]:hover{--n-tabs-title-color-hover:var( --e-global-color-secondary );}:where( .elementor-1659 .elementor-element.elementor-element-2453c68.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-content ) > .e-con{--border-radius:0px 0px 0px 0px;--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;}.elementor-1659 .elementor-element.elementor-element-f12ecb6{--display:flex;}.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-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-1659 .elementor-element.elementor-element-4516d6a{--grid-columns:6;}.elementor-1659 .elementor-element.elementor-element-4516d6a > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}body.elementor-page-1659:not(.elementor-motion-effects-element-type-background), body.elementor-page-1659 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}@media(min-width:768px){.elementor-1659 .elementor-element.elementor-element-fc17785{--width:100%;}.elementor-1659 .elementor-element.elementor-element-b824cf4{--width:100%;}.elementor-1659 .elementor-element.elementor-element-c8e0660{--width:100%;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-1659 .elementor-element.elementor-element-4516d6a{--grid-columns:2;}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-1659 .elementor-element.elementor-element-583b52a .elementor-heading-title{font-size:10vw;}.elementor-1659 .elementor-element.elementor-element-2453c68{--n-tabs-title-font-size:3vw;}.elementor-1659 .elementor-element.elementor-element-4516d6a{--grid-columns:1;}}/* Start custom CSS *//* Grid principal */
.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0));
  gap: clamp(8px, 1.2vw, 18px);
  grid-auto-flow: dense; /* rellena huecos si hay spans */
}

/* Items y tamaños */
.proj { position: relative; }
.proj[data-span="1x1"] { grid-column: span 1; grid-row: span 1; aspect-ratio: 1 / 1; }
.proj[data-span="1x2"] { grid-column: span 1; grid-row: span 2; aspect-ratio: 1 / 2; }
.proj[data-span="2x2"] { grid-column: span 2; grid-row: span 2; aspect-ratio: 1 / 1; }

.proj-inner {
    position: relative;
    width: 100%;
    height: 100%;
    /*overflow:hidden;*/
    }
.proj-media, .proj-media img, .proj-media video, .proj-media iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/*Forzar que la img o video de caratula ocupe todo el hueco*/
.proj-media > * {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.proj-media {
    transition: transform .35s ease;
    will-change: transform; }

/*Titulo y servicios: posicion y animacion hover*/
.proj-meta{
    height: 100%;
    width: 100%;
    justify-content: space-between;
    opacity: 0;
    transform: translateY(5%);
    transition:transform .5s ease;
}
.proj:hover .proj-meta {
    opacity: 1;
    transform: translateY(0);
}

/* Hover directions con data-hover */
.proj[data-hover="left"]:hover  .proj-media { transform: translateX(-114%); }
.proj[data-hover="right"]:hover .proj-media { transform: translateX(114%); }
.proj[data-hover="up"]:hover    .proj-media { transform: translateY(-114%); }
.proj[data-hover="down"]:hover  .proj-media { transform: translateY(114%); }

/* FILTROS*/
.pf-filters {
    display:flex;
    flex-direction: column;
    align-items: flex-start;
    flex-wrap:wrap;
    gap:10px; 
}
.pf-filter {
  border: 0px;
  color:#E1002B;
  padding: 0px 10px;
  text-transform: lowercase;
  cursor:pointer;
}
.pf-filter:hover{
    background-color: rgba(0,0,0,0);
    color:#E1002B;
    text-decoration: underline;
}
.pf-filter.is-active {
    text-decoration: underline;
}
.proj.is-hidden { display:none !important; }

/*HUECOS*/
.proj-hole {
  width: 100%;
  height: 100%;
  background: transparent; /* o un color suave si quieres ver los huecos */
  border-radius: inherit;
}

/* spans */
.proj-hole[data-span="1x1"] {
  grid-column: span 1;
  grid-row: span 1;
}
.proj-hole[data-span="1x2"] {
  grid-column: span 1;
  grid-row: span 2;
}
.proj-hole[data-span="2x2"] {
  grid-column: span 2;
  grid-row: span 2;
}

@media (max-width:768px){
/* 1. Ocultar los huecos */
  .proj-hole {
    display: none !important;
  }
/* 2. Desactivar cualquier hover de dirección */
  .proj .proj-media,
  .proj:hover .proj-media {
    transform: none !important;
  }
/* Por si algún navegador deja el efecto activo */
  .proj[data-hover="left"]:hover  .proj-media,
  .proj[data-hover="right"]:hover .proj-media,
  .proj[data-hover="up"]:hover    .proj-media,
  .proj[data-hover="down"]:hover  .proj-media {
    transform: none !important;
  }

  /* Evitar efectos de overflow del desktop */
  .proj {
    overflow: visible !important;
  }


  /* Evitar animaciones en hover en móvil */
  .proj:hover .proj-meta {
    opacity: 1 !important;
    transform: none !important;
  }
}

}/* End custom CSS */