/*** RESET ***/
:root{
	--gw800: #FF2E70;
	--gw700: #FF9000;
	--gw600: #FFC600;
	--gw500: #00B4BD;
	--gw400: #9366DD;
	--gw300: #89F262;
	--gw200: #19E4FF;

	/* Neutral palette */
	--neutralWhite: #FFFFFF;
	--neutral100: #FAF9FF;
	--neutral150: #BABABA;
	--neutral200: #878787;
	--neutral300: #353537;
	--neutral400: #1B1B1B;
	--neutral500: #06070E;

	--customColor400: #9BB2EE;
	--customColor500: #2E62E4;
	--customColor550: #2756cc;
	--customColor600: #EA4335;

	--primaryFont: "Inter", sans-serif;
	--secondaryFont: "Monda", sans-serif;

	--wp--preset--font-size--small: 12px;
	--wp--preset--font-size--medium: 20px;
	--wp--preset--font-size--large: 24px;
	--wp--preset--font-size--x-large: 36px;
	--wp--preset--font-size--xx-large: 48px;

	--wp--preset--spacing--20: 30px;
	--wp--preset--spacing--30: 50px;
	--wp--preset--spacing--40: 70px;
	--wp--preset--spacing--50: 90px;
	--wp--preset--spacing--60: 130px;
	--wp--preset--spacing--70: 180px;
	--wp--preset--spacing--80: 220px;

	--containerWidth: 1290px;
	--headerHeight: 65px;
}

*{
	box-sizing: border-box;
}
html,body{
	margin:0;
	padding:0;
	font-size:16px;
	line-height:100%;
}

body{
	line-height: 100%;
	font-family: var(--primaryFont);
	color: var(--neutralWhite);
	background: var(--neutral500);
}
h1,
h2,
h3,
h4,
h5{
	margin: 0 0 10px 0;
	line-height: 100%;
	font-family: var(--secondaryFont);
}
p{
	font-size: 14px;
	margin: 0 0 20px 0;
	line-height: 150%;
	font-weight: 300;
}
ul, ol{
	font-size: 14px;
	line-height: 150%;
	margin: 0 0 20px 0;
	font-weight: 300;
}
p:last-child,
ul:last-child,
ol:last-child{
	margin-bottom: 0;
}
ul:empty,
ol:empty,
li:empty,
p:empty{
	display: none;
}
strong{
	font-weight: 600;
}
img{
	max-width: 100%;
	border:none;
	outline:none;
}
a{
	color: currentColor;
}
a, a:hover{
	text-decoration:none
}
input,
select,
textarea,
button{
	font-family: var(--primaryFont);
	outline: none;
}
::-webkit-scrollbar {
	width: 5px;
}
::-webkit-scrollbar-track {
	background: rgba(255, 255, 255, 0.1);
}
::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, 0.2);
}

/*** WP BLOCKS ***/

/* PADDING */
.padding-all-preset-spacing-0{
	padding: 0;
}
.padding-all-preset-spacing-20{
	padding: var(--wp--preset--spacing--20);
}
.padding-all-preset-spacing-30{
	padding: var(--wp--preset--spacing--30);
}
.padding-all-preset-spacing-40{
	padding: var(--wp--preset--spacing--40);
}
.padding-all-preset-spacing-50{
	padding: var(--wp--preset--spacing--50);
}
.padding-all-preset-spacing-60{
	padding: var(--wp--preset--spacing--60);
}
.padding-all-preset-spacing-70{
	padding: var(--wp--preset--spacing--70);
}
.padding-all-preset-spacing-80{
	padding: var(--wp--preset--spacing--80);
}
.padding-top-preset-spacing-0{
	padding-top: 0;
}
.padding-top-preset-spacing-20{
	padding-top: var(--wp--preset--spacing--20);
}
.padding-top-preset-spacing-30{
	padding-top: var(--wp--preset--spacing--30);
}
.padding-top-preset-spacing-40{
	padding-top: var(--wp--preset--spacing--40);
}
.padding-top-preset-spacing-50{
	padding-top: var(--wp--preset--spacing--50);
}
.padding-top-preset-spacing-60{
	padding-top: var(--wp--preset--spacing--60);
}
.padding-top-preset-spacing-70{
	padding-top: var(--wp--preset--spacing--70);
}
.padding-top-preset-spacing-80{
	padding-top: var(--wp--preset--spacing--80);
}
.padding-bottom-preset-spacing-0{
	padding-bottom: 0;
}
.padding-bottom-preset-spacing-20{
	padding-bottom: var(--wp--preset--spacing--20);
}
.padding-bottom-preset-spacing-30{
	padding-bottom: var(--wp--preset--spacing--30);
}
.padding-bottom-preset-spacing-40{
	padding-bottom: var(--wp--preset--spacing--40);
}
.padding-bottom-preset-spacing-50{
	padding-bottom: var(--wp--preset--spacing--50);
}
.padding-bottom-preset-spacing-60{
	padding-bottom: var(--wp--preset--spacing--60);
}
.padding-bottom-preset-spacing-70{
	padding-bottom: var(--wp--preset--spacing--70);
}
.padding-bottom-preset-spacing-80{
	padding-bottom: var(--wp--preset--spacing--80);
}

/* GRADIENT */
.gradient-gw400-to-gw700{
	background: linear-gradient(120deg, var(--gw400) 0%, var(--gw700) 100%);
}
.gradient-gw400-to-gw700-revert{
	background: linear-gradient(120deg, var(--gw700) 0%, var(--gw400) 100%);
}

/* IMAGES */
:root :where(.wp-block-image.is-style-rounded img,.wp-block-image .is-style-rounded img){
	border-radius: 8px;
}
.wp-block-video{
	border-radius: 8px;
	overflow: hidden;
}
.wp-block-video:last-child{
	margin-bottom: 0;
}

/* QUOTES */
.wp-block-quote{
	margin: 30px 0;
	padding: 0 0 0 30px;
	border-left: 4px solid var(--neutral300);
}
.wp-block-quote p{
	color: var(--neutral400);
	opacity: 0.8;
}

/* SEPARATORS */
.wp-block-separator{
	width: 100%;
	max-width: 1170px;
	margin:10px auto;
	border-width: 1px 0 0 0;
	border-style: solid;
	border-color: rgba(0, 0, 0, 0.1);
}
.wp-block-separator.has-neutral-100-background-color{
	border-color: var(--neutral100);
}
.wp-block-separator.has-neutral-200-background-color{
	border-color: var(--neutral200);
}
.wp-block-separator.has-neutral-300-background-color{
	border-color: var(--neutral300);
}
.wp-block-separator.has-neutral-400-background-color{
	border-color: var(--neutral400);
}
.wp-block-separator.has-neutral-500-background-color{
	border-color: var(--neutral500);
}

/*** TEXT COLORS ***/
/* GW Palette Colors */
.text-color---gw200{ color: var(--gw200); }
.text-color---gw300{ color: var(--gw300); }
.text-color---gw400{ color: var(--gw400); }
.text-color---gw500{ color: var(--gw500); }
.text-color---gw600{ color: var(--gw600); }
.text-color---gw700{ color: var(--gw700); }
.text-color---gw800{ color: var(--gw800); }

/* Neutral Colors */
.text-color---neutralWhite{ color: var(--neutralWhite); }
.text-color---neutral100{ color: var(--neutral100); }
.text-color---neutral150{ color: var(--neutral150); }
.text-color---neutral200{ color: var(--neutral200); }
.text-color---neutral300{ color: var(--neutral300); }
.text-color---neutral400{ color: var(--neutral400); }
.text-color---neutral500{ color: var(--neutral500); }

/* Custom Colors */
.text-color---customColor400{ color: var(--customColor400); }
.text-color---customColor500{ color: var(--customColor500); }
.text-color---customColor600{ color: var(--customColor600); }

/*** BACKGROUND COLORS ***/
.bg-color---gw200{ background-color: var(--gw200); }
.bg-color---gw300{ background-color: var(--gw300); }
.bg-color---gw400{ background-color: var(--gw400); }
.bg-color---gw500{ background-color: var(--gw500); }
.bg-color---gw600{ background-color: var(--gw600); }
.bg-color---gw700{ background-color: var(--gw700); }
.bg-color---gw800{ background-color: var(--gw800); }

/* Neutral Colors */
.bg-color---neutralWhite{ background-color: var(--neutralWhite); }
.bg-color---neutral100{ background-color: var(--neutral100); }
.bg-color---neutral150{ background-color: var(--neutral150); }
.bg-color---neutral200{ background-color: var(--neutral200); }
.bg-color---neutral300{ background-color: var(--neutral300); }
.bg-color---neutral400{ background-color: var(--neutral400); }
.bg-color---neutral500{ background-color: var(--neutral500); }

/* Custom Colors */
.bg-color---customColor400{ background-color: var(--customColor400); }
.bg-color---customColor500{ background-color: var(--customColor500); }
.bg-color---customColor600{ background-color: var(--customColor600); }

/*** GRAVITY FORMS ***/
.gform_description:empty,
.gform_heading,
.gf_progressbar_wrapper{
	display: none !important;
}

/*** MISC ***/
.container{
	max-width: var(--containerWidth);
}
.wp-element-button,
.button{
	--btnColor: var(--customColor500);
	--btnColorHover: var(--customColor550);
	--btnTextColor: var(--neutralWhite);
	--btnTextColorHover: var(--neutralWhite);
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	gap: 10px;
	background: var(--btnColor);
	color: var(--btnTextColor);
	border-radius: 4px;
	border: none;
	cursor: pointer;
	font-size: 14px;
	padding: 12px 18px;
	line-height: 20px;
	transition: all 0.3s;
}
.wp-element-button.has-border-color{
	padding-block:11px;
}
.wp-element-button:hover,
.button:hover{
	background: var(--btnColorHover);
	color: var(--btnTextColorHover);
}
.is-style-outline .wp-element-button,
.outline_button.button{
	background: none;
	border:1px solid currentColor;
	color: currentColor;
}
.is-style-outline .wp-element-button:hover,
.outline_button.button:hover{
	background: var(--btnColor);
	color: var(--btnTextColor);
}
.is-style-readmore .wp-element-button{
	--btnTextColor: var(--customColor500);
	--btnTextColorHover: var(--customColor600);
	font-weight: 800;
	background: none;
	padding: 0;
}
.is-style-readmore .wp-element-button::after{
	content: '';
	width: 18px;
	height: 22px;
	background: url(../images/button_arrow.svg) no-repeat center center / contain;
}
.is-style-big_button .wp-element-button{
	width: 190px;
}
.is-style-white_outline_button .wp-element-button{
	background: none;
	border:1px solid #4F4F4F;
	color: var(--neutralWhite);
}
.is-style-white_outline_button .wp-element-button:hover{
	background: var(--neutralWhite);
	color: var(--neutral500);
}
.is-style-black_button .wp-element-button,
.button.black_button{
	border-radius: 4px;
	border: 1px solid var(--neutral300);
	background: rgba(104, 104, 104, 0.10);
}
.is-style-black_button .wp-element-button:hover,
.button.black_button:hover{
	background: var(--neutral500);
}

/*** BUTTON COLORS ***/
.white_button{
	--btnColor: var(--neutralWhite);
	--btnColorHover: #f0f0f0;
	--btnTextColor: var(--neutral500);
	--btnTextColorHover: var(--neutral500);
}
.search_icon{
	display: inline-block;
	width: 16px;
	height: 16px;
	background: url(../images/search.svg) no-repeat center center / contain;
}
.is-style-section_title{
	font-size: 38px;
	font-weight: 500;
	line-height: 110%;
	letter-spacing: -0.76px;
}
h1.is-style-section_title{
	font-size: 62px;
}
.is-style-section_subtitle{
	font-size: 24px;
	font-weight: 600;
	line-height: 130%;
	letter-spacing: -0.48px;
}
.wp-block-cover.is-style-default_gradient{
	position: relative;
}
.wp-block-cover.is-style-default_gradient::after{
	content: '';
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(6, 7, 14, 0.00) 50%, rgba(6, 7, 14, 1) 100%), linear-gradient(180deg, rgba(6, 7, 14, 0.00) 60.57%, rgba(6, 7, 14, 1) 100%), linear-gradient(0deg, rgba(6, 7, 14, 0.00) 87.19%, rgba(6, 7, 14, 0.19) 100%), linear-gradient(0deg, rgba(6, 7, 14, 0.30) 0%, rgba(6, 7, 14, 0.30) 100%);
}
.wp-block-cover.is-style-default_gradient .wp-block-cover__inner-container{
	position: relative;
	z-index: 2;
}

.wp-block-cover.is-style-half_gradient,
.wp-block-cover.is-style-half_gradient_right{
	position: relative;
}
.wp-block-cover.is-style-half_gradient .wp-block-cover__inner-container,
.wp-block-cover.is-style-half_gradient_right .wp-block-cover__inner-container{
	position: relative;
	z-index: 2;
}
.wp-block-cover.is-style-half_gradient .wp-block-cover__image-background{
	width: 75%;
    left: 25%;
}
.wp-block-cover.is-style-half_gradient_right .wp-block-cover__image-background{
	width: 75%;
    right: 25%;
}
.wp-block-cover.is-style-half_gradient::after{
	content: '';
    position: absolute;
    top: 0;
    left: 25%;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, var(--neutral500) 0%, rgba(6, 7, 14, 0.00) 100%);
}
.wp-block-cover.is-style-half_gradient_right::after{
	content: '';
    position: absolute;
    top: 0;
    right: 25%;
    width: 100%;
    height: 100%;
    background: linear-gradient(to left, var(--neutral500) 0%, rgba(6, 7, 14, 0.00) 100%);
}
.over_section{
	position: relative;
	z-index: 10;
}

/*** HEADER ***/
.header_placeholder{
	height: var(--headerHeight);
}
#header{
	position: fixed;
	top:0;
	left:0;
	color: var(--neutralWhite);
	transition: background-color 0.5s;
	z-index: 99;
}
.float_active #header{
	background-color: var(--neutral500);
}
.admin-bar #header{
	top: 32px;
}
#header_main{
	height: var(--headerHeight);
}
#header_logo{
	display: inline-block;
	width: 157px;
	max-width: 100%;
}

