:root {
	--biogen-bg: #02172b;
	--biogen-accent: #f2682b;
	--biogen-accent-hover: #ff8855;
	--biogen-live: #e0251c;
	--biogen-fg: #ffffff;
	--biogen-muted: rgba(255, 255, 255, 0.75);
	--biogen-panel-bg: #ffffff;
	--biogen-panel-fg: #1a1a1a;
}

html, body {
	min-height: 100%;
}

/* Color utilities */
.biogen-color-white  { color: var(--biogen-fg); }
.biogen-color-accent { color: var(--biogen-accent); }
.biogen-bg-navy      { background-color: var(--biogen-bg); }
.biogen-bg-white     { background-color: var(--biogen-panel-bg); color: var(--biogen-panel-fg); }
.biogen-color-white a { color: var(--biogen-fg); }

/* Typography */
.biogen-font-15 { font-size: 15px; }
.biogen-font-18 { font-size: 18px; }
.biogen-font-25 { font-size: 25px; letter-spacing: 1px; }
.biogen-font-40 { font-size: 40px; line-height: 45px; }
.biogen-bold    { font-weight: 700; }

/* Section padding utilities used by biogen_get_template_part() */
.pt-biogen { padding-top: 3rem; }
.pb-biogen { padding-bottom: 3rem; }

.biogen-section {
	color: var(--biogen-fg);
}

/* Buttons */
.biogen-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 24px;
	border: 2px solid var(--biogen-fg);
	background: transparent;
	color: var(--biogen-fg);
	font-family: 'Montserrat', Arial, sans-serif;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.25px;
	text-decoration: none;
	border-radius: 0;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.biogen-btn:hover,
.biogen-btn:focus {
	background: var(--biogen-fg);
	color: var(--biogen-bg);
}

.biogen-btn-icon {
	width: 15px;
	height: 13px;
	display: inline-block;
}

/* LIVE pill */
.biogen-live-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	background: var(--biogen-live);
	color: var(--biogen-fg);
	height: 30px;
	min-width: 70px;
	padding: 0 12px;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.25px;
}

.biogen-live-dot {
	width: 12px;
	height: 12px;
	background: var(--biogen-fg);
	border-radius: 50%;
	display: inline-block;
}

/* Video / tabs frames */
.biogen-video-frame {
	background: #000;
	box-shadow: 12px 12px 12px rgba(0, 0, 0, 0.25);
	overflow: hidden;
	border-radius: 4px;
}

.biogen-video-frame iframe {
	display: block;
	width: 100%;
	border: 0;
}

.biogen-tabs-frame {
	background: var(--biogen-panel-bg);
	color: var(--biogen-panel-fg);
	border-radius: 4px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 414px;
}

.biogen-tabs-frame .tab-content,
.biogen-tabs-frame .tab-pane,
.biogen-tabs-frame .biogen-slido-wrap {
	width: 100%;
}

.biogen-tabs-frame .biogen-slido-wrap {
	display: flex;
	height: 100%;
	min-height: 360px;
}

.biogen-tabs-frame .biogen-slido-wrap iframe,
.biogen-tabs-frame iframe {
	display: block;
	flex: 1 1 100%;
	width: 100%;
	min-width: 100%;
	max-width: none;
	min-height: 360px;
	border: 0;
	box-sizing: border-box;
}

/* Headings */
h1 { font-size: 40px; line-height: 1.1; font-weight: 700; }
h2 { font-size: 30px; line-height: 1.2; font-weight: 700; }
h3 { font-size: 22px; line-height: 1.3; font-weight: 700; }

.biogen-img-fluid,
.biogen-section img.img-fluid {
	max-width: 100%;
	height: auto;
}
