/* ===========================================
   HP Dark Mode — Tmavý režim pro homepage
   =========================================== */

body.hp-dark-mode {
    --bg-body: #0f1117;
    --bg-white: #1a1d23;
    --bg-light: #21252d;
    --text-dark: #e5e7eb;
    --text-muted: #9ca3af;
    --text-light: #6b7280;
    --border-color: #2d3139;
    --primary-light: rgba(37, 99, 235, 0.15);
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.2);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.3);
    --shadow-lg: 0 12px 32px rgba(0,0,0,0.4);
    color: #e5e7eb;
    background: #0f1117;
}

/* Navigace */
body.hp-dark-mode .public-nav {
    background: rgba(15, 17, 23, 0.95);
    border-bottom-color: #2d3139;
}

body.hp-dark-mode .nav-brand-main {
    color: #fff !important;
}

body.hp-dark-mode .nav-brand-sub {
    color: #94a3b8 !important;
}

/* Nav user dropdown — dark mode */
body.hp-dark-mode .nav-user-btn {
    color: #e5e7eb;
    border-color: #2d3139;
}

body.hp-dark-mode .nav-user-btn:hover {
    border-color: var(--primary);
    color: var(--primary);
}

body.hp-dark-mode .nav-user-menu {
    background: #1a1d23;
    border-color: #2d3139;
}

/* Header sekce (avatar + jméno + email + role badge). V light módu má světle
   modrý gradient — v dark módu potřebujeme tmavý gradient + světlý text. */
