
/*
 * child-custom.css — RealHomes Classic Child Theme
 * Ported from old child theme (Source A v1.1)
 *
 * NOTES:
 * - Bootstrap 2 grid selectors (.span6, .span3, .span12, #footer > .row > .span3)
 *   inside responsive media queries are DEPRECATED — these target old template
 *   markup that has been replaced with new Classic partials. They are left in
 *   place as dead CSS to avoid accidental breakage; safe to remove once verified.
 * - .fa-phone and .fa-twitter:before selectors are CSS property rules, not
 *   icon class declarations — they are valid in Font Awesome 6.
 * - EU cookie notice CSS (#eu-cookie) is present in this file and referenced
 *   from the wp_footer hook in functions.php.
 */

/* Start of CSS from the Theme Options - Luis Garcia - 21 Oct 2025*/


/* Featured Video on Posts */
figure.hasVideo video {
  width: 100%;
  height: auto;
}

.property-item figure figcaption {
  right: auto;
  left: 0;
}

.property-item figure.hasVideo figcaption {
    bottom: 5px;
}

/* Inner post convertbox */
.single article .cb-box {
    margin: 50px auto;
}

.single-property #cbox-Vn2lb4b7W5ee94rK {
display: none !important;
}

/* Hide Olark Chat on ROI page */
body.page-id-29717 div#hbl-live-chat-wrapper {
display: none !important;
}

/* VC Buttons */
a.vc_general.vc_btn3.vc_btn3-style-modern.vc_btn3-color-primary {
    border-radius: 25px;
    border: 0;
    font-weight: bold;
    letter-spacing: 1px;
}

/* Contact Page */
h3.form-heading {
    background: #fbfbfb;
    font-weight: bold;
}

.contact-details address {
    background: transparent;
    border: 1px solid #cdcdcd;
    padding-top: 15px;
    margin: 0 0 20px;
    width: 100% !important;
    box-sizing: border-box;
}

body.page-id-105 input[type="text"], body.page-id-105 input[type="email"], body.page-id-105 textarea {
    width: 100%;
    padding: 15px;
box-sizing: border-box;
}

body.page-id-105 textarea.wpcf7-form-control.wpcf7-textarea {
    height: 143px;
}

ul.contacts-list {
    margin-left: 0 !important;
}

/* Menu Item with Heart */
.main-menu .heart {
    padding-right: 10px;
    margin-right: 7px;
}

.main-menu .heart > a:after {
    content: "♥";
    font-size: 19px;
    position: absolute;
    top: 14px;
    right: 0;
    color: red;
}

/* Whatsapp */
.social_networks li.whatsapp {
margin-bottom: -19px;
}

.ccw_plugin > div {
    background: transparent !important;
    float: right;
    border-left: 1px solid #343a3b;
    border-radius: 0 !important;
}

.ccw_plugin > div:hover {
    background: #25d366 !important;
}

.ccw_plugin .icon {
    font-size: 18px !important;
color: #fff !important;
margin-left:  0;
}

/* Whatsapp */
#style-6.chatbot {
    box-shadow: 0px 0 30px 3px rgba(0,0,0,.25);
    line-height: 37px !important;
    transition: all .2s ease-out;
}

#style-6.chatbot:hover {
    transform: scale(1.1);
    background: rgb(37, 211, 102) !important;
    transition: all .2s ease-out;
}

.ccw_plugin .chatbot:hover .icon {
    color: #fff !important;
}

/*#top-header-widget {
    width: 580px;
    max-width: 45%;
}

#top-header-widget p {
    margin: 0px 5px;
    max-width: 25%;
    display: inline-block;
}

#top-header-widget input {
    max-width: 100%;
}

#top-header-widget p:last-of-type {
    position: relative;
    top: -23px;
}*/

#trio figure, #trio figure img, #trio .vc_single_image-wrapper, .trio figure, .trio figure img, .trio .vc_single_image-wrapper {
height: auto;
}

.caldera-grid .has-error .help-block {
    padding: 0 15%;
}

body.page-template-template-vc #header > *, body.page-template-template-vc nav.main-menu, body.page-template-template-custom-landing-pages #header > *, body.page-template-template-custom-landing-pages nav.main-menu{
display: none;
}

body.page-template-template-vc h2.contact-number {
top: 0;
}

.home .areas .bg {
    height: auto;
}

#fld_8083647_1, #fld_6087954_2 {display:none;}

.wp-video {
    margin: 30px auto;
}

.subhero .rve {
    max-width: 60%;
    margin: 30px auto;
}



.subhero h2 {
font-size: 1.5em !important;
}

#intro a[href="#first"] {
    color: #fff;
    padding: 15px 20px;
    border-radius: 3px;
}

h1.page-title.tax span {
    background-color: rgba(8, 84, 156, 0.78);
    color: #fff;
    padding: 45px 20%;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: normal;
    position: relative;
    font-size: 40px;
}

h1.page-title.tax span:before {
    width: calc(100% + 40px);
    height: calc(100% + 40px);
    content: " ";
    background: transparent;
    border: 5px solid rgba(8, 84, 156, 0.78);
    position: absolute;
    top: -22px;
    left: -23px;
}

.page-head.tax .wrap {
float: none;
}

h1.page-title.tax {
    text-align: center;
    width: 100%;
    display: inline-block;
margin-top: 50px;
}

.page-head.tax {
    padding-bottom: 70px;
   margin-bottom: 0;
    padding-top: 90px;
}

.tax-desc h1 {
    font-size: 25px;
}

.tax-desc {
    background: #fff;
    padding: 40px 0 15px;
margin-bottom: 20px;
}

.tax-desc .container > p {
    width: 45%;
    float: left;
    margin-right: 4%;
}

.header-wrapper .container {
    width: 95%;
    max-width: 1700px;
}

.page-head p {margin-bottom:-1px;}
.page-head .wrap h3 {
    color: #fff;
    background: rgba(47, 144, 174, 0.8);
    margin: 0;
margin-bottom: -1px;
    padding: 20px 30px;
}

#stb-15943, #stb-15945, #stb-15947 {
    background: #fff !important;
    color: #666 !important;
    border-radius: 5px;
    box-shadow: 0px 4px 20px 2px rgba(0, 0, 0, 0.3) !important;
}

#stb-15943  #close-popup , #stb-15945  #close-popup , #stb-15947  #close-popup {
display: none;
}

#stb-15943 p:first-of-type, #stb-15945 p:first-of-type, #stb-15947 p:first-of-type {
    padding: 30px 40px;
    font-size: 17px;
    margin-bottom: 0;
    border: 0px solid #42c0fb;
    border-bottom: 0;
    border-radius: 5px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.stb a.nturl, .stb a.nolang {
    padding: 15px 20px;
    display: inline-block;
    background: #42c0fb;
    color: #fff;
    border-radius: 0;
    margin: 0;
    width: 50%;
    box-sizing: border-box;
    float: left;
    clear: none;
}

.stb a.nolang {
background: #aaaaaa;
    color: #fff;
}

#top-header-widget {
height: 50px;
}

/* Was `margin-top: 30px !important` — a hand-tuned nudge that pushed the search
 * button down to clear the labels above the other fields. It is now handled
 * structurally by align-items:flex-end on .button-wrapper-flex (see the 2026-09-15
 * block near the end of this file), and the !important here beat that, so the
 * button kept sitting low. Left at 0 rather than deleted so the history is
 * visible to whoever looks for the old value. */
.option-bar input.real-btn.btn {
margin-top: 0;
}

#select-location_container ul {
display: inline-block;
width: 100%;
border-right: 0;
}

#select-location_container {
width:300%;
}

#select-location_container ul li {
border: 1px solid #dedede;
    width: 31.16%;
    margin-top: -1px;
    margin-left: -1px;
float: left;
}


#select-location_container ul li:last-child {
    width: 97.8%;
    margin-bottom: -1px;
}

.main-menu ul li#menu-item-3842 ul, .main-menu ul li#menu-item-12507 ul {
    width: 840px;
    padding: 10px 20px;
}

.main-menu ul li#menu-item-3842 ul li, .main-menu ul li#menu-item-12507 ul li {
    width: 210px;
    float: left;
}

.main-menu ul li#menu-item-15409 ul {
    width: 600px;
    padding: 10px 20px;
}

.main-menu ul li#menu-item-15409 ul li {
    width: 200px;
    float: left;
}

.main-menu ul li a {
  font-size: 13.5px;
}

html, body {
height: 100%;
}

#bl_page_tem h4 {
max-width: 85%;
}

.stb-5534 {
overflow: hidden !important;
}

.sitemap {
    border-bottom: 1px solid #dedede;
    border-top: 1px solid #dedede;
    padding: 25px 0;
    margin-bottom: 30px;
}

#footer-bottom {
    border: 0;
}

.wpcf7 p {
    margin: 10px 0 0 !important;
}

.wpcf7 input[type="number"], .wpcf7 input[type="date"], .wpcf7 input[type="number"], .wpcf7 input[type="tel"], .wpcf7 input[type="url"], .wpcf7 input[type="email"], .wpcf7 input[type="text"] {
    width: 90%;
}

#bl_page_tem #eu-cookie {
    display: none !important;
}

.swipebox img {
    width: 100%;
}

.menu-and-contact-wrap {
left: 0;
margin: auto;
}

.main-menu {
float: left;
margin: 0;
}

.contact-number {
margin: 0;
}

.main-menu ul li a {
    padding: 15px 6.5px;
}

.main-menu ul li ul {
z-index: 1000;
}

.shiftnav-loading {
display: none;
}

.shiftnav ul.sub-menu li {
    padding-left: 15px !important;
    text-align: left !important;
}

#shiftnav-toggle-main {
display: none;
height: 52px;
}

.shiftnav-wrap {
padding-top: 0 !important;
}

span.shiftnav-main-toggle-content img {
height: 18px;
width: auto;
}
.shiftnav .shiftnav-menu-title {
display: none;
}

.shiftnav, .shiftnav-nav, .shiftnav-inner, #menu-mobile-menu {
overflow-y: scroll !important;}

.area4 {
    width: 22%;
    margin: 0 1.5%;
    float: left;
}

.area2:hover .area-name, .area3:hover .area-name , .area4:hover .area-name {
    transition: background 0.3s ease-in;
}

/* End of CSS from the Theme Options - Luis Garcia - 21 Oct 2025*/

/* Child Theme - Custom CSS File for Buyers to Modify */
.main-menu ul li.current-menu-item > a, .main-menu ul li.current_page_item > a {
  background-color:transparent;
}
.main-menu ul li:hover, .main-menu ul li:hover > a {
  background-color:transparent;
}
.main-menu ul li.current-menu-item > a, .main-menu ul li.current_page_item > a {
  background-color: transparent !important;
}
.main-menu ul li.current-menu-ancestor > a, .main-menu ul li.current-menu-parent > a, .main-menu ul li.current-menu-item > a, .main-menu ul li.current_page_item > a, .main-menu ul li:hover > a {
  background-color: transparent !important;
}
#youtube-sidebar-widget .widget ul li, #youtube-sidebar-widget .widget ul li:first-child {
  border-bottom:none !important;
  background:none !important;
}
#youtube-sidebar-widget ul li {
  width:auto !important;
  background: none !important;
}


/* Custom Changes: Luis Garcia (April 20th, 2016) */
body {
min-height: 100%;
overflow-x: hidden !important;
}

.alert.alert-success {
    background: transparent;
    border: 0;
    padding: 25px;
}

.textwidget #crmWebToEntityForm {
    width: 100%;
    overflow: hidden;
    margin: 0;
}

.textwidget #crmWebToEntityForm input, .textwidget #crmWebToEntityForm textarea {
    max-width: 90%;
    margin: 0;
}

.textwidget #crmWebToEntityForm textarea {
  margin-bottom: 20px;
}
.textwidget #crmWebToEntityForm p {
  margin-bottom: 5px;
}

#close-popup {
    position: absolute;
    right: 30px;
    color: #fff;
    background: #D32F2F;
    height: 40px;
    width: 40px;
    line-height: 40px;
    top: 20px;
    text-align: center;
  }

#close-popup a {
  color: #fff;
  font-weight: bold;
  }


.property-contact {
    background-color: #fbfbfb;
    border-bottom: 1px solid #dedede;
    padding: 15px 20px;
}

.medio {
display: block;
width: 48%;
margin: 20px 1%;
float: left;
}

.medio span {
    width: 100%;
    display: block;
}

.medio input[type="text"], .medio textarea, .medio input[type="number"], .medio input[type="tel"], .medio input[type="email"] {
width: 95% !important;
max-height: 190px;
}

#stb-overlay {
    background: rgba(0,0,0,.97) !important;
}

.stb-top-center-container {
top: 0;
}

.stb-content form tr:first-child td {
    color: #fff !important;
    text-align: center !important;
}

 .scroll-triggered-box {
max-width: 100%;
background: transparent !important;
}

.stb-content {
    max-width: 100%;
}

.stb-close {
    right: 30px;
    top: 10px;
}

#crmWebToEntityForm {
max-width: 95%;
display: block;
overflow: scroll;
border: 0 !important;
border-radius: 5px;
overflow-y: scroll;
}

.stb-content form table {
width: 100% !important;
}

.stb-content form tr, .stb-content form td  {
padding: 10px 15px;
font-family: inherit !important;
}


.stb-content form input[type="text"] {
width: 95% !important;
padding: 10px 15px !important;
}

 .stb-content form select {
width: 95% !important;
padding: 10px 15px;
}

.stb-content form input[type="submit"], .stb-content form input[type="reset"] {
cursor: pointer;
    width: auto;
    height: auto;
    display: inline-block;
    vertical-align: middle;
    line-height: 20px;
    color: white !important;
    text-align: center;
    margin-bottom: 0;
    padding: 4px 16px;
    -webkit-padding-before: 7px;
    -webkit-padding-after: 7px;
    border-radius: 0;
    border: none;
    box-shadow: none;
    text-shadow: none;
}

li.bawmrp_manual {
    width: 32% !important;
    float: left !important;
    list-style: none !important;
    text-align: left !important;
    margin-left: 1% !important;
}

li.bawmrp_manual span {
    font-weight: bold;
    margin-top: 10px;
    display: block;
}

li.bawmrp_manual a img {
    width: 97%;
}

#header-top a {
color: #fff;
}

.sh-link a {
    color: #fff;
    padding: 15px 20px;
    border: none;
    line-height: 50px;
    font-size: 16px;
    font-weight: 800;
    text-transform: uppercase;
}

.sh-link {
text-align: center;
}

#footer .widget {
min-height: auto;
}

input.real-btn.btn {
    padding: 5px 15px !important;
    margin-top: 25px !important;
}

.more-details, .mc4wp-form button, .mc4wp-form input[type=button], .mc4wp-form input[type=submit] {
    color: #fff !important;
    padding: 7px 10px;
    border: none;
}

.more-details:hover {
opacity: 0.9;
}

.more-details:hover {
color: #fff;
}

#logo {
    max-width: 35%;
    margin-top: -10px;
    margin-bottom: 55px;
}

.tag-line {
display: none;
}

h2, h3 {
text-transform: uppercase;
line-height: 30px;
}

#youtube-channel-3 > .youtube_channel.responsive .ytc_video_container {
    width: 24% !important;
    margin: 0 0.5%;
}

#contact-email {
text-transform: none;
}

.home-recent-posts .section-title {
text-align: center;
}


.shiftnav-loading {
display: none;
}

.shiftnav ul.sub-menu li {
    padding-left: 15px !important;
    text-align: left !important;
}

#shiftnav-toggle-main {
display: none;
height: 52px;
}

.shiftnav-wrap {
padding-top: 0 !important;
}

span.shiftnav-main-toggle-content img {
height: 18px;
width: auto;
}
.shiftnav .shiftnav-menu-title {
display: none;
}

.shiftnav, .shiftnav-nav, .shiftnav-inner, #menu-mobile-menu {
overflow-y: auto !important;
max-height: 100%;
}


/* Pop Up Styling: Luis Garcia, April 2016 */

#popup-new {
background: transparent;
width: 500px;
display: block;
height: 600px;
}

.caldera-grid .form-group {
  margin: 5px auto;
  }

.triangle {
  width: 0;
  margin-right: auto;
  margin-left: auto;
  border: 12px solid transparent;
  border-bottom-color: #263879;
}

.popup-header {
  background: #263879;
  padding: 20px 10px;
  font-size: 1.1em;
  font-weight: light;
  text-align: center;
  text-transform: none;
  color: #fff;
line-height: auto;
margin: 0 auto;
}

.popup-subtitle {
font-size: 1em;
    color: #fff;
    text-transform: none;
    margin: 0;
    padding: 15px;
    text-align: center;
    font-weight: normal;
    line-height: 1.3;
}

#bl_page_tem {
background: transparent;
text-align: center;
}

.pasos {
width: 100%;
display: block;
    height: 65px;
}

.formpage {
width: 25%;
text-align: center;
float: left;
}

.pasivepage {
border-bottom: 2px solid #cacaca;
}

.activepage > span {
width: 34px;
height: 34px;
border-radius: 16px;
line-height: 30px;
display: block;
margin: 15px auto;
}

.donepage > span {
width: 34px;
height: 34px;
border-radius: 16px;
line-height: 30px;
color: #fff;
display: block;
margin: 15px auto;
}

.pasivepage > span {
width: 34px;
height: 34px;
border-radius: 16px;
line-height: 30px;
border: 2px solid #cacaca;
color: #cacaca;
display: block;
margin: 15px auto;
}

#bl_page_tem p {
padding-top: 20px;
margin-bottom: 0;
  padding-bottom: 10px;
}