/*** HEADER MENU ***/
.header_menu{
	list-style: none;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: -0.28px;
	margin: 0;
	padding: 0;
	gap: 24px;
}

/*** MOBILE MENU ***/
#menu_trigger{
	position: relative;
	width: 30px;
	height: 30px;
	cursor: pointer;
}
#menu_trigger::after{
	content: '';
	position: absolute;
	top:calc(50% - 1px);
	left: 50%;
	width: 25px;
	height: 2px;
	background:currentColor;
	transition:all 0.5s;
	transform: translateX(-50%);
}
.menu_open #menu_trigger::after{
	transform: translateX(100%);
	opacity: 0;
}
#menu_trigger i{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 25px;
	height: 16px;
	transform: translate(-50%, -50%);
}
#menu_trigger i::before{
	content: '';
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 2px;
	background:currentColor;
	transition:all 0.5s;
}
.menu_open #menu_trigger i::before{
	transform: translate(0px, 6px) rotate(45deg);
}
#menu_trigger i::after{
	content: '';
	position: absolute;
	bottom:0;
	left: 0;
	width: 100%;
	height: 2px;
	background:currentColor;
	transition:all 0.5s;
}
.menu_open #menu_trigger i::after{
	transform: translate(0px, -8px) rotate(-45deg);
}

#mobile_menu_wrapper{
	position: fixed;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	background: rgba(6, 7, 14, 0.8);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	z-index: 90;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s;
}
.menu_open #mobile_menu_wrapper{
	opacity: 1;
	visibility: visible;
}
#mobile_menu{
	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%, -50%);
	list-style: none;
	gap: 30px;
	line-height: 100%;
	font-size: 30px;
	font-weight: 400;
	letter-spacing: -0.6px;
}

/*** FOOTER ***/
#footer{
	border-top: 1px solid rgba(255, 255, 255, 0.20);
	background: #0C0C0E;
	padding: 85px 0 0 0;
}
#footer_bottom_bar{
	padding: 50px 0;
    font-size: 16px;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.30);
}
.widget_title{
	color: var(--customColor400);
	font-family: var(--primaryFont);
	font-size: 16px;
	font-weight: 400;
	line-height: 150%;
	letter-spacing: -0.32px;
	margin-bottom: 20px;
}
.widget_menu{
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 16px;
	font-weight: 300;
	line-height: 150%;
	letter-spacing: -0.32px;
}

/*** COVER SLIDER ***/
.cover_slider_section{
	height: 100vh;
	position: relative;
}
.cover_slider_section::before{
	content: '';
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.80) 0%, rgba(0, 0, 0, 0.00) 50%), linear-gradient(180deg, rgba(0, 0, 0, 0.00) 45%, #000 100%);
	z-index: 2;
}
.admin-bar .cover_slider_section{
	height: calc(100vh - 32px);
}
.cover_slider_swiper{
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
}
.cover_slider_image{
	height: 100vh;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.cover_slider_section .container{
	position: relative;
	z-index: 2;
}
.cover_slider_nav{
	width: 40px;
	height: 40px;
	background-color:var(--neutralWhite);
	background-image: url(../images/next.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 16px;
	border:1px solid var(--neutralWhite);
	border-radius: 50%;
	cursor: pointer;
}
.cover_slider_nav_prev{
	transform:scaleX(-1);
}
.cover_slider_navigation{
	gap: 15px;
}
.cover_slider_navigation_component .swiper-pagination{
	position: relative;
    bottom: inherit;
    top: inherit;
    margin-top: 30px;
	--swiper-pagination-bullet-width:10px;
	--swiper-pagination-bullet-height:10px;
	--swiper-pagination-color:var(--neutralWhite);
	--swiper-pagination-bullet-inactive-color:var(--neutralWhite);
	--swiper-pagination-bullet-inactive-opacity: 0.3;
	--swiper-pagination-bullet-opacity:1;
	--swiper-pagination-bullet-horizontal-gap:7px;
}
.hero_filters_component{
	padding: 20px;
	border-radius: 8px;
	border: 1px solid rgba(255, 255, 255, 0.29);
	background: rgba(27, 27, 27, 0.30);
	backdrop-filter: blur(50px);
}
.hero_filters_component .filter_label{
	color: var(--neutral200);
	font-size: 10px;
	font-weight: 400;
	line-height: 200%;
	letter-spacing: -0.2px;
}
.filter_section_trigger{
	font-size: 14px;
	font-weight: 400;
	line-height: 140%;
	letter-spacing: -0.28px;
	cursor: pointer;
}
.filter_section_trigger::after{
	content: '';
	position: absolute;
	top:50%;
	right:0;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	background-image: url(../images/chevron-down.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: all 0.3s;
}
.open .filter_section_trigger::after{
	transform: translateY(-50%) rotate(180deg);
}
.filter_selector{
	position: relative;
}
.filter_section_list{
	position: absolute;
	top: calc(100% + 5px);
	left: 0;
	width: 100%;
	list-style: none;
	padding: 0;
	margin: 0;
	border-radius: 4px;
	border: 1px solid var(--neutral300);
	background: rgba(6, 7, 14, 0.95);
	box-shadow: 0px 2px 30px 0px rgba(0, 0, 0, 0.50);
	padding: 20px;
	z-index: 9;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: all 0.3s;
}
.filter_selector.open .filter_section_list{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.search_button{
	width: 150px;
}

/*** CAR CARD ***/
.car_card{
	border:1px solid var(--neutral300);
	border-radius: 4px;
}
.car_featured_image{
	aspect-ratio: 10 / 7;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	border-radius: 4px 4px 0 0;
}
.car_card_info{
	padding: 20px;
}
.car_card .wp-block-post-title{
	font-size: 14px;
	font-weight: 400;
	letter-spacing: -0.28px;
}
.car_card .meta_price{
	font-size: 28px;
	font-weight: 700;
	line-height: 130%;
	letter-spacing: -0.56px;
	font-family: var(--secondaryFont);
}
.car_card_main_info{
	font-size: 14px;
	font-weight: 400;
	line-height: 140%;
	letter-spacing: -0.28px;
}
.car_card_button_component{
	margin-block-start: 30px !important;
}
.car_card_button{
	width: 100%;
	padding: 12px 18px;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	border: 1px solid var(--neutral300);
	background: rgba(104, 104, 104, 0.10);
}
.car_card_table_info_item_value{
	font-size: 14px;
	font-weight: 400;
	letter-spacing: -0.28px;
}
.car_card_table_info_item_label{
	width: 50px;
	color: rgba(255, 255, 255, 0.50);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: -0.28px;
}

/*** MAP COMPONENT ***/
.map_component{
	height: 100%;
}

/*** GOOGLE REVIEWS GRID COMPONENT ***/
.google_review_card_author_photo{
	width: 42px;
	height: 42px;
}
.google_review_card_author_photo img{
	width: 100%;
	border-radius: 50%;
}
.google_review_card{
	border-radius: 8px;
	border: 1px solid var(--neutral300);
	background: linear-gradient(135deg, rgba(0,0,0,0) 65%, rgba(114,114,114,0.3) 100%);
	padding: 20px;
}
.google_review_card_author_name{
	font-size: 14px;
	font-weight: 400;
	letter-spacing: -0.28px;
}
.google_review_card_time_ago{
	color: rgba(255, 255, 255, 0.50);
	font-size: 12px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: -0.24px;
}
.google_review_card_content{
	height: 180px;
	overflow: hidden;
	mask: linear-gradient(to top, rgba(0, 0, 0, 0.00) 10%, #000 30%);
}
.google_review_card.open .google_review_card_content{
	height: auto;
	mask: none;
}


.google_review_card_content p{
	font-size: 14px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: -0.28px;
}
.google_review_card_content_more_link{
	font-size: 12px;
	font-weight: 300;
	opacity: 0.8;
	transition: all 0.3s;
}
.google_review_card_content_more_link:hover{
	opacity: 1;
}

.google_stars{
	display: inline-block;
	position: relative;
	width: 101px;
	height: 16px;
	background-image: url(../images/stars_fill_gray.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.google_stars::before{
	content: '';
	position: absolute;
	top:0;
	left:0;
	width: var(--rating);
	height: 100%;
	background-image: url(../images/stars_fill.svg);
}
.icon_box .wp-block-heading{
	font-size: 22px;
	font-weight: 500;
	line-height: 130%;
	letter-spacing: -0.44px;
}
.small_icon_box .wp-block-heading{
	font-size: 22px;
	font-weight: 500;
	line-height: 130%;
	letter-spacing: -0.44px;
}
.accordion_item_component{
	padding: 0 16px;
	border-top: 1px solid var(--neutral300);
}
.accordion_item_component:last-child{
	border-bottom: 1px solid var(--neutral300);
}
.accordion_item_header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding:15px 0;
	cursor: pointer;
}
.accordion_item_header::after{
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	background-image: url(../images/chevron-down.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: all 0.3s;
}
.open .accordion_item_header::after{
	transform: rotate(180deg);
}
.accordion_item_component .wp-block-heading{
	font-size: 14px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: -0.28px;
	font-family: var(--primaryFont);
}
.accordion_item_content{
	border-top: 1px solid var(--neutral300);
	padding: 15px 0;
	display: none;
}
.accordion_item_content p{
	color: rgba(255, 255, 255, 0.9);
	font-size: 13px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: -0.26px;
}

/*** BACKGROUND MAP COMPONENT ***/
.background_map_component_map{
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.background_map_component_map::after{
	content: '';
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 84.5%, #000 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.00) 87.19%, rgba(0, 0, 0, 0.19) 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0.50) 100%);
	z-index: 1;
	pointer-events: none;
}
.background_map_component .container{
	position: relative;
	z-index: 5;
}

/*** STEPS FORMS ***/
#form_steps{
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
}
#form_steps li{
	position: relative;
	padding: 14px 20px;
	color: #FFF;
	font-size: 14px;
	font-weight: 400;
	line-height: 140%;
	letter-spacing: -0.28px;
	border-left: 1px solid var(--neutral300);
}
#form_steps li::before{
	content: '';
	position: absolute;
	top:0;
	left:0;
	width: 2px;
	height: 100%;
	background: var(--customColor500);
	opacity: 0;
}
#form_steps li.active::before{
	opacity: 1;
}
.form_wrapper .gform_wrapper.gravity-theme .gform_fields {
    grid-row-gap: 20px;
}
.form_wrapper .gform_wrapper.gravity-theme input[type=text],
.form_wrapper .gform_wrapper.gravity-theme input[type=email],
.form_wrapper .gform_wrapper.gravity-theme input[type=tel],
.form_wrapper .gform_wrapper.gravity-theme input[type=number],
.form_wrapper .gform_wrapper.gravity-theme select,
.form_wrapper .gform_wrapper.gravity-theme textarea{
	height: 44px;
	padding: 10px 16px;
	border-radius: 5px;
	border: 1px solid #38393E;
	background: rgba(104, 104, 104, 0.10);
	color: var(--neutralWhite);
}
.form_wrapper .gform_wrapper.gravity-theme input[type=text]:focus,
.form_wrapper .gform_wrapper.gravity-theme input[type=email]:focus,
.form_wrapper .gform_wrapper.gravity-theme input[type=tel]:focus,
.form_wrapper .gform_wrapper.gravity-theme input[type=number]:focus,
.form_wrapper .gform_wrapper.gravity-theme select:focus,
.form_wrapper .gform_wrapper.gravity-theme textarea:focus{
	border-color: var(--customColor500);
}
.form_wrapper .gform_wrapper.gravity-theme input[type=text]::placeholder,
.form_wrapper .gform_wrapper.gravity-theme input[type=email]::placeholder,
.form_wrapper .gform_wrapper.gravity-theme input[type=tel]::placeholder,
.form_wrapper .gform_wrapper.gravity-theme input[type=number]::placeholder,
.form_wrapper .gform_wrapper.gravity-theme select::placeholder,
.form_wrapper .gform_wrapper.gravity-theme textarea::placeholder{
	color: #A4A4A4;
}
.form_wrapper .gform_wrapper.gravity-theme .gfield_label{
	color: #FFF;
	font-size: 14px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: -0.28px;
}
.form_wrapper .button {
    padding: 12px 35px;
}
#contact_form_wrapper{
	position: relative;
	z-index: 10;
}

/*** INVENTORY PAGE FILTERS COMPONENT ***/
.search_field_input{
	width: 100%;
	height: 45px;
	border-radius: 4px;
	background-color: var(--neutral400);
	background-image: url(../images/search_gray.svg);
	background-size: 20px;
	background-repeat: no-repeat;
	background-position: 15px center;
	color: var(--neutralWhite);
	padding: 0 15px 0 45px;
	border: none;
	outline: none;
	font-size: 14px;
	font-weight: 400;
	line-height: 140%;
}
.filter_item{
	position: relative;
}
.filters_wrapper{
	padding: 24px 0;
	border-bottom: 1px solid var(--neutral300);
}
.filters_sort_wrapper{
	padding: 24px 0;
}
.filter_box{
	position: absolute;
	top: 100%;
	left: 0;
	width: 250px;
	max-height: calc(100vh - 300px);
    overflow: auto;
	padding: 20px;
	border-radius: 4px;
	background-color: var(--neutral400);
	border: 1px solid var(--neutral300);
	transform: translateY(10px);
	z-index: 10;
	transition: all 0.3s;
	opacity: 0;
	visibility: hidden;
}
.filters_wrapper .row > *:last-child .filter_box{
	right: 0;
	left: auto;
}
.open .filter_box{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.filter_box.md_box{
	width: 330px;
}
.filter_label{
	font-size: 13px;
	font-weight: 400;
	letter-spacing: -0.26px;
	margin-bottom: 6px;
}
.filter_box select,
.filter_box input[type="text"],
.filter_box input[type="number"]{
	width: 100%;
	height: 45px;
	border-radius: 4px;
	border: 1px solid var(--neutral300);
	background: rgba(104, 104, 104, 0.10);
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url(../images/chevron-down.svg);
	background-size: 20px;
	background-repeat: no-repeat;
	background-position: right 15px center;
	color: var(--neutralWhite);
	padding: 0 15px;
	font-size: 14px;
	font-weight: 400;
}
.filter_box input[type="text"],
.filter_box input[type="number"]{
	background-image: none;
}
.filter_trigger{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 5px 0;
	cursor: pointer;
}
.filter_trigger::after{
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	background-image: url(../images/chevron-down.svg);
	background-size: contain;
	background-position: center;
	transform: rotate(0deg);
	transition: all 0.3s;
}
.filter_count{
	font-size: 14px;
	color: var(--neutralWhite);
}
.filter_count_label{
	color: rgba(255, 255, 255, 0.50);
}
.sort_by_label{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	padding: 10px 0;
	cursor: pointer;
}
.sort_by_label::after{
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	background-image: url(../images/chevron-down.svg);
	background-size: contain;
	background-position: center;
	transform: rotate(0deg);
	transition: all 0.3s;
}
.filter_box .filter_list{
	display: flex;
	flex-direction: column;
	gap: 10px;
	list-style: none;
	padding: 0;
	margin: 0;
}
.sort_by_wrapper{
	position: relative;
}
.sort_by_list{
	position: absolute;
	display: flex;
	flex-direction: column;
	gap: 10px;
	top: 100%;
	right: 0;
	width: 190px;
	padding: 15px;
	margin: 0;
	list-style: none;
	border-radius: 4px;
	border: 1px solid var(--neutral300);
	background: var(--neutral500);
	box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.50);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: all 0.3s;
}
.open .sort_by_list{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.sort_by_list label,
.filter_box .filter_list label{
	cursor: pointer;
}
.sort_by_list input{
	display: none;
}
.filter_box hr{
	margin: 15px 0;
	border-width: 1px 0 0 0;
	border-style: solid;
	border-color: var(--neutral300);
}
.filter_list label{
	 display: flex;
	 align-items: center;
	 gap: 10px;
}
.filter_box .filter_list li input{
	width: 16px;
	height: 16px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-color: #333;
	border: none;
	border-radius: 3px;
	position: relative;
	cursor: pointer;
}

.filter_box .filter_list li input:checked {
	background-color: #333;
}

.filter_box .filter_list li input:checked::after {
	content: '';
	position: absolute;
	top: 4px;
	left: 4px;
	width: 8px;
	height: 8px;
	background-color: var(--customColor500);
	border-radius: 2px;
}

.wp-block-query-pagination {
	margin-block-start:70px;
	display: none !important;
}
.wp-block-query-pagination-numbers {
	display: none !important;
}
.wp-block-query-pagination-numbers > *{
	display: inline-flex;
	width: 30px;
	height: 30px;
	align-items: center;
	justify-content: center;
	background-color: var(--neutral400);
	border: 1px solid var(--neutral300);
	color: var(--neutralWhite);
	font-size: 14px;
	font-weight: 400;
	line-height: 140%;
	letter-spacing: -0.28px;
}
.wp-block-query-pagination-numbers > *:hover,
.wp-block-query-pagination-numbers > .page-numbers.current{
	background-color: var(--customColor500);
}

/* Infinite scroll loader */
.infinite-scroll-loader {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 30px 0;
	margin-top: 30px;
}

.infinite-scroll-loader::before {
	content: '';
	width: 40px;
	height: 40px;
	border: 3px solid var(--neutral300);
	border-top-color: var(--customColor500);
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

/* Infinite scroll sentinel - invisible element used for Intersection Observer */
.infinite-scroll-sentinel {
	height: 1px;
	width: 100%;
	visibility: hidden;
	pointer-events: none;
	/* Uncomment for debugging: */
	/* background: rgba(255, 0, 0, 0.2); */
	/* height: 10px; */
	/* visibility: visible; */
}
.filter_active_count{
	font-size: 12px;
    opacity: 0.5;
    display: inline-flex;
}
.filter_active_count:empty{
	display: none;
}
.filter_active_count:not(:empty)::before{
	content: '(';
}
.filter_active_count:not(:empty)::after{
	content: ')';
}

/*** SINGLE CAR PAGE ***/
.single_car_page{
	padding:30px 0 70px;
}
.single_car_gallery{
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap:20px 30px;
}
.single_car_gallery_item{
	aspect-ratio: 16/9;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	grid-column: span 4;
}
.single_car_gallery_item.item_0{
	grid-column: span 7;
	aspect-ratio: 10 / 4;
}
.single_car_gallery_item.item_1{
	grid-column: span 5;
	aspect-ratio: 10 / 5.7;
}
#single_car_main_section{
	padding: 40px 0;
	border-bottom: 1px solid var(--neutral300);
}
.car_title{
	font-size: 20px;
	font-weight: 400;
	letter-spacing: -0.4px;
}
.car_price{
	display: block;
	font-size: 28px;
	font-weight: 700;
	line-height: 135%;
	letter-spacing: -0.56px;
}

#single_car_meta_section{
	padding: 40px 0;
}
.single_car_meta_item_label{
	width: 60px;
	color: rgba(255, 255, 255, 0.50);
	font-size: 14px;
	font-weight: 400;
	line-height: normal;
	letter-spacing: -0.28px;
}
.single_car_meta_item_value{
	color: var(--neutralWhite);
	font-size: 14px;
	font-weight: 400;
	line-height: normal;
	letter-spacing: -0.28px;
}
#single_car_carfax_section{
	padding: 20px 0;
}
.single_car_carfax_box{
	padding: 24px;
	border-radius: 12px;
	border: 1px solid #353537;
	background: rgba(104, 104, 104, 0.10);
}
.carfax_image_box{
	display: inline-block;
	padding: 10px;
	border-radius: 4px;
	background: var(--neutralWhite);
	width: 200px;
}
.single_car_carfax_list_item{
	display: flex;
	align-items: center;
	gap: 10px;
}
.carfax_check_1,
.carfax_check_2,
.carfax_home,
.carfax_cog{
	display: inline-block;
	width: 24px;
	height: 24px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.carfax_check_1{
	background-image: url(../images/carfax_check_1.svg);
}
.carfax_check_2{
	background-image: url(../images/carfax_check_2.svg);
}
.carfax_home{
	background-image: url(../images/carfax_home.svg);
}
.carfax_cog{
	background-image: url(../images/carfax_cog.svg);
}
#single_car_description_section{
	padding: 50px 0;
	border-bottom: 1px solid var(--neutral300);
}
.single_car_page h2{
	color: var(--neutralWhite);
	font-size: 24px;
	font-weight: 600;
	line-height: 130%;
	letter-spacing: -0.48px;
	margin-bottom: 30px;
}
.features_accordion_item{
	padding:0 10px;
	border-bottom: 1px solid var(--neutral300);
}
.features_accordion_item:first-child{
	border-top: 1px solid var(--neutral300);
}
.features_accordion_item_header{
	padding: 10px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	cursor: pointer;
}
.features_accordion_item_header::after{
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	background-image: url(../images/chevron-down.svg);
	transform: rotate(0deg);
	transition: all 0.3s;
}
.open .features_accordion_item_header::after{
	transform: rotate(180deg);
}
.features_accordion_item_header h3{
	margin: 0;
	color: var(--neutralWhite);
	font-size: 14px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: -0.28px;
}
.features_accordion_item_content{
	padding: 10px 0;
	border-top: 1px solid var(--neutral300);
	display: none;
}
.single_car_description_content p{
	font-size: 14px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: -0.28px;
}

.features_accordion_item_content,
.features_accordion_item_content p,
.features_accordion_item_content ul,
.features_accordion_item_content table{
	color: rgba(255, 255, 255, 0.90);
	font-size: 13px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: -0.26px;
}
#single_car_features_section{
	padding: 50px 0;
	border-bottom: 1px solid var(--neutral300);
}
.single_car_options_list {
	column-count: 3;
	column-gap: 10px;
	margin: 0;
	line-height: 170%;
}

#single_car_similars_section{
	padding: 50px 0;
}

