/* Stepper wrapper — replaces the .quantity div on the single product page */
.qty-tiers-stepper {
    display: inline-flex;
    align-items: stretch;
    border: 1px solid #ddd;
    margin-right: 10px;
    vertical-align: middle;
}

.qty-tiers-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    width: 36px;
    height: 42px;
    padding: 0;
    border: none;
    background: #f5f5f5;
    color: #333;
    font-size: 20px;
    line-height: 1;
    font-weight: 400;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    flex-shrink: 0;
    min-width: 36px !important; /* reset theme button min-width */
}

.qty-tiers-btn:hover:not(:disabled) {
    background: #e0e0e0;
    color: #101010;
}

.qty-tiers-btn:disabled,
.qty-tiers-btn[disabled] {
    opacity: 0.35;
    cursor: not-allowed;
    pointer-events: none;
}

.qty-tiers-stepper input.qty {
    width: 64px;
    height: 42px;
    padding-left: 4px !important;
    padding-right: 4px !important;
    text-align: center;
    border: none;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    border-radius: 0;
    font-size: 15px;
    font-weight: 600;
    background: #fff;
    color: inherit;
    -moz-appearance: textfield;
}

.qty-tiers-stepper input.qty::-webkit-inner-spin-button,
.qty-tiers-stepper input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* readonly cursor */
.qty-tiers-stepper input.qty[readonly] {
    cursor: default;
}

/* display:contents lifts the WC .quantity children (label + input) into the flex
   container, making the wrapper invisible to the flex layout.
   !important overrides .woocommerce .quantity { display: inline-flex } from theme. */
.qty-tiers-stepper .quantity {
    display: contents !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.qty-tiers-stepper .quantity .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(1px,1px,1px,1px) !important;
}

/* =============================================================================
   Price table
   ============================================================================= */
.qty-tiers-table-wrap {
    margin: 16px 0 24px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.qty-tiers-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    line-height: 1.4;
}

.qty-tiers-table th,
.qty-tiers-table td {
    padding: 9px 14px;
    border: 1px solid #e0e0e0;
    text-align: left;
    vertical-align: middle;
    white-space: nowrap;
}

.qty-tiers-table thead th {
    background: #f7f7f7;
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #555;
}

.qty-tiers-col-radio {
    width: 36px;
    text-align: center !important;
}

.qty-tiers-col-qty {
    font-weight: 600;
}

.qty-tiers-row {
    cursor: pointer;
    transition: background 0.12s;
}

.qty-tiers-row:hover {
    background: #f0f6ff;
}

.qty-tiers-row.is-active {
    background: #e8f0fe;
}

.qty-tiers-row.is-active .qty-tiers-col-qty {
    color: #0D6DF7; /* theme main color fallback — overridden by customizer_settings() */
}

.qty-tiers-multiplier {
    font-size: 12px;
    font-weight: 700;
    color: #0D6DF7;
    opacity: 0.8;
}

.qty-tiers-row.is-active td {
    border-color: #b8d0f9;
}

.qty-tiers-table input[type="radio"] {
    width: 16px;
    height: 16px;
    margin: 0;
    cursor: pointer;
    accent-color: #0D6DF7;
}

/* =============================================================================
   Cart: tier stepper (WC Blocks cart — injected via JS)
   ============================================================================= */

/* The cart/checkout stepper uses a <span> for the display instead of an <input> */
.qty-tiers-stepper--cart .qty-tiers-cart-display,
.qty-tiers-stepper--checkout .qty-tiers-cart-display {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 42px;
    padding: 0 4px;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    background: #fff;
    color: inherit;
    white-space: nowrap;
}

.qty-tier-locked {
    display: inline-block;
    padding: 4px 10px;
    background: #f5f5f5;
    border: 1px solid #e0e0e0;
    font-size: 14px;
    font-weight: 600;
    border-radius: 2px;
    white-space: nowrap;
}

dl.qty-tier-meta {
    margin: 4px 0 0;
    font-size: 13px;
    color: #555;
}

dl.qty-tier-meta dt {
    display: inline;
    font-weight: 600;
}

dl.qty-tier-meta dt::after {
    content: ': ';
}

dl.qty-tier-meta dd {
    display: inline;
    margin: 0;
}

/* =============================================================================
   Responsive
   ============================================================================= */
@media (max-width: 480px) {
    .qty-tiers-table th,
    .qty-tiers-table td {
        padding: 7px 10px;
        font-size: 13px;
    }
}

/* --- Single product: "excl. VAT" note next to the price --- */
/* !important: Elementor kit typography styles the price with higher specificity */
.single-product .entry-summary .price-vat-note {
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #8a8a8a !important;
    white-space: nowrap;
}
