/* ============================================================
   KodePilot — Design System 2025
   Premium SaaS visual layer — loaded after main.css / theme.css
   Overrides harcoded colours with CSS-variable references so
   both dark (default :root) and light ([data-theme="light"])
   themes render correctly without any JS changes.
   ============================================================ */

/* ── 0. FONTS ─────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400;1,600&display=swap');

/* ── 1. TOKEN LAYER — light (default) ─────────────────────────── */
:root {
    --color-primary:        #1a7fd4;
    --color-primary-hover:  #1565C0;
    --color-primary-dim:    #e3f2fd;
    --color-accent:         #F7B731;

    --bg-base:              #ffffff;
    --bg-surface:           #f8fafc;
    --bg-surface-2:         #f1f5f9;
    --bg-elevated:          #ffffff;

    --border-subtle:        rgba(15, 23, 42, 0.06);
    --border-default:       rgba(15, 23, 42, 0.10);

    --text-primary:         #0f172a;
    --text-secondary:       rgba(15, 23, 42, 0.65);
    --text-muted:           rgba(15, 23, 42, 0.40);

    --radius-sm:  8px;
    --radius-md:  12px;
    --radius-lg:  16px;
    --radius-xl:  24px;

    --shadow-soft: 0 4px 24px rgba(0, 0, 0, 0.06);
    --shadow-glow: 0 0 40px rgba(26, 127, 212, 0.10);

    --font-heading: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
    --font-body:    'Inter', system-ui, -apple-system, sans-serif;
    --font-mono:    ui-monospace, 'SF Mono', 'Cascadia Code', 'Segoe UI Mono', monospace;

    --text-supporting: rgba(15, 23, 42, 0.55);

    --navbar-bg:     rgba(255, 255, 255, 0.92);
    --navbar-border: rgba(15, 23, 42, 0.08);

    /* keep existing brand vars in sync */
    --brand-primary:         #1a7fd4;
    --brand-primary-dark:    #1565C0;
    --brand-primary-darker:  #0d47a1;
    --brand-primary-light:   #64B5F6;
    --brand-tint:            #e3f2fd;
    --brand-tint-medium:     #bbdefb;
    --brand-primary-rgb:     26, 127, 212;
}

/* ── 1b. TOKEN LAYER — light (explicit) ───────────────────────── */
[data-theme="light"] {
    --color-primary:        #1a7fd4;
    --color-primary-hover:  #1565C0;
    --color-primary-dim:    #e3f2fd;
    --color-accent:         #F7B731;

    --bg-base:              #ffffff;
    --bg-surface:           #f8fafc;
    --bg-surface-2:         #f1f5f9;
    --bg-elevated:          #ffffff;

    --border-subtle:        rgba(15, 23, 42, 0.06);
    --border-default:       rgba(15, 23, 42, 0.10);

    --text-primary:         #0f172a;
    --text-secondary:       rgba(15, 23, 42, 0.65);
    --text-muted:           rgba(15, 23, 42, 0.40);

    --shadow-soft: 0 4px 24px rgba(0, 0, 0, 0.06);
    --shadow-glow: 0 0 40px rgba(26, 127, 212, 0.10);

    --navbar-bg:     rgba(255, 255, 255, 0.92);
    --navbar-border: rgba(15, 23, 42, 0.08);

    --brand-primary:         #1a7fd4;
    --brand-primary-dark:    #1565C0;
    --brand-primary-darker:  #0d47a1;
    --brand-primary-light:   #64B5F6;
    --brand-tint:            #e3f2fd;
    --brand-tint-medium:     #bbdefb;
    --brand-primary-rgb:     26, 127, 212;
    --text-supporting: rgba(15, 23, 42, 0.55);
}

/* ── 1c. TOKEN LAYER — dark ───────────────────────────────────── */
[data-theme="dark"] {
    --color-primary:        #45AAF2;
    --color-primary-hover:  #2196F3;
    --color-primary-dim:    rgba(69, 170, 242, 0.15);
    --color-accent:         #F7B731;

    --bg-base:              #0a0f1e;
    --bg-surface:           #131b2e;
    --bg-surface-2:         #1c2740;
    --bg-elevated:          #1e293b;

    --border-subtle:        rgba(255, 255, 255, 0.06);
    --border-default:       rgba(255, 255, 255, 0.10);

    --text-primary:         #f8fafc;
    --text-secondary:       rgba(248, 250, 252, 0.65);
    --text-muted:           rgba(248, 250, 252, 0.40);

    --shadow-soft: 0 4px 24px rgba(0, 0, 0, 0.40);
    --shadow-glow: 0 0 40px rgba(69, 170, 242, 0.15);

    --navbar-bg:     rgba(10, 15, 30, 0.82);
    --navbar-border: rgba(255, 255, 255, 0.08);

    --brand-primary:         #45AAF2;
    --brand-primary-dark:    #2196F3;
    --brand-primary-darker:  #1565C0;
    --brand-primary-light:   #81D4FA;
    --brand-tint:            rgba(69, 170, 242, 0.15);
    --brand-tint-medium:     rgba(69, 170, 242, 0.22);
    --brand-primary-rgb:     69, 170, 242;
    --text-supporting: rgba(248, 250, 252, 0.55);
}

/* ── 2. GLOBAL BASE ───────────────────────────────────────────── */
html, body {
    background-color: var(--bg-base) !important;
    color: var(--text-primary) !important;
}

body {
    font-family: var(--font-body) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    font-weight: 400 !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading) !important;
    color: var(--text-primary) !important;
    line-height: 1.2;
    margin-top: 0;
    margin-bottom: 0.5em;
}

p {
    color: var(--text-secondary) !important;
    margin-bottom: 1em;
}

a {
    transition: color 0.2s ease;
}

