:root {
    --primary-color: #2c3e50; 
    --accent-color: #2980b9; 
    --bg-light: #f8f9fa;
}

/* --- Base --- */
html { font-size: 100%; }
body { font-family: 'Segoe UI', system-ui, -apple-system, sans-serif; color: #333; }

/* --- Protection --- */
body.content-protected { user-select: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; }
body.content-protected input, 
body.content-protected textarea { user-select: text; -webkit-user-select: text; }
body.content-protected img { -webkit-user-drag: none; user-drag: none; }

/* --- Bootstrap Overrides (The 5%) --- */
.navbar { border-bottom: 1px solid #e0e0e0; }
.nav-link:hover, .nav-link.active { color: var(--accent-color) !important; }

/* Buttons */
.btn-primary { background-color: var(--accent-color); border-color: var(--accent-color); }
.btn-primary:hover { background-color: #2471a3; }

/* Feature Components */
.industry-card { transition: transform 0.2s; border-left: 4px solid var(--accent-color); }
.industry-card:hover { transform: translateY(-5px); }

/* Tabbed UI */
.feature-tab { cursor: pointer; border-left: 3px solid transparent; }
.feature-tab.active { border-left: 3px solid var(--accent-color); background-color: #f8f9fa; }

/* Footer Helpers (Not in Bootstrap) */
.hover-text-white:hover { color: #fff !important; }
.hover-opacity-100:hover { opacity: 1 !important; }

/* Docs Sidebar */
.docs-sidebar { position: sticky; top: 100px; border-right: 1px solid #eee; }
.docs-nav-link { display: block; width: 100%; padding: 8px 15px; color: #666; text-decoration: none; transition: all 0.2s; }
.docs-nav-link:hover { background-color: #f0f4f8; color: var(--accent-color); }
.docs-nav-link.active { background-color: #e3f2fd; color: var(--accent-color); font-weight: 600; }

/* --- Accessibility Widget --- */
.a11y-widget { position: fixed; bottom: 30px; right: 30px; z-index: 10000; }
.a11y-btn { width: 55px; height: 55px; border-radius: 50%; background: #0056b3; color: white; border: 2px solid white; box-shadow: 0 4px 15px rgba(0,0,0,0.3); font-size: 24px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: transform 0.2s; }
.a11y-btn:hover { transform: scale(1.1); background: #004494; }
.a11y-menu { position: absolute; bottom: 75px; right: 0; width: 280px; background: white; border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,0.2); display: none; border: 1px solid rgba(0,0,0,0.1); animation: slideUp 0.3s ease-out; }
.a11y-menu:not(.hidden) { display: block; }
@keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.a11y-header { background: #f8f9fa; padding: 15px; border-bottom: 1px solid #eee; display: flex; justify-content: space-between; align-items: center; }
.a11y-body { padding: 15px; }
.btn-close-custom { background: none; border: none; font-size: 20px; line-height: 1; color: #666; }

/* --- Cookie Banner --- */
.cookie-banner { position: fixed; bottom: 0; left: 0; width: 100%; background: #2c3e50; color: white; padding: 15px 0; z-index: 9999; box-shadow: 0 -2px 10px rgba(0,0,0,0.1); }

/* --- High Contrast (Nuclear) --- */
body.high-contrast { background-color: #000 !important; color: #fff !important; }
body.high-contrast * { background-color: #000 !important; color: #fff !important; border-color: #fff !important; }
body.high-contrast a { color: #ff0 !important; text-decoration: underline !important; }
body.high-contrast .btn { border: 2px solid #ff0 !important; color: #ff0 !important; font-weight: bold !important; }

/* --- Highlight Links --- */
body.highlight-links a { background-color: #ff0 !important; color: #000 !important; text-decoration: underline !important; }
