.quartiere-atf {
  padding: 94px 0px 46px;
  overflow: hidden;
}

@media (max-width: 768px) {
  .quartiere-atf {
    padding: 45px 0px 20px;
  }
}

.quartiere-atf .tagline {
  font-weight: 700;
  font-size: 14px;
  line-height: 100%;
  text-align: center;
  color: var(--dark-green);
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: 2px;
  width: 100%;
  display: block;
}

.quartiere-atf h1 {
  font-weight: 300;
  font-size: 60px;
  line-height: 120%;
  text-align: center;
}

@media (max-width: 991px) {
  .quartiere-atf h1 {
    font-size: 40px;
  }
}

.quartiere-atf span {
  color: var(--dark-green);
}

.quartiere-atf p {
  font-weight: 500;
  line-height: 20px;
  text-align: center;
  margin: 40px auto 0px;
  color: var(--grey-1);
}

.map-section {
  margin-bottom: 40px;
}

.quartiere-boxes {
  padding: 80px 0;
}

.quartiere-boxes h2 {
  margin-bottom: 24px;
  font-size: 32px;
}

.quartiere-boxes .box-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin-top: 60px;
}

@media (max-width: 992px) {
  .quartiere-boxes .box-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .quartiere-boxes .box-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.quartiere-boxes .box-1 {
  border-radius: 4px;
  background: var(--Nero, #000);
  padding: 45px;
  width: 100%;
  min-height: 350px;
  display: flex;
  flex-direction: column;
  position: relative;
}

.quartiere-boxes .box-1 .tag,
.quartiere-boxes .box-2 .tag {
  color: var(--Green-Dark, #abb222);
  font-family: Bicyclette;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 22px;
  /* 157.143% */
  letter-spacing: 1.4px;
  text-transform: uppercase;
  margin-bottom: 8px;
  z-index: 1;
}

.quartiere-boxes .box-1 button {
  border-radius: 50%;
  background: var(--uptown, #c7cf21);
  display: flex;
  width: 44px;
  height: 44px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  aspect-ratio: 1/1;
  position: absolute;
  right: 45px;
  top: 45px;
  border: unset;
  font-size: 30px;
  z-index: 1;
}

.quartiere-boxes .box-1 .title,
.quartiere-boxes .box-2 .title {
  color: var(--Bianco, #fff);
  font-family: "IvyPresto Display";
  font-size: 46px;
  font-style: normal;
  font-weight: 300;
  line-height: 58px;
  /* 126.087% */
  letter-spacing: 0.92px;
  z-index: 1;
}

@media (max-width: 992px) {

  .quartiere-boxes .box-1 .title,
  .quartiere-boxes .box-2 .title {
    font-size: 32px;
    line-height: 44px;
    /* 122.222% */
  }
}

.quartiere-boxes .box-1 .description,
.quartiere-boxes .box-2 .description {
  color: var(--Grigio2, #c4c4c4);
  font-family: Bicyclette;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  /* 133.333% */
  margin-bottom: 0;
  margin-top: auto;
  max-width: 273px;
  z-index: 1;
}

.quartiere-boxes .box-2 {
  position: relative;
  border-radius: 4px;
  background: var(--Nero, #000);
  padding: 45px;
  width: 100%;
  min-height: 350px;
  display: flex;
  flex-direction: column;
  position: relative;
}

.quartiere-boxes .box-2::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(27, 22, 53, 0.7);
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 4px;
  z-index: 1;
}

.quartiere-boxes .box-2 img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
  z-index: 0;
}

.quartiere-boxes .box-2 .cta {
  /* border: unset;
  padding: 10px 24px;
  border-radius: 2px;
  background: var(--uptown, #c7cf21);
  color: var(--Nero, #000);
  font-family: Bicyclette;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.32px; */
  margin-top: 24px;
  width: fit-content;
  z-index: 1;
}

.quartiere-boxes .modal {
  background: #000000cf;
  backdrop-filter: unset;
}

.quartiere-boxes .modal-dialog {
  margin-left: auto;
  margin-right: 0;

}

@media (min-width: 1440px) {
  .quartiere-boxes .modal-dialog {
    min-width: 48%;
    width: 48%;
  }
}

.quartiere-boxes .modal-content {
  border-radius: 8px 0 0 8px;
  padding: 17px 60px 70px 60px;
  background: var(--Bianco, #fff);
  height: 100%;
  overflow: auto;
  border: unset;
}

.quartiere-boxes .modal-header {
  border-bottom: unset;
  padding: 60px 0 0 0;
  margin-bottom: 60px;
}

.quartiere-boxes .modal-body {
  padding: 0 50px 0 0;
}

.quartiere-boxes .modal-body .modal-title {
  color: var(--Nero, #000);
  font-size: 27px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  letter-spacing: 0.54px;
  margin: 60px 0;
}

@media (max-width:991px) {
  .quartiere-boxes .modal-body .modal-title {
    margin: 30px 0;
    font-size: 24px;
  }
}

.quartiere-boxes .modal-body .modal-image {
  width: 100%;
  height: auto;
  margin: 60px 0;
}

@media (max-width:991px) {
  .quartiere-boxes .modal-body .modal-image {
    margin: 30px 0;
  }
}


.quartiere-boxes .modal-content .btn-close {
  border-radius: 40px;
  background: var(--Grigio4, #f6f6f6) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
  display: flex;
  width: 44px;
  height: 44px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  aspect-ratio: 1/1;
}

.quartiere-boxes .gallery-modal {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  align-self: stretch;
  overflow: auto;
  /* Imposta la larghezza al 100% del genitore + il padding */
  width: calc(100% + 170px);
  max-width: calc(100% + 170px);
  margin-left: calc(-1 * 60px);
  margin-right: calc(-1 * -75px);
  margin-top: 60px;
}

@media (max-width: 991px) {
  .quartiere-boxes .gallery-modal {
    width: calc(100% + 80px);
    margin-left: calc(-1 * 60px);
    margin-right: calc(-1 * -50px);
    max-width: calc(100% + 80px);
    margin-top: 30px;
    align-items: flex-start;
  }
}

.quartiere-boxes .gallery-modal .slide {
  padding: 30px;
  border-radius: 4px;
  background: var(--Grigio4, #f6f6f6);
  flex-shrink: 0;
  max-width: 500px;
  height: -webkit-fill-available;
}

@media (max-width: 991px) {
  .quartiere-boxes .gallery-modal .slide {
    max-width: 75%;
    min-width: 300px;
  }

  .quartiere-boxes .gallery-modal .slide:first-child {
    margin-left: 20px;
  }

  .quartiere-boxes .gallery-modal .slide:last-child {
    margin-right: 20px !important;
  }
}

.quartiere-boxes .gallery-modal .slide:first-child {
  margin-left: 60px;
}

.quartiere-boxes .gallery-modal .slide:last-child {
  margin-right: 30px;
}

.quartiere-boxes .gallery-modal .slide img {
  width: auto;
  height: 66px;
  margin-bottom: 58px;
}

.quartiere-boxes .gallery-modal .slide .title {
  color: var(--Nero, #000);
  font-family: Bicyclette;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 22px;
  /* 137.5% */
  letter-spacing: 1.6px;
  text-transform: uppercase;
  margin-bottom: 24px;
}

.quartiere-boxes .gallery-modal .slide .text,
.quartiere-boxes .gallery-modal .slide ul,
.quartiere-boxes .gallery-modal .slide li {
  color: var(--Grigio1, #828282);
  font-family: Bicyclette;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
  /* 120% */
  letter-spacing: 0.15px;
}

.section-quartiere-slider {
  padding: 32px 0 62px 100px;
}

.bg-grey {
  background: var(--Grigio4, #f6f6f6);
}

@media (max-width: 1440px) {

  .section-quartiere-slider {
    padding: 32px 0 62px 40px;
  }
}

@media (max-width: 991px) {

  .section-quartiere-slider {
    padding: 50px 20px 50px 20px;
  }
}

.slider-certifications {
  border-radius: 4px;
}

.quartiere-boxes .modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(100%, 0);
}

.quartiere-boxes .modal.fade.show .modal-dialog {
  transform: unset;
}

@media (max-width: 991px) {
  .quartiere-boxes .modal-dialog {
    min-width: 90%;
    width: 98%;
  }

  .quartiere-boxes .modal-content {
    padding: 20px;
  }

  .quartiere-boxes .modal-header {
    padding: 30px 0 0 0;
    margin-bottom: 30px;
  }

  .quartiere-boxes .modal-body {
    padding: 0;
  }
}