:root{
  --bg:#0b0c10;
  --panel:#11131a;
  --panel2:#0f1117;
  --text:#f3f4f6;
  --muted:#a7acb7;
  --border:rgba(255,255,255,.10);
  --primary:#e7c36a;
  --shadow: 0 10px 30px rgba(0,0,0,.35);
}

*{ box-sizing:border-box; }
html,body{ height:100%; margin:0; padding:0; }
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  background: radial-gradient(1200px 600px at 20% 0%, rgba(231,195,106,.10), transparent 60%),
              radial-gradient(1000px 600px at 80% 20%, rgba(255,255,255,.06), transparent 55%),
              var(--bg);
  color:var(--text);
}

a{ color:inherit; text-decoration:none; }
h1,h2,h3{ margin:0; }
p{ margin:0; }

.muted{ color:var(--muted); }
.tiny{ font-size:12px; }
.price{ color:var(--primary); font-weight:900; }
.price.big{ font-size:18px; }
/* ===============================
   SEARCH + BUTTON SYSTEM (FINAL)
================================ */

/* ---- Search Focus Button (Magnifier) ---- */
.kbd{
  width:38px;
  height:38px;
  flex:0 0 auto;
  border-radius:12px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.04);
  color:var(--text);

  display:inline-flex;
  align-items:center;
  justify-content:center;

  cursor:pointer;
  margin:0;
  padding:0;
  background-clip:padding-box;

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background .18s ease;

  will-change:transform;
}

.kbd:hover{
  background:rgba(231,195,106,.12);
  border-color:rgba(231,195,106,.25);
  box-shadow:0 10px 26px rgba(0,0,0,.28);
  transform:translateY(-1px);
}

.kbd:focus-visible{
  outline:none;
  border-color:rgba(231,195,106,.35);
  box-shadow:
    0 0 0 3px rgba(231,195,106,.18),
    0 0 18px rgba(231,195,106,.18);
}

.kbd svg{
  width:16px;
  height:16px;
  pointer-events:none;
  opacity:.85;
  transition:opacity .18s ease;
}

.kbd:hover svg{
  opacity:1;
}


/* ---- Buttons ---- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;

  padding:10px 14px;
  border-radius:14px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.04);
  color:var(--text);

  cursor:pointer;

  transition:transform .18s ease, box-shadow .18s ease;
}

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

.btn.primary{
  background:linear-gradient(
    135deg,
    rgba(231,195,106,.95),
    rgba(231,195,106,.55)
  );
  color:#161616;
  border-color:rgba(231,195,106,.35);
  font-weight:900;
}

.btn.ghost{ background:transparent; }
.btn.full{ width:100%; }


/* ---- Icon Buttons ---- */
.iconbtn{
  width:40px;
  height:40px;
  border-radius:14px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.04);
  color:var(--text);

  display:inline-grid;
  place-items:center;
  cursor:pointer;

  transition:transform .18s ease, box-shadow .18s ease;
}

.iconbtn svg{
  width:18px;
  height:18px;
}

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


/* ---- Base Inputs (NO duplicate search here) ---- */
.select,
input,
textarea{
  width:100%;
  padding:12px;
  border-radius:14px;
  border:1px solid var(--border);
  background:rgba(0,0,0,.25);
  color:var(--text);
  outline:none;
}

textarea{ resize:vertical; }


/* ---- Premium Search Input ---- */
.search{
  width:100%;
  padding:12px;
  border-radius:14px;

  background:rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.08);
  color:#fff;

  transition:
    box-shadow .25s cubic-bezier(.4,0,.2,1),
    border-color .25s cubic-bezier(.4,0,.2,1),
    background .25s ease;
}

/* Remove browser white autofill */
.search:-webkit-autofill,
.search:-webkit-autofill:hover,
.search:-webkit-autofill:focus{
  -webkit-text-fill-color:#fff;
  -webkit-box-shadow:0 0 0 1000px rgba(0,0,0,.25) inset;
  transition:background-color 5000s ease-in-out 0s;
}

/* Premium focus */
.search:focus{
  outline:none;
  background:rgba(0,0,0,.35);
  border-color:rgba(231,195,106,.6);
  box-shadow:
    0 0 0 2px rgba(231,195,106,.35),
    0 0 18px rgba(231,195,106,.18);
}

