161 lines
4.1 KiB
CSS
161 lines
4.1 KiB
CSS
@import "tailwindcss";
|
|
|
|
@theme {
|
|
--font-sans: var(--font-vazir), system-ui, -apple-system, sans-serif;
|
|
--font-vazir: var(--font-vazir), sans-serif;
|
|
--font-shabnam: var(--font-vazir), sans-serif;
|
|
--font-sahel: var(--font-vazir), sans-serif;
|
|
--font-lalezar: var(--font-lalezar), cursive, sans-serif;
|
|
--font-nastaliq: "IranNastaliq", serif;
|
|
--font-iranian-sans: var(--font-vazir), sans-serif;
|
|
|
|
/* Brand Colors */
|
|
--color-canina-blue: #1E4053;
|
|
--color-canina-gold: #F1B646;
|
|
--color-canina-teal: #9BC8CC;
|
|
--color-canina-dark: #060709;
|
|
|
|
/* Core UI Medical Gray Palette */
|
|
--color-medical-gray-50: #FFFFFF; /* pure white main background */
|
|
--color-medical-gray-100: #F4F7F6; /* light warm gray for alternate sections */
|
|
--color-medical-gray-200: #E5ECE9; /* light box background / border color */
|
|
--color-medical-gray-300: #C2D5CE; /* subtle borders */
|
|
--color-medical-gray-400: #7A9B9F; /* card backgrounds / accent borders */
|
|
--color-medical-gray-500: #445D60; /* secondary text - WCAG AA > 5.2:1 contrast */
|
|
--color-medical-gray-600: #33484B; /* muted dark text */
|
|
--color-medical-gray-700: #202F32; /* deep text */
|
|
--color-medical-gray-800: #141F22; /* very dark text */
|
|
--color-medical-gray-900: #060709; /* primary font color / logo */
|
|
|
|
/* Standardized Typography Scale */
|
|
--text-3xs: 0.5rem; /* 8px - micro badges */
|
|
--text-2xs: 0.5625rem; /* 9px - super micro labels */
|
|
--text-xs-plus: 0.6875rem; /* 11px - fine print, timestamps, meta tags */
|
|
--text-sm-minus: 0.8125rem; /* 13px - compact body */
|
|
}
|
|
|
|
@layer base {
|
|
:root {
|
|
font-family: var(--font-vazir), "Vazirmatn", sans-serif !important;
|
|
}
|
|
|
|
html, body {
|
|
font-family: var(--font-vazir), "Vazirmatn", sans-serif !important;
|
|
@apply bg-medical-gray-50 text-medical-gray-900 antialiased max-w-[100vw] overflow-x-hidden;
|
|
font-feature-settings: "ss01", "ss02", "cv01", "cv11";
|
|
}
|
|
|
|
button, a {
|
|
cursor: pointer;
|
|
}
|
|
|
|
button, a, [role="button"], .cursor-pointer {
|
|
@apply cursor-pointer;
|
|
}
|
|
|
|
/* Smooth hover transitions for all interactive elements */
|
|
button, a, .group, .transition-all {
|
|
@apply transition-all duration-300;
|
|
}
|
|
|
|
/* Default mild hover effects */
|
|
button:hover, .cursor-pointer:hover {
|
|
@apply opacity-90;
|
|
}
|
|
|
|
a:hover {
|
|
@apply opacity-80;
|
|
}
|
|
}
|
|
|
|
@layer utilities {
|
|
.font-vazir {
|
|
font-family: "Vazirmatn";
|
|
}
|
|
}
|
|
|
|
/* Sonner Toasts Vazirmatn Font & Mobile Offset */
|
|
[data-sonner-toaster] {
|
|
font-family: "Vazirmatn", sans-serif !important;
|
|
}
|
|
|
|
@media (max-width: 640px) {
|
|
[data-sonner-toaster][data-y-position="top"] {
|
|
top: 76px !important;
|
|
}
|
|
}
|
|
|
|
/* Custom scrollbar for a professional look */
|
|
::-webkit-scrollbar {
|
|
width: 6px;
|
|
}
|
|
|
|
::-webkit-scrollbar-track {
|
|
background: var(--color-medical-gray-100);
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
background: var(--color-medical-gray-300);
|
|
border-radius: 3px;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb:hover {
|
|
background: var(--color-canina-blue);
|
|
}
|
|
|
|
/* Sleek horizontal scrollbar for categories */
|
|
.sleek-hscroll::-webkit-scrollbar {
|
|
height: 6px;
|
|
}
|
|
.sleek-hscroll::-webkit-scrollbar-track {
|
|
background: #f1f5f9;
|
|
border-radius: 9999px;
|
|
}
|
|
.sleek-hscroll::-webkit-scrollbar-thumb {
|
|
background: #0052cc;
|
|
border-radius: 9999px;
|
|
}
|
|
.sleek-hscroll::-webkit-scrollbar-thumb:hover {
|
|
background: #003da6;
|
|
}
|
|
|
|
/* Micro horizontal scrollbar for mobile filter rows */
|
|
.micro-hscroll {
|
|
scrollbar-width: thin;
|
|
scrollbar-color: rgba(30, 64, 83, 0.25) transparent;
|
|
}
|
|
.micro-hscroll::-webkit-scrollbar {
|
|
height: 3.5px;
|
|
}
|
|
.micro-hscroll::-webkit-scrollbar-track {
|
|
background: rgba(229, 236, 233, 0.4);
|
|
border-radius: 9999px;
|
|
margin: 0 16px;
|
|
}
|
|
.micro-hscroll::-webkit-scrollbar-thumb {
|
|
background: rgba(30, 64, 83, 0.3);
|
|
border-radius: 9999px;
|
|
}
|
|
.micro-hscroll::-webkit-scrollbar-thumb:hover {
|
|
background: var(--color-canina-blue);
|
|
}
|
|
|
|
@keyframes marquee {
|
|
0% {
|
|
transform: translateX(0%);
|
|
}
|
|
100% {
|
|
transform: translateX(50%);
|
|
}
|
|
}
|
|
|
|
.animate-marquee {
|
|
display: flex;
|
|
width: max-content;
|
|
animation: marquee 25s linear infinite;
|
|
}
|
|
|
|
.animate-marquee:hover {
|
|
animation-play-state: paused;
|
|
}
|