/* Result cards: one price, readable journey rows, details on demand. */
.results .search-result-card {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 16px !important;
}
#results .search-result-card.featured {
  border-color: #8aafe8 !important;
  box-shadow: 0 0 0 1px #8aafe8 !important;
}
.search-result-card .search-result-content { padding: 20px; min-width: 0; }
.search-result-card .card-header-bar { gap: 16px; margin-bottom: 14px; }
.search-result-card .card-header-meta h3 { font-size: 18px; line-height: 1.4; margin: 8px 0 0; overflow-wrap: anywhere; }
.search-result-card .result-label { font-size: 12px; padding: 5px 9px; line-height: 1.3; }
.search-result-card .result-price-top { font-size: 30px; font-variant-numeric: tabular-nums; }
.search-result-card .result-price-context { display: block; margin-top: 5px; font-size: 12px; color: #526174; }
.search-result-card .card-header-savings { white-space: normal; font-size: 12px; }
.search-result-card .carrier-row { margin: 0; gap: 8px; }
.search-result-card .carrier strong { font-size: 13px; }
.search-result-card .carrier small { font-size: 11px; }
.search-result-card .card-face-schedule { padding: 0; margin: 16px 0; border: 0; background: transparent; border-radius: 0; gap: 0; }
.search-result-card .direction-date-row { display: grid; grid-template-columns: 74px minmax(0, 1fr); align-items: start; gap: 6px 12px; padding: 12px 0; }
.search-result-card .direction-date-row + .direction-date-row { border-top: 1px solid #e2e8f0; padding-top: 14px; margin-top: 0; }
.search-result-card .direction-date-label { font-size: 12px; text-transform: none; letter-spacing: 0; padding-top: 7px; min-width: 0; }
.search-result-card .segment-times { margin: 0; font-size: 14px; gap: 8px; min-width: 0; }
.search-result-card .segment-endpoint { font-size: 15px; flex-wrap: wrap; }
.search-result-card .segment-endpoint time { font-variant-numeric: tabular-nums; }
.search-result-card .direction-schedule-meta { grid-column: 2; font-size: 13px; font-weight: 400; }
.search-result-card .direction-cabin-summary { grid-column: 2; display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.search-result-card .direction-cabin { font-size: 12px; line-height: 1.5; color: #334155; background: #f1f5f9; padding: 4px 7px; border-radius: 6px; overflow-wrap: anywhere; }
.search-result-card .direction-cabin.long-economy { color: #92400e; background: #fffbeb; border: 1px solid #fde68a; }
.search-result-card .result-metrics { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.search-result-card .result-metrics > span { padding: 8px 10px; flex: 0 1 auto; min-width: 0; }
.search-result-card .result-metrics small { font-size: 11px; letter-spacing: 0; text-transform: none; }
.search-result-card .result-metrics strong { font-size: 13px; overflow-wrap: anywhere; }
.search-result-card .cabin-explanation { font-size: 13px; line-height: 1.5; margin-top: 10px; }
.search-result-card .result-why { margin-top: 14px; padding: 12px; background: #f8fafc; border: 0; border-radius: 8px; }
.search-result-card .result-why strong { font-size: 12px; }
.search-result-card .result-why span { font-size: 13px; line-height: 1.5; }
.search-result-card .preference-signals span { font-size: 12px; font-weight: 600; line-height: 1.5; border-radius: 6px; }
.search-result-card .cabin-details { margin-top: 12px; }
.search-result-card .cabin-details summary { width: 100%; min-height: 44px; font-size: 13px; padding: 12px 0; cursor: pointer; }
.search-result-card .timeline-segment, .search-result-card .timeline-segment-equipment { font-size: 13px; line-height: 1.5; }
.search-result-card .result-actions { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 12px; margin: 0; padding: 12px 20px; border-top: 1px solid #e2e8f0; background: #f8fafc; }
.search-result-card .result-actions:empty { display: none; }
.search-result-card .compare-choice { margin-right: auto; min-height: 44px; display: inline-flex; align-items: center; gap: 8px; font-size: 13px; cursor: pointer; }
.search-result-card .compare-choice input { width: 18px; height: 18px; accent-color: #2563eb; }
.search-result-card .check-booking { min-height: 44px; font-size: 14px; padding: 11px 16px; }
.search-result-card .effective-price-note { font-size: 12px; max-width: 100%; }
.search-result-card :is(button, input, summary):focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.result-filters button { font-size: 13px; min-height: 44px; }
.result-tools select { min-height: 44px; font-size: 13px; }
@media (max-width: 600px) {
  .search-result-card .search-result-content { padding: 16px; }
  .search-result-card .card-header-bar { flex-wrap: wrap; }
  .search-result-card .card-header-meta { flex: 1 1 160px; }
  .search-result-card .card-header-price { text-align: left; }
  .search-result-card .result-price-top { font-size: 28px; }
  .search-result-card .direction-date-row { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .search-result-card .direction-date-label { padding-top: 0; }
  .search-result-card .direction-schedule-meta, .search-result-card .direction-cabin-summary { grid-column: 1; }
  .search-result-card .result-actions { padding: 12px 16px; }
  .search-result-card .check-booking { flex: 1 1 160px; }
  .search-result-card .effective-price-note { flex-basis: 100%; }
  .result-heading, .result-heading-actions { flex-wrap: wrap; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .results .search-result-card { transition: none !important; }
  #results .search-result-card:hover { transform: none; }
}
