/* ── Crew Bargains — Premium Card ────────────────── */
html { color-scheme: light only; }
.bargain-card--premium {
  background:
    radial-gradient(circle at top right, rgba(245,233,192,0.95), transparent 32%),
    linear-gradient(180deg, #FFFFFF 0%, #FCFCFC 100%);
  border: 1px solid rgba(184,150,12,0.18);
  border-radius: 22px;
  padding: 15px;
  margin-bottom: 12px;
  transition: transform 0.15s ease, box-shadow 0.3s ease;
  box-shadow: 0 12px 28px rgba(0,0,0,0.065), 0 1px 0 rgba(255,255,255,0.95) inset;
}
.bargain-card--premium:active { transform: scale(0.985); }
.bargain-card--just-voted { animation: bargainVoteGlow 700ms ease-out; }
@keyframes bargainVoteGlow {
  0% { box-shadow: 0 0 0 0 rgba(184,150,12,0.34), 0 12px 28px rgba(0,0,0,0.065); }
  100% { box-shadow: 0 0 0 10px rgba(184,150,12,0), 0 12px 28px rgba(0,0,0,0.065); }
}
.bargain-card__header { display:flex; justify-content:space-between; gap:10px; margin-bottom:6px }
.bargain-card__main { flex:1; min-width:0 }
.bargain-card__eyebrow { display:flex; align-items:center; gap:4px; font-size:10px; color:var(--text-muted); margin-bottom:2px; flex-wrap:wrap }
.bargain-card__category { font-weight:700; color:var(--text-muted); text-transform:uppercase; font-size:9.5px; letter-spacing:0.07em }
.bargain-card__dot { opacity:0.35 }
.bargain-card__city { color:var(--gold); font-weight:700; text-transform:none }
.bargain-card__title { font-size:14px; line-height:1.15; font-weight:750; letter-spacing:-0.015em; color:#16130c; margin:4px 0 4px }
.bargain-card__tip { font-size:12px; line-height:1.4; color:rgba(35,29,18,0.74); margin:0 0 8px }
.bargain-card__saving {
  min-width:58px; height:58px; border-radius:18px;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,0.4), transparent 28%),
    linear-gradient(145deg, #D7B53A 0%, #B8960C 45%, #8D7107 100%);
  color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center;
  flex-shrink:0;
  box-shadow: 0 8px 18px rgba(184,150,12,0.22), inset 0 1px 0 rgba(255,255,255,0.35), inset 0 -1px 0 rgba(0,0,0,0.15);
}
.bargain-card__saving-number { font-size:17px; font-weight:800; line-height:1; letter-spacing:-0.03em }
.bargain-card__saving-label { margin-top:2px; font-size:8px; font-weight:700; text-transform:none; letter-spacing:0.04em; opacity:0.95 }
.bargain-card__details { margin:2px 0 6px }
.bargain-card__spot { font-size:11px; color:var(--text-muted) }
.bargain-card__chips { display:flex; flex-wrap:wrap; gap:6px; margin:8px 0 }
.bargain-card__vote-flash {
  font-size:11px; color:var(--gold); font-weight:600; text-align:center;
  margin-top:8px; animation: cc-flash-fade 3s ease forwards;
}
@keyframes cc-flash-fade { 0%{opacity:0;transform:translateY(4px)} 20%{opacity:1;transform:translateY(0)} 80%{opacity:1} 100%{opacity:0} }
.bargain-card__nudge {
  font-size:11px; color:var(--gold); font-weight:500; text-align:center;
  padding:8px 12px; margin-top:8px; background:rgba(184,150,12,0.06); border-radius:10px;
}

/* ── Chips ───────────────────────────────────────── */
.chip { display:inline-flex; align-items:center; gap:4px; min-height:22px; padding:0 10px; border-radius:999px; font-size:10px; font-weight:600; line-height:1; white-space:nowrap }
.chip--fresh { background:rgba(61,139,64,0.09); color:#3D8B40; border:1px solid rgba(61,139,64,0.14) }
.chip--recent { background:rgba(74,154,78,0.06); color:#4A9A4E; border:1px solid rgba(74,154,78,0.12) }
.chip--aging { background:rgba(230,126,34,0.08); color:#D27A2E; border:1px solid rgba(210,122,46,0.14) }
.chip--stale, .chip--needs-check { background:rgba(184,92,74,0.08); color:#B85C4A; border:1px solid rgba(184,92,74,0.14) }
.chip--warning { background:rgba(245,233,192,0.7); color:#8D7107; border:1px solid rgba(184,150,12,0.18) }
.chip--seasonal { background:rgba(59,139,110,0.08); color:var(--cf-green) }

/* ── Pearl Confidence Bar ─────────────────────────── */
.pearl-confidence { margin:8px 0 0; user-select:none }
.pearl-confidence__toprow { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px }
.pearl-confidence__label { font-size:9px; font-weight:700; letter-spacing:0.06em; color:var(--text-muted); text-transform:uppercase }
.pearl-confidence__trust-pill { display:inline-flex; align-items:center; min-height:18px; padding:0 7px; border-radius:999px; font-size:9px; font-weight:700; letter-spacing:0.03em; text-transform:none; background:rgba(184,150,12,0.1); color:#8D7107; border:1px solid rgba(184,150,12,0.16) }
.pearl-confidence__trust-pill.trust--high { background:rgba(46,125,50,0.1); color:#2E7D32; border-color:rgba(46,125,50,0.2) }
.pearl-confidence__trust-pill.trust--good { background:rgba(56,142,60,0.08); color:#388E3C; border-color:rgba(56,142,60,0.15) }
.pearl-confidence__trust-pill.trust--mixed { background:rgba(184,150,12,0.12); color:#8D7107; border-color:rgba(184,150,12,0.2) }
.pearl-confidence__trust-pill.trust--low, .pearl-confidence__trust-pill.trust--bad { background:rgba(192,57,43,0.09); color:#A93226; border-color:rgba(192,57,43,0.18) }
.pearl-confidence__trust-pill.trust--none, .pearl-confidence__trust-pill.trust--early { background:rgba(0,0,0,0.04); color:var(--text-muted); border-color:rgba(0,0,0,0.08) }

.pearl-confidence__gauge { position:relative; display:flex; align-items:center; flex:1; min-width:0; min-height:34px }
.pearl-confidence__gauge { --confidence-pct: 50 }

/* Thread — read-only display */
.pearl-confidence__thread { position:relative; width:100%; height:34px; min-width:0; display:flex; align-items:center; cursor:default }
.pearl-confidence__thread-base { position:absolute; left:0; right:0; top:50%; height:6px; transform:translateY(-50%); border-radius:999px; background:linear-gradient(90deg,rgba(150,115,80,0.25) 0%,rgba(200,170,100,0.55) 30%,rgba(245,233,192,0.85) 60%,rgba(184,150,12,0.98) 100%); box-shadow:inset 0 1px 1px rgba(255,255,255,0.9),inset 0 -1px 1px rgba(120,90,20,0.16),0 4px 10px rgba(184,150,12,0.13) }
.pearl-confidence__thread-glow { position:absolute; left:0; top:50%; width:calc(var(--confidence-pct, 50) * 1%); height:6px; transform:translateY(-50%); border-radius:999px; background:linear-gradient(90deg,rgba(255,255,255,0.08),rgba(245,233,192,0.15),rgba(184,150,12,0.10)); pointer-events:none }

/* Thumb */
.pearl-confidence__thumb { position:absolute; top:50%; left:50%; width:26px; height:26px; border-radius:999px; transform:translate(-50%,-50%) scale(calc(0.4 + (var(--confidence-pct, 50) / 100) * 0.8)); display:grid; place-items:center; background:radial-gradient(circle at 32% 24%,#FFFFFF 0%,#FFFFFF 24%,#F8F4E8 44%,#E8D9AA 72%,#C9A73A 100%); border:1px solid rgba(255,255,255,0.9); box-shadow:0 8px 18px rgba(93,72,18,0.24),0 2px 4px rgba(0,0,0,0.12),inset 0 1px 1px rgba(255,255,255,0.95),inset -2px -3px 6px rgba(130,100,25,0.24),inset 2px 2px 5px rgba(255,255,255,0.9);   color:#5C4808; font-size:10.5px; font-weight:700; letter-spacing:-0.02em; transition:left 500ms cubic-bezier(0.34,1.56,0.64,1),transform 160ms ease,box-shadow 240ms ease }
.pearl-confidence__thumb-number { position:relative }
.pearl-confidence__thumb::after { display:none }

/* Meta — compact centered */
.pearl-confidence__meta { margin-top:2px; display:flex; align-items:center; justify-content:center; gap:8px; font-size:9.5px; color:var(--text-muted); flex-wrap:wrap }
.pearl-confidence__meta span:last-child { text-align:center }

/* ── Inline row — thumbs flanking the bar ──────── */
.pearl-confidence__row { display:grid; grid-template-columns:36px minmax(0,1fr) 36px; align-items:center; gap:6px; min-height:40px }

/* Vote buttons — smaller glass circle */
.pearl-confidence__vote {
  appearance:none; border:1px solid rgba(176,139,45,0.22); background:rgba(255,255,255,0.45);
  width:36px; height:36px; display:flex; align-items:center; justify-content:center;
  border-radius:999px; cursor:pointer; font-family:inherit;
  transition:transform 120ms ease,background 220ms ease,border-color 220ms ease,box-shadow 220ms ease;
  -webkit-tap-highlight-color:transparent;
  position:relative; overflow:visible; isolation:isolate;
}
.pearl-confidence__vote i, .pearl-confidence__vote svg { position:relative; z-index:2; }
.pearl-confidence__vote:active { transform:scale(0.9) }
.pearl-confidence__vote i { font-size:12px; color:rgba(125,95,30,0.5); transition:transform 120ms ease }
.pearl-confidence__vote:active i { transform:scale(1.3) }
.pearl-confidence__vote--up.cf-vote-active {
  background:linear-gradient(145deg,#fff7d6,#d4a817); border-color:rgba(184,150,12,0.6);
  box-shadow:0 4px 12px rgba(184,150,12,0.18);
}
.pearl-confidence__vote--up.cf-vote-active i { color:#6f5200 }
.pearl-confidence__vote--down.cf-vote-active {
  background:linear-gradient(145deg,#fff0df,#b07a48); border-color:rgba(150,95,48,0.35);
  box-shadow:0 4px 12px rgba(150,95,48,0.12);
}
.pearl-confidence__vote--down.cf-vote-active i { color:#5e341c }

/* ── Vote burst animation ──────────────────────────── */
.pearl-confidence__vote::before {
  content:""; position:absolute; inset:0; border-radius:999px;
  background:var(--vote-fill-bg);
  transform:scale(0); opacity:0; z-index:0; pointer-events:none;
}
.pearl-confidence__vote.vote-bursting::before {
  animation:voteRadialFill 420ms cubic-bezier(0.16,1,0.3,1) forwards;
}
@keyframes voteRadialFill {
  0%   { transform:scale(0); opacity:0.95; }
  65%  { transform:scale(1.08); opacity:1; }
  100% { transform:scale(1); opacity:1; }
}
.pearl-confidence__vote.vote-bursting i {
  animation:voteIconPop 420ms cubic-bezier(0.16,1,0.3,1);
}
@keyframes voteIconPop {
  0%   { transform:scale(0.82); }
  42%  { transform:scale(1.28) rotate(-5deg); }
  100% { transform:scale(1); }
}
.pearl-confidence__vote--down.vote-bursting i {
  animation-name:voteIconPopDown;
}
@keyframes voteIconPopDown {
  0%   { transform:scale(0.82); }
  42%  { transform:scale(1.25) rotate(5deg); }
  100% { transform:scale(1); }
}

/* Responsive */
@media (max-width:360px) { .pearl-confidence__thread { height:28px } .pearl-confidence__thumb { width:24px; height:24px; font-size:9px } }
@media (prefers-reduced-motion:reduce) {
  .pearl-confidence__thumb, .pearl-confidence__vote { transition:none !important; animation:none !important; transform:none !important }
  .pearl-confidence__vote.vote-bursting::before, .pearl-confidence__vote.vote-bursting i { animation:none !important }
}

/* ── Radar Header ───────────────────────────────── */
.bargains-radar {
  position:sticky; top:0; z-index:0;
  background:linear-gradient(180deg,rgba(255,255,255,0.98),rgba(255,255,255,0.94));
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(184,150,12,0.16);
  border-radius:16px;
  padding:14px 16px 12px;
  margin-bottom:10px;
  box-shadow:0 2px 12px rgba(0,0,0,0.04);
}
.bargains-radar__title-row { display:flex; justify-content:space-between; align-items:flex-start; gap:8px; margin-bottom:8px }
.bargains-radar__title-row h2 { font-size:16px; font-weight:700; color:var(--text-primary); margin:0 }
.bargains-radar__title-row p { font-size:11px; color:var(--text-muted); margin:2px 0 0 }
.bargains-radar__close { background:none; border:none; font-size:22px; color:var(--text-muted); cursor:pointer; padding:0 4px; line-height:1 }
.bargains-radar__stats { display:flex; gap:8px; margin-bottom:10px }
.radar-stat {
  flex:1; text-align:center; padding:10px 8px;
  background:linear-gradient(180deg, #FFFFFF 0%, #F7F7F7 100%);
  border:1px solid rgba(184,150,12,0.08); border-radius:14px;
  box-shadow:0 6px 16px rgba(0,0,0,0.03), inset 0 1px 0 rgba(255,255,255,0.9);
}
.radar-stat strong { display:block; font-size:15px; font-weight:700; color:var(--gold); letter-spacing:-0.03em }
.radar-stat span { display:block; margin-top:3px; font-size:10px; font-weight:600; color:var(--text-muted); text-transform:none }
.bargains-radar__quick-filters { display:flex; gap:6px; overflow-x:auto; padding:2px 0 0; -webkit-overflow-scrolling:touch }
.radar-filter-chip {
  flex-shrink:0; padding:7px 10px; border-radius:999px; font-size:10px; font-weight:700;
  cursor:pointer; font-family:inherit;
  border:1px solid rgba(184,150,12,0.16); background:#FFFFFF; color:var(--text-secondary);
  white-space:nowrap; transition:all 0.15s ease;
  box-shadow:0 2px 7px rgba(0,0,0,0.04);
}
.radar-filter-chip:active { transform:scale(0.96) }
.radar-filter-chip.active { background:var(--text-primary); color:#fff; border-color:var(--text-primary) }
/* Inputs & selects — soft, rounded, premium */
.bargains-radar input, .bargains-radar select {
  height:34px; border-radius:12px; border:1px solid rgba(0,0,0,0.08);
  background:rgba(255,255,255,0.78); font-size:11px; color:var(--text-primary);
  font-family:inherit;
  box-shadow:inset 0 1px 2px rgba(0,0,0,0.04), 0 1px 0 rgba(255,255,255,0.8);
}

/* ── Toast ───────────────────────────────────────── */
.bargain-toast {
  position:fixed; bottom:calc(76px + env(safe-area-inset-bottom, 10px)); left:50%; transform:translateX(-50%) translateY(20px);
  background:var(--surface); color:var(--text-primary); font-size:12px; font-weight:600;
  padding:12px 20px; border-radius:999px; box-shadow:0 4px 20px rgba(0,0,0,0.12); z-index:99998;
  opacity:0; transition:opacity 0.3s ease, transform 0.3s ease; white-space:nowrap; max-width:90vw;
}
.bargain-toast.visible { opacity:1; transform:translateX(-50%) translateY(0) }

/* ── Empty State ─────────────────────────────────── */
.bargains-empty-state { text-align:center; padding:40px 20px; color:var(--text-muted) }
.bargains-empty-state__icon { font-size:36px; margin-bottom:12px }
.bargains-empty-state h3 { font-size:14px; font-weight:700; color:var(--text-primary); margin:0 0 4px }

/* ── Skeleton Cards ──────────────────────────────── */
.bargain-skeleton-card {
  height:200px; border-radius:20px; margin-bottom:12px;
  background:linear-gradient(90deg, var(--bg) 0%, var(--surface) 50%, var(--bg) 100%);
  background-size:200% 100%; animation:cc-shimmer 1.5s ease-in-out infinite;
}
@keyframes cc-shimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }
@media (prefers-reduced-motion:reduce) { .bargain-skeleton-card { animation:none; background:var(--bg) } }

/* ── Reduced Motion ──────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .crew-confidence *, .bargain-card--premium, .bargain-card__vote-flash, .bargain-toast, .bargain-skeleton-card { animation:none !important; transition:none !important }
}

/* Login prompt for bargains (matches .crew-login-prompt from destination_styles.css) */
.crew-login-prompt {
  position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:99999;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity 0.3s ease;
}
.crew-login-prompt.open { opacity:1; }
.crew-login-prompt-content {
  background:var(--surface);border-radius:16px;padding:24px;
  max-width:360px;width:90%;box-shadow:0 8px 40px rgba(0,0,0,0.15);
  transform:translateY(0);
}
.crew-login-prompt-content p:first-child { margin-top:0; }
.crew-login-btn {
  width:100%;padding:12px;background:var(--gold);color:#fff;
  border:none;border-radius:8px;font-size:14px;font-weight:600;
  cursor:pointer;font-family:inherit;min-height:44px;
}
.venue-otp-row {
  display:flex;gap:6px;justify-content:center;flex-wrap:wrap;
}
.venue-otp-row input {
  width:38px;height:44px;text-align:center;font-size:18px;
  border:1px solid var(--border);border-radius:8px;font-family:inherit;
}
.crew-login-close {
  position:absolute;top:8px;right:12px;background:none;border:none;
  font-size:20px;color:var(--text-muted);cursor:pointer;
}
.venue-digit-input {
  width:42px;height:50px;text-align:center;font-size:20px;font-weight:700;
  border:2px solid var(--border);border-radius:8px;font-family:inherit;
  transition:border-color 0.2s;
}
.venue-digit-input:focus {
  border-color:var(--gold);outline:none;
  box-shadow:0 0 0 3px rgba(184,150,12,0.15);
}
