.grid{grid-template-columns:repeat(var(--grid-cols-mobile,1),1fr);gap:var(--grid-gap,1.5rem);display:grid}@media (min-width:768px){.grid{grid-template-columns:repeat(var(--grid-cols-tablet,2),1fr)}}@media (min-width:1024px){.grid{grid-template-columns:repeat(var(--grid-cols-desktop),minmax(0,1fr))}}
.btn{border-radius:var(--radius);cursor:pointer;color:hsl(var(--foreground));background:0 0;border:none;justify-content:center;align-items:center;padding:.75rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn.btn-lg{padding:1rem 2.5rem;font-size:1.125rem}.btn.btn-primary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn.btn-primary:hover{background-color:hsl(var(--primary)/.9);transform:translateY(-2px)}.btn.btn-primary:active{transform:translateY(0)}.btn.btn-outline{color:hsl(var(--foreground));border:2px solid hsl(var(--border));background-color:#0000}.btn.btn-outline:hover{background-color:hsl(var(--card));border-color:hsl(var(--primary))}.btn.btn-outline:active{background-color:hsl(var(--card)/.8)}.btn.btn-ghost{color:hsl(var(--foreground));background-color:#0000}.btn.btn-ghost:hover{color:hsl(var(--primary))}.btn.btn-ghost:active{background-color:hsl(var(--muted)/.5)}