.caldera-grid .form-group {
text-align: left;
margin: 5px auto;
}

.caldera-grid input[type=submit], .caldera-grid .btn-default {
    width: auto !important;
    padding: 10px 15px !important;
    font-size: 1em !important;
    margin: 25px auto 0;
    display: block !important;
color: #fff !important;
}

.caldera-grid input[type=submit]:hover, .caldera-grid .btn-default:hover {
      margin: 25px auto 0;
  }

.caldera-grid {
    border-top: 0;
    border-bottom-left-radius: 15px;
border-bottom-right-radius: 15px;
background: #fff;
width: 400px;
}

.caldera-grid select, .caldera-grid input {
max-width: 70%;
margin: 0 auto;
}

#caldera_forms_widget-2 .caldera-grid {
    width: 80%;
    margin-left: 10%;
    border: 0;
    background: transparent;
    margin-left: 10%;
}

#caldera_forms_widget-2 .caldera-grid input, #caldera_forms_widget-2 .caldera-grid textarea {
  margin: 0;
  width: 100%;
  max-width: 100%;
}

#caldera_forms_widget-2 .caldera-grid input[type=submit] {
  border: 0;
  margin-top: 20px;
}

#fld_8630213_1 { visibility: hidden; }

body.page-id-5531 #shiftnav-toggle-main, body.page-id-5536 #responsive-menu-button, body.page-id-5531 #responsive-menu-button {
    display: none !important;
}

#text-18 {
  display: none;
}

.hide-desktop {
  display: none !important;
}

.stb-content .mc4wp-form {
    background: #f6f6f6;
    padding: 30px !important;
}

.stb-11883 #close-popup {
    display: none;
}

.stb-11883 input[type="text"], .stb-11883 input[type="email"] {
  width: 95% !important;
  padding: 10px 15px !important;
}

.stb-11883 {
    min-width: 30vw;
}

#newsletter-popup {
    margin-bottom: 40px;
}

a.subscribe-popup {
    padding: 10px 20px;
    float: right;
    color: #fff;
    /* font-weight: bold; */
    letter-spacing: 0.2px;
    border-radius: 3px;
}

.main .youtube_channel {
    display: block;
    max-width: 70%;
    margin: 0 15%;
}


body.home article.property-item {
  padding: 0;
}

/* Was `color: #fff` — correct while this title sat on the navy plate, invisible
 * once that plate was removed (2026-09-17), which is what made the homepage
 * featured titles disappear. */

/* The card itself has `padding: 0` and its figure is inset with
 * `margin-left: 15px`, so a title with no offset sat flush against the card's
 * left border while everything below it was indented. Matching the figure's
 * inset lines the title up with the image beneath it; the right inset mirrors
 * the .detail column's `padding-right: 15px` so a long title wraps inside the
 * card rather than against its edge. */
body.home h4.price {
  margin-left: 15px;
  margin-right: 15px;
}

body.home .property-item .property-meta {
  margin: 0;
}

/* NOTE: this padding-left is mirrored by the figcaption `left` offset in the
 * 2026-09-15 round 7 block at the end of this file — the badge is absolutely
 * positioned and resolves against this padding box, so the two must match. */
body.home .property-item figure {
    padding-left: 0;
    margin-left: 15px;
    width: calc(45% - 15px);
}

body.home .property-item .detail {
    padding-right: 15px;
    padding-left: 0;
    width: 45%;
}

.safe-info {
    line-height: 16px;
    margin-top: 15px;
}

.safe-info img {
    height: 20px;
    display: inline-block;
    transform: translateY(-2px);
}

.safe-info p {
  float: right;
    width: 85%;
}

.property-item h4, .property-item h4 a, .es-carousel-wrapper ul li h4 a {
  color: #fff;
}

#text-16 {
  height: 30px;
}

body.page-id-3837 .footer-4 {
  float: right;
}

#main-areas {
      display: inline-block;
}

#main-areas h3 {
  text-align: center;
}

#main-areas p.intro {
    text-align: center;
    font-size: 18px;
    font-weight: 100;
    line-height: 30px;
}

#main-areas .areas {
  position: relative;
  display: inline-block;
  width: 80%;
  margin: 20px 10%;
}

.areas .bg {
  width: 100%;
  height: 100%;
}

.area-name {
  width: 100%;
  margin-top: -15px;
  transition: background 0.3s ease-in;
}

.area-name h4 {
  color: #fff;
  padding: 10px 15px;
}

.area2:hover .area-name, .area3:hover .area-name {
  transition: background 0.3s ease-in;
}

.area2 {
    width: 45%;
    float: left;
  margin: 2.5%;
}

.area3 {
      width: 30%;
    margin: 15px 1.5%;
    float: left;
}

.page-template-template-fullwidth article img {
    width: 100%;
    margin-top: -5px;
}

.page-template-template-fullwidth .container.contents.single {
  width: 50%;
}

.page-template-template-fullwidth .main-wrap {
  max-width: 100%;
}

/* 2026-08-23: prod hotlink removed — this forced the OLD theme's banner image
   on every .page-head, overriding per-page and per-taxonomy banners. Banner
   images now come from the templates / get_default_banner(). */

#eu-cookie.bottom {
    bottom: 0;
    left: 0;
}


body.page-id-5536 #eu-cookie, body.page-id-5531 #eu-cookie {
    display: none !important;
}

#logo-mobile {
  display: none;
  padding: 20px;
    position: fixed;
    left: 0;
    z-index: 999;
}

#logo-mobile img {
    width: 75%;
}

button#responsive-menu-button {
  right: 5px !important;
}

h2.contact-number {
      position: absolute;
    right: 0;
    top: 50px;
    z-index: 99;
    padding-right: 20px;
}

header .user-nav {
  display: none;
}


/* Luis Garcia: Full Width VC Styles */

.container.contents.full-width {
    width: 100%;
}

.full-width .main {
    border: 0;
}

.full-width .main-wrap {
    width: 100%;
}

.full-width .inner-wrapper {
    padding: 0;
    border: 0;
}

.full-width #hero .vc_column-inner, .verde .vc_column-inner  {
    padding: 100px 20% !important;
    margin-top: 30px;
}

.full-width #hero .vc_column-inner:before, .verde .vc_column-inner:before {
    position: absolute;
    top: 20%;
    left: 10%;
    width: 80%;
    height: 65%;
    background: rgba(255, 255, 255, 0.5);
    content: " ";
    display: block;
  z-index: 1;
}

.full-width #hero.lucero .vc_column-inner:before {
  background: rgba(76, 175, 80, 0.5);
}

.verde .vc_column-inner:before {
  background: rgba(139, 195, 74, 0.82);
}

.verde {
  color: #fff;
  font-size: 1.5em;
}

.verde {
    padding: 80px 15% !important;
}

.verde .wpb_text_column {
    position: relative;
    z-index: 10;
}

.full-width #hero.lucero .vc_column-inner:after {
    position: absolute;
    top: 15%;
    left: 7%;
    width: 85%;
    height: 73%;
    content: " ";
    display: block;
    border: 5px solid #4CAF50;
    opacity: 0.7;
  }

#hero.lucero h1, #hero.lucero h2, #hero.lucero h3, #hero.lucero p, #hero.lucero strong {
    color: #fff;
}

#hero.lucero h1, #hero.lucero h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    font-size: 3.5em;
}

#hero.lucero h2 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;  
}


.full-width #hero .vc_column-inner .wpb_wrapper {
  position: relative;
  z-index: 10;
}

#hero p {
    color: #4a4a4a;
  font-size: 1.5em;
}

#hero h2 {
  color: #4a4a4a;
  font-size: 2.5em !important;
}

#hero.lucero {
  border-bottom-color: #4caf50;
}

#subhero {
  padding-left: 15%;
    padding-right: 15%;
}
#subhero .form-group, #bottom .form-group:not(.consent-notifications) {
    width: 50%;
    float: left;
}

#hero strong {
    color: #4a4a4a;
}

#subhero .caldera-grid, #bottom .caldera-grid {
    width: 100%;
  border: 0;
      background: transparent;
}

#subhero input, #bottom input:not([type="checkbox"])  {
    margin-left: 0;
    width: 95%;
    max-width: 100%;
}

#subhero h4 {
  color: #999;
  margin-bottom: 30px;
}
#subhero input.btn, #bottom input.btn {
    margin-top: 10px;
    padding: 10px 45px !important;
    border: 0;
}

#bottom input.btn {
  margin-left: auto;
  margin-right: auto;
}
#subhero .form-group:nth-child(5), #bottom .form-group:nth-child(5) {
    width: 98%;
}

#subhero .safe-info {
  display: none;
}



#bottom .form-group:nth-of-type(7) {
    width: 100%;
    margin-top: 30px;
}

.full-width .vc_row {
    padding: 0 15%;
}

#easy {
  position: relative;
}

#easy::before {
    background: rgba(0, 0, 0, 0.35);
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: " ";
    /*z-index: 1;*/
}

#easy {
    color: #fff;
    font-weight: bold;
    font-size: 1.5em;
    padding: 120px 0;
  margin-top: 50px;
}

#easy h2, #easy h3 {
    color: #4a4a4a !important;
    font-size: 2em;
    margin-bottom: 20px;
    font-family: 'Montserrat', sans-serif;
}

#easy h3 {
  font-size: 1.5em;
  margin-bottom: 50px;
}

#easy p {
  color: #4a4a4a;
}

#steps {
  font-size: 1.3em;
}

#steps .vc_column-inner {
    background-position: right bottom !important;
    padding: 30px 20px;
    background-size: 60% !important;
    margin: 50px 0 30px;
}


#steps h3 {
      font-size: 2em;
    font-family: 'Montserrat', sans-serif;
}

#bottom {
  background: url(https://puntapacificarealty.com/wp-content/themes/realhomes/images/background-outer-wrapper.png) repeat-x scroll bottom center transparent;
}

#bottom .formbox {
      background: #f9f9f9;
    border-radius: 15px;
    padding: 40px;
    box-shadow: 0 0 80px 15px rgba(0,0,0,0.05), 0 0 28px rgba(0,0,0,0.22);
    margin-bottom: 100px;
    margin-top: 80px;
}

#bottom .safe-info {
  margin: 20px auto 0;
  display: inline-block;
  width: 100%;
}

#bottom .safe-info p {
  width: auto;
  display: inline;
  float: none;
}

#bottom .form-group.consent-notifications {
  display: inline-block;
  width: 98%;
}

#bottom span#conditional_fld_9269737_1 > .form-group {
  width: 100%;
}

#bottom .consent-notifications.warning {
  background: #ff000040;
  border: 1px solid red;
  border-radius: 5px;
}

#bottom .consent-notifications.warning label {
  margin: 10px 0;
}

#easy .overlay {
  background: rgba(255, 255, 255, 0.51);
  padding-left: 20px;
    padding-right: 20px;
}

/* LUCERO LANDING */

.subhero {
      font-size: 1.5em;
    margin: 50px 0;
    letter-spacing: .5px;
    font-weight: lighter;
}
.subhero p {
    width: 80%;
    margin-left: 10%;
}

#trio, #trio .vc_column-inner, .trio, .trio  .vc_column-inner, .image-set .vc_column-inner {
    padding: 0 !important;
}

#trio .wpb_single_image, .trio .wpb_single_image, .image-set .wpb_content_element {
    margin-bottom: 0 !important;
}

#trio figure, #trio figure img, #trio .vc_single_image-wrapper, .trio figure, .trio figure img, .trio .vc_single_image-wrapper  {
    width: 100%;
    border: 1px solid #fff;
}

.image-set .wpb_single_image *, .full-width-image-mobile .wpb_single_image *, .trio .wpb_single_image * {
    min-width: 100%;
}

.image-set .wpb_single_image img {
	border: 2px solid #fff;
	width: 100%;
}

.fullbg {
      padding: 80px 15% !important;
      font-size: 1.2em;
      color: #444;
}

.fullbg h2 {
    font-family: 'Montserrat',sans-serif;
    font-size: 2.2em;
}

#bottom.lucero {
    border-bottom: 10px solid #8BC34A;
    height: 600px;
    background-position: bottom center !important;
}

#lucero-form {
    width: 55%;
    margin: 0 15%;
    background: #fff;
    margin-top: 200px;
    padding: 80px;
    border-radius: 20px;
    margin-bottom: 160px;
    box-shadow: 0 0 80px 15px rgba(0,0,0,0.05), 0 0 28px rgba(0,0,0,0.22);
}

#post-13407,#post-13656,#post-13416 {
      background-color: whitesmoke;
}

#bottom.lucero input.btn {
    background: #8BC34A !important;
    border-radius: 30px;
}


#overview .property-item .price span {
  background-color: #565656;
}

#overview .property-item .price .status-label {
    background: url('https://www.puntapacificarealty.com/wp-content/themes/realhomes-child/img/left-dark.png') #292d2d no-repeat right 0;
}

/* Was `color: #fff !important` for all three. Correct while the card title sat
 * on the navy price bar; once that bar was removed (2026-09-17) it painted the
 * homepage featured titles white on white — and the !important beat every later
 * rule, which is why changing the colour elsewhere had no effect.
 *
 * The carousel keeps white: its titles still sit on a dark overlay. */


#soon {
  padding: 0;
}

#soon .vc_column-inner {
  padding: 50px 15%;
  font-size: 1.2em;
}

.white {
    color: #fff;
}

.white h2 strong {
  color: #fff !important;
}


/* Banner Dimensions */

/*#home-flexslider .flexslider .slides > li {
    height: 40vh;
    overflow: hidden;
}

#home-flexslider .slide-description {
    top: 50px;
    width: 40%;
}

#home-flexslider .flexslider .slides img {
    margin-top: -45px;
}*/


#topform .caldera-grid {
    width: 100%;
    border: 0;
}

#topform input {
    width: 95%;
    float: left;
    max-width: 95%;
}

#topform .form-group {
    float: left;
    display: inline-block;
    min-width: 49%;
}

#topform textarea {
	width: 195%;	
}

#topform .safe-info {
  display: none;
}

#topform .form-group:last-of-type {
    min-width: auto;
    float: right;
    margin-right: 4%;
    margin-top: -10px;
  	clear: both;
}

#benefits {
    padding-top: 80px;
    padding-bottom: 80px;
    margin-bottom: -50px;
    background: #f5f5f5;
}

.main-menu ul li a {
  font-size: 13.5px;
}

/* Start of the CSS From the Customizer - Luis Garcia - 21 Oct 2025 */

/* Adjust Cookie Consent settings overflow */
#s-inr {
    max-height: 70vh;
    overflow: auto;
}

/* Hide Recaptcha label */
label[for="fld_592460_1"] {
	display: none !important;
}

/* Jan 14th, 2025 - Luis Garcia: Hide "Accept Necessary" button on GDPR popup */
button#c-s-bn, div#c-ttl, div#s-bns {
	display: none !important;
}

#c-s-in {
	height: auto !important;
}

.show--settings .c--anim #s-inr {
	padding-bottom: 0 !important;
}

/* Aug 8th, 2024 - Luis Garcia: Include "Spotlight to Panama" in header */
.social_networks li.pprtv a {
    width: auto !important;
    padding: 0 15px;
    border: 0;
    text-decoration: underline;
    font-size: 95%;
    font-weight: bold;
}

.social_networks li.pprtv a img {
    position: relative;
    transform: scale(1.2);
    top: 2px;
    right: -4px;
}

li.pprtv span {
    color: #fff;
    margin: 0 15px;
	font-weight: bold;
}

/* July 9th, 2024 - Luis Garcia: Hide cookie consent on Popups */
body.page-template-blankpage-template #cc--main {
	display: none !important;
}

/* May 17th, 2024 - Luis Garcia: disable double submission of forms on landing pages */
#bottom .submitted input.btn {
	cursor: not-allowed;
}

/* March 12th, 2024 - Luis Garcia: hide mobile menu on landing templates */
body.page-template-template-vc button.rmp_menu_trigger {
	display: none !important;
}

/* Feb 3rd, 2024 - Luis Garcia: styling for Ana's landing */
#anaMenu {
    padding: 0 40px;
}

#anaMenu ul {
	display: flex;
	align-items: center;
	justify-content: center;
}
#anaMenu a {
	line-height: 1;
}

#anaMenu a.btn {
    border: 0;
    padding: 8px 20px;
}

/* May 5th, 2023 - Luis Garcia: styling for returning visitor widget */

/*
#caldera_forms_widget-2 {
          display: none;
        }
*/

#caldera_forms_widget-3 {
	text-align: center;
	display: none;
}
        
.sidebar .caldera-grid {
    width: auto;
    border: 0;
    background: transparent;
    padding: 0;
}

#caldera_forms_widget-3 .caldera-grid label  {
	text-align: center;
	margin-bottom: 0;
}

#caldera_forms_widget-3 h3.title, #caldera_forms_widget-3 span.field_required {
	display: none;
}

#caldera_forms_widget-3 p {
	color: #fff;
	margin: 10px 0 0;
}

#caldera_forms_widget-3 form {
	margin: 0;
}

#caldera_forms_widget-3 .visitorName {
    padding: 10px 15px;
    margin: 0;
	color: #fff;
	text-transform: capitalize;
}

#caldera_forms_widget-3 .visitorName + h5, #caldera_forms_widget-3 .caldera-grid .form-group {
	margin: 0;
	color: #fff;
	padding: 15px;
	text-align: center;
}

#caldera_forms_widget-3 .caldera-grid .form-group > div > input {
    margin: 0;
}

#caldera_forms_widget-3 .caldera-grid .form-group {
    padding: 0 15px;
}