/* Fluid type scale — Accenture-inspired: large, bold, tight-tracked */
.hero h1,
.content-box h1 {
    font-size: clamp(2rem, 4.5vw, 3rem) !important;
    letter-spacing: -0.02em !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.hero h1 {
    white-space: nowrap !important;
}

h2,
.faq-title,
.our-numbers h2,
.refer-content h2 {
    font-size: clamp(2rem, 4vw, 3rem) !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
    line-height: 1.15 !important;
}

h3,
.practice-card h3 {
    font-size: clamp(1.25rem, 2vw, 1.625rem) !important;
    font-weight: 700 !important;
    letter-spacing: -0.015em !important;
}

h4 {
    font-size: clamp(1rem, 1.5vw, 1.25rem) !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
}

h5 {
    font-size: 1rem !important;
    font-weight: 600 !important;
}

h6 {
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
}

.title {
    font-family: var(--font-heading) !important;
    font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
    color: var(--text-primary) !important;
}

/* Section eyebrow labels */
.section-eyebrow {
    display: inline-block;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-primary);
    font-weight: 600;
    font-family: var(--font-body);
    margin-bottom: 12px;
}

.section-title {
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    color: var(--text-primary) !important;
}

.subtitle {
    color: var(--text-secondary) !important;
}

/* Supporting / secondary text — captions, timestamps, helper text, metadata */
.text-supporting,
.text-caption,
.text-helper {
    font-size: 0.8125rem !important;
    color: var(--text-supporting, var(--text-secondary)) !important;
    font-family: var(--font-body);
    line-height: 1.5;
    letter-spacing: 0.01em;
}

/* Uppercase label style — form labels, section tags, status chips */
.text-label {
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    font-family: var(--font-body);
    color: var(--text-supporting, var(--text-secondary)) !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

/* Prose max-width container — prevents overly wide lines on large screens */
.prose {
    max-width: 72ch;
}

.prose p {
    line-height: 1.7;
}

/* ── 3. KEYFRAME ANIMATIONS ───────────────────────────────────── */
@keyframes kp-blob-drift-1 {
    0%,  100% { transform: translate(0, 0)    scale(1);    }
    33%        { transform: translate(30px, -20px) scale(1.05); }
    66%        { transform: translate(-20px, 15px)  scale(0.97); }
}

@keyframes kp-blob-drift-2 {
    0%,  100% { transform: translate(0, 0)     scale(1);    }
    40%        { transform: translate(-25px, 30px) scale(1.08); }
    70%        { transform: translate(20px, -10px)  scale(0.95); }
}

@keyframes kp-blob-drift-3 {
    0%,  100% { transform: translate(0, 0)    scale(1);    }
    30%        { transform: translate(15px, 25px) scale(1.04); }
    60%        { transform: translate(-30px, -20px) scale(0.98); }
}

@keyframes kp-shimmer {
    0%   { transform: translateX(-100%) skewX(-12deg); }
    100% { transform: translateX(220%)  skewX(-12deg); }
}

@keyframes kp-reveal-up {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0);    }
}

/* ── 4. THEME TRANSITION ──────────────────────────────────────── */
.theme-transitioning *,
.theme-transitioning *::before,
.theme-transitioning *::after {
    transition:
        background-color 0.3s ease,
        background       0.3s ease,
        color            0.3s ease,
        border-color     0.3s ease,
        box-shadow       0.3s ease !important;
}

/* ── 5. SCROLL REVEAL CLASSES ─────────────────────────────────── */
.kp-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition:
        opacity   0.65s cubic-bezier(0.4, 0, 0.2, 1),
        transform 0.65s cubic-bezier(0.4, 0, 0.2, 1);
}

.kp-reveal.kp-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Stagger children inside .kp-stagger */
.kp-stagger > .kp-reveal:nth-child(1) { transition-delay:   0ms; }
.kp-stagger > .kp-reveal:nth-child(2) { transition-delay:  80ms; }
.kp-stagger > .kp-reveal:nth-child(3) { transition-delay: 160ms; }
.kp-stagger > .kp-reveal:nth-child(4) { transition-delay: 240ms; }
.kp-stagger > .kp-reveal:nth-child(5) { transition-delay: 320ms; }
.kp-stagger > .kp-reveal:nth-child(6) { transition-delay: 400ms; }

/* ── 6. NAVBAR GLASSMORPHISM ──────────────────────────────────── */
.navbar {
    background:           var(--navbar-bg) !important;
    backdrop-filter:      blur(14px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(180%) !important;
    border-bottom:        1px solid var(--navbar-border) !important;
    transition:
        background    0.3s ease,
        border-color  0.3s ease,
        box-shadow    0.3s ease;
}

.navbar.nav-scrolled {
    box-shadow: 0 4px 32px rgba(0, 0, 0, 0.18) !important;
}

.logo {
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    color: var(--text-primary) !important;
}

/* Nav items — grow-from-center underline */
.nav-item {
    font-family: var(--font-body) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--text-secondary) !important;
    transition: color 0.2s ease !important;
}

.nav-item:hover {
    color: var(--color-accent) !important;
}

/* Replace static gray bar with animated grow-from-center underline */
.nav-item::after {
    content: '' !important;
    position: absolute !important;
    bottom: 4px !important;
    left: 50% !important;
    width: 0 !important;
    height: 2px !important;
    background-color: var(--color-accent) !important;
    border-radius: 2px !important;
    transform: translateX(-50%) !important;
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.nav-item:hover::after {
    width: 70% !important;
}

/* Dropdown */
.dropdown-content {
    background: var(--bg-elevated) !important;
    border: 1px solid var(--border-default) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: var(--shadow-soft) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

.dropdown-content a {
    color: var(--text-secondary) !important;
    transition: color 0.2s ease, background 0.2s ease !important;
}

.dropdown-content a:hover {
    color: var(--color-accent) !important;
    background: rgba(247, 183, 49, 0.1) !important;
}

.dropdown-content a::after {
    background-color: var(--border-subtle) !important;
}

/* Search */
.search {
    background:   var(--bg-elevated) !important;
    border-color: var(--border-default) !important;
    color:        var(--text-primary) !important;
    border-radius: var(--radius-sm) !important;
}

.search::placeholder { color: var(--text-muted) !important; }

.search:focus {
    border-color: var(--color-primary) !important;
    box-shadow:   0 0 0 3px var(--color-primary-dim) !important;
    outline: none !important;
}

/* Mobile slide menu */
.mobile-slide-menu {
    background: var(--bg-elevated) !important;
    border-left: 1px solid var(--border-default) !important;
}

.mobile-slide-menu a {
    color: var(--text-secondary) !important;
    font-family: var(--font-body);
    transition: color 0.2s ease, transform 0.2s ease;
}

.mobile-slide-menu a:hover {
    color: var(--color-accent) !important;
}

/* ── 7. HERO SECTION ──────────────────────────────────────────── */
.hero {
    position: relative !important;
    overflow: hidden !important;
}

/* Gradient mesh blob container */
.hero-mesh-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}

.kp-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(90px);
}

