/*
Theme Name: Houzez Child
Theme URI: https://blrpropertys.com
Description: Child Theme for Houzez
Author: Reejinet Creations
Author URI: https://reejinet.com
Template: houzez
Version: 1.0.0
Text Domain: houzez-child
*/

/* ================================================================
   BLR PROPERTIES
   LUXURY PROPERTY DETAIL DESIGN SYSTEM
================================================================ */

:root {
    --blr-gold: #c6a15b;
    --blr-gold-dark: #9e7b39;
    --blr-gold-light: #e6d2a7;

    --blr-black: #101010;
    --blr-dark: #17191b;
    --blr-charcoal: #24272a;

    --blr-text: #242424;
    --blr-muted: #747474;

    --blr-cream: #f8f6f1;
    --blr-soft: #f5f5f3;
    --blr-border: #e6e1d7;

    --blr-white: #ffffff;

    --blr-radius: 12px;
    --blr-radius-lg: 18px;

    --blr-shadow:
        0 18px 55px rgba(0, 0, 0, 0.07);

    --blr-shadow-hover:
        0 25px 65px rgba(0, 0, 0, 0.11);
}


/* ================================================================
   GLOBAL PROPERTY PAGE
================================================================ */

.single-property .content-wrap,
.single-property .property-wrap {
    background: #f7f7f5;
}

.single-property .property-wrap {
    padding-bottom: 70px;
}

.single-property .container {
    max-width: 1320px;
}


/* ================================================================
   PROPERTY TITLE AREA
================================================================ */

.single-property .property-title-wrap {
    padding-top: 28px;
    padding-bottom: 24px;
}

.single-property .property-title-wrap h1,
.single-property .property-title-wrap .property-title {
    color: var(--blr-black);

    font-size: clamp(28px, 3vw, 44px);
    font-weight: 600;
    line-height: 1.15;

    letter-spacing: -1px;
}

.single-property .property-title-wrap address,
.single-property .property-address-wrap {
    color: var(--blr-muted);

    font-size: 14px;
}


/* ================================================================
   STATUS BADGE
================================================================ */

.single-property .label,
.single-property .property-status,
.single-property .label-featured {
    border-radius: 4px;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 1px;
    text-transform: uppercase;
}

.single-property .label-status,
.single-property .property-status {
    background: var(--blr-gold) !important;
    color: var(--blr-black) !important;
}


/* ================================================================
   PROPERTY PRICE
================================================================ */

.single-property .item-price-wrap,
.single-property .property-price-wrap {
    color: var(--blr-black);
}

.single-property .item-price,
.single-property .property-price {
    color: var(--blr-black);

    font-size: 34px;
    font-weight: 600;
}

.single-property .item-sub-price {
    color: var(--blr-muted);
}


/* ================================================================
   PROPERTY TOP META
================================================================ */

.single-property .property-overview-wrap {
    border: 0;
}

.single-property .property-overview-data {
    background: var(--blr-white);

    border: 1px solid #ece8df;

    border-radius: 8px;

    box-shadow:
        0 8px 25px rgba(0, 0, 0, .035);
}

.single-property .property-overview-data strong {
    color: var(--blr-black);
}

.single-property .property-overview-data span {
    color: var(--blr-muted);
}


/* ================================================================
   TOP PROPERTY GALLERY
================================================================ */

.single-property .property-top-wrap {
    margin-bottom: 38px;
}

.single-property .property-banner {
    position: relative;

    overflow: hidden;

    background: #eaeaea;

    border-radius: var(--blr-radius-lg);

    box-shadow: var(--blr-shadow);
}

.single-property .property-banner img {
    display: block;

    width: 100%;

    object-fit: cover;
}


/* Main gallery */

.single-property .property-banner .gallery-image,
.single-property .property-banner .property-gallery-item {
    overflow: hidden;
}


/* Gallery navigation */

.single-property .property-banner .nav-link,
.single-property .property-banner .btn {
    border-radius: 6px;
}


/* ================================================================
   BLR CUSTOM LUXURY WRAPPER
================================================================ */

.blr-luxury-property {
    width: 100%;

    color: var(--blr-text);

    font-family: inherit;
}


/* ================================================================
   COMMON SECTION
================================================================ */

.blr-property-section {
    position: relative;

    margin-bottom: 26px;

    padding: 40px;

    overflow: hidden;

    background: var(--blr-white);

    border: 1px solid #ebe7df;

    border-radius: var(--blr-radius);

    box-shadow:
        0 8px 35px rgba(0, 0, 0, .035);
}


