/* Hill Country Events — intentionally minimal. Inherits theme typography.
   Override any of this in your theme stylesheet. */

.hc-events { margin: 2rem 0; }
.hc-events__heading { margin: 0 0 .5rem; }
.hc-events__intro { margin: 0 0 1.5rem; opacity: .9; }

.hc-events__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: .75rem;
}

.hc-event {
	display: grid;
	grid-template-columns: 5.5rem 1fr;
	gap: 1rem;
	padding: 1rem;
	border: 1px solid rgba(0,0,0,.10);
	border-radius: 10px;
	background: rgba(0,0,0,.015);
}

.hc-event--featured {
	border-color: rgba(180,120,30,.5);
	background: rgba(200,140,40,.06);
}

.hc-event__date {
	text-align: center;
	font-weight: 700;
	line-height: 1.15;
}
.hc-event__date-main { display: block; font-size: 1.05rem; }
.hc-event__time { display: block; font-size: .8rem; font-weight: 500; opacity: .7; margin-top: .15rem; }

.hc-event__body { min-width: 0; }
.hc-event__title { margin: 0 0 .25rem; font-size: 1.1rem; line-height: 1.25; }
.hc-event__title a { text-decoration: none; color: inherit; }
.hc-event__title a:hover { text-decoration: underline; }
.hc-event__star { color: #c8862a; margin-left: .35rem; }

.hc-event__more { margin: .4rem 0 0; }
.hc-event__more a {
	font-size: .9rem;
	font-weight: 600;
	color: #1b6b4c;
	text-decoration: none;
}
.hc-event__more a:hover { text-decoration: underline; }

.hc-event__meta {
	margin: 0 0 .35rem;
	font-size: .85rem;
	opacity: .8;
	display: flex;
	flex-wrap: wrap;
	gap: .25rem 1rem;
}
.hc-event__blurb { margin: 0; font-size: .95rem; }

.hc-events__empty { opacity: .7; font-style: italic; }

.hc-events__cta { margin-top: 1.75rem; }
.hc-events__cta-btn {
	display: inline-block;
	padding: .75rem 1.5rem;
	border-radius: 8px;
	background: #1b6b4c;
	color: #fff;
	text-decoration: none;
	font-weight: 600;
}
.hc-events__cta-btn:hover { background: #14543b; }

@media (max-width: 480px) {
	.hc-event { grid-template-columns: 4.25rem 1fr; gap: .75rem; padding: .85rem; }
}

/* ---- Calendar (month grid) ---- */
.hc-cal { margin: 2rem 0; }
.hc-cal__nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin-bottom: 1rem;
}
.hc-cal__title { margin: 0; font-size: 1.4rem; min-width: 9em; text-align: center; }
.hc-cal__navbtn {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .45rem .9rem;
	border-radius: 999px;
	border: 1px solid rgba(0,0,0,.2);
	background: #fff;
	color: inherit;
	text-decoration: none;
	font-size: .9rem;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	white-space: nowrap;
}
.hc-cal__navbtn:hover { background: #1b6b4c; color: #fff; border-color: #1b6b4c; }
.hc-cal__intro { margin: 0 0 1rem; opacity: .9; }

.hc-cal__grid {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}
.hc-cal__grid th {
	text-align: center;
	font-size: .75rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	padding: .4rem 0;
	opacity: .65;
	font-weight: 700;
}
.hc-cal__cell {
	border: 1px solid rgba(0,0,0,.08);
	vertical-align: top;
	height: 6.5rem;
	padding: .3rem;
	overflow: hidden;
}
.hc-cal__cell--empty { background: rgba(0,0,0,.015); border-color: rgba(0,0,0,.04); }
.hc-cal__cell--today { background: rgba(27,107,76,.07); border-color: rgba(27,107,76,.4); }
.hc-cal__daynum { font-size: .8rem; font-weight: 700; opacity: .7; margin-bottom: .2rem; }

.hc-cal__event {
	display: block;
	font-size: .72rem;
	line-height: 1.2;
	padding: .15rem .3rem;
	margin-bottom: .2rem;
	border-radius: 4px;
	background: rgba(0,0,0,.05);
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.hc-cal__event:hover { background: rgba(0,0,0,.1); }
.hc-cal__event.is-featured { background: rgba(200,140,40,.16); }
.hc-cal__event-time { font-weight: 700; opacity: .8; }

/* Agenda (mobile) — hidden on desktop */
.hc-cal__agenda { display: none; list-style: none; margin: 0; padding: 0; }
.hc-cal__agenda-item {
	display: flex;
	gap: .75rem;
	padding: .6rem .2rem;
	border-bottom: 1px solid rgba(0,0,0,.08);
}
.hc-cal__agenda-item.is-featured { background: rgba(200,140,40,.06); }
.hc-cal__agenda-date { flex: 0 0 5.5rem; font-weight: 700; font-size: .85rem; }
.hc-cal__agenda-title a { text-decoration: none; }
.hc-cal__agenda-title a:hover { text-decoration: underline; }
.hc-cal__agenda-empty { padding: 1rem .2rem; opacity: .7; font-style: italic; }

@media (max-width: 640px) {
	.hc-cal__grid { display: none; }
	.hc-cal__agenda { display: block; }
	.hc-cal__title { font-size: 1.2rem; }
}
