/* =============================================
PUPSTER BUNDLE DISCOUNT - STYLES v4.0.1
Wszystkie style zabezpieczone przed Elementor/WP
============================================= */

/* =============================================
TIER SELECTOR BOXES (Product Page, Card 3)
============================================= */

.pbd-tier-selector {
display: flex !important;
flex-direction: column !important;
gap: 0.75rem !important;
margin: 0 0 1rem 0 !important;
padding: 0 !important;
width: 100% !important;
box-sizing: border-box !important;
}

.pbd-tier-selector .ps-label {
font-size: 14px !important;
font-weight: 700 !important;
color: var(--ps-foreground, #1a1a2e) !important;
margin-bottom: 8px !important;
display: block !important;
}

.pbd-tier-boxes {
display: grid !important;
grid-template-columns: repeat(3, 1fr) !important;
gap: 0.625rem !important;
width: 100% !important;
margin: 0 !important;
padding: 0 !important;
}

@media (max-width: 480px) {
.pbd-tier-boxes {
grid-template-columns: 1fr !important;
gap: 0.5rem !important;
}
}

/* RESET BUTTON + TIER BOX STYLES */
.pbd-tier-boxes .pbd-tier-box,
.pbd-tier-boxes .pbd-tier-box:link,
.pbd-tier-boxes .pbd-tier-box:visited,
.pbd-tier-boxes .pbd-tier-box:hover,
.pbd-tier-boxes .pbd-tier-box:focus,
.pbd-tier-boxes .pbd-tier-box:active {
appearance: none !important;
-webkit-appearance: none !important;
position: relative !important;
display: flex !important;
flex-direction: column !important;
align-items: center !important;
justify-content: flex-start !important;
gap: 0.375rem !important;
padding: 1rem 0.625rem 0.75rem !important;
border-radius: 0.75rem !important;
border: 2px solid #e2e8f0 !important;
background: #ffffff !important;
background-image: none !important;
cursor: pointer !important;
text-align: center !important;
min-height: 140px !important;
width: 100% !important;
box-sizing: border-box !important;
font-family: inherit !important;
text-decoration: none !important;
box-shadow: none !important;
outline: none !important;
transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
margin: 0 !important;
line-height: 1.4 !important;
letter-spacing: 0 !important;
text-transform: none !important;
}

.pbd-tier-boxes .pbd-tier-box:hover {
border-color: rgba(124, 58, 237, 0.4) !important;
transform: translateY(-2px) !important;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
background: #ffffff !important;
}

.pbd-tier-boxes .pbd-tier-box.pbd-selected,
.pbd-tier-boxes .pbd-tier-box.pbd-selected:hover,
.pbd-tier-boxes .pbd-tier-box.pbd-selected:focus {
border-color: #7c3aed !important;
background: rgba(124, 58, 237, 0.04) !important;
box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.15) !important;
transform: translateY(-2px) !important;
}

/* BADGE */
.pbd-tier-box .pbd-tier-badge {
position: absolute !important;
top: -10px !important;
left: 50% !important;
transform: translateX(-50%) !important;
padding: 2px 10px !important;
border-radius: 20px !important;
font-size: 0.625rem !important;
font-weight: 700 !important;
text-transform: uppercase !important;
white-space: nowrap !important;
letter-spacing: 0.3px !important;
line-height: 1.6 !important;
z-index: 1 !important;
display: block !important;
margin: 0 !important;
}

.pbd-tier-box .pbd-badge-popular {
background: #7c3aed !important;
color: #ffffff !important;
}

