/*
 * ENFC "Rolex" theme - deep green + gold, sharp rectangular edges throughout.
 * Loaded once from header.php, so every page that includes header.php picks
 * it up automatically. Tailwind's CDN script is loaded first on every page
 * and generates plain-specificity utility classes (bg-emerald-500, rounded-xl,
 * etc.) from each page's own markup, so this file overrides those utility
 * classes directly by name - that's what makes a single edit here reskin the
 * whole site without touching every page.
 */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Jost:wght@400;500;600&display=swap');

:root {
    --rolex-green: #0c5c3f;
    --rolex-green-deep: #073023;
    --rolex-ink: #04120c;
    --rolex-gold: #cda349;
    --rolex-gold-bright: #e6c874;
    --rolex-gold-dim: #8a6f36;
    --rolex-cream: #f2ead6;
    --panel: #0c1f17;
    --panel-alt: #0f2a1e;
}

/* ---------- Sharp edges everywhere: no rounded corners, no curves ---------- */
*, *::before, *::after { border-radius: 0 !important; }

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    font-family: 'Jost', system-ui, -apple-system, sans-serif;
    background:
        linear-gradient(180deg, rgba(205, 163, 73, 0.06) 0%, transparent 12%),
        linear-gradient(150deg, var(--rolex-ink) 0%, var(--rolex-green-deep) 55%, var(--rolex-green) 100%) !important;
    color: var(--rolex-cream) !important;
    min-height: 100vh;
    letter-spacing: 0.015em;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Cormorant Garamond', 'Jost', serif;
    color: var(--rolex-gold-bright) !important;
    letter-spacing: 0.04em;
    font-weight: 600;
}

a { color: var(--rolex-gold-bright); }
a:hover { color: var(--rolex-cream); }

/* ---------- Legacy "linkedin"-named palette used across older pages ---------- */
.bg-linkedin { background: linear-gradient(135deg, var(--rolex-green-deep), var(--rolex-green)) !important; color: var(--rolex-ink) !important; }
.bg-linkedin-dark { background-color: var(--rolex-green-deep) !important; color: var(--rolex-cream) !important; }
.text-linkedin { color: var(--rolex-gold-bright) !important; }
.text-linkedin-dark { color: var(--rolex-cream) !important; }
.border-linkedin, .border-linkedin-dark { border-color: var(--rolex-gold-dim) !important; }

/* ---------- Slate / gray surfaces -> deep green panels ---------- */
.bg-slate-950, .bg-slate-900, .bg-gray-100, .bg-gray-50 { background-color: var(--panel) !important; }
.bg-slate-800 { background-color: var(--panel-alt) !important; }
.bg-white { background-color: var(--panel) !important; color: var(--rolex-cream) !important; }

.border-slate-800, .border-slate-700, .border-slate-600, .border-gray-300, .border-gray-200 {
    border-color: rgba(205, 163, 73, 0.28) !important;
}

.text-slate-100, .text-slate-200, .text-slate-300, .text-slate-900, .text-slate-950,
.text-gray-800, .text-gray-700 {
    color: var(--rolex-cream) !important;
}
.text-slate-400, .text-slate-500 { color: rgba(242, 234, 214, 0.65) !important; }
.muted { color: rgba(242, 234, 214, 0.65) !important; }

/* ---------- Emerald / green accents -> gold ---------- */
.bg-emerald-500, .bg-emerald-400, .bg-green-100 { background-color: var(--rolex-gold) !important; }
.text-emerald-400, .text-emerald-300, .text-emerald-700, .text-green-800 { color: var(--rolex-gold-bright) !important; }
.border-emerald-400 { border-color: var(--rolex-gold) !important; }
.focus\:ring-emerald-400:focus { --tw-ring-color: var(--rolex-gold) !important; }
.hover\:bg-emerald-400:hover, .hover\:border-emerald-300:hover, .hover\:border-emerald-500:hover { background-color: var(--rolex-gold-bright) !important; }
.hover\:text-emerald-300:hover { color: var(--rolex-cream) !important; }

/* ---------- Errors stay legible, but on-palette ---------- */
.text-red-400, .text-red-500, .text-red-700, .bg-red-100 { color: #e08a6e !important; }
.bg-red-100 { background-color: rgba(224, 138, 110, 0.12) !important; }

/* ---------- Buttons ---------- */
button, .btn-primary {
    font-family: 'Jost', sans-serif;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 0.85rem;
    background: linear-gradient(135deg, var(--rolex-gold-bright), var(--rolex-gold-dim)) !important;
    color: var(--rolex-ink) !important;
    border: 1px solid var(--rolex-gold-dim) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
    transition: transform 120ms ease, box-shadow 120ms ease, opacity 120ms ease;
}
button:hover, .btn-primary:hover { transform: translateY(-1px); box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4); }
button:active, .btn-primary:active { transform: translateY(0); }
button:disabled, .btn-primary:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }

.btn-secondary {
    font-family: 'Jost', sans-serif;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 0.85rem;
    background: transparent !important;
    color: var(--rolex-gold-bright) !important;
    border: 1px solid var(--rolex-gold-dim) !important;
}
.btn-secondary:hover { border-color: var(--rolex-gold-bright) !important; background: rgba(205, 163, 73, 0.08) !important; }

/* ---------- Panels / cards ---------- */
.panel, .card-glass {
    background: var(--panel) !important;
    border: 1px solid rgba(205, 163, 73, 0.22) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
}

/* ---------- Nav / footer ---------- */
header.lux-nav {
    background: rgba(4, 18, 12, 0.92) !important;
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(205, 163, 73, 0.25) !important;
}
footer.lux-footer {
    background: var(--rolex-green-deep) !important;
    border-top: 1px solid rgba(205, 163, 73, 0.25) !important;
}
footer.lux-footer a { color: var(--rolex-gold-bright) !important; }
footer.lux-footer a:hover { color: var(--rolex-cream) !important; }

/* ---------- Form fields ---------- */
input, select, textarea, .input {
    font-family: 'Jost', sans-serif;
    background: rgba(4, 18, 12, 0.7) !important;
    border: 1px solid rgba(205, 163, 73, 0.35) !important;
    color: var(--rolex-cream) !important;
}
input:focus, select:focus, textarea:focus, .input:focus {
    outline: none;
    border-color: var(--rolex-gold-bright) !important;
    box-shadow: 0 0 0 1px var(--rolex-gold-bright);
}
::placeholder { color: rgba(242, 234, 214, 0.45); }
option { background: var(--panel); color: var(--rolex-cream); }

hr { border-color: rgba(205, 163, 73, 0.25); }

/* ---------- Tables (redirects/access-log style listings) ---------- */
table { border-color: rgba(205, 163, 73, 0.2); }
th { color: var(--rolex-gold-bright) !important; font-family: 'Cormorant Garamond', serif; letter-spacing: 0.05em; }
td, th { border-color: rgba(205, 163, 73, 0.15) !important; }
tr:hover td { background: rgba(205, 163, 73, 0.05); }
