/* Font */
@import url('https://fonts.googleapis.com/css?family=Open+Sans');

* {
    font-family: 'Open Sans', sans-serif;
}

body {
    min-width: 329px;
    width: 100%;
    opacity: 0;
    transition: opacity 0.4s;
    -webkit-transition: opacity 0.4s;
    /* Safari */
}

.project-download-title {
    font-size: 20px;
    margin-top: 14px;
    text-transform: initial;
    text-align: center;
}

.project-download {
    height: 230px;
}

/* Gallery */
.thumbnail {
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
    border: 0px solid #FFF;
}

.thumbnail img {
    opacity: .75;
}

.thumbnail img:hover {
    opacity: 1;
}

.gallery {
    color: #fff;
}

.list-flex-none {
    display: inline-block !important;
}

/* Global */
.breadcrumb {
    margin-bottom: 0px;
}

.breadcrumb-row {
    margin: 10px 0;
}

.respond {
    width: 100%;
}

.list-style-none {
    list-style-type: none;
    padding-left: 0;
}

.btn-custom {
    color: #fff;
    background-color: #c1272c;
    border-color: #66191b;
}

.btn-custom:hover,
.btn-custom:active,
.btn-custom:focus {
    color: #fff;
    background-color: #891b1f;
    border-color: #66191b;
}

h1 {
    color: #c1272c;
    text-transform: uppercase;
    font-family: 'Open Sans', sans-serif;
    font-weight: bold;
    margin-top: 0;
}

h2 {
    text-transform: uppercase;
    font-family: 'Open Sans', sans-serif;
    font-weight: bold;
    margin-top: 0;
}

.img-center {
    margin: 0 auto;
}

.white {
    color: #fff;
    text-decoration: none;
}

.white:link,
.white:hover {
    text-decoration: none;
}

.red-background {
    background-color: #8f2024;
    padding: 50px 15px !important;
}

.red-background-triangle {
    background-color: #8f2024;
    padding: 50px 30px !important;
    position: relative;
    margin-bottom: 75px !important;
}

.red-background-triangle:after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -75px;
    width: 0;
    height: 0;
    border-top: solid 75px #8f2024;
    border-left: solid 75px transparent;
    border-right: solid 75px transparent;
}

.red-videobackground-triangle {
    background-color: #8f2024;
    padding: 50px 0px !important;
    position: relative;
    margin-bottom: 75px !important;
}

.red-videobackground-triangle:after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -75px;
    width: 0;
    height: 0;
    border-top: solid 75px #8f2024;
    border-left: solid 75px transparent;
    border-right: solid 75px transparent;
}

.container-full {
    padding: 0 0 !important;
}

.divider30 {
    margin: 30px;
}

.content-row {
    margin: 10px 0;
    padding: 10px;
}

/*.container-full {*/
/*margin: 0 auto;*/
/*width: 100%;*/
/*}*/

/*.container-fluid {*/
/*padding-left: 30px;*/
/*padding-right: 30px;*/
/*}*/

.center {
    text-align: center;
}

.center>* {
    margin: 0 auto;
}

ul.list-unstyled {
    display: flex;
}

/*  Navigation */
.navbar-header {
    min-height: 165px;
}

.navbar-toggle>.icon-bar {
    background-color: #c1272c;
    width: 36px;
    height: 3px;
    margin-bottom: 6px;
}

.rotate-bars {
    transition: 0.3s ease-in-out;
}

.navbar-toggle>.rotate-bars {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}

.navbar-toggle.collapsed>.rotate-bars {
    -webkit-transform: rotate(0deg) !important;
    -moz-transform: rotate(0deg) !important;
    -o-transform: rotate(0deg) !important;
    -ms-transform: rotate(0deg) !important;
    transform: rotate(0deg) !important;
}

.nav-bar-top {
    margin: 10px 0;
    border-bottom: 1px solid #000;
}

.nav-bar-top a {
    color: #000;
}

.nav-icons {
    margin-right: 5px;
}

/* Medium Devices, Desktops */
@media only screen and (min-width: 992px) {
    .nav-icons {
        border-right: 1px solid #000;
    }
}

.nav-icons>a>i,
.nav-icons>a>svg {
    color: #c1272c;
}

.nav-icons-about>a>i,
.nav-icons-about>a>svg {
    color: #c1272c;
}

.cmplogo {
    max-width: 190px;
    margin-top: 10px;
}

.footer-icons>a>i,
.footer-icons>a>svg {
    color: #ffffff;
    font-size: 30px !important;
}

.social-nav-icons {
    padding-right: 5px;
}

.social-nav-icons>a>i,
.social-nav-icons>a>svg {
    font-size: 25px;
    transition: 0.6s;
    transform-style: preserve-3d;
    perspective: 40px;
}

.social-nav-icons>a>i:hover,
.social-nav-icons>a>svg:hover {
    transform: rotateY(180deg);
    -webkit-transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    transition: all 500ms ease;
}

/* =====================================================
   Mobile top bar fix: email / socials / phone
   ===================================================== */

.nav-bar-top {
    margin: 10px 0;
    border-bottom: 1px solid #000;
}

.nav-bar-top .row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.nav-bar-top a {
    color: #000;
}

.social-nav-icons,
.social-nav {
    white-space: nowrap;
}

/* Desktop/tablet tidy up */
@media (min-width: 768px) {
    .nav-bar-top .col-md-4:first-child {
        text-align: left;
    }

    .nav-bar-top .social-nav-icons {
        text-align: right;
    }

    .nav-bar-top .social-nav {
        text-align: left;
    }
}

/* Mobile: stack and centre everything neatly */
@media (max-width: 767px) {
    .nav-bar-top {
        margin: 8px 0 12px;
        padding-bottom: 10px;
        text-align: center;
    }

    .nav-bar-top .row {
        display: block;
    }

    .nav-bar-top [class*="col-"] {
        width: 100% !important;
        float: none !important;
        left: auto !important;
        right: auto !important;
        margin: 0 !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        text-align: center !important;
    }

    .nav-bar-top .social-nav-icons {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 12px;
        margin: 2px 0;
        padding: 0 !important;
        border-right: 0 !important;
    }

    .nav-bar-top .social-nav-icons>a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
    }

    .nav-bar-top .social-nav-icons>a>i,
    .nav-bar-top .social-nav-icons>a>svg {
        font-size: 22px;
        width: 22px;
        height: 22px;
    }

    .nav-bar-top .social-nav {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 6px;
        margin-top: 6px;
        padding: 0 !important;
        text-align: center !important;
    }

    .nav-bar-top i.fa-envelope,
    .nav-bar-top i.fa-phone {
        color: #c1272c;
        margin-right: 5px;
    }
}

.nav-horizontal-line {
    font-size: 20px;
}

.social-nav>a {
    padding: 0 5px;
}

.social-nav-icons>a {
    padding: 0 5px;
}

.social-nav-icons>a:hover>i.fa-facebook {
    color: #3B5998;
}

.social-nav-icons>a:hover>i.fa-twitter {
    color: #1da1f2;
}

.social-nav-icons>a:hover>i.fa-linkedin {
    color: #0077B5;
}

.social-nav-icons>a:hover>i.fa-google-plus {
    color: #d94338;
}

.social-nav-icons>a:hover>i.fa-youtube {
    color: #e52d27;
}

.social-nav-icons>a:hover>svg {
    color: #000;
}

