179 lines
3.7 KiB
CSS
179 lines
3.7 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: 0 0% 0%;
|
|
|
|
--accent: 4 70% 45%;
|
|
--accent-foreground: 40 30% 96%;
|
|
|
|
--destructive: 4 70% 40%;
|
|
--destructive-foreground: 40 30% 96%;
|
|
|
|
--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;
|
|
scrollbar-width: none; /* Firefox */
|
|
-ms-overflow-style: none; /* IE/Edge */
|
|
}
|
|
|
|
html::-webkit-scrollbar {
|
|
display: none; /* Chrome, Safari, Opera */
|
|
}
|
|
|
|
body {
|
|
@apply bg-background text-foreground antialiased;
|
|
font-family: var(--font-body);
|
|
}
|
|
|
|
/* Ensure full-width layout (avoid template max-width/padding on #root) */
|
|
#root {
|
|
max-width: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
text-align: inherit;
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|