@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;700&display=swap');

/* Swiss Design Reset Overrides */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: #F1F5F9; /* Neutral 100 */
}

/* Ensure font fallback logic works for Chinese */
.font-sans {
    font-family: 'Inter', 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
}

/* Custom Scrollbar for a cleaner look */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #F1F5F9;
}
::-webkit-scrollbar-thumb {
    background: #CBD5E1;
}
::-webkit-scrollbar-thumb:hover {
    background: #94A3B8;
}

/* Utility for sharp transitions */
.transition-swiss {
    transition-property: color, background-color, border-color, transform, opacity;
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    transition-duration: 200ms;
}

/* Swiss Grid Debugger (Optional, for dev) */
.grid-debug {
    background-size: calc(100% / 12) 100%;
    background-image: linear-gradient(to right, rgba(15, 118, 110, 0.05) 1px, transparent 1px);
}

/* Ensure footer sticks to bottom if content is short */
.min-h-screen-layout {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
.flex-grow-layout {
    flex-grow: 1;
}

/* Mobile Menu Transition */
#mobile-menu {
    transition: transform 0.3s ease-in-out;
}
#mobile-menu.hidden {
    display: none;
}