/* ================================================================
   SECTION HEADINGS
================================================================ */

.blr-section-heading {
    margin-bottom: 28px;
}

.blr-section-eyebrow {
    display: block;

    margin-bottom: 7px;

    color: var(--blr-gold-dark);

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 2.2px;

    text-transform: uppercase;
}

.blr-section-heading h2 {
    margin: 0;

    color: var(--blr-black);

    font-size: 28px;
    font-weight: 600;

    line-height: 1.25;

    letter-spacing: -.4px;
}

.blr-heading-line {
    display: block;

    width: 44px;
    height: 2px;

    margin-top: 14px;

    background: var(--blr-gold);
}


/* ================================================================
   ABOUT PROPERTY
================================================================ */

.blr-about-property {
    padding-top: 42px;
    padding-bottom: 42px;
}

.blr-property-description {
    max-width: 1000px;

    color: #555;

    font-size: 15px;
    line-height: 1.9;
}

.blr-property-description p {
    margin-bottom: 18px;
}

.blr-property-description p:last-child {
    margin-bottom: 0;
}


/* ================================================================
   PROPERTY OVERVIEW GRID
================================================================ */

.blr-overview-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 14px;
}

.blr-overview-card {
    display: flex;

    align-items: center;

    min-height: 98px;

    padding: 18px;

    background:
        linear-gradient(
            135deg,
            #faf9f6 0%,
            #f6f3ec 100%
        );

    border: 1px solid var(--blr-border);

    border-radius: 8px;

    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.blr-overview-card:hover {
    transform: translateY(-3px);

    border-color: var(--blr-gold);

    box-shadow:
        0 12px 30px rgba(0, 0, 0, .07);
}

.blr-overview-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    flex: 0 0 44px;

    margin-right: 14px;

    color: var(--blr-gold-dark);

    background: var(--blr-white);

    border: 1px solid var(--blr-gold);

    border-radius: 50%;

    font-size: 17px;
}

.blr-overview-card span {
    display: block;

    margin-bottom: 4px;

    color: var(--blr-muted);

    font-size: 10px;
    font-weight: 600;

    letter-spacing: .7px;

    text-transform: uppercase;
}

.blr-overview-card strong {
    display: block;

    color: var(--blr-black);

    font-size: 16px;
    font-weight: 600;

    line-height: 1.25;
}

.blr-overview-card small {
    color: var(--blr-muted);

    font-size: 11px;
    font-weight: 400;
}


/* ================================================================
   AMENITIES — DARK LUXURY SECTION
================================================================ */

.blr-amenities-section {
    background:
        linear-gradient(
            135deg,
            #101112 0%,
            #202225 100%
        );

    border-color: #292929;
}

.blr-amenities-section::before {
    content: "";

    position: absolute;

    width: 300px;
    height: 300px;

    right: -120px;
    top: -140px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(198,161,91,.14),
            transparent 68%
        );

    pointer-events: none;
}

.blr-amenities-section .blr-section-heading h2 {
    color: var(--blr-white);
}

.blr-amenities-section .blr-section-eyebrow {
    color: var(--blr-gold);
}

.blr-amenities-grid {
    position: relative;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 12px;

    z-index: 1;
}

.blr-amenity-item {
    display: flex;

    align-items: center;

    min-height: 58px;

    padding: 14px 16px;

    color: #e8e8e8;

    background: rgba(255,255,255,.035);

    border: 1px solid rgba(255,255,255,.10);

    border-radius: 6px;

    font-size: 13px;

    transition:
        background .25s ease,
        border-color .25s ease;
}

.blr-amenity-item:hover {
    background: rgba(255,255,255,.07);

    border-color: rgba(198,161,91,.65);
}

.blr-amenity-check {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 25px;
    height: 25px;

    flex: 0 0 25px;

    margin-right: 11px;

    color: var(--blr-gold);

    border: 1px solid var(--blr-gold);

    border-radius: 50%;

    font-size: 11px;
}


/* ================================================================
   PROPERTY DETAILS
================================================================ */

.blr-details-box {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    overflow: hidden;

    border:
        1px solid var(--blr-border);

    border-radius: 8px;
}

.blr-detail-row {
    display: flex;

    align-items: center;
    justify-content: space-between;

    min-height: 58px;

    padding: 14px 18px;

    background: var(--blr-white);

    border-bottom:
        1px solid var(--blr-border);
}

.blr-detail-row:nth-child(odd) {
    border-right:
        1px solid var(--blr-border);
}

