/*
Theme Name:   Evolution E-Cycling
Theme URI:    https://evolutionecycling.com/
Description:  Child theme for Hello Elementor
Author:       Your Name
Author URI:   https://yoursite.com
Template:     hello-elementor
Version:      1.0.0
Text Domain:  hello-elementor-child
*/

/* Your custom CSS below */

/* 
* ====== Global typography styles ====== 
*/

p strong {
	color: var(--e-global-color-d25be4a);
}

body .elementor-element h3 a {
	font-size: inherit;
	font-weight: inherit;
	text-decoration: underline;
}

body .elementor-element h3 a:hover {
	text-decoration: none;
}

body .elementor p a {
	text-decoration: underline;
}

body .elementor p {
	margin-bottom: 30px;
}

body .elementor p:last-child {
	margin-bottom: 0;
}

body .elementor p a:hover {
	text-decoration: none;
}

body ul li::marker {
	color: var(--e-global-color-secondary);
}

body .elementor .color--white p a {
	color: var(--e-global-color-f4473ef);
}

.accepted-items ul,
.not-accepted-items ul {
	padding-left: 18px;
}

.accepted-items ul li::marker {
	color: var(--e-global-color-secondary);
}

.not-accepted-items ul li::marker {
	color: var(--e-global-color-primary);
}

body .elementor-element.lead-text a {
	font-size: 21px;
	line-height: 32px;
	font-weight: 700;
	text-decoration: underline;
}

body .elementor-element.lead-text a:hover {
	text-decoration: none;
}

body .elementor-widget .elementor-icon-list-item .elementor-icon-list-text {
	color: var(--e-global-color-d25be4a);
}

body .elementor-widget .elementor-icon-list-item a .elementor-icon-list-text {
	text-decoration: underline;
	color: var(--e-global-color-accent);
}

body .elementor-widget .elementor-icon-list-item a {
	text-decoration: none;
}

body
	.elementor-widget
	.elementor-icon-list-item
	a[href^="tel:"]
	.elementor-icon-list-text {
	font-weight: 700;
	text-decoration: none;
	color: var(--e-global-color-d25be4a);
}

body
	.elementor-widget
	.elementor-icon-list-item
	a:hover
	.elementor-icon-list-text {
	text-decoration: none;
}

