 :root {
     --background: 0 0% 100%;
     --foreground: 222.2 84% 4.9%;

     --card: 0 0% 100%;
     --card-foreground: 222.2 84% 4.9%;

     --popover: 0 0% 100%;
     --popover-foreground: 222.2 84% 4.9%;

     --primary: 222.2 47.4% 11.2%;
     --primary-foreground: 210 40% 98%;

     --secondary: 210 40% 96.1%;
     --secondary-foreground: 222.2 47.4% 11.2%;

     --muted: 210 40% 96.1%;
     --muted-foreground: 215.4 16.3% 46.9%;

     --accent: 210 40% 96.1%;
     --accent-foreground: 222.2 47.4% 11.2%;

     --destructive: 0 84.2% 60.2%;
     --destructive-foreground: 210 40% 98%;

     --border: 214.3 31.8% 91.4%;
     --input: 214.3 31.8% 91.4%;
     --ring: 222.2 84% 4.9%;

     --radius: .5rem;

     --sidebar-background: 0 0% 98%;
     --sidebar-foreground: 240 5.3% 26.1%;
     --sidebar-primary: 240 5.9% 10%;
     --sidebar-primary-foreground: 0 0% 98%;
     --sidebar-accent: 240 4.8% 95.9%;
     --sidebar-accent-foreground: 240 5.9% 10%;
     --sidebar-border: 220 13% 91%;
     --sidebar-ring: 217.2 91.2% 59.8%;
 }

 /* Backgrounds */
 .bg-background {
     background-color: hsl(var(--background));
 }

 .bg-card {
     background-color: hsl(var(--card));
 }

 .bg-popover {
     background-color: hsl(var(--popover));
 }

 .bg-primary {
     background-color: hsl(var(--primary));
 }

 .bg-secondary {
     background-color: hsl(var(--secondary));
 }

 .bg-muted {
     background-color: hsl(var(--muted));
 }

 .bg-accent {
     background-color: hsl(var(--accent));
 }

 .bg-destructive {
     background-color: hsl(var(--destructive));
 }

 .bg-sidebar {
     background-color: hsl(var(--sidebar-background));
 }

 .bg-sidebar-primary {
     background-color: hsl(var(--sidebar-primary));
 }

 .bg-sidebar-accent {
     background-color: hsl(var(--sidebar-accent));
 }

 /* Text colors */
 .text-foreground {
     color: hsl(var(--foreground));
 }

 .text-card-foreground {
     color: hsl(var(--card-foreground));
 }

 .text-popover-foreground {
     color: hsl(var(--popover-foreground));
 }

 .text-primary-foreground {
     color: hsl(var(--primary-foreground));
 }

 .text-secondary-foreground {
     color: hsl(var(--secondary-foreground));
 }

 .text-muted-foreground {
     color: hsl(var(--muted-foreground));
 }

 .text-accent-foreground {
     color: hsl(var(--accent-foreground));
 }

 .text-destructive-foreground {
     color: hsl(var(--destructive-foreground));
 }

 .text-sidebar-foreground {
     color: hsl(var(--sidebar-foreground));
 }

 .text-sidebar-primary-foreground {
     color: hsl(var(--sidebar-primary-foreground));
 }

 .text-sidebar-accent-foreground {
     color: hsl(var(--sidebar-accent-foreground));
 }

 /* Borders */
 .border {
     border-color: hsl(var(--border));
 }

 .border-input {
     border-color: hsl(var(--input));
 }

 .border-sidebar {
     border-color: hsl(var(--sidebar-border));
 }

 /* Ring (focus) */
 .ring {
     box-shadow: 0 0 0 2px hsl(var(--ring));
 }

 .ring-sidebar {
     box-shadow: 0 0 0 2px hsl(var(--sidebar-ring));
 }

 /* Radius */
 .rounded {
     border-radius: var(--radius);
 }

 .rounded-md {
     border-radius: calc(var(--radius) - 2px);
 }

 .rounded-lg {
     border-radius: var(--radius);
 }

 .rounded-xl {
     border-radius: calc(var(--radius) + 2px);
 }

 .container {
     width: 100% !important;
     margin-right: auto !important;
     margin-left: auto !important;
     padding-right: 2rem !important;
     padding-left: 2rem !important;
 }

 .swiper {
     width: 100%;
     height: 100%;
 }

 .swiper-slide {
     text-align: center;
     font-size: 18px;
     background: #444;
     display: flex;
     justify-content: center;
     align-items: center;
 }

 .swiper-slide img {
     display: block;
     width: 100%;
     height: 100%;
     object-fit: cover;
 }