/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* ============================================================
   CUSTOM STYLES - Moved from Appearance > Customize > Additional CSS
   ============================================================ */

ul.kv-options-list input[type="checkbox"] {
    margin-right: 3px !important;
}

.kv-quicksearch-bar .kv-properties-search-form .kv-properties-search-filters, .kv-quicksearch-bar .kv-properties-search-form .kv-properties-search-submit {
    width: 25% !important;
}

.kv-quicksearch-bar .kv-properties-search-form .kv-properties-search-filters {
    width: 15% !important;
}

.type-client-testimonials .elementor-post__text {
    display: flex;
    flex-direction: column;
    position: relative; /* Needed for absolute positioning of quote */
}

.type-client-testimonials .elementor-post__title {
    order: 2;
    font-weight: bold;
    font-size: 18px;
    margin-top: 10px;
    margin-bottom: 10px;
}

.type-client-testimonials .elementor-post__title a {
    pointer-events: none; /* Disables the link */
    text-decoration: none; /* Removes underline */
    color: inherit; /* Keeps the title color consistent */
    cursor: default; /* Removes pointer cursor */
    padding-left: 40px;
    font-variant: all-petite-caps;
}

.type-client-testimonials .elementor-post__text p {
    order: 1;
    font-size: 16px;
    line-height: 1.5;
    padding: 10px;
    padding-left: 40px; /* Space for the large quote */
    position: relative; /* Contains the absolute quote */
}

.type-client-testimonials .elementor-post__text p:before {
    content: '“'; /* Single large quote at the start */
    font-size: 60px; /* Large quote size to match screenshot */
    position: absolute;
    left: 0;
    top: -10px; /* Adjusts vertical positioning */
    color: #000; /* Matches text color; adjust as needed */
    line-height: 1; /* Ensures proper alignment */
}

.type-client-testimonials .elementor-post__text p:after {
    content: ''; /* Removes the closing quote */
}

/* Adjust buttons on homepage search for mobile*/
@media only screen and (max-width: 767px) {
    .kv-quicksearch-bar .kv-properties-search-form .kv-properties-search-filters, .kv-quicksearch-bar .kv-properties-search-form .kv-properties-search-submit {
    width: 100% !important;
}
    }
}

/* Footer BG */
footer.site-footer, .elementor-footer-container {
    background-color: #002b49 !important;
}

/* Adjustments to kvcore filtering */
.kv-multiple-select {
    margin-bottom: 10px;
}

.kv-multiple-select label {
    display: block;
    color: #666;
    font-size: 14px;
    margin-bottom: 5px;
}

.kv-multiple-select-control {
    background-color: #00aaff;
    border: none;
    color: white;
    padding: 10px 15px;
    width: 100%;
    text-align: left;
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
}

.kv-multiple-select-control:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.kv-text-ellip {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex-grow: 1;
}

.kv-counter {
    background-color: #333;
    color: white;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}

.kv-properties-search-form .kv-properties-search-areas .kv-multiple-select {
    margin-bottom: 0 !important;
}

/* Homepage search widget edits */
#kv-properties-alerts button {
  background-color: #4a6b82;
  color: white;
}

#kv-properties-alerts button:hover {
    background-color: #003e69;
}

/* kvCore Details and Agent Details Pages */

.kv-button.kv-button-inverted-v2, .kv-detail-requesttour, .kv-detail-request {
    background-color: #002b49 !important;
    color: white;
    transition: background-color 0.5s ease;
    font-family: Montserrat;
}

.kv-button.kv-button-inverted-v2:hover,
.kv-detail-requesttour:hover,
.kv-detail-request:hover {
    background-color: #e8d9b9 !important;
    color: #002b49 !important;
}

.kv-detail-v2-agent-cta a {
    font-weight: 400;
    text-decoration: none;
}