#caldera_forms_widget-3 [data-formpage="1"] label + div {
    margin: 15px -15px -5px;
	width: calc(100% + 30px);
    display: inline-block;
}

#caldera_forms_widget-3 [data-formpage="1"] .radio {
    padding: 5px 0;
    margin: 0;
    width: 50%;
    float: left;
    text-align: center;
	position: relative;
		height: 40px;
}

#caldera_forms_widget-3 label[for="fld_2776047_1"] + div .radio:last-of-type {
    width: 100%;
}

#caldera_forms_widget-3 [data-formpage="1"] .radio:hover, #caldera_forms_widget-3 [data-formpage="1"] .radio:active {
	filter: brightness(110%);
}


#caldera_forms_widget-3 [data-formpage="1"] .radio input {
	appearance: none;
    padding: 0;
    width: 0;
    height: 0;
    position: absolute;
    top: 0;
    left: 0;
}

#caldera_forms_widget-3 [data-formpage="1"] .radio label {
	font-weight: bold;
	padding: 0;
	cursor: pointer;
	position: absolute;
    width: 100%;
    left: 0;
    height: 100%;
	top: 0;
    line-height: 40px;
}

label.control-label[for="fld_9188425_1"], label[for="fld_3707070_1"] {
    margin: 0 -15px 0;
    padding: 10px 15px;
    width: calc(100% + 30px);
    max-width: none;
}

#caldera_forms_widget-3 [data-formpage="2"] .form-group + .form-group, #caldera_forms_widget-3 [data-formpage="3"] .form-group + .form-group, #caldera_forms_widget-3 [data-formpage="4"] .form-group + .form-group:last-of-type {
    padding: 0;
    width: 100%;
    float: left;
	position: relative;
	z-index: 1;
}

input#fld_6096417_1, input#fld_3805562_1, input#fld_6834705_1, input#fld_8091105_1,
input#fld_8751170_1,
input#fld_9356015_1{
    border-radius: 0;
    border: 0;
    width: 100% !important;
    max-width: none;
    text-shadow: none;
	height: 40px;
}

#caldera_forms_widget-3 [data-formpage="2"] .form-group:last-of-type, #caldera_forms_widget-3 [data-formpage="3"] .form-group:last-of-type, #conditional_fld_9356015_1 > .form-group {
    width: 100%;
    float: left;
    padding: 0 !important;
    margin: 0 !important;
}

#caldera_forms_widget-3 .checkbox {
    padding: 0;
    margin: 0 -15px;
	font-size: 0;
	height: 50px;
}

#caldera_forms_widget-3 .checkbox label {
    padding: 15px 10px 15px 35px;
    width: 100%;
    text-align: left;
    display: inline-block;
    border-bottom: 1px solid #555;
}

#caldera_forms_widget-3 .checkbox label:hover {
	filter: brightness(1.2);
}

#caldera_forms_widget-3 
label.control-label[for="fld_443129_1"] {
    margin-top: 20px;
    border-top: 1px solid #555;
    width: 100%;
    padding-top: 10px;
}

#caldera_forms_widget-3  
[data-formpage="4"] span.caldera-forms-conditional-field:not(:last-child) .form-group {
    padding: 10px 15px !important;
}

#caldera_forms_widget-3 [data-formpage="4"] .form-group:not(:last-of-type) {
    padding-top: 15px !important;
}

#caldera_forms_widget-3 input[type="text"], #caldera_forms_widget-3 input[type="email"] {
    max-width: 100%;
}

#caldera_forms_widget-3 input[type="checkbox"] {
margin-left: -20px;
    margin-right: 10px;
    appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #555;
    border-radius: 100%;
	position: relative;
	outline: none;
}

input#fld_443129_1_opt1859014 {
	float: none;
}

#caldera_forms_widget-3 input[type="checkbox"]:checked:after {
    content: " ";
    position: absolute;
    width: 70%;
    height: 70%;
    border-radius: 100%;
    left: 15%;
    top: 15%;
}

#caldera_forms_widget-3 [data-formpage="3"] .form-group {
	overflow: hidden;
}

#caldera_forms_widget-3 [data-formpage="3"] input[type="checkbox"] {
    margin-left: -5px;
}

#caldera_forms_widget-3 input[type="text"], #caldera_forms_widget-3 input[type="email"] {
    text-align: center;
    border: 1px solid #8b9293;
    border-radius: 20px;
    color: #fff;
    margin-bottom: 10px !important;
}

#caldera_forms_widget-3 .checkbox label[for="fld_443129_1_opt1859014"] {
    margin: 0 15px;
    width: calc(100% - 30px);
    text-align: center;
}

#caldera_forms_widget-3 [data-formpage="3"] .checkbox {
    width: 50%;
    float: left;
    text-align: center !important;
    margin: 0;
    height: 75px;
}

#caldera_forms_widget-3 [data-formpage="3"] .checkbox input {
    position: absolute;
    top: 8px;
    left: 10px;
    transform: scale(.7);
}

/* Dec 08, 2022 - Luis Garcia: show separator when there's more than one property type for the same property */

.property-item .price span.propType:not(:last-of-type):after {
    content: ",";
}
.property-item .price span.propType:not(:last-of-type) {
    margin-right: 5px;
}
.property-item .price span.propType {
    color: #fff;
}

/* May 23, 2022 - Luis Garcia: hide menu button on properties popup iframe */
body.page-template-blankpage-template button.rmp_menu_trigger {
    display: none !important;
}

button.rmp_menu_trigger {
	z-index: 99999;
}

body.admin-bar button.rmp_menu_trigger {
    top: 50px !important;
}

/* May 23, 2022 - Luis Garcia: prevent viewport overflow on vertical videos */
.wp-video, .wp-video * {
    max-height: 65vh;
    overflow: hidden;
}


/* April 21, 2021 - Luis Garcia: styling header newsletter */
.mc4wp-form-basic .mc4wp-success, .mc4wp-form-theme .mc4wp-success {
    background: #d5eabc;
    padding: 10px;
}

.mc4wp-form-basic .mc4wp-success p {
    margin: 0;
}

.contact-details address {
	width: 250px;
}

/* Oct 15, 2020 - Luis Garcia: Landing Pages with gradients */
.gradientImg {
  position: relative;
		background: whitesmoke;
}

.gradientImg .imgCol img {
  width: 50vw;
  height: auto !important;
}

.gradientImg .imgCol {
  position: absolute;
  right: 0;
  width: 50vw;
	height: 100%;
	overflow: hidden;
}

.gradientImg .imgCol .wpb_wrapper, .gradientImg .imgCol .wpb_wrapper > div {
    height: 100%;
    margin: 0;
}

.gradientImg .imgCol .vc_column-inner {
  padding: 0;
}

.gradientImg h2, .gradientImg h3 {
	font-family: 'Montserrat',sans-serif;
    font-size: 2.2em;
}

.gradientImg p {
    font-size: 20px;
    line-height: 1.4 !important;
}

.gradientImg > div:not(.imgCol) {
    padding: 100px 0;
}

.gradientImg .imgCol:after {
    display: block;
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 25vw;
    height: 100%;
    background-image: linear-gradient(90deg, whitesmoke, transparent);
	z-index: 10;
}

.gradientImg.switchCols .imgCol:after {
    left: auto;
    right: 0;
    background-image: linear-gradient(90deg, transparent, whitesmoke);
		z-index: 10;
}

.gradientImg.switchCols > div:not(.imgCol) {
    float: right;
}

.vc_row.vc_row-flex.switchCols {
    flex-direction: row-reverse;
}

.gradientImg.switchCols .imgCol {
    right: auto;
    left: 0;
}

.slide-description {
    background-color: rgba(255, 255, 255, 0.7);
}

/* Aug 8th, 2024 - Luis Garcia: replace twitter icon with X icon */
.fa-twitter:before {
    content: "\e61b";
    background: url("data:image/png;base64,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") center center no-repeat;
    background-size: 13px;
    filter: invert(1);
}

/* End of the CSS from the Customizer - Luis Garcia - 21 Oct 2025 */

/* Start of Media Queries CSS from the Theme Options - Luis Garcia - 21 Oct 2025*/

@media screen and (max-width: 980px) {
.ccw_plugin > div {
border: 0;
}
}

@media (max-width: 1300px) {

li.menu-item-home {
display: none;
}

}

@media (max-width: 1200px) {

.advance-search-form .clearfix {
    display: none;
}

.header-wrapper .container {
    width: 95%;
}

/*.main-menu ul li:first-child, .main-menu ul li:last-child {
    display: none;
}*/

.header-wrapper .container {
    width: 98%;
}

.main-menu ul li a {
    padding: 15px 6px;
    font-size: 12px;
}

h2.contact-number { top: 50px}

}

@media screen and (max-width: 1050px) {


#top-header-widget { 
height: auto; 
    max-width: 100%;
width: 100%;
}

#top-header-widget input, #top-header-widget p, #top-header-widget input[type=text], #top-header-widget input[type=email] {
    width: 100%;
    max-width: 100%;
}

#top-header-widget p:last-of-type {
    position: initial;
}

.main-menu {display: none;}
h2.contact-number {
    top: 0;
}
}


@media (max-width: 990px) {

h2.contact-number{
    position: relative;
    margin-bottom: 20px;
}

.contact-number, .contact-number .outer-strip, .contact-number .fa-phone {
background: transparent !important;
}

#shiftnav-toggle-main {
display: block;
}

.shiftnav-wrap {
padding-top: 33px !important;
}

body.page-id-5536 .shiftnav-wrap, body.page-id-11784 .shiftnav-wrap {
padding-top: 0 !important;
}

body.page-id-5536 #shiftnav-toggle-main, body.page-id-11784 #shiftnav-toggle-main {
    display: none;
}


.advance-search  h3{
background-size: 30px 17px;
}


.container {
width: 90%;
}

.span12, .main-wrap {
width: 100% !important;
float: none;
margin: 0 auto;
}

.property-items .span6 {
    width: 40%;
    margin-left: 5%;
}

.property-item figure, .property-item figure img {
width: 100%;
margin: 0 auto;
}

.property-item .detail {
width: 95% !important;
}

.property-item .price {
margin-left: -16px;
}

.property-item .property-meta span {
max-width: 21%;
text-align: center;
}

#footer > .row > .span3 {
    width: 30%;
}

.advance-search .as-form-wrap {
display: none;
}

.search-heading:hover {
cursor: pointer;
}

.user-nav, nav.main-menu, #home-flexslider, #flags, #logo {
display: none !important;
}

.widget_youtube-channel {
margin-top: 30px;
}

}

/* Mobile */
@media (max-width: 767px) {

.subhero {
    margin-top: 0 !important;
}

body.page-template-template-vc #logo-mobile, body.page-template-template-vc button#responsive-menu-button {
    display: none !important;
}

body.page-template-template-vc .menu-and-contact-wrap {
    padding-bottom: 0;
}

hero.premium h2 {
    font-size: 2em !important;
}

/* body.page-template-template-vc h3 {
font-size: 1.5em !important;
} */

body.page-template-template-vc h2.contact-number {
    padding-top: 15px;
}
.backdrop .dd_popup .basic_headline, .backdrop .dd_popup .basic_headline *, .backdrop .dd_popup .basic_paragraph * {
font-size: 20px !important;
}

.backdrop .dd_popup .dropped.basic_button {
top: 60px !important;
}

.medio {
width: 98%;
margin: 0 1%;
}

.caldera-grid { width: 99.5%;}

/* .popup-header { display: none;}

.triangle { border-bottom-color: #2B67B1;}*/

#crmWebToEntityForm {
max-height: 350px;
overflow-y: scroll;
}

#youtube-channel-3 > .youtube_channel.responsive .ytc_video_container {
width: 100% !important;
margin: 0;
}
 
.property-items .span6 {
    width: 90%;
    margin: 0 auto;
}

.property-item .price, .property-item .detail {
width: 100% !important;
text-align: center;
margin: 0 auto 15px !important;
min-height: auto;
}

.listing-layout .property-item figure {
margin-bottom: 0;
}

.property-item .price {
padding: 10px 0 !important;
margin-bottom: 5px;
}

.property-item .property-meta span {
width: 22%;
max-width: 22%;
}

.sidebar .widget {
width: 100% !important;
}

#footer > .row > .span3 {
    width: 100%;
}

#overview .property-item .property-meta span {
display: inline-block;
}

li.bawmrp_manual {
width: 100% !important;
    border-bottom: 1px solid lightgray;
    margin-bottom: 30px;
}

.home-recent-posts {
padding: 0 10px 30px;
}

.home-recent-posts .hentry {
    border-bottom: 1px solid lightgray;
    margin-top: 15px;
}

.home-recent-posts img {
    width: 100%;
}

.stb-5534 {
overflow: scroll !important;
}

.tax-desc .container > p {
    width: 100%;
    margin-right: 0;
}

.inner-wrapper .hentry, #overview .property-item p{
    font-size: 17px;
    font-weight: 300;
}

}

@media screen and (max-width: 575px) {

.full-width #hero.vc_row {
    padding: 0 !important;
}

.full-width #hero .vc_column-inner .wpb_wrapper {
padding: 20px !important;
}

#hero img {
    width: auto !important;
    min-width: auto !important;
    max-width: 60vw !important;
}

.subhero h2 {
font-size: 1.2em !important;
}

.subhero p, .subhero ul {
    width: 100% !important;
    margin-left: 0 !important;
font-size: 18px !important;
    line-height: 1.3 !important;
}

.subhero a {
    font-size: 12px !important;
    font-weight: normal !important;
}

.full-width #bottom.vc_row {
    padding: 0 10px !important;
}

#lucero-form {
    margin: 20px 0 !important;
    padding: 20px 30px !important;
}

#hero.lucero h1, #hero.lucero h3 {
    font-size: 2em !important;
}

#data p {
    font-size: 15px;
    line-height: 1.5;
}

#hero a{
    padding: 11px 15px !important;
    font-size: 12px !important;
font-weight: normal !important;
}
}

/* End of Media Queries CSS from the Theme Options - Luis Garcia - 21 Oct 2025*/

/* Desktop */
@media (min-width: 1200px) {
h3 img {
    max-width: 10%;
}
}

/* Tablets */
@media (max-width: 979px) { 

  #lucero-form {
    width: calc(100% - 160px);
    margin-left: 0;
    margin-right: 0;
  }
  
  button#responsive-menu-button, #responsive-menu-container {
    display: block !important;
  }
    

body.home .property-item figure, body.home .property-item .detail {
  width: 90% !important;
}

body.home .property-item .detail { 
  min-height: auto;
  margin: 20px auto;
  }

.advance-search  h3{
background-size: 30px 17px;
}


.container {
width: 90%;
}

.span12, .main-wrap {
width: 100% !important;
float: none;
margin: 0 auto;
}

.property-items .span6 {
    width: 40%;
    margin-left: 5%;
}

.property-item figure, .property-item figure img {
width: 100%;
margin: 0 auto;
}

.property-item .detail {
width: 95% !important;
}

.property-item .price {
margin-left: -16px;
}

.property-item .property-meta span {
max-width: 21%;
text-align: center;
}

#footer > .row > .span3 {
    width: 30%;
}

#shiftnav-toggle-main {
display: block;
}

.shiftnav-wrap {
padding-top: 33px !important;
}

.advance-search .as-form-wrap {
display: none;
}

.search-heading:hover {
cursor: pointer;
}

.user-nav, nav.main-menu, #home-flexslider, #flags, #logo {
display: none !important;
}

.widget_youtube-channel {
margin-top: 30px;
}

}

/* Mobile */
@media (max-width: 767px) {
	
	.full-width-mobile img {
		width: 100vw !important;
		max-width: 100vw;
	}

  .verde .vc_column-inner , #hero.lucero .vc_column-inner {
    padding: 200px 20% 120px !important;
  }

  /* Luis Garcia, March 5th 2026: Make sure all trio images are visible on mobile */
  /* #trio .wpb_column:first-of-type, .trio .wpb_column:first-of-type, #trio .wpb_column:last-of-type, .trio .wpb_column:last-of-type  {
    display: none;
  } */

  .vc_row[data-vc-full-width="true"].trio {
    padding: 0 !important;
  }

  .trio .vc_single_image-wrapper {
    border: 0 !important;
  }

  .image-set .wpb_single_image img {
    max-width: calc(100% - 4px);
    }

  #bottom.lucero {
    height: auto;
  }

  #lucero-form {
    width: auto;
    margin: 50px 0;
    padding: 50px;
  }

  #subhero .form-group, #bottom .form-group {
    width: 100%;
  }


  #logo-mobile {
  display: block !important;
}

h2.contact-number {
  position: relative;
  top: 0 !important;
}

#header-top {
  padding-top: 70px;
}

.menu-and-contact-wrap {
    padding-bottom: 20px;
}

  .youtube_channel {
    display: block;
    max-width: 90%;
    margin: 0 5%;
  }

.hide-desktop {
  display: block !important;
  }
  
.medio {
width: 98%;
margin: 0 1%;
}

.caldera-grid { width: 98%;}

/*.popup-header { display: none;}*/

.triangle { border-bottom-color: #263879;}

#crmWebToEntityForm {
max-height: 350px;
overflow-y: scroll;
}

#youtube-channel-3 > .youtube_channel.responsive .ytc_video_container {
width: 100% !important;
margin: 0;
}
 
.property-items .span6 {
    width: 90%;
    margin: 0 auto;
}

.property-item .price, .property-item .detail {
width: 100% !important;
text-align: center;
margin: 0 auto 15px !important;
min-height: auto;
}

.listing-layout .property-item figure {
margin-bottom: 0;
}

.property-item .price {
padding: 10px 0 !important;
margin-bottom: 5px;
}

