.site-header .container{ 
  visibility:hidden;
}

ul.languages li:nth-of-type(3) {
  display: none;
}

#cmplz-manage-consent .cmplz-manage-consent{
	bottom:0px!important;
	right:0!important;
	padding:5px!important;
	height:auto!important;
}


#primary > div.wrap{
	max-width:1920px!important;
	padding-left:0!important;
	padding-right:0!important;
}

.article-content{
  max-width: 1400px;
  margin:auto;
}

#ll-listings-wrapper > *:not(#ll-single-container){
	max-width:1400px;
	margin-left:auto;
	margin-right:auto;
	padding-left:2rem;
	padding-right:2rem;
}
article.ll-single > *:not(.single-object-footer){
	max-width:1400px;
	margin-left:auto;
	margin-right:auto;
	padding-left:2rem;
	padding-right:2rem;
}
.single-object-footer .ll-agent{
	max-width:1200px;
	margin-left:auto;
	margin-right:auto;
	padding-left:2rem;
	padding-right:2rem;
}

/* Linear Listings Filter Styles */
:root{
  --primary-color:  #333f48;
  --radius: 5px;
}

*{
  box-sizing: border-box;
}

[data-param="listing_type"] button{
	font-weight:600;
}

#ll-listings-wrapper {
  margin-top:13rem;
  /*font-family: Arial, Helvetica, sans-serif; */
}

#ll-filter-panel{
  font-size:14px;
}
.ll-label{
  display:block;
  font-size:14px;
  margin-bottom:8px;
}

.filters-cont{
  position:relative;
  margin-bottom:50px;
  border:1px solid var(--primary-color);
}

.filters-cont > div{
  padding:30px;
}

#ll-filter-panel .ll-initial-filters {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:30px;
}
/* --- Advanced filters: CSS-only slide, slower open / faster close --- */
#ll-advanced-filters{
  /* layout */
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 30px;
  background: #f4f4f4;

  /* closed state */
  overflow: hidden;
  max-height: 0;
  padding: 0 3rem;
  border-top: 0;

  /* OPENING animation settings (used when going closed -> open) */
  --adv-dur: .60s;                           /* slower open */
  --adv-ease: cubic-bezier(.16, 1, .3, 1);   /* strong ease-out (fast start, soft end) */

  transition:
    max-height var(--adv-dur) var(--adv-ease),
    padding-top var(--adv-dur) var(--adv-ease),
    padding-bottom var(--adv-dur) var(--adv-ease),
    border-top-width var(--adv-dur) var(--adv-ease),
    border-top-color var(--adv-dur) var(--adv-ease);
  will-change: max-height;
}

/* open state — also defines CLOSING animation (used when going open -> closed) */
#ll-advanced-filters.is-open{
  max-height: var(--adv-open-max, 700px);    /* ensure this exceeds content height */
  padding-top: 3rem;
  padding-bottom: 3rem;
  border-top: 1px solid var(--primary-color);

  /* CLOSING animation settings (open -> closed) */
  --adv-dur: 0.7s;                           /* faster close */
  --adv-ease: cubic-bezier(.4, 0, .2, 1);    /* standard ease-out */
}




div.ll-filter-group.group-property-type
{
    width:100%;
    background:var(--primary-color);
}

.ll-range-inputs input[type="number"]{
	margin-bottom:0;
}

.type-n-development{
	display:flex;
	flex-direction:column;
	gap:30px;
}

/* .group-development-selector{
    display:none;
} */

.group-municipalities[data-loading="1"] select{
  opacity:.6; 
  pointer-events:none; 
  cursor:progress;
}


.counties-n-municipalities{
   display:flex;
   flex-direction: column;
   gap:30px; 
}
.rooms-n-price{
    display:flex;
    flex-direction: column;
    gap:30px; 
}
.ll-range-inputs{
  display:flex;
  align-items: center;
  gap:10px;
  border: 1px solid transparent;
}
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;
}

