/* BBG Ortho – recreated from the original bbgortho.com stylesheet */
:root {
	--bbg-navy: #000066;
	--bbg-bg: #f7f9fa;
	--bbg-text: #333333;
	--bbg-toggle: #444444;
	--bbg-font: "Lucida Sans", "Lucida Grande", "Lucida Sans Unicode", Verdana, sans-serif;
}

body.bbg-site {
	background: var(--bbg-bg);
	color: var(--bbg-text);
	font-family: var(--bbg-font);
}
.bbg-site h1, .bbg-site h2, .bbg-site h3, .bbg-site h4 { font-family: var(--bbg-font); color: var(--bbg-text); }

/* Hide Astra's own header, footer and page titles – replaced by the BBG ones */
.bbg-site #masthead,
.bbg-site .site-header,
.bbg-site #colophon,
.bbg-site .site-footer,
.bbg-site .entry-header { display: none !important; }

/* Astra content area: transparent, centred */
.bbg-site .site-content,
.bbg-site #primary,
.bbg-site .ast-separate-container .ast-article-single,
.bbg-site .ast-separate-container .ast-article-post { background: transparent; }
.bbg-site #primary { margin: 0 !important; padding: 0 !important; }
.bbg-site .site-content > .ast-container { max-width: 1100px; margin: 0 auto; padding: 0 16px; }
.bbg-site .ast-separate-container .ast-article-single { padding: 0 !important; }
.bbg-site .entry-content > * { margin-left: auto; margin-right: auto; }

/* ---------- Header ---------- */
.bbg-header {
	background: var(--bbg-bg);
	text-align: center;
	padding: 1em 16px 0.5em;
}
.bbg-banner { display: block; width: fit-content; max-width: 100%; margin: 0 auto; }
.bbg-banner img { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.bbg-splash .bbg-banner img { width: 1199px; }
.bbg-lang-en .bbg-banner img,
.bbg-lang-fr .bbg-banner img { width: 342px; }

/* Pill navigation */
.bbg-nav {
	display: inline-flex;
	align-items: stretch;
	background: var(--bbg-navy);
	border-radius: 999px;
	padding: 0 18px;
	margin: 1em auto 0.5em;
	overflow: hidden;
	max-width: 100%;
}
.bbg-nav .bbg-menu { display: flex; flex-wrap: wrap; justify-content: center; list-style: none; margin: 0; padding: 0; }
.bbg-nav .bbg-menu li { margin: 0; }
.bbg-nav a {
	display: block;
	color: #fff !important;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 14px;
	letter-spacing: 0.03em;
	padding: 10px 22px;
	line-height: 1.2;
}
.bbg-nav a:hover,
.bbg-nav a:focus-visible,
.bbg-nav .current-menu-item > a { background: rgba(255, 255, 255, 0.15); }
.bbg-nav .bbg-lang-toggle { background: var(--bbg-toggle); padding: 10px 14px; }
.bbg-nav--lang { padding: 0 24px; }
.bbg-nav--lang a { padding: 8px 26px; }

/* ---------- Content boxes ---------- */
.bbg-box {
	background: #fff;
	border-radius: 8px;
	box-shadow: 1px 2px 8px rgba(0, 0, 0, 0.08);
	padding: 2em;
	margin: 1em auto;
	text-align: center;
}
.bbg-site .entry-content > .bbg-box--narrow { max-width: 600px !important; }
.bbg-site .entry-content > .bbg-box--home { max-width: 720px !important; padding: 1em; }

/* Locations */
.bbg-locations { gap: 1.5em !important; }
.bbg-location { text-align: center; }
.bbg-location h3 { text-decoration: underline; text-transform: uppercase; font-size: 1.05em; margin-bottom: 0.6em; }
.bbg-location p { margin: 0 0 0.2em; line-height: 1.45; }
.bbg-location .bbg-note { font-size: 0.8em; font-weight: bold; }
.bbg-location .bbg-appt { display: inline-block; margin: 0.6em 0; font-size: 0.85em; color: var(--bbg-navy); }
.bbg-location iframe { width: 100%; height: 180px; border: 0; border-radius: 4px; margin-top: 0.5em; }

/* ---------- Slideshow ---------- */
.bbg-slideshow {
	position: relative;
	height: 430px;
	max-width: 100%;
	overflow: hidden;
}
.bbg-slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	opacity: 0;
	transition: opacity 0.8s ease;
}
.bbg-slide.is-active { opacity: 1; }
.bbg-slideshow button {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(0, 0, 102, 0.55);
	color: #fff;
	border: 0;
	border-radius: 50%;
	width: 38px;
	height: 38px;
	line-height: 38px;
	padding: 0;
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.2s;
}
.bbg-slideshow:hover button,
.bbg-slideshow button:focus-visible { opacity: 1; }
.bbg-slide-prev { left: 8px; }
.bbg-slide-next { right: 8px; }
@media (prefers-reduced-motion: reduce) { .bbg-slide { transition: none; } }

/* ---------- Contact form ---------- */
.bbg-contact { max-width: 420px; margin: 0 auto; text-align: center; }
.bbg-contact label { display: block; font-size: 0.9em; margin-bottom: 4px; }
.bbg-contact input,
.bbg-contact textarea {
	width: 100%;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 6px 8px;
	font: inherit;
	background: #fff;
}
.bbg-contact button {
	background: var(--bbg-navy);
	color: #fff;
	border: 0;
	padding: 6px 16px;
	font: inherit;
	font-size: 0.9em;
	cursor: pointer;
}
.bbg-hp { position: absolute !important; left: -9999px; }
.bbg-notice { padding: 0.7em 1em; border-radius: 4px; font-size: 0.9em; }
.bbg-notice--ok { background: #e6f4ea; color: #1e5e2f; }
.bbg-notice--err { background: #fdecea; color: #8a1c13; }

/* ---------- Footer ---------- */
.bbg-footer {
	background: var(--bbg-navy);
	color: #fff;
	text-align: center;
	padding: 1em 16px;
	font-size: 0.9em;
	margin-top: 2em;
}
.bbg-footer a { color: #fff; text-decoration: underline; }
.bbg-float-wrap {
	position: sticky;
	bottom: 14px;
	z-index: 50;
	text-align: center;
	margin-top: 1.5em;
	pointer-events: none;
}
.bbg-float-contact {
	display: inline-block;
	pointer-events: auto;
	background: var(--bbg-navy);
	color: #fff !important;
	font-weight: bold;
	text-decoration: none;
	padding: 14px 18px;
	border-radius: 6px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}

@media (max-width: 600px) {
	.bbg-nav { border-radius: 14px; padding: 0 6px; }
	.bbg-nav a { padding: 10px 12px; font-size: 13px; }
	.bbg-slideshow { height: 280px; }
	.bbg-box { padding: 1em; }
}