.property-item .property-meta span {
width: 22%;
max-width: 22%;
}

.sidebar .widget {
width: 100% !important;
}

#footer > .row > .span3 {
    width: 100%;
}

#overview .property-item .property-meta span {
display: inline-block;
}

li.bawmrp_manual {
width: 100% !important;
    border-bottom: 1px solid lightgray;
    margin-bottom: 30px;
}

.home-recent-posts {
padding: 0 10px 30px;
}

.home-recent-posts .hentry {
    border-bottom: 1px solid lightgray;
    margin-top: 15px;
}

.home-recent-posts img {
    width: 100%;
}

.full-width .vc_row.subhero {
  padding: 0 5%;
}

}

@media (max-width: 560px) {

  .full-width #hero .vc_column-inner, .verde .vc_column-inner {
      padding: 50px 20px 10px !important;
      margin-top: 0;
  }

  .area2, .area3 {
    width: 100%;
    margin: 5px 0;
  }


  #header-top #lang_sel {
      display: inline-block;
      float: left;
      width: 100%;
  }

  #lang_sel li {
    width: 100%;
  }

  #header-top #lang_sel a {
    padding: 10px;
  }

  #lang_sel ul ul {
    width: 100%;
    top: 45px;
  }

  #lang_sel ul ul a, #lang_sel ul ul a:visited {
    line-height: 2em;
  }
}

/* Start of the CSS from the Customizer - Luis Garcia - 21 Oct 2025*/

@media screen and (max-width: 1400px) {

	.gradientImg .imgCol img {
    height: 100% !important;
    width: auto;
    max-width: none;
}
	
}

@media screen and (max-width: 1024px) {
	
	#anaMenu {
		padding: 0;
	}
	
	#anaMenu:before {
    padding: 10px 0;
    content: "Menu";
    text-align: center;
    width: 100%;
    cursor: pointer;
	}
	
	#anaMenu.show:before {
		content: "Close Menu";
		background: #083455;
	}
	
	#anaMenu > div {
    display: none;
	}
	
	#anaMenu.show > div {
    display: block;
	}
	
	#anaMenu ul {
		display: block;
	}
	
	#anaMenu li, #anaMenu ul li:first-child {
		width: calc(25% - 1px);
    float: left;
    box-sizing: border-box;
    padding: 0;
    overflow: hidden;
    margin-bottom: -1px;
    margin-right: -1px;
    height: 50px;
    line-height: 50px;
	}
	
	#anaMenu a.btn {
		border-radius: 0;
		background: inherit !important;
		border: 0 !important;
		box-shadow: none;
	}
	
	#anaMenu a {
		width: 100%;
		padding: 10px 0 !important;
	}

}


@media screen and (max-width: 768px) {
	.gradientImg .imgCol {
    position: initial;
    width: 100%;
}
	
	.vc_row.vc_row-flex.gradientImg {
    display: contents;
}
	
	.gradientImg .imgCol img {
    height: auto !important;
    width: 100%;
    max-width: 100%;
}
	
	.gradientImg > div:not(.imgCol) {
    padding: 40px;
}
	
	.gradientImg .imgCol:after {
 display: none !important;
	}
	
	#anaMenu li, #anaMenu ul li:first-child {
    width: calc(33.33% - 1px);
	}
	
	 #anaMenu ul li:last-child {
		 width: 100%;
	}
	
	.vc_row[data-vc-full-width="true"] .wpb_single_image.full-width-mobile {
    width: 100vw;
    margin-left: -5vw;
	}
	
	.social_networks li.pprtv {
    display: block;
		line-height: 1.5;
    margin-top: 10px;
}

}

@media screen and (max-width: 640px) {
	.full-width #hero .vc_column-inner:before, .verde .vc_column-inner:before {
		    top: 15%;
    height: 75%;
	}
	
	.full-width #hero.lucero .vc_column-inner:after {
top: 12%;
	height: 80%;}
	
	h1.page-title.tax span {
		display: inline-block;
		    padding: 45px 10%;
    line-height: 1.1;
	}
	
	h1.page-title.tax span:before {
    width: calc(100% + 20px);
    height: calc(100% + 20px);
    top: -16px;
    left: -14px;
	}
	
	page-head.tax {
    padding-bottom: 40px;
		padding-top: 10px;
	}
	
	.flex-direction-nav, #property-carousel-two {
			display: block !important;
	}
	
	#property-slider-two-wrapper {
    width: calc(100% + 10vw);
    margin: -35px -5vw 0;
    padding: 0;
}
	
	#property-carousel-two {
    padding: 0;
    background: #fff;
    margin-bottom: 10px;
}
	
	#anaMenu li, #anaMenu ul li:first-child {
    width: 100%;
	} 
	
}

/* End of the CSS from the Customizer - Luis Garcia - 21 Oct 2025 */

/* =============================================================================
 * Rules ported from old style.css (below the @import line)
 * The @import url("../realhomes/style.css") is NOT needed — the new child
 * theme's inspiry_enqueue_child_styles() handles the parent stylesheet.
 * ============================================================================= */

button.btn, input[type="submit"].btn, button.btn:hover, input[type="submit"].btn:hover {
	padding: 5px 0px;
	float: none;
	margin: 10px auto;
	color: #FFFFFF;
	text-transform: uppercase;
	cursor: pointer;
	font-size: 17px;
	text-align: center;
	display: block;
	width: 100%;
}

.arconix-toggle-content {
	color: #8B9293 !important;
}

.arconix-toggle-wrap {
	background: none !important;
	border: none !important;
	padding: 5px 0 !important;
}

.arconix-toggle-content {
	margin-left: 0px !important;
	padding: 15px 0 !important;
}

.arconix-toggle-title {
	color: #8B9293 !important;
	font-size: 14px !important;
}

.arconix-toggle-title .arconix-toggle-content p {
	color: #8B9293 !important;
	font-weight: normal !important;
}

.sidebarforminput {
	width: 91% !important;
}

#rss-2 p {
	word-break: break-all !important;
}

@media only screen and (max-width: 479px) {
	.advance-search .search-heading {
		font-size: 16px !important;
	}
	#youtube-sidebar-widget ul {
		width: auto !important;
	}
	h4 br {
		display: none;
	}
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	/* DEPRECATED Bootstrap 2: #footer > .row > .span3 — footer.php discarded */
	#footer > .row > .span3 {
		min-height: 455px !important;
	}
}

@media only screen and (max-width: 979px) {
	#flags ul {
		margin: 0;
		float: none !important;
	}
	#header-top #flags li {
		display: inline-block !important;
		width: auto !important;
		float: none !important;
	}
	#flags {
		width: 100% !important;
		text-align: center !important;
	}
	.widget ul li:first-child {
		border: none !important;
	}
}

iframe {
	max-width: 100% !important;
}

@media only screen and (max-width: 767px) {
	input#fld_5351273_1, .checkbox input[type="submit"], input#fld_8295470_1, input#fld_3095551_1 {
		width: 90%;
	}
	.checkbox {
		height: 25px;
	}
	.stb-top-center-container {
		padding: 20px;
	}
	.caldera-grid input[type="radio"], .caldera-grid .radio input[type="radio"], .caldera-grid .radio-inline input[type="radio"], .caldera-grid input[type="checkbox"], .caldera-grid .checkbox input[type="checkbox"], .caldera-grid .checkbox-inline input[type="checkbox"] {
		height: 13px;
	}
	.stb.stb-bottom-center, .stb.stb-top-center {
		top: -30px !important;
	}
	a#closebtn {
		right: 16px !important;
		top: 6px !important;
	}
}

@media only screen and (max-width: 380px) {
	.checkbox {
		height: 35px;
	}
	#bl_page_tem {
		padding: 10px 15px;
	}
}

@media only screen and (min-width: 321px) and (max-width: 480px) {
	.stb-top-center-container {
		height: 200px !important;
	}
}

#fld_5858126_1, #fld_5858126_1_btn {
	display: none;
}

#popuplogo {
	margin-bottom: 20px;
}

.popupbg {
	width: 3000px !important;
	height: 2000px !important;
	margin-left: -1500px !important;
}

.caldera-grid .col-sm-6 {
	width: 49%;
	float: left;
}

.caldera-grid .col-sm-12 {
	width: 98%;
}

.caldera-grid .radio, .caldera-grid .checkbox {
	position: relative;
	display: block;
	margin-top: 0px !important;
	margin-bottom: -4px !important;
}

#bl_page_tem {
	padding: 20px 30px 0px 30px !important;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

#popuplogo {
	margin-bottom: 10px;
}

#bl_page_tem h4 {
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
	padding-bottom: 0px !important;
	margin-bottom: 10px;
}

h3.ytc_title.ytc_title_below {
	font-size: 16px;
	padding: 0 0 10px 10px;
}

/* === Ported from old parent theme's style.css (was loaded via @import in old child theme) === */
.maskPopup {
	height: 100%;
	position: absolute;
	width: 100%;
	z-index: 20;
}

.stb-container.stb-top-center-container1 {
	width: 100% !important;
	height: 100% !important;
	background: rgba( 0, 0, 0, 0.9 ) !important;
}

.stb {
	-moz-box-shadow: 0 0 0 0 #888 !important;
	-webkit-box-shadow: 0 0 0 0 #888 !important;
	box-shadow: 0 0 0 0 #888 !important;
	padding: 0px !important;
	margin: 50px 0 0 0 !important;
}

#overlay {
	background: none 0% 0% repeat scroll rgba(13, 13, 13, 0.95) !important;
}

.page .span5 img {
	max-width: 100% !important;
}

#flags {
	width: auto !important;
	float: left;
	margin-right: 10px;
	margin-top: 15px;
}

#flags li {
	margin-right: 5px;
}

/* === Search form field alignment === */
/* flex-start, not center. Centering made every field block sit on the row's
 * vertical midpoint, so a short text-input block (label + input) floated lower
 * than a taller select block (label + bootstrap-select button) and the labels
 * across a row no longer lined up. Aligning to the top puts every label on the
 * same baseline regardless of how tall its control is. */
.advance-search-form > .wrapper-search-form-grid {
	align-items: flex-start;
}

/* === Header widget (#top-header-widget) — ported from old theme css/custom.css === */
#header {
	position: relative;
}
#top-header-widget {
	position: absolute;
	right: 0;
	z-index: 99999;
	width: 415px;
}
#top-header-widget p label {
	display: none;
}
#top-header-widget p {
	margin: 0;
	padding: 0;
}
#top-header-widget input[type=text],
#top-header-widget input[type=email] {
	float: left;
	width: 150px;
	margin-right: 10px;
	border: solid 1px #c1c1c1;
	background-color: #fff;
	height: 35px;
	padding-left: 10px;
	box-sizing: border-box;
}
#top-header-widget input[type=submit] {
	border: none;
	height: 35px;
	width: 94px;
	text-align: center;
	color: #fff;
}
#top-header-widget .widget {
	background-color: transparent;
	border: none;
	margin: 0;
	padding: 0;
	position: relative;
	top: -20px;
}
#top-header-widget h4 {
	margin-top: 0;
	margin-bottom: 5px;
	color: #afb4b5;
	font-size: 16px;
}
#top-header-widget .mc4wp-form {
	margin-top: 7px;
}
@media (max-width: 979px) and (min-width: 498px) {
	#top-header-widget {
		position: initial;
		width: 100%;
	}
	#top-header-widget .widget {
		position: initial;
		top: 0;
		margin-top: 15px;
	}
	#top-header-widget input[type=submit] {
		width: 31%;
	}
	#top-header-widget input[type=text],
	#top-header-widget input[type=email] {
		width: 33%;
		margin-right: 1%;
	}
}
@media (max-width: 499px) {
	#top-header-widget {
		position: initial;
		width: 100%;
	}
	#top-header-widget .widget {
		position: initial;
		top: 0;
		margin-top: 15px;
	}
	#top-header-widget input[type=submit] {
		width: 100%;
	}
	#top-header-widget input[type=text],
	#top-header-widget input[type=email] {
		width: 100%;
		margin-right: 0;
		float: none;
	}
}

/* =============================================================================
   R2 (2026-08-23): search form field widths.
   The deleted status.php / location.php child overrides used class "large";
   the parent renders both fields with class "small". Reproduce the wider
   old-theme layout in CSS instead of copied templates.
   ========================================================================== */
.advance-search.rh_classic_main_search .rh_classic_advance_search_form .option-bar.rh_classic_status_field,
.advance-search.rh_classic_main_search .rh_classic_advance_search_form .option-bar.rh_classic_location_field {
	width: calc(25% - 20px);
	max-width: none;
	flex: initial;
}

/* =============================================================================
   R3 (2026-08-23): footer handled via parent template + CSS instead of a
   copied footer.php override.
   - #footer-bottom: CORRECTED 2026-08-23 — prod's old child DOES render it
     (copyright + Privacy/Terms links), so it is no longer hidden here. The
     scripts that were stuffed inside the copyright OPTION are ported to
     child-custom.js and the option is cleaned by functions.php Section 27.
   - Footer first column: the old override skipped it on Spanish pages via an
     ICL_LANGUAGE_CODE conditional; WPML stamps <html lang="es-...">, so an
     attribute selector does the same without PHP. display:none removes it
     from the float flow exactly like the old non-rendering did.
   ========================================================================== */
html[lang^="es"] #footer .row > div:first-child { display: none; }

/* =============================================================================
   2026-08-23 — styling regressions found by Luis's visual review.
   ========================================================================== */

/* 1. EU cookie notice.
   The old child theme printed these rules in an inline \3c style> block directly
   above the markup in footer.php. The port carried the markup but not the
   styles, so the banner rendered unstyled. Restored verbatim (FA4 .fa → FA6
   .fas). display:none is required — the JS fades it in only when the
   pprpolicy cookie is absent. */
#eu-cookie {
	background: rgba(0, 0, 0, 0.8);
	display: none;
	color: #fff;
	position: fixed;
	z-index: 3000;
	-webkit-transform: translateZ(0);
	width: 100%;
}
#eu-cookie.top { top: 0; }
#eu-cookie .popup-wrapper { padding: 10px; }
#eu-cookie .popup-wrapper p {
	border: none;
	color: #fff;
	margin: 0;
	font-size: 16px;
	font-weight: 400;
}
#eu-cookie .popup-wrapper a.close-icon { float: right; }
#eu-cookie .popup-wrapper a.close-icon .fas { color: #fff; }
#eu-cookie .popup-wrapper a.close-icon span {
	display: none;
	height: 0;
	visibility: hidden;
}

/* 2. Navigation submenu descriptions.
   The new parent's nav walker prints each item's description in
   <span class="menu-item-desc"> — a mega-menu feature. PPR's menu items are
   taxonomy terms with long descriptions, so in the classic dropdown they
   rendered as large text blocks over the page. The old theme never output
   them; hide them to restore that behaviour. */
.rh_menu__main_menu .menu-item-desc,
.rh_menu__responsive .menu-item-desc,
#navigation .menu-item-desc {
	display: none !important;
}

/* 3. Content video embeds.
   Older page content wraps YouTube iframes in .video-iframe with no width
   rules, so they render at their native 560px instead of filling the column.
   (Prod's rebuilt content uses .span12 and is unaffected; this fixes legacy
   content wherever it still exists.) */
.video-iframe { width: 100%; }
.video-iframe iframe {
	width: 100%;
	min-height: 400px;
	aspect-ratio: 16 / 9;
}


/* =============================================================================
   2026-08-24 — blog post + navigation parity with prod.
   ========================================================================== */

/* Submenu background: the parent defaults to its orange accent; PPR's is the
   dark navy from the old theme (sampled from prod: rgb(26,38,47)). */

/* Blog post meta + share bar. These rules lived in the OLD PARENT's
   css/main.css (scoped under #overview) and were never ported, so the share
   bar rendered as plain inline text. Restored; FA4 [class^="fa-"] selectors
   still match FA6 markup. */
.single-post-main .post-header .post-meta,
.single-post-main .post-meta {
	font-family: "Roboto", Helvetica, Arial, sans-serif;
	border-top: 1px solid #dedede;
	/* The parent underlines the meta with a heavy 5px blue accent bar
	   (.post-meta{border-bottom:5px solid #4dc7ec}). Not wanted on single
	   posts — it reads as a stray rule above the share bar. */
	border-bottom: none;
	padding: 16px 0 23px;
}
#overview .share-networks {
	margin: 0 0 14px;
	border: 1px solid #dedede;
	background-color: #f5f5f5;
}
#overview .share-networks a {
	font-size: 13px;
}
#overview .share-networks a [class^="fa"],
#overview .share-networks a [class*=" fa"] {
	margin: 0 9px 0 12px;
	color: #929a9b;
}
#overview .share-networks span {
	display: block;
	float: left;
	padding: 11px 23px 11px 0;
	border-right: 1px solid #dedede;
}
#overview .share-networks span:last-of-type { border-right: none; }
#overview .share-networks .share-label {
	position: static;
	margin: -1px 6px -1px -1px;
	padding: 12px 21px 13px 17px;
	border-right: none;
	background-color: #4a5556;
	color: #fff;
}
#overview .share-networks::after { content: ""; display: table; clear: both; }

/* Post title matches prod's uppercase treatment */
.single-post-main .post-title { text-transform: uppercase; }

/* ============================================================================
   VISUAL PARITY FIXES — 2026-08-27
   Each rule below closes a specific prod↔dev difference found during the
   screenshot review. Numbers refer to docs/PARITY_FINDINGS_VISUAL.md.
   ========================================================================== */

