@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700&display=swap');

/* Base Styles handled by Tailwind mostly */
:root {
    --brand-color: #D62828;
}

/* Smooth Scrolling */
html {
    scroll-behavior: smooth;
}

/* Animation Utilities */
@keyframes pulse-soft {

    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.05);
        opacity: 0.8;
    }
}

.animate-pulse-soft {
    animation: pulse-soft 2s infinite;
}

/* Form Styles */
input:focus {
    outline: none;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #999;
}

/* Food Card Hover Effect */
.food-card-hover {
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.food-card-hover:hover {
    transform: translateY(-5px);
}

/* Modal Transitions */
.modal-enter {
    opacity: 0;
    transform: scale(0.95);
}

.modal-enter-active {
    opacity: 1;
    transform: scale(1);
    transition: opacity 300ms ease-out, transform 300ms ease-out;
}

.modal-exit {
    opacity: 1;
    transform: scale(1);
}

.modal-exit-active {
    opacity: 0;
    transform: scale(0.95);
    transition: opacity 200ms ease-in, transform 200ms ease-in;
}

/* Step Transitions */
.step-container {
    animation: fadeIn 0.4s ease-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* Vendor Page Specific Styles */
.step-card {
    transition: all 0.3s ease;
}

.step-card:hover {
    transform: translateY(-5px);
}

.typing-cursor::after {
    content: "|";
    animation: blink 1s step-start infinite;
    color: #D62828;
}

@keyframes blink {
    50% { opacity: 0; }
}

.step-connector {
    position: absolute;
    top: 24px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #e5e7eb;
    z-index: 0;
}

.step-marker {
    position: relative;
    z-index: 10;
}