.kp-blob-1 {
    width:  clamp(320px, 42vw, 640px);
    height: clamp(320px, 42vw, 640px);
    background: var(--color-primary);
    top:   -120px;
    right: -80px;
    opacity: 0.13;
    animation: kp-blob-drift-1 28s ease-in-out infinite;
}

.kp-blob-2 {
    width:  clamp(240px, 32vw, 480px);
    height: clamp(240px, 32vw, 480px);
    background: var(--color-accent);
    bottom: -60px;
    left:   8%;
    opacity: 0.09;
    animation: kp-blob-drift-2 24s ease-in-out infinite;
}

.kp-blob-3 {
    width:  clamp(160px, 22vw, 320px);
    height: clamp(160px, 22vw, 320px);
    background: #8b5cf6;
    top:  38%;
    left: 42%;
    opacity: 0.07;
    animation: kp-blob-drift-3 32s ease-in-out infinite;
}

/* Subtle blobs for light mode (default) */
.kp-blob-1 { opacity: 0.09; }
.kp-blob-2 { opacity: 0.06; }
.kp-blob-3 { opacity: 0.05; }

/* More vivid blobs in dark mode */
[data-theme="dark"] .kp-blob-1 { opacity: 0.13; }
[data-theme="dark"] .kp-blob-2 { opacity: 0.09; }
[data-theme="dark"] .kp-blob-3 { opacity: 0.07; }

/* Keep hero content above blobs */
.hero_container { position: relative; z-index: 1; }

/* Hero typography */
.hero h1 {
    color: var(--text-primary) !important;
    line-height: 1.15 !important;
}

.hero p {
    font-size: 17px !important;
    line-height: 1.7 !important;
    color: var(--text-secondary) !important;
}

.hero h1 .blue_text { color: var(--color-primary) !important; }

/* ── 7b. HERO FLOATING ACHIEVEMENT WIDGETS ─────────────────────── */
.hfs-wrapper {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.hfs-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    padding: 13px 15px;
    min-width: 128px;
    background: var(--bg-elevated);
    border: 1px solid var(--border-default);
    border-radius: 14px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06), 0 1px 4px rgba(0,0,0,0.04);
    animation: hfs-float 4s ease-in-out infinite;
    animation-delay: var(--hfs-delay, 0s);
    transition: box-shadow 0.25s ease, transform 0.25s ease;
    cursor: default;
    z-index: 1;
}

.hfs-card:hover {
    box-shadow: 0 10px 36px rgba(0,0,0,0.1), 0 2px 8px rgba(0,0,0,0.06);
    transform: translateY(-4px) !important;
    animation-play-state: paused;
}

.hfs-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 9px;
    margin-bottom: 5px;
    /* tinted icon bg using accent colour at ~12% opacity */
    background: rgba(from var(--hfs-accent, #1a7fd4) r g b / 0.13);
    color: var(--hfs-accent, var(--color-primary));
    flex-shrink: 0;
}

/* Fallback for browsers without relative color syntax */
@supports not (background: rgba(from red r g b / 0.1)) {
    .hfs-icon {
        background: rgba(100, 160, 240, 0.13);
    }
    .hfs-card:nth-child(2) .hfs-icon { background: rgba(16, 185, 129, 0.13); }
    .hfs-card:nth-child(3) .hfs-icon { background: rgba(245, 158, 11, 0.13); }
}

.hfs-value {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--text-primary);
    letter-spacing: -0.02em;
    line-height: 1;
}

.hfs-label {
    font-size: 0.71rem;
    font-weight: 500;
    color: var(--text-secondary);
    white-space: nowrap;
}

/* Float keyframe */
@keyframes hfs-float {
    0%, 100% { transform: translateY(0); }
    50%       { transform: translateY(-7px); }
}

/* Spinning dashed ring decoration */
.hfs-ring {
    position: absolute;
    right: 10px;
    bottom: 0;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    border: 1.5px dashed var(--border-default);
    animation: hfs-spin 14s linear infinite;
    pointer-events: none;
    opacity: 0.6;
}

@keyframes hfs-spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

/* Dot-grid decoration */
.hfs-dots {
    position: absolute;
    right: 90px;
    bottom: 4px;
    display: grid;
    grid-template-columns: repeat(3, 5px);
    gap: 6px;
    pointer-events: none;
    opacity: 0.3;
}

.hfs-dots span {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--color-primary);
    animation: hfs-dot-pulse 2.4s ease-in-out infinite;
}

.hfs-dots span:nth-child(2) { animation-delay: 0.3s; }
.hfs-dots span:nth-child(3) { animation-delay: 0.6s; }
.hfs-dots span:nth-child(4) { animation-delay: 0.9s; }
.hfs-dots span:nth-child(5) { animation-delay: 1.2s; }
.hfs-dots span:nth-child(6) { animation-delay: 1.5s; }

@keyframes hfs-dot-pulse {
    0%, 100% { opacity: 0.3; transform: scale(1); }
    50%       { opacity: 1;   transform: scale(1.5); }
}

/* Dark mode — strengthen the card glow slightly */
[data-theme="dark"] .hfs-card {
    box-shadow: 0 4px 20px rgba(0,0,0,0.3), 0 0 0 1px rgba(255,255,255,0.04);
}

[data-theme="dark"] .hfs-card:hover {
    box-shadow: 0 10px 36px rgba(0,0,0,0.45), 0 0 0 1px rgba(255,255,255,0.06);
}

