/*
 *  custom style
*/

.product-loop.oom-elementor {
    width: 100%;
}

.product-loop img {
	aspect-ratio: 1;
	object-fit: cover;
}

.product-loop .woocommerce-product-details__short-description {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

.product-loop .price {
	margin: 0;
}

.product-loop .price::before {
	content: 'FROM ';
	color: #1E1E1E;
	font-weight: 800;
	font-family: "Archivo", Sans-serif;
	line-height: 1.2em;
	font-size: 14px;
}

.vehical-info {
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
	justify-content: space-between;
    gap: 20px;
	padding: 25px;
    box-shadow: 0px 4px 32px 0px #0000001A;
}

.info-field {
	width: calc(50% - 10px);
	display: flex;
    flex-direction: column;
    gap: 10px;
	font-family: "Archivo", Sans-serif;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.2em;
}

#trip-detail .instruction {
	margin: 0;
	font-family: "Archivo", Sans-serif;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.2em;
}

#trip-detail .info-field.pickup-date,
#trip-detail .info-field.pickup-time,
#trip-detail .info-field.pax {
	width: calc(33.33% - 14px);
}

.info-field input,
.info-field select {
	height: 45px;
}

.single-price .price {
	margin: 0;
}

.single-price .price::before {
	content: 'Starting from ';
	color: #033361;
	font-weight: 500;
	font-family: "Archivo", Sans-serif;
	line-height: 1.2em;
	font-size: 14px;
}

.vehicle-addon,
.contact-info {
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 15px;
	width: 100%;
}

.vehicle-addon .phone-info {
	width: 100%;
	display: flex;
    flex-direction: column;
    gap: 10px;
	font-family: "Archivo", Sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2em;
}

.vehicle-addon .location-pickup,
.vehicle-addon .location-dropoff,
.vehicle-addon .pickup-date,
.vehicle-addon .pickup-time,
.vehicle-addon .name-info,
.vehicle-addon .email-info {
	width: calc(50% - 7.5px);
	display: flex;
    flex-direction: column;
    gap: 10px;
	font-family: "Archivo", Sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2em;
}

.vehicle-addon .pax-number,
.vehicle-addon .luggage-number,
.vehicle-addon .trip-type {
	width: calc(33.33% - 10px);
	display: flex;
    flex-direction: column;
    gap: 10px;
	font-family: "Archivo", Sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2em;
}

.vehicle-addon.wheelchair-friendly .pax-number,
.vehicle-addon.wheelchair-friendly .luggage-number,
.vehicle-addon.wheelchair-friendly .trip-type,
.vehicle-addon.wheelchair-friendly .wheelchair-number {
	width: calc(50% - 7.5px);
	display: flex;
    flex-direction: column;
    gap: 10px;
	font-family: "Archivo", Sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2em;
}

.vehicle-addon input,
.vehicle-addon select {
	height: 45px;
}

.vehicle-addon .estimate-price {
	background: #F6F6F6;
	padding: 15px;
	border-radius: 5px;
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
	gap: 8px;
	width: 100%;
}

.vehicle-addon .estimate-price .label {
	font-family: "Archivo", Sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2em;
}

.vehicle-addon .estimate-price .notes {
	font-family: "Archivo", Sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2em;
	width: 100%;
}

.vehicle-addon .estimate-price .fare {
	font-family: "Archivo", Sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2em;
	color: #EA202A;
}

.variations {
	margin: 0!important;
}

.variations th,
.variations td {
	background: transparent!important;
	padding: 0;
}

.woocommerce-variation-price {
	display: none;
}

.home-prefill .info-field.pax,
.home-prefill .info-field.event,
.home-prefill .info-field.bus {
	width: calc(33.33% - 13.5px);
}

.home-prefill .vehical-info {
	box-shadow: none;
	padding: 0;
}

.home-prefill .vehical-info label {
	display: none;
}

.home-prefill .info-field input,
.home-prefill .info-field select {
	background: transparent;
}

.home-prefill .vehical-info input[type="submit"] {
	border: none;
	width: 100%;
	color: #FFFFFF;
}

#cart-widget .cart.woocommerce-cart-form__contents .button[disabled] {
    display: none!important;
	visibility: hidden;
	opacity: 0;
}

#order_review .custom-variation-data {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	order: 3;
}

#order_review .custom-variation-data > div {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: space-between;
	gap: 5px;
}

#order_review .custom-variation-data .label {
	margin: 0;
	font-weight: bold;
	min-width: 150px;
}

#order_review .custom-variation-data .data {
	width: calc(100% - 160px);
    margin: 0;
}

#checkout-widget .e-checkout__order_review {
	display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px;
}

#order_review_heading {
	margin: 0;
}

#order_review tr,
#order_review th,
#order_review td {
	padding: 0;
}

#order_review .shop_table,
#order_review .shop_table thead,
#order_review .shop_table tbody,
#order_review .shop_table tfoot {
	display: flex;
    flex-direction: column;
    gap: 10px;
}

#order_review tr {
	display: flex;
	flex-direction: row;
	gap: 10px;
	justify-content: space-between;
}

#order_review .shop_table tbody .cart_item > .product-name {
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    row-gap: 10px;
}

#order_review tfoot th,
#order_review .product-name {
	width: 100%;
	max-width: unset;
}

#order_review tfoot td,
#order_review .product-total {
	min-width: 65px;
}

#bus-list .elementor-image-box-wrapper,
#bus-list .elementor-image-box-content {
	height: 100%;
    display: flex;
    flex-direction: column;
}

#bus-list .elementor-image-box-description {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
    gap: 15px;
    height: 100%;
}

#bus-list .elementor-image-box-description a {
	background-color: var(--e-global-color-primary);
    fill: #FFFFFF;
    color: #FFFFFF;
    border-style: none;
    padding: 10px 23px 10px 23px;
}

@media (max-width: 1024px) {
	.vehicle-addon .location-pickup,
	.vehicle-addon .location-dropoff,
	.vehicle-addon .pickup-date,
	.vehicle-addon .pickup-time,
	.vehicle-addon .name-info,
	.vehicle-addon .email-info,
	.vehicle-addon .pax-number,
	.vehicle-addon .luggage-number,
	.vehicle-addon .trip-type {
		width: 100%;
	}
}

@media (max-width: 767px) {
	.vehical-info {
		padding: 20px;
		flex-direction: column;
		gap: 15px;
	}
	
	#trip-detail .info-field.pickup-date,
	#trip-detail .info-field.pickup-time,
	#trip-detail .info-field.pax,
	.home-prefill .info-field.pax,
	.home-prefill .info-field.event,
	.home-prefill .info-field.bus,
	.info-field {
		width: 100%;
	}
	
	#order_review .custom-variation-data > div {
		flex-direction: column;
	}
	
	#order_review .custom-variation-data .label,
	#order_review .custom-variation-data .data {
		width: 100%;
	}
}