.pbd-tier-box .pbd-badge-best {
background: linear-gradient(135deg, #f97316, #ec4899) !important;
color: #ffffff !important;
}

/* EMOJI + PAIRS */
.pbd-tier-box .pbd-tier-pairs {
display: flex !important;
flex-direction: column !important;
align-items: center !important;
gap: 0.125rem !important;
margin: 0 !important;
padding: 0 !important;
}

.pbd-tier-box .pbd-tier-emoji {
font-size: 1.25rem !important;
line-height: 1 !important;
display: block !important;
margin: 0 !important;
padding: 0 !important;
}

.pbd-tier-box .pbd-tier-pair-label {
font-size: 0.875rem !important;
font-weight: 700 !important;
color: #1a1a2e !important;
display: block !important;
margin: 0 !important;
padding: 0 !important;
line-height: 1.3 !important;
}

/* DISCOUNT TAG */
.pbd-tier-box .pbd-tier-discount {
display: inline-block !important;
background: #ef4444 !important;
color: #ffffff !important;
font-weight: 700 !important;
font-size: 0.8125rem !important;
padding: 1px 8px !important;
border-radius: 6px !important;
line-height: 1.5 !important;
margin: 0 !important;
border: none !important;
}

.pbd-tier-box .pbd-tier-no-discount {
font-size: 0.6875rem !important;
color: #64748b !important;
padding: 2px 0 !important;
display: block !important;
margin: 0 !important;
background: none !important;
border: none !important;
line-height: 1.4 !important;
}

/* PRICE WRAP */
.pbd-tier-box .pbd-tier-price-wrap {
display: flex !important;
flex-direction: column !important;
align-items: center !important;
gap: 0 !important;
margin: 0 !important;
padding: 0 !important;
}

.pbd-tier-box .pbd-tier-old-price {
font-size: 0.75rem !important;
color: #999999 !important;
text-decoration: line-through !important;
line-height: 1.2 !important;
display: block !important;
margin: 0 !important;
padding: 0 !important;
background: none !important;
border: none !important;
}

.pbd-tier-box .pbd-tier-new-price {
font-size: 1.125rem !important;
font-weight: 700 !important;
color: #1a1a2e !important;
line-height: 1.3 !important;
display: block !important;
margin: 0 !important;
padding: 0 !important;
background: none !important;
border: none !important;
text-decoration: none !important;
}

.pbd-tier-box.pbd-selected .pbd-tier-new-price {
color: #7c3aed !important;
}

.pbd-tier-box .pbd-tier-per-pair {
font-size: 0.6875rem !important;
color: #64748b !important;
line-height: 1.3 !important;
display: block !important;
margin: 0 !important;
padding: 0 !important;
background: none !important;
border: none !important;
}

.pbd-tier-box .pbd-tier-savings {
font-size: 0.6875rem !important;
font-weight: 600 !important;
color: #16a34a !important;
background: rgba(22, 163, 74, 0.08) !important;
padding: 1px 8px !important;
border-radius: 4px !important;
display: inline-block !important;
margin: 0 !important;
border: none !important;
line-height: 1.6 !important;
}

/* =============================================
BUNDLE BAR (Side Cart)
============================================= */

.pbd-sidecart-slot {
display: block !important;
width: 100% !important;
box-sizing: border-box !important;
}

.pbd-sidecart-slot:empty {
display: none !important;
}

/* BAR WRAPPER */
.pbd-sidecart-slot .pbd-bar-content {
display: flex !important;
align-items: center !important;
gap: 10px !important;
margin-bottom: 10px !important;
padding: 0 !important;
}

.pbd-sidecart-slot .pbd-bar-icon {
font-size: 20px !important;
flex-shrink: 0 !important;
line-height: 1 !important;
display: block !important;
}

.pbd-sidecart-slot .pbd-bar-text {
flex: 1 !important;
min-width: 0 !important;
}

.pbd-sidecart-slot .pbd-bar-title {
font-size: 13px !important;
font-weight: 600 !important;
color: #333333 !important;
line-height: 1.4 !important;
display: block !important;
margin: 0 !important;
padding: 0 !important;
}

/* UPSELL STATE */
.pbd-sidecart-slot .pbd-bar-upsell {
background: rgba(249, 115, 22, 0.06) !important;
padding: 10px 12px !important;
border-radius: 8px !important;
margin-bottom: 10px !important;
}

/* MAX STATE */
.pbd-sidecart-slot .pbd-bar-max {
background: rgba(22, 163, 74, 0.06) !important;
padding: 10px 12px !important;
border-radius: 8px !important;
margin-bottom: 10px !important;
}

.pbd-sidecart-slot .pbd-bar-max .pbd-bar-title {
color: #16a34a !important;
}

/* PROGRESS TRACK */
.pbd-sidecart-slot .pbd-progress-track {
position: relative !important;
height: 6px !important;
background: #e5e7eb !important;
border-radius: 20px !important;
overflow: visible !important;
margin-bottom: 12px !important;
margin-top: 0 !important;
padding: 0 !important;
border: none !important;
box-shadow: none !important;
}

.pbd-sidecart-slot .pbd-progress-fill {
height: 100% !important;
border-radius: 20px !important;
background: linear-gradient(90deg, #f97316, #ec4899, #7c3aed) !important;
transition: width 0.5s ease !important;
display: block !important;
margin: 0 !important;
padding: 0 !important;
}

.pbd-sidecart-slot .pbd-progress-full .pbd-progress-fill {
background: linear-gradient(90deg, #22c55e, #16a34a) !important;
width: 100% !important;
}

/* PROGRESS MARKERS */
.pbd-sidecart-slot .pbd-progress-markers {
position: absolute !important;
top: -6px !important;
left: 0 !important;
right: 0 !important;
height: 18px !important;
pointer-events: none !important;
margin: 0 !important;
padding: 0 !important;
}

.pbd-sidecart-slot .pbd-marker {
position: absolute !important;
width: 18px !important;
height: 18px !important;
border-radius: 50% !important;
background: #e5e7eb !important;
color: #999999 !important;
font-size: 9px !important;
font-weight: 700 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
transform: translateX(-50%) !important;
border: 2px solid #ffffff !important;
box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important;
line-height: 1 !important;
margin: 0 !important;
padding: 0 !important;
text-decoration: none !important;
}

.pbd-sidecart-slot .pbd-marker[data-at="33"] { left: 33.33% !important; }
.pbd-sidecart-slot .pbd-marker[data-at="66"] { left: 66.66% !important; }
.pbd-sidecart-slot .pbd-marker[data-at="100"] { left: 100% !important; }

.pbd-sidecart-slot .pbd-marker[data-reached="1"] {
background: #7c3aed !important;
color: #ffffff !important;
border-color: #ffffff !important;
}
/* CTA BUTTON */
.pbd-sidecart-slot .pbd-bar-cta,
.pbd-sidecart-slot .pbd-bar-cta:link,
.pbd-sidecart-slot .pbd-bar-cta:visited,
.pbd-sidecart-slot .pbd-bar-cta:hover,
.pbd-sidecart-slot .pbd-bar-cta:focus,
.pbd-sidecart-slot .pbd-bar-cta:active {
display: flex !important;
align-items: center !important;
justify-content: center !important;
gap: 6px !important;
padding: 9px 16px !important;
border-radius: 8px !important;
background: #7c3aed !important;
background-image: none !important;
color: #ffffff !important;
font-size: 13px !important;
font-weight: 600 !important;
text-decoration: none !important;
border: none !important;
box-shadow: none !important;
cursor: pointer !important;
width: 100% !important;
box-sizing: border-box !important;
font-family: inherit !important;
line-height: 1.4 !important;
margin: 0 !important;
transition: opacity 0.2s ease, transform 0.2s ease !important;
}

.pbd-sidecart-slot .pbd-bar-cta:hover {
opacity: 0.9 !important;
transform: translateY(-1px) !important;
background: #7c3aed !important;
color: #ffffff !important;
}

.pbd-sidecart-slot .pbd-bar-cta span {
font-size: 16px !important;
font-weight: 700 !important;
line-height: 1 !important;
color: #ffffff !important;
}

/* OUTER WRAPPER PADDING */
#pbd-sidecart-slot {
padding: 12px 0 4px 0 !important;
display: block !important;
width: 100% !important;
box-sizing: border-box !important;
}

#pbd-sidecart-slot:empty {
display: none !important;
padding: 0 !important;
}

/* =============================================
SHIPPING NOTE
============================================= */

#pbd-shipping-note,
.pbd-shipping-note {
display: flex !important;
align-items: center !important;
gap: 6px !important;
padding: 6px 0 !important;
font-size: 12px !important;
color: #64748b !important;
margin: 0 !important;
border: none !important;
background: none !important;
box-sizing: border-box !important;
width: 100% !important;
}

#pbd-shipping-note:empty,
.pbd-shipping-note:empty {
display: none !important;
}

.pbd-shipping-note .pbd-shipping-icon {
font-size: 14px !important;
flex-shrink: 0 !important;
line-height: 1 !important;
}

.pbd-shipping-note span {
font-size: 12px !important;
color: #64748b !important;
line-height: 1.4 !important;
}

/* =============================================
CHECKOUT NOTICE
============================================= */

.pbd-checkout-notice {
display: flex !important;
align-items: center !important;
gap: 10px !important;
background: linear-gradient(135deg, #d4edda, #c3e6cb) !important;
border-radius: 10px !important;
padding: 14px 18px !important;
margin-bottom: 16px !important;
border: none !important;
box-sizing: border-box !important;
width: 100% !important;
}

.pbd-checkout-notice .pbd-checkout-icon {
font-size: 20px !important;
flex-shrink: 0 !important;
line-height: 1 !important;
}

.pbd-checkout-notice .pbd-checkout-text {
font-weight: 600 !important;
font-size: 14px !important;
color: #155724 !important;
line-height: 1.4 !important;
margin: 0 !important;
padding: 0 !important;
}

/* =============================================
ANIMACJE
============================================= */

@keyframes pbdSlideIn {
from {
opacity: 0;
transform: translateY(8px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

@keyframes pbdPulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.85; }
}

#pbd-sidecart-slot .pbd-bar-max {
animation: pbdPulse 2s ease-in-out 1 !important;
}

.pbd-tier-selector {
animation: pbdSlideIn 0.3s ease !important;
}

/* =============================================
PRICE HEADER - Rabat bundlowy na stronie produktu
============================================= */

.ps-price-header-row {
flex-wrap: wrap !important;
align-items: center !important;
gap: 0.5rem !important;
}

#pbd-price-old {
font-size: 1.1rem !important;
font-weight: 500 !important;
color: #999 !important;
text-decoration: line-through !important;
order: -1 !important;
}

#psPriceValue {
transition: color 0.3s ease !important;
}