body .link--w-icon a {
	font-size: 16px;
	line-height: 24px;
}
body .link--w-icon a > img {
	margin-left: 10px;
	vertical-align: middle;
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

body .elementor p a[href^="tel:"] {
	font-weight: 700;
	text-decoration: none;
	color: var(--e-global-color-d25be4a);
}

/* 
* ====== Header styles ====== 
*/

body.elementor-kit-6 header .sub-menu {
	padding: 20px 0;
	border-radius: 12px;
	border: 1px solid var(--e-global-color-5e52ee8);
}

body.elementor-kit-6 header.elementor-12 .elementor-element .sub-menu li {
	padding: 0 20px;
}

body.elementor-kit-6 header.elementor-12 .elementor-element .sub-menu li a {
	padding: 10px 15px;
	padding-left: 15px;
	padding-right: 15px;
	font-size: 16px;
	font-weight: 700;
	border-left: 0;
	border-radius: 6px;
}

body.elementor-kit-6
	header.elementor-12
	.elementor-element
	.sub-menu
	li
	.sub-menu {
	margin-left: 243px !important;
}

body.elementor-kit-6
	header.elementor-12
	.elementor-element
	.sub-menu
	li
	a:hover,
body.elementor-kit-6
	header.elementor-12
	.elementor-element
	.sub-menu
	li
	a.elementor-item-active,
body.elementor-kit-6
	header.elementor-12
	.elementor-element
	.sub-menu
	li
	a.highlighted {
	background-color: var(--e-global-color-f30b257);
	color: var(--e-global-color-secondary);
}

body.elementor-kit-6 .sub-arrow svg path {
	fill: var(--e-global-color-secondary);
}

body.elementor-kit-6 .topbar a {
	font-size: 14px;
	text-decoration: none;
}

body.elementor-kit-6 .e-off-canvas a[href^="tel:"] {
	font-size: 16px;
}

/* 
* ====== Button styles ====== 
*/

body .button--primary .elementor-button:hover {
	background-color: var(--e-global-color-e0a9c4d);
}

body .button--secondary .elementor-button {
	background-color: transparent;
	border: 1px solid var(--e-global-color-accent);
	color: var(--e-global-color-accent);
	padding: 12px 30px 12px 30px;
}

body .button--secondary .elementor-button:hover {
	background-color: var(--e-global-color-f30b257);
}

body .button--secondary--dark .elementor-button {
	background-color: transparent;
	border: 1px solid var(--e-global-color-secondary);
	padding: 12px 30px 12px 30px;
}

body .button--secondary--dark .elementor-button:hover {
	background-color: var(--e-global-color-f30b257);
}

body .button--tertiary .elementor-button {
	background-color: transparent;
	color: var(--e-global-color-accent);
}

body .button--tertiary .elementor-button .elementor-button-icon svg path {
	fill: var(--e-global-color-accent);
}

body .button--tertiary .elementor-button:hover {
	background-color: var(--e-global-color-f30b257);
}

body .button--tertiary--dark .elementor-button {
	background-color: transparent;
}

body .button--tertiary--dark .elementor-button:hover {
	background-color: rgba(255, 255, 255, 0.15);
}

body .button--action .elementor-button {
	background-color: var(--e-global-color-primary);
	padding: 16px 30px 16px 30px;
}

body .button--action .elementor-button:hover {
	background-color: var(--e-global-color-64d7106);
}

body .elementor-button .elementor-button-icon svg {
	width: auto;
}

body .button--tag .elementor-button {
	padding: 0px 15px 0px 15px;
	border: 1px solid var(--e-global-color-accent);
	background-color: var(--e-global-color-f4473ef);
	font-weight: 400;
	color: var(--e-global-color-accent);
}

body .button--tag .elementor-button:hover {
	background-color: var(--e-global-color-f30b257);
}

body .button--small .elementor-button {
	padding: 7px 20px;
}

body .button--centered {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
}

@media (max-width: 767px) {
	body .button--action .elementor-button {
		padding: 11px 20px 11px 20px;
	}
}

/* 
* ====== Input styles ====== 
*/

body .elementor hr {
	border: 0;
	border-bottom: 1px solid var(--e-global-color-c2faa4d);
	margin: 10px 0;
}
.form__tagline {
	color: var(--e-global-color-f177e00);
	text-transform: uppercase;
	font-weight: 500;
	letter-spacing: 0.1em;
	font-size: 16px;
	line-height: 1;
}

body.elementor-kit-6 .elementor-field-type-select select {
	padding: 12px 20px;
}

body.elementor-kit-6
	.elementor-field-type-checkbox
	.elementor-field-subgroup
	label,
body.elementor-kit-6
	.elementor-field-type-radio
	.elementor-field-subgroup
	label {
	font-weight: 400;
	color: var(--e-global-color-text);
}

body.elementor-kit-6
	.elementor-field-type-checkbox
	.elementor-field-subgroup
	label
	a {
	text-decoration: underline;
}

body.elementor-kit-6
	.elementor-field-type-checkbox
	.elementor-field-subgroup
	label
	a:hover {
	text-decoration: none;
}

/* Checkbox styling */

body.elementor-kit-6 .elementor-field-type-checkbox input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 20px;
	height: 20px;
	border: 1px solid var(--e-global-color-5e52ee8);
	border-radius: 6px;
	padding: 0;
	background-color: #ffffff;
	cursor: pointer;
	position: relative;
	margin-right: 10px;
	transition: all 0.3s ease;
	flex-shrink: 0;
}
/* Hover state */
body.elementor-kit-6
	.elementor-field-type-checkbox
	input[type="checkbox"]:hover {
	border-color: #a0a0a0;
}
/* Checked state - background and border */
body.elementor-kit-6
	.elementor-field-type-checkbox
	input[type="checkbox"]:checked {
	background-color: var(--e-global-color-secondary);
	border-color: var(--e-global-color-secondary);
}
/* Check icon using SVG as background */
.elementor-field-type-checkbox input[type="checkbox"]:checked::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 14px;
	height: 13px;
	background-image: url('data:image/svg+xml;utf8,<svg width="14" height="13" viewBox="0 0 14 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.6875 0.156274C14.0312 0.375024 14.0938 0.843774 13.875 1.18752L5.625 12.6875C5.46875 12.875 5.28125 12.9688 5.0625 13C4.84375 13 4.625 12.9375 4.46875 12.7813L0.21875 8.53127C-0.0625 8.25002 -0.0625 7.75002 0.21875 7.46877C0.5 7.18752 1 7.18752 1.28125 7.46877L4.90625 11.0938L12.6562 0.312524C12.875 -0.0312261 13.3438 -0.0937261 13.6875 0.156274Z" fill="white"/></svg>');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
