/*
Theme Name:     Toyota Aruba
Theme URI:      https://caribmedia.com
Template:       neve
Author:         CaribMedia
Author URI:     https://caribmedia.com
Description:    Custom Neve child theme developed by CaribMedia for Toyota Aruba.
Version:        1.0.0
License:        GNU General Public License v2 or later
License URI:    http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:    toyota-aruba
*/

/* Desktop dropdown only */
@media (min-width: 960px) {
	.menu-desktop .sub-menu {
		top: 115% !important;
		border: 1px solid #ccc;
	}

	.menu-desktop .sub-menu::before {
		content: "";
		display: block;
		width: 15px;
		height: 15px;
		position: absolute;
		top: -8px;
		left: 0;
		right: 0;
		margin: auto;
		background-color: #fff;
		border-left: 1px solid #ccc;
		border-top: 1px solid #ccc;
		transform: rotate(45deg);
	}

	.menu-desktop .menu-item-has-children > .sub-menu::after {
		content: "";
		position: absolute;
		right: 0;
		bottom: 100%;
		left: 0;
		height: 12px;
		background: transparent;
	}
}

.cm-wrapper {
	max-width: var(--container);
	padding:0 15px;
	margin:0 auto;
}

/* For images with caption */
.wp-block-image figure:has(.wp-element-caption) {
    padding:6px;
    background-color:#eee;
}

.wp-block-image figure .wp-element-caption {
    margin-top:0;
    text-align:center;
    background-color:#eee;
    padding:0 8px;
}

#content h1:first-of-type {
	margin-top:4rem;
	border-bottom: 1px solid var(--nv-dark-bg);
}

#content a.cta {
	border:2px solid;
	padding: 1rem 1.23rem .75rem;
	display: inline-block;
	text-decoration: none;
	text-transform: uppercase;
	font-family: 'Josefin Sans', 'open sans', arial, sans-serif;
	font-weight:600;
	font-size: 95%;
	border-radius:3px;
	font-style:normal;
	transition: all .25s ease;
}


.header .site-header {
  box-shadow: 0 0 3px rgba(0, 0, 0, .25);
}

.home .toyota-hero-carousel .swiper {
	margin-bottom: 0;
}

.toyota-hero-carousel {
  overflow: hidden;
}

.toyota-hero-carousel .swiper,
.toyota-hero-carousel .cb-wrapper,
.toyota-hero-carousel .cb-slide,
.toyota-hero-carousel .wp-block-image,
.toyota-hero-carousel .wp-block-image a {
  height: clamp(300px, 30vw, 576px);
}

.toyota-hero-carousel .wp-block-image {
  margin: 0;
}

.toyota-hero-carousel .wp-block-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 767px) {
  .toyota-hero-carousel .swiper,
  .toyota-hero-carousel .cb-wrapper,
  .toyota-hero-carousel .cb-slide,
  .toyota-hero-carousel .wp-block-image,
  .toyota-hero-carousel .wp-block-image a {
    height: 260px;
  }

  .toyota-hero-carousel .wp-block-image img {
    object-fit: cover;
    object-position: center;
  }
}

.single-vehicle_model .nv-single-post-wrap>div:first-child {
    margin-top: 0;
}

.single-vehicle_model .vehicle-detail .description h2,
.single-vehicle_model .vehicle-detail .description h3,
.single-vehicle_model .vehicle-detail .description p {
    text-align:center;
}

.vehicle-detail > .description ~ .description {
    Background-color:var(--nv-light-bg);
    max-width:unset;
    padding-block:3rem;
}

.vehicle-detail > .description ~ .description .description-wrapper {
    max-width: var(--container);
    margin: 0 auto;
}

.toyota-footer__newsletter p {
    margin:0;
}

.toyota-footer__newsletter #field_3_1,
.toyota-footer__newsletter .gsection_title {
    display:none;
}

.toyota-footer__newsletter .gform_wrapper.gravity-theme .gform_footer {
	padding:0;
}

.toyota-footer__newsletter .gform_wrapper.gravity-theme .gform_footer input {
	margin-bottom:0;
}



/* --- Global / Bar Styling --- */
.vehicle-detail .vehicle-promo-bar {
  background-color: #999999; 
  color: #ffffff;
  font-family: "Josefin Sans", Arial, sans-serif;
  padding: 15px 0;
  width: 100%;
	margin-bottom:2rem;
}

