/* LMA Custom Header — Frontend Styles */
*,*::before,*::after{box-sizing:border-box}

/* ── HEADER SHELL ─────────────────────────────── */
#lma-header{
  background:var(--lma-bg);
  border-bottom:1px solid var(--lma-border);
  position:relative;
  z-index:1000;
  font-family:var(--lma-font);
}
#lma-header.lma-sticky{
  position:sticky;
  top:0;
}

/* ── DESKTOP NAV ──────────────────────────────── */
.lma-nav-desktop{
  display:flex;
  align-items:center;
  padding:0 24px;
  height:68px;
  gap:0;
}
.lma-nav-mobile{display:none}

/* Logo */
.lma-logo{
  display:flex;align-items:center;
  text-decoration:none;margin-right:20px;flex-shrink:0;
}
.lma-logo img{height:38px;object-fit:contain;display:block}
.lma-logo-text{
  font-size:21px;font-weight:800;
  color:#fff;letter-spacing:-0.5px;
}
.lma-logo-text span{color:var(--lma-accent)}

/* Nav items group */
.lma-nav-items{display:flex;align-items:center;gap:4px}

/* Dropdown wrapper */
.lma-drop-wrap{position:relative}

/* Nav button */
.lma-nav-btn{
  display:flex;align-items:center;gap:6px;
  padding:8px 14px;border-radius:8px;
  background:transparent;border:none;cursor:pointer;
  color:var(--lma-text);font-family:var(--lma-font);
  font-size:14px;font-weight:600;
  transition:background .15s,color .15s;white-space:nowrap;
}
.lma-nav-btn:hover{background:rgba(255,255,255,.07);color:#fff}
.lma-nav-btn[aria-expanded="true"]{
  background:rgba(255,255,255,.07);color:var(--lma-accent)
}
.lma-nav-btn .lma-chevron{
  transition:transform .2s;flex-shrink:0
}
.lma-nav-btn[aria-expanded="true"] .lma-chevron{transform:rotate(180deg)}

/* Search bar */
.lma-search-bar{
  flex:1;max-width:340px;margin:0 16px;
  display:flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px;padding:0 14px;height:40px;
  cursor:pointer;font-family:var(--lma-font);
  transition:border-color .15s,background .15s;
}
.lma-search-bar:hover{
  border-color:var(--lma-accent);
  background:rgba(255,255,255,.08);
}
.lma-search-bar span{
  font-size:13px;color:var(--lma-muted);flex:1;text-align:left
}
.lma-search-bar kbd{
  font-size:11px;color:var(--lma-muted);
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  border-radius:4px;padding:2px 6px;
  font-family:var(--lma-font);
}

/* Right section */
.lma-nav-right{
  display:flex;align-items:center;gap:6px;
  margin-left:auto;flex-shrink:0;
}

/* Icon buttons */
.lma-icon-btn{
  position:relative;display:flex;
  align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:8px;
  background:transparent;border:none;cursor:pointer;
  color:var(--lma-text);transition:background .15s,color .15s;
  text-decoration:none;
}
.lma-icon-btn:hover{background:rgba(255,255,255,.08);color:#fff}
.lma-icon-btn svg{
  width:20px;height:20px;
  stroke:currentColor;fill:none;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}

/* Badge */
.lma-badge{
  position:absolute;top:3px;right:3px;
  background:var(--lma-accent);color:#000;
  font-size:9px;font-weight:800;
  width:16px;height:16px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:2px solid var(--lma-bg);
  font-family:var(--lma-font);
  transition:opacity .2s;
}
.lma-badge-hidden{opacity:0;pointer-events:none}

.lma-divider{width:1px;height:24px;background:rgba(255,255,255,.1);margin:0 4px}

/* Sign-in button */
.lma-btn-signin{
  padding:8px 18px;border-radius:8px;
  background:transparent;
  border:1.5px solid rgba(255,255,255,.2);
  color:var(--lma-text);font-family:var(--lma-font);
  font-size:13px;font-weight:700;
  cursor:pointer;transition:border-color .15s,color .15s;
  white-space:nowrap;text-decoration:none;display:inline-block;
}
.lma-btn-signin:hover{border-color:var(--lma-accent);color:var(--lma-accent)}

.lma-btn-dashboard{
  padding:8px 18px;border-radius:8px;
  background:var(--lma-accent);
  border:1.5px solid var(--lma-accent);
  color:#000;font-family:var(--lma-font);
  font-size:13px;font-weight:700;
  cursor:pointer;transition:opacity .15s,transform .15s;
  white-space:nowrap;text-decoration:none;display:inline-block;
}
.lma-btn-dashboard:hover{opacity:.85;transform:translateY(-1px)}

/* ── CATEGORIES MEGA DROP ─────────────────────── */
.lma-mega-drop{
  position:absolute;top:calc(100% + 8px);left:0;
  background:#1a2537;border:1px solid var(--lma-border);
  border-radius:12px;padding:16px;
  width:360px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
  opacity:0;pointer-events:none;
  transform:translateY(-6px);
  transition:opacity .18s,transform .18s;
  z-index:500;
}
.lma-mega-drop.lma-open{
  opacity:1;pointer-events:all;transform:translateY(0)
}
.lma-drop-heading{
  font-size:11px;font-weight:700;
  color:var(--lma-muted);letter-spacing:1px;
  text-transform:uppercase;margin-bottom:12px;
}
.lma-cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.lma-cat-item{
  display:flex;align-items:center;justify-content:space-between;
  gap:8px;padding:10px 12px;border-radius:8px;
  cursor:pointer;transition:background .15s;
  text-decoration:none;
}
.lma-cat-item:hover{background:rgba(255,255,255,.06)}
.lma-cat-label{
  font-size:12px;font-weight:600;
  color:var(--lma-text);line-height:1.3;
}
.lma-cat-count{
  font-size:10px;font-weight:700;
  color:var(--lma-muted);
  background:rgba(255,255,255,.07);
  padding:2px 7px;border-radius:10px;flex-shrink:0;
}

/* ── PAGES DROP ───────────────────────────────── */
.lma-pages-drop{
  position:absolute;top:calc(100% + 8px);left:0;
  background:#1a2537;border:1px solid var(--lma-border);
  border-radius:12px;padding:8px;
  min-width:210px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
  opacity:0;pointer-events:none;
  transform:translateY(-6px);
  transition:opacity .18s,transform .18s;
  z-index:500;
}
.lma-pages-drop.lma-open{
  opacity:1;pointer-events:all;transform:translateY(0)
}
.lma-page-item{
  display:flex;align-items:center;
  padding:10px 14px;border-radius:8px;
  cursor:pointer;color:var(--lma-text);
  font-size:13px;font-weight:600;
  transition:background .15s;text-decoration:none;
}
.lma-page-item:hover{background:rgba(255,255,255,.06);color:#fff}

/* ── MOBILE NAV ───────────────────────────────── */
@media(max-width:900px){
  .lma-nav-desktop{display:none}
  .lma-nav-mobile{
    display:flex;align-items:center;
    padding:0 16px;height:56px;
  }
}
.lma-mobile-right{
  display:flex;align-items:center;gap:4px;margin-left:auto
}
.lma-m-icon{
  position:relative;display:flex;
  align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:8px;
  background:transparent;border:none;cursor:pointer;
  color:var(--lma-text);text-decoration:none;
  transition:background .15s;
}
.lma-m-icon:hover{background:rgba(255,255,255,.07)}
.lma-m-icon svg{
  width:22px;height:22px;
  stroke:currentColor;fill:none;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
.lma-m-badge{
  position:absolute;top:3px;right:3px;
  background:var(--lma-accent);color:#000;
  font-size:8px;font-weight:800;
  width:14px;height:14px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:2px solid var(--lma-bg);
  font-family:var(--lma-font);
}

/* Mobile dashboard icon — accent-coloured to match desktop */
.lma-m-dashboard-icon{
  background:var(--lma-accent);
  color:#000;
  border-radius:8px;
}
.lma-m-dashboard-icon:hover{
  background:var(--lma-accent);
  opacity:.85;
}
.lma-m-dashboard-icon svg{
  stroke:#000;
}

/* Mobile Drawer */
.lma-mobile-drawer{
  background:#1a2537;
  border-top:1px solid var(--lma-border);
  max-height:0;overflow:hidden;
  transition:max-height .3s ease;
}
.lma-mobile-drawer.lma-open{
  max-height:calc(100vh - 56px);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.lma-drawer-inner{
  padding:16px;
  padding-bottom:24px;
  display:flex;
  flex-direction:column;
}
.lma-drawer-search{
  display:flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px;padding:12px 14px;
  margin-bottom:16px;cursor:pointer;
  width:100%;font-family:var(--lma-font);
  color:var(--lma-muted);font-size:14px;
  text-align:left;
}
.lma-drawer-section{margin-bottom:16px}
.lma-drawer-section-title{
  font-size:10px;font-weight:800;
  color:var(--lma-muted);letter-spacing:1px;
  text-transform:uppercase;margin-bottom:8px;padding:0 4px;
}
.lma-drawer-link{
  display:flex;align-items:center;
  padding:10px 12px;border-radius:8px;
  color:var(--lma-text);font-size:14px;font-weight:600;
  cursor:pointer;transition:background .15s;text-decoration:none;
}
.lma-drawer-link:hover{background:rgba(255,255,255,.06)}
.lma-drawer-signin{
  display:block;width:100%;padding:13px;
  border-radius:8px;background:var(--lma-btn-bg);
  border:none;color:var(--lma-btn-text);
  font-family:var(--lma-font);font-size:14px;font-weight:800;
  cursor:pointer;text-align:center;margin-top:8px;
  text-decoration:none;transition:opacity .15s;
}
.lma-drawer-signin:hover{opacity:.85}

.lma-drawer-dashboard{
  display:block;width:100%;padding:13px;
  border-radius:8px;background:var(--lma-accent);
  border:none;color:#000;
  font-family:var(--lma-font);font-size:14px;font-weight:800;
  cursor:pointer;text-align:center;margin-top:8px;
  text-decoration:none;transition:opacity .15s;
}
.lma-drawer-dashboard:hover{opacity:.85}

/* ── SEARCH MODAL ─────────────────────────────── */
.lma-search-overlay{
  position:fixed;inset:0;
  background:rgba(0,0,0,.72);
  z-index:9999;
  display:flex;align-items:flex-start;justify-content:center;
  padding:80px 20px 20px;
  opacity:0;pointer-events:none;
  transition:opacity .2s;
}
.lma-search-overlay.lma-open{
  opacity:1;pointer-events:all;
}
.lma-search-modal{
  background:#1a2537;
  border:1px solid var(--lma-border);
  border-radius:16px;
  width:100%;max-width:860px;
  overflow:hidden;
  border-top:3px solid var(--lma-accent);
  transform:translateY(-10px);
  transition:transform .2s;
  font-family:var(--lma-font);
}
.lma-search-overlay.lma-open .lma-search-modal{transform:translateY(0)}

.lma-search-input-wrap{
  display:flex;align-items:center;gap:12px;
  padding:16px 20px;
  border-bottom:1px solid var(--lma-border);
}
.lma-search-input-wrap svg{
  stroke:var(--lma-muted);fill:none;flex-shrink:0;
}
.lma-search-input-wrap input{
  flex:1;background:transparent;border:none;outline:none;
  font-family:var(--lma-font);font-size:16px;
  color:var(--lma-text);
}
.lma-search-input-wrap input::placeholder{color:var(--lma-muted)}
.lma-search-close{
  background:rgba(255,255,255,.07);border:none;cursor:pointer;
  color:var(--lma-muted);width:30px;height:30px;border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  font-size:16px;transition:background .15s,color .15s;flex-shrink:0;
}
.lma-search-close:hover{background:rgba(255,255,255,.12);color:var(--lma-text)}

.lma-search-body{display:flex;min-height:360px}
.lma-search-left{
  flex:1;padding:20px;
  border-right:1px solid var(--lma-border);
  overflow-y:auto;max-height:420px;
}
.lma-search-right{
  width:280px;padding:20px;
  background:rgba(0,0,0,.15);overflow-y:auto;max-height:420px;
}

.lma-search-section-label{
  display:flex;align-items:center;gap:6px;
  font-size:11px;font-weight:800;
  color:var(--lma-muted);letter-spacing:1px;
  text-transform:uppercase;margin-bottom:14px;
}
.lma-search-section-label svg{stroke:var(--lma-accent)}

/* Course list item */
.lma-course-item{
  display:flex;align-items:center;gap:12px;
  padding:10px;border-radius:8px;cursor:pointer;
  transition:background .15s;
  border-left:3px solid transparent;
  text-decoration:none;
}
.lma-course-item:hover,.lma-course-item.lma-active{
  background:rgba(255,255,255,.05);
  border-left-color:var(--lma-accent);
}
.lma-course-thumb{
  width:52px;height:38px;border-radius:6px;
  background:#1f2e44;flex-shrink:0;
  overflow:hidden;display:flex;align-items:center;justify-content:center;
}
.lma-course-thumb img{width:100%;height:100%;object-fit:cover}
.lma-course-thumb-placeholder{font-size:20px}
.lma-course-info{flex:1;min-width:0}
.lma-course-title{
  font-size:13px;font-weight:700;
  color:var(--lma-text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.lma-course-instructor{font-size:11px;color:var(--lma-muted)}
.lma-arrow-icon{
  stroke:var(--lma-accent);fill:none;flex-shrink:0;opacity:.6;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
}

/* Featured panel */
.lma-featured-label{
  font-size:11px;font-weight:800;color:var(--lma-muted);
  letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;
}
.lma-featured-thumb{
  width:100%;height:140px;border-radius:10px;
  background:#1f2e44;overflow:hidden;margin-bottom:12px;
  display:flex;align-items:center;justify-content:center;
}
.lma-featured-thumb img{width:100%;height:100%;object-fit:cover}
.lma-featured-thumb-placeholder{font-size:48px}
.lma-featured-title{
  font-size:14px;font-weight:800;color:var(--lma-text);
  margin-bottom:8px;line-height:1.3;
}
.lma-featured-instructor{
  display:flex;align-items:center;gap:8px;margin-bottom:8px
}
.lma-avatar{
  width:26px;height:26px;border-radius:50%;
  background:var(--lma-accent);display:flex;
  align-items:center;justify-content:center;
  font-size:11px;font-weight:800;color:#000;flex-shrink:0;
}
.lma-featured-instructor span{font-size:12px;color:var(--lma-muted)}
.lma-stars{display:flex;align-items:center;gap:4px;margin-bottom:8px}
.lma-star{font-size:12px;color:#374151}
.lma-star.lma-lit{color:var(--lma-accent)}
.lma-rating-text{font-size:12px;color:var(--lma-muted)}
.lma-tag-badge{
  display:inline-flex;align-items:center;gap:4px;
  background:rgba(255,255,255,.07);color:var(--lma-muted);
  font-size:11px;font-weight:600;padding:4px 10px;
  border-radius:20px;margin-bottom:14px;
}
.lma-btn-view-course{
  display:block;width:100%;padding:11px;border-radius:8px;
  background:#22c55e;border:none;cursor:pointer;
  color:#fff;font-family:var(--lma-font);
  font-size:13px;font-weight:800;
  transition:opacity .15s;text-align:center;text-decoration:none;
}
.lma-btn-view-course:hover{opacity:.85}

/* No results */
.lma-no-results{
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  padding:40px 20px;gap:10px;
}
.lma-no-results svg{opacity:.3}
.lma-no-results p{
  font-size:14px;font-weight:700;color:var(--lma-text);text-align:center
}
.lma-no-results small{
  font-size:12px;color:var(--lma-muted);text-align:center
}
.lma-hint{font-size:12px;color:var(--lma-muted);text-align:center}
.lma-kbd{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.15);
  border-radius:4px;padding:2px 7px;
  font-family:var(--lma-font);font-size:11px;
  color:var(--lma-text);
}
.lma-query-text{color:var(--lma-accent)}

/* Search footer */
.lma-search-footer{
  display:flex;align-items:center;gap:16px;
  padding:12px 20px;
  border-top:1px solid var(--lma-border);
  background:rgba(0,0,0,.15);
  flex-wrap:wrap;
}
.lma-kbd-hint{
  display:flex;align-items:center;gap:5px;
  font-size:11px;color:var(--lma-muted);
}
.lma-view-all{
  margin-left:auto;font-size:12px;font-weight:700;
  color:var(--lma-accent);text-decoration:none;
  display:flex;align-items:center;gap:4px;
}
.lma-view-all:hover{text-decoration:underline}

/* Mobile: search modal full width */
@media(max-width:600px){
  .lma-search-overlay{padding:0}
  .lma-search-modal{border-radius:0 0 12px 12px}
  .lma-search-body{flex-direction:column}
  .lma-search-left{border-right:none;border-bottom:1px solid var(--lma-border)}
  .lma-search-right{width:100%}
}
