:root {
    /* Typography & Fonts */
    --havenlytics-bodyFont: "Plus Jakarta Sans", sans-serif;
    --havenlytics-headingFont: 'Montserrat', sans-serif;
    
    /* Core Color Palette */
    --havenlytics-primary: #6C60FE;       /* Primary brand color */
    --havenlytics-secondary: #764ba2;     /* Secondary accent color */
    --havenlytics-accent: #FF9AA2;        /* Accent for urgent elements */
    --havenlytics-success: #00B46A;       /* Success states */
    --havenlytics-alert: #FF4D4F;         /* Error/alert states */
    --havenlytics-light: #f8f9fa;
    --havenlytics-dark: #333;
    --havenlytics-gray: #6c757d;
    --havenlytics-border: #eee;
    --havenlytics-card-shadow: 0px 4px 24px rgba(189, 189, 189, 0.24);

    /* Neutral Colors */
    --havenlytics-text-primary: #1E1E2F;  /* Primary text */
    --havenlytics-text-secondary: #555;   /* Secondary text */
    --havenlytics-border: #E4E4ED;        /* Borders and dividers */
    --havenlytics-bg-light: #F8F8F8;      /* Light backgrounds */
    --havenlytics-bg-white: #FFFFFF;      /* Pure white */

    /* Property Status Colors */
    --havenlytics-status-sale: #6C60FE;   /* For Sale */
    --havenlytics-status-rent: #00C2A8;   /* For Rent */
    --havenlytics-status-pending: #FFB507;/* Pending */
    --havenlytics-status-sold: #FF4D4F;   /* Sold */
    --havenlytics-status-off: #9192A3;    /* Off Market */

    /* Property Card Elements */
    --havenlytics-cardBg: var(--havenlytics-bg-white);
    --havenlytics-cardShadow: 0 4px 12px rgba(0,0,0,0.08);
    --havenlytics-cardRadius: 8px;
    --havenlytics-cardPadding: 1.5rem;
    --havenlytics-cardBorder: 1px solid var(--havenlytics-border);

    /* Typography Scale */
    --havenlytics-titleSize: 24px;     /* Property title */
    --havenlytics-priceSize: 1.5rem;      /* Price text */
    --havenlytics-metaSize: 0.875rem;     /* Meta info */
    --havenlytics-excerptSize: 0.95rem;   /* Description */
    --havenlytics-labelSize: 0.8rem;      /* Form labels */

    /* Interactive Elements */
    --havenlytics-btnPrimaryBg: var(--havenlytics-primary);
    --havenlytics-btnPrimaryHover: #5944f0;
    --havenlytics-btnText: #fff;
    --havenlytics-btnRadius: 4px;
    --havenlytics-btnPadding: 0.75rem 1.5rem;
    
    /* Pagination */
    --havenlytics-pagActiveBg: var(--havenlytics-primary);
    --havenlytics-pagActiveText: #fff;
    --havenlytics-pagHoverBg: #f0f0f0;

    /* Property Features */
    --havenlytics-featureIconSize: 1.25rem;
    --havenlytics-featureIconColor: currentColor;
    --havenlytics-priceColor: var(--havenlytics-primary);
    --havenlytics-sqftColor: var(--havenlytics-text-secondary);

    /* Font Weights */
    --havenlytics-fontWeight-light: 300;
    --havenlytics-fontWeight-normal: 400;
    --havenlytics-fontWeight-medium: 500;
    --havenlytics-fontWeight-semibold: 600;
    --havenlytics-fontWeight-bold: 700;
    --havenlytics-fontWeight-Extrabold: 700;

    /* Media & Visuals */
    --havenlytics-imageRatio: 75%;        /* 4:3 aspect ratio */
    --havenlytics-imageHoverScale: 1.05;
    --havenlytics-videoBg: #1E1E2F;

    /* Spacing & Transitions */
    --havenlytics-baseSpacing: 1.1rem;
    --havenlytics-sectionSpacing: 3rem;
    --havenlytics-transitionTime: 0.3s ease;

    /* Form Elements */
    --havenlytics-inputBorder: var(--havenlytics-border);
    --havenlytics-inputFocus: var(--havenlytics-primary);
    --havenlytics-inputRadius: 4px;

    /* Map & Location */
    --havenlytics-mapMarkerBg: var(--havenlytics-primary);
    --havenlytics-mapMarkerText: #fff;
    --havenlytics-mapClusterBg: var(--havenlytics-alert);

    /* Additional Components */
    --havenlytics-ribbonBg: var(--havenlytics-accent);
    --havenlytics-tagBg: var(--havenlytics-bg-light);
    --havenlytics-tagColor: var(--havenlytics-text-primary);
}