/* Glow button when search focused (connected feel) */
.search:focus + .kbd{
  border-color:rgba(231,195,106,.35);
  box-shadow:
    0 0 0 3px rgba(231,195,106,.14),
    0 10px 26px rgba(0,0,0,.25);
}


/* ---- Layout ---- */
.layout{
  display:block;
  min-height:100vh;
}


/* ===============================
   SIDEBAR (FINAL FIXED VERSION)
================================ */

.sidebar{
  width:260px;
  position:fixed;
  left:0;
  top:0;
  bottom:0;

  overflow-y:auto;
  padding:14px;

  display:flex;
  flex-direction:column;
  gap:12px;

  background:
    radial-gradient(900px 560px at 20% 10%, rgba(231,195,106,.12), transparent 58%),
    radial-gradient(700px 520px at 80% 30%, rgba(255,255,255,.07), transparent 60%),
    linear-gradient(180deg, rgba(8,9,12,.92), rgba(8,9,12,.78));

  border-right:1px solid var(--border);
  box-shadow:12px 0 40px rgba(0,0,0,.35);
  backdrop-filter:blur(12px);

  z-index:50;
}

/* =========================
   SIDEBAR + MAIN (CLEAN + FIXED)
========================= */

/* ✅ Main should start exactly after sidebar */
.main{
  margin-left: 260px;                 /* must match sidebar width */
  width: calc(100% - 260px);
  min-width: 0;
  min-height: 100vh;
  padding: 18px 18px 40px;
  display: block;                     /* ✅ prevents flex pushing content down */
}

/* Collapsed sidebar */
.layout.is-collapsed .sidebar{ width:86px; }
.layout.is-collapsed .brandtext{ display:none; }
.layout.is-collapsed .navtext{ display:none; }
.layout.is-collapsed .badge{ display:none; }
.layout.is-collapsed .side-collapse svg{ transform: rotate(180deg); }
.layout.is-collapsed .main{
  margin-left: 86px;
  width: calc(100% - 86px);
}
.layout.is-collapsed .footer{ margin-left:86px; }

/* Sidebar top branding */
.side-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.brandbox{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
/* Logo (image version - clean & premium) */
.logo {
  width: 60px;
  height: auto;
  display: block;

  border-radius: 0;
  background: none;
  border: none;
  box-shadow: none;

  filter: drop-shadow(0 4px 10px rgba(212,175,55,0.25));
  transition: transform 0.3s ease;
}

.logo:hover {
  transform: scale(1.05);
}

/* Keep these (they are good) */
.brandtext { 
  min-width: 0; 
}

.brand-name { 
  font-weight: 900; 
}

.brand-tag {
  font-size: 12px;
  color: var(--muted);
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Sidebar nav */
.sidenav{ display:flex; flex-direction:column; gap:6px; padding-top:6px; }
.navlink{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 10px;
  border-radius:14px;
  border:1px solid transparent;
  color:var(--muted);
}
.navlink:hover{
  background: rgba(255,255,255,.03);
  color:var(--text);
  border-color: rgba(255,255,255,.06);
}
.navlink.active{
  color:var(--text);
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.08);
}
.navicon{ width:18px; height:18px; display:inline-grid; place-items:center; }
.navicon svg{ width:18px; height:18px; }
.navtext{ flex:1; }
.navsep{ height:1px; background: var(--border); margin:8px 0; }

.badge{
  min-width:24px;
  height:20px;
  padding:0 8px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  font-size:12px;
  font-weight:900;
  color:#161616;
  background: linear-gradient(135deg, rgba(231,195,106,.95), rgba(231,195,106,.55));
  border:1px solid rgba(231,195,106,.35);
}

.side-bottom{ margin-top:auto; display:grid; gap:10px; }
.side-collapse{ width:40px; height:40px; }

/* =========================
   MAIN HEADER BAR (sticky)
========================= */
.mainbar{
  position: sticky;
  top: 0;                          /* ✅ aligns with main padding, avoids “start down” feel */
  z-index: 20;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px;
  border:1px solid var(--border);
  background: rgba(11,12,16,.70);
  backdrop-filter: blur(10px);
  border-radius:18px;
}

/* Mainbar children */
.searchwrap{ flex:1; display:flex; align-items:center; gap:10px; }
.search{ flex:1; }
.mainbar-actions{ display:flex; gap:10px; align-items:center; }
.chips{ display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }

/* Pills */
.pill{
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.03);
}
.pillrow{ display:flex; gap:8px; flex-wrap:wrap; }

