/* ============================================================
   DirekTR Public Header — utility bar, category bar, search bar
   ============================================================ */

.public-header-utility {
    background: #fff;
    border-bottom: 1px solid var(--brand-border);
}

.nav-delivery {
    font-size: .78rem;
    line-height: 1.3;
}
.nav-delivery-greeting {
    font-weight: 700;
    color: var(--brand-ink);
}
.nav-delivery-address {
    color: var(--brand-muted);
    text-decoration: none;
    font-weight: 600;
}
.nav-delivery-address:hover { color: var(--brand-accent); }

.nav-utility-btn {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.15;
    font-size: .82rem;
    font-weight: 700;
    color: var(--brand-ink);
    text-decoration: none;
    background: none;
    border: none;
    padding: 0;
}
.nav-utility-btn:hover { color: var(--brand-accent); }
.nav-utility-sub { font-size: .72rem; font-weight: 600; color: var(--brand-muted); }

.nav-account-dropdown .dropdown-toggle::after { margin-left: .4rem; }

.nav-cart-btn {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    text-decoration: none;
    color: var(--brand-ink);
    font-weight: 700;
    font-size: .85rem;
}
.nav-cart-btn:hover { color: var(--brand-accent); }
.nav-cart-icon { position: relative; font-size: 1.2rem; }
.nav-cart-badge {
    position: absolute;
    top: -8px;
    right: -10px;
    background: var(--brand-accent);
    color: #fff;
    font-size: .65rem;
    font-weight: 800;
    line-height: 1;
    padding: 2px 5px;
    border-radius: 999px;
}

.public-header-categories {
    background: var(--brand-dark);
}
.category-all-btn {
    background: none;
    border: none;
    color: #fff;
    font-weight: 700;
    font-size: .85rem;
    padding: 0;
}
.category-all-btn:hover { color: #ffd9dc; }
.category-bar-link {
    color: #f3d9db;
    text-decoration: none;
    font-size: .82rem;
    font-weight: 600;
    white-space: nowrap;
}
.category-bar-link:hover { color: #fff; }

.public-header-search { background: #fff; border-bottom: 1px solid var(--brand-border); }
.search-bar-form {
    max-width: 900px;
    width: 100%;
    box-shadow: 0 2px 10px rgba(46, 51, 71, .08);
    border-radius: 10px;
}
.search-bar-select {
    max-width: 150px;
    border: 2px solid var(--brand-accent);
    border-right: none;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    font-size: .9rem;
    font-weight: 600;
    background-color: var(--brand-bg);
}
.search-bar-input {
    border: 2px solid var(--brand-accent);
    border-left: none;
    border-right: none;
    border-radius: 0;
    font-size: 1.05rem;
    padding-top: .65rem;
    padding-bottom: .65rem;
}
.search-bar-input:focus { box-shadow: none; }
.search-bar-submit {
    background: var(--brand-accent);
    color: #fff;
    border: 2px solid var(--brand-accent);
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    padding: 0 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.search-bar-submit:hover { background: var(--brand-accent-2); border-color: var(--brand-accent-2); }

@media (max-width: 767.98px) {
    .search-bar-select { display: none; }
    .search-bar-input { border-left: 2px solid var(--brand-accent); border-top-left-radius: 10px; border-bottom-left-radius: 10px; }
}

.search-suggest-list {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid var(--brand-border);
    border-radius: 10px;
    box-shadow: 0 12px 28px rgba(46, 51, 71, .16);
    max-height: 420px;
    overflow-y: auto;
    z-index: 1050;
}
.search-suggest-item {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .55rem .9rem;
    text-decoration: none;
    color: var(--brand-ink);
    border-bottom: 1px solid #f2f2f4;
}
.search-suggest-item:last-child { border-bottom: none; }
.search-suggest-item:hover,
.search-suggest-item.is-active { background: var(--brand-bg); }
.search-suggest-img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    border-radius: 6px;
    background: var(--brand-bg);
    flex-shrink: 0;
}
.search-suggest-img-empty { display: inline-block; }
.search-suggest-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.search-suggest-title {
    font-size: .88rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.search-suggest-price {
    font-size: .8rem;
    color: var(--brand-accent);
    font-weight: 700;
}
.search-suggest-empty {
    padding: .9rem;
    text-align: center;
    color: var(--brand-muted);
    font-size: .88rem;
}

.category-offcanvas-list > li {
    border-bottom: 1px solid var(--brand-border);
}
.category-offcanvas-toggle,
.category-offcanvas-link {
    display: block;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: .75rem 1.25rem;
    font-weight: 700;
    color: var(--brand-ink);
    text-decoration: none;
}
.category-offcanvas-toggle:hover,
.category-offcanvas-link:hover { color: var(--brand-accent); }
.category-offcanvas-sublist { background: var(--brand-bg); }
.category-offcanvas-sublist a {
    display: block;
    padding: .5rem 1.25rem .5rem 2rem;
    color: var(--brand-muted);
    text-decoration: none;
    font-size: .88rem;
}
.category-offcanvas-sublist a:hover { color: var(--brand-accent); }
