/**
 * STW Offers Progress - Frontend Styles
 *
 * Minimal custom CSS - leverages Bootstrap 5 utilities from theme
 */

/* Sticky footer progress bar (default) */
#stw-offers-progress-bar.stw-offers-progress-sticky {
    z-index: 1040; /* Above sticky nav (1020), below modals (1055) */
    border-top: 3px solid var(--bs-primary);
}

/* Inline progress bar (cart page) - no fixed positioning */
#stw-offers-progress-bar.stw-offers-progress-inline {
    border: 1px solid var(--bs-border-color);
}

/* Smooth transition on progress bar updates */
#stw-offers-progress-bar .progress-bar {
    transition: width 0.5s ease-in-out;
}

/* Progress container for marker positioning */
.stw-progress-container {
    position: relative;
}

/* Tier markers overlay */
.stw-tier-markers {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    pointer-events: none;
}

/* Individual tier marker */
.stw-tier-marker {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--bs-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    pointer-events: auto;
    cursor: pointer;
    transition: all 0.3s ease;
}

.stw-tier-marker:hover {
    transform: translate(-50%, -50%) scale(1.1);
}

/* Unlocked tier marker */
.stw-tier-marker.unlocked {
    border-color: var(--bs-success);
    background: var(--bs-success);
}

.stw-tier-marker.unlocked .stw-marker-icon {
    filter: brightness(0) invert(1);
}

/* Next reward marker - pulsing animation */
.stw-tier-marker.next-reward {
    border-color: var(--bs-primary);
    animation: stw-pulse 2s infinite;
}

@keyframes stw-pulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(var(--bs-primary-rgb), 0.4);
    }
    50% {
        box-shadow: 0 0 0 8px rgba(var(--bs-primary-rgb), 0);
    }
}

/* Accordion positioned below progress bar */
.stw-rewards-accordion {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1039; /* Just below the progress bar */
    max-height: 50vh;
    overflow-y: auto;
    background: #fff;
    border-top: 1px solid var(--bs-border-color);
    transform: translateY(100%);
    transition: transform 0.3s ease;
}

.stw-rewards-accordion.show {
    transform: translateY(0);
}

/* When accordion is shown, push progress bar up */
#stw-offers-progress-bar:has(+ .stw-rewards-accordion.show) {
    bottom: auto;
}

/* Reward icon styling */
.stw-reward-icon {
    line-height: 1;
}

/* Free reward badge in cart */
.stw-offers-progress-reward-badge {
    display: inline-block;
    background: var(--bs-success);
    color: #fff;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: bold;
    margin-left: 8px;
    vertical-align: middle;
}

/* Ensure tooltips appear above the sticky progress bar */
/* Tooltips are rendered in body when container: 'body' is used */
body > .tooltip {
    z-index: 1050 !important;
}

/* Fix tooltip container clipping */
.stw-tier-markers {
    overflow: visible;
}

/* Mobile adjustments */
@media (max-width: 767.98px) {
    #stw-offers-progress-bar {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }

    .stw-tier-marker {
        width: 24px;
        height: 24px;
        font-size: 12px;
    }

    #stw-offers-progress-bar .progress {
        height: 16px !important;
    }
}

/* Ensure progress bar doesn't interfere with scroll on small screens */
@media (max-height: 600px) {
    #stw-offers-progress-bar {
        position: relative;
        margin-top: 20px;
    }
}