/* #16 — Header logo renders far smaller than production.
   The new parent ships `#logo:not(.header__top){max-width:260px}`. That is
   specificity (1,1,0); the ported `#logo{max-width:35%}` is only (1,0,0), so
   the parent wins and caps the logo at 260px. Match the parent's specificity
   to restore production's proportional sizing. */
#logo:not(.header__top) {
	max-width: 35%;
}

/* #18 — Homepage video sits at its intrinsic size instead of filling the column.
   The embed markup is identical on both sides — `<iframe width="560"
   height="315">` inside a paragraph — so this is purely presentational.
   Production stretched content embeds to the column width. Drive the height
   from the aspect ratio rather than the fixed attribute, so it stays 16:9
   instead of being squashed to 315px at full width. */
.wpb_text_column iframe[src*="youtube"],
.wpb_text_column iframe[src*="vimeo"],
.wpb_wrapper iframe[src*="youtube"],
.wpb_wrapper iframe[src*="vimeo"] {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}

/* #8 — Sorting and search dropdowns render in caps; production is mixed case.
   The option text itself is mixed case in the markup ("Default Order"), so the
   uppercasing is presentational. Note this deliberately does NOT touch the
   submit button: production DOES render that in caps ("BUSCAR"/"SEARCH"). */
select[name="sort-properties"],
.advance-search-form select,
.advance-search-form .dropdown-toggle,
.advance-search-form .filter-option,
.bootstrap-select .dropdown-toggle,
.bootstrap-select .filter-option,
.rh_sort_controls select {
	text-transform: none;
}

/* #11 / #12 — Blog archive cards.
   The parent boxes every entry and then indents the header and meta by 30px
   while leaving the figure full-bleed and the excerpt at the card edge, so
   nothing lines up with anything else.

   Rather than chase each child's padding separately, the horizontal padding
   lives on the ARTICLE and every child is zeroed. That way there is exactly one
   number controlling the card's left edge, and the title, meta, image, excerpt
   and button cannot drift apart again. */
.archives-main .hentry,
.archives-main .post {
	/* White card on the grey page background, but without the parent's 1px
	   border — the card reads as a panel rather than a boxed-in entry. */
	background-color: #fff;
	border: none;
	padding-left: 30px;
	padding-right: 30px;
}

/* Children inherit the card's edge instead of setting their own.
   !important because the parent sets this padding from a five-selector group of
   equal specificity, and matching it selector-for-selector is fragile across
   parent updates. */
.archives-main .post-header,
.archives-main .post-meta,
.archives-main .post-title,
.archives-main .post-summary,
.archives-main .post-footer {
	padding-left: 0 !important;
	padding-right: 0 !important;
	text-align: left;
}

/* The image runs edge to edge while the text keeps the card's padding.
   <figure> carries the browser default `margin: 1em 40px`; negative margins
   cancel the article's 30px padding so the image reaches the card's edges.
   Keep the -30px in step with the padding above if that value ever changes. */
.archives-main .post-thumbnail {
	margin-left: -30px;
	margin-right: -30px;
}

/* Featured images have varying natural widths and were being centred inside the
   figure, so some spanned the full width and others sat inset. Forcing 100%
   makes every card's image the same width and the same edges. */
.archives-main .post-thumbnail img {
	display: block;
	width: 100%;
	height: auto;
}

/* The parent underlines the meta with a heavy 5px accent bar. Production shows
   only a hairline above it. */
.archives-main .post-meta {
	border-top: 1px solid #dedede;
	border-bottom: none;
}

/* "Read More" renders as a full-width blue block in the parent's footer strip.
   Production's is an inline orange button — the same PPR orange every other
   call-to-action uses (see .more-details above). */
.archives-main .real-btn,
.post-footer .real-btn {
	display: inline-block;
	width: auto;
	color: #fff;
}

/* #13 — Property ID appears twice on a property page.
   The new parent leads the meta row with it (partials/property/single/metas.php
   renders <span class="property-meta-id">), and the dark price bar underneath
   already shows "Property ID : …" — which is the only place production shows
   it. Hidden rather than removed so the value stays in the markup for anything
   that scrapes it. */
/* Specificity matters here: the meta row is styled by
     #overview .property-item .property-meta span { display: inline-block }
   which is (1,2,1) and beats a bare .property-meta-id (0,1,0). The first
   attempt used the bare selector and silently had no effect. */
#overview .property-item .property-meta span.property-meta-id,
.property-item .property-meta span.property-meta-id,
.property-meta span.property-meta-id {
	display: none;
}

/* ============================================================================
   FLUENT FORMS — match the INLINE Caldera form
   ----------------------------------------------------------------------------
   First attempt copied the .caldera-grid rules from earlier in this file. Those
   style the WIDGET form (400px wide, blue border, inputs at 70% and centred) —
   not the inline one used on pages, which is full width and two columns. The
   result looked nothing like the page it was meant to match.

   The inline Caldera look is: full width, no container border, bold dark labels
   above square full-width inputs, red required asterisk, no placeholders.
   The two-column rows are structural (a container element in the form), not CSS.
   ========================================================================== */
.fluentform {
	width: 100%;
	max-width: 100%;
	background: none;
	border: 0;
	padding: 0;
}

/* Labels: bold and dark, like Caldera's. */
.fluentform .ff-el-input--label label {
	font-weight: 700;
	color: #1b1b1b;
	margin-bottom: 0;
}
.fluentform .ff-el-input--label.ff-el-is-required label:after {
	color: #e2401c;
}

/* Inputs: full width of their column, square corners, light grey border. */
.fluentform .ff-el-form-control {
	width: 100%;
	min-width: 100%;
	max-width: 100%;
	margin: 0;
	display: block;
	border: 1px solid #ccc;
	border-radius: 0;
	/* Taller than Fluent's default so the inputs match the weight of the rest of
	   the page; Caldera's were similarly generous. */
	padding: 14px 12px;
	line-height: 1.4;
	height: auto;
	background: #fff;
	box-shadow: none;
}
.fluentform textarea.ff-el-form-control {
	min-height: 150px;
}

/* Field spacing between rows. */
.fluentform .ff-el-group {
	margin-bottom: 18px;
	text-align: left;
}

/* Consent: small text beside the checkbox, full width — as Caldera renders it. */
.fluentform .ff-el-group.ff-el-form-check {
	max-width: 100%;
	margin: 0 0 18px;
	font-size: 13px;
	line-height: 1.5;
}
.fluentform .ff-el-form-check-label {
	font-weight: 400;
	color: #1b1b1b;
}

/* Submit: Caldera's inline button colour (.caldera-grid input[type=submit]). */
.fluentform .ff-btn-submit,
.fluentform .ff_submit_btn_wrapper button {
	border: 0;
	width: auto !important;
	padding: 10px 15px !important;
	font-size: 1em !important;
	color: #fff !important;
	border-radius: 0;
}

/* Validation message placement. */
.fluentform .ff-el-is-error .text-danger,
.fluentform .error.text-danger {
	color: #e2401c;
	font-size: 13px;
}

/* While a submission is in flight, grey the form out and block interaction so
   it cannot be edited or submitted twice.

   This hangs off `ff_submitting`, which Fluent Forms puts on the form itself
   (showFormSubmissionProgress) and removes again in hideFormSubmissionProgress
   — including when validation fails. Using the plugin's own state class means
   the form re-enables itself on error with no JS of ours to get out of step.

   pointer-events rather than the `disabled` attribute on purpose: Fluent
   submits over AJAX, and disabled inputs are not serialised, so disabling them
   would strip the values out of the payload. The submit button is genuinely
   disabled below — buttons are not part of the payload. */
.fluentform form.ff_submitting,
.fluentform .frm-fluent-form.ff_submitting,
form.frm-fluent-form.ff_submitting {
	opacity: 0.5;
	pointer-events: none;
	transition: opacity 0.2s ease;
}

.fluentform form.ff_submitting .ff-btn-submit,
form.frm-fluent-form.ff_submitting .ff-btn-submit {
	cursor: not-allowed;
}

/* =============================================================================
 * Search form — bootstrap-select "actions box" (select all / revert)
 *
 * The Property Location dropdown stacked its two action buttons vertically and
 * blew the dropdown up to roughly three times its proper height, while Property
 * Type rendered them correctly side by side.
 *
 * Both fields set data-actions-box="true", so both get the same markup:
 *     .bs-actionsbox > .btn-group > button.bs-select-all + button.bs-deselect-all
 *
 * The parent gives those buttons `width: 50%` (common/optimize/vendors.css) but
 * never gives .btn-group a row layout — the only rule for it anywhere in the
 * loaded CSS is `display: inline-block` in assets/classic/styles/css/main.min.css.
 * An inline-block shrink-to-fit box holding two 50% children PLUS the whitespace
 * text node between them exceeds 100%, so the second button wraps onto its own
 * line. Location trips it because it also sets data-live-search="true": the extra
 * .bs-searchbox changes how that shrink-to-fit width resolves. Type has no search
 * box and happens to escape it.
 *
 * Making the row explicit removes the dependency on that resolution entirely, so
 * both fields render identically. Deliberately scoped to .bs-actionsbox — the
 * Caldera Forms stylesheet also defines .btn-group and must not be touched.
 * ========================================================================== */
.bs-actionsbox .btn-group {
	display: flex;
	width: 100%;
}

.bs-actionsbox .btn-group button {
	width: 50%;
	flex: 1 1 50%;
}

/* =============================================================================
 * PPR TYPOGRAPHY — Sotheby's-style pairing
 *
 * Mapping requested by Luis, reading across from the reference site
 * (sothebysrealty.com/turksandcaicossir/eng):
 *
 *     Freight (display serif)  ->  EB Garamond
 *     Benton  (UI sans)        ->  Source Sans 3
 *
 * "Source Pro" on Google Fonts is now published as Source Sans 3 (it was Source
 * Sans Pro); that is the Benton Sans counterpart. Source Serif and Source Code
 * are different families and are not what is wanted here.
 *
 * Loaded from functions.php, NOT from the Customizer. The Customizer stores font
 * choices in the database, and this project never pushes dev/staging databases to
 * production — a Customizer font would have to be re-entered by hand on every
 * environment, and would be silently lost on any environment refresh. In code it
 * ships with the theme.
 *
 * Reference-site observations this encodes:
 *   - display serif is LIGHT, never bold; bolding it is the single fastest way
 *     to lose the look
 *   - small labels and buttons are uppercase with wide letter-spacing
 *   - gold is an accent for rules and active states only — never a fill
 * ========================================================================== */

/* Display serif. Weight 400 deliberately: the reference sets its headings light,
   and the theme's own h1-h6 come in at 600-700, which reads as a different
   typeface entirely at display sizes. */

h1, .page-title, .rh_page__title { line-height: 1.18; }
h2, h3 { line-height: 1.25; }

/* Small uppercase labels: nav, meta, breadcrumbs, card eyebrows. */

/* Buttons read as lettering, not labels. */

/* Gold is an accent, not a fill: hairline rules and active states only. */

/* =============================================================================
 * PPR brand adjustments — 2026-09-15 round 2
 * ========================================================================== */

/* --- property names stay SANS ------------------------------------------------
 * The display serif is for editorial headings. Property titles are data, not
 * prose: they run long, carry pipes, digits, superscripts and prices
 * ("… | Pacific Village 180m² | $3,500"), and a light Garamond at that length
 * reads as decoration rather than as a listing. Requested by Luis.
 *
 * These selectors sit AFTER the typography block on purpose — same specificity,
 * later wins — rather than being carved out of it, so the rule that sets the
 * display face stays one readable list. */

/* --- footer --------------------------------------------------------------- */
/* The parent paints #footer-wrapper with a repeating decorative PNG
 * (images/background-outer-wrapper.png) and reserves 245px of padding-bottom
 * purely to make room for it. Dropping the image without dropping that padding
 * would leave a ~245px band of empty navy under the footer, so both go. Say the
 * word if you want some of that breathing room back. */
#footer-wrapper {
	padding-bottom: 0;
}

/* --- header lettering ------------------------------------------------------
 * 13px, uppercase, lightly tracked across the header: main nav, the top bar
 * (email, WPML switcher, phone) and their sub-menus. Requested 2026-09-15.
 *
 * Selectors deliberately mirror the parent's own specificity rather than adding
 * !important — `.main-menu ul li a` is the parent's rule (it sets 14px Lato) and
 * this file loads after it, so a like-for-like selector wins on order alone. An
 * !important here would be inherited by every later tweak and make the header
 * progressively harder to adjust.
 *
 * #top-header-widget is excluded on purpose: it holds the Mailchimp signup, and
 * uppercasing a form's placeholder and its "Sign up" field reads as shouting
 * rather than as navigation. */

/* --- #header-top: full-bleed band, container-width contents -----------------
 * #header-top sits inside .container (.header-wrapper > .container > #header >
 * #header-top), so its background stopped at the container edges. This lets the
 * band span the window while its CONTENTS stay aligned with the container.
 *
 * The calc() form is deliberate. .container is not a fixed width here — the
 * child sets it to 95% with a 1700px cap, then 95%, 98% and 90% at successive
 * breakpoints — so hard-coded percentages would be correct at one width and
 * wrong at the other four. `50%` resolves against whatever the container
 * currently is and `50vw` against the viewport, so the pair self-corrects at
 * every breakpoint with no media queries of its own:
 *
 *   margin  = 50% - 50vw   (negative: pulls each edge out to the window)
 *   padding = 50vw - 50%   (positive: puts the contents back on the grid)
 */
#header-top {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: calc(50vw - 50%);
	padding-right: calc(50vw - 50%);
}

/* 50vw counts the vertical scrollbar, so the band overhangs the visible area by
 * roughly half a scrollbar on each side and raises a horizontal scrollbar.
 *
 * `clip` rather than `hidden` on purpose: overflow-x:hidden forces the computed
 * overflow-y to auto, which turns this into a scroll container and clips the
 * navigation drop-downs. overflow-x:clip leaves overflow-y visible, so the
 * menus still escape. No `hidden` fallback is given for the same reason — a
 * browser too old for `clip` gets a slight horizontal scrollbar, which is a far
 * smaller problem than unusable menus. */
.header-wrapper {
	overflow-x: clip;
}

/* =============================================================================
 * PPR brand adjustments — 2026-09-15 round 3
 * ========================================================================== */

/* 1. Search labels sit tight against their control. */
.advance-search label,
.advance-search-form label {
	margin-bottom: 0;
}

/* 2. Property titles — the listing card title is h4.price, NOT h3.title.
 * The theme reuses its price class for the card heading, which is why the
 * earlier sans rule missed every card in the grid. */

/* 3. For Rent / For Sale badge sits ON the image.
 * The parent absolutely positions it, but the figure itself is not a
 * positioned ancestor in every card variant, so the badge escaped to the card
 * box and hung below the photo. Pinning the figure makes the badge resolve
 * against the image it belongs to. */
.property-item figure,
.property-item figure.hasVideo {
	position: relative;
	overflow: hidden;
}

/* 4 + 5. Search controls read as one set.
 * bootstrap-select renders each select as a <button>, which inherits the
 * theme's button styling — bold, and gold once the palette was remapped — while
 * the plain text inputs next to them stayed light grey. Same visual weight for
 * both, and no gold on hover/focus/open: gold is an accent here, not a fill. */

/* The open dropdown's own rows: highlight without gold. */

/* 6. Search button: navy, and bottom-aligned with the fields.
 * Its .option-bar carries no <label>, so it started a label's height higher
 * than its neighbours and then sat low once margins were removed. Aligning the
 * flex wrapper to the end pins it to the same baseline as the inputs rather
 * than guessing at a magic offset. */
.advance-search .button-wrapper-flex {
	display: flex;
	align-items: flex-end;
}

.advance-search .button-wrapper-flex .option-bar {
	margin-bottom: 0;
}

/* 7. Minimal gap between search labels and their controls.
 * The stack was: label{display:block;margin-bottom:5px} from the parent's
 * bootstrap base, plus line-height:20px on labels, plus .selectwrap input
 * {margin-bottom:12px}. Collapsing the label's own spacing is not enough on its
 * own because the control below carries its own top margin in some field
 * variants, so both ends are zeroed here. */
.advance-search .option-bar label,
.advance-search-form .option-bar label,
.advance-search .rh-search-field label {
	margin-bottom: 2px;
	line-height: 1.3;
}

.advance-search .option-bar .selectwrap,
.advance-search .option-bar .bootstrap-select,
.advance-search .option-bar input[type="text"],
.advance-search .option-bar input[type="number"],
.advance-search .option-bar select {
	margin-top: 0;
}

.advance-search .selectwrap input {
	margin-bottom: 0;
}

/* =============================================================================
 * PPR brand adjustments — 2026-09-15 round 4
 * ========================================================================== */

/* Uniform label -> control spacing, whatever the control is.
 * Each field is a column so the label always sits directly above its control
 * with the same gap, rather than inheriting whatever margin that particular
 * control type happens to carry. */
