/* ============================================================
   com_agolf – 球敘場次列表  events.css
   僅包含「列表頁專屬」樣式（篩選器、排序、公告、分頁）
   共用卡片樣式請見 ticket-card.css
   ============================================================ */

/* ── 篩選器 ── */
.go-filters {
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr 1fr 1fr 1fr auto;
  background: var(--go-white);
  border: 1px solid var(--go-border);
  border-radius: 12px;
  padding: 14px;
  margin: 20px 0;
  position: sticky;
  top: 0;
  z-index: 10;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

.go-select { position: relative; }
.go-select label {
  display: block;
  font-size: 14px;
  color: var(--go-text-muted);
  margin-bottom: 6px;
}
.go-select select,
.go-select input[type="date"] {
  width: 100%;
  border: 1px solid var(--go-border);
  border-radius: 8px;
  padding: 10px 14px;
  background: var(--go-white);
  color: var(--go-text);
  font-weight: 500;
  appearance: none;
  font-size: 14px;
}
.go-select::after {
  content: "▾";
  position: absolute;
  right: 12px;
  top: 36px;
  color: #999;
  pointer-events: none;
}
.go-select--date::after { display: none; }

/* ── Promotion 公告區塊 ── */
@keyframes go-promo-slideIn {
  from { transform: translateX(40px); }
  to   { transform: translateX(0); }
}
.go-promo {
  background: linear-gradient(135deg, #f5e6c4 0%, #fdf0d5 100%);
  border: 1px solid #c8a84e;
  border-left: 5px solid var(--go-gold);
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.go-promo-icon {
  font-size: 28px;
  color: #8b6914;
  flex-shrink: 0;
}
.go-promo-body { flex: 1; animation: go-promo-slideIn 2s ease-out both; }
.go-promo-title {
  font-size: 16px;
  font-weight: 700;
  color: #e67e22;
  margin: 0 0 4px;
}
.go-promo-desc {
  font-size: 14px;
  color: #5a4a2a;
  margin: 0;
}

/* ── 排序列 ── */
.go-sort-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  font-size: 14px;
  color: var(--go-text-muted);
}
.go-result-count { font-weight: 600; }
.go-sort-options {
  display: flex;
  gap: 6px;
}
.go-sort-btn {
  padding: 4px 12px;
  border: 1px solid var(--go-border);
  border-radius: 20px;
  background: var(--go-white);
  font-size: 13px;
  cursor: pointer;
  transition: all .2s;
  color: var(--go-text-muted);
  text-decoration: none;
}
.go-sort-btn:hover {
  border-color: var(--go-gold);
  color: var(--go-gold);
  text-decoration: none;
}
.go-sort-btn.active {
  background: var(--go-gold);
  color: var(--go-white);
  border-color: var(--go-gold);
}

/* ── 分頁 ── */
.go-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin: 40px 0 10px;
}

/* Joomla 分頁覆寫 */
.go-container .pagination {
  display: flex;
  justify-content: center;
  gap: 4px;
  margin: 40px 0 10px;
  padding: 0;
  list-style: none;
}
.go-container .pagination li {
  list-style: none;
}
.go-container .pagination .page-link {
  width: 38px;
  height: 38px;
  border: 1px solid var(--go-gold);
  border-radius: 8px;
  background: var(--go-white);
  color: var(--go-gold);
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  transition: all .25s ease;
  text-decoration: none;
  padding: 0;
}
.go-container .pagination .page-link:hover {
  background: var(--go-gold);
  color: var(--go-white);
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}
.go-container .pagination .page-item.active .page-link {
  background: var(--go-gold);
  color: var(--go-white);
  border-color: var(--go-gold);
}
.go-container .pagination .page-item.disabled .page-link {
  opacity: 0.4;
  cursor: default;
}
