:root,
[data-bs-theme=light] {
 /* Darker, higher-contrast base text tokens */
 --bs-body-color: #4a4a4a; /* was #888 */
 --bs-body-color-rgb:74,74,74; /* was136,136,136 */
 --bs-heading-color: #333; /* was #5a5a5a */
 --bs-secondary-color: rgba(85,85,85,0.85); /* was rgba(136,136,136,0.75) */
 --bs-secondary-color-rgb:85,85,85; /* was136,136,136 */
 --bs-tertiary-color: rgba(100,100,100,0.6); /* was rgba(136,136,136,0.5) */
 --bs-tertiary-color-rgb:100,100,100; /* was136,136,136 */
 --bs-highlight-color: #444; /* was #888 */
 --bs-light-text-emphasis: #3a3a3a; /* was #5a5a5a */
 --bs-dark-text-emphasis: #3a3a3a; /* was #5a5a5a */
}

/* Improve helper text and placeholders via variable usage */
.form-text { color: var(--bs-secondary-color); }
.form-control::placeholder { color: var(--bs-secondary-color); opacity:1; }
.form-control::-moz-placeholder { color: var(--bs-secondary-color); opacity:1; }

/* Floating labels – strengthen default and disabled label contrast */
.form-floating > label { color: rgba(var(--bs-body-color-rgb),0.8); }
.form-floating > :disabled ~ label { color: #555; }

/* Component-specific greys that don’t only come from variables */
.blockquote-footer { color: #4a4a4a; }
.table-light { --bs-table-color: #4a4a4a; }
.alert-light, .alert-light a:not(.btn), .alert-light .alert-link { color: #4a4a4a; }
.badge.bg-light { color: #333; }
.popover-header { color: #333; }
.btn-link.disabled:hover { color: #666; }

/* Dropdown header in light menus */
.dropdown-menu { --bs-dropdown-header-color: #4a4a4a; }
