/* ---------- Top utility bar ---------- */
.topbar{
  background:var(--aubergine-deep);
  color:rgba(255,251,242,0.85);
  font-size:13px;
}
.topbar .container{
  display:flex; align-items:center; justify-content:space-between;
  padding-top:9px; padding-bottom:9px; gap:16px; flex-wrap:wrap;
}
.topbar-left{display:flex; gap:22px; flex-wrap:wrap;}
.topbar-left span{display:inline-flex; align-items:center; gap:6px;}
.topbar-right{display:flex; align-items:center; gap:18px;}
.topbar-right select{
  background:transparent; color:#fff; border:1px solid rgba(255,255,255,0.3);
  border-radius:6px; padding:4px 8px; font-family:'Jost',sans-serif; font-size:12.5px;
}
.topbar-right .socials{display:flex; gap:12px;}
.topbar a:hover{color:var(--gold-light);}

/* ---------- Header ---------- */
header{background:var(--ivory); position:sticky; top:0; z-index:80; box-shadow:0 2px 18px rgba(43,15,78,0.06);}
.header-row{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  padding:14px 100px;
  gap:18px;
  margin:0 auto;
}
.nav-side{display:flex; align-items:center; gap:28px;}
.nav-side.left{justify-content:flex-start;}
.nav-side.right{justify-content:flex-end;}
.nav-link{
  font-size:14.5px; font-weight:500; letter-spacing:.02em;
  position:relative; padding:6px 0; color:var(--ink);
}
.nav-link::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:2px;
  background:var(--gold); transition:width .25s ease;
}
.nav-link:hover::after{width:100%;}
.logo-badge{
  display:flex; align-items:center; justify-content:center;
}
.logo-badge img{
  width:92px; height:92px; border-radius:50%;
  box-shadow:0 8px 24px rgba(201,151,31,0.35), 0 0 0 4px #fff;
}
.icon-actions{display:flex; align-items:center; gap:20px;}
.icon-btn{position:relative; display:flex; align-items:center; justify-content:center; cursor:pointer;}
.icon-btn svg{width:21px; height:21px; stroke:var(--aubergine-deep);}
.icon-btn .badge{
  position:absolute; top:-8px; right:-9px;
  background:var(--magenta); color:#fff; font-size:10px; font-weight:600;
  width:16px; height:16px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
.search-wrap{display:flex; align-items:center; border:1px solid var(--line); border-radius:999px; padding:8px 8px 8px 16px; min-width:210px;}
.search-wrap input{border:none; outline:none; background:transparent; font-family:'Jost'; font-size:13.5px; width:100%;}

/* ---------- Category mega nav ---------- */
.catnav{
  background:linear-gradient(180deg, var(--aubergine), var(--aubergine-deep));
  color:#fff;
}
.catnav .container{display:flex; align-items:center; gap:25px; position:relative;}
.cat-all{
  display:flex; align-items:center; gap:10px;
  padding:14px 22px; font-weight:600; font-size:13.5px; letter-spacing:.03em;
  background:var(--gold); color:var(--aubergine-deep);
  text-transform:uppercase; white-space:nowrap;
  border-radius:0;
}
.catnav-list{display:flex; align-items:center; flex-wrap:wrap;}
.catnav-item{position:relative;}
.catnav-item > a{
  display:block; padding:14px 18px; font-size:13.8px; font-weight:400;
  letter-spacing:.01em; white-space:nowrap;
}
.catnav-item:hover > a{color:var(--gold-light);}
.mega{
  display:none; position:absolute; top:100%; left:0;
  background:#fff; color:var(--ink); min-width:600px;
  box-shadow:var(--shadow); border-radius:0 0 14px 14px;
  padding:26px 30px; gap:36px; z-index:60;
}
.catnav-item:hover .mega{display:flex;flex-wrap: wrap;}
.mega-col h5{
  font-family:'Cinzel'; font-size:13px; color:var(--gold-dark); letter-spacing:.06em;
  text-transform:uppercase; margin-bottom:12px;
}
.mega-col a{display:block; font-size:14px; padding:5px 0; color:var(--ink-soft);}
.mega-col a:hover{color:var(--magenta);}