.ll-filter-group-checks{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.ll-filter-group-checks label.ll-checkbox{
  cursor:pointer;
}
.ll-filter-group-checks .ll-label{
	margin-bottom:0;
}
.group-property-type .ll-label{
	color:#fff;
}

.ll-filter-search-submit{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  width:100%;
  border-top: 1px solid var(--primary-color);
  gap:3rem;
}

#ll-advanced-toggle{
  margin-left:auto;
  background:none;
  border:none;
  font-weight:500;
  text-transform: uppercase;
  margin-right:30px;
  font-size:15px;
  cursor:pointer;
}

.ll-checkbox {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  padding-left: 30px; /* more room for bigger box */
  font-size: 14px;
}

/* hide native checkbox */
.ll-checkbox > input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  inset: 0 auto auto 0;
  margin: 0;
}

/* bigger, thinner box */
.ll-checkbox::before {
  content: "";
  position: absolute;
  left: 0;
  top: 55%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  border: 1px solid var(--primary-color);
  border-radius: 0; /* square */
  background: #fff;
  box-sizing: border-box;
  transition: border-color .15s;
  border-radius:50px;
}

/* centered checkmark */
.ll-checkbox::after {
  content: "";
  position: absolute;
  left: 12px; /* half of 24px */
  top: 50%;
  width: 6px;
  height: 11px;
  border-right: 2px solid var(--primary-color);
  border-bottom: 2px solid var(--primary-color);
  transform: translate(-50%, -50%) rotate(45deg);
  display: none;
}

/* checked state */
.ll-checkbox:has(> input[type="checkbox"]:checked)::after {
  display: block;
}

/* keyboard focus */
.ll-checkbox:has(> input[type="checkbox"]:focus-visible)::before {
  outline: 2px solid var(--primary-color);
  outline-offset: 2px;
}
/* === Selects: dark right cap + white chevron (no inner seam) === */

#ll-filter-panel .ll-select-wrap{
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 220px;
  overflow: hidden;                    /* keep corners clean */
}

/* the select */
#ll-filter-panel .ll-select-wrap > select.ll-dropdown{
  position: relative;
  z-index: 1;                           /* sit under cap */
  display: block;
  box-sizing: border-box;
  /* hide native arrow */
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: none;

  padding-right: 48px;                  /* room for cap + arrow */

  /* prevent the seam under the cap */
  border-right: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;

  outline: none;                        /* we’ll draw focus on wrapper */
}

/* dark cap (on top of the select) */
#ll-filter-panel .ll-select-wrap::after{
  content: "";
  position: absolute;
  z-index: 2;                           /* above the select */
  top: 0; right: 0; bottom: 0;
  width: 44px;
  background: var(--primary-color);
  pointer-events: none;
}

/* white chevron (above the cap) */
#ll-filter-panel .ll-select-wrap::before{
  content: "";
  position: absolute;
  z-index: 3;
  right: 22px; top: 46%;
  width: 8px; height: 8px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translate(50%, -50%) rotate(45deg);
  pointer-events: none;
}


/* disabled look for cap/arrow */
#ll-filter-panel .ll-select-wrap:has(select:disabled)::after{ background:#aab2b8; }
#ll-filter-panel .ll-select-wrap:has(select:disabled)::before{ opacity:.6; }


/* focus ring like your checkboxes */
#ll-filter-panel .ll-select-wrap:focus-within::before{
  outline: 2px solid var(--primary-color);
  outline-offset: 2px;
}

/* disabled look for municipality, etc. */
#ll-filter-panel .ll-select-wrap:has(select:disabled)::before{
  background: #aab2b8;
  border-left-color: #aab2b8;
}
#ll-filter-panel .ll-select-wrap:has(select:disabled)::after{
  opacity: .6;
}



/* Arrow after the Advanced button */
#ll-advanced-toggle::after {
  content: '';
  display: inline-block;
  margin-left: 8px;
  vertical-align: middle;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid currentColor;
  transition: transform 0.2s ease;
}

