/*
 * Broadsheet Tools — shortcode styles.
 * Self-contained so they work on any theme. When paired with the Broadsheet
 * theme, the theme's CSS variables override these.
 */

:root {
	--bs-paper:     #f3eedf;
	--bs-paper-edge:#ebe4d1;
	--bs-ink:       #111111;
	--bs-ink-soft:  #2a2a26;
	--bs-ink-mute:  #6b685e;
	--bs-rule:      #15130e;
	--bs-f-display: 'Playfair Display', 'Times New Roman', Georgia, serif;
	--bs-f-body:    'PT Serif', 'Times New Roman', Georgia, serif;
	--bs-f-caption: 'PT Serif Caption', 'PT Serif', Georgia, serif;
	--bs-f-agate:   'Roboto Condensed', 'Arial Narrow', 'Helvetica Neue', sans-serif;
}

/* Pull quote */
.bs-pullquote {
	margin: 1.6em 0;
	padding: 22px 0;
	border-top: 2px solid var(--bs-rule);
	border-bottom: 2px solid var(--bs-rule);
	text-align: center;
	font-family: var(--bs-f-display);
	font-style: italic;
	font-weight: 500;
	font-size: 28px;
	line-height: 1.22;
	color: var(--bs-ink);
}
.bs-pullquote p { margin: 0 0 0.4em; }
.bs-pullquote cite {
	display: block;
	margin-top: 10px;
	font-family: var(--bs-f-caption);
	font-style: normal;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-size: 12px;
	color: var(--bs-ink-mute);
}

/* Drop cap */
.bs-dropcap {
	font-family: var(--bs-f-display);
	font-weight: 900;
	font-size: 5.4em;
	line-height: 0.84;
	float: left;
	padding: 8px 12px 0 0;
	margin-top: 6px;
	color: var(--bs-ink);
}

/* Dateline */
.bs-dateline-wrap { text-indent: 0 !important; }
.bs-dateline {
	font-family: var(--bs-f-caption);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-weight: 700;
	font-size: 0.86em;
}
.bs-dateline::after { content: " — "; font-weight: 400; }

/* Endmark */
.bs-endmark {
	text-align: center;
	margin: 28px 0 0;
	font-family: var(--bs-f-caption);
	font-weight: 700;
	letter-spacing: 0.4em;
	font-size: 14px;
	color: var(--bs-ink);
}

/* Agate block */
.bs-agate {
	font-family: var(--bs-f-agate);
	font-size: 12.5px;
	line-height: 1.45;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 14px 16px;
	background: var(--bs-paper-edge);
	border-top: 2px solid var(--bs-rule);
	border-bottom: 2px solid var(--bs-rule);
	margin: 1.4em 0;
}
.bs-agate__head {
	font-family: var(--bs-f-caption);
	text-transform: uppercase;
	letter-spacing: 0.4em;
	font-size: 11px;
	text-align: center;
	padding-bottom: 8px;
	margin-bottom: 10px;
	border-bottom: 1px solid var(--bs-ink);
}
.bs-agate table { width: 100%; border-collapse: collapse; }
.bs-agate th, .bs-agate td {
	padding: 3px 6px;
	text-align: right;
	border-bottom: 1px dotted var(--bs-ink-mute);
}
.bs-agate th:first-child, .bs-agate td:first-child { text-align: left; }
.bs-agate th { font-weight: 700; border-bottom: 1px solid var(--bs-ink); }

/* Box score */
.bs-boxscore { max-width: 360px; margin-left: auto; margin-right: auto; }
.bs-boxscore__table { width: 100%; font-family: var(--bs-f-agate); font-size: 16px; }
.bs-boxscore__table td {
	padding: 8px 10px;
	border-bottom: 1px solid var(--bs-ink);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
.bs-boxscore__table td:last-child {
	text-align: right;
	font-family: var(--bs-f-display);
	font-weight: 800;
	font-size: 22px;
	letter-spacing: 0;
}
.bs-boxscore__table tr.is-winner td { font-weight: 700; }
.bs-boxscore__note {
	margin-top: 8px;
	text-align: center;
	font-family: var(--bs-f-caption);
	font-style: italic;
	font-size: 11.5px;
	color: var(--bs-ink-mute);
	letter-spacing: 0.04em;
	text-transform: none;
}

/* Film (video) frame */
.bs-film {
	margin: 1.8em 0;
	padding: 24px 0 0;
	border-top: 2px solid var(--bs-rule);
	position: relative;
}
.bs-film::before {
	content: "Film —";
	position: absolute;
	top: -10px;
	left: 0;
	background: var(--bs-paper);
	padding-right: 12px;
	font-family: var(--bs-f-caption);
	text-transform: uppercase;
	letter-spacing: 0.22em;
	font-size: 11px;
	color: var(--bs-ink);
}
.bs-film__embed { position: relative; }
.bs-film__embed iframe,
.bs-film__embed video {
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
	display: block;
}
.bs-film figcaption {
	margin-top: 10px;
	padding-top: 6px;
	border-top: 1px solid var(--bs-ink-mute);
	font-family: var(--bs-f-caption);
	font-style: italic;
	font-size: 13.5px;
	color: var(--bs-ink-soft);
	text-align: left;
}
.bs-film figcaption .credit {
	font-style: normal;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-size: 11px;
	color: var(--bs-ink-mute);
	margin-left: 8px;
}

/* Sidebar pull-out */
.bs-sidebar {
	float: right;
	width: 280px;
	margin: 0 0 18px 24px;
	padding: 16px 18px;
	background: var(--bs-paper-edge);
	border: 1px solid var(--bs-rule);
	font-family: var(--bs-f-body);
	font-size: 15px;
	line-height: 1.5;
}
.bs-sidebar__head {
	font-family: var(--bs-f-caption);
	text-transform: uppercase;
	letter-spacing: 0.22em;
	font-size: 11px;
	padding-bottom: 6px;
	margin-bottom: 10px;
	border-bottom: 1px solid var(--bs-ink);
	text-align: center;
}
.bs-sidebar__body p { margin: 0 0 0.8em; text-align: left; text-indent: 0; }

@media (max-width: 620px) {
	.bs-sidebar { float: none; width: auto; margin: 1.2em 0; }
	.bs-pullquote { font-size: 22px; padding: 16px 0; }
	.bs-dropcap { font-size: 4.4em; }
}
