/* 
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
*/

/* Add your custom styles here */

input[type="text"],
input[type="email"], button[type="submit"] {
    height: 65px;
    line-height: 65px;
}

/* Wrap the image container to position the gradient */
.blogBigSolo {
    position: relative; /* ensures the pseudo-element positions correctly */
    display: block;
    width: 100%;
    height: auto;
    z-index: 1; /* image stays behind gradient */
}

/* Add gradient overlay via ::after on the parent */
.blogBigSolo::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 150px; /* height of gradient */
    background: linear-gradient(to top, #181c21, rgba(24,28,33,0)); /* bottom-to-top fade */
    pointer-events: none; /* clicks go through */
    z-index: 2; /* overlay sits above the image */
}

.breadcrumbs {
	display: flex;animation
	flex-wrap: wrap;
	list-style: none;
	gap: 10px;
	padding: 0;
	align-items: center;
	line-height: 1;
	font-size: 18px;
}
ul.breadcrumbs li{
	display: flex;
	gap: 10px;
	align-items: center;
	color: var( --e-global-color-eb96c36 );
}
ul.breadcrumbs li a{
	color: var( --e-global-color-eb96c36 );
}
ul.breadcrumbs li:not(:last-child):after {
    content: "";
    width: 7px;
    height: 7px;
    border-left: 1px solid;
    border-top: 1px solid;
    transform: rotate(135deg);
}
.pricing {
	display: flex;
	align-items: center;
	gap: 10px;
	justify-content: space-between;
	font-size: 10px;
	flex-wrap: wrap;
	color: #000000;
}
.pricing .pricing-box {
	display: flex;
	align-items: center;
	line-height: 1;
    gap: 5px;
}

.pricing .pricing-box .value {
	font-size:20px;
	font-weight: 600;
}

.listing-meta-with-icon .elementor-icon-box-wrapper {
    display: flex;
}

.elementor_library-template-default header[data-elementor-type="header"] {
	display: none !important;
}
.listing-archive-title {
	text-transform: capitalize;
}

.listing-selection-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
}

.listing-selection-item {
	display: flex;
	gap: 10px;
	font-size: 18px;
	align-items: center;
}
.listing-selection-item > span{
	font-weight: 600;
}

.listing-selection-choices  {
	display: flex;
	list-style: none;
	padding: 0;
	border: 1px solid #D3DAE6;
	background-color: #EFF2F7;
	padding: 10px;
	border-radius: 50px;
}

.listing-selection-choices .radio-label span {
	padding: 15px 25px;
	line-height: 1;
	display: inline-block;
	cursor: pointer;
}
.listing-selection-choices .radio-label  input {
	display: none;
}
.listing-selection-choices .radio-label input:checked + span {
	background-color: #181C21;
	border-radius: 50px;
	color: #fff;
}

.search-submit-btn.search-submit-btn.search-submit-btn {
	font-size: 18px;
	height: auto;
	line-height: 1;
	padding: 20px 40px;
	border-radius: 5px;
	background-color: #CC3232;
	color: #fff;
	min-height: 70px;
}
.search-submit-btn.search-submit-btn.search-submit-btn:hover {
	background-color: #181C21;
	border-color: #181C21;
}

.listing-loop-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px; 
}
.listing-loop-grid > div > div {
    height: 100%;
}

.listing-location .elementor-icon-list-items{
	list-style: none;
	padding: 0;
}
.listing-location {
	line-height: 1;
	
}
.listing-location .elementor-icon-list-item {
	display: flex;
	align-items: center;
	gap: 8px;
}
.listing-location .elementor-icon-list-item svg {
	width: 10px; 
}


.filter-accordion {
  border-radius: 4px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.accordion-header {
  cursor: pointer;
  font-weight: bold;
  display: flex;
  justify-content: space-between;
	align-items: center;
}
.accordion-header:after {
 content: "";
	width: 7px;
	height: 7px;
	border-left: 1px solid;
	border-top: 1px solid;
	transform: rotate(45deg);
	transition: 500ms;
}
.filter-accordion.active .accordion-header:after {
	transform: rotate(225deg);
}
.accordion-content {
  display: none;
  background: #fff;
}
.filter-accordion.active .accordion-content {
  display: block;
}
.caravan-loader {
  opacity: 0.5;
  pointer-events: none;
}
.filter-group {
  margin-bottom: 10px;
}
.filter-input {
	border: 1px solid #F0F3F8;
}
.filter-group label {
  display: block;
  margin-bottom: 5px;
}
.caravan-item {
  border: 1px solid #eee;
  padding: 15px;
}

#caravan-filter-form {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.input-checkboxes {
	display: flex;
	gap: 3px;
}
.input-checkboxes label {
	flex-grow: 1;
	
}
.input-checkboxes label span {
	text-align: center;
	border: 1px solid #CC3232;
	padding: 14px;
	font-size: 18px;
	display: block;
}
.input-checkboxes label:first-child span {
	border-radius: 5px 0 0 5px;
}
.input-checkboxes label:last-child span {
	border-radius: 0 5px 5px 0;
}
.input-checkboxes label input {
	display: none;
}

