/* ==========================================================================
   Use-case landing pages (pot de départ, …)
   Sits inside .home.pricing so it inherits the home page's bands and the
   pricing page's panels, rows and checklists; only the pieces neither page
   has are defined here.
   ========================================================================== */

.use-case {
  --use-case-retirement: #3d5ce0;
}

/* A little more air between bands than on the pricing page */
.use-case .section:not(.reviews, .final-cta) {
  padding-block: var(--spacing-5xl);
}

.use-case .pricing-summary__group {
  font-size: var(--font-sm);
  color: #5f615f;
}


/* --- Hero ------------------------------------------------------------------ */

.use-case-hero {
  padding-block: var(--spacing-3xl) var(--spacing-4xl);
}

.use-case-hero__top {
  flex-wrap: wrap;
  align-items: center;
  gap: var(--spacing-sm) var(--spacing-md);
}

.use-case-hero__top .hero__face + .hero__face {
  margin-left: 0;
}

.use-case-hero .hero__title {
  font-size: clamp(2.4rem, 4.6vw, 3.6rem);
  text-wrap: balance;
}

.use-case-hero .hero__subtitle {
  max-width: 34rem;
}

.use-case-hero .hero__benefit {
  align-items: flex-start;
  line-height: 1.4;
}

.use-case-hero .hero__benefit-check {
  margin-top: 3px;
}


/* --- Trust strip ----------------------------------------------------------- */

.use-case-trust {
  /* Above the next band's gradient, as the pricing hero is */
  position: relative;
  z-index: 1;
  max-width: var(--home-max);
  margin-inline: auto;
  padding: var(--spacing-xl) var(--spacing-xl) var(--spacing-4xl);
}

.use-case-trust__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--spacing-xl) var(--spacing-3xl);
  margin: 0;
  padding: 0;
  list-style: none;
}

.use-case-trust__item {
  display: flex;
  align-items: center;
  gap: var(--spacing-xs);
}

.use-case-trust__text {
  display: flex;
  flex-direction: column;
  line-height: 1.35;
}

.use-case-trust__text span {
  font-size: var(--font-sm);
  color: var(--text-secondary);
}


/* --- Text beside a visual --------------------------------------------------- */

/* Text comes first in the page; on wide screens the visual sits on the left. */
.use-case-split--reverse {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.use-case-split--reverse > :first-child {
  order: 2;
}

.use-case-card-panel {
  padding: var(--spacing-3xl);
}

.use-case-card-panel__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px;
  box-shadow: var(--pricing-shadow);
  rotate: -1.5deg;
}

.use-case-badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-2xs);
  margin: 0;
  padding: 0;
  list-style: none;
}

.use-case-checklist {
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  margin: 0;
}

.use-case .pricing-checklist__item {
  padding: var(--spacing-xs) 0;
  border-bottom: 0;
}

.use-case-checklist .pricing-checklist__item {
  padding: var(--spacing-2xs) 0;
}

.use-case .pricing-methods__logo {
  height: 32px;
}

.use-case .pricing-methods__logo img {
  height: 22px;
}

/* Above the reviews band's gradient, which bleeds upwards */
.use-case .pricing-cta {
  position: relative;
  z-index: 1;
}

.use-case-chip {
  align-self: flex-start;
}

.use-case-flags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--spacing-xs);
  max-width: 21rem;
  margin-top: var(--spacing-2xs);
}

.use-case-flags__flag {
  width: 30px;
  height: 20px;
  border-radius: var(--unit-04);
  box-shadow: 0 0 0 1px rgb(0 0 0 / 0.08);
}


/* --- Visibility settings ----------------------------------------------------- */

.use-case-settings {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-md);
}

/* Same left-aligned rows on both sides of the switch */
.use-case-settings .security-choice--centered {
  align-items: flex-start;
  font-weight: var(--font-weight-semibold);
}

.use-case-settings .security-small,
.use-case-settings .security-choice,
.use-case-settings .security-choice .pill {
  font-size: var(--font-sm);
}


/* --- Who pays what ---------------------------------------------------------- */

.use-case-sides {
  margin-top: var(--spacing-3xl);
}

.use-case-side {
  gap: var(--spacing-md);
  border: 1px solid var(--pricing-card-border);
}

.use-case-side .pricing-card__head {
  margin-bottom: 0;
}

.use-case-demo {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
  margin-top: auto;
  padding: var(--spacing-lg);
  border-radius: var(--unit-20);
}

.use-case-demo--sky { background: var(--panel-sky); }
.use-case-demo--green { background: var(--pricing-green-panel); }

.use-case-demo__head {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4xs);
}

.use-case-demo__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-md);
}

.use-case-demo__buttons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--spacing-2xs);
}

.use-case-demo__pay,
.use-case-demo__confirm {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: var(--spacing-xs) var(--spacing-sm);
  border-radius: var(--unit-16);
  background: var(--pricing-forest);
  color: white;
  font-weight: var(--font-weight-semibold);
  line-height: 1.25;
  text-align: center;
}

