/*new icon feature*/


h1.property-heading {
    font-size: 30px;
}

@font-face {
font-family: 'et-line';
src:url('../fonts/et-line.eot');
src:url('../fonts/et-line.eot?#iefix') format('embedded-opentype'),
url('../fonts/et-line.woff') format('woff'),
url('../fonts/et-line.ttf') format('truetype'),
url('../fonts/et-line.svg#et-line') format('svg');
font-weight: normal;
font-style: normal;
}

[data-icon]:before {
font-family: 'et-line';
content: attr(data-icon);
speak: none;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
display:inline-block;
}


div#rsform_20_page_0 label {
    display: none;
}

div#rsform_20_page_0  .col-sm-9 {
        flex: 0 0 auto;
        width: 100%;
    }

.block1 {
  width:  35px;
  float: left;
  padding: 2px;
  color: #FFF;
  font-weight: 500;
  text-shadow: 1px 1px #333;
}
p.exce_class {
    font-size: 12px;
    font-weight: 500;
    margin-left: 0px !important;
    margin: 0;
}
.block1.blow {
  width: 50px;
}

.lipc-contact-line {
	margin-top: 20px;;
}

.lipc-contact-line a {
	color: #788f85;
	font-weight: 500;
}

#rsform_19_page_0 .col-form-label {
	display: none;
}

#rsform_19_page_0 .formControls.col-sm-9 {
	width: 100%;
}

#rsform_19_page_0 fieldset label {
	clear: none;
	    margin: 0;
}
#rsform_19_page_0 .form-check-inline {
    display: inline-block;
    margin-right: 1rem;
    float: left;
    clear: both;
	margin-bottom: 10px;
}
h1.osp-favorites-title {
    margin-top: 65px;
font-family: 'Belleza', sans-serif;
    font-size: 32px;
    font-weight: 400;
    color: #788f85;
    text-decoration: none;
}
.blockA { 
  background:#00833d!important;
  height:  35px;
  float: left;
  width:  35px;
  text-align: center;
  line-height:  35px;
}
.blockB { 
  background:#1bb053!important;
  height:  35px;
  float: left;
  width:  35px;
  text-align: center;
  line-height:  35px;
}
.blockC { 
  background:#8cc540!important;
  height:  35px;
  float: left;
  width:  35px;
  text-align: center;
  line-height:  35px;
}
.blockD { 
  background:#ffc909!important;
  height:  35px;
  float: left;
  width:  35px;
  text-align: center;
  line-height:  35px;
}
.blockE { 
  background:#faad67!important;
  height:  35px;
  float: left;
  width:  35px;
  text-align: center;
  line-height:  35px;
}
.blockF { 
  background:#f48221!important;
  height:  35px;
  float: left;
  width:  35px;
  text-align: center;
  line-height:  35px;
}
.blockG { 
  background:#ed1b24!important;
  height:  35px;
  float: left;
  width:  35px;
  text-align: center;
  line-height:  35px;
}
.ene-next {
  border-color: transparent transparent transparent #CCC;
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 25px  25px 0 25px;
  float: left;
}
.tri-A  {
  border-color: #00833d transparent transparent transparent  !important;
}
.tri-B  {
  border-color: #1bb053 transparent transparent transparent  !important;

}
.tri-C  {
  border-color: #8cc540 transparent transparent transparent  !important;

}
.tri-D  {
  border-color: #ffc909 transparent transparent transparent  !important;

}
.tri-E  {
  border-color: #faad67 transparent transparent  transparent!important;

}
.tri-F  {
  border-color: #f48221 transparent transparent  transparent!important;

}
.tri-G  {
  border-color: #ed1b24 transparent transparent transparent  !important;
}

.gasA { 
  background:#75ccf7!important;
  height:  35px;
  float: left;
  width:  35px;
  text-align: center;
  line-height:  35px;
}
.gasB { 
  background:#22b5eb;
  height:  35px;
  float: left;
  width:  35px;
  text-align: center;
  line-height:  35px;
}
.gasC { 
  background:#099ad7!important;
  height:  35px;
  float: left;
  width:  35px;
  text-align: center;
  line-height:  35px;
}
.gasD { 
  background:#0079c2!important;
  height:  35px;
  float: left;
  width:  35px;
  text-align: center;
  line-height:  35px;
}
.gasE { 
  background:#bbbcbe!important;
  height:  35px;
  float: left;
  width:  35px;
  text-align: center;
  line-height:  35px;
}
.gasF { 
  background:#a1a0a5!important;
  height:  35px;
  float: left;
  width:  35px;
  text-align: center;
  line-height:  35px;
}
.gasG { 
  background:#818086!important;
  height:  35px;
  float: left;
  width:  35px;
  text-align: center;
  line-height:  35px;
}

.tri-gas-A  {
  border-color: #75ccf7 transparent transparent transparent  !important;
}
.tri-gas-B  {
  border-color: #22b5eb transparent transparent transparent  !important;

}
.tri-gas-C  {
  border-color: #099ad7 transparent transparent transparent  !important;

}
.tri-gas-D  {
  border-color: #0079c2 transparent transparent transparent  !important;

}
.tri-gas-E  {
  border-color: #bbbcbe transparent transparent transparent  !important;

}
.tri-gas-F  {
  border-color: #a1a0a5 transparent transparent transparent  !important;

}
.tri-gas-G  {
  border-color: #818086 transparent transparent transparent  !important;
}
.blow .blockA,
.blow .blockB,
.blow .blockC,
.blow .blockD,
.blow .blockE,
.blow .blockF,
.blow .blockG,
.blow .gasA,
.blow .gasB,
.blow .gasC,
.blow .gasD,
.blow .gasE,
.blow .gasF,
.blow .gasG {
  height: 45px;
  line-height: 45px;
  font-size: 30px;
  text-shadow: 1px 1px #333;
  width: 50px;
  margin-top: -5px;
  text-align: center;
}

.blow .ene-next {
  border-width: 25px  25px 0 25px;
}

.blockafter {
  float: left;
  color: #333;
  width: 132px;
  margin-left: -41px;
}

.blockafter.emission {
  width: 64px;
  margin-left: -10px;
}

.dpe-block {
  float: left;
  height: 48px;
  border: 1px solid #333;
  line-height: 50px;
  width: 60px;
  text-align: center;
  margin: 2px;
  border-radius: 5px;
}




.line1 {
  font-size: 8px;
  line-height: 20px;
  float: left;
  text-align: center;
  width: 100%;
  font-weight: 400;
  text-shadow: 0px 0px !important;
}
.line2 {
  font-size: 12px;
  line-height: 10px;
  float: left;
  text-align: center;
  width: 100%;
  font-weight: 500;
  text-shadow: 0px 0px !important;
}

.dpe, .gas {
  width: auto;
  display: table;
}

.dpe-box .span_12 {
  width: 100%;
}

.dpe p, .gas p {
  font-size: 14px;
  font-weight: 400;
}

.span_4.pull-left.dpe-box{
  padding: 20px;
  box-sizing: border-box;
}

.dpe-min {
  height: 40px;
  text-align: left;
  background: #ffffffa3;
  margin-top: -40px;
  width: 100%;
  float: left;
  line-height: 40px;
  color: #333;
  font-size: 22px;
  font-weight: 400;
  padding-left: 80px;
}
p a {
	text-decoration: underline;
	color: inherit
}
p a:hover {
	text-decoration: underline;
	color: #788f87
}