/* Optional: Flexbox alignment for checkbox and label */
.elementor-field-type-checkbox .elementor-field-option {
	display: flex;
	align-items: center;
}

/* Radio buttons styling */

/* Hide the default radio button */
body.elementor-kit-6 .elementor-field-type-radio input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 20px;
	height: 20px;
	border: 1px solid var(--e-global-color-5e52ee8);
	border-radius: 50%;
	background-color: #ffffff;
	cursor: pointer;
	position: relative;
	margin-right: 8px;
	transition: all 0.3s ease;
	flex-shrink: 0;
	padding: 0;
}

/* Checked state - border color */
body.elementor-kit-6 .elementor-field-type-radio input[type="radio"]:checked {
	border-color: var(--e-global-color-secondary);
}

/* Inner circle when checked */
body.elementor-kit-6
	.elementor-field-type-radio
	input[type="radio"]:checked::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 12px;
	height: 12px;
	background-color: var(--e-global-color-secondary);
	border-radius: 50%;
}

/* Focus state for accessibility */
body.elementor-kit-6 .elementor-field-type-radio input[type="radio"]:focus {
	border-radius: 50%;
}

/* Style the label */
body.elementor-kit-6 .elementor-field-type-radio label {
	cursor: pointer;
	user-select: none;
	line-height: 20px;
}

/* Flexbox alignment for radio and label */
body.elementor-kit-6 .elementor-field-type-radio .elementor-field-option {
	display: flex;
	align-items: center;
	padding-right: 0;
}

body.elementor-kit-6 .elementor-field-type-radio .elementor-field-subgroup {
	gap: 20px;
	margin-bottom: 10px;
}

/* Select styling */

/* Hide default Elementor arrow */
body.elementor-kit-6 .elementor-select-wrapper .select-caret-down-wrapper {
	display: none;
}

/* Remove default browser arrow */
body.elementor-kit-6 .elementor-select-wrapper select {
	appearance: none;
}
/* Add custom SVG arrow */
body.elementor-kit-6 .elementor-select-wrapper::after {
	content: "";
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	width: 12px;
	height: 7px;
	background-image: url('data:image/svg+xml;utf8,<svg width="12" height="7" viewBox="0 0 12 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.29688 6.27344C5.98438 6.55469 5.51562 6.55469 5.23438 6.27344L0.234375 1.27344C-0.078125 0.992188 -0.078125 0.492188 0.234375 0.210938C0.515625 -0.0703125 0.984375 -0.0703125 1.26562 0.210938L5.73438 4.67969L10.2031 0.210938C10.5156 -0.0703125 10.9844 -0.0703125 11.2656 0.210938C11.5781 0.523438 11.5781 0.992188 11.2656 1.27344L6.26562 6.27344H6.29688Z" fill="%236AA85C"/></svg>');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	pointer-events: none;
}

/* Number input styling */

/* Hide default number input arrows */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

input[type="number"] {
	-moz-appearance: textfield;
	appearance: textfield;
}

/* Position wrapper for custom arrows */
.elementor-field-type-number {
	position: relative;
}

/* Ensure input doesn't overlap arrows */
.elementor-field-type-number input[type="number"] {
	padding-right: 35px;
}

/* Arrow buttons container */
body.elementor-kit-6 .number-arrows {
	position: absolute;
	z-index: 2;
	right: 16px;
	bottom: 6px;
	display: flex;
	flex-direction: column;
	gap: 1px;
	z-index: 1;
}

/* Arrow button styling */
body.elementor-kit-6 .number-arrows button {
	background: none;
	border: none;
	padding: 0;
	margin: 0;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 20px;
	opacity: 1;
	background-color: var(--e-global-color-f30b257);
}

body.elementor-kit-6 .number-arrows button:first-child {
	border-radius: 6px 6px 0 0;
}

body.elementor-kit-6 .number-arrows button:last-child {
	border-radius: 0 0 6px 6px;
}

body.elementor-kit-6 .number-arrows button:hover {
	background-color: var(--e-global-color-secondary);
}

body.elementor-kit-6 .number-arrows button:hover svg {
	fill: var(--e-global-color-f4473ef);
}

