/* ============================================================================ */
/* Cart UX Enhancements - Added for improved cart experience                   */
/* ============================================================================ */

/* Smooth transitions for cart updates */
.cart-items-scroll > div {
    transition: opacity 0.3s ease-in-out;
}

/* Quantity input focus states with Pronto orange */
.count-input input:focus {
    box-shadow: 0 0 0 0.25rem rgba(243, 110, 33, 0.25);
    border-color: #F36E21;
}

/* Button pulse animation for dirty state */
@keyframes pulse-orange {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(243, 110, 33, 0.7);
    }
    50% {
        box-shadow: 0 0 0 10px rgba(243, 110, 33, 0);
    }
}

.btn.animate-pulse.btn-primary {
    animation: pulse-orange 2s infinite;
}

/* Smooth price updates */
.text-body {
    transition: opacity 0.2s ease-in-out;
}

/* Disabled state clarity */
.btn.opacity-50 {
    cursor: not-allowed;
    pointer-events: none;
}

/* Responsive adjustments for button text */
@media (max-width: 575.98px) {
    .d-none.d-sm-inline {
        display: none !important;
    }
}

/* Cart panel slide animations */
.cart-panel {
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.cart-panel.slide-in {
    transform: translateX(0);
    opacity: 1;
}

.cart-panel.slide-out {
    transform: translateX(100%);
    opacity: 0;
}

/* Enhanced hover states for cart buttons */
.product-card-button:hover:not(:disabled) {
    transform: translateY(-2px);
    transition: transform 0.2s ease-in-out;
}

/* Loading spinner alignment */
.spinner-border-sm {
    width: 1rem;
    height: 1rem;
    border-width: 0.15rem;
}

/* Badge styling for cart count */
.badge.bg-primary {
    background-color: #F36E21 !important;
}

/* Alert styling for quantity errors */
.text-danger small {
    font-size: 0.875rem;
}

/* Screen reader only content */
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ============================================================================ */
/* End Cart UX Enhancements                                                     */
/* ============================================================================ */

/* ============================================================================ */
/* Clear Dimension Filters Button - Modern Hover-Only Underline                */
/* ============================================================================ */

/* Clear dimension filters button - Modern hover-only underline */
/* Override .btn-link default underline behavior */
.dimension-clear-btn.btn-link {
    text-decoration: none !important;
    transition: opacity 0.2s ease-in-out;
}

.dimension-clear-btn.btn-link:hover,
.dimension-clear-btn.btn-link:focus-visible {
    text-decoration: underline !important;
    text-underline-offset: 2px;
    opacity: 0.8;
}

/* Ensure icon never gets underlined */
.dimension-clear-btn i {
    text-decoration: none !important;
}

/* ============================================================================ */
/* End Clear Dimension Filters Button Styles                                   */
/* ============================================================================ */
