/**
 * Global Theme Engine — CSS variables applied from admin Theme Manager.
 * Works on desktop, tablet, and mobile web.
 */

:root {
    --gt-primary: #FFD700;
    --gt-secondary: #B8960C;
    --gt-accent: #FFA500;
    --gt-bg: #0D0D14;
    --gt-surface: #14141E;
    --gt-surface-elevated: #1A1A26;
    --gt-card: #14141E;
    --gt-text: #F0EDE8;
    --gt-text-secondary: #9E9CA8;
    --gt-text-muted: #6B6A76;
    --text-muted: var(--gt-text-muted);
    --gt-success: #4CAF50;
    --gt-warning: #FF9800;
    --gt-error: #E53935;
    --gt-info: #42A5F5;
    --gt-gradient-start: #FFD700;
    --gt-gradient-end: #D48900;
    --gt-radius: 16px;
    --gt-card-radius: 18px;
    --gt-btn-radius: 16px;
    --gt-input-radius: 16px;
    --gt-sheet-radius: 24px;
    --gt-shadow: 0.12;
    --gt-blur: 12px;
    --gt-padding: 16px;
    --gt-margin: 12px;
    --gt-section-gap: 24px;
    --gt-edge-h: 16px;
    --gt-edge-v: 12px;
    --gt-safe-extra: 8px;
    --gt-bottom-nav-h: 64px;
    --gt-anim-ms: 300ms;
    --gt-border: #2A2A38;
    --gt-divider: #1F1F2C;
    --gt-button: #FFD700;
    --gt-button-text: #0D0D14;
    --gt-search: #1A1A26;
    --gt-nav: #14141E;
    --gt-fab: #FFD700;
    --gt-appbar: #14141E;
    --gt-bottom-nav: #14141E;
    --gt-chip: #1E1E2A;
    --gt-badge: #FFD700;
    --gt-tag: #2A2A38;
    --gt-salary: #4CAF50;
    --gt-apply: #FFD700;
    --gt-fav: #FF6B6B;
    --gt-notif-badge: #E53935;
    --gt-btn-height: 48px;
    --gt-search-h: 52px;
    --gt-search-radius: 26px;
    --gt-nav-h: 64px;
    --gt-font-heading: 'Inter', sans-serif;
    --gt-font-body: 'Inter', sans-serif;
    --gt-font-size: 15px;
    --gt-line-height: 1.5;
    --gt-card-elevation: 2;
    --gt-card-padding: 16px;
}

/* Safe area — curved / notch / punch-hole displays */
.gt-safe-page {
    padding-left: max(var(--gt-edge-h), env(safe-area-inset-left, 0px));
    padding-right: max(var(--gt-edge-h), env(safe-area-inset-right, 0px));
    padding-top: max(var(--gt-edge-v), env(safe-area-inset-top, 0px));
    padding-bottom: max(var(--gt-edge-v), env(safe-area-inset-bottom, 0px));
}

body.gt-theme-active {
    background-color: var(--gt-bg) !important;
    color: var(--gt-text);
    transition: background-color var(--gt-anim-ms) ease, color var(--gt-anim-ms) ease;
}

/* Admin-selected light brightness (all viewports) */
body.gt-brightness-light {
    --gt-shadow: 0.06;
}

body.gt-brightness-light.gt-theme-active .btn-primary,
body.gt-brightness-light.gt-theme-active .btn-gold,
body.gt-brightness-light.gt-theme-active .btn-warning {
    color: #fff !important;
}

body.gt-brightness-light::before {
    background:
        radial-gradient(ellipse at 10% 0%, color-mix(in srgb, var(--gt-primary) 5%, transparent) 0%, transparent 45%),
        radial-gradient(ellipse at 90% 100%, rgba(0, 0, 0, 0.02) 0%, transparent 50%) !important;
}

body.gt-theme-active.theme-curved,
body.gt-curved-display {
    --gt-edge-h: max(24px, env(safe-area-inset-left, 24px));
    --gt-edge-v: max(16px, env(safe-area-inset-top, 16px));
}

/* Cards */
body.gt-theme-active .glass-card,
body.gt-theme-active .job-card,
body.gt-theme-active .card,
body.gt-theme-active .premium-card {
    border-radius: var(--gt-card-radius) !important;
    background: var(--gt-card) !important;
    border-color: color-mix(in srgb, var(--gt-primary) 20%, transparent) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, calc(var(--gt-shadow) * 2));
}

body.gt-glass .glass-card,
body.gt-glass .navbar,
body.gt-glass .mobile-bottom-nav {
    backdrop-filter: blur(var(--gt-blur));
    -webkit-backdrop-filter: blur(var(--gt-blur));
    background: color-mix(in srgb, var(--gt-surface) 85%, transparent) !important;
}