.number-arrows button svg {
	display: block;
	fill: var(--e-global-color-secondary);
}

body.elementor-kit-6 .elementor-field-type-upload input[type="file"] {
	border: none;
	padding: 0;
	font-size: 16px;
}

body.elementor-kit-6
	.elementor-field-type-upload
	input[type="file"]::file-selector-button {
	background-color: transparent;
	border: 1px solid var(--e-global-color-accent);
	color: var(--e-global-color-accent);
	font-weight: 700;
	padding: 0 20px;
	min-height: 44px;
	border-radius: 6px;
	cursor: pointer;
	margin-right: 10px;
	font-size: 16px;
}

body.elementor-kit-6
	.elementor-field-type-upload
	input[type="file"]::file-selector-button:hover {
	background-color: var(--e-global-color-f30b257);
}

body.elementor-kit-6
	.elementor
	.elementor-form-fields-wrapper
	.elementor-field-type-upload.elementor-field-group-multiple_file_upload
	input[type="file"] {
	border: 1px dashed var(--e-global-color-1d04681);
	padding: 50px 290px;
	font-size: 16px;
	border-radius: 12px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: rgba(106, 168, 92, 0.05);
}

body.elementor-kit-6
	.elementor
	.elementor-form-fields-wrapper
	.elementor-field-type-upload.elementor-field-group-multiple_file_upload
	input[type="file"]::before {
	content: "Drag & Drop Files Here";
	font-size: 24px;
	line-height: 28px;
	color: var(--e-global-color-d25be4a);
	font-weight: 700;
	display: block;
	margin-bottom: 15px;
}

/* ====== Boxes styles (hovers) ====== */

.service-box:hover > .elementor-element:nth-child(2) {
	box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.1);
}

body .elementor-element .service-box:hover .elementor-widget-icon {
	background-color: var(--e-global-color-accent);
}

/* ====== Icon tweaks ====== */

body .elementor-icon.elementor-social-icon {
	width: 54px;
}

.icon--size--50 {
	height: 50px;
}

.icon--size--100 .elementor-icon-wrapper {
	height: 100px;
}

body .rounded-image--12 img {
	border-radius: 12px;
}

body .background--blur {
	backdrop-filter: blur(5px);
}

body .sticky-container {
	position: sticky;
	top: 30px;
}

/* ====== Breadcrumbs styles (typography, icons, links) ====== */

.breadcrumbs {
	font-size: 16px;
	line-height: 1;
}

.breadcrumbs ol {
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	padding-left: 0;
}
.breadcrumbs ol li {
	line-height: 0;
}
.breadcrumbs ol li a {
	line-height: 1;
	font-size: 16px;
	vertical-align: middle;
	color: var(--e-global-color-f4473ef);
	text-decoration: underline;
}

.breadcrumbs ol li a:hover {
	text-decoration: none;
}

.breadcrumbs .current {
	color: var(--e-global-color-5e52ee8);
	line-height: 1;
}

/* ====== Accordion styles (typography, icons, links) ====== */

/* Counter reset for wrapper containing multiple split accordions */
.accordion-wrapper {
	counter-reset: headerCounter;
}

.e-n-accordion-item {
	border: 1px solid var(--e-global-color-5e52ee8);
	transition: all 0.3s ease-in-out;
	border-radius: 12px;
	counter-increment: headerCounter;
}

.e-n-accordion-item .e-n-accordion-item-title-text {
	display: flex;
	gap: 20px;
	transition: all 0.3s ease-in-out;
}

.accordion--numbered
	.e-n-accordion-item
	.e-n-accordion-item-title-text::before {
	content: counter(headerCounter);
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--e-global-color-secondary);
	background-color: var(--e-global-color-f30b257);
	border-radius: 100%;
	font-size: 18px;
	transition: all 0.3s ease-in-out;
}

.e-n-accordion-item .e-n-accordion-item-title-text:hover {
	color: var(--e-global-color-accent);
}

.accordion--numbered
	.e-n-accordion-item[open]
	.e-n-accordion-item-title-text::before {
	color: var(--e-global-color-f4473ef);
	background-color: var(--e-global-color-primary);
	transition: all 0.3s ease-in-out;
}

.accordion--simple .e-n-accordion-item {
	border-radius: 0;
	border: 0;
	border-bottom: 1px solid var(--e-global-color-5e52ee8);
}

