:root {
    --tp--color--1: #9bb7c2;
    --tp--color--2: #e9c8cf;
    --tp--color--3: #e79eae;
}
/* --------------------- Classic Style --------------------- */

.tpwqpb_classic{
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 4px;
    margin: 0 !important;
}
.tpwqpb_classic form.cart div.quantity .qty {
    margin: 0;
    padding: 0;
}
/* Classic Style */
.tpwqpb_classic .minus, .tpwqpb_classic .plus {
    background: #fff;
    color: black;
    border: none;
    padding: 5px 10px;
    cursor: pointer;
}
.tpwqpb_classic .input-text.qty.text {
    margin: 0 !important;
    border: none;
    padding: 5px;
    text-align: center;
}
.tpwqpb_classic .quantity .qty {
    margin: 0 !important;
    width: 2.5em !important;
}
/* --------------------- Modern Style --------------------- */
/* Modern Style */
.tpwqpb_modern .minus, .tpwqpb_modern .plus {
    background-color: #4CAF50;
    color: white;
    border: none;
    padding: 5px 15px;
    cursor: pointer;
    border-radius: 4px;
}
.tpwqpb_modern .input-text.qty.text {
    margin: 0 10px;
    border: 1px solid #4CAF50;
    padding: 5px;
    text-align: center;
}

/* --------------------- Elegant Style --------------------- */
/* Elegant Style */
.tpwqpb_elegant .minus, .tpwqpb_elegant .plus {
    background-color: #555;
    color: #fff;
    border: 2px solid #555;
    padding: 3px 8px;
    cursor: pointer;
    border-radius: 50%;
    font-weight: bold;
}
.tpwqpb_elegant .input-text.qty.text {
    margin: 0 10px;
    border: 2px solid #555;
    padding: 5px;
    text-align: center;
}

/* --------------------- Minimalist Style --------------------- */
/* Minimalist Style */
.tpwqpb_minimalist .minus, .tpwqpb_minimalist .plus {
    background-color: transparent;
    color: #333;
    border: 1px solid #ccc;
    padding: 5px 10px;
    cursor: pointer;
    border-radius: 2px;
}
.tpwqpb_minimalist .input-text.qty.text {
    margin: 0 10px;
    border: 1px solid #ccc;
    padding: 5px;
    text-align: center;
}

/* ---------------------- Bold Style ----------------------- */
/* Base styling for the quantity block */
.tpwqpb_bold {
    display: flex;
    align-items: center;
}

/* Styling for the minus and plus buttons */
.tpwqpb_bold .minus, .tpwqpb_bold .plus {
    background-color: #e74c3c; /* Bold red background */
    color: white; /* White text */
    border: none;
    padding: 6px 12px;
    cursor: pointer;
    border-radius: 3px;
    font-size: 16px;
}

/* Styling for the quantity input field */
.tpwqpb_bold .input-text.qty.text {
    margin: 0 10px; /* Space between buttons and input field */
    width: 60px; /* Fixed width for the input field */
    text-align: center;
    border: 2px solid #e74c3c; /* Border color similar to buttons for consistency */
    padding: 5px;
    border-radius: 3px;
}

/* Optional: Styling for the screen-reader label (hidden but accessible for screen readers) */
.tpwqpb_bold .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* --------------------------------------------------------- */
/* Unified Style Container */
.tpwqpb_unified {
    display: flex;
    border: 2px solid var(--tp--color--1); /* Unified border */
    border-radius: 4px; /* Rounded corners */
    overflow: hidden;
    background: #fff;
}

/* Unified Style Minus and Plus Buttons */
.tpwqpb_unified .minus, .tpwqpb_unified .plus {
    background-color:  var(--tp--color--1);
    color: white;
    width: 35px;
    border: none;
    padding: 7px 10px;
    cursor: pointer;
}

/* Unified Style Quantity Input */
.tpwqpb_unified .input-text.qty.text {
    flex-grow: 1; /* Makes the input field expand to fill available space */
    border: none !important; /* Removes individual border */
    padding: 5px 10px;
    margin: 0 !important;
    text-align: center;
    background: #fff;
}

/* --------------------------------------------------------- */

/* Remove arrows in Firefox */
.tpwqpb_bold input[type="number"],
.tpwqpb_classic input[type="number"],
.tpwqpb_unified input[type="number"] {
    -moz-appearance: textfield;
}

/* Remove arrows in Chrome, Safari, Edge, and Opera */
.tpwqpb_bold input[type="number"]::-webkit-outer-spin-button,
.tpwqpb_bold input[type="number"]::-webkit-inner-spin-button,
.tpwqpb_classic input[type="number"]::-webkit-outer-spin-button,
.tpwqpb_classic input[type="number"]::-webkit-inner-spin-button,
.tpwqpb_unified input[type="number"]::-webkit-outer-spin-button,
.tpwqpb_unified input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Remove arrows in Edge, Firefox, and IE */
.tpwqpb_bold input[type="number"],
.tpwqpb_classic input[type="number"],
.tpwqpb_unified input[type="number"] {
    -moz-appearance: textfield;
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
}