/*
 * Events board. Loads only with [svr_events] - same lesson as localbird.css:
 * a stylesheet enqueued by one shortcode never rides along on other pages.
 */

.svr-ev { max-width: 980px; margin: 0 auto; }

/* controls */
.svr-ev__bar { display: flex; gap: .75rem; flex-wrap: wrap; margin-bottom: .9rem; }
.svr-ev__search {
	flex: 1 1 260px;
	padding: .65rem .9rem;
	border: 1px solid var( --color-sand-dark, #d8cfc0 );
	border-radius: 8px;
	font-size: 1rem;
	background: #fff;
}
.svr-ev__search:focus, .svr-ev__sort:focus, .svr-ev__chip:focus-visible,
.svr-ev__subform input:focus, .svr-ev__subform button:focus-visible {
	outline: 2px solid var( --color-teal, #1a7574 );
	outline-offset: 2px;
}
.svr-ev__sort {
	padding: .65rem .9rem;
	border: 1px solid var( --color-sand-dark, #d8cfc0 );
	border-radius: 8px;
	font-size: .95rem;
	background: #fff;
}

.svr-ev__chips { display: flex; gap: .45rem; flex-wrap: wrap; margin-bottom: 1.6rem; }
.svr-ev__chip {
	border: 1px solid var( --color-sand-dark, #d8cfc0 );
	background: #fff;
	color: var( --color-ink, #2b2b2b );
	border-radius: 999px;
	padding: .38rem .95rem;
	font-size: .87rem;
	cursor: pointer;
	transition: background .15s, color .15s;
}
.svr-ev__chip.is-on {
	background: var( --color-teal, #1a7574 );
	border-color: var( --color-teal, #1a7574 );
	color: #fff;
}

/* sections */
.svr-ev__section { margin-top: 2.4rem; }
.svr-ev__section-title {
	font-size: 1.55rem;
	margin: 0 0 .3rem;
}
.svr-ev__section-sub {
	margin: 0 0 1.2rem;
	color: #6b6459;
	font-size: .95rem;
	max-width: 62ch;
}
.svr-ev__section[data-section="draws"] .svr-ev__section-title {
	color: var( --color-terracotta, #a2542f );
}

/* month headers */
.svr-ev__month {
	font-size: 1.25rem;
	margin: 2.1rem 0 .9rem;
	padding-bottom: .4rem;
	border-bottom: 2px solid var( --color-teal, #1a7574 );
}

/* cards */
.svr-ev__list { display: grid; gap: .9rem; }
.svr-ev__card {
	display: grid;
	grid-template-columns: 86px 1fr;
	gap: 1.1rem;
	background: #fff;
	border: 1px solid var( --color-sand-dark, #e2dacc );
	border-radius: 10px;
	padding: 1.05rem 1.15rem;
	box-shadow: 0 1px 2px rgba( 0, 0, 0, .04 );
}
/* Major events: the badge carries the label; the card itself just warms up
   a touch rather than shouting. */
.svr-ev__card.is-big {
	border-color: #dcb9a2;
	background: #fffdfb;
}

.svr-ev__when {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	padding-top: .15rem;
	color: var( --color-teal-dark, #125a59 );
}
.svr-ev__day { font-size: 1.9rem; font-weight: 700; line-height: 1; }
.svr-ev__mon { font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; margin-top: .15rem; }
.svr-ev__thru { font-size: .72rem; color: #6b6459; margin-top: .35rem; text-align: center; }

.svr-ev__tags { display: flex; gap: .4rem; flex-wrap: wrap; margin-bottom: .35rem; }
.svr-ev__tag {
	font-size: .68rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .07em;
	padding: .18rem .55rem;
	border-radius: 4px;
	background: var( --color-sand, #f2ede3 );
	color: var( --color-ink, #4a443a );
}
.svr-ev__tag--holiday  { background: #e7efe9; color: #2f6b4f; }
.svr-ev__tag--festival { background: #f6e7df; color: #a2542f; }
.svr-ev__tag--concert  { background: #e3edf4; color: #2c5d7c; }
.svr-ev__tag--big      { background: var( --color-terracotta, #a2542f ); color: #fff; }

.svr-ev__title { margin: 0 0 .2rem; font-size: 1.12rem; line-height: 1.3; }
.svr-ev__where { margin: 0 0 .4rem; font-size: .87rem; color: #6b6459; }
.svr-ev__sum { margin: 0 0 .6rem; font-size: .9rem; line-height: 1.5; color: #4a443a; }

.svr-ev__acts { display: flex; gap: 1.2rem; flex-wrap: wrap; align-items: center; }
.svr-ev__link, .svr-ev__book { font-size: .88rem; font-weight: 600; text-decoration: none; }
.svr-ev__link { color: var( --color-teal-dark, #125a59 ); }
.svr-ev__link:hover, .svr-ev__book:hover { text-decoration: underline; }
.svr-ev__book { color: var( --color-terracotta, #a2542f ); }

.svr-ev__empty, .svr-ev__none { color: #6b6459; padding: 1.5rem 0; }

/* signup */
.svr-ev__sub {
	margin-top: 3rem;
	background: var( --color-teal, #1a7574 );
	color: #fff;
	border-radius: 12px;
	padding: 1.8rem 1.9rem;
}
.svr-ev__sub h3 { margin: 0 0 .4rem; color: #fff; font-size: 1.25rem; }
.svr-ev__sub p { margin: 0 0 1rem; color: #dcebea; font-size: .95rem; max-width: 56ch; }
.svr-ev__subform { display: flex; gap: .6rem; flex-wrap: wrap; position: relative; }
.svr-ev__subform input[type="email"] {
	flex: 1 1 220px;
	max-width: 320px;
	padding: .65rem .9rem;
	border: none;
	border-radius: 8px;
	font-size: .95rem;
}
.svr-ev__subform button {
	background: var( --color-terracotta, #a2542f );
	color: #fff;
	border: none;
	border-radius: 8px;
	padding: .65rem 1.2rem;
	font-size: .95rem;
	font-weight: 600;
	cursor: pointer;
}
.svr-ev__subform button:hover { background: var( --color-terracotta-dark, #824123 ); }
.svr-ev__submsg { align-self: center; font-size: .9rem; }

@media ( max-width: 560px ) {
	.svr-ev__card { grid-template-columns: 64px 1fr; gap: .8rem; padding: .9rem .95rem; }
	.svr-ev__day { font-size: 1.5rem; }
}