#pbd-price-badge {
display: inline-block !important;
background: #23ae2e !important;
color: white !important;
font-size: 0.75rem !important;
font-weight: 700 !important;
padding: 2px 8px !important;
border-radius: 6px !important;
line-height: 1.5 !important;
}

/* =============================================
SIDE CART - Przekreślone ceny przy produktach
============================================= */

.pbd-price-wrap {
display: flex !important;
flex-direction: column !important;
align-items: flex-end !important;
gap: 1px !important;
}

.pbd-original-price {
font-size: 11px !important;
color: #999 !important;
text-decoration: line-through !important;
line-height: 1.2 !important;
}

.pbd-original-price .woocommerce-Price-amount {
color: #999 !important;
font-size: 11px !important;
}

.pbd-discounted-price {
font-size: 15px !important;
font-weight: 700 !important;
color: #23ae2e !important;
line-height: 1.2 !important;
}

#pbd-total-discount-badge {
display: block !important;
font-size: 11px !important;
color: #23ae2e !important;
font-weight: 600 !important;
margin-top: 2px !important;
text-align: center !important;
}

/* =============================================
KATALOG - Przecenione ceny produktów
============================================= */

.products .price del.pbd-catalog-price,
li.product .price del.pbd-catalog-price {
display: block !important;
color: #999 !important;
font-size: 0.85em !important;
text-decoration: line-through !important;
}