/* Companies split layout */
#agentslisting .companies-split {
	display: flex;
	height: 100vh;
	overflow: hidden;
}
#agentslisting .companies-split__map {
	flex: 0 0 41.6667%;
	max-width: 41.6667%;
	height: 100%;
}
#agentslisting .companies-split__map #companielist-map {
	width: 100%;
	height: 100%;
}
#agentslisting .companies-split__content {
	flex: 0 0 58.3333%;
	max-width: 58.3333%;
	height: 100%;
	overflow-y: auto;
	padding: 1rem;
}
/* Company contact block */
.company-contact-block {
	background: #f8f9fa;
	border-left: 4px solid #788f85;
	border-radius: 0 8px 8px 0;
	padding: 1.2rem 1.5rem;
	margin-bottom: 1.5rem;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.company-contact-block p {
	margin-bottom: 0.4rem;
	font-size: 15px;
	line-height: 1.8;
}
.company-contact-block i.fas,
.company-contact-block i.fab {
	color: #788f85;
	width: 22px;
	text-align: center;
	margin-right: 8px;
}
.company-socials a {
	font-size: 20px;
	margin-right: 12px;
	color: #788f85;
	transition: color 0.2s;
}
.company-socials a:hover {
	color: #dd6f46;
}

/* Company tile link */
a.company-item-link {
	text-decoration: none;
	color: inherit;
	display: block;
}
a.company-item-link:hover {
	text-decoration: none;
	color: inherit;
}
a.company-item-link:hover .company-item {
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
	transform: translateY(-2px);
	transition: box-shadow 0.2s, transform 0.2s;
}

.office-popup .leaflet-popup-content {
	width: 150px !important;
	min-width: 150px !important;
	max-width: 150px !important;
}
  
  .company-item img {
	border-radius: 10px;
}
  .company-item  {
	  border-radius: 10px;
	  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 4px 0 rgba(0, 0, 0, 0.19);
  }
  .company-item h6 {
	  text-align: center;
	  background: white;
	  height: 40px;
	  line-height: 40px;
	  font-size: 16px;
	  border-bottom-left-radius: 10px;
	  border-bottom-right-radius: 10px;
	  margin-top: -20px;
	  position: relative;
	  color: #788f87;
  }
  
  
.et-icon-mobile, .et-icon-laptop, .et-icon-desktop, .et-icon-tablet, .et-icon-phone, .et-icon-document, .et-icon-documents, .et-icon-search, .et-icon-clipboard, .et-icon-newspaper, .et-icon-notebook, .et-icon-book-open, .et-icon-browser, .et-icon-calendar, .et-icon-presentation, .et-icon-picture, .et-icon-pictures, .et-icon-video, .et-icon-camera, .et-icon-printer, .et-icon-toolbox, .et-icon-briefcase, .et-icon-wallet, .et-icon-gift, .et-icon-bargraph, .et-icon-grid, .et-icon-expand, .et-icon-focus, .et-icon-edit, .et-icon-adjustments, .et-icon-ribbon, .et-icon-hourglass, .et-icon-lock, .et-icon-megaphone, .et-icon-shield, .et-icon-trophy, .et-icon-flag, .et-icon-map, .et-icon-puzzle, .et-icon-basket, .et-icon-envelope, .et-icon-streetsign, .et-icon-telescope, .et-icon-gears, .et-icon-key, .et-icon-paperclip, .et-icon-attachment, .et-icon-pricetags, .et-icon-lightbulb, .et-icon-layers, .et-icon-pencil, .et-icon-tools, .et-icon-tools-2, .et-icon-scissors, .et-icon-paintbrush, .et-icon-magnifying-glass, .et-icon-circle-compass, .et-icon-linegraph, .et-icon-mic, .et-icon-strategy, .et-icon-beaker, .et-icon-caution, .et-icon-recycle, .et-icon-anchor, .et-icon-profile-male, .et-icon-profile-female, .et-icon-bike, .et-icon-wine, .et-icon-hotairballoon, .et-icon-globe, .et-icon-genius, .et-icon-map-pin, .et-icon-dial, .et-icon-chat, .et-icon-heart, .et-icon-cloud, .et-icon-upload, .et-icon-download, .et-icon-target, .et-icon-hazardous, .et-icon-piechart, .et-icon-speedometer, .et-icon-global, .et-icon-compass, .et-icon-lifesaver, .et-icon-clock, .et-icon-aperture, .et-icon-quote, .et-icon-scope, .et-icon-alarmclock, .et-icon-refresh, .et-icon-happy, .et-icon-sad, .et-icon-facebook, .et-icon-twitter, .et-icon-googleplus, .et-icon-rss, .et-icon-tumblr, .et-icon-linkedin, .et-icon-dribbble {
font-family:et-line;
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
display:inline-block;
}
.et-icon-mobile:before {
content: "\e000";
}
.et-icon-laptop:before {
content: "\e001";
}
.et-icon-desktop:before {
content: "\e002";
}
.et-icon-tablet:before {
content: "\e003";
}
.et-icon-phone:before {
content: "\e004";
}
.et-icon-document:before {
content: "\e005";
}
.et-icon-documents:before {
content: "\e006";
}
.et-icon-search:before {
content: "\e007";
}
.et-icon-clipboard:before {
content: "\e008";
}
.et-icon-newspaper:before {
content: "\e009";
}
.et-icon-notebook:before {
content: "\e00a";
}
.et-icon-book-open:before {
content: "\e00b";
}
.et-icon-browser:before {
content: "\e00c";
}
.et-icon-calendar:before {
content: "\e00d";
}
.et-icon-presentation:before {
content: "\e00e";
}
.et-icon-picture:before {
content: "\e00f";
}
.et-icon-pictures:before {
content: "\e010";
}
.et-icon-video:before {
content: "\e011";
}
.et-icon-camera:before {
content: "\e012";
}
.et-icon-printer:before {
content: "\e013";
}
.et-icon-toolbox:before {
content: "\e014";
}
.et-icon-briefcase:before {
content: "\e015";
}
.et-icon-wallet:before {
content: "\e016";
}
.et-icon-gift:before {
content: "\e017";
}
.et-icon-bargraph:before {
content: "\e018";
}
.et-icon-grid:before {
content: "\e019";
}
.et-icon-expand:before {
content: "\e01a";
}
.et-icon-focus:before {
content: "\e01b";
}
.et-icon-edit:before {
content: "\e01c";
}
.et-icon-adjustments:before {
content: "\e01d";
}
.et-icon-ribbon:before {
content: "\e01e";
}
.et-icon-hourglass:before {
content: "\e01f";
}
.et-icon-lock:before {
content: "\e020";
}
.et-icon-megaphone:before {
content: "\e021";
}
.et-icon-shield:before {
content: "\e022";
}
.et-icon-trophy:before {
content: "\e023";
}
.et-icon-flag:before {
content: "\e024";
}
.et-icon-map:before {
content: "\e025";
}
.et-icon-puzzle:before {
content: "\e026";
}
.et-icon-basket:before {
content: "\e027";
}
.et-icon-envelope:before {
content: "\e028";
}
.et-icon-streetsign:before {
content: "\e029";
}
.et-icon-telescope:before {
content: "\e02a";
}
.et-icon-gears:before {
content: "\e02b";
}
.et-icon-key:before {
content: "\e02c";
}
.et-icon-paperclip:before {
content: "\e02d";
}
.et-icon-attachment:before {
content: "\e02e";
}
.et-icon-pricetags:before {
content: "\e02f";
}
.et-icon-lightbulb:before {
content: "\e030";
}
.et-icon-layers:before {
content: "\e031";
}
.et-icon-pencil:before {
content: "\e032";
}
.et-icon-tools:before {
content: "\e033";
}
.et-icon-tools-2:before {
content: "\e034";
}
.et-icon-scissors:before {
content: "\e035";
}
.et-icon-paintbrush:before {
content: "\e036";
}
.et-icon-magnifying-glass:before {
content: "\e037";
}
.et-icon-circle-compass:before {
content: "\e038";
}
.et-icon-linegraph:before {
content: "\e039";
}
.et-icon-mic:before {
content: "\e03a";
}
.et-icon-strategy:before {
content: "\e03b";
}
.et-icon-beaker:before {
content: "\e03c";
}
.et-icon-caution:before {
content: "\e03d";
}
.et-icon-recycle:before {
content: "\e03e";
}
.et-icon-anchor:before {
content: "\e03f";
}
.et-icon-profile-male:before {
content: "\e040";
}
.et-icon-profile-female:before {
content: "\e041";
}
.et-icon-bike:before {
content: "\e042";
}
.et-icon-wine:before {
content: "\e043";
}
.et-icon-hotairballoon:before {
content: "\e044";
}
.et-icon-globe:before {
content: "\e045";
}
.et-icon-genius:before {
content: "\e046";
}
.et-icon-map-pin:before {
content: "\e047";
}
.et-icon-dial:before {
content: "\e048";
}
.et-icon-chat:before {
content: "\e049";
}
.et-icon-heart:before {
content: "\e04a";
}
.et-icon-cloud:before {
content: "\e04b";
}
.et-icon-upload:before {
content: "\e04c";
}
.et-icon-download:before {
content: "\e04d";
}
.et-icon-target:before {
content: "\e04e";
}
.et-icon-hazardous:before {
content: "\e04f";
}
.et-icon-piechart:before {
content: "\e050";
}
.et-icon-speedometer:before {
content: "\e051";
}
.et-icon-global:before {
content: "\e052";
}
.et-icon-compass:before {
content: "\e053";
}
.et-icon-lifesaver:before {
content: "\e054";
}
.et-icon-clock:before {
content: "\e055";
}
.et-icon-aperture:before {
content: "\e056";
}
.et-icon-quote:before {
content: "\e057";
}
.et-icon-scope:before {
content: "\e058";
}
.et-icon-alarmclock:before {
content: "\e059";
}
.et-icon-refresh:before {
content: "\e05a";
}
.et-icon-happy:before {
content: "\e05b";
}
.et-icon-sad:before {
content: "\e05c";
}
.et-icon-facebook:before {
content: "\e05d";
}
.et-icon-twitter:before {
content: "\e05e";
}
.et-icon-googleplus:before {
content: "\e05f";
}
.et-icon-rss:before {
content: "\e060";
}
.et-icon-tumblr:before {
content: "\e061";
}
.et-icon-linkedin:before {
content: "\e062";
}
.et-icon-dribbble:before {
content: "\e063";
}

#sp-main-body {
	padding: 0;
}


/* Buttons */
.sppb-btn {
	border-radius: 5px;
}
.btn-primary, .sppb-btn-primary {
	border-color: #dd6f46 !important;
	background-color: #dd6f46 !important;
	color: #FFF
}
.btn-secondary, .sppb-btn-secondary {
	border-color:  #577089!important;
	background-color: #577089 !important;
	color: #FFF
}
.btn-default, .sppb-btn-default {
	border-color:  #788f85!important;
	background-color: #788f85 !important;
	color: #FFF
}

.sppb-addon-timeline .sppb-addon-timeline-wrapper .timeline-movement .timeline-item .timeline-panel,

.sppb-addon-timeline .sppb-addon-timeline-wrapper .timeline-movement .timeline-item .timeline-panel.left-part {
	width: 100%!important;
}

.sppb-image-container-right {
	float: left;
	width: 30%;
}

.sppb-image-container-left {
	float: right;
	width: 30%;
}



/* HEADING */

h1.sppb-addon-title.animated-heading-text.text-clip.is-full-width {
	font-size: 45px;
	font-weight: 300;
	text-align: center !important;
	width: 100%;
}



.property-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 5px;
  width: 100%;
  height: 50vh; 
  min-height: 450px;
}

.gallery-item {
  position: relative;
  overflow: hidden;
  background-color: #f0f0f0;
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

/* Large image - spans 2 columns and 2 rows */
.gallery-item--large {
  grid-column: span 2;
  grid-row: span 2;
  position: relative;
}

.gallery-badges {
  position: absolute;
  bottom: 12px;
  left: 12px;
  display: flex;
  gap: 8px;
  z-index: 2;
}

.gallery-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 1);
  color: #333;
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  backdrop-filter: blur(4px);
}

a.gallery-badge:hover {
  background: #fff;
  color: #111;
  text-decoration: none;
}

/* Save to favourites button */
.btn-save-fav {
  display: block;
  width: 100%;
  background: #577089;
  color: #fff;
  border: none;
  padding: 10px 16px;
  border-radius: 5px;
  font-size: 1rem;
  cursor: pointer;
  margin: 12px 0;
}

.btn-save-fav:hover {
  background: #577089cf;
  color: #FFF;
}

.btn-save-fav i {
  margin-right: 6px;
}

/* Contact / more info section */
.contact-more {
  background: rgba(120, 143, 133, 0.2);
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  padding: 30px 0;
}

