.bar-cal { margin: 1rem auto; max-width: 1080px; }
.bar-cal__filters { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-bottom: 1rem; }
.bar-cal__social { margin-left: auto; display: flex; flex-wrap: wrap; gap: .4rem; }
.bar-cal__social-btn { display: inline-block; background: #0033b5; border: 1px solid #0033b5; border-radius: 6px; padding: .45rem 1rem; text-decoration: none; color: #fff; font-size: .9rem; font-weight: 700; line-height: 1.2; box-shadow: 0 1px 3px rgba(0, 30, 90, .35); }
.bar-cal__social-btn:hover, .bar-cal__social-btn:focus { background: #0a5cff; border-color: #0a5cff; color: #fff; text-decoration: none; }
/* Weekly / Monthly view toggle — orange buttons between the discipline chips and the social buttons. */
.bar-cal__views { display: flex; gap: .4rem; margin-left: .6rem; }
.bar-cal__view-btn { display: inline-block; background: #fff; border: 2px solid #f26b1d; border-radius: 6px; padding: .4rem 1rem; text-decoration: none; color: #f26b1d; font-size: .9rem; font-weight: 700; line-height: 1.2; }
.bar-cal__view-btn.is-active { background: #f26b1d; color: #fff; box-shadow: 0 1px 3px rgba(120, 50, 0, .35); }
.bar-cal__view-btn:hover, .bar-cal__view-btn:focus { background: #ff8a3d; border-color: #ff8a3d; color: #fff; text-decoration: none; }
.bar-cal__chip { border: 1px solid #0033b5; border-radius: 999px; padding: .25rem .8rem; text-decoration: none; color: #0033b5; font-size: .9rem; }
.bar-cal__chip.is-active { background: #0033b5; color: #fff; }
.bar-cal__monthnav { display: flex; align-items: center; gap: 1rem; justify-content: space-between; }
.bar-cal__monthtitle { margin: .5rem 0; }
.bar-cal__navlink { text-decoration: none; font-weight: 600; }
.bar-cal__grid { width: 100%; border-collapse: collapse; table-layout: fixed; }
.bar-cal__grid th { background: #e6e6e6; padding: .4rem; font-size: .85rem; }
.bar-cal__cell { border: 1px solid #d8d8d8; vertical-align: top; height: 92px; padding: .3rem; font-size: .8rem; }
.bar-cal__cell.is-other { opacity: .38; }
/* Week view: a single row, so give each day room and let titles wrap. */
.bar-cal--week .bar-cal__cell { height: auto; min-height: 150px; font-size: .85rem; }
.bar-cal--week .bar-cal__pill { white-space: normal; }
.bar-cal__cell.is-today { outline: 2px solid #0033b5; outline-offset: -2px; }
.bar-cal__daynum { font-weight: 700; display: block; margin-bottom: .2rem; }
.bar-cal__pill { display: block; background: #eaf0ff; border-radius: 4px; padding: .1rem .3rem; margin-bottom: .2rem; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bar-cal__pill--tmbra { background: #e8f6e8; }
/* Team-official events (created by a BAR admin / from the Facebook group): bright blue, bold white. */
.bar-cal__pill.bar-cal__pill--official { background: #0a5cff; color: #fff; font-weight: 700; }
.bar-cal__event--official .bar-cal__badge { background: #0a5cff; border-radius: 6px; border-right: 0; padding: .4rem .2rem; }
.bar-cal__event--official .bar-cal__badge-month,
.bar-cal__event--official .bar-cal__badge-day,
.bar-cal__event--official .bar-cal__badge-dow { color: #fff; font-weight: 700; }
.bar-cal__pill--agent, .bar-cal__pill--manual { background: #fff3d6; }
.bar-cal__upcoming { margin-top: 2rem; }
.bar-cal__event { display: flex; gap: 1rem; border: 1px solid #d8d8d8; border-radius: 8px; padding: 1rem; margin-bottom: .8rem; background: #fff; }
.bar-cal__badge { text-align: center; min-width: 64px; border-right: 1px solid #eee; padding-right: 1rem; }
.bar-cal__badge-month, .bar-cal__badge-dow { display: block; text-transform: uppercase; font-size: .75rem; color: #555; }
.bar-cal__badge-day { display: block; font-size: 1.8rem; font-weight: 700; line-height: 1.1; }
.bar-cal__event-title { margin: 0 0 .3rem; }
.bar-cal__event-meta { margin: 0 0 .4rem; color: #444; }
.bar-cal__tag { background: #0033b5; color: #fff; border-radius: 999px; padding: .05rem .6rem; font-size: .75rem; margin-right: .3rem; }
.bar-cal__source { color: #777; font-size: .8rem; }
.bar-cal__event-desc { color: #333; }
.bar-cal__empty { border: 1px dashed #bbb; padding: 1rem; border-radius: 8px; }
@media (max-width: 700px) {
	.bar-cal__cell { height: 62px; font-size: .68rem; }
	.bar-cal__pill { white-space: normal; }
	.bar-cal__event { flex-direction: column; }
	.bar-cal__badge { border-right: 0; text-align: left; }
}
