@charset "UTF-8";
/*
	Theme Name: Restance
	Description: Restance is a simple, responsive, and elegant looking theme template for WordPress fullsite editing and fully compatible with Gutenverse plugin. Restance's templates is built with layout/design that suit for Real Estate sites and Furniture Design. The templates includes both core version and Gutenverse plugin version, also has core and Gutenverse block patterns ready so you can start mix and match your template parts as you desire. The templates is built ready so you don't need to build it from scratch. We want to make your experience using WordPress fullsite editor more convenient.
	Author: Jegstudio
	Author URI: https://gutenverse.com
  Theme URI: https://gutenverse.com/restance-theme
	Version: 1.0.9
	Stable tag: 1.0.9
	Requires at least: 5.9
	Tested up to: 6.1
	Requires PHP: 7.0
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: restance
	Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, full-site-editing, translation-ready, block-patterns, featured-images
*/
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* Sections ========================================================================== */
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}



/* Header Fonts ======================================================================= */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.2;
  color: inherit;
}

h1 {
  font-size: 2.5rem;
}

h2 {
  font-size: 2rem;
}

h3 {
  font-size: 1.75rem;
}

h4 {
  font-size: 1.5rem;
}

h5 {
  font-size: 1.25rem;
}

h6 {
  font-size: 1rem;
}

p {
  margin-top: 0;
  margin-bottom: 0;
}

/* Grouping content ========================================================================== */
hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace;
  font-size: 1em;
  white-space: pre-wrap;
}

/* Text-level semantics ========================================================================== */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content ========================================================================== */
img {
  border-style: none;
  height: auto;
  max-width: 100%;
}

figure {
  margin-inline-start: 0;
  margin-inline-end: 0;
}

/* Interactive ========================================================================== */
details {
  display: block;
}

summary {
  display: list-item;
}

figcaption {
  font-size: 16px;
  line-height: 1.4;
  font-style: italic;
  font-weight: 400;
}

.wp-site-blocks > * {
  margin-top: 0!important;

}
.wp-block-cover, .wp-block-cover-image {
	align-items: flex-start !important;
}

.comment-form-comment {
  margin-bottom: 0.9rem;
}

.wp-block-post-comments input[type=submit],
.wp-block-post-comments-form input[type=submit] {
  background-color: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--white);
  border-radius: 0px;
}

/* search filter style*/
.search-header {
    text-align: center;
    color: white;
    padding: 20px;
    background: none;
    position: relative;
}
.search-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
}
.search-header h1 {
    position: relative;
    z-index: 2;
    font-size: 2.5em;
    text-transform: uppercase;
}
.search-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    background: rgba(255, 255, 255, 0.8);
	margin-bottom:10px !important;
}
.facetwp-search {
    width: 100%; /* Full width search box */
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 5px;
    margin-bottom: 10px;
}
.facet-group {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    justify-content: space-between;
}
.facet-group .facetwp-facet {
    flex: 1 1 160px;
    margin: 0;
}
.facet-group label {
    display: block; /* Label above dropdown */
    color: #a7543e; /* Orange color */
    background: none; /* No background for labels */
    margin-bottom: 5px;
    font-weight: bold;
}
.facetwp-input-wrap {
width: 100%;
}

.facetwp-dropdown {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    appearance: none;
    
}
.listing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
    padding: 20px;
}
.property-card {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 5px;
    overflow: hidden;
}
.property-image img {
    width: 100%;
    height: auto;
    display: block;
}
.property-info {
    padding: 15px;
}
.property-info h3 {
    margin: 0 0 10px;
    font-size: 1.2em;
}
.property-info p {
    margin: 5px 0;
    color: #e67e22;
}

.facetwp-facet .facetwp-facet-label {
    display: none; 
}

.facetwp-checkbox {
	color: #787878 !important; 
}