/* ── 8. OPPORTUNITY CARDS (hero grid) ─────────────────────────── */
.card {
    border:        1px solid var(--border-subtle) !important;
    border-radius: var(--radius-lg) !important;
    transition:
        transform     0.3s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow    0.3s ease,
        border-color  0.3s ease !important;
}

.card:hover {
    transform:    translateY(-6px) !important;
    border-color: rgba(69, 170, 242, 0.30) !important;
    box-shadow:   var(--shadow-soft) !important;
}

/* ── 9. WHO'S USING — .crd CARDS ──────────────────────────────── */
.crd {
    background:    var(--bg-elevated) !important;
    border:        1px solid var(--border-subtle) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow:    var(--shadow-soft);
    transition:
        transform     0.3s cubic-bezier(0.4, 0, 0.2, 1),
        border-color  0.3s ease,
        box-shadow    0.3s ease !important;
}

.crd:hover {
    transform:    translateY(-4px) !important;
    border-color: rgba(69, 170, 242, 0.28) !important;
    box-shadow:   var(--shadow-soft), var(--shadow-glow) !important;
}

.crd .h4 {
    font-family: var(--font-heading) !important;
    font-weight: 600 !important;
    color: var(--text-primary) !important;
}

.crd p { color: var(--text-secondary) !important; }

/* ── 10. STAT ITEMS ───────────────────────────────────────────── */
.stat-item {
    background:    var(--bg-elevated) !important;
    border:        1px solid var(--border-subtle) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow:    var(--shadow-soft) !important;
    padding:       20px !important;
}

.stat-number { color: var(--text-primary) !important; }
.stat-label  { color: var(--text-muted)   !important; }

/* ── 11. ALUMNI / LOGO STRIP SECTION ──────────────────────────── */
.alumni-companies-section,
.alumni-me-section {
    background-color: var(--bg-surface) !important;
    border-top:    1px solid var(--border-subtle) !important;
    border-bottom: 1px solid var(--border-subtle) !important;
}

/* Slightly dim logos for dark background — image has white bg so invert is not used */
html:not([data-theme="light"]) .logo-strip {
    filter: brightness(0.85) grayscale(0.15);
    transition: filter 0.3s ease;
}

html:not([data-theme="light"]) .logo-strip:hover {
    filter: brightness(1) grayscale(0);
}

html:not([data-theme="light"]) .mnc-logos img {
    filter: brightness(0) invert(1) opacity(0.55);
    transition: filter 0.3s ease;
}

html:not([data-theme="light"]) .mnc-logos img:hover {
    filter: brightness(0) invert(1) opacity(0.9);
}

/* ── 12. LMS COURSE CARDS (dynamically injected — dark mode overrides) ─── */
html:not([data-theme="light"]) .kp-courses-section {
    background: var(--bg-surface) !important;
}
html:not([data-theme="light"]) .kp-courses-section h2 {
    color: var(--text-primary) !important;
}
html:not([data-theme="light"]) .kp-courses-section .kp-sub {
    color: var(--text-secondary) !important;
}
html:not([data-theme="light"]) .kp-course-card {
    background: var(--bg-elevated) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.35) !important;
}
html:not([data-theme="light"]) .kp-card-title {
    color: var(--text-primary) !important;
}
html:not([data-theme="light"]) .kp-card-desc,
html:not([data-theme="light"]) .kp-rating-val,
html:not([data-theme="light"]) .kp-enrolled {
    color: var(--text-secondary) !important;
}
html:not([data-theme="light"]) .kp-price {
    color: var(--text-primary) !important;
}
html:not([data-theme="light"]) .kp-dot {
    background: var(--border-subtle) !important;
}
html:not([data-theme="light"]) .kp-dot.active {
    background: var(--color-primary) !important;
}
html:not([data-theme="light"]) .kp-skel-box,
html:not([data-theme="light"]) .kp-skel-line {
    background: linear-gradient(90deg, var(--bg-elevated) 25%, var(--bg-surface) 50%, var(--bg-elevated) 75%) !important;
    background-size: 200% 100% !important;
}
html:not([data-theme="light"]) .kp-no-courses {
    color: var(--text-muted) !important;
}

/* ── 12. MNC SECTION ──────────────────────────────────────────── */
.mnc { background: var(--bg-base); }

.mnc h2 { color: var(--text-primary) !important; }
.mnc h2 .gray { color: var(--text-muted) !important; }
.mnc h2 .blue_text { color: var(--color-primary) !important; }

/* ── 13. USERS SECTION ────────────────────────────────────────── */
.users { background: var(--bg-base); }
.users h2 { color: var(--text-primary) !important; }

