/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* -------------------------------------
BOOKING BAR
------------------------------------- */
body {
	background: #f1f1f1;
}

.booking-bar {
	background: rgba(255,255,255,0.2);
	backdrop-filter: blur(25px);
	border-radius: 30px;
	padding: 10px 50px 35px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	font-family: "Inter", sans-serif;
	justify-content: space-between;
	flex-direction: column;
}

.booking-bar-bottom {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
	max-height: 90px !important;
}

.booking-bar-bottom-left {
	width: 18%;
}

.booking-bar-bottom-right {
	display: flex;
	align-items: flex-end;
	gap: 20px;
	width: 70%;
}

@media screen and (max-width: 1200px) {
	.booking-bar {
		height: 100% !important;
		justify-content: start;
	}

	.booking-bar-bottom {
		display: block;
		width: 100%;
		max-height: 100% !important;
	}

	.booking-bar-bottom-left {
		width: 100%;
	}

	.booking-bar-bottom-right {
		width: 100%;
		margin-top: 20px;
	}
}

@media screen and (max-width: 880px) {
	.booking-bar-bottom-right {
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		width: 100%;
	}

	.booking-bar {
		padding: 20px 30px;
	}
}

/* -------------------------------------
SELECTS (Native select styling)
------------------------------------- */

.booking-bar select {
	background: #ffffff;
	border: 1px solid #8518BD;
	border-radius: 15px;
	padding: 10px 16px;
	font-size: 16px;
	color: #000000;
	cursor: pointer;
	max-height: 250px;
	overflow-y: auto;
}

.booking-bar select:focus {
	outline: none;
	box-shadow: 0 0 0 2px #FFF800;
}

/* -------------------------------------
FORM GROUPS
------------------------------------- */

.form-group {
	display: flex;
	flex-direction: column;
	flex: 1 1 200px;
}

.form-group label {
	font-family: 'Inter' sans-serif;
	font-size: 16px;
	font-weight: 400;
	margin-bottom: 5px;
	color: #ffffff;
}

.form-group input {
	padding: 10px;
	font-size: 16px;
	border: 1px solid #000000;
	border-radius: 50px;
	background: transparent;
	color: #000;
}

@media screen and (max-width: 880px) {
	.form-group {
		display: block;
		flex: unset;
		width: 100%;
	}
}

/* -------------------------------------
DATE PICKER + CLEAR BUTTON
------------------------------------- */
#dateRange {
	min-width: 230px !important;
}

.date-picker-wrapper {
	position: relative;
}

.date-picker-wrapper input {
	width: 100%;
	padding-right: 30px;
}

.clear-btn {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	background: transparent;
	border: none;
	font-size: 20px;
	color: #8518BD;
	cursor: pointer;
	padding: 5px;
}

.clear-btn:hover {
	color: #000000;
	background: transparent;
}

.range-age {
	border: none;
	display: flex;
	align-items: center;
	gap: 10px;
	color: #ffffff;
	font-family: 'Inter', sans-serif;
	font-size: 16px;
}

.range-age label {
	margin-right: 15px;
}

input[type="radio"][name="ageLimit"] {
	accent-color: #8518BD;
}

@media screen and (max-width: 556px) {
	.range-age {
		flex-direction: column;
		gap: 5px;
		align-items: flex-start;
	}

	.range-age label {
		margin-top: 10px;
	}
}

/* -------------------------------------
BUTTON CERCA
------------------------------------- */

.btn-cerca {
	background: #FFF800;
	color: #000000;
	font-weight: 400;
	border: none;
	padding: 10px 30px;
	border-radius: 15px;
	font-size: 18px;
	cursor: pointer;
	transition: all 0.3s;
	min-height: 52px;
	font-family: "Michroma", Sans-serif;
	text-transform: uppercase;
}

.btn-cerca:hover {
	background: #8518BD;
	color: #ffffff;
}

@media screen and (max-width: 880px) {
	.btn-cerca {
		width: 100%;
	}
}

/* -------------------------------------
CHOICES.JS STYLES (if used)
------------------------------------- */

.choices {
	background: transparent !important;
	border-radius: 15px;
	border: 1px solid #000000;
	font-size: 16px;
	cursor: pointer;
}

.choices__inner {
	border: none !important;
	background-color: transparent !important;
}

.choices:focus-visible {
	outline: none !important;
}

.choices__inner:focus-visible {
	outline: none !important;
}

.choices__list--dropdown {
	max-height: 250px;
	border: 1px solid #000000 !important;
}

.choices__list--dropdown .choices__list .choices__item {
	color: #000000;
}

