/* Listings: radio shows, member events, Metal Miners and trustees (sections, cards and single pages). */

/* ---------- Listing sections ---------- */

.listing { display: flex; flex-direction: column; position: relative; padding: 0 10px; margin: 50px 0; }
.listing__inner {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
	max-width: min(100%, 1200px);
	margin: 0 auto;
	padding: 10px 0;
}
.listing__column { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 20px; padding: 10px; min-width: 0; }
.listing__results { width: 100%; }
.listing__intro { display: flex; flex-direction: column; gap: 20px; padding: 10px; min-width: 0; }
.listing__title { margin: 0; padding: 0; font-family: "Prata", Sans-serif; font-size: 38px; font-weight: 600; line-height: 1; color: #1F1E1C; }
.listing__text .text__inner { margin-bottom: -15px; }

.listing--miners { margin: 0 0 50px; }

/* Card grids. Cards keep their own height; the row takes the tallest. */
.listing__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; align-items: start; width: 100%; }
.listing__grid--radio { row-gap: 50px; }
.listing__grid--events,
.listing__grid--more-events { grid-template-columns: repeat(3, 1fr); }
@media (min-width: 1025px) {
	/* Trustees: four tracks with every card spanning two, and a lone fifth card (or second, eighth...) centred. */
	.listing__grid--trustees { grid-template-columns: repeat(4, 1fr); }
	.listing__grid--trustees > * { grid-column: span 2; }
	.listing__grid--trustees > :last-child:nth-child(3n + 2) { grid-column-end: 4; }
}
@media (max-width: 1024px) {
	.listing__grid--radio { grid-template-columns: repeat(1, 1fr); }
	.listing__grid--events,
	.listing__grid--more-events { grid-template-columns: repeat(2, 1fr); }
}

/* Phones: one column, tighter spacing. */
@media (max-width: 767px) {
	.listing { margin: 0; }
	.listing--events { margin: 0 0 40px; }
	.listing--miners { margin: 0 0 50px; }
	.listing--phone-spacing-standard { margin: 40px 0; }
	.listing__column { padding: 0; }
	.listing__grid { grid-template-columns: repeat(1, 1fr); row-gap: 40px; }
	.listing__grid--trustees,
	.listing__grid--more-events { row-gap: 20px; }
	.listing__title { font-size: 30px; line-height: 45px; }
}

/* Nothing to show (a page past the last one): an empty band, as before. */
.listing__empty { width: 100%; padding: 30px 0; }

