/*
 Theme Name:   Highend Child
 Theme URI:    http://preview.hb-themes.com/?theme=Highend
 Description:  A Flexible, Powerful & Beautiful WordPress Theme by HB-Themes. Mobile ready and optimized for best performance. With the powerful engine and user friendly interface it will allow you to build outstanding websites quick and easy... It comes with Premium Plugins integrated into the theme.
 Author:       HB-Themes
 Author URI:   http://www.hb-themes.com
 Template:     HighendWP
 Version:      1.0.2
 Tags:		   Responsive, Page-Builder, Drag&Drop, Clean, Modern, Corporate, Multi-Purpose, Multi-Color
 Text Domain:  hbthemes
*/

/* =Theme customization starts here
-------------------------------------------------------------- */

/* ===========================================
   FONTS & TYPOGRAPHY
   =========================================== */

@import url("https://use.typekit.net/bot8zyh.css");

body, p {
	font-family: "proxima-nova", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 1em;
	line-height: 1.3em;
}

p {
	margin-bottom: 1em;
	margin-top: 1em;
}

#main-content p {
	font-size: 1.15em;
}

#main-content ol,
#main-content ul {
	margin-left: 40px;
}

h1, h2, h3, h4, h5, h6 {
	font-family: "proxima-nova", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.2em;
	letter-spacing: .076em;
}

h1,
.archetype-project-title,
#hb-page-title h1 {
	font-size: 2.5em;
	margin-top: 1em;
	margin-bottom: 0;
	font-weight: 400;
	letter-spacing: .076em;
	text-transform: uppercase;
}

h2, 
#hb-page-title h2,
.archetype-project-subtitle {
	font-size: 1.88em;
	margin-top: 2em;
	margin-bottom: .5em;
	letter-spacing: .076em;
	text-transform: uppercase;
}

#hb-page-title h2,
.archetype-project-subtitle {
	margin-top: .1em;
	margin-bottom: 0em;
}

h3 {
	font-size: 1.6em;
	letter-spacing: .076em;
	text-transform: uppercase;
	margin-top: 1em;
	margin-bottom: .25em;
}

.archetype-project-location {
	font-size: 2em;
	font-weight: 400;
	color: #fff;
	margin-top: .5em;
	margin-bottom: 1em;
	text-transform: uppercase;
	letter-spacing: .076em;
}


h4 { font-size: 1.4em; }
h5 { font-size: 1.2em; }
h6 { font-size: 1em; }

/* Responsive Typography */
@media (min-width: 900px) {
	h1, .archetype-project-title { font-size: 2.7em; }
	h2, #hb-page-title h2, .archetype-project-subtitle { font-size: 1.88em; }
	h3 { font-size: 1.6em; }
	h4 { font-size: 1.4em; }
	h5 { font-size: 1.2em; }
	h6 { font-size: 1em; }
	.archetype-project-location {
		font-size: 2.23em;
		margin-top: .5em;
		margin-bottom: 1em;
	}
}

/* ===========================================
   UTILITY CLASSES
   =========================================== */

.anchor-adjust {
	scroll-margin-top: 100px;
	scroll-padding-top: 100px;
}

.vertical-padding {
	padding-top: 100px;
	padding-bottom: 100px;
}

.dark-background,
.dark-background p,
.dark-background h1,
.dark-background h2,
.dark-background h3,
.dark-background h4,
.dark-background h5,
.dark-background h6,
.dark-background ul,
.dark-background li {
	color: #fff;
}

.white-bkg {
	background-color: #fff;
	color: #000;
}

.white-bkg p {
	color: #000;
}

.white-bkg a {
	color: #666;
}

.gold {
	color: #ecaf1f;
}

.light-gold {
	color: #f9dda9;
}

.made-in-usa {
	text-transform: uppercase;
	letter-spacing: 1px;
}

.made-in-usa img {
	width: 100px;
}

/* ===========================================
   NAVIGATION
   =========================================== */

/* Mobile hamburger menu positioning (unchanged from defaults) */
#show-nav-menu {
	color: #f9dda9;
}

#show-nav-menu:hover,
#show-nav-menu:focus {
	color: #ecaf1f;
}

#nav-search {
	display: flex;
	align-items: center;
}

#main-nav li a {
	font-size: 1em;
	text-transform: uppercase;
	font-family: "proxima-nova", sans-serif;
	font-weight: 400;
	font-style: normal;
}

/* Remove excessive padding that covers logo */