/* --- Container & Flexbox Layout --- */
.vehicle-detail .promo-container,
.vehicle-detail .description,
.vehicle-detail .vehicle-variants {
  max-width: var(--container);
  margin: 0 auto;
}

	.vehicle-detail .promo-container {
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.vehicle-detail .description {
	padding:1rem;
}

/* --- Title Styling --- */
.vehicle-detail .promo-title h2 {
  font-weight: 300; 
  font-size: 1.8rem;
  letter-spacing: 1px;
  margin: 0;
  text-transform: uppercase;
	transform: translateY(2px);
}
.vehicle-detail .promo-title p {
	display:none;
}

/* --- Price Styling --- */
.vehicle-detail .promo-price {
    display: grid;
    grid-template-columns: max-content max-content; 
    align-items: baseline;
    column-gap: 8px;
		font-weight:100;
}

.vehicle-detail .promo-price .price-fin {
    grid-column: 1 / -1;   
}

.vehicle-detail .promo-brochure a,
.vehicle-detail .promo-price .price-fin a {
	color:var(--nv-text-dark-bg);
	border-bottom:1px dotted var(--nv-text-dark-bg);
	text-decoration: none;
	font-weight:100;
}

.vehicle-detail .price-main {
  font-size: 1.3rem;
}

.vehicle-detail .price-sub {
  font-size: 0.85rem;
}

/* --- Button Styling --- */
.vehicle-detail .btn-test-drive {
	border:2px solid #eb0a1e;
  background-color: #eb0a1e; /* Standard Toyota Red */
  color: #ffffff;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.95rem;
  padding: 14px 24px 10px;
  text-transform: uppercase;
  border-radius: 2px;
  transition: background-color 0.3s ease;
  display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	box-shadow: 1px 1px 2px rgba(0,0,0,.25);
}

.vehicle-detail .btn-request-quote {
	background-color: var(--nv-site-bg);
	color:var(--nv-primary-accent);
} 

.vehicle-detail .btn-test-drive:hover {
  background-color: #cc0017;
}

.vehicle-detail .vehicle-variants .vehicle-variant-title {
	padding:0.5rem 0;
	margin:0;
	font-size:1.2rem;
	font-weight:400;
	text-align: center;
	border-top: 1px solid var(--nv-primary-accent);
}


.vehicle-detail .vehicle-variants .image-wrap {
    height:0;
    padding-bottom:66%;
    position:relative;
    overflow:hidden;
}

.vehicle-detail .vehicle-variants .image-wrap img {
    position:absolute;
    top:-100%;
    left:-100%;
    right:-100%;
    bottom:-100%;
    margin:auto;
}

.vehicle-detail .vehicle-variants-grid {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    padding:40px 0;
}

.vehicle-detail .vehicle-variant-card {
    flex-basis:32%;
    padding:10px;
    box-sizing:border-box;
}

.vehicle-detail .vehicle-variant-card .vehicle-variant-info {
	position: relative;
}

.vehicle-detail .vehicle-variant-card .description {
	position:absolute;
	z-index:4;
	box-shadow: 1px 1px 5px rgba(0,0,0,.25);
	border-radius: 3px;
	margin-top:10px;
	width:100%;
	border:1px solid rgba(0,0,0,.25);
	background-color: var(--nv-site-bg);
	padding:1rem 0 0;
	text-align:left;
}


.vehicle-detail .vehicle-variant-card .description::before {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  position: absolute;
  top: -9px;
  background-color: #fff;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-left: 1px solid #ccc;
  border-top: 1px solid #ccc;
}

.vehicle-detail .vehicle-variant-card button {
	font-family: 'Josefin Sans';
	padding:0;
	font-weight:unset;
	color:var(--nv-primary-accent);
	background-color:unset;
}

.vehicle-detail .vehicle-variant-card .description h3 {
	text-transform: uppercase;
	font-size:1.3rem;
	margin-bottom:0.5rem;
	font-weight:500;
}

.vehicle-detail .vehicle-variant-card .description ul {
	margin-top:0;
}

.vehicle-detail .vehicle-variant-card .description li {
	margin:0 0 0 0.5rem;
}

.vehicle-detail .vehicle-variant-card .description .text {
	font-size:85%;
	max-height:240px;
	overflow:auto;
	padding:1rem 0.5rem;
}

.vehicle-detail .vehicle-variant-card .description button {
	position: absolute;
	top:0.5rem;
	right:1rem;
	background-color:gray;
	padding:0 6px;
	color:white;
	font-weight:800;
}

.vehicle-detail .vehicle-variant-card .description .price {
	background-color: var(--nv-primary-accent);
	padding: 10px 10px;
	font-size:1rem;
	font-weight:400;
	color:white;
	font-family: 'Josefin Sans';
}

.vehicle-detail .vehicle-variant-card .description .price .label {
	text-transform: uppercase;
}

.vehicle-detail .vehicle-variant-card .description .price .value::before {
	content:'Awg. ';
}

.vehicle-detail .vehicle-variant-card .description .price .value::after {
		content: ' incl. taxes';
    font-weight: 100;
    font-size: 0.9rem;
    padding-left: 0.7rem;
}

.vehicle-detail .vehicle-variant-card .description .notes {
	padding:0.5rem 0.5rem 0 0.5rem;
}

.vehicle-detail .vehicle-variant-image,
.vehicle-detail .vehicle-variant-info {
    text-align:center;
}

/* Selling Points in Vehicle Models */
.vehicle-selling-points {
	padding: clamp(1rem, 2vw, 2rem) 20px;
	background: var(--nv-light-bg, #eee);
}

.vehicle-selling-points__inner {
	width: min(1200px, 100%);
	margin-inline: auto;
}

.vehicle-selling-point {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	background: var(--nv-site-bg, #fff);
}

.vehicle-selling-point + .vehicle-selling-point {
	margin-top: clamp(2rem, 4vw, 4rem);
}

.vehicle-selling-point:nth-child(even)
.vehicle-selling-point__media {
	order: 2;
}

.vehicle-selling-point__media img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.vehicle-selling-point__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(2rem, 5vw, 5rem);
	color: var(--nv-text-color, #333);
}

.vehicle-selling-point__title {
	margin: 0 0 1rem;
}

.vehicle-selling-point__description > :first-child {
	margin-top: 0;
}

.vehicle-selling-point__description > :last-child {
	margin-bottom: 0;
}

.vehicle-selling-point__link {
	align-self: flex-start;
	margin-top: 1.5rem;
	color: var(--nv-primary-accent, #eb0a1e);
	font-weight: 700;
}

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

	.vehicle-selling-point:nth-child(even)
	.vehicle-selling-point__media {
		order: 0;
	}
}

/* --- Responsive Stacking for Mobile --- */
@media (max-width: 768px) {
  .vehicle-detail .promo-container {
    flex-direction: column;
    text-align: center;
    gap: 15px;
  }
  
  .vehicle-detail .promo-price {
    justify-content: center;
  }
  
  .vehicle-detail .promo-title h2 {
    font-size: 1.5rem;
  }
}

/* NEWS POST ON HOMEPAGE */
.home .wp-block-latest-posts__post-title {
	font-family: 'Josefin Sans';
	position:absolute;
	left: 50%; 
	transform: translateX(-50%);
	top:2rem;
    color:white;
    text-shadow: 0 0 10px #000;
}
.home .wp-block-latest-posts {
    position:relative;
}

.home .wp-block-latest-posts__post-excerpt {
    display:none;
}

/* =========================================================
   Single Posts (News article) & Posts List
   ========================================================= */

.single-post .neve-main .entry-header {
	margin-bottom:0;
}

.blog .nv-page-title h1 {
	text-align: center;
}
.blog .nv-page-title h1,
.single-post h1.title {
	border-bottom: 1px solid rgba(21,101,192,.25);
}

.blog .nv-meta-list,
.single-post .nv-meta-list {
	font-size:0.75rem;
	color:#999;
	margin-bottom:0;
}

.single-post .nv-meta-list li.meta:not(:last-child):after,
.single-post .nv-meta-list span:not(:last-child)::after {
	content: "";
	padding: 0 2px;
}

.blog .excerpt-wrap {
	margin-top:1rem;
}

.single-post .neve-main .nv-post-share {
	margin: 0.8rem 0 1.8rem;
}

.single-post .nv-social-icons-label {
	font-size:0.9rem;
	opacity: 0.875;
}

/* 1. Hero Image Styling */
.single-post .cm-full-width-hero-section {
    width: 100%;
    /* Optional: Add a subtle background color in case the image loads slowly */
    background-color: #f3f4f6; 
}

.single-post .cm-hero-featured-image {
    width: 100%;
    /* Adjust max-height to match the aesthetic of the old CMS */
    max-height: 500px; 
    object-fit: cover;
    display: block;
}

/* 2. Constrain the Main Content Area to 1200px */
/* Target single posts specifically to avoid affecting pages */
.single-post .neve-main > .single-post-container {
    max-width: 1200px !important; /* Overrides default Neve container widths */
    margin-inline: auto;
    /* Ensure there's padding so text doesn't hit the screen edge on mobile */
    padding-inline: 1.5rem; 
}

/* Optional: Clean up the spacing between the new hero image and the title */
.single-post .nv-single-page-wrap {
    padding-top: 3rem; 
}

/* Sales Department Page */
.sales-department-page .cm-team__tabs,
.sales-department-page .cm-team__heading {
    display:none;
}


/* =========================================================
   Toyota Aruba footer
   ========================================================= */

.toyota-footer {
	--toyota-red: #ed001c;
	--footer-main: #a5a5a5;
	--footer-bottom: #919191;
	--footer-text: #fff;
	--footer-divider: rgba(255, 255, 255, 0.18);

	color: var(--footer-text);
	font-size: 15px;
	line-height: 1.45;
}

.site-footer .cm-brand-switcher__logo {
    width:48px;
    height:48px;

}

/* Make footer brand switcher logos white */
.toyota-footer__utility .cm-brand-switcher img,
.toyota-footer__utility .cm_brand_switcher img,
.toyota-footer__utility .toyota-brand-switcher img {
	filter: brightness(0) invert(1);
}
    

.toyota-footer,
.toyota-footer * {
	box-sizing: border-box;
}

.toyota-footer__container {
	width: calc(100% - 40px);
	max-width: 1140px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.site-footer .builder-item {
    margin:0 !important;
    padding:0 !important;
}

/* Red utility row */

.toyota-footer__utility {
	background: var(--toyota-red);
}

.toyota-footer__utility > .wp-block-group__inner-container,
.toyota-footer__main > .wp-block-group__inner-container,
.toyota-footer__address > .wp-block-group__inner-container,
.toyota-footer__legal > .wp-block-group__inner-container {
	max-width: none;
}

.toyota-footer__utility-columns {
	min-height: 55px;
	margin: 0;
	align-items: center !important;
}

.toyota-footer__utility-menu {
	margin: 0;
}

.toyota-footer__utility-menu .wp-block-navigation__container {
	gap: 0;
}

.toyota-footer__utility-menu .wp-block-navigation-item {
	display: flex;
	align-items: center;
}

.toyota-footer__utility-menu .wp-block-navigation-item:not(:last-child)::after {
	content: "";
	display: block;
	width: 1px;
	height: 18px;
	margin: 0 14px;
	background: rgba(255, 255, 255, 0.65);
}

.toyota-footer__utility-menu a {
	color: #fff;
	text-decoration: none;
}

.toyota-footer__utility-menu a:hover,
.toyota-footer__utility-menu a:focus-visible {
	color: rgba(255, 255, 255, 0.75);
}

.toyota-footer__brands {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

/* Main footer */

.toyota-footer__main {
	background: var(--footer-main);
	padding: 24px 0 22px;
}

.toyota-footer__columns {
	gap: clamp(30px, 5vw, 75px);
	margin: 0;
	align-items: flex-start !important;
}

.toyota-footer__heading {
	margin: 0 0 8px;
	padding: 0 0 3px;
	border-bottom: 1px solid var(--footer-divider);
	color: #fff;
	font-size: 20px;
	font-weight: 300;
	line-height: 1.3;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.toyota-footer__menu {
	margin: 0;
}

.toyota-footer__menu .wp-block-navigation__container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1px;
}

.toyota-footer__menu .wp-block-navigation-item {
	width: 100%;
}

.toyota-footer__menu a {
	display: inline-block;
	padding: 1px 0;
	color: #fff;
	text-decoration: none;
}

.toyota-footer__menu a:hover,
.toyota-footer__menu a:focus-visible {
	color: rgba(255, 255, 255, 0.7);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Footer list-based menus */

.toyota-footer__menu-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.toyota-footer__menu-list li {
	margin: 0;
	padding: 1px 0;
	line-height: 1.45;
}

.toyota-footer__menu-list a {
	color: #fff;
	text-decoration: none;
}

.toyota-footer__menu-list a:hover,
.toyota-footer__menu-list a:focus-visible {
	color: rgba(255, 255, 255, 0.7);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Social icons */

.toyota-footer__socials {
	gap: 7px;
	margin: 16px 0 0;
}

.toyota-footer__socials .wp-social-link {
	background: #fff !important;
	color: var(--footer-main) !important;
	border-radius: 2px;
}

.toyota-footer__socials .wp-social-link a {
	padding: 5px;
}

.toyota-footer__socials .wp-social-link:hover {
	transform: none;
	opacity: 0.75;
}

/* Newsletter */

.toyota-footer__newsletter-row {
	margin: 36px 0 0;
}

.toyota-footer__newsletter {
	max-width: 245px;
	padding: 15px;
	background: #454545;
}

.toyota-footer__newsletter p,
.toyota-footer__newsletter h2,
.toyota-footer__newsletter h3 {
	margin-top: 0;
	color: #fff;
}

.toyota-footer__newsletter input[type="email"] {
	width: 100%;
	min-height: 32px;
	margin-bottom: 8px;
	padding: 5px 8px;
	border: 0;
	border-radius: 2px;
	background: #fff;
	color: #333;
}

.toyota-footer__newsletter input[type="submit"],
.toyota-footer__newsletter button {
	border: 0;
	border-radius: 3px;
	background: var(--toyota-red);
	color: #fff;
	font-weight: 600;
	cursor: pointer;
}

.toyota-footer__newsletter input[type="submit"]:hover,
.toyota-footer__newsletter button:hover {
	filter: brightness(0.9);
}

/* Address and legal sections */

.toyota-footer__address,
.toyota-footer__legal {
	background: var(--footer-bottom);
}

.toyota-footer__address {
	padding: 22px 0 8px;
}

.toyota-footer__address-text {
	margin: 0;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--footer-divider);
	font-size: 13px;
}

.toyota-footer__address a,
.toyota-footer__legal a {
	color: #fff;
	text-decoration: none;
}

.toyota-footer__address a:hover,
.toyota-footer__legal a:hover {
	color: rgba(255, 255, 255, 0.7);
}

.toyota-footer__legal {
	padding: 0 0 20px;
}

.toyota-footer__legal-content {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
	margin: 0;
	font-size: 12px;
}

.toyota-footer__legal-content > * {
	margin: 0;
}

.toyota-footer__legal-content > *:not(:last-child)::after {
	content: "";
	display: inline-block;
	width: 1px;
	height: 13px;
	margin: 0 11px;
	vertical-align: middle;
	background: rgba(255, 255, 255, 0.65);
}

/* Prevent theme defaults from adding unwanted spacing */

.toyota-footer .wp-block-columns,
.toyota-footer .wp-block-group,
.toyota-footer .wp-block-navigation {
	margin-top: 0;
	margin-bottom: 0;
}

/* Toyota footer typography */

.toyota-footer {
	font-family: 'Josefin Sans', 'Open Sans', Arial, sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.45;
}

.toyota-footer :where(
	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	p,
	a,
	li,
	span,
	label,
	input,
	button,
	textarea,
	select
) {
	font-family: inherit !important;
}

.toyota-footer__heading {
	font-weight: 300;
}

.toyota-footer__utility-menu,
.toyota-footer__menu-list,
.toyota-footer__address-text,
.toyota-footer__legal-content {
	font-weight: 300;
}

.toyota-footer__newsletter {
	font-weight: 300;
}

.toyota-footer__newsletter p:first-child,
.toyota-footer__newsletter h2,
.toyota-footer__newsletter h3 {
	font-weight: 600;
}

.toyota-footer__newsletter input,
.toyota-footer__newsletter button {
	font-weight: 400;
}

.toyota-footer__address-text {
	font-size: 13px;
}

.toyota-footer__legal-content {
	font-size: 12px;
}

.promo-cta,
.vehicle-cta-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: clamp(0.75rem, 2vw, 1.5rem);
}

.cm-vehicle-form-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 0.8rem 1.25rem;
	border: 2px solid transparent;
	border-radius: 3px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease;
}

/* Solid red */
.cm-vehicle-form-cta--primary,
.cm-vehicle-form-cta--primary:visited {
	color: var(--nv-text-dark-bg, #fff);
	background: var(--nv-primary-accent, #eb0a1e);
}

.cm-vehicle-form-cta--primary:hover {
	color: var(--nv-text-dark-bg, #fff);
	box-shadow: 0 4px 10px rgb(0 0 0 / 18%);
	transform: translateY(-1px);
}

/* White button */
.cm-vehicle-form-cta--secondary,
.cm-vehicle-form-cta--secondary:visited {
	color: var(--nv-primary-accent, #eb0a1e);
	background: var(--nv-site-bg, #fff);
	/* border-color: var(--nv-c-1, #ccc); */
	box-shadow: 0 2px 4px rgb(0 0 0 / 18%);
}

.cm-vehicle-form-cta--secondary:hover {
	color: var(--nv-primary-accent, #eb0a1e);
	border-color: var(--nv-primary-accent, #eb0a1e);
	transform: translateY(-1px);
}

/* Red outline */
.cm-vehicle-form-cta--outline,
.cm-vehicle-form-cta--outline:visited {
	color: var(--nv-primary-accent, #eb0a1e);
	background: transparent;
	border-color: var(--nv-primary-accent, #eb0a1e);
}

.cm-vehicle-form-cta--outline:hover {
	color: var(--nv-text-dark-bg, #fff);
	background: var(--nv-primary-accent, #eb0a1e);
}

.cm-vehicle-form-cta:focus-visible {
	outline: 3px solid var(--nv-secondary-accent, #0a53a7);
	outline-offset: 3px;
}

@media (max-width: 600px) {
	.promo-cta .cm-vehicle-form-cta {
		width: 100%;
	}
}

/* Toyota main vehicle catalog page */
/* Meet the Team  page */
.page-slug-meet-the-team .neve-main,
.page-slug-toyota .neve-main {
	background-color: var(--nv-light-bg);
}

/* Form pages */
.page-slug-brochure-request-form .neve-main,
.page-slug-parts-request-form .neve-main,
.page-slug-service-request-form .neve-main,
.page-slug-request-a-quote .neve-main,
.page-slug-contact-us .neve-main,
.page-slug-book-a-test-drive .neve-main {
    background-image: 
        linear-gradient(rgb(160, 160, 160, 0.7), rgba(160, 160, 160, 0.7)), 
        url('/wp-content/themes/neve-child-master/assets/images/backgrounds/book_a_testdrive_bg.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.page-slug-brochure-request-form .neve-main,
.page-slug-parts-request-form .neve-main,
.page-slug-service-request-form .neve-main,
.page-slug-request-a-quote .neve-main,
.page-slug-contact-us .neve-main {
		background-image: 
				linear-gradient(rgba(240, 240, 240, 0.7), rgba(240, 240, 240, 0.7)), 
				url('/wp-content/themes/neve-child-master/assets/images/backgrounds/contact_us_bg.jpg');
}

.cm-form-shell {
    max-width:calc(700px + 1rem);
    margin:0 auto 2rem;;
}

.cm-form-shell .adr {
	text-align:center;
}

.cm-form-shell .is-layout-flex {
	gap:0;
}
.cm-form-shell h2 {
	font-size:1rem;
}

.cm-form-shell h3 {
	font-size:1rem;
    margin:2rem 0 0;
}

.cm-form-shell .svg-inline--fa.fa-external-link-alt {
    max-width:15px;
}

.cm-form-wrapper {
    padding:1rem;
    background-color:#444;
}

.cm-form-wrapper h3 {
	color:var(--nv-text-dark-bg);
}

.cm-form-wrapper .gfield--type-section:first-of-type .gsection_title {
  margin-top: 0;
}

.cm-form-wrapper .gform_wrapper.gravity-theme .gfield_required {
	color:var(--nv-primary-accent);
	margin-left:0.2rem;
}

.cm-form-wrapper .gform_wrapper.gravity-theme .gform-field-label--type-inline,
.cm-form-wrapper .gform_wrapper.gravity-theme .ginput_complex label,
.cm-form-wrapper .gform_wrapper.gravity-theme .gfield_label {
    color:var(--nv-text-dark-bg);
    font-weight:100;
}


/* Gallery adjustments */
.cm-color-gallery button:hover {
	background:unset;
}

/* Tablet */

@media (max-width: 960px) {
	.toyota-footer__columns {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.toyota-footer__newsletter-row {
		display: block;
	}

	.toyota-footer__newsletter {
		max-width: 300px;
	}
}

/* Mobile */

@media (max-width: 600px) {
	.toyota-footer__container {
		width: min(100% - 30px, 1115px);
	}

	.toyota-footer__utility {
		padding: 12px 0;
	}

	.toyota-footer__utility-columns,
	.toyota-footer__columns {
		display: block;
	}

	.toyota-footer__utility-menu .wp-block-navigation__container {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 5px;
	}

	.toyota-footer__utility-menu .wp-block-navigation-item::after {
		display: none !important;
	}

	.toyota-footer__brands {
		justify-content: flex-start;
		margin-top: 15px;
	}

	.toyota-footer__main {
		padding-top: 30px;
	}

	.toyota-footer__columns > .wp-block-column {
		margin-bottom: 30px;
	}

	.toyota-footer__newsletter-row {
		margin-top: 0;
	}

	.toyota-footer__newsletter {
		max-width: 100%;
	}

	.toyota-footer__legal-content {
		display: block;
	}

	.toyota-footer__legal-content > * {
		margin-bottom: 7px;
	}

	.toyota-footer__legal-content > *::after {
		display: none !important;
	}
}

/*
 * Sticky side action menu
 */

:root {
	--side-actions-red: #f10a22;
	--side-actions-red-hover: #d9081d;
	--side-actions-dark: #252525;
	--side-actions-width: 280px;
	--side-actions-icon-width: 58px;
	--side-actions-row-height: 57px;
}

.site-top-anchor {
	position: absolute;
	inset: 0 auto auto 0;
	width: 1px;
	height: 1px;
	pointer-events: none;
}

/*
 * The navigation is only icon-width when closed.
 * It expands toward the left without affecting page layout.
 */
.side-actions {
	position: fixed;
	z-index: 9990;
	top: 50%;
	right: 0;
	width: var(--side-actions-icon-width);
	overflow: hidden;
	border-radius: 9px 0 0 9px;
	box-shadow: 0 2px 12px rgb(0 0 0 / 25%);
	transform: translateY(-50%);
	transition: width 180ms ease;
}

.side-actions:hover,
.side-actions:focus-within {
	width: var(--side-actions-width);
}

.side-actions__list {
	width: var(--side-actions-width);
	margin: 0;
	padding: 0;
	list-style: none;
	margin-left: calc(100% - var(--side-actions-width));
}

.side-actions__item {
	width: 100%;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #414141;
}

.side-actions__item:last-child {
	border-bottom: 0;
}

.side-actions__link {
	display: grid;
	grid-template-columns:
		calc(var(--side-actions-width) - var(--side-actions-icon-width))
		var(--side-actions-icon-width);
	width: 100%;
	min-height: var(--side-actions-row-height);
	margin: 0;
	padding: 0;
	color: #fff;
	background: var(--side-actions-dark);
	text-decoration: none;
	line-height: 1.2;
}

.side-actions__label {
	display: flex;
	align-items: center;
	min-width: 0;
	padding: 10px 20px;
	color: #fff;
	font-family: inherit;
	font-size: 16px;
	font-weight: 400;
	white-space: nowrap;
	background: var(--side-actions-dark);
	transition: background-color 140ms ease;
}

.side-actions__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--side-actions-icon-width);
	min-height: var(--side-actions-row-height);
	color: #fff;
	background: var(--side-actions-red);
	transition: background-color 140ms ease;
}

.side-actions__icon svg {
	display: block;
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/*
 * Make the complete row red on hover, matching the reference.
 */
.side-actions__link:hover,
.side-actions__link:focus-visible {
	color: #fff;
	text-decoration: none;
	outline: none;
}

.side-actions__link:hover .side-actions__label,
.side-actions__link:focus-visible .side-actions__label {
	background: var(--side-actions-red);
}

.side-actions__link:hover .side-actions__icon,
.side-actions__link:focus-visible .side-actions__icon {
	background: var(--side-actions-red-hover);
}

/*
 * Visible keyboard indication.
 */
.side-actions__link:focus-visible {
	box-shadow: inset 0 0 0 2px #fff;
}

/*
 * Optional smooth movement for the back-to-top anchor.
 */
@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

/*
 * The desktop interaction does not translate well to a narrow touchscreen.
 * Hide it until a dedicated mobile treatment is added.
 */
@media (max-width: 959px) {
	.side-actions {
		display: none;
	}
}

/*
 * Respect users who disable animations.
 */
@media (prefers-reduced-motion: reduce) {
	.side-actions,
	.side-actions__label,
	.side-actions__icon {
		transition: none;
	}
}

/* =========================================================
   Toyota Aruba mobile navigation
   ========================================================= */

.cm-mobile-menu-brands {
	display: none;
}

@media (max-width: 959px) {
	:root {
		--cm-mobile-menu-width: 250px;
		--cm-mobile-header-height: 84px;
		--cm-toyota-red: #eb0a1e;
		--cm-toyota-red-dark: #c8091a;
		--cm-mobile-divider: rgba(255, 255, 255, 0.18);
	}

	/*
	 * Mobile header trigger
	 */

	.header--row[data-show-on="mobile"] .container {
		padding-right: 0 !important;
	}

	.header--row[data-show-on="mobile"] .builder-item--nav-icon {
		margin-right: 0 !important;
		padding-right: 0 !important;
	}

	.header--row[data-show-on="mobile"]
	.menu-mobile-toggle
	.navbar-toggle {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		gap: 5px;
		min-width: 92px;
		height: 44px;
		margin: 0;
		padding: 0 12px;
		color: #fff !important;
		font-family: inherit;
		font-size: 14px;
		font-weight: 400;
		line-height: 1;
		text-transform: none;
		background: var(--cm-toyota-red) !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}

	/*
	 * Keep the trigger as a hamburger while the drawer is open.
	 * Neve normally changes these bars into an X.
	 */

	.header--row[data-show-on="mobile"]
	.menu-mobile-toggle
	.navbar-toggle
	.bars {
		position: static !important;
		display: flex !important;
		flex: 0 0 14px;
		flex-direction: column;
		justify-content: space-between;
		width: 14px;
		height: 11px;
		margin: 0;
	}

	.header--row[data-show-on="mobile"]
	.menu-mobile-toggle
	.navbar-toggle
	.icon-bar {
		position: static !important;
		display: block !important;
		width: 14px !important;
		height: 2px !important;
		margin: 0 !important;
		opacity: 1 !important;
		background: currentColor !important;
		transform: none !important;
	}

	.header--row[data-show-on="mobile"]
	.menu-mobile-toggle
	.navbar-toggle::after {
		content: "Menu";
	}

	/*
	 * On the live site the open trigger is red text on white.
	 */

	.header--row[data-show-on="mobile"]
	.menu-mobile-toggle.is-active
	.navbar-toggle {
		color: var(--cm-toyota-red) !important;
		background: #fff !important;
	}

	/*
	 * Leave the header uncovered so the Menu button can close
	 * the drawer. Neve's overlay normally covers the header.
	 */

	.header-menu-sidebar-overlay {
		top: var(--cm-mobile-header-height) !important;
		bottom: 0 !important;
		height: auto !important;
	}

	/*
	 * Drawer
	 */

	#header-menu-sidebar-bg {
		width: var(--cm-mobile-menu-width) !important;
		min-width: 0 !important;
		max-width: calc(100vw - 70px) !important;
		background: var(--cm-toyota-red) !important;
		box-shadow: 2px 0 5px rgba(0, 0, 0, 0.35);
	}

	/*
	 * The header Menu button and overlay already close the drawer,
	 * so remove Neve's additional X inside the drawer.
	 */

	#header-menu-sidebar .close-sidebar-panel {
		display: none !important;
	}

	#header-menu-sidebar-inner {
		box-sizing: border-box;
		width: 100%;
		min-height: 100%;
		padding: 0 28px 32px !important;
		color: #fff;
		background: var(--cm-toyota-red) !important;
	}

	#header-menu-sidebar-inner > .builder-item {
		margin: 0 !important;
		padding: 0 !important;
	}

	#header-menu-sidebar .nv-nav-wrap,
	#header-menu-sidebar .nav-menu-primary {
		width: 100%;
	}

	/*
	 * Toyota/Hino logo row
	 */

	#header-menu-sidebar .cm-mobile-menu-brands {
		box-sizing: border-box;
		display: flex;
		align-items: flex-end;
		gap: 13px;
		width: 100%;
		height: 92px;
		padding: 0 8px 17px;
		border-bottom: 1px solid var(--cm-mobile-divider);
	}

	#header-menu-sidebar .cm-mobile-menu-brands a {
		display: flex;
		align-items: center;
		padding: 0;
	}

	#header-menu-sidebar .cm-mobile-menu-brands img {
		display: block;
		width: 44px;
		height: auto;
		filter: brightness(0) invert(1);
	}

	/*
	 * Top-level menu
	 */

	#header-menu-sidebar .menu-mobile,
	#header-menu-sidebar .menu-mobile li {
		width: 100%;
		margin: 0 !important;
		list-style: none;
	}

	#header-menu-sidebar .menu-mobile {
		padding: 0 !important;
	}

	#header-menu-sidebar .menu-mobile > li > .wrap {
		display: flex !important;
		align-items: stretch;
		width: 100%;
		min-height: 40px;
		border-bottom: 1px solid var(--cm-mobile-divider);
	}

	#header-menu-sidebar .menu-mobile a {
		display: flex !important;
		flex: 1 1 auto;
		align-items: center;
		min-height: 40px;
		padding: 0 8px !important;
		color: #fff !important;
		font-size: 13px;
		font-weight: 400;
		line-height: 1.2;
		text-decoration: none;
		text-transform: uppercase;
		background: transparent !important;
	}

	#header-menu-sidebar
	.menu-mobile
	> li.current-menu-item
	> .wrap,
	#header-menu-sidebar
	.menu-mobile
	> li.current_page_item
	> .wrap,
	#header-menu-sidebar
	.menu-mobile
	> li.current-menu-ancestor
	> .wrap {
		background: var(--cm-toyota-red-dark);
	}

	/*
	 * Submenu toggle cell
	 */

	#header-menu-sidebar .menu-mobile .caret-wrap {
		display: flex !important;
		flex: 0 0 32px;
		align-items: center;
		justify-content: center;
		width: 32px;
		min-width: 32px;
		min-height: 40px;
		margin: 0 !important;
		padding: 0 !important;
		color: #fff !important;
		background: rgba(255, 255, 255, 0.12) !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}

	#header-menu-sidebar .menu-mobile .caret-wrap svg {
		width: 10px;
		height: 10px;
		color: currentColor;
	}

	/*
	 * Inline accordion submenu
	 */

	#header-menu-sidebar .menu-mobile .sub-menu {
		position: static !important;
		inset: auto !important;
		top: auto !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 0 0 8px !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	#header-menu-sidebar .menu-mobile .sub-menu::before {
		display: none !important;
		content: none !important;
	}

	#header-menu-sidebar .menu-mobile .sub-menu li {
		display: block;
	}

	#header-menu-sidebar .menu-mobile .sub-menu .wrap {
		min-height: 40px;
		border-bottom: 1px solid var(--cm-mobile-divider);
	}

	#header-menu-sidebar .menu-mobile .sub-menu a {
		min-height: 40px;
		padding: 0 8px !important;
		font-size: 12px;
	}

	#header-menu-sidebar .menu-mobile .sub-menu a::before {
		content: "- ";
		white-space: pre;
	}

	/*
	 * Keyboard focus
	 */

	#header-menu-sidebar a:focus-visible,
	#header-menu-sidebar button:focus-visible {
		outline: 2px solid #fff;
		outline-offset: -2px;
	}
}

