/*
Theme Name: Avalanche Base Camp Child Theme
Theme URI: https://avalanchegr.com
Version: 1.0
Description: A complete theme packaged with everything you need to get started building momentum.
Author: Avalanche Creative
Author URI: https://avalanchegr.com
template: bb-theme
*/

html {
  font-size: 16px;
}

/* H1 */
h1 {
  font-size: clamp(2.5rem, 6vw, 3.5rem); /* 40px → 56px */
  font-weight: 700;
  line-height: 1.1;
}

/* H2 */
h2 {
  font-size: clamp(2.25rem, 5vw, 3rem); /* 36px → 48px */
  font-weight: 700;
  line-height: 1.1;
}

/* H3 */
h3 {
  font-size: clamp(1.5rem, 3vw, 1.6875rem); /* 24px → 27px */
  font-weight: 700;
  line-height: 1.1;
}

/* H4 */
h4 {
  font-size: clamp(1.375rem, 2.5vw, 1.4375rem); /* 22px → 23px */
  font-weight: 700;
  line-height: 1.1;
}

/* H5 */
h5 {
  font-size: clamp(1.125rem, 2vw, 1.125rem); /* stays ~18px */
  font-weight: 700;
  line-height: 1.1;
}

.fl-button {transition: all .3s !important;}
.fl-button-has-icon a {white-space: nowrap;}

/* reviews widget */
/* .ti-review-header .ti-platform-icon {display: none;}
.fl-module .ti-widget.ti-goog .ti-inner .ti-review-text-container {font-size: 18px; font-weight: 400; color: #272727;}
.ti-reviews-container-wrapper .ti-review-item .ti-review-header .ti-profile-details .ti-name, .fl-module .ti-widget.ti-goog {font-size: 16px; font-weight: 500; color: #272727;}
.fl-module .ti-widget.ti-goog .ti-review-header {margin-top: 20px !important;}
.fl-module .ti-widget.ti-goog .ti-review-header::before {content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #5F6062;}
.fl-module .ti-widget.ti-goog .ti-review-header .ti-profile-details {margin-top: 20px !important;}
.fl-module .ti-widget.ti-goog .ti-review-item {padding: 0 20px !important}
.fl-module .ti-widget.ti-goog .ti-review-item>.ti-inner {display: flex !important; flex-direction: column-reverse !important; padding: 34px !important; border-radius: 10px !important; background-color: #F6F6F9 !important;}
.ti-stars {position: absolute !important; top: 34px; margin: 0 !important;}
.ti-review-text-container {margin-top: 30px;}
 */




/* Header nav: fit 4 top-level items (incl. Brands) on one line — desktop only.
   Scoped to the Themer header menu module (node 5efbb90fb7d8d). */
@media (min-width: 993px) {
	.fl-node-5efbb90fb7d8d.fl-node-5efbb90fb7d8d ul.menu.uabb-creative-menu-horizontal {
		padding-left: 0;
	}
	.fl-node-5efbb90fb7d8d.fl-node-5efbb90fb7d8d .uabb-creative-menu .menu.uabb-creative-menu-horizontal > li {
		margin-left: 0;
		margin-right: 0;
	}
	.fl-node-5efbb90fb7d8d.fl-node-5efbb90fb7d8d .uabb-creative-menu .menu.uabb-creative-menu-horizontal > li > a span.menu-item-text,
	.fl-node-5efbb90fb7d8d.fl-node-5efbb90fb7d8d .uabb-creative-menu .menu.uabb-creative-menu-horizontal > li > .uabb-has-submenu-container > a span.menu-item-text {
		font-size: 16px;
	}
	.fl-node-5efbb90fb7d8d.fl-node-5efbb90fb7d8d .uabb-creative-menu .menu.uabb-creative-menu-horizontal > li > a,
	.fl-node-5efbb90fb7d8d.fl-node-5efbb90fb7d8d .uabb-creative-menu .menu.uabb-creative-menu-horizontal > li > .uabb-has-submenu-container > a {
		padding-left: 7px;
		padding-right: 7px;
	}
}

