/* Cashback landing — contenuto pagina */
.flow-row { display: flex; align-items: stretch; justify-content: center; gap: 1rem; flex-wrap: wrap; margin-top: 2rem; }
.flow-step { background: #fff; border: 2px solid var(--s200); border-radius: 16px; padding: 1.5rem; text-align: center; flex: 1; min-width: 140px; max-width: 200px; box-shadow: 0 2px 12px rgba(0,0,0,.04); }
.flow-step h3 { font-size: .85rem; font-weight: 700; color: var(--s500); margin-bottom: .5rem; }
.flow-val { font-size: 1.5rem; font-weight: 800; color: var(--salvia); margin: .5rem 0; }
.flow-arrow { display: flex; align-items: center; color: var(--terra); font-size: 1.5rem; font-weight: 700; }

.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem; }
.card-box { background: #fff; border-radius: 16px; padding: 1.75rem; border: 2px solid var(--s200); }
.card-box.bad { background: #fef2f2; border-color: #fecaca; }
.card-box.good { background: var(--salvia-l); border-color: rgba(59,127,92,.25); }
.card-box h3 { font-size: 1rem; font-weight: 800; margin-bottom: .5rem; }
.card-box p { font-size: .9rem; color: var(--s700); margin: 0; }

.steps-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.25rem; }
.step-card { background: #fff; border: 2px solid var(--s200); border-radius: 16px; padding: 1.75rem; }
.step-card .num { font-size: 2rem; font-weight: 800; color: var(--salvia); line-height: 1; margin-bottom: .5rem; }

.fiscal-box { background: var(--salvia-l); border: 2px solid rgba(59,127,92,.2); border-radius: 16px; padding: 2rem; max-width: 720px; margin: 0 auto; }
.fiscal-box p { color: var(--s700); margin-bottom: .75rem; }

.faq-grid { max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; gap: .65rem; }
.faq-item { background: #fff; border: 1px solid var(--s200); border-radius: 12px; overflow: hidden; }
.faq-q { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.25rem; cursor: pointer; font-weight: 700; font-size: .9rem; gap: 1rem; user-select: none; }
.faq-a { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.faq-item.open .faq-a { max-height: 200px; }
.faq-a-in { padding: 0 1.25rem 1rem; font-size: .88rem; color: var(--s500); line-height: 1.7; }
.faq-a-in a { color: var(--terra); text-decoration: underline; }

@media (max-width: 768px) {
  .flow-arrow { display: none; }
  .flow-step { max-width: 100%; }
}