/* Buttons */
body.gt-theme-active .btn-primary,
body.gt-theme-active .btn-gold,
body.gt-theme-active .btn-warning {
    border-radius: var(--gt-btn-radius) !important;
    background: linear-gradient(135deg, var(--gt-gradient-start), var(--gt-gradient-end)) !important;
    border: none !important;
    color: #000 !important;
    font-weight: 700;
    transition: transform var(--gt-anim-ms) ease, box-shadow var(--gt-anim-ms) ease;
}

body.gt-theme-active .btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px color-mix(in srgb, var(--gt-primary) 35%, transparent);
}

/* Inputs */
body.gt-theme-active .form-control,
body.gt-theme-active .search-input,
body.gt-theme-active input[type="text"],
body.gt-theme-active input[type="search"],
body.gt-theme-active select {
    border-radius: var(--gt-input-radius) !important;
    background: var(--gt-surface-elevated) !important;
    border-color: color-mix(in srgb, var(--gt-text-muted) 30%, transparent) !important;
    color: var(--gt-text) !important;
}

body.gt-theme-active .form-control:focus {
    border-color: var(--gt-primary) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--gt-primary) 25%, transparent) !important;
}

/* Navbar & header — glass bar, readable menu labels */
body.gt-theme-active .main-navbar {
    background: color-mix(in srgb, var(--gt-surface) 90%, transparent) !important;
    backdrop-filter: blur(20px) saturate(1.15) !important;
    -webkit-backdrop-filter: blur(20px) saturate(1.15) !important;
    border-bottom: 1px solid color-mix(in srgb, var(--gt-primary) 14%, transparent) !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, calc(var(--gt-shadow) * 3)) !important;
}

body.gt-brightness-light.gt-theme-active .main-navbar,
body.gt-brightness-light.gt-theme-active .main-navbar.scrolled {
    background: rgba(255, 255, 255, 0.97) !important;
    border-bottom-color: rgba(0, 0, 0, 0.06) !important;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.05) !important;
}

body.gt-theme-active .desktop-nav .nav-link,
body.gt-theme-active .main-navbar .nav-link {
    color: var(--gt-text-secondary) !important;
    -webkit-text-fill-color: var(--gt-text-secondary) !important;
    font-weight: 500 !important;
    border-radius: 10px !important;
    padding: 7px 14px !important;
    transition: color var(--gt-anim-ms) ease, background var(--gt-anim-ms) ease, box-shadow var(--gt-anim-ms) ease, transform var(--gt-anim-ms) ease !important;
}

body.gt-theme-active .desktop-nav .nav-link i,
body.gt-theme-active .main-navbar .nav-link i {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
    opacity: 0.85;
}

body.gt-theme-active .desktop-nav .nav-link:hover,
body.gt-theme-active .main-navbar .nav-link:hover {
    color: var(--gt-primary) !important;
    -webkit-text-fill-color: var(--gt-primary) !important;
    background: color-mix(in srgb, var(--gt-primary) 10%, transparent) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px color-mix(in srgb, var(--gt-primary) 12%, transparent);
}

body.gt-theme-active .desktop-nav .nav-link.active,
body.gt-theme-active .main-navbar .nav-link.active {
    color: var(--gt-primary) !important;
    -webkit-text-fill-color: var(--gt-primary) !important;
    background: color-mix(in srgb, var(--gt-primary) 14%, transparent) !important;
    font-weight: 600 !important;
    box-shadow: inset 0 1px 0 color-mix(in srgb, var(--gt-primary) 20%, transparent), 0 4px 16px color-mix(in srgb, var(--gt-primary) 14%, transparent);
}

body.gt-theme-active .desktop-nav .nav-link.active::after,
body.gt-theme-active .main-navbar .nav-link.active::after {
    background: linear-gradient(90deg, var(--gt-gradient-start), var(--gt-gradient-end)) !important;
    height: 2px !important;
    border-radius: 2px !important;
}

body.gt-theme-active .lang-switcher,
body.gt-theme-active .currency-switcher {
    color: var(--gt-text) !important;
    -webkit-text-fill-color: var(--gt-text) !important;
    background: color-mix(in srgb, var(--gt-primary) 8%, var(--gt-surface-elevated)) !important;
    border: 1px solid color-mix(in srgb, var(--gt-primary) 18%, transparent) !important;
    border-radius: 10px !important;
}

body.gt-theme-active .lang-switcher:hover,
body.gt-theme-active .currency-switcher:hover {
    color: var(--gt-primary) !important;
    -webkit-text-fill-color: var(--gt-primary) !important;
    border-color: color-mix(in srgb, var(--gt-primary) 35%, transparent) !important;
}

body.gt-theme-active .nav-dropdown-menu {
    background: color-mix(in srgb, var(--gt-surface) 96%, transparent) !important;
    border: 1px solid color-mix(in srgb, var(--gt-primary) 16%, transparent) !important;
    border-radius: var(--gt-card-radius) !important;
    box-shadow: 0 16px 48px rgba(0, 0, 0, calc(var(--gt-shadow) * 4)) !important;
    backdrop-filter: blur(var(--gt-blur)) !important;
}

body.gt-brightness-light.gt-theme-active .nav-dropdown-menu {
    background: #ffffff !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
}