.advance-search .option-bar.rh-search-field {
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

.advance-search .option-bar.rh-search-field > label {
	margin: 0 0 4px;
	line-height: 1.3;
}

.advance-search .option-bar.rh-search-field > .selectwrap,
.advance-search .option-bar.rh-search-field > input,
.advance-search .option-bar.rh-search-field > .bootstrap-select {
	margin-top: 0;
	margin-bottom: 0;
}

/* Status badge: white plate, navy lettering, sitting on the photo. */

/* Ghost buttons.
 * `.more-details` is used by BOTH the property cards ("More Details") and the
 * news/testimonial cards ("Read More"), so this gives the site one button
 * language instead of two. The search submit is `.real-btn` and is deliberately
 * NOT included — it stays a filled navy action.
 *
 * The theme ships its own chevron as markup (<i class="fas fa-caret-right">)
 * rather than a pseudo-element, so it is hidden here and replaced with an arrow
 * on ::after. Restyling the <i> instead would leave a Font Awesome glyph that
 * does not match the reference, and deleting it would mean overriding the
 * template just to remove one tag. */
.more-details,
a.more-details {
	padding: 13px 24px;
	display: inline-flex;
	align-items: center;
	gap: 14px;
	line-height: 1;
}

.more-details .fa-caret-right,
.more-details .fas {
	display: none;
}

.more-details::after {
	content: "\2192";           /* → — U+2192, present in every common UI font */
	line-height: 1;
}

/* --- footer on navy --------------------------------------------------------
 * The footer text kept the greys it had on the old near-black background, which
 * fail contrast against #001731. Everything that is body copy goes white; links
 * go white and pick up gold on hover so they stay distinguishable without
 * relying on colour alone at rest.
 *
 * Padding: the parent reserved 245px at the bottom for a decorative strip that
 * has been removed, and gave the top none, which left the first widget title
 * sitting hard against the band's edge. Balanced deliberately rather than
 * zeroed. */
#footer-wrapper {
	padding-top: 60px;
	padding-bottom: 40px;
}

/* The Mailchimp signup button carries its colour as an INLINE style
 * (style="background-color: #4DC7EC") saved in the widget's HTML in the
 * database, so the palette remap could not reach it and normal specificity
 * cannot either. !important is the only way to override an inline style from a
 * stylesheet — the alternative is editing widget content in the database, which
 * would not travel with the theme. */

/* =============================================================================
 * PPR brand adjustments — 2026-09-15 round 5
 * ========================================================================== */

/* White header. #header-top keeps its navy band (it is full-bleed and set
 * earlier in this file); everything below it — logo, nav, phone — sits on white. */

/* Navigation on a white header reads navy. The parent's #afb4b5 was chosen for
 * a near-black bar and is invisible here; it is remapped in the generated sheet
 * (its only use is .main-menu ul li a), and this is the hover/active pair. */

/* Phone number: UI sans, not the display serif. It is a number, and Garamond
 * figures at heading weight read as decorative here. */

/* Inline X mark (see social-nav.php) sits on the same optical line as the
 * Font Awesome glyphs beside it. */
.social_networks .ppr-icon-x {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	vertical-align: middle;
}

/* Sign up button matches the ghost treatment used by More Details / Read More.
 * !important is still required on the background: the widget markup carries
 * style="background-color: #4DC7EC" inline, saved in the database. */
#footer .mc4wp-form input[type="submit"],
.mc4wp-form input[type="submit"] {
	padding: 13px 24px;
	line-height: 1;
}

/* =============================================================================
 * PPR brand adjustments — 2026-09-15 round 6
 * ========================================================================== */

/* REGRESSION FIX — price fields appearing twice.
 * The search form ships two price pairs: .price-for-rent (carrying .hide-fields)
 * and .price-for-others, and JS swaps them when the status changes. The parent
 * hides the inactive pair with `.advance-search .hide-fields{display:none}`,
 * specificity (0,2,0).
 *
 * Round 4 added `.advance-search .option-bar.rh-search-field{display:flex}` to
 * make label spacing uniform. That is ALSO (0,2,0) and comes later in the
 * cascade, so it beat the hide rule and un-hid the rent price pair — hence Min
 * Price and Max Price rendering twice. Re-asserted here, after it. */
.advance-search .option-bar.rh-search-field.hide-fields,
.advance-search .hide-fields {
	display: none;
}

/* One continuous surface on the homepage.
 * The parent draws the content column as a box: .main has 1px #dedede left and
 * right borders, and .page-template-home .main adds a bottom border and its own
 * white fill, so the page reads as a card floating on the body rather than as a
 * single sheet. Dropped so sections run together as they do on the reference. */

/* Only the VERTICAL edges go. `.page-template-home .main{border-bottom:1px solid
 * #dedede}` is not box chrome — it is the homepage's section separator, and
 * zeroing it (as this rule first did) removed the rule between Featured
 * Properties and the section under it. Left and right borders are what made the
 * page read as a floating card; the bottom rule is what keeps the sections
 * legible as sections. */
body.home .main,
body.page-template-home .main,
body.home .main.top-border,
body.page-template-home .main.top-border {
	/* No bottom rule here. Separators are drawn ONCE, between the homepage's
	 * .container sections (see the rule near the end of this file). Having both
	 * produced two parallel lines at every boundary. */
	margin-bottom: 0;
}

/* =============================================================================
 * PPR brand adjustments — 2026-09-15 round 7
 * ========================================================================== */

/* Header logo: fixed height, natural width.
 * Height is set on the IMG rather than the #logo box so the aspect ratio is
 * driven by the file, and max-width:none stops the theme's responsive image
 * rule squashing it below 40px inside the narrow #logo column. */
#logo img,
#logo-mobile img,
.site-logo img {
	height: 40px;
	width: auto;
	max-width: none;
	display: block;
	margin-top: -15px;
}

#logo {
	max-width: none;
}

/* Status badge alignment.
 * An absolutely positioned child resolves `left` against its containing block's
 * PADDING box, not its content box. `body.home .property-item figure` carries
 * padding-left:15px, so `left:0` planted the badge 15px to the LEFT of the image
 * it is supposed to sit on — the overhang in the screenshot. Matching the inset
 * to the padding puts it back on the photo.
 *
 * If that padding is ever changed, this needs to change with it; the pair is
 * noted in both places rather than left to be rediscovered. */

/* The mirrored `left: 15px` that used to live here is gone. Chasing the
 * figure's padding with a matching offset is fragile — change one and the badge
 * silently detaches. The padding is now a MARGIN instead (see the
 * body.home .property-item figure rule), so the figure's padding box and the
 * image's left edge are the same line and `left: 0` is simply correct. */

/* =============================================================================
 * PPR brand adjustments — 2026-09-15 round 8
 * ========================================================================== */

#logo img {
	margin-bottom: 0;
}

/* "Call us" in the top bar, matching the email item beside it. */
.ppr-header-phone {
	float: left;
	line-height: 1;
	padding: 0 14px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

/* =============================================================================
 * PPR brand adjustments — 2026-09-15 round 9
 * ========================================================================== */

/* SEARCH FIELD ALIGNMENT — third attempt, and the reason the first two failed.
 *
 * bootstrap-select does not replace the <select> in place; it wraps it:
 *
 *     .option-bar > .selectwrap > .bootstrap-select > button.dropdown-toggle
 *
 * Earlier rounds targeted `.option-bar > .bootstrap-select` and
 * `.option-bar > input`. The child combinator meant the SELECT fields never
 * matched — .bootstrap-select is a grandchild, inside .selectwrap — so only the
 * plain text inputs were ever normalised, and the two kinds of field kept
 * different gaps. Descendant selectors here, no child combinators.
 *
 * Heights are pinned so a <button> and an <input> are the same box. They are
 * different elements with different default line-height and padding, so
 * "remove the margins" alone can never make them align. */
.advance-search .option-bar.rh-search-field label {
	margin: 0 0 6px;
	padding: 0;
	line-height: 1.3;
	display: block;
}

.advance-search .option-bar.rh-search-field .selectwrap,
.advance-search .option-bar.rh-search-field .bootstrap-select,
.advance-search .option-bar.rh-search-field .dropdown-toggle,
.advance-search .option-bar.rh-search-field input[type="text"],
.advance-search .option-bar.rh-search-field input[type="number"],
.advance-search .option-bar.rh-search-field select {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.advance-search .option-bar.rh-search-field .bootstrap-select > .btn,
.advance-search .option-bar.rh-search-field .selectwrap .btn,
.advance-search .option-bar.rh-search-field input[type="text"],
.advance-search .option-bar.rh-search-field input[type="number"] {
	height: 44px;
	box-sizing: border-box;
	padding-top: 0;
	padding-bottom: 0;
	line-height: 42px;
	vertical-align: top;
}

/* Remove the parent's gradient strip behind the property grid.
 * .property-items{background:url(../../images/container-gradient.png) #fff repeat-x}
 * — a decorative fade that reads as a seam now the page is one flat surface. */

/* Newsletter signup button: it lives in BOTH the navy footer and the now-white
 * header widget. The earlier rule forced white text, which is correct on navy
 * and invisible on white — the button only appeared on hover. Scoped by
 * context instead of colouring both the same. */

/* =============================================================================
 * PPR brand adjustments — 2026-09-15 round 10
 * ========================================================================== */

/* Phone in the top bar.
 * The first attempt used display:inline-flex with a gap on a floated element,
 * sitting between two plain floated blocks (#contact-email, .social_networks).
 * That rendered it on its own line above the row. Matching #contact-email's box
 * model exactly — same float, same vertical padding, same line-height — puts it
 * in the row with them instead of fighting them.
 * #header-top prefix so this beats the earlier, looser rule. */
#header-top .ppr-header-phone {
	float: left;
	clear: none;
	display: inline-block;
	padding: 13px 0;
	margin: 0 0 0 18px;
	line-height: 20px;
}

#header-top .ppr-header-phone i {
	margin-right: 6px;
}

#header-top .ppr-header-phone span,
#header-top .ppr-header-phone a {
	display: inline;
	vertical-align: baseline;
}

/* Footer ghost buttons need light lettering.
 * .more-details sets navy text, which is correct on white and invisible on the
 * navy footer — the testimonial "Read More" was navy-on-navy. Same shape of bug
 * as the signup button, so it is scoped the same way: by context, not colour. */

/* Homepage videos: drop the panel, keep the content.
 * The widget renders as a bordered grey card with its own title bar, which is
 * the "boxed" look. Stripping the chrome leaves the thumbnails and titles to
 * sit on the page like the rest of the homepage sections. */
body.home .widget_youtube-channel,
body.home .widget.widget_youtube-channel,
body.home .widget_youtube-channel .youtube_channel {
	padding: 0;
}

body.home .widget_youtube-channel > .title,
body.home .widget_youtube-channel .title {
	padding: 0 0 18px;
	margin: 0;
}

/* Video titles in the UI sans — they are long, mixed-case names with pipes and
 * dashes, the same argument as the property titles. */
.ytc_title,
.ytc_title a,
h3.ytc_title,
h3.ytc_title a,
.ytc_video_container .ytc_title {
	line-height: 1.4;
}

/* Homepage slider: dark gradient from the top, no plate behind the words. */
body.home .flexslider,
body.home #home-flexslider {
	position: relative;
}

body.home .flexslider::before,
body.home #home-flexslider::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 55%;
	z-index: 2;   /* the slider's own controls stay clickable */
}

body.home .flexslider .desc-wrap,
body.home .flexslider .slide-description,
body.home #home-flexslider .desc-wrap,
body.home #home-flexslider .slide-description {
	z-index: 3;
	/* NOTE: position is deliberately NOT set here. The parent gives
	 * .slide-description `position:absolute; top:78px`, and forcing it to
	 * relative — as this rule used to — dropped the caption to the bottom of
	 * .desc-wrap once that became a positioned flex container, where the search
	 * panel then covered it. */
}

/* =============================================================================
 * PPR brand adjustments — 2026-09-15 round 11
 * ========================================================================== */

/* SEARCH CONTROL HEIGHT — the parent wins on specificity, so match its chain.
 * .advance-search.rh_classic_main_search .rh_classic_advance_search_form
 *   .option-bar input[type=text] { height: 34px }
 * is (0,4,1); every rule I wrote before was (0,3,1) and lost, which is why the
 * text inputs stayed 34px while the select buttons rendered ~40px. */
.advance-search.rh_classic_main_search .rh_classic_advance_search_form .option-bar input[type="text"],
.advance-search.rh_classic_main_search .rh_classic_advance_search_form .option-bar input[type="number"],
.advance-search.rh_classic_main_search .rh_classic_advance_search_form .option-bar .bootstrap-select > .btn,
.advance-search.rh_classic_main_search .rh_classic_advance_search_form .option-bar .selectwrap .btn {
	height: 40px;
	box-sizing: border-box;
	padding-top: 0;
	padding-bottom: 0;
	line-height: 38px;
}

/* Select dropdown rows.
 * bootstrap-select can render its menu appended to <body>, OUTSIDE
 * .advance-search — which is why the earlier .advance-search-scoped rule never
 * touched the blue highlight. Targeted globally instead. */

/* SLIDER --------------------------------------------------------------------
 * The gradient was on .flexslider, which is TALLER than the slide image, so it
 * painted a grey band across the empty area above the photo. It belongs on the
 * slide itself. */
body.home .flexslider::before,
body.home #home-flexslider::before {
	content: none;
}

/* The gradient goes on the <a> that wraps the IMG, not on the <li>. The li also
 * contains .desc-wrap and ends up taller than the photo, so a gradient there
 * painted a grey band across the empty space above the image. The image's own
 * wrapper shrink-wraps the photo exactly. */
body.home #home-flexslider .slides > li > a {
	position: relative;
	display: block;
}

body.home #home-flexslider .slides > li > a::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 100%;
	z-index: 1;
}

body.home #home-flexslider .desc-wrap,
body.home #home-flexslider .slide-description {
	z-index: 4;
}

/* The caption copy was navy — unreadable on a photo. */

/* The slide CTA carries its colour as an INLINE style (#4DC7EC) saved with the
 * slide, so only !important can reach it — same situation as the signup button. */
/* The CTA is a bare <a> that is a DIRECT child of .slide-description, sitting
 * after the <p>. The title is <h3><a>, also a descendant — so a plain
 * `.slide-description a` selector boxed the headline too. Direct child only. */
body.home .slide-description > a,
body.home #home-flexslider .slide-description > a {
	padding: 13px 24px;
	display: inline-block;
	line-height: 1;
}

/* Header signup button: the base rule sets border:none, and the header override
 * only set border-color, so no border was drawn. Full border here. */

/* Phone sits beside the social icons, not beside the email. */
#header-top .ppr-header-phone {
	float: right;
	margin: 0 20px 0 0;
}

/* =============================================================================
 * PPR brand adjustments — 2026-09-15 round 12
 * ========================================================================== */

/* Header rows.
 * The parent floats #logo left and .main-menu right, with margin-top:42px on
 * the menu to drop it past a TALL logo. Once the logo became a 40px mark that
 * geometry collapsed: the nav had no room beside the logo and the newsletter
 * widget, so it wrapped and overlapped the mark.
 *
 * Making the rows explicit — brand row, then navigation row — removes the
 * dependency on the logo's height entirely, which is what broke. */
#logo {
	max-width: 260px;
	margin-top: 0;
	margin-bottom: 0;
}

.menu-and-contact-wrap {
	clear: both;
	padding-bottom: 0;
}

nav.main-menu,
.main-menu {
	float: none;
	margin-top: 0;
	clear: both;
}

/* No bottom padding: it pushed the header's edge below the nav, so the
 * drop-down (positioned from the menu) started above where the page content
 * actually begins. */
.header-wrapper #header {
	padding-bottom: 0;
}

/* The newsletter widget shares the brand row with the logo. */
#top-header-widget {
	float: right;
	margin-top: 0;
}

/* Header layout, stated explicitly.
 * The parent builds this row out of floats (#logo left, .main-menu right,
 * .menu-and-contact-wrap absolutely positioned at one breakpoint and static at
 * another) and tunes it with a 42px top margin sized for a tall logo. Every
 * attempt to nudge that with clear/float produced a different overlap, because
 * the pieces are positioned three different ways.
 *
 * Flex with explicit order removes the ambiguity: a brand row, then the nav
 * across the full width, regardless of how tall the mark is. */
.header-wrapper #header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.header-wrapper #header > #logo-mobile { order: 0; }
.header-wrapper #header > #header-top  { order: 1; flex: 0 0 100%; }

.header-wrapper #header > #logo {
	order: 2;
	float: none;
	flex: 0 0 auto;
}

.header-wrapper #header > #top-header-widget {
	order: 3;
	float: none;
	margin-left: auto;
}

.header-wrapper #header > .menu-and-contact-wrap {
	order: 4;
	float: none;
	flex: 0 0 100%;
	clear: none;
}

/* The flex order above only works if the children are actually IN the flow.
 * The parent positions .menu-and-contact-wrap absolutely
 * (.menu-and-contact-wrap{position:absolute;bottom:0;right:0}) and only resets
 * it to static at a later breakpoint, so on desktop the nav was taken out of
 * flow entirely — which is why every float/clear/order attempt moved everything
 * except the nav. */
.header-wrapper #header > #logo,
.header-wrapper #header > #top-header-widget,
.header-wrapper #header > .menu-and-contact-wrap {
	position: static;
}

/* Select caret box height, to match the 40px control. */
.inspiry_select_picker_trigger.bootstrap-select button.dropdown-toggle .bs-caret,
.bootstrap-select button.dropdown-toggle .bs-caret {
	height: 38px;
}

/* #logo carries `margin: 0 auto` from the parent, which centred it once it
 * became a flex item. Pin it left and let the auto margin push the newsletter
 * widget right instead. */
.header-wrapper #header > #logo {
	margin-left: 0;
	margin-right: auto;
}

/* Fit the menu on one row: 13px uppercase across 13 items overflows at the
 * container width, and "Contact" was wrapping to a second line. */
.main-menu ul li a {
	padding-left: 7px;
	padding-right: 7px;
}

/* (removed) .main-menu > ul > li:first-child — matched nothing: the <ul> is a
 * grandchild of .main-menu, not a child. The working rule is further down. */

/* =============================================================================
 * PPR brand adjustments — 2026-09-15 round 13
 * ========================================================================== */