.e-n-accordion-item[open] {
	border: 1px solid var(--e-global-color-primary);
	border-radius: 12px;
	background-color: rgba(250, 117, 0, 0.1);
	transition: all 0.3s ease-in-out;
}

.e-n-accordion-item[open] .e-n-accordion-item-title-text {
	color: var(--e-global-color-primary);
}

@media (max-width: 767px) {
	.accordion--simple .e-n-accordion-item[open] {
		border-radius: 0;
		border-right: 0;
		border-left: 0;
	}
}

/* ====== Footer styles (typography, icons, links) ====== */

footer
	.elementor-element
	.elementor-widget
	.elementor-icon-list-item
	a[href^="mailto:"]
	.elementor-icon-list-text {
	color: var(--e-global-color-accent);
}

footer.elementor a {
	font-size: 16px;
	text-decoration: underline;
}

footer.elementor a:hover {
	text-decoration: none;
}

footer.elementor
	.e-con-inner
	nav.elementor-nav-menu--layout-horizontal
	.elementor-nav-menu
	a:hover {
	text-decoration: none;
}

/* ====== Responsive styles ====== */

body .elementor-element.grid--scroll-y {
	overflow-y: scroll;
	scrollbar-width: none; /* Firefox */
	-ms-overflow-style: none; /* IE/Edge */
}

body .elementor-element.grid--scroll-y::-webkit-scrollbar {
	display: none; /* Chrome, Safari, Opera */
}

@media (max-width: 767px) {
	body.elementor-kit-6
		.elementor
		.elementor-form-fields-wrapper
		.elementor-field-type-upload.elementor-field-group-multiple_file_upload
		input[type="file"] {
		padding: 30px;
	}
	body.elementor-kit-6
		.elementor
		.elementor-form-fields-wrapper
		.elementor-field-type-upload.elementor-field-group-multiple_file_upload
		input[type="file"]::before {
		font-size: 18px;
	}
	body.elementor-kit-6 header.elementor-12 .elementor-element .sub-menu li {
		padding: 0;
	}
	.breadcrumbs {
		margin-right: -20px;
	}
	.breadcrumbs ol {
		overflow: scroll;
		flex-wrap: nowrap;
		min-height: 24px;
		padding-right: 20px;
		scrollbar-width: none; /* Firefox */
		-ms-overflow-style: none; /* IE/Edge */
	}
	.breadcrumbs ol::-webkit-scrollbar {
		display: none; /* Chrome, Safari, Opera */
	}
	.breadcrumbs ol li a,
	.breadcrumbs ol li {
		white-space: nowrap;
	}
}

@media (max-width: 1599px) {
	body .elementor-nav-menu--main .elementor-nav-menu ul {
		position: initial;
		border: none;
		padding: 20px 0 0 20px;
	}
	body .elementor-nav-menu--main .elementor-nav-menu ul li ul {
		position: initial;
		border: none;
		padding: 5px 0 20px 20px;
	}
	body.elementor-kit-6 header.elementor-12 .elementor-element .sub-menu li a {
		padding: 0;
		font-weight: 400;
		color: var(--e-global-color-accent);
		margin-bottom: 10px;
	}
	body.elementor-kit-6
		header.elementor-12
		.elementor-element
		.sub-menu
		li
		a:hover {
		background-color: transparent;
	}
	body.elementor-kit-6
		header.elementor-12
		.elementor-element
		.sub-menu
		li
		.sub-menu {
		margin-left: 0 !important;
	}
	body.elementor-kit-6
		header.elementor-12
		.elementor-element
		.sub-menu
		li:last-child
		a {
		margin-bottom: 0;
	}
	body.elementor-kit-6 header.elementor-12 .elementor-element .sub-menu li a:hover, body.elementor-kit-6 header.elementor-12 .elementor-element .sub-menu li a.elementor-item-active, body.elementor-kit-6 header.elementor-12 .elementor-element .sub-menu li a.highlighted {
		background-color: transparent;
	}
}

@media (min-width: 1366px) and (max-width: 1599px) {
	.elementor .elementor-hidden-desktop.menu--button {
		display: block;
		order: 3;
		margin-left: 30px;
		line-height: 0;
	}
	.main--menu {
		display: none;
	}
	body .elementor-widget-off-canvas .e-off-canvas {
		left: unset;
		right: 0;
		width: 400px;
	}
}