.navbar-custom a {
    color: #000;
    font-weight: bold;
    border-bottom: 2px solid transparent;
    -webkit-transition: all 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    -ms-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out;
}

.nav>li.active>a {
    border-bottom: 2px solid #e52d27;
}

.navbar-custom a:focus,
.navbar-custom a:hover {
    background-color: initial !important;
}

.navbar-custom li:hover>a {
    border-bottom-color: #e52d27;
}

.navbar {
    min-height: 160px;
}

/* Carousel */
.carousel-custom {
    border-top: 5px solid rgba(99, 99, 99, 0.73);
}

/*.slider-item image {*/
/*background: none;*/
/*position: relative;*/
/*}*/

/*.slider-item:hover {*/
/*background: #fff;*/
/*}*/

/*.slider-item .overlay {*/
/*height: 100%;*/
/*width: 100%;*/
/*}*/
/*.slider-item .overlay .text{*/
/*position: absolute;*/
/*top: 40%;*/
/*text-align: center;*/
/*vertical-align: central;*/
/*background-color: #fff;*/
/*}*/

.table>tbody>tr>td,
.table>tbody>tr>th,
.table>tfoot>tr>td,
.table>tfoot>tr>th,
.table>thead>tr>td,
.table>thead>tr>th {
    padding: 8px;
    line-height: 1.42857143;
    vertical-align: top;
    border-top: 0px solid #ddd;
}

.slider-item image {
    position: relative;
    display: block;
    text-decoration: none;
    color: #fff;
    outline: 0;
}

/*.overlay a{*/
/*pointer-events: none;*/
/*cursor: default;*/
/*}*/

/*.slider-item:hover .overlay a >*/

/*.slider-item:active .overlay a {*/
/*pointer-events: initial;*/
/*cursor: initial;*/
/*}*/

.slider-item:hover .overlay {
    opacity: 1;
}

.slider-item .overlay {
    color: #000;
    text-underline: single;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.8);
    text-align: center;
    opacity: 0;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -ms-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.slider-item .overlay .text {
    position: absolute;
    right: 0;
    left: 0;
    top: 50%;
    transform: translateY(-50%);

}

.logo-container {
    padding: 80px 0;
    background-color: #e1e1e1;
}

/* Form */
.has-error .form-control {
    border-color: red;
}

.has-error .form-control:focus {
    border-color: red;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px red;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px red;
}

.error,
.success {
    display: none;
}

.error {
    color: red;
}

.success {
    color: green;
}

.contact-form-btn {
    float: right;
}

.contact-form-btn>button {
    margin-top: 10px;
    border: 1px solid #f0f0f0;
    border-radius: 0;
    border-bottom: 2px solid #8f2024;
    color: #000;
    text-decoration: none;
    text-transform: uppercase;
    padding: 15px 30px;
    background: transparent;

    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: box-shadow;
    transition-property: box-shadow;
}

.contact-form-btn>button:hover {
    cursor: pointer;
    background: #e1e1e1;
    text-decoration: none;
    color: #666;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: bold;
}

.contact-form-btn>button>i {
    color: #8f2024;
}

/* Footer */
.footer {
    color: #fff;
}

.footer h2 {
    color: #fff;
}

.contact-nav {
    color: #fff;
}

.contact-nav a {
    color: #fff;
}

/* Medium Devices, Desktops */
@media only screen and (max-width: 992px) {
    .footer-div {
        margin-bottom: 50px;
    }
}

.embed-responsive {
    position: relative;
    display: block;
    height: 0;
    padding: 0;
    overflow: hidden;
}

.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.embed-responsive-16by9 {
    padding-bottom: 56.25%;
}

.embed-responsive-4by3 {
    padding-bottom: 75%;
}

.investment-box-container {
    min-height: 300px;
}

@media only screen and (max-width: 767px) {
    .xs-float-clear {
        float: none !important;
    }

    .xs-text-center {
        text-align: center;
    }

    .xs-clear-border {
        border: 0px solid !important;
        margin-right: 0px !important;
    }

}

/* Header logo centre fix */
.ae-header-logo-wrap {
    text-align: center;
}

.ae-header-logo-link {
    display: inline-block;
}

.ae-header-logo {
    display: block;
    max-width: 170px;
    height: auto;
    margin: 0 auto;
}

@media (max-width: 650px) {
    .ae-header-logo {
        max-width: 150px;
    }

    .navbar {
        min-height: auto;
    }

    .navbar-header {
        min-height: auto;
    }
}

/* -----------------------
         Google Map
----------------------- */
.container-map {
    width: 100%;
    height: 400px;
}

#map-canvas {
    margin: 0;
    padding: 0;
    height: 100%;
    width: 100%;
}

.contact-investment {
    z-index: 1000;
    margin-bottom: 0px !important;
}

/* -----------------------
  Investment
----------------------- */

.modal-dialog {
    width: 600px;
}

.thumbnail {
    margin-bottom: 6px;
}

/* -----------------------
  Timeline
----------------------- */

/* Timeline */
.timeline,
.timeline-horizontal {
    list-style: none;
    padding: 20px;
    position: relative;
}

.timeline:before {
    top: 40px;
    bottom: 0;
    position: absolute;
    content: " ";
    width: 3px;
    background-color: #eeeeee;
    left: 50%;
    margin-left: -1.5px;
}

.timeline .timeline-item {
    margin-bottom: 20px;
    position: relative;
}

.timeline .timeline-item:before,
.timeline .timeline-item:after {
    content: "";
    display: table;
}

.timeline .timeline-item:after {
    clear: both;
}

.timeline .timeline-item .timeline-badge {
    color: #fff;
    width: 54px;
    height: 54px;
    line-height: 52px;
    font-size: 22px;
    text-align: center;
    position: absolute;
    top: 18px;
    left: 50%;
    margin-left: -25px;
    background-color: #7c7c7c;
    border: 3px solid #ffffff;
    z-index: 100;
    border-top-right-radius: 50%;
    border-top-left-radius: 50%;
    border-bottom-right-radius: 50%;
    border-bottom-left-radius: 50%;
}

.timeline .timeline-item .timeline-badge i,
.timeline .timeline-item .timeline-badge .fa,
.timeline .timeline-item .timeline-badge .glyphicon {
    top: 2px;
    left: 0px;
}

.timeline-panel {
    min-height: 181px;
}

.timeline .timeline-item .timeline-badge.primary {
    background-color: #1f9eba;
}

.timeline .timeline-item .timeline-badge.info {
    background-color: #5bc0de;
}

.timeline .timeline-item .timeline-badge.success {
    background-color: #59ba1f;
}

.timeline .timeline-item .timeline-badge.sold {
    background-color: #59ba1f !important;
}

.timeline .timeline-item .timeline-badge.warning {
    background-color: #d1bd10;
}

.timeline .timeline-item .timeline-badge.danger {
    background-color: #ba1f1f;
}

.timeline .timeline-item .timeline-panel {
    position: relative;
    width: 46%;
    float: left;
    right: 16px;
    border: 1px solid #c0c0c0;
    background: #ffffff;
    border-radius: 2px;
    padding: 20px;
    -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
}

.timeline .timeline-item .timeline-panel:before {
    position: absolute;
    top: 26px;
    right: -16px;
    display: inline-block;
    border-top: 16px solid transparent;
    border-left: 16px solid #c0c0c0;
    border-right: 0 solid #c0c0c0;
    border-bottom: 16px solid transparent;
    content: " ";
}