.user-card {
    background:    var(--bg-elevated) !important;
    border:        1px solid var(--border-subtle) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow:    var(--shadow-soft);
    transition:    transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.user-card:hover {
    transform:    translateY(-4px) !important;
    border-color: rgba(69, 170, 242, 0.25) !important;
}

/* ── 14. CAREER QUIZ CTA ──────────────────────────────────────── */
.carrer-quizz { background: var(--bg-base); }

.career-container {
    background: linear-gradient(
        135deg,
        var(--bg-surface-2) 0%,
        var(--bg-elevated)  100%
    ) !important;
    border: 1px solid var(--border-default) !important;
    border-radius: var(--radius-xl) !important;
}

[data-theme="light"] .career-container {
    background: linear-gradient(135deg, #c5e1a5 0%, #e8f5e9 100%) !important;
    border: none !important;
}

[data-theme="dark"] .career-container {
    background: linear-gradient(135deg, var(--bg-surface-2) 0%, var(--bg-elevated) 100%) !important;
    border: 1px solid var(--border-default) !important;
}

.content-box h1    { color: var(--text-primary)   !important; }
.content-box .subtitle { color: var(--text-secondary) !important; }

/* ── 15. TESTIMONIAL SLIDER ───────────────────────────────────── */
.move-slider-ruby { 
    background: var(--bg-base) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important; }

.move-slider-box {
    background:    var(--bg-elevated) !important;
    border:        1px solid var(--border-subtle) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow:    var(--shadow-soft);
    transition:    transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.move-slider-box:hover {
    transform: none !important;
}

.slide-name {
    font-family: var(--font-heading) !important;
    font-weight: 600 !important;
    color: var(--text-primary) !important;
}

.slide-role   { color: var(--text-secondary) !important; }
.slide-text   { color: var(--text-secondary) !important; }

.move-slider-box-static {
    background: var(--color-primary) !important;
    border-radius: var(--radius-lg) !important;
}

/* ── 16. OPPORTUNITY CARDS (card-add) ─────────────────────────── */
.card-add {
    border-radius: var(--radius-xl) !important;
    transition:
        transform  0.3s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow 0.3s ease !important;
    overflow: hidden !important;
}

.card-add:hover {
    transform:  translateY(-4px) scale(1.02) !important;
    box-shadow: var(--shadow-soft) !important;
}

.opportunity-section { background: var(--bg-base); }
.opportunity-section .title    { color: var(--text-primary)   !important; }
.opportunity-section .subtitle { color: var(--text-secondary) !important; }

/* ── 17. PRACTICE CARDS ───────────────────────────────────────── */
.practice-container-parent,
.practice-cards-container {
    background-color: var(--bg-base) !important;
    color: var(--text-primary) !important;
}

.practice-title    { color: var(--text-primary)   !important; font-family: var(--font-heading) !important; }
.practice-subtitle { color: var(--text-secondary) !important; }

.practice-card {
    background-color: var(--bg-elevated) !important;
    border: 1px solid var(--border-subtle) !important;
}

.practice-card h3        { color: var(--text-primary)   !important; }
.practice-card p         { color: var(--text-secondary) !important; }
.practice-footer-text    { color: var(--text-muted)     !important; }
.practice-meta-info      { color: var(--text-secondary) !important; }

/* ── 18. CARD-EASY (assessment) ───────────────────────────────── */
.card-simple { background: var(--bg-base); }

.card-easy {
    background-color: var(--bg-elevated) !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: var(--radius-xl) !important;
    box-shadow: var(--shadow-soft) !important;
}

.card-easy-right h2 { color: var(--text-primary)   !important; }
.card-easy-right p  { color: var(--text-secondary) !important; }
.feature            { color: var(--text-secondary) !important; }

/* ── 19. FAQ SECTION ──────────────────────────────────────────── */
.faq-section {
    background: var(--bg-base) !important;
    border-radius: var(--radius-xl);
}

.faq-title    { color: var(--text-primary) !important; font-family: var(--font-heading) !important; }
.faq-subtitle { color: var(--text-muted)   !important; }

.faq-item {
    background:    var(--bg-elevated) !important;
    border:        1px solid var(--border-subtle) !important;
    border-radius: var(--radius-md) !important;
    box-shadow:    var(--shadow-soft);
    transition:
        box-shadow   0.3s ease,
        border-color 0.3s ease !important;
}

.faq-item:hover {
    border-color: rgba(69, 170, 242, 0.22) !important;
    box-shadow:   var(--shadow-soft), 0 0 24px rgba(69, 170, 242, 0.07) !important;
}

.faq-question {
    color:      var(--text-primary) !important;
    background: none !important;
    font-family: var(--font-body) !important;
}

.faq-question:hover {
    background: var(--color-primary-dim) !important;
    transform: none !important;
}

.faq-answer {
    background: var(--bg-surface) !important;
}

.faq-answer p { color: var(--text-secondary) !important; }

/* ── 20. BUTTON SYSTEM ────────────────────────────────────────── */

/* Primary */
.btn-primary,
.quiz-button,
.resume-button,
.content-wrapper button:not(.btn-secondary):not(.close-quiz-btn) {
    position: relative !important;
    overflow: hidden !important;
    background: var(--color-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 12px 28px !important;
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    cursor: pointer !important;
    transition:
        background  0.25s ease,
        transform   0.2s  ease,
        box-shadow  0.25s ease !important;
}

/* Keep pill shape for quiz/resume buttons */
.quiz-button,
.resume-button {
    border-radius: 50px !important;
    padding: 14px 30px !important;
}

/* Shimmer sweep on hover */
.btn-primary::after,
.quiz-button::after,
.resume-button::after,
.content-wrapper button:not(.btn-secondary):not(.close-quiz-btn)::after {
    content: '';
    position: absolute;
    top: 0;
    left: -80%;
    width: 50%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.22),
        transparent
    );
    transform: skewX(-12deg);
    opacity: 0;
    transition: none;
}

.btn-primary:hover::after,
.quiz-button:hover::after,
.resume-button:hover::after,
.content-wrapper button:not(.btn-secondary):not(.close-quiz-btn):hover::after {
    animation: kp-shimmer 0.65s ease;
    opacity: 1;
}

.btn-primary:hover,
.quiz-button:hover,
.resume-button:hover,
.content-wrapper button:not(.btn-secondary):not(.close-quiz-btn):hover {
    background:   var(--color-accent) !important;
    color:        #1a1a1a !important;
    transform:    translateY(-1px) !important;
    box-shadow:   0 8px 28px rgba(247, 183, 49, 0.40) !important;
}

.btn-primary:active,
.quiz-button:active,
.resume-button:active {
    transform: translateY(0) !important;
}

/* Apply btn — outline pill, retains existing shape */
.apply-btn {
    position: relative !important;
    overflow: hidden !important;
    background: transparent !important;
    color: var(--color-primary) !important;
    border: 1.5px solid var(--color-primary) !important;
    border-radius: 25px !important;
    font-size: 13px !important;
    padding: 10px 24px !important;
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    transition:
        color      0.3s ease,
        box-shadow 0.3s ease,
        transform  0.2s ease !important;
}

.apply-btn::before {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(135deg, var(--color-accent), #e6a820) !important;
    transition: left 0.4s ease !important;
    z-index: -1;
}

.apply-btn:hover {
    color: #1a1a1a !important;
    border-color: var(--color-accent) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 16px rgba(247, 183, 49, 0.35) !important;
}

.apply-btn:hover::before { left: 0 !important; }
.apply-btn:active        { transform: translateY(0) !important; }

/* Secondary / outline */
.btn-show-more,
.content-wrapper .btn-secondary {
    background:    transparent !important;
    color:         var(--color-primary) !important;
    border:        1.5px solid var(--color-primary) !important;
    border-radius: var(--radius-sm) !important;
    font-family:   var(--font-body) !important;
    font-weight:   600 !important;
    padding:       10px 24px !important;
    transition: background 0.2s ease, color 0.2s ease !important;
}

.btn-show-more:hover,
.content-wrapper .btn-secondary:hover {
    background: var(--color-primary-dim) !important;
    color:      var(--color-primary)     !important;
}

/* Practice CTA & newsletter buttons */
.practice-cta-btn:hover {
    background-color: var(--color-accent) !important;
    color: #1a1a1a !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 28px rgba(247, 183, 49, 0.40) !important;
}

.newsletter-form button:hover {
    background-color: var(--color-accent) !important;
    color: #1a1a1a !important;
}

/* Card-easy button */
.card-easy-right button {
    background-color: var(--color-primary) !important;
    border-radius: 25px !important;
    border: none !important;
    color: #fff !important;
    transition: background 0.25s ease, transform 0.2s ease !important;
}

.card-easy-right button:hover {
    background-color: var(--color-accent) !important;
    color: #1a1a1a !important;
    transform: translateY(-1px) !important;
}

/* ── 21. BADGES / PILLS / TAGS ────────────────────────────────── */
.hiring-badge {
    background: rgba(16, 185, 129, 0.15) !important;
    color: #10b981 !important;
    border-radius: 9999px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 3px 10px !important;
}

.button_blue_box {
    background: var(--color-primary-dim) !important;
    color: var(--color-primary) !important;
    border-radius: 9999px !important;
    border: 1px solid transparent !important;
    font-family: var(--font-body) !important;
    transition: background 0.2s ease !important;
}

/* ── 22. FORM INPUT FOCUS STATES ──────────────────────────────── */
.container-quizz {
    background: var(--bg-base) !important;
    color:      var(--text-primary) !important;
}

.container-quizz h1,
.container-quizz .question {
    color: var(--text-primary) !important;
}

.container-quizz .subtitle,
.container-quizz .option-text {
    color: var(--text-secondary) !important;
}

.container-quizz .input-group label {
    color: var(--text-secondary) !important;
}

.container-quizz input[type="text"],
.container-quizz input[type="email"],
.container-quizz input[type="tel"],
.container-quizz select,
.container-quizz .form-select,
.container-quizz input[type="file"],
.container-quizz #phone {
    background:  var(--bg-elevated) !important;
    border:      1.5px solid var(--border-default) !important;
    color:       var(--text-primary) !important;
    border-radius: var(--radius-md) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.container-quizz input:focus,
.container-quizz select:focus,
.container-quizz #phone:focus {
    border-color: var(--color-primary) !important;
    box-shadow:   0 0 0 3px var(--color-primary-dim) !important;
    outline: none !important;
    background: var(--bg-elevated) !important;
}

.container-quizz .radio-circle {
    background:   var(--bg-elevated) !important;
    border-color: var(--border-default) !important;
}

.container-quizz .option {
    border-radius: var(--radius-md);
    transition: background 0.2s ease;
}

.container-quizz .option:hover {
    background: var(--color-primary-dim) !important;
}

/* Newsletter input in footer */
.newsletter-form input {
    background:    var(--bg-elevated) !important;
    border:        1px solid var(--border-default) !important;
    color:         var(--text-primary) !important;
    border-radius: var(--radius-sm) 0 0 var(--radius-sm) !important;
}

.newsletter-form input::placeholder { color: var(--text-muted) !important; }

/* ── 23. SECTION LAYOUT IMPROVEMENTS ─────────────────────────── */
/* Sections already have margin: 60px from var(--section-margin) — no extra padding needed */
.hero,
.users,
.carrer-quizz,
.our-numbers,
.opportunity-section,
.move-slider-ruby,
.card-simple,
.practice-container-parent,
.faq-section {
    padding-top:    0 !important;
    padding-bottom: 0 !important;
}

/* Hero top clears the fixed navbar */
.hero {
    padding-top: 15px !important;
}

/* Animated gradient divider between sections */
.kp-section-divider {
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent 0%,
        var(--color-primary) 40%,
        transparent 100%
    );
    opacity: 0.25;
    margin: 0;
}

/* ── 24. IMAGE TREATMENT ──────────────────────────────────────── */
.image-container {
    border-radius: var(--radius-lg) !important;
    overflow: hidden !important;
    border: 1px solid var(--border-subtle) !important;
}

.image-container img {
    transition: transform 0.4s ease !important;
}

.image-container:hover img {
    transform: scale(1.04) !important;
}

.crd img {
    border-radius: var(--radius-md) !important;
}

/* ── 25. SLIDER SECTION ───────────────────────────────────────── */
.slider { background: var(--bg-base); }

.nav-button {
    background: var(--bg-elevated) !important;
    border: 1px solid var(--border-default) !important;
    color:  var(--text-primary) !important;
    transition:
        background  0.25s ease,
        box-shadow  0.25s ease !important;
}

.nav-button:hover {
    background: var(--bg-surface) !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.25) !important;
}