.reviews_slider_swiper .swiper-pagination{
	position: relative;
    bottom: inherit;
    margin-top: 20px;
	--swiper-pagination-color:#FFF;
	--swiper-pagination-bullet-inactive-color: #FFF;
}
.reviews_slider_swiper .swiper-slide{
	height: auto;
	display: flex;
}

.cargurus_box:empty{
	display: none;
}
.cargurus_box{
	padding: 10px;
    background: #FFF;
    border-radius: 4px;
}

/*** MEDIA QUERIES ***/
@media(max-width:992px) {
	h1.is-style-section_title {
		font-size: 40px;
	}
	.is-style-section_title {
		font-size: 30px;
	}
	.wp-block-cover.is-style-half_gradient::after {
		background: linear-gradient(to right, rgba(6, 7, 14, 1), rgba(6, 7, 14, 0.6) 100%);
		left: 0;
	}
	.wp-block-cover.is-style-half_gradient .wp-block-cover__image-background {
		width: 100%;
		left: 0;
	}
	.footer_widget .wp-block-social-links{
		justify-content: center;
	}
	.contact_grid{
		gap:10px !important;
	}
	#map_home .map_component_map{
		aspect-ratio: 1 !important;
	}
	.filters_wrapper .row > *:nth-child(even) .filter_box{
		right: 0;
		left: auto;
	}
	.single_car_gallery{
		gap:10px;
	}
	.single_car_gallery_item,
	.single_car_gallery_item.item_1{
		aspect-ratio: 10 / 7;
		grid-column: span 3;
	}
	.single_car_gallery_item.item_0{
		grid-column: span 12;
		aspect-ratio: 10 / 7;
	}
	.single_car_carfax_list_item{
		justify-content: center;
	}
	.single_car_options_list {
		column-count: 1;
	}
	#contact_form_wrapper{
		margin-top: -75px !important;
	}
	#we_make_it_easy .is-style-section_title{
		text-align: center;
	}
	#we_make_it_easy .wp-block-buttons{
		justify-content: center;
	}
	.icon_box{
		text-align: center;
	}
	.wp-block-cover.is-style-default_gradient::after{
		background: linear-gradient(to top, rgba(6, 7, 14, 1), rgba(6, 7, 14, 0.6) 100%);
	}
}

/*
 * OLM Redesign CSS - Phase 1
 * Loaded AFTER main.css to override styles per approved Claude Design mockups
 * Design tokens from the One Legacy Motors design system
 */

/* ============================================
   DESIGN SYSTEM TOKENS
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,700&display=swap');

:root {
  /* Brand core */
  --olm-black: #000000;
  --olm-red: #FF0000;
  --olm-red-hover: #CC0000;
  --olm-gray: #666666;

  /* Dark surfaces */
  --olm-surface-0: #000000;
  --olm-surface-1: #111111;
  --olm-surface-2: #1A1A1A;
  --olm-surface-3: #222222;
  --olm-separator: #2A2A2A;

  /* Neutrals */
  --olm-white: #FFFFFF;
  --olm-gray-mid: #999999;
  --olm-gray-light: #CCCCCC;
  --olm-off-white: #F2F2F2;

  /* Semantic */
  --surface-page: var(--olm-surface-1);
  --surface-hero: var(--olm-surface-0);
  --surface-card: var(--olm-surface-2);
  --surface-card-hover: var(--olm-surface-3);
  --text-primary: var(--olm-white);
  --text-secondary: var(--olm-gray-light);
  --text-muted: var(--olm-gray-mid);
  --text-accent: var(--olm-red);
  --border-subtle: var(--olm-separator);
  --border-accent: var(--olm-red);
  --accent: var(--olm-red);
  --accent-hover: var(--olm-red-hover);

  /* Typography */
  --font-display: 'Montserrat', system-ui, sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;

  /* Effects */
  --radius-sm: 2px;
  --radius-md: 4px;
  --shadow-card: 0 2px 12px rgba(0, 0, 0, 0.5);
  --shadow-lift: 0 12px 32px rgba(0, 0, 0, 0.6);
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --dur-fast: 0.2s;
  --dur-med: 0.3s;

  /* Layout overrides */
  --containerWidth: 1440px;
  --headerHeight: 120px;
  --page-pad-x: 48px;
  --page-pad-x-mobile: 24px;
  --section-pad-y: 100px;
  --section-pad-y-mobile: 56px;

  /* Override existing font vars */
  --secondaryFont: 'Montserrat', system-ui, sans-serif;
}

/* ============================================
   BASE OVERRIDES
   ============================================ */
body {
  background: var(--olm-surface-1);
  font-family: var(--font-body);
  color: var(--text-primary);
  overflow-x: hidden;
}

h1, h2, h3, h4, h5 {
  font-family: var(--font-display);
  line-height: 1.05;
  letter-spacing: -0.02em;
}

p {
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
  color: var(--text-secondary);
}

a {
  transition: color var(--dur-fast) var(--ease-standard);
}

/* ============================================
   TOP UTILITY BAR (new element)
   ============================================ */
#header_utility_bar {
  background: #000;
  border-bottom: 1px solid var(--border-subtle);
  padding: 8px var(--page-pad-x);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  letter-spacing: 0.04em;
  color: var(--text-muted);
}
#header_utility_bar a {
  color: var(--text-secondary);
  text-decoration: none;
  font-weight: 600;
}
#header_utility_bar a:hover {
  color: var(--accent);
}
#header_utility_bar .utility-left {
  display: flex;
  gap: 24px;
  align-items: center;
}
#header_utility_bar .utility-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
#header_utility_bar .utility-item svg {
  width: 14px;
  height: 14px;
}

/* ============================================
   HEADER
   ============================================ */
.header_placeholder {
  height: var(--headerHeight);
}

#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--border-subtle);
  z-index: 99;
  transition: background-color 0.3s;
}

.float_active #header {
  background-color: rgba(0, 0, 0, 0.95);
}

#header_main {
  height: 76px;
  padding: 0 var(--page-pad-x);
  max-width: none;
}

#header_logo {
  display: inline-block;
  width: 150px;
  max-width: 100%;
}
#header_logo img {
  height: 34px;
  width: auto;
}

/* Nav CTA buttons */
.header_cta_buttons {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 0 0 auto;
}

.btn-olm {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 40px;
  padding: 0 24px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border-radius: var(--radius-md);
  text-decoration: none;
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease-standard),
              color var(--dur-fast) var(--ease-standard),
              border-color var(--dur-fast) var(--ease-standard);
  white-space: nowrap;
}

.btn-olm-primary {
  background: var(--accent);
  border: 1px solid var(--accent);
  color: #fff;
}
.btn-olm-primary:hover {
  background: var(--accent-hover);
  border-color: var(--accent-hover);
  color: #fff;
}