.timeline-title {
    color: #000 !important;
}

.timeline .timeline-item .timeline-panel .timeline-title {
    margin-top: 0;
    color: inherit;
}

.timeline .timeline-item .timeline-panel .timeline-body>p,
.timeline .timeline-item .timeline-panel .timeline-body>ul {
    margin-bottom: 0;
}

.timeline .timeline-item .timeline-panel .timeline-body>p+p {
    margin-top: 5px;
}

.timeline .timeline-item:last-child:nth-child(even) {
    float: right;
}

.timeline .timeline-item:nth-child(even) .timeline-panel {
    float: right;
    left: 16px;
}

.timeline .timeline-item:nth-child(even) .timeline-panel:before {
    border-left-width: 0;
    border-right-width: 14px;
    left: -14px;
    right: auto;
}

.timeline-horizontal {
    list-style: none;
    position: relative;
    padding: 20px 0px 20px 0px;
    display: inline-block;
}

.timeline-horizontal:before {
    height: 3px;
    top: auto;
    bottom: 26px;
    left: 56px;
    right: 0;
    width: 95%;
    margin-bottom: 20px;
}

.white a {
    text-decoration-color: #fff;
}

.timeline-body {
    color: #000;
}

.timeline-horizontal .timeline-item {
    display: table-cell;
    height: 280px;
    width: 20%;
    min-width: 220px;
    float: none !important;
    padding-left: 0px;
    padding-right: 20px;
    margin: 0 auto;
    vertical-align: bottom;
}

.timeline-horizontal .timeline-item .timeline-panel {
    top: auto;
    bottom: 64px;
    display: inline-block;
    float: none !important;
    left: 0 !important;
    right: 0 !important;
    width: 100%;
    margin-bottom: 20px;
}

.timeline-horizontal .timeline-item .timeline-panel:before {
    top: auto;
    bottom: -16px;
    left: 28px !important;
    right: auto;
    border-right: 16px solid transparent !important;
    border-top: 16px solid #c0c0c0 !important;
    border-bottom: 0 solid #c0c0c0 !important;
    border-left: 16px solid transparent !important;
}

.timeline-horizontal .timeline-item:before,
.timeline-horizontal .timeline-item:after {
    display: none;
}

.timeline-horizontal .timeline-item .timeline-badge {
    top: auto;
    bottom: 0px;
    left: 43px;
}

#mc_embed_signup {
    background: #fff;
    clear: left;
    font: 14px Helvetica, Arial, sans-serif;
}



/* Medium Devices, Desktops */
@media only screen and (max-width: 992px) {
    .sm-center {
        text-align: center;
    }
}

/* Medium Devices, Desktops */
@media only screen and (min-width: 992px) {
    .md-text-left {
        text-align: left;
    }

    .md-text-right {
        text-align: right;
    }
}

.no-padding-left {
    padding-left: 0px !important;
}

.no-padding-right {
    padding-right: 0px !important;
}

.investment-box-container>a {
    color: #fff !important;
}

.timeline-container-div {
    display: inline-block;
    width: 100%;
    overflow-y: auto;
}

.review-carousel {
    max-width: 800px;
    margin: 0 auto;
}

.carousel-inner>.item {
    text-align: center;
    padding: 40px 20px;
}

.review-stars {
    color: #f1c40f;
    margin-bottom: 15px;
    font-size: 18px;
}

.review-text {
    font-size: 15px;
    font-style: italic;
    color: #555;
    max-width: 700px;
    margin: 0 auto 20px;
    line-height: 1.6;
}

.reviewer-name {
    font-weight: 600;
    color: #333;
}

.carousel-indicators li {
    background-color: #c1272c;
    border: none;
}

.carousel-control.left,
.carousel-control.right {
    background-image: none;
    color: #c1272c;
    font-size: 30px;
}

.carousel-control.left:hover,
.carousel-control.right:hover {
    color: #a32025;
}

/* -----------------------
  Property Hive CSS
----------------------- */
/* =====================================================
   A&E Property Hive Single Property Page
   SpareRoom-style layout with sticky booking form
   ===================================================== */

.single-property .carousel-custom {
    display: none;
}

.ae-property-page {
    max-width: 1180px;
    margin: 0 auto;
    padding: 30px 20px 70px;
    color: #1f1f1f;
    scroll-behavior: smooth;
}

/* =====================================================
   Main two-column layout
   ===================================================== */

.ae-property-layout {
    display: grid;
    grid-template-columns: minmax(0, 760px) minmax(330px, 1fr);
    gap: 30px;
    align-items: start;
}

.ae-property-left-column {
    min-width: 0;
}

.ae-property-right-column {
    position: sticky;
    top: 24px;
    align-self: start;
}

/* =====================================================
   Gallery
   ===================================================== */

.ae-property-gallery-card {
    margin-bottom: 24px;
}

.ae-property-gallery {
    width: 100%;
    min-width: 0;
}

.ae-property-gallery .images,
.ae-property-gallery .property-images,
.ae-property-gallery .property-gallery,
.ae-property-gallery .gallery {
    width: 100%;
    margin: 0;
}

/* Reduce Property Hive / Flexslider default 60px margin */
.ae-property-gallery .flexslider,
.ae-property-gallery .woocommerce-product-gallery,
.ae-property-gallery .propertyhive-product-gallery {
    margin: 0 0 24px !important;
}

.ae-property-gallery img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
}

.ae-property-gallery .images>a:first-child img,
.ae-property-gallery .property-images>a:first-child img,
.ae-property-gallery .gallery>a:first-child img,
.ae-property-gallery .images img:first-child,
.ae-property-gallery .property-images img:first-child,
.ae-property-gallery .gallery img:first-child {
    width: 100%;
    height: 430px;
    object-fit: cover;
    display: block;
    border-radius: 12px;
}

.ae-property-gallery .flex-control-thumbs,
.ae-property-gallery ol.flex-control-thumbs,
.ae-property-gallery ul.flex-control-thumbs {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr);
    gap: 8px;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.ae-property-gallery .flex-control-thumbs li {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ae-property-gallery .flex-control-thumbs img {
    width: 100% !important;
    height: 72px !important;
    object-fit: cover;
    border-radius: 8px;
    opacity: 1 !important;
    cursor: pointer;
}

.ae-property-gallery ul,
.ae-property-gallery ol {
    padding-left: 0;
    list-style: none;
}

.ae-property-gallery li img {
    width: 100%;
    height: 72px;
    object-fit: cover;
}

/* =====================================================
   Content cards
   ===================================================== */

.ae-content-card,
.ae-booking-card {
    background: #ffffff;
    border: 1px solid #e1e1e1;
    border-radius: 16px;
    padding: 26px;
    margin-bottom: 24px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.ae-property-overview-card {
    padding: 26px;
}

.ae-content-card h1,
.ae-property-overview-card h1 {
    font-size: clamp(30px, 3.2vw, 42px);
    line-height: 1.12;
    margin: 0 0 16px;
    font-weight: 900;
    color: #111;
}

.ae-content-card h2 {
    margin: 0 0 18px;
    font-size: 26px;
    line-height: 1.2;
    font-weight: 900;
    color: #111;
}

.ae-content-card h3,
.ae-content-card h4 {
    margin: 24px 0 10px;
    font-weight: 900;
    color: #111;
}

.ae-content-card p {
    margin: 0 0 18px;
    font-size: 17px;
    line-height: 1.75;
    color: #333;
}

.ae-content-card ul {
    margin: 0 0 20px;
    padding-left: 0;
    list-style: none;
}

.ae-content-card li {
    position: relative;
    margin-bottom: 10px;
    padding: 12px 14px;
    background: #f7f7f7;
    border-radius: 10px;
    font-size: 16px;
    line-height: 1.45;
    font-weight: 650;
}

/* =====================================================
   Overview details with icons
   ===================================================== */

.ae-status-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.ae-status-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 6px 12px;
    background: #e8f8ed;
    color: #17783a;
    font-size: 13px;
    line-height: 1;
    font-weight: 800;
}

.ae-status-dark {
    background: #111;
    color: #fff;
}

.ae-price {
    margin-bottom: 22px;
}

.ae-price .price,
.ae-price .property-price,
.ae-price .amount,
.ae-price p,
.ae-price h2 {
    margin: 0;
    font-size: 34px;
    line-height: 1;
    font-weight: 900;
    color: #d71920;
}

.ae-overview-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}