.choices__item--selectable {
	cursor: pointer;
	color: #ffffff;
}

.choices__item--selectable.is-highlighted {
	background-color: #FFF800 !important;
	color: #000;
}

.choices.is-focused.is-open {
	border-radius: 0;
}

input#dateRange {
	line-height: 27px;
	border-radius: 15px;
	padding: 11px 15px;
	color: #ffffff;
	font-size: 14px;
}

input#dateRange:focus-visible {
	outline-color: #8518BD;
}

/* Wrapper per inserire icona nella select */
.select-wrapper {
	position: relative;
}

.choices__sede.choices[data-type*="select-one"]::after {
	border: none !important;
	content: url('/wp-content/uploads/2025/07/search-icon.svg') !important;
	right: unset !important;
	left: 10px !important;
	transform: translateY(-6px);
}

.choices.choices__sede .choices__item.choices__placeholder.choices__item--selectable {
	padding-left: 34px;
}

.choices.choices__sede .choices__item.choices__item--selectable {
	padding-left: 34px;
}

.flotta-category-item {
	display: flex;
	align-items: center;
	gap: 5px;
}

.slider-text-container {
	backdrop-filter: blur(5px);
}

.elementor-swiper-button-prev,
.elementor-swiper-button-next {
	transition: color 300ms ease-in-out;
}

.elementor-swiper-button-prev:hover,
.elementor-swiper-button-next:hover {
	color: #8518BD;
}

.my-swiper-fade .swiper-wrapper {
    display: block !important;
    height: 100%;
    position: relative;
}

.my-swiper-fade .swiper-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.8s ease;
    z-index: 0;
}

.my-swiper-fade .swiper-slide.swiper-slide-active {
    opacity: 1;
    position: relative;
    pointer-events: auto;
    z-index: 1;
}

body.body-class-chi-siamo .booking-bar-bottom .booking-bar-bottom-left .form-group label,
body.body-class-chi-siamo .booking-bar-bottom .booking-bar-bottom-right .form-group label,
body.body-class-chi-siamo .choices__list .choices__item,
body.body-class-chi-siamo input#dateRange,
body.body-class-chi-siamo .range-age {
	color: #000000;
}

body.body-class-chi-siamo .elementor-widget-html .elementor-widget-container {
	padding: 0 !important;
}

/* -------------------------------------
SWIPER SLIDER STYLES
------------------------------------- */

.flotta-slider-wrapper {
    display: block;
    gap: 30px;
    align-items: flex-start;
}

.slider-images {
    width: 100%;
}

.slider-images img {
	max-width: 53%;
	height: 480px;
    object-fit: contain;
}

.slider-infos {
    width: 100%;
	position: absolute !important;
	top: 0;
	right: 0;
	z-index: 10;
}

.vehicle-info-slide {
    display: flex;
	flex-direction: column;
	
}

.flotta-category-list {
    display: grid;
	grid-template-columns: 1fr 1fr;
	align-self: flex-end;
	width: 45%;
    gap: 15px;
    padding: 40px 100px;
	background-color: #f1f1f1bc;
  	backdrop-filter: blur(12px);
	border-radius: 10px;
	margin-bottom: 40px;
}

.flotta-category-header {
	grid-column: 1 / span 2;
	margin-bottom: 40px;
}

.flotta-category-header h3 {
	font-family: "Michroma", Sans-serif;
	font-size: 32px;
	font-weight: 400;
	line-height: 44px;
	text-transform: uppercase;
	color: #000;
	margin-bottom: 10px;
}

.flotta-category-header p {
	font-family: "Inter", Sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 24px;
	color: #000;
	margin-bottom: 0;
	text-transform: uppercase;
}

.flotta-category-item {
    display: flex;
    align-items: center;
	justify-content: center;
    gap: 5px;
	background: #fff;
	padding: 20px;
	border-radius: 10px;
	font-family: "Inter", Sans-serif;
	font-weight: 400;
	line-height: 24px;
	color: #000;
	text-decoration: none;
	font-size: 18px;
	text-transform: uppercase;
}

.flotta-category-item img {
    width: 20px;
    height: auto;
}