/* DESKTOP ONLY STYLES (900px and up) */
@media (min-width: 900px) {
	
	/* Hide the light logo completely */
	.hb-light-logo {
		display: none !important;
	}
	
	/* Default State - Simple centered layout */
	#header-inner .container {
		text-align: center !important;
		padding: 20px 0;
		display: block !important;
		width: 100% !important;
	}

	#header-inner-bg {
		min-height: 200px !important;
		padding-left: 25px !important;
	}

	.highend-sticky-header  #header-inner,
  .highend-sticky-header  #header-inner-bg {
		height: 60px !important;
    min-height: 60px !important;
	}
	
	#logo {
		text-align: center !important;
		margin-bottom: -20px !important;
		padding-bottom: 15px !important;
		height: auto;
		display: block !important;
		width: 100% !important;
	}

	#logo .hb-visible-logo {
		display: inline-block !important;
	}

	#logo .hb-visible-logo img {
		height: 84px;
		width: auto;
	}
	.highend-sticky-header #logo .hb-visible-logo img {
		height: 40px !important;
		margin-top: 5px;
	}

	/* Navigation centered - including all nav items */
	.main-navigation {
		text-align: center !important;
		width: 100% !important;
		display: block !important;
		clear: both !important;
		float: none !important;
		margin-top: -34px !important;
	}

	#main-nav {
		display: inline-flex !important;
		justify-content: center !important;
		align-items: center !important;
		text-align: center !important;
		margin: 0 auto !important;
		width: auto !important;
		float: none !important;
		position: relative !important;
		left: 0 !important;
		right: 0 !important;
	}

	#main-nav li {
		display: inline-block !important;
		float: none !important;
	}

	/* Taller navigation for non-sticky version */
	#main-nav > li > a {
		padding: 30px 15px !important;
		height: 80px !important;
		line-height: 1.2 !important;
		display: flex !important;
		align-items: center !important;
		box-sizing: border-box !important;
	}

	#main-nav > li > a span {
		padding: 0 !important;
	}

	/* Ensure dropdown menus appear over filter bar */
	#main-nav .sub-menu {
		top: 100% !important;
		z-index: 10010 !important;
	}

	/* STICKY HEADER - Simple layout */
	.highend-sticky-header #header-inner-bg {
		min-height: 60px !important;
		padding-left: 25px !important;
	}

	.highend-sticky-header #header-inner {
		position: relative !important;
	}

	.highend-sticky-header #header-inner .container {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		position: relative;
		height: 60px;
		width: 100% !important;
	}

	/* Hide ALL logo versions except the visible one in sticky */
	.highend-sticky-header #logo .hb-light-logo,
	.highend-sticky-header #logo .hb-light-logo .hb-logo-wrap,
	.highend-sticky-header #logo .hb-light-logo img {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		height: 0 !important;
		width: 0 !important;
		position: absolute !important;
		left: -9999px !important;
	}

	.highend-sticky-header #logo {
		position: absolute !important;
		left: 25px !important;
		top: 5px !important;
		bottom: 0 !important;
		transform: none !important;
		margin: 0 !important;
		height: 50px !important;
		width: auto !important;
		padding: 0 !important;
		display: block !important;
		flex: none !important;
		justify-content: flex-start !important;
		align-items: flex-start !important;
		text-align: left !important;
		z-index: 1000 !important;
		background: transparent !important;
		float: none !important;
	}

	.highend-sticky-header #logo .hb-dark-logo.hb-visible-logo {
		display: block !important;
		height: 60px !important;
		line-height: 60px !important;
		text-align: left !important;
		position: relative !important;
		left: 0 !important;
		top: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.highend-sticky-header #logo .hb-dark-logo.hb-visible-logo .hb-logo-wrap {
		height: 60px !important;
		line-height: 60px !important;
		display: inline-block !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.highend-sticky-header #logo .hb-dark-logo.hb-visible-logo .hb-logo-wrap img {
		height: 40px !important;
		width: auto !important;
		vertical-align: middle !important;
		display: inline-block !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.highend-sticky-header .main-navigation {
		width: 100% !important;
		text-align: center !important;
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
		margin-top: 0 !important;
		height: 60px !important;
	}

	.highend-sticky-header #main-nav {
		display: inline-flex !important;
		justify-content: center !important;
		align-items: center !important;
		text-align: center !important;
		height: 60px !important;
	}

	.highend-sticky-header #main-nav li {
		display: inline-block;
	}

	/* Fix dropdown positioning for sticky header */
	.highend-sticky-header #main-nav .sub-menu {
		top: 70px !important;
	}

	/* Add 1px border to top of main navigation - desktop only, not on sticky header */
	.main-navigation.third-skin.dark-menu-dropdown {
		border-top: .5px solid rgba(255, 255, 255, 0.3);
	}

	/* Remove border on sticky header */
	.highend-sticky-header .main-navigation.third-skin.dark-menu-dropdown {
		border-top: none;
	}
}