/* STATUS BADGE — the real cause, after four wrong guesses.
 *
 * `.property-item figure, .property-item figure img { width:100%; margin:0 auto }`
 * (earlier in this file) CENTRES the photo inside its figure. The badge is
 * absolutely positioned against the figure, so `left: 0` lands on the figure's
 * edge — which is to the LEFT of the centred photo. Every offset I tried was
 * chasing the figure's padding, which was never the thing moving it.
 *
 * Left-aligning the image inside the figure makes the figure's left edge and the
 * photo's left edge the same line, so `left: 0` is simply correct — on the
 * homepage and everywhere else, at every breakpoint, with no magic numbers. */
.property-item figure img,
body.home .property-item figure img {
	margin-left: 0;
	margin-right: auto;
	display: block;
}

/* Homepage section separators.
 * The homepage is a stack of `.container` blocks inside `.main-wrapper` — the
 * `.main` border-bottom does not fall between them, which is why Featured
 * Properties ran straight into the next section and News ran into PPR Videos.
 * One rule between consecutive sections gives every boundary the same line. */
body.home .main-wrapper > .container + .container {
	padding-top: 44px;
	margin-top: 0;      /* margin AND padding stacked ~96px at every boundary */
}

/* =============================================================================
 * PPR brand adjustments — 2026-09-15 round 14
 * ========================================================================== */

/* Status badge — exact specification from Luis. */

/* Property feature strip was running past the card.
 * .property-meta is a full-width row inside the card; without border-box its
 * padding and borders are added ON TOP of the 100% width, so it overhung on the
 * right. */
.property-item .property-meta,
.property-item .property-meta * {
	box-sizing: border-box;
}

.property-item .property-meta {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
}

/* =============================================================================
 * PPR brand adjustments — 2026-09-15 round 15
 * ========================================================================== */

/* The empty band above the slider was .desc-wrap sitting IN FLOW.
 * The parent ships two rules for it —
 *   .desc-wrap{width:940px;margin:auto;position:relative}
 *   .desc-wrap{width:100%;position:absolute;top:0;left:0;right:0;bottom:0}
 * — and at desktop width the RELATIVE one wins, so the caption block took up
 * ~155px of layout above the photo instead of overlaying it. That was the gap,
 * and it is also why the earlier gradient appeared to paint empty space: there
 * genuinely was empty space there.
 *
 * Confirmed by outlining the boxes and rendering, not by reading the CSS. */
body.home #home-flexslider .slides > li {
	position: relative;
}

body.home #home-flexslider .desc-wrap {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	/* Mirrors .container (95%, capped at 1700px, centred) so the caption starts
	 * on the same line as the logo and the nav rather than at the window edge. */
	width: 95%;
	max-width: 1700px;
	margin: 0 auto;   /* the slide link underneath stays clickable */
}

/* Navigation row gets its own rule above it. */
nav.main-menu,
.main-menu {
	margin-top: 10px;
}

/* First menu item flush with the logo.
 * The markup is nav.main-menu > div.menu-menu-1-container > ul > li, so the
 * earlier `.main-menu > ul > li:first-child` selector matched nothing — the ul
 * is a grandchild, not a child. */
/* Top-level menu only. `.main-menu ul > li:first-child` also matched the first
 * item inside every sub-menu, stripping their left padding too. The top-level
 * list is ul.rh_menu__main_menu; drop-downs are ul.sub-menu. */
.main-menu ul.rh_menu__main_menu > li:first-child > a {
	padding-left: 0;
}

/* Keep all 13 items on one row — "Contact" was wrapping. */
.main-menu ul li a {
	padding-left: 6px;
	padding-right: 6px;
}

/* Drop-downs open flush with the top of the page content, matching where the
 * slider begins rather than overlapping the last few pixels of the header. */
.main-menu ul li ul,
.rh_menu__main_menu li ul,
#navigation ul.sub-menu {
	top: 50px;
}

/* Caption sits in the upper third of the hero, clear of the search panel that
 * overlaps the bottom of the slider. */
body.home #home-flexslider .slide-description {
	position: absolute;
	top: 30px;
	bottom: auto;
	width: 46%;
	padding-left: 0;
}

/* =============================================================================
 * PPR brand adjustments — 2026-09-15 round 17
 * ========================================================================== */

/* White page, everywhere. */

/* Listings pages lose the container chrome, as the homepage already has.
 * `.main { border-left:1px solid #dedede; border-right:1px solid #dedede }` is
 * what drew the box around the listing column. */

/* Sort By control matches the search form's selects.
 * It lives in .rh_sort_controls, OUTSIDE .advance-search, which is why the
 * search-form rules never reached it and it kept the remapped gold fill. */
.rh_sort_controls .bootstrap-select > .btn,
.rh_sort_controls .bootstrap-select > .btn:hover,
.rh_sort_controls .bootstrap-select > .btn:focus,
.rh_sort_controls .bootstrap-select > .btn:active,
.rh_sort_controls .bootstrap-select.open > .btn,
.sort-controls .bootstrap-select > .btn {
	height: 40px;
	line-height: 38px;
	padding-top: 0;
	padding-bottom: 0;
	box-sizing: border-box;
}

/* List / grid view icons.
 * The parent's partial calls inspiry_safe_include_svg('/images/list-view.svg'),
 * but nothing is emitted — the anchors render empty and `class="boxes"` (which
 * the theme's own fill rules target) appears zero times on the page, so the
 * buttons were invisible rather than mis-coloured. The icons are drawn here as
 * background images so they do not depend on that helper resolving. */
/* IMPORTANT: `:not(:has(svg))`.
 * inspiry_safe_include_svg() emits the icon on SOME templates and nothing on
 * others — a taxonomy archive (/property-city/punta-pacifica/) renders 2 inline
 * <svg> elements while a properties page (/real-estate-for-rent/) renders 0.
 * Round 17 added these background images because the anchors were empty there;
 * on the templates where the SVG does render, that produced TWO icons stacked in
 * one button.
 *
 * Scoping to anchors that contain no <svg> gives each template exactly one icon
 * without having to enumerate which templates behave which way. */
.view-type a.list:not(:has(svg)),
.view-type a.grid:not(:has(svg)) {
	background-repeat: no-repeat;
	background-position: center;
	background-size: 16px 16px;
	width: 24px;
	height: 24px;
	padding: 8px;
	box-sizing: content-box;
}

.view-type a.list:not(:has(svg)) {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='1' y='3' width='6' height='6' fill='%23001731'/%3E%3Crect x='9' y='4.5' width='14' height='3' fill='%23001731'/%3E%3Crect x='1' y='15' width='6' height='6' fill='%23001731'/%3E%3Crect x='9' y='16.5' width='14' height='3' fill='%23001731'/%3E%3C/svg%3E");
}

.view-type a.grid:not(:has(svg)) {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='1' y='1' width='9' height='9' fill='%23001731'/%3E%3Crect x='14' y='1' width='9' height='9' fill='%23001731'/%3E%3Crect x='1' y='14' width='9' height='9' fill='%23001731'/%3E%3Crect x='14' y='14' width='9' height='9' fill='%23001731'/%3E%3C/svg%3E");
}

/* =============================================================================
 * PPR brand adjustments — 2026-09-15 round 18
 * ========================================================================== */

/* Listings: drop the remaining container chrome.
 * `.listing-layout{border-top:1px solid #dedede;border-bottom:1px solid #dedede}`
 * is both the rule above the results and the one under the pagination. */

.listing-layout .list-container {
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
}

/* Sort control moves up beside the list/grid switch.
 * .view-type is absolutely positioned against .listing-layout (which is already
 * position:relative) at top:-42px right:-1px, and is two 40px buttons wide. The
 * sort control is placed on the same line, clear of them. */


.listing-layout .rh_sort_controls label {
	margin: 0;
	white-space: nowrap;
	line-height: 1;
}

.listing-layout .rh_sort_controls .bootstrap-select {
	width: auto !important;
	min-width: 215px;
}

/* The feature strip runs the full width of its card.
 * The parent bleeds it out with `margin:0 -10px` sized for the default card
 * padding of 10px, but `.listing-layout .property-item` has `padding:20px 0 0`
 * — no horizontal padding at all — so the negative margins and the 100% width
 * fought each other and the strip came up short. With no padding to escape,
 * `width:auto` and no negative margin simply fills the card. */
.listing-layout .property-item .property-meta {
	width: auto;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

/* No trailing gap under the last result. */
.listing-layout .property-item-wrapper:last-child,
.listing-layout .property-item-wrapper:last-of-type {
	margin-bottom: 0;
}

.listing-layout .property-item-wrapper:last-child .property-item {
	margin-bottom: 0;
}

/* The strip reached the card's left border but stopped 20px short on the right,
 * which is the card's own horizontal padding rather than anything on the strip.
 * Zeroing it on listings lets `width:auto` fill the card exactly. */
.listing-layout .property-item {
	padding-left: 0;
	padding-right: 0;
}

.listing-layout .property-item .property-meta {
	width: auto;
	margin: 0;
	box-sizing: border-box;
}

/* =============================================================================
 * PPR brand adjustments — 2026-09-15 round 19
 * ========================================================================== */

/* Listing card: proportional, not fixed.
 * The parent sizes the photo in PIXELS (`.property-item figure{width:200px}`,
 * 244px under .realhomes-content-fullwidth) while the text column is a
 * PERCENTAGE (`.detail{width:49.6%}`). The two cannot add up to the card at more
 * than one window width, which is what tore the card apart when the viewport
 * changed. Both are percentages now so they always total 100%.
 *
 * The full-width variants are named explicitly because
 * `.realhomes-content-fullwidth .listing-layout .property-item .detail` is more
 * specific than a plain `.listing-layout .property-item .detail` and would
 * otherwise keep its calc(100% - 262px). */
.listing-layout .property-item figure,
.realhomes-content-fullwidth .listing-layout .property-item figure {
	float: left;
	width: 34%;
	max-width: 100%;
	margin: 0 0 20px 0;
}

.listing-layout .property-item figure img,
.realhomes-content-fullwidth .listing-layout .property-item figure img {
	width: 100%;
	height: auto;
	display: block;
}

.listing-layout .property-item .detail,
.realhomes-content-fullwidth .listing-layout .property-item .detail {
	float: right;
	width: 66%;
	padding-left: 24px;
	box-sizing: border-box;
	min-height: 0;
}

/* Header row: heading, sort and the view switch share one line, and the results
 * start level with the sidebar. .view-type was pinned 42px ABOVE the section,
 * which is what staggered the three against each other and against the sidebar. */
.listing-layout > .title-heading {
	margin: 0 0 22px;
	line-height: 40px;
}





/* The price bar carries a negative left margin (-11px from the parent, -16px
 * from this file) to bleed out of the card's old horizontal padding. That
 * padding is gone on listings, so the negative margin now pushes the bar past
 * the card's right edge instead. Aligned to the text column here. */
.listing-layout .property-item .price {
	margin-left: 0;
	width: auto;
}

/* =============================================================================
 * PPR brand adjustments — 2026-09-15 round 20
 * ========================================================================== */

/* Card padding comes back, and the feature strip bleeds out of it.
 * Round 18 zeroed the card's horizontal padding so the strip could reach the
 * edges — which also pulled the photo and the text flush against the border,
 * leaving the left side tighter than the top and bottom. The right answer is
 * padding on the card and a negative margin of the SAME size on the strip, so
 * the two stay in step if the padding is ever changed. */
.listing-layout .property-item {
	padding: 20px 20px 0;
}

.listing-layout .property-item .property-meta {
	width: auto;
	max-width: none;
	margin-left: -20px;   /* == the card's padding above */
	margin-right: -20px;
	box-sizing: border-box;
}

/* Keep the price bar inside the card: no negative margin, and never wider than
 * the column it sits in. */
.listing-layout .property-item .price {
	margin-left: 0;
	margin-right: 0;
	width: auto;
	max-width: 100%;
	box-sizing: border-box;
}

/* =============================================================================
 * PPR brand adjustments — 2026-09-16
 * ========================================================================== */

/* Active-trail menu items must stay legible on the white header.
 * The parent styles FIVE states together as an orange pill with white lettering:
 *
 *   .main-menu ul li.current-menu-ancestor>a, .current-menu-parent>a,
 *   .current-menu-item>a, .current_page_item>a, .main-menu ul li:hover>a
 *   { color:#fff; background-color:#ec894d }
 *
 * Our earlier override only covered current-menu-item and current_page_item, so
 * a page reached through a drop-down left its TOP-LEVEL parent carrying
 * `current-menu-ancestor current-menu-parent` — and therefore white text, which
 * was invisible once the header turned white. Confirmed on /gran-central/, where
 * "Properties We Love" holds both classes.
 *
 * All five are covered here, plus WordPress's underscore variants
 * (current_page_ancestor / current_page_parent), which the parent's rule misses
 * entirely and which WordPress applies to page-based menu items. Gold reads on
 * both the white header and the navy drop-down, so one colour serves both
 * levels. */

/* Long listing titles must not run under the sort control and view switch.
 * Those two are absolutely positioned over the top-right of .listing-layout, so
 * the heading — a full-width block beneath them — happily flowed straight under
 * a long title ("Trump Ocean Club International Panama Hotel & Tower (Ocean
 * Club)"). Capping the heading's width makes it wrap before it reaches them
 * instead of disappearing behind them.
 *
 * 430px is the controls' footprint: the Sort By label plus a 215px select, the
 * 100px offset the switch sits at, and the switch's two 40px buttons. */
.listing-layout > .title-heading {
	max-width: calc(100% - 430px);
}

/* Below that the controls have no room to sit beside the heading, so they stop
 * overlapping it and take their own line. */
@media (max-width: 991px) {
	.listing-layout > .title-heading {
		max-width: 100%;
	}

	.listing-layout .view-type,
	.listing-layout .rh_sort_controls,
	.listing-layout .sort-controls {
		position: static;
		float: none;
		margin: 0 0 14px;
	}

	.listing-layout .rh_sort_controls,
	.listing-layout .sort-controls {
		justify-content: flex-start;
	}
}

/* The controls also overlap the FIRST CARD's title on templates where the page
 * heading is rendered as the banner bar rather than as .title-heading — the
 * absolutely positioned sort control and view switch then sit over the top of
 * the results list instead of beside a heading. Reserving space at the top of
 * the list keeps the first card clear of them.
 *
 * Seen on /property-type/trump-ocean-club/, where "For Sale | Sophisticated
 * Ocean Club Residence | Furnished 2BR In Prime…" ran under the sort box. */
/* padding-top removed at Luis's request, 2026-09-16. It had been reserving room
 * for the absolutely positioned sort control and view switch on templates whose
 * page heading renders as the banner bar rather than as .title-heading. If the
 * first card's title starts running under those controls again, this is where
 * that space used to come from. */
.listing-layout .list-container {
	padding-top: 0;
}

/* Where .title-heading IS rendered it already reserves that space, so the extra
 * padding would double up. */
.listing-layout > .title-heading + .list-container {
	padding-top: 0;
}

@media (max-width: 991px) {
	.listing-layout .list-container {
		padding-top: 0;
	}
}

/* bootstrap-select nests the selected-value text three divs deep
 * (.filter-option > .filter-option-inner > .filter-option-inner-inner) and gives
 * .filter-option a fixed height, which fights the button's own line-height and
 * shifts the label off-centre until the control is opened. Letting it size to
 * its content keeps the value centred in every state. */
.inspiry_select_picker_trigger.bootstrap-select button.dropdown-toggle .filter-option,
.bootstrap-select button.dropdown-toggle .filter-option {
	height: auto;
}

/* Blog card images fill their column. */
.posts-main .post-thumbnail a,
.posts-main .post-thumbnail a img {
	width: 100%;
}

/* Post meta rows sit flush with the content above and below them. */
.posts-main .post-meta,
.page-main .post-meta,
.single-post-main .post-meta,
.search-post-main .post-meta,
.archives-main .post-meta {
	padding: 0;
}

/* Listing archive titles read the same on every template.
 * The parent singles out the grid layout and turns its heading into a dark
 * plate floating above the list:
 *
 *   .listing-grid-layout .title-heading {
 *     background-color:#394041; color:#fff; position:absolute; top:-53px;
 *     left:-1px; line-height:48px; min-height:53px; padding:0 30px 0 20px }
 *
 * so /property-city/casco-viejo/ showed a navy bar while the other archives
 * showed plain text. Returned to the flow with no fill, matching
 * .listing-layout > .title-heading above — same size, same colour, same
 * position, whichever template renders it.
 *
 * `background: none` as well as background-color: the parent also paints the
 * verification icon inside the heading, and that is part of the same plate. */
.listing-grid-layout .title-heading,
.listing-layout .title-heading,
.property-items .title-heading {
	line-height: 1;
	position: static;
	top: auto;
	left: auto;
	background: none;
	background-color: transparent;
	color: inherit;
	min-height: 0;
	padding: 0;
	margin: 0 0 22px;
}

.listing-grid-layout .title-heading .rh_main_verification__icon {
	background: none;
}

/* Grid-layout archives: the WPBakery content elements above the listings carry
 * their own bottom margin, which stacked with the section spacing.
 *
 * NOTE the selector spelling — `lisitng-grid-layout` is the THEME's typo, not
 * ours. It is what the markup actually emits, so correcting it here would match
 * nothing. Verified against the rendered DOM. */
.container.contents.lisitng-grid-layout .wpb_content_element,
.container.contents.lisitng-grid-layout .inner-wrapper {
	margin-bottom: 0;
}

/* Slide headline. The parent sets 24px, which reads as a card title rather than
 * a hero; line-height 1 keeps a two-line headline tight. */
.slide-description h3 {
	line-height: 1;
}

/* Property card titles: serif, regular weight, on white.
 *
 * This deliberately reverses the round-3 decision that put these in the UI sans.
 * That call was about long data-ish strings; with the navy plate removed the
 * title reads as a heading again, so it takes the display face like every other
 * heading on the site. Requested 2026-09-17.
 *
 * `.price` is the theme's class for the CARD TITLE — it reuses its price class
 * for the heading, which is why these selectors look like they are about money.
 *
 * !important on the background is required to beat the `background-color:
 * var(--ppr-navy-deep) !important` set earlier in this file; the comma-selector
 * there also covers .es-carousel-wrapper, so it is overridden rather than
 * edited, leaving the carousel untouched. */
.property-item .price,
.property-item h4.price,
.listing-layout .property-item .price,
body.home .property-item .price {
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 0;
}

/* The title's status suffix ("| For Rent, For Sale") stays lighter than the
 * name itself, as the reference sets it. */

/* The card's own heading is a BARE <h4> with no class — `.price` is the <h5>
 * carrying the building name underneath it. Both take the display face. */

/* Separate rule, and on the element rather than the anchor: an <a> inside the
 * heading cannot carry the heading's own bottom margin, which is why setting it
 * in the block above had no effect. */
.listing-layout .property-item > h4,
.property-items .property-item > h4 {
	margin-bottom: 10px;
}

/* Listing card: the building name is a small uppercase label with a gold rule
 * under it, not a heading. `.price` is the theme's class for it — it reuses the
 * price class here, which is why these selectors read oddly.
 *
 * SCOPED TO LISTINGS ONLY (.listing-layout / .property-items). On a single
 * property page `.price` really is the price and must keep its own styling, so
 * a bare `.property-item .price` rule would break that page. */
/* h5 ONLY. The homepage uses h4.price as the card TITLE while listings use
 * h5.price for the building name — keying on the class alone turned the
 * homepage titles into tiny gold-ruled labels and lost them. */

/* Similar-properties block on a single property page (#overview). */
#overview .property-item .property-meta {
	margin: -18px 0 10px;
}

