
/* =================================================================
   Featured Properties (Flexbox)
   ================================================================= */

.featured-wrapper {
    width: 100%;
    padding-right: var(--bs-gutter-x, 0.75rem); /* Default Bootstrap padding */
    padding-left: var(--bs-gutter-x, 0.75rem);  /* Default Bootstrap padding */
    margin-right: auto;
    margin-left: auto;
}

/* Replaces .row and manages padding for the slider items */
.featured-slider-row {
    margin-right: -15px; /* Adjusting for the item padding */
    margin-left: -15px;  /* Adjusting for the item padding */
}

/* Replaces .col-sm-4 p-3. This controls the spacing around each slider item. */
/* Slick creates the width, we add padding to create the gutter. */
.slider-item-padding {
    padding: 15px; /* Replaces p-3 (1rem or 16px) */
    box-sizing: border-box;
}


/* ----------------------------------------------------------------
   Inner Layouts (Price and Status)
   ---------------------------------------------------------------- */

.featured-property-details .featured-details-header-flex {
    display: flex;
    justify-content: space-between; /* Space them out */
    align-items: flex-start;
}

/* Replaces .col-6 for Price */
.featured-details-price-column {
    /* Allow it to grow a little, but status remains fixed width */
    flex-grow: 1; 
    padding-right: 10px; /* Space between price and status */
}

/* Replaces .col-6 for Status */
.featured-details-status-column {
    flex-shrink: 0; /* Prevents it from shrinking */
    text-align: right;
}

/* Replaces .row and .col-12 for address */
.featured-details-address-row {
    width: 100%; /* Ensure it spans full width */
    margin-top: 5px; /* Simple vertical separation */
}

.featured-property-container {
	
	opacity: 1;
	position:relative;
   transition: opacity .25s ease-in-out;
   -moz-transition: opacity .25s ease-in-out;
   -webkit-transition: opacity .25s ease-in-out;

}

.featured-property-container:hover {
	
	opacity: 0.6;
   
}


.featured-price-label { 

	font-size:0.75rem;
	color:#666666;
	letter-spacing: 5px;

}

.featured-price { 

	font-size:1.5rem;
	color:#000;
	font-weight:500;
	margin:2px 0 5px 0;

}

.featured-address {
	
	font-size:0.9rem;
	color:#666666;
	font-weight:300;
	
}

.featured-property-details {
	
	background:#FFF;
   	padding:20px;
   -webkit-border-bottom-right-radius: 15px;
	-webkit-border-bottom-left-radius: 15px;
	-moz-border-radius-bottomright: 15px;
	-moz-border-radius-bottomleft: 15px;
	border-bottom-right-radius: 15px;
	border-bottom-left-radius: 15px;
   
}


.featured-status-label-available, .featured-status-label-unavailable, .featured-status-label-new-valuation {
	
	float:right;
	padding:8px 20px;
	border-radius:10px;
	font-size:0.9rem;
	color:#FFF;
	text-transform:uppercase;
	
}

.featured-status-label-available {
	
	background-color: #333;
	
}

.featured-status-label-unavailable {
	
	background-color: #BB1C1C;
	
}

.featured-status-label-new-valuation {
	
	background-color: #E78F30;
	
}
	
img.featured-property-image, .image-coming-soon {
	
	height:200px;
	width:100%;
	-webkit-border-top-left-radius: 15px;
	-webkit-border-top-right-radius: 15px;
	-moz-border-radius-topleft: 15px;
	-moz-border-radius-topright: 15px;
	border-top-left-radius: 15px;
	border-top-right-radius: 15px;
	
}


.prev, .next {
	
	font-size:55px;
	cursor:pointer;
	
}

.next i, .prev i {
	
	color:#000;
	opacity:0.1;
	
}

.prev i:hover, .next i:hover {
	
	opacity:0.15;
	
}

/* ----------------------------------------------------------------
   Navigation Row
   ---------------------------------------------------------------- */

/* Replaces .row for navigation */
.featured-nav-row {
    width: 100%;
    margin-top: 15px; /* Spacing below the slider */
}