@media (max-width: 959px) {
	#header-menu-sidebar .nv-html-content {
		width: 100%;
		margin: 0;
		padding: 0;
	}

	#header-menu-sidebar .cm-mobile-menu-brands {
		margin: 0;
	}

	#header-menu-sidebar .cm-mobile-menu-brands > a {
		flex: 0 0 auto;
		margin: 0 !important;
		padding: 0 !important;
		line-height: 0;
	}

	/*
	 * Defensive cleanup in case WordPress inserts formatting
	 * elements again.
	 */
	#header-menu-sidebar .cm-mobile-menu-brands br {
		display: none !important;
	}

	#header-menu-sidebar .cm-mobile-menu-brands > p {
		display: contents;
		margin: 0 !important;
		padding: 0 !important;
	}
}

/*
 * Standalone mobile back-to-top link.
 */
.cm-mobile-back-to-top,
.cm-mobile-back-to-top[hidden] {
	display: none;
}

@media (max-width: 959px) {
	.cm-mobile-back-to-top:not([hidden]) {
		position: fixed;
		right: calc(20px + env(safe-area-inset-right, 0px));
		bottom: calc(20px + env(safe-area-inset-bottom, 0px));
		z-index: 90;

		display: flex;
		align-items: center;
		justify-content: center;

		box-sizing: border-box;
		width: 48px;
		height: 48px;
		margin: 0;
		padding: 0;

		color: #fff;
		background: var(--side-actions-red, #f10a22);
		border: 0;
		border-radius: 0;
		box-shadow: 0 2px 5px rgb(0 0 0 / 25%);
		text-decoration: none;
	}

	.cm-mobile-back-to-top:visited {
		color: #fff;
	}

	.cm-mobile-back-to-top:hover,
	.cm-mobile-back-to-top:focus-visible {
		color: #fff;
		background: var(--side-actions-red-hover, #d9081d);
		text-decoration: none;
	}

	.cm-mobile-back-to-top:focus-visible {
		outline: 2px solid #252525;
		outline-offset: 3px;
	}

	.cm-mobile-back-to-top svg {
		display: block;
		width: 25px;
		height: 25px;
		fill: none;
		stroke: currentColor;
		stroke-width: 2.2;
		stroke-linecap: round;
		stroke-linejoin: round;
	}
}