.searchwp-results {
    display: block;
    
    padding: 20px;
}
.searchwp-result {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 5px;
    overflow: hidden;
}
.searchwp-result img {
    width: 100%;
    height: auto;
}
.searchwp-result h3 {
    color: #a7543e; /* Matches SearchWP template title color */
    font-size: 1.2em;
    margin: 10px;
}
.searchwp-result p {
    color: #e67e22;
    margin: 5px 10px;
}
.searchwp-result .searchwp-result-button {
    background: #a7543e;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    text-decoration: none;
    display: inline-block;
    margin: 10px;
}
.searchwp-pagination, .searchwp-load-more {
    text-align: center;
    margin: 20px 0;
}
.searchwp-load-more button {
    background: #a7543e;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
}
.search_results {
    overflow: hidden;
	padding:10px 20px;
	border-bottom: 1px solid #ccc;
}
.facetwp-template {
position: relative;
margin-top: 30px !important;
}
.fwpl-layout {
	background: #fff;
    border: 1px solid #ddd;
    border-radius: 5px;
	color:#787878;
	
}

/* search filter style*/

/* search results page styles*/
.search-results-grid {
  padding: 40px 0;
}

.property-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 25px;
}

.property-card {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  transition: transform 0.2s ease;
}

.property-card:hover {
  transform: translateY(-5px);
}

.property-thumb img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.property-details {
  padding: 15px;
}

.property-details h3 {
  margin: 0 0 10px;
  font-size: 1.1rem;
  color: #333;
}

.property-details p {
  color: #666;
  font-size: 0.9rem;
}


/* search results page styles*/

.property-results {
	margin: 20px;
}

.property-card:hover { transform: scale(1.02); }
.property-card img { transition: transform 0.4s ease; }
.property-card:hover img { transform: scale(1.08); }
.property-details a { transition: background 0.3s; }
.property-details a:hover { background: none; }

.property-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 25px;
    justify-content: center;      /* centers 1 item or leftover items */
    max-width: 1200px;            /* keeps grid nicely centered */
    margin: 0 auto;               /* centers the whole grid */
}

/* Property Card */
.property-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    transition: transform 0.2s ease;
}

.property-card:hover {
    transform: translateY(-5px);
}

/* Property Link */
.property-link {
    color: inherit;
    text-decoration: none;
    display: block;
}

/* Image */
.property-image img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}

/* Property Details */
.property-details {
    padding: 15px;
}

/* Title */
.property-title {
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 600;
}

/* Price */
.property-price {
    font-size: 16px;
    font-weight: bold;
    color: #0b5394;
    margin-bottom: 10px;
}

/* Meta (Beds / Baths) */
.property-meta {
    color: #444;
    margin-bottom: 14px;
    font-size: 14px;
}

/* Email Agent */
.property-email {
    background: #0077cc;
    color: #fff;
    padding: 8px 14px;
    border-radius: 6px;
    display: inline-block;
    text-decoration: none;
    font-size: 14px;
}

.epl-single-modern {
    max-width: 1100px;
    margin: auto;
    padding: 20px;
}

.property-header {
    text-align: center;
    margin-bottom: 25px;
}

.property-title {
    font-size: 36px;
    font-weight: 700;
}

.property-price {
    font-size: 28px;
    margin: 10px 0;
}

.property-gallery-wrapper img {
    width: 100%;
    border-radius: 8px;
    margin-bottom: 30px;
}

.property-section {
    margin-bottom: 40px;
}

.section-title {
    font-size: 26px;
    margin-bottom: 15px;
    font-weight: 600;
    border-bottom: 2px solid #ececec;
    padding-bottom: 5px;
}

/* === Two-column layout for property pages === */
.entry-content.epl-content {
    display: grid;
    grid-template-columns: 1fr 320px;
    grid-gap: 24px;
    align-items: start;
}

/* ensure featured image and tab wrapper occupy left column */
.entry-content.epl-content > .epl-tab-wrapper,
.entry-content.epl-content > .epl-property-featured-image,
.entry-content.epl-content > .property-gallery-wrapper,
.entry-content.epl-content > .property-gallery,
.entry-content.epl-content > .epl-tab-wrapper + .custom-floorplan-section {
    grid-column: 1;
}

/* sidebar placed in right column */
.entry-content.epl-content > #custom-sticky-sidebar,
.entry-content.epl-content > .custom-sticky-sidebar {
    grid-column: 2;
}

/* Price top styling */
.custom-price-top-wrapper { margin-bottom: 10px; }
.custom-price-top { font-size: 30px; font-weight: 700; color: #1d4f91; margin-bottom: 8px; }

/* Sticky sidebar box */
.custom-sticky-sidebar .cs-inner {
    position: sticky;
    top: 120px;
    background: #ffffff;
    border: 1px solid #e6e6e6;
    padding: 18px;
    border-radius: 8px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.04);
}