body.hp-dark-mode .nav-user-info {
    background: linear-gradient(135deg, #21252d 0%, #1a1d23 100%);
    border-bottom: 1px solid #2d3139;
}

body.hp-dark-mode .nav-user-info__name {
    color: #e5e7eb;
}

body.hp-dark-mode .nav-user-info__email {
    color: #9ca3af;
}

/* Role badge variants v dark módu — tlumené pozadí (alpha-low) + světlý text. */
body.hp-dark-mode .nav-user-info__role--admin {
    background: rgba(220, 38, 38, .18);
    color: #fca5a5;
}
body.hp-dark-mode .nav-user-info__role--hr {
    background: rgba(59, 130, 246, .18);
    color: #93c5fd;
}
body.hp-dark-mode .nav-user-info__role--portfolio,
body.hp-dark-mode .nav-user-info__role--user,
body.hp-dark-mode .nav-user-info__role--registered {
    background: rgba(139, 92, 246, .22);
    color: #c4b5fd;
}

body.hp-dark-mode .nav-user-menu__divider {
    background: #2d3139;
}

body.hp-dark-mode .nav-user-menu__section-label {
    color: #6b7280;
}

body.hp-dark-mode .nav-user-menu__item {
    color: #e5e7eb;
}

body.hp-dark-mode .nav-user-menu__item:hover {
    background: #21252d;
    color: var(--primary);
}

body.hp-dark-mode .nav-user-menu__item--logout {
    color: #f87171;
}
body.hp-dark-mode .nav-user-menu__item--logout:hover {
    background: rgba(220, 38, 38, .15);
    color: #fca5a5;
}

body.hp-dark-mode .nav-brand-sub {
    color: #9ca3af;
}

body.hp-dark-mode .nav-links a {
    color: #9ca3af;
}

body.hp-dark-mode .nav-links a:hover {
    color: #60a5fa;
    background: rgba(37, 99, 235, 0.1);
}

body.hp-dark-mode .btn-theme:hover {
    color: #fbbf24;
    border-color: #fbbf24;
}

/* Tlačítka v Hero (V10) */
body.hp-dark-mode .btn-v10--outline {
    background: rgba(255, 255, 255, 0.1);
    border-color: #60a5fa;
    color: #60a5fa;
}

body.hp-dark-mode .btn-v10--outline:hover {
    background: #60a5fa;
    color: #fff;
}

/* Hero */
body.hp-dark-mode .hero-section::before {
    background: radial-gradient(circle, rgba(37, 99, 235, 0.12) 0%, transparent 70%);
}

body.hp-dark-mode .hero-status {
    background: rgba(16, 185, 129, 0.15);
    color: #34d399;
}

body.hp-dark-mode .hero-profile-img {
    border-color: #2d3139;
}

/* Karty a sekce */
body.hp-dark-mode .about-section-dark {
    background-color: #0f1117; /* Zpět na černou v dark modu */
}

body.hp-dark-mode .about-card,
body.hp-dark-mode .feature-card,
body.hp-dark-mode .edu-item,
body.hp-dark-mode .match-step {
    background: #1a1d23;
    border-color: #4a5568;
}

body.hp-dark-mode .about-card h4 { color: #f1f5f9; }
body.hp-dark-mode .about-card p  { color: #94a3b8; }

body.hp-dark-mode .about-card:hover {
    border-color: #3b82f6;
    box-shadow: 0 10px 32px rgba(59, 130, 246, 0.18);
}

/* Kontaktní dark mode — řeší hp-sections.css */

body.hp-dark-mode .about-card:hover,
body.hp-dark-mode .feature-card:hover,
body.hp-dark-mode .match-step:hover {
    border-color: rgba(96, 165, 250, 0.3);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
}

/* Zkušenosti — sekce má vlastní tmavý gradient, dark mode řeší hp-sections.css */

/* AI Chat */
body.hp-dark-mode .ai-chat-widget {
    background: #1a1d23;
    border-color: #2d3139;
}

body.hp-dark-mode .ai-msg--bot {
    background: #21252d;
    border-color: #2d3139;
    color: #e5e7eb;
}

body.hp-dark-mode .ai-chat-input {
    border-top-color: #2d3139;
    background: #21252d;
}

body.hp-dark-mode .ai-chat-input input {
    color: #e5e7eb;
}

/* Upload zóna */
body.hp-dark-mode .upload-zone {
    border-color: #4a5568;
    background: rgba(255, 255, 255, 0.03);
}

body.hp-dark-mode .upload-zone:hover,
body.hp-dark-mode .upload-zone.dragover {
    border-color: #60a5fa;
    background: rgba(37, 99, 235, 0.1);
}

body.hp-dark-mode .upload-zone i {
    color: #94a3b8;
}

body.hp-dark-mode .upload-zone p {
    color: #e2e8f0;
}

body.hp-dark-mode .upload-zone p.text-muted,
body.hp-dark-mode .upload-zone .small {
    color: #64748b !important;
}

/* Upload divider */
body.hp-dark-mode .upload-divider {
    color: #4a5568;
}

body.hp-dark-mode .upload-divider::before,
body.hp-dark-mode .upload-divider::after {
    background: #374151;
}

/* Upload URL input */
body.hp-dark-mode .upload-url-input .input-group-text {
    background: #1e2533;
    border-color: #4a5568;
    color: #94a3b8;
}

body.hp-dark-mode .upload-url-input .form-control {
    background: #1a1d23;
    border-color: #4a5568;
    color: #e2e8f0;
}

body.hp-dark-mode .upload-url-input .form-control::placeholder {
    color: #64748b;
}

body.hp-dark-mode .upload-url-input .form-control:focus {
    background: #1a1d23;
    border-color: #60a5fa;
    color: #f1f5f9;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.15);
}

/* Hero upload zone — nadpisy a texty na tmavém hero pozadí */
body.hp-dark-mode .hero-upload-zone .section-title,
body.hp-dark-mode .hero-upload-zone h2,
body.hp-dark-mode .hero-upload-zone h3 {
    color: #f1f5f9;
}

body.hp-dark-mode .hero-upload-zone .text-muted {
    color: #94a3b8 !important;
}

body.hp-dark-mode .hero-upload-zone .btn-outline-secondary {
    color: #94a3b8;
    border-color: #4a5568;
}

body.hp-dark-mode .hero-upload-zone .btn-outline-secondary:hover {
    background: #374151;
    color: #e2e8f0;
    border-color: #64748b;
}

/* Matchmaking sekce — nadpisy a popisky */
body.hp-dark-mode .matchmaking-section .section-title,
body.hp-dark-mode .matchmaking-section h2,
body.hp-dark-mode .matchmaking-section h3 {
    color: #f1f5f9;
}

body.hp-dark-mode .matchmaking-section .text-muted {
    color: #94a3b8 !important;
}

body.hp-dark-mode .matchmaking-section .match-step__title {
    color: #e2e8f0;
}

body.hp-dark-mode .matchmaking-section .match-step p {
    color: #94a3b8;
}

/* Skills */
body.hp-dark-mode .skill-badge--primary {
    background: rgba(37, 99, 235, 0.15);
    color: #60a5fa;
}

body.hp-dark-mode .skill-badge--accent {
    background: rgba(245, 158, 11, 0.15);
    color: #fbbf24;
}

body.hp-dark-mode .skill-badge--success {
    background: rgba(16, 185, 129, 0.15);
    color: #34d399;
}

body.hp-dark-mode .skill-badge--info {
    background: rgba(99, 102, 241, 0.15);
    color: #818cf8;
}

/* Patička — základní footer je už tmavý, dark mode jen jemně ztmaví */
body.hp-dark-mode .site-footer {
    background: #0c1a3d;
    border-top-color: rgba(255, 255, 255, 0.05);
}

body.hp-dark-mode .site-footer p {
    color: rgba(255, 255, 255, 0.4);
}

body.hp-dark-mode .footer-links a {
    color: rgba(255, 255, 255, 0.55);
}

/* Scroll top */
body.hp-dark-mode .scroll-top {
    background: #60a5fa;
}

/* Mobile */
body.hp-dark-mode .offcanvas {
    background: #1a1d23;
    color: #e5e7eb;
}

body.hp-dark-mode .mobile-link {
    color: #e5e7eb;
    border-bottom-color: #2d3139;
}

/* Theme toggle ikona swap */
body.hp-dark-mode #hpThemeToggle .bi-moon-fill::before {
    content: "\f5a2"; /* bi-sun-fill */
}

/* Highlight box */
body.hp-dark-mode .highlight-box {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.12), rgba(124, 58, 237, 0.12));
}