.highend-sticky-header #header-inner #header-inner-bg {
	background-color: rgba(0, 0, 0, 0.6);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border-color: transparent !important;
}


.upper-bar {
	font-size: .8em;
}

@media (min-width: 900px) {
	.upper-bar {
		font-size: .5em;
	}
}

#show-nav-menu {
	color: #f9dda9;
}

#show-nav-menu:hover,
#show-nav-menu:focus {
	color: #ecaf1f;
}

nav .emphasized a {
	padding: 15px 15px !important;
	height: auto;
}

.third-skin #main-nav .emphasized a span {
	text-align: center;
	display: inline-block;
	border: 1px solid #f9dda9 !important;
	font-size: .9em;
	color: #f9dda9;
	text-transform: uppercase;
	letter-spacing: .05em;
}

.third-skin #main-nav .emphasized a:hover span,
.third-skin #main-nav .emphasized a:focus span {
	background: #f9dda9;
	color: #222;
}

/* Auth Links */
.auth-links {
	padding-top: 0 !important;
}

.auth-links li {
	display: block !important;
}

.auth-links.upper-bar a {
	font-family: "proxima-nova", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.2em;
	letter-spacing: .06em;
	text-transform: uppercase;
	font-size: 2em;
	color: #666 !important;
}

/* ===========================================
   SEARCH
   =========================================== */



#fancy-search input[type=text] {
	color: #fff;
}

#fancy-search-form #s::placeholder {
	color: #999;
}

#close-fancy-search {
	right: 15px;
}

#close-fancy-search:hover,
#close-fancy-search:focus {
	color: #ecaf1f !important;
}

#fancy-search .ui-autocomplete li i,
#fancy-search .ui-autocomplete li img {
	border-radius: 0;
}

#fancy-search input[type=text] {
	padding-left: 25px;
}

article.search-entry a.search-thumb {
	border-radius: 0px;
}

.hb-spl-thumb img,
article.search-entry a.search-thumb img {
	border-radius: 0px;
}

/* Search Overlay - Hide navigation when search is active */
#fancy-search[style*="display: block"] {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 200px !important;
	background: rgba(0, 0, 0, 0.95) !important;
	z-index: 9999 !important;
	backdrop-filter: blur(5px);
}

.highend-sticky-header 
#fancy-search[style*="display: block"] {
	height: 60px !important;
}

/* Hide navigation when search is visible */
#fancy-search[style*="display: block"] ~ .main-navigation,
#fancy-search[style*="display: block"] ~ #main-nav {
	display: none !important;
}

/* ===========================================
   HOMEPAGE HERO
   =========================================== */

.homepage-hero {
	position: relative;
	overflow: hidden;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 50vh;
	/* background-image: url('/wp-content/uploads/2025/06/fig_image_1_73-scaled.jpg'); */
	background-size: cover;
	text-align: center;
}

.hero-video-wrapper {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 0;
	overflow: hidden;
}

.hero-video {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	height: 100%;
	min-width: 100%;
	transform: translate(-50%, -50%);
	object-fit: cover;
	z-index: 0;
	pointer-events: none;
}

.hero-video-wrapper::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
}

.hero-content {
	position: relative;
	z-index: 2;
	padding: 25px;
	padding-top: 20%;
	max-width: 1200px;
	margin: 0 auto !important;
}

.hero-content .vc_btn3-container {
	margin-right: 15px;
}

.homepage-hero h1,
.homepage-hero h2 {
	text-shadow: 
		5px 5px 25px rgba(0,0,0,.5),
		5px 5px 15px rgba(0,0,0,.5),
		0px 0px 10px rgba(0,0,0,.25);
}

.homepage-hero h2 {
	font-size: 1.8em;
}

/* ===========================================
   PAGE HEADERS
   =========================================== */

#hb-page-title {
	border-bottom: 0px;
}

#hb-page-title.normal-padding .hb-page-title {
	margin-bottom: 3em;
}

#hb-page-title.normal-padding h1 {
	font-size: 3em;
	margin-bottom: .5em;
	line-height: 1.2em;
}

@media (max-width: 900px) {
	#hb-page-title.normal-padding h1 {
		font-size: 2.6em;
	}
}

#hb-page-title.normal-padding.light-text h1,
#hb-page-title.normal-padding.light-text h2 {
	color: #fff;
	text-shadow: 
		5px 5px 25px rgba(0,0,0,.5),
		5px 5px 15px rgba(0,0,0,.5),
		0px 0px 10px rgba(0,0,0,.25);
}