/* Flip arrow UP when expanded */
#ll-advanced-toggle[aria-expanded="true"]::after {
  transform: rotate(180deg);  /* ▲ triangle */
}

#ll-filter-keyword{
	margin-bottom:0;
}
#ll-filter-keyword::placeholder{
	font-family: Arial;
}

#ll-advanced-toggle:hover{
  text-decoration: underline;
}

.area-year-floor{
  display:flex;
  flex-direction:column;
  gap:15px;
}

.ll-energy-buttons{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
}

.ll-chip
{
  background:var(--primary-color);
  border:1px solid #fff;
  padding:1.6rem 2.6rem;
  margin:5px;
  color:#fff;
  cursor:pointer;
  border-radius:50px;
}

.ll-chip.active,
.ll-toggle-btn.active
{
  background:#fff;
  color:var(--primary-color);
}

.ll-energy-btn.active{
  background:var(--primary-color);
  color:#fff;
}

#ll-search-button{
  text-transform: uppercase;
  font-weight:500;
  font-size:16px;
  color:#fff!important;
  background:var(--primary-color)!important;
  margin:auto 0;
  margin-left:0!important;
  border-radius:50px;
}

#ll-filter-panel input[type="number"],
#ll-filter-panel input[type="text"], 
#ll-filter-panel select {
  padding: 12px;
  background-color: #fff;
  border:1px solid var(--primary-color);
  width:100%;
  letter-spacing:.6px;
}

#ll-filter-panel select{
 appearance:auto;
 webkit-appearance: auto;
 -moz-appearance: auto;
}

#ll-filter-panel input[type="number"]{
  max-width:120px;
}
/* Chrome, Safari, Edge (Chromium), Opera */
#ll-filter-panel input[type="number"]::-webkit-outer-spin-button,
#ll-filter-panel input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
#ll-filter-panel input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield; /* modern */
}


#ll-filter-panel select{
  max-width:220px;
}
#ll-filter-panel input[type="text"]{
  max-width:320px;
  margin-right:30px;
}

#ll-filter-municipality[disabled]{
	opacity:.3;
}

.ll-energy-btn{
  border:1px solid var(--primary-color);
  background:#fff;
  cursor:pointer;
  height: 28px;
  width: 28px;
  border-radius:50px;
}

.count-sort-cont{
  display:flex;
  flex-wrap:wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom:3rem;
}
.ll-sorting label{
  display:none;
}
.ll-sorting #ll-sort-select{
  border:1px solid var(--primary-color);
	max-width:240px;
	width: 240px
}

/*results*/

#ll-results-grid{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:20px;
}

.ll-card{
  text-decoration: none;
  color:var(--primary-color);
}


.ll-card-media{
  position:relative;
  overflow:hidden;
}

/* hover effects */
.ll-card:hover .ll-card-img{
  transform: scale(1.06);
}


.ll-card-media::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background: linear-gradient(
  to top,
  rgba(51, 63, 72, 0.8),
  rgba(51, 63, 72, 0.45) 25%,
  rgba(51, 63, 72, 0) 50%
);
	transition: background .35s ease;
}
.ll-card-address {
  position:absolute; 
  left:2rem; 
  right:2rem; 
  bottom:2rem;
  font-size:2.2rem;
  margin:0;
  color:#fff; 
  line-height:1.25; 
  z-index:1;
  font-weight:500;
}
/* optional placeholder if no image */
.ll-card-img--ph { background:#eee; }

.ll-card-img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  display: block;
  transform: scale(1);
  transition: transform .6s cubic-bezier(.22,.61,.36,1);
}

.ll-card-info{
  display:flex;
  flex-wrap:wrap;
  padding:1rem 0;
}
.ll-card-meta{
  width:72%;
  display:flex;
  gap:1rem;
  font-size:1.5rem;
  color:var(--primary-color);
}

/* align icon + text nicely */
.ll-card-meta { display:flex; gap:1.2rem; align-items:center; }
.ll-card-meta .ll-meta { display:inline-flex; align-items:center; gap:.5rem; }