.contact-more-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 15px;
}
.contact-more i.fas {
  color: #788f85;
}
.contact-more fieldset label,
.contact-more fieldset span.faux-label {
  float: none;
  clear: none;
  display: inline;
}
.contact-more .form-check {
  display: flex;
  align-items: center;
  gap: 0.5em;
  padding: 5px;
}
.vtour-more {
  padding-bottom: 50px;
}
.contact-more .form-check-input {
  float: none;
  margin: 0;
}
.discuss-offer {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  padding: 30px 0;
}
.discuss-offer-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 15px;
}
.finance-currencies {
  background: rgba(120, 143, 133, 0.2);
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  padding: 30px 0;
}
.finance-currencies-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 15px;
}

/* Contact / more info button */
.btn-contact-more {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: #dd6f46;
  color: #fff !important;
  border: none;
  padding: 10px 16px;
  border-radius: 5px;
  font-size: 1rem;
  line-height: 1.2;
  cursor: pointer;
  margin: 20px 0;
  text-align: center;
margin-bottom: 3%;
  text-decoration: none !important;
}

.btn-contact-more:hover {
  background: #c45e38;
}

.btn-contact-more i {
  margin-right: 6px;
}

/* Secondary actions under "Find out more": Discuss an Offer + Back */
.btn-contact-secondary {
  display: flex;
  gap: 10px;
  margin: 0 0 20px;
}

.btn-discuss-offer,
.btn-back-prop {
  flex: 1 1 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #577089;
  color: #fff !important;
  border: none;
  padding: 10px;
  border-radius: 5px;
  font-size: 14px;
  line-height: 1.2;
  cursor: pointer;
  text-align: center;
  text-decoration: none !important;
}

.btn-discuss-offer:hover,
.btn-back-prop:hover {
  background: #45596d;
}

.btn-discuss-offer i,
.btn-back-prop i {
  margin-right: 6px;
}

/* Save-to-favourites button: saving / saved states */
.btn-save-fav.is-saving { opacity: 0.6; pointer-events: none; }
.btn-save-fav.is-saved  { background: #577089; color: #fff !important; cursor: default; }

/* Login-required popup for unauthenticated favourite-save attempts */
.bvi-fav-login-modal[hidden] { display: none; }
.bvi-fav-login-modal {
  position: fixed; inset: 0; z-index: 10000;
  display: flex; align-items: center; justify-content: center;
}
.bvi-fav-login-modal__backdrop {
  position: absolute; inset: 0;
  background: rgba(0, 0, 0, 0.55);
}
.bvi-fav-login-modal__dialog {
  position: relative;
  background: #fff;
  border-radius: 8px;
  max-width: 760px;
  width: calc(100% - 32px);
  padding: 32px 32px 28px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
  text-align: center;
}
.bvi-fav-login-modal__dialog h3 {
  margin: 0 0 20px;
  font-size: 1.4rem;
}
.bvi-fav-login-modal__msg {
  margin: 0 0 18px;
  font-size: 1rem;
  line-height: 1.5;
}
.bvi-fav-login-modal__cols {
  display: flex;
  gap: 28px;
  text-align: left;
}
.bvi-fav-login-modal__col {
  flex: 1 1 50%;
  min-width: 0;
}
.bvi-fav-login-modal__col--register {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.bvi-fav-login-modal__col--login {
  border-left: 1px solid #e5e5e5;
  padding-left: 28px;
}
@media (max-width: 600px) {
  .bvi-fav-login-modal__cols { flex-direction: column; gap: 20px; }
  .bvi-fav-login-modal__col--login { border-left: 0; border-top: 1px solid #e5e5e5; padding: 20px 0 0; }
}
.bvi-fav-login-modal__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 5px;
  font-size: 1rem;
  line-height: 1.2;
  text-decoration: none !important;
  cursor: pointer;
}
.bvi-fav-login-modal__btn--primary {
  background: #dd6f46;
  color: #fff !important;
  border: none;
}
.bvi-fav-login-modal__btn--primary:hover { background: #c45e38; }
.bvi-fav-login-modal__btn--secondary {
  background: #577089;
  color: #fff !important;
  border: none;
}
.bvi-fav-login-modal__btn--secondary:hover { background: #45596d; }
.bvi-fav-login-modal__close {
  position: absolute;
  top: 6px;
  right: 10px;
  background: transparent;
  border: 0;
  font-size: 1.75rem;
  line-height: 1;
  color: #888;
  cursor: pointer;
}
.bvi-fav-login-modal__close:hover { color: #333; }

/* Property summary list (div-based) */
.property-summary-list {
  width: 100%;
font-size: 14px;
}

.summary-row {
  display: flex;
  border-bottom: 1px solid #eee;
  padding: 8px 0;
}

.summary-label {
  width: 45%;
  font-weight: 600;
}

.summary-value {
  width: 55%;
}

/* GBP price conversion */
.property-price-gbp {
  position: relative;
  font-size: 1.1rem;
  color: #555;
  text-align: right;
  cursor: default;
      margin-bottom: 20px;
}

.property-price-gbp .info-icon {
  color: #999;
  cursor: pointer;
  font-size: 0.9rem;
}
.property-price-gbp p {
	font-size: 12px;
}
.property-price-gbp .info-popup {
  display: none;
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 100;
  background: #fff;
  border: 2px solid #4da847;
  border-radius: 8px;
  padding: 16px;
  width: 230px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.15);
  text-align: left;
}

.property-price-gbp:hover .info-popup {
  display: block;
}

.property-price-gbp .info-popup h2 {
  font-size: 1.1rem;
  margin: 0 0 10px 0;
}

.property-price-gbp .rate-block {
  background: #f5f5f5;
  border: 1px solid #4da847;
  border-radius: 6px;
  padding: 8px 12px;
  margin-bottom: 8px;
}

.property-price-gbp .rate-block p {
  margin: 0;
  font-size: 1rem;
  display: flex;
  align-items: center;
  gap: 8px;
}

.property-price-gbp .smart-logo {
  height: 24px;
  width: auto;
}

.property-price-gbp .smart-small {
  font-size: 0.8rem;
  color: #888;
  margin: 4px 0 8px 0;
}

.btn-smart-info {
  display: inline-block;
  background: #4da847;
  color: #fff !important;
  padding: 5px 10px;
  border-radius: 5px;
  text-decoration: none !important;
}

.btn-smart-info:hover {
  background: #3d8a39;
}

/* GLightbox overlay background */
.goverlay {
  background: rgba(0, 0, 0, 0.8) !important;
}

/* Remove border from current slide */
div.current {
  border: none !important;
  padding: 0 !important;
}

/* Make lightbox image leave room for thumbnails */
.glightbox-container .gslide, .glightbox-container .gslide-inner-content, .glightbox-container .ginner-container, .glightbox-container .gslide-media {
    max-height: calc(100vh - 80px) !important;
    box-shadow: none !important;
}

.glightbox-container .gslide,
.glightbox-container .gslide-inner-content,
.glightbox-container .ginner-container,
.glightbox-container .gslide-media {
  max-height: calc(100vh - 80px) !important;
}

.glightbox-container .gslide-media img {
  max-height: calc(100vh - 80px) !important;
  max-width: calc(100% - 100px) !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* GLightbox thumbnail strip */
.glight-thumbs {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 6px;
  padding: 10px 16px;
  background: rgba(0, 0, 0, 0.7);
  overflow-x: auto;
  z-index: 99999;
}

.glight-thumb {
  width: 70px;
  height: 50px;
  object-fit: cover;
  border-radius: 4px;
  cursor: pointer;
  opacity: 0.5;
  border: 2px solid transparent;
  transition: opacity 0.2s, border-color 0.2s;
  flex-shrink: 0;
}

.glight-thumb:hover {
  opacity: 0.8;
}

.glight-thumb--active {
  opacity: 1;
  border-color: #fff;
}

.offcanvas-menu .offcanvas-inner ul.menu li a {
    border-radius: 0px;
}

.offcanvas-menu .offcanvas-inner ul.menu>li a:hover,
.offcanvas-menu .offcanvas-inner ul.menu li.active a {
	color: #788f86!important;
	background-color:transparent;
	border-left:  5px solid #788f86;
}

body.ltr .offcanvas-menu .offcanvas-inner ul.menu>li ul {
    margin-left: 20px;
}
.offcanvas-menu .offcanvas-inner ul.menu>li>ul li a {
    font-size: 15px;
    padding: 4px 0px;
    line-height: 18px;
    font-weight: 400;
    border-left: 0px !important;
}
body.ltr .offcanvas-menu .offcanvas-inner ul.menu>li ul li {
    line-height: 200%;
    border-left: 3px solid #788f86;
    margin-bottom: 2%;
    padding-left: 8px;
}

/* Small images - span 1 column and 1 row each */
.gallery-item--small {
  grid-column: span 1;
  grid-row: span 1;
}

/* Mobile gallery slideshow (Swiper): hidden on desktop, shown < 768px (toggled below). */
.property-gallery-mobile { display: none; }
.gallery-swiper {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  background: #000;
  overflow: hidden;
  --swiper-pagination-color: #fff;
  --swiper-pagination-bullet-inactive-color: #fff;
  --swiper-pagination-bullet-inactive-opacity: .5;
}
.gallery-swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.gallery-swiper__count {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 5px;
  background: rgba(0, 0, 0, .6);
  color: #fff;
  font-size: 12px;
  padding: 3px 9px;
  border-radius: 14px;
  pointer-events: none;
}

/* Responsive design */
@media (max-width: 768px) {
.property-gallery { display: none !important; }   /* desktop mosaic off on mobile */
.property-gallery-mobile { display: block; }       /* Swiper slideshow on */
.property-gallery {
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(3, 1fr);
	height: 50vh;
  }

.offcanvas-menu .offcanvas-inner ul.menu li.active a img,
  .mega-sub .pe-2 {
	display: none!important;
}


  p.listing-intro {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 15px 20px;
    font-size: 16px!important;
    color: #666;
}

.col-lg-2.searchfields,
.col-lg-12.searchfields.adv-location-field,
.col-lg-3.searchfields {
    margin-bottom: 2%!important;
}
.moduletable.CTA-list {
    width: 100%;
    display: none;
}
.advsearch-content .row {
    margin-bottom: 0px!important;
}
h1.componentheading {
    font-size: 30px!important;
}

div#listings {
    padding: 0px;
}
  
  .gallery-item--large {
	grid-column: span 2;
	grid-row: span 1;
  }



  div#sp-top-bar {
	  display: none!important;
  }
  .logo-image {
	  height: 40px;
  }
  #sp-header {
	  height: 60px!important;
  }
  #sp-menu a {
	  border:none!important;
  }
  
  .qsearch-home {
	  display: none;
  }
  
  #collections#collections .col-small.pull-left {
	  width: 48%;
  }
  #collections#collections .col-big.pull-left {
	  width: 100%;
	  padding-top: 2.5%;
  }
  #collections#collections#collections h6 {
	  padding: 0;
  }
  #collections#collections#collections h6 {
	  padding: 0;
	  font-size: 18px;
	  font-weight: 600;
  }
  
  
}

