@layer modules {
  .step1 { display: flex; flex-direction: column; gap: var(--space-lg); }

  .carrier-card { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-sm) var(--space-md); padding: var(--space-lg); }
  .carrier-card__info { display: flex; flex-direction: column; gap: 0.125rem; margin-inline-end: auto; }
  .carrier-card__name { font-family: var(--xf-font-display); font-size: 1.875rem; font-weight: 800; line-height: 1.1; }
  .carrier-card__loading { color: var(--xf-ink-muted); font-weight: 600; }

  .recycling-card { display: flex; flex-direction: column; gap: var(--space-xs); padding: var(--space-lg); background: var(--xf-red-soft); }
  .recycling-card__label { display: flex; align-items: center; gap: var(--space-sm); }
  .recycling-card__text { font-family: var(--xf-font-display); font-size: 1.375rem; font-weight: 800; line-height: 1.2; }

  .vinculos-card__header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.625rem var(--space-md); padding: 1.25rem var(--space-lg); border-bottom: var(--xf-border); }
  .vinculos-card__title,
  :is(.not-found-card, .empty-result-card) h3 { font-size: 1.375rem; line-height: 1.2; text-wrap: balance; }
  .vinculos-card__locked { display: flex; align-items: center; gap: 0.375rem; font-size: var(--text-sm); font-weight: 600; }
  .vinculos-card__text { padding: 1.25rem var(--space-lg) 0; color: var(--xf-ink-soft); }
  .vinculos-card__text strong { color: var(--xf-ink); }

  .vinculos-card .establishment-card { display: flex; flex-direction: column; gap: 0.75rem; padding: 1.25rem var(--space-lg); }
  .vinculos-card .establishment-card + .establishment-card { border-top: 2px dashed var(--xf-ink); }
  .vinculos-card .establishment-card__fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(8rem, 100%), 1fr)); gap: 0.875rem var(--space-md); }
  .vinculos-card .establishment-card__fields--open { grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr)); }
  .vinculos-card :is(.establishment-card__field, .establishment-card__status) { display: flex; flex-direction: column; gap: 0.375rem; min-width: 0; }
  .vinculos-card :is(.establishment-card__field, .establishment-card__status) dt {
    color: var(--xf-ink-soft);
    font-family: var(--xf-font-mono);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
  .vinculos-card :is(.establishment-card__field, .establishment-card__status) dd { color: var(--xf-ink); overflow-wrap: anywhere; }

  .establishment-card__heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-sm); }
  .establishment-card__name { font-size: 1.25rem; line-height: 1.2; }
  .establishment-card__legal { color: var(--xf-ink-soft); font-size: var(--text-sm); }

  .not-found-card,
  .empty-result-card { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-sm); padding: var(--space-lg); }
  :is(.not-found-card, .empty-result-card) p { color: var(--xf-ink-soft); }
  :is(.not-found-card, .empty-result-card) .btn { margin-top: var(--space-sm); }
  .not-found-card__hint { font-size: var(--text-sm); }

  @media (min-width: 40rem) {
    .vinculos-card__title,
    :is(.not-found-card, .empty-result-card) h3 { font-size: 1.5rem; }
  }
}