.ae-detail-item {
    display: flex;
    align-items: center;
    gap: 11px;
    background: #f6f6f6;
    border-radius: 12px;
    padding: 13px 14px;
    min-width: 0;
}

.ae-detail-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    background: #ffffff;
    border: 1px solid #e4e4e4;
    border-radius: 50%;
    font-size: 18px;
    line-height: 1;
}

.ae-detail-text {
    min-width: 0;
}

.ae-detail-text span {
    display: block;
    margin-bottom: 3px;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    color: #666;
}

.ae-detail-text strong {
    display: block;
    font-size: 17px;
    line-height: 1.2;
    font-weight: 900;
    color: #111;
    overflow-wrap: anywhere;
}

.ae-hidden-meta-source {
    display: none;
}

/* =====================================================
   Sticky booking form
   ===================================================== */

.ae-booking-card {
    margin-bottom: 0;
}

.ae-booking-price {
    margin-bottom: 16px;
}

.ae-booking-price .price,
.ae-booking-price .property-price,
.ae-booking-price .amount,
.ae-booking-price p,
.ae-booking-price h2 {
    margin: 0;
    font-size: 32px;
    line-height: 1;
    font-weight: 900;
    color: #d71920;
}

.ae-booking-card h3 {
    margin: 0 0 8px;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 900;
    color: #111;
}

.ae-booking-card p {
    margin: 0 0 18px;
    font-size: 15px;
    line-height: 1.5;
    color: #555;
}

.ae-booking-card label {
    display: block;
    margin: 13px 0 6px;
    font-size: 14px;
    font-weight: 800;
    color: #444;
}

.ae-booking-card input,
.ae-booking-card textarea {
    width: 100%;
    max-width: 100%;
    border: 1px solid #cccccc;
    border-radius: 10px;
    padding: 12px 13px;
    font-size: 15px;
    color: #111;
    background: #fff;
    box-sizing: border-box;
}

.ae-booking-card input:focus,
.ae-booking-card textarea:focus {
    outline: none;
    border-color: #d71920;
    box-shadow: 0 0 0 3px rgba(215, 25, 32, 0.12);
}

.ae-booking-card textarea {
    min-height: 96px;
    resize: vertical;
}

.ae-booking-card button,
.ae-call-button {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 16px;
    padding: 14px 18px;
    border-radius: 10px;
    color: #fff !important;
    font-size: 16px;
    font-weight: 900;
    cursor: pointer;
    text-decoration: none !important;
    transition: 0.2s ease;
    box-sizing: border-box;
}

.ae-booking-card button {
    background: #d71920;
    border: 1px solid #d71920;
}

.ae-booking-card button:hover {
    background: #111;
    border-color: #111;
}

.ae-call-button {
    background: #111;
    border: 1px solid #111;
}

.ae-call-button:hover {
    background: #d71920;
    border-color: #d71920;
    color: #fff !important;
}

.ae-booking-footer {
    border-top: 1px solid #eeeeee;
    margin-top: 20px;
    padding-top: 16px;
}

.ae-booking-footer strong {
    display: block;
    font-size: 15px;
    font-weight: 900;
    color: #111;
}

.ae-booking-footer span {
    display: block;
    margin-top: 3px;
    font-size: 13px;
    font-weight: 700;
    color: #666;
}

.ae-form-success {
    margin: 0 0 16px;
    padding: 12px 14px;
    background: #e8f8ed;
    border: 1px solid #b9e8c8;
    border-radius: 10px;
    color: #17783a;
    font-size: 14px;
    font-weight: 800;
}

.ae-form-error {
    margin: 0 0 16px;
    padding: 12px 14px;
    background: #fff0f0;
    border: 1px solid #ffb9b9;
    border-radius: 10px;
    color: #a30000;
    font-size: 14px;
    font-weight: 800;
}

/* =====================================================
   Features
   ===================================================== */

.ae-features-card ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
}

.ae-features-card li {
    margin: 0;
}

/* =====================================================
   Why rent with A&E
   ===================================================== */

.ae-rent-card-inline ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ae-rent-card-inline li {
    margin: 0;
    padding: 13px 15px;
    background: #f7f7f7;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 800;
    color: #222;
}

/* =====================================================
   Mobile sticky book viewing button
   ===================================================== */

.ae-mobile-booking-button {
    display: none;
}

/* =====================================================
   Hide old Property Hive / previous layout elements
   ===================================================== */

.ae-property-sidebar,
.ae-sidebar-card,
.ae-actions-wrap,
.ae-main-enquiry-button,
.ae-top-enquiry-form {
    display: none !important;
}

.ae-property-page>.summary,
.ae-property-page>.entry-summary {
    float: none;
    width: auto;
}

.ae-property-page .property-actions,
.ae-property-page .make-enquiry,
.ae-property-page .property-utilities,
.ae-property-page .utilities,
.ae-property-page .utility-info {
    display: none !important;
}

/* =====================================================
   Mobile
   ===================================================== */

@media (max-width: 980px) {
    .ae-property-layout {
        grid-template-columns: 1fr;
    }

    .ae-property-right-column {
        position: static;
    }

    .ae-property-gallery .images>a:first-child img,
    .ae-property-gallery .property-images>a:first-child img,
    .ae-property-gallery .gallery>a:first-child img,
    .ae-property-gallery .images img:first-child,
    .ae-property-gallery .property-images img:first-child,
    .ae-property-gallery .gallery img:first-child {
        height: 360px;
    }

    .ae-overview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ae-mobile-booking-button {
        display: flex;
        position: fixed;
        left: 14px;
        right: 14px;
        bottom: 14px;
        z-index: 999999;
        justify-content: center;
        align-items: center;
        padding: 15px 18px;
        background: #d71920;
        color: #fff !important;
        border-radius: 999px;
        font-size: 17px;
        font-weight: 900;
        text-decoration: none !important;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28);
        transition: opacity 0.25s ease, transform 0.25s ease;
    }

    .ae-mobile-booking-button-hidden {
        opacity: 0;
        pointer-events: none;
        transform: translateY(120%);
    }

    .single-property body,
    body.single-property {
        padding-bottom: 82px;
    }
}