#overview .property-item .content {
	padding: 0 0 25px;
}

h1.page-title.tax {
	margin-top: 0;
}

/* --- mobile menu -----------------------------------------------------------
 * The newsletter widget sat ON TOP of the open menu. #top-header-widget is a
 * normal header element, and the Responsive Menu plugin renders its panel as an
 * overlay — but the widget's own stacking context put it above that panel, so
 * the signup fields printed through the menu.
 *
 * Hiding the widget while the menu is open is the honest fix: it belongs to the
 * desktop header, and there is nowhere sensible for it inside an overlay. */
@media (max-width: 991px) {
	body.rmp-menu-open #top-header-widget,
	body.rmp-slide-left-open #top-header-widget,
	html.rmp-menu-open #top-header-widget {
		display: none;
	}

	/* Belt and braces: keep the panel above the header regardless of which
	 * body class the plugin version applies. */
	.rmp-container {
		z-index: 100000;
	}
}

/* Mobile menu styling, following the reference: white panel, navy uppercase
 * lettering, a hairline rule between items. */
@media (max-width: 991px) {

	/* Sub-menu items sit lighter than their parent. */
}

/* GRID VIEW — reverted 2026-09-17.
 * A block here sized .property-item-wrapper to 50% under
 * `.lisitng-grid-layout`, on the assumption that class marks grid view. It does
 * not: the container carries it in BOTH views, so the rules broke list view as
 * well. Whatever replaces this must key on something that actually differs
 * between the two — verified from the rendered DOM, not assumed. */

/* =============================================================================
 * PPR brand adjustments — 2026-09-17 (grid view + cleanup)
 * ========================================================================== */

/* GRID VIEW — keyed on `.listing-layout.property-grid`.
 * That is the class the section actually carries in grid view and not in list
 * (verified from the rendered DOM in both). An earlier attempt used
 * `.lisitng-grid-layout`, which the container carries in BOTH views, and broke
 * the list layout as a result.
 *
 * Grid markup is also structurally different: cards are bare
 * <article class="property-item"> with no .property-item-wrapper, .detail or
 * .property-meta, so they are laid out directly. */
/* Grid rows.
 * Floats got two columns but not two EQUAL ones: a taller card snags the next
 * float and the row collapses to one item, which is the ragged layout in the
 * screenshot. Flex with align-items:stretch makes every card in a row the same
 * height, so the rows stay intact regardless of excerpt length.
 *
 * The earlier flex attempt failed because it was applied to .list-container,
 * which also holds the absolutely positioned sort control. Wrapping only the
 * cards is not possible without a template change, so the sort control is
 * pulled OUT of flex flow with position:absolute — it already is — and given
 * `order: -1` so it can never be treated as the first card. */
/* Photo spans the card instead of staying at its list-view width. */
.listing-layout.property-grid .property-item figure,
.listing-layout.property-grid .property-item figure img {
	float: none;
	width: 100%;
	max-width: 100%;
	margin: 0 0 10px;
	padding: 0;
}

.listing-layout.property-grid .property-item > h4 {
	margin: 0 0 10px;
}

/* (The float-era :nth-of-type clear/margin rules are gone — flex wrapping
 * handles the row break, and leaving them would fight the gap.) */

/* The sort controls are absolutely positioned over this section, so the flex
 * container must not try to lay them out as a card. */


@media (max-width: 767px) {
	.listing-layout.property-grid .property-item {
		width: 100%;
		flex: 0 0 100%;
	}
}

/* Requested rules. */
.property-items .narrative {
	padding: 0 0 10px;
}

.property-items .narrative h2 {
	margin-bottom: 0;
}

.home-recent-posts {
	padding: 0;
}

.sidebar #custom_html-2.widget_text .textwidget {
	padding: 10px;
}

/* The scroll-to-top button is not part of this design. */
#scroll-top {
	display: none !important;
}

/* The theme's default blue still showed through on the select dropdown's
 * highlighted row — bootstrap-select renders that menu appended to <body>, so
 * an .advance-search-scoped rule never reached it. */

/* Footer widget titles all use the display serif. The RSS widget renders its
 * title inside an <a> next to the feed icon, which kept the UI sans. */

/* Content column: no inner padding, and the same width on every template.
 * `.post-content` carries the padding on some templates and not others, which
 * is what made the sidebar look wider or narrower from section to section. */
.main-wrap .main > .post-content,
.post-content.rh_classic_content_zero,
.main .post-content {
	padding-left: 0;
	padding-right: 0;
}

.tax-property-feature .listing-grid-layout .main,
.tax-property-city .listing-grid-layout .main,
.tax-property-type .listing-grid-layout .main,
.tax-property-status .listing-grid-layout .main {
	margin-top: 0;
}

/* Remaining blue values in this file belong to features that no longer render:
 *   #263879  .triangle / .popup-header      — old popup chrome, 0 occurrences live
 *   #42c0fb  #stb-* / .stb links            — Simple Text Box boxes, retired
 * They are left as-is rather than remapped: changing dead rules invites the
 * assumption they were checked and are in use. Verified against the rendered
 * pages, not just the stylesheet. */

/* Grid view detail fixes. */

/* Titles match the list view's size rather than shrinking. */
.listing-layout.property-grid .property-item > h4,
.listing-layout.property-grid .property-item > h4 a {
	line-height: 1.3;
}

/* The status label is positioned against the FIGURE. In grid view the figure
 * spans the card, so the badge's 10px inset sat against the card edge and a
 * two-status label ("Not Available, Rented") ran past the image. Inset from the
 * image instead, and allow it to wrap rather than overflow. */

/* Excerpt sits flush with the title and the card's side padding, and the button
 * gets room above it. The button is pushed to the card's bottom edge so that
 * two cards of different text length still align their buttons. */
.listing-layout.property-grid .property-item p {
	margin: 0;
}

.listing-layout.property-grid .property-item .more-details {
	margin-top: 10px;
	align-self: flex-start;
    display: block;
}

.listing-layout h4 {
	line-height: 1;
}

/* Nav hover gets the reference's gold underline, matching the active item.
 * Applied to the <a> with a border rather than the earlier box-shadow so the
 * rule sits directly under the lettering at the item's own width. */
/* HOVER ONLY. An earlier version also applied the rule to the current/ancestor
 * states; those are already marked by gold lettering, and doubling the cue made
 * the underline read as permanent rather than as feedback.
 *
 * Drawn with box-shadow, not border-bottom: a border adds 3px to the anchor's
 * box and pushed the drop-down 3px away from its parent, leaving a visible gap
 * the menu had to be crossed. A shadow paints in the same place and occupies no
 * space, so the submenu still meets the item. */

/* Sub-menu items keep no underline — the rule is a top-level cue. */

/* --- footer bands ----------------------------------------------------------
 * #footer-wrapper is the main navy band; #footer-bottom is the darker copyright
 * strip beneath it, spanning the window while its text stays on the container
 * grid (same calc pair as #header-top — see that rule for why the arithmetic is
 * written this way). */
#footer-wrapper {
	padding-bottom: 0;
}

#footer-bottom {
	padding-top: 18px;
	padding-bottom: 18px;
	margin-top: 0;
}

/* =============================================================================
 * Listing header row — sort left, view switch right
 *
 * The title, the sort control and the view buttons now live in a real
 * .listing-header row (see templates/template-property-pages*.php and
 * assets/classic/partials/taxonomy/common.php), so none of them needs
 * positioning any more.
 *
 * The parent had shipped sort-controls INSIDE .list-container — a sibling of the
 * property cards — and view-buttons outside it, which is why both previously had
 * to be pinned with position:absolute to appear as a header row. That is what
 * collided with long titles, staggered them against the sidebar, and made the
 * grid container lay out its own controls as if they were cards.
 * ========================================================================== */
.listing-header {
	margin-bottom: 22px;
}

.listing-header .title-heading {
	float: none;
	margin: 0 0 14px;
}

.listing-layout .rh_sort_controls,
.listing-layout .sort-controls,
.listing-header .rh_sort_controls,
.listing-header .sort-controls {
	position: static;
	float: left;
	top: auto;
	right: auto;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 10px;
}

.listing-layout .view-type,
.listing-header .view-type {
	position: static;
	float: right;
	top: auto;
	right: auto;
	left: auto;
	border: 1px solid #dedede;
	margin: 0;
}

/* CSS Grid, not flex.
 * Flex requires every child of the container to be a card: any stray sibling —
 * the theme's clearfix spacers, the term description, anything a plugin injects
 * — becomes a flex item and takes a column, which is what kept pushing the first
 * property onto a row of its own.
 *
 * `grid-auto-flow: dense` plus an explicit two-column track means the browser
 * places the CARDS into the columns and leaves anything else to flow normally,
 * so the layout no longer depends on the container holding nothing but cards.
 * It also gives equal-height rows for free, which is what the earlier float
 * attempt could not do. */
.listing-layout.property-grid .list-container {
	/* The parent pulls this container 30px left (.property-grid .list-container
	 * {margin-left:-30px}) to offset a gutter the float layout added to each
	 * card. Grid supplies its own gap, so that offset just shifts the whole
	 * block off the container's left edge. */
	margin-left: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px;
	align-items: stretch;
}

/* THE cause of every "one card per row" symptom, through flex, floats and grid
 * alike — found by Luis.
 *
 * .list-container also carries `clearfix`, and the parent defines
 *
 *     .clearfix:before, .clearfix:after { display: table; content: ""; }
 *
 * In a grid or flex container those pseudo-elements are REAL items: ::before
 * takes the first cell and pushes the first property into the second, so every
 * row held one card and a phantom. No amount of width arithmetic could fix it,
 * because the widths were never wrong.
 *
 * `display: none` on both removes them. The float-clearing they exist for is
 * meaningless here — a grid container clears its own children. */
.listing-layout.property-grid .list-container::before,
.listing-layout.property-grid .list-container::after {
	display: none;
}

/* Anything that is not a card spans the full width instead of taking a column. */
.listing-layout.property-grid .list-container > *:not(.property-item) {
	grid-column: 1 / -1;
}

.listing-layout.property-grid .property-item {
	width: auto;
	max-width: none;
	margin: 0;
}

/* Hide multiselect buttons on search */
.bs-searchbox+.bs-actionsbox {
    display: none;
}

/* Hide double border on homepage sections.
 * Scoped to the homepage: that is where .inner-wrapper's bottom border doubles
 * against the section separator between .container blocks. Elsewhere the border
 * is the only divider there is, so removing it site-wide would take a real rule
 * away. */
body.home .inner-wrapper,
body.page-template-home .inner-wrapper {
    border-bottom: 0;
}

@media (max-width: 767px) {
	.listing-layout.property-grid .list-container {
		grid-template-columns: minmax(0, 1fr);
	}
}


/* =============================================================================
 * Mobile pass — 2026-09-18
 * ========================================================================== */

@media (max-width: 767px) {

	/* The mobile logo was ported from the old child as `position: fixed; left: 0`,
	 * so it sat over the page instead of in the header. Put it back in flow. */
	#logo-mobile {
		position: static;
		left: auto;
		z-index: auto;
		width: 100%;
		box-sizing: border-box;
		padding: 14px 20px;
		text-align: left;
	}

	#header-top {
		padding-top: 0;
	}

	#logo-mobile .site-logo {
		display: inline-block;
	}

	/* The desktop rule pulls the mark up by 15px to sit it on the nav baseline;
	 * in the mobile band there is no baseline to meet. */
	#logo-mobile img {
		height: 42px;
		width: auto;
		margin: 0 auto;
	}

	#logo-mobile .tag-line {
		display: none;
	}

	/* Phone reads as a centred contact line rather than a right-aligned scrap. */
	#header-top .ppr-header-phone {
		float: none;
		width: 100%;
		text-align: center;
	}

	/* Property features: one per line instead of a row that runs off the screen. */
	.property-item .property-meta {
		display: block;
	}

	/* The strip's items are floated, and `#overview .property-item
	 * .property-meta span` sets them inline-block at ID specificity, so the
	 * float has to be cleared at a selector that can actually outrank it. */
	.property-item .property-meta > span,
	#overview .property-item .property-meta > span,
	.property-items .property-item .property-meta > span {
		float: none;
		display: block;
		width: 100%;
		box-sizing: border-box;
		border-right: 0;
		text-align: left;
	}

	/* No view switch on phones — every listing stacks vertically. */
	.listing-layout .view-type {
		display: none;
	}

	.listing-layout .list-container,
	.listing-layout.property-grid .list-container {
		display: block;
	}

	/* The card is width:100% but sized content-box, so its own border and
	 * padding pushed it wider than the column it sits in. */
	.listing-layout .list-container .property-item,
	.listing-layout.property-grid .list-container .property-item,
	.listing-layout .list-container .property-item-wrapper {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		margin-left: 0;
		margin-right: 0;
	}

	/* Newsletter fields were touching each other.
	 * The responsive block at ~1050px already stacks these, but the header-widget
	 * block ported from the old theme comes later in the file at the same
	 * specificity and puts `float:left; width:150px` back at every width. These
	 * rules match that specificity and win on source order. */
	#top-header-widget {
		position: static;
		width: 100%;
		max-width: 100%;
		height: auto;
		padding: 0 20px;
		box-sizing: border-box;
	}

	#top-header-widget .mc4wp-form-fields p {
		margin: 0 0 12px;
		width: 100%;
	}

	#top-header-widget input[type="text"],
	#top-header-widget input[type="email"],
	#top-header-widget input[type="submit"] {
		float: none;
		display: block;
		width: 100%;
		max-width: 100%;
		margin-right: 0;
		box-sizing: border-box;
	}

	/* Banner title: keep it off the edges instead of spanning the full width. */
	h1.page-title,
	h1.page-title.tax,
	h2.page-title.tax {
		width: 80%;
		margin-left: 10%;
		box-sizing: border-box;
	}
}


/* Grid card feature strip — two per row, clear of the button.
 * Four items across a half-width card ran the labels into each other
 * ("2.5 BATHROOMS" / "1 GARAGE"), and the strip sat flush against the
 * Property & Pricing Details button with no separation. */
.listing-layout.property-grid .property-item .property-meta {
	margin-top: 20px;
}

/* Grid rather than flex: with flex the items' own side margins pushed two 50%
 * basis items past the row and everything wrapped to one per line. Grid sizes
 * the tracks and the margins stop mattering. */
.listing-layout.property-grid .property-item .property-meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 0;
}

.listing-layout.property-grid .property-item .property-meta > span {
	box-sizing: border-box;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	text-align: center;
}


/* Feature strip cell separators for the two-column grid. */
.property-item .property-meta span {
	border-bottom: 1px solid #dedede;
	margin: 0;
	max-width: none;
	border-right: 0;
	padding: 5px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.property-item .property-meta span:nth-child(even) {
	border-left: 1px solid #dedede;
}

/* The parent gives every card's .detail a 175px min-height sized for the old
 * two-across row; in a narrower grid cell it just pads the card out. */
.property-item .detail {
	min-height: 0;
}

/* Footer legal notice row (functions.php Section 59).
 * The footer widget chrome is sized for the column widgets above; across the
 * full width it reads as a huge padded slab, so the box is flattened out. */
#footer-legal-notice .widget {
	padding: 0;
	margin: 0;
}

/* The inner .textwidget carries its own padding — zeroing .widget alone left
 * the text inset from the column edge with a deep gap underneath. */
#footer-legal-notice .textwidget {
	padding-left: 0;
	padding-right: 0;
	padding-bottom: 20px;
}

#footer-legal-notice .span12 {
	padding-top: 24px;
	padding-bottom: 4px;
}

#footer-legal-notice p {
	margin: 0 0 10px;
}

#footer-legal-notice p:last-child {
	margin-bottom: 0;
}