@media (max-width: 480px) {
  .property-gallery {
	grid-template-columns: 1fr;
	grid-template-rows: auto;
	height: auto;
  }
  
  .gallery-item {
	aspect-ratio: 16 / 9;
  }
  
  .gallery-item--large,
  .gallery-item--small {
	grid-column: span 1;
	grid-row: span 1;
  }
}

/* Grid View */

#propertyContainer .property-card .card-body {
	padding: 0!important;
}
.grid-view .property-card {
	margin: 10px;
	border: 1px solid #788f869c;
}

.swiper.mySwiper.swiper-initialized.swiper-horizontal,
.swiper-wrapper {
	height: 250px!important;

}

.list-location {
    text-align: center;
    width: 100%;
    color: #76796f;
    line-height: 50px;
    white-space: nowrap;
    overflow: hidden;
    font-size: 16px;
    font-weight: 400;
    margin: 5px 0px;
}


.list-details {
	float: left;
	text-align: center;
	width: 100%;
	color: #76796f;
	line-height: 50px;
	height: 50px;
	font-size: 14px;
	padding: 0 5%;
}

.list-details-item.small {
	width: 23%;
}

.list-details-item {
	width: 27%;
	float: left;
}

.property-count-wrapper {
    padding: 10px 15px;
    text-align: right;
    font-size: 14px;
    height: 60px;
    border-top: 1px solid #EEE;
}

.pageNavdiv {
    border-top: 1px solid #EEE;
    margin-top: 20px;
}


.pageNavdiv .pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}
.limit.float-end {
    display: none;
}
.pageNavdiv .pagination .limit {
    float: none !important;
}

.pageNavdiv {
    border-top: 1px solid #EEE;
    margin-top: 30px;
    padding: 30px 0;
}

.active>.page-link {
    background: #788f86;
    border-color: #788f86;
}

.page-link {
	color: #788f86;
}

.pageNavdiv .pagination-list {
    margin: 0 !important;
}


.list-bottom {
	width: 100%;
	float: left;
	background: #788f85;
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	height: 60px;
	line-height: 60px;
	color: #FFF;
	padding: 0 2%;
}


.list-bottom .col-lg-6 {
	float: left;
	 
 }

 .list-bottom-price h6 {
    font-family: 'Open Sans', sans-serif;
    font-weight: 500;
    font-size: 18px;
}

 .span_6.pull-left.list-bottom-price {
    width: 50%;
}
.list-bottom .col-lg-6.pull-left.list-bottom-ref {
	 padding: 0 20px;
	 color: #FFF;
	 font-size: 14px;
	 font-weight: 600;
 }
 
 .lp-form .form-label {
	 display: none;
 }
  
 h3 {
	color: #788f85;
	font-weight: 400;
 }
 
 h3.sppb-image-layout-title strong {
	 font-size: 20px;
	 font-weight: 500;
	 color: #ffffff !important;
	 text-transform: none;
 }
 
 h6 {
	 line-height: 60px;
	 text-align: right;
	 padding: 0 20px;
	 font-size: 20px;
	 font-weight: 300;
 }
 
 table.smarttable {
	 font-size: 14px;
	 color: #333;
	 width: 100%;
 }
 
 table.smarttable td, 
 table.smarttable th {
	 padding: 5px;
	 border-bottom: 1px solid #EEE;
 }
 
 
 thead {
	 background: #EEE;
 }
 
 table.smarttable td:nth-child(2),
 table.smarttable td:nth-child(3) {
	 text-align: center;
 }
 
 span.smart-yes {
	 background: #4da847;
	 border-radius: 100px;
	 padding: 4px 10px;
	 color: #FFF;
	 font-size: 14px;
 }
 
 span.smart-no {
	 background: #666666;
	 border-radius: 100px;
	 padding: 4px 10px;
	 color: #FFF;
	 font-size: 14px;
 }


 .property-summary {
    background: #FFF;
    position: relative;
    z-index: 1;
    margin-top: 20px;
    padding: 20px;
    box-sizing: border-box;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    border: 1px solid #788f85;
	border-radius: 10px;
}

/* Property feature tags */
.property-features-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 15px 0;
}
.feature-tag {
    display: inline-block;
    background: #788f85;
    color: #FFF;
    padding: 5px 14px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 400;
    border: 1px solid #788f8680;
}

/* Property Info Tabs */
.detail-tabs {
    display: flex;
    justify-content: center;
    cursor: pointer;
    border-bottom: 2px solid #788f85;
}
.detail-tab {
    padding: 10px 40px;
    margin: 0 10px;
    border: 0px solid #ddd;
    border-bottom: none;
    color: #788f85;
    background: rgba(120, 143, 133, 0.2);
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}
.detail-tab.active {
    background: #788f85;
    color: #FFF;
}
.detail-tab-content {
    display: none;
    padding: 40px 0;
    border: 0px solid #ddd;
}
.detail-tab-content.active {
    display: block;
}
.detail-info-row {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid #eee;
}
.detail-info-label {
    color: #788f85;
    font-weight: 500;
}
.detail-info-value {
    text-align: right;
}

span.pricetext {
    text-align: center;
    height: 90px;
    line-height: 90px;
    font-size: 30px;
    color: #666;
	
    letter-spacing: 1px;
}

#currency_div {
    font-size: 30px;
	font-weight: 400;
}

 
 /* Bootsrap overrides */
 #ospropertyadvsearch .custom-multi-select, 
 .mainframe_search .custom-multi-select {
	 height: 50px;
 }
 
 select,select.form-control:not([multiple]), 
 select.inputbox:not([multiple]), 
 select:not([multiple]) {
	 height: 50px!important;
	  color: #6d757e;
 }
 
 textarea.form-control {
	 height: 120px;
 }
 
 button#Send {
	 width: 190px;
	 height: 40px;
 }
 
 .form-select,
input[type="text"], 
input[type="email"], 
input[type="url"], 
input[type="date"], 
input[type="password"], 
input[type="search"], 
input[type="tel"], 
input[type="number"], 
textarea { 
	height: 50px; 
 }
 
 .btn {
 	height: 50px;
 }
 
 /* Bootstrap overrides */
.sppb-btn {
	font-weight: 500;
	    font-size: 16px !important;
}

 .sppb-btn-info {
    background: white;
    color: #788f86;
    border: 1px solid #788f86;
    transition: all 0.4s ease; /* Added transition */
}

.sppb-btn-dark {
    color: #fff;
    background-color: #788f87;
    border-color: #FFF;
}

.sppb-btn-dark:hover {
    background: #FFF;
    color: #788f86;
    border: 1px solid #788f86;
}

.sppb-btn-info:hover {
    color: #fff;
    background-color: #788f86;
    border-color: #788f86;
}

 div#advsearchformdiv,
 .osp-container,
 .property-details-info {
	 max-width: 1320px;
	 padding-left: 15px;
	 padding-right: 15px;
	 margin: 0 auto;
 }
  .property-details-info {
    margin-top: 30px;
  }

.btn.btn-info,
button.btn.btn.btn-danger.horizontalsearchbutton {
	 background: #dd6f46!important;
	 color: #FFF;
   border: #dd6f46 !important;
	 width: 100%;
 }
 
 
.Tabbed_Search li {
	margin: 0 20px;
}


.Tabbed_Search .sppb-nav.sppb-nav-tabs {
  display: flex;
  justify-content: center;
  border-bottom: none;
}

.Tabbed_Search .sppb-nav-tabs>li.active>a, 
.Tabbed_Search .sppb-nav-tabs>li.active>a:focus, 
.Tabbed_Search .sppb-nav-tabs>li.active>a:hover {
	background-color: #fff;
		border-bottom-color: transparent;
		cursor: default;
		font-size: 18px;
		font-weight: 500;
		color: #788f85 !important;
		border-top-left-radius: 5px;
		border-top-right-radius: 5px;
	}

#sppb-content1-2 {
	background: #dd6f46!important;
	color: #FFF !important;
}

.Tabbed_Search .sppb-nav-tabs>li>a {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.42857143;
	padding: 12px 25px;
	background: #788f85;
	color: #FFF!important;
	border: 0px solid #e5e5e5;
	border-right-width: 0;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	color: rgba(51, 51, 51, 0.783);
}

.Tabbed_Search .sppb-tab-pane {
	background: #FFF;
	padding: 20px;
	height: 180px;
	/* border: 1px solid #788f86; */
	border-radius: 10px;
}

.qsearch-home {
	height: 500px;
}

.sppb-nav-tabs {
	border-bottom: 1px solid #e5e5e5;
}

.col-lg-6 ,
.horizontal_search #moreoption {
	text-decoration: none;
	color: #333;
}

.horizontal_search {
	padding: 10px;
	background-color:#ffffff00;
	left: 0;
	margin: 0 auto;
	position: absolute;
	right: 0;
	text-align: center;
	width: 100%;
	z-index: 999;
	color: #fff;
	border-radius: 3px;
}

.sppb-articles-ticker-wrap {
	height: 75px;
}

.sppb-articles-ticker-text a {
	color: #fff;
	display: block;
	font-size: 16px;
	line-height: 1.21;
	position: relative;
	z-index: 1;
}

img.company-image {
    border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
}

.company-left-block {
	background: #EEE;
    padding: 30px;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}
.company-left-block h3 {
    font-size: 30px!important;
	margin-bottom:15px!important;
}