@media (max-width: 650px) {
    .ae-property-page {
        padding: 18px 14px 90px;
    }

    .ae-content-card,
    .ae-booking-card {
        padding: 18px;
        border-radius: 14px;
        margin-bottom: 18px;
    }

    .ae-content-card h1,
    .ae-property-overview-card h1 {
        font-size: 25px;
        line-height: 1.15;
        margin-bottom: 12px;
    }

    .ae-content-card h2 {
        font-size: 21px;
        margin-bottom: 14px;
    }

    .ae-booking-card h3 {
        font-size: 22px;
    }

    .ae-price .price,
    .ae-price .property-price,
    .ae-price .amount,
    .ae-price p,
    .ae-price h2 {
        font-size: 28px;
    }

    .ae-booking-price .price,
    .ae-booking-price .property-price,
    .ae-booking-price .amount,
    .ae-booking-price p,
    .ae-booking-price h2 {
        font-size: 28px;
    }

    .ae-content-card p {
        font-size: 16px;
        line-height: 1.65;
    }

    /* Mobile only: key info boxes in 2 columns */
    .ae-overview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }

    .ae-features-card ul,
    .ae-rent-card-inline ul {
        grid-template-columns: 1fr;
    }

    .ae-detail-item {
        flex-direction: column;
        align-items: flex-start;
        padding: 12px;
        gap: 8px;
    }

    .ae-detail-icon {
        flex-basis: 32px;
        width: 32px;
        height: 32px;
        font-size: 17px;
    }

    .ae-detail-text span {
        font-size: 12px;
    }

    .ae-detail-text strong {
        font-size: 15px;
    }

    .ae-property-gallery .flex-control-thumbs,
    .ae-property-gallery ol.flex-control-thumbs,
    .ae-property-gallery ul.flex-control-thumbs {
        grid-template-columns: repeat(4, 1fr);
        gap: 6px;
    }

    .ae-property-gallery .flex-control-thumbs img {
        height: 52px !important;
        border-radius: 6px;
    }

    .ae-property-gallery li img {
        height: 52px;
        border-radius: 6px;
    }

    .ae-property-gallery .images>a:first-child img,
    .ae-property-gallery .property-images>a:first-child img,
    .ae-property-gallery .gallery>a:first-child img,
    .ae-property-gallery .images img:first-child,
    .ae-property-gallery .property-images img:first-child,
    .ae-property-gallery .gallery img:first-child {
        height: 280px;
    }
}

/* =====================================================
   A&E Property Hive Search Page
   Clean final version for /property-search/
   Uses custom propertyhive/content-property.php markup:
   .ae-loop-property-card, .ae-loop-property-image, etc.
   ===================================================== */

/* Page shell */
/* body.page .carousel-custom,
body.post-type-archive-property .carousel-custom {
    display: none !important;
} */

@media (max-width: 768px) {
    body.post-type-archive-property ul.properties {
        padding-left: 15px !important;
        padding-right: 15px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.post-type-archive-property li.ae-loop-property-card {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

@media (max-width: 768px) {

    body.post-type-archive-property .entry-header,
    body.post-type-archive-property .page-header,
    body.post-type-archive-property h1,
    body.post-type-archive-property .property-search-form,
    body.post-type-archive-property .propertyhive-before-loop,
    body.post-type-archive-property .propertyhive-result-count,
    body.post-type-archive-property .propertyhive-ordering {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box;
    }
}

@media (max-width: 768px) {
    body.post-type-archive-property form.property-search-form {
        margin-left: 15px !important;
        margin-right: 15px !important;
        width: calc(100% - 30px) !important;
    }

    body.post-type-archive-property form.property-search-form .control,
    body.post-type-archive-property form.property-search-form .field,
    body.post-type-archive-property form.property-search-form input,
    body.post-type-archive-property form.property-search-form select,
    body.post-type-archive-property form.property-search-form button {
        max-width: 100% !important;
        box-sizing: border-box;
    }
}

body.page .entry-content,
body.post-type-archive-property .site-main {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 30px 20px 70px !important;
    box-sizing: border-box !important;
}

body.page h1.entry-title,
body.page .entry-content h1:first-child,
body.post-type-archive-property h1 {
    margin: 0 0 24px !important;
    font-size: clamp(30px, 3.2vw, 42px) !important;
    line-height: 1.12 !important;
    font-weight: 900 !important;
    color: #111 !important;
}

/* Search/filter form */
body.page form.property-search-form,
body.page .property-search-form,
body.page .propertyhive-search-form,
body.post-type-archive-property form.property-search-form,
body.post-type-archive-property .property-search-form,
body.post-type-archive-property .propertyhive-search-form {
    width: 100% !important;
    margin: 0 0 28px !important;
    padding: 22px !important;
    background: #fff !important;
    border: 1px solid #e1e1e1 !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06) !important;
    box-sizing: border-box !important;
}

body.page form.property-search-form label,
body.page .property-search-form label,
body.page .propertyhive-search-form label,
body.post-type-archive-property form.property-search-form label,
body.post-type-archive-property .property-search-form label,
body.post-type-archive-property .propertyhive-search-form label {
    display: block !important;
    margin: 0 0 6px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #444 !important;
}

body.page form.property-search-form input,
body.page form.property-search-form select,
body.page .property-search-form input,
body.page .property-search-form select,
body.page .propertyhive-search-form input,
body.page .propertyhive-search-form select,
body.post-type-archive-property form.property-search-form input,
body.post-type-archive-property form.property-search-form select,
body.post-type-archive-property .property-search-form input,
body.post-type-archive-property .property-search-form select,
body.post-type-archive-property .propertyhive-search-form input,
body.post-type-archive-property .propertyhive-search-form select {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 13px !important;
    border: 1px solid #ccc !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 15px !important;
    box-sizing: border-box !important;
}

body.page form.property-search-form input[type="submit"],
body.page form.property-search-form button,
body.page .property-search-form input[type="submit"],
body.page .property-search-form button,
body.page .propertyhive-search-form input[type="submit"],
body.page .propertyhive-search-form button,
body.post-type-archive-property form.property-search-form input[type="submit"],
body.post-type-archive-property form.property-search-form button,
body.post-type-archive-property .property-search-form input[type="submit"],
body.post-type-archive-property .property-search-form button,
body.post-type-archive-property .propertyhive-search-form input[type="submit"],
body.post-type-archive-property .propertyhive-search-form button {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 46px !important;
    padding: 12px 22px !important;
    background: #d71920 !important;
    border: 1px solid #d71920 !important;
    border-radius: 10px !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: 0.2s ease !important;
}

body.page form.property-search-form input[type="submit"]:hover,
body.page form.property-search-form button:hover,
body.page .property-search-form input[type="submit"]:hover,
body.page .property-search-form button:hover,
body.page .propertyhive-search-form input[type="submit"]:hover,
body.page .propertyhive-search-form button:hover,
body.post-type-archive-property form.property-search-form input[type="submit"]:hover,
body.post-type-archive-property form.property-search-form button:hover,
body.post-type-archive-property .property-search-form input[type="submit"]:hover,
body.post-type-archive-property .property-search-form button:hover,
body.post-type-archive-property .propertyhive-search-form input[type="submit"]:hover,
body.post-type-archive-property .propertyhive-search-form button:hover {
    background: #111 !important;
    border-color: #111 !important;
}

/* Result count / ordering */
body.page .propertyhive-result-count,
body.page .woocommerce-result-count,
body.post-type-archive-property .propertyhive-result-count,
body.post-type-archive-property .woocommerce-result-count {
    margin: 0 0 14px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #555 !important;
}

body.page .propertyhive-ordering,
body.page .woocommerce-ordering,
body.post-type-archive-property .propertyhive-ordering,
body.post-type-archive-property .woocommerce-ordering {
    margin: 0 0 22px !important;
}

body.page .propertyhive-ordering select,
body.page .woocommerce-ordering select,
body.post-type-archive-property .propertyhive-ordering select,
body.post-type-archive-property .woocommerce-ordering select {
    padding: 10px 12px !important;
    border: 1px solid #ccc !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

/* Critical search results layout.
   Flex is used instead of grid because some Property Hive/theme CSS can break grid layouts. */
ul.properties {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    list-style: none !important;
    box-sizing: border-box !important;
}

ul.properties::before,
ul.properties::after {
    display: none !important;
    content: none !important;
}

/* Only style our custom Property Hive result cards */
ul.properties>li.ae-loop-property-card,
ul.properties>li.property.ae-loop-property-card,
.ae-loop-property-card {
    flex: 0 0 calc((100% - 48px) / 3) !important;
    width: calc((100% - 48px) / 3) !important;
    max-width: calc((100% - 48px) / 3) !important;
    min-width: 0 !important;
    float: none !important;
    clear: none !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    background: #fff !important;
    border: 1px solid #e1e1e1 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06) !important;
    box-sizing: border-box !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease !important;
}

ul.properties>li.ae-loop-property-card.first,
ul.properties>li.ae-loop-property-card.last,
.ae-loop-property-card.first,
.ae-loop-property-card.last {
    float: none !important;
    clear: none !important;
    margin: 0 !important;
}

.ae-loop-property-card:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(215, 25, 32, 0.35) !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.10) !important;
}

/* Card image */
.ae-loop-property-image {
    display: block !important;
    width: 100% !important;
    height: 230px !important;
    min-height: 230px !important;
    overflow: hidden !important;
    background: #f5f5f5 !important;
    text-decoration: none !important;
}

.ae-loop-property-image img,
.ae-loop-property-image .wp-post-image,
.ae-loop-property-image picture,
.ae-loop-property-image picture img {
    display: block !important;
    width: 100% !important;
    height: 230px !important;
    min-width: 100% !important;
    min-height: 230px !important;
    max-width: 100% !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
}

.ae-loop-property-placeholder {
    width: 100% !important;
    height: 230px !important;
    min-height: 230px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #111 !important;
    color: #fff !important;
    font-weight: 900 !important;
    font-size: 34px !important;
}

/* Card content */
.ae-loop-property-content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    padding: 20px !important;
    box-sizing: border-box !important;
}

.ae-loop-property-topline {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 0 12px !important;
}

.ae-loop-status-pill {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    padding: 6px 11px !important;
    background: #e8f8ed !important;
    color: #17783a !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
}

.ae-loop-status-dark {
    background: #111 !important;
    color: #fff !important;
}

.ae-loop-property-price {
    margin: 0 0 10px !important;
}

.ae-loop-property-price .price,
.ae-loop-property-price .property-price,
.ae-loop-property-price .amount,
.ae-loop-property-price p,
.ae-loop-property-price h2 {
    margin: 0 !important;
    font-size: 27px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    color: #d71920 !important;
}

.ae-loop-property-title {
    margin: 0 0 14px !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    color: #111 !important;
    text-transform: none !important;
}

.ae-loop-property-title a {
    color: #111 !important;
    text-decoration: none !important;
}

.ae-loop-property-title a:hover {
    color: #d71920 !important;
}

.ae-loop-property-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 0 18px !important;
}