/* ── 26. REFER SECTION ────────────────────────────────────────── */
.refer-section {
    background: var(--bg-surface-2) !important;
    border: 1px solid var(--border-default) !important;
    box-shadow: var(--shadow-soft) !important;
}

[data-theme="light"] .refer-section {
    background: #fcebc8 !important;
    border: none !important;
}

.refer-content h2 { color: var(--text-primary)   !important; }
.refer-content p  { color: var(--text-secondary) !important; }

.refer-btn {
    background: var(--color-primary) !important;
    color: #fff !important;
    border-radius: 9999px !important;
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    transition: background 0.25s ease, transform 0.2s ease !important;
}

.refer-btn:hover {
    background: var(--color-accent) !important;
    color: #1a1a1a !important;
    transform: scale(1.04) !important;
}

/* ── 27. FOOTER ───────────────────────────────────────────────── */
.footer {
    background: linear-gradient(
        135deg,
        var(--color-primary)       0%,
        var(--color-primary-hover) 100%
    ) !important;
}

/* ── 28. MICRO-INTERACTIONS ───────────────────────────────────── */
.social-icons a {
    transition: color 0.2s ease, transform 0.2s ease !important;
}

.social-icons a:hover {
    transform: translateY(-3px) scale(1.1) !important;
}

/* Dot nav */
.dot {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                background 0.3s ease !important;
}