.kv-detail-v2-agent-cta a:hover { color: #002b49; }

#kv-detail-v2-cta { background-color: #002b49; }

.kv-detail-v2-main-actions.kv-list-bar a,
.kv-agent-profile-v2-contact-bar .kv-list-bar a {
    text-decoration: none;
}

.kv-agent-profile-v2-contact-bar .kv-list-bar-no-border .kv-button {
    background-color: #002b49 !important;
    color: white !important;
    transition: background-color 0.5s ease;
    font-family: Montserrat;
    border: none;
    padding: 10px 20px;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none;
}

.kv-agent-profile-v2-contact-bar .kv-list-bar-no-border .kv-button:hover {
    background-color: #e8d9b9 !important;
    color: #002b49 !important;
}

.kv-agent-profile-v2-testimonials .kv-container .kv-button,
.kv-agent-profile-v2-active-listings .kv-container-space-between .kv-button {
    background-color: #002b49 !important;
    color: white !important;
    transition: background-color 0.5s ease;
    font-family: Montserrat;
    border: none;
    padding: 10px 20px;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none;
}

.kv-agent-profile-v2-testimonials .kv-container .kv-button:hover,
.kv-agent-profile-v2-active-listings .kv-container-space-between .kv-button:hover {
    background-color: #e8d9b9 !important;
    color: #002b49 !important;
}

.kv-detail-v2-back-to-search-button { margin-left: 2%; }

.kv-detail-v2-main-city .fa-map-marker {
    padding-right: 10px;
}

.kv-detail-v2-similar .kv-container h2 { margin-left: 45px; }

.kv-box-footer .kv-box-footer-item {
    text-decoration: none !important;
}

.kv-box-footer .kv-box-footer-item:hover {
    text-decoration: none !important;
}

/* Out of container price history fix */
.kv-detail-v2-additional-agent-price-history {
    overflow: visible !important;
}

.ct-chart-line {
    overflow: visible !important;
}

.ct-label.ct-vertical.ct-start {
    white-space: nowrap !important;
    width: auto !important;
    text-align: right !important;
}

/* Changes to similar slider to remove button styles */
.kv-detail-v2-similar .slick-prev,
.kv-detail-v2-similar .slick-next {
    font-size: 0 !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}

.kv-detail-v2-similar .slick-prev:hover,
.kv-detail-v2-similar .slick-prev:focus,
.kv-detail-v2-similar .slick-prev:active,
.kv-detail-v2-similar .slick-next:hover,
.kv-detail-v2-similar .slick-next:focus,
.kv-detail-v2-similar .slick-next:active {
    background: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.kv-detail-v2-similar .slick-prev:before,
.kv-detail-v2-similar .slick-next:before {
    font-family: "FontAwesome" !important;
    font-size: 20px !important;
    color: #002b49 !important;
    opacity: 1 !important;
}

.kv-detail-v2-similar .slick-prev:hover:before,
.kv-detail-v2-similar .slick-prev:focus:before,
.kv-detail-v2-similar .slick-prev:active:before,
.kv-detail-v2-similar .slick-next:hover:before,
.kv-detail-v2-similar .slick-next:focus:before,
.kv-detail-v2-similar .slick-next:active:before {
    color: #002b49 !important;
    opacity: 1 !important;
}

.kv-detail-v2-similar .slick-prev:before {
    content: "\f060" !important;
}

.kv-detail-v2-similar .slick-next:before {
    content: "\f061" !important;
}

.kv-detail-v2-main-address,
.kv-detail-v2-main-price,
.kv-detail-v2-features h2,
.kv-detail-v2-features h3,
.kv-detail-v2-details h2,
.kv-no-gutters h3,
.kv-detail-v2-additional-agent h2,
.kv-mortgage-calculator-container h2,
.kv-mortgage-calculator-report h3,
.kv-detail-v2-similar h2 {
  color: #002b49 !important;
}

.kv-detail-v2-main-actions.kv-list-bar a {
  color: #002b49 !important;
}

.kv-detail-v2-main-actions.kv-list-bar a i {
  color: #002b49 !important;
}

.kv-detail-v2-main-actions.kv-list-bar a span {
  color: #002b49 !important;
}

/* Fix for Property Details pages overlaps */
.kv-detail-v2-general .kv-list-v2-item-name {
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    hyphens: auto !important;
    max-width: 100% !important;
}

/* Homepage search and featured edits */
.kv-properties-container.kv-layout-card .kv-property-column .property-content .filter-header .kv-map-grey-area-filters,
.kv-layout-map .kv-map-grey-area-filters {
    background-color: transparent !important;
}

/* Agent page background placeholder replacement */
.kv-agent-profile-v2-header-image {
    background-image: url('/wp-content/uploads/2025/08/mv-lighthouse.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 25vh;
    width: 100%;
}

@media (max-width: 767px) {
    .kv-agent-profile-v2-header-image {
        height: 15vh;
    }
}

@media (min-width: 1024px) {
    .kv-properties-search-form .kv-properties-search-submit {
        max-width: none;
        padding: 0;
        z-index: 9;
        width: 43.5%;
    }
}

/* Logo CSS edit */
.e-con .elementor-widget {
    min-width: 300px;
}

/* Hide social login options until keys are configured */
.kv-login-option-or,
.kv-login-row {
    display: none !important;
}

/* Hide kvcore pagination due to persistent bugs, but include on homepage exclusives */
.kv-property-pagination-container {
    display: none;
}

.exclusivehome .kv-property-pagination-container {
    display: block;
}

/* Lodgix CSS edits */
.ldx-property-cell .ldx-favorite {
    border-style: none !important;
}

/* Lodgix search styling */
#ldxarrival,
#ldxdepart {
    font-family: Montserrat, sans-serif;
    color: #2e3e4b;
}

.ldx-properties-count p,
.ldx-properties-count p * {
    font-family: Montserrat, sans-serif !important;
    color: #2e3e4b !important;
}

/* Additional Lodgix Styling */
.ldx-property-location,
.ldxStRate,
.ldx-card-amenity,
.ldx-section-content p,
.ldx-amenities-list,
.ldgxPowered,
.ldx-date-book,
.ldx-detail-location,
#ldx-section-menu,
.ldx-inquiry-button,
.mbsc-stepper-label,
.mbsc-label-stacked,
#ldx_start::placeholder,
#ldx_end::placeholder,
.mbsc-calendar-week-day,
.mbsc-calendar-day-text,
.mbsc-calendar-month-name,
.mbsc-calendar-title,
.mbsc-calendar-month,
.mbsc-calendar-year,
.mbsc-popup-button,
#ldx_single_guests,
.mbsc-stepper-inner,
.mbsc-calendar-month-title,
.ldx-qd-beds,
.ldx-qd-baths,
.ldx-qd-sleeps,
.ldx-qd-pets,
.ldx-favorite,
.ldx-share,
.ldx-text-lg,
.ldx-property-address,
.ldx-amenity-cat-title,
.ldx-alert,
#ldxarrival,
#ldxdepart,
div.ldx-property-policies-cancelation > h3,
div.ldx-property-policies-deposit > h3,
div.ldx-section-intro > h2 {
    font-family: Montserrat, sans-serif !important;
}

div.ldx-section-intro > h2 {
    font-size: 32px !important;
    margin-bottom: 1em !important;
}

.ldx-property-policies-cancelation h3,
.ldx-property-policies-deposit h3 {
    font-weight: 600 !important;
}

/* Lodgix Filters Styling */
#ldx-more-filters legend,
#ldx-more-filters .mbsc-stepper-label,
#ldx-more-filters .mbsc-description,
#ldx-more-filters .ldx-drop-search,
#ldx-more-filters .ldx-text-sm,
#ldx-more-filters .ldx-button,
#ldx-more-filters input {
    font-family: Montserrat, sans-serif !important;
}

.ldx-property-title-bar .ldx-mb-2 {
    font-family: Montserrat !important;
}

.ldx_inquiry_button {
  background-color: #4a6b82 !important;
  color: white !important;
}

.ldx_inquiry_button:hover {
  background-color: #003e69 !important;
  color: white !important;
}