body.gt-theme-active .nav-dropdown-menu .dropdown-item {
    color: var(--gt-text-secondary) !important;
    -webkit-text-fill-color: var(--gt-text-secondary) !important;
    border-radius: 8px !important;
}

body.gt-theme-active .nav-dropdown-menu .dropdown-item:hover {
    color: var(--gt-primary) !important;
    -webkit-text-fill-color: var(--gt-primary) !important;
    background: color-mix(in srgb, var(--gt-primary) 8%, transparent) !important;
}

/* Mobile drawer — dark glass, always readable */
body.gt-theme-active .mobile-drawer {
    background:
        radial-gradient(ellipse 120% 40% at 0% 0%, color-mix(in srgb, var(--gt-primary) 8%, transparent), transparent 55%),
        color-mix(in srgb, var(--gt-bg) 94%, #000) !important;
    border-left: 1px solid color-mix(in srgb, var(--gt-primary) 14%, transparent) !important;
}

body.gt-theme-active .drawer-menu-link {
    color: rgba(255, 255, 255, 0.82) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.82) !important;
}

body.gt-theme-active .drawer-menu-link .menu-label {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}

body.gt-theme-active .drawer-menu-link:hover,
body.gt-theme-active .drawer-menu-link.active {
    color: var(--gt-primary) !important;
    -webkit-text-fill-color: var(--gt-primary) !important;
}

