/**
 * Quantity steppers: catalog grid / cart / PDP stepper and the ProductRow table stepper.
 * Loads after data-table.css and cart-lines.css, as these rules always followed them.
 */

.dc-catalog-grid__stepper {
    box-sizing: border-box;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: var(--dc-space-1);
    width: auto;
    max-width: 100%;
    height: 2.25rem;
    padding: 0 var(--dc-space-1);
    border: 1px solid var(--dc-ceniza);
    border-radius: var(--dc-radius-pill);
    background: var(--dc-blanco);
}

.dc-catalog-grid__stepper-btn {
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: 0;
    border-radius: var(--dc-radius-pill);
    background: transparent;
    font-size: 1rem;
    line-height: 1;
    color: var(--dc-tinta);
    cursor: pointer;
}

.dc-catalog-grid__stepper-btn:hover,
.dc-catalog-grid__stepper-btn:focus-visible {
    background: var(--dc-hueso);
}

.dc-catalog-grid__stepper-qty {
    flex: 0 0 auto;
    min-width: 1ch;
    font-size: var(--dc-size-body-s);
    font-weight: var(--dc-weight-semibold);
    line-height: 1;
    font-variant-numeric: tabular-nums;
    color: var(--dc-tinta);
    text-align: center;
}

input.dc-catalog-grid__stepper-qty {
    width: 2.5ch;
    padding: 0;
    border: 0;
    background: transparent;
    appearance: textfield;
    -moz-appearance: textfield;
}

input.dc-catalog-grid__stepper-qty::-webkit-outer-spin-button,
input.dc-catalog-grid__stepper-qty::-webkit-inner-spin-button {
    margin: 0;
    appearance: none;
    -webkit-appearance: none;
}

.dc-catalog-grid__stepper:focus-within {
    border-color: var(--dc-musgo);
    box-shadow: var(--dc-ring-focus);
}

input.dc-catalog-grid__stepper-qty:focus,
input.dc-catalog-grid__stepper-qty:focus-visible {
    outline: none;
    box-shadow: none;
    border: 0;
    border-color: transparent;
}

.dc-catalog-grid__stepper-unit {
    flex: 0 0 auto;
    font-size: var(--dc-size-small);
    line-height: 1;
    color: var(--dc-gris);
    white-space: nowrap;
}

.dc-product-page-view .dc-product-page-add-to-cart .dc-catalog-grid__stepper {
    flex: 0 0 8.75rem;
    justify-content: center;
    width: 8.75rem;
    max-width: 8.75rem;
    height: var(--dc-control-height);
}

.dc-product-page-view .dc-product-page-add-to-cart .dc-catalog-grid__stepper-btn {
    width: 2rem;
    height: 2rem;
    font-size: 1.125rem;
}

.dc-product-page-view .dc-product-page-add-to-cart .dc-catalog-grid__stepper-qty,
.dc-product-page-view .dc-product-page-add-to-cart .dc-product-page-add-to-cart__qty-input {
    flex: 1 1 auto;
    min-width: 1.25rem;
    width: auto;
    max-width: 2.75rem;
}

.dc-cart-page.dc-checkout-cart-b2m .dc-catalog-grid__stepper-qty {
    flex: 0 0 auto;
    width: 2.5ch;
    min-width: 1ch;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: var(--dc-size-body-s);
    font-weight: var(--dc-weight-semibold);
    line-height: 1;
    font-variant-numeric: tabular-nums;
    color: var(--dc-tinta);
    text-align: center;
    appearance: textfield;
    -moz-appearance: textfield;
}

.dc-cart-page.dc-checkout-cart-b2m .dc-catalog-grid__stepper-qty::-webkit-outer-spin-button,
.dc-cart-page.dc-checkout-cart-b2m .dc-catalog-grid__stepper-qty::-webkit-inner-spin-button {
    appearance: none;
    margin: 0;
}

