/* [cl-events-archive] */

.cl-events-archive {
	font-family: var(--cl-font-body);
}

/* ── Filters ─────────────────────────────────────────── */
.cl-archive-filters {
	background:    #f8f9fa;
	border:        1px solid #e9ecef;
	border-radius: var(--cl-radius);
	padding:       24px 28px;
	margin-bottom: 36px;
}

.cl-archive-filters__row {
	display:     flex;
	flex-wrap:   wrap;
	gap:         20px;
	align-items: flex-end;
}

/* Filter Groups */
.cl-filter-group {
	display:        flex;
	flex-direction: column;
	gap:            6px;
	min-width:      0;
}

.cl-filter-group--search   { flex: 2; min-width: 200px; }
.cl-filter-group--dates    { flex: 1; min-width: 200px; }
.cl-filter-group--category { flex: 1.5; min-width: 200px; }
.cl-filter-group--reset    { flex: 0 0 auto; align-self: flex-end; }

.cl-filter-label {
	font-size:      0.78rem;
	font-weight:    600;
	color:          var(--cl-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* Inputs */
.cl-input {
	width:         100%;
	padding:       10px 14px;
	border:        1px solid #dde1e7;
	border-radius: var(--cl-radius);
	font-family:   var(--cl-font-body);
	font-size:     0.9rem;
	color:         var(--cl-text);
	background:    #fff;
	transition:    border-color var(--cl-transition), box-shadow var(--cl-transition);
	outline:       none;
	box-sizing:    border-box;
}

.cl-input:focus {
	border-color: var(--cl-primary);
	box-shadow:   0 0 0 3px rgba(0, 154, 166, 0.12);
}

/* Search / daterange icon wraps */
.cl-search-wrap,
.cl-daterange-wrap {
	position: relative;
}

.cl-search-wrap svg,
.cl-daterange-wrap svg {
	position:       absolute;
	left:           12px;
	top:            50%;
	transform:      translateY(-50%);
	color:          var(--cl-text-muted);
	pointer-events: none;
}

.cl-search-wrap .cl-input, .cl-daterange-wrap .cl-input {
    padding: 12px 32px;
}

/* ── Category field + panel ──────────────────────────── */
.cl-cat-wrap {
	position: relative;
}

.cl-cat-wrap > svg {
	position:       absolute;
	left:           12px;
	top:            14px;
	color:          var(--cl-text-muted);
	pointer-events: none;
	z-index:        1;
}

.cl-cat-wrap .cl-input {
    padding: 12px 24px 12px 32px;
}

/* Panel — drops below the input */
.cl-cat-panel {
	display:       none;
	position:      absolute;
	top:           calc(100% + 4px);
	left:          0;
	right:         0;
	z-index:       300;
	background:    #fff;
	border:        1px solid #dde1e7;
	border-radius: var(--cl-radius);
	box-shadow:    0 8px 28px rgba(0, 0, 0, 0.1);
	min-width:     200px;
}

.cl-cat-panel.open {
	display: block;
}

/* Items container */
.cl-cat-items {
	padding:         6px 0;
	max-height:      240px;
	overflow-y:      auto;
	scrollbar-width: thin;
	scrollbar-color: #d0d0d0 transparent;
}

.cl-cat-items::-webkit-scrollbar       { width: 4px; }
.cl-cat-items::-webkit-scrollbar-track { background: transparent; }
.cl-cat-items::-webkit-scrollbar-thumb { background: #d0d0d0; border-radius: 4px; }

/* ── Results Grid ────────────────────────────────────── */
.cl-archive-results {
	display:               grid;
	grid-template-columns: repeat(3, 1fr);
	gap:                   28px;
}

.cl-archive-results .cl-no-events {
	grid-column: 1 / -1;
}

@media (max-width: 1024px) {
	.cl-archive-results {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.cl-archive-filters {
		padding: 18px 16px;
	}

	.cl-filter-group--search,
	.cl-filter-group--dates,
	.cl-filter-group--category {
		flex: 1 1 100%;
	}

	.cl-archive-results {
		grid-template-columns: 1fr;
	}
}

/* ── Flatpickr Theme Tweaks ─────────────────────────── */
.flatpickr-calendar {
	font-family: var(--cl-font-body);
	font-size:   0.875rem;
	box-shadow:  var(--cl-shadow);
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
	background:   var(--cl-primary);
	border-color: var(--cl-primary);
}

.flatpickr-day.inRange {
	background:   rgba(0, 154, 166, 0.12);
	border-color: transparent;
	box-shadow:   -5px 0 0 rgba(0, 154, 166, 0.12), 5px 0 0 rgba(0, 154, 166, 0.12);
}

.flatpickr-day:hover {
	background:   rgba(0, 154, 166, 0.08);
	border-color: var(--cl-primary);
}

.flatpickr-months .flatpickr-month {
	background: var(--cl-primary);
	color:      #fff;
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year {
	color:       #fff;
	font-family: var(--cl-font-body);
}

.flatpickr-weekday {
	color:       var(--cl-primary);
	font-weight: 600;
}

span.flatpickr-prev-month svg,
span.flatpickr-next-month svg {
	fill: #fff;
}

span.flatpickr-prev-month:hover svg,
span.flatpickr-next-month:hover svg {
	fill: rgba(255, 255, 255, 0.7);
}