.blr-detail-row span {
    color: var(--blr-muted);

    font-size: 13px;
}

.blr-detail-row strong {
    margin-left: 20px;

    color: var(--blr-black);

    font-size: 13px;
    font-weight: 600;

    text-align: right;
}


/* ================================================================
   CONTACT / EXPERT ASSISTANCE
================================================================ */

.blr-contact-section {
    padding: 0;

    background: var(--blr-black);

    border: 0;

    border-radius: var(--blr-radius);

    box-shadow: var(--blr-shadow);
}

.blr-contact-inner {
    display: grid;

    grid-template-columns:
        minmax(280px, 38%)
        minmax(0, 62%);
}

.blr-contact-copy {
    position: relative;

    display: flex;

    flex-direction: column;
    justify-content: center;

    padding: 46px 38px;

    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            #101010,
            #222426
        );
}

.blr-contact-copy::after {
    content: "";

    position: absolute;

    width: 230px;
    height: 230px;

    right: -110px;
    bottom: -120px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(198,161,91,.22),
            transparent 68%
        );
}

.blr-contact-copy .blr-section-eyebrow {
    color: var(--blr-gold);
}

.blr-contact-copy h2 {
    position: relative;

    margin: 5px 0 15px;

    color: var(--blr-white);

    font-size: 29px;
    font-weight: 600;

    line-height: 1.3;

    z-index: 1;
}

.blr-contact-copy p {
    position: relative;

    max-width: 420px;

    margin: 0;

    color: #bdbdbd;

    font-size: 14px;
    line-height: 1.8;

    z-index: 1;
}

.blr-contact-form {
    padding: 30px;

    background: var(--blr-white);
}


/* ================================================================
   HOUZEZ CONTACT FORM INSIDE LUXURY SECTION
================================================================ */

.blr-contact-form .property-form-wrap,
.blr-contact-form .agent-form,
.blr-contact-form .form_messages {
    margin: 0;
}

.blr-contact-form input[type="text"],
.blr-contact-form input[type="email"],
.blr-contact-form input[type="tel"],
.blr-contact-form select,
.blr-contact-form textarea {
    width: 100%;

    min-height: 48px;

    padding: 11px 14px;

    background: #fafafa;

    border: 1px solid #dedede;

    border-radius: 5px;

    box-shadow: none;

    transition:
        border-color .2s ease,
        background .2s ease;
}

.blr-contact-form textarea {
    min-height: 110px;
}

.blr-contact-form input:focus,
.blr-contact-form select:focus,
.blr-contact-form textarea:focus {
    background: #fff;

    border-color: var(--blr-gold);

    outline: none;

    box-shadow: none;
}

.blr-contact-form .btn-primary,
.blr-contact-form button[type="submit"] {
    min-height: 48px;

    background: var(--blr-black) !important;

    border-color: var(--blr-black) !important;

    border-radius: 4px;

    color: #fff !important;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 1.5px;

    text-transform: uppercase;

    transition: .25s ease;
}

.blr-contact-form .btn-primary:hover,
.blr-contact-form button[type="submit"]:hover {
    background: var(--blr-gold) !important;

    border-color: var(--blr-gold) !important;

    color: var(--blr-black) !important;
}


/* ================================================================
   SIMILAR PROPERTIES
================================================================ */

.blr-similar-section {
    padding-top: 34px;
}