.ae-loop-meta-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 7px 10px !important;
    background: #f6f6f6 !important;
    border-radius: 999px !important;
    color: #333 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
}

.ae-loop-meta-icon {
    font-size: 14px !important;
    line-height: 1 !important;
}

.ae-loop-meta-label {
    color: #666 !important;
}

.ae-loop-meta-pill strong {
    color: #111 !important;
}

.ae-loop-property-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: auto !important;
}

.ae-loop-primary-button,
.ae-loop-secondary-button {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    padding: 13px 18px !important;
    border-radius: 10px !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

.ae-loop-primary-button {
    background: #111 !important;
    border: 1px solid #111 !important;
}

.ae-loop-primary-button:hover {
    background: #d71920 !important;
    border-color: #d71920 !important;
}

.ae-loop-secondary-button {
    background: #d71920 !important;
    border: 1px solid #d71920 !important;
}

.ae-loop-secondary-button:hover {
    background: #111 !important;
    border-color: #111 !important;
}

/* Prevent old Property Hive output from leaking into our cards */
.ae-loop-property-card .details,
.ae-loop-property-card .thumbnail,
.ae-loop-property-card .summary,
.ae-loop-property-card .description,
.ae-loop-property-card .property-actions,
.ae-loop-property-card>p {
    display: none !important;
}

/* Pagination */
.propertyhive-pagination,
ul.page-numbers,
.pagination {
    margin: 30px 0 50px !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    list-style: none !important;
}

.propertyhive-pagination a,
.propertyhive-pagination span,
ul.page-numbers a,
ul.page-numbers span,
.pagination a,
.pagination span {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-width: 42px !important;
    height: 42px !important;
    padding: 0 12px !important;
    background: #fff !important;
    border: 1px solid #ddd !important;
    border-radius: 10px !important;
    color: #111 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

.propertyhive-pagination .current,
ul.page-numbers .current,
.pagination .current {
    background: #d71920 !important;
    border-color: #d71920 !important;
    color: #fff !important;
}

/* Tablet: 2 per row */
@media (max-width: 1050px) {

    ul.properties>li.ae-loop-property-card,
    ul.properties>li.property.ae-loop-property-card,
    .ae-loop-property-card {
        flex-basis: calc((100% - 24px) / 2) !important;
        width: calc((100% - 24px) / 2) !important;
        max-width: calc((100% - 24px) / 2) !important;
    }
}

/* Mobile: 1 per row */
@media (max-width: 650px) {

    body.page .entry-content,
    body.post-type-archive-property .site-main {
        padding: 22px 14px 50px !important;
    }

    body.page h1.entry-title,
    body.page .entry-content h1:first-child,
    body.post-type-archive-property h1 {
        font-size: 27px !important;
        margin-bottom: 18px !important;
    }

    body.page form.property-search-form,
    body.page .property-search-form,
    body.page .propertyhive-search-form,
    body.post-type-archive-property form.property-search-form,
    body.post-type-archive-property .property-search-form,
    body.post-type-archive-property .propertyhive-search-form {
        padding: 18px !important;
        border-radius: 14px !important;
        margin-bottom: 20px !important;
            margin-left: 15px !important;
                margin-right: 15px !important;
                width: calc(100% - 30px) !important;
                    box-sizing: border-box !important;
    }

    ul.properties {
        gap: 18px !important;
    }

    ul.properties>li.ae-loop-property-card,
    ul.properties>li.property.ae-loop-property-card,
    .ae-loop-property-card {
        flex-basis: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 14px !important;
    }

    .ae-loop-property-image,
    .ae-loop-property-image img,
    .ae-loop-property-image .wp-post-image {
        height: 215px !important;
        min-height: 215px !important;
    }

    .ae-loop-property-content {
        padding: 18px !important;
    }

    .ae-loop-property-price .price,
    .ae-loop-property-price .property-price,
    .ae-loop-property-price .amount,
    .ae-loop-property-price p,
    .ae-loop-property-price h2 {
        font-size: 25px !important;
    }

    .ae-loop-property-title {
        font-size: 19px !important;
    }
}

/* =====================================================
   Homepage Property Hive Available Properties Section
   Works with [recent_properties] / [featured_properties]
   ===================================================== */

.ae-home-properties-section {
    padding: 55px 0;
}

.ae-home-properties-section h2 {
    margin: 0 0 10px;
    color: #111;
    font-size: clamp(30px, 3.2vw, 42px);
    line-height: 1.12;
    font-weight: 900;
    text-transform: none;
}

.ae-home-properties-section>.col-xs-12>p,
.ae-home-properties-section .text-center p {
    margin: 0 0 30px;
    color: #555;
    font-size: 17px;
    line-height: 1.6;
}

/* Property Hive shortcode results wrapper */
.ae-home-properties-section ul.properties,
.ae-home-properties-section .propertyhive ul.properties {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    box-sizing: border-box !important;
}

/* Remove Property Hive clearfix ghosts */
.ae-home-properties-section ul.properties::before,
.ae-home-properties-section ul.properties::after,
.ae-home-properties-section .propertyhive ul.properties::before,
.ae-home-properties-section .propertyhive ul.properties::after {
    content: none !important;
    display: none !important;
}

/* Individual cards */
.ae-home-properties-section ul.properties>li,
.ae-home-properties-section ul.properties>li.property,
.ae-home-properties-section ul.properties>li.ae-loop-property-card,
.ae-home-properties-section .ae-loop-property-card {
    flex: 0 0 calc((100% - 48px) / 3) !important;
    width: calc((100% - 48px) / 3) !important;
    max-width: calc((100% - 48px) / 3) !important;
    min-width: 0 !important;
    float: none !important;
    clear: none !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    background: #fff !important;
    border: 1px solid #e1e1e1 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06) !important;
    box-sizing: border-box !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease !important;
}

.ae-home-properties-section ul.properties>li.first,
.ae-home-properties-section ul.properties>li.last,
.ae-home-properties-section .ae-loop-property-card.first,
.ae-home-properties-section .ae-loop-property-card.last {
    float: none !important;
    clear: none !important;
    margin: 0 !important;
}

.ae-home-properties-section .ae-loop-property-card:hover,
.ae-home-properties-section ul.properties>li:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(215, 25, 32, 0.35) !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.10) !important;
}

