/**
 * BookingBee type system — Gilroy ExtraBold / Semibold + Gotham Book.
 * ExtraBold (800) prefers installed Gilroy ExtraBold, then Gilroy-Bold — not Black.
 * Breakpoints follow Bootstrap: tablet ≤767.98px, mobile ≤575.98px.
 */

/*
 * File-backed Gilroy for older templates. Do NOT register these as "BB Gilroy" —
 * the redesign ExtraBold face is local-only; a file in that family stops the
 * stack from reaching Urbanist 800 (what the new theme actually paints).
 */
@font-face {
	font-family: "BB Gilroy Web";
	src: url("../fonts/Gilroy-SemiBold.woff") format("woff");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "BB Gilroy Web";
	src: url("../fonts/Gilroy-Bold.woff") format("woff");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "BB Gilroy Web";
	src: url("../fonts/Gilroy-Bold.woff") format("woff");
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "BB Gilroy Web";
	src: url("../fonts/Gilroy-Black.woff") format("woff");
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "BB Gotham";
	src: url("../fonts/Gotham-Book.woff") format("woff");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "BB Gotham";
	src: url("../fonts/Gotham-BookItalic.woff") format("woff");
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

/* Redirect legacy family names so older pages pick up the same files. */
@font-face {
	font-family: "Gilroy-SemiBold";
	src: url("../fonts/Gilroy-SemiBold.woff") format("woff");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Gilroy-Bold";
	src: url("../fonts/Gilroy-Bold.woff") format("woff");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Gilroy ExtraBold";
	src: local("Gilroy-ExtraBold"), local("Gilroy ExtraBold");
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Gilroy-ExtraBold";
	src: local("Gilroy-ExtraBold"), local("Gilroy ExtraBold");
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Gilroy-Black";
	src: url("../fonts/Gilroy-Black.woff") format("woff");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Gotham-Book";
	src: url("../fonts/Gotham-Book.woff") format("woff");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Gotham Book";
	src: url("../fonts/Gotham-Book.woff") format("woff");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Gotham-BookItalic";
	src: url("../fonts/Gotham-BookItalic.woff") format("woff");
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: "Gotham";
	src: url("../fonts/Gotham-Book.woff") format("woff");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

:root {
	--f-xbold: "BB Gilroy", "Gilroy-ExtraBold", "Gilroy", "Urbanist", system-ui, sans-serif;
	--f-black: "BB Gilroy", "Gilroy-Black", "Gilroy", "Urbanist", system-ui, sans-serif;
	--f-bold: "BB Gilroy Web", "BB Gilroy", "Gilroy-Bold", "Gilroy", "Urbanist", system-ui, sans-serif;
	--f-semi: "BB Gilroy Web", "BB Gilroy", "Gilroy-SemiBold", "Gilroy", "Urbanist", system-ui, sans-serif;
	--f-book: "BB Gotham", "Gotham-Book", Arial, sans-serif;
	--f-gotham: var(--f-book);

	--fs-h1: 64px;
	--lh-h1: 1.06;
	--ls-h1: -1.92px;
	--fs-h2: 48px;
	--lh-h2: 1.06;
	--ls-h2: -0.015em;
	--fs-h3: 28px;
	--lh-h3: 1.2;
	--ls-h3: -0.008em;
	--fs-h4: 20px;
	--lh-h4: 1.3;
	--ls-h4: 0;
	--fs-stat: 36px;
	--lh-stat: 1.1;
	--ls-stat: -0.008em;
	--fs-body-l: 18px;
	--lh-body-l: 1.6;
	--fs-body-m: 16px;
	--lh-body-m: 1.65;
	--fs-body-s: 14px;
	--lh-body-s: 1.55;
	--fs-caption: 12px;
	--lh-caption: 1.4;
	--fs-pill: 12px;
	--lh-pill: 1.2;
	--ls-pill: 0.01em;
	--fs-btn: 16px;
	--lh-btn: 1.2;
	--fs-btn-l: 18px;
	--lh-btn-l: 1.2;
	--fs-link: 14px;
	--lh-link: 1.4;
}

@media (max-width: 767.98px) {
	:root {
		--fs-h1: 52px;
		--lh-h1: 1.08;
		--ls-h1: -0.025em;
		--fs-h2: 40px;
		--lh-h2: 1.1;
		--ls-h2: -0.012em;
		--fs-h3: 24px;
		--lh-h3: 1.2;
		--ls-h3: -0.006em;
		--fs-h4: 20px;
		--lh-h4: 1.3;
		--fs-stat: 32px;
		--lh-stat: 1.1;
		--ls-stat: -0.008em;
		--fs-body-l: 18px;
		--lh-body-l: 1.6;
		--fs-body-m: 16px;
		--lh-body-m: 1.65;
		--fs-btn-l: 18px;
	}
}

@media (max-width: 575.98px) {
	:root {
		--fs-h1: 36px;
		--lh-h1: 1.1;
		--ls-h1: -0.02em;
		--fs-h2: 30px;
		--lh-h2: 1.1;
		--ls-h2: -0.01em;
		--fs-h3: 22px;
		--lh-h3: 1.25;
		--ls-h3: -0.004em;
		--fs-h4: 18px;
		--lh-h4: 1.3;
		--fs-stat: 28px;
		--lh-stat: 1.1;
		--ls-stat: -0.006em;
		--fs-body-l: 16px;
		--lh-body-l: 1.6;
		--fs-body-m: 16px;
		--lh-body-m: 1.55;
		--fs-btn-l: 16px;
	}
}

html,
body {
	font-family: var(--f-book);
	font-weight: 400;
	font-size: var(--fs-body-m);
	line-height: var(--lh-body-m);
	letter-spacing: 0;
}

/* Defaults for older pages (no !important — FAQ / Integrations keep their own CSS). */
h1,
.h1 {
	font-family: var(--f-xbold);
	font-weight: 800;
	font-size: var(--fs-h1);
	line-height: var(--lh-h1);
	letter-spacing: var(--ls-h1);
	font-synthesis: none;
}

h2,
.h2 {
	font-family: var(--f-semi);
	font-weight: 600;
	font-size: var(--fs-h2);
	line-height: var(--lh-h2);
	letter-spacing: var(--ls-h2);
}

h3,
.h3 {
	font-family: var(--f-semi);
	font-weight: 600;
	font-size: var(--fs-h3);
	line-height: var(--lh-h3);
	letter-spacing: var(--ls-h3);
}

h4,
.h4,
h5,
.h5,
h6,
.h6 {
	font-family: var(--f-semi);
	font-weight: 600;
	font-size: var(--fs-h4);
	line-height: var(--lh-h4);
	letter-spacing: var(--ls-h4);
}

p,
li,
dd,
dt,
td,
th,
label,
input,
textarea,
select {
	font-family: var(--f-book);
}

p {
	font-weight: 400;
	font-size: var(--fs-body-m);
	line-height: var(--lh-body-m);
	letter-spacing: 0;
}

/* Feature/Phorest heroes. Home .hero2-copy h1 uses redesign --ts-h1 (do not override). */
.fp-hero-text h1,
.ph-hero h1 {
	font-family: var(--f-xbold) !important;
	font-weight: 800 !important;
	font-size: var(--fs-h1) !important;
	line-height: var(--lh-h1) !important;
	letter-spacing: var(--ls-h1) !important;
}

.tr4-head h2,
.fs-heading h2,
.handle-head h2,
.reviews-head h2,
.fcta-copy h2,
.fp h2,
.ph-hero h2 {
	font-family: var(--f-semi) !important;
	font-weight: 600 !important;
	font-size: var(--fs-h2) !important;
	line-height: var(--lh-h2) !important;
	letter-spacing: var(--ls-h2) !important;
}

.fs-card h3,
.acc-title,
.fp h3 {
	font-family: var(--f-semi) !important;
	font-weight: 600 !important;
	font-size: var(--fs-h3) !important;
	line-height: var(--lh-h3) !important;
	letter-spacing: var(--ls-h3) !important;
}

.lead,
.hero2-copy p,
.tr4-head p,
.handle-head .lead,
.reviews-head p,
.swipe-head p,
.fcta-copy p,
.fp-hero-text p,
.ph-hero p {
	font-family: var(--f-book) !important;
	font-weight: 400 !important;
	font-size: var(--fs-body-l) !important;
	line-height: var(--lh-body-l) !important;
	letter-spacing: 0 !important;
}

small,
.caption,
.rv-role,
.tr4-join,
figcaption {
	font-family: var(--f-book);
	font-size: var(--fs-caption);
	line-height: var(--lh-caption);
}

.bb-pill {
	font-family: var(--f-semi) !important;
	font-weight: 600 !important;
	font-size: var(--fs-pill) !important;
	line-height: var(--lh-pill) !important;
	letter-spacing: var(--ls-pill) !important;
	text-transform: uppercase;
}

.hero2-btn,
.demo-booking-submit,
a.bee-primary-btn,
button.bee-primary-btn,
.fp-btn,
.ph-btn {
	font-family: var(--f-semi) !important;
	font-weight: 600 !important;
	font-size: var(--fs-btn) !important;
	line-height: var(--lh-btn) !important;
	letter-spacing: 0 !important;
}

.fcta-copy a,
.fcta .btn,
.btn-lg {
	font-family: var(--f-semi) !important;
	font-weight: 600 !important;
	font-size: var(--fs-btn-l) !important;
	line-height: var(--lh-btn-l) !important;
}

.fs-more,
a.explore-link {
	font-family: var(--f-semi) !important;
	font-weight: 600 !important;
	font-size: var(--fs-link) !important;
	line-height: var(--lh-link) !important;
}

.tr4-stats dt,
.rv-stat b,
.meevo-26-review__stat-num,
.meevo-26-reviews-slide__stat-num {
	font-family: var(--f-xbold) !important;
	font-weight: 800 !important;
	font-size: var(--fs-stat) !important;
	line-height: var(--lh-stat) !important;
	letter-spacing: var(--ls-stat) !important;
}

.fs-card p,
.acc-body p,
.rv-quote {
	font-family: var(--f-book) !important;
	font-size: var(--fs-body-s) !important;
	line-height: var(--lh-body-s) !important;
}