/* Replaces .col-12 text-center for alignment */
.featured-nav-center {
    width: 100%;
    text-align: center;
}

/* ----------------------------------------------------------------
   Property Results Grid
   ----------------------------------------------------------------- */

/* Container and Grid Setup */
.flex-container {

    padding-left: 20px;
    padding-right: 20px;
    margin: 0 auto;
	max-width:1520px;

}

.property-grid {
    
	display: flex;
    flex-wrap: wrap; /* Allows items to wrap to the next line */
    /* To offset the padding on the grid items, simulating Bootstrap's negative margin row */
    margin-left: -15px;
    margin-right: -15px;
}

/* Property Grid Item - Column Sizing */
.property-grid-item {
    /* Equivalent to the original p-3 (padding: 1rem) */
    padding: 15px;
    box-sizing: border-box; /* Ensures padding is included in the item's total width */
    /* Default: Equivalent to col-sm-12 (100% width for small screens and up) */
    width: 100%; 
}




/* Inner Detail Layout (Equivalent to nested Bootstrap rows/cols) */

/* The header: address on left, price on right */
.grid-property-details-header {
    display: flex;
    justify-content: space-between; /* Pushes address left, price right */
    align-items: flex-start;
    margin-bottom: 0px; /* Spacing between header and type line */
}

.grid-result-address-wrap {
    /* Allows address to grow, but ensures price doesn't wrap prematurely */
    flex-grow: 1;
    min-width: 0; /* Important for flex-grow to work correctly with long text */
}

.grid-result-price-wrap {
    /* Simulates text-sm-end (price aligned right) */
    text-align: right; 
    flex-shrink: 0; /* Prevents price from shrinking */
    margin-left: 10px; /* Space between address and price */
}

.grid-rent-frequency {
    font-size: 70%; /* Equivalent to inline style */
}

/* The type/icon line */
.grid-property-details-type {
    /* No flex needed here, but kept as a wrapper */
    margin-top: 10px; /* Equivalent to mt-2 */
}

.property-icon {
    margin-right: 5px; /* Equivalent to me-2 */
}

.property-icon.ml-1 {
    margin-left: 10px; /* Equivalent to ms-3 */
}


/* Pagination (Equivalent to justify-content-end) */
.pagination.flex-justify-end {
    display: flex;
    justify-content: flex-end;
}

/* --- Pagination Styles --- */

/* 1. Base Container and Alignment */
.pagination {
    display: flex;
    padding-left: 0;
    list-style: none;
    border-radius: 0.25rem; /* Optional: Slight rounding */
    margin-top: 2rem; /* Replaces Bootstrap's mt-4 */
}

/* Align to the right (flex-justify-end class) */
.flex-justify-end {
    justify-content: flex-end;
}

/* 2. Page Item (The <li>) */
.page-item {
    margin: 0 2px;
}

/* 3. Page Link (The <a>) */
.page-link {
    /* Basic Layout */
    position: relative;
    display: block;
    padding: 0.5rem 0.75rem;
    line-height: 1.25;
    
    /* Typography and Color */
    color: #007bff; /* Primary link color */
    background-color: #fff;
    text-decoration: none;
    font-weight: 500;

    /* Border and Shape */
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    transition: all 0.2s ease-in-out; /* Smooth transition for hover/active */
}

/* Adjust radius for 'Previous' and 'Next' if desired */
.page-item:first-child .page-link,
.page-item:last-child .page-link {
    border-radius: 0.25rem;
}


/* 4. Hover State */
.page-link:hover {
    z-index: 2;
    color: #0056b3;
    background-color: #e9ecef;
    border-color: #dee2e6;
    transform: translateY(-1px); /* Subtle lift on hover */
}

/* 5. Active/Current Page State */
.page-item.active .page-link {
    z-index: 3;
    color: #fff;
    background-color: #007bff; /* Highlight color */
    border-color: #007bff;
    pointer-events: none; /* Make it non-clickable */
    font-weight: 700;
}

