/* offcampus.space - The Inter-University Social Circle Custom Styling */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&display=swap');

body {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    -webkit-tap-highlight-color: transparent;
}

/* Tactile Visible Custom Scrollbar */
.custom-scrollbar::-webkit-scrollbar {
    width: 6px;
}
.custom-scrollbar::-webkit-scrollbar-track {
    background: #f1f3f5;
    border-radius: 4px;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
    background: #000000;
    border-radius: 4px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #333333;
}
.custom-scrollbar {
    scrollbar-width: thin;
    scrollbar-color: #000000 #f1f3f5;
}

.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Neo-brutalist tactile shadows */
.neo-shadow {
    box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 1);
}

.neo-shadow-sm {
    box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1);
}

.neo-shadow-lg {
    box-shadow: 5px 5px 0px 0px rgba(0, 0, 0, 1);
}

.neo-card {
    border: 2px solid #000000;
    box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 1);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.neo-card:hover {
    transform: translateY(-2px);
    box-shadow: 5px 5px 0px 0px rgba(0, 0, 0, 1);
}

.neo-card:active {
    transform: translateY(1px);
    box-shadow: 1px 1px 0px 0px rgba(0, 0, 0, 1);
}

.neo-btn {
    border: 2px solid #000000;
    box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 1);
    transition: transform 0.1s ease, box-shadow 0.1s ease;
}

.neo-btn:hover {
    transform: translateY(-1px);
    box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 1);
}

.neo-btn:active {
    transform: translateY(2px);
    box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 1);
}

/* Badge styling */
.badge-verified {
    background-color: #ecfdf5;
    color: #065f46;
    border: 1.5px solid #059669;
}

.badge-unverified {
    background-color: #fffbeb;
    color: #92400e;
    border: 1.5px solid #d97706;
}

/* Smooth fade in */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in {
    animation: fadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Pulse radar animation */
@keyframes radarPulse {
    0% { transform: scale(0.95); opacity: 0.8; }
    50% { transform: scale(1.15); opacity: 0.3; }
    100% { transform: scale(0.95); opacity: 0.8; }
}

.animate-radar {
    animation: radarPulse 2.5s infinite ease-in-out;
}

/* Native mobile bottom sheet slide-up */
@keyframes slideUp {
    from { transform: translateY(100%); opacity: 0.7; }
    to { transform: translateY(0); opacity: 1; }
}

.animate-slide-up {
    animation: slideUp 0.22s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

