/* Shopping List Manager - Custom Styles */

/* General */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    background-color: #f8f9fa;
}

/* Cards with stretched links need position relative */
.card {
    position: relative;
}

/* Improve mobile touch targets */
@media (max-width: 768px) {
    .btn {
        min-height: 44px;
    }
    
    .form-control,
    .form-select {
        min-height: 44px;
        font-size: 16px; /* Prevents zoom on iOS */
    }
}

/* Alert animations */
.alert {
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Loading state */
.loading {
    opacity: 0.6;
    pointer-events: none;
}

/* Price trend indicators */
.price-up {
    color: #dc3545;
}

.price-down {
    color: #198754;
}

.price-stable {
    color: #6c757d;
}

/* Shopping list item status */
.item-purchased {
    text-decoration: line-through;
    opacity: 0.6;
}

/* Navbar active state enhancement */
.navbar-nav .nav-link.active {
    font-weight: 600;
}

/* Better spacing for mobile */
@media (max-width: 576px) {
    .container-fluid {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

/* Card hover effect */
.card:hover {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1) !important;
    transition: box-shadow 0.2s ease-in-out;
}

/* Print styles for shopping lists */
@media print {
    .navbar,
    .btn,
    footer {
        display: none;
    }
    
    .card {
        box-shadow: none;
        border: 1px solid #dee2e6;
    }
}