.company-tab-content h2 {
    font-size: 25px!important;
	margin-bottom:0px!important;
}
/* Company map & info block */
.company-location-block {
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.company-map {
	height: 100%;
	min-height: 350px;
}
.company-map-info {
	background: #EEE;
	padding: 30px;
}
.company-map-info h4 {
	color: #788f85;
	margin-bottom: 15px;
	font-weight: 600;
}
.company-map-info p {
	font-size: 14px;
	line-height: 1.8;
	margin-bottom: 8px;
}
.company-map-info i {
	color: #788f85;
	width: 20px;
	margin-right: 5px;
}
.company-opening-hours {
	margin-top: 15px;
	padding-top: 15px;
	border-top: 1px solid #ddd;
}
.company-opening-hours h5 {
	font-size: 16px;
	color: #788f85;
	margin-bottom: 10px;
}
/* Company team members */
.company-team h4 {
	color: #788f85;
	font-weight: 600;
	margin-bottom: 20px;
}
.company-team h4 i {
	margin-right: 8px;
}
.team-card {
	background: #EEE;
	border-radius: 10px;
	overflow: hidden;
	height: 100%;
}
.team-card-photo img {
	width: 100%;
	height: 200px;
	object-fit: cover;
}
.team-card-info {
	padding: 15px 20px;
}
.team-card-info h5 {
	font-size: 16px;
	font-weight: 600;
	color: #333;
	margin-bottom: 10px;
}
.team-card-info p {
	font-size: 13px;
	margin-bottom: 5px;
	line-height: 1.6;
}
.team-card-info p i {
	color: #788f85;
	width: 18px;
	margin-right: 5px;
}
.team-card-info a {
	color: #555;
	text-decoration: none;
}
.team-card-info a:hover {
	color: #788f85;
}
.team-card-listings {
	display: inline-block;
	background: #788f85;
	color: #fff;
	font-size: 12px;
	padding: 3px 12px;
	border-radius: 50px;
	margin-top: 8px;
}
/* Company tabs */
.company-tabs .nav-tabs {
	border-bottom: 2px solid #788f85;
}
.company-tabs .nav-tabs .nav-link {
	color: #788f85;
	font-weight: 600;
	border: none;
	border-bottom: 3px solid transparent;
	padding: 12px 25px;
}
.company-tabs .nav-tabs .nav-link.active {
	color: #fff;
	background-color: #788f85;
	border-radius: 5px 5px 0 0;
}
.company-tabs .nav-tabs .nav-link:hover:not(.active) {
	border-bottom-color: #788f85;
}
.company-tabs .tab-content {
	padding-top: 20px;
}
/* Company detail buttons */
.company-btn {
	display: inline-block;
	background-color: #788f85;
	color: #fff;
	padding: 5px 25px;
	border-radius: 5px;
	text-decoration: none;
	margin-right: 10px;
	margin-bottom: 10px;
	    border-radius: 50px;
}
.company-btn:hover {
	background-color: #788f85;
	color: #fff;
	text-decoration: none;
}
.company-btn-orange {
	background-color: #dd6f46;
}
.company-btn-orange:hover {
	background-color: #c45e38;
}
/*Header*/
header#sp-header .container {
	max-width: unset !important;
}
.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
    background: #788f86be;
    transition: all 0.5s ease 0s;
    padding: 15px;
}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a{
	padding:16px 20px;
	color:#fff!important;
	transition: all 0.5s ease 0s;
	font-size:14px !important;
}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item {
	border-bottom:1px solid #333;
	
}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item:hover {
	background:#333;
	color:#fff;
	transition: all 0.5s ease 0s;
}
.sp-megamenu-parent > li > a,
.sp-megamenu-parent > li > span,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a {
	text-transform: uppercase;
}
.sp-megamenu-parent > li > a,
.sp-megamenu-parent > li > span {
	padding:0 12px;
	line-height: 40px!important;
}
.sp-megamenu-parent > li:last-child > a {
	padding: 0px 15px 0px 15px;
}

nav.sp-megamenu-wrapper.d-flex {
	padding: 0;
}

nav.sp-megamenu-wrapper.d-flex {
	float: right;
}
.sp-megamenu-parent .sp-mega-group>li>a,
.sp-megamenu-parent>li>a {
color: #FFF;
}
.block_caption {
    border-bottom: 1px solid #e5e5e5;
    position: relative;
    padding-bottom: 5px;
    margin-bottom: 8px;
    width: 100%;
    margin-top: 30px;
}
.listing-intro-description {
    padding: 0;
}

.sp-megamenu-parent>li.active>a {
	    color: #788f86 !important;
    background: #ebebeb;
    border: none;

}

#sp-menu a {
	border: 2px solid #788f86;
	border-radius: 5px;
	margin-bottom: 0px;
}

li.sp-menu-item.sp-has-child.active a.about-menu {
    background: #EEE;
    color: #788f86;
}
.sp-megamenu-parent>li:hover>a {
    color: #788f86;
}
#sp-menu li.sp-menu-item.current-item.active a {
	color: #788f86 !important;
	background: #ebebeb;
	border: none;
}

#sp-menu li.sp-menu-item.current-item.active a {
	color: #788f86 !important;
	background: #ebebeb;
	border: none;
}


.sp-dropdown-items li {
	border: none;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item a {
	background: none!important;
	color: #FFF!important;;
}

#sp-top-bar ul.social-icons {
	float: right;
}

#sp-top-bar li.sp-menu-item.current-item.active,
#sp-top-bar li.sp-menu-item a:hover {
	color: #788f86;
	border-radius: 5px!important;
	background: #FFF;
}

#sp-top-bar .far,
#sp-top-bar .fas,
#sp-top-bar a {
	color: #788f85;
}

.sp-dropdown-mega .col-sm-4,
.sp-dropdown-mega .col-sm-6 {
    padding: 0;
}

.sp-dropdown.sp-dropdown-main.sp-dropdown-mega.sp-menu-center {
    border-top: 5px solid #EEE;
}

.sp-dropdown-mega li:hover {
	 background-color: #788f8688;
}
p a {
    color: #788f85;
	font-weight: 500;
	text-decoration: underline!important;
	
}

#sp-footer a, #sp-bottom a {
    color: #FFF!important;
}

.sp-dropdown-mega li,
li.item-525.menu_item.item-header,
li.item-531.menu_item.item-header,
li.item-539.menu_item.item-header,
li.item-542.menu_item.item-header,
li.item-526.menu_item.item-header,
li.item-182.menu_item.item-header,
li.item-498.menu_item.item-header,
li.item-499.menu_item.item-header,
li.item-500.menu_item.item-header,
li.item-501.menu_item.item-header,
li.item-502.menu_item.item-header,
li.item-503.menu_item.item-header {
    border: 1px solid #EEE;
       margin: 15px 10px 15px 10px;
    border-radius: 10px;
	background:#788f86;
    padding: 10px;
}
li.sp-menu-item:hover,
li.sp-menu-item.sp-has-child:hover {
	color: #788f86 !important;
    background: #ebebeb;
    border: none;
}


li.item-525.menu_item.item-header,
li.item-531.menu_item.item-header,
li.item-539.menu_item.item-header,
li.item-542.menu_item.item-header,
li.item-526.menu_item.item-header,
li.item-182.menu_item.item-header,
li.item-498.menu_item.item-header,
li.item-518.menu_item.item-header,
li.item-517.menu_item.item-header,
li.item-503.menu_item.item-header {
    margin: 15px!important;
    border-radius: 10px!important;
	padding: 0px!important;
	border: Opx!important;

}
li.item-525.menu_item.item-header a,
li.item-531.menu_item.item-header a,
li.item-539.menu_item.item-header a,
li.item-542.menu_item.item-header a,
li.item-526.menu_item.item-header a,
li.item-182.menu_item.item-header a,
li.item-498.menu_item.item-header a,
li.item-518.menu_item.item-header a,
li.item-517.menu_item.item-header a,
li.item-503.menu_item.item-header a {

	border: none!important;
}

li.item-525.menu_item.item-header img,
li.item-531.menu_item.item-header img,
li.item-539.menu_item.item-header img,
li.item-542.menu_item.item-header img,
li.item-526.menu_item.item-header img,
li.item-182.menu_item.item-header img,
li.item-498.menu_item.item-header img,
li.item-518.menu_item.item-header img,
li.item-517.menu_item.item-header img,
li.item-503.menu_item.item-header img {
    border-radius: 10px!important;
    border: 1px solid #EEE!important;
}

#sp-menu li.sp-menu-item.current-item.active .sp-mega-group a {
	    color: #eee !important;
    background: #788f86;
    border: none;
}

p.timeline-date.text-start.text-left,
p.timeline-date.text-end.text-right {
    font-weight: 400;
    font-family: 'Belleza';
    color: #788f85;
    font-size: 22px !important;
}
span.image-title {
        float: left;
    margin-top: -180px;
    z-index: 11111;
    position: relative;
    width: 100%;
    height: 40px;
    line-height: 40px;
    padding: 0 20px;
    color: #505050;
    font-family: 'Belleza';
    text-transform: initial;
    font-size: 20px;
    font-weight: 300;
    background: #ffffffb0;
    text-align: center;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}
}


	


a.about-sub {
    border: none;
    margin: 0 !important;
}

a#clearAll {
    font-size: 12px;
    color: #788f86;
    text-decoration: none;
    margin: 8px 0 0 0 !important; /* remove the float side margins */
    display: inline-block;
    clear: left;
    border-radius: 5px;
    padding: 4px 10px;
    border: 1px solid #788f86;
    transition: all 0.2s ease;
	float: left;
}

a#clearAll:hover {
    background: #788f86;
    color: #fff;
}

button#Submit {
    padding: 0 40px;
    height: 40px;
    font-weight: 500;
}

.form-footer {
    margin-top: 12px;
    font-size: 14px;
    color: #7a8c85;
    line-height: 1.5;
}

.form-footer .fa-lock {
    margin-right: 5px;
    font-size: 11px;
    opacity: 0.7;
}

div#mapster_wrap_0 {
	float:left;
}

div#selected-departments {
    float: left;
    margin-left: 0px;
	width: 45%;
}
ul#department-list {
    list-style: none;
	font-size: 12px;
	margin: 0px !important;
    padding: 0;
}

/* Department tags */
ul#department-list li {
    background: transparent; /* match the section bg rather than grey */
    width: auto;
    float: left;
    color: #788f87;
    margin: 3px 4px 3px 0;
    padding: 3px 10px;
    border-radius: 5px;
    border: 1px solid #788f87;
    font-size: 12px;
}