/* size icons here (SVGs use currentColor) */
.ll-card-meta .ll-ico { width: 16px; height: 16px; display:block; }
.ll-card-meta .ll-ico.ll-ico-rooms{width:18px; height:18px;margin-right:-2px;}


.ll-card-price{
  width:28%;
  text-align: right;
  font-size:2.2rem;
  color:var(--primary-color);
  margin-left: auto;
  font-weight:600;
}

div.active-filters-cont{
  margin-bottom:2rem;
  width:100%;
  background:none;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
}

#ll-active-filters{
  display:contents;
}

#ll-clear-filters {
  display: none;
  border:none;
  cursor:pointer;
  padding:12px;
  border:1px solid var(--primary-color);
  background-color:var(--primary-color);
  color:#fff;
  border-radius: 50px;
}
.ll-af-chip {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding:12px;
  border:1px solid var(--primary-color);
  cursor: pointer;
  user-select: none;
  border-radius: 50px;
}

.ll-af-chip::after {
  content: '';
  width: 12px;
  height: 12px;
  margin-left: .1rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M3 3l6 6M9 3L3 9'/%3E%3C/svg%3E");
}

.ll-pager{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	margin-top:3rem;
}
.ll-pager .ll-page-btn{
	cursor:pointer;
	border:1px solid var(--primary-color);
	background:#fff;
	color:var(--primary-color);
	padding:1.4rem 1.8rem;
	display:flex;
	justify-content:center;
	align-items:center;
	margin:2px;
}
.ll-pager .ll-page-btn:hover{
	background:#ececec;
}

.ll-pager .ll-page-btn.active {
	background:var(--primary-color);
	color:#fff;
	pointer-events:none;
}

/* === Grid skeleton === */
.ll-skeleton .ll-skel-card {
  display: block;
  background: #fff;
  text-decoration: none;
}

.ll-skel-media {
  width: 100%;
  aspect-ratio: 4 / 3;
  position: relative;
  overflow: hidden;
  background: #eee;
}
.ll-skel-media::after,
.ll-skel-line::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.7) 50%, rgba(255,255,255,0) 100%);
  animation: ll-shimmer 1.25s infinite;
  transform: translateX(-100%);
}
@keyframes ll-shimmer {
  100% { transform: translateX(100%); }
}

.ll-skel-info {
  padding-top: 1.6rem;
  display: grid;
  gap: .6rem;
}
.ll-skel-line {
  height: 30px;
  background: #eee;
  position: relative; /* for ::after shimmer */
}
.ll-skel-line.thin { height: 10px; }
.ll-skel-line.w40 { width: 40%; }
.ll-skel-line.w60 { width: 60%; }
.ll-skel-line.w80 { width: 80%; }
.ll-skel-line.w100 { width: 100%; }






/*overrides*/


#ll-filter-form select{
	margin-bottom:0;
}

.ll-agent-form input[type="email"], .ll-agent-form input[type="number"], .ll-agent-form input[type="password"], .ll-agent-form input[type="search"], .ll-agent-form input[type="tel"], .ll-agent-form input[type="text"], .ll-agent-form select, .ll-agent-form textarea {
  margin-bottom:10px!important;
	letter-spacing:2px!important;
	
}

.ll-card-price-period,
.ll-price-period {
  font-size:60%;
  white-space: nowrap;
  font-weight: 500;
}

.ll-card-price-value,
.ll-price-value {
  white-space: nowrap;
}


@media only screen and (max-width: 1550px) {
	
	#ll-results-grid {
    	grid-template-columns: 1fr 1fr;
  	}
	
	#ll-listings-wrapper > *:not(#ll-single-container){
	max-width:1150px;
}
article.ll-single > *:not(.single-object-footer){
	max-width:1150px;
}
.single-object-footer .ll-agent{
	max-width:1150px;
}
}

