@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800;900&display=swap');

body {
    background-color: #F8F9FA;
    background-image: radial-gradient(#d1d5db 1px, transparent 1px);
    background-size: 24px 24px;
    -webkit-font-smoothing: antialiased;
}

/* Smooth reveal animation for bento cards */
.reveal-card {
    opacity: 0;
    transform: translateY(15px);
    animation: revealCard 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes revealCard {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Delay utilities for staggered animations */
.delay-100 { animation-delay: 100ms; }
.delay-200 { animation-delay: 200ms; }
.delay-300 { animation-delay: 300ms; }
.delay-400 { animation-delay: 400ms; }

/* Custom Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Circular Progress SVG Styles */
.progress-ring__circle {
    transition: stroke-dashoffset 1.5s cubic-bezier(0.65, 0, 0.35, 1);
    transform: rotate(-90deg);
    transform-origin: 50% 50%;
    stroke-linecap: round;
}

/* Input number spinner removal */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"] {
    -moz-appearance: textfield;
}

.hide-scrollbar::-webkit-scrollbar {
    display: none;
}
.hide-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

@media print {
    nav, footer, #searchForm, #heroSection, .no-print {
        display: none !important;
    }
    body {
        background: white !important;
    }
}