/* Agent box */
.cs-agent-box .cs-title { font-size: 18px; margin-bottom: 8px; }
.cs-agent-box p { margin: 6px 0; }

/* Quick meta styling */
.cs-meta-list { list-style: none; margin: 8px 0 0; padding: 0; }
.cs-meta-item { margin: 6px 0; font-weight:600; }

/* Contact button */
.cs-contact-btn {
    display: inline-block;
    background: #1d4f91;
    color: #fff;
    padding: 10px 14px;
    border-radius: 6px;
    text-decoration: none;
    margin-top: 12px;
}

/* Floorplan styling */
.custom-floorplan-section { margin-top: 18px; }
.custom-floorplan-section img { max-width: 100%; border-radius: 8px; }

/* Make gallery images large and clean */
.property-gallery-wrapper img,
.epl-property-featured-image img,
.entry-content img { width:100%; height:auto; border-radius:8px; display:block; }

/* If small screens, stack columns */
@media (max-width: 980px) {
    .entry-content.epl-content {
        grid-template-columns: 1fr;
    }
    .entry-content.epl-content > #custom-sticky-sidebar,
    .entry-content.epl-content > .custom-sticky-sidebar { grid-column: 1; position: relative; top: auto; }
    .custom-sticky-sidebar .cs-inner { position: relative; top: 0; }
}

/* Minor spacing and typography */
.property-header .entry-title, .property-header .property-price { text-align: left; }
.restance-epl-single-wrapper.container { max-width: 1200px; margin: 0 auto; padding: 20px; }	
.single-property .site-content {
	padding:30px !important;
}

.wp-container-core-group-is-layout-754558c6 > .alignwide {
max-width: none Iimportant;
}
.taxonomy-category {display:none;}

/* ===== TWO COLUMN PROPERTY PAGE ===== */
.epl-two-column {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 40px;
	align-items: start;
}

.epl-left-col {
	grid-column: 1;
}

.epl-right-col {
	grid-column: 2;
	position: sticky;
	top: 120px;
}

/* Card styling */
.epl-tab-section {
	background: #f7f9fc;
	padding: 24px;
	border-radius: 10px;
	margin-bottom: 30px;
}

.epl-tab-title {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 15px;
}

/* Agent box styling */
.epl-right-col .epl-author-box,
.epl-right-col .epl-author {
	background: #ffffff;
	border: 1px solid #e6e6e6;
	padding: 20px;
	border-radius: 10px;
	box-shadow: 0 6px 18px rgba(0,0,0,0.05);
}

/* Mobile */
@media (max-width: 992px) {
	.epl-two-column {
		grid-template-columns: 1fr;
	}
	.epl-right-col {
		position: relative;
		top: auto;
	}
}
.epl-author-box-outer-wrapper {
background: #ffffff;
    border: 1px solid #e6e6e6;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
}
.epl-right-col .epl-author-box, .epl-right-col .epl-author {
background: none;
    border: none;
    padding: none;
    border-radius: none;
    box-shadow: none;
}

#wpforms-3946 .wpforms-submit {
    background-color: #0a6cff;
    color: #ffffff;
    font-weight: 600;
    border-radius: 6px;
    transition: background-color 0.2s ease;
}

#wpforms-3946 .wpforms-submit:hover {
    background-color: #084fb3;
}
@media (max-width: 768px) {
  #wpforms-3946 {
    --wpforms-container-padding: 20px;
    --wpforms-button-size-height: 44px;
  }
}
.wp-container-core-group-is-layout-754558c6 > .alignwide {
	max-width:100% !important;
}
.wp-core-ui div.wpforms-container .wpforms-field-row.wpforms-field-medium {
max-width:100% !important;
}

.property-container {
    display: flex;
    gap: 30px;
    margin-top: 60px;
}

.property-left {
    flex: 2;
}

.property-right {
    flex: 1;
    position: sticky;
    top: 100px;
    height: fit-content;
}

.property-box {
    background: #ffffff;
    padding: 35px;
    margin-bottom: 30px;
    border-radius: 18px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
}

.property-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0,0,0,0.12);
}

