.dot-pattern {
background-image: radial-gradient(circle at 2px 2px, rgba(255,255,255,0.15) 1px, transparent 0);
background-size: 40px 40px;
}
.dot-pattern-white {
background-image: radial-gradient(circle at 2px 2px, white 1px, transparent 0);
background-size: 32px 32px;
}
.admin-bar .top-0 {
margin-top: 32px !important;
} nav {
transition: all 0.3s ease;
}
.nav-scrolled {
background-color: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(12px);
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}
.nav-title {
transition: color 0.3s ease;
}
.nav-subtitle {
transition: color 0.3s ease;
}
.nav-scrolled .nav-title {
color: #111827;
}
.nav-scrolled .nav-subtitle {
color: #b45309;
}
.nav-transparent .nav-title {
color: white;
}
.nav-transparent .nav-subtitle {
color: #fcd34d;
}
.nav-link {
transition: all 0.3s ease;
}
.nav-scrolled .nav-link {
color: #374151;
}
.nav-scrolled .nav-link:hover {
background-color: #f3f4f6;
}
.nav-transparent .nav-link {
color: white;
}
.nav-transparent .nav-link:hover {
background-color: rgba(255, 255, 255, 0.1);
}
.mobile-menu-icon {
transition: color 0.3s ease;
}
.nav-scrolled .mobile-menu-icon {
color: #111827;
}
.nav-transparent .mobile-menu-icon {
color: white;
} html {
scroll-behavior: smooth;
} @keyframes fadeIn {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.fade-in {
animation: fadeIn 0.6s ease-out;
} input:focus,
textarea:focus {
outline: none;
} button,
a {
transition: all 0.3s ease;
} @keyframes spin {
to {
transform: rotate(360deg);
}
}
.loading {
animation: spin 1s linear infinite;
} ::-webkit-scrollbar {
width: 12px;
}
::-webkit-scrollbar-track {
background: #1f2937;
}
::-webkit-scrollbar-thumb {
background: linear-gradient(180deg, #d97706, #f59e0b);
border-radius: 6px;
}
::-webkit-scrollbar-thumb:hover {
background: linear-gradient(180deg, #b45309, #d97706);
}