/* Sections */
.section{ padding:18px 0; }
.section.alt{
  border:1px solid var(--border);
  background: rgba(255,255,255,.02);
  border-radius:22px;
  padding:16px;
  margin-top:14px;
}
.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.section-head h1{ font-size:34px; }
.section-head h2{ font-size:24px; }
.section-head p{ margin-top:6px; }

/* Products grid */
.products{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
}
@media (max-width: 1050px){ .products{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px){ .products{ grid-template-columns: 1fr; } }

/* Cards */
.card{
  border:1px solid var(--border);
  background: rgba(255,255,255,.03);
  border-radius:22px;
  box-shadow: var(--shadow);
  overflow:hidden;
}
.pimg{
  height:150px;
  border-bottom:1px solid var(--border);
  background-size:cover;
  background-position:center;
  position:relative;
  overflow:hidden;
}
/* Embedded image/video inside product cards & modal */
.pmedia{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.modalimg .pmedia{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.modalimg{ position:relative; overflow:hidden; }
.pbody{ padding:14px; display:grid; gap:10px; }
.ptitle{ font-weight:900; font-size:16px; }
.pmeta{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.pdesc{ font-size:13px; color:var(--muted); line-height:1.45; }
.pactions{ display:flex; gap:10px; flex-wrap:wrap; }
.pactions .btn{ flex:1; min-width:140px; }

.card:hover{ transform: translateY(-2px); transition: transform .15s ease; }
.card:hover .pimg{ filter: brightness(1.05); transition: filter .15s ease; }

/* Cart */
.cartbox{ display:grid; gap:12px; }
.cartrow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.02);
  border-radius:18px;
  padding:12px;
}
.cartleft{ display:grid; gap:4px; }
.carttitle{ font-weight:900; }
.cartsub{ font-size:12px; color:var(--muted); }
.cartright{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.qtymini{
  display:flex; align-items:center; gap:8px;
  border:1px solid var(--border);
  background: rgba(0,0,0,.20);
  border-radius:14px;
  padding:6px 8px;
}
.qtymini span{ min-width:22px; text-align:center; font-weight:900; }
.qtymini .iconbtn{ width:34px; height:34px; border-radius:12px; }

.cartfooter{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  padding-top:6px;
}
.total{ display:grid; gap:4px; }
.hint{ color:var(--muted); font-size:12px; }

.cart-actions{ display:flex; gap:10px; }

/* Footer */
.footer{
  margin-top:18px;
  border:1px solid var(--border);
  border-radius:22px;
  background: rgba(255,255,255,.02);
  padding:16px;
}
.footergrid{
  display:grid;
  grid-template-columns: 1fr 1.2fr 1.2fr .8fr;
  gap:12px;
}
@media (max-width: 980px){ .footergrid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px){ .footergrid{ grid-template-columns: 1fr; } }

.footercard{
  border:1px solid var(--border);
  background: rgba(255,255,255,.03);
  border-radius:18px;
  padding:14px;
}
.footertitle{ font-weight:900; margin-bottom:10px; }
.footerform{ display:grid; gap:10px; }
.footerlinks{ display:grid; gap:8px; }
.linkbtn{
  text-align:left;
  padding:0;
  border:0;
  background: transparent;
  color:var(--muted);
  cursor:pointer;
}
.linkbtn:hover{ color:var(--text); text-decoration: underline; }
.footerbottom{ text-align:center; margin-top:14px; }

/* Overlay + Modals */
.overlay{
  position:fixed; inset:0;
  background: rgba(0,0,0,.55);
  z-index:9500;
}

.modal{
  position:fixed; inset:0;
  display:grid;
  place-items:center;
  z-index:9600;
  padding:16px;
}
.modalcard{
  width:min(980px, 100%);
  border:1px solid var(--border);
  background: rgba(15,17,23,.92);
  backdrop-filter: blur(10px);
  border-radius:22px;
  box-shadow: var(--shadow);
  padding:16px;
  position:relative;
}
.modalclose{ position:absolute; top:12px; right:12px; }
.modalgrid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
  align-items:start;
}
@media (max-width: 900px){ .modalgrid{ grid-template-columns: 1fr; } }

.modalimg{
  height:320px;
  border-radius:18px;
  border:1px solid var(--border);
  background-size:cover;
  background-position:center;
}

.lbl{ display:grid; gap:6px; font-size:13px; color:var(--muted); }
.formrow{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
  margin-top:12px;
}
@media (max-width: 600px){ .formrow{ grid-template-columns: 1fr; } }

.qty{
  display:flex;
  align-items:center;
  gap:8px;
}
.qty input{
  text-align:center;
  font-weight:900;
}

.modalactions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}

/* Mobile behavior */
#btnHamburger{ display:none; }
#btnOpenMobileMenu{ display:none; }

@media (max-width: 860px){
  .sidebar{
    transform: translateX(-110%);
    transition: transform .18s ease;
    /* ✅ add these two to ensure fixed sidebar sits above content */
    position: fixed;
    z-index: 100;
  }
  .layout.is-mobile-open .sidebar{ transform: translateX(0); }
  .main{ margin-left:0; width:100%; }
  .footer{ margin-left:0; }
  #btnHamburger{ display:inline-grid; }
  #btnOpenMobileMenu{ display:inline-flex; }
}

/* =========================
   LOOKBOOK — Premium Carousel (CLEAN)
   ✅ No conflicts / no duplicate selectors
   ✅ Header-safe (no top gap)
   ✅ Parallax + fade + dots + arrows
========================= */

:root{
  --mainbar-h: 76px; /* adjust if needed */
  --lb-x: 0px;
  --lb-y: 0px;
}



.lookbook{
  position: relative;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 22px;
  overflow: hidden;
  margin: 18px 0 34px;
  background: rgba(255,255,255,.03);
}

/* Top bar */
.look-top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  padding: 16px 16px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
  background: rgba(10,10,10,.45);
}

