.elementor-362 .elementor-element.elementor-element-85f5701{--display:flex;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-362 .elementor-element.elementor-element-1bcbb1e{--divider-border-style:solid;--divider-color:#FFFFFF;--divider-border-width:150px;}.elementor-362 .elementor-element.elementor-element-1bcbb1e .elementor-divider-separator{width:100%;}.elementor-362 .elementor-element.elementor-element-1bcbb1e .elementor-divider{padding-block-start:0px;padding-block-end:0px;}.elementor-362 .elementor-element.elementor-element-e08d701{--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;}.elementor-362 .elementor-element.elementor-element-d6e357e{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-362 .elementor-element.elementor-element-d6e357e.e-con{--align-self:center;}.elementor-362 .elementor-element.elementor-element-cb38e11 > .elementor-widget-container{margin:-20px -20px -20px -20px;padding:0px 0px 0px 0px;}.elementor-362 .elementor-element.elementor-element-b2c23c0{--display:flex;--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-end;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0107px;--padding-bottom:0137px;--padding-left:0px;--padding-right:080px;}.elementor-362 .elementor-element.elementor-element-b2c23c0:not(.elementor-motion-effects-element-type-background), .elementor-362 .elementor-element.elementor-element-b2c23c0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#13103C;}.elementor-362 .elementor-element.elementor-element-afe6829{--display:flex;--min-height:75px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-362 .elementor-element.elementor-element-465dc33{color:#FFFFFF;}.elementor-362 .elementor-element.elementor-element-fd34888{--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;}.elementor-362 .elementor-element.elementor-element-fd34888:not(.elementor-motion-effects-element-type-background), .elementor-362 .elementor-element.elementor-element-fd34888 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#13103C;}@media(min-width:768px){.elementor-362 .elementor-element.elementor-element-afe6829{--width:692px;}}/* Start custom CSS *//* Stili per filtri, griglia, paginazione e mappa */

.portfolio-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 1116px;
  margin: auto;
  background: transparent;
  padding: 5px;
  margin-bottom: 84px;
}

.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(4, 279px);
  grid-template-rows: repeat(4, 326px);
  width: fit-content;
  border: 1.5px solid white;
}

.portfolio-item {
  width: 279px;
  height: 326px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: opacity 0.3s ease-in-out;
  background: transparent;
  border: 1.5px solid white;
  overflow: hidden;
}

.portfolio-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.filter-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 1116px;
  margin: auto;
  background: transparent;
  padding: 5px;
  margin-bottom: 100px;
}

.filter-buttons {
  display: grid;
  grid-template-columns: repeat(4, 279px);
  grid-template-rows: repeat(2, 1fr);
  width: fit-content;
  border: 1.5px solid white;
}

.filter-btn {
  background: transparent;
  color: white;
  border: 1.5px solid white;
  padding: 15px;
  font-size: 14px;
  text-transform: uppercase;
  cursor: pointer;
  transition: 0.3s ease-in-out;
  font-weight: bold;
  text-align: center;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 0;
}

.filter-btn.active,
.filter-btn:hover {
  background: #75738D;
  color: white;
  border-radius: 0;
}

.overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 120px;
  background: rgba(0, 0, 0, 0.6);
  color: white;
  text-align: left;
  font-weight: bold;
  text-transform: uppercase;
}

.overlay .category {
  position: absolute;
  top: 40px;
  left: 22px;
  background: rgba(0, 0, 0, 0.5);
  padding: 4px 8px;
  font-size: 15px;
  color: white;
  border-radius: 3px;
  font-weight: normal;
}

.overlay .title {
  position: absolute;
  top: 75px;
  left: 22px;
  font-size: 30px;
  font-weight: normal;
  color: white;
}

/* Paginazione */
.pagination-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 20px;
  width: 100%;
  max-width: 1116px;
}

.pagination-label {
  color: white;
  font-weight: bold;
  font-size: 16px;
  font-family: 'Circular Std', sans-serif;
}

.pagination-buttons {
  display: flex;
  gap: 10px;
}

.pagination-prev,
.pagination-next {
  background: #75738D;
  border: none;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  text-indent: -9999px;
  overflow: hidden;
  transition: background 0.3s ease-in-out;
}

.pagination-prev::before,
.pagination-next::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 15px;
  height: 15px;
  background-image: url("https://www.circularthreads.eu/wp-content/uploads/2025/02/Vector.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: 0.3s ease-in-out;
}

.pagination-prev::before {
  transform: translate(-50%, -50%) scaleX(-1);
}

.pagination-prev:hover::before,
.pagination-next:hover::before {
  filter: invert(37%) sepia(100%) saturate(500%) hue-rotate(270deg);
}

.pagination-prev:disabled,
.pagination-next:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Contenitore della mappa */
/* Forza il container della mappa a occupare il 100% della larghezza e avere altezza 622px, senza margini, padding, bordi o box-shadow */
/* Selettore più generico per forzare la larghezza al 100% e altezza 622px */
#map {
  width: 100% !important;
  max-width: 100% !important;
  height: 622px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  display: block !important;
  box-shadow: none !important;
}/* End custom CSS */