.property-box h2 {
    font-size: 22px;
    margin-bottom: 20px;
    border-left: 4px solid #002e46;
    padding-left: 12px;
}

/* Responsive */
@media(max-width: 991px){
    .property-container {
        flex-direction: column;
    }
    .property-right {
        position: relative;
        top: 0;
    }
}

/* ================= CONTACT BOX ================= */

.property-box.contact-box {
    padding: 40px 35px;
}

/* Remove excessive gaps */
.property-box.contact-box .wpforms-container .wpforms-field {
    margin-bottom: 0 !important;
}

/* Modern Input Style */
.property-box.contact-box input,
.property-box.contact-box textarea,
.property-box.contact-box select {
    width: 100%;
    padding: 14px 16px;
    border-radius: 10px;
    border: 1px solid #e5e5e5;
    background: #f9f9f9;
    font-size: 15px;
    transition: all 0.3s ease;
}

/* Focus effect */
.property-box.contact-box input:focus,
.property-box.contact-box textarea:focus,
.property-box.contact-box select:focus {
    border-color: #d4af37;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(212,175,55,0.15);
    outline: none;
}

/* Labels */
.property-box.contact-box label {
    font-weight: 500;
    margin-bottom: 6px !important;
    display: block;
}

/* Remove unnecessary spacing from container */
.property-box.contact-box .wpforms-container {
    margin-bottom: 0 !important;
}

/* Submit Button */
.property-box.contact-box button,
.property-box.contact-box .wpforms-submit {
    width: 100%;
    background: #d4af37;
    color: #fff;
    border: none;
    padding: 14px;
    font-size: 16px;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.property-box.contact-box button:hover,
.property-box.contact-box .wpforms-submit:hover {
    background: #b9972e;
    transform: translateY(-2px);
}

.wp-block-spacer {
	height: 0 !important;
}

.wpforms-container input.wpforms-field-medium, .wpforms-container select.wpforms-field-medium, .wpforms-container .wpforms-field-row.wpforms-field-medium, .wp-core-ui div.wpforms-container input.wpforms-field-medium, .wp-core-ui div.wpforms-container select.wpforms-field-medium, .wp-core-ui div.wpforms-container .wpforms-field-row.wpforms-field-medium {
max-width:100% !important;
}

.no-results {
    grid-column: 1 / -1;
    background: #ffffff;
    padding: 20px 20px;
    border-radius: 14px;
    text-align: center;
    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
    margin-top: 10px;
}
.no-results h3 {
    font-size: 22px;
    margin-bottom: 10px;
    color: #222;
	text-align:center;
}

.location-search-form {
    max-width: 900px;
    margin: auto;
}

.location-search-input {
    width: 100%;
    height: 56px;
    border-radius: 30px;
    border: 1px solid #ddd;
    padding: 0 20px;
    font-size: 18px;
}

.search-input-wrapper{
position:relative;
max-width:900px;
margin:auto;
}

.location-search-input{
width:100%;
height:56px;
border-radius:30px;
border:1px solid #ddd;
padding:0 50px 0 20px;
font-size:18px;
}

.search-icon{
position:absolute;
right:18px;
top:50%;
transform:translateY(-50%);
font-size:20px;
color:#666;
pointer-events:none;
}

/* autocomplete dropdown */
.ui-autocomplete{
background:#fff;
border-radius:12px;
box-shadow:0 10px 30px rgba(0,0,0,0.15);
padding:8px 10px;
max-height:350px;
overflow-y:auto;
border:none;
}

/* Group header (City / Region) */
.autocomplete-group{
font-size:13px;
font-weight:600;
color:#777;
padding:10px 20px 10px 20px;
text-transform:uppercase;
}
.ui-menu-item{
padding:0;
}

.autocomplete-row{
display:flex;
align-items:center;
gap:12px;
padding:12px 20px;
font-size:16px;
}

.ui-menu-item:hover .autocomplete-row{
background:#f2f2f2;
}

/* icon */
.autocomplete-icon{
display:flex;
align-items:center;
}

/* text */
.autocomplete-text{
color:#333;
}

.facetwp-pager {
	text-align: right;
    padding: 0 40px 0 20px;
}

.facetwp-pager a { 
	text-decoration: none;
}
.facetwp-page.active {
	text-decoration: underline;
}