#main-wrapper #hb-page-title.light-text h2 {
	text-transform: none;
	color: #fff !important;
	font-size: 1.25em;
	letter-spacing: 0;
	opacity: 1;
}

/* Breadcrumbs */
#main-content .breadcrumbs {
	font-size: .8em;
	letter-spacing: .1em;
}

.hb-page-title + span {
	text-transform: uppercase;
	display: inline-block;
	font-size: .8em;
	letter-spacing: .1em;
	margin-top: 2em;
	margin-bottom: 1.5em;
}

.hb-page-title + span a {
	color: #f9dda9 !important;
}

.hb-page-title + span a:hover,
.hb-page-title + span a:focus {
	color: #fff !important;
	text-decoration: underline;
}

/* ===========================================
   BUTTONS - CONSOLIDATED & CLEANED
   =========================================== */

/* Base Button Styles */
.archetype-btn,
.forminator-button-submit,
input[type=submit] {
	display: inline-block !important;
	background: #f9dda9 !important;
	padding: 15px;
	border: 1px solid #f9dda9 !important;
	border-radius: 0px;
	transition: all 0.3s ease;
	color: #333 !important;
	width: auto !important;
	box-shadow: none;
	text-transform: uppercase;
	letter-spacing: .1em;
	font-family: "proxima-nova", sans-serif;
	cursor: pointer;
}

.archetype-btn:hover,
.archetype-btn:focus,
.forminator-button-submit:hover,
.forminator-button-submit:focus,
input[type=submit]:hover,
input[type=submit]:focus {
	background: #222 !important;
	color: #f9dda9 !important;
	border-color: #f9dda9 !important;
	box-shadow: 3px 3px 5px rgba(0,0,0, .01) !important;
}

/* Hollow Button Override */
.archetype-btn-hollow {
	background: transparent !important;
	color: #f9dda9 !important;
	border: 1px solid #f9dda9 !important;
}

.archetype-btn-hollow:hover,
.archetype-btn-hollow:focus {
	background: #f9dda9 !important;
	color: #222 !important;
}

/* Visual Composer Button Styles */
.vc_btn3-color-orange {
	color: #000 !important;
	background-color: #f9dda9 !important;
	border: 1px solid #f9dda9 !important; 
	border-radius: 0px;
}

.vc_btn3-color-orange:hover,
.vc_btn3-color-orange:focus {
	background-color: #222 !important;
	color: #f9dda9 !important;
}

/* Product Grid Button Styles */
.archetype-product-grid-item .vc_btn3 {
	font-family: "proxima-nova", sans-serif;
	letter-spacing: .1em;
	border: 1px solid #f9dda9 !important;
	background: rgba(0,0,0, .3) !important;
	border-radius: 0px;
	transition: all 0.3s ease;
}

.archetype-product-grid-item:hover .vc_btn3 {
	border-color: #f9dda9;
	background: #f9dda9 !important;
	color: #222 !important;
	box-shadow: 3px 3px 5px rgba(0,0,0, .01) !important;
}

/* Grid Button Styles */
.vc_grid .vc_btn3-container .vc_btn3 {
	background: transparent;
	border: 1px solid #f9dda9;
	border-radius: 0px;
	color: #f9dda9;
	padding: 4px 8px;
	text-transform: uppercase;
	letter-spacing: 2px;
	font-size: .5em;
	transition: all 0.3s ease;
}

.vc_grid .vc_btn3-container .vc_btn3:hover,
.vc_grid .vc_btn3-container .vc_btn3:focus {
	background-color: #f9dda9;
	color: #222;
}

/* Read More Button */
.hb-post-excerpt .read-more {
	display: inline-block;
	color: #f9dda9 !important;
	border: 1px solid #f9dda9;
	border-radius: 0px;
	padding: 8px 12px;
	text-transform: uppercase;
	letter-spacing: .1em;
	transition: all 0.3s ease;
}

.hb-post-excerpt .read-more:hover,
.hb-post-excerpt .read-more:focus {
	color: #222 !important;
	background: #f9dda9 !important;
}

.below-grid-button-offset {
	margin-top: -130px;
	margin-bottom: 100px;
	z-index: 999 !important;
	position: relative !important;
	pointer-events: auto !important;
}
@media (max-width: 900px) {
	.below-grid-button-offset {
		margin-top: -160px;
		margin-bottom: 50px;
	}
}

/* ===========================================
   PRODUCT CATEGORIES & GRIDS
   =========================================== */

.product-category-grid .wpb_single_image {
	margin-bottom: 0px;
}

/* ===========================================
   HR TAGS & SEPARATORS STYLING
   =========================================== */