.input-checkboxes label input:checked +span{
background-color: #CC3232;
	color: #fff;
}

.input-checkboxes label input:enabled + span {
	cursor: pointer;
}

.swiper-holder {
	display: grid;
	overflow: hidden;
	position: relative;
}
.swiper-gallery{
	border-radius: 10px;
	overflow: hidden;
}

.swiper-gallery .swiper-slide {
	width: 100% !important;
}

.swiper-gallery .fake-button {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom:0;
	z-index: 2;
	cursor: pointer;
}
.swiper-gallery .swiper-button-prev , .swiper-gallery .swiper-button-next {
	z-index: 3;
}
.swiper-gallery img {
	aspect-ratio: 4/3;
	object-fit: cover;
}
/*
.swiper-gallery .swiper-slide:first-child img {
	object-fit: contain;
}*/

.swiper-gallery .swiper-wrapper {
	padding: 0 !important;
}

.swiper-button-prev, .swiper-button-next {
	background-color: rgb(240, 243, 248, 0.5);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	--swiper-navigation-size: 14px;
	font-weight: bold;
	color: #000;
}

.listing-single-gallery {
	display: grid;
	gap: 20px;
	grid-template-columns: 1fr 1fr; 
}



.gallery-grid {
display: grid;
  grid-template-columns: 1fr 1fr; 
  grid-auto-rows: auto; 
  gap: 20px;
	line-height: 0;
}

.gallery-grid img {
	aspect-ratio: 4/3.2;
	width: 100%;
	object-fit: cover;
	border-radius: 10px;
}
.listing-single-gallery-left {
	position: relative;
	border-radius: 10px;
	overflow: hidden;

}
.listing-single-gallery-left .swiper-holder {
	background-color: #fff;
}

.listing-single-gallery-left .swiper-holder .swiper-wrapper {
	height: 100% !important;
}
.listing-single-gallery-left .swiper-holder .swiper-wrapper .swiper-slide {
	height: 100%;
}
.listing-single-gallery-left .swiper-holder .swiper-wrapper .swiper-slide img{
	height: 100%;
}

.listing-single-gallery-left .elementor-734  {
	position: absolute;
	top: 0;
	z-index: 2;
	right: 0;
}
.listing-single-gallery-left .swiper-slide a {
	height: 100%;
}
.listing-single-gallery-left .swiper-button-prev, }
.listing-single-gallery-left .swiper-button-next { 
	width: 63px;
	height: 63px;
	--swiper-navigation-size: 20px;
}
.tags {
	position: absolute;
	z-index: 2;
	top: 22px;
	left: 22px;
	display: flex;
	align-items: center;
	gap: 10px;
}
.tags > div {
	background-color: #181C21;
	color: #fff;
	line-height: 1;
	padding: 7px 18px;
	font-size: 13px;
	font-weight: 500;
	border-radius: 5px;
}

.open-gallery {
	position: absolute;
	z-index: 2;
	bottom: 22px;
	left: 22px;
	background-color: #CC3232;
	color :#fff !important;
	padding: 15px;
	font-size: 13px;
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 500;
	border-radius: 5px;
}

.single-caravan #elementor-lightbox-slideshow-single-img, .single-campervan #elementor-lightbox-slideshow-single-img, .single-motorhome #elementor-lightbox-slideshow-single-img {
	display: none !important;
}

