.faq-root{
  background: #fff;
  padding: clamp(64px, 8vw, 96px) clamp(20px, 3.2vw, 32px);
}
.faq-root .faq-wrap{ max-width: var(--max-w, 1200px); margin: 0 auto; }

.faq-root .faq-lista{
  border-top: 1px solid var(--gray-200, #E2E4E8);
  counter-reset: faq;
}
.faq-root .faq-item{
  border-bottom: 1px solid var(--gray-200, #E2E4E8);
  counter-increment: faq;
}
.faq-root .faq-item > summary{
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 22px;
  align-items: baseline;
  gap: 0 14px;
  padding: 22px 0;
  cursor: pointer;
  list-style: none;
}
.faq-root .faq-item > summary::-webkit-details-marker{ display: none; }
.faq-root .faq-item > summary::before{
  content: counter(faq, decimal-leading-zero);
  font-size: .83rem; font-weight: 900; font-family: var(--font-titulo) !important;
  letter-spacing: .04em;
  color: var(--green-text, #0A7E00);
  font-variant-numeric: tabular-nums;
}
.faq-root .faq-q{
  font-size: clamp(.98rem, 1.5vw, 1.08rem);
  font-weight: 700; line-height: 1.35;
  color: var(--black, #111);
  transition: color .18s;
}
.faq-root .faq-item > summary:hover .faq-q{ color: var(--green-text, #0A7E00); }

.faq-root .faq-sinal{
  position: relative;
  width: 14px; height: 14px;
  align-self: center;
  justify-self: end;
}
.faq-root .faq-sinal::before,
.faq-root .faq-sinal::after{
  content: "";
  position: absolute; left: 0; top: 50%;
  width: 14px; height: 1.5px;
  background: var(--gray-500, #6B7280);
  transition: transform .22s, background .18s;
}
.faq-root .faq-sinal::after{ transform: rotate(90deg); }
.faq-root .faq-item[open] .faq-sinal::after{ transform: rotate(0deg); }
.faq-root .faq-item[open] .faq-sinal::before,
.faq-root .faq-item[open] .faq-sinal::after{ background: var(--green-dark, #0B8A00); }

.faq-root .faq-a{
  padding: 0 0 26px 58px;
  max-width: 78ch;
}
.faq-root .faq-a p{
  font-size: 1.102rem; letter-spacing: .02em; font-family: var(--font-texto) !important; line-height: 1.68;
  color: var(--gray-700, #374151);
}
.faq-root .faq-a p + p{ margin-top: 12px; }
.faq-root .faq-a ul{
  margin-top: 12px;
  padding-left: 0;
  list-style: none;
}
.faq-root .faq-a li{
  position: relative;
  padding-left: 16px;
  font-size: .98rem; line-height: 1.6;
  color: var(--gray-500, #6B7280);
}
.faq-root .faq-a li + li{ margin-top: 6px; }
.faq-root .faq-a li::before{
  content: "";
  position: absolute; left: 0; top: .62em;
  width: 5px; height: 5px;
  background: var(--green, #16e000);
}
.faq-root .faq-a ul + p{ margin-top: 14px; }
.faq-root .faq-a a{
  color: var(--black, #111);
  text-decoration: none;
  border-bottom: 1px solid var(--gray-300, #C7CBD1);
  transition: border-bottom-color .18s;
}
.faq-root .faq-a a:hover{ border-bottom-color: var(--green-dark, #0B8A00); }

.faq-root .faq-nota{
  margin-top: 14px;
  padding: 12px 0 12px 16px;
  border-left: 2px solid var(--green, #16e000);
  background: var(--bg, #FAFBFC);
}
.faq-root .faq-nota p{ font-size: 1.092rem; letter-spacing: .02em; font-family: var(--font-texto) !important; }

.faq-root .faq-fecho{
  margin-top: 56px;
  padding-top: 40px;
  border-top: 1px solid var(--gray-200, #E2E4E8);
  display: flex; align-items: center; justify-content: space-between;
  gap: 28px; flex-wrap: wrap;
}
.faq-root .faq-fecho p{
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  font-weight: 900; font-family: var(--font-titulo) !important; letter-spacing: -.024em; line-height: 1.2;
  color: var(--black, #111);
  max-width: 30ch;
}

@media (max-width: 560px){
  .faq-root .faq-item > summary{ grid-template-columns: 34px minmax(0, 1fr) 18px; gap: 0 10px; }
  .faq-root .faq-a{ padding-left: 44px; }
  .faq-root .faq-fecho .es-btn{ width: 100%; justify-content: center; }
}