/* Regular HR tags */
hr {
	border: none !important;
	height: 1px !important;
	background-color: #ffffff !important;
	margin: 35px 0 !important;
	width: 100% !important;
	transform: scaleX(0);
	transform-origin: center;
	opacity: 0;
	transition: none;
}

/* HR animation when visible */
hr.hr-animate {
	animation: expandFromCenter 0.8s ease-out forwards;
}

/* Visual Composer Separators */
.vc_separator {
	margin: 35px 0 !important;
}

.vc_separator .vc_sep_line {
	height: 1px !important;
	background-color: #ffffff !important;
	border: none !important;
}

/* Center expanding animation */
@keyframes expandFromCenter {
	from {
		transform: scaleX(0);
		opacity: 0;
	}
	to {
		transform: scaleX(1);
		opacity: 0.5;
	}
}

/* Apply animation to VC separators when they appear */
.vc_separator.wpb_animate_when_almost_visible.wpb_appear.wpb_start_animation .vc_sep_line {
	transform: scaleX(0);
	animation: expandFromCenter 0.8s ease-out forwards;
}

/* Ensure the separator holders don't interfere */
.vc_separator .vc_sep_holder {
	overflow: visible;
}

/* White separator color override */
.vc_sep_color_white .vc_sep_line {
	background-color: #ffffff !important;
}

/* Set 50% opacity for Visual Composer separators and HR elements */
.vc_separator.vc_separator_align_center.vc_sep_width_100.vc_sep_pos_align_center.vc_separator_no_text.vc_sep_color_white,
.vc_separator.vc_separator_align_center.vc_sep_width_100.vc_sep_pos_align_center.vc_separator_no_text.vc_sep_color_white .vc_sep_line,
hr {
	opacity: 0.5 !important;
}

/* Ensure animated HR elements also get 50% opacity */
hr.hr-animate {
	opacity: 0.5 !important;
}

.hb-main-content .product-category-grid .archetype-thumbnail-title a {
	display: block;
	color: #ccc;
	text-transform: uppercase;
	letter-spacing: .2em;
	padding: 10px 0px;
}

.hb-main-content .product-category-grid .archetype-thumbnail-title a:hover,
.hb-main-content .product-category-grid .archetype-thumbnail-title a:focus {
	color: #fff;
}

/* Product Grid Items */
.archetype-product-grid-item h2,
.archetype-product-grid-item p {
	color: #fff;
	text-align: center;
	text-shadow: 
		2px 2px 5px rgba(0,0,0,.4),
		5px 5px 15px rgba(0,0,0,.8);
}

@media(max-width: 768px) {
	.archetype-product-grid-item h2 {
		font-size: 1.25em;
	}
	.archetype-product-grid-item p {
		font-size: .8em;
		line-height: 1.1em;
	}
}

.archetype-product-grid-item:hover .vc_gitem-zone::before {
	display: block;
	content: '';
	width: 100%;
	background: rgba(0,0,0,.5);
	transition: all 0.3s ease;
}

.archetype-product-grid-item .vc_gitem-col {
	max-width: 640px;
	margin: 0px auto;
}

/* Visual Composer Grid Styles */
.vc_grid .vc_gitem-zone-c {
	background-color: transparent !important;
}

.vc_grid .vc_custom_heading h4 {
	text-align: center !important;
	text-transform: uppercase;
}

.vc_grid .vc_gitem-post-data-source-post_excerpt {
	text-align: center;
	font-size: .8em;
}

.vc_grid .vc_btn3-container {
	text-align: center;
}

/* ===========================================
   FILTERS
   =========================================== */

/* Reset WPBakery filter styling */
.vc_grid-filter .vc_grid-filter-item,
.vc_grid-filter .vc_grid-filter-item span {
	border-radius: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

/* Base filter styles */
.vc_grid-filter .vc_grid-filter-item span {
	display: inline-block;
	border: 1px solid #f9dda9;
	padding: 6px 12px;
	background-color: #fff;
	color: #444;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
	font-size: 14px;
	margin: 4px;
}

/* Hover and active states */
.vc_grid-filter .vc_grid-filter-item span:hover,
.vc_grid-filter .vc_active span {
	background-color: #f9dda9 !important;
	color: #fff !important;
	border-color: #f9dda9 !important;
	font-weight: normal;
}


/* ===========================================
   PROJECT
   =========================================== */

.project h3 {
  color: #7d7d7d;
  margin-bottom: .1em;
  font-weight: 600;
  letter-spacing: 1px;
}

.project h3 + p {
  margin-top: 0px;
}

/* ===========================================
   BLOG & NEWS
   =========================================== */

.hb-post-date,
.hb-post-date .month {
	border-color: #000;
	font-family: "proxima-nova", sans-serif;
}

.hb-post-date .day,
.hb-post-date .month {
	font-family: "proxima-nova", sans-serif;
}

#hb-blog-posts .post-content,
.hb-related-posts .post-content {
	background: transparent;
}

.hb-main-content .post-header h2 {
	font-size: 2em;
}

.hb-main-content .post-header a:hover,
.hb-main-content .post-header a:focus {
	color: #eee;
}

/* ===========================================
   FORMS
   =========================================== */

.magic-login-form-header {
	color: #333;
}

.forminator-select-dropdown-container--open .forminator-custom-form-13993.forminator-dropdown--material .select2-results .select2-results__options .select2-results__option.select2-results__option--selected {
	background: #f9dda9 !important;
	color: #000 !important;
}

/* ===========================================
   FOOTER
   =========================================== */

#footer {
	font-size: .9em;
}

