/* ===============================
   Shop Product Prices
================================= */

.fc-loop-price-box{
    display:block;
    line-height:1.25;
}

.fc-loop-price-sqft{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:4px 8px;
    margin-top:6px;
    color:#292521;
    font-size:15px;
    font-weight:650;
    line-height:1.4;
}

.fc-loop-price-unit{
    color:#605b55;
    font-size:13px;
    font-weight:500;
}

.fc-loop-rate,
.fc-loop-coverage{
    white-space:nowrap;
}

.fc-loop-coverage{
    padding:2px 8px;
    border-radius:999px;
    background:#f4f0eb;
    color:#584f46;
    font-size:12px;
    font-weight:500;
}

/* ===============================
   Product Summary
================================= */

.single-product div.product .summary .fc-product-summary{
    margin:0 0 28px;
}

.fc-product-title{
    margin:0 0 14px;
    padding-bottom:14px;
    border-bottom:1px solid #e6e6e6;
    color:#1c1c1c;
    font-size:clamp(34px,4vw,50px);
    line-height:1.15;
    font-weight:700;
    letter-spacing:-0.02em;
}

.fc-product-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px 10px;
    margin-bottom:14px;
    font-size:15px;
    line-height:1.6;
    color:#111;
}

.fc-meta-group a{
    color:#f44336;
    text-decoration:none;
}

.fc-meta-group a:hover{
    color:#c62828;
    text-decoration:underline;
}

.fc-product-price{
    margin:0 0 14px;
    color:#1c1c1c;
}

.fc-product-price.is-sale{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:10px;
}

.fc-price-regular{
    color:#b7b7b7;
    font-size:22px;
    font-weight:700;
    text-decoration:line-through;
}

.fc-price-sale,
.fc-price-current{
    color:#ff2f2f;
    font-size:clamp(28px,3vw,44px);
    line-height:1.2;
    font-weight:800;
}

.fc-product-details-line{
    margin:0;
    font-size:17px;
    line-height:1.6;
    color:#111;
}

.fc-detail-label,
.fc-detail-value,
.fc-detail-price{
    font-weight:700;
}

.fc-detail-price .amount{
    color:#1aaa2a;
    font-weight:800;
}

.fc-detail-stock{
    color:#2cbf3f;
    font-weight:700;
}

.fc-detail-separator{
    display:inline-block;
    margin:0 8px;
    color:#666;
}

/* ===============================
   Flooring Calculator
================================= */

#fc-calculator{
    background:linear-gradient(180deg,#fff 0%,#fffdfa 100%);
    border:1px solid #eadfce;
    border-radius:22px;
    padding:34px;
    margin:22px 0 25px;
    box-shadow:0 20px 44px rgba(33,24,13,.08);
}

#fc-calculator h3{
    font-size:clamp(34px,3vw,52px);
    font-weight:700;
    color:#1e2230;
    margin:0 0 25px;
    position:relative;
    line-height:1.1;
    letter-spacing:-0.02em;
}

#fc-calculator h3:after{
    content:"";
    width:70px;
    height:3px;
    background:#c8102e;
    display:block;
    margin-top:12px;
}

/* ===============================
   Form
================================= */

.fc-row{
    display:flex;
    gap:20px;
    flex-wrap:wrap;
    align-items:flex-end;
    margin-bottom:30px;
}

.fc-col{
    flex:1;
    min-width:180px;
}

.fc-col label{
    display:block;
    font-size:14px;
    font-weight:700;
    color:#232323;
    margin-bottom:10px;
}

.fc-col input,
.fc-col select{
    width:100%;
    height:52px;
    border:1px solid #ddd8d2;
    border-radius:12px;
    padding:0 15px;
    font-size:15px;
    background:#fff;
    transition:.3s;
}

.fc-col input:focus,
.fc-col select:focus{
    outline:none;
    border-color:#c8102e;
    box-shadow:0 0 0 3px rgba(200,16,46,.15);
}

.fc-col input.is-error{
    border-color:#ef4444;
    box-shadow:0 0 0 3px rgba(239,68,68,.12);
    background:#fff8f8;
}

.fc-field-note{
    display:block;
    margin-top:9px;
    color:#6c6770;
    font-size:13px;
    line-height:1.5;
}

.fc-inline-message{
    display:block;
    margin-top:8px;
    font-size:13px;
    line-height:1.45;
    font-weight:600;
}

.fc-inline-message.is-error{
    color:#c81e1e;
}

/* ===============================
   Button
================================= */

#fc_calculate{
    background:linear-gradient(135deg,#c8102e 0%,#9e1028 100%);
    color:#fff;
    border:none;
    height:52px;
    min-width:180px;
    padding:0 35px;
    border-radius:12px;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    transition:.3s;
    box-shadow:0 12px 22px rgba(200,16,46,.24);
}

#fc_calculate:hover{
    background:linear-gradient(135deg,#b40f29 0%,#8d0d23 100%);
    transform:translateY(-2px);
}

/* ===============================
   Results
================================= */

.fc-results{
    margin-top:8px;
}

.fc-results-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:16px;
    margin-bottom:20px;
}

.fc-results-eyebrow{
    margin:0 0 6px;
    color:#c8102e;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.fc-results-header h4{
    margin:0;
    color:#1f2430;
    font-size:24px;
    line-height:1.2;
    font-weight:700;
}

.fc-results-caption{
    margin:0;
    color:#6c6770;
    font-size:14px;
    line-height:1.5;
}