/* 6. Disabled State (for 'Previous' button on page 1) */
.page-item.disabled .page-link,
.page-link[aria-disabled="true"] {
    color: #6c757d;
    pointer-events: none;
    background-color: #fff;
    border-color: #dee2e6;
    opacity: 0.7;
}

/* 7. Empty Results Message */
.pb-4 {
    padding-bottom: 1.5rem !important; /* Replaces Bootstrap's pb-4 */
}

/* Copied over styles */

#search-results-container, #particulars-container {
	
	background: var(--e-global-color-c4946b0);
	padding:0 0 40px 0;

}

#search-results a {
	
	text-decoration:none;
	
}

.grid-property-container {
	
	opacity: 1;
	position:relative;
   transition: opacity .25s ease-in-out;
   -moz-transition: opacity .25s ease-in-out;
   -webkit-transition: opacity .25s ease-in-out;

}

.grid-property-container:hover {
	
	opacity: 0.6;
   
}

.status-label {
	
	background:var( --e-global-color-e58a26a );
	
}

.status-label-under-offer {
	
	background:var( --e-global-color-9c435f3 );
	
	
}

img.grid-property-image, .image-coming-soon {
	
	width:100%;
	display:block;
	height:200px;
	-webkit-border-top-left-radius: 15px;
	-webkit-border-top-right-radius: 15px;
	-moz-border-radius-topleft: 15px;
	-moz-border-radius-topright: 15px;
	border-top-left-radius: 15px;
	border-top-right-radius: 15px;
	
}

.image-coming-soon {
	
	background:#CCC;
	text-align:center;
	
}

.grid-property-details {
	
   padding:20px;
   background:var( --e-global-color-df232bc );
   -webkit-border-bottom-right-radius: 15px;
	-webkit-border-bottom-left-radius: 15px;
	-moz-border-radius-bottomright: 15px;
	-moz-border-radius-bottomleft: 15px;
	border-bottom-right-radius: 15px;
	border-bottom-left-radius: 15px;
   
}

.grid-result-address {
	
	font-size:0.9rem;
	color:var( --e-global-color-3aa1982 );
	font-weight:300;
	
}

.grid-result-price {

	font-size:1.2rem;
	color:var( --e-global-color-3aa1982 );
	font-weight:500;
	margin:0px 0 5px 0;

}

.grid-result-type i {
	
color:var(--e-global-color-accent);
	
}

.grid-result-type {
	
	font-size:0.9rem;
	text-decoration:none;
	/*color:#333;*/
	color:#FFF;
	
}

.page-item .page-link {
	
	color:#333;
	
}

.page-item.active .page-link {
 
  /*background-color: #000;
  border-color: #000;*/
  background-color:var(--e-global-color-accent);
  border-color:var(--e-global-color-accent);
 
}



/* ------------------------------------------------------
   Responsive 
   -------------------------------------------------------*/

@media (min-width: 400px) {
		
img.featured-property-image, img.grid-property-image, .image-coming-soon {
	
	height:260px;
	
}	
	
}

@media (min-width: 500px) {

img.featured-property-image, img.grid-property-image, .image-coming-soon {
	
	height:320px;
	
}
		
}

@media (min-width: 768px) {

.property-grid-item {
        width: 50%; /* 2 items per row */
    }

img.featured-property-image, img.grid-property-image, .image-coming-soon {
	
	height:220px;
	
}

}

@media (min-width: 991px) {

img.featured-property-image, img.grid-property-image, .image-coming-soon {
	
	height:300px;
	
}

}		

@media (min-width: 1200px) {

.prev {left:30px;color:#fff;}
.next {right:30px;color:#fff;}
.prev:hover, .next:hover {color:#ccc;}

.property-grid-item {
        width: 33.3333%; /* 3 items per row */
}

img.featured-property-image, img.grid-property-image, .image-coming-soon {
	
	height:230px;
	
}

}

@media (min-width: 1400px) {
	
img.featured-property-image, img.grid-property-image, .image-coming-soon {
	
	width:100%;
	height:290px;
	
}

}