#footer.dark-style .widget-item h4 {
	font-family: "proxima-nova", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.2em;
	letter-spacing: .06em;
	font-size: 1em;
	color: #666 !important;
	display: block;
}

@media (max-width: 900px) {
	#footer .auth-links.upper-bar a {
		font-size: 1.2em;
	}	
}

#footer .social-icons {
	text-align: left;
}

#footer ul.social-icons {
	display: inline-block;
	clear: both;
}

#footer ul.social-icons a {
	border-radius: 900px;
}

#footer .footer-logo {
	display: inline-block;
	max-width: 100%;
	margin: 15px auto;
}
@media(max-width: 768px) {
	#footer .footer-logo {
		max-width: 320px;
	}
}
#footer .tagline {
	font-size: 0.9em;
	letter-spacing: .1em;
	text-transform: uppercase;
	margin-top: 10px;
	margin-left: 15%;
	text-align: center;
	color: #f9dda9;
}

@media(min-width: 900px) and (max-width: 1000px) {
	#footer .tagline {
		margin-left: 6%;
		font-size: .6em;
	}
}
@media(min-width: 1001px) and (max-width: 1100px) {
	#footer .tagline {
		margin-left: 8%;
		font-size: .7em;
	}
}
@media(min-width: 1101px) and (max-width: 1200px) {
	#footer .tagline {
		margin-left: 8%;
		font-size: .8em;
	}
}


@media(max-width: 768px) {
	#footer .tagline {
		margin-left: 6%;
		font-size: 1em;
	}
}

@media (max-width: 768px) {
	#footer {
		text-align: center;
	}
}


/* ===========================================
   ACCESSIBILITY & UI HELPERS
   =========================================== */

.ui-helper-hidden-accessible {
	position: absolute !important;
	clip: rect(0 0 0 0) !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	border: 0 !important;
}



/* ===== Projects Grid (1 / 2 / 1 / 3 repeating) ===== */
.archetype-projects-grid{
  display:grid;
  grid-template-columns: repeat(6, 1fr); /* 6-col baseline lets us express 1/2/1/3 cleanly */
  gap:24px;
  margin:0 0 48px 0;
}

/* Base card */
.archetype-project-link-box{
  position:relative;
  overflow:hidden;
  background:#000;
  border-radius:0;                 /* remove rounded corners */
}

/* Clickable background panel */
.archetype-project-link-box .archetype-project-link{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16/9;               /* default for full-width cards */
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  transform:translateZ(0);
  transition:transform .35s ease;
  will-change:transform;
}

/* 2-wide cards - match the aspect ratio defined in the grid */
.archetype-project-link-box.is-span-two .archetype-project-link {
  aspect-ratio: 929 / 676;         /* match the grid aspect ratio */
  background-position: center center;
}

/* 3-wide cards - match the aspect ratio defined in the grid */
.archetype-project-link-box.is-span-three .archetype-project-link {
  aspect-ratio: 606 / 844;         /* match the grid aspect ratio */
  background-position: center center;
}
.archetype-project-link-box .archetype-project-link::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.25) 60%, rgba(0,0,0,.15) 100%);
  transition:opacity .35s ease;
}

/* Centered text */
.archetype-project-link-box .archetype-project-box-content{
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center;
  padding:16px 15%;
  color:#fff;
    text-transform: uppercase;

}

/* Typography */
.archetype-project-link-box .archetype-project-title{
  font-weight:400;
  font-size: clamp(1.25rem, 2.5vw, 2.1rem);
  line-height:1.15;
  margin-bottom:.25rem;
  margin-top: 0px;
}
.archetype-project-link-box .archetype-project-subtitle{
  font-size: clamp(1rem, 1.5vw, 1.1rem);
  opacity:.95;
}

