/* Phase 8 — Customer search results UI (Siyam Holidays)
   Brand: #4c6891 / #4c6891. Presentation only — prices come from API/catalog. */
:root {
  --csr-blue: #4c6891;
  --csr-blue-light: #4c6891;
  --csr-blue-soft: #aad5bb;
  --csr-ink: #0f172a;
  --csr-muted: #64748b;
  --csr-border: #e2e8f0;
  --csr-surface: #f5f7fb;
}

/* —— Shared skeleton / empty / sticky CTA —— */
.csr-skeleton-stack { display: grid; gap: 0.75rem; padding: 0.25rem 0 1rem; }
.csr-skel-card {
  display: grid;
  grid-template-columns: 168px 1fr 150px;
  gap: 0.85rem;
  background: #fff;
  border: 1px solid var(--csr-border);
  border-radius: 14px;
  overflow: hidden;
  min-height: 148px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.csr-skel-media,
.csr-skel-line,
.csr-skel-block {
  background: #eef2f7;
  background-size: 200% 100%;
  animation: csr-shimmer 1.25s ease-in-out infinite;
}
.csr-skel-media { min-height: 148px; }
.csr-skel-body { padding: 0.85rem 0.35rem; display: flex; flex-direction: column; gap: 0.45rem; }
.csr-skel-aside { padding: 0.85rem 0.85rem 0.85rem 0; display: flex; flex-direction: column; align-items: flex-end; gap: 0.4rem; }
.csr-skel-line { height: 12px; border-radius: 6px; width: 72%; }
.csr-skel-line.w-40 { width: 40%; }
.csr-skel-line.w-55 { width: 55%; }
.csr-skel-line.w-90 { width: 90%; }
.csr-skel-block { height: 28px; width: 110px; border-radius: 8px; margin-top: auto; }
@keyframes csr-shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}
@media (max-width: 768px) {
  .csr-skel-card { grid-template-columns: 1fr; }
  .csr-skel-media { min-height: 120px; }
  .csr-skel-aside { align-items: stretch; padding: 0 0.85rem 0.85rem; }
}

.csr-empty {
  text-align: center;
  padding: 2.75rem 1.5rem;
  background: #fff;
  border: 1px solid var(--csr-border);
  border-radius: 16px;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.05);
}
.csr-empty-icon {
  width: 64px; height: 64px; margin: 0 auto 1rem;
  border-radius: 999px;
  display: flex; align-items: center; justify-content: center;
  background: var(--csr-blue-soft);
  color: var(--csr-blue);
  font-size: 1.5rem;
}
.csr-empty-title {
  font-size: 1.125rem; font-weight: 700; color: var(--csr-ink); margin: 0 0 0.35rem;
}
.csr-empty-hint {
  color: var(--csr-muted); font-size: 0.925rem; max-width: 28rem; margin: 0 auto 1.15rem; line-height: 1.5;
}
.csr-empty-cta,
.csr-sticky-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
  min-height: 44px; padding: 0.65rem 1.25rem;
  border-radius: 10px; font-weight: 700; font-size: 0.925rem;
  background: #4c6891;
  color: #fff !important; border: 0; text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(15, 91, 216, 0.28);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.csr-empty-cta:hover,
.csr-sticky-cta:hover {
  filter: brightness(1.03);
  box-shadow: 0 10px 22px rgba(15, 91, 216, 0.34);
  transform: translateY(-1px);
  color: #fff !important;
}