.look-kicker{ font-size:12px; opacity:.75; letter-spacing:.08em; text-transform:uppercase; }
.look-title{ margin:6px 0 0; font-size:28px; }
.look-sub{ margin-top:6px; opacity:.75; font-size:13px; max-width:720px; }

.look-actions{ display:flex; gap:10px; align-items:center; }

/* Viewport */
.look-viewport{
  position: relative;
  /* header-safe: never causes that “huge top gap” */
  height: min(calc(100vh - var(--mainbar-h) - 220px), 720px);
  min-height: 520px;
}

/* Slides: carousel mode */
.look-slide{
  position:absolute;
  inset:0;
  display:grid;
  align-items:end;
  opacity:0;
  pointer-events:none;
  transform: translateY(10px) scale(.99);
  transition: opacity .55s ease, transform .55s ease;
  overflow:hidden;
}

.look-slide.is-active{
  opacity:1;
  pointer-events:auto;
  transform: translateY(0) scale(1);
}

/* Optional lookbook video — covers the slide, sits behind text overlay */
.look-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
  filter: brightness(.55);
}
.look-overlay{ position:relative; z-index:2; }

/* Cinematic background layer */
.look-slide::before{
  content:"";
  position:absolute;
  inset:-14%;
  transform: translate3d(var(--lb-x), var(--lb-y), 0) scale(1.06);
  transition: transform .12s linear;
  will-change: transform;
  z-index:0;
  background:
    radial-gradient(1100px 620px at 20% 18%, rgba(231,195,106,.16), transparent 60%),
    radial-gradient(900px 520px at 80% 42%, rgba(255,255,255,.07), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.76));
}

/* Variants per look */
.look-slide[data-look="business"]::before{
  background:
    radial-gradient(1000px 560px at 22% 18%, rgba(231,195,106,.18), transparent 62%),
    radial-gradient(900px 520px at 82% 40%, rgba(255,255,255,.07), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.78));
}
.look-slide[data-look="wedding"]::before{
  background:
    radial-gradient(1000px 560px at 25% 18%, rgba(255,255,255,.09), transparent 62%),
    radial-gradient(900px 520px at 82% 42%, rgba(231,195,106,.14), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.16), rgba(0,0,0,.78));
}
.look-slide[data-look="casual"]::before{
  background:
    radial-gradient(1000px 560px at 22% 20%, rgba(231,195,106,.12), transparent 62%),
    radial-gradient(900px 520px at 82% 42%, rgba(255,255,255,.06), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.16), rgba(0,0,0,.78));
}
.look-slide[data-look="evening"]::before{
  background:
    radial-gradient(1000px 560px at 26% 18%, rgba(231,195,106,.11), transparent 62%),
    radial-gradient(900px 520px at 82% 42%, rgba(255,255,255,.05), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.84));
}