.archetype-project-link-box .archetype-project-location{
  font-size: clamp(1.029rem, 2.058vw, 1.829rem);
  opacity:.85;
  margin-top:.5rem;
}

/* Hover affordance */
.archetype-project-link-box .archetype-project-link:hover,
.archetype-project-link-box .archetype-project-link:focus-visible{
  transform:scale(1.03);
}
.archetype-project-link-box .archetype-project-link:hover::before,
.archetype-project-link-box .archetype-project-link:focus-visible::before{
  opacity:.85;
}

/* ===== Pattern mapping - Use PHP-generated classes only ===== */
/* 1) Full width - PHP sets .is-span-all */
.archetype-projects-grid > .archetype-project-link-box.is-span-all {
  grid-column: 1 / -1;            /* span all 6 columns */
}

/* 2) Two across - PHP sets .is-span-two */
/* Aspect ratio: 929w x 676h = 1.374:1 */
.archetype-projects-grid > .archetype-project-link-box.is-span-two {
  grid-column: span 3;
  aspect-ratio: 929 / 676;        /* 929w x 676h responsive aspect ratio */
}

/* 3) Three across - PHP sets .is-span-three */
/* Aspect ratio: 606w x 844h = 0.718:1 */
.archetype-projects-grid > .archetype-project-link-box.is-span-three {
  grid-column: span 2;
  aspect-ratio: 606 / 844;        /* 606w x 844h responsive aspect ratio */
}

/* ===== PROJECT NAVIGATION (PREV/NEXT) ===== */
.archetype-project-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px; /* Added 15px gap between boxes */
  margin: 120px 0 60px 0; /* Added more top margin for proper spacing */
  width: 100%;
  position: relative;
}

.archetype-project-nav .archetype-project-link-box {
  aspect-ratio: 16/9;
  position: relative;
  overflow: hidden;
  /* Apply the mask-image fade to the entire box - fade from 80% to 0% */
  mask-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.80) 0%, rgba(255, 255, 255, 0.0) 100%);
  -webkit-mask-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.80) 0%, rgba(255, 255, 255, 0.0) 100%);
  transition: mask-image 0.6s ease, -webkit-mask-image 0.6s ease;
}

/* On hover, make the boxes more visible */
.archetype-project-nav .archetype-project-link-box:hover {
  mask-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0.25) 100%);
  -webkit-mask-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0.25) 100%);
}

.archetype-project-nav .archetype-project-link-box .archetype-project-link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: transform 0.35s ease;
}

/* Text overlay for better readability */
.archetype-project-nav .archetype-project-link-box .archetype-project-link::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, 
    rgba(0,0,0,0.6) 0%, 
    rgba(0,0,0,0.4) 25%, 
    rgba(0,0,0,0.3) 50%, 
    rgba(0,0,0,0.2) 75%, 
    rgba(0,0,0,0.1) 100%);
  pointer-events: none;
}

.archetype-project-nav .archetype-project-link-box .archetype-project-box-content {
  position: absolute;
  top: 20px;
  left: 30px;
  right: 30px;
  color: #fff;
  text-align: left;
  z-index: 2;
}

.archetype-project-nav .archetype-project-intro {
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  opacity: 0.9;
  margin-bottom: 8px;
  font-weight: 500;
}

.archetype-project-nav .archetype-project-title {
  font-size: clamp(1.2rem, 3vw, 2rem);
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: 4px;
  color: #fff;
}

.archetype-project-nav .archetype-project-subtitle {
  font-size: clamp(0.9rem, 2vw, 1.1rem);
  opacity: 0.9;
  margin-bottom: 2px;
}

.archetype-project-nav .archetype-project-location {
  font-size: clamp(0.85rem, 1.8vw, 1rem);
  opacity: 0.8;
}

/* Hover effects */
.archetype-project-nav .archetype-project-link-box .archetype-project-link:hover {
  transform: scale(1.02);
}

/* Mobile responsive */
@media (max-width: 768px) {
  .archetype-project-nav {
    grid-template-columns: 1fr;
    gap: 15px; /* Keep same gap on mobile */
    margin: 80px 0 40px 0; /* Reduced spacing for mobile */
  }
  
  .archetype-project-nav .archetype-project-link-box {
    aspect-ratio: 2/1;
  }
  
  .archetype-project-nav .archetype-project-link-box .archetype-project-box-content {
    top: 15px;
    left: 20px;
    right: 20px;
  }
}

/* ===== Responsive ===== */
/* Keep the 6-col baseline down to tablets so the pattern holds nicely */
@media (max-width: 980px){
  .archetype-projects-grid{ gap:20px; }
}

