/*
Theme Name: LesEngels.nl - Modern Learning App
Version: 9.1
*/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{--navy:#0f172a;--orange:#ea580c;--purple:#7c3aed;--text:#1e293b;--muted:#64748b;--border:#e2e8f0;--shadow:0 18px 50px rgba(15,23,42,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body,button,input{font-family:Inter,Arial,sans-serif}html,body{margin:0;width:100%}body{background:#f8fafc;color:var(--text);line-height:1.6;overflow-x:hidden}a{-webkit-tap-highlight-color:transparent}

.site-header{position:sticky;top:0;z-index:1000;min-height:78px;padding:14px 30px;display:flex;align-items:center;justify-content:space-between;gap:22px;background:rgba(15,23,42,.97);box-shadow:0 8px 28px rgba(15,23,42,.18);backdrop-filter:blur(16px)}
.logo-link{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:1.25rem;font-weight:800}.logo-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#fdba74,var(--orange));font-size:.72rem;box-shadow:0 8px 20px rgba(234,88,12,.28)}
.header-actions{display:flex;align-items:center;gap:8px}.btn-tool{min-height:44px;padding:0 14px;display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.08);color:#f8fafc;text-decoration:none;font-weight:650;transition:.18s}.btn-tool:hover{transform:translateY(-2px);background:rgba(255,255,255,.15)}.btn-tool-primary{background:linear-gradient(135deg,#fb923c,var(--orange))}.mobile-menu-toggle{display:none;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.08);color:#fff;padding:10px 13px;font-weight:700}
.search-overlay{position:fixed;inset:0;z-index:2000;padding:24px;display:flex;justify-content:center;align-items:flex-start;background:rgba(15,23,42,.65);backdrop-filter:blur(12px);opacity:0;visibility:hidden;transition:.2s}.search-overlay.is-open{opacity:1;visibility:visible}.search-panel{position:relative;width:min(680px,100%);margin-top:12vh;padding:32px;border-radius:26px;background:#fff;box-shadow:0 35px 90px rgba(15,23,42,.3)}.search-close{position:absolute;right:14px;top:12px;width:40px;height:40px;border:0;border-radius:50%;font-size:1.5rem}.search-panel h2{margin:0;color:var(--navy)}.search-panel p{color:var(--muted)}.search-panel form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:20px}.search-panel input{height:52px;padding:0 17px;border:1px solid #cbd5e1;border-radius:14px;font-size:1rem}.search-panel form button{padding:0 22px;border:0;border-radius:14px;background:var(--orange);color:#fff;font-weight:750}

.main-container{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 78px)}.sidebar{padding:40px 25px;background:#fff;border-right:1px solid var(--border)}.sidebar-nav ul{list-style:none;margin:0;padding:0}.sidebar-nav a{display:block;padding:12px 18px;border-radius:10px;color:var(--muted);text-decoration:none}.sidebar-nav a:hover,.sidebar-nav .current-menu-item a{background:#fff7ed;color:var(--orange);font-weight:700}.content-area{width:100%;max-width:1400px;margin:0 auto;padding:50px 60px}.content-area ul:not(.lesson-button){padding:25px 30px 25px 45px;background:#fff;border:1px solid var(--border);border-left:4px solid var(--orange);border-radius:12px;box-shadow:0 5px 16px rgba(15,23,42,.05)}.content-area table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:12px;overflow:hidden}.content-area th,.content-area td{padding:14px 20px;text-align:left;border-bottom:1px solid #f1f5f9}.content-area th{background:#f8fafc}.content-area td{background:#fff}
.ai-notice-box{margin:15px 0 25px;padding:5px 14px;display:inline-flex;gap:8px;align-items:center;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:999px}.ai-notice-box .ai-text{color:var(--muted);font-size:.8rem;font-weight:600}

.home-app{position:relative;isolation:isolate;min-height:calc(100vh - 78px);overflow:hidden;background:linear-gradient(145deg,#f8fafc,#f6f4ff 48%,#fff8f3)}.home-app-inner{position:relative;z-index:2;width:min(1360px,calc(100% - 48px));margin:auto;padding:50px 0 78px}.pastel-blob{position:absolute;z-index:0;border-radius:50%;filter:blur(20px);opacity:.55;pointer-events:none}.blob-one{width:460px;height:460px;left:-140px;top:-150px;background:#ddd6fe;animation:float1 15s ease-in-out infinite alternate}.blob-two{width:500px;height:500px;right:-190px;top:220px;background:#bae6fd;animation:float2 19s ease-in-out infinite alternate}.blob-three{width:430px;height:430px;left:35%;bottom:-180px;background:#bbf7d0;animation:float1 21s ease-in-out infinite alternate-reverse}@keyframes float1{to{transform:translate(55px,35px) scale(1.08)}}@keyframes float2{to{transform:translate(-60px,50px) scale(.94)}}
.home-hero{min-height:470px;padding:58px 62px;display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:50px;border:1px solid rgba(255,255,255,.9);border-radius:34px;background:rgba(255,255,255,.78);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.eyebrow{display:inline-flex;gap:7px;color:var(--purple);font-size:.76rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.home-hero h1{margin:18px 0 20px;color:var(--navy);font-size:clamp(2.8rem,5vw,5rem);line-height:1;letter-spacing:-.065em}.home-hero h1 span{background:linear-gradient(100deg,var(--orange),var(--purple));background-clip:text;-webkit-background-clip:text;color:transparent}.home-hero-copy>p{max-width:690px;color:#475569;font-size:1.14rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.app-button{min-height:51px;padding:0 20px;display:inline-flex;align-items:center;border-radius:15px;text-decoration:none;font-weight:750;transition:.18s}.app-button:hover{transform:translateY(-3px)}.app-button.primary{background:linear-gradient(135deg,#fb923c,var(--orange));color:#fff;box-shadow:0 12px 25px rgba(234,88,12,.25)}.app-button.secondary{background:#fff;border:1px solid var(--border);color:var(--text)}.hero-stats{display:flex;flex-wrap:wrap;gap:26px;margin-top:35px;color:var(--muted);font-size:.8rem}.hero-stats span{display:grid}.hero-stats strong{color:var(--navy);font-size:1rem}
.hero-demo{position:relative;min-height:340px;display:grid;place-items:center}.demo-window{width:min(340px,90%);padding:18px;border:1px solid rgba(148,163,184,.2);border-radius:28px;background:#fff;box-shadow:0 25px 60px rgba(51,65,85,.18);animation:cardfloat 5.5s ease-in-out infinite}.window-dots{display:flex;gap:6px}.window-dots i{width:9px;height:9px;border-radius:50%;background:#fda4af}.window-dots i:nth-child(2){background:#fde68a}.window-dots i:nth-child(3){background:#86efac}.demo-icon{width:74px;height:74px;margin:28px auto 24px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(135deg,#dbeafe,#ede9fe);font-size:2rem}.demo-line{height:11px;margin:10px auto;border-radius:999px;background:#e2e8f0}.demo-line.wide{width:82%}.demo-line.short{width:60%}.demo-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:26px 0}.demo-options i{height:45px;border:1px solid var(--border);border-radius:13px;background:#f8fafc}.demo-progress{height:11px;border-radius:999px;background:#e2e8f0;overflow:hidden}.demo-progress i{display:block;width:72%;height:100%;background:linear-gradient(90deg,#34d399,#38bdf8)}.floating-label{position:absolute;padding:9px 13px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.09);font-size:.78rem;font-weight:750}.label-one{left:0;top:28px}.label-two{right:0;bottom:30px}@keyframes cardfloat{50%{transform:translateY(-12px) rotate(1deg)}}
.latest-section,.skills-section{padding-top:82px;scroll-margin-top:95px}.section-heading{margin-bottom:26px}.section-heading h2{margin:6px 0 4px;color:var(--navy);font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.1;letter-spacing:-.045em}.section-heading p{margin:0;color:var(--muted)}.section-heading.centered{text-align:center}
.lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.lesson-card{min-height:280px;border:1px solid rgba(255,255,255,.9);border-radius:24px;box-shadow:0 8px 25px rgba(15,23,42,.07);overflow:hidden;animation:enter .55s ease both;animation-delay:calc(var(--delay)*70ms)}@keyframes enter{from{opacity:0;transform:translateY(18px)}}.lesson-card.lavender{background:linear-gradient(145deg,#f7f4ff,#e9e3ff)}.lesson-card.mint{background:linear-gradient(145deg,#f2fff8,#d8f7e7)}.lesson-card.blue{background:linear-gradient(145deg,#f3f9ff,#ddecff)}.lesson-card.peach{background:linear-gradient(145deg,#fff8f3,#ffe6d8)}.lesson-card.yellow{background:linear-gradient(145deg,#fffdf4,#fff3c5)}.lesson-card.pink{background:linear-gradient(145deg,#fff5f9,#ffe0eb)}.lesson-card:hover{transform:translateY(-7px);box-shadow:0 24px 55px rgba(15,23,42,.14)}.lesson-card-link{height:100%;padding:24px;display:flex;flex-direction:column;color:var(--text);text-decoration:none}.lesson-card-top{display:flex;align-items:center;justify-content:space-between}.lesson-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:17px;background:rgba(255,255,255,.75);font-size:1.3rem}.lesson-category{padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.66);color:#475569;font-size:.67rem;font-weight:800;text-transform:uppercase}.lesson-card h3{margin:22px 0 9px;color:var(--navy);font-size:1.3rem;line-height:1.25}.lesson-card p{margin:0;color:#475569;font-size:.9rem}.lesson-card-bottom{margin-top:auto;padding-top:22px;display:flex;justify-content:space-between;color:var(--navy);font-size:.82rem;font-weight:800}
.skills-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.skill-card{min-height:145px;padding:21px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;border:1px solid rgba(255,255,255,.88);border-radius:22px;color:var(--text);text-decoration:none;box-shadow:0 8px 24px rgba(15,23,42,.07);transition:.18s}.skill-card:hover{transform:translateY(-6px)}.skill-card.reading{background:#dbeafe}.skill-card.listening{background:#d1fae5}.skill-card.grammar{background:#ffedd5}.skill-card.vocabulary{background:#ede9fe}.skill-card b{width:50px;height:50px;display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.7);font-size:1.3rem}.skill-card span{display:grid}.skill-card strong{color:var(--navy)}.skill-card small{color:var(--muted);font-size:.74rem;line-height:1.4}.skill-card i{font-style:normal}

@media(max-width:1050px){.mobile-menu-toggle{display:inline-flex}.header-actions{position:absolute;left:18px;right:18px;top:70px;padding:12px;display:none;flex-direction:column;align-items:stretch;background:#172036;border-radius:16px;box-shadow:var(--shadow)}.header-actions.is-open{display:flex}.btn-tool{justify-content:flex-start}.home-hero{grid-template-columns:1fr;padding:45px}.lesson-grid{grid-template-columns:repeat(2,1fr)}.skills-grid{grid-template-columns:repeat(2,1fr)}.main-container{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border)} }
@media(max-width:650px){.site-header{padding:12px 15px}.logo-link{font-size:1.06rem}.mobile-menu-toggle span{display:none}.home-app-inner{width:calc(100% - 22px);padding:18px 0 50px}.home-hero{padding:32px 22px;border-radius:25px}.home-hero h1{font-size:clamp(2.4rem,13vw,3.7rem)}.hero-actions{flex-direction:column}.app-button{justify-content:center}.hero-demo{min-height:300px}.lesson-grid,.skills-grid{grid-template-columns:1fr}.latest-section,.skills-section{padding-top:60px}.content-area{padding:30px 18px}.search-panel form{grid-template-columns:1fr}.search-panel form button{height:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* =========================================================
   9. SOFTER APP HEADER + WORDPRESS ADMIN BAR FIX
   ========================================================= */

.site-header {
    min-height: 74px;
    padding: 11px clamp(18px, 3vw, 44px);
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.94),
            rgba(248, 247, 255, 0.9)
        );
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
    box-shadow: 0 10px 35px rgba(71, 85, 105, 0.11);
    backdrop-filter: blur(20px) saturate(145%);
    -webkit-backdrop-filter: blur(20px) saturate(145%);
}

body.admin-bar .site-header {
    top: 32px;
}

.logo-link {
    flex: 0 0 auto;
    color: var(--navy);
}

.logo-link:hover,
.logo-link:focus-visible {
    color: var(--purple);
    outline: none;
}

.logo-mark {
    background: linear-gradient(135deg, #fb923c, #ec4899);
    color: #ffffff;
    box-shadow: 0 9px 24px rgba(236, 72, 153, 0.2);
}

.header-actions {
    min-width: 0;
    flex: 1 1 auto;
    justify-content: flex-end;
}

.btn-tool {
    min-height: 42px;
    padding: 0 13px;
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(148, 163, 184, 0.25);
    color: #334155;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.btn-tool:hover,
.btn-tool:focus-visible {
    background: #ffffff;
    border-color: rgba(124, 58, 237, 0.24);
    color: #6d28d9;
    box-shadow: 0 9px 22px rgba(99, 102, 241, 0.11);
}

.btn-tool-primary {
    background: linear-gradient(135deg, #fb923c, #f97316);
    border-color: transparent;
    color: #ffffff;
    box-shadow: 0 9px 22px rgba(234, 88, 12, 0.2);
}

.btn-tool-primary:hover,
.btn-tool-primary:focus-visible {
    background: linear-gradient(135deg, #f97316, #ea580c);
    border-color: transparent;
    color: #ffffff;
    box-shadow: 0 12px 26px rgba(234, 88, 12, 0.27);
}

.mobile-menu-toggle {
    background: rgba(255, 255, 255, 0.78);
    border-color: rgba(148, 163, 184, 0.28);
    color: var(--navy);
}

/* Extra breathing room below the sticky header. */
.home-app-inner {
    padding-top: 34px;
}

.home-hero {
    margin-top: 12px;
}

@media (max-width: 1180px) and (min-width: 1051px) {
    .site-header {
        gap: 14px;
        padding-right: 18px;
        padding-left: 18px;
    }

    .logo-link {
        font-size: 1.05rem;
    }

    .logo-mark {
        width: 36px;
        height: 36px;
    }

    .header-actions {
        gap: 6px;
    }

    .btn-tool {
        padding-right: 10px;
        padding-left: 10px;
        font-size: 0.77rem;
    }
}

@media (max-width: 1050px) {
    .header-actions {
        top: calc(100% + 8px);
        background: rgba(255, 255, 255, 0.97);
        border: 1px solid rgba(148, 163, 184, 0.25);
        box-shadow: 0 22px 55px rgba(15, 23, 42, 0.16);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    .btn-tool {
        color: #334155;
    }

    .btn-tool-primary {
        color: #ffffff;
    }
}

@media screen and (max-width: 782px) {
    body.admin-bar .site-header {
        top: 46px;
    }
}

@media screen and (max-width: 600px) {
    body.admin-bar .site-header {
        top: 0;
    }
}


/* =========================================================
   10. UNIFORM HEADER BUTTONS + MOVING PASTEL CIRCLES
   ========================================================= */

/* Keep orange for the main page action, not for one menu item. */
.btn-tool-primary,
.btn-tool-primary:hover,
.btn-tool-primary:focus-visible {
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(148, 163, 184, 0.25);
    color: #334155;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.btn-tool-primary:hover,
.btn-tool-primary:focus-visible {
    background: #ffffff;
    border-color: rgba(124, 58, 237, 0.24);
    color: #6d28d9;
    box-shadow: 0 9px 22px rgba(99, 102, 241, 0.11);
}

/* Make the existing background objects look like clear pastel circles. */
.pastel-blob {
    z-index: 0;
    filter: blur(2px);
    opacity: 0.5;
    border: 1px solid rgba(255, 255, 255, 0.65);
    box-shadow:
        inset 0 0 45px rgba(255, 255, 255, 0.32),
        0 24px 70px rgba(99, 102, 241, 0.08);
}

.blob-one {
    width: 340px;
    height: 340px;
    left: -105px;
    top: 90px;
    background: radial-gradient(
        circle at 35% 30%,
        rgba(255, 255, 255, 0.68) 0%,
        rgba(221, 214, 254, 0.9) 35%,
        rgba(196, 181, 253, 0.66) 100%
    );
    animation: pastelCircleOne 17s ease-in-out infinite alternate;
}

.blob-two {
    width: 390px;
    height: 390px;
    right: -120px;
    top: 330px;
    background: radial-gradient(
        circle at 30% 28%,
        rgba(255, 255, 255, 0.7) 0%,
        rgba(186, 230, 253, 0.9) 38%,
        rgba(125, 211, 252, 0.58) 100%
    );
    animation: pastelCircleTwo 21s ease-in-out infinite alternate;
}

.blob-three {
    width: 310px;
    height: 310px;
    left: 34%;
    bottom: 110px;
    background: radial-gradient(
        circle at 35% 28%,
        rgba(255, 255, 255, 0.68) 0%,
        rgba(187, 247, 208, 0.88) 38%,
        rgba(110, 231, 183, 0.55) 100%
    );
    animation: pastelCircleThree 23s ease-in-out infinite alternate;
}

/* Two extra circles without extra HTML. */
.home-app::before,
.home-app::after {
    content: '';
    position: absolute;
    z-index: 0;
    border-radius: 50%;
    pointer-events: none;
    border: 1px solid rgba(255, 255, 255, 0.66);
    box-shadow:
        inset 0 0 38px rgba(255, 255, 255, 0.28),
        0 24px 70px rgba(236, 72, 153, 0.06);
}

.home-app::before {
    width: 210px;
    height: 210px;
    right: 18%;
    top: 720px;
    background: radial-gradient(
        circle at 30% 28%,
        rgba(255, 255, 255, 0.72),
        rgba(254, 205, 211, 0.76) 43%,
        rgba(251, 207, 232, 0.52)
    );
    animation: pastelCircleFour 19s ease-in-out infinite alternate;
}

.home-app::after {
    width: 165px;
    height: 165px;
    left: 8%;
    top: 1120px;
    background: radial-gradient(
        circle at 30% 28%,
        rgba(255, 255, 255, 0.72),
        rgba(254, 240, 138, 0.72) 43%,
        rgba(253, 186, 116, 0.42)
    );
    animation: pastelCircleFive 16s ease-in-out infinite alternate;
}

@keyframes pastelCircleOne {
    0%   { transform: translate3d(0, 0, 0) scale(1); }
    45%  { transform: translate3d(70px, 42px, 0) scale(1.08); }
    100% { transform: translate3d(28px, 105px, 0) scale(0.96); }
}

@keyframes pastelCircleTwo {
    0%   { transform: translate3d(0, 0, 0) scale(1); }
    50%  { transform: translate3d(-85px, 25px, 0) scale(0.92); }
    100% { transform: translate3d(-35px, 100px, 0) scale(1.07); }
}

@keyframes pastelCircleThree {
    0%   { transform: translate3d(0, 0, 0) scale(0.94); }
    50%  { transform: translate3d(75px, -70px, 0) scale(1.08); }
    100% { transform: translate3d(-25px, -115px, 0) scale(1); }
}

@keyframes pastelCircleFour {
    0%   { transform: translate3d(0, 0, 0) scale(1); }
    100% { transform: translate3d(-95px, 75px, 0) scale(1.12); }
}

@keyframes pastelCircleFive {
    0%   { transform: translate3d(0, 0, 0) scale(0.92); }
    100% { transform: translate3d(120px, -48px, 0) scale(1.08); }
}

@media (max-width: 650px) {
    .pastel-blob {
        opacity: 0.34;
    }

    .blob-one {
        width: 230px;
        height: 230px;
    }

    .blob-two {
        width: 270px;
        height: 270px;
    }

    .blob-three {
        width: 220px;
        height: 220px;
    }

    .home-app::before {
        width: 150px;
        height: 150px;
    }

    .home-app::after {
        width: 120px;
        height: 120px;
    }
}


/* =========================================================
   11. CLEARER HERO EXERCISE PREVIEW
   ========================================================= */

.demo-window {
    width: min(390px, 96%);
    padding: 20px 22px 22px;
}

.demo-icon {
    width: 122px;
    height: 92px;
    margin: 22px auto 20px;
    border-radius: 23px;
    background: linear-gradient(135deg, #eef2ff, #e0e7ff);
    font-size: 4rem;
    line-height: 1;
    box-shadow: 0 12px 28px rgba(99, 102, 241, 0.13);
}

.demo-question {
    margin: 0 auto 17px;
    color: #1e293b;
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.35;
    text-align: center;
}

.demo-options {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    margin: 0 0 20px;
}

.demo-options span {
    min-height: 39px;
    padding: 9px 12px;
    display: flex;
    align-items: center;
    border: 1px solid #dbe3ee;
    border-radius: 12px;
    background: #f8fafc;
    color: #475569;
    font-size: 0.72rem;
    font-weight: 650;
    line-height: 1.3;
}

.demo-options span.is-correct {
    background: #ecfdf5;
    border-color: #6ee7b7;
    color: #047857;
    box-shadow: 0 5px 14px rgba(16, 185, 129, 0.1);
}

.demo-options span.is-correct::before {
    content: '✓';
    min-width: 20px;
    margin-right: 7px;
    color: #059669;
    font-size: 0.86rem;
    font-weight: 900;
}

.demo-progress {
    height: 10px;
}

.floating-label.label-two {
    right: -24px;
    bottom: 22px;
}

@media (max-width: 650px) {
    .demo-window {
        width: min(330px, 96%);
        padding: 17px;
    }

    .demo-icon {
        width: 104px;
        height: 78px;
        font-size: 3.35rem;
    }

    .demo-options span {
        font-size: 0.67rem;
    }

    .floating-label.label-two {
        right: -2px;
        bottom: 6px;
    }
}

/* =========================================================
   12. RESPONSIVE APP NAVIGATION
   ========================================================= */

.site-header,
.mobile-menu-toggle,
.header-actions {
    display: none !important;
}

.app-header {
    position: sticky;
    top: 0;
    z-index: 1200;
    width: 100%;
    background: rgba(255, 255, 255, 0.9);
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
    box-shadow: 0 8px 30px rgba(71, 85, 105, 0.08);
    backdrop-filter: blur(20px) saturate(150%);
    -webkit-backdrop-filter: blur(20px) saturate(150%);
}

body.admin-bar .app-header {
    top: 32px;
}

.app-header-inner {
    width: min(1420px, calc(100% - 42px));
    min-height: 68px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: clamp(28px, 5vw, 78px);
}

.app-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: var(--navy);
    text-decoration: none;
    font-size: 1.16rem;
    font-weight: 800;
    letter-spacing: -0.035em;
}

.app-brand-mark {
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: linear-gradient(135deg, #fb923c, #ec4899);
    color: #ffffff;
    font-size: 0.7rem;
    letter-spacing: 0;
    box-shadow: 0 8px 22px rgba(236, 72, 153, 0.19);
}

.desktop-navigation {
    justify-self: center;
    display: flex;
    align-items: center;
    gap: 7px;
}

.nav-link {
    min-height: 42px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #475569;
    font: inherit;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    transition: color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.nav-link svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.nav-link:hover,
.nav-link:focus-visible,
.nav-dropdown.is-open > .nav-link {
    background: #f1edff;
    color: #6d28d9;
    outline: none;
}

.nav-link:hover {
    transform: translateY(-1px);
}

.nav-dropdown {
    position: relative;
}

.nav-dropdown-panel {
    position: absolute;
    top: calc(100% + 12px);
    left: 50%;
    z-index: 1300;
    width: 330px;
    padding: 10px;
    display: grid;
    gap: 4px;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 18px;
    box-shadow: 0 24px 65px rgba(15, 23, 42, 0.16);
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -8px) scale(0.98);
    transform-origin: top center;
    transition: opacity 160ms ease, visibility 160ms ease, transform 160ms ease;
}

.nav-dropdown.is-open > .nav-dropdown-panel {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0) scale(1);
}

.nav-dropdown-panel a {
    min-height: 66px;
    padding: 9px 10px;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 12px;
    border-radius: 13px;
    color: #334155;
    text-decoration: none;
}

.nav-dropdown-panel a:hover,
.nav-dropdown-panel a:focus-visible {
    background: #f8fafc;
    outline: none;
}

.nav-dropdown-panel a > span:last-child {
    display: grid;
    gap: 1px;
}

.nav-dropdown-panel strong {
    color: var(--navy);
    font-size: 0.86rem;
}

.nav-dropdown-panel small {
    color: #64748b;
    font-size: 0.7rem;
}

.dropdown-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
}

.dropdown-icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.bg-lavender { background: #eee9ff; color: #7c3aed; }
.bg-peach { background: #ffeadf; color: #ea580c; }
.bg-blue { background: #dfefff; color: #2563eb; }
.bg-mint { background: #ddf8ea; color: #059669; }
.bg-pink { background: #ffe3ee; color: #db2777; }

.nav-dropdown-compact {
    width: 300px;
}

.header-utilities {
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 7px;
}

.utility-button,
.account-button {
    width: 41px;
    height: 41px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.76);
    color: #475569;
    box-shadow: 0 4px 15px rgba(15, 23, 42, 0.04);
    transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.utility-button:hover,
.utility-button:focus-visible,
.nav-dropdown.is-open > .utility-button {
    background: #f1edff;
    border-color: rgba(124, 58, 237, 0.2);
    color: #6d28d9;
    outline: none;
}

.utility-button svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.account-button {
    border: 0;
    border-radius: 50%;
    background: linear-gradient(135deg, #ede9fe, #dbeafe);
    color: #5b21b6;
    font-size: 0.74rem;
    font-weight: 850;
}

.account-dropdown .nav-dropdown-panel,
.more-dropdown .nav-dropdown-panel {
    right: 0;
    left: auto;
    width: 230px;
    transform: translateY(-8px) scale(0.98);
    transform-origin: top right;
}

.account-dropdown.is-open > .nav-dropdown-panel,
.more-dropdown.is-open > .nav-dropdown-panel {
    transform: translateY(0) scale(1);
}

.account-panel {
    padding: 9px;
}

.account-summary {
    margin-bottom: 5px;
    padding: 10px;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #eef2f7;
}

.account-summary > span:last-child {
    display: grid;
}

.account-avatar {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #ede9fe;
    color: #6d28d9;
    font-size: 0.7rem;
    font-weight: 850;
}

.account-panel a,
.more-panel a,
.more-panel button {
    min-height: 42px;
    padding: 9px 11px;
    display: flex;
    align-items: center;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #475569;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 650;
    text-decoration: none;
}

.account-panel a:hover,
.more-panel a:hover,
.more-panel button:hover {
    background: #f8fafc;
    color: #6d28d9;
}

.search-kicker {
    color: #7c3aed;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.mobile-bottom-navigation {
    display: none;
}

@media (max-width: 1060px) {
    .app-header-inner {
        width: min(100% - 28px, 1420px);
        gap: 18px;
    }

    .desktop-navigation {
        gap: 1px;
    }

    .nav-link {
        padding-right: 10px;
        padding-left: 10px;
        font-size: 0.82rem;
    }
}

@media (max-width: 860px) {
    body {
        padding-bottom: 76px;
    }

    .app-header-inner {
        min-height: 62px;
        grid-template-columns: 1fr auto;
    }

    .app-brand-mark {
        width: 36px;
        height: 36px;
    }

    .app-brand-name {
        font-size: 1.02rem;
    }

    .desktop-navigation,
    .account-dropdown,
    .more-dropdown {
        display: none;
    }

    .header-utilities {
        grid-column: 2;
    }

    .mobile-bottom-navigation {
        position: fixed;
        right: 12px;
        bottom: 10px;
        left: 12px;
        z-index: 1500;
        min-height: 62px;
        padding: 6px 8px;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        align-items: center;
        background: rgba(255, 255, 255, 0.94);
        border: 1px solid rgba(148, 163, 184, 0.22);
        border-radius: 20px;
        box-shadow: 0 18px 48px rgba(15, 23, 42, 0.18);
        backdrop-filter: blur(20px) saturate(150%);
        -webkit-backdrop-filter: blur(20px) saturate(150%);
    }

    .mobile-nav-item {
        min-width: 0;
        min-height: 49px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        border-radius: 14px;
        color: #64748b;
        font-size: 0.64rem;
        font-weight: 750;
        text-decoration: none;
    }

    .mobile-nav-item svg {
        width: 20px;
        height: 20px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.9;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .mobile-nav-item.is-active,
    .mobile-nav-item:hover,
    .mobile-nav-item:focus-visible {
        background: #f1edff;
        color: #6d28d9;
        outline: none;
    }
}

@media screen and (max-width: 782px) {
    body.admin-bar .app-header {
        top: 46px;
    }
}

@media screen and (max-width: 600px) {
    body.admin-bar .app-header {
        top: 0;
    }
}


/* =========================================================
   13. PRIMARY APP LINKS IN DESKTOP NAVIGATION
   ========================================================= */

.nav-link-app {
    gap: 8px;
}

.nav-link-app svg {
    width: 17px;
    height: 17px;
    color: #7c3aed;
}

.nav-link-app:hover svg,
.nav-link-app:focus-visible svg {
    color: currentColor;
}

@media (max-width: 1120px) and (min-width: 861px) {
    .app-header-inner {
        gap: 14px;
    }

    .desktop-navigation {
        gap: 0;
    }

    .nav-link {
        padding-right: 9px;
        padding-left: 9px;
        font-size: 0.79rem;
    }

    .nav-link-app {
        gap: 5px;
    }

    .nav-link-app svg {
        width: 15px;
        height: 15px;
    }
}


/* =========================================================
   14. DIRECT CLASS ACCESS
   ========================================================= */

.nav-link-class {
    background: #eefbf7;
    border: 1px solid #d1fae5;
    color: #047857;
    font-weight: 800;
}

.nav-link-class:hover,
.nav-link-class:focus-visible {
    background: #d1fae5;
    border-color: #a7f3d0;
    color: #065f46;
}

@media (max-width: 1120px) and (min-width: 861px) {
    .nav-link-class {
        padding-right: 10px;
        padding-left: 10px;
    }
}

/* =========================================================
   15. MODERN SEARCH RESULTS
   ========================================================= */

.search-page {
    position: relative;
    isolation: isolate;
    min-height: calc(100vh - 68px);
    overflow: hidden;
    background: linear-gradient(145deg, #f8fafc, #f7f5ff 48%, #fff9f5);
}

.search-page-inner {
    position: relative;
    z-index: 2;
    width: min(1240px, calc(100% - 44px));
    margin: 0 auto;
    padding: 54px 0 80px;
}

.search-page-blob {
    position: absolute;
    z-index: 0;
    border-radius: 50%;
    pointer-events: none;
    opacity: 0.42;
    filter: blur(8px);
}

.search-page-blob-one {
    width: 330px;
    height: 330px;
    top: 100px;
    left: -130px;
    background: #ddd6fe;
    animation: searchBlobOne 18s ease-in-out infinite alternate;
}

.search-page-blob-two {
    width: 380px;
    height: 380px;
    right: -150px;
    bottom: 80px;
    background: #bae6fd;
    animation: searchBlobTwo 22s ease-in-out infinite alternate;
}

@keyframes searchBlobOne {
    to { transform: translate3d(75px, 75px, 0) scale(1.08); }
}

@keyframes searchBlobTwo {
    to { transform: translate3d(-90px, -55px, 0) scale(0.94); }
}

.search-results-hero {
    margin-bottom: 30px;
    padding: 38px 40px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.78fr);
    align-items: end;
    gap: 40px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.92);
    border-radius: 28px;
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.09);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.search-results-eyebrow {
    color: #7c3aed;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.search-results-heading h1 {
    max-width: 760px;
    margin: 7px 0 8px;
    color: #0f172a;
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.08;
    letter-spacing: -0.052em;
}

.search-results-heading p {
    margin: 0;
    color: #64748b;
}

.search-results-form {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 9px;
}

.search-results-form-icon {
    position: absolute;
    top: 50%;
    left: 16px;
    width: 20px;
    height: 20px;
    color: #64748b;
    transform: translateY(-50%);
    pointer-events: none;
}

.search-results-form-icon svg,
.search-empty-icon svg,
.search-result-card-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.search-results-form input {
    min-width: 0;
    height: 52px;
    padding: 0 16px 0 46px;
    border: 1px solid #cbd5e1;
    border-radius: 15px;
    background: rgba(248, 250, 252, 0.92);
    color: #1e293b;
    font-size: 0.92rem;
    outline: none;
}

.search-results-form input:focus {
    background: #ffffff;
    border-color: #a78bfa;
    box-shadow: 0 0 0 4px rgba(167, 139, 250, 0.15);
}

.search-results-form button {
    height: 52px;
    padding: 0 21px;
    border: 0;
    border-radius: 15px;
    background: linear-gradient(135deg, #fb923c, #ea580c);
    color: #ffffff;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(234, 88, 12, 0.2);
}

.search-results-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.search-result-card {
    min-height: 270px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.92);
    border-radius: 23px;
    box-shadow: 0 8px 25px rgba(15, 23, 42, 0.07);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.search-result-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 55px rgba(15, 23, 42, 0.14);
}

.search-card-lavender { background: linear-gradient(145deg, #f8f5ff, #ebe5ff); }
.search-card-blue { background: linear-gradient(145deg, #f4f9ff, #deedff); }
.search-card-mint { background: linear-gradient(145deg, #f3fff9, #dcf7e9); }
.search-card-peach { background: linear-gradient(145deg, #fff8f3, #ffe7da); }
.search-card-pink { background: linear-gradient(145deg, #fff5f9, #ffe2ed); }
.search-card-yellow { background: linear-gradient(145deg, #fffdf5, #fff3ca); }

.search-result-card-link {
    height: 100%;
    padding: 24px;
    display: flex;
    flex-direction: column;
    color: #1e293b;
    text-decoration: none;
}

.search-result-card-link:focus-visible {
    outline: 3px solid rgba(124, 58, 237, 0.3);
    outline-offset: -4px;
}

.search-result-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.search-result-card-icon {
    width: 48px;
    height: 48px;
    padding: 13px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.76);
    color: #6d28d9;
    box-shadow: 0 9px 20px rgba(15, 23, 42, 0.06);
}

.search-result-badge {
    max-width: 52%;
    padding: 5px 10px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.82);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.65);
    color: #475569;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.search-result-card-content {
    padding-top: 20px;
}

.search-result-card-content h2 {
    margin: 0 0 10px;
    color: #0f172a;
    font-size: 1.25rem;
    line-height: 1.26;
    letter-spacing: -0.035em;
}

.search-result-card-content p {
    margin: 0;
    color: #475569;
    font-size: 0.88rem;
    line-height: 1.62;
}

.search-result-card-footer {
    margin-top: auto;
    padding-top: 21px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #0f172a;
    font-size: 0.8rem;
    font-weight: 800;
}

.search-result-arrow {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.72);
    transition: transform 180ms ease;
}

.search-result-card:hover .search-result-arrow {
    transform: translateX(4px);
}

.search-pagination {
    margin-top: 34px;
}

.search-pagination ul {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 7px;
    list-style: none;
}

.search-pagination a,
.search-pagination span {
    min-width: 41px;
    min-height: 41px;
    padding: 8px 12px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.82);
    color: #475569;
    font-size: 0.8rem;
    font-weight: 750;
    text-decoration: none;
}

.search-pagination .current,
.search-pagination a:hover {
    background: #ede9fe;
    border-color: #ddd6fe;
    color: #6d28d9;
}

.search-empty-state {
    padding: 58px 28px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.92);
    border-radius: 26px;
    box-shadow: 0 16px 45px rgba(15, 23, 42, 0.08);
}

.search-empty-icon {
    width: 68px;
    height: 68px;
    padding: 19px;
    display: grid;
    place-items: center;
    border-radius: 21px;
    background: #ede9fe;
    color: #7c3aed;
}

.search-empty-state h2 {
    margin: 20px 0 6px;
    color: #0f172a;
}

.search-empty-state p {
    margin: 0 0 20px;
    color: #64748b;
}

.search-empty-state a {
    min-height: 46px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    border-radius: 13px;
    background: #0f172a;
    color: #ffffff;
    font-weight: 750;
    text-decoration: none;
}

@media (max-width: 900px) {
    .search-results-hero {
        grid-template-columns: 1fr;
        align-items: stretch;
    }
}

@media (max-width: 680px) {
    .search-page-inner {
        width: calc(100% - 22px);
        padding: 20px 0 52px;
    }

    .search-results-hero {
        padding: 28px 21px;
        border-radius: 23px;
    }

    .search-results-form {
        grid-template-columns: 1fr;
    }

    .search-results-form button {
        width: 100%;
    }

    .search-results-grid {
        grid-template-columns: 1fr;
    }

    .search-result-card {
        min-height: 250px;
    }
}