/* Overlay content */
.look-overlay{
  position: relative;
  z-index: 2;
  padding: 26px;
  max-width: 760px;
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .55s ease, transform .55s ease;
}

.look-slide.is-active .look-overlay{
  opacity: 1;
  transform: translateY(0);
}

.look-pill{
  display:inline-flex;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  font-size: 12px;
  opacity:.92;
}

.look-overlay h3{
  margin: 12px 0 8px;
  font-size: 40px;
  letter-spacing: -.01em;
}

.look-overlay p{
  margin: 0 0 14px;
  opacity: .86;
  font-size: 15px;
  line-height: 1.45;
}

.look-cta{
  display:flex;
  gap:10px;
  flex-wrap: wrap;
  align-items:center;
}

/* Controls row */
.look-controls{
  position:absolute;
  inset: 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 0 14px;
  z-index: 3;
  pointer-events:none;
}

.look-arrow{
  pointer-events:auto;
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.28);
  backdrop-filter: blur(10px);
  display:inline-grid;
  place-items:center;
  cursor:pointer;
}
.look-arrow:hover{
  transform: translateY(-1px);
  border-color: rgba(231,195,106,.25);
  box-shadow: 0 10px 22px rgba(0,0,0,.28);
}
.look-arrow svg{ width:18px; height:18px; opacity:.9; pointer-events:none; }

/* Dots */
.look-dots{
  display:flex;
  gap:10px;
  padding: 14px 16px 16px;
  justify-content:center;
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(10,10,10,.35);
}

.look-dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  cursor: pointer;
}
.look-dot.is-on{
  background: rgba(231,195,106,.75);
  border-color: rgba(231,195,106,.9);
  box-shadow: 0 0 0 3px rgba(231,195,106,.18);
}

/* Mobile */
@media (max-width: 720px){
  .look-viewport{
    height: min(calc(100vh - var(--mainbar-h) - 240px), 640px);
    min-height: 480px;
  }
  .look-overlay{ padding: 20px; }
  .look-overlay h3{ font-size: 30px; }
  .look-sub{ display:none; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .look-slide::before{ transition:none; }
  .look-overlay{ transition:none; opacity:1; transform:none; }
  .look-slide{ transition:none; }
}
/* =========================
   PREMIUM SIDEBAR UPGRADE (DROP-IN)
   - Glass + soft borders
   - Active "gold rail"
   - Better hover + depth
   - Premium badges
   - Cleaner groups + spacing
========================= */

:root{
  --gold: rgba(231,195,106,1);
  --goldSoft: rgba(231,195,106,.35);
  --glass: rgba(255,255,255,.06);
  --glass2: rgba(255,255,255,.03);
  --line: rgba(255,255,255,.10);
  --line2: rgba(255,255,255,.06);
}



/* Brand area */
.side-top{
  padding: 14px 14px 10px;
  border-bottom: 1px solid var(--line2);
  background: rgba(10,10,10,.38);
  backdrop-filter: blur(14px);
}

.brandbox{
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
  border-radius: 18px;
  padding: 12px 12px;
  box-shadow: 0 12px 28px rgba(0,0,0,.25);
}

.logo{
  background: radial-gradient(circle at 30% 30%, rgba(231,195,106,.95), rgba(231,195,106,.55));
  color: rgba(0,0,0,.85);
  box-shadow: 0 10px 22px rgba(231,195,106,.18);
}

/* Nav container */
.sidenav{
  padding: 12px 12px 14px;
}

/* Group wrapper (your generated catgroup) */
.catgroup{
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 18px;
  background: rgba(255,255,255,.02);
  margin: 10px 0;
  box-shadow: 0 16px 30px rgba(0,0,0,.22);
}

/* Nav links (all sidebar buttons/links) */
.sidenav .navlink{
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid transparent;
  background: transparent;
  color: rgba(255,255,255,.88);
  transition: transform .14s ease, background .14s ease, border-color .14s ease, box-shadow .14s ease;
}

/* Hover = premium lift */
.sidenav .navlink:hover{
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.08);
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(0,0,0,.22);
}