/* On small screens, just stack (one per row) */
@media (max-width: 680px){
  .archetype-projects-grid{
    grid-template-columns: 1fr;
    gap:16px;
  }
  .archetype-projects-grid > .archetype-project-link-box{
    grid-column: 1 / -1 !important; /* override spans; single column */
  }
  .archetype-project-link-box .archetype-project-title{ font-size:clamp(1.1rem, 5.5vw, 1.45rem); }
  .archetype-project-link-box .archetype-project-subtitle{ font-size:clamp(.905rem, 4vw, 1.05rem); }
  .archetype-project-link-box .archetype-project-location{ font-size:clamp(.905rem, 4vw, 1.05rem); }
}

/* ===========================================
   PRODUCT GRID 4:3 ASPECT RATIO ENFORCEMENT
   =========================================== */

/* Force 4:3 aspect ratio for all product images in grids */
.archetype-grid-item .product-thumb,
.archetype-grid-item .product-thumb a,
.faded-product-image {
  aspect-ratio: 4/3 !important;
  overflow: hidden;
  position: relative;
  background: #000;
}

/* Ensure images fill the 4:3 container using object-fit: cover */
.archetype-grid-item .product-thumb img,
.archetype-grid-item .product-thumb video.featured-video,
.faded-product-image img,
.faded-product-image video.featured-video {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 4/3 !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block;
  margin: 0 !important;
}

/* Maintain existing hover effects for images and videos */
.archetype-grid-item .product-thumb a:hover img,
.archetype-grid-item .product-thumb a:hover video.featured-video {
  opacity: 1;
  transform: scale(1.05);
  filter: brightness(1.1);
  transition: all 0.3s ease;
}

/* Keep the reflection/sheen effect */
.archetype-grid-item .product-thumb a::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.24), transparent);
  transition: left 0.5s ease;
  z-index: 1;
  pointer-events: none;
}

.archetype-grid-item .product-thumb a:hover::before {
  left: 100%;
}

/* Featured products - ensure consistency */
.feature-products-primary .archetype-grid-item .product-thumb,
.feature-products-primary .archetype-grid-item .product-thumb a,
.feature-products-faded .feature-product-faded-item .faded-product-image {
  aspect-ratio: 4/3 !important;
}

/* Ensure hover effects work on featured products too - images and videos */
.feature-products-primary .archetype-grid-item .product-thumb a:hover img,
.feature-products-primary .archetype-grid-item .product-thumb a:hover video.featured-video,
.feature-products-faded .feature-product-faded-item .faded-product-image:hover img,
.feature-products-faded .feature-product-faded-item .faded-product-image:hover video.featured-video {
  transform: scale(1.05);
  filter: brightness(1.1);
  transition: all 0.3s ease;
}

/* ===========================================
   FAVORITES/COLLECTION BAR 4:3 THUMBNAILS
   =========================================== */

/* Force 4:3 aspect ratio for favorites bar thumbnails */
.favorites-thumb .image-container,
.favorites-thumb .image-container a {
  aspect-ratio: 4/3 !important;
  width: 80px !important;
  height: 60px !important; /* 80px * (3/4) = 60px for 4:3 ratio */
  overflow: hidden;
  position: relative;
  background: #000;
}

/* Ensure images and videos fill the 4:3 container using object-fit: cover */
.favorites-thumb .image-container img,
.favorites-thumb .image-container video.featured-video,
.favorites-thumb img,
.favorites-thumb video.featured-video {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 4/3 !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block;
  margin: 0 !important;
  border: 1px solid #444 !important;
}

/* Maintain existing hover effects for favorites - images and videos */
.favorites-thumb .image-container a:hover img,
.favorites-thumb .image-container a:hover video.featured-video,
.favorites-thumb a:hover img,
.favorites-thumb a:hover video.featured-video {
  transform: scale(1.05);
  filter: brightness(1.1);
  transition: all 0.3s ease;
}

/* Keep the reflection/sheen effect for favorites */
.favorites-thumb .image-container a::before,
.favorites-thumb a:has(img)::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.24), transparent);
  transition: left 0.5s ease;
  z-index: 1;
  pointer-events: none;
}

.favorites-thumb .image-container a:hover::before,
.favorites-thumb a:has(img):hover::before {
  left: 100%;
}

/* Fallback for existing structure without .image-container */
.favorites-thumb:not(.image-container) img {
  width: 80px !important;
  height: 60px !important;
  aspect-ratio: 4/3 !important;
  object-fit: cover !important;
  object-position: center !important;
  margin-bottom: 2px;
  border: 1px solid #444;
}

