.opportunity-card, .trip-card {
  background: white;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
}

.card-header { display: flex; justify-content: space-between; align-items: flex-start; }
.route { display: flex; flex-direction: column; }
.city, .destination { color: #d84b74; font-weight: 800; font-size: 1.25rem; }
.label-hacia { font-size: 1rem; color: #888; margin: 4px 0; font-weight: 600; }

.status-pill { padding: 4px 12px; border-radius: 20px; font-size: 0.875rem; font-weight: 700; }
.status-disponible { background: #e8f5e9; color: #16a34a; }
.status-en-curso { background: #fff7ed; color: #ea580c; }
.status-completado { background: #eff6ff; color: #2563eb; }

.card-body { flex-grow: 1; border-top: 1px solid var(--gray-color); margin-top: 1rem; }
.cargo-type { font-size: 1rem; color: #100e35; margin: 1rem 0; font-weight: 700; }
.cargo-details { display: flex; justify-content: space-between; padding-bottom: 1rem; border-bottom: 1px solid var(--gray-color); margin-bottom: 1rem; }
.price { font-size: 0.875rem; color: #666; }
.price strong { color: #22c55e; font-size: 1.125rem; }
.weight { font-weight: 700; color: var(--gray-color); }
.applicants-info { font-size: 0.875rem; color: #666; font-weight: 600; margin-bottom: 1rem; }

.btn-action {
  width: 100%;
  background: #d84b74;
  color: white;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  margin-top: 1rem;
  font-size: 1rem;
  font-weight: 800;
  font-family: 'Poppins', sans-serif;
  cursor: pointer;
}

.btn-action:disabled,
.btn-action[disabled] {
  background: var(--gray-color);
  cursor: not-allowed;
}

.btn-postular {
  width: 100%;
  background: #d84b74;
  color: white;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  margin-top: 1rem;
  font-size: 1rem;
  font-weight: 800;
  font-family: 'Poppins', sans-serif;
  cursor: pointer;
}

.btn-postular:disabled,
.btn-postular[disabled] {
  background: var(--gray-color);
  cursor: not-allowed;
}

.publisher-name { color: #fff; }

.requirement-box { padding: 1rem; border-radius: 10px; font-size: 0.85rem; margin-top: auto; }
.requirement-box.success { background: #f0fdf4; border: 1px solid #bdf3ca; color: #16a34a; display: flex; align-items: center; gap: 10px; font-weight: 700; }
.requirement-box.error { background: #fff1f2; border: 1px solid #fecdd3; color: #991b1b; }
.error-header { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.requirement-box ul { padding-left: 20px; margin: 5px 0 0 0; }
.requirement-box li { margin-bottom: 4px; font-weight: 500; }

.card-footer {
  background: #100e35;
  color: white;
  padding: 0.5rem 1.5rem;
  font-size: 0.75rem;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
  margin: 1rem -1.5rem -1.5rem;
  width: calc(100% + 3rem);
  align-self: stretch;
}