body.gt-theme-active .drawer-menu-section {
    color: color-mix(in srgb, var(--gt-primary) 55%, #fff) !important;
}

/* Mobile bottom nav */
body.gt-theme-active .bottom-nav {
    background: color-mix(in srgb, var(--gt-surface) 94%, transparent) !important;
    border-top: 1px solid color-mix(in srgb, var(--gt-primary) 12%, transparent) !important;
    backdrop-filter: blur(20px) !important;
}

body.gt-theme-active .bottom-nav a,
body.gt-theme-active .bottom-nav .mbn-item {
    color: var(--gt-text-muted) !important;
    -webkit-text-fill-color: var(--gt-text-muted) !important;
}

body.gt-theme-active .bottom-nav a span,
body.gt-theme-active .bottom-nav .mbn-label {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}

body.gt-theme-active .bottom-nav a.active,
body.gt-theme-active .bottom-nav .mbn-item.active {
    color: var(--gt-primary) !important;
    -webkit-text-fill-color: var(--gt-primary) !important;
}

body.gt-theme-active .navbar,
body.gt-theme-active header.site-header {
    border-radius: 0 0 var(--gt-radius) var(--gt-radius);
    padding-left: var(--gt-edge-h);
    padding-right: var(--gt-edge-h);
}

body.gt-appbar-curved .navbar {
    border-radius: 0 0 calc(var(--gt-radius) * 1.5) calc(var(--gt-radius) * 1.5);
    margin: 0 var(--gt-safe-extra);
}

/* Mobile bottom nav */
body.gt-theme-active .mobile-bottom-nav {
    border-radius: var(--gt-sheet-radius) var(--gt-sheet-radius) 0 0;
    min-height: var(--gt-bottom-nav-h);
    padding-bottom: max(8px, env(safe-area-inset-bottom, 0px));
    margin: 0 var(--gt-safe-extra);
}

/* WhatsApp float — edge safe */
body.gt-theme-active .whatsapp-float {
    right: max(16px, calc(var(--gt-edge-h) + var(--gt-safe-extra))) !important;
    bottom: max(78px, calc(var(--gt-bottom-nav-h) + env(safe-area-inset-bottom, 0px) + 8px)) !important;
}

/* Modals & drawers */
body.gt-theme-active .modal-content {
    border-radius: var(--gt-sheet-radius) !important;
    background: var(--gt-surface) !important;
    border: 1px solid color-mix(in srgb, var(--gt-primary) 15%, transparent);
}

/* Job listings spacing */
body.gt-theme-active .jobs-grid,
body.gt-theme-active .job-list {
    gap: var(--gt-section-gap);
    padding-left: var(--gt-edge-h);
    padding-right: var(--gt-edge-h);
}

/* Tables */
body.gt-theme-active table {
    border-radius: var(--gt-card-radius);
    overflow: hidden;
}

body.gt-theme-active table tbody tr:nth-child(even) {
    background: color-mix(in srgb, var(--gt-surface-elevated) 50%, transparent);
}

/* Hero */
body.gt-theme-active .hero-section,
body.gt-theme-active .hero-banner {
    border-radius: var(--gt-card-radius);
    margin: var(--gt-margin);
    background: linear-gradient(135deg, color-mix(in srgb, var(--gt-primary) 15%, var(--gt-bg)), var(--gt-bg));
}

body.gt-theme-active .hero-title {
    color: var(--gt-text);
    text-shadow: none;
}

body.gt-theme-active .hero-premium-strip {
    background: linear-gradient(
        135deg,
        color-mix(in srgb, var(--gt-primary) 10%, var(--gt-surface)),
        var(--gt-surface-elevated, var(--gt-surface))
    );
    border-color: color-mix(in srgb, var(--gt-primary) 35%, var(--gt-border, #e0e0e0));
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
    color: var(--gt-text);
}

body.gt-theme-active .hero-premium-strip .hps-brands {
    color: var(--gt-text);
    opacity: 1;
}

body.gt-theme-active .hero-premium-strip .hps-count {
    color: var(--gt-primary);
}

body.gt-theme-active .hero-premium-strip .hps-free {
    color: var(--gt-button-text);
    -webkit-text-fill-color: var(--gt-button-text);
}

body.gt-theme-active .hero-premium-subline {
    color: var(--gt-text-muted);
}

body.gt-theme-active .popular-searches--compact .popular-searches__title,
body.gt-theme-active .popular-searches__title {
    color: var(--gt-text);
}

body.gt-theme-active .popular-searches--compact .popular-searches__pill--city {
    color: var(--gt-text);
}

body.gt-theme-active .popular-searches__expand-body--dropdown {
    background: var(--gt-surface);
    border-color: var(--gt-border);
}

/* Carousel */
body.gt-theme-active .training-carousel-card,
body.gt-theme-active .carousel-item img {
    border-radius: var(--gt-card-radius);
}

/* Typography */
body.gt-theme-active {
    font-family: var(--gt-font-body);
    font-size: var(--gt-font-size);
    line-height: var(--gt-line-height);
}

body.gt-theme-active h1, body.gt-theme-active h2, body.gt-theme-active h3,
body.gt-theme-active h4, body.gt-theme-active h5 {
    color: var(--gt-text);
    font-family: var(--gt-font-heading);
    letter-spacing: var(--gt-letter-spacing, 0);
}

body.gt-theme-active p, body.gt-theme-active .text-muted {
    color: var(--gt-text-secondary);
}

/* Premium search bar */
body.gt-theme-active .search-bar,
body.gt-theme-active .jad-search,
body.gt-theme-active .hero-search {
    min-height: var(--gt-search-h);
    border-radius: var(--gt-search-radius) !important;
    background: var(--gt-search) !important;
    border: 1px solid color-mix(in srgb, var(--gt-primary) 20%, transparent) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, calc(var(--gt-shadow) * 1.5));
}

/* Filter chips (pill style) */
body.gt-theme-active .filter-chip,
body.gt-theme-active .badge-filter {
    background: var(--gt-chip) !important;
    border: 1px solid color-mix(in srgb, var(--gt-primary) 25%, transparent) !important;
    border-radius: 999px !important;
    color: var(--gt-text) !important;
    transition: transform var(--gt-anim-ms) ease, box-shadow var(--gt-anim-ms) ease;
}

body.gt-theme-active .filter-chip:hover,
body.gt-theme-active .badge-filter:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px color-mix(in srgb, var(--gt-primary) 20%, transparent);
}

body.gt-theme-active .filter-chip.active,
body.gt-theme-active .badge-filter.active {
    background: linear-gradient(135deg, var(--gt-gradient-start), var(--gt-gradient-end)) !important;
    color: var(--gt-button-text) !important;
}

/* Home filter stat cards (My Location, Near Me, Urgent, Featured) */
body.gt-theme-active .jad-filters-title i {
    color: var(--gt-primary) !important;
}

body.gt-theme-active .jad-filters-count {
    background: color-mix(in srgb, var(--gt-primary) 10%, transparent) !important;
    border-color: color-mix(in srgb, var(--gt-primary) 22%, transparent) !important;
    color: var(--gt-text-secondary) !important;
}

body.gt-theme-active .jad-filters-count strong {
    color: var(--gt-primary) !important;
}

body.gt-theme-active .jad-filter-card {
    background: var(--gt-card) !important;
    border: 1px solid color-mix(in srgb, var(--gt-primary) 20%, transparent) !important;
    border-radius: var(--gt-card-radius) !important;
    color: var(--gt-text) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, calc(var(--gt-shadow) * 2)) !important;
}

body.gt-theme-active .jad-filter-card:hover {
    border-color: color-mix(in srgb, var(--gt-primary) 38%, transparent) !important;
    box-shadow: 0 12px 28px color-mix(in srgb, var(--gt-primary) 14%, transparent) !important;
}

body.gt-theme-active .jad-filter-card.active {
    background: linear-gradient(
        145deg,
        color-mix(in srgb, var(--gt-primary) 16%, var(--gt-card)) 0%,
        var(--gt-card) 100%
    ) !important;
    border-color: color-mix(in srgb, var(--gt-primary) 55%, transparent) !important;
}

body.gt-theme-active .jad-filter-card-icon {
    color: var(--gt-primary) !important;
    background: color-mix(in srgb, var(--gt-primary) 14%, transparent) !important;
}

body.gt-theme-active .jad-filter-card.active .jad-filter-card-icon {
    background: linear-gradient(135deg, var(--gt-gradient-start), var(--gt-gradient-end)) !important;
    color: var(--gt-button-text) !important;
}

