/* DR Shows. Colors come from Settings > DR Shows through the --drs-* variables. */
.drs { --drs-accent: #d92b2b; --drs-btn-bg: #d92b2b; --drs-btn-fg: #fff; max-width: 1160px; margin: 0 auto; text-align: left; }
.drs a { text-decoration: none; }
.drs__empty { text-align: center; font-size: 17px; padding: 30px 0; }

.drs__month { display: flex; align-items: center; gap: 16px; margin: 34px 0 22px; font-size: 16px; }
.drs__month::after { content: ""; flex: 1; border-top: 1px solid #ddd; }
.drs__month:first-child { margin-top: 0; }

.drs__show { display: grid; grid-template-columns: 64px 1fr 350px; gap: 0 34px; align-items: start; margin-bottom: 40px; }
.drs__show.is-cancelled .drs__title a { text-decoration: line-through; }

.drs__tag { display: flex; flex-direction: column; align-items: center; line-height: 1; padding-top: 4px; }
.drs__dow { font-size: 13px; }
.drs__day { font-size: 28px; color: var(--drs-accent); margin: 2px 0; }
.drs__mon { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: #777; }

.drs__when { font-size: 17px; margin-bottom: 8px; }
.drs__doors { color: #777; font-size: 14px; margin-left: 6px; }
.drs__title { margin: 0 0 14px !important; font-family: Arial, Helvetica, sans-serif !important; font-size: 24px !important; line-height: 1.35 !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: uppercase; }
.drs__title a { color: var(--drs-accent) !important; }
.drs__badge { display: inline-block; vertical-align: middle; font-size: 11px; letter-spacing: .08em; padding: 3px 8px; border: 1px solid var(--drs-accent); color: var(--drs-accent); border-radius: 3px; margin-left: 6px; }
.drs__blurb { margin: -6px 0 12px; }
.drs__venue { font-size: 14px; line-height: 1.5; margin-bottom: 14px; }
.drs__venue strong { font-weight: 700; }
.drs__map { color: var(--drs-accent) !important; }

.drs__row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.drs__btn { display: inline-block; background: var(--drs-btn-bg); color: var(--drs-btn-fg) !important; font-weight: 700; letter-spacing: .06em; font-size: 14px; padding: 11px 22px; border-radius: 3px; transition: filter .15s; }
.drs__btn:hover { filter: brightness(1.12); }
.drs__btn.is-off { background: #999; cursor: default; }
.drs__price { font-weight: 700; font-size: 15px; }
.drs__cal { font-size: 12px; color: #777; width: 100%; }
.drs__cal a { color: #777 !important; text-decoration: underline; }

.drs__img img { width: 100%; height: auto; display: block; }

/* cards: a grid of tiles */
.drs--cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 26px; max-width: 1100px; }
.drs--cards .drs__show { display: flex; flex-direction: column-reverse; margin: 0; border: 1px solid #e5e5e5; }
.drs--cards .drs__tag { display: none; }
.drs--cards .drs__body { padding: 18px; }
.drs--cards .drs__title { font-size: 19px !important; }

/* compact: one line per show, no pictures */
.drs--compact .drs__show { grid-template-columns: 64px 1fr; margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid #eee; }
.drs--compact .drs__img { display: none; }
.drs--compact .drs__title { font-size: 18px !important; margin-bottom: 6px !important; }

@media (max-width: 760px) {
	.drs__show { grid-template-columns: 52px 1fr; gap: 0 16px; }
	.drs__img { grid-column: 1 / -1; grid-row: 1; margin-bottom: 14px; }
	.drs__title { font-size: 20px !important; }
}
