@import “tailwindcss”;
@import “tw-animate-css”;
@custom-variant dark (&:is(.dark *));
@theme inline {
–radius-sm: calc(var(–radius) – 4px);
–radius-md: calc(var(–radius) – 2px);
–radius-lg: var(–radius);
–radius-xl: calc(var(–radius) + 4px);
–color-background: var(–background);
–color-foreground: var(–foreground);
–color-card: var(–card);
–color-card-foreground: var(–card-foreground);
–color-popover: var(–popover);
–color-popover-foreground: var(–popover-foreground);
–color-primary: var(–primary);
–color-primary-foreground: var(–primary-foreground);
–color-secondary: var(–secondary);
–color-secondary-foreground: var(–secondary-foreground);
–color-muted: var(–muted);
–color-muted-foreground: var(–muted-foreground);
–color-accent: var(–accent);
–color-accent-foreground: var(–accent-foreground);
–color-destructive: var(–destructive);
–color-destructive-foreground: var(–destructive-foreground);
–color-border: var(–border);
–color-input: var(–input);
–color-ring: var(–ring);
–color-chart-1: var(–chart-1);
–color-chart-2: var(–chart-2);
–color-chart-3: var(–chart-3);
–color-chart-4: var(–chart-4);
–color-chart-5: var(–chart-5);
–color-sidebar: var(–sidebar);
–color-sidebar-foreground: var(–sidebar-foreground);
–color-sidebar-primary: var(–sidebar-primary);
–color-sidebar-primary-foreground: var(–sidebar-primary-foreground);
–color-sidebar-accent: var(–sidebar-accent);
–color-sidebar-accent-foreground: var(–sidebar-accent-foreground);
–color-sidebar-border: var(–sidebar-border);
–color-sidebar-ring: var(–sidebar-ring);
}
:root {
/* Editorial/Storytelling Design – Terracota & Teal */
–primary: #D97706; /* Terracota – Primary action */
–primary-foreground: #FFFAF0; /* Creme – Text on primary */
–sidebar-primary: #0D9488; /* Teal – Secondary accent */
–sidebar-primary-foreground: #FFFAF0;
–chart-1: #D97706;
–chart-2: #0D9488;
–chart-3: #B45309;
–chart-4: #92400E;
–chart-5: #78350F;
–radius: 0.5rem;
–background: #FFFAF0; /* Creme background */
–foreground: #292524; /* Dark gray text */
–card: #FFFFFF; /* White cards */
–card-foreground: #292524;
–popover: #FFFFFF;
–popover-foreground: #292524;
–secondary: #0D9488; /* Teal */
–secondary-foreground: #FFFAF0;
–muted: #F5F5F4; /* Light gray */
–muted-foreground: #78716C;
–accent: #D97706; /* Terracota accent */
–accent-foreground: #FFFAF0;
–destructive: #DC2626;
–destructive-foreground: #FFFAF0;
–border: #E7E5E4; /* Light border */
–input: #FFFFFF;
–ring: #D97706;
–sidebar: #FFFAF0;
–sidebar-foreground: #292524;
–sidebar-accent: #0D9488;
–sidebar-accent-foreground: #FFFAF0;
–sidebar-border: #E7E5E4;
–sidebar-ring: #D97706;
}
.dark {
/* Dark mode not used for this presell – light theme only */
–background: #FFFAF0;
–foreground: #292524;
–card: #FFFFFF;
–card-foreground: #292524;
–popover: #FFFFFF;
–popover-foreground: #292524;
–secondary: #0D9488;
–secondary-foreground: #FFFAF0;
–muted: #F5F5F4;
–muted-foreground: #78716C;
–accent: #D97706;
–accent-foreground: #FFFAF0;
–destructive: #DC2626;
–destructive-foreground: #FFFAF0;
–border: #E7E5E4;
–input: #FFFFFF;
–ring: #D97706;
–sidebar: #FFFAF0;
–sidebar-foreground: #292524;
–sidebar-accent: #0D9488;
–sidebar-accent-foreground: #FFFAF0;
–sidebar-border: #E7E5E4;
–sidebar-ring: #D97706;
}
@layer base {
* {
@apply border-border outline-ring/50;
}
body {
@apply bg-background text-foreground;
font-family: ‘Lora’, serif;
}
h1, h2, h3, h4, h5, h6 {
@apply font-bold;
font-family: ‘Playfair Display’, serif;
}
h1 {
@apply text-5xl md:text-6xl;
}
h2 {
@apply text-4xl md:text-5xl;
}
h3 {
@apply text-2xl md:text-3xl;
}
p {
font-family: ‘Lora’, serif;
@apply text-lg leading-relaxed;
}
button:not(:disabled),
[role=”button”]:not([aria-disabled=”true”]),
[type=”button”]:not(:disabled),
[type=”submit”]:not(:disabled),
[type=”reset”]:not(:disabled),
a[href],
select:not(:disabled),
input[type=”checkbox”]:not(:disabled),
input[type=”radio”]:not(:disabled) {
@apply cursor-pointer;
}
}
@layer components {
/**
* Custom container utility that centers content and adds responsive padding.
*
* This overrides Tailwind’s default container behavior to:
* – Auto-center content (mx-auto)
* – Add responsive horizontal padding
* – Set max-width for large screens
*
* Usage:
…
*
* For custom widths, use max-w-* utilities directly:
* …
*/
.container {
width: 100%;
margin-left: auto;
margin-right: auto;
padding-left: 1rem; /* 16px – mobile padding */
padding-right: 1rem;
}
.flex {
min-height: 0;
min-width: 0;
}
@media (min-width: 640px) {
.container {
padding-left: 1.5rem; /* 24px – tablet padding */
padding-right: 1.5rem;
}
}
@media (min-width: 1024px) {
.container {
padding-left: 2rem; /* 32px – desktop padding */
padding-right: 2rem;
max-width: 1280px; /* Standard content width */
}
}
}