.masonry-images {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.masonry-image-left {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	width: 100%;
}

.masonry-image-left img:first-child {
    width: 100%;
	height: 100%;
}

.masonry-image-left img:last-child {
    width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px;
	grid-row: 1 / span 2;
	grid-column: 2;
}

.masonry-image-left .masonry-cta {
	background: #FFF800;
	color: #000;
	font-family: "Michroma", Sans-serif;
	font-size: 82px;
	font-weight: 400;
	line-height: 92px;
	text-transform: uppercase;
	text-align: left;
	width: 100%;
	height: 100%;
	padding: 0 10px 5px;
	border-radius: 10px;
	border: none;
	position: relative;
	transition: 200ms ease-in-out;
}

.masonry-image-right {
	width: 100%;
	position: relative;
}

.masonry-image-right img {
    width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px;
}

.masonry-image-right .text-image-right {
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 5px 10px;
	font-size: 59px;
	font-family: "Michroma", Sans-serif;
	font-weight: 400;
	line-height: 64px;
	text-transform: uppercase;
	color: #ffffff;
}

.get-started-button {
    display: inline-block;
    background: #8518BD;
    color: #fff !important;
    text-decoration: none;
	text-align: center;
    padding: 20px;
    border-radius: 10px;
    margin-top: 20px;
	grid-column: 1 / span 2;
	transition: 200ms ease-in-out;
	font-family: "Michroma", Sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 34px;
	text-transform: uppercase;
	width: 100%;
}

.get-started-button:hover {
	background: #000000;
}

.flotta-slider-navigation {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.flotta-slider-navigation button {
    border: none;
    cursor: pointer;
	color: transparent;
	padding: 0;
}

.flotta-slider-navigation button:hover{
	background-color: transparent;
}

/* Posizionamento dei pulsanti di navigazione slider pre footer in HP */
.slider-testimonial-hp .elementor-slides-wrapper {
	position: relative !important;
}

.slider-testimonial-hp .elementor-swiper-button-prev,
.slider-testimonial-hp .elementor-swiper-button-next {
    position: absolute;
    bottom: 30px !important;
    right: 45px !important;
	left: unset !important;
	top: unset !important;
    display: inline-block;
    width: 50px; /* Dimensione personalizzata */
    height: 50px; /* Dimensione personalizzata */
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    border: none;
    cursor: pointer;
    z-index: 10;
}

/* Icona per il pulsante "prev" */
.slider-testimonial-hp .elementor-swiper-button-prev {
    background-image: url('/wp-content/uploads/2025/07/yellow-arrow-prev.png');
    margin-right: 60px; /* Sposta leggermente a sinistra rispetto al pulsante "next" */
}

/* Icona per il pulsante "next" */
.slider-testimonial-hp .elementor-swiper-button-next {
    background-image: url('/wp-content/uploads/2025/07/yellow-arrow-next.png');
}

/* Rimuove il contenuto SVG di default */
.slider-testimonial-hp .elementor-swiper-button-prev svg,
.slider-testimonial-hp .elementor-swiper-button-next svg {
    display: none;
}

/* Posizionamento dei bullet della paginazione */
.slider-testimonial-hp .swiper-pagination {
    position: absolute;
    bottom: 45px !important; /* Distanza dal basso */
    left: 45px !important; /* Distanza da sinistra */
    display: flex;
    gap: 15px; /* Spaziatura tra i bullet */
    z-index: 10;
}

/* Stile dei bullet */
.slider-testimonial-hp .swiper-pagination-bullet {
    width: 8px; /* Dimensione quadrata */
    height: 8px; /* Dimensione quadrata */
    border-radius: 0; /* Rimuove la forma tonda */
    transition: background-color 200ms ease-in-out;
}

.slider-testimonial-hp .swiper-pagination-bullet-active {
	transform: scale(1.6);
}

/* -------------------
RESPONSIVE 
______________________ */

@media screen and (max-width: 1600px) {
	.masonry-image-left .masonry-cta {
		font-size: 48px;
		line-height: 64px;
	}

	.masonry-image-right .text-image-right {
		font-size: 39px;
		line-height: 49px;
	}
}

@media screen and (max-width: 1366px) {
	.flotta-category-list {
		display: flex;
		flex-direction: column;
	}
}

@media screen and (max-width: 1200px) {
	.flotta-category-list {
		display: grid;
		width: 100%;
		gap: 10px;
	}

	.masonry-images {
		display: flex;
		flex-direction: column;
	}

	.masonry-image-left .masonry-cta {
		font-size: 66px;
		line-height: 100px;
		transition: 200ms;
		position: relative;
		padding: 0 20px;
	}

	.slider-infos {
		width: 100%;
		position: relative !important;
		top: auto;
		right: auto;
		z-index: 0;
	}

	.slider-images img {
		max-width: 100%;
	}

	.masonry-image-right .text-image-right {
		font-size: 59px;
		line-height: 69px;
	}
}

@media screen and (max-width: 880px) {
	.slider-images img {
		height: 280px;
	}

	.swiper-slide.swiper-slide-active {
		text-align: center;
	}

	.masonry-image-left {
		display: flex;
		flex-direction: column;
	}

	.flotta-category-list {
		padding: 0;
	}

	.flotta-category-item {
		font-size: 14px;
	}

	.flotta-category-header {
		margin-bottom: 20px;
	}

	.masonry-image-right .text-image-right {
		font-size: 39px;
		line-height: 49px;
	}
}

@media screen and (max-width: 556px) {
	.masonry-image-right .text-image-right {
		font-size: 19px;
		line-height: 29px;
	}
	
	.elementor-7 .elementor-element.elementor-element-2febe50 > .elementor-widget-container {
		padding: 0px 20px 0px 20px !important;
	}
}


/* *************
CHI SIAMO 
**************** */

.circle-text textPath {
    transition: 200ms;
}

.circle-text-wrap:hover .circle-text textPath {
    fill: #ffffff;
}

.circle-text-wrap .circle-stroke {
    transform: translate(-50%, -50%);
}

.circle-text-wrap:hover .circle-stroke {
    border-color: #ffffff;
}

.circle-text-wrap .e-text-path {
    display: flex;
    align-items: center;
    justify-content: center;
}

.chi-siamo-masonry-cta-wrap {
    transition: all 200ms ease;
}

.card-car .flotta-category-list {
    display: block;
	grid-template-columns: unset;
	align-self: unset;
	width: 100%;
    gap: unset;
    padding: unset;
	background-color: unset;
  	backdrop-filter: unset;
	border-radius: unset;
	margin-bottom: unset;
}

.card-car .flotta-category-list .flotta-category-item {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: unset;
	border-radius: unset;
	font-family: "Inter", Sans-serif;
	font-weight: 400;
	line-height: 24px;
	color: #000;
	text-decoration: none;
	font-size: 18px;
	text-transform: unset;
}
/*
.container-single-car-sticky {
		overflow-y: unset;
	}

	.single-car-sticky {
		position: relative;
		top: unset;
		z-index: 10;
	}*/

@media screen and (min-width: 1024px) {
	.container-single-car-sticky {
		overflow-y: visible;
	}

	.single-car-sticky {
		position: sticky;
		top: 0;
	}
}

.slider-rally-blog .swiper-slide-active .elementor-element {
	background-color: #000 !important;
	border-radius: 20px !important;
}

.slider-rally-blog .swiper-slide-active div, 
.slider-rally-blog .swiper-slide-active h1,
.slider-rally-blog .swiper-slide-active h2,
.slider-rally-blog .swiper-slide-active h3,
.slider-rally-blog .swiper-slide-active h4,
.slider-rally-blog .swiper-slide-active p {
	color: #FFF800 !important;
}

.slider-rally-blog .swiper-slide-active span {
	color: #000000;
}

.slider-rally-blog .swiper-slide-active .elementor-element svg {
	fill: #FFF800 !important;
}

/* -------------------------------------
CONTACT FORM
------------------------------------- */

/* Contenitore form */
.wpcf7 .wpcf7-form {
  color: #000000;
  padding: 20px;
  font-family: 'Inter', sans-serif;
}

/* Titolo */
.wpcf7 .cf7-title {
  font-family: 'Michroma', sans-serif;
  font-size: 18px;
  line-height: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid #000;
  padding-bottom: 10px;
}

/* Righe e colonne */
.wpcf7 .cf7-row {
  display: flex;
  gap: 30px 0;
}

.wpcf7 .cf7-col {
  flex: 1;
}

.wpcf7 .cf7-col label {
	width: 100%;
	font-family: 'Inter', sans-serif;
	text-transform: uppercase;
	font-size: 12px;
	color: #000000;
	letter-spacing: 2px;
	display: block;
}

.wpcf7 .cf7-col label span input {
	padding: 0 15px 0 0;
}

/* Input e textarea */
.wpcf7 .cf7-field {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid #000000;
  padding: 8px 0;
  font-family: inherit;
  font-size: 16px;
  color: #000000;
  outline: none;
  border-radius: 0;
}

/* Stile del placeholder (opzionale) */
.wpcf7 .cf7-field::placeholder {
  color: rgba(0,0,0,0.5);
}

/* Checkbox GDPR */
.wpcf7 .cf7-consent {
  display: flex;
  align-items: flex-start;
  margin-bottom: 30px;
  font-size: 12px;
}

.wpcf7 .cf7-consent > label {
	display: flex;
}

.wpcf7 .wpcf7-acceptance .wpcf7-list-item {
 margin: 0 20px 0 0;
}

.wpcf7 .wpcf7-acceptance .wpcf7-list-item > label {
	display: flex;
	align-items: center;
}

/* Pulsante Invia */
.wpcf7 .cf7-submit input[type="submit"],
.wpcf7 .cf7-submit input[type="submit"]:hover {
  background: none;
  border: 1px solid #000;
  color: #000;
  font-family: 'Michroma', sans-serif;
  font-size: 18px;
  padding: 10px 30px;
  cursor: pointer;
  transition: background-color .2s, color .2s;
  border-radius: 10px;
  text-transform: uppercase;
}

.wpcf7 .cf7-submit input[type="submit"]:hover {
  background: #000;
  color: #FFF800;
}

.wpcf7-not-valid-tip {
	margin-top: 5px;
}

.wpcf7 input[type="checkbox"] {
	width: 40px;
	height: 40px;
	border-radius: 0;
	vertical-align: middle;
	margin-right: 20px;
}

@media screen and (max-width: 767px) {
	.wpcf7 .wpcf7-form {
		padding: 0;
	}

	.wpcf7 .cf7-row {
		display: block;
	}

	.wpcf7 .cf7-col {
		flex: unset;
		width: 100%;
	}
}

/* -------------------------------------
Form Pagina Cotatti
------------------------------------- */
body.body-class-contatti {
	/* Contenitore form */
	.wpcf7 .wpcf7-form {
		color: #ffffff;
		padding: 20px;
		font-family: 'Inter', sans-serif;
	}

	/* Titolo */
	.wpcf7 .cf7-title {
		font-family: 'Michroma', sans-serif;
		font-size: 18px;
		line-height: 30px;
		margin-bottom: 30px;
		border-bottom: 1px solid #ffffff;
		padding-bottom: 10px;
	}

	/* Righe e colonne */
	.wpcf7 .cf7-row {
		display: flex;
		gap: 30px 0;
	}

	.wpcf7 .cf7-col {
		flex: 1;
	}

	.wpcf7 .cf7-col label {
		width: 100%;
		font-family: 'Inter', sans-serif;
		text-transform: uppercase;
		font-size: 12px;
		color: #ffffff;
		letter-spacing: 2px;
		display: block;
	}

	.wpcf7 .cf7-col label span input {
		padding: 0 15px 0 0;
	}

	/* Input e textarea */
	.wpcf7 .cf7-field {
		width: 100%;
		background: transparent;
		border: none;
		border-bottom: 1px solid #ffffff;
		padding: 8px 0;
		font-family: inherit;
		font-size: 16px;
		color: #ffffff;
		outline: none;
		border-radius: 0;
	}

	/* Stile del placeholder (opzionale) */
	.wpcf7 .cf7-field::placeholder {
		color: rgba(255,255,255,0.5);
	}

	/* Checkbox GDPR */
	.wpcf7 .cf7-consent {
		display: flex;
		align-items: flex-start;
		margin-bottom: 30px;
		font-size: 12px;
	}

	.wpcf7 .cf7-consent > label {
		display: flex;
	}

	.wpcf7 .wpcf7-acceptance .wpcf7-list-item {
	margin: 0 20px 0 0;
	}

	.wpcf7 .wpcf7-acceptance .wpcf7-list-item > label {
		display: flex;
		align-items: center;
	}

	/* Pulsante Invia */
	.wpcf7 .cf7-submit input[type="submit"],
	.wpcf7 .cf7-submit input[type="submit"]:hover {
		background: #FFF800;
		border: 1px solid #FFF800;
		color: #000000;
		font-family: 'Michroma', sans-serif;
		font-size: 18px;
		padding: 10px 30px;
		cursor: pointer;
		transition: background-color .2s, color .2s;
		border-radius: 100px;
		text-transform: uppercase;
		width: 100%;
	}

	.wpcf7 .cf7-submit input[type="submit"]:hover {
		background: #000000;
		color: #FFF800;
	}

	.wpcf7-not-valid-tip {
		margin-top: 5px;
	}

	.wpcf7 input[type="checkbox"] {
		width: 40px;
		height: 40px;
		border-radius: 0;
		vertical-align: middle;
		margin-right: 20px;
	}

	@media screen and (max-width: 767px) {
		.wpcf7 .wpcf7-form {
			padding: 0;
		}

		.wpcf7 .cf7-row {
			display: block;
		}

		.wpcf7 .cf7-col {
			flex: unset;
			width: 100%;
		}
	}
}