/* --- Global Theme Definitions --- */
:root { 
    --bg-body-color: #f3f4f6; 
    --bg-card: rgba(255, 255, 255, 0.95); 
    --bg-card-alt: rgba(249, 250, 251, 0.9);
    --border-color: #e2e8f0; 
    --text-primary: #1f2937; 
    --text-secondary: #4b5563; 
    --text-muted: #6b7280;
    --accent-primary: #2a9d8f; /* Cyan */
    --accent-hover: #e9c46a; 
}
.theme-red { --accent-primary: #d64833; --accent-hover: #2a9d8f; }
.theme-gold { --accent-primary: #e9c46a; --accent-hover: #d64833; }
.theme-blue { --bg-body-color: #f0f4ff; --bg-card: #ffffff; --bg-card-alt: #f8faff; --accent-primary: #002366; --accent-hover: #e9c46a; }
.theme-white { --bg-body-color: #f9fafb; --bg-card: #ffffff; --bg-card-alt: #f9fafb; --border-color: #e5e7eb; --text-primary: #111827; --accent-primary: #1f2937; --accent-hover: #d64833; }
.theme-dark { 
    --bg-body-color: #111827; 
    --bg-card: #1f2937; 
    --bg-card-alt: #2d3748; 
    --border-color: #374151; 
    --text-primary: #f0f0f0; 
    --text-secondary: #d1d5db; 
    --text-muted: #9ca3af;
    --accent-primary: #e9c46a; 
    --accent-hover: #d64833; 
}
.theme-black { 
    --bg-body-color: #000000; 
    --bg-card: #111111; 
    --bg-card-alt: #1f1f1f; 
    --border-color: #2f2f2f; 
    --text-primary: #ffffff; 
    --text-secondary: #a0a0a0; 
    --text-muted: #707070;
    --accent-primary: #ffffff; 
    --accent-hover: #e9c46a; 
}

/* --- Global Navigation Dropdown Fix --- */
.nav-group {
    padding-bottom: 0.75rem; /* Creates an invisible "cushion" */
    margin-bottom: -0.75rem; /* Prevents layout shift */
}
.nav-group .group-hover\\:block {
    transition: opacity 0.1s ease-in-out, visibility 0.1s ease-in-out;
}

