/* Announcement bar (cbco-promo.php): slim navy strip under the header, every page. Static, not sticky. */
.cbco-promo {
	position: relative;
	z-index: 40;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 16px;
	padding: 12px 16px;
	background: #01207f;
	color: #fff;
	text-align: center;
	font-size: 15px;
	line-height: 1.3;
	letter-spacing: .04em;
}
.cbco-promo a,
.cbco-promo a:hover { text-decoration: none; }
.cbco-promo__msg,
.cbco-promo__msg:hover { color: #fff !important; }
.cbco-promo__label {
	margin-right: 10px;
	font-family: Oswald, sans-serif; /* the site-wide heading face: Francois One only loads on some pages */
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #f2b04a;
}
.cbco-promo__msg:hover .cbco-promo__text,
.cbco-promo__msg:focus-visible .cbco-promo__text { text-decoration: underline; text-underline-offset: 3px; }
.cbco-promo__btn {
	display: inline-block;
	padding: 8px 16px;
	border-radius: 30px;
	background: #fff;
	color: #01207f !important;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .12em;
	text-transform: uppercase;
	white-space: nowrap;
	transition: background-color .15s, color .15s;
}
.cbco-promo__btn:hover,
.cbco-promo__btn:focus-visible { background: #f2b04a; color: #01207f !important; }

@media (max-width: 690px) {
	.cbco-promo { padding: 10px 12px; font-size: 13px; gap: 6px 12px; }
	.cbco-promo__more { display: none; }
	.cbco-promo__label { margin-right: 8px; }
}
@media print { .cbco-promo { display: none; } }

/* Ticket card: the same announcement as a navy block near the top of chosen pages. */
.cbco-promocard {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr) auto;
	align-items: center;
	margin: 40px 0;
	background: #01207f;
	color: #fff;
	text-align: left;
	overflow: hidden;
}
.cbco-promocard--noimg { grid-template-columns: minmax(0, 1fr) auto; }
.cbco-promocard__media { align-self: stretch; display: block; min-height: 200px; position: relative; }
.cbco-promocard .cbco-promocard__img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; margin: 0; object-fit: cover; }
.cbco-promocard__body { padding: 28px 8px 28px 36px; }
.cbco-promocard__when {
	margin: 0 0 8px; padding: 0;
	font-size: 13px; font-weight: 700; line-height: 1.3; letter-spacing: .16em; text-transform: uppercase;
	color: #f2b04a;
}
.cbco-promocard h2.cbco-promocard__title {
	margin: 0 0 10px;
	font-family: Oswald, sans-serif; font-weight: 600; font-size: 40px; line-height: 1.05; letter-spacing: .01em; text-transform: uppercase;
	color: #fff;
}
.cbco-promocard__blurb { margin: 0; padding: 0; max-width: 620px; font-size: 17px; line-height: 1.5; color: #fff; }
.cbco-promocard__cta { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 28px 40px 28px 24px; }
.cbco-promocard a, .cbco-promocard a:hover { text-decoration: none; }
.cbco-promocard__btn {
	display: inline-block; padding: 18px 32px; border-radius: 40px;
	background: #fff; color: #01207f !important;
	font-size: 14px; font-weight: 700; line-height: 1; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap;
	transition: background-color .15s;
}
.cbco-promocard__btn:hover, .cbco-promocard__btn:focus-visible { background: #f2b04a; }
.cbco-promocard__more {
	color: #fff !important; font-size: 12px; font-weight: 700; line-height: 1; letter-spacing: .14em; text-transform: uppercase;
	padding-bottom: 4px; border-bottom: 2px solid #f2b04a;
}
/* Event colour set: the card stops being a twin of the navy bar. White eyebrow, navy button. */
.cbco-promocard--color { background: var(--cbco-promocard-bg, #01207f); }
.cbco-promocard--color .cbco-promocard__when { color: #fff; }
.cbco-promocard--color .cbco-promocard__btn { background: #01207f; color: #fff !important; }
.cbco-promocard--color .cbco-promocard__btn:hover, .cbco-promocard--color .cbco-promocard__btn:focus-visible { background: #000; }
.cbco-promocard--color .cbco-promocard__more { border-bottom-color: #fff; }
@media (max-width: 999px) {
	.cbco-promocard { grid-template-columns: 180px minmax(0, 1fr); }
	.cbco-promocard--noimg { grid-template-columns: minmax(0, 1fr); }
	.cbco-promocard__media { grid-row: span 2; }
	.cbco-promocard__body { padding: 24px 24px 8px; }
	.cbco-promocard__cta { flex-direction: row; justify-content: flex-start; padding: 12px 24px 24px; }
	.cbco-promocard h2.cbco-promocard__title { font-size: 32px; }
}
@media (max-width: 690px) {
	.cbco-promocard { grid-template-columns: minmax(0, 1fr); margin: 24px 0 28px; }
	.cbco-promocard__media { grid-row: auto; min-height: 0; aspect-ratio: 5 / 2; }
	.cbco-promocard .cbco-promocard__img { object-position: center 62%; }
	.cbco-promocard__body { padding: 20px 20px 4px; }
	.cbco-promocard__cta { padding: 12px 20px 22px; gap: 20px; }
	.cbco-promocard h2.cbco-promocard__title { font-size: 30px; }
	.cbco-promocard__blurb { font-size: 16px; }
	.cbco-promocard__btn { padding: 16px 26px; }
}
@media print { .cbco-promocard, .cbco-promocard-wrap { display: none; } }