.blr-similar-section .item-wrap {
    overflow: hidden;

    background: #fff;

    border: 1px solid #ebe7df;

    border-radius: 8px;

    box-shadow:
        0 8px 25px rgba(0,0,0,.04);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.blr-similar-section .item-wrap:hover {
    transform: translateY(-4px);

    box-shadow: var(--blr-shadow);
}

.blr-similar-section .item-header {
    overflow: hidden;
}

.blr-similar-section .item-header img {
    transition: transform .45s ease;
}

.blr-similar-section .item-wrap:hover .item-header img {
    transform: scale(1.035);
}


/* ================================================================
   HOUZEZ BLOCK CLEANUP
   These are the sections we do NOT want.
================================================================ */

.single-property .energy-class-wrap,
.single-property .property-energy-class,
.single-property .energy-class,
.single-property .energy-efficiency-wrap {
    display: none !important;
}


/* Floor plans / layout */

.single-property .property-floor-plans-wrap:empty,
.single-property .floor-plans-wrap:empty {
    display: none !important;
}


/* Empty property documents */

.single-property .property-documents-wrap:empty,
.single-property .property-document-wrap:empty {
    display: none !important;
}


/* Empty blocks */

.single-property .property-content-wrap:empty,
.single-property .property-section-wrap:empty {
    display: none !important;
}


/* ================================================================
   OLD HOUZEZ SIMPLE LAYOUT CLEANUP
   Temporary styling while luxury PHP override is being activated.
================================================================ */

.single-property .property-view .block-wrap {
    background: #fff;

    border: 1px solid #ebe8e1;

    border-radius: 10px;

    box-shadow:
        0 8px 30px rgba(0,0,0,.035);
}


/* Remove excessive empty spacing */

.single-property .property-view > div:empty {
    display: none !important;
}


/* ================================================================
   PROPERTY ACTION BUTTONS
================================================================ */

.single-property .property-tools .btn,
.single-property .property-tools a,
.single-property .property-tools-wrap .btn {
    border-radius: 50%;

    transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease;
}

.single-property .property-tools .btn:hover,
.single-property .property-tools a:hover,
.single-property .property-tools-wrap .btn:hover {
    color: var(--blr-black);

    background: var(--blr-gold);

    border-color: var(--blr-gold);
}


/* ================================================================
   BREADCRUMBS
================================================================ */

.single-property .breadcrumb {
    margin-bottom: 15px;

    background: transparent;

    color: #999;

    font-size: 11px;
}

.single-property .breadcrumb a {
    color: #777;
}

.single-property .breadcrumb a:hover {
    color: var(--blr-gold-dark);
}


/* ================================================================
   DESKTOP
================================================================ */

@media (min-width: 1200px) {

    .single-property .container {
        max-width: 1320px;
    }

    .blr-property-section {
        padding: 42px;
    }

}


/* ================================================================
   TABLET
================================================================ */

@media (max-width: 991px) {

    .single-property .container {
        max-width: 94%;
    }

    .blr-overview-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .blr-amenities-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .blr-contact-inner {
        grid-template-columns: 1fr;
    }

    .blr-contact-copy {
        min-height: 270px;
    }

}


/* ================================================================
   MOBILE
================================================================ */

@media (max-width: 767px) {

    .single-property .container {
        width: 100%;
        max-width: 100%;

        padding-left: 15px;
        padding-right: 15px;
    }

    .single-property .property-wrap {
        padding-bottom: 40px;
    }

    .single-property .property-title-wrap {
        padding-top: 20px;
        padding-bottom: 18px;
    }

    .single-property .property-title-wrap h1,
    .single-property .property-title-wrap .property-title {
        font-size: 27px;

        letter-spacing: -.5px;
    }

    .single-property .property-banner {
        border-radius: 10px;
    }

    .blr-property-section {
        margin-bottom: 16px;

        padding: 25px 20px;

        border-radius: 9px;
    }

    .blr-section-heading {
        margin-bottom: 22px;
    }

    .blr-section-heading h2 {
        font-size: 23px;
    }

    .blr-section-eyebrow {
        font-size: 9px;

        letter-spacing: 1.8px;
    }

    .blr-property-description {
        font-size: 14px;

        line-height: 1.8;
    }

    .blr-overview-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 8px;
    }

    .blr-overview-card {
        min-height: 88px;

        padding: 12px;
    }

    .blr-overview-icon {
        width: 34px;
        height: 34px;

        flex-basis: 34px;

        margin-right: 9px;

        font-size: 14px;
    }

    .blr-overview-card span {
        font-size: 8px;
    }

    .blr-overview-card strong {
        font-size: 13px;
    }

    .blr-amenities-grid {
        grid-template-columns: 1fr;
    }

    .blr-details-box {
        grid-template-columns: 1fr;
    }

    .blr-detail-row:nth-child(odd) {
        border-right: 0;
    }

    .blr-contact-copy {
        min-height: auto;

        padding: 34px 23px;
    }

    .blr-contact-copy h2 {
        font-size: 24px;
    }

    .blr-contact-form {
        padding: 20px;
    }

}


/* ================================================================
   SMALL MOBILE
================================================================ */

@media (max-width: 480px) {

    .blr-overview-grid {
        grid-template-columns: 1fr;
    }

    .blr-overview-card {
        min-height: 75px;
    }

    .blr-detail-row {
        padding: 13px 14px;
    }

    .blr-detail-row span,
    .blr-detail-row strong {
        font-size: 12px;
    }

}


/* ================================================================
   BLR GOLD SELECTION
================================================================ */

::selection {
    background: var(--blr-gold);
    color: var(--blr-black);
}