.csr-filter-chrome {
  background: #fff;
  border: 1px solid var(--csr-border);
  border-radius: 14px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.csr-sort-bar {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.65rem;
  padding: 0.75rem 0.9rem;
  background: #fff;
  border: 1px solid var(--csr-border);
  border-radius: 12px;
}

/* —— Hotel results overrides (page already has .hotel-search-page) —— */
.hotel-search-page {
  --hsr-blue: #4c6891;
  --hsr-blue-hover: #4c6891;
  --hsr-orange: #4c6891;
  --hsr-orange-hover: #4c6891;
  --hsr-surface: var(--csr-surface);
}
.hotel-search-page .hsr-btn-search,
.hotel-search-page .hsr-btn-map,
.hotel-search-page .btn-select-room,
.hotel-search-page .hsr-card-compact .btn-select-room {
  background: #4c6891 !important;
  color: #fff !important;
  color: #fff !important;
  border: 0;
  font-weight: 700;
  box-shadow: 0 6px 14px rgba(15, 91, 216, 0.22);
}
.hotel-search-page .hsr-btn-search:hover,
.hotel-search-page .hsr-btn-map:hover,
.hotel-search-page .btn-select-room:hover,
.hotel-search-page .hsr-card-compact .btn-select-room:hover {
  background: #4c6891 !important;
  color: #fff !important;
  color: #fff !important;
}
.hotel-search-page .hsr-price-xl,
.hotel-search-page .hsr-card-compact .hsr-price-xl {
  color: #4c6891 !important;
}
.hotel-search-page .badge-rating,
.hotel-search-page .hsr-quick-chip.is-active,
.hotel-search-page .hsr-dual-range-fill {
  background: #4c6891 !important;
  color: #fff !important;
  border-color: #4c6891 !important;
}
.hotel-search-page .hsr-card,
.hotel-search-page .hsr-card-compact {
  border-radius: 14px;
  border: 1px solid var(--csr-border);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
}
.hotel-search-page .hsr-card-compact:hover {
  border-color: #bfdbfe;
  box-shadow: 0 10px 28px rgba(15, 91, 216, 0.12);
}
.hotel-search-page .hsr-card-compact .hsr-card-aside {
  position: sticky;
  top: 0.5rem;
  align-self: stretch;
}
.hotel-search-page .hsr-card-compact .btn-select-room {
  width: 100%;
  min-height: 42px;
  border-radius: 10px;
  margin-top: 0.55rem;
}
.hotel-search-page #noResults.csr-empty,
.hotel-search-page .csr-empty#noResults {
  margin-top: 0.75rem;
}
.hotel-search-page .hsr-meta-tags { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.45rem; }
.hotel-search-page .hsr-meta-tag {
  display: inline-flex; align-items: center;
  font-size: 11px; font-weight: 600; line-height: 1.2;
  padding: 3px 8px; border-radius: 999px;
  background: #f1f5f9; color: #334155; border: 1px solid #e2e8f0;
}
.hotel-search-page .hsr-meta-tag.is-green { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.hotel-search-page .hsr-meta-tag.is-blue { background: #aad5bb; color: #4c6891; border-color: #bfdbfe; }
.hotel-search-page .hsr-meta-tag.is-amber { background: #fffbeb; color: #b45309; border-color: #fde68a; }
.hotel-search-page .hsr-meta-tag.is-epic { background: #fef3c7; color: #92400e; border-color: #fcd34d; }
.hotel-search-page .hsr-meta-tag.is-deal { background: #f0fdf4; color: #15803d; border-color: #bbf7d0; }
.hotel-search-page .hsr-pick-badge {
  position: absolute; left: 8px; top: 8px; z-index: 2;
  background: #4c6891;
  color: #fff; font-size: 10px; font-weight: 700;
  padding: 4px 8px; border-radius: 999px;
  box-shadow: 0 4px 10px rgba(15, 91, 216, 0.35);
}

/* —— Package results —— */
.pts-wrap {
  --pts-brand: #4c6891;
  --pts-brand-dark: #4c6891;
  --pts-hero: #4c6891;
}
.pts-card, .pts-result-card {
  border-radius: 14px !important;
  border-color: var(--csr-border) !important;
}
.pcl-book-btn,
.pts-wrap .pcl-book-btn,
button.pcl-book-btn {
  background: #4c6891 !important;
  color: #fff !important;
  border: 0 !important;
  color: #fff !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
  min-height: 42px;
  box-shadow: 0 6px 14px rgba(15, 91, 216, 0.22);
}
.pcl-book-btn:hover { filter: brightness(1.03); }

/* —— Visa / service results —— */
.visa-result-card:hover { border-color: #bfdbfe !important; }
.visa-result-card.is-expanded {
  box-shadow: 0 8px 24px rgba(15, 91, 216, 0.12) !important;
}
.service-search-page .csr-empty a,
#noResults .csr-empty-cta {
  background: #4c6891;
}

/* —— Sightseeing / transfer brand remap helpers —— */
.ssr-btn-primary,
.trf-btn-primary,
.trf-select-btn {
  background: #4c6891 !important;
  color: #fff !important;
  border-color: #4c6891 !important;
  color: #fff !important;
}
.ssr-btn-primary:hover { filter: brightness(1.03); }


/* —— Flight results (Phase 8b) —— */
.flight-search-results-page,
.bg-slate-100:has(#fsr-search-form) {
  --fsr-brand: #4c6891;
  --fsr-brand-light: #4c6891;
}
.fsr-orange {
  background: #4c6891 !important;
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(15, 91, 216, 0.22);
}
.fsr-orange:hover {
  background: #4c6891 !important;
  color: #fff !important;
  filter: brightness(1.03);
}
.fsr-card-bd {
  border-radius: 14px !important;
  border-color: var(--csr-border) !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05) !important;
}
.fsr-card-bd:hover {
  border-color: #bfdbfe !important;
  box-shadow: 0 10px 28px rgba(15, 91, 216, 0.12) !important;
}
.fsr-highlight-tab.active {
  border-color: #4c6891 !important;
  background: #aad5bb !important;
  box-shadow: 0 0 0 1px #4c6891 !important;
}
.fsr-airline-pill:hover,
.fsr-airline-pill.selected {
  border-color: #4c6891 !important;
  background: #aad5bb !important;
}
.fsr-dual-range-fill,
.fsr-dual-range-wrap input[type="range"]::-webkit-slider-thumb,
.fsr-dual-range-wrap input[type="range"]::-moz-range-thumb {
  background: #4c6891 !important;
  color: #fff !important;
}
#fsr-loading.csr-skeleton-stack { background: transparent; border: 0; padding: 0.25rem 0 1rem; box-shadow: none; }
/* Ensure skeleton does not stay visible after results render (beats display:grid) */
#fsr-loading.hidden,
.csr-skeleton-stack.hidden,
#fsr-loading[aria-busy="false"] { display: none !important; }
#fsr-empty.csr-empty { margin-top: 0.25rem; }
.fsr-fare-card.ring-blue-500,
.fsr-fare-card.ring-2.ring-blue-500 { box-shadow: 0 0 0 2px #4c6891, 0 8px 18px rgba(15, 91, 216, 0.15); }
.text-orange-600.fsr-brand-link,
a.text-orange-600 { color: #4c6891 !important; }

/* —— Hajj & Umrah results (Phase 8b) —— */
.hus-wrap,
.hus-results-page {
  --hus-primary: #4c6891;
  --hus-primary-dark: #4c6891;
  --hus-accent: #4c6891;
}
.hus-results-page .hus-hero {
  background: #4c6891 !important;
  color: #fff !important;
}
.hus-results-page .hus-search-card {
  box-shadow: 0 20px 40px -14px rgba(15, 91, 216, 0.22) !important;
}
.hus-context-pill {
  background: #aad5bb !important;
  border-color: #bfdbfe !important;
  color: #4c6891 !important;
}
.hus-price-insight {
  background: #aad5bb !important;
  border-color: #bfdbfe !important;
  color: #4c6891 !important;
}
.hus-view-btn.is-active {
  background: #aad5bb !important;
  color: #4c6891 !important;
}
.hus-filter-chip:hover { border-color: #4c6891 !important; color: #4c6891 !important; }
.hus-filter-chip.active {
  background: #aad5bb !important;
  border-color: #4c6891 !important;
  color: #4c6891 !important;
}
.hus-result-card:hover {
  box-shadow: 0 16px 40px rgba(15, 91, 216, 0.12) !important;
  border-color: #bfdbfe !important;
}
.hus-result-card.is-featured {
  border-color: #93c5fd !important;
  background: #aad5bb !important;
}
.hus-result-media { background: #aad5bb !important; }
.hus-ribbon--best { background: #4c6891 !important;
  color: #fff !important; }
.hus-ribbon--type { color: #4c6891 !important; border-color: #bfdbfe !important; }
.hus-hotel-row > i { color: #4c6891 !important; }
.hus-result-dates { color: #4c6891 !important; }
.hus-result-price,
.hus-price { color: #4c6891 !important; }
.hus-result-title a:hover { color: #4c6891 !important; }
.hus-btn-primary {
  background: #4c6891 !important;
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(15, 91, 216, 0.22);
  min-height: 42px;
  border-radius: 10px !important;
}
.hus-btn-primary:hover {
  background: #4c6891 !important;
  color: #fff !important;
  filter: brightness(1.03);
}
.hus-btn-outline:hover { border-color: #4c6891 !important; color: #4c6891 !important; }
.hus-btn-search {
  background: #4c6891 !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(15, 91, 216, 0.28);
}
.hus-field input:focus, .hus-field select:focus {
  border-color: #4c6891 !important;
  box-shadow: 0 0 0 3px rgba(15, 91, 216, 0.18) !important;
}
.hus-inc-badge {
  background: #aad5bb !important;
  color: #4c6891 !important;
  border-color: #bfdbfe !important;
}
.hus-badge--cat { background: #aad5bb !important; color: #4c6891 !important; }
.hus-aside-inner.csr-filter-chrome,
.hus-results-page .hus-aside-inner {
  border-radius: 14px;
}
#loadingResults.csr-skeleton-stack { padding: 0.25rem 0 1rem; }
#noResults.csr-empty { margin-top: 0.5rem; }
.hus-results-page .csr-empty-cta,
.hus-results-page #btnApplyFilters.csr-sticky-cta,
.hus-results-page #btnApplyFilters {
  background: #4c6891 !important;
  color: #fff !important;
  color: #fff !important;
  border: 0;
  font-weight: 700;
  box-shadow: 0 6px 14px rgba(15, 91, 216, 0.22);
}
.hus-results-page #btnApplyFilters:hover { filter: brightness(1.03); }

/* flightux1 — BDFare-parity results chrome (Siyam blues) */
.flight-search-results-page .fsr-card-bd {
  border: 1px solid var(--csr-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
}
.flight-search-results-page .fsr-card-footer {
  background: #fafbfc;
  border-top: 1px solid #f1f5f9;
}
.flight-search-results-page .fsr-badge-text { color: #059669; }
.flight-search-results-page #fsr-results {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.flight-search-results-page #fsr-results.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  margin-top: 0; /* gap handles spacing with unified chrome */
}


/* bfux2 — hold CTA + refundability colors (Siyam teal/orange) */
.flight-search-results-page .fsr-hold-link {
  font-size: 0.75rem;
  font-weight: 700;
  color: #4c6891 !important;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.flight-search-results-page .fsr-hold-link:hover { color: #0f766e !important; text-decoration: underline; }
.flight-search-results-page .fsr-badge-text--muted { color: #ff9200 !important; font-weight: 700; }
.flight-search-results-page .fsr-api-chip--sab,
.flight-search-results-page .fsr-api-chip--bdf,
.flight-search-results-page .fsr-api-chip--demo { letter-spacing: 0.02em; }