.btn-olm-secondary {
  background: transparent;
  border: 1px solid #fff;
  color: #fff;
}
.btn-olm-secondary:hover {
  background: #fff;
  color: #000;
}

.btn-olm-lg {
  min-height: 52px;
  padding: 0 32px;
  font-size: 15px;
}

/* ============================================
   HEADER MENU
   ============================================ */
.header_menu {
  list-style: none;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0;
  padding: 0;
  gap: 36px;
}

.header_menu li a {
  position: relative;
  color: var(--text-secondary);
  text-decoration: none;
  padding-bottom: 4px;
  transition: color var(--dur-fast) var(--ease-standard);
}

.header_menu li a:hover,
.header_menu li.current-menu-item a,
.header_menu li.current_page_item a {
  color: var(--olm-white);
}

.header_menu li.current-menu-item a::after,
.header_menu li.current_page_item a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: var(--accent);
}

/* ============================================
   MOBILE MENU
   ============================================ */
#mobile_menu_wrapper {
  background: rgba(0, 0, 0, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

#mobile_menu {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* ============================================
   FOOTER
   ============================================ */
#footer {
  background: #000;
  border-top: 1px solid var(--border-subtle);
  padding: 72px 0 0;
}

#footer .container {
  max-width: var(--containerWidth);
  padding: 0 var(--page-pad-x);
}

#footer .row-cols-lg-5 {
  display: grid !important;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 48px;
}

.widget_title {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: 18px;
}

.widget_menu {
  gap: 13px;
  font-size: 14px;
  font-weight: 400;
}

.widget_menu li a {
  color: var(--text-secondary);
  transition: color var(--dur-fast) var(--ease-standard);
}

.widget_menu li a:hover {
  color: var(--accent);
}

#footer_logo {
  margin: 48px 0 0;
  padding: 0;
}
#footer_logo img {
  height: 38px;
  width: auto;
}

#footer_bottom_bar {
  border-top: 1px solid var(--border-subtle);
  margin-top: 48px;
  padding: 24px 0;
  font-size: 13px;
  color: var(--olm-gray);
}

/* Footer social icons */
.footer_social {
  display: flex;
  gap: 12px;
  margin-top: 24px;
}

.footer_social a {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  color: var(--text-secondary);
  transition: color var(--dur-fast) var(--ease-standard),
              border-color var(--dur-fast) var(--ease-standard);
}

.footer_social a:hover {
  color: var(--accent);
  border-color: var(--accent);
}

/* ============================================
   SECTION PATTERN: Label + Heading
   ============================================ */
.olm-section-label {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-accent);
  margin-bottom: 20px;
}

.olm-section-label::before {
  content: '';
  width: 32px;
  height: 2px;
  background: var(--accent);
}

.olm-section-heading {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(40px, 4.6vw, 68px);
  line-height: 1.0;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: #fff;
}

.olm-section-heading-sm {
  font-size: clamp(34px, 3.4vw, 48px);
}

/* ============================================
   HERO SECTIONS (generic dark hero)
   ============================================ */
.olm-hero {
  position: relative;
  padding: 120px var(--page-pad-x) 80px;
  overflow: hidden;
  background: #000;
}

.olm-hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.olm-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,0.92) 0%, rgba(0,0,0,0.62) 42%, rgba(0,0,0,0.2) 100%);
}

.olm-hero-content {
  position: relative;
  z-index: 2;
  max-width: 720px;
}

.olm-hero h1 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(44px, 5.5vw, 80px);
  line-height: 0.96;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: #fff;
}

.olm-hero p {
  margin: 26px 0 0;
  font-size: 19px;
  line-height: 1.65;
  color: #e6e6e6;
  max-width: 520px;
}

.olm-hero .btn-olm {
  margin-top: 36px;
}

/* Red line separator after hero */
.olm-hero-line {
  width: 100%;
  height: 3px;
  background: var(--accent);
}

/* ============================================
   HOMEPAGE HERO (video/full-screen)
   ============================================ */
.olm-home-hero {
  position: relative;
  height: calc(100vh - var(--headerHeight));
  min-height: 540px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.olm-home-hero video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.olm-home-hero .olm-hero-bg {
  animation: olmHeroZoom 9s var(--ease-standard) forwards;
}

@keyframes olmHeroZoom {
  from { transform: scale(1.08); }
  to { transform: scale(1); }
}

.olm-home-hero .olm-hero-content {
  max-width: 920px;
  padding: 0 var(--page-pad-x);
}

.olm-home-hero h1 {
  font-size: clamp(60px, 9vw, 132px);
  line-height: 0.92;
  text-shadow: 0 4px 40px rgba(0,0,0,0.6);
}

.olm-home-hero p {
  font-size: 21px;
  max-width: 560px;
  text-shadow: 0 2px 16px rgba(0,0,0,0.6);
}

/* Scroll indicator */
.olm-scroll-indicator {
  position: absolute;
  left: 50%;
  bottom: 34px;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,0.7);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.24em;
}

@keyframes olmScrollPulse {
  0%, 100% { transform: translateY(0); opacity: 0.5; }
  50% { transform: translateY(7px); opacity: 1; }
}

.olm-scroll-indicator svg {
  animation: olmScrollPulse 1.8s var(--ease-standard) infinite;
}

/* ============================================
   VEHICLE CARDS (redesigned)
   ============================================ */
.car_card,
.olm-vehicle-card {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: transform var(--dur-med) var(--ease-standard),
              border-color var(--dur-fast) var(--ease-standard),
              box-shadow var(--dur-med) var(--ease-standard);
}

.car_card:hover,
.olm-vehicle-card:hover {
  transform: translateY(-4px);
  border-color: var(--border-accent);
  box-shadow: var(--shadow-lift);
}

.car_featured_image,
.olm-vehicle-card-image {
  aspect-ratio: 16 / 10;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  overflow: hidden;
  position: relative;
}

/* Badge on vehicle card */
.olm-vehicle-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  padding: 6px 12px;
  background: var(--accent);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-radius: var(--radius-sm);
  z-index: 2;
}

.car_card_info,
.olm-vehicle-card-info {
  padding: 24px;
}

.car_card .wp-block-post-title,
.olm-vehicle-card-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #fff;
  margin: 0;
}

.olm-vehicle-card-subtitle {
  font-size: 14px;
  color: var(--text-muted);
  margin: 6px 0 0;
}

/* Specs row (Mileage | Engine | Drivetrain) */
.olm-vehicle-specs {
  display: flex;
  gap: 20px;
  margin: 16px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid var(--border-subtle);
}

.olm-vehicle-specs dt {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: 4px;
}

.olm-vehicle-specs dd {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 14px;
  color: #fff;
  margin: 0;
}

/* Price - WHITE and bold (NOT red per V3 feedback) */
.car_card .meta_price,
.olm-vehicle-price {
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 800;
  color: #FFFFFF !important;
  line-height: 1;
  letter-spacing: -0.02em;
  margin: 16px 0 0;
}

/* ============================================
   INVENTORY PAGE (SRP)
   ============================================ */
.olm-inventory-hero {
  padding-bottom: 60px;
}

/* Filter bar */
.olm-filter-bar {
  background: var(--olm-surface-2);
  border-top: 3px solid var(--accent);
  border-bottom: 1px solid var(--border-subtle);
  padding: 24px var(--page-pad-x);
}

.olm-filter-bar .filters-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
  gap: 16px;
  max-width: var(--containerWidth);
  margin: 0 auto;
}

.olm-filter-bar input,
.olm-filter-bar select {
  width: 100%;
  padding: 12px 16px;
  background: var(--olm-surface-1);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  color: #fff;
  font-size: 14px;
  font-family: var(--font-body);
}

.olm-filter-bar select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23FF0000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 36px;
}

/* Vehicle count */
.olm-vehicle-count {
  font-size: 14px;
  color: var(--text-muted);
  padding: 24px var(--page-pad-x);
  max-width: var(--containerWidth);
  margin: 0 auto;
}

.olm-vehicle-count strong {
  color: #fff;
  font-weight: 700;
}

/* 3-column vehicle grid */
.olm-vehicle-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  max-width: var(--containerWidth);
  margin: 0 auto;
  padding: 0 var(--page-pad-x);
}

/* Load more button */
.olm-load-more {
  display: flex;
  justify-content: center;
  padding: 48px var(--page-pad-x);
}

.olm-load-more button,
.olm-load-more a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  min-width: 240px;
  padding: 0 32px;
  background: transparent;
  border: 1px solid #fff;
  border-radius: var(--radius-md);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #fff;
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease-standard),
              color var(--dur-fast) var(--ease-standard);
}

.olm-load-more button:hover,
.olm-load-more a:hover {
  background: #fff;
  color: #000;
}

/* ============================================
   VDP (SINGLE CAR PAGE) OVERRIDES
   ============================================ */
.single_car_page {
  background: #000;
}

.single_car_page .container {
  max-width: var(--containerWidth);
}

/* Breadcrumb */
.olm-breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: #888;
  padding: 28px var(--page-pad-x) 8px;
  max-width: var(--containerWidth);
  margin: 0 auto;
}

.olm-breadcrumb a {
  color: #888;
  text-decoration: none;
}

.olm-breadcrumb a:hover {
  color: var(--accent);
}

.olm-breadcrumb .separator {
  color: #ccc;
}

/* Gallery + Purchase panel grid */
.olm-vdp-grid {
  display: grid;
  grid-template-columns: 1.62fr 1fr;
  gap: 44px;
  align-items: start;
  max-width: var(--containerWidth);
  margin: 0 auto;
  padding: 24px var(--page-pad-x) 72px;
}

/* Gallery */
.olm-vdp-gallery-main {
  position: relative;
  aspect-ratio: 16 / 10;
  background: #141414;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  overflow: hidden;
  cursor: zoom-in;
}

.olm-vdp-gallery-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.olm-vdp-gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
  margin-top: 12px;
}

.olm-vdp-gallery-thumbs a,
.olm-vdp-gallery-thumbs button {
  aspect-ratio: 4 / 3;
  background-size: cover;
  background-position: center;
  border: 2px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: border-color var(--dur-fast) var(--ease-standard);
  padding: 0;
}

.olm-vdp-gallery-thumbs a.active,
.olm-vdp-gallery-thumbs button.active {
  border-color: var(--accent);
}

/* Purchase panel */
.olm-vdp-panel {
  position: sticky;
  top: 130px;
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 34px;
}

.olm-vdp-panel h1 {
  margin: 0;
  font-size: 32px;
  line-height: 1.1;
  text-transform: uppercase;
}

.olm-vdp-panel .car_price {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 52px;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #FFFFFF;
  margin: 24px 0 6px;
}

.olm-vdp-panel .panel-meta {
  display: flex;
  gap: 18px;
  font-size: 12px;
  color: #999;
  margin-bottom: 26px;
}

.olm-vdp-panel .panel-specs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  padding: 20px 0;
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  margin-bottom: 26px;
}

.olm-vdp-panel .panel-specs dt {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #888;
  margin-bottom: 5px;
}

.olm-vdp-panel .panel-specs dd {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  color: #fff;
  margin: 0;
}

.olm-vdp-panel .panel-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.olm-vdp-panel .panel-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  text-decoration: none;
  border-radius: var(--radius-md);
  transition: background var(--dur-fast) var(--ease-standard),
              color var(--dur-fast) var(--ease-standard);
}

/* Specs bar */
.olm-specs-bar {
  background: #0A0A0A;
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  padding: 48px var(--page-pad-x);
}

.olm-specs-bar .specs-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 32px;
  max-width: var(--containerWidth);
  margin: 0 auto;
}

.olm-specs-bar .spec-item {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.olm-specs-bar .spec-icon {
  color: var(--accent);
}

.olm-specs-bar .spec-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #888;
  margin-bottom: 4px;
}

.olm-specs-bar .spec-value {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  color: #fff;
}

/* Overview + Features section */
.olm-vdp-overview {
  background: #000;
  padding: 96px var(--page-pad-x);
}

.olm-vdp-overview .overview-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 64px;
  align-items: start;
  max-width: var(--containerWidth);
  margin: 0 auto;
}

/* Feature categories grid */
.olm-features-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}

.olm-feature-category {
  background: #141414;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 24px;
}

.olm-feature-category h4 {
  margin: 0 0 16px;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.olm-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 15px;
  color: var(--text-secondary);
  margin-bottom: 11px;
}

.olm-feature-item svg {
  flex: 0 0 auto;
  margin-top: 3px;
  color: var(--accent);
}

/* ============================================
   VALUE PROPS / CARD GRID SECTIONS
   ============================================ */
.olm-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.olm-prop-card {
  display: block;
  text-decoration: none;
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: transform var(--dur-med) var(--ease-standard),
              border-color var(--dur-fast) var(--ease-standard),
              box-shadow var(--dur-med) var(--ease-standard);
}

.olm-prop-card:hover {
  transform: translateY(-4px);
  border-color: var(--border-accent);
  box-shadow: var(--shadow-lift);
}

.olm-prop-card-image {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

.olm-prop-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.olm-prop-card-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(26,26,26,0.85) 100%);
}

.olm-prop-card-body {
  padding: 26px 28px 30px;
}

.olm-prop-card-body h3 {
  margin: 0;
  font-size: 22px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -0.005em;
}

.olm-prop-card-body p {
  margin: 14px 0 0;
  font-size: 15.5px;
  line-height: 1.65;
}

/* ============================================
   TRUST BAR (manufacturer logos)
   ============================================ */
.olm-trust-bar {
  background: #000;
  padding: 64px var(--page-pad-x);
  border-top: 1px solid var(--border-subtle);
  text-align: center;
}

.olm-trust-bar .trust-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.24em;
  color: var(--text-muted);
  margin-bottom: 36px;
}

.olm-trust-bar .logos-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 20px;
  max-width: 1080px;
  margin: 0 auto;
}

.olm-trust-bar .logo-item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 92px;
  padding: 18px 22px;
  background: #fff;
  border-radius: var(--radius-md);
}

.olm-trust-bar .logo-item img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* ============================================
   ACCORDION / FAQ
   ============================================ */
.olm-faq-item {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  margin-bottom: 12px;
  overflow: hidden;
}

.olm-faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 22px 28px;
  cursor: pointer;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #fff;
}