/* Active = gold rail + glow */
.sidenav .navlink.active,
.sidenav .navlink[aria-current="page"]{
  background: linear-gradient(90deg, rgba(231,195,106,.14), rgba(255,255,255,.04));
  border-color: rgba(231,195,106,.22);
  box-shadow: 0 14px 32px rgba(231,195,106,.10), 0 18px 40px rgba(0,0,0,.30);
}

/* Gold rail indicator (left strip) */
.sidenav .navlink.active::before,
.sidenav .navlink[aria-current="page"]::before{
  content:"";
  position:absolute;
  left: 8px;
  top: 10px;
  bottom: 10px;
  width: 3px;
  border-radius: 999px;
  background: rgba(231,195,106,.95);
  box-shadow: 0 0 0 3px rgba(231,195,106,.12);
}

/* Icon sizing polish */
.navicon{
  width: 20px;
  height: 20px;
  opacity: .95;
}

/* Text polish */
.navtext{
  font-weight: 700;
  letter-spacing: .01em;
}

/* Badge polish */
.badge{
  margin-left: auto;
  min-width: 28px;
  height: 22px;
  padding: 0 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}

.sidenav .navlink.active .badge{
  border-color: rgba(231,195,106,.25);
  background: rgba(231,195,106,.12);
}

/* Separator */
.navsep{
  height: 1px;
  margin: 12px 6px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
}

/* Bottom area */
.side-bottom{
  padding: 12px 14px 16px;
  border-top: 1px solid var(--line2);
  background: rgba(10,10,10,.36);
  backdrop-filter: blur(14px);
}

/* Collapse button polish */
.side-collapse{
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
}
.side-collapse:hover{
  border-color: rgba(231,195,106,.22);
  box-shadow: 0 10px 20px rgba(0,0,0,.22);
}

/* Subcategory buttons inside catgroup */
.catgroup .navlink{
  padding: 10px 12px;
  border-radius: 14px;
}

/* Active subcategory = tighter glow */
.catgroup .navlink.active{
  background: rgba(231,195,106,.12);
  border-color: rgba(231,195,106,.20);
}

/* Make sidebar feel less “flat” in collapsed mode */
.is-collapsed .sidebar{
  box-shadow: 10px 0 34px rgba(0,0,0,.28);
}

/* Mobile: keep sidebar premium */
.is-mobile-open .sidebar{
  border-right-color: rgba(231,195,106,.10);
}

/* Optional: cursor shows clickable clearly */
.sidenav .navlink,
.sidenav button.navlink{
  cursor: pointer;
}
/* HARD RESET: remove any accidental top gaps */
.main{ padding-top: 18px; margin-top: 0 !important; }
.main > :first-child{ margin-top: 0 !important; }
.mainbar{ margin-top: 0 !important; }

/* If any wrapper inside main adds top spacing */
.section:first-child{ padding-top: 0 !important; }

/* =========================
   ADMIN PANEL
========================= */
.admin-card{
  max-width: 1000px;
  width: min(1000px, 94vw);
  max-height: 90vh;
  overflow: auto;
  display: block !important;
  padding: 22px 22px 18px;
}
.admin-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.admin-tabs{
  display:flex;
  gap:6px;
  background: rgba(255,255,255,.04);
  padding:4px;
  border-radius:12px;
  border:1px solid var(--border);
}
.admin-tab{
  padding:8px 14px;
  border-radius:9px;
  background: transparent;
  color: var(--muted);
  border: 0;
  font-weight: 700;
  cursor: pointer;
  font-size: 13px;
}
.admin-tab.is-active{
  background: rgba(231,195,106,.18);
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(231,195,106,.35);
}
.admin-pane{ display:none; }
.admin-pane.is-active{ display:block; }

/* List */
.admin-list{ display:grid; gap:10px; }
.admin-row-item{
  display:grid;
  grid-template-columns: 90px 1fr auto;
  gap: 14px;
  align-items:center;
  padding:10px;
  border:1px solid var(--border);
  border-radius:14px;
  background: rgba(255,255,255,.03);
}
.admin-thumb{
  width:90px; height:64px;
  border-radius:10px;
  overflow:hidden;
  background: rgba(0,0,0,.3);
  border:1px solid var(--border);
}
.admin-thumb img,
.admin-thumb video{ width:100%; height:100%; object-fit:cover; display:block; }
.admin-thumb-grad{ width:100%; height:100%; }
.admin-row-title{ font-weight: 800; }
.admin-rowbtns{ display:flex; gap:8px; }
.admin-del{
  background: rgba(220,60,60,.16);
  color: #ffb4b4;
  border: 1px solid rgba(220,60,60,.4);
}
.admin-del:hover{ background: rgba(220,60,60,.28); }