/* Brands page (page 5201) — card/link/city-grid polish for the BB layout */
.page-id-5201 .fl-rich-text a {
	color: #2280c6;
	font-weight: 600;
	text-decoration: none;
}
.page-id-5201 .fl-rich-text a:hover {
	text-decoration: underline;
}
.page-id-5201 .air-brand-card {
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.page-id-5201 .air-brand-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px -28px rgba(8, 18, 42, 0.5);
}
.page-id-5201 .air-brand-card .air-card-link {
	margin-top: auto;
}
.page-id-5201 .air-brand-card .air-card-link a {
	color: #073364;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border-bottom: 2px solid #e0301e;
	padding-bottom: 4px;
}
.page-id-5201 .air-brand-card .air-card-link a:hover {
	color: #073364;
	text-decoration: none;
}
.page-id-5201 .air-card-logo img {
	max-height: 44px;
	max-width: 100%;
	width: auto;
	height: auto;
}
.page-id-5201 .air-feature-logo img {
	max-width: 240px;
	height: auto;
}
.page-id-5201 ul.air-cities {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, auto);
	justify-content: center;
	gap: 0.85rem 2.5rem;
}
.page-id-5201 ul.air-cities li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 700;
	color: #073364;
}
@media (max-width: 768px) {
	.page-id-5201 ul.air-cities {
		grid-template-columns: repeat(2, auto);
	}
}

/* Product pages (product CPT, BB layouts) — shared list/photo polish */
.air-cpt .fl-rich-text a {
	color: #2280c6;
	font-weight: 600;
	text-decoration: none;
}
.air-cpt .fl-rich-text a:hover {
	text-decoration: underline;
}
.air-cpt ul.air-checks {
	list-style: none;
	margin: 0;
	padding: 0;
}
.air-cpt ul.air-checks li {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	padding: 0.35rem 0;
	color: #3a4250;
}
/* Check icon via CSS so it survives builder re-saves (inline SVGs get stripped
   by the rich-text editor). Applies when the li carries no inline icon. */
.air-cpt ul.air-checks li:not(:has(svg))::before {
	content: "";
	flex: none;
	width: 18px;
	height: 18px;
	margin-top: 3px;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23951b27' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") no-repeat center / contain;
}
.air-cpt ul.air-checks--divided li {
	padding: 0.7rem 0;
	border-bottom: 1px solid rgba(7, 51, 100, 0.15);
}
.air-cpt ul.air-cities {
	list-style: none;
	margin: 0.5rem 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, auto);
	justify-content: start;
	gap: 0.85rem 2.5rem;
}
.air-cpt ul.air-cities li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 700;
	color: #073364;
}
.air-cpt .air-hero-photo img,
.air-cpt .air-prod-photo img,
.air-cpt .air-map img {
	border-radius: 16px;
	max-width: 100%;
	height: auto;
}

/* Product pages — light checklist variant for navy bands */
.air-cpt ul.air-checks--light li {
	color: #e6ecf5;
}

/* Product pages — "Choose Your ..." type cards (design: navy bar, plain spec
   bullets, red-icon application rows with dividers) */
.air-cpt ul.air-bullets {
	margin: 0;
	padding-left: 1.2em;
}
.air-cpt ul.air-bullets li {
	padding: 0.15rem 0;
	color: #3a4250;
	font-size: 0.95rem;
}
.air-cpt ul.air-apps {
	list-style: none;
	margin: 0;
	padding: 0;
}
.air-cpt ul.air-apps li {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.7rem 0;
	border-bottom: 1px solid rgba(7, 51, 100, 0.15);
	font-weight: 700;
	color: #073364;
}

/* Product pages — big-stat rows + red-underline text links (category design) */
.air-cpt ul.air-stats {
	list-style: none;
	margin: 0;
	padding: 0;
}
.air-cpt ul.air-stats li {
	display: flex;
	align-items: baseline;
	gap: 1rem;
	padding: 1.2rem 0;
	border-bottom: 1px solid rgba(7, 51, 100, 0.15);
}
.air-cpt ul.air-stats .air-stat {
	color: #951b27;
	font-weight: 800;
	font-size: 2rem;
	line-height: 1;
	flex: none;
}
.air-cpt ul.air-stats li > span:last-child {
	font-weight: 700;
	color: #272727;
}
.air-cpt .fl-rich-text a.air-link {
	color: #073364;
	font-weight: 700;
	border-bottom: 2px solid #951b27;
	padding-bottom: 5px;
	text-decoration: none;
}
.air-cpt .fl-rich-text a.air-link:hover {
	color: #073364;
	text-decoration: none;
	border-bottom-color: #073364;
}