p#warning-message {
    background: rgb(136, 0, 0);
    font-size: 12px;
    color: #FFF;
    padding: 5px 10px;
    border-radius: 5px;
    float: left;
    margin: 5px 10px !important;
}

div#selected-departments h4 {
    font-size: 16px;
}

a.bordered {
	border: 2px solid #fff!important;
	border-radius: 5px;
}

.offcanvas-active .burger-icon>span,
.burger-icon>span {
	background-color: #ffffff;

}

li.sp-menu-item {
	margin: 0 5px ;
	border-radius: 5px;
}

.mod-languages {
	padding: 0px 0px;
	border: 2px solid transparent;
	border-radius: 5px;
}

.mod-languages .dropdown-toggle::after {
	display: none;
}

.d-flex.align-items-center.p-3.pt-4 {
	background: #788f86;
}

.d-flex.align-items-center.p-3.pt-4  img.logo-image {
	height: 40px
}

.minus-box {
    margin-top: -100px!important;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    box-shadow: 0px 11px 50px 0 rgba(0, 0, 0, 0.04);
    position: relative !important;
}
.sp-contact-info li {
	font-size: 100%;
	line-height:30px;
	font-size: 14px;
}
.sp-contact-info li {
	border-left: 1px solid #eee;
	padding-left:15px;
}
.sp-contact-info li:last-child {
	border-right: 1px solid #eee;
	padding-right:15px;
}

#sp-top a,
#sp-top {
	color: #788f86;
}
#sp-top ul.sp-contact-info {
	float: right;
}

@media (min-width: 1200px) {
    .sppb-row-container {
        max-width: 1200px;
    }
}

@media (max-width:415px) {
#sp-top2 {
	text-align:left!important;
	margin-left:5px;
}
#sp-top-bar {
    font-size: 13px;
}
}
@media (min-width: 416px) {
#sp-top2 {
	text-align:right;
}
}
#sp-top-bar {
	padding:0;
	font-size: 15px;
}
ul.social-icons > li:last-child {
	border-right: 1px solid #eee;
}

ul.social-icons > li {
    border-left: 1px solid #eee;
    text-align: center;
	margin: 0;
	padding:0px 0px;
	line-height: 30px;
	width:40px;
}
ul.social-icons > li:hover {
	background:#788f86;
}
ul.social-icons > li:hover a{
	color:#FFF!important;
}

#sp-header {
	box-shadow: 0 0 0px 0 rgba(0, 0, 0, 0);
	transition: all 0.5s ease 0s;
}
#sp-header {
	transition: all 0.5s ease 0s;
	border-bottom: 1px solid #eee;
	background: #788f85;
	height: 70px;
}

#sp-header.header-sticky {
	box-shadow: 0 12px 6px rgba(0, 0, 0, 0.06);
	transition: all 0.5s ease 0s;
}
#sp-top-bar {
    background: #EEE;
    border-bottom: 0px solid #eee;
    color: #788f85;
}

#sp-top-bar img.logo-image {
	padding: 20px;
	height: 70px !important;
}

.sp-page-title {
	padding:100px 0;
}
.sp-page-title .sp-page-title-heading {
	color: #252525;
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.3;
	text-transform: none;
	font-size: 45px;
	text-align:center;
	text-transform: capitalize!important;
}
.sp-page-title .sp-page-title-sub-heading {
	color: #727272;
	font-weight: 500!important;
	letter-spacing: -0.03em;
	line-height: 1.3;
	text-transform: none;
	font-size: 15px;
	text-align:center;
	text-transform: capitalize!important;
}
.sp-page-title .breadcrumb > span,
.sp-page-title .breadcrumb > li,
.sp-page-title .breadcrumb > li + li::before,
.sp-page-title .breadcrumb > li > a,
.breadcrumb > li > a,
.sp-page-title .breadcrumb > .active {
	color:#252525!important;
	font-size:13px;
}
.sp-page-title .breadcrumb {
	margin: 10px auto;
	display: block;
	text-align:center;
}
.sp-page-title .breadcrumb > li {
	display: inline;
}

.list-banner {
	z-index: 111;
	position: relative;
	float: left;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 400;
	margin-top: -25px;
	margin-left: 10px;
	line-height: 25px;
}

.exc-list {
	background: #577089;
	color: #FFF;
	padding: 0 8px;
	float: left;
	margin-right: 5px;
}
.sold-list {
	background:#955358;
	color: #FFF;
	padding: 0 8px;
	float: left;
	margin-right: 5px;
}
.new-list {
	background: #3aa239;
	color: #FFF;
	padding: 0 8px;
	float: left;
	margin-right: 5px;
}

.swiper.mySwiper { position: relative; }
.savills-badge {
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 40px;
	height: 40px;
	z-index: 5;
	pointer-events: none;
}
.savills-badge img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.fobvi_steps h5.sppb-addon-title {
    font-size: 22px;
    font-family: 'Belleza';
    color: #dd6f46;
}

.fobvi_steps  {
    transform-origin: 50% 50%;
    padding: 30px;
    border: 1px dotted #dd6f46;
    border-radius: 5px;
    height: 190px;
}


/* Pagination wrapper */
.com-content-category-blog__pagination .pagination {
    display: flex;
    align-items: center;
    gap: 4px;
    list-style: none;
    padding: 0;
}

/* All page items */
.com-content-category-blog__navigation {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.com-content-category-blog__pagination .pagination {
    justify-content: center;
}

/* Move counter below or above centered */
.com-content-category-blog__counter {
    text-align: center;
    float: none !important;
    padding-right: 0 !important;
}

.com-content-category-blog__pagination .page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid #ddd;
    border-radius: 4px;
    color: #555;
    font-size: 0.875rem;
    text-decoration: none;
    background: #fff;
    transition: background 0.2s, color 0.2s;
}

/* Hover state */
.com-content-category-blog__pagination .page-item a.page-link:hover {
    background: #f0f0f0;
    color: #333;
}

/* Active page */
.com-content-category-blog__pagination .page-item.active .page-link {
    background: #BE6A4A;
    border-color: #BE6A4A;
    color: #fff;
    font-weight: 600;
}

/* Disabled (first/prev on page 1) */
.com-content-category-blog__pagination .page-item.disabled .page-link {
    color: #ccc;
    border-color: #eee;
    background: #fafafa;
    cursor: default;
}

/* Page counter */
.com-content-category-blog__counter {
    font-size: 0.875rem;
    color: #555;
}


.com-content-category-blog__children.cat-children,
.items-more.articles-more.mb-4 {
    display: none;
}


.article-details.blog-article.container {
    max-width: 780px;
    padding-top: 60px;
}

.blog-article.container h1 {
    font-size: 30px;
    margin-bottom: 30px;
}

.blog h3 {
    font-size: 20px;
    clear: left;
    line-height: 25px;
    height: 75px;
    padding-top: 15px !important;
}
.blog-footer {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.875rem;
    color: #555;
    padding-top: 12px;
    margin-top: 12px;
    border-top: 1px solid #e0e0e0;
        font-size: 12px;
}

.article-list .article .article-intro-image img, .article-list .article .article-featured-video img, .article-list .article .article-featured-audio img, .article-list .article .article-feature-gallery img {
    border-radius: 10px 10px 0 0;
}

.blog-footer i {
    color: #555;
    font-size: 0.85rem;
}
.article-meta.mb-3 {
margin-bottom: 30px;;
}

.cat-name {
    background: #788f85;
    color: #FFF;
    width: auto;
    float: left;
    clear: both;
    padding: 2px 10px;
    border-radius: 7px;
    font-size: 12px;
    text-transform: uppercase;
    margin-top: -32px;
    z-index: 10;
    position: relative;
    border: 1px solid #FFF;
}

span.category-name.buying-and-selling,
.cat-name.Buying.and.Selling {
  background: #BE6A4A !important;
}

span.category-name {
    background: #788f85;
    padding: 5px 10px;
    border-radius: 5px;
    color: #FFF;
}


span.category-name.lifestyle,
.cat-name.Lifestyle {
    background: #788f85 !important;
}

span.category-name.work.with.us,
.cat-name.Work.with.us  {
    background: #bead4e !important;
}
span.category-name.prestige.property,
.cat-name.Prestige.property {
    background: #58969f !important;
}

#sppb-addon-4a15faca-7c25-4ea2-9a97-abc6942e57a9 {
border-left:5px solid #38414e!important;
}

.sppb-addon-timeline .sppb-addon-timeline-wrapper .timeline-movement .timeline-item .timeline-panel.left-part {
  text-align: left;;
}
.prestige-team h3 {
    color: #dd6f46 !important;
    font-size: 18px;
}

.prestige-team h2 {
    color: #fff !important;
    
}

.sppb-addon-image-layout-content.sppb-order-.sppb-order-lg-.sppb-order-md-.sppb-order-sm-.sppb-order-xs-.sppb-text-alignment {
    width: 100%;
}

.prestige-bl h3 {
    color: #dd6f46 !important;
    font-size: 18px;
}
.prestige-bl ul {
    padding: 0px !important;
    margin: 0px 10px 0px 10px !important;
}

.prestige-bl li {
    list-style: none;
    padding: 10px 20px 0px 10px !important;
    border-top: 1px solid #dd6f46;
}
.prestige-bl strong {
    font-weight: 600 ;
}
/* counters */

.sppb-animated-number {
    font-family: 'Belleza';
    font-size: 50px;
    color: #FFF;
    font-weight: 100;
}
.sppb-icon.sppb-icon-hover-effect-zoom-in i {
  color: #ffffff78;
}
.sppb-animated-number-title {
    color: #FFF;
    text-transform: uppercase;
    font-size: 14px;
    padding: 0px 70px;
    border-top: 1px solid #eeeeee3d;
        padding-top: 20px;
}
/* BLog */
.blog .page-header {
	margin-top:25px;
	text-align: center;
}

.blog .category-desc.clearfix {
	margin-bottom: 25px;
}
.blog .article-list .article {
	border-radius: 10px;
	box-shadow: 0 2px 4px 0 rgb(0 0 0 / 20%), 0 3px 10px 0 rgb(0 0 0 / 19%);
	height: 410px;
	border: none !important;
}
#sp-footer ul.menu li {
  display: list-item;   /* REQUIRED for bullets */
  list-style: square;
  line-height: 25px;
}