/* Form */
.admin-form{ display:grid; gap:12px; }
.admin-grid2{ display:grid; gap:12px; grid-template-columns: 1fr 1fr; }
.admin-grid3{ display:grid; gap:12px; grid-template-columns: 1fr 1fr 1fr; }
.admin-lbl{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:12px;
  font-weight:700;
  color: var(--muted);
}
.admin-lbl input,
.admin-lbl select,
.admin-lbl textarea{
  padding:10px 12px;
  border-radius:10px;
  border:1px solid var(--border);
  background: rgba(0,0,0,.3);
  color:#fff;
  font: inherit;
}
.admin-lbl textarea{ resize: vertical; min-height: 56px; }
.admin-file{ font-size: 11px; }
.admin-actions{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top: 4px;
}
.admin-foot{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:14px;
  padding-top:12px;
  border-top: 1px solid var(--border);
}

@media (max-width: 700px){
  .admin-grid2, .admin-grid3{ grid-template-columns: 1fr; }
  .admin-row-item{ grid-template-columns: 70px 1fr; }
  .admin-rowbtns{ grid-column: 1 / -1; justify-content: flex-end; }
}

/* Admin login card */
.admin-login-card{
  max-width: 420px;
  width: min(420px, 92vw);
  padding: 22px;
  display: block !important;
}

/* =========================
   FULL-SCREEN COMING-SOON SPLASH
========================= */
.splash{
  position: fixed;
  inset: 0;
  z-index: 9000;
  background: #06070a;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  animation: splashFadeIn .6s ease-out;
}
.splash.is-hidden{ display: none !important; }
body.splash-on{ overflow: hidden; }

@keyframes splashFadeIn{
  from{ opacity: 0; }
  to{ opacity: 1; }
}