/* Image */
.ae-home-properties-section .ae-loop-property-image,
.ae-home-properties-section ul.properties>li .thumbnail,
.ae-home-properties-section ul.properties>li>a:first-child {
    display: block !important;
    width: 100% !important;
    height: 230px !important;
    min-height: 230px !important;
    overflow: hidden !important;
    background: #f5f5f5 !important;
    text-decoration: none !important;
}

.ae-home-properties-section .ae-loop-property-image img,
.ae-home-properties-section .ae-loop-property-image .wp-post-image,
.ae-home-properties-section ul.properties>li img,
.ae-home-properties-section ul.properties>li .wp-post-image {
    display: block !important;
    width: 100% !important;
    height: 230px !important;
    min-width: 100% !important;
    min-height: 230px !important;
    max-width: 100% !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ae-home-properties-section .ae-loop-property-placeholder {
    width: 100% !important;
    height: 230px !important;
    min-height: 230px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #111 !important;
    color: #fff !important;
    font-weight: 900 !important;
    font-size: 34px !important;
}

/* Content */
.ae-home-properties-section .ae-loop-property-content,
.ae-home-properties-section ul.properties>li .details {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    padding: 20px !important;
    box-sizing: border-box !important;
}

.ae-home-properties-section .ae-loop-property-topline {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 0 12px !important;
}

.ae-home-properties-section .ae-loop-status-pill {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    padding: 6px 11px !important;
    background: #e8f8ed !important;
    color: #17783a !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
}

.ae-home-properties-section .ae-loop-status-dark {
    background: #111 !important;
    color: #fff !important;
}

/* Price */
.ae-home-properties-section .ae-loop-property-price,
.ae-home-properties-section ul.properties>li .price {
    margin: 0 0 10px !important;
}

.ae-home-properties-section .ae-loop-property-price .price,
.ae-home-properties-section .ae-loop-property-price .property-price,
.ae-home-properties-section .ae-loop-property-price .amount,
.ae-home-properties-section .ae-loop-property-price p,
.ae-home-properties-section .ae-loop-property-price h2,
.ae-home-properties-section ul.properties>li .price,
.ae-home-properties-section ul.properties>li .price .amount {
    margin: 0 !important;
    font-size: 27px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    color: #d71920 !important;
}

/* Title */
.ae-home-properties-section .ae-loop-property-title,
.ae-home-properties-section ul.properties>li h3 {
    margin: 0 0 14px !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    color: #111 !important;
    text-transform: none !important;
}

.ae-home-properties-section .ae-loop-property-title a,
.ae-home-properties-section ul.properties>li h3 a {
    color: #111 !important;
    text-decoration: none !important;
}

.ae-home-properties-section .ae-loop-property-title a:hover,
.ae-home-properties-section ul.properties>li h3 a:hover {
    color: #d71920 !important;
}

/* Meta pills */
.ae-home-properties-section .ae-loop-property-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 0 18px !important;
}

.ae-home-properties-section .ae-loop-meta-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 7px 10px !important;
    background: #f6f6f6 !important;
    border-radius: 999px !important;
    color: #333 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
}

.ae-home-properties-section .ae-loop-meta-label {
    color: #666 !important;
}

.ae-home-properties-section .ae-loop-meta-pill strong {
    color: #111 !important;
}

/* Buttons */
.ae-home-properties-section .ae-loop-property-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: auto !important;
}