.price-circle {
	position: absolute;
	bottom: 22px;
	right: 22px;
	z-index: 2;
	width: 139px;
	height: 139px;
	border-radius: 50%;
	background-color: #fff;
	border: 5px solid #CC3232;
	display: flex;
justify-content: center;
	align-items: center;
}
.price-circle .pricing-box{
		display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 13px;
	text-align: center;
	width: 100%;
	line-height: 1.1
}
.price-circle .pricing-box .value {
	font-size: 30px;
	font-weight: 600;
}
ul.checklist{
	display: flex;
    flex-wrap: wrap;
    gap: 14px;
    list-style: none;
    padding: 0;
    margin: 0;
}
ul.checklist li {
	padding: 13px;
	background-color: #fff;
	box-shadow: 0px 3px 6px #001E631A;
	border-radius: 5px;
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
}
ul.checklist li:before {
	content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16.028" height="11.952" viewBox="0 0 16.028 11.952"><path id="Icon_awesome-check" data-name="Icon awesome-check" d="M5.444,16.295.235,11.086a.8.8,0,0,1,0-1.133L1.368,8.819a.8.8,0,0,1,1.133,0L6.01,12.328l7.516-7.516a.8.8,0,0,1,1.133,0l1.133,1.133a.8.8,0,0,1,0,1.133L6.577,16.295A.8.8,0,0,1,5.444,16.295Z" transform="translate(0 -4.577)"/></svg>');
}
.elementor-widget-image.elementor-widget-image a {
    display: block;
}
.meta-condition {
    white-space: nowrap;
}
.meta-location .elementor-post-info__terms-list-item{
    white-space: nowrap;
}

.max-width-unset {
    max-width: unset !important;
}

.listing-fake-button {
    top: 0;
    bottom: 0;
    right: 0;
    cursor: pointer;
}
.listing-fake-button a{
    width: 100%;
    height: 100%;
    opacity: 0;
    	cursor: pointer !important;

}

.meta-condition-Used.meta-condition-Used.meta-condition-Used {
    background-color: var(--e-global-color-9628556) !important;
}

.listing-grid {
    transition: 300ms;
}
.listing-grid:hover {
    transform: translateY(-10px);
}
.swiper-wrapper {
	padding-top: 10px;
}
@media(min-width: 768px) {
	.listing-single-gallery-left .swiper-holder {
	height: 100%;
}
}
@media(max-width: 1439px) {
	.listing-loop-grid{
		grid-template-columns: repeat(2, 1fr);
	}
}
@media(max-width: 1199px) {
	.listing-selection-item {
		flex-direction: column;
		align-items: flex-start;
		flex-grow: 1;
	}
	.listing-selection-inner {
		align-items: flex-end;
	}
	.price-circle {
		width: 100px;
		height: 100px;
	}
	.price-circle .pricing-box .value {
		font-size: 20px;
	}
}

@media(max-width: 1024px) {
	
	.listing-selection-inner {
		flex-wrap: wrap;
		gap: 10px;
	}
	
	.price-circle {
		width: 80px;
		height: 80px;
	}
	.price-circle .pricing-box .value {
		font-size: 14px;
	}
	.price-circle .pricing-box {
		font-size: 10px;
	}
	
	
}
@media(max-width: 767px) {
	.listing-single-gallery {
		grid-template-columns: repeat(1, 1fr);
	}
	.tags {
		position: static;
        padding-bottom: 20px;
        border-bottom: 1px solid lightgray;
        margin-bottom: 20px;
		flex-wrap: wrap;
	}
	.swiper-holder {
		border: 1px solid lightgray;
		border-radius: 10px;
		overflow: hidden;
	}
}
@media(max-width: 575px) {
	.listing-single-gallery {
		gap: 10px;
	}
	.gallery-grid {
		gap: 10px;
	}
	.tags {
        padding-bottom: 10px;
        margin-bottom: 10px;
	}
	.listing-loop-grid{
		grid-template-columns: repeat(1, 1fr);
	}
	.pricing .pricing-box .value {
		font-size:16px;
	}
	.btn-and-pricing {
		display: flex;
		gap: 10px;
	}
	
	.price-circle {
		position: static;
        border-radius: 10px;
        width: 100%;
        height: auto;
        padding: 10px;
        margin-top: 10px;
        border-width: 2px;
	}
	.price-circle .pricing-box {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 5px;
	}
	.open-gallery {
		right: 10px;
		left: auto;
		bottom: 10px;
		padding: 5px 10px;
	}
}
@media(min-width: 768px) and (max-width: 1024px) {
	.tags {
		flex-direction: column;
		align-items: flex-start;
		gap: 5px;
	}
	
}
@media(min-width: 576px) and (max-width: 1024px) {
	.pricing .pricing-box .value {
		font-size:14px;
	}
	.pricing .pricing-box {
		gap: 3px;
	}
}
@media(max-width: 480px) {
	.listing-selection-choices .radio-label span {
		padding: 15px 15px;
	}
}