/*
 * Frontend Rental configurator and WooCommerce My Account presentation styles. Functional form behavior lives in configurator.js and PHP services.
 * @since 0.3.0
 */
.tpr-my-account .tpr-conversation{margin:20px 0;padding:20px;border:1px solid #e2e5e9;border-radius:8px}
.tpr-my-account .tpr-conversation-message{margin:12px 0;padding:14px;border-left:3px solid #00c7c7;background:#f6f8f9}
.tpr-my-account .tpr-message-staff{border-left-color:#111;background:#eefafa}
.tpr-my-account .tpr-message-meta{font-size:13px;margin:0 0 8px}
.tpr-my-account .tpr-message-body{overflow-wrap:anywhere}
.tpr-my-account .tpr-message-form label{display:block;margin-top:16px}
.tpr-my-account .tpr-message-form textarea{box-sizing:border-box;width:100%;max-width:100%;margin-top:8px}
.tpr-my-account .tpr-message-notice{padding:12px;background:#fff8e5}
.tpr-my-account .tpr-message-pagination{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0}
.tpr-my-account .tpr-program-card .button{display:inline-block;margin-top:6px}
.threadsplus-rental-configurator,.tpr-my-account{--tpr-accent:#00c7c7;--tpr-dark:#0a0a0a}
.threadsplus-rental-configurator .tp-rental-summary,.threadsplus-rental-configurator .tp-bedroom-builder,
.threadsplus-rental-configurator .tp-rental-inventory-builder,.threadsplus-rental-configurator .tp-rental-review,
.threadsplus-rental-configurator .tp-rental-estimate,.threadsplus-rental-configurator .tp-property-activity-note{
 border:1px solid #e2e5e9;border-radius:8px;padding:18px;margin:12px 0;background:#fff
}
.tp-bedroom-card{border:1px solid #dfe3e7;border-radius:8px;padding:15px;margin:12px 0}
.tp-bedroom-row,.tp-product-row{display:grid;grid-template-columns:2fr 1fr auto;gap:10px;align-items:center;margin:8px 0}
.tp-product-row{grid-template-columns:minmax(180px,2fr) 100px 100px}
.tp-product-info{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
}

.tp-product-image-link{
    display:block;
    flex:0 0 64px;
}

.tp-product-image{
    display:block;
    width:64px;
    height:64px;
    object-fit:cover;
    border-radius:6px;
}

.tp-product-copy{
    min-width:0;
}

.tp-product-note{
    cursor:help;
}.tp-product-category{margin-top:18px}
.tpr-program-card{border:1px solid #e2e5e9;border-radius:8px;padding:18px;margin:12px 0}
.tp-pickup-days-message{
    margin-top:8px;
    font-size:13px;
    line-height:1.5;
}

.tp-pickup-days-error{
    color:#b42318;
    font-weight:600;
}

/* form */

/* =========================================================
   1. MULTI-STEP PROGRESS
   ========================================================= */
.fluentform .threadsplus-rental-configurator .ff-step-titles li{ color: #A5A5A5; font-size: 14px; font-weight: 500;}
.fluentform .threadsplus-rental-configurator .ff-step-titles li.ff_completed,
.fluentform .threadsplus-rental-configurator .ff-step-titles li.ff_active{ color: #121212;}
.fluentform .threadsplus-rental-configurator .ff-step-titles li:before{
    background: #F0F0F0;
    color: #A5A5A5;
    font-weight: 500;
    font-size: 16px;
    width: 28px;
    line-height: 28px;
    

}
.fluentform .threadsplus-rental-configurator .ff-step-titles li.ff_active:before{
background: #121212;
}
.fluentform .threadsplus-rental-configurator .ff-step-titles li.ff_completed:before{
background: #0DCFCF;
    color: #121212;
 }
 
.fluentform .threadsplus-rental-configurator .ff-step-titles li:after{
    background: #E5E5E5;
    top: 14px;
}
.fluentform .threadsplus-rental-configurator .ff-step-titles li.ff_active:after, 
.fluentform .threadsplus-rental-configurator .ff-step-titles li.ff_completed:after{
background: #0DCFCF;
 }
 .tp-remove-room{margin-left: 10px;}
 .fluentform .threadsplus-rental-configurator button.ff-btn-next, .fluentform .threadsplus-rental-configurator button.ff-btn-next:hover{
    color: #0A0A0A;
    background: #0DCFCF;}
.threadsplus-rental-configurator .tp-bedroom-builder input{color: black !important; border-radius: 3px !important; padding: 6px 15px;}
.fluentform .threadsplus-rental-configurator label.ff-el-image-input-src{height: 295px; width: 205px; background-size: contain; background-position: left top;}
.fluentform .threadsplus-rental-configurator .ff-el-image-holder{position: relative; border: 3px solid transparent; border-radius: 16px; width: max-content;}
.fluentform .threadsplus-rental-configurator .ff-el-image-holder.ff_item_selected {border-color: #0DCFCF;}
.fluentform .threadsplus-rental-configurator .ff-el-image-holder::after{
     content: "";
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 5;
     width: 20px;
    height: 20px;
    border: 2px solid #A5A5A5;
    line-height: 1;
    color: #E5E5E5;
    border-radius: 50%;
}
.fluentform .threadsplus-rental-configurator .ff-el-image-holder.ff_item_selected::after{
    border-color: #0DCFCF;
    background: radial-gradient(circle at center, #0DCFCF 0 6px,#fff 7px 100%);
}
.fluentform .threadsplus-rental-configurator .ff-el-image-holder label.ff-el-form-check-label{position: absolute; opacity: 0; top: 0; left: 0;}
/* =========================================================
   REUSABLE SUMMARY COMPONENT
   ========================================================= */

.fluentform .threadsplus-rental-configurator .tp-summary-card{
    margin-top: 24px;
    padding: 20px;
    border: 1px solid #E5E5E5;
    border-radius: 10px;
    background: #FAFAFA;
}

.fluentform .threadsplus-rental-configurator .tp-summary-title{
    display: block;
    margin-bottom: 14px;
    color: #121212;
    font-size: 16px;
    font-weight: 700;
}

.fluentform .threadsplus-rental-configurator .tp-summary-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.fluentform .threadsplus-rental-configurator .tp-summary-item{
    padding: 14px;
    border: 1px solid #E5E5E5;
    border-radius: 8px;
    background: #FFFFFF;
    text-align: center;
}

.fluentform .threadsplus-rental-configurator .tp-summary-value{
    display: block;
    margin-bottom: 4px;
    color: #121212;
    font-size: 24px;
    line-height: 1;
    font-weight: 700;
}

.fluentform .threadsplus-rental-configurator .tp-summary-label{
    display: block;
    color: #5A5C5B;
    font-size: 12px;
    line-height: 1.4;
}

.fluentform .threadsplus-rental-configurator .tp-summary-item--highlight{
    border-color: #0DCFCF;
    background: #F4FFFF;
}

.fluentform .threadsplus-rental-configurator .tp-product-category, .fluentform .threadsplus-rental-configurator .tp-inventory-total{margin-bottom: 20px; padding: 16px 24px; border: 1px solid #E5E5E5; border-radius: 16px; }
.fluentform .threadsplus-rental-configurator .tp-inventory-total{display: flex; align-items: center; justify-content: end; gap: 25px; background: #F8F8F8;}
.fluentform .threadsplus-rental-configurator .tp-inventory-total span{color: #0DCFCF; font-weight: 700; font-size: 22px; line-height: 1;}
.fluentform .threadsplus-rental-configurator .tp-product-category h4{ margin-bottom: 14px !important; font-weight: 700;}
.fluentform .threadsplus-rental-configurator .tp-product-row{padding-top: 10px; padding-bottom: 10px;border-bottom: 1px solid #F0F0F0; }
.fluentform .threadsplus-rental-configurator .tp-product-row:last-child{border-bottom: none;}
.fluentform .threadsplus-rental-configurator .tp-par-summary, .fluentform .threadsplus-rental-configurator  .tp-review-par-summary{
    display:grid;
    grid-template-columns:1fr auto 1fr auto 1fr;
    align-items:center;
    gap:16px;
    margin-top:16px;
}

.fluentform .threadsplus-rental-configurator .tp-par-summary-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:92px;
    padding:16px;
    border:1px solid #E5E5E5;
    border-radius:12px;
    background:#fff;
}

.fluentform .threadsplus-rental-configurator .tp-par-summary-item--highlight{
    border-color:#0DCFCF;
}

.fluentform .threadsplus-rental-configurator .tp-par-summary-value{
    font-size:28px;
    line-height:1;
    font-weight:700;
    color:#121212;
}

.fluentform .threadsplus-rental-configurator .tp-par-summary-label{
    margin-top:8px;
    font-size:13px;
    color:#5A5C5B;
}

.fluentform .threadsplus-rental-configurator .tp-rental-review{
    border:0;
    padding:0;
    background:transparent;
}

.fluentform .threadsplus-rental-configurator .tp-review-section{
    margin-bottom:20px;
    padding:20px 24px;
    border:1px solid #E5E5E5;
    border-radius:16px;
    background:#fff;
}

.fluentform .threadsplus-rental-configurator .tp-review-section-header{
    margin-bottom:18px;
}

.fluentform .threadsplus-rental-configurator .tp-review-section-header h3{
    margin:0 !important;
    font-size:20px;
    font-weight:700;
}
.fluentform .threadsplus-rental-configurator .tp-review-details-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px 24px;
}

.fluentform .threadsplus-rental-configurator .tp-review-detail{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.fluentform .threadsplus-rental-configurator .tp-review-detail--wide{
    grid-column:1/-1;
}

.fluentform .threadsplus-rental-configurator .tp-review-label{
    font-size:12px;
    color:#A5A5A5;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.fluentform .threadsplus-rental-configurator .tp-review-stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.fluentform .threadsplus-rental-configurator .tp-review-stats>div,
.fluentform .threadsplus-rental-configurator .tp-review-par-summary>div:not(.tp-review-math){
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:80px;
    padding:12px;
    border:1px solid #E5E5E5;
    border-radius:12px;
}

.fluentform .threadsplus-rental-configurator .tp-review-stats strong,
.fluentform .threadsplus-rental-configurator .tp-review-par-summary strong{
    font-size:22px;
}

.fluentform .threadsplus-rental-configurator .tp-review-stats span,
.fluentform .threadsplus-rental-configurator .tp-review-par-summary span{
    margin-top:4px;
    font-size:12px;
    color:#5A5C5B;
}
.fluentform .threadsplus-rental-configurator .tp-review-subsection{
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid #F0F0F0;
}

.fluentform .threadsplus-rental-configurator .tp-review-subsection h4{
    margin:0 0 12px !important;
}

.fluentform .threadsplus-rental-configurator .tp-review-room{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:10px 0;
    border-bottom:1px solid #F0F0F0;
}

.fluentform .threadsplus-rental-configurator .tp-review-room:last-child{
    border-bottom:0;
}
.fluentform .threadsplus-rental-configurator .tp-review-inventory-list{
    margin-top:18px;
}

.fluentform .threadsplus-rental-configurator .tp-review-inventory-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 80px 90px;
    gap:16px;
    align-items:center;
    padding:12px 0;
    border-bottom:1px solid #F0F0F0;
}

.fluentform .threadsplus-rental-configurator .tp-review-inventory-row:last-child{
    border-bottom:0;
}

.fluentform .threadsplus-rental-configurator .tp-review-inventory-product{
    display:flex;
    flex-direction:column;
}

.fluentform .threadsplus-rental-configurator .tp-review-inventory-product small{
    margin-top:3px;
    color:#5A5C5B;
}

.fluentform .threadsplus-rental-configurator .tp-review-inventory-qty{
    display:flex;
    flex-direction:column;
    text-align:center;
}

.fluentform .threadsplus-rental-configurator .tp-review-inventory-qty small{
    color:#A5A5A5;
}
.fluentform .threadsplus-rental-configurator .tp-review-note{
    margin-top:16px;
    padding:14px 16px;
    border-radius:10px;
    background:#F8F8F8;
}

.fluentform .threadsplus-rental-configurator .tp-review-note p{
    margin:6px 0 0;
}

.fluentform .threadsplus-rental-configurator .tp-review-note--muted{
    color:#5A5C5B;
}
@media (max-width: 767px){
    .fluentform .threadsplus-rental-configurator .tp-summary-grid{
        grid-template-columns: 1fr;
    }
    .fluentform .threadsplus-rental-configurator .tp-product-category, .fluentform .threadsplus-rental-configurator .tp-inventory-total{
        padding:14px 16px;
    }
     .fluentform .threadsplus-rental-configurator .tp-par-summary{
        grid-template-columns:1fr;
        gap:8px;
    }

    .fluentform .threadsplus-rental-configurator .tp-par-summary-symbol{
        text-align:center;
    }
    .fluentform .threadsplus-rental-configurator .tp-review-details-grid{
        grid-template-columns:1fr;
    }

    .fluentform .threadsplus-rental-configurator .tp-review-detail--wide{
        grid-column:auto;
    }

    .fluentform .threadsplus-rental-configurator .tp-review-inventory-row{
        grid-template-columns: 1fr 1fr;
        gap:20px;
    }

    .fluentform .threadsplus-rental-configurator .tp-review-room{
        flex-direction:column;
        gap:4px;
    }
    .ff-step-titles span{display: none;}
    .tp-product-info{flex-direction: column;  align-items: flex-start;}
    /* .fluentform .threadsplus-rental-configurator .ff-el-image-holder,.fluentform .threadsplus-rental-configurator label.ff-el-image-input-src{height: 200px; width: 105px;} */
    .tp-bedroom-card button, button.tp-add-room{width: max-content; font-size: 14px; }
    .tp-review-inventory-product{grid-column: span 2;}
}
@media(max-width:700px){.tp-bedroom-row,.tp-product-row{grid-template-columns:1fr}}
.tp-property-selector,.tp-property-warning{border:1px solid #e2e5e9;border-radius:8px;padding:16px;margin:12px 0;background:#fff}.tp-property-warning{border-color:#dba617;background:#fff8e5}.tpr-property-card{border:1px solid #e2e5e9;border-radius:8px;padding:18px;margin:16px 0}.tpr-change-form{border-top:1px solid #eee;margin-top:14px;padding-top:14px}.tpr-change-message{margin-left:10px}
