/*
 Theme Name:   Hello Elementor Child
 Theme URI:    https://techwaretechnologies.com/
 Description: Hello Elementor Child Theme
 Author:       AAS
 Author URI:   https://enchantingwander.com/
 Template:     hello-elementor
 Version:      1.0.0
*/


/* =====================================================
   PRODUCT ARCHIVE – FORCE LIST (SINGLE COLUMN) LAYOUT
   - Required for card-style property listing
===================================================== */
.archive ul.products,
.tax-product_cat ul.products {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 0;
}

/* Ensure each product takes full width (disable float/grid behavior) */
.archive ul.products li.product,
.tax-product_cat ul.products li.product {
    width: 100% !important;
    float: none !important;
    margin: 0;
}


/* PROPERTY CARD WRAPPER */
.product-flex-wrapper {
    display: flex;
    background: #ffffff;
    border: 1px solid #ebebeb;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.25);
}

/* LEFT COLUMN – PROPERTY IMAGE */
.product-column-left {
    width: 350px;
    min-width: 350px;
    height: 275px;
    overflow: hidden;
}

.product-column-left img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}


/* RIGHT COLUMN – PROPERTY CONTENT */
.product-column-right {
    flex: 1;
    padding: 15px 20px;
    display: flex;
    flex-direction: column;
    /*gap: 12px;*/
}

/* PRODUCT TITLE & PRICE */
.product-column-right .product-info-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

.product-info-top .prod-top-info-col1 { flex :1; }

.product-info-top .prod-top-info-col2 { flex-shrink: 0; }

.product-info-top .prod-top-info-col1 .woocommerce-loop-product__title {
    font-family: 'Roboto', sans-serif !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 22px !important;
    color: #1A1A1A !important;
    /*margin: 0 0 6px 0 !important;*/
}

.property-address {
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 21px;
    color: #45525e;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.property-address i {
    color: #197BFF;
    font-size: 14px;
}

.property-type {
    font-family: 'Roboto', sans-serif;
    font-size: 14px !important;
    font-weight: 700;
    line-height: 20px;
    color: #000;
    margin: 0;
    white-space: nowrap;
}

/* AMENITIES (ICONS + TEXT) */
.product-details-amenities {
    margin-top: 8px;
}

.property-amenities-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 18px;
}

.amenity-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: 'Roboto', sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 20px;
    color: #1a1a1a;
}

.amenity-item i {
    font-size: 13px;
    color: #197BFF;
}

hr.divider-line {
    background-color: #F4F4F4;
    margin: 8px 0;
}

/* author & price info */
.product-publisher-price {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.product-publisher-price .author-info {
    display: flex;
    align-items: center;
    gap: 8px;
}

.product-publisher-price .author-avatar {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    overflow: hidden;
}

.product-publisher-price .author-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-publisher-price .author-name h4 {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    /*line-height: 14px; padding: 9px 0 0;*/
    color: #000;
    letter-spacing: 0.2px;
    text-transform: capitalize;
    margin: 10px 0;
}

.product-publisher-price .property-price {
    display: flex;
    align-items: baseline;
    gap: 4px;
    white-space: nowrap;
}

.product-publisher-price .property-price .price {
    font-family: 'Roboto', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 36px !important;
    color: #000 !important;
    margin: 0 !important;
}

.product-publisher-price .property-price .price-unit {
    font-family: 'Roboto', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #45525e !important;
}

/* Hide plugin’s default attribute output (we render our own) */
.product-column-right .ovabrw_product_attr,
.product-column-right .ovabrw_product_attr .label {
    display: none !important;
}

/* Hide unwanted attribute headings injected by themes/plugins */
.product-column-right h3.attribute-label,
.product-column-right .woocommerce-product-details__short-description h4 {
    display: none !important;
}

/* ACTION BUTTONS (Favorite, Details, Book Now) */
.product-actions-bottom {
    margin-top: 8px;
}

.product-actions-bottom .product-buttons-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

/* Base button styling */
.product-actions-bottom .button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin: 2px !important;
    padding: 0 8px !important;
    background: transparent !important;
    cursor: pointer !important;
}

.product-actions-bottom .button i {
    font-size: 18px;
    color: #197BFF;
}

.product-actions-bottom .button span {
    font-family: 'Roboto', sans-serif;
    font-size: 15px;
    font-weight: 500;
    /*line-height: 12px;*/
    color: #1a1a1a;
}