.splash-bg{
  position: absolute;
  inset: -10%;
  background:
    radial-gradient(900px 600px at 25% 25%, rgba(231,195,106,.20), transparent 60%),
    radial-gradient(800px 500px at 75% 80%, rgba(231,195,106,.14), transparent 60%),
    radial-gradient(700px 400px at 50% 50%, rgba(231,195,106,.06), transparent 70%),
    linear-gradient(135deg, #06070a, #0c0d12);
  animation: splashBgShift 12s ease-in-out infinite alternate;
}
@keyframes splashBgShift{
  from{ transform: translate3d(0,0,0) scale(1); }
  to{   transform: translate3d(2%, -1%, 0) scale(1.05); }
}

/* Floating sparkles */
.splash-particles{ position: absolute; inset: 0; pointer-events: none; }
.splash-particles span{
  position: absolute;
  width: 4px; height: 4px;
  background: #e7c36a;
  border-radius: 50%;
  box-shadow: 0 0 12px 2px rgba(231,195,106,.6);
  opacity: 0;
  animation: splashSparkle 6s ease-in-out infinite;
}
.splash-particles span:nth-child(1){ top: 12%; left: 18%; animation-delay: 0s;   }
.splash-particles span:nth-child(2){ top: 22%; left: 78%; animation-delay: .8s;  }
.splash-particles span:nth-child(3){ top: 65%; left: 12%; animation-delay: 1.4s; }
.splash-particles span:nth-child(4){ top: 78%; left: 82%; animation-delay: 2.2s; }
.splash-particles span:nth-child(5){ top: 38%; left: 88%; animation-delay: 3.0s; }
.splash-particles span:nth-child(6){ top: 88%; left: 32%; animation-delay: 3.7s; }
.splash-particles span:nth-child(7){ top: 16%; left: 52%; animation-delay: 4.5s; width: 3px; height: 3px; }
.splash-particles span:nth-child(8){ top: 50%; left: 8%;  animation-delay: 1.1s; width: 3px; height: 3px; }
.splash-particles span:nth-child(9){ top: 30%; left: 35%; animation-delay: 5.0s; width: 2px; height: 2px; }
.splash-particles span:nth-child(10){ top: 70%; left: 60%; animation-delay: 2.7s; width: 5px; height: 5px; }
.splash-particles span:nth-child(11){ top: 8%;  left: 70%; animation-delay: 3.3s; width: 3px; height: 3px; }
.splash-particles span:nth-child(12){ top: 92%; left: 70%; animation-delay: .4s;  width: 4px; height: 4px; }
@keyframes splashSparkle{
  0%, 100% { opacity: 0; transform: scale(.4); }
  50%      { opacity: 1; transform: scale(1.2); }
}

/* Center card */
.splash-card{
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 720px;
  width: min(720px, 92vw);
  padding: 30px 26px;
  animation: splashCardIn 1.2s cubic-bezier(.2,.8,.2,1);
}
@keyframes splashCardIn{
  from{ opacity: 0; transform: translateY(24px) scale(.98); }
  to{   opacity: 1; transform: translateY(0)   scale(1);    }
}

.splash-logo{
  width: 220px;
  max-width: 55vw;
  height: auto;
  margin: 0 auto 26px;
  display: block;
  filter: drop-shadow(0 0 30px rgba(231,195,106,.45));
  animation: splashLogoGlow 4s ease-in-out infinite alternate;
}
@keyframes splashLogoGlow{
  from{ filter: drop-shadow(0 0 18px rgba(231,195,106,.30)); transform: translateY(0); }
  to{   filter: drop-shadow(0 0 48px rgba(231,195,106,.65)); transform: translateY(-4px); }
}

.splash-brand{
  font-size: clamp(22px, 4.4vw, 40px);
  font-weight: 900;
  letter-spacing: .22em;
  background: linear-gradient(135deg, #e7c36a 10%, #fff5cf 50%, #caa24a 90%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  margin: 0 0 8px;
  text-shadow: 0 2px 30px rgba(231,195,106,.15);
}
.splash-tag{
  color: #caa24a;
  font-size: 12px;
  letter-spacing: .35em;
  text-transform: uppercase;
  margin-bottom: 22px;
  opacity: .9;
}
.splash-divider{
  width: 80px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #e7c36a, transparent);
  margin: 0 auto 28px;
}

.splash-messages{
  display: grid;
  gap: 14px;
  text-align: left;
  margin-bottom: 24px;
}
.splash-msg{
  position: relative;
  padding: 18px 20px;
  border: 1px solid rgba(231,195,106,.32);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(231,195,106,.08), rgba(255,255,255,.02)),
    rgba(255,255,255,.015);
  box-shadow: 0 8px 30px rgba(0,0,0,.3);
  animation: splashMsgIn .8s ease-out backwards;
}
.splash-msg:nth-child(1){ animation-delay: .4s; }
.splash-msg:nth-child(2){ animation-delay: .65s; }
.splash-msg:nth-child(3){ animation-delay: .9s; }
@keyframes splashMsgIn{
  from{ opacity: 0; transform: translateY(10px); }
  to{   opacity: 1; transform: translateY(0); }
}
.splash-msg-pill{
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, #e7c36a, #caa24a);
  color: #0b0c10;
  font-weight: 800;
  font-size: 11px;
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.splash-msg-pill.ghost{
  background: transparent;
  color: #e7c36a;
  border: 1px solid rgba(231,195,106,.5);
}
.splash-msg-title{
  color: #fff;
  font-weight: 800;
  font-size: 16px;
  margin-bottom: 4px;
}
.splash-msg-body{
  color: #d4c899;
  font-size: 14px;
  line-height: 1.5;
}

.splash-foot{
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
  opacity: .55;
  margin-top: 6px;
}

.splash-admin-btn{
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 3;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(231,195,106,.35);
  color: #caa24a;
  padding: 9px 18px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  cursor: pointer;
  backdrop-filter: blur(6px);
  transition: all .2s ease;
}
.splash-admin-btn:hover{
  background: rgba(231,195,106,.18);
  color: #fff;
  border-color: rgba(231,195,106,.7);
  transform: translateY(-1px);
}

/* "Preview Site" pill (admin-only, appears on splash when logged in) */
.splash-preview-btn{
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 3;
  background: linear-gradient(135deg, #e7c36a, #caa24a);
  color: #0b0c10;
  border: 0;
  padding: 9px 18px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  display: none;
}
.splash.is-admin .splash-preview-btn{ display: block; }

@media (max-width: 600px){
  .splash-card{ padding: 24px 18px; }
  .splash-msg{ padding: 14px 16px; }
  .splash-admin-btn, .splash-preview-btn{ bottom: 14px; padding: 8px 14px; font-size: 11px; }
}