:root{
  --ink:#3f4757; --muted:#7b8395; --line:rgba(15,23,42,.08); --soft:#F9FAFB;
  --brand:#F46802; --brand-ink:#e05e00;   /* align to base.css */
  --card:#fff; --radius-ctrl:10px; --radius-card:14px; --radius-modal:18px;
  --shadow-modal:0 20px 54px rgba(2,6,23,.16); --shadow-card:0 1px 8px rgba(20,32,50,.03);
  --fs-1:11.5px; --fs-2:12px; --fs-3:13px; --fs-4:15px;
}

/* Page shell */
.be-wrap{max-width:1280px;margin:24px auto;padding:0 18px}
.be-title{margin:0 0 4px;font-size:clamp(1.6rem,1.2rem + 1vw,2rem);font-weight:800;letter-spacing:-.01em;color:#23233c}
.be-sub{margin:0;color:#6e6e81;font-size:1rem}

/* Top bar */
.event-filters-bar{margin-top:20px;background:var(--card);border:1px solid #eef1f6;border-radius:16px;box-shadow:0 2px 14px rgba(18,31,56,.05);padding:12px 14px}
#minimal-filters-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#minimal-filters-form input[type="text"]{
  flex:1 1 320px;border:1px solid #e9eef5;background:#fbfcff;color:#23233c;border-radius:12px;
  padding:10px 12px;font-size:var(--fs-3);transition:box-shadow .14s,border .14s
}
#minimal-filters-form input[type="text"]:focus{outline:none;border-color:#e8d0bd;box-shadow:0 0 0 3px rgba(255,113,11,.14);background:#fff}
.sort-dropdown{min-width:140px;border-radius:12px;border:1px solid #e9eef5;padding:9px 10px;background:#fbfcff;color:#23233c;font-size:var(--fs-3)}
.filter-icon-btn{background:#FFF4EA;color:var(--brand);border:1px solid #FFD9B5;border-radius:12px;font-weight:700;padding:9px 12px;display:flex;gap:8px;align-items:center;box-shadow:0 1px 4px rgba(243,102,0,.06);font-size:var(--fs-3)}
.filter-dot{width:7px;height:7px;background:var(--brand);border-radius:50%}
.btn-search{background:var(--brand);color:#fff;border:none;border-radius:12px;font-weight:700;font-size:var(--fs-3);padding:10px 16px}
.reset-link{color:#6b7280;text-decoration:none;font-weight:600}
.reset-link:hover{color:#374151}

/* Active chips */
.filter-chips-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.filter-chip{background:#f7f8fb;border-radius:999px;padding:4px 8px;font-size:var(--fs-2);display:inline-flex;gap:6px;align-items:center;border:1px solid rgba(2,6,23,.06)}

/* Results container */
.events-list-card{background:var(--card);border:1px solid #eef1f6;border-radius:20px;box-shadow:0 6px 22px rgba(2,6,23,.05);padding:20px 16px;margin-top:18px}
.events-count{margin:0 0 10px;color:#8a90a3;font-size:var(--fs-2)}

/* GRID */
.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;align-items:stretch}

/* Card */
.event-card{
  background:var(--card);border:1px solid #eef1f6;border-radius:var(--radius-card);
  box-shadow:var(--shadow-card);display:flex;flex-direction:column;min-height:260px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.event-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,32,50,.10);border-color:#e9edf6}

/* Image */
.event-image-wrap{position:relative;overflow:hidden;border-radius:14px 14px 0 0;background:#f4f6fa;aspect-ratio:16/9}
.event-image{width:100%;height:100%;object-fit:cover}

/* Badges */
.badge{position:absolute;top:10px;right:12px;border-radius:10px;padding:4px 9px;font-weight:700;font-size:var(--fs-2);box-shadow:0 2px 8px rgba(0,0,0,.06);backdrop-filter:saturate(120%) blur(2px)}
.badge-paid{background:#fff6ed;color:var(--brand);border:1px solid #FFD9B5}
.badge-barter{background:#eafff3;color:#1d9a45;border:1px solid #c9f2d8}

.applied-chip{
  position:absolute;left:12px;top:10px;display:inline-flex;gap:6px;align-items:center;
  background:#ecfdf5;color:#0f766e;border:1px solid #b6f3e6;border-radius:10px;padding:4px 8px;
  font-weight:700;font-size:12px;
}

/* Content */
.event-content{padding:12px 12px 8px}
.event-title{margin:0 0 6px;font-size:1.06rem;font-weight:800;color:#2b3241;letter-spacing:-.01em}
.event-meta{display:flex;flex-wrap:wrap;gap:10px;color:#6b7280;font-size:var(--fs-2);margin-bottom:6px}
.meta-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.venue-name a{color:var(--brand);text-decoration:none;font-weight:700}
.venue-name a:hover{text-decoration:underline}
.event-desc{
  color:#505a6f;font-size:var(--fs-3);line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.8em;
}

/* Actions */
.event-actions{margin-top:auto;display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:10px 12px 14px}
.btn-view{
  --ring: rgba(255,113,11,.15);
  display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid #FFD9B5;background:#fff;
  color:var(--brand);font-weight:800;font-size:var(--fs-2);text-decoration:none;box-shadow:0 1px 4px rgba(243,102,0,.06);
  transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;
}
.btn-view i{transition:transform .15s}
.btn-view:hover{background:#fff7f0;border-color:#ffca97;box-shadow:0 6px 18px rgba(243,102,0,.12)}
.btn-view:hover i{transform:translateX(2px)}
.btn-view:focus{outline:none;box-shadow:0 0 0 3px var(--ring)}

/* Pagination & empty */
.pagination{margin-top:18px;text-align:center;color:#575757;font-size:var(--fs-2)}
.pagination a{margin:0 4px;padding:6px 12px;border-radius:10px;background:#FFF4EA;border:1px solid #FFD9B5;color:var(--brand);text-decoration:none;font-weight:800}
.pagination a:hover{background:var(--brand);color:#fff}
.no-events{padding:22px;text-align:center;background:#f7f9fd;border-radius:12px;color:#8a90a3}

/* Utilities & small hard overrides */
.is-hidden{display:none !important}
#filters-modal[hidden], #modal-overlay[hidden]{display:none !important}
.event-actions{display:flex;align-items:center}.event-actions .btn-view{margin-left:auto}
.event-card [class*="apply"], .events-grid .btn-apply{display:none !important}

/* ---------- Modal ---------- */
.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.35);backdrop-filter:blur(2px);z-index:1000}
.filters-modal{
  position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(980px,94vw);max-height:90vh;overflow:hidden;background:#fff;border-radius:16px;
  border:1px solid var(--line);box-shadow:0 30px 70px rgba(15,23,42,.25);z-index:1001;display:flex;flex-direction:column;
}
.filters-modal__head{position:sticky;top:0;z-index:2;background:#fff;padding:16px 20px;border-bottom:1px solid var(--line)}
.filters-modal__head #close-filters-modal{border:0;background:transparent;font-size:22px;cursor:pointer}
.filters-modal__foot{position:sticky;bottom:0;z-index:2;background:#fff;border-top:1px solid var(--line);padding:12px 20px;display:flex;justify-content:space-between;align-items:center}
.filters-modal form{overflow:auto;padding:16px 20px 24px}

/* Field groups */
.pf-group{margin:12px}
.pf-group>label{display:block;font-weight:700;margin-bottom:6px;color:#253041}

/* Category chips (modal) */
#pfCatSearch{width:100%;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;max-height:180px;overflow:hidden}
.chips[data-collapsed="false"]{max-height:none;overflow:visible}
.chip{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;cursor:pointer;font-weight:700;color:#56607a;font-size:var(--fs-2)}
.chip input{appearance:none;width:14px;height:14px;border:2px solid #cbd5e1;border-radius:4px;background:#fff}
.chip input:checked{background:var(--brand);border-color:var(--brand)}
.chip:has(input:checked){background:#FFF4EA;border-color:#FFD9B5;color:#a34700}
.pf-actions{display:flex;gap:8px;margin-top:8px}
.pf-actions button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 10px;font-weight:600;cursor:pointer;color:#475569}

/* Date pills */
.pf-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.pf-pill{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 10px;font-weight:600;cursor:pointer;color:#475569}

/* Date row */
.pf-row{display:flex;gap:10px}
.pf-row input[type="date"]{flex:1;border:1px solid var(--line);border-radius:10px;padding:8px 10px}

/* Buttons */
.btn-primary{background:var(--brand);color:#fff;border:0;border-radius:10px;padding:8px 14px;font-weight:700;cursor:pointer}

/* ---------- Dual range slider (final, de-duplicated & FIXED) ---------- */
#pfPriceGroup.is-hidden{display:none !important}
.range{position:relative;padding:24px 0 8px}

/* track & progress never intercept pointer events */
.range-track{
  position:absolute;left:0;right:0;top:18px;height:6px;background:#EEF2F7;border-radius:999px;pointer-events:none;
}
.range-track>span{
  position:absolute;left:0;width:0;height:100%;border-radius:999px;
  background:linear-gradient(90deg,#FFD9B5 0%, #FFF1E4 100%);pointer-events:none;
}

/* inputs cover the area but ignore pointer events; only thumbs are draggable */
.range input[type="range"]{
  position:absolute;left:0;right:0;top:0;width:100%;height:28px;background:transparent;border:0;outline:0;
  -webkit-appearance:none;appearance:none;pointer-events:none;
}

/* thumbs receive events */
.range input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;
  background:#fff;border:2px solid #FFB170;box-shadow:0 2px 8px rgba(0,0,0,.10);margin-top:-6px;pointer-events:auto;
}
.range input[type="range"]::-moz-range-thumb{
  width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid #FFB170;box-shadow:0 2px 8px rgba(0,0,0,.10);pointer-events:auto;
}

/* hide native colored tracks/progress */
.range input[type="range"]::-webkit-slider-runnable-track{background:transparent;height:6px}
.range input[type="range"]::-moz-range-track{background:transparent;height:6px}
.range input[type="range"]::-ms-track{background:transparent;border-color:transparent;color:transparent;height:6px}
.range input[type="range"]::-moz-range-progress{background:transparent}

/* stacking so both thumbs remain clickable when close/overlap */
#rangeMin{z-index:3}
#rangeMax{z-index:4}

.range-labels{display:flex;justify-content:space-between;font-size:12px;color:#64748b;margin-top:6px}

/* Tabs */
.be-tabs .be-tab{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px; border:1px solid #e5e7eb; border-radius:10px;
  background:#fff; color:#b45309; text-decoration:none; font-weight:700; font-size:.95rem;
}
.be-tabs .be-tab.is-active{ background:#fed7aab4; color:#b45309; border-color:#fed7aa; }

/* Save button on cards (matches style above) */
.btn-save{ display:inline-flex; align-items:center; gap:8px; padding:3px 6px;
  border:0px solid #e5e7eb00; border-radius:0px; background:#ffffff00; cursor:pointer; }
.btn-save.is-on{ background:#fff7ed00; border-color:#fed7aa; color:#b45309; }
.btn-save i{ font-size:.95rem; }

/* Small dot on Filters when active */
.filter-dot{ display:inline-block; width:8px; height:8px; background:#ef4444; border-radius:999px; margin-left:6px; vertical-align:middle; }

/* Layout helpers to anchor View Details at bottom-right */
.event-card{
  display:flex;
  flex-direction:column;
}
.event-content{ margin-top:10px; }
.event-actions{
  margin-top:auto;                   /* push to bottom */
  display:flex;
  justify-content:flex-end;         /* bottom-right */
  align-items:center;
}

/* Title row with price badge at the extreme right */
.event-title-row{
  display:flex;
  align-items:center;
  gap:8px;
}
.event-title{
  margin:0;
  flex:1 1 auto;
  min-width:0;                      /* allow truncation */
}
.title-badge{
  flex:0 0 auto;
  white-space:nowrap;
  font-weight:700;
  font-size:.82rem;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid transparent;
}
.badge-paid{ background:#eef7ff; color:#287119; border-color:#ffffff; }
.badge-barter{ background:#fff7ed; color:#b45309; border-color:#fde6c8; }

/* Save button – top-right on image */
.event-image-wrap{ position:relative; }
.save-btn-top{
  position:absolute; top:10px; right:10px;
  width:34px; height:34px;
  display:grid; place-items:center;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  color:#9ca3af;
  box-shadow:0 6px 16px rgba(15,23,42,.08);
  cursor:pointer;
}
.save-btn-top.is-on{ color:#f59e0b; background:#fff7ed; border-color:#fde68a; }
.save-btn-top:disabled{ opacity:.6; cursor:not-allowed; }

/* Applied chip stays on image, bottom-left */
.applied-chip{
  position:absolute; left:12px; bottom:12px;
  background:#ecfdf5; color:#065f46;
  border:1px solid #bbf7d0;
  border-radius:999px; padding:4px 8px; font-size:.82rem;
}

/* Keep the existing .btn-view look; just ensure it sits neatly bottom-right */
.btn-view{ white-space:nowrap; }

.save-btn-top{
  position:absolute; top:10px; right:10px;
  width:34px; height:34px;
  display:grid; place-items:center;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  color:#9ca3af;
  box-shadow:0 6px 16px rgba(15,23,42,.08);
  cursor:pointer;
  text-decoration:none;           /* ensures <a> looks like the button */
}
.save-btn-top.is-on{ color:#f59e0b; background:#fff7ed; border-color:#fde68a; }
.save-btn-top:disabled{ opacity:.6; cursor:not-allowed; }