@media only screen and (max-width: 1338px) {
	
	#ll-listings-wrapper > *:not(#ll-single-container){
	max-width:1050px;
}
article.ll-single > *:not(.single-object-footer){
	max-width:1050px;
}
.single-object-footer .ll-agent{
	max-width:1050px;
}
	
}

@media only screen and (max-width: 1200px) {
	#ll-advanced-filters{
		grid-template-columns: 1fr 1fr 1fr;
	}
	#ll-listings-wrapper{
		margin-top:8rem;
	}
}

@media only screen and (max-width: 1000px) {
	  #ll-filter-panel .ll-initial-filters { 
	  gap:20px;
	}
	#ll-advanced-filters{
		 gap:20px;
	}
	#ll-search-button{
		margin-left:auto!important;
	}
	
	
}

@media only screen and (max-width: 850px) {
	.ll-card-meta {
    flex-direction: column;
	align-items:flex-start;
    gap: 5px;
    font-size: 1.3rem;
	 width:50%;
  }
	

  .ll-card-price,
  .ll-card-address{
	  font-size:1.6rem;
  }
	.ll-card-price{
		width:50%;
	}
}

@media only screen and (max-width: 768px) {
	
/* 	#ll-listings-wrapper > *:not(#ll-single-container),
	article.ll-single > *:not(.single-object-footer),
	.single-object-footer .ll-agent{
		padding-left:1rem;
		padding-right:1rem;
	} */
	
	
	.ll-card-meta,
  .ll-card-price
	{
	 line-height:1.4;
   }
	
	.ll-skel-line {
	  height: 56px;
	}
	
/* 	#primary > div.wrap{
		padding-left:1rem!important;
		padding-right:1rem!important;
	
	} */
	
	
	#ll-results-grid{
		gap:10px;
	}
	
  .ll-card-address{
	  bottom:5px;
   }

/*   #ll-listings-wrapper {
    margin-top: 6rem;
  } */

  #ll-filter-panel .ll-initial-filters,
  #ll-advanced-filters {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3rem;
  grid-auto-flow: row dense;
}

#ll-advanced-filters > *:nth-child(1),
#ll-advanced-filters > *:nth-child(4) {
  grid-column: 1 / -1; /* full width */
}

#ll-advanced-filters > *:nth-child(2) { grid-column: 1; } /* left half */
#ll-advanced-filters > *:nth-child(3) { grid-column: 2; } /* right half */

  #ll-filter-panel .ll-initial-filters > *:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  #ll-filter-panel input[type="text"] {
    max-width: 320px;
    margin-right: 0;
  }

  #ll-filter-keyword{
		width:100%;
		max-width:100%!important;
  }
  #ll-advanced-toggle {
   margin-left:0;
   margin-right:auto;
  }

  #ll-search-button {
    margin-left: auto;
  }

  .filters-cont > div {
    padding: 20px 10px;
  }
	#ll-advanced-filters{
		padding: 0 10px;
	}
	#ll-advanced-filters.is-open{
		padding-top:20px;
		padding-bottom:20px;
	}
}

@media only screen and (max-width: 560px) {
	
	#ll-results-grid {
    	grid-template-columns: 1fr;
  	}
	.ll-card-meta {
    flex-direction: row;
    align-items: center;
	font-size:1.2rem;
  
  }
	
	html[lang="fi"] .ll-card-meta {
	font-size:1.2rem;
  
  }
	
	.ll-card-price{
		width:27%;
	}
	.ll-card-meta{
		width:73%;
	}
	#ll-results-grid {
    gap: 20px;
  }
	.ll-card-meta .ll-ico{
		width:14px;
		height:14px;
	}
	.ll-card-meta .ll-ico.ll-ico-rooms{
		width:16px;
		height:16px;
	}
	.ll-card-address {
    font-size: 1.8rem;
  }
}

@media only screen and (max-width: 385px) {
	#ll-total-count{
		margin-bottom:1.2rem;
		margin-right:1rem;
	}
}