.olm-faq-question .faq-icon {
  font-size: 20px;
  color: var(--text-muted);
  transition: color var(--dur-fast) var(--ease-standard);
}

.olm-faq-item.active .olm-faq-question .faq-icon {
  color: var(--accent);
}

.olm-faq-answer {
  padding: 0 28px 24px;
  font-size: 15px;
  line-height: 1.7;
  color: var(--text-secondary);
  display: none;
}

.olm-faq-item.active .olm-faq-answer {
  display: block;
}

/* ============================================
   HOW IT WORKS (steps)
   ============================================ */
.olm-steps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.olm-steps-grid.four-col {
  grid-template-columns: repeat(4, 1fr);
}

.olm-step-card {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 32px 28px;
  position: relative;
}

.olm-step-number {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 56px;
  line-height: 1;
  color: rgba(255,255,255,0.08);
  margin-bottom: 20px;
}

.olm-step-icon {
  color: var(--accent);
  margin-bottom: 16px;
}

.olm-step-card h3 {
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin-bottom: 12px;
}

.olm-step-card p {
  font-size: 15px;
  line-height: 1.6;
}

/* ============================================
   FORM STYLING
   ============================================ */
.olm-form-section {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 40px;
}

.olm-form-section label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-secondary);
  margin-bottom: 8px;
}

.olm-form-section input,
.olm-form-section select,
.olm-form-section textarea {
  width: 100%;
  padding: 14px 16px;
  background: var(--olm-surface-1);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  color: #fff;
  font-size: 15px;
  font-family: var(--font-body);
  transition: border-color var(--dur-fast) var(--ease-standard);
}

.olm-form-section input:focus,
.olm-form-section select:focus,
.olm-form-section textarea:focus {
  border-color: var(--accent);
  outline: none;
}

.olm-form-section textarea {
  min-height: 120px;
  resize: vertical;
}

.olm-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

/* ============================================
   PRICING TIER CARDS (Warranty)
   ============================================ */
.olm-tier-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  align-items: stretch;
}

.olm-tier-card {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
}

.olm-tier-card.featured {
  border-color: var(--accent);
  position: relative;
}

.olm-tier-card.featured::before {
  content: 'Most Popular';
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  padding: 10px;
  background: var(--accent);
  color: #fff;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  text-align: center;
  border-radius: var(--radius-md) var(--radius-md) 0 0;
}

.olm-tier-card h3 {
  font-size: 28px;
  font-weight: 800;
  text-transform: uppercase;
  margin: 0 0 8px;
}

.olm-tier-card .tier-duration {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 36px;
  color: #fff;
  margin: 16px 0 4px;
}

.olm-tier-card .tier-miles {
  font-size: 14px;
  color: var(--text-muted);
}

.olm-tier-card ul {
  list-style: none;
  padding: 0;
  margin: 24px 0;
  flex: 1;
}

.olm-tier-card ul li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  color: var(--text-secondary);
  margin-bottom: 12px;
}

.olm-tier-card ul li svg {
  color: var(--accent);
  flex: 0 0 auto;
}

/* ============================================
   CONTACT INFO SIDEBAR
   ============================================ */
.olm-contact-info {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.olm-contact-info-item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 28px 0;
  border-bottom: 1px solid var(--border-subtle);
}

.olm-contact-info-item:first-child {
  padding-top: 0;
}

.olm-contact-info-item:last-child {
  border-bottom: none;
}

.olm-contact-info-item .info-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 0, 0, 0.1);
  border-radius: var(--radius-md);
  color: var(--accent);
  flex: 0 0 auto;
}

.olm-contact-info-item .info-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: 6px;
}

.olm-contact-info-item .info-value {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  color: #fff;
}

/* ============================================
   QUICK LINKS SECTION
   ============================================ */
.olm-quick-links-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.olm-quick-link-card {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 32px 28px;
  text-decoration: none;
  transition: border-color var(--dur-fast) var(--ease-standard),
              transform var(--dur-med) var(--ease-standard);
}

.olm-quick-link-card:hover {
  border-color: var(--accent);
  transform: translateY(-3px);
}

.olm-quick-link-card .ql-icon {
  color: var(--accent);
  margin-bottom: 18px;
}

.olm-quick-link-card h3 {
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.olm-quick-link-card p {
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 18px;
}

.olm-quick-link-card .ql-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #fff;
}

/* ============================================
   PRIVACY POLICY / LEGAL
   ============================================ */
.olm-legal-content {
  max-width: 720px;
  margin: 0 auto;
  padding: 64px var(--page-pad-x);
}

.olm-legal-content h2 {
  font-size: 22px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin: 48px 0 16px;
  color: #fff;
}

.olm-legal-content h2:first-of-type {
  margin-top: 0;
}

.olm-legal-content p {
  margin-bottom: 18px;
}

/* ============================================
   SHIPPING DELIVERY CARDS
   ============================================ */
.olm-delivery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.olm-delivery-card {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 32px 28px;
  transition: border-color var(--dur-fast) var(--ease-standard);
}

.olm-delivery-card.recommended {
  border-color: var(--accent);
  border-width: 2px;
}

.olm-delivery-card.recommended .recommend-badge {
  display: inline-block;
  padding: 6px 16px;
  background: var(--accent);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border-radius: var(--radius-sm);
  margin-bottom: 16px;
}

.olm-delivery-card h3 {
  font-size: 22px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.olm-delivery-card ul {
  list-style: none;
  padding: 0;
  margin: 20px 0;
}

.olm-delivery-card ul li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--text-secondary);
  margin-bottom: 10px;
}

/* ============================================
   PAYMENT CALCULATOR
   ============================================ */
.olm-calculator-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 32px;
  max-width: var(--containerWidth);
  margin: 0 auto;
  padding: 0 var(--page-pad-x);
}

.olm-calc-inputs {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 40px;
}

.olm-calc-result {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.olm-calc-result-card {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 32px;
  text-align: center;
}

.olm-calc-result .payment-amount {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 56px;
  color: #fff;
  line-height: 1;
}

.olm-calc-result .payment-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
}

/* Range slider styling */
input[type="range"] {
  -webkit-appearance: none;
  width: 100%;
  height: 4px;
  background: var(--border-subtle);
  border-radius: 2px;
  outline: none;
}

input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  background: var(--accent);
  border-radius: 50%;
  cursor: pointer;
  border: 3px solid #fff;
}

/* Loan term buttons */
.olm-term-buttons {
  display: flex;
  gap: 8px;
}

.olm-term-buttons button {
  flex: 1;
  padding: 12px;
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  color: #fff;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease-standard),
              border-color var(--dur-fast) var(--ease-standard);
}

.olm-term-buttons button.active {
  background: var(--accent);
  border-color: var(--accent);
}

/* ============================================
   MEDIA QUERIES
   ============================================ */
@media (max-width: 1200px) {
  :root {
    --page-pad-x: 32px;
  }

  .olm-vehicle-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .olm-vdp-grid {
    grid-template-columns: 1fr;
  }

  .olm-vdp-panel {
    position: static;
  }

  .olm-specs-bar .specs-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .olm-vdp-overview .overview-grid {
    grid-template-columns: 1fr;
  }

  .olm-calculator-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991px) {
  :root {
    --page-pad-x: 24px;
    --headerHeight: 76px;
  }

  /* The utility bar used to be hidden entirely below 992px, which removed both the
     opening hours and tap-to-call on the devices where they matter most for a
     dealership. Keep it, drop the city (the footer and contact page both carry the
     address) and tighten the type so hours + phone fit a 360px screen. */
  #header_utility_bar {
    padding: 6px 24px;
    font-size: 11px;
  }
  #header_utility_bar .utility-city {
    display: none;
  }
  #header_utility_bar .utility-left {
    gap: 14px;
    min-width: 0;
  }
  #header_utility_bar .utility-item {
    gap: 5px;
  }

  .olm-card-grid,
  .olm-steps-grid,
  .olm-delivery-grid,
  .olm-tier-grid {
    grid-template-columns: 1fr;
  }

  .olm-filter-bar .filters-grid {
    grid-template-columns: 1fr 1fr;
  }

  .olm-quick-links-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .olm-trust-bar .logos-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  #footer .row-cols-lg-5 {
    grid-template-columns: 1fr 1fr !important;
  }

  .header_cta_buttons {
    display: none;
  }
}

@media (max-width: 767px) {
  .olm-vehicle-grid {
    grid-template-columns: 1fr;
  }

  .olm-filter-bar .filters-grid {
    grid-template-columns: 1fr;
  }

  .olm-form-grid {
    grid-template-columns: 1fr;
  }

  .olm-quick-links-grid {
    grid-template-columns: 1fr;
  }

  .olm-home-hero {
    height: auto;
    min-height: 80vh;
    padding: 120px 0 80px;
  }

  .olm-vdp-gallery-thumbs {
    grid-template-columns: repeat(4, 1fr);
  }

  .olm-specs-bar .specs-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .olm-features-grid {
    grid-template-columns: 1fr;
  }

  #footer .row-cols-lg-5 {
    grid-template-columns: 1fr !important;
    text-align: center;
  }

  .olm-trust-bar .logos-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* === HEADER NAV FIXES === */
#header_main nav {
  gap: 8px;
}
#header_main nav .header_menu {
  gap: 28px;
}
#header_main .btn-olm {
  padding: 0 18px;
  font-size: 12px;
  min-height: 38px;
  white-space: nowrap;
}
@media (min-width: 1280px) {
  #header_main nav .header_menu {
    gap: 36px;
  }
  #header_main .btn-olm {
    padding: 0 24px;
    font-size: 13px;
    min-height: 40px;
  }
}


/* === NAV NOWRAP FIX === */
.header_menu li a {
  white-space: nowrap;
}
#header_main nav {
  gap: 0;
  min-width: 0;
}
#header_main nav .header_menu {
  gap: 20px;
  margin: 0 12px;
}
.header_menu {
  font-size: 13px;
}
@media (min-width: 1200px) {
  #header_main nav .header_menu {
    gap: 32px;
    margin: 0 16px;
  }
  .header_menu {
    font-size: 14px;
  }
}


/* ═══════════════════════════════════════════════════════
   OLM INTERIOR PAGES — CSS OVERHAUL
   ═══════════════════════════════════════════════════════ */

/* ── Cover Slider / Hero Section ── */
.cover_slider_section {
  position: relative;
  min-height: 480px;
  border-bottom: 1px solid #2A2A2A;
}
.cover_slider_section .cover_slider_image {
  filter: brightness(0.65);
}
.cover_slider_section .container {
  position: relative;
  z-index: 3;
}
.cover_slider_section h1,
.cover_slider_section h2,
.cover_slider_section .wp-block-heading {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(48px, 6vw, 80px) !important;
  line-height: 1.0 !important;
  letter-spacing: -0.02em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  text-shadow: 0 4px 30px rgba(0,0,0,0.5);
}
.cover_slider_section p {
  font-size: 19px;
  line-height: 1.6;
  color: #e6e6e6;
  max-width: 600px;
  text-shadow: 0 2px 12px rgba(0,0,0,0.5);
}

/* ── Container Section (general content) ── */
.container_section {
  background: #000;
  color: #fff;
  border-bottom: 1px solid rgba(42,42,42,0.4);
}
.container_section .container {
  max-width: 1440px;
}
.container_section h2,
.container_section h3 {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  color: #fff;
}
.container_section h2 {
  font-size: clamp(32px, 3.5vw, 56px);
  line-height: 1.05;
}
.container_section h3 {
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.1;
}
.container_section p {
  color: #ccc;
  font-size: 16px;
  line-height: 1.7;
}
.container_section a:not(.button):not(.btn-olm):not([class*="wp-block-button"]) {
  color: #FF0000;
}

/* ── Inventory Page Filters ── */
.inventory_page_filters_component {
  background: #0A0A0A;
  border: 1px solid #2A2A2A;
  border-radius: 4px;
  padding: 28px 32px;
  margin-bottom: 32px;
}
.inventory_page_filters_component .search_field {
  margin-bottom: 20px;
}
.inventory_page_filters_component .search_field_input {
  background: #141414 !important;
  border: 1px solid #2A2A2A !important;
  border-radius: 4px !important;
  color: #fff !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  padding: 14px 18px 14px 48px !important;
  width: 100%;
  transition: border-color 0.2s;
}
.inventory_page_filters_component .search_field_input:focus {
  border-color: #FF0000 !important;
  outline: none;
}
.inventory_page_filters_component .search_field_input::placeholder {
  color: #666 !important;
}
.inventory_page_filters_component .filter_trigger {
  background: #141414 !important;
  border: 1px solid #2A2A2A !important;
  border-radius: 4px !important;
  color: #ccc !important;
  padding: 10px 16px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  cursor: pointer;
  transition: border-color 0.2s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.inventory_page_filters_component .filter_trigger:hover {
  border-color: #555 !important;
}
.inventory_page_filters_component .filter_box {
  background: #1A1A1A !important;
  border: 1px solid #2A2A2A !important;
  border-radius: 4px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.6) !important;
}
.inventory_page_filters_component select,
.inventory_page_filters_component input[type="text"],
.inventory_page_filters_component input[type="number"] {
  background: #141414 !important;
  border: 1px solid #2A2A2A !important;
  border-radius: 4px !important;
  color: #fff !important;
  font-size: 14px !important;
  padding: 8px 12px !important;
}
.inventory_page_filters_component .filter_label {
  color: #888 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin-bottom: 6px !important;
}
.inventory_page_filters_component .filter_active_count {
  background: #FF0000 !important;
  color: #fff !important;
  border-radius: 50%;
  min-width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
}

