Files
alva/src/index.css
T
gpt-engineer-app[bot] 1ca7921e87 Changes
2026-01-27 20:37:41 +00:00

165 lines
3.4 KiB
CSS

@tailwind base;
@tailwind components;
@tailwind utilities;
/* Lennart Svenssons Konditorivaror - Traditionell Svensk Konditoristil */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400&display=swap');
@layer base {
:root {
--background: 38 25% 96%;
--foreground: 25 30% 12%;
--card: 40 30% 94%;
--card-foreground: 25 30% 12%;
--popover: 40 30% 94%;
--popover-foreground: 25 30% 12%;
--primary: 4 70% 45%;
--primary-foreground: 40 30% 96%;
--secondary: 35 20% 88%;
--secondary-foreground: 25 30% 18%;
--muted: 35 15% 85%;
--muted-foreground: 25 15% 45%;
--accent: 4 70% 45%;
--accent-foreground: 40 30% 96%;
--destructive: 0 84.2% 60.2%;
--destructive-foreground: 210 40% 98%;
--border: 30 20% 80%;
--input: 30 20% 80%;
--ring: 4 70% 45%;
--radius: 0.25rem;
/* Custom tokens */
--gradient-warm: linear-gradient(180deg, hsl(40 30% 94%) 0%, hsl(35 25% 90%) 100%);
--shadow-classic: 0 4px 20px -4px hsl(25 30% 12% / 0.15);
--shadow-card: 0 2px 8px hsl(25 30% 12% / 0.08);
--font-display: 'Cormorant Garamond', serif;
--font-body: 'Crimson Text', serif;
}
.dark {
--background: 25 20% 8%;
--foreground: 38 25% 92%;
--card: 25 18% 12%;
--card-foreground: 38 25% 92%;
--primary: 30 50% 55%;
--primary-foreground: 25 20% 8%;
--secondary: 25 15% 18%;
--secondary-foreground: 38 25% 92%;
--muted: 25 12% 22%;
--muted-foreground: 30 15% 60%;
--border: 25 15% 25%;
}
}
@layer base {
* {
@apply border-border;
}
html {
scroll-behavior: smooth;
}
body {
@apply bg-background text-foreground antialiased;
font-family: var(--font-body);
}
h1, h2, h3, h4, h5, h6 {
font-family: var(--font-display);
}
}
@layer components {
.hero-gradient {
background: var(--gradient-warm);
}
.text-accent-warm {
color: hsl(var(--accent));
}
.card-classic {
box-shadow: var(--shadow-card);
border: 1px solid hsl(var(--border));
transition: all 0.3s ease;
}
.card-classic:hover {
box-shadow: var(--shadow-classic);
transform: translateY(-4px);
}
.btn-classic {
@apply bg-primary text-primary-foreground font-semibold transition-all duration-300;
border: 2px solid hsl(var(--primary));
}
.btn-classic:hover {
@apply bg-transparent;
color: hsl(var(--primary));
}
.btn-outline-classic {
@apply bg-transparent font-semibold transition-all duration-300;
color: hsl(var(--primary));
border: 2px solid hsl(var(--primary));
}
.btn-outline-classic:hover {
@apply bg-primary text-primary-foreground;
}
.divider-ornament {
display: flex;
align-items: center;
gap: 1rem;
}
.divider-ornament::before,
.divider-ornament::after {
content: '';
flex: 1;
height: 1px;
background: linear-gradient(90deg, transparent, hsl(var(--border)), transparent);
}
.ornament {
color: hsl(var(--primary));
font-family: var(--font-display);
font-size: 1.5rem;
}
}
@layer utilities {
.animate-fade-up {
animation: fadeUp 0.8s ease-out forwards;
}
@keyframes fadeUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.text-balance {
text-wrap: balance;
}
}