.dot.active {
    background: var(--color-primary) !important;
    box-shadow: 0 4px 12px rgba(69, 170, 242, 0.40) !important;
}

/* Icon scale on hover (FontAwesome icons inside interactive elements) */
button:hover [class*="fa-"],
a:hover       [class*="fa-"],
.social-icons a:hover [class*="fa-"] {
    transform: scale(1.12);
    transition: transform 0.2s ease;
}

/* ── 29. CLOSE QUIZ BTN (keep existing glass style) ──────────── */
.close-quiz-btn {
    color: var(--text-secondary) !important;
    border-color: var(--border-default) !important;
    background: var(--color-primary-dim) !important;
    backdrop-filter: blur(10px) !important;
}

.close-quiz-btn:hover {
    background: var(--color-primary-dim) !important;
    border-color: var(--color-primary) !important;
    color: var(--color-primary) !important;
}

/* ── 30. ACCESSIBILITY ────────────────────────────────────────── */
*:focus-visible {
    outline:        2px solid var(--color-primary) !important;
    outline-offset: 3px !important;
    border-radius:  4px !important;
}

*:focus:not(:focus-visible) {
    outline: none !important;
}

/* ── 31. REDUCED MOTION ───────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .kp-blob-1,
    .kp-blob-2,
    .kp-blob-3 {
        animation: none !important;
    }

    .btn-primary::after,
    .quiz-button::after,
    .resume-button::after,
    .content-wrapper button::after {
        animation: none !important;
        opacity: 0 !important;
    }

    .kp-reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .logo-strip-wrapper {
        animation-play-state: paused !important;
    }

    .logo-strip-top,
    .logo-strip-bottom {
        animation-play-state: paused !important;
    }

    .image-container:hover img {
        transform: none !important;
    }
}

/* ── 32. THEME TOGGLE BUTTON ──────────────────────────────────── */

.kp-theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1.5px solid var(--border-default);
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    margin-left: 8px;
    padding: 0;
    flex-shrink: 0;
    transition:
        color       0.25s ease,
        border-color 0.25s ease,
        background   0.25s ease,
        transform    0.25s ease;
    position: relative;
    overflow: hidden;
}

.kp-theme-toggle:hover {
    color: var(--color-primary);
    border-color: var(--color-primary);
    background: var(--color-primary-dim);
    transform: scale(1.1);
}

.kp-theme-toggle:active {
    transform: scale(0.95);
}