/* Products & Services directory grid ([air_cpt_directory] shortcode) */
.air-dir-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 360px));
	justify-content: center;
	gap: 24px;
}
@media (max-width: 640px) {
	.air-dir-grid {
		grid-template-columns: minmax(0, 360px);
	}
}
.air-dir-card {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 18px 40px -28px rgba(8, 18, 42, 0.4);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.air-dir-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 22px 44px -26px rgba(8, 18, 42, 0.55);
}
.air-dir-card__head {
	background: #073364;
	padding: 14px 24px;
}
.air-dir-card__head h3 {
	margin: 0;
	font-size: 1.2rem;
	display: flex;
	align-items: center;
	gap: 0.6rem;
}
.air-dir-card__head h3 i,
.air-dir-card__head h3 svg {
	color: #e0301e;
	flex: none;
}
.air-cpt .air-dir-card__head h3 a {
	color: #fff;
	text-decoration: none;
}
.air-dir-card__body {
	padding: 20px 24px 24px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	flex: 1;
}
ul.air-dir-children {
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.air-dir-children li {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.5rem 0;
	border-bottom: 1px solid rgba(7, 51, 100, 0.12);
}
ul.air-dir-children li i,
ul.air-dir-children li svg {
	color: #951b27;
	flex: none;
}
.air-cpt ul.air-dir-children a {
	color: #073364;
	font-weight: 600;
	text-decoration: none;
}
.air-cpt ul.air-dir-children a:hover {
	color: #2280c6;
}
.air-dir-card__cta {
	margin-top: auto;
	margin-bottom: 0;
}
.air-cpt .air-link i,
.air-cpt .air-link svg {
	color: #951b27;
	margin-left: 2px;
}

/* Centered city grid variant (hub pages) */
.air-cpt ul.air-cities--center {
	grid-template-columns: repeat(4, auto);
	justify-content: center;
}
@media (max-width: 768px) {
	.air-cpt ul.air-cities--center {
		grid-template-columns: repeat(2, auto);
	}
}

/* Products & Services mega menu (saved row) — global scope, works in any layout */
.air-mega ul.air-mega-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.air-mega ul.air-mega-list li {
	padding: 5px 0;
}
.air-mega ul.air-mega-list a {
	color: #3a4250;
	font-weight: 500;
	font-size: 15px;
	text-decoration: none;
}
.air-mega ul.air-mega-list a:hover {
	color: #2280c6;
}

/* Tool-page hero SEO swap: the eyebrow carries the H1 (keyword), the display
   headline is an H2 — both keep their original look. */
.air-cpt h1.air-hero-eyebrow {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	line-height: 1.5;
	margin: 0;
	color: inherit;
	font-family: inherit;
}
.air-cpt .air-hero-headline h2.fl-heading {
	font-size: 56px;
	font-weight: 700;
	letter-spacing: 1px;
	line-height: 1.1;
}
@media (max-width: 992px) {
	.air-cpt .air-hero-headline h2.fl-heading {
		font-size: 42px;
	}
}
@media (max-width: 640px) {
	.air-cpt .air-hero-headline h2.fl-heading {
		font-size: 34px;
	}
}

/* --- Who We Are: centered stat band (html module, class air-wwa-stats) --- */
.air-cpt .air-wwa-stats {
	display: flex;
	justify-content: center;
	gap: clamp(2rem, 6vw, 5rem);
	flex-wrap: wrap;
	text-align: center;
}
.air-cpt .air-wwa-stats .air-stat b {
	display: block;
	font-size: clamp(2.1rem, 3.5vw, 2.75rem);
	font-weight: 800;
	color: #073364;
	line-height: 1;
}
.air-cpt .air-wwa-stats .air-stat span {
	display: block;
	margin-top: 8px;
	font-size: 14px;
	font-weight: 600;
	color: #4a5a70;
}

/* Who We Are map band: CSS pins (BB strips inline SVGs on save, so the list
   carries no markup icons — same trick as the air-checks ::before icons). */
.air-cpt .brand-areas li::before {
	content: "";
	width: 18px;
	height: 18px;
	flex: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23e0301e' d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") no-repeat center / contain;
}