/* =====================================================
   RESPONSIVE – MOBILE VIEW
===================================================== */
@media (max-width: 1024px) {

    .product-column-left {
        width: 300px;
        min-width: 300px;
        height: 260px;
    }

    .product-column-right {
        padding: 12px 16px;
        gap: 8px;
    }

    .product-info-top {
        gap: 12px;
    }

    .property-amenities-list {
        gap: 5px 10px;
    }
}

@media (max-width: 768px) {

    .product-flex-wrapper {
        flex-direction: column;
    }

    .product-column-left {
        width: 100%;
        min-width: 100%;
        height: 220px;
    }

    .product-column-right {
        padding: 14px 14px 16px;
        gap: 10px;
    }

    .product-actions-bottom .product-buttons-row {
        gap: 10px;
    }
}

@media (max-width: 480px) {

    .product-column-left {
        height: 200px;
    }

    .woocommerce-loop-product__title {
        font-size: 18px !important;
        line-height: 22px !important;
    }

    .property-address {
        font-size: 13px;
    }

    .product-publisher-price .property-price .price {
        font-size: 20px !important;
        line-height: 30px !important;
    }

    .product-actions-bottom .button {
        padding: 6px 4px !important;
    }
    
    .product-actions-bottom .button span {
        font-size: 14px !important;
    }
}





/* =================================================
   FILTERS STYLING UPDATE COMING FROM WOOCOMMERCE
   --- This filter is visible on shop page ---
================================================= */
/* Results count text */
.woocommerce-result-count {
    font-family: 'Roboto', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 22px !important;
    color: #1b1b1b !important;
    margin: 0 !important;
}

/* Top filter bar layout */
.woocommerce-ordering {
    display: flex !important;
    align-items: center;
    gap: 10px;
    position: relative;
}

