/**
 * Site-wide card typography
 * Number: 50px | Title: 24px | Description: 19px
 * Scoped to content cards only — mega-menu promo cards excluded.
 * Legal policy pages use their own template CSS (sprv-*, sgdpr-*, scookie-*, sterms-*).
 */

/* Number headings on cards (01, 02, …) */
.sphere-home:not(.sphere-privacy-page):not(.sphere-gdpr-page):not(.sphere-cookie-page):not(.sphere-terms-page) .methodology-card__num,
.sphere-home:not(.sphere-privacy-page):not(.sphere-gdpr-page):not(.sphere-cookie-page):not(.sphere-terms-page) .pgf-steps__num,
.sphere-home:not(.sphere-privacy-page):not(.sphere-gdpr-page):not(.sphere-cookie-page):not(.sphere-terms-page) [class*="-card__num"],
.sphere-home:not(.sphere-privacy-page):not(.sphere-gdpr-page):not(.sphere-cookie-page):not(.sphere-terms-page) [class*="__steps__num"] {
	font-size: var(--sphere-card-num-size, 50px);
}

/* Card titles */
.sphere-home:not(.sphere-privacy-page):not(.sphere-gdpr-page):not(.sphere-cookie-page):not(.sphere-terms-page) .feature-card__title,
.sphere-home:not(.sphere-privacy-page):not(.sphere-gdpr-page):not(.sphere-cookie-page):not(.sphere-terms-page) .product-feature-card__title,
.sphere-home:not(.sphere-privacy-page):not(.sphere-gdpr-page):not(.sphere-cookie-page):not(.sphere-terms-page) .methodology-card__title,
.sphere-home:not(.sphere-privacy-page):not(.sphere-gdpr-page):not(.sphere-cookie-page):not(.sphere-terms-page) .pgf-steps__card-title,
.sphere-home:not(.sphere-privacy-page):not(.sphere-gdpr-page):not(.sphere-cookie-page):not(.sphere-terms-page) [class*="__card-title"]:not([class*="mega-menu"]) {
	font-size: var(--sphere-card-title-size, 24px);
}

/* Card descriptions */
.sphere-home:not(.sphere-privacy-page):not(.sphere-gdpr-page):not(.sphere-cookie-page):not(.sphere-terms-page) .feature-card__text,
.sphere-home:not(.sphere-privacy-page):not(.sphere-gdpr-page):not(.sphere-cookie-page):not(.sphere-terms-page) .product-feature-card__text,
.sphere-home:not(.sphere-privacy-page):not(.sphere-gdpr-page):not(.sphere-cookie-page):not(.sphere-terms-page) .methodology-card__text,
.sphere-home:not(.sphere-privacy-page):not(.sphere-gdpr-page):not(.sphere-cookie-page):not(.sphere-terms-page) .pgf-steps__card-text,
.sphere-home:not(.sphere-privacy-page):not(.sphere-gdpr-page):not(.sphere-cookie-page):not(.sphere-terms-page) [class*="__card-text"]:not([class*="mega-menu"]) {
	font-size: var(--sphere-card-desc-size, 19px);
}

/* Article card “Read More” links */
.sphere-home .blog-card__link,
.sphere-blogs-page .blogs-card__link,
.sphere-cases-page .cases-card__link {
	font-size: var(--sphere-card-readmore-size, 19px);
}

/* Footer CTA — title 50px, button 19px (all pages) */
.sphere-home .footer-cta__title-accent,
.sphere-home .footer-cta__title-rest {
	font-size: var(--sphere-footer-cta-title-size, 50px);
}

.sphere-home .footer-cta__btn {
	font-size: var(--sphere-footer-cta-btn-size, 19px);
}

/* Page banners — title 80px, description 24px (all pages) */
.sphere-home [class*="-banner__title"]:not([class*="__title-line"]),
.sphere-elevate-page [class*="-banner__title"]:not([class*="__title-line"]),
.sphere-elevate-planning-page [class*="-banner__title"]:not([class*="__title-line"]),
.sphere-elevate-realtime-page [class*="-banner__title"]:not([class*="__title-line"]),
.sphere-elevate-driver-scheduling-page [class*="-banner__title"]:not([class*="__title-line"]),
.sphere-elevate-optimization-page [class*="-banner__title"]:not([class*="__title-line"]),
.sphere-hawkyrd-page [class*="-banner__title"]:not([class*="__title-line"]),
.sphere-yard-page [class*="-banner__title"]:not([class*="__title-line"]),
.sphere-trucking-page [class*="-banner__title"]:not([class*="__title-line"]),
.sphere-fvl-page [class*="-banner__title"]:not([class*="__title-line"]) {
	font-size: var(--sphere-banner-title-size, 80px);
}

.sphere-home [class*="-banner__subtitle"],
.sphere-elevate-page [class*="-banner__subtitle"],
.sphere-elevate-planning-page [class*="-banner__subtitle"],
.sphere-elevate-realtime-page [class*="-banner__subtitle"],
.sphere-elevate-driver-scheduling-page [class*="-banner__subtitle"],
.sphere-elevate-optimization-page [class*="-banner__subtitle"],
.sphere-hawkyrd-page [class*="-banner__subtitle"],
.sphere-yard-page [class*="-banner__subtitle"],
.sphere-trucking-page [class*="-banner__subtitle"],
.sphere-fvl-page [class*="-banner__subtitle"] {
	font-size: var(--sphere-banner-desc-size, 24px);
}

