ezsepa-website/styles.css
2025-11-02 20:30:44 +01:00

184 lines
3.4 KiB
CSS

@tailwind base;
@tailwind components;
@tailwind utilities;
/* Custom CSS Variables */
:root {
--color-brand-primary: #FF7A59;
--color-brand-hover: #FF5733;
--color-brand-blue: #2563EB;
--color-brand-navy: #1E293B;
--color-success: #10B981;
--color-warning: #F59E0B;
--color-error: #EF4444;
--spacing-xs: 0.25rem;
--spacing-sm: 0.5rem;
--spacing-md: 1rem;
--spacing-lg: 1.5rem;
--spacing-xl: 2rem;
--spacing-2xl: 3rem;
--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1);
}
/* Base Styles */
@layer base {
html {
scroll-behavior: smooth;
}
body {
@apply font-sans;
}
}
/* Custom Component Styles */
@layer components {
/* Button variants */
.btn-primary {
@apply inline-flex items-center justify-center px-6 py-3 bg-primary text-white font-semibold rounded-lg hover:bg-brand-orange-dark transition-all shadow-md hover:shadow-lg transform hover:-translate-y-0.5;
}
.btn-secondary {
@apply inline-flex items-center justify-center px-6 py-3 bg-white text-secondary font-semibold rounded-lg border-2 border-secondary hover:bg-blue-50 transition-colors;
}
/* Card styles */
.card {
@apply bg-white rounded-xl p-6 shadow-sm border border-gray-100 hover:shadow-md transition-shadow;
}
/* Section spacing */
.section {
@apply py-20;
}
.section-title {
@apply text-3xl md:text-4xl font-bold text-gray-900 mb-4;
}
.section-subtitle {
@apply text-xl text-gray-600 max-w-3xl mx-auto;
}
}
/* Custom Utilities */
@layer utilities {
/* Animation utilities */
.animate-delay-100 {
animation-delay: 100ms;
}
.animate-delay-200 {
animation-delay: 200ms;
}
.animate-delay-300 {
animation-delay: 300ms;
}
/* Custom focus styles */
.focus-brand {
@apply focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2;
}
/* Gradient text */
.gradient-text {
@apply bg-clip-text text-transparent bg-gradient-to-r from-primary to-secondary;
}
}
/* Custom Scrollbar (webkit browsers) */
::-webkit-scrollbar {
width: 10px;
}
::-webkit-scrollbar-track {
@apply bg-gray-100;
}
::-webkit-scrollbar-thumb {
@apply bg-primary rounded-full;
}
::-webkit-scrollbar-thumb:hover {
@apply bg-brand-orange-dark;
}
/* Smooth transitions for page load */
body {
animation: fadeIn 0.3s ease-in;
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
/* Print styles */
@media print {
nav,
footer,
.no-print {
display: none !important;
}
body {
@apply text-black bg-white;
}
}
/* Accessibility: Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
}
/* High contrast mode support */
@media (prefers-contrast: high) {
.card {
@apply border-2 border-gray-900;
}
button,
a {
@apply underline;
}
}
/* Dark mode support (optional - disabled by default) */
/* Uncomment to enable dark mode */
/*
@media (prefers-color-scheme: dark) {
body {
@apply bg-gray-900 text-gray-100;
}
.card {
@apply bg-gray-800 border-gray-700;
}
.section-title {
@apply text-white;
}
}
*/