/* Hamburger icon */
.woocommerce-ordering::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 14px;
    background:
        linear-gradient(#1b1b1b 0 0) top,
        linear-gradient(#1b1b1b 0 0) center,
        linear-gradient(#1b1b1b 0 0) bottom;
    background-size: 100% 3px;
    background-repeat: no-repeat;
    /*order: 1;*/

    /* 3-line hamburger */
    -webkit-mask: 
        linear-gradient(#000 0 0) top,
        linear-gradient(#000 0 0) center,
        linear-gradient(#000 0 0) bottom;
    -webkit-mask-size: 100% 3px;
    -webkit-mask-repeat: no-repeat;

    mask:
        linear-gradient(#000 0 0) top,
        linear-gradient(#000 0 0) center,
        linear-gradient(#000 0 0) bottom;
    mask-size: 100% 3px;
    mask-repeat: no-repeat;
}

/* SORT BY label */
.woocommerce-ordering::after {
    content: "SORT BY:";
    position: absolute;
    left: 24px;
    top: 50%;
    transform: translateY(-50%);
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 18px;
    color: #1b1b1b;
    text-transform: uppercase;
    /*order: 2;*/
}

/* Sorting dropdown */
.woocommerce-ordering select.orderby {
    /*order: 3;*/
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 22px;
    color: #1a1a1a;

    border: none !important;
    background: transparent !important;
    cursor: pointer;

    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%231a1a1a' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right center !important;
    background-size: 10px 6px !important;
    padding-left: 120px !important;
    position: relative;
}

@media (max-width: 768px) {
    .woocommerce-ordering select.orderby {
        padding-left: 110px !important;
    }
}

@media (max-width: 480px) {
    .woocommerce-ordering select.orderby {
        padding-left: 100px !important;
    }
}



/* =================================================
    CUSTOM TAXONAMY: "LOCATION"
    --- Created a custom taxonomy under products --- 
 =================================================== */
.wp-list-table .column-property_location a {
    width: 180px !important;
}
.wp-list-table .column-property_location a {
    display: inline-block;
    margin-bottom: 4px;
}


/*
 * search form css on contact-us page
*/
.property-search-form {
    display: flex;
    align-items: center;
    gap: 0;
    background: #fff;
    overflow: hidden;
    /*padding: 15px 0;*/
    /*border: solid 1px #ececec;*/
}

.property-search-form .psf-field {
    flex: 1;
    padding: 0 20px;
    border-right: 1px solid #e5e5e5;
}

.property-search-form .psf-field:last-child {
    flex: 0 0 auto;
    min-width: 160px;
    border-right: none;
    padding: 0;
}

.property-search-form label {
    display: block;
    font-family: "Rubik", Sans-serif;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 4px;
    color: #444444;
    padding-bottom: 10px;
}

.property-search-form select {
    width: 100%;
    border: none;
    background: transparent;
    font-size: 15px;
    font-family: "Rubik", Sans-serif;
    padding: 6px 0;
    outline: none;
    cursor: pointer;
}

.psf-submit {
    height: 100%;
    padding: 35px 40px !important;
    border: none !important;
    border-radius: 0 !important;
    background-color: #36A8FC !important; /* match theme color */
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
}

.psf-submit:hover {
    background-color: #4A45D2 !important;
    transition-duration: 0.4s;
}

.psf-submit::before {
    content: "\f002";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 18px;
}



/* Tablet: max-width 1024px */
@media (max-width: 1024px) and (min-width: 769px) {
    
    .elementor-element-bfe7251 {
        margin: 0 30px;
    }
    
    .property-search-form {
        /*display: flex;*/
        flex-wrap: wrap; /* allow wrapping */
        gap: 10px; /* space between fields */
        padding: 15px 0;
    }

    .property-search-form .psf-field {
        flex: 0 0 calc(50% - 10px); /* two fields per row with gap */
        border-right: none; /* remove right border for cleaner look */
        margin-bottom: 10px;
        /*box-sizing: border-box;*/ /* ensure padding doesn't break width */
    }

    .property-search-form .psf-field:last-child {
        /*flex: 0 0 100%;*/ /* search button takes full width */
    }

    .property-search-form .psf-field:nth-child(3),
    .property-search-form .psf-field:nth-child(4) {
        flex: 0 0 calc(50% - 5px);
    }
    
    .psf-submit {
        height: 100%; /* match height of Location field */
        padding: 15px 30px !important;
        /*width: 100%;
        justify-content: center;
        font-size: 16px;*/
    }

    .property-search-form select {
        /*width: 100%;*/ /* ensure select fills the field */
    }
    

    /* Center the button inside its column */
    .property-search-form .psf-field:last-child {
        display: flex;
        align-items: center;        /* vertical centering */
        justify-content: center;    /* horizontal centering */
    }
}

/* Mobile: 1 field per row */
@media (max-width: 768px) {
    
    .elementor-element-bfe7251 {
        margin: 0 15px;
    }
    
    .property-search-form {
        flex-direction: column;
        gap: 10px;
        align-items: stretch;
        padding: 15px 0;
    }

    .property-search-form .psf-field {
        width: 100%;
        flex: none;
        border-right: none;
        margin-bottom: 0;
        padding: 0 15px;
        box-sizing: border-box;
        border-bottom: 1px solid #e5e5e5;
    }
    
    .property-search-form .psf-field:nth-child(3),
    .property-search-form .psf-field:nth-child(4) {
        border-bottom: none;
    }
    
    .property-search-form select {
        width: 100%;
        box-sizing: border-box;
    }

    /* Fix submit button thickness & centering */
    .property-search-form .psf-field:last-child {
        padding: 0 15px;
    }
    
    .psf-submit {
        width: 100% !important;
        height: auto;             /* remove forced height */
        padding: 16px 20px !important;
        justify-content: center;
    }
}



/*
 * search results css on contact-us page
*/
.property-results-count {
    margin-top: 20px;
    padding: 0 20px;
    font-family: "Rubik", Sans-serif;
    font-size: 14px;
    font-weight: 500;
}

.property-search-results {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: flex-start;
    margin-top: 20px;
}

.property-search-results .property-item {
    flex: 0 0 calc(20% - 16px); /* 5 items per row, subtracting gap */
    box-sizing: border-box;
    text-align: center;          /* Center content inside each item */
    margin-bottom: 20px;         /* Space below each row */
}

.property-search-results .property-item img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 10px;
}

.property-search-results .property-item h3 {
    font-size: 16px;
    font-weight: 500;
    margin: 0;
}

/* Medium screens: 3 items per row */
@media (max-width: 1200px) {
    .property-search-results .property-item {
        flex: 0 0 calc(33.333% - 13.33px);
    }
}

/* Small screens: 2 items per row */
@media (max-width: 768px) {
    .property-search-results .property-item {
        flex: 0 0 calc(50% - 10px);
    }
}

/* Mobile screens: max 2 items per row, min 320px */
@media (max-width: 480px) {
    .property-search-results .property-item {
        flex: 0 0 calc(50% - 10px);
    }
}