/* Havenlytics Base Styles */
.havenlytics_featured_items-widget {
    font-family: var(--havenlytics-bodyFont);
    color: var(--havenlytics-text-primary);
    box-sizing: border-box;
    /* background: var(--havenlytics-bg-white);
    border-radius: var(--havenlytics-cardRadius);
    box-shadow: var(--havenlytics-card-shadow); */
    /* padding: var(--havenlytics-cardPadding); */
    position: relative;
    overflow: hidden;
}

/* Header Styles */
.havenlytics_featured_items-widget .havenlytics_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: calc(var(--havenlytics-baseSpacing) * 1.5);
    position: relative;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--havenlytics-border);
}

.havenlytics_featured_items-widget .havenlytics_header h2 {
    margin: 0;
    font-size: var(--havenlytics-titleSize);
    font-family: var(--havenlytics-headingFont);
    font-weight: var(--havenlytics-fontWeight-bold);
    color: var(--havenlytics-text-primary);
    position: relative;
}

.havenlytics_featured_items-widget .havenlytics_header h2::after {
    content: '';
    position: absolute;
    bottom: -12px;
    left: 0;
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, var(--havenlytics-primary), var(--havenlytics-secondary));
    border-radius: 3px;
}

/* Carousel Container */
.havenlytics_featured_items-widget .havenlytics_carousel-container {
    position: relative;
   
}

.havenlytics_featured_items-widget .owl-carousel {
    position: relative;
    overflow: hidden;
}

.havenlytics_featured_items-widget .owl-stage-outer {
    border-radius: var(--havenlytics-cardRadius);
}

/* Property Card */
.havenlytics_featured_items-widget .havenlytics_property {
    background: var(--havenlytics-cardBg);
    border-radius: var(--havenlytics-cardRadius);
    overflow: hidden;
    box-shadow: var(--havenlytics-cardShadow);
    transition: all var(--havenlytics-transitionTime);
    position: relative;
    margin: 10px 5px;
    border: var(--havenlytics-cardBorder);
}

.havenlytics_featured_items-widget .havenlytics_property:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.12);
}

/* Property Image */
.havenlytics_featured_items-widget .havenlytics_image {
    height: 200px;
    overflow: hidden;
    position: relative;
}

.havenlytics_featured_items-widget .havenlytics_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--havenlytics-transitionTime);
}

.havenlytics_featured_items-widget .havenlytics_property:hover .havenlytics_image img {
    transform: scale(var(--havenlytics-imageHoverScale));
}

.havenlytics_featured_items-widget .havenlytics_badge {
    position: absolute;
    top: 15px;
    right: 15px;
    background: var(--havenlytics-status-sale);
    color: white;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: var(--havenlytics-labelSize);
    font-weight: var(--havenlytics-fontWeight-semibold);
    box-shadow: 0 4px 10px rgba(108, 96, 254, 0.3);
    z-index: 2;
}

.havenlytics_featured_items-widget .havenlytics_badge.rent {
    background: var(--havenlytics-status-rent);
}

.havenlytics_featured_items-widget .havenlytics_badge.pending {
    background: var(--havenlytics-status-pending);
}

.havenlytics_featured_items-widget .havenlytics_badge.sold {
    background: var(--havenlytics-status-sold);
}

/* Property Details */
.havenlytics_featured_items-widget .havenlytics_details {
    padding: 18px;
}

.havenlytics_featured_items-widget .havenlytics_price {
    font-size: var(--havenlytics-priceSize);
    font-weight: var(--havenlytics-fontWeight-semibold);
    color: var(--havenlytics-priceColor);
    margin-bottom: 5px;
    font-family: var(--havenlytics-headingFont);
}