/* Sun / moon icons — only one visible at a time */
.kp-theme-icon {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    transition:
        opacity   0.3s ease,
        transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Default (dark theme): show sun, hide moon */
.kp-sun-icon  { opacity: 1; transform: rotate(0deg)    scale(1);  }
.kp-moon-icon { opacity: 0; transform: rotate(-90deg)  scale(0.5); }

/* Light theme: show moon, hide sun */
[data-theme="light"] .kp-sun-icon  { opacity: 0; transform: rotate(90deg) scale(0.5); }
[data-theme="light"] .kp-moon-icon { opacity: 1; transform: rotate(0deg)  scale(1);   }

/* ── 33. RESPONSIVE TWEAKS ────────────────────────────────────── */
@media (max-width: 768px) {
    .hero {
        padding-top: clamp(72px, 14vw, 100px) !important;
    }

    .card-easy {
        border-radius: var(--radius-lg) !important;
    }

    .career-container {
        border-radius: var(--radius-lg) !important;
    }
}
.career-container {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

.content-box {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.content-box h1 {
    margin-bottom: 10px !important;
}

.content-box .subtitle {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
}

.quiz-button {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}
.career-resume-wrapper {
    padding-top: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.resume-continer {
    padding: 20px 50px 0 50px !important;
}

.resume-continer .content-box {
    padding-bottom: 20px !important;
}
.card-simple {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.card-easy {
    margin: 0 !important;
}

.card-easy-left {
    padding: 0 !important;
}

.card-easy-right {
    padding: 20px 30px !important;
}
.card-easy-left img {
    position: relative !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: center !important;
    object-position: bottom center !important;
}
/* ── REFER SECTION — Light Theme ── */
[data-theme="light"] .refer-section {
    background: linear-gradient(135deg, var(--color-primary-dim), var(--bg-surface)) !important;
    border: 1.5px solid rgba(26, 127, 212, 0.15) !important;
    box-shadow: 0 8px 32px rgba(26, 127, 212, 0.08) !important;
}

[data-theme="light"] .refer-content h2 {
    color: #0f172a !important;
}

[data-theme="light"] .refer-content p {
    color: rgba(15, 23, 42, 0.65) !important;
}

[data-theme="light"] .refer-btn {
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-hover)) !important;
    color: #fff !important;
    box-shadow: 0 8px 24px rgba(26, 127, 212, 0.35) !important;
}

[data-theme="light"] .refer-btn:hover {
    background: linear-gradient(135deg, #F7B731, #f59e0b) !important;
    color: #1a1a1a !important;
    box-shadow: 0 12px 32px rgba(247, 183, 49, 0.45) !important;
}

/* ── REFER SECTION — Dark Theme ── */
[data-theme="dark"] .refer-section {
    background: linear-gradient(135deg, var(--bg-surface), var(--bg-surface-2)) !important;
    border: 1.5px solid rgba(69, 170, 242, 0.15) !important;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.4) !important;
}

[data-theme="dark"] .refer-content h2 {
    color: #f8fafc !important;
}

[data-theme="dark"] .refer-content p {
    color: rgba(248, 250, 252, 0.65) !important;
}

[data-theme="dark"] .refer-btn {
    background: linear-gradient(135deg, var(--color-accent), #f59e0b) !important;
    color: #1a1a1a !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 24px rgba(247, 183, 49, 0.35) !important;
}

[data-theme="dark"] .refer-btn:hover {
    background: linear-gradient(135deg, #45AAF2, #2196F3) !important;
    color: #fff !important;
    box-shadow: 0 12px 32px rgba(69, 170, 242, 0.45) !important;
}

/* ── Shared styles for both themes ── */
.refer-section {
    padding-bottom: 40px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.refer-card {
    padding: 40px 50px 40px 50px !important;
    align-items: center !important;
    margin: 0 !important;
}

.refer-btn {
    position: relative !important;
    z-index: 2 !important;
    margin-top: 20px !important;
}

.refer-image {
    margin: 0 !important;
    padding: 0 !important;
    align-self: stretch !important;
    display: flex !important;
    align-items: flex-end !important;
}

.refer-image img {
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    vertical-align: bottom !important;
    width: 100% !important;
}
.refer-content {
    padding: 0 !important;
    margin: 0 !important;
}
/* ── MODERN FOOTER ──────────────────────────────────────────── */
.footer {
    background: linear-gradient(160deg, #0a0f1e 0%, #0d1b3e 60%, #0a1628 100%) !important;
    color: #fff !important;
    padding: 0 !important;
    position: relative !important;
    margin-top: 0 !important;
}

.footer-wave {
    line-height: 0;
    margin-bottom: -2px;
}

.footer-wave svg {
    width: 100%;
    height: 60px;
    display: block;
}

.footer-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 50px 40px 0;
}

/* Brand Strip */
.footer-brand-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 32px;
}

.footer-logo-text {
    font-family: var(--font-heading) !important;
    font-size: 2rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.03em;
}

.footer-logo-accent {
    color: var(--color-accent, #F7B731);
}

.footer-tagline {
    font-size: 0.85rem;
    color: rgba(255,255,255,0.5) !important;
    margin-top: 4px !important;
    margin-bottom: 0 !important;
}

.footer-tagline .heart { color: #ef4444; }

.footer-social-strip {
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-social-btn {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.footer-social-btn img {
    width: 24px;
    height: 24px;
    display: block;
    object-fit: contain;
    filter: invert(1);
    transition: filter 0.25s ease;
}

.footer-social-btn:hover {
    background: rgba(247,183,49,0.15);
    border-color: rgba(247,183,49,0.4);
    transform: translateY(-3px);
}

.footer-social-btn:hover img {
    filter: brightness(0) saturate(100%) invert(80%) sepia(60%) saturate(500%) hue-rotate(5deg);
}

/* Divider */
.footer-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.12), transparent);
    margin: 0 0 36px;
}

/* Main Grid */
.footer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1.4fr;
    gap: 40px;
    margin-bottom: 36px;
}

.footer-col-title {
    font-family: var(--font-heading) !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--color-accent, #F7B731) !important;
    margin-bottom: 16px !important;
}

.footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer-col ul li a {
    color: rgba(255,255,255,0.55) !important;
    font-size: 0.875rem;
    text-decoration: none;
    transition: color 0.2s ease, padding-left 0.2s ease;
    display: inline-block;
}

.footer-col ul li a:hover {
    color: #fff !important;
    padding-left: 4px;
}

/* Contact Chips */
.footer-contact-items {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer-contact-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,0.6) !important;
    font-size: 0.82rem;
    text-decoration: none;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 8px;
    padding: 8px 12px;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.footer-contact-chip svg {
    flex-shrink: 0;
    opacity: 0.6;
}

.footer-contact-chip:hover {
    background: rgba(26,127,212,0.15);
    border-color: rgba(26,127,212,0.35);
    color: #fff !important;
}

/* Newsletter */
.footer-newsletter {
    display: flex;
    gap: 0;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.05);
}

.footer-newsletter input {
    flex: 1;
    background: transparent !important;
    border: none !important;
    padding: 10px 14px !important;
    color: #fff !important;
    font-size: 0.85rem;
    outline: none;
}

.footer-newsletter input::placeholder {
    color: rgba(255,255,255,0.35) !important;
}

.footer-newsletter button {
    background: var(--color-primary, #1a7fd4) !important;
    border: none !important;
    padding: 10px 16px !important;
    color: #fff !important;
    cursor: pointer;
    transition: background 0.25s ease;
    border-radius: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-newsletter button:hover {
    background: var(--color-accent, #F7B731) !important;
    color: #1a1a1a !important;
}

/* Bottom Bar */
.footer-bottom-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding: 20px 0 24px;
    border-top: 1px solid rgba(255,255,255,0.08);
}

.footer-bottom-bar p {
    color: rgba(255,255,255,0.4) !important;
    font-size: 0.8rem;
    margin: 0 !important;
}

.footer-bottom-bar p a {
    color: rgba(255,255,255,0.7) !important;
    font-weight: 600;
    text-decoration: none;
}

.footer-bottom-bar p a:hover {
    color: #fff !important;
}

.footer-bottom-links {
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-bottom-links a {
    color: rgba(255,255,255,0.4) !important;
    font-size: 0.8rem;
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-bottom-links a:hover {
    color: #fff !important;
}

.footer-bottom-links span {
    color: rgba(255,255,255,0.2);
}

/* Responsive */
@media (max-width: 900px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }
}

@media (max-width: 600px) {
    .footer-inner {
        padding: 40px 20px 0;
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-brand-strip {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer-bottom-bar {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* Fix mobile menu showing on desktop in form pages */
.mobile-slide-menu {
    display: none !important;
    flex-direction: column;
    position: fixed;
    top: 64px;
    right: 0;
    width: 260px;
    height: calc(100vh - 64px);
    transform: translateX(100%);
    transition: transform 0.3s ease;
}

.mobile-slide-menu.open {
    display: flex !important;
    transform: translateX(0);
}

@media (max-width: 768px) {
    .mobile-slide-menu {
        display: flex !important;
        transform: translateX(100%);
    }
    .mobile-slide-menu.open {
        transform: translateX(0) !important;
    }
}