#sp-footer ul.menu {
  display: block;
	list-style: none;
	padding: 0;
	margin: 0 -10px;
	list-style: disc;
	  padding-left: 20px; /* required for bullets to appear */
}
#sp-footer ul.menu {
  padding-left: 1.2em;
}

h3.sppb-addon-title {
	color: #FFF;
}


 #sp-footer ul.menu li a {
	display: block;
	color: #FFF;
}

#sp-left .sp-module ul>li, #sp-right .sp-module ul>li {
    display: block;
    border-bottom: 1px solid #788f85;
}

aside#sp-left .sp-module ul>li.active a{
    color: #dd6f46;
}


aside#sp-left .sp-module ul>li>a:hover {
    color: #dd6f46;
}

aside#sp-left {
    background: #EEE;
}
#sp-left .sp-module,
aside#sp-lef .sp-module {
    border: none !important;
}

/* ============================================================
   IPC - Individual Agent Landing Page (view=lipc)
   ============================================================ */

.lipc-hero {
	position: relative;
	width: 100%;
	height: 45vh;
	min-height: 280px;
	max-height: 720px;
	overflow: hidden;
	margin-bottom: 60px;
}

.lipc-hero .lipc-hero-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	z-index: 0;
}

.lipc-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0.25) 100%);
	z-index: 1;
}

.lipc-hero-inner {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	align-items: center;
	gap: 40px;
	color: #fff;
}

.lipc-hero-photo img {
	width: 160px;
	height: 160px;
	border-radius: 50%;
	object-fit: cover;
	border: 1px solid #fff;
	box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}

.lipc-hero-name {
	font-size: 2.6rem;
	margin: 0 0 8px;
	color: #fff;
	font-weight: 400;
}

.lipc-hero-role {
	font-size: 1.05rem;
	opacity: 0.9;
	margin-bottom: 4px;
}

.lipc-hero-tagline {
	font-size: 1.2rem;
	opacity: 0.95;
	margin-bottom: 24px;
}

.lipc-hero-cta {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.lipc-btn {
	display: inline-block;
	padding: 12px 24px;
	border-radius: 4px;
	text-decoration: none;
	font-weight: 500;
	transition: all 0.2s;
}

.lipc-btn-primary {
	background: #ed7d20;
	color: #fff;
	border: 1px solid #ed7d20;
}

.lipc-btn-primary:hover {
	background: #d56b13;
	border-color: #d56b13;
	color: #fff;
}

.lipc-btn-secondary {
	background: transparent;
	color: #fff;
	border: 1px solid #fff;
}

.lipc-btn-secondary:hover {
	background: #fff;
	color: #333;
}

.lipc-page > section {
	margin-bottom: 60px;
}

.lipc-page.container h1 {
	font-size: 35px;
}

.lipc-bio {
	font-size: 1.05rem;
	line-height: 1.7;
}

.lipc-area h2,

.lipc-about-bvi h2,
.lipc-testimonials h2,
.lipc-contact h2,
.lipc-press h2 {
	margin-bottom: 24px;
}

.lipc-properties-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 24px;
}

.lipc-properties-title {
	margin: 0;
}

.lipc-properties-controls {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-left: auto;
}

.lipc-properties-count {
	font-weight: 500;
}

.lipc-sort {
	display: flex;
	gap: 8px;
	align-items: center;
}

#propertyContainer.lipc-grid {
	grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 900px) {
	#propertyContainer.lipc-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
	#propertyContainer.lipc-grid { grid-template-columns: 1fr !important; }
}

/* IPC "Load more" button (centered) */
.lipc-loadmore { text-align: center; margin: 28px 0 8px; }
.lipc-loadmore-btn {
	background: #788f86;
	color: #fff;
	border: 0;
	padding: 12px 36px;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 1px;
	border-radius: 4px;
	cursor: pointer;
	transition: background .2s ease;
}
.lipc-loadmore-btn:hover { background: #5f7269; }

/* IPC card bottom bar: ref left, price bottom-right (50/50) */
#propertyContainer.lipc-grid .list-bottom .span_6 { width: 50%; float: left; }
#propertyContainer.lipc-grid .list-bottom .list-bottom-ref { padding: 0 20px; }
#propertyContainer.lipc-grid .list-bottom .list-bottom-price { padding: 0 20px; text-align: right; }
#propertyContainer.lipc-grid .list-bottom .list-bottom-price h6 { margin: 0; }

.lipc-about-bvi {
	background: #f1efea;
	padding: 72px 0 0;
	margin-top: 56px;
	margin-bottom: 56px;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	overflow: hidden;
}
.lipc-about-bvi-grid {
	display: grid;
	grid-template-columns: 1.7fr 1fr;
	gap: 48px;
	align-items: start;
}
.lipc-about-bvi-content { padding-bottom: 16px; }
.lipc-about-bvi-eyebrow {
	display: inline-block;
	width: 48px;
	height: 3px;
	background: #788f86;
	margin-bottom: 18px;
	border-radius: 2px;
}
.lipc-about-bvi-content h2 {
	margin: 0 0 20px;
	font-size: 2.1rem;
	line-height: 1.2;
	letter-spacing: -0.01em;
}
.lipc-about-bvi-body {
	font-size: 1.02rem;
	line-height: 1.7;
	color: #3a3a3a;
}
.lipc-about-bvi-body p { margin: 0 0 14px; }
.lipc-about-bvi-body p:last-child { margin-bottom: 0; }
.lipc-about-bvi-body p:first-child::first-line {
	font-weight: 500;
}
.lipc-about-bvi-map {
	background: #788f86;
	color: #fff;
	padding: 28px;
	border-radius: 6px;
	display: flex;
	flex-direction: column;
	gap: 0;
	box-shadow: 0 8px 30px rgba(0,0,0,0.08);
}
.lipc-about-bvi-map-img {
	width: 100%;
	height: auto;
	display: block;
}
.lipc-about-bvi-map-footer {
	padding-top: 18px;
	margin-top: 18px;
	border-top: 1px solid rgba(255,255,255,0.25);
}
.lipc-about-bvi-map-caption {
	margin: 0 0 14px;
	font-size: 0.95rem;
	line-height: 1.55;
	color: #fff;
}
.lipc-about-bvi-cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 18px;
	background: #fff;
	color: #4d6660;
	border-radius: 999px;
	font-weight: 600;
	font-size: 0.92rem;
	text-decoration: none;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.lipc-about-bvi-cta:hover {
	color: #4d6660;
	text-decoration: none;
	transform: translateX(3px);
	box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}
.lipc-about-bvi-cta-arrow {
	transition: transform 0.18s ease;
}
.lipc-about-bvi-cta:hover .lipc-about-bvi-cta-arrow {
	transform: translateX(3px);
}

.lipc-shopfront-marquee {
	margin-top: 56px;
	padding: 8px 0 24px;
	overflow: hidden;
	width: 100%;
	mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.lipc-shopfront-track {
	display: flex;
	gap: 14px;
	width: max-content;
	animation: lipc-marquee 60s linear infinite;
}
.lipc-shopfront-track img {
	width: 220px;
	height: 140px;
	object-fit: cover;
	border-radius: 6px;
	flex-shrink: 0;
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.lipc-shopfront-marquee:hover .lipc-shopfront-track {
	animation-play-state: paused;
}
@keyframes lipc-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.lipc-shopfront-track { animation: none; }
}

@media (max-width: 900px) {
	.lipc-about-bvi-grid { grid-template-columns: 1fr; gap: 32px; }
	.lipc-about-bvi { padding-top: 48px; }
	.lipc-about-bvi-content h2 { font-size: 1.7rem; }
	.lipc-shopfront-track img { width: 160px; height: 100px; }
}

p.lipc-legal {
    background: #EEE;
    padding: 20px;
    border-radius: 10px;
    margin-bottom: 30px;
}

.lipc-sort label {
	margin: 0;
	font-weight: 500;
}

.lipc-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 24px;
}

.lipc-card {
	display: block;
	border-radius: 6px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
	color: inherit;
	text-decoration: none;
	transition: transform 0.2s, box-shadow 0.2s;
}

.lipc-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 6px 20px rgba(0,0,0,0.12);
	color: inherit;
	text-decoration: none;
}

.lipc-card-photo {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #f0f0f0;
}

.lipc-card-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.lipc-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 4px 10px;
	border-radius: 3px;
	font-size: 0.75rem;
	color: #fff;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.lipc-badge-featured { background: #ed7d20; }
.lipc-badge-sold     { background: #c0392b; }

.lipc-card-body {
	padding: 14px 16px 18px;
}

.lipc-card-location {
	font-size: 0.95rem;
	color: #666;
	margin-bottom: 6px;
}

.lipc-card-meta {
	display: flex;
	gap: 12px;
	font-size: 0.85rem;
	color: #777;
	margin-bottom: 8px;
}

.lipc-card-id {
	font-size: 0.75rem;
	color: #999;
	margin-bottom: 6px;
}

.lipc-card-price {
	font-size: 1.15rem;
	font-weight: 600;
	color: #333;
}

.lipc-contact-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	max-width: 720px;
}

.lipc-contact-form input,
.lipc-contact-form select,
.lipc-contact-form textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
}

.lipc-contact-form textarea {
	grid-column: 1 / -1;
	min-height: 120px;
	resize: vertical;
}

.lipc-contact-form select,
.lipc-contact-form button {
	grid-column: 1 / -1;
}

.lipc-contact-details {
	margin-bottom: 20px;
	font-size: 1.05rem;
}
.lipc-contact-details .lipc-contact-line {
	display: block;
	margin-bottom: 6px;
}
.lipc-contact-details .lipc-contact-line i {
	width: 1.25em;
	text-align: center;
	margin-right: 6px;
	color: #788f86;
}

.lipc-map {
	margin: 0 0 60px;
}

#lipc-map-canvas {
	width: 100%;
	height: 480px;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