.products .price ins,
li.product .price ins {
text-decoration: none !important;
}

/* =============================================
ANIMACJA przy zmianie ceny
============================================= */

@keyframes pbdPriceUpdate {
0% { opacity: 0.5; transform: scale(0.98); }
100% { opacity: 1; transform: scale(1); }
}

#psPriceValue,
.pbd-discounted-price {
animation: pbdPriceUpdate 0.3s ease;
}
/* =============================================
COMBINED BAR - Bundle + Shipping
============================================= */

.pbd-combined-bar {
padding: 12px 16px !important;
display: flex !important;
flex-direction: column !important;
gap: 10px !important;
background: #fafafa !important;
border-radius: 12px !important;
margin-bottom: 8px !important;
border: 1px solid #f0f0f0 !important;
box-sizing: border-box !important;
}

/* BUNDLE STATUS */
.pbd-bundle-status {
display: flex !important;
align-items: center !important;
gap: 8px !important;
flex-wrap: wrap !important;
}

.pbd-bundle-status-icon {
font-size: 18px !important;
flex-shrink: 0 !important;
line-height: 1 !important;
}

.pbd-bundle-status-text {
flex: 1 !important;
font-size: 12px !important;
font-weight: 600 !important;
color: #444 !important;
line-height: 1.4 !important;
}

