/* ==========================================================================
   Sezione 5 — Come funziona (carpooling, Figma 684:4230)
   Sfondo teal→bianco, due dual-card glass (azienda/dipendenti) con step a
   pillola, mockup app sovrapposto al centro, claim finale.
   ========================================================================== */

.how {
  padding-block: 80px 190px;
  /* teal (#37b1d3 @ .8) per i primi ~2/3, sfuma a bianco verso il fondo */
  background:
    linear-gradient(180deg, rgba(55, 177, 211, 0.8) 68.57%, rgba(255, 255, 255, 0.8) 100%),
    #ffffff;
}

.how__inner { display: flex; flex-direction: column; align-items: center; gap: 80px; }

/* ---- Riga delle due card + mockup centrale ---- */
.how__cards {
  position: relative;
  display: flex;
  width: 100%;
  max-width: 1356px;
}

.dual-card {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  padding: 40px;
  border-radius: var(--radius-section);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%);
  backdrop-filter: blur(13px);
  -webkit-backdrop-filter: blur(13px);
}
.dual-card--right { justify-content: flex-end; }

.dual-card__inner {
  width: 400px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.dual-card__title {
  font-size: var(--fs-h3);
  font-weight: var(--fw-regular);
  line-height: var(--lh-h3);
  color: var(--color-text);
}
.dual-card__title strong { font-weight: var(--fw-semibold); }

/* ---- Step (pillola numerata + descrizione) ---- */
.step { display: flex; flex-direction: column; gap: 8.8px; }

.step__pill {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 16px 8px 8px;
  border-radius: 999px;
  background: var(--color-surface);
}
.step__num {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 37px;
  border-radius: 18px;
  background: var(--color-info);
  color: var(--color-on-color);
  font-size: var(--fs-p20);
  font-weight: var(--fw-bold);
  line-height: 1.2;
}
.step__label {
  font-size: var(--fs-body);
  font-weight: var(--fw-bold);
  line-height: 1.2;
  color: var(--color-info-hover);
  text-transform: uppercase;
}
.step__desc {
  font-size: var(--fs-body);
  font-weight: var(--fw-bold);
  line-height: 1.2;
  color: var(--color-on-color);
}

/* ---- Mockup app, sovrapposto al centro tra le due card ---- */
.how__mockup {
  position: absolute;
  left: 50%;
  top: -62px;
  transform: translateX(-50%);
  width: 371px;
  height: auto;
  z-index: 2;
  pointer-events: none;
  filter: drop-shadow(0 24px 48px rgba(17, 16, 18, 0.18));
}

/* ---- Claim finale ---- */
.how__claim {
  width: 100%;
  max-width: 1356px;
  text-align: center;
  font-size: clamp(2.25rem, 1.2rem + 3.6vw, 4rem); /* 64px */
  font-weight: var(--fw-medium);
  line-height: 1.2;
  color: #f5f5f5;
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1080px) {
  .how { padding-block: 56px 80px; }
  .how__inner { gap: 48px; }
  .how__cards { flex-direction: column; align-items: center; gap: 24px; }
  .dual-card { width: 100%; max-width: 520px; justify-content: center; }
  .dual-card__inner { width: 100%; }
  .how__mockup {
    position: static;
    transform: none;
    width: 240px;
    margin-inline: auto;
  }
}

@media (max-width: 720px) {
  .how__claim { line-height: 1.25; }
}