@media (max-width: 768px) {


.sppb-addon-image-layouts {
    margin-bottom: 20px;
}

	.lipc-hero { height: auto; min-height: 0; padding: 60px 0; }
	.lipc-hero-inner { flex-direction: column; text-align: center; padding: 0 20px; }
	.lipc-hero-name { font-size: 2rem; }
	.lipc-hero-cta { justify-content: center; }
	.lipc-contact-form { grid-template-columns: 1fr; }
	#lipc-map-canvas { height: 320px; }
}

/* ============================================================
   IPC - Testimonials (carousel + modal)
   ============================================================ */

.lipc-testimonials {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	padding: 96px 0;
	color: #2b2b2b;
	background: #788f85;
}

.lipc-testimonials-inner {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 24px;
}

.lipc-testimonials h1 {
	font-size: 34px;
	color: #fff;
	text-align: center;
	font-weight: 300;
	font-style: italic;
	font-family: Georgia, "Times New Roman", serif;
	letter-spacing: 0.01em;
	margin-bottom: 64px;
	line-height: 1.4;
}

.lipc-testimonials .rev-grid {
	column-count: 3;
	column-gap: 28px;
}

.lipc-testimonials .rev-card {
	position: relative;
	break-inside: avoid;
	background: #fff;
	padding: 28px 28px 22px;
	margin: 0 0 28px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.04);
	display: block;
}

.lipc-testimonials .rev-quote-mark {
	position: absolute;
	top: 14px;
	right: 22px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 64px;
	line-height: 1;
	color: #788f85;
	user-select: none;
	pointer-events: none;
}

.lipc-testimonials .rev-body {
	font-family: Georgia, "Times New Roman", serif;
	font-style: italic;
	font-size: 0.98rem;
	line-height: 1.7;
	color: #2b2b2b;
	margin: 0;
	padding: 0 50px 0 0;
}
.lipc-testimonials .rev-body.is-truncated {
	max-height: 240px;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(180deg, #000 60%, transparent 100%);
	mask-image: linear-gradient(180deg, #000 60%, transparent 100%);
}

.lipc-testimonials .rev-read-more {
	display: inline-block;
	margin-top: 14px;
	color: #788f85;
	text-decoration: underline;
	text-underline-offset: 4px;
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 500;
	cursor: pointer;
}
.lipc-testimonials .rev-read-more:hover { color: #5a6d66; }

.lipc-testimonials .rev-divider {
	border: 0;
	border-top: 1px solid #d9d1c1;
	margin: 22px 0 16px;
}

.lipc-testimonials .rev-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	font-size: 0.92rem;
	color: #2b2b2b;
}
.lipc-testimonials .rev-byline strong {
	font-weight: 600;
	font-style: normal;
}
.lipc-testimonials .rev-date {
	margin-left: 10px;
	color: #8a8a8a;
	font-size: 0.74rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

@media (max-width: 1024px) {
	.lipc-testimonials .rev-grid { column-count: 2; }
}
@media (max-width: 640px) {
	.lipc-testimonials { padding: 64px 0; }
	.lipc-testimonials h1 { font-size: 26px; margin-bottom: 40px; }
	.lipc-testimonials .rev-grid { column-count: 1; }
	.lipc-testimonials .rev-card { padding: 24px; }
	.lipc-testimonials .rev-body { padding-right: 40px; }
}

.rev-modal {
	display: none;
	position: fixed;
	z-index: 9999;
	inset: 0;
	background-color: rgba(0,0,0,0.8);
	animation: lipcRevFadeIn 0.3s;
}
.rev-modal.active {
	display: flex;
	align-items: center;
	justify-content: center;
}
.rev-modal-content {
	background-color: #fff;
	padding: 40px;
	border-radius: 12px;
	max-width: 700px;
	max-height: 80vh;
	overflow-y: auto;
	position: relative;
	margin: 20px;
	animation: lipcRevSlideIn 0.3s;
}
.rev-modal-title {
	color: #788f85;
	font-size: 24px;
	margin-bottom: 10px;
	text-align: center;
}
.rev-modal-name {
	color: #788f85;
	font-size: 20px;
	font-family: "Dancing Script", cursive;
	margin-bottom: 20px;
	text-align: center;
}
.rev-modal-text {
	color: #333;
	line-height: 1.8;
	font-style: italic;
}
.rev-modal-close {
	position: absolute;
	right: 15px;
	top: 15px;
	font-size: 32px;
	font-weight: bold;
	color: #788f85;
	cursor: pointer;
	line-height: 1;
	background: none;
	border: none;
	padding: 0;
	width: 30px;
	height: 30px;
}
.rev-modal-close:hover { color: #333; }

@keyframes lipcRevFadeIn  { from { opacity: 0; } to { opacity: 1; } }
@keyframes lipcRevSlideIn { from { transform: translateY(-50px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

@media (min-width: 992px) {
	#sp-main-body #sp-left            { flex: 0 0 25%; max-width: 25%; }
	#sp-main-body #sp-left ~ #sp-component { flex: 0 0 75%; max-width: 75%; }
}

.mod-bvi-welcome {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	padding: 20px 22px;
	margin-bottom: 24px;
}
.mod-bvi-welcome-title {
	margin: 0 0 12px;
	font-size: 1.15rem;
	font-weight: 600;
	color: #2b2b2b;
	line-height: 1.3;
}
.mod-bvi-welcome-text {
	margin: 0 0 14px;
	font-size: 0.92rem;
	line-height: 1.55;
	color: #555;
}
.mod-bvi-welcome-contact {
	margin: 0;
	font-size: 0.92rem;
}
.mod-bvi-welcome-contact a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #788f85;
	text-decoration: none;
	font-weight: 500;
	word-break: break-all;
}
.mod-bvi-welcome-contact a:hover { color: #5a6d66; text-decoration: underline; }

/* ---------- Favourites page (mobile-first) ---------- */

.osp-favorites-header { margin: 0 0 24px; }
.osp-favorites-title  { margin: 0 0 8px; font-size: 1.75rem; font-weight: 300; color: #2b2b2b; }
.osp-favorites-intro  { margin: 0; max-width: 720px; font-size: 0.95rem; line-height: 1.55; color: #555; }

.bvi-favorites {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 16px 0 32px;
}

.bvi-fav-card {
	display: grid;
	grid-template-columns: 110px 1fr;
	gap: 14px;
	padding: 12px;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
	transition: box-shadow 0.2s ease;
}
.bvi-fav-card:hover { box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); }

.bvi-fav-thumb {
	display: block;
	align-self: start;
	overflow: hidden;
	border-radius: 6px;
}
.bvi-fav-thumb img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.bvi-fav-body {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.bvi-fav-title {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	color: #2b2b2b;
}
.bvi-fav-title a       { color: inherit; text-decoration: none; }
.bvi-fav-title a:hover { color: #dd6f46; }

.bvi-fav-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px;
	font-size: 0.9rem;
}
.bvi-fav-price { font-weight: 600; color: #dd6f46; }
.bvi-fav-ref   { color: #888; font-size: 0.82rem; letter-spacing: 0.02em; }
.bvi-fav-sep   { color: #ccc; }

.bvi-fav-specs {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 2px 0;
	padding: 0;
	list-style: none;
	font-size: 0.85rem;
	color: #555;
}
.bvi-fav-specs li {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
.bvi-fav-specs i { color: #788f85; width: 14px; text-align: center; }

.bvi-fav-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 8px;
}
.bvi-fav-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	font-size: 0.82rem;
	font-weight: 500;
	line-height: 1.2;
	border: 1px solid transparent;
	border-radius: 4px;
	cursor: pointer;
	text-decoration: none !important;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
	white-space: nowrap;
}
.bvi-fav-btn i { font-size: 0.85em; }

.bvi-fav-btn-remove        { background: #fff; color: #b34a4a; border-color: #e5cccc; }
.bvi-fav-btn-remove:hover  { background: #fdf0f0; color: #8f3939; border-color: #d9b4b4; }

.bvi-fav-btn-details       { background: #577089; color: #fff; }
.bvi-fav-btn-details:hover { background: #455a70; color: #fff; }

.bvi-fav-btn-contact       { background: #dd6f46; color: #fff; }
.bvi-fav-btn-contact:hover { background: #c45c36; color: #fff; }

@media (max-width: 420px) {
	.bvi-fav-actions .bvi-fav-btn span { display: none; }
	.bvi-fav-actions .bvi-fav-btn      { padding: 6px 10px; }
}

@media (min-width: 768px) {
	.bvi-fav-card  { grid-template-columns: 200px 1fr; gap: 18px; padding: 16px; }
	.bvi-fav-title { font-size: 1.1rem; }
	.bvi-fav-meta  { font-size: 0.95rem; }
	.bvi-fav-specs { font-size: 0.88rem; gap: 16px; }
	.bvi-fav-btn   { font-size: 0.85rem; padding: 7px 14px; }
}

/* Optimistic-removal fade */
.bvi-fav-card.bvi-fav-removing {
	opacity: 0.35;
	pointer-events: none;
	transition: opacity 0.25s ease;
}

/* Empty state shown when all cards are removed */
.bvi-fav-empty {
	margin: 32px 0;
	padding: 24px;
	text-align: center;
	color: #777;
	font-style: italic;
	background: #fafafa;
	border: 1px dashed #ddd;
	border-radius: 6px;
}

/* Undo toast */
.bvi-fav-toast {
	position: fixed;
	bottom: 24px;
	right: 24px;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 12px 16px 12px 18px;
	background: #2b2b2b;
	color: #fff;
	border-radius: 6px;
	box-shadow: 0 6px 22px rgba(0, 0, 0, 0.22);
	font-size: 0.9rem;
	transform: translateY(20px);
	opacity: 0;
	transition: transform 0.25s ease, opacity 0.25s ease;
	z-index: 9999;
	max-width: calc(100vw - 32px);
}
.bvi-fav-toast.is-visible { transform: translateY(0); opacity: 1; }
.bvi-fav-toast-msg        { line-height: 1.3; }
.bvi-fav-toast-undo {
	background: transparent;
	border: none;
	color: #dd6f46;
	font-weight: 600;
	font-size: 0.9rem;
	padding: 4px 2px;
	cursor: pointer;
}
.bvi-fav-toast-undo:hover { text-decoration: underline; }

@media (max-width: 480px) {
	.bvi-fav-toast { left: 16px; right: 16px; bottom: 16px; justify-content: space-between; }
}