/* Formuláře */
body.hp-dark-mode .form-control-custom {
    background: #21252d;
    border-color: #2d3139;
    color: #e5e7eb;
}

body.hp-dark-mode .form-control-custom:focus {
    border-color: #60a5fa;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.15);
}

/* Theme toggle ikona swap */
body.hp-dark-mode #hpThemeToggle .bi-sun-fill::before {
    content: "\f497"; /* bi-moon-fill */
}

/* =====================================================
   DARK MODE — Kompletní opravy čitelnosti
   ===================================================== */

/* Globální text-muted override */
body.hp-dark-mode .text-muted {
    color: #94a3b8 !important;
}

body.hp-dark-mode .text-secondary {
    color: #94a3b8 !important;
}

/* Nadpisy a tituly sekcí — globálně */
body.hp-dark-mode h1,
body.hp-dark-mode h2,
body.hp-dark-mode h3,
body.hp-dark-mode h4,
body.hp-dark-mode h5,
body.hp-dark-mode h6 {
    color: #f1f5f9;
}

body.hp-dark-mode .section-title {
    color: #f1f5f9;
}

body.hp-dark-mode .section-subtitle {
    color: #94a3b8;
}

body.hp-dark-mode .section-label {
    color: #60a5fa;
}

body.hp-dark-mode p {
    color: #cbd5e1;
}

/* ===== SKILLS SEKCE ===== */
body.hp-dark-mode .skills-section {
    background: #0f1117;
}

body.hp-dark-mode .skill-group__title {
    color: #e2e8f0;
}