.ab2b-quick-order-table .dc-quick-order-row__cell--qty .dc-product-row-stepper,
.dc-catalog-listing-page.dc-catalog-a3-responsive .dc-product-row-table--a3 .dc-product-row-stepper {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 1.375rem minmax(0, 1fr) 1.375rem;
    align-items: center;
    width: 6.5rem;
    max-width: 100%;
    height: 2.25rem;
    padding: 0 0.375rem;
    border: 1px solid var(--dc-ceniza, var(--ab2b-border));
    border-radius: var(--dc-radius-pill);
    background: var(--dc-blanco, var(--ab2b-surface));
}

.ab2b-quick-order-table .dc-product-row-stepper__btn,
.dc-catalog-listing-page.dc-catalog-a3-responsive .dc-product-row-table--a3 .dc-product-row-stepper__btn {
    display: inline-grid;
    place-items: center;
    width: 1.375rem;
    height: 1.375rem;
    padding: 0;
    border: 0;
    border-radius: var(--dc-radius-pill);
    background: transparent;
    font-size: var(--dc-size-body);
    line-height: 1;
    color: var(--dc-tinta, var(--ab2b-text));
    cursor: pointer;
}

.ab2b-quick-order-table .dc-product-row-stepper__btn:hover,
.ab2b-quick-order-table .dc-product-row-stepper__btn:focus-visible,
.dc-catalog-listing-page.dc-catalog-a3-responsive .dc-product-row-table--a3 .dc-product-row-stepper__btn:hover,
.dc-catalog-listing-page.dc-catalog-a3-responsive .dc-product-row-table--a3 .dc-product-row-stepper__btn:focus-visible {
    background: var(--dc-hueso, var(--ab2b-surface));
}

.ab2b-quick-order-table .dc-product-row-stepper:focus-within,
.dc-catalog-listing-page.dc-catalog-a3-responsive .dc-product-row-table--a3 .dc-product-row-stepper:focus-within {
    border-color: var(--dc-musgo, var(--ab2b-primary));
    box-shadow: var(--dc-ring-focus, 0 0 0 3px rgba(45, 106, 79, 0.2));
}

.ab2b-quick-order-table .dc-product-row-stepper__center,
.dc-catalog-listing-page.dc-catalog-a3-responsive .dc-product-row-table--a3 .dc-product-row-stepper__center {
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.1875rem;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
}

.ab2b-quick-order-table .dc-product-row-stepper__qty,
.dc-catalog-listing-page.dc-catalog-a3-responsive .dc-product-row-table--a3 .dc-product-row-stepper__qty {
    width: 1.35em;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
    font-family: inherit;
    font-size: var(--dc-size-small);
    font-weight: var(--dc-weight-semibold);
    line-height: 1;
    color: var(--dc-tinta, var(--ab2b-text));
    text-align: right;
    appearance: textfield;
    -moz-appearance: textfield;
}

.ab2b-quick-order-table .dc-product-row-stepper__qty::-webkit-outer-spin-button,
.ab2b-quick-order-table .dc-product-row-stepper__qty::-webkit-inner-spin-button,
.dc-catalog-listing-page.dc-catalog-a3-responsive .dc-product-row-table--a3 .dc-product-row-stepper__qty::-webkit-outer-spin-button,
.dc-catalog-listing-page.dc-catalog-a3-responsive .dc-product-row-table--a3 .dc-product-row-stepper__qty::-webkit-inner-spin-button {
    margin: 0;
    appearance: none;
}

.ab2b-quick-order-table .dc-product-row-stepper__unit,
.dc-catalog-listing-page.dc-catalog-a3-responsive .dc-product-row-table--a3 .dc-product-row-stepper__unit {
    font-size: var(--dc-size-caption);
    font-weight: var(--dc-weight-regular);
    line-height: 1;
    color: var(--dc-gris, var(--ab2b-muted));
}