body.gt-theme-active .jad-filter-card-value,
body.gt-theme-active .jad-filter-card-label {
    color: var(--gt-text) !important;
}

body.gt-theme-active .jad-filter-card.active .jad-filter-card-value {
    color: var(--gt-primary) !important;
}

body.gt-theme-active .jad-filter-card-desc {
    color: var(--gt-text-secondary) !important;
}

/* Posted jobs — full theme sync */
body.gt-theme-active .job-card.featured,
body.gt-theme-active .job-card.premium-highlight {
    background: linear-gradient(135deg, color-mix(in srgb, var(--gt-primary) 6%, var(--gt-card)), var(--gt-card)) !important;
    border-color: color-mix(in srgb, var(--gt-primary) 35%, transparent) !important;
}

body.gt-theme-active .job-card:hover {
    border-color: color-mix(in srgb, var(--gt-primary) 30%, transparent) !important;
}

body.gt-theme-active .job-title,
body.gt-theme-active .job-card .job-title {
    color: var(--gt-text) !important;
}

body.gt-theme-active .company-name,
body.gt-theme-active .job-card .company-name {
    color: var(--gt-text-secondary) !important;
}

body.gt-theme-active .job-meta,
body.gt-theme-active .job-card .job-meta {
    color: var(--gt-text-muted) !important;
}

body.gt-theme-active .company-logo {
    background: var(--gt-surface-elevated) !important;
    border: 1px solid color-mix(in srgb, var(--gt-primary) 12%, transparent);
}

body.gt-theme-active .job-tag {
    background: color-mix(in srgb, var(--gt-tag) 70%, transparent) !important;
    border-color: color-mix(in srgb, var(--gt-primary) 18%, transparent) !important;
    color: var(--gt-text) !important;
}

body.gt-theme-active .job-tag.experience {
    background: color-mix(in srgb, var(--gt-success) 12%, transparent) !important;
    border-color: color-mix(in srgb, var(--gt-success) 30%, transparent) !important;
    color: var(--gt-success) !important;
}

body.gt-theme-active .job-tag.type {
    background: color-mix(in srgb, var(--gt-info) 12%, transparent) !important;
    border-color: color-mix(in srgb, var(--gt-info) 30%, transparent) !important;
    color: var(--gt-info) !important;
}

body.gt-theme-active .job-card .salary,
body.gt-theme-active .job-salary,
body.gt-theme-active .job-tag.salary {
    color: var(--gt-salary) !important;
    background: color-mix(in srgb, var(--gt-salary) 12%, transparent) !important;
    border-color: color-mix(in srgb, var(--gt-salary) 30%, transparent) !important;
    font-weight: 700;
}

body.gt-theme-active .premium-badge {
    color: var(--gt-primary) !important;
}

body.gt-theme-active .job-card .badge-urgent,
body.gt-theme-active .badge-urgent {
    background: linear-gradient(135deg, var(--gt-gradient-start), var(--gt-gradient-end)) !important;
    color: var(--gt-button-text) !important;
    border: none !important;
}

body.gt-theme-active .job-card .badge-featured,
body.gt-theme-active .badge-premium,
body.gt-theme-active .badge-custom.badge-premium {
    background: color-mix(in srgb, var(--gt-primary) 12%, transparent) !important;
    border: 1px solid color-mix(in srgb, var(--gt-primary) 30%, transparent) !important;
    color: var(--gt-primary) !important;
}