.fc-results-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.fc-result-card{
    padding:20px 22px;
    border:1px solid #eee3d7;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 24px rgba(34,27,19,.05);
}

.fc-result-card-accent{
    background:linear-gradient(135deg,#fff7f8 0%,#fff 100%);
    border-color:#f4cfd6;
}

.fc-result-label{
    display:block;
    margin-bottom:10px;
    color:#6e6870;
    font-size:13px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.fc-result-value{
    display:block;
    color:#1e2230;
    font-size:28px;
    line-height:1.15;
    font-weight:800;
}

.fc-result-card small{
    display:block;
    margin-top:8px;
    color:#7b7280;
    font-size:13px;
}

/* ===============================
   Highlight Values
================================= */

#fc_total_price{
    color:#c8102e;
    font-size:22px;
    font-weight:700;
}

#fc_boxes{
    color:#111;
    font-size:22px;
    font-weight:700;
}

#fc_total_sqft{
    color:#111;
    font-size:22px;
    font-weight:700;
}

.stock-green{
    color:#2e7d32;
    font-weight:700;
}

.stock-red{
    color:#d32f2f;
    font-weight:700;
}

/* ===============================
   Quantity
================================= */

.quantity input.qty{
    width:80px;
    height:52px;
    text-align:center;
    font-size:18px;
    border-radius:6px;
}

/* ===============================
   Add to Cart
================================= */

.single_add_to_cart_button{
    height:52px;
    padding:0 40px;
    background:linear-gradient(135deg,#d84b67 0%,#c63f5d 100%);
    border:none;
    border-radius:12px;
    color:#fff;
    font-size:16px;
    font-weight:700;
    transition:.3s;
}

.single_add_to_cart_button:hover{
    background:#c8102e;
}

.single_add_to_cart_button.disabled{
    opacity:.55;
    cursor:not-allowed;
}

/* ===============================
   Info Box
================================= */

.fc-note{
    margin-top:20px;
    background:#fff9eb;
    border:1px solid #f1d78b;
    border-radius:8px;
    padding:16px 18px;
    color:#555;
    font-size:14px;
}

/* ===============================
   Checkout Review
================================= */

.woocommerce-checkout-review-order-table .product-name{
    width:70%;
}

.woocommerce-checkout-review-order-table .product-total{
    width:30%;
    white-space:nowrap;
    vertical-align:middle;
}

.woocommerce-checkout-review-order-table .cart_item .product-name{
    padding-top:22px;
    padding-bottom:22px;
}

.woocommerce-checkout-review-order-table .cart_item .product-total{
    font-size:32px;
    font-weight:800;
    color:#1f2430;
}

.woocommerce-checkout-review-order-table .cart_item .product-name a{
    display:inline-block;
    margin-bottom:10px;
    color:#c8102e;
    font-size:18px;
    font-weight:700;
    text-decoration:none;
}

.woocommerce-checkout-review-order-table .cart_item .product-name .product-quantity{
    display:inline-block;
    margin-left:6px;
    color:#1f2430;
    font-size:18px;
    font-weight:800;
}

.woocommerce-checkout-review-order-table .cart_item .product-name .wc-item-meta{
    margin:0;
    padding:0;
}

.woocommerce-checkout-review-order-table .cart_item .product-name .wc-item-meta li{
    display:block;
    margin:0 0 6px;
    line-height:1.45;
}

.woocommerce-checkout-review-order-table .cart_item .product-name .wc-item-meta li:last-child{
    margin-bottom:0;
}

.woocommerce-checkout-review-order-table .cart_item .product-name .wc-item-meta strong,
.woocommerce-checkout-review-order-table .cart_item .product-name .wc-item-meta .wc-item-meta-label{
    display:inline;
    margin:0;
    color:#33415c;
    font-size:16px;
    font-weight:800;
}

.woocommerce-checkout-review-order-table .cart_item .product-name .wc-item-meta p,
.woocommerce-checkout-review-order-table .cart_item .product-name .wc-item-meta span{
    display:inline;
    margin:0;
    color:#33415c;
    font-size:16px;
    font-weight:700;
}

.woocommerce-checkout-review-order-table .cart_item .product-name .wc-item-meta .wc-item-meta-label::after,
.woocommerce-checkout-review-order-table .cart_item .product-name .wc-item-meta strong::after{
    content:": ";
}

/* ===============================
   Mobile
================================= */

@media(max-width:768px){

    .fc-product-title{
        font-size:clamp(28px,8vw,40px);
    }

    .fc-product-price.is-sale{
        gap:4px 10px;
    }

    .fc-price-regular{
        font-size:18px;
    }

    .fc-price-sale,
    .fc-price-current{
        font-size:clamp(24px,7vw,34px);
    }

    .fc-product-details-line{
        font-size:15px;
    }

    .fc-detail-separator{
        margin:0 6px;
    }

    .fc-row{
        flex-direction:column;
    }

    .fc-col{
        width:100%;
    }

    #fc_calculate{
        width:100%;
        min-width:0;
    }

    .fc-results-header{
        flex-direction:column;
        align-items:flex-start;
    }

    .fc-results-grid{
        grid-template-columns:1fr;
    }

    .woocommerce-checkout-review-order-table .product-name,
    .woocommerce-checkout-review-order-table .product-total{
        width:auto;
    }

    .woocommerce-checkout-review-order-table .cart_item .product-total{
        font-size:24px;
    }

    .fc-result-card{
        padding:18px;
    }

    .fc-result-value{
        font-size:24px;
    }

    #fc-calculator h3{
        font-size:32px;
    }

}
