/* Orlo Store - Tailwind CSS Custom Styles */

/* Base styles that work with Tailwind */
body {
    font-family: 'Alexandria', system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Product card hover effects */
.product-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.product-card:hover {
    transform: translateY(-2px);
}

/* Product image transitions */
.product-image {
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.product-card:hover .product-image {
    transform: scale(1.02);
}

/* Image navigation dots */
.image-nav {
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.product-card:hover .image-nav {
    opacity: 1;
}

.image-dot {
    transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}

.image-dot:hover,
.image-dot.active {
    transform: scale(1.2);
}

/* Quick add button */
.quick-add-btn {
    transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}

.quick-add-btn:hover {
    transform: translateY(-1px);
}

/* Color and size tags */
.color-tag,
.size-tag {
    transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}

.color-tag:hover:not(.disabled),
.size-tag:hover:not(.disabled) {
    transform: translateY(-1px);
}

/* Button hover effects */
.btn-hover {
    transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-hover:hover {
    transform: translateY(-1px);
}

/* Custom animations */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in {
    animation: fadeIn 0.5s ease-out forwards;
}

/* Selection colors */
::selection {
    background-color: #f4ead0;
    color: #0a0a0a;
}

::-moz-selection {
    background-color: #f4ead0;
    color: #0a0a0a;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f7f7f7;
}

::-webkit-scrollbar-thumb {
    background: #e8e8e8;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #d0d0d0;
}

/* Focus states for accessibility */
.focus-ring:focus {
    outline: 2px solid #0a0a0a;
    outline-offset: 2px;
}

/* Print styles */
@media print {
    .no-print {
        display: none !important;
    }
    
    .product-card {
        break-inside: avoid;
        box-shadow: none;
    }
}