/* Let's Talk — title 80px, description 24px, button 19px (all pages) */
.sphere-home .lets-talk .lets-talk__title,
.sphere-elevate-page .lets-talk .lets-talk__title,
.sphere-elevate-planning-page .lets-talk .lets-talk__title,
.sphere-elevate-realtime-page .lets-talk .lets-talk__title,
.sphere-elevate-driver-scheduling-page .lets-talk .lets-talk__title,
.sphere-elevate-optimization-page .lets-talk .lets-talk__title,
.sphere-hawkyrd-page .lets-talk .lets-talk__title {
	font-size: var(--sphere-lets-talk-title-size, 80px);
}

.sphere-home .lets-talk .lets-talk__subtitle,
.sphere-elevate-page .lets-talk .lets-talk__subtitle,
.sphere-elevate-planning-page .lets-talk .lets-talk__subtitle,
.sphere-elevate-realtime-page .lets-talk .lets-talk__subtitle,
.sphere-elevate-driver-scheduling-page .lets-talk .lets-talk__subtitle,
.sphere-elevate-optimization-page .lets-talk .lets-talk__subtitle,
.sphere-hawkyrd-page .lets-talk .lets-talk__subtitle {
	font-size: var(--sphere-lets-talk-desc-size, 24px);
}

.sphere-home .lets-talk .lets-talk__btn,
.sphere-elevate-page .lets-talk .lets-talk__btn,
.sphere-elevate-planning-page .lets-talk .lets-talk__btn,
.sphere-elevate-realtime-page .lets-talk .lets-talk__btn,
.sphere-elevate-driver-scheduling-page .lets-talk .lets-talk__btn,
.sphere-elevate-optimization-page .lets-talk .lets-talk__btn,
.sphere-hawkyrd-page .lets-talk .lets-talk__btn {
	font-size: var(--sphere-lets-talk-btn-size, 19px);
}

/* FAQ — title 50px; CTA / questions / answers 19px (all pages) */
.sphere-home .faq__title,
.sphere-home [class*="-faq__title"]:not([class*="__title-accent"]):not([class*="__title-line"]),
.sphere-blogdetail-page [class*="-faq__title"]:not([class*="__title-accent"]):not([class*="__title-line"]) {
	font-size: var(--sphere-faq-title-size, 50px);
}

.sphere-home .faq__cta-note,
.sphere-home .faq__cta-text,
.sphere-home [class*="-faq__cta-note"],
.sphere-home [class*="-faq__cta-text"],
.sphere-blogdetail-page [class*="-faq__cta-note"],
.sphere-blogdetail-page [class*="-faq__cta-text"] {
	font-size: var(--sphere-faq-text-size, 19px);
}

.sphere-home .faq-item__question,
.sphere-home [class*="-faq__question"],
.sphere-blogdetail-page [class*="-faq__question"] {
	font-size: var(--sphere-faq-text-size, 19px);
}

.sphere-home .faq-item__answer p,
.sphere-home [class*="-faq__answer"] p,
.sphere-home [class*="-faq__answer-inner"] p,
.sphere-blogdetail-page [class*="-faq__answer"] p,
.sphere-blogdetail-page [class*="-faq__answer-inner"] p {
	font-size: var(--sphere-faq-text-size, 19px);
}

/* Mid-page CTAs above FAQ (yard / pod / gate / papp) — title 50px, button 19px */
.sphere-home .papp-cta__title,
.sphere-home [class*="-yard-cta__title"]:not([class*="__title-accent"]),
.sphere-home [class*="-pod-cta__title"]:not([class*="__title-accent"]),
.sphere-home [class*="-gate-cta__title"]:not([class*="__title-accent"]) {
	font-size: var(--sphere-mid-cta-title-size, 50px);
}

.sphere-home .papp-cta__btn,
.sphere-home .papp-cta .btn,
.sphere-home [class*="-yard-cta__btn"],
.sphere-home [class*="-yard-cta"] .btn--orange,
.sphere-home [class*="-pod-cta__btn"],
.sphere-home [class*="-pod-cta"] .btn--orange,
.sphere-home [class*="-gate-cta__btn"],
.sphere-home [class*="-gate-cta"] .btn--orange {
	font-size: var(--sphere-mid-cta-btn-size, 19px);
}

/* Full-viewport page banners — 100% screen height at all resolutions */
.sphere-home section.hero,
.sphere-home section[class*="-banner"] {
	min-height: var(--sphere-banner-min-height, 100vh);
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
}

.sphere-home section.hero > .container,
.sphere-home section[class*="-banner"] > .container {
	width: 100%;
	flex-shrink: 0;
}

/* Homepage hero — exact full viewport; banner content only (cards are in .hero-cards) */
.sphere-home.sphere-home-page section.hero {
	--sphere-home-hero-height: calc(100dvh - 5rem);
	min-height: var(--sphere-home-hero-height);
	height: var(--sphere-home-hero-height);
	max-height: var(--sphere-home-hero-height);
	justify-content: center;
	padding-top: 0;
	padding-bottom: 0;
	overflow: hidden;
}

.sphere-home.sphere-home-page section.hero > .container {
	width: 100%;
}

/* Full-viewport product galleries — 100% screen height at all resolutions */
.sphere-home section[class*="-gallery"]:not([class*="overview"]):not([class*="showcase"]) {
	min-height: var(--sphere-gallery-min-height, 100vh);
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}

.sphere-home section[class*="-gallery"]:not([class*="overview"]):not([class*="showcase"]) [class*="-gallery__viewport"] {
	flex: 1 1 auto;
	min-height: 0;
	height: 100%;
	width: 100%;
	max-height: none;
	aspect-ratio: unset;
	margin: 0;
}