/* Position filter – dark mode */
body.hp-dark-mode .position-card {
    background: #1e2433;
    border-color: #2d3748;
    color: #e2e8f0;
}

body.hp-dark-mode .position-card strong {
    color: #e2e8f0;
}

body.hp-dark-mode .position-card small {
    color: #94a3b8;
}

body.hp-dark-mode .position-card:hover {
    border-color: #818cf8;
    box-shadow: 0 6px 20px rgba(99,102,241,.25);
}

body.hp-dark-mode .position-card.active,
body.hp-dark-mode .position-card--featured.active {
    background: rgba(249,115,22,.15);
    border-color: #f97316;
    box-shadow: 0 4px 16px rgba(249,115,22,.25);
}

body.hp-dark-mode .position-card.active strong,
body.hp-dark-mode .position-card--featured.active strong {
    color: #fb923c;
}

body.hp-dark-mode .position-card.active i,
body.hp-dark-mode .position-card--featured.active i {
    color: #f97316;
}

body.hp-dark-mode .position-card--featured {
    background: #1e2433;
    border-color: #818cf8;
}

body.hp-dark-mode .position-card--featured i {
    color: #818cf8;
}

body.hp-dark-mode .position-filter-intro {
    color: #64748b;
}

/* ===== ZKUŠENOSTI ===== */
/* Sekce má vlastní tmavý gradient — dark mode řeší .hp-dark-mode .experience-section v hp-sections.css */

/* ===== VZDĚLÁNÍ ===== */
body.hp-dark-mode .edu-item h4,
body.hp-dark-mode .edu-item h5 {
    color: #f1f5f9;
}

body.hp-dark-mode .edu-item p,
body.hp-dark-mode .edu-item .text-muted {
    color: #94a3b8 !important;
}

body.hp-dark-mode .edu-item .badge {
    opacity: 0.9;
}

/* ===== KONTAKT ===== */
/* Dark mode pro kontaktní sekci řeší hp-sections.css */

/* ===== FEATURE CARDS (AI demo sekce) ===== */
body.hp-dark-mode .feature-card {
    background: #1a1d23;
    border-color: #374151;
}

body.hp-dark-mode .feature-card h4,
body.hp-dark-mode .feature-card h5 {
    color: #f1f5f9;
}

body.hp-dark-mode .feature-card p,
body.hp-dark-mode .feature-card .text-muted {
    color: #94a3b8 !important;
}

body.hp-dark-mode .feature-card i {
    color: #60a5fa;
}

/* ===== AI CHAT WIDGET ===== */
body.hp-dark-mode .ai-chat-header {
    background: #1e2533;
    border-bottom-color: #374151;
}

body.hp-dark-mode .ai-chat-header h6,
body.hp-dark-mode .ai-chat-header span {
    color: #f1f5f9;
}

body.hp-dark-mode .ai-msg--user {
    background: #1d3a6e;
    color: #e2e8f0;
}

body.hp-dark-mode .ai-chat-input input::placeholder {
    color: #4b5563;
}

/* ===== SKILL BADGES — oprava světlých pozadí ===== */
body.hp-dark-mode .skill-badge--accent {
    background: rgba(245, 158, 11, 0.18);
    color: #fbbf24;
    border-color: rgba(245, 158, 11, 0.25);
}

body.hp-dark-mode .skill-badge--success {
    background: rgba(16, 185, 129, 0.18);
    color: #34d399;
    border-color: rgba(16, 185, 129, 0.25);
}

body.hp-dark-mode .skill-badge--info {
    background: rgba(99, 102, 241, 0.18);
    color: #818cf8;
    border-color: rgba(99, 102, 241, 0.25);
}

/* ===== OBECNÉ OPRAVY ===== */
body.hp-dark-mode strong {
    color: #f1f5f9;
}

body.hp-dark-mode .border-top {
    border-color: #374151 !important;
}

body.hp-dark-mode .border-bottom {
    border-color: #374151 !important;
}
