/* JBK Weight Selector 0.1.4 */
/* Keep price typography local, including WooCommerce's nested price markup.
   Important declarations protect these values from Divi module price settings. */
.jbk-ws-unit {
    font-size: 27px !important;
    font-weight: 600 !important;
    color: #435C35 !important;
    line-height: 1.2 !important;
}
.jbk-ws-minimum {
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #5D5147 !important;
    line-height: 1.5 !important;
}
.jbk-ws-unit *,
.jbk-ws-minimum *,
.jbk-ws-selector .jbk-ws-price * {
    font-size: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
    line-height: inherit !important;
}
.jbk-ws-selector {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    margin-block: 1rem;
    padding: 20px;
    border: 1px solid #E7DFD1;
    border-radius: 6px;
    background: #F7F4ED;
}
.jbk-ws-selector label { display: block; font-weight: 600; }
/* Reset theme form styling while retaining a 44px touch target. */
.jbk-ws-selector input[type="range"][name="jbk_ws_weight"] {
    -webkit-appearance: none;
    appearance: none;
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 44px;
    min-height: 44px;
    padding: 0;
    margin: .5rem 0 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    cursor: pointer;
}
.jbk-ws-selector input[type="range"][name="jbk_ws_weight"]::-webkit-slider-runnable-track {
    box-sizing: border-box;
    width: 100%;
    height: 6px;
    border: 0;
    border-radius: 999px;
    background: #e0e0e0;
    box-shadow: none;
}
.jbk-ws-selector input[type="range"][name="jbk_ws_weight"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    width: 26px;
    height: 26px;
    margin-top: -10px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #34383c;
    box-shadow: 0 1px 4px rgb(0 0 0 / 25%);
}
.jbk-ws-selector input[type="range"][name="jbk_ws_weight"]::-moz-range-track {
    box-sizing: border-box;
    width: 100%;
    height: 6px;
    border: 0;
    border-radius: 999px;
    background: #e0e0e0;
    box-shadow: none;
}
.jbk-ws-selector input[type="range"][name="jbk_ws_weight"]::-moz-range-progress {
    height: 6px;
    border: 0;
    border-radius: 999px;
    background: #e0e0e0;
}
.jbk-ws-selector input[type="range"][name="jbk_ws_weight"]::-moz-range-thumb {
    box-sizing: border-box;
    width: 26px;
    height: 26px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #34383c;
    box-shadow: 0 1px 4px rgb(0 0 0 / 25%);
}
.jbk-ws-selector input[type="range"][name="jbk_ws_weight"]:focus-visible { outline: 2px solid #34383c; outline-offset: 3px; }
.jbk-ws-range-labels { display: flex; justify-content: space-between; gap: 1rem; width: 100%; margin-bottom: 0; font-size: .875em; line-height: 1.5; }
.jbk-ws-selector .jbk-ws-portion { margin: 15px 0 0; padding: 0; }
.jbk-ws-selector .jbk-ws-price-label {
    display: block;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #5D5147 !important;
    line-height: 1.5 !important;
}
.jbk-ws-selector .jbk-ws-price {
    display: block;
    margin-top: 4px;
    font-size: 24px !important;
    font-weight: 600 !important;
    color: #435C35 !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere;
}
.jbk-ws-selector .jbk-ws-note { margin: 12px 0 0; padding: 0; font-size: .875em; color: #5D5147; line-height: 1.5; }
