:root{
  --tm-maroon: var(--topmenu-maroon, #5b1a2b);
  --tm-green: var(--topmenu-green, #1f3d2b);
  --tm-border: var(--topmenu-border, #e6e6e0);
}

.topmenu button{font:inherit;cursor:pointer;border:none;background:none}
.topmenu input{font:inherit}
.topmenu .wrap{max-width:1400px;margin:0 auto;padding:0 24px}

/* Promo bar */
.topmenu .promo{background:var(--tm-maroon);color:#fff;font-size:14px}
.topmenu .promo .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 24px}
.topmenu .promo-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.topmenu .promo-logo{width:28px;height:28px;border-radius:6px;background:#fff;color:var(--tm-green);font-weight:800;display:grid;place-items:center;font-size:12px}
.topmenu .promo-btn{background:#fff;color:var(--tm-maroon);border-radius:999px;padding:4px 14px;font-weight:600;font-size:12px;margin-left:8px}
.topmenu .promo-loc{display:flex;align-items:center;gap:6px;font-weight:500}
.topmenu .promo-loc u{text-decoration:underline}

/* Header */
.topmenu header{background:#fff;border-bottom:1px solid var(--tm-border)}
.topmenu header .wrap{display:flex;align-items:center;gap:32px;padding:18px 24px}
.topmenu .logo{font-size:28px;font-weight:800;color:var(--tm-green);letter-spacing:-0.5px}
.topmenu .logo span{color:var(--tm-maroon)}
.topmenu .search{flex:1;display:flex;align-items:center;gap:10px;border:1px solid var(--tm-border);border-radius:999px;padding:10px 18px}
.topmenu .search input{flex:1;border:none;outline:none;background:transparent;font-size:14px}
.topmenu nav.top{display:flex;gap:28px;color:var(--tm-green);font-weight:500;font-size:14px}
.topmenu nav.top button{display:flex;flex-direction:column;align-items:center;gap:4px;color:inherit}
.topmenu nav.top .plus{color:var(--tm-maroon)}

/* Categories strip */
.topmenu .cats{background:#fff;border-bottom:1px solid var(--tm-border)}
.topmenu .cats-row{display:flex;gap:32px;overflow-x:auto;padding:14px 0}
.topmenu .cat{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:80px}
.topmenu .cat .img{width:64px;height:64px;border-radius:50%;overflow:hidden;border:2px solid transparent}
.topmenu .cat.active .img{border-color:var(--tm-maroon)}
.topmenu .cat img{width:100%;height:100%;object-fit:cover}
.topmenu .cat span{color:var(--tm-green);font-size:12px;font-weight:600}