/* ── Car Cards (Inventory + Similar Vehicles) ── */
.car_card {
  background: #1A1A1A !important;
  border: 1px solid #2A2A2A !important;
  border-radius: 4px !important;
  overflow: hidden;
  transition: transform 0.25s cubic-bezier(0.4,0,0.2,1), border-color 0.15s, box-shadow 0.25s;
}
.car_card:hover {
  transform: translateY(-4px);
  border-color: #FF0000 !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.5) !important;
}
.car_card .car_featured_image {
  aspect-ratio: 16 / 10;
  background-size: cover !important;
  background-position: center !important;
  border-radius: 0 !important;
  position: relative;
}
.car_card .car_featured_image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(26,26,26,0.6) 100%);
  pointer-events: none;
}
.car_card .wp-block-group__inner-container {
  padding: 0 !important;
}
.car_card h2,
.car_card h3,
.car_card .wp-block-heading {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 18px !important;
  text-transform: uppercase !important;
  letter-spacing: -0.005em !important;
  color: #fff !important;
  padding: 18px 20px 0 !important;
  margin: 0 !important;
}
/* Price in car cards — white, bold */
.car_card .car_price,
.car_card [class*="price"] {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 24px !important;
  color: #fff !important;
}
/* Car card meta info */
.car_card .car_card_meta,
.car_card table,
.car_card .wp-block-group:not(:first-child) {
  padding: 10px 20px 20px !important;
}
.car_card td,
.car_card th {
  color: #999 !important;
  font-size: 13px !important;
  border-color: #2A2A2A !important;
  padding: 6px 0 !important;
}

/* ── Sort dropdown ── */
.sort_wrapper select,
.sort_by_dropdown,
[class*="sort"] select {
  background: #141414 !important;
  border: 1px solid #2A2A2A !important;
  border-radius: 4px !important;
  color: #ccc !important;
  font-size: 14px !important;
  padding: 8px 14px !important;
}

/* ── WP Block Buttons ── */
.wp-block-button .wp-block-button__link,
.wp-block-button a {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  border-radius: 4px !important;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 32px !important;
  transition: all 0.2s;
}
.wp-block-button.is-style-fill .wp-block-button__link,
.wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: #FF0000 !important;
  border: 1px solid #FF0000 !important;
  color: #fff !important;
}
.wp-block-button.is-style-fill .wp-block-button__link:hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background: #CC0000 !important;
  border-color: #CC0000 !important;
}
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  border: 1px solid #fff !important;
  color: #fff !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: rgba(255,255,255,0.08) !important;
}

/* ── WP Block Columns (value prop grids, about sections) ── */
.wp-block-columns {
  gap: 32px;
}
.wp-block-column {
  padding: 0;
}

/* ── Icons in content (wp-block-image used as icons) ── */
.container_section .wp-block-image img[width="48"],
.container_section .wp-block-image img[width="40"],
.container_section .wp-block-image img[width="32"] {
  filter: brightness(0) invert(1);
  opacity: 0.85;
}

/* ── iFrames (Finance page RouteOne) ── */
iframe {
  background: #111 !important;
  border: 1px solid #2A2A2A !important;
  border-radius: 4px;
  max-width: 100%;
}

/* ── Forms (Contact, Sell Your Car) ── */
.container_section input[type="text"],
.container_section input[type="email"],
.container_section input[type="tel"],
.container_section input[type="number"],
.container_section textarea,
.container_section select {
  background: #141414 !important;
  border: 1px solid #2A2A2A !important;
  border-radius: 4px !important;
  color: #fff !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  padding: 14px 18px !important;
  width: 100%;
  transition: border-color 0.2s;
}
.container_section input:focus,
.container_section textarea:focus,
.container_section select:focus {
  border-color: #FF0000 !important;
  outline: none !important;
}
.container_section input::placeholder,
.container_section textarea::placeholder {
  color: #666 !important;
}
.container_section label {
  color: #ccc !important;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 8px;
  display: block;
}
.container_section input[type="submit"],
.container_section button[type="submit"] {
  background: #FF0000 !important;
  border: 1px solid #FF0000 !important;
  border-radius: 4px !important;
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  padding: 16px 38px !important;
  cursor: pointer;
  transition: all 0.2s;
}
.container_section input[type="submit"]:hover,
.container_section button[type="submit"]:hover {
  background: #CC0000 !important;
  border-color: #CC0000 !important;
}

/* ── Gravity Forms / WPForms overrides ── */
.gform_wrapper input,
.gform_wrapper textarea,
.gform_wrapper select,
.wpforms-container input,
.wpforms-container textarea,
.wpforms-container select {
  background: #141414 !important;
  border: 1px solid #2A2A2A !important;
  color: #fff !important;
}

/* ── Page content wrapper (page.php template) ── */
.page_content_wrapper {
  background: #000;
  color: #fff;
  padding: 80px 0;
}
.page_content_wrapper .page_title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: clamp(36px, 4vw, 56px);
  text-transform: uppercase;
  letter-spacing: -0.02em;
  color: #fff;
  margin-bottom: 40px;
}
.page_content_wrapper .page_content {
  color: #ccc;
  font-size: 16px;
  line-height: 1.7;
}
.page_content_wrapper .page_content h2 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  color: #fff;
  margin-top: 48px;
}

/* ── Load More button ── */
.load_more_button,
#load_more_cars,
[class*="load_more"] button,
[class*="load_more"] a {
  background: transparent !important;
  border: 1px solid #fff !important;
  border-radius: 4px !important;
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  padding: 14px 36px !important;
  cursor: pointer;
  transition: all 0.2s;
}
.load_more_button:hover,
#load_more_cars:hover,
[class*="load_more"] button:hover,
[class*="load_more"] a:hover {
  background: rgba(255,255,255,0.08) !important;
}

/* ── Responsive adjustments for interior pages ── */
@media (max-width: 768px) {
  .cover_slider_section {
    min-height: 360px;
  }
  .inventory_page_filters_component {
    padding: 20px;
  }
  .car_card h2,
  .car_card h3,
  .car_card .wp-block-heading {
    font-size: 16px !important;
    padding: 14px 16px 0 !important;
  }
  .car_card .car_price,
  .car_card [class*="price"] {
    font-size: 20px !important;
  }
}


/* ── Car Card Title Fix — white not red ── */
.car_card a,
.car_card h2 a,
.car_card h3 a,
.car_card .wp-block-heading a,
.car_card .nice_shortcode_component + * a,
.car_card .nice_shortcode_component + * h2,
.car_card .nice_shortcode_component + * h3 {
  color: #fff !important;
  text-decoration: none !important;
}
.car_card .car_price a,
.car_card [class*="price"] a {
  color: #fff !important;
}
/* Car card left border accent — remove old style, use new card style */
.car_card .nice_shortcode_component {
  border: none !important;
}
/* Fix car card overall padding and text */
.car_card > .wp-block-group__inner-container > *:not(.nice_shortcode_component) {
  padding-left: 20px;
  padding-right: 20px;
}
.car_card .car_price,
.car_card [class*="price"] {
  padding: 8px 20px 20px !important;
}























/* ==== OLM V4 PAGES START ==== */
/* OLM design-system tokens, scoped to .olm-dsn */

/* One Legacy Motors — Webfonts
   The OLM wordmark is a custom vector and is never recreated in type.
   Headings: Montserrat (geometric, bold automotive character)
   Body / UI: Inter (clean, highly legible)
   Both loaded from Google Fonts. */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,700&family=Inter:wght@400;500;600;700&display=swap');

/* One Legacy Motors — Color tokens
   Dark-theme luxury automotive palette.
   Brand Red is used sparingly for maximum impact. */
:root {
  /* --- Brand core (from brand book) --- */
  --olm-black: #000000;        /* Deep Black — CMYK 60/60/60/100 */
  --olm-red: #FF0000;          /* Brand Red — CMYK 0/100/100/0 */
  --olm-red-hover: #CC0000;    /* Darkened red for hover/press */
  --olm-gray: #666666;         /* Gray — CMYK 0/0/0/60 */

  /* --- Extended dark surfaces (derived for web) --- */
  --olm-surface-0: #000000;    /* Page base / hero */
  --olm-surface-1: #111111;    /* Page background */
  --olm-surface-2: #1A1A1A;    /* Card / elevated surface */
  --olm-surface-3: #222222;    /* Hover surface */
  --olm-separator: #2A2A2A;    /* Dividers / borders on dark */

  /* --- Neutrals --- */
  --olm-white: #FFFFFF;
  --olm-gray-mid: #999999;     /* Placeholder / disabled / metadata */
  --olm-gray-light: #CCCCCC;   /* Borders on light, subtle lines */
  --olm-off-white: #F2F2F2;    /* Alternate light section bg */

  /* ---------- Semantic aliases ---------- */
  /* Surfaces */
  --surface-page: var(--olm-surface-1);
  --surface-hero: var(--olm-surface-0);
  --surface-card: var(--olm-surface-2);
  --surface-card-hover: var(--olm-surface-3);
  --surface-input: var(--olm-surface-2);
  --surface-light: var(--olm-off-white);

  /* Text */
  --text-primary: var(--olm-white);
  --text-secondary: var(--olm-gray-light);
  --text-muted: var(--olm-gray-mid);
  --text-disabled: var(--olm-gray);
  --text-accent: var(--olm-red);
  --text-on-light: var(--olm-black);
  --text-price: var(--olm-red);

  /* Lines & borders */
  --border-subtle: var(--olm-separator);
  --border-strong: var(--olm-gray);
  --border-accent: var(--olm-red);
  --border-on-light: var(--olm-gray-light);

  /* Interactive */
  --accent: var(--olm-red);
  --accent-hover: var(--olm-red-hover);

  /* Overlays */
  --overlay-hero: rgba(0, 0, 0, 0.55);
  --overlay-scrim: rgba(0, 0, 0, 0.4);
}

/* One Legacy Motors — Typography tokens */
:root {
  /* Families */
  --font-display: 'Montserrat', system-ui, sans-serif; /* headings, prices, CTAs */
  --font-body: 'Inter', system-ui, sans-serif;          /* body, UI, labels */

  /* Weights */
  --fw-regular: 400; /* @kind font */
  --fw-medium: 500; /* @kind font */
  --fw-semibold: 600; /* @kind font */
  --fw-bold: 700; /* @kind font */
  --fw-extrabold: 800; /* @kind font */
  --fw-black: 900; /* @kind font */

  /* Type scale (desktop) */
  --fs-hero: 60px;        /* Hero headline 48–64 */
  --fs-display: 40px;     /* Section headline */
  --fs-h1: 32px;
  --fs-h2: 24px;
  --fs-h3: 20px;          /* Card / vehicle title */
  --fs-price: 26px;
  --fs-body-lg: 18px;
  --fs-body: 16px;        /* Base */
  --fs-body-sm: 15px;
  --fs-label: 13px;       /* Uppercase labels / metadata */
  --fs-caption: 12px;

  /* Line heights */
  --lh-tight: 1.05; /* @kind font */
  --lh-heading: 1.15; /* @kind font */
  --lh-snug: 1.35; /* @kind font */
  --lh-body: 1.6; /* @kind font */

  /* Letter-spacing */
  --ls-display: -0.02em; /* @kind font */
  --ls-normal: 0; /* @kind font */
  --ls-label: 0.08em; /* @kind font */
  --ls-cta: 0.1em; /* @kind font */

  /* ---------- Semantic type aliases ---------- */
  --text-hero-font: var(--font-display);
  --text-hero-weight: var(--fw-extrabold);
  --text-heading-font: var(--font-display);
  --text-heading-weight: var(--fw-bold);
  --text-body-font: var(--font-body);
  --text-label-font: var(--font-body);
}

/* One Legacy Motors — Spacing & layout tokens
   8px base scale. */
:root {
  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 32px;
  --space-6: 48px;
  --space-8: 64px;
  --space-10: 80px;
  --space-12: 96px;
  --space-15: 120px;

  /* Layout */
  --content-max: 1440px;     /* Max content width, centered */
  --grid-gutter: 24px;       /* 12-col grid gutter */
  --section-pad-y: 100px;    /* Vertical section padding (desktop) */
  --section-pad-y-mobile: 56px;
  --page-pad-x: 48px;        /* Horizontal padding (tablet+) */
  --page-pad-x-mobile: 24px;

  /* Min interactive target */
  --hit-target: 44px;
}

/* One Legacy Motors — Effects: radii, borders, shadows, motion
   Sharp edges (2–4px max), restrained motion, no gradients on buttons. */
:root {
  /* Corner radii — minimal, never bubbly */
  --radius-sm: 2px;
  --radius-md: 4px;       /* Default for cards, inputs, buttons */
  --radius-pill: 999px;   /* Reserved for small tags/avatars only */

  /* Border widths */
  --border-1: 1px;
  --border-2: 2px;

  /* Shadows — used for card lift, kept subtle on dark */
  --shadow-card: 0 2px 12px rgba(0, 0, 0, 0.5);
  --shadow-lift: 0 12px 32px rgba(0, 0, 0, 0.6);
  --shadow-glow-red: 0 8px 28px rgba(255, 0, 0, 0.28);

  /* Section depth — subtle gradient instead of flat blocks */
  --gradient-depth: linear-gradient(180deg, #000000 0%, #111111 100%); /* @kind other */
  --gradient-hero-scrim: linear-gradient(180deg, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.75) 100%); /* @kind other */

  /* Motion */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1); /* @kind other */
  --dur-fast: 0.2s; /* @kind other */
  --dur-med: 0.3s; /* @kind other */
  --dur-reveal: 0.4s; /* @kind other */

  /* Card image hover zoom */
  --zoom-hover: 1.04; /* @kind other */
}


.olm-dsn{--dur-base:var(--dur-med,.3s);}


/* --- About --- */
.olm-aboutus-scp0:hover { transform: translateY(-4px); border-color: var(--border-accent); box-shadow: var(--shadow-lift); }
@keyframes olmAboutZoom { 
  0% { transform: scale(1.07); }
  100% { transform: scale(1); }
}
html, body { margin: 0px; background: rgb(0, 0, 0); overflow-x: hidden; }


/* --- Contact --- */
.olm-contact-scp0:focus { border-color: var(--accent); }
.olm-contact-scp1:hover { background: var(--accent-hover); }
.olm-contact-scp2:hover { color: var(--accent); }
.olm-contact-scp3:hover { transform: translateY(-4px); border-color: var(--accent); box-shadow: rgba(0, 0, 0, 0.12) 0px 16px 36px; }
html, body { margin: 0px; overflow-x: hidden; }


/* --- Warranty --- */
.olm-warranty-scp0:hover { background: var(--accent-hover); }
html, body { margin: 0px; overflow-x: hidden; }


/* --- Shipping --- */
.olm-shipping-scp0:hover { background: var(--accent-hover); }
html, body { margin: 0px; overflow-x: hidden; }
@keyframes shipDash { 
  100% { stroke-dashoffset: 0; }
}