.ae-home-properties-section .ae-loop-primary-button,
.ae-home-properties-section .ae-loop-secondary-button,
.ae-home-properties-section ul.properties>li a.button {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    padding: 13px 18px !important;
    border-radius: 10px !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

.ae-home-properties-section .ae-loop-primary-button,
.ae-home-properties-section ul.properties>li a.button {
    background: #111 !important;
    border: 1px solid #111 !important;
}

.ae-home-properties-section .ae-loop-primary-button:hover,
.ae-home-properties-section ul.properties>li a.button:hover {
    background: #d71920 !important;
    border-color: #d71920 !important;
}

.ae-home-properties-section .ae-loop-secondary-button {
    background: #d71920 !important;
    border: 1px solid #d71920 !important;
}

.ae-home-properties-section .ae-loop-secondary-button:hover {
    background: #111 !important;
    border-color: #111 !important;
}

/* Hide descriptions if Property Hive default template leaks in */
.ae-home-properties-section ul.properties>li .summary,
.ae-home-properties-section ul.properties>li .description,
.ae-home-properties-section ul.properties>li>p {
    display: none !important;
}

/* View all button */
.ae-home-properties-section .btn-custom {
    margin-top: 28px;
    padding: 13px 24px;
    border-radius: 10px;
    background: #d71920;
    border-color: #d71920;
    color: #fff !important;
    font-weight: 900;
    text-decoration: none !important;
}

.ae-home-properties-section .btn-custom:hover {
    background: #111;
    border-color: #111;
}

/* Tablet: 2 per row */
@media (max-width: 1050px) {

    .ae-home-properties-section ul.properties>li,
    .ae-home-properties-section ul.properties>li.property,
    .ae-home-properties-section ul.properties>li.ae-loop-property-card,
    .ae-home-properties-section .ae-loop-property-card {
        flex-basis: calc((100% - 24px) / 2) !important;
        width: calc((100% - 24px) / 2) !important;
        max-width: calc((100% - 24px) / 2) !important;
    }
}

/* Mobile: 1 per row */
@media (max-width: 650px) {
    .ae-home-properties-section {
        padding: 0px 0;
    }

    .ae-home-properties-section h2 {
        font-size: 27px;
    }

    .ae-home-properties-section ul.properties,
    .ae-home-properties-section .propertyhive ul.properties {
        gap: 18px !important;
    }

    .ae-home-properties-section ul.properties>li,
    .ae-home-properties-section ul.properties>li.property,
    .ae-home-properties-section ul.properties>li.ae-loop-property-card,
    .ae-home-properties-section .ae-loop-property-card {
        flex-basis: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 14px !important;
    }

    .ae-home-properties-section .ae-loop-property-image,
    .ae-home-properties-section .ae-loop-property-image img,
    .ae-home-properties-section .ae-loop-property-image .wp-post-image,
    .ae-home-properties-section ul.properties>li img {
        height: 215px !important;
        min-height: 215px !important;
    }

    .ae-home-properties-section .ae-loop-property-content,
    .ae-home-properties-section ul.properties>li .details {
        padding: 18px !important;
    }

    .ae-home-properties-section .ae-loop-property-price .price,
    .ae-home-properties-section .ae-loop-property-price .property-price,
    .ae-home-properties-section .ae-loop-property-price .amount,
    .ae-home-properties-section .ae-loop-property-price p,
    .ae-home-properties-section .ae-loop-property-price h2,
    .ae-home-properties-section ul.properties>li .price {
        font-size: 25px !important;
    }

    .ae-home-properties-section .ae-loop-property-title,
    .ae-home-properties-section ul.properties>li h3 {
        font-size: 19px !important;
    }
}

/* =====================================================
   Homepage Benefits Strip
   ===================================================== */

.ae-home-benefits-strip {
    padding: 45px 0 35px;
}

.ae-home-benefits-strip h2 {
    margin: 0 0 10px;
    color: #FFF;
    font-size: clamp(30px, 3.2vw, 42px);
    line-height: 1.12;
    font-weight: 900;
    text-transform: none;
}

.ae-home-benefits-intro {
    max-width: 720px;
    margin: 0 auto 30px;
    color: #FFF;
    font-size: 17px;
    line-height: 1.6;
}

.ae-home-benefit-card {
    min-height: 210px;
    margin-bottom: 24px;
    padding: 26px 20px;
    background: #ffffff;
    border: 1px solid #e1e1e1;
    border-radius: 16px;
    text-align: center;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    transition: 0.2s ease;
}

.ae-home-benefit-card:hover {
    transform: translateY(-2px);
    border-color: rgba(215, 25, 32, 0.35);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.10);
}

.ae-home-benefit-icon {
    width: 54px;
    height: 54px;
    margin: 0 auto 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f6f6f6;
    border-radius: 50%;
    font-size: 25px;
}

.ae-home-benefit-card h3 {
    margin: 0 0 10px;
    color: #111;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 900;
    text-transform: none;
}

.ae-home-benefit-card p {
    margin: 0;
    color: #111;
    font-size: 15px;
    line-height: 1.55;
}

@media (max-width: 650px) {
    .ae-home-benefits-strip {
        padding: 32px 0 20px;
    }

    .ae-home-benefit-card {
        min-height: 0;
        padding: 22px 18px;
    }
}

/* =====================================================
   Property Hive Search Form - Final Responsive Layout
   Desktop: one clean row
   Mobile: each field on its own line
   ===================================================== */

.ae-property-search-form-wrap {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto 28px;
    padding: 22px;
    background: #ffffff;
    border: 1px solid #e1e1e1;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    box-sizing: border-box;
}

.ae-property-search-form {
    width: 100%;
    margin: 0;
}

/* Desktop: force one horizontal row */
.ae-property-search-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-end !important;
    gap: 14px !important;
    width: 100% !important;
}

/* Fields */
.ae-property-search-field {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Make location wider */
.ae-property-search-field-location,
.ae-property-search-field_address_keyword,
.ae-property-search-field_location {
    flex: 2 1 0 !important;
}

/* Submit button column */
.ae-property-search-submit {
    flex: 0 0 135px !important;
    width: 135px !important;
    min-width: 135px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Labels */
.ae-property-search-field label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 7px !important;
    color: #444 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

/* Inputs/selects */
.ae-property-search-field select,
.ae-property-search-field input {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
    padding: 12px 13px !important;
    background: #ffffff !important;
    border: 1px solid #cccccc !important;
    border-radius: 10px !important;
    color: #111111 !important;
    font-size: 15px !important;
    box-sizing: border-box !important;
}

.ae-property-search-field select:focus,
.ae-property-search-field input:focus {
    outline: none !important;
    border-color: #d71920 !important;
    box-shadow: 0 0 0 3px rgba(215, 25, 32, 0.12) !important;
}

/* Submit */
.ae-property-search-submit input[type="submit"] {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 12px 18px !important;
    background: #d71920 !important;
    border: 1px solid #d71920 !important;
    border-radius: 10px !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    transition: 0.2s ease !important;
}

.ae-property-search-submit input[type="submit"]:hover {
    background: #111111 !important;
    border-color: #111111 !important;
}

/* Kill Property Hive / Bootstrap float behaviour inside this form */
.ae-property-search-form .control,
.ae-property-search-form .form-group,
.ae-property-search-form .field,
.ae-property-search-form p {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    clear: none !important;
}

/* Tablet: 2 columns, submit full width */
@media (max-width: 991px) and (min-width: 768px) {
    .ae-property-search-grid {
        display: flex !important;
        flex-wrap: wrap !important;
    }

    .ae-property-search-field {
        flex: 0 0 calc(50% - 7px) !important;
        width: calc(50% - 7px) !important;
        max-width: calc(50% - 7px) !important;
    }

    .ae-property-search-submit {
        flex: 0 0 100% !important;
        width: 100% !important;
        min-width: 100% !important;
    }
}

/* Mobile: each field on its own line */
@media (max-width: 767px) {
    .ae-property-search-form-wrap {
        width: auto !important;
        margin: 0 14px 22px !important;
        padding: 18px !important;
        border-radius: 14px !important;
    }

    .ae-property-search-grid {
        display: block !important;
    }

    .ae-property-search-field,
    .ae-property-search-submit {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 14px !important;
        padding: 0 !important;
        float: none !important;
        clear: both !important;
    }

    .ae-property-search-submit {
        margin-bottom: 0 !important;
    }

    .ae-property-search-field label {
        text-align: left !important;
    }

    .ae-property-search-field select,
    .ae-property-search-field input,
    .ae-property-search-submit input[type="submit"] {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Hide Min Rent and Max Rent on mobile only */
@media (max-width: 767px) {

    .ae-property-search-field-min_price,
    .ae-property-search-field-max_price,
    .ae-property-search-field-minimum_price,
    .ae-property-search-field-maximum_price,
    .ae-property-search-field-minimum_rent,
    .ae-property-search-field-maximum_rent,
    .ae-property-search-field-min_rent,
    .ae-property-search-field-max_rent {
        display: none !important;
    }
}

/* -----------------------
   Media Queries Template
----------------------- */

@media only screen and (min-width: 480px) {}

@media only screen and (min-width: 768px) {}

@media only screen and (min-width: 992px) {}

@media only screen and (min-width: 1200px) {}