diff --git a/src/app/globals.css b/src/app/globals.css index e62f7b1..bfacbed 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -4,99 +4,71 @@ @layer base { :root { - --font-inter: 'Inter', system-ui, sans-serif; - } - - * { - @apply border-slate-200; + --color-primary: #002395; + --color-secondary: #ED2939; + --color-accent: #C9A84C; + --color-bg: #F8F5F0; + --color-text: #1a1a2e; + --color-header-bg: #002395; + --color-header-text: #FFFFFF; + --color-footer-bg: #001a6e; + --color-footer-text: #FFFFFF; + --header-position: sticky; } html { - @apply scroll-smooth antialiased; + scroll-behavior: smooth; } body { - @apply bg-surface text-ink font-sans; + @apply bg-fr-cream text-gray-900 font-sans; + color: var(--color-text); + background-color: var(--color-bg); } - /* Focus ring — consistent, accessible */ - :focus-visible { - @apply outline-2 outline-offset-2 outline-brand-500 rounded-sm; + h1, h2, h3, h4, h5, h6 { + @apply font-serif; } - /* Scrollbar */ - ::-webkit-scrollbar { @apply w-2; } - ::-webkit-scrollbar-track { @apply bg-surface-subtle; } - ::-webkit-scrollbar-thumb { @apply bg-slate-300 rounded-full; } - ::-webkit-scrollbar-thumb:hover { @apply bg-slate-400; } + *:focus-visible { + @apply outline-2 outline-offset-2 outline-fr-gold; + } } @layer components { - /* ── Buttons ─────────────────────────────────────── */ - .btn { - @apply inline-flex items-center justify-center gap-2 - font-medium rounded-xl transition-all duration-200 - focus-visible:outline focus-visible:outline-2 - focus-visible:outline-offset-2 disabled:opacity-50 - disabled:pointer-events-none select-none; + .skip-link { + @apply absolute -top-full left-4 z-[9999] px-4 py-2 bg-fr-gold text-white font-semibold rounded-b-md transition-all duration-200; + } + .skip-link:focus { + @apply top-0; + } + + .tricolor-bar { + height: 4px; + background: linear-gradient(to right, #002395 33.33%, #FFFFFF 33.33%, #FFFFFF 66.66%, #ED2939 66.66%); } .btn-primary { - @apply btn px-6 py-3 text-sm - bg-brand-600 text-white shadow-glow-sm - hover:bg-brand-700 hover:shadow-glow - active:scale-[0.98] focus-visible:outline-brand-600; + @apply inline-flex items-center gap-2 px-6 py-3 bg-fr-blue text-white font-semibold rounded-md hover:bg-fr-navy transition-colors duration-200 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-fr-gold; } .btn-secondary { - @apply btn px-6 py-3 text-sm - bg-white text-ink border border-slate-200 - shadow-card hover:bg-surface-subtle hover:border-slate-300 - active:scale-[0.98] focus-visible:outline-brand-500; + @apply inline-flex items-center gap-2 px-6 py-3 bg-fr-red text-white font-semibold rounded-md hover:bg-red-700 transition-colors duration-200 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-fr-gold; } - .btn-ghost { - @apply btn px-4 py-2 text-sm text-ink-muted - hover:bg-surface-subtle hover:text-ink - active:scale-[0.98] focus-visible:outline-brand-500; + .btn-outline { + @apply inline-flex items-center gap-2 px-6 py-3 border-2 border-fr-blue text-fr-blue font-semibold rounded-md hover:bg-fr-blue hover:text-white transition-colors duration-200 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-fr-gold; + } + + .section-title { + @apply text-3xl md:text-4xl font-serif font-bold text-fr-navy mb-4; + } + + .section-divider { + @apply w-16 h-1 bg-fr-gold mb-6; } - /* ── Cards ───────────────────────────────────────── */ .card { - @apply bg-white rounded-2xl border border-slate-100 - shadow-card transition-all duration-300; - } - - .card-hover { - @apply card hover:shadow-card-hover hover:-translate-y-1; - } - - /* ── Prose / body text ───────────────────────────── */ - .prose-cms { - @apply prose prose-slate max-w-none - prose-headings:font-display prose-headings:text-ink - prose-a:text-brand-600 prose-a:no-underline - hover:prose-a:underline - prose-code:bg-surface-subtle prose-code:rounded - prose-code:px-1 prose-code:py-0.5; - } - - /* ── Section ─────────────────────────────────────── */ - .section { - @apply w-full px-4 sm:px-6 lg:px-8; - } - - .container-cms { - @apply max-w-6xl mx-auto; + @apply bg-white rounded-lg shadow-md overflow-hidden border border-gray-100 hover:shadow-lg transition-shadow duration-300; } } - -@layer utilities { - .text-balance { text-wrap: balance; } - .text-pretty { text-wrap: pretty; } - .animation-delay-100 { animation-delay: 100ms; } - .animation-delay-200 { animation-delay: 200ms; } - .animation-delay-300 { animation-delay: 300ms; } - .animation-delay-400 { animation-delay: 400ms; } - .animation-delay-500 { animation-delay: 500ms; } -}