/* --- Payment Calculator --- */
.olm-paymentcalculator-scp0:hover { background: var(--accent-hover); }
.olm-paymentcalculator-scp1:hover { background: rgb(255, 255, 255); color: rgb(0, 0, 0); }
html, body { margin: 0px; overflow-x: hidden; }
input[type="range"].olm-range { appearance: none; width: 100%; height: 4px; border-radius: 2px; background: rgb(51, 51, 51); outline: none; cursor: pointer; }
input[type="range"].olm-range::-webkit-slider-thumb { appearance: none; width: 22px; height: 22px; border-radius: 50%; background: rgb(255, 0, 0); border: 3px solid rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.28) 0px 1px 6px; cursor: pointer; }


/* --- Value Your Trade --- */
.olm-sellortrade-scp0:hover { background: var(--accent-hover); }
.olm-sellortrade-scp1:focus { border-color: var(--accent); }
html, body { margin: 0px; overflow-x: hidden; }


/* --- Privacy Policy --- */
html, body { margin: 0px; overflow-x: hidden; }


/* design pages manage their own padding, so release the theme wrapper */
body.page-id-40 .container_section>.container, body.page-id-119 .container_section>.container, body.page-id-39 .container_section>.container, body.page-id-1136 .container_section>.container, body.page-id-1135 .container_section>.container, body.page-id-114 .container_section>.container, body.page-id-3 .container_section>.container {max-width:none;width:100%;padding:0;margin:0;}

p:has(> button){margin:0}

select,input,textarea{background-color:var(--surface-input)}

body.page-id-40 .olm-dsn, body.page-id-119 .olm-dsn, body.page-id-39 .olm-dsn, body.page-id-1136 .olm-dsn, body.page-id-1135 .olm-dsn, body.page-id-114 .olm-dsn, body.page-id-3 .olm-dsn {padding-top:110px;}
@media (max-width:1024px){body.page-id-40 .olm-dsn, body.page-id-119 .olm-dsn, body.page-id-39 .olm-dsn, body.page-id-1136 .olm-dsn, body.page-id-1135 .olm-dsn, body.page-id-114 .olm-dsn, body.page-id-3 .olm-dsn {padding-top:77px;}}

.olm-dsn{line-height:1.6}
.olm-dsn h1,.olm-dsn h2,.olm-dsn h3,.olm-dsn h4{line-height:1.15}
.olm-dsn [data-olm-acc] svg{transform:none}