.havenlytics_featured_items-widget .havenlytics_price span {
    font-size: var(--havenlytics-metaSize);
    color: var(--havenlytics-text-secondary);
    font-weight: var(--havenlytics-fontWeight-normal);
}

.havenlytics_featured_items-widget .havenlytics_title {
    font-size: 1.15rem;
    font-weight: var(--havenlytics-fontWeight-semibold);
    color: var(--havenlytics-text-primary);
    margin-bottom: 8px;
    font-family: var(--havenlytics-headingFont);
    line-height: 1.3;
}
.havenlytics_featured_items-widget .havenlytics_title a {
    color: var(--havenlytics-text-primary);
    text-decoration: none;
}
.havenlytics_featured_items-widget .havenlytics_title a:hover {
    text-decoration: none; color: var(--havenlytics-primary);
}
.havenlytics_featured_items-widget .havenlytics_address {
    color: var(--havenlytics-text-secondary);
    font-size: var(--havenlytics-metaSize);
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.havenlytics_featured_items-widget .havenlytics_address i {
    color: var(--havenlytics-primary);
}

.havenlytics_featured_items-widget .havenlytics_features {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid var(--havenlytics-border);
    padding-top: 15px;
    margin-top: 15px;
}

.havenlytics_featured_items-widget .havenlytics_feature {
    text-align: center;
    font-size: var(--havenlytics-metaSize);
    flex: 1;
}

.havenlytics_featured_items-widget .havenlytics_feature i {
    font-size: var(--havenlytics-featureIconSize);
    color: var(--havenlytics-primary);
    margin-bottom: 5px;
    display: block;
}

.havenlytics_featured_items-widget .havenlytics_feature span {
    display: block;
    color: var(--havenlytics-text-secondary);
}

/* Navigation Arrows */
.havenlytics_featured_items-widget .havenlytics_nav {
    position: absolute;
    top: 30%;
    transform: translateY(-30%);
    width: 100%;
    display: flex;
    justify-content: space-between;
    pointer-events: none;
    z-index: 10;
}

.havenlytics_featured_items-widget .havenlytics_prev,
.havenlytics_featured_items-widget .havenlytics_next {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--havenlytics-btnPrimaryBg);
    color: var(--havenlytics-btnText);
    border: none;
    box-shadow: var(--havenlytics-cardShadow);
    cursor: pointer;
    transition: all var(--havenlytics-transitionTime);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    pointer-events: auto;padding: 0;
}

.havenlytics_featured_items-widget .havenlytics_prev:hover,
.havenlytics_featured_items-widget .havenlytics_next:hover {
    background: var(--havenlytics-btnPrimaryHover);
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(108, 96, 254, 0.3);
}

.havenlytics_featured_items-widget .havenlytics_prev {
    left: -15px;
}

.havenlytics_featured_items-widget .havenlytics_next {
    right: -15px;
}

/* Dots */
.havenlytics_featured_items-widget .havenlytics_dots {
    display: flex;
    justify-content: center;
    gap: 8px;
        margin-top: 15px;
    margin-bottom: 15px;
}

.havenlytics_featured_items-widget .havenlytics_dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--havenlytics-border);
    cursor: pointer;
    transition: all var(--havenlytics-transitionTime);
}

.havenlytics_featured_items-widget .havenlytics_dot.active {
    background: var(--havenlytics-primary);
    transform: scale(1.2);
}

/* Footer */
.havenlytics_featured_items-widget .havenlytics_footer {
    text-align: center;
    margin-top: 25px;
    padding-top: 15px;
    border-top: 1px solid var(--havenlytics-border);
    font-size: var(--havenlytics-metaSize);
    color: var(--havenlytics-text-secondary);
}

.havenlytics_featured_items-widget .havenlytics_footer a {
    color: var(--havenlytics-primary);
    text-decoration: none;
    font-weight: var(--havenlytics-fontWeight-semibold);
}

.havenlytics_featured_items-widget .havenlytics_footer a:hover {
    text-decoration: underline;
}

/* Animation */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.havenlytics_featured_items-widget .havenlytics_property {
    animation: fadeIn 0.6s forwards;
}