#faq .faq-list {
  width: min(1180px, 100%);
  max-width: 1180px;
  margin: 2.35rem auto 0;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem 1.15rem !important;
  align-items: start !important;
}

#faq .faq-list .faq-item {
  width: 100%;
  min-width: 0;
  margin: 0 !important;
  border-radius: 20px !important;
}

#faq .faq-list .faq-item summary {
  min-height: 78px;
  padding: 1rem 1.1rem !important;
}

#faq .faq-list .faq-question {
  min-width: 0;
  overflow-wrap: anywhere;
}
#faq .faq-list .faq-item[open] {
  align-self: start;
}
#contatti .contact-layout {
  grid-template-columns: minmax(310px, .84fr) minmax(0, 1.16fr) !important;
  gap: clamp(2.5rem, 5.5vw, 5.4rem) !important;
  align-items: stretch !important;
}

#contatti .contact-copy {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(2.35rem, 4.5vw, 4rem) !important;
  border: 1px solid rgba(200, 154, 97, .38);
  border-radius: 36px 36px 36px 9px;
  color: var(--cream);
  background:
    radial-gradient(circle at 87% 12%, rgba(230, 199, 159, .18), transparent 27%),
    radial-gradient(circle at 8% 91%, rgba(128, 157, 138, .16), transparent 33%),
    linear-gradient(145deg, var(--forest-700) 0%, var(--forest-900) 52%, var(--forest-950) 100%);
  box-shadow:
    0 28px 65px rgba(19, 40, 31, .21),
    inset 0 1px 0 rgba(255, 255, 255, .13),
    inset 0 -1px 0 rgba(0, 0, 0, .13);
}

#contatti .contact-copy::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 190px;
  aspect-ratio: 1;
  top: -92px;
  right: -74px;
  border: 1px solid rgba(230, 199, 159, .25);
  border-radius: 50%;
  box-shadow:
    0 0 0 24px rgba(255, 255, 255, .025),
    0 0 0 52px rgba(200, 154, 97, .035);
  pointer-events: none;
}

#contatti .contact-copy::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 2rem;
  right: 2rem;
  bottom: 1.35rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(230, 199, 159, .42), transparent);
  pointer-events: none;
}

#contatti .contact-copy .section-kicker {
  color: #e6c79f !important;
}

#contatti .contact-copy h2 {
  color: var(--cream) !important;
  text-shadow: 0 2px 16px rgba(0, 0, 0, .17);
}

#contatti .contact-copy > p {
  color: rgba(251, 248, 241, .82) !important;
}

#contatti .contact-detail {
  margin-bottom: 0 !important;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, .11);
}

#contatti .contact-detail > span {
  color: var(--forest-900) !important;
  background: linear-gradient(145deg, #f5dfaa, var(--gold)) !important;
  border: 1px solid rgba(255, 236, 191, .68);
  box-shadow:
    0 8px 20px rgba(0, 0, 0, .14),
    inset 0 1px 0 rgba(255, 255, 255, .72) !important;
}

#contatti .contact-detail strong {
  color: var(--cream) !important;
}

#contatti .contact-detail p {
  color: rgba(251, 248, 241, .68) !important;
}

#contatti .contact-quote {
  margin-top: 1.55rem !important;
  padding: 1.25rem 1.35rem !important;
  color: #f1d8b6 !important;
  border: 1px solid rgba(230, 199, 159, .23) !important;
  border-left: 3px solid var(--gold) !important;
  border-radius: 0 16px 16px 0;
  background: rgba(255, 255, 255, .055) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045);
}

#contatti .contact-card {
  height: 100%;
  padding: clamp(2rem, 3.6vw, 3rem) !important;
  border-radius: 34px !important;
  border-color: rgba(41, 68, 56, .13) !important;
  background: var(--paper) !important;
  box-shadow:
    0 26px 62px rgba(19, 40, 31, .14),
    inset 0 1px 0 rgba(255, 255, 255, .88) !important;
}

#contatti .form-heading > span {
  color: #fff7e7 !important;
  background: linear-gradient(145deg, var(--forest-700), var(--forest-950)) !important;
  border: 1px solid rgba(200, 154, 97, .7);
  box-shadow:
    0 10px 24px rgba(19, 40, 31, .18),
    inset 0 1px 0 rgba(255, 255, 255, .15);
}
@media (max-width: 980px) {
  #contatti .contact-layout {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }

  #contatti .contact-copy,
  #contatti .contact-card {
    width: min(100%, 760px);
    margin-inline: auto;
  }
}
@media (max-width: 760px) {
  #faq .faq-list {
    grid-template-columns: 1fr !important;
    gap: .85rem !important;
    margin-top: 1.65rem;
  }

  #faq .faq-list .faq-item summary {
    min-height: 68px;
    padding: .9rem !important;
  }

  #contatti .contact-copy,
  #contatti .contact-card {
    padding: 1.55rem !important;
    border-radius: 26px !important;
  }

  #contatti .contact-copy {
    border-radius: 26px 26px 26px 8px !important;
  }

  #contatti .contact-copy::after {
    left: 1.4rem;
    right: 1.4rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  #faq .faq-list .faq-item,
  #contatti .contact-copy,
  #contatti .contact-card {
    transition: none !important;
  }
}