@media (max-width:768px){.olm-dsn [style*="grid-template-columns"]{grid-template-columns:1fr !important}.olm-dsn [style*="flex-direction: row"]{flex-wrap:wrap}}
@media (min-width:769px) and (max-width:1024px){.olm-dsn [style*="grid-template-columns"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}

@media (max-width:768px){.olm-dsn [style*="padding: 90px"],.olm-dsn [style*="padding: 96px"],.olm-dsn [style*="padding: 100px"],.olm-dsn [style*="--page-pad-x"]{padding-left:24px !important;padding-right:24px !important}.olm-dsn [style*="padding: 48px"]{padding:24px !important}.olm-dsn [style*="padding: 40px"]{padding:24px !important}.olm-dsn [style*="grid-template-columns"]>*,.olm-dsn [style*="display: flex"]>*{min-width:0}.olm-dsn a[style*="background"]:not([style*="background: none"]){min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.olm-dsn a[href^="mailto:"]{overflow-wrap:anywhere;word-break:break-word}}
.olm-dsn input.olm-range{height:24px;padding:10px 0;box-sizing:content-box}
/* ==== OLM V4 PAGES END ==== */

/* ==== OLM V4 REDESIGN START ==== */
/* ============================================================
   OLM V4 - built from Claude design system tokens
   Source: olm_design/_ds/.../tokens/*.css + page .dc.html
   ============================================================ */

/* ---------- V4 shared primitives ---------- */
.olm-v4{background:#000;color:#fff;font-family:var(--font-body,'Inter',system-ui,sans-serif);}
.olm-v4 *{box-sizing:border-box;}

.olmv4-hero{position:relative;overflow:hidden;background:#000;border-bottom:3px solid #FF0000;}
.olmv4-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 42%;opacity:.45;}
.olmv4-hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,.9));}
.olmv4-hero-inner{position:relative;z-index:2;max-width:1440px;margin:0 auto;padding:96px 48px 92px;}
.olmv4-hero-h1{margin:0;max-width:900px;font-family:var(--font-display,'Montserrat',sans-serif);font-weight:800;font-size:clamp(48px,5.6vw,82px);line-height:.98;letter-spacing:-.025em;text-transform:uppercase;color:#fff;}
.olmv4-hero-sub{margin:22px 0 36px;font-size:19px;line-height:1.6;color:#cfcfcf;max-width:560px;}
.olmv4-microcopy{margin:26px 0 0;font-size:13px;color:#9a9a9a;}

.olmv4-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#FF0000;margin-bottom:18px;}
.olmv4-rule{width:32px;height:2px;background:#FF0000;display:inline-block;}
.olmv4-eyebrow-c{margin-bottom:16px;}

.olmv4-btnrow{display:flex;flex-wrap:wrap;gap:16px;}
.olmv4-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:17px 40px;border-radius:4px;font-family:var(--font-display,'Montserrat',sans-serif);font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.1em;text-decoration:none;cursor:pointer;transition:background .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1);}
.olmv4-btn-red{background:#FF0000;border:1px solid #FF0000;color:#fff;}
.olmv4-btn-red:hover{background:#CC0000;border-color:#CC0000;color:#fff;}
.olmv4-btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.45);color:#fff;}
.olmv4-btn-ghost:hover{background:#fff;color:#000;border-color:#fff;}
.olmv4-btn-outline{background:transparent;border:1px solid #fff;color:#fff;min-height:56px;padding:18px 44px;}
.olmv4-btn-outline:hover{background:#fff;color:#000;}

.olmv4-body{background:#000;color:#fff;}
.olmv4-sec{padding:100px 48px;}
.olmv4-sec-alt{background:#0A0A0A;border-top:1px solid #2A2A2A;border-bottom:1px solid #2A2A2A;}
.olmv4-sec-faq{border-bottom:none;}
.olmv4-wrap{max-width:1440px;margin:0 auto;}
.olmv4-wrap-narrow{max-width:980px;}
.olmv4-wrap-faq{max-width:860px;}
.olmv4-center{text-align:center;margin-bottom:58px;}
.olmv4-h2{margin:0;font-family:var(--font-display,'Montserrat',sans-serif);font-weight:800;font-size:clamp(34px,4vw,56px);line-height:1;letter-spacing:-.02em;text-transform:uppercase;color:#fff;}
.olmv4-h2-l{margin:0 0 20px;font-size:clamp(32px,3.4vw,48px);line-height:1.04;}
.olmv4-h3{margin:0 0 12px;font-family:var(--font-display,'Montserrat',sans-serif);font-weight:700;font-size:21px;text-transform:uppercase;letter-spacing:.02em;color:#fff;}
.olmv4-h3-b{margin:0 0 10px;font-size:22px;letter-spacing:.01em;}
.olmv4-p{margin:0;font-size:15px;line-height:1.7;color:#CCC;}
.olmv4-p-lead{font-size:16px;line-height:1.75;max-width:360px;}
.olmv4-p-center{margin:0 auto;max-width:520px;font-size:16px;line-height:1.7;}

/* Finance: how it works */
.olmv4-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid #2A2A2A;border-radius:4px;overflow:hidden;}
.olmv4-step{padding:44px 38px;background:#1A1A1A;border-right:1px solid #2A2A2A;}
.olmv4-step:last-child{border-right:none;}
.olmv4-stepnum{font-family:var(--font-display,'Montserrat',sans-serif);font-weight:800;font-size:54px;line-height:1;letter-spacing:-.02em;color:#2A2A2A;}
.olmv4-stepicon{display:inline-flex;color:#FF0000;margin:22px 0 18px;}

/* Finance: two col benefits */
.olmv4-2col{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start;}
.olmv4-2col-left{position:sticky;top:110px;}
.olmv4-benefits{display:flex;flex-direction:column;}
.olmv4-benefit{display:flex;gap:24px;padding:34px 0;border-top:1px solid #2A2A2A;}
.olmv4-benefit:first-child{border-top:none;}
.olmv4-benicon{display:inline-flex;flex:0 0 auto;color:#FF0000;margin-top:4px;}

/* Forms */
.olmv4-card{background:#1A1A1A;border:1px solid #2A2A2A;border-radius:4px;}
.olmv4-formcard{padding:48px;}
.olmv4-formgrid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.olmv4-label{display:block;font-family:var(--font-body,'Inter',sans-serif);font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:#999;margin-bottom:8px;}
.olmv4-inputwrap{display:flex;align-items:center;gap:10px;background:#1A1A1A;border:1px solid #2A2A2A;border-radius:4px;padding:0 14px;min-height:44px;transition:border-color .2s cubic-bezier(.4,0,.2,1);}
.olmv4-inputwrap:focus-within{border-color:#FF0000;}
.olmv4-input,.olmv4-select{flex:1;background:transparent;border:none;outline:none;color:#fff;font-family:var(--font-body,'Inter',sans-serif);font-size:16px;padding:12px 0;width:100%;}
.olmv4-input::placeholder{color:#999;}
.olmv4-hint{margin:8px 0 0;font-size:12px;color:#999;}
.olmv4-formfoot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:36px;}
.olmv4-finemsg{margin:0;font-size:13px;color:#888;max-width:340px;}

/* FAQ accordion */
.olmv4-faqs{display:flex;flex-direction:column;gap:14px;}
.olmv4-faq{background:#1A1A1A;border:1px solid #2A2A2A;border-radius:4px;overflow:hidden;}
.olmv4-faq-q{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:26px 30px;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-display,'Montserrat',sans-serif);font-weight:700;font-size:18px;text-transform:uppercase;letter-spacing:.01em;color:#fff;}
.olmv4-faq-i{display:inline-flex;flex:0 0 auto;color:#999;transition:transform .3s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);}
.olmv4-faq-open .olmv4-faq-i{color:#FF0000;transform:rotate(45deg);}
.olmv4-faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1);overflow:hidden;}
.olmv4-faq-open .olmv4-faq-a{grid-template-rows:1fr;}
.olmv4-faq-a>div{overflow:hidden;min-height:0;}
.olmv4-faq-a p{margin:0;padding:0 30px 28px;font-size:16px;line-height:1.75;color:#CCC;}

/* ============================================================
   INVENTORY PAGE V4
   ============================================================ */
.olmv4-invhero .olmv4-hero-bg{background-position:center 50%;opacity:.5;}
.olmv4-invhero .olmv4-hero-scrim{background:linear-gradient(180deg,rgba(0,0,0,.7),rgba(0,0,0,.92));}
.olmv4-invhero .olmv4-hero-inner{max-width:none;margin:0;padding:84px 48px 76px;}
.olmv4-invhero h1{margin:0;font-family:var(--font-display,'Montserrat',sans-serif);font-weight:800;font-size:clamp(52px,6vw,86px);line-height:.98;letter-spacing:-.025em;text-transform:uppercase;color:#fff;}
.olmv4-invhero p{margin:20px 0 0;font-size:19px;line-height:1.6;color:#cfcfcf;max-width:560px;}
.olmv4-invhero p strong{color:#fff;font-weight:600;}

/* the fixed-header spacer and the preset section padding both leave a dead
   black band directly under the new hero */
.olmv4-invhero+.header_placeholder{display:none;}
.olmv4-invhero+.header_placeholder+.container_section{padding-top:0 !important;}

/* result count row */
.olmv4-countrow-wrap{background:#000;padding:40px 48px 0;}
.olmv4-countrow-wrap .olmv4-countrow{max-width:none;margin:0;}

/* Filter bar - 5 up, labeled, sticky */
.inventory_page_filters_component{position:sticky;top:0;z-index:40;background:rgba(0,0,0,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #2A2A2A;padding:20px 48px;margin:0;}
.olmv4-filtergrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:16px;align-items:end;max-width:none;}
.olmv4-filtergrid .olmv4-field{width:100%;}
.olmv4-select{appearance:none;-webkit-appearance:none;width:100%;min-height:44px;background:#1A1A1A;border:1px solid #2A2A2A;border-radius:4px;color:#fff;font-family:var(--font-body,'Inter',sans-serif);font-size:16px;padding:12px 40px 12px 14px;cursor:pointer;transition:border-color .2s cubic-bezier(.4,0,.2,1);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23FF0000' stroke-width='3' stroke-linecap='square'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;}
.olmv4-select:focus{outline:none;border-color:#FF0000;}
.olmv4-searchicon{display:inline-flex;color:#999;}

/* Result count */
.olmv4-countrow{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;}
.olmv4-count{font-size:14px;color:#999;}
.olmv4-count strong{color:#fff;font-weight:700;}

/* Grid: full-bleed on the inventory page only.
   Bootstrap's .container caps width at 1320px; the design uses max-width:none.
   Scoped to page-id-37 so every other page keeps its normal container. */
body.page-id-37 .container_section>.container{max-width:none;width:100%;padding-left:0;padding-right:0;margin-left:0;margin-right:0;}
body.page-id-37 .inventory_page_filters_component{margin-left:0;margin-right:0;}

.inventarory_page_query{padding:28px 48px 110px;background:#000;}
.inventarory_page_query>ul,.inventarory_page_query ul.wp-block-post-template{display:grid !important;grid-template-columns:repeat(3,1fr);gap:32px;list-style:none;margin:0;padding:0;}
.inventarory_page_query ul>li{margin:0;padding:0;list-style:none;width:auto;max-width:none;}


/* ---- Vehicle card ---- */
.car_card{position:relative;background:#1A1A1A;border:1px solid #2A2A2A;border-radius:4px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.5);transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1);height:100%;}
.car_card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.6);border-color:#FF0000;}
.car_card .wp-block-group__inner-container{height:100%;display:flex;flex-direction:column;}

.car_featured_image{position:relative;display:block;width:100%;aspect-ratio:4/3;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:#111;overflow:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1);}
.car_card:hover .car_featured_image{transform:scale(1.04);}

.car_card_info{padding:20px;display:flex;flex-direction:column;flex:1;}
.car_card_info .wp-block-group__inner-container{display:flex;flex-direction:column;flex:1;height:auto;}

/* title row: kill the inline mileage, design puts it in the spec strip */
.car_card_main_info{display:block !important;order:1;margin:0;}
.car_card_main_info .nice_shortcode_component{display:none !important;}
.car_card_main_info .wp-block-post-title{margin:0;font-family:var(--font-display,'Montserrat',sans-serif);font-size:20px;font-weight:700;line-height:1.15;color:#fff;}
.car_card_main_info .wp-block-post-title a{color:#fff;text-decoration:none;}

/* price: white, bold, after the spec strip */
.car_card_info .wp-block-group__inner-container>.nice_shortcode_component{order:4;margin:0;font-family:var(--font-display,'Montserrat',sans-serif);font-size:26px;font-weight:700;color:#fff;}
.car_card_info .wp-block-group__inner-container>.nice_shortcode_component .meta_price{font-family:var(--font-display,'Montserrat',sans-serif);font-size:26px;font-weight:700;color:#fff;}

/* subtitle + spec strip */
.olmv4-cardsub{order:2;margin:4px 0 0;font-family:var(--font-body,'Inter',sans-serif);font-size:15px;color:#999;}
/* 2x2 spec grid under the card title (Helana 2026-08-12, matches tbtfw.com):
   mileage / exterior / interior / body. Grid rather than flex-wrap so the four
   values line up in two even columns instead of ragging by content width. */
.car_card_table_info_component{order:3;display:grid !important;grid-template-columns:1fr 1fr;gap:12px 18px;margin:16px 0 !important;padding-top:16px;border-top:1px solid #2A2A2A;}
.car_card_table_info_component>*{width:auto !important;max-width:none !important;padding:0 !important;min-width:0;}
.car_card_table_info_item_value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
/* variant detail (Series + Series Detail) sits inline with the vehicle name */
.olm-variant{white-space:normal;}
.olmv4-card .wp-block-post-title{display:block;}

.car_card_table_info_item{display:flex !important;flex-direction:column;gap:2px;}
.car_card_table_info_item_label{font-family:var(--font-body,'Inter',sans-serif);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#999;}
.car_card_table_info_item_value{font-family:var(--font-body,'Inter',sans-serif);font-size:15px;font-weight:600;color:#CCC;}

/* badge over photo */
.olmv4-badge{position:absolute;top:14px;left:14px;z-index:3;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#FF0000;color:#fff;font-family:var(--font-body,'Inter',sans-serif);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;line-height:1;border-radius:2px;white-space:nowrap;}

/* the old red View Car button is replaced by the whole-card link */
.car_card_button_component{display:none !important;}

/* Load more */
.olmv4-loadmore-wrap{display:flex;justify-content:center;margin-top:56px;}

/* ---------- Responsive ---------- */
@media (max-width:1200px){
  .olmv4-filtergrid{grid-template-columns:1fr 1fr 1fr;}
}
@media (max-width:1024px){
  .olmv4-2col{grid-template-columns:1fr;gap:48px;}
  .olmv4-2col-left{position:static;}
  .olmv4-steps{grid-template-columns:1fr;}
  .olmv4-step{border-right:none;border-bottom:1px solid #2A2A2A;}
  .olmv4-step:last-child{border-bottom:none;}
}
@media (max-width:768px){
  .olmv4-hero-inner,.olmv4-invhero .olmv4-hero-inner{padding:56px 24px;}
  .olmv4-sec{padding:56px 24px;}
  .inventory_page_filters_component{padding:16px 24px;position:static;}
  .inventarory_page_query{padding:20px 24px 64px;}
  .olmv4-countrow-wrap{padding:24px 24px 0;}
  .olmv4-filtergrid{grid-template-columns:1fr;gap:12px;}
  .inventarory_page_query>ul,.inventarory_page_query ul.wp-block-post-template{gap:20px;}
  .olmv4-formcard{padding:24px;}
  .olmv4-formgrid{grid-template-columns:1fr;gap:20px;}
  .olmv4-faq-q{padding:20px;font-size:16px;}
  .olmv4-faq-a p{padding:0 20px 22px;}
}


/* ============================================================
   MOBILE POLISH
   Measured at 390px and 768px. Root cause of ~174px of horizontal
   overflow on EVERY page was the footer's 4-column grid, which is
   declared as an inline style and so needs !important to override.
   ============================================================ */
@media (max-width:900px){
  #footer>.container>div[style*="grid-template-columns"]{grid-template-columns:1.4fr 1fr 1fr !important;gap:32px !important;}
}
@media (max-width:768px){
  html,body{overflow-x:hidden;max-width:100%;}

  /* footer: collapse to one column and tighten the inline padding */
  #footer>.container{max-width:100% !important;padding:48px 24px 0 !important;}
  #footer>.container>div[style*="grid-template-columns"]{grid-template-columns:1fr !important;gap:32px !important;}
  #footer .footer_bottom_bar,
  #footer>.container>div:last-child[style*="display:flex"]{flex-direction:column !important;gap:12px !important;text-align:left !important;}

  /* collapse multi-column inline grids in the sections I built */
  .olm-hp [style*="grid-template-columns"],
  .olm-v4 [style*="grid-template-columns"],
  body.single-car [style*="grid-template-columns"]{grid-template-columns:1fr !important;}

  /* inline SVG maps: home "We Ship Nationwide", shipping delivery map */
  svg{max-width:100%;height:auto;}
  .olm-hp svg,.olm-v4 svg{width:100% !important;}

  .olmv4-2col{grid-template-columns:1fr;}
  body.page-id-37 .container_section>.container{padding-left:0;padding-right:0;}
}


/* ============================================================
   INVENTORY GRID  (Chris, 2026-08-07)
   Target card width ~420px (Chris chose option B, 2026-08-07); count follows width.
   Appended last so these rules outrank anything earlier in the file.
   ============================================================ */

/* Desktop: 3 per row, fixed. Chris capped this at 3 on 2026-08-14, superseding the
   earlier auto-fill/6-per-row rule, so the count no longer follows the viewport width.
   Grid capped at 2200px (Chris, 2026-08-14): the client wants larger vehicle images,
   so cards run ~710px on wide monitors instead of stretching without limit. */
@media (min-width:1200px){
  .inventarory_page_query>ul,.inventarory_page_query ul.wp-block-post-template{
    grid-template-columns:repeat(3,1fr) !important;
    max-width:2200px;margin-left:auto;margin-right:auto;
  }
}

/* Tablet landscape: 3 per row. Orientation-aware so iPad Pro (1366 landscape)
   is treated as a tablet, not a desktop. */
@media (min-width:601px) and (max-width:1366px) and (orientation:landscape){
  .inventarory_page_query>ul,.inventarory_page_query ul.wp-block-post-template{
    grid-template-columns:repeat(3,1fr) !important;
  }
}

/* Tablet portrait: 2 per row. Covers iPad 768/810/834 and iPad Pro 1024. */
@media (min-width:601px) and (max-width:1366px) and (orientation:portrait){
  .inventarory_page_query>ul,.inventarory_page_query ul.wp-block-post-template{
    grid-template-columns:repeat(2,1fr) !important;
  }
}

/* Mobile: stack. */
@media (max-width:600px){
  .inventarory_page_query>ul,.inventarory_page_query ul.wp-block-post-template{
    grid-template-columns:1fr !important;gap:20px;
  }
}

/* --- QA round 2 [2026-08-08] --- */
/* Nav: the theme puts margin:0 16px on each header_menu ul, so the seam
   between the two menus (left menu + right menu) measured 68px while the
   items inside each menu were 32px apart. Zero the margins and let the
   nav's own gap do the spacing so all five items are evenly spaced. */
#header_main nav > ul.header_menu{margin:0 !important;}
/* Link spacing is set in ONE place for all breakpoints. It needs !important because
   three earlier blocks in this file already set #header_main nav / .header_menu gaps
   (8px, 0, 28px, 20px, 32px). A blanket `nav{gap:32px !important}` used to live here,
   and it silently swallowed every later attempt to tighten the bar at narrow widths:
   the 992-1199px rule looked correct in the file but never applied, which left the
   links overlapping the logo by 13px at 992px.
   The nav gap (the seam between the two ULs) must always EQUAL the gap inside each UL,
   otherwise the five links are not evenly spaced. Change them together. */
#header_main nav,
#header_main nav > ul.header_menu { gap: 18px !important; }
@media (min-width: 1200px) {
	#header_main nav,
	#header_main nav > ul.header_menu { gap: 24px !important; }
}
@media (min-width: 1360px) {
	#header_main nav,
	#header_main nav > ul.header_menu { gap: 32px !important; }
}
/* Below 1200 the logo, five links and both CTAs together exceed the bar, so trim the
   button padding to keep clear space either side of the links. */
@media (max-width: 1199px) {
	#header_main .btn-olm { padding-left: 12px !important; padding-right: 12px !important; letter-spacing: 0.06em; }
}
/* 992-1023px is the tightest desktop-nav band (the hamburger takes over below 992).
   Even after the trims above the links sat 0.8px from the logo and the buttons, so pull
   the link gap and the logo in a little further. Type size is deliberately NOT reduced
   here: the links are already 13px. */
@media (min-width: 992px) and (max-width: 1023px) {
	#header_main nav,
	#header_main nav > ul.header_menu { gap: 14px !important; }
	#header_main .btn-olm { padding-left: 10px !important; padding-right: 10px !important; }
	#header_logo { width: 132px; }
}
/* Hero: the site header is position:fixed (110px desktop / 77px tablet+),
   but the Finance and Inventory heroes start at y=0, so the header covered
   the eyebrow. Offset the hero by the header height, matching the
   padding-top the other pages already get on .olm-dsn. */
.olmv4-hero{padding-top:110px;}
@media (max-width:1024px){.olmv4-hero{padding-top:77px;}}

/* ==== OLM V4 REDESIGN END ==== */

/* ==== OLM HEADER NAV LAYOUT (QA 2026-08-11) ====
   Kept in CSS rather than inline on the elements: inline styles win over stylesheet
   rules regardless of specificity, so an inline flex value cannot be overridden by the
   media query below. */
#header_main > #header_logo { flex: 0 0 auto; }
#header_main > #header_nav { flex: 1 1 auto; justify-content: center; gap: 36px; align-items: center; }
#header_main > #header_actions { flex: 0 0 auto; display: flex; align-items: center; gap: 14px; }

/* Equal-width side columns put the nav links on the exact page centre.
   This was originally gated at min-width:1360px, which meant Chris saw an off-centre menu
   on every page in his own (narrower) window while my 1440px checks all measured 0px off.
   Centring is NOT a per-page issue: all 11 pages measure identically at a given width.

   The floor is set by the right-hand column. For the nav to sit on the true centre, the
   logo column and the CTA column must be equal, so both must be at least as wide as the
   CTA buttons' min-content width. Below ~1340px at default spacing the buttons hit that
   floor, the columns go unequal and the nav drifts left. Tightening the link gap and the
   button padding in the 1200-1359 band (below) shrinks that floor enough to centre down
   to 1200px. Under 1200px the buttons would have to shrink past legibility, so the base
   layout takes over and the nav centres in the gap instead. */
@media (min-width: 1200px) {
	#header_main > #header_logo { flex: 1 1 0; display: inline-flex; align-items: center; justify-content: flex-start; min-width: 0; }
	#header_main > #header_nav { flex: 0 0 auto; }
	#header_main > #header_actions { flex: 1 1 0; justify-content: flex-end; min-width: 0; }
}

/* Buys the room that centring needs between 1200 and 1359. */
@media (min-width: 1200px) and (max-width: 1359px) {
	#header_main > #header_actions { gap: 10px; }
	#header_main .btn-olm { padding-left: 16px; padding-right: 16px; letter-spacing: 0.06em; }
}




/* ==== OLM RESPONSIVE POLISH (mobile QA 2026-08-11) ====
   Findings from a measured sweep at 360/390/430/768/1024. Notes on why each rule
   exists so a later pass does not "tidy" them away.

   The header carries an inline style attribute from header.php
   (padding:0 48px). Inline styles beat stylesheet rules on specificity, so the
   mobile padding below MUST keep !important or it silently does nothing. */

/* 1. Desktop 48px side padding was being applied on phones too, leaving the logo
      inset almost an eighth of a 390px screen. Design token is 24px on mobile. */
@media (max-width: 991px) {
	#header_main { padding: 0 24px !important; }
}

/* 2. The hamburger was a 30x30 hit area, under the 44px minimum, and it is the
      only way to navigate on a phone. */
#menu_trigger {
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
}

/* 3. The mobile menu panel was fixed at 202px, which wrapped "CONTACT US" onto
      two lines. Let it size to its content and give each link a 44px row. */
#mobile_menu {
	width: auto;
	min-width: min(86vw, 340px);
}
#mobile_menu a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 4px 12px;
	white-space: nowrap;
}

/* 4. iOS Safari force-zooms the page when a focused field's font-size is under
      16px. The contact and trade textareas were 15px, so tapping the message box
      zoomed the layout and the user had to pinch back out. */
@media (max-width: 991px) {
	form input,
	form select,
	form textarea,
	textarea.olm-contact-scp0 { font-size: 16px !important; }
}

/* 5. Footer list links rendered as 16px-tall targets stacked close together,
      an easy mis-tap on a phone. */
@media (max-width: 991px) {
	#footer li a {
		display: inline-block;
		padding-top: 8px;
		padding-bottom: 8px;
	}
}

/* 6. concierge@onelegacymotors.com broke mid-word ("...onelegacymotor s.com")
      at 390px. Break at sensible points instead. */
a[href^="mailto:"] { overflow-wrap: anywhere; }

/* 8. Today's hours in the utility bar (Chris 2026-08-11). The header previously showed a
      static "Mon-Sat 9-7" that contradicted the Contact page. It is now a link to the
      contact page, so give it a real hover state and keep it on one line. */
#header_utility_bar .utility-hours {
	white-space: nowrap;
}
#header_utility_bar .utility-hours:hover {
	color: var(--accent);
}

/* 9. Sell My Car / Browse Inventory are hidden below 992px in the header, so they are
      repeated at the bottom of the mobile menu. Full width, stacked, 44px+ targets. */
.mobile_menu_ctas {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
	margin-top: 22px;
	padding-top: 22px;
	border-top: 1px solid #2A2A2A;
}
.mobile_menu_ctas .btn-olm {
	width: 100%;
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