.use-case-demo__pay small {
  font-size: var(--font-sm);
  font-weight: var(--font-weight-medium);
  color: var(--pricing-lime);
}

.use-case-demo__hint {
  font-size: var(--font-sm);
  line-height: 1.45;
  color: var(--text-secondary);
}

.use-case-demo__rates {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--spacing-2xs);
}

.use-case-demo__rates span {
  padding: var(--spacing-xs) var(--spacing-2xs);
  border-radius: 14px;
  background: white;
  font-weight: var(--font-weight-bold);
  text-align: center;
}


/* --- What people give ------------------------------------------------------- */

.use-case-amounts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--spacing-xl);
}

.use-case-amount {
  gap: 0;
}

.use-case-amount__title {
  display: flex;
  align-items: center;
  gap: var(--spacing-xs);
  margin-bottom: var(--spacing-xs);
  color: var(--text-primary);
}

.use-case-amount__dot {
  flex: none;
  width: 12px;
  height: 12px;
  border-radius: 3px;
  background: var(--pricing-forest);
}

.use-case-amount__dot--retirement {
  background: var(--use-case-retirement);
}

.use-case-amount .pricing-row {
  border-top: 1px solid var(--pricing-line);
  border-bottom: 0;
  color: var(--text-secondary);
}

.use-case-amount .pricing-row dd {
  font-family: var(--font-family-bricolage);
  font-size: var(--unit-24);
  line-height: 1.1;
  white-space: nowrap;
  color: var(--text-primary);
}

.use-case-amount__unit {
  font-family: var(--font-family-body);
  font-size: var(--font-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--text-secondary);
}

.use-case-amount__subtitle {
  margin: var(--spacing-lg) 0 var(--spacing-xs);
  font-weight: var(--font-weight-bold);
}

.use-case-bars {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2xs);
  margin: 0;
  padding: 0;
  list-style: none;
}

.use-case-bar {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr) 3.75rem;
  align-items: center;
  gap: var(--spacing-xs);
  font-size: var(--font-sm);
  font-weight: var(--font-weight-semibold);
}

.use-case-bar__label,
.use-case-bar__share {
  text-align: right;
  white-space: nowrap;
}

.use-case-bar__track {
  height: 18px;
}

.use-case-bar__fill {
  display: block;
  min-width: 4px;
  height: 100%;
  border-radius: var(--unit-06);
  background: var(--pricing-lime);
}

.use-case-bar--most .use-case-bar__fill {
  background: var(--pricing-forest);
}

.use-case-source {
  margin-top: var(--spacing-md);
  font-size: var(--font-sm);
}


/* --- Money, data, extras ---------------------------------------------------- */

.use-case-sepa {
  margin-top: var(--spacing-xl);
}

.use-case-data {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.use-case-data__badge {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
}

.use-case-data__badge svg {
  flex: none;
}

.use-case-data__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.35;
}

.use-case-data__text span {
  font-size: var(--font-sm);
  color: var(--text-secondary);
}

/* The text column also holds the QR card, so it gets more room than on the pricing page */
.use-case .pricing-included {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
  gap: var(--spacing-4xl);
}

.use-case-qr {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px;
  border: 1px solid var(--pricing-card-border);
  border-radius: var(--unit-24);
}

.use-case-qr__code {
  flex: none;
  width: 104px;
  height: 104px;
}

.use-case-qr__text {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4xs);
}

.use-case-qr__text strong {
  font-family: var(--font-family-bricolage);
  font-size: var(--unit-20);
  line-height: 1.2;
  color: var(--pricing-forest);
}

.use-case-qr__text .pricing-muted {
  font-size: 15px;
}

.use-case-review-source {
  font-size: var(--font-sm);
  color: var(--text-secondary);
}


/* --- Responsive ------------------------------------------------------------- */

@media (max-width: 60rem) {
  .use-case-trust__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .use-case-amounts,
  .use-case .pricing-included {
    grid-template-columns: minmax(0, 1fr);
  }

  .use-case .pricing-included {
    gap: var(--spacing-2xl);
  }
}

@media (max-width: 48rem) {
  .use-case-split--reverse {
    grid-template-columns: minmax(0, 1fr);
  }

  .use-case .section:not(.reviews, .final-cta) {
    padding-block: var(--spacing-4xl);
  }

  .use-case-split--reverse > :first-child {
    order: 0;
  }

  .use-case-hero {
    padding-block: var(--spacing-2xl) var(--spacing-3xl);
  }

  .use-case-hero__top {
    justify-content: flex-start;
  }

  .use-case-trust {
    padding: 0 var(--spacing-md) var(--spacing-2xl);
  }

  .use-case-card-panel {
    padding: var(--spacing-lg);
  }

  .use-case-amounts {
    padding: var(--spacing-xs);
  }

  .use-case-amount .pricing-row dd {
    font-size: var(--unit-20);
  }
}

@media (max-width: 30rem) {
  .use-case-trust__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .use-case-qr {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 22rem) {
  .use-case-demo__buttons {
    grid-template-columns: minmax(0, 1fr);
  }

  .use-case-demo__rates {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