/* Numbered pages under the member events. */
.listing-pagination { margin-top: 22px; text-align: center; font-family: "Inter Tight", Sans-serif; font-size: 16px; font-weight: 400; }
.listing-pagination .page-numbers:not(.dots) { color: #BDBDBD; }
.listing-pagination .page-numbers.current { color: #76232F; }
.listing-pagination .page-numbers:not(:first-child) { margin-left: 5px; }
.listing-pagination .page-numbers:not(:last-child) { margin-right: 5px; }

/* Full-width card buttons */
.btn--block { width: 100%; }

/* ---------- Radio show card ---------- */

.radio-card *, .event-card *, .miner-card *, .trustee-card * { word-break: break-word; }
.radio-card__main { display: flex; flex-direction: row; }
.radio-card__photo { min-width: 0; min-height: 268px; text-align: center; }
.radio-card__photo img { display: inline-block; vertical-align: middle; height: 290px; object-fit: cover; object-position: center center; }
.radio-card__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 20px;
	min-width: 0;
	width: 100%;
	padding: 30px;
	border-left: 3px solid #76232F;
	background-color: #F5F5F5;
}
.radio-card__main--text-only { display: block; padding: 30px; background-color: #F5F5F5; }
.radio-card__main--text-only .radio-card__body { justify-content: flex-start; padding: 10px; border: 0; background: none; }
.radio-card__title { margin: 0; padding: 0; font-family: "Prata", Sans-serif; font-size: 22px; font-weight: 600; line-height: 1; color: #76232F; }
.radio-card__date { margin: 0; overflow: hidden; font-family: "Prata", Sans-serif; font-size: 14px; font-weight: 600; line-height: 1.5; color: #26292D; }
.radio-card__date span,
.entry-details__place span { display: inline-block; vertical-align: top; }
.radio-card__player { padding: 10px; border-bottom: 3px solid #76232F; background-color: #222222; }
@media (min-width: 768px) {
	.radio-card__photo { width: 33.3333%; }
	.radio-card__main .radio-card__body { width: 66.6666%; }
	.radio-card__main--text-only .radio-card__body { width: 100%; }
}
@media (max-width: 767px) {
	.radio-card__main { flex-wrap: wrap; }
	.radio-card__photo { width: 100%; }
}

/* ---------- Member event card ---------- */

.event-card {
	display: flex;
	flex-direction: column;
	border: 1px solid #C4C4C4;
	border-bottom-width: 0;
	box-shadow: 0 0 6px 3px rgba(0, 0, 0, .13);
}
.event-card__date { display: flex; flex-direction: column; align-items: center; padding: 14px; background-color: #DADADA; }
.event-card__date-text { max-width: 100%; margin-bottom: -4px; text-align: center; font-size: 15px; font-weight: 600; line-height: 11px; }
.event-card__body { display: flex; flex-direction: column; gap: 20px; padding: 50px 30px; background-color: #FFFFFF; }
.event-card__place { display: flex; align-items: center; margin: 0; font-family: "Inter Tight", Sans-serif; font-weight: 400; }
.event-card__pin { display: flex; position: relative; }
.event-card__pin i { width: 1.25em; font-size: 14px; color: #76232F; }
.event-card__place-text { align-self: center; padding-inline-start: 5px; color: #54595F; }
.event-card__title { margin: 0; padding: 0; font-family: "Prata", Sans-serif; font-size: 21px; font-weight: 600; line-height: 1; color: #313131; }
.event-card__text { margin-bottom: -4px; }

/* ---------- Metal Miner card ---------- */

.miner-card {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	box-shadow: 0 0 6px 3px rgba(0, 0, 0, .13);
	background-color: #FFFFFF;
}
.miner-card__photo { min-height: 400px; background-position: center center; background-size: cover; }
.miner-card__caption { display: flex; flex-direction: column; align-items: center; width: 100%; padding: 10px 7px; background-color: #76232F; }
.miner-card__title { max-width: 100%; margin: 0; padding: 0; font-family: "Inter", Sans-serif; font-size: 14px; font-weight: 600; line-height: 15px; color: #FFFFFF; }
@media (max-width: 767px) {
	.miner-card__title { text-align: center; }
}

/* ---------- Trustee card ---------- */

.trustee-card {
	display: flex;
	flex-direction: row;
	width: 100%;
	border: 1px solid #C4C4C4;
	box-shadow: 0 0 6px 3px rgba(0, 0, 0, .13);
	background-color: #FFFFFF;
}
.trustee-card__photo,
.trustee-card__body { display: flex; flex-direction: column; flex: 0 1 auto; min-width: 0; width: 100%; }
.trustee-card__photo { min-height: 275px; padding: 21px; background-position: center center; background-size: cover; }
.trustee-card__body { justify-content: center; gap: 20px; padding: 50px 30px; }
.trustee-card__name { margin: 0; padding: 0; font-family: "Prata", Sans-serif; font-size: 20px; font-weight: 600; line-height: 1; color: #313131; }
.trustee-card__text { margin-bottom: -4px; }
@media (min-width: 768px) {
	.trustee-card__photo { width: 75%; }
}
@media (max-width: 767px) {
	.trustee-card { flex-wrap: wrap; }
}

/* ---------- Single pages: dark header ---------- */

.entry-hero { display: flex; flex-direction: column; padding: 10px; }
.entry-hero--trustee { flex-direction: row; }
.entry-hero__media { display: flex; flex-direction: column; justify-content: center; gap: 20px; min-width: 0; width: 100%; min-height: 40vh; padding: 10px; }
.entry-hero--trustee .entry-hero__media { min-height: 36vh; }
.entry-hero__layer { background-color: #1F1E1C; }
.entry-hero__box { display: flex; flex-direction: column; position: relative; min-width: 0; padding: 0 10px; }
.entry-hero__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	width: 100%;
	max-width: min(100%, 1140px);
	margin: 0 auto;
	padding: 10px 0;
}
.entry-hero--trustee .entry-hero__inner { flex-direction: row; }
.entry-hero__content { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; flex: 0 1 auto; min-width: 0; width: 100%; }
.entry-hero__photo { display: flex; flex-direction: row; justify-content: center; align-items: center; flex: 0 1 auto; min-width: 0; width: 100%; }
.entry-hero__figure { max-width: 100%; text-align: right; }
.entry-hero__figure img { display: inline-block; vertical-align: middle; width: 100%; max-width: 375px; }
.entry-hero__label {
	margin: 0;
	text-align: left;
	max-width: 100%;
	overflow: hidden;
	font-family: "Inter Tight", Sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 3.4px;
	text-transform: uppercase;
	color: #FFFFFF;
}
.entry-hero__title {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	text-align: left;
	font-family: "Prata", Sans-serif;
	font-size: 62px;
	font-weight: 400;
	line-height: 73px;
	letter-spacing: 0;
	color: #FFFFFF;
}
.entry-hero__text { max-width: 100%; color: #FFFFFF; }
.entry-hero--event .entry-hero__text { width: 548px; }
.entry-hero__text a { color: #FFFFFF; }
.entry-hero__buttons { display: flex; flex-direction: row; justify-content: flex-start; align-items: center; gap: 20px; width: 100%; }
.entry-hero__rule { min-width: 0; padding-top: 3px; }
.entry-hero__rule-layer { background-color: #76232F; }
.btn--hover-bright:hover,
.btn--hover-bright:focus { background-color: #91051A; color: #FFFFFF; }
.entry-hero--event .btn--arrow:hover,
.entry-hero--event .btn--arrow:focus { color: #313131; }
.entry-hero--trustee .btn--arrow:hover,
.entry-hero--trustee .btn--arrow:focus { color: #76232F; }
@media (min-width: 768px) {
	.entry-hero__content { width: 950px; }
	.entry-hero__photo { width: 620px; }
}
@media (max-width: 767px) {
	.entry-hero__media,
	.entry-hero--trustee .entry-hero__media { min-height: 60vh; }
	.entry-hero--trustee .entry-hero__media { padding: 20px; }
	.entry-hero--trustee .entry-hero__inner { flex-wrap: wrap; }
	.entry-hero--event .entry-hero__label { font-size: 11px; }
	.entry-hero__title { font-size: 30px; line-height: 42px; }
	.entry-hero--trustee .entry-hero__title { line-height: 30px; }
	.entry-hero__figure img { max-width: 100%; }
	.entry-hero__buttons { flex-wrap: wrap; }
}

/* ---------- Single pages: details ---------- */

.entry-details { display: flex; flex-direction: column; padding: 0 10px; margin: 20px 0 100px; }
.entry-details__inner { display: flex; flex-direction: column; gap: 20px; width: 100%; max-width: min(100%, 1140px); margin: 0 auto; padding: 10px 0; }
.entry-details__body { display: flex; flex-direction: column; gap: 20px; padding: 30px; min-width: 0; }
.entry-details__place { margin: 0; overflow: hidden; text-align: left; font-family: "Inter Tight", Sans-serif; font-size: 23px; font-weight: 400; line-height: 1.5; color: #313131; }
@media (max-width: 767px) {
	.entry-details { margin: 0; }
	.entry-details--story { margin: 0 0 50px; }
	.entry-details__body { padding: 0; }
}

/* ---------- Member event page: other events ---------- */

.more-events {
	display: flex;
	flex-direction: column;
	margin: 100px 0 0;
	padding: 60px 0;
	border-top: 3px solid #76232F;
	background-color: #F5F5F5;
}
.more-events__inner { display: flex; flex-direction: row; gap: 0 20px; width: 100%; max-width: min(100%, 1200px); margin: 0 auto; }
.more-events__column { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 20px; width: 100%; min-width: 0; padding: 10px; }
.more-events__intro { display: flex; flex-direction: column; gap: 15px; width: 100%; margin-bottom: 20px; }
.more-events__title { margin: 0; padding: 0; font-family: "Prata", Sans-serif; font-size: 38px; font-weight: 600; line-height: 1; color: #1F1E1C; }
.more-events__text .text__inner { margin-bottom: -15px; }
@media (max-width: 767px) {
	.more-events { margin-top: 40px; }
	.more-events__column { align-items: center; }
	.more-events__title { font-size: 30px; }
	.more-events__link { margin-top: 20px; }
}