body.gt-theme-active .job-card .btn-call-hr,
body.gt-theme-active .job-actions .btn-call-hr {
    background: linear-gradient(145deg, #FFFFFF 0%, #F4F4F6 55%, #ECECEF 100%) !important;
    color: #1A1D26 !important;
    border: 1px solid rgba(255, 255, 255, 0.95) !important;
    border-radius: var(--gt-btn-radius) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 4px 16px rgba(0, 0, 0, 0.22),
        0 0 0 1px rgba(255, 255, 255, 0.06) !important;
}

body.gt-theme-active .job-card .btn-call-hr:hover,
body.gt-theme-active .job-actions .btn-call-hr:hover {
    background: linear-gradient(145deg, #FFFFFF 0%, #FAFAFC 100%) !important;
    color: #0D0D14 !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 1) inset,
        0 8px 24px rgba(0, 0, 0, 0.28),
        0 0 20px rgba(255, 255, 255, 0.12) !important;
}

body.gt-theme-active .job-card .btn-call-hr i,
body.gt-theme-active .job-actions .btn-call-hr i {
    color: #1A1D26 !important;
}

body.gt-theme-active .job-card .btn-apply-quick,
body.gt-theme-active .btn-glass.btn-apply-quick {
    background: var(--gt-surface-elevated) !important;
    border: 1px solid color-mix(in srgb, var(--gt-primary) 20%, transparent) !important;
    color: var(--gt-text) !important;
    border-radius: var(--gt-btn-radius) !important;
}

body.gt-theme-active .btn-apply,
body.gt-theme-active .apply-btn {
    background: var(--gt-apply) !important;
    color: var(--gt-button-text) !important;
    min-height: var(--gt-btn-height);
    border-radius: var(--gt-btn-radius) !important;
}

body.gt-theme-active #jobModal .modal-content,
body.gt-theme-active #jobModal .jd-sheet,
body.gt-theme-active .modal-overlay .modal-content {
    background: var(--gt-surface) !important;
    border: 1px solid color-mix(in srgb, var(--gt-primary) 15%, transparent) !important;
    color: var(--gt-text) !important;
    border-radius: var(--gt-sheet-radius) !important;
}

body.gt-theme-active .modal-title {
    color: var(--gt-text) !important;
}

body.gt-theme-active .modal-close {
    color: var(--gt-text-muted) !important;
}

body.gt-theme-active .modal-close:hover {
    color: var(--gt-primary) !important;
}

body.gt-theme-active #jobModal .job-tag,
body.gt-theme-active #jobModal .job-tags .job-tag {
    background: color-mix(in srgb, var(--gt-tag) 70%, transparent) !important;
    border-color: color-mix(in srgb, var(--gt-primary) 18%, transparent) !important;
    color: var(--gt-text) !important;
}

body.gt-theme-active .section-title i {
    color: var(--gt-primary) !important;
}

body.gt-theme-active .favourite-icon,
body.gt-theme-active .bookmark-btn.active {
    color: var(--gt-fav) !important;
}

/* FAB */
body.gt-theme-active .floating-post-job,
body.gt-theme-active .fab-new-jobs {
    background: linear-gradient(135deg, var(--gt-fab), var(--gt-gradient-end)) !important;
}

/* Dividers */
body.gt-theme-active hr,
body.gt-theme-active .divider {
    border-color: var(--gt-divider) !important;
}

/* Accent links (exclude nav, drawer, dropdown, auth CTAs) */
body.gt-theme-active a:not(.btn):not(.auth-btn):not(.nav-link):not(.drawer-menu-link):not(.dropdown-item) {
    color: var(--gt-primary);
}

/* Login / Register / Post Job — always readable on theme gradient */
body.gt-theme-active .auth-btn,
body.gt-theme-active .auth-btn-register,
body.gt-theme-active .nav-auth-section .auth-btn,
body.gt-theme-active .nav-auth-section .auth-btn-register,
body.gt-theme-active .hero-cta-row .auth-btn,
body.gt-theme-active .hero-cta-row .auth-btn-register {
    color: var(--gt-button-text, #111) !important;
    -webkit-text-fill-color: var(--gt-button-text, #111) !important;
    background: linear-gradient(135deg, var(--gt-gradient-start), var(--gt-gradient-end)) !important;
    border-color: transparent !important;
}

body.gt-theme-active .auth-btn:hover,
body.gt-theme-active .auth-btn-register:hover,
body.gt-theme-active .nav-auth-section .auth-btn-register:hover,
body.gt-theme-active .hero-cta-row .auth-btn-register:hover {
    color: var(--gt-button-text, #111) !important;
    -webkit-text-fill-color: var(--gt-button-text, #111) !important;
    filter: brightness(1.06);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    body.gt-theme-active * {
        transition: none !important;
        animation: none !important;
    }
}

/* Footer — always glass dark, immune to light/white/desktop-pro themes */
footer.footer,
.footer,
.footer-glass-dark {
    --footer-glass-bg: rgba(10, 10, 14, 0.9) !important;
    --footer-glass-border: rgba(255, 255, 255, 0.08) !important;
    --footer-text: #e8e6e3 !important;
    --footer-text-muted: #9ca3af !important;
    --footer-heading: #f5f3f0 !important;
    background: var(--footer-glass-bg) !important;
    backdrop-filter: blur(20px) saturate(1.15) !important;
    -webkit-backdrop-filter: blur(20px) saturate(1.15) !important;
    border-top: 1px solid var(--footer-glass-border) !important;
    color: var(--footer-text) !important;
    box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.35) !important;
}

footer.footer .footer-section h4,
.footer .footer-section h4,
.footer-glass-dark .footer-section h4 {
    color: var(--footer-heading) !important;
}

footer.footer .footer-section p,
.footer .footer-section p,
.footer-glass-dark .footer-section p,
footer.footer .footer-bottom p,
.footer .footer-bottom p {
    color: var(--footer-text-muted) !important;
}

footer.footer .footer-links a,
.footer .footer-links a,
footer.footer .footer-bottom a,
.footer .footer-bottom a {
    color: var(--footer-text-muted) !important;
}

footer.footer .footer-links a:hover,
.footer .footer-links a:hover,
footer.footer .footer-bottom a:hover,
.footer .footer-bottom a:hover {
    color: var(--gt-primary, var(--premium-gold, #e8e6e3)) !important;
}

footer.footer .footer-bottom,
.footer .footer-bottom {
    border-top-color: var(--footer-glass-border) !important;
}

footer.footer .social-icon,
.footer .social-icon {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: var(--footer-text-muted) !important;
}

footer.footer .social-icon:hover,
.footer .social-icon:hover {
    background: color-mix(in srgb, var(--gt-primary, var(--premium-gold)) 14%, transparent) !important;
    border-color: color-mix(in srgb, var(--gt-primary, var(--premium-gold)) 35%, transparent) !important;
    color: var(--gt-primary, var(--premium-gold, #e8e6e3)) !important;
}

/* Footer branded social grid — keep platform colors */
footer.footer .footer-social-link,
.footer .footer-social-link {
    color: #fff !important;
}

footer.footer .footer-social-link:hover,
.footer .footer-social-link:hover {
    color: #fff !important;
}

footer.footer .footer-social-link.facebook,
.footer .footer-social-link.facebook {
    background: linear-gradient(145deg, #1877f2 0%, #0d5dbf 100%) !important;
    border-color: rgba(96, 165, 250, 0.4) !important;
}

footer.footer .footer-social-link.instagram,
.footer .footer-social-link.instagram {
    background: linear-gradient(145deg, #f09433 0%, #e6683c 35%, #dc2743 65%, #bc1888 100%) !important;
    border-color: rgba(251, 113, 133, 0.4) !important;
}

footer.footer .footer-social-link.youtube,
.footer .footer-social-link.youtube {
    background: linear-gradient(145deg, #ff0000 0%, #cc0000 100%) !important;
    border-color: rgba(248, 113, 113, 0.4) !important;
}

footer.footer .footer-social-link.linkedin,
.footer .footer-social-link.linkedin {
    background: linear-gradient(145deg, #0a66c2 0%, #004182 100%) !important;
    border-color: rgba(96, 165, 250, 0.35) !important;
}

footer.footer .footer-social-link.twitter,
.footer .footer-social-link.twitter {
    background: linear-gradient(145deg, #2a2a2a 0%, #0a0a0a 100%) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}

footer.footer .footer-social-link.tiktok,
.footer .footer-social-link.tiktok {
    background: linear-gradient(145deg, #121212 0%, #000 55%, #1a1a1a 100%) !important;
    border-color: rgba(37, 244, 238, 0.35) !important;
}

footer.footer .footer-social-link.telegram,
.footer .footer-social-link.telegram {
    background: linear-gradient(145deg, #2aabee 0%, #0088cc 100%) !important;
    border-color: rgba(56, 189, 248, 0.4) !important;
}

/* Prevent global theme link color from washing out footer */
footer.footer a:not(.btn),
.footer a:not(.btn) {
    color: var(--footer-text-muted);
}

footer.footer a:not(.btn):not(.footer-social-link):not(.footer-nav-item):hover,
.footer a:not(.btn):not(.footer-social-link):not(.footer-nav-item):hover {
    color: var(--gt-primary, var(--premium-gold, #e8e6e3)) !important;
}

footer.footer .footer-nav-item,
.footer .footer-nav-item {
    color: var(--footer-text-muted) !important;
}

footer.footer .footer-nav-item:hover,
.footer .footer-nav-item:hover {
    color: var(--footer-text) !important;
}

footer.footer .footer-nav-head-text h4,
.footer .footer-nav-head-text h4 {
    color: var(--footer-heading) !important;
}

/* Footer SEO city/role pills — keep high contrast (not muted link color) */
footer.footer .footer-seo-hub,
.footer .footer-seo-hub {
    display: block !important;
    visibility: visible !important;
}

footer.footer .footer-seo-title,
.footer .footer-seo-title {
    color: var(--gt-primary, var(--premium-gold, #ffd700)) !important;
}

footer.footer .footer-seo-pill--city,
.footer .footer-seo-pill--city {
    color: #f5f0e6 !important;
}

footer.footer .footer-seo-pill--role,
.footer .footer-seo-pill--role {
    color: #93c5fd !important;
}

footer.footer .footer-seo-pill--city:hover,
.footer .footer-seo-pill--city:hover {
    color: #111 !important;
}

footer.footer .footer-seo-pill--role:hover,
.footer .footer-seo-pill--role:hover {
    color: #0f172a !important;
}

footer.footer .popular-searches__title,
.footer .popular-searches__title {
    color: var(--gt-text-primary, #f0e6c8) !important;
}

footer.footer .popular-searches__pill--city,
.footer .popular-searches__pill--city {
    color: #f5f0e6 !important;
}

footer.footer .popular-searches__pill--brand,
.footer .popular-searches__pill--brand {
    color: #93c5fd !important;
}

/* Website notification permission banner */
.jad-notif-permission-banner {
    position: fixed;
    top: 72px;
    left: 16px;
    right: 16px;
    z-index: 100500;
    pointer-events: auto;
    isolation: isolate;
    max-width: 720px;
    margin: 0 auto;
    animation: jadNotifSlideIn 0.35s ease-out;
}

@keyframes jadNotifSlideIn {
    from { opacity: 0; transform: translateY(-12px); }
    to { opacity: 1; transform: translateY(0); }
}

.jad-notif-permission-inner {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 14px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--gt-primary, #FFD700) 12%, var(--secondary-dark, #1a1a2e)), var(--secondary-dark, #1a1a2e));
    border: 1px solid color-mix(in srgb, var(--gt-primary, #FFD700) 35%, transparent);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}

.jad-notif-permission-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: color-mix(in srgb, var(--gt-primary, #FFD700) 18%, transparent);
    color: var(--gt-primary, #FFD700);
    font-size: 1rem;
}

.jad-notif-permission-text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.jad-notif-permission-text strong {
    font-size: 0.85rem;
    color: var(--text-light, #f0f0f0);
}

.jad-notif-permission-text span {
    font-size: 0.75rem;
    color: var(--muted-gray, #9ca3af);
    line-height: 1.35;
}

.jad-notif-permission-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.jad-notif-btn {
    border: none;
    border-radius: 8px;
    padding: 7px 14px;
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    pointer-events: auto;
    position: relative;
    z-index: 2;
}

.jad-notif-btn-primary {
    background: linear-gradient(135deg, var(--gt-primary, #FFD700), #F59E0B);
    color: #111;
}

.jad-notif-btn-primary:disabled {
    opacity: 0.65;
    cursor: wait;
}

.jad-notif-btn-ghost {
    background: transparent;
    color: var(--muted-gray, #9ca3af);
}

.jad-notif-close {
    background: transparent;
    border: none;
    color: var(--muted-gray, #9ca3af);
    padding: 4px;
    cursor: pointer;
    flex-shrink: 0;
    line-height: 1;
}

.jad-notif-permission-banner.jad-notif-denied {
    border-color: color-mix(in srgb, #f59e0b 45%, transparent);
}

.jad-notif-permission-banner.jad-notif-denied .jad-notif-permission-icon {
    background: color-mix(in srgb, #f59e0b 20%, transparent);
    color: #fbbf24;
}

/* Unblock notifications guide modal */
.jad-notif-unblock-modal {
    position: fixed;
    inset: 0;
    z-index: 100600;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.jad-notif-unblock-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: blur(6px);
}

.jad-notif-unblock-card {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 440px;
    max-height: 90vh;
    overflow-y: auto;
    padding: 28px 24px 22px;
    border-radius: 20px;
    background: linear-gradient(160deg, #1a1a24 0%, #0f0f14 100%);
    border: 1px solid color-mix(in srgb, var(--gt-primary, #ffd700) 35%, transparent);
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.55);
    text-align: center;
}

.jad-notif-unblock-close {
    position: absolute;
    top: 12px;
    right: 12px;
    background: transparent;
    border: none;
    color: var(--muted-gray, #9ca3af);
    font-size: 1.1rem;
    cursor: pointer;
    padding: 6px;
}

.jad-notif-unblock-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 14px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, #f59e0b 18%, transparent);
    color: #fbbf24;
    font-size: 1.6rem;
}

.jad-notif-unblock-card h3 {
    margin: 0 0 10px;
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--accent-white, #f0f0f0);
}

.jad-notif-unblock-origin {
    margin: 0 0 14px;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 0.78rem;
    color: var(--muted-gray, #9ca3af);
    background: rgba(255, 215, 0, 0.08);
    border: 1px solid rgba(255, 215, 0, 0.2);
    line-height: 1.45;
    text-align: left;
}

.jad-notif-unblock-origin strong {
    color: var(--gt-primary, #ffd700);
    word-break: break-all;
}

.jad-notif-unblock-lead {
    margin: 0 0 16px;
    font-size: 0.85rem;
    color: var(--muted-gray, #9ca3af);
    line-height: 1.5;
    text-align: left;
}

.jad-notif-unblock-browser {
    margin: 0 0 12px;
    font-size: 0.8rem;
    color: var(--gt-primary, #ffd700);
    text-align: left;
}

.jad-notif-unblock-steps {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
    text-align: left;
}

.jad-notif-unblock-steps li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 10px;
    font-size: 0.82rem;
    color: var(--accent-white, #e6e1dc);
    line-height: 1.45;
}

.jad-notif-step-num {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--gt-primary, #ffd700) 20%, transparent);
    color: var(--gt-primary, #ffd700);
    font-size: 0.72rem;
    font-weight: 800;
}

.jad-notif-unblock-tip {
    margin: 0 0 18px;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(34, 197, 94, 0.1);
    border: 1px solid rgba(34, 197, 94, 0.25);
    font-size: 0.78rem;
    color: #86efac;
    text-align: left;
    line-height: 1.4;
}

.jad-notif-unblock-done {
    width: 100%;
    padding: 12px 16px !important;
    font-size: 0.9rem !important;
}

@media (max-width: 640px) {
    .jad-notif-permission-banner {
        top: auto;
        bottom: 76px;
        left: 10px;
        right: 10px;
    }

    .jad-notif-permission-inner {
        flex-wrap: wrap;
    }

    .jad-notif-permission-actions {
        width: 100%;
        justify-content: flex-end;
    }
}