.pbd-bundle-badge {
display: inline-block !important;
background: #23ae2e !important;
color: white !important;
font-size: 11px !important;
font-weight: 700 !important;
padding: 2px 8px !important;
border-radius: 20px !important;
flex-shrink: 0 !important;
}

.pbd-badge-yellow {
background: #23ae2e !important;
}

.pbd-bundle-max .pbd-bundle-status-text {
color: #16a34a !important;
}

/* PROGRESS WRAP */
.pbd-progress-wrap {
display: flex !important;
flex-direction: column !important;
gap: 4px !important;
}

.pbd-progress-track {
position: relative !important;
height: 6px !important;
background: #e5e7eb !important;
border-radius: 20px !important;
overflow: visible !important;
border: none !important;
box-shadow: none !important;
padding: 0 !important;
margin: 6px 0 !important;
}

.pbd-progress-fill {
height: 100% !important;
border-radius: 20px !important;
background: linear-gradient(90deg, #f97316, #7c3aed) !important;
transition: width 0.5s ease !important;
display: block !important;
}

.pbd-progress-full .pbd-progress-fill {
background: linear-gradient(90deg, #22c55e, #16a34a) !important;
width: 100% !important;
}

.pbd-progress-markers {
position: absolute !important;
top: -6px !important;
left: 0 !important;
right: 0 !important;
height: 18px !important;
pointer-events: none !important;
}

.pbd-marker {
position: absolute !important;
width: 18px !important;
height: 18px !important;
border-radius: 50% !important;
background: #e5e7eb !important;
color: #999 !important;
font-size: 9px !important;
font-weight: 700 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
transform: translateX(-50%) !important;
border: 2px solid #fff !important;
box-shadow: 0 1px 3px rgba(0,0,0,.1) !important;
}

.pbd-marker[data-at="33"] { left: 33.33% !important; }
.pbd-marker[data-at="66"] { left: 66.66% !important; }
.pbd-marker[data-at="100"] { left: 100% !important; }

.pbd-marker[data-reached="1"] {
background: #7c3aed !important;
color: #fff !important;
border-color: #fff !important;
}

.pbd-progress-labels {
display: flex !important;
justify-content: space-between !important;
font-size: 10px !important;
color: #999 !important;
padding: 0 2px !important;
}

/* CTA BUTTON */
.pbd-combined-bar .pbd-bar-cta,
.pbd-combined-bar .pbd-bar-cta:link,
.pbd-combined-bar .pbd-bar-cta:visited,
.pbd-combined-bar .pbd-bar-cta:hover,
.pbd-combined-bar .pbd-bar-cta:focus {
display: flex !important;
align-items: center !important;
justify-content: center !important;
gap: 6px !important;
padding: 8px 16px !important;
border-radius: 8px !important;
background: #7c3aed !important;
color: #fff !important;
font-size: 12px !important;
font-weight: 600 !important;
text-decoration: none !important;
border: none !important;
cursor: pointer !important;
width: 100% !important;
box-sizing: border-box !important;
transition: opacity .2s !important;
}

.pbd-combined-bar .pbd-bar-cta:hover {
opacity: 0.9 !important;
}

/* SHIPPING BAR */
.pbd-shipping-bar {
display: flex !important;
flex-direction: column !important;
gap: 6px !important;
padding-top: 8px !important;
border-top: 1px solid #ebebeb !important;
}

.pbd-shipping-status {
display: flex !important;
align-items: center !important;
gap: 6px !important;
font-size: 12px !important;
color: #555 !important;
line-height: 1.4 !important;
}

.pbd-shipping-done {
color: #16a34a !important;
font-weight: 600 !important;
}

.pbd-shipping-track {
height: 4px !important;
background: #e5e7eb !important;
border-radius: 20px !important;
overflow: hidden !important;
}

.pbd-shipping-fill {
height: 100% !important;
background: linear-gradient(90deg, #22c55e, #16a34a) !important;
border-radius: 20px !important;
transition: width .5s ease !important;
}

/* SIDE CART - przekreślone ceny */
.pbd-price-wrap {
display: flex !important;
flex-direction: column !important;
align-items: flex-end !important;
gap: 0 !important;
}

.pbd-original-price {
font-size: 11px !important;
line-height: 1.2 !important;
text-decoration: none !important;
}

.pbd-original-price .woocommerce-Price-amount,
.pbd-original-price bdi {
color: #999 !important;
font-size: 11px !important;
text-decoration: line-through !important;
}

.pbd-discounted-price {
font-size: 15px !important;
font-weight: 700 !important;
color: #23ae2e !important;
line-height: 1.2 !important;
}

.pbd-discounted-price .woocommerce-Price-amount {
color: #23ae2e !important;
font-weight: 700 !important;
}

/* Tier selector - tryb informacyjny (nie klikalny) */
.pbd-tier-box-info {
    cursor: default !important;
    pointer-events: none !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}

.pbd-tier-box-info:hover {
    transform: none !important;
}

/* Poziom 0: 1 para - lekki szary */
.pbd-tier-level-0 {
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%) !important;
    border: 2px solid #e2e8f0 !important;
}

.pbd-tier-level-0 .pbd-tier-new-price {
    color: #475569 !important;
}

/* Poziom 1: 2 pary - lekki zielony */
.pbd-tier-level-1 {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%) !important;
    border: 2px solid #86efac !important;
    box-shadow: 0 2px 8px rgba(34, 197, 94, 0.12) !important;
}

.pbd-tier-level-1 .pbd-tier-new-price {
    color: #16a34a !important;
}

.pbd-tier-level-1 .pbd-tier-discount {
    background: #16a34a !important;
}

/* Poziom 2: 3 pary - lekki złoty */
.pbd-tier-level-2 {
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%) !important;
    border: 2px solid #fcd34d !important;
    box-shadow: 0 4px 12px rgba(251, 191, 36, 0.2) !important;
}

.pbd-tier-level-2 .pbd-tier-new-price {
    color: #b45309 !important;
    font-size: 1.15rem !important;
}

.pbd-tier-level-2 .pbd-tier-discount {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
}

.pbd-tier-level-2 .pbd-tier-savings {
    background: #fef3c7 !important;
    color: #92400e !important;
    font-weight: 700 !important;
}

.pbd-tier-level-2 .pbd-badge-best {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
}

/* Info tekst */
.pbd-tier-info-text {
    font-size: 13px !important;
    color: #64748b !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    text-align: center !important;
}

/* =============================================
   BADGE NA ZDJĘCIACH (Katalog/Strona główna)
============================================= */
.pbd-image-badge {
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    background: #23ae2e !important; /* <--- Zmiana koloru tutaj */
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    padding: 6px 12px !important;
    border-radius: 20px !important;
    z-index: 10 !important;
    pointer-events: none !important;
    line-height: 1 !important;
    letter-spacing: 0.5px !important;
}

/* Pomniejszony badge na małych zdjęciach bestsellerów w koszyku */
.csc-bestseller-item .pbd-image-badge {
    font-size: 10px !important;
    padding: 2px 6px !important;
    top: 4